aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-09 03:08:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-09 03:08:04 -0400
commitde390bba797aa9a554bc1769b6a8771605854d79 (patch)
treece95610d4a70ec0a7307a30cfd1a66fdf0c901ab
parent50e0d10232db05c6776afcf6098459bff47e8b15 (diff)
parent382fc33b4a04e2dde89b4c69a6880e0c7d9761e2 (diff)
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS update from Ralf Baechle: "This is the MIPS update for 3.7. A fair chunk of them are platform updates to the Cavium Octeon SOC (which involves machine generated header files of considerable size), Atheros ATH79xx, RMI aka Netlogic aka Broadcom XLP, Broadcom BCM63xx platforms. Support for the commercial MIPS simulator MIPSsim has been removed as MIPS Technologies is shifting away from this product and Qemu is offering various more powerful platforms. The generic MIPS code can now also probe for no-execute / write-only TLB features implemented without the full SmartMIPS extension as permitted by the latest MIPS processor architecture. Lots of small changes to generic code." * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (78 commits) MIPS: ath79: Fix CPU/DDR frequency calculation for SRIF PLLs MIPS: ath79: use correct fractional dividers for {CPU,DDR}_PLL on AR934x MIPS: BCM63XX: Properly handle mac address octet overflow MIPS: Kconfig: Avoid build errors by hiding USE_OF from the user. MIPS: Replace `-' in defconfig filename wth `_' for consistency. MIPS: Wire kcmp syscall. MIPS: MIPSsim: Remove the MIPSsim platform. MIPS: NOTIFY_RESUME is not needed in TIF masks MIPS: Merge the identical "return from syscall" per-ABI code MIPS: Unobfuscate _TIF..._MASK MIPS: Prevent hitting do_notify_resume() with !user_mode(regs). MIPS: Replace 'kernel_uses_smartmips_rixi' with 'cpu_has_rixi'. MIPS: Add base architecture support for RI and XI. MIPS: Optimise TLB handlers for MIPS32/64 R2 cores. MIPS: uasm: Add INS and EXT instructions. MIPS: Avoid pipeline stalls on some MIPS32R2 cores. MIPS: Make VPE count to be one-based. MIPS: Add new end of interrupt functionality for GIC. MIPS: Add EIC support for GIC. MIPS: Code clean-ups for the GIC. ...
-rw-r--r--Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt83
-rw-r--r--Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt97
-rw-r--r--Documentation/devicetree/bindings/spi/spi-octeon.txt33
-rw-r--r--arch/mips/Kbuild.platforms2
-rw-r--r--arch/mips/Kconfig46
-rw-r--r--arch/mips/ath79/clock.c109
-rw-r--r--arch/mips/ath79/dev-usb.c92
-rw-r--r--arch/mips/ath79/mach-db120.c2
-rw-r--r--arch/mips/bcm63xx/Makefile2
-rw-r--r--arch/mips/bcm63xx/boards/board_bcm963xx.c26
-rw-r--r--arch/mips/bcm63xx/clk.c21
-rw-r--r--arch/mips/bcm63xx/dev-usb-usbd.c65
-rw-r--r--arch/mips/bcm63xx/irq.c22
-rw-r--r--arch/mips/bcm63xx/setup.c6
-rw-r--r--arch/mips/cavium-octeon/csrc-octeon.c93
-rw-r--r--arch/mips/cavium-octeon/executive/cvmx-interrupt-rsl.c2
-rw-r--r--arch/mips/cavium-octeon/octeon-irq.c842
-rw-r--r--arch/mips/cavium-octeon/setup.c3
-rw-r--r--arch/mips/configs/cavium_octeon_defconfig (renamed from arch/mips/configs/cavium-octeon_defconfig)0
-rw-r--r--arch/mips/configs/mipssim_defconfig64
-rw-r--r--arch/mips/configs/nlm_xlp_defconfig133
-rw-r--r--arch/mips/configs/pnx8335_stb225_defconfig (renamed from arch/mips/configs/pnx8335-stb225_defconfig)0
-rw-r--r--arch/mips/configs/pnx8550_jbs_defconfig (renamed from arch/mips/configs/pnx8550-jbs_defconfig)0
-rw-r--r--arch/mips/configs/pnx8550_stb810_defconfig (renamed from arch/mips/configs/pnx8550-stb810_defconfig)0
-rw-r--r--arch/mips/configs/sb1250_swarm_defconfig (renamed from arch/mips/configs/sb1250-swarm_defconfig)0
-rw-r--r--arch/mips/configs/sead3_defconfig124
-rw-r--r--arch/mips/include/asm/cpu-features.h4
-rw-r--r--arch/mips/include/asm/cpu.h2
-rw-r--r--arch/mips/include/asm/gic.h49
-rw-r--r--arch/mips/include/asm/mach-ath79/ar71xx_regs.h30
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h93
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_usbd.h17
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h38
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h168
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h5
-rw-r--r--arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h2
-rw-r--r--arch/mips/include/asm/mach-cavium-octeon/irq.h7
-rw-r--r--arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h2
-rw-r--r--arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h4
-rw-r--r--arch/mips/include/asm/mach-lantiq/gpio.h5
-rw-r--r--arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h2
-rw-r--r--arch/mips/include/asm/mach-sead3/cpu-feature-overrides.h (renamed from arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h)15
-rw-r--r--arch/mips/include/asm/mach-sead3/irq.h9
-rw-r--r--arch/mips/include/asm/mach-sead3/kernel-entry-init.h52
-rw-r--r--arch/mips/include/asm/mach-sead3/war.h (renamed from arch/mips/include/asm/mach-mipssim/war.h)12
-rw-r--r--arch/mips/include/asm/mips-boards/maltaint.h55
-rw-r--r--arch/mips/include/asm/mips-boards/sead3int.h19
-rw-r--r--arch/mips/include/asm/mips-boards/simint.h31
-rw-r--r--arch/mips/include/asm/mipsregs.h3
-rw-r--r--arch/mips/include/asm/octeon/cvmx-agl-defs.h1014
-rw-r--r--arch/mips/include/asm/octeon/cvmx-asxx-defs.h300
-rw-r--r--arch/mips/include/asm/octeon/cvmx-ciu-defs.h7883
-rw-r--r--arch/mips/include/asm/octeon/cvmx-ciu2-defs.h7108
-rw-r--r--arch/mips/include/asm/octeon/cvmx-dbg-defs.h39
-rw-r--r--arch/mips/include/asm/octeon/cvmx-dpi-defs.h411
-rw-r--r--arch/mips/include/asm/octeon/cvmx-fpa-defs.h1307
-rw-r--r--arch/mips/include/asm/octeon/cvmx-gmxx-defs.h4914
-rw-r--r--arch/mips/include/asm/octeon/cvmx-gpio-defs.h282
-rw-r--r--arch/mips/include/asm/octeon/cvmx-iob-defs.h722
-rw-r--r--arch/mips/include/asm/octeon/cvmx-ipd-defs.h1111
-rw-r--r--arch/mips/include/asm/octeon/cvmx-l2c-defs.h1716
-rw-r--r--arch/mips/include/asm/octeon/cvmx-l2d-defs.h171
-rw-r--r--arch/mips/include/asm/octeon/cvmx-l2t-defs.h105
-rw-r--r--arch/mips/include/asm/octeon/cvmx-led-defs.h67
-rw-r--r--arch/mips/include/asm/octeon/cvmx-mio-defs.h1889
-rw-r--r--arch/mips/include/asm/octeon/cvmx-mixx-defs.h234
-rw-r--r--arch/mips/include/asm/octeon/cvmx-mpi-defs.h328
-rw-r--r--arch/mips/include/asm/octeon/cvmx-npei-defs.h1743
-rw-r--r--arch/mips/include/asm/octeon/cvmx-npi-defs.h1136
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pci-defs.h879
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pciercx-defs.h1288
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pcsx-defs.h729
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h574
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pemx-defs.h288
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pescx-defs.h246
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pexp-defs.h2
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pip-defs.h2403
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pko-defs.h1965
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pow-defs.h530
-rw-r--r--arch/mips/include/asm/octeon/cvmx-rnm-defs.h107
-rw-r--r--arch/mips/include/asm/octeon/cvmx-sli-defs.h1351
-rw-r--r--arch/mips/include/asm/octeon/cvmx-smix-defs.h202
-rw-r--r--arch/mips/include/asm/octeon/cvmx-spxx-defs.h225
-rw-r--r--arch/mips/include/asm/octeon/cvmx-sriox-defs.h703
-rw-r--r--arch/mips/include/asm/octeon/cvmx-srxx-defs.h62
-rw-r--r--arch/mips/include/asm/octeon/cvmx-stxx-defs.h166
-rw-r--r--arch/mips/include/asm/octeon/cvmx-uctlx-defs.h268
-rw-r--r--arch/mips/include/asm/octeon/octeon-model.h18
-rw-r--r--arch/mips/include/asm/octeon/octeon.h4
-rw-r--r--arch/mips/include/asm/pgtable-bits.h18
-rw-r--r--arch/mips/include/asm/pgtable.h12
-rw-r--r--arch/mips/include/asm/thread_info.h6
-rw-r--r--arch/mips/include/asm/uasm.h2
-rw-r--r--arch/mips/include/asm/unistd.h15
-rw-r--r--arch/mips/kernel/Makefile19
-rw-r--r--arch/mips/kernel/cevt-r4k.c5
-rw-r--r--arch/mips/kernel/cpu-probe.c10
-rw-r--r--arch/mips/kernel/entry.S15
-rw-r--r--arch/mips/kernel/irq-gic.c162
-rw-r--r--arch/mips/kernel/scall32-o32.S14
-rw-r--r--arch/mips/kernel/scall64-64.S14
-rw-r--r--arch/mips/kernel/scall64-n32.S14
-rw-r--r--arch/mips/kernel/scall64-o32.S14
-rw-r--r--arch/mips/kernel/signal.c8
-rw-r--r--arch/mips/kernel/smp-mt.c2
-rw-r--r--arch/mips/lantiq/Kconfig2
-rw-r--r--arch/mips/lantiq/falcon/prom.c5
-rw-r--r--arch/mips/lantiq/falcon/sysctrl.c1
-rw-r--r--arch/mips/lantiq/irq.c82
-rw-r--r--arch/mips/lantiq/xway/Makefile2
-rw-r--r--arch/mips/lantiq/xway/gpio.c183
-rw-r--r--arch/mips/lantiq/xway/gptu.c214
-rw-r--r--arch/mips/lantiq/xway/sysctrl.c5
-rw-r--r--arch/mips/lib/Makefile21
-rw-r--r--arch/mips/mipssim/Makefile23
-rw-r--r--arch/mips/mipssim/Platform6
-rw-r--r--arch/mips/mipssim/sim_console.c40
-rw-r--r--arch/mips/mipssim/sim_int.c87
-rw-r--r--arch/mips/mipssim/sim_mem.c115
-rw-r--r--arch/mips/mipssim/sim_platform.c35
-rw-r--r--arch/mips/mipssim/sim_setup.c99
-rw-r--r--arch/mips/mipssim/sim_smtc.c116
-rw-r--r--arch/mips/mipssim/sim_time.c117
-rw-r--r--arch/mips/mm/Makefile17
-rw-r--r--arch/mips/mm/c-r4k.c21
-rw-r--r--arch/mips/mm/cache.c2
-rw-r--r--arch/mips/mm/fault.c2
-rw-r--r--arch/mips/mm/tlb-r4k.c2
-rw-r--r--arch/mips/mm/tlbex.c44
-rw-r--r--arch/mips/mm/uasm.c23
-rw-r--r--arch/mips/mti-malta/malta-int.c34
-rw-r--r--arch/mips/mti-sead3/Makefile19
-rw-r--r--arch/mips/mti-sead3/Platform7
-rw-r--r--arch/mips/mti-sead3/leds-sead3.c128
-rw-r--r--arch/mips/mti-sead3/sead3-cmdline.c46
-rw-r--r--arch/mips/mti-sead3/sead3-console.c46
-rw-r--r--arch/mips/mti-sead3/sead3-display.c78
-rw-r--r--arch/mips/mti-sead3/sead3-ehci.c47
-rw-r--r--arch/mips/mti-sead3/sead3-i2c-dev.c33
-rw-r--r--arch/mips/mti-sead3/sead3-i2c-drv.c405
-rw-r--r--arch/mips/mti-sead3/sead3-i2c.c37
-rw-r--r--arch/mips/mti-sead3/sead3-init.c91
-rw-r--r--arch/mips/mti-sead3/sead3-int.c158
-rw-r--r--arch/mips/mti-sead3/sead3-lcd.c43
-rw-r--r--arch/mips/mti-sead3/sead3-leds.c83
-rw-r--r--arch/mips/mti-sead3/sead3-memory.c138
-rw-r--r--arch/mips/mti-sead3/sead3-mtd.c54
-rw-r--r--arch/mips/mti-sead3/sead3-net.c51
-rw-r--r--arch/mips/mti-sead3/sead3-pic32-bus.c103
-rw-r--r--arch/mips/mti-sead3/sead3-pic32-i2c-drv.c435
-rw-r--r--arch/mips/mti-sead3/sead3-platform.c45
-rw-r--r--arch/mips/mti-sead3/sead3-reset.c39
-rw-r--r--arch/mips/mti-sead3/sead3-serial.c45
-rw-r--r--arch/mips/mti-sead3/sead3-setup.c20
-rw-r--r--arch/mips/mti-sead3/sead3-time.c117
-rw-r--r--arch/mips/netlogic/Kconfig15
-rw-r--r--arch/mips/netlogic/Makefile1
-rw-r--r--arch/mips/netlogic/dts/Makefile4
-rw-r--r--arch/mips/netlogic/dts/xlp_evp.dts124
-rw-r--r--arch/mips/netlogic/xlp/Makefile3
-rw-r--r--arch/mips/netlogic/xlp/of.c34
-rw-r--r--arch/mips/netlogic/xlp/platform.c108
-rw-r--r--arch/mips/netlogic/xlp/setup.c32
-rw-r--r--drivers/gpio/gpio-stp-xway.c2
-rw-r--r--drivers/net/ethernet/broadcom/bcm63xx_enet.h30
-rw-r--r--drivers/net/ethernet/octeon/octeon_mgmt.c550
-rw-r--r--drivers/pinctrl/Kconfig16
-rw-r--r--drivers/pinctrl/Makefile3
-rw-r--r--drivers/pinctrl/pinctrl-falcon.c468
-rw-r--r--drivers/pinctrl/pinctrl-lantiq.c342
-rw-r--r--drivers/pinctrl/pinctrl-lantiq.h194
-rw-r--r--drivers/pinctrl/pinctrl-xway.c781
-rw-r--r--drivers/spi/Kconfig7
-rw-r--r--drivers/spi/Makefile1
-rw-r--r--drivers/spi/spi-octeon.c362
175 files changed, 50942 insertions, 3012 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt b/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt
new file mode 100644
index 000000000000..daa768956069
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt
@@ -0,0 +1,83 @@
1Lantiq FALCON pinmux controller
2
3Required properties:
4- compatible: "lantiq,pinctrl-falcon"
5- reg: Should contain the physical address and length of the gpio/pinmux
6 register range
7
8Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node".
11
12Lantiq's pin configuration nodes act as a container for an abitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those group(s), and two pin configuration parameters:
16pull-up and open-drain
17
18The name of each subnode is not important as long as it is unique; all subnodes
19should be enumerated and processed purely based on their content.
20
21Each subnode only affects those parameters that are explicitly listed. In
22other words, a subnode that lists a mux function but no pin configuration
23parameters implies no information about any pin configuration parameters.
24Similarly, a pin subnode that describes a pullup parameter implies no
25information about e.g. the mux function.
26
27We support 2 types of nodes.
28
29Definition of mux function groups:
30
31Required subnode-properties:
32- lantiq,groups : An array of strings. Each string contains the name of a group.
33 Valid values for these names are listed below.
34- lantiq,function: A string containing the name of the function to mux to the
35 group. Valid values for function names are listed below.
36
37Valid values for group and function names:
38
39 mux groups:
40 por, ntr, ntr8k, hrst, mdio, bootled, asc0, spi, spi cs0, spi cs1, i2c,
41 jtag, slic, pcm, asc1
42
43 functions:
44 rst, ntr, mdio, led, asc, spi, i2c, jtag, slic, pcm
45
46
47Definition of pin configurations:
48
49Required subnode-properties:
50- lantiq,pins : An array of strings. Each string contains the name of a pin.
51 Valid values for these names are listed below.
52
53Optional subnode-properties:
54- lantiq,pull: Integer, representing the pull-down/up to apply to the pin.
55 0: none, 1: down
56- lantiq,drive-current: Boolean, enables drive-current
57- lantiq,slew-rate: Boolean, enables slew-rate
58
59Example:
60 pinmux0 {
61 compatible = "lantiq,pinctrl-falcon";
62 pinctrl-names = "default";
63 pinctrl-0 = <&state_default>;
64
65 state_default: pinmux {
66 asc0 {
67 lantiq,groups = "asc0";
68 lantiq,function = "asc";
69 };
70 ntr {
71 lantiq,groups = "ntr8k";
72 lantiq,function = "ntr";
73 };
74 i2c {
75 lantiq,groups = "i2c";
76 lantiq,function = "i2c";
77 };
78 hrst {
79 lantiq,groups = "hrst";
80 lantiq,function = "rst";
81 };
82 };
83 };
diff --git a/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt b/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt
new file mode 100644
index 000000000000..b5469db1d7ad
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt
@@ -0,0 +1,97 @@
1Lantiq XWAY pinmux controller
2
3Required properties:
4- compatible: "lantiq,pinctrl-xway" or "lantiq,pinctrl-xr9"
5- reg: Should contain the physical address and length of the gpio/pinmux
6 register range
7
8Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node".
11
12Lantiq's pin configuration nodes act as a container for an abitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those group(s), and two pin configuration parameters:
16pull-up and open-drain
17
18The name of each subnode is not important as long as it is unique; all subnodes
19should be enumerated and processed purely based on their content.
20
21Each subnode only affects those parameters that are explicitly listed. In
22other words, a subnode that lists a mux function but no pin configuration
23parameters implies no information about any pin configuration parameters.
24Similarly, a pin subnode that describes a pullup parameter implies no
25information about e.g. the mux function.
26
27We support 2 types of nodes.
28
29Definition of mux function groups:
30
31Required subnode-properties:
32- lantiq,groups : An array of strings. Each string contains the name of a group.
33 Valid values for these names are listed below.
34- lantiq,function: A string containing the name of the function to mux to the
35 group. Valid values for function names are listed below.
36
37Valid values for group and function names:
38
39 mux groups:
40 exin0, exin1, exin2, jtag, ebu a23, ebu a24, ebu a25, ebu clk, ebu cs1,
41 ebu wait, nand ale, nand cs1, nand cle, spi, spi_cs1, spi_cs2, spi_cs3,
42 spi_cs4, spi_cs5, spi_cs6, asc0, asc0 cts rts, stp, nmi , gpt1, gpt2,
43 gpt3, clkout0, clkout1, clkout2, clkout3, gnt1, gnt2, gnt3, req1, req2,
44 req3
45
46 additional mux groups (XR9 only):
47 mdio, nand rdy, nand rd, exin3, exin4, gnt4, req4
48
49 functions:
50 spi, asc, cgu, jtag, exin, stp, gpt, nmi, pci, ebu, mdio
51
52
53
54Definition of pin configurations:
55
56Required subnode-properties:
57- lantiq,pins : An array of strings. Each string contains the name of a pin.
58 Valid values for these names are listed below.
59
60Optional subnode-properties:
61- lantiq,pull: Integer, representing the pull-down/up to apply to the pin.
62 0: none, 1: down, 2: up.
63- lantiq,open-drain: Boolean, enables open-drain on the defined pin.
64
65Valid values for XWAY pin names:
66 Pinconf pins can be referenced via the names io0-io31.
67
68Valid values for XR9 pin names:
69 Pinconf pins can be referenced via the names io0-io55.
70
71Example:
72 gpio: pinmux@E100B10 {
73 compatible = "lantiq,pinctrl-xway";
74 pinctrl-names = "default";
75 pinctrl-0 = <&state_default>;
76
77 #gpio-cells = <2>;
78 gpio-controller;
79 reg = <0xE100B10 0xA0>;
80
81 state_default: pinmux {
82 stp {
83 lantiq,groups = "stp";
84 lantiq,function = "stp";
85 };
86 pci {
87 lantiq,groups = "gnt1";
88 lantiq,function = "pci";
89 };
90 conf_out {
91 lantiq,pins = "io4", "io5", "io6"; /* stp */
92 lantiq,open-drain;
93 lantiq,pull = <0>;
94 };
95 };
96 };
97
diff --git a/Documentation/devicetree/bindings/spi/spi-octeon.txt b/Documentation/devicetree/bindings/spi/spi-octeon.txt
new file mode 100644
index 000000000000..431add192342
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-octeon.txt
@@ -0,0 +1,33 @@
1Cavium, Inc. OCTEON SOC SPI master controller.
2
3Required properties:
4- compatible : "cavium,octeon-3010-spi"
5- reg : The register base for the controller.
6- interrupts : One interrupt, used by the controller.
7- #address-cells : <1>, as required by generic SPI binding.
8- #size-cells : <0>, also as required by generic SPI binding.
9
10Child nodes as per the generic SPI binding.
11
12Example:
13
14 spi@1070000001000 {
15 compatible = "cavium,octeon-3010-spi";
16 reg = <0x10700 0x00001000 0x0 0x100>;
17 interrupts = <0 58>;
18 #address-cells = <1>;
19 #size-cells = <0>;
20
21 eeprom@0 {
22 compatible = "st,m95256", "atmel,at25";
23 reg = <0>;
24 spi-max-frequency = <5000000>;
25 spi-cpha;
26 spi-cpol;
27
28 pagesize = <64>;
29 size = <32768>;
30 address-width = <16>;
31 };
32 };
33
diff --git a/arch/mips/Kbuild.platforms b/arch/mips/Kbuild.platforms
index d64786d5e2f3..91b9d69f465c 100644
--- a/arch/mips/Kbuild.platforms
+++ b/arch/mips/Kbuild.platforms
@@ -15,8 +15,8 @@ platforms += lantiq
15platforms += lasat 15platforms += lasat
16platforms += loongson 16platforms += loongson
17platforms += loongson1 17platforms += loongson1
18platforms += mipssim
19platforms += mti-malta 18platforms += mti-malta
19platforms += mti-sead3
20platforms += netlogic 20platforms += netlogic
21platforms += pmc-sierra 21platforms += pmc-sierra
22platforms += pnx833x 22platforms += pnx833x
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index faf65286574e..4cd538b42a3f 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -242,6 +242,8 @@ config LANTIQ
242 select HAVE_MACH_CLKDEV 242 select HAVE_MACH_CLKDEV
243 select CLKDEV_LOOKUP 243 select CLKDEV_LOOKUP
244 select USE_OF 244 select USE_OF
245 select PINCTRL
246 select PINCTRL_LANTIQ
245 247
246config LASAT 248config LASAT
247 bool "LASAT Networks platforms" 249 bool "LASAT Networks platforms"
@@ -320,24 +322,35 @@ config MIPS_MALTA
320 This enables support for the MIPS Technologies Malta evaluation 322 This enables support for the MIPS Technologies Malta evaluation
321 board. 323 board.
322 324
323config MIPS_SIM 325config MIPS_SEAD3
324 bool 'MIPS simulator (MIPSsim)' 326 bool "MIPS SEAD3 board"
327 select BOOT_ELF32
328 select BOOT_RAW
325 select CEVT_R4K 329 select CEVT_R4K
326 select CSRC_R4K 330 select CSRC_R4K
331 select CPU_MIPSR2_IRQ_VI
332 select CPU_MIPSR2_IRQ_EI
327 select DMA_NONCOHERENT 333 select DMA_NONCOHERENT
328 select SYS_HAS_EARLY_PRINTK
329 select IRQ_CPU 334 select IRQ_CPU
330 select BOOT_RAW 335 select IRQ_GIC
336 select MIPS_BOARDS_GEN
337 select MIPS_CPU_SCACHE
338 select MIPS_MSC
331 select SYS_HAS_CPU_MIPS32_R1 339 select SYS_HAS_CPU_MIPS32_R1
332 select SYS_HAS_CPU_MIPS32_R2 340 select SYS_HAS_CPU_MIPS32_R2
341 select SYS_HAS_CPU_MIPS64_R1
333 select SYS_HAS_EARLY_PRINTK 342 select SYS_HAS_EARLY_PRINTK
334 select SYS_SUPPORTS_32BIT_KERNEL 343 select SYS_SUPPORTS_32BIT_KERNEL
344 select SYS_SUPPORTS_64BIT_KERNEL
335 select SYS_SUPPORTS_BIG_ENDIAN 345 select SYS_SUPPORTS_BIG_ENDIAN
336 select SYS_SUPPORTS_MULTITHREADING
337 select SYS_SUPPORTS_LITTLE_ENDIAN 346 select SYS_SUPPORTS_LITTLE_ENDIAN
347 select SYS_SUPPORTS_SMARTMIPS
348 select USB_ARCH_HAS_EHCI
349 select USB_EHCI_BIG_ENDIAN_DESC
350 select USB_EHCI_BIG_ENDIAN_MMIO
338 help 351 help
339 This option enables support for MIPS Technologies MIPSsim software 352 This enables support for the MIPS Technologies SEAD3 evaluation
340 emulator. 353 board.
341 354
342config NEC_MARKEINS 355config NEC_MARKEINS
343 bool "NEC EMMA2RH Mark-eins board" 356 bool "NEC EMMA2RH Mark-eins board"
@@ -831,6 +844,7 @@ config NLM_XLP_BOARD
831 select ZONE_DMA if 64BIT 844 select ZONE_DMA if 64BIT
832 select SYNC_R4K 845 select SYNC_R4K
833 select SYS_HAS_EARLY_PRINTK 846 select SYS_HAS_EARLY_PRINTK
847 select USE_OF
834 help 848 help
835 This board is based on Netlogic XLP Processor. 849 This board is based on Netlogic XLP Processor.
836 Say Y here if you have a XLP based board. 850 Say Y here if you have a XLP based board.
@@ -1749,7 +1763,6 @@ config HARDWARE_WATCHPOINTS
1749menu "Kernel type" 1763menu "Kernel type"
1750 1764
1751choice 1765choice
1752
1753 prompt "Kernel code model" 1766 prompt "Kernel code model"
1754 help 1767 help
1755 You should only select this option if you have a workload that 1768 You should only select this option if you have a workload that
@@ -1880,6 +1893,18 @@ config SIBYTE_DMA_PAGEOPS
1880config CPU_HAS_PREFETCH 1893config CPU_HAS_PREFETCH
1881 bool 1894 bool
1882 1895
1896config CPU_GENERIC_DUMP_TLB
1897 bool
1898 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
1899
1900config CPU_R4K_FPU
1901 bool
1902 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1903
1904config CPU_R4K_CACHE_TLB
1905 bool
1906 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1907
1883choice 1908choice
1884 prompt "MIPS MT options" 1909 prompt "MIPS MT options"
1885 1910
@@ -1955,7 +1980,6 @@ config SCHED_SMT
1955config SYS_SUPPORTS_SCHED_SMT 1980config SYS_SUPPORTS_SCHED_SMT
1956 bool 1981 bool
1957 1982
1958
1959config SYS_SUPPORTS_MULTITHREADING 1983config SYS_SUPPORTS_MULTITHREADING
1960 bool 1984 bool
1961 1985
@@ -2360,12 +2384,10 @@ config SECCOMP
2360 If unsure, say Y. Only embedded should say N here. 2384 If unsure, say Y. Only embedded should say N here.
2361 2385
2362config USE_OF 2386config USE_OF
2363 bool "Flattened Device Tree support" 2387 bool
2364 select OF 2388 select OF
2365 select OF_EARLY_FLATTREE 2389 select OF_EARLY_FLATTREE
2366 select IRQ_DOMAIN 2390 select IRQ_DOMAIN
2367 help
2368 Include support for flattened device tree machine descriptions.
2369 2391
2370endmenu 2392endmenu
2371 2393
diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
index b91ad3efe29e..579f452c0b45 100644
--- a/arch/mips/ath79/clock.c
+++ b/arch/mips/ath79/clock.c
@@ -17,6 +17,8 @@
17#include <linux/err.h> 17#include <linux/err.h>
18#include <linux/clk.h> 18#include <linux/clk.h>
19 19
20#include <asm/div64.h>
21
20#include <asm/mach-ath79/ath79.h> 22#include <asm/mach-ath79/ath79.h>
21#include <asm/mach-ath79/ar71xx_regs.h> 23#include <asm/mach-ath79/ar71xx_regs.h>
22#include "common.h" 24#include "common.h"
@@ -166,11 +168,34 @@ static void __init ar933x_clocks_init(void)
166 ath79_uart_clk.rate = ath79_ref_clk.rate; 168 ath79_uart_clk.rate = ath79_ref_clk.rate;
167} 169}
168 170
171static u32 __init ar934x_get_pll_freq(u32 ref, u32 ref_div, u32 nint, u32 nfrac,
172 u32 frac, u32 out_div)
173{
174 u64 t;
175 u32 ret;
176
177 t = ath79_ref_clk.rate;
178 t *= nint;
179 do_div(t, ref_div);
180 ret = t;
181
182 t = ath79_ref_clk.rate;
183 t *= nfrac;
184 do_div(t, ref_div * frac);
185 ret += t;
186
187 ret /= (1 << out_div);
188 return ret;
189}
190
169static void __init ar934x_clocks_init(void) 191static void __init ar934x_clocks_init(void)
170{ 192{
171 u32 pll, out_div, ref_div, nint, frac, clk_ctrl, postdiv; 193 u32 pll, out_div, ref_div, nint, nfrac, frac, clk_ctrl, postdiv;
172 u32 cpu_pll, ddr_pll; 194 u32 cpu_pll, ddr_pll;
173 u32 bootstrap; 195 u32 bootstrap;
196 void __iomem *dpll_base;
197
198 dpll_base = ioremap(AR934X_SRIF_BASE, AR934X_SRIF_SIZE);
174 199
175 bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP); 200 bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
176 if (bootstrap & AR934X_BOOTSTRAP_REF_CLK_40) 201 if (bootstrap & AR934X_BOOTSTRAP_REF_CLK_40)
@@ -178,33 +203,59 @@ static void __init ar934x_clocks_init(void)
178 else 203 else
179 ath79_ref_clk.rate = 25 * 1000 * 1000; 204 ath79_ref_clk.rate = 25 * 1000 * 1000;
180 205
181 pll = ath79_pll_rr(AR934X_PLL_CPU_CONFIG_REG); 206 pll = __raw_readl(dpll_base + AR934X_SRIF_CPU_DPLL2_REG);
182 out_div = (pll >> AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT) & 207 if (pll & AR934X_SRIF_DPLL2_LOCAL_PLL) {
183 AR934X_PLL_CPU_CONFIG_OUTDIV_MASK; 208 out_div = (pll >> AR934X_SRIF_DPLL2_OUTDIV_SHIFT) &
184 ref_div = (pll >> AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT) & 209 AR934X_SRIF_DPLL2_OUTDIV_MASK;
185 AR934X_PLL_CPU_CONFIG_REFDIV_MASK; 210 pll = __raw_readl(dpll_base + AR934X_SRIF_CPU_DPLL1_REG);
186 nint = (pll >> AR934X_PLL_CPU_CONFIG_NINT_SHIFT) & 211 nint = (pll >> AR934X_SRIF_DPLL1_NINT_SHIFT) &
187 AR934X_PLL_CPU_CONFIG_NINT_MASK; 212 AR934X_SRIF_DPLL1_NINT_MASK;
188 frac = (pll >> AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT) & 213 nfrac = pll & AR934X_SRIF_DPLL1_NFRAC_MASK;
189 AR934X_PLL_CPU_CONFIG_NFRAC_MASK; 214 ref_div = (pll >> AR934X_SRIF_DPLL1_REFDIV_SHIFT) &
190 215 AR934X_SRIF_DPLL1_REFDIV_MASK;
191 cpu_pll = nint * ath79_ref_clk.rate / ref_div; 216 frac = 1 << 18;
192 cpu_pll += frac * ath79_ref_clk.rate / (ref_div * (2 << 6)); 217 } else {
193 cpu_pll /= (1 << out_div); 218 pll = ath79_pll_rr(AR934X_PLL_CPU_CONFIG_REG);
194 219 out_div = (pll >> AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT) &
195 pll = ath79_pll_rr(AR934X_PLL_DDR_CONFIG_REG); 220 AR934X_PLL_CPU_CONFIG_OUTDIV_MASK;
196 out_div = (pll >> AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT) & 221 ref_div = (pll >> AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT) &
197 AR934X_PLL_DDR_CONFIG_OUTDIV_MASK; 222 AR934X_PLL_CPU_CONFIG_REFDIV_MASK;
198 ref_div = (pll >> AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT) & 223 nint = (pll >> AR934X_PLL_CPU_CONFIG_NINT_SHIFT) &
199 AR934X_PLL_DDR_CONFIG_REFDIV_MASK; 224 AR934X_PLL_CPU_CONFIG_NINT_MASK;
200 nint = (pll >> AR934X_PLL_DDR_CONFIG_NINT_SHIFT) & 225 nfrac = (pll >> AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT) &
201 AR934X_PLL_DDR_CONFIG_NINT_MASK; 226 AR934X_PLL_CPU_CONFIG_NFRAC_MASK;
202 frac = (pll >> AR934X_PLL_DDR_CONFIG_NFRAC_SHIFT) & 227 frac = 1 << 6;
203 AR934X_PLL_DDR_CONFIG_NFRAC_MASK; 228 }
204 229
205 ddr_pll = nint * ath79_ref_clk.rate / ref_div; 230 cpu_pll = ar934x_get_pll_freq(ath79_ref_clk.rate, ref_div, nint,
206 ddr_pll += frac * ath79_ref_clk.rate / (ref_div * (2 << 10)); 231 nfrac, frac, out_div);
207 ddr_pll /= (1 << out_div); 232
233 pll = __raw_readl(dpll_base + AR934X_SRIF_DDR_DPLL2_REG);
234 if (pll & AR934X_SRIF_DPLL2_LOCAL_PLL) {
235 out_div = (pll >> AR934X_SRIF_DPLL2_OUTDIV_SHIFT) &
236 AR934X_SRIF_DPLL2_OUTDIV_MASK;
237 pll = __raw_readl(dpll_base + AR934X_SRIF_DDR_DPLL1_REG);
238 nint = (pll >> AR934X_SRIF_DPLL1_NINT_SHIFT) &
239 AR934X_SRIF_DPLL1_NINT_MASK;
240 nfrac = pll & AR934X_SRIF_DPLL1_NFRAC_MASK;
241 ref_div = (pll >> AR934X_SRIF_DPLL1_REFDIV_SHIFT) &
242 AR934X_SRIF_DPLL1_REFDIV_MASK;
243 frac = 1 << 18;
244 } else {
245 pll = ath79_pll_rr(AR934X_PLL_DDR_CONFIG_REG);
246 out_div = (pll >> AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT) &
247 AR934X_PLL_DDR_CONFIG_OUTDIV_MASK;
248 ref_div = (pll >> AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT) &
249 AR934X_PLL_DDR_CONFIG_REFDIV_MASK;
250 nint = (pll >> AR934X_PLL_DDR_CONFIG_NINT_SHIFT) &
251 AR934X_PLL_DDR_CONFIG_NINT_MASK;
252 nfrac = (pll >> AR934X_PLL_DDR_CONFIG_NFRAC_SHIFT) &
253 AR934X_PLL_DDR_CONFIG_NFRAC_MASK;
254 frac = 1 << 10;
255 }
256
257 ddr_pll = ar934x_get_pll_freq(ath79_ref_clk.rate, ref_div, nint,
258 nfrac, frac, out_div);
208 259
209 clk_ctrl = ath79_pll_rr(AR934X_PLL_CPU_DDR_CLK_CTRL_REG); 260 clk_ctrl = ath79_pll_rr(AR934X_PLL_CPU_DDR_CLK_CTRL_REG);
210 261
@@ -240,6 +291,8 @@ static void __init ar934x_clocks_init(void)
240 291
241 ath79_wdt_clk.rate = ath79_ref_clk.rate; 292 ath79_wdt_clk.rate = ath79_ref_clk.rate;
242 ath79_uart_clk.rate = ath79_ref_clk.rate; 293 ath79_uart_clk.rate = ath79_ref_clk.rate;
294
295 iounmap(dpll_base);
243} 296}
244 297
245void __init ath79_clocks_init(void) 298void __init ath79_clocks_init(void)
diff --git a/arch/mips/ath79/dev-usb.c b/arch/mips/ath79/dev-usb.c
index b2a2311ec85b..072bb9be2304 100644
--- a/arch/mips/ath79/dev-usb.c
+++ b/arch/mips/ath79/dev-usb.c
@@ -25,17 +25,7 @@
25#include "common.h" 25#include "common.h"
26#include "dev-usb.h" 26#include "dev-usb.h"
27 27
28static struct resource ath79_ohci_resources[] = { 28static struct resource ath79_ohci_resources[2];
29 [0] = {
30 /* .start and .end fields are filled dynamically */
31 .flags = IORESOURCE_MEM,
32 },
33 [1] = {
34 .start = ATH79_MISC_IRQ_OHCI,
35 .end = ATH79_MISC_IRQ_OHCI,
36 .flags = IORESOURCE_IRQ,
37 },
38};
39 29
40static u64 ath79_ohci_dmamask = DMA_BIT_MASK(32); 30static u64 ath79_ohci_dmamask = DMA_BIT_MASK(32);
41 31
@@ -54,17 +44,7 @@ static struct platform_device ath79_ohci_device = {
54 }, 44 },
55}; 45};
56 46
57static struct resource ath79_ehci_resources[] = { 47static struct resource ath79_ehci_resources[2];
58 [0] = {
59 /* .start and .end fields are filled dynamically */
60 .flags = IORESOURCE_MEM,
61 },
62 [1] = {
63 .start = ATH79_CPU_IRQ_USB,
64 .end = ATH79_CPU_IRQ_USB,
65 .flags = IORESOURCE_IRQ,
66 },
67};
68 48
69static u64 ath79_ehci_dmamask = DMA_BIT_MASK(32); 49static u64 ath79_ehci_dmamask = DMA_BIT_MASK(32);
70 50
@@ -90,6 +70,20 @@ static struct platform_device ath79_ehci_device = {
90 }, 70 },
91}; 71};
92 72
73static void __init ath79_usb_init_resource(struct resource res[2],
74 unsigned long base,
75 unsigned long size,
76 int irq)
77{
78 res[0].flags = IORESOURCE_MEM;
79 res[0].start = base;
80 res[0].end = base + size - 1;
81
82 res[1].flags = IORESOURCE_IRQ;
83 res[1].start = irq;
84 res[1].end = irq;
85}
86
93#define AR71XX_USB_RESET_MASK (AR71XX_RESET_USB_HOST | \ 87#define AR71XX_USB_RESET_MASK (AR71XX_RESET_USB_HOST | \
94 AR71XX_RESET_USB_PHY | \ 88 AR71XX_RESET_USB_PHY | \
95 AR71XX_RESET_USB_OHCI_DLL) 89 AR71XX_RESET_USB_OHCI_DLL)
@@ -114,12 +108,12 @@ static void __init ath79_usb_setup(void)
114 108
115 mdelay(900); 109 mdelay(900);
116 110
117 ath79_ohci_resources[0].start = AR71XX_OHCI_BASE; 111 ath79_usb_init_resource(ath79_ohci_resources, AR71XX_OHCI_BASE,
118 ath79_ohci_resources[0].end = AR71XX_OHCI_BASE + AR71XX_OHCI_SIZE - 1; 112 AR71XX_OHCI_SIZE, ATH79_MISC_IRQ_OHCI);
119 platform_device_register(&ath79_ohci_device); 113 platform_device_register(&ath79_ohci_device);
120 114
121 ath79_ehci_resources[0].start = AR71XX_EHCI_BASE; 115 ath79_usb_init_resource(ath79_ehci_resources, AR71XX_EHCI_BASE,
122 ath79_ehci_resources[0].end = AR71XX_EHCI_BASE + AR71XX_EHCI_SIZE - 1; 116 AR71XX_EHCI_SIZE, ATH79_CPU_IRQ_USB);
123 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v1; 117 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v1;
124 platform_device_register(&ath79_ehci_device); 118 platform_device_register(&ath79_ehci_device);
125} 119}
@@ -143,10 +137,8 @@ static void __init ar7240_usb_setup(void)
143 137
144 iounmap(usb_ctrl_base); 138 iounmap(usb_ctrl_base);
145 139
146 ath79_ohci_resources[0].start = AR7240_OHCI_BASE; 140 ath79_usb_init_resource(ath79_ohci_resources, AR7240_OHCI_BASE,
147 ath79_ohci_resources[0].end = AR7240_OHCI_BASE + AR7240_OHCI_SIZE - 1; 141 AR7240_OHCI_SIZE, ATH79_CPU_IRQ_USB);
148 ath79_ohci_resources[1].start = ATH79_CPU_IRQ_USB;
149 ath79_ohci_resources[1].end = ATH79_CPU_IRQ_USB;
150 platform_device_register(&ath79_ohci_device); 142 platform_device_register(&ath79_ohci_device);
151} 143}
152 144
@@ -161,8 +153,8 @@ static void __init ar724x_usb_setup(void)
161 ath79_device_reset_clear(AR724X_RESET_USB_PHY); 153 ath79_device_reset_clear(AR724X_RESET_USB_PHY);
162 mdelay(10); 154 mdelay(10);
163 155
164 ath79_ehci_resources[0].start = AR724X_EHCI_BASE; 156 ath79_usb_init_resource(ath79_ehci_resources, AR724X_EHCI_BASE,
165 ath79_ehci_resources[0].end = AR724X_EHCI_BASE + AR724X_EHCI_SIZE - 1; 157 AR724X_EHCI_SIZE, ATH79_CPU_IRQ_USB);
166 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v2; 158 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v2;
167 platform_device_register(&ath79_ehci_device); 159 platform_device_register(&ath79_ehci_device);
168} 160}
@@ -178,8 +170,8 @@ static void __init ar913x_usb_setup(void)
178 ath79_device_reset_clear(AR913X_RESET_USB_PHY); 170 ath79_device_reset_clear(AR913X_RESET_USB_PHY);
179 mdelay(10); 171 mdelay(10);
180 172
181 ath79_ehci_resources[0].start = AR913X_EHCI_BASE; 173 ath79_usb_init_resource(ath79_ehci_resources, AR913X_EHCI_BASE,
182 ath79_ehci_resources[0].end = AR913X_EHCI_BASE + AR913X_EHCI_SIZE - 1; 174 AR913X_EHCI_SIZE, ATH79_CPU_IRQ_USB);
183 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v2; 175 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v2;
184 platform_device_register(&ath79_ehci_device); 176 platform_device_register(&ath79_ehci_device);
185} 177}
@@ -195,8 +187,34 @@ static void __init ar933x_usb_setup(void)
195 ath79_device_reset_clear(AR933X_RESET_USB_PHY); 187 ath79_device_reset_clear(AR933X_RESET_USB_PHY);
196 mdelay(10); 188 mdelay(10);
197 189
198 ath79_ehci_resources[0].start = AR933X_EHCI_BASE; 190 ath79_usb_init_resource(ath79_ehci_resources, AR933X_EHCI_BASE,
199 ath79_ehci_resources[0].end = AR933X_EHCI_BASE + AR933X_EHCI_SIZE - 1; 191 AR933X_EHCI_SIZE, ATH79_CPU_IRQ_USB);
192 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v2;
193 platform_device_register(&ath79_ehci_device);
194}
195
196static void __init ar934x_usb_setup(void)
197{
198 u32 bootstrap;
199
200 bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
201 if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
202 return;
203
204 ath79_device_reset_set(AR934X_RESET_USBSUS_OVERRIDE);
205 udelay(1000);
206
207 ath79_device_reset_clear(AR934X_RESET_USB_PHY);
208 udelay(1000);
209
210 ath79_device_reset_clear(AR934X_RESET_USB_PHY_ANALOG);
211 udelay(1000);
212
213 ath79_device_reset_clear(AR934X_RESET_USB_HOST);
214 udelay(1000);
215
216 ath79_usb_init_resource(ath79_ehci_resources, AR934X_EHCI_BASE,
217 AR934X_EHCI_SIZE, ATH79_CPU_IRQ_USB);
200 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v2; 218 ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v2;
201 platform_device_register(&ath79_ehci_device); 219 platform_device_register(&ath79_ehci_device);
202} 220}
@@ -213,6 +231,8 @@ void __init ath79_register_usb(void)
213 ar913x_usb_setup(); 231 ar913x_usb_setup();
214 else if (soc_is_ar933x()) 232 else if (soc_is_ar933x())
215 ar933x_usb_setup(); 233 ar933x_usb_setup();
234 else if (soc_is_ar934x())
235 ar934x_usb_setup();
216 else 236 else
217 BUG(); 237 BUG();
218} 238}
diff --git a/arch/mips/ath79/mach-db120.c b/arch/mips/ath79/mach-db120.c
index 1983e4d2af4b..42f540a724f4 100644
--- a/arch/mips/ath79/mach-db120.c
+++ b/arch/mips/ath79/mach-db120.c
@@ -25,6 +25,7 @@
25#include "dev-gpio-buttons.h" 25#include "dev-gpio-buttons.h"
26#include "dev-leds-gpio.h" 26#include "dev-leds-gpio.h"
27#include "dev-spi.h" 27#include "dev-spi.h"
28#include "dev-usb.h"
28#include "dev-wmac.h" 29#include "dev-wmac.h"
29#include "pci.h" 30#include "pci.h"
30 31
@@ -126,6 +127,7 @@ static void __init db120_setup(void)
126 db120_gpio_keys); 127 db120_gpio_keys);
127 ath79_register_spi(&db120_spi_data, db120_spi_info, 128 ath79_register_spi(&db120_spi_data, db120_spi_info,
128 ARRAY_SIZE(db120_spi_info)); 129 ARRAY_SIZE(db120_spi_info));
130 ath79_register_usb();
129 ath79_register_wmac(art + DB120_WMAC_CALDATA_OFFSET); 131 ath79_register_wmac(art + DB120_WMAC_CALDATA_OFFSET);
130 db120_pci_init(art + DB120_PCIE_CALDATA_OFFSET); 132 db120_pci_init(art + DB120_PCIE_CALDATA_OFFSET);
131} 133}
diff --git a/arch/mips/bcm63xx/Makefile b/arch/mips/bcm63xx/Makefile
index 833af72c852a..9bbb30a9dc20 100644
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,6 +1,6 @@
1obj-y += clk.o cpu.o cs.o gpio.o irq.o prom.o setup.o timer.o \ 1obj-y += clk.o cpu.o cs.o gpio.o irq.o prom.o setup.o timer.o \
2 dev-dsp.o dev-enet.o dev-flash.o dev-pcmcia.o dev-rng.o \ 2 dev-dsp.o dev-enet.o dev-flash.o dev-pcmcia.o dev-rng.o \
3 dev-spi.o dev-uart.o dev-wdt.o 3 dev-spi.o dev-uart.o dev-wdt.o dev-usb-usbd.o
4obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 4obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
5 5
6obj-y += boards/ 6obj-y += boards/
diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c b/arch/mips/bcm63xx/boards/board_bcm963xx.c
index dd18e4b761a8..1cd4d73f23c7 100644
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -24,6 +24,7 @@
24#include <bcm63xx_dev_flash.h> 24#include <bcm63xx_dev_flash.h>
25#include <bcm63xx_dev_pcmcia.h> 25#include <bcm63xx_dev_pcmcia.h>
26#include <bcm63xx_dev_spi.h> 26#include <bcm63xx_dev_spi.h>
27#include <bcm63xx_dev_usb_usbd.h>
27#include <board_bcm963xx.h> 28#include <board_bcm963xx.h>
28 29
29#define PFX "board_bcm963xx: " 30#define PFX "board_bcm963xx: "
@@ -42,6 +43,12 @@ static struct board_info __initdata board_96328avng = {
42 43
43 .has_uart0 = 1, 44 .has_uart0 = 1,
44 .has_pci = 1, 45 .has_pci = 1,
46 .has_usbd = 0,
47
48 .usbd = {
49 .use_fullspeed = 0,
50 .port_no = 0,
51 },
45 52
46 .leds = { 53 .leds = {
47 { 54 {
@@ -713,7 +720,7 @@ const char *board_get_name(void)
713 */ 720 */
714static int board_get_mac_address(u8 *mac) 721static int board_get_mac_address(u8 *mac)
715{ 722{
716 u8 *p; 723 u8 *oui;
717 int count; 724 int count;
718 725
719 if (mac_addr_used >= nvram.mac_addr_count) { 726 if (mac_addr_used >= nvram.mac_addr_count) {
@@ -722,21 +729,23 @@ static int board_get_mac_address(u8 *mac)
722 } 729 }
723 730
724 memcpy(mac, nvram.mac_addr_base, ETH_ALEN); 731 memcpy(mac, nvram.mac_addr_base, ETH_ALEN);
725 p = mac + ETH_ALEN - 1; 732 oui = mac + ETH_ALEN/2 - 1;
726 count = mac_addr_used; 733 count = mac_addr_used;
727 734
728 while (count--) { 735 while (count--) {
736 u8 *p = mac + ETH_ALEN - 1;
737
729 do { 738 do {
730 (*p)++; 739 (*p)++;
731 if (*p != 0) 740 if (*p != 0)
732 break; 741 break;
733 p--; 742 p--;
734 } while (p != mac); 743 } while (p != oui);
735 }
736 744
737 if (p == mac) { 745 if (p == oui) {
738 printk(KERN_ERR PFX "unable to fetch mac address\n"); 746 printk(KERN_ERR PFX "unable to fetch mac address\n");
739 return -ENODEV; 747 return -ENODEV;
748 }
740 } 749 }
741 750
742 mac_addr_used++; 751 mac_addr_used++;
@@ -888,6 +897,9 @@ int __init board_register_devices(void)
888 !board_get_mac_address(board.enet1.mac_addr)) 897 !board_get_mac_address(board.enet1.mac_addr))
889 bcm63xx_enet_register(1, &board.enet1); 898 bcm63xx_enet_register(1, &board.enet1);
890 899
900 if (board.has_usbd)
901 bcm63xx_usbd_register(&board.usbd);
902
891 if (board.has_dsp) 903 if (board.has_dsp)
892 bcm63xx_dsp_register(&board.dsp); 904 bcm63xx_dsp_register(&board.dsp);
893 905
diff --git a/arch/mips/bcm63xx/clk.c b/arch/mips/bcm63xx/clk.c
index 1db48adb543a..dff79ab6005e 100644
--- a/arch/mips/bcm63xx/clk.c
+++ b/arch/mips/bcm63xx/clk.c
@@ -160,7 +160,9 @@ static struct clk clk_pcm = {
160 */ 160 */
161static void usbh_set(struct clk *clk, int enable) 161static void usbh_set(struct clk *clk, int enable)
162{ 162{
163 if (BCMCPU_IS_6348()) 163 if (BCMCPU_IS_6328())
164 bcm_hwclock_set(CKCTL_6328_USBH_EN, enable);
165 else if (BCMCPU_IS_6348())
164 bcm_hwclock_set(CKCTL_6348_USBH_EN, enable); 166 bcm_hwclock_set(CKCTL_6348_USBH_EN, enable);
165 else if (BCMCPU_IS_6368()) 167 else if (BCMCPU_IS_6368())
166 bcm_hwclock_set(CKCTL_6368_USBH_EN, enable); 168 bcm_hwclock_set(CKCTL_6368_USBH_EN, enable);
@@ -171,6 +173,21 @@ static struct clk clk_usbh = {
171}; 173};
172 174
173/* 175/*
176 * USB device clock
177 */
178static void usbd_set(struct clk *clk, int enable)
179{
180 if (BCMCPU_IS_6328())
181 bcm_hwclock_set(CKCTL_6328_USBD_EN, enable);
182 else if (BCMCPU_IS_6368())
183 bcm_hwclock_set(CKCTL_6368_USBD_EN, enable);
184}
185
186static struct clk clk_usbd = {
187 .set = usbd_set,
188};
189
190/*
174 * SPI clock 191 * SPI clock
175 */ 192 */
176static void spi_set(struct clk *clk, int enable) 193static void spi_set(struct clk *clk, int enable)
@@ -284,6 +301,8 @@ struct clk *clk_get(struct device *dev, const char *id)
284 return &clk_ephy; 301 return &clk_ephy;
285 if (!strcmp(id, "usbh")) 302 if (!strcmp(id, "usbh"))
286 return &clk_usbh; 303 return &clk_usbh;
304 if (!strcmp(id, "usbd"))
305 return &clk_usbd;
287 if (!strcmp(id, "spi")) 306 if (!strcmp(id, "spi"))
288 return &clk_spi; 307 return &clk_spi;
289 if (!strcmp(id, "xtm")) 308 if (!strcmp(id, "xtm"))
diff --git a/arch/mips/bcm63xx/dev-usb-usbd.c b/arch/mips/bcm63xx/dev-usb-usbd.c
new file mode 100644
index 000000000000..508bd9d8df27
--- /dev/null
+++ b/arch/mips/bcm63xx/dev-usb-usbd.c
@@ -0,0 +1,65 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2008 Maxime Bizon <mbizon@freebox.fr>
7 * Copyright (C) 2012 Kevin Cernekee <cernekee@gmail.com>
8 * Copyright (C) 2012 Broadcom Corporation
9 */
10
11#include <linux/init.h>
12#include <linux/kernel.h>
13#include <linux/platform_device.h>
14#include <linux/dma-mapping.h>
15#include <bcm63xx_cpu.h>
16#include <bcm63xx_dev_usb_usbd.h>
17
18#define NUM_MMIO 2
19#define NUM_IRQ 7
20
21static struct resource usbd_resources[NUM_MMIO + NUM_IRQ];
22
23static u64 usbd_dmamask = DMA_BIT_MASK(32);
24
25static struct platform_device bcm63xx_usbd_device = {
26 .name = "bcm63xx_udc",
27 .id = -1,
28 .num_resources = ARRAY_SIZE(usbd_resources),
29 .resource = usbd_resources,
30 .dev = {
31 .dma_mask = &usbd_dmamask,
32 .coherent_dma_mask = DMA_BIT_MASK(32),
33 },
34};
35
36int __init bcm63xx_usbd_register(const struct bcm63xx_usbd_platform_data *pd)
37{
38 const int irq_list[NUM_IRQ] = { IRQ_USBD,
39 IRQ_USBD_RXDMA0, IRQ_USBD_TXDMA0,
40 IRQ_USBD_RXDMA1, IRQ_USBD_TXDMA1,
41 IRQ_USBD_RXDMA2, IRQ_USBD_TXDMA2 };
42 int i;
43
44 if (!BCMCPU_IS_6328() && !BCMCPU_IS_6368())
45 return 0;
46
47 usbd_resources[0].start = bcm63xx_regset_address(RSET_USBD);
48 usbd_resources[0].end = usbd_resources[0].start + RSET_USBD_SIZE - 1;
49 usbd_resources[0].flags = IORESOURCE_MEM;
50
51 usbd_resources[1].start = bcm63xx_regset_address(RSET_USBDMA);
52 usbd_resources[1].end = usbd_resources[1].start + RSET_USBDMA_SIZE - 1;
53 usbd_resources[1].flags = IORESOURCE_MEM;
54
55 for (i = 0; i < NUM_IRQ; i++) {
56 struct resource *r = &usbd_resources[NUM_MMIO + i];
57
58 r->start = r->end = bcm63xx_get_irq_number(irq_list[i]);
59 r->flags = IORESOURCE_IRQ;
60 }
61
62 platform_device_add_data(&bcm63xx_usbd_device, pd, sizeof(*pd));
63
64 return platform_device_register(&bcm63xx_usbd_device);
65}
diff --git a/arch/mips/bcm63xx/irq.c b/arch/mips/bcm63xx/irq.c
index 18e051ad18a5..da24c2bd9b7c 100644
--- a/arch/mips/bcm63xx/irq.c
+++ b/arch/mips/bcm63xx/irq.c
@@ -56,8 +56,8 @@ static void __internal_irq_unmask_64(unsigned int irq) __maybe_unused;
56#define is_ext_irq_cascaded 0 56#define is_ext_irq_cascaded 0
57#define ext_irq_start 0 57#define ext_irq_start 0
58#define ext_irq_end 0 58#define ext_irq_end 0
59#define ext_irq_count 0 59#define ext_irq_count 4
60#define ext_irq_cfg_reg1 0 60#define ext_irq_cfg_reg1 PERF_EXTIRQ_CFG_REG_6345
61#define ext_irq_cfg_reg2 0 61#define ext_irq_cfg_reg2 0
62#endif 62#endif
63#ifdef CONFIG_BCM63XX_CPU_6348 63#ifdef CONFIG_BCM63XX_CPU_6348
@@ -143,11 +143,15 @@ static void bcm63xx_init_irq(void)
143 irq_stat_addr += PERF_IRQSTAT_6338_REG; 143 irq_stat_addr += PERF_IRQSTAT_6338_REG;
144 irq_mask_addr += PERF_IRQMASK_6338_REG; 144 irq_mask_addr += PERF_IRQMASK_6338_REG;
145 irq_bits = 32; 145 irq_bits = 32;
146 ext_irq_count = 4;
147 ext_irq_cfg_reg1 = PERF_EXTIRQ_CFG_REG_6338;
146 break; 148 break;
147 case BCM6345_CPU_ID: 149 case BCM6345_CPU_ID:
148 irq_stat_addr += PERF_IRQSTAT_6345_REG; 150 irq_stat_addr += PERF_IRQSTAT_6345_REG;
149 irq_mask_addr += PERF_IRQMASK_6345_REG; 151 irq_mask_addr += PERF_IRQMASK_6345_REG;
150 irq_bits = 32; 152 irq_bits = 32;
153 ext_irq_count = 4;
154 ext_irq_cfg_reg1 = PERF_EXTIRQ_CFG_REG_6345;
151 break; 155 break;
152 case BCM6348_CPU_ID: 156 case BCM6348_CPU_ID:
153 irq_stat_addr += PERF_IRQSTAT_6348_REG; 157 irq_stat_addr += PERF_IRQSTAT_6348_REG;
@@ -434,7 +438,8 @@ static int bcm63xx_external_irq_set_type(struct irq_data *d,
434 reg = bcm_perf_readl(regaddr); 438 reg = bcm_perf_readl(regaddr);
435 irq %= 4; 439 irq %= 4;
436 440
437 if (BCMCPU_IS_6348()) { 441 switch (bcm63xx_get_cpu_id()) {
442 case BCM6348_CPU_ID:
438 if (levelsense) 443 if (levelsense)
439 reg |= EXTIRQ_CFG_LEVELSENSE_6348(irq); 444 reg |= EXTIRQ_CFG_LEVELSENSE_6348(irq);
440 else 445 else
@@ -447,9 +452,13 @@ static int bcm63xx_external_irq_set_type(struct irq_data *d,
447 reg |= EXTIRQ_CFG_BOTHEDGE_6348(irq); 452 reg |= EXTIRQ_CFG_BOTHEDGE_6348(irq);
448 else 453 else
449 reg &= ~EXTIRQ_CFG_BOTHEDGE_6348(irq); 454 reg &= ~EXTIRQ_CFG_BOTHEDGE_6348(irq);
450 } 455 break;
451 456
452 if (BCMCPU_IS_6338() || BCMCPU_IS_6358() || BCMCPU_IS_6368()) { 457 case BCM6328_CPU_ID:
458 case BCM6338_CPU_ID:
459 case BCM6345_CPU_ID:
460 case BCM6358_CPU_ID:
461 case BCM6368_CPU_ID:
453 if (levelsense) 462 if (levelsense)
454 reg |= EXTIRQ_CFG_LEVELSENSE(irq); 463 reg |= EXTIRQ_CFG_LEVELSENSE(irq);
455 else 464 else
@@ -462,6 +471,9 @@ static int bcm63xx_external_irq_set_type(struct irq_data *d,
462 reg |= EXTIRQ_CFG_BOTHEDGE(irq); 471 reg |= EXTIRQ_CFG_BOTHEDGE(irq);
463 else 472 else
464 reg &= ~EXTIRQ_CFG_BOTHEDGE(irq); 473 reg &= ~EXTIRQ_CFG_BOTHEDGE(irq);
474 break;
475 default:
476 BUG();
465 } 477 }
466 478
467 bcm_perf_writel(reg, regaddr); 479 bcm_perf_writel(reg, regaddr);
diff --git a/arch/mips/bcm63xx/setup.c b/arch/mips/bcm63xx/setup.c
index 0e74a13639cd..314231be788c 100644
--- a/arch/mips/bcm63xx/setup.c
+++ b/arch/mips/bcm63xx/setup.c
@@ -74,6 +74,9 @@ void bcm63xx_machine_reboot(void)
74 case BCM6338_CPU_ID: 74 case BCM6338_CPU_ID:
75 perf_regs[0] = PERF_EXTIRQ_CFG_REG_6338; 75 perf_regs[0] = PERF_EXTIRQ_CFG_REG_6338;
76 break; 76 break;
77 case BCM6345_CPU_ID:
78 perf_regs[0] = PERF_EXTIRQ_CFG_REG_6345;
79 break;
77 case BCM6348_CPU_ID: 80 case BCM6348_CPU_ID:
78 perf_regs[0] = PERF_EXTIRQ_CFG_REG_6348; 81 perf_regs[0] = PERF_EXTIRQ_CFG_REG_6348;
79 break; 82 break;
@@ -83,6 +86,9 @@ void bcm63xx_machine_reboot(void)
83 } 86 }
84 87
85 for (i = 0; i < 2; i++) { 88 for (i = 0; i < 2; i++) {
89 if (!perf_regs[i])
90 break;
91
86 reg = bcm_perf_readl(perf_regs[i]); 92 reg = bcm_perf_readl(perf_regs[i]);
87 if (BCMCPU_IS_6348()) { 93 if (BCMCPU_IS_6348()) {
88 reg &= ~EXTIRQ_CFG_MASK_ALL_6348; 94 reg &= ~EXTIRQ_CFG_MASK_ALL_6348;
diff --git a/arch/mips/cavium-octeon/csrc-octeon.c b/arch/mips/cavium-octeon/csrc-octeon.c
index ce6483a9302a..02193953eb9e 100644
--- a/arch/mips/cavium-octeon/csrc-octeon.c
+++ b/arch/mips/cavium-octeon/csrc-octeon.c
@@ -4,7 +4,7 @@
4 * for more details. 4 * for more details.
5 * 5 *
6 * Copyright (C) 2007 by Ralf Baechle 6 * Copyright (C) 2007 by Ralf Baechle
7 * Copyright (C) 2009, 2010 Cavium Networks, Inc. 7 * Copyright (C) 2009, 2012 Cavium, Inc.
8 */ 8 */
9#include <linux/clocksource.h> 9#include <linux/clocksource.h>
10#include <linux/export.h> 10#include <linux/export.h>
@@ -18,6 +18,33 @@
18#include <asm/octeon/cvmx-ipd-defs.h> 18#include <asm/octeon/cvmx-ipd-defs.h>
19#include <asm/octeon/cvmx-mio-defs.h> 19#include <asm/octeon/cvmx-mio-defs.h>
20 20
21
22static u64 f;
23static u64 rdiv;
24static u64 sdiv;
25static u64 octeon_udelay_factor;
26static u64 octeon_ndelay_factor;
27
28void __init octeon_setup_delays(void)
29{
30 octeon_udelay_factor = octeon_get_clock_rate() / 1000000;
31 /*
32 * For __ndelay we divide by 2^16, so the factor is multiplied
33 * by the same amount.
34 */
35 octeon_ndelay_factor = (octeon_udelay_factor * 0x10000ull) / 1000ull;
36
37 preset_lpj = octeon_get_clock_rate() / HZ;
38
39 if (current_cpu_type() == CPU_CAVIUM_OCTEON2) {
40 union cvmx_mio_rst_boot rst_boot;
41 rst_boot.u64 = cvmx_read_csr(CVMX_MIO_RST_BOOT);
42 rdiv = rst_boot.s.c_mul; /* CPU clock */
43 sdiv = rst_boot.s.pnr_mul; /* I/O clock */
44 f = (0x8000000000000000ull / sdiv) * 2;
45 }
46}
47
21/* 48/*
22 * Set the current core's cvmcount counter to the value of the 49 * Set the current core's cvmcount counter to the value of the
23 * IPD_CLK_COUNT. We do this on all cores as they are brought 50 * IPD_CLK_COUNT. We do this on all cores as they are brought
@@ -30,17 +57,6 @@ void octeon_init_cvmcount(void)
30{ 57{
31 unsigned long flags; 58 unsigned long flags;
32 unsigned loops = 2; 59 unsigned loops = 2;
33 u64 f = 0;
34 u64 rdiv = 0;
35 u64 sdiv = 0;
36 if (current_cpu_type() == CPU_CAVIUM_OCTEON2) {
37 union cvmx_mio_rst_boot rst_boot;
38 rst_boot.u64 = cvmx_read_csr(CVMX_MIO_RST_BOOT);
39 rdiv = rst_boot.s.c_mul; /* CPU clock */
40 sdiv = rst_boot.s.pnr_mul; /* I/O clock */
41 f = (0x8000000000000000ull / sdiv) * 2;
42 }
43
44 60
45 /* Clobber loops so GCC will not unroll the following while loop. */ 61 /* Clobber loops so GCC will not unroll the following while loop. */
46 asm("" : "+r" (loops)); 62 asm("" : "+r" (loops));
@@ -57,9 +73,9 @@ void octeon_init_cvmcount(void)
57 if (f != 0) { 73 if (f != 0) {
58 asm("dmultu\t%[cnt],%[f]\n\t" 74 asm("dmultu\t%[cnt],%[f]\n\t"
59 "mfhi\t%[cnt]" 75 "mfhi\t%[cnt]"
60 : [cnt] "+r" (ipd_clk_count), 76 : [cnt] "+r" (ipd_clk_count)
61 [f] "=r" (f) 77 : [f] "r" (f)
62 : : "hi", "lo"); 78 : "hi", "lo");
63 } 79 }
64 } 80 }
65 write_c0_cvmcount(ipd_clk_count); 81 write_c0_cvmcount(ipd_clk_count);
@@ -109,21 +125,6 @@ void __init plat_time_init(void)
109 clocksource_register_hz(&clocksource_mips, octeon_get_clock_rate()); 125 clocksource_register_hz(&clocksource_mips, octeon_get_clock_rate());
110} 126}
111 127
112static u64 octeon_udelay_factor;
113static u64 octeon_ndelay_factor;
114
115void __init octeon_setup_delays(void)
116{
117 octeon_udelay_factor = octeon_get_clock_rate() / 1000000;
118 /*
119 * For __ndelay we divide by 2^16, so the factor is multiplied
120 * by the same amount.
121 */
122 octeon_ndelay_factor = (octeon_udelay_factor * 0x10000ull) / 1000ull;
123
124 preset_lpj = octeon_get_clock_rate() / HZ;
125}
126
127void __udelay(unsigned long us) 128void __udelay(unsigned long us)
128{ 129{
129 u64 cur, end, inc; 130 u64 cur, end, inc;
@@ -163,3 +164,35 @@ void __delay(unsigned long loops)
163 cur = read_c0_cvmcount(); 164 cur = read_c0_cvmcount();
164} 165}
165EXPORT_SYMBOL(__delay); 166EXPORT_SYMBOL(__delay);
167
168
169/**
170 * octeon_io_clk_delay - wait for a given number of io clock cycles to pass.
171 *
172 * We scale the wait by the clock ratio, and then wait for the
173 * corresponding number of core clocks.
174 *
175 * @count: The number of clocks to wait.
176 */
177void octeon_io_clk_delay(unsigned long count)
178{
179 u64 cur, end;
180
181 cur = read_c0_cvmcount();
182 if (rdiv != 0) {
183 end = count * rdiv;
184 if (f != 0) {
185 asm("dmultu\t%[cnt],%[f]\n\t"
186 "mfhi\t%[cnt]"
187 : [cnt] "+r" (end)
188 : [f] "r" (f)
189 : "hi", "lo");
190 }
191 end = cur + end;
192 } else {
193 end = cur + count;
194 }
195 while (end > cur)
196 cur = read_c0_cvmcount();
197}
198EXPORT_SYMBOL(octeon_io_clk_delay);
diff --git a/arch/mips/cavium-octeon/executive/cvmx-interrupt-rsl.c b/arch/mips/cavium-octeon/executive/cvmx-interrupt-rsl.c
index bea7538ea4e9..560e034aa024 100644
--- a/arch/mips/cavium-octeon/executive/cvmx-interrupt-rsl.c
+++ b/arch/mips/cavium-octeon/executive/cvmx-interrupt-rsl.c
@@ -130,7 +130,7 @@ void __cvmx_interrupt_gmxx_enable(int interface)
130 if (num_ports) { 130 if (num_ports) {
131 if (OCTEON_IS_MODEL(OCTEON_CN38XX) 131 if (OCTEON_IS_MODEL(OCTEON_CN38XX)
132 || OCTEON_IS_MODEL(OCTEON_CN58XX)) 132 || OCTEON_IS_MODEL(OCTEON_CN58XX))
133 gmx_tx_int_en.s.ncb_nxa = 1; 133 gmx_tx_int_en.cn38xx.ncb_nxa = 1;
134 gmx_tx_int_en.s.pko_nxa = 1; 134 gmx_tx_int_en.s.pko_nxa = 1;
135 } 135 }
136 gmx_tx_int_en.s.undflw = (1 << num_ports) - 1; 136 gmx_tx_int_en.s.undflw = (1 << num_ports) - 1;
diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon/octeon-irq.c
index 274cd4fad30c..02b15eed4bcd 100644
--- a/arch/mips/cavium-octeon/octeon-irq.c
+++ b/arch/mips/cavium-octeon/octeon-irq.c
@@ -16,12 +16,11 @@
16#include <linux/of.h> 16#include <linux/of.h>
17 17
18#include <asm/octeon/octeon.h> 18#include <asm/octeon/octeon.h>
19 19#include <asm/octeon/cvmx-ciu2-defs.h>
20static DEFINE_RAW_SPINLOCK(octeon_irq_ciu0_lock);
21static DEFINE_RAW_SPINLOCK(octeon_irq_ciu1_lock);
22 20
23static DEFINE_PER_CPU(unsigned long, octeon_irq_ciu0_en_mirror); 21static DEFINE_PER_CPU(unsigned long, octeon_irq_ciu0_en_mirror);
24static DEFINE_PER_CPU(unsigned long, octeon_irq_ciu1_en_mirror); 22static DEFINE_PER_CPU(unsigned long, octeon_irq_ciu1_en_mirror);
23static DEFINE_PER_CPU(raw_spinlock_t, octeon_irq_ciu_spinlock);
25 24
26static __read_mostly u8 octeon_irq_ciu_to_irq[8][64]; 25static __read_mostly u8 octeon_irq_ciu_to_irq[8][64];
27 26
@@ -29,8 +28,9 @@ union octeon_ciu_chip_data {
29 void *p; 28 void *p;
30 unsigned long l; 29 unsigned long l;
31 struct { 30 struct {
32 unsigned int line:6; 31 unsigned long line:6;
33 unsigned int bit:6; 32 unsigned long bit:6;
33 unsigned long gpio_line:6;
34 } s; 34 } s;
35}; 35};
36 36
@@ -45,7 +45,7 @@ struct octeon_core_chip_data {
45 45
46static struct octeon_core_chip_data octeon_irq_core_chip_data[MIPS_CORE_IRQ_LINES]; 46static struct octeon_core_chip_data octeon_irq_core_chip_data[MIPS_CORE_IRQ_LINES];
47 47
48static void octeon_irq_set_ciu_mapping(int irq, int line, int bit, 48static void octeon_irq_set_ciu_mapping(int irq, int line, int bit, int gpio_line,
49 struct irq_chip *chip, 49 struct irq_chip *chip,
50 irq_flow_handler_t handler) 50 irq_flow_handler_t handler)
51{ 51{
@@ -56,6 +56,7 @@ static void octeon_irq_set_ciu_mapping(int irq, int line, int bit,
56 cd.l = 0; 56 cd.l = 0;
57 cd.s.line = line; 57 cd.s.line = line;
58 cd.s.bit = bit; 58 cd.s.bit = bit;
59 cd.s.gpio_line = gpio_line;
59 60
60 irq_set_chip_data(irq, cd.p); 61 irq_set_chip_data(irq, cd.p);
61 octeon_irq_ciu_to_irq[line][bit] = irq; 62 octeon_irq_ciu_to_irq[line][bit] = irq;
@@ -231,22 +232,31 @@ static void octeon_irq_ciu_enable(struct irq_data *data)
231 unsigned long *pen; 232 unsigned long *pen;
232 unsigned long flags; 233 unsigned long flags;
233 union octeon_ciu_chip_data cd; 234 union octeon_ciu_chip_data cd;
235 raw_spinlock_t *lock = &per_cpu(octeon_irq_ciu_spinlock, cpu);
234 236
235 cd.p = irq_data_get_irq_chip_data(data); 237 cd.p = irq_data_get_irq_chip_data(data);
236 238
239 raw_spin_lock_irqsave(lock, flags);
237 if (cd.s.line == 0) { 240 if (cd.s.line == 0) {
238 raw_spin_lock_irqsave(&octeon_irq_ciu0_lock, flags);
239 pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu); 241 pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu);
240 set_bit(cd.s.bit, pen); 242 __set_bit(cd.s.bit, pen);
243 /*
244 * Must be visible to octeon_irq_ip{2,3}_ciu() before
245 * enabling the irq.
246 */
247 wmb();
241 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen); 248 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen);
242 raw_spin_unlock_irqrestore(&octeon_irq_ciu0_lock, flags);
243 } else { 249 } else {
244 raw_spin_lock_irqsave(&octeon_irq_ciu1_lock, flags);
245 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu); 250 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu);
246 set_bit(cd.s.bit, pen); 251 __set_bit(cd.s.bit, pen);
252 /*
253 * Must be visible to octeon_irq_ip{2,3}_ciu() before
254 * enabling the irq.
255 */
256 wmb();
247 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen); 257 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen);
248 raw_spin_unlock_irqrestore(&octeon_irq_ciu1_lock, flags);
249 } 258 }
259 raw_spin_unlock_irqrestore(lock, flags);
250} 260}
251 261
252static void octeon_irq_ciu_enable_local(struct irq_data *data) 262static void octeon_irq_ciu_enable_local(struct irq_data *data)
@@ -254,22 +264,31 @@ static void octeon_irq_ciu_enable_local(struct irq_data *data)
254 unsigned long *pen; 264 unsigned long *pen;
255 unsigned long flags; 265 unsigned long flags;
256 union octeon_ciu_chip_data cd; 266 union octeon_ciu_chip_data cd;
267 raw_spinlock_t *lock = &__get_cpu_var(octeon_irq_ciu_spinlock);
257 268
258 cd.p = irq_data_get_irq_chip_data(data); 269 cd.p = irq_data_get_irq_chip_data(data);
259 270
271 raw_spin_lock_irqsave(lock, flags);
260 if (cd.s.line == 0) { 272 if (cd.s.line == 0) {
261 raw_spin_lock_irqsave(&octeon_irq_ciu0_lock, flags);
262 pen = &__get_cpu_var(octeon_irq_ciu0_en_mirror); 273 pen = &__get_cpu_var(octeon_irq_ciu0_en_mirror);
263 set_bit(cd.s.bit, pen); 274 __set_bit(cd.s.bit, pen);
275 /*
276 * Must be visible to octeon_irq_ip{2,3}_ciu() before
277 * enabling the irq.
278 */
279 wmb();
264 cvmx_write_csr(CVMX_CIU_INTX_EN0(cvmx_get_core_num() * 2), *pen); 280 cvmx_write_csr(CVMX_CIU_INTX_EN0(cvmx_get_core_num() * 2), *pen);
265 raw_spin_unlock_irqrestore(&octeon_irq_ciu0_lock, flags);
266 } else { 281 } else {
267 raw_spin_lock_irqsave(&octeon_irq_ciu1_lock, flags);
268 pen = &__get_cpu_var(octeon_irq_ciu1_en_mirror); 282 pen = &__get_cpu_var(octeon_irq_ciu1_en_mirror);
269 set_bit(cd.s.bit, pen); 283 __set_bit(cd.s.bit, pen);
284 /*
285 * Must be visible to octeon_irq_ip{2,3}_ciu() before
286 * enabling the irq.
287 */
288 wmb();
270 cvmx_write_csr(CVMX_CIU_INTX_EN1(cvmx_get_core_num() * 2 + 1), *pen); 289 cvmx_write_csr(CVMX_CIU_INTX_EN1(cvmx_get_core_num() * 2 + 1), *pen);
271 raw_spin_unlock_irqrestore(&octeon_irq_ciu1_lock, flags);
272 } 290 }
291 raw_spin_unlock_irqrestore(lock, flags);
273} 292}
274 293
275static void octeon_irq_ciu_disable_local(struct irq_data *data) 294static void octeon_irq_ciu_disable_local(struct irq_data *data)
@@ -277,22 +296,31 @@ static void octeon_irq_ciu_disable_local(struct irq_data *data)
277 unsigned long *pen; 296 unsigned long *pen;
278 unsigned long flags; 297 unsigned long flags;
279 union octeon_ciu_chip_data cd; 298 union octeon_ciu_chip_data cd;
299 raw_spinlock_t *lock = &__get_cpu_var(octeon_irq_ciu_spinlock);
280 300
281 cd.p = irq_data_get_irq_chip_data(data); 301 cd.p = irq_data_get_irq_chip_data(data);
282 302
303 raw_spin_lock_irqsave(lock, flags);
283 if (cd.s.line == 0) { 304 if (cd.s.line == 0) {
284 raw_spin_lock_irqsave(&octeon_irq_ciu0_lock, flags);
285 pen = &__get_cpu_var(octeon_irq_ciu0_en_mirror); 305 pen = &__get_cpu_var(octeon_irq_ciu0_en_mirror);
286 clear_bit(cd.s.bit, pen); 306 __clear_bit(cd.s.bit, pen);
307 /*
308 * Must be visible to octeon_irq_ip{2,3}_ciu() before
309 * enabling the irq.
310 */
311 wmb();
287 cvmx_write_csr(CVMX_CIU_INTX_EN0(cvmx_get_core_num() * 2), *pen); 312 cvmx_write_csr(CVMX_CIU_INTX_EN0(cvmx_get_core_num() * 2), *pen);
288 raw_spin_unlock_irqrestore(&octeon_irq_ciu0_lock, flags);
289 } else { 313 } else {
290 raw_spin_lock_irqsave(&octeon_irq_ciu1_lock, flags);
291 pen = &__get_cpu_var(octeon_irq_ciu1_en_mirror); 314 pen = &__get_cpu_var(octeon_irq_ciu1_en_mirror);
292 clear_bit(cd.s.bit, pen); 315 __clear_bit(cd.s.bit, pen);
316 /*
317 * Must be visible to octeon_irq_ip{2,3}_ciu() before
318 * enabling the irq.
319 */
320 wmb();
293 cvmx_write_csr(CVMX_CIU_INTX_EN1(cvmx_get_core_num() * 2 + 1), *pen); 321 cvmx_write_csr(CVMX_CIU_INTX_EN1(cvmx_get_core_num() * 2 + 1), *pen);
294 raw_spin_unlock_irqrestore(&octeon_irq_ciu1_lock, flags);
295 } 322 }
323 raw_spin_unlock_irqrestore(lock, flags);
296} 324}
297 325
298static void octeon_irq_ciu_disable_all(struct irq_data *data) 326static void octeon_irq_ciu_disable_all(struct irq_data *data)
@@ -301,29 +329,30 @@ static void octeon_irq_ciu_disable_all(struct irq_data *data)
301 unsigned long *pen; 329 unsigned long *pen;
302 int cpu; 330 int cpu;
303 union octeon_ciu_chip_data cd; 331 union octeon_ciu_chip_data cd;
304 332 raw_spinlock_t *lock;
305 wmb(); /* Make sure flag changes arrive before register updates. */
306 333
307 cd.p = irq_data_get_irq_chip_data(data); 334 cd.p = irq_data_get_irq_chip_data(data);
308 335
309 if (cd.s.line == 0) { 336 for_each_online_cpu(cpu) {
310 raw_spin_lock_irqsave(&octeon_irq_ciu0_lock, flags); 337 int coreid = octeon_coreid_for_cpu(cpu);
311 for_each_online_cpu(cpu) { 338 lock = &per_cpu(octeon_irq_ciu_spinlock, cpu);
312 int coreid = octeon_coreid_for_cpu(cpu); 339 if (cd.s.line == 0)
313 pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu); 340 pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu);
314 clear_bit(cd.s.bit, pen); 341 else
315 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen);
316 }
317 raw_spin_unlock_irqrestore(&octeon_irq_ciu0_lock, flags);
318 } else {
319 raw_spin_lock_irqsave(&octeon_irq_ciu1_lock, flags);
320 for_each_online_cpu(cpu) {
321 int coreid = octeon_coreid_for_cpu(cpu);
322 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu); 342 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu);
323 clear_bit(cd.s.bit, pen); 343
344 raw_spin_lock_irqsave(lock, flags);
345 __clear_bit(cd.s.bit, pen);
346 /*
347 * Must be visible to octeon_irq_ip{2,3}_ciu() before
348 * enabling the irq.
349 */
350 wmb();
351 if (cd.s.line == 0)
352 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen);
353 else
324 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen); 354 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen);
325 } 355 raw_spin_unlock_irqrestore(lock, flags);
326 raw_spin_unlock_irqrestore(&octeon_irq_ciu1_lock, flags);
327 } 356 }
328} 357}
329 358
@@ -333,27 +362,30 @@ static void octeon_irq_ciu_enable_all(struct irq_data *data)
333 unsigned long *pen; 362 unsigned long *pen;
334 int cpu; 363 int cpu;
335 union octeon_ciu_chip_data cd; 364 union octeon_ciu_chip_data cd;
365 raw_spinlock_t *lock;
336 366
337 cd.p = irq_data_get_irq_chip_data(data); 367 cd.p = irq_data_get_irq_chip_data(data);
338 368
339 if (cd.s.line == 0) { 369 for_each_online_cpu(cpu) {
340 raw_spin_lock_irqsave(&octeon_irq_ciu0_lock, flags); 370 int coreid = octeon_coreid_for_cpu(cpu);
341 for_each_online_cpu(cpu) { 371 lock = &per_cpu(octeon_irq_ciu_spinlock, cpu);
342 int coreid = octeon_coreid_for_cpu(cpu); 372 if (cd.s.line == 0)
343 pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu); 373 pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu);
344 set_bit(cd.s.bit, pen); 374 else
345 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen);
346 }
347 raw_spin_unlock_irqrestore(&octeon_irq_ciu0_lock, flags);
348 } else {
349 raw_spin_lock_irqsave(&octeon_irq_ciu1_lock, flags);
350 for_each_online_cpu(cpu) {
351 int coreid = octeon_coreid_for_cpu(cpu);
352 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu); 375 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu);
353 set_bit(cd.s.bit, pen); 376
377 raw_spin_lock_irqsave(lock, flags);
378 __set_bit(cd.s.bit, pen);
379 /*
380 * Must be visible to octeon_irq_ip{2,3}_ciu() before
381 * enabling the irq.
382 */
383 wmb();
384 if (cd.s.line == 0)
385 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen);
386 else
354 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen); 387 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen);
355 } 388 raw_spin_unlock_irqrestore(lock, flags);
356 raw_spin_unlock_irqrestore(&octeon_irq_ciu1_lock, flags);
357 } 389 }
358} 390}
359 391
@@ -435,7 +467,7 @@ static void octeon_irq_ciu_ack(struct irq_data *data)
435 u64 mask; 467 u64 mask;
436 union octeon_ciu_chip_data cd; 468 union octeon_ciu_chip_data cd;
437 469
438 cd.p = data->chip_data; 470 cd.p = irq_data_get_irq_chip_data(data);
439 mask = 1ull << (cd.s.bit); 471 mask = 1ull << (cd.s.bit);
440 472
441 if (cd.s.line == 0) { 473 if (cd.s.line == 0) {
@@ -456,9 +488,7 @@ static void octeon_irq_ciu_disable_all_v2(struct irq_data *data)
456 u64 mask; 488 u64 mask;
457 union octeon_ciu_chip_data cd; 489 union octeon_ciu_chip_data cd;
458 490
459 wmb(); /* Make sure flag changes arrive before register updates. */ 491 cd.p = irq_data_get_irq_chip_data(data);
460
461 cd.p = data->chip_data;
462 mask = 1ull << (cd.s.bit); 492 mask = 1ull << (cd.s.bit);
463 493
464 if (cd.s.line == 0) { 494 if (cd.s.line == 0) {
@@ -486,7 +516,7 @@ static void octeon_irq_ciu_enable_all_v2(struct irq_data *data)
486 u64 mask; 516 u64 mask;
487 union octeon_ciu_chip_data cd; 517 union octeon_ciu_chip_data cd;
488 518
489 cd.p = data->chip_data; 519 cd.p = irq_data_get_irq_chip_data(data);
490 mask = 1ull << (cd.s.bit); 520 mask = 1ull << (cd.s.bit);
491 521
492 if (cd.s.line == 0) { 522 if (cd.s.line == 0) {
@@ -521,7 +551,7 @@ static void octeon_irq_gpio_setup(struct irq_data *data)
521 cfg.s.fil_cnt = 7; 551 cfg.s.fil_cnt = 7;
522 cfg.s.fil_sel = 3; 552 cfg.s.fil_sel = 3;
523 553
524 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd.s.bit - 16), cfg.u64); 554 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd.s.gpio_line), cfg.u64);
525} 555}
526 556
527static void octeon_irq_ciu_enable_gpio_v2(struct irq_data *data) 557static void octeon_irq_ciu_enable_gpio_v2(struct irq_data *data)
@@ -549,7 +579,7 @@ static void octeon_irq_ciu_disable_gpio_v2(struct irq_data *data)
549 union octeon_ciu_chip_data cd; 579 union octeon_ciu_chip_data cd;
550 580
551 cd.p = irq_data_get_irq_chip_data(data); 581 cd.p = irq_data_get_irq_chip_data(data);
552 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd.s.bit - 16), 0); 582 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd.s.gpio_line), 0);
553 583
554 octeon_irq_ciu_disable_all_v2(data); 584 octeon_irq_ciu_disable_all_v2(data);
555} 585}
@@ -559,7 +589,7 @@ static void octeon_irq_ciu_disable_gpio(struct irq_data *data)
559 union octeon_ciu_chip_data cd; 589 union octeon_ciu_chip_data cd;
560 590
561 cd.p = irq_data_get_irq_chip_data(data); 591 cd.p = irq_data_get_irq_chip_data(data);
562 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd.s.bit - 16), 0); 592 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd.s.gpio_line), 0);
563 593
564 octeon_irq_ciu_disable_all(data); 594 octeon_irq_ciu_disable_all(data);
565} 595}
@@ -570,7 +600,7 @@ static void octeon_irq_ciu_gpio_ack(struct irq_data *data)
570 u64 mask; 600 u64 mask;
571 601
572 cd.p = irq_data_get_irq_chip_data(data); 602 cd.p = irq_data_get_irq_chip_data(data);
573 mask = 1ull << (cd.s.bit - 16); 603 mask = 1ull << (cd.s.gpio_line);
574 604
575 cvmx_write_csr(CVMX_GPIO_INT_CLR, mask); 605 cvmx_write_csr(CVMX_GPIO_INT_CLR, mask);
576} 606}
@@ -615,8 +645,10 @@ static int octeon_irq_ciu_set_affinity(struct irq_data *data,
615 bool enable_one = !irqd_irq_disabled(data) && !irqd_irq_masked(data); 645 bool enable_one = !irqd_irq_disabled(data) && !irqd_irq_masked(data);
616 unsigned long flags; 646 unsigned long flags;
617 union octeon_ciu_chip_data cd; 647 union octeon_ciu_chip_data cd;
648 unsigned long *pen;
649 raw_spinlock_t *lock;
618 650
619 cd.p = data->chip_data; 651 cd.p = irq_data_get_irq_chip_data(data);
620 652
621 /* 653 /*
622 * For non-v2 CIU, we will allow only single CPU affinity. 654 * For non-v2 CIU, we will allow only single CPU affinity.
@@ -629,36 +661,36 @@ static int octeon_irq_ciu_set_affinity(struct irq_data *data,
629 if (!enable_one) 661 if (!enable_one)
630 return 0; 662 return 0;
631 663
632 if (cd.s.line == 0) {
633 raw_spin_lock_irqsave(&octeon_irq_ciu0_lock, flags);
634 for_each_online_cpu(cpu) {
635 int coreid = octeon_coreid_for_cpu(cpu);
636 unsigned long *pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu);
637 664
638 if (cpumask_test_cpu(cpu, dest) && enable_one) { 665 for_each_online_cpu(cpu) {
639 enable_one = false; 666 int coreid = octeon_coreid_for_cpu(cpu);
640 set_bit(cd.s.bit, pen); 667
641 } else { 668 lock = &per_cpu(octeon_irq_ciu_spinlock, cpu);
642 clear_bit(cd.s.bit, pen); 669 raw_spin_lock_irqsave(lock, flags);
643 } 670
644 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen); 671 if (cd.s.line == 0)
672 pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu);
673 else
674 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu);
675
676 if (cpumask_test_cpu(cpu, dest) && enable_one) {
677 enable_one = 0;
678 __set_bit(cd.s.bit, pen);
679 } else {
680 __clear_bit(cd.s.bit, pen);
645 } 681 }
646 raw_spin_unlock_irqrestore(&octeon_irq_ciu0_lock, flags); 682 /*
647 } else { 683 * Must be visible to octeon_irq_ip{2,3}_ciu() before
648 raw_spin_lock_irqsave(&octeon_irq_ciu1_lock, flags); 684 * enabling the irq.
649 for_each_online_cpu(cpu) { 685 */
650 int coreid = octeon_coreid_for_cpu(cpu); 686 wmb();
651 unsigned long *pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu);
652 687
653 if (cpumask_test_cpu(cpu, dest) && enable_one) { 688 if (cd.s.line == 0)
654 enable_one = false; 689 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen);
655 set_bit(cd.s.bit, pen); 690 else
656 } else {
657 clear_bit(cd.s.bit, pen);
658 }
659 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen); 691 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen);
660 } 692
661 raw_spin_unlock_irqrestore(&octeon_irq_ciu1_lock, flags); 693 raw_spin_unlock_irqrestore(lock, flags);
662 } 694 }
663 return 0; 695 return 0;
664} 696}
@@ -679,7 +711,7 @@ static int octeon_irq_ciu_set_affinity_v2(struct irq_data *data,
679 if (!enable_one) 711 if (!enable_one)
680 return 0; 712 return 0;
681 713
682 cd.p = data->chip_data; 714 cd.p = irq_data_get_irq_chip_data(data);
683 mask = 1ull << cd.s.bit; 715 mask = 1ull << cd.s.bit;
684 716
685 if (cd.s.line == 0) { 717 if (cd.s.line == 0) {
@@ -714,14 +746,6 @@ static int octeon_irq_ciu_set_affinity_v2(struct irq_data *data,
714#endif 746#endif
715 747
716/* 748/*
717 * The v1 CIU code already masks things, so supply a dummy version to
718 * the core chip code.
719 */
720static void octeon_irq_dummy_mask(struct irq_data *data)
721{
722}
723
724/*
725 * Newer octeon chips have support for lockless CIU operation. 749 * Newer octeon chips have support for lockless CIU operation.
726 */ 750 */
727static struct irq_chip octeon_irq_chip_ciu_v2 = { 751static struct irq_chip octeon_irq_chip_ciu_v2 = {
@@ -742,7 +766,8 @@ static struct irq_chip octeon_irq_chip_ciu = {
742 .irq_enable = octeon_irq_ciu_enable, 766 .irq_enable = octeon_irq_ciu_enable,
743 .irq_disable = octeon_irq_ciu_disable_all, 767 .irq_disable = octeon_irq_ciu_disable_all,
744 .irq_ack = octeon_irq_ciu_ack, 768 .irq_ack = octeon_irq_ciu_ack,
745 .irq_mask = octeon_irq_dummy_mask, 769 .irq_mask = octeon_irq_ciu_disable_local,
770 .irq_unmask = octeon_irq_ciu_enable,
746#ifdef CONFIG_SMP 771#ifdef CONFIG_SMP
747 .irq_set_affinity = octeon_irq_ciu_set_affinity, 772 .irq_set_affinity = octeon_irq_ciu_set_affinity,
748 .irq_cpu_offline = octeon_irq_cpu_offline_ciu, 773 .irq_cpu_offline = octeon_irq_cpu_offline_ciu,
@@ -766,6 +791,8 @@ static struct irq_chip octeon_irq_chip_ciu_mbox = {
766 .name = "CIU-M", 791 .name = "CIU-M",
767 .irq_enable = octeon_irq_ciu_enable_all, 792 .irq_enable = octeon_irq_ciu_enable_all,
768 .irq_disable = octeon_irq_ciu_disable_all, 793 .irq_disable = octeon_irq_ciu_disable_all,
794 .irq_ack = octeon_irq_ciu_disable_local,
795 .irq_eoi = octeon_irq_ciu_enable_local,
769 796
770 .irq_cpu_online = octeon_irq_ciu_enable_local, 797 .irq_cpu_online = octeon_irq_ciu_enable_local,
771 .irq_cpu_offline = octeon_irq_ciu_disable_local, 798 .irq_cpu_offline = octeon_irq_ciu_disable_local,
@@ -790,7 +817,8 @@ static struct irq_chip octeon_irq_chip_ciu_gpio = {
790 .name = "CIU-GPIO", 817 .name = "CIU-GPIO",
791 .irq_enable = octeon_irq_ciu_enable_gpio, 818 .irq_enable = octeon_irq_ciu_enable_gpio,
792 .irq_disable = octeon_irq_ciu_disable_gpio, 819 .irq_disable = octeon_irq_ciu_disable_gpio,
793 .irq_mask = octeon_irq_dummy_mask, 820 .irq_mask = octeon_irq_ciu_disable_local,
821 .irq_unmask = octeon_irq_ciu_enable,
794 .irq_ack = octeon_irq_ciu_gpio_ack, 822 .irq_ack = octeon_irq_ciu_gpio_ack,
795 .irq_set_type = octeon_irq_ciu_gpio_set_type, 823 .irq_set_type = octeon_irq_ciu_gpio_set_type,
796#ifdef CONFIG_SMP 824#ifdef CONFIG_SMP
@@ -809,12 +837,18 @@ static void octeon_irq_ciu_wd_enable(struct irq_data *data)
809 unsigned long *pen; 837 unsigned long *pen;
810 int coreid = data->irq - OCTEON_IRQ_WDOG0; /* Bit 0-63 of EN1 */ 838 int coreid = data->irq - OCTEON_IRQ_WDOG0; /* Bit 0-63 of EN1 */
811 int cpu = octeon_cpu_for_coreid(coreid); 839 int cpu = octeon_cpu_for_coreid(coreid);
840 raw_spinlock_t *lock = &per_cpu(octeon_irq_ciu_spinlock, cpu);
812 841
813 raw_spin_lock_irqsave(&octeon_irq_ciu1_lock, flags); 842 raw_spin_lock_irqsave(lock, flags);
814 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu); 843 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu);
815 set_bit(coreid, pen); 844 __set_bit(coreid, pen);
845 /*
846 * Must be visible to octeon_irq_ip{2,3}_ciu() before enabling
847 * the irq.
848 */
849 wmb();
816 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen); 850 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen);
817 raw_spin_unlock_irqrestore(&octeon_irq_ciu1_lock, flags); 851 raw_spin_unlock_irqrestore(lock, flags);
818} 852}
819 853
820/* 854/*
@@ -843,7 +877,8 @@ static struct irq_chip octeon_irq_chip_ciu_wd = {
843 .name = "CIU-W", 877 .name = "CIU-W",
844 .irq_enable = octeon_irq_ciu_wd_enable, 878 .irq_enable = octeon_irq_ciu_wd_enable,
845 .irq_disable = octeon_irq_ciu_disable_all, 879 .irq_disable = octeon_irq_ciu_disable_all,
846 .irq_mask = octeon_irq_dummy_mask, 880 .irq_mask = octeon_irq_ciu_disable_local,
881 .irq_unmask = octeon_irq_ciu_enable_local,
847}; 882};
848 883
849static bool octeon_irq_ciu_is_edge(unsigned int line, unsigned int bit) 884static bool octeon_irq_ciu_is_edge(unsigned int line, unsigned int bit)
@@ -976,19 +1011,20 @@ static int octeon_irq_ciu_map(struct irq_domain *d,
976 return -EINVAL; 1011 return -EINVAL;
977 1012
978 if (octeon_irq_ciu_is_edge(line, bit)) 1013 if (octeon_irq_ciu_is_edge(line, bit))
979 octeon_irq_set_ciu_mapping(virq, line, bit, 1014 octeon_irq_set_ciu_mapping(virq, line, bit, 0,
980 octeon_irq_ciu_chip, 1015 octeon_irq_ciu_chip,
981 handle_edge_irq); 1016 handle_edge_irq);
982 else 1017 else
983 octeon_irq_set_ciu_mapping(virq, line, bit, 1018 octeon_irq_set_ciu_mapping(virq, line, bit, 0,
984 octeon_irq_ciu_chip, 1019 octeon_irq_ciu_chip,
985 handle_level_irq); 1020 handle_level_irq);
986 1021
987 return 0; 1022 return 0;
988} 1023}
989 1024
990static int octeon_irq_gpio_map(struct irq_domain *d, 1025static int octeon_irq_gpio_map_common(struct irq_domain *d,
991 unsigned int virq, irq_hw_number_t hw) 1026 unsigned int virq, irq_hw_number_t hw,
1027 int line_limit, struct irq_chip *chip)
992{ 1028{
993 struct octeon_irq_gpio_domain_data *gpiod = d->host_data; 1029 struct octeon_irq_gpio_domain_data *gpiod = d->host_data;
994 unsigned int line, bit; 1030 unsigned int line, bit;
@@ -999,15 +1035,20 @@ static int octeon_irq_gpio_map(struct irq_domain *d,
999 hw += gpiod->base_hwirq; 1035 hw += gpiod->base_hwirq;
1000 line = hw >> 6; 1036 line = hw >> 6;
1001 bit = hw & 63; 1037 bit = hw & 63;
1002 if (line > 1 || octeon_irq_ciu_to_irq[line][bit] != 0) 1038 if (line > line_limit || octeon_irq_ciu_to_irq[line][bit] != 0)
1003 return -EINVAL; 1039 return -EINVAL;
1004 1040
1005 octeon_irq_set_ciu_mapping(virq, line, bit, 1041 octeon_irq_set_ciu_mapping(virq, line, bit, hw,
1006 octeon_irq_gpio_chip, 1042 chip, octeon_irq_handle_gpio);
1007 octeon_irq_handle_gpio);
1008 return 0; 1043 return 0;
1009} 1044}
1010 1045
1046static int octeon_irq_gpio_map(struct irq_domain *d,
1047 unsigned int virq, irq_hw_number_t hw)
1048{
1049 return octeon_irq_gpio_map_common(d, virq, hw, 1, octeon_irq_gpio_chip);
1050}
1051
1011static struct irq_domain_ops octeon_irq_domain_ciu_ops = { 1052static struct irq_domain_ops octeon_irq_domain_ciu_ops = {
1012 .map = octeon_irq_ciu_map, 1053 .map = octeon_irq_ciu_map,
1013 .xlate = octeon_irq_ciu_xlat, 1054 .xlate = octeon_irq_ciu_xlat,
@@ -1018,13 +1059,12 @@ static struct irq_domain_ops octeon_irq_domain_gpio_ops = {
1018 .xlate = octeon_irq_gpio_xlat, 1059 .xlate = octeon_irq_gpio_xlat,
1019}; 1060};
1020 1061
1021static void octeon_irq_ip2_v1(void) 1062static void octeon_irq_ip2_ciu(void)
1022{ 1063{
1023 const unsigned long core_id = cvmx_get_core_num(); 1064 const unsigned long core_id = cvmx_get_core_num();
1024 u64 ciu_sum = cvmx_read_csr(CVMX_CIU_INTX_SUM0(core_id * 2)); 1065 u64 ciu_sum = cvmx_read_csr(CVMX_CIU_INTX_SUM0(core_id * 2));
1025 1066
1026 ciu_sum &= __get_cpu_var(octeon_irq_ciu0_en_mirror); 1067 ciu_sum &= __get_cpu_var(octeon_irq_ciu0_en_mirror);
1027 clear_c0_status(STATUSF_IP2);
1028 if (likely(ciu_sum)) { 1068 if (likely(ciu_sum)) {
1029 int bit = fls64(ciu_sum) - 1; 1069 int bit = fls64(ciu_sum) - 1;
1030 int irq = octeon_irq_ciu_to_irq[0][bit]; 1070 int irq = octeon_irq_ciu_to_irq[0][bit];
@@ -1035,32 +1075,13 @@ static void octeon_irq_ip2_v1(void)
1035 } else { 1075 } else {
1036 spurious_interrupt(); 1076 spurious_interrupt();
1037 } 1077 }
1038 set_c0_status(STATUSF_IP2);
1039} 1078}
1040 1079
1041static void octeon_irq_ip2_v2(void) 1080static void octeon_irq_ip3_ciu(void)
1042{
1043 const unsigned long core_id = cvmx_get_core_num();
1044 u64 ciu_sum = cvmx_read_csr(CVMX_CIU_INTX_SUM0(core_id * 2));
1045
1046 ciu_sum &= __get_cpu_var(octeon_irq_ciu0_en_mirror);
1047 if (likely(ciu_sum)) {
1048 int bit = fls64(ciu_sum) - 1;
1049 int irq = octeon_irq_ciu_to_irq[0][bit];
1050 if (likely(irq))
1051 do_IRQ(irq);
1052 else
1053 spurious_interrupt();
1054 } else {
1055 spurious_interrupt();
1056 }
1057}
1058static void octeon_irq_ip3_v1(void)
1059{ 1081{
1060 u64 ciu_sum = cvmx_read_csr(CVMX_CIU_INT_SUM1); 1082 u64 ciu_sum = cvmx_read_csr(CVMX_CIU_INT_SUM1);
1061 1083
1062 ciu_sum &= __get_cpu_var(octeon_irq_ciu1_en_mirror); 1084 ciu_sum &= __get_cpu_var(octeon_irq_ciu1_en_mirror);
1063 clear_c0_status(STATUSF_IP3);
1064 if (likely(ciu_sum)) { 1085 if (likely(ciu_sum)) {
1065 int bit = fls64(ciu_sum) - 1; 1086 int bit = fls64(ciu_sum) - 1;
1066 int irq = octeon_irq_ciu_to_irq[1][bit]; 1087 int irq = octeon_irq_ciu_to_irq[1][bit];
@@ -1071,24 +1092,13 @@ static void octeon_irq_ip3_v1(void)
1071 } else { 1092 } else {
1072 spurious_interrupt(); 1093 spurious_interrupt();
1073 } 1094 }
1074 set_c0_status(STATUSF_IP3);
1075} 1095}
1076 1096
1077static void octeon_irq_ip3_v2(void) 1097static bool octeon_irq_use_ip4;
1078{
1079 u64 ciu_sum = cvmx_read_csr(CVMX_CIU_INT_SUM1);
1080 1098
1081 ciu_sum &= __get_cpu_var(octeon_irq_ciu1_en_mirror); 1099static void __cpuinit octeon_irq_local_enable_ip4(void *arg)
1082 if (likely(ciu_sum)) { 1100{
1083 int bit = fls64(ciu_sum) - 1; 1101 set_c0_status(STATUSF_IP4);
1084 int irq = octeon_irq_ciu_to_irq[1][bit];
1085 if (likely(irq))
1086 do_IRQ(irq);
1087 else
1088 spurious_interrupt();
1089 } else {
1090 spurious_interrupt();
1091 }
1092} 1102}
1093 1103
1094static void octeon_irq_ip4_mask(void) 1104static void octeon_irq_ip4_mask(void)
@@ -1103,6 +1113,13 @@ static void (*octeon_irq_ip4)(void);
1103 1113
1104void __cpuinitdata (*octeon_irq_setup_secondary)(void); 1114void __cpuinitdata (*octeon_irq_setup_secondary)(void);
1105 1115
1116void __cpuinit octeon_irq_set_ip4_handler(octeon_irq_ip4_handler_t h)
1117{
1118 octeon_irq_ip4 = h;
1119 octeon_irq_use_ip4 = true;
1120 on_each_cpu(octeon_irq_local_enable_ip4, NULL, 1);
1121}
1122
1106static void __cpuinit octeon_irq_percpu_enable(void) 1123static void __cpuinit octeon_irq_percpu_enable(void)
1107{ 1124{
1108 irq_cpu_online(); 1125 irq_cpu_online();
@@ -1111,6 +1128,12 @@ static void __cpuinit octeon_irq_percpu_enable(void)
1111static void __cpuinit octeon_irq_init_ciu_percpu(void) 1128static void __cpuinit octeon_irq_init_ciu_percpu(void)
1112{ 1129{
1113 int coreid = cvmx_get_core_num(); 1130 int coreid = cvmx_get_core_num();
1131
1132
1133 __get_cpu_var(octeon_irq_ciu0_en_mirror) = 0;
1134 __get_cpu_var(octeon_irq_ciu1_en_mirror) = 0;
1135 wmb();
1136 raw_spin_lock_init(&__get_cpu_var(octeon_irq_ciu_spinlock));
1114 /* 1137 /*
1115 * Disable All CIU Interrupts. The ones we need will be 1138 * Disable All CIU Interrupts. The ones we need will be
1116 * enabled later. Read the SUM register so we know the write 1139 * enabled later. Read the SUM register so we know the write
@@ -1123,12 +1146,30 @@ static void __cpuinit octeon_irq_init_ciu_percpu(void)
1123 cvmx_read_csr(CVMX_CIU_INTX_SUM0((coreid * 2))); 1146 cvmx_read_csr(CVMX_CIU_INTX_SUM0((coreid * 2)));
1124} 1147}
1125 1148
1126static void __cpuinit octeon_irq_setup_secondary_ciu(void) 1149static void octeon_irq_init_ciu2_percpu(void)
1127{ 1150{
1151 u64 regx, ipx;
1152 int coreid = cvmx_get_core_num();
1153 u64 base = CVMX_CIU2_EN_PPX_IP2_WRKQ(coreid);
1128 1154
1129 __get_cpu_var(octeon_irq_ciu0_en_mirror) = 0; 1155 /*
1130 __get_cpu_var(octeon_irq_ciu1_en_mirror) = 0; 1156 * Disable All CIU2 Interrupts. The ones we need will be
1157 * enabled later. Read the SUM register so we know the write
1158 * completed.
1159 *
1160 * There are 9 registers and 3 IPX levels with strides 0x1000
1161 * and 0x200 respectivly. Use loops to clear them.
1162 */
1163 for (regx = 0; regx <= 0x8000; regx += 0x1000) {
1164 for (ipx = 0; ipx <= 0x400; ipx += 0x200)
1165 cvmx_write_csr(base + regx + ipx, 0);
1166 }
1131 1167
1168 cvmx_read_csr(CVMX_CIU2_SUM_PPX_IP2(coreid));
1169}
1170
1171static void __cpuinit octeon_irq_setup_secondary_ciu(void)
1172{
1132 octeon_irq_init_ciu_percpu(); 1173 octeon_irq_init_ciu_percpu();
1133 octeon_irq_percpu_enable(); 1174 octeon_irq_percpu_enable();
1134 1175
@@ -1137,6 +1178,19 @@ static void __cpuinit octeon_irq_setup_secondary_ciu(void)
1137 clear_c0_status(STATUSF_IP4); 1178 clear_c0_status(STATUSF_IP4);
1138} 1179}
1139 1180
1181static void octeon_irq_setup_secondary_ciu2(void)
1182{
1183 octeon_irq_init_ciu2_percpu();
1184 octeon_irq_percpu_enable();
1185
1186 /* Enable the CIU lines */
1187 set_c0_status(STATUSF_IP3 | STATUSF_IP2);
1188 if (octeon_irq_use_ip4)
1189 set_c0_status(STATUSF_IP4);
1190 else
1191 clear_c0_status(STATUSF_IP4);
1192}
1193
1140static void __init octeon_irq_init_ciu(void) 1194static void __init octeon_irq_init_ciu(void)
1141{ 1195{
1142 unsigned int i; 1196 unsigned int i;
@@ -1150,19 +1204,17 @@ static void __init octeon_irq_init_ciu(void)
1150 octeon_irq_init_ciu_percpu(); 1204 octeon_irq_init_ciu_percpu();
1151 octeon_irq_setup_secondary = octeon_irq_setup_secondary_ciu; 1205 octeon_irq_setup_secondary = octeon_irq_setup_secondary_ciu;
1152 1206
1207 octeon_irq_ip2 = octeon_irq_ip2_ciu;
1208 octeon_irq_ip3 = octeon_irq_ip3_ciu;
1153 if (OCTEON_IS_MODEL(OCTEON_CN58XX_PASS2_X) || 1209 if (OCTEON_IS_MODEL(OCTEON_CN58XX_PASS2_X) ||
1154 OCTEON_IS_MODEL(OCTEON_CN56XX_PASS2_X) || 1210 OCTEON_IS_MODEL(OCTEON_CN56XX_PASS2_X) ||
1155 OCTEON_IS_MODEL(OCTEON_CN52XX_PASS2_X) || 1211 OCTEON_IS_MODEL(OCTEON_CN52XX_PASS2_X) ||
1156 OCTEON_IS_MODEL(OCTEON_CN6XXX)) { 1212 OCTEON_IS_MODEL(OCTEON_CN6XXX)) {
1157 octeon_irq_ip2 = octeon_irq_ip2_v2;
1158 octeon_irq_ip3 = octeon_irq_ip3_v2;
1159 chip = &octeon_irq_chip_ciu_v2; 1213 chip = &octeon_irq_chip_ciu_v2;
1160 chip_mbox = &octeon_irq_chip_ciu_mbox_v2; 1214 chip_mbox = &octeon_irq_chip_ciu_mbox_v2;
1161 chip_wd = &octeon_irq_chip_ciu_wd_v2; 1215 chip_wd = &octeon_irq_chip_ciu_wd_v2;
1162 octeon_irq_gpio_chip = &octeon_irq_chip_ciu_gpio_v2; 1216 octeon_irq_gpio_chip = &octeon_irq_chip_ciu_gpio_v2;
1163 } else { 1217 } else {
1164 octeon_irq_ip2 = octeon_irq_ip2_v1;
1165 octeon_irq_ip3 = octeon_irq_ip3_v1;
1166 chip = &octeon_irq_chip_ciu; 1218 chip = &octeon_irq_chip_ciu;
1167 chip_mbox = &octeon_irq_chip_ciu_mbox; 1219 chip_mbox = &octeon_irq_chip_ciu_mbox;
1168 chip_wd = &octeon_irq_chip_ciu_wd; 1220 chip_wd = &octeon_irq_chip_ciu_wd;
@@ -1192,6 +1244,7 @@ static void __init octeon_irq_init_ciu(void)
1192 ciu_node = of_find_compatible_node(NULL, NULL, "cavium,octeon-3860-ciu"); 1244 ciu_node = of_find_compatible_node(NULL, NULL, "cavium,octeon-3860-ciu");
1193 if (ciu_node) { 1245 if (ciu_node) {
1194 ciu_domain = irq_domain_add_tree(ciu_node, &octeon_irq_domain_ciu_ops, NULL); 1246 ciu_domain = irq_domain_add_tree(ciu_node, &octeon_irq_domain_ciu_ops, NULL);
1247 irq_set_default_host(ciu_domain);
1195 of_node_put(ciu_node); 1248 of_node_put(ciu_node);
1196 } else 1249 } else
1197 panic("Cannot find device node for cavium,octeon-3860-ciu."); 1250 panic("Cannot find device node for cavium,octeon-3860-ciu.");
@@ -1200,8 +1253,8 @@ static void __init octeon_irq_init_ciu(void)
1200 for (i = 0; i < 16; i++) 1253 for (i = 0; i < 16; i++)
1201 octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_WORKQ0, 0, i + 0); 1254 octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_WORKQ0, 0, i + 0);
1202 1255
1203 octeon_irq_set_ciu_mapping(OCTEON_IRQ_MBOX0, 0, 32, chip_mbox, handle_percpu_irq); 1256 octeon_irq_set_ciu_mapping(OCTEON_IRQ_MBOX0, 0, 32, 0, chip_mbox, handle_percpu_irq);
1204 octeon_irq_set_ciu_mapping(OCTEON_IRQ_MBOX1, 0, 33, chip_mbox, handle_percpu_irq); 1257 octeon_irq_set_ciu_mapping(OCTEON_IRQ_MBOX1, 0, 33, 0, chip_mbox, handle_percpu_irq);
1205 1258
1206 for (i = 0; i < 4; i++) 1259 for (i = 0; i < 4; i++)
1207 octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_PCI_INT0, 0, i + 36); 1260 octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_PCI_INT0, 0, i + 36);
@@ -1217,7 +1270,7 @@ static void __init octeon_irq_init_ciu(void)
1217 1270
1218 /* CIU_1 */ 1271 /* CIU_1 */
1219 for (i = 0; i < 16; i++) 1272 for (i = 0; i < 16; i++)
1220 octeon_irq_set_ciu_mapping(i + OCTEON_IRQ_WDOG0, 1, i + 0, chip_wd, handle_level_irq); 1273 octeon_irq_set_ciu_mapping(i + OCTEON_IRQ_WDOG0, 1, i + 0, 0, chip_wd, handle_level_irq);
1221 1274
1222 octeon_irq_force_ciu_mapping(ciu_domain, OCTEON_IRQ_USB1, 1, 17); 1275 octeon_irq_force_ciu_mapping(ciu_domain, OCTEON_IRQ_USB1, 1, 17);
1223 1276
@@ -1226,6 +1279,466 @@ static void __init octeon_irq_init_ciu(void)
1226 clear_c0_status(STATUSF_IP4); 1279 clear_c0_status(STATUSF_IP4);
1227} 1280}
1228 1281
1282/*
1283 * Watchdog interrupts are special. They are associated with a single
1284 * core, so we hardwire the affinity to that core.
1285 */
1286static void octeon_irq_ciu2_wd_enable(struct irq_data *data)
1287{
1288 u64 mask;
1289 u64 en_addr;
1290 int coreid = data->irq - OCTEON_IRQ_WDOG0;
1291 union octeon_ciu_chip_data cd;
1292
1293 cd.p = irq_data_get_irq_chip_data(data);
1294 mask = 1ull << (cd.s.bit);
1295
1296 en_addr = CVMX_CIU2_EN_PPX_IP2_WRKQ_W1S(coreid) + (0x1000ull * cd.s.line);
1297 cvmx_write_csr(en_addr, mask);
1298
1299}
1300
1301static void octeon_irq_ciu2_enable(struct irq_data *data)
1302{
1303 u64 mask;
1304 u64 en_addr;
1305 int cpu = next_cpu_for_irq(data);
1306 int coreid = octeon_coreid_for_cpu(cpu);
1307 union octeon_ciu_chip_data cd;
1308
1309 cd.p = irq_data_get_irq_chip_data(data);
1310 mask = 1ull << (cd.s.bit);
1311
1312 en_addr = CVMX_CIU2_EN_PPX_IP2_WRKQ_W1S(coreid) + (0x1000ull * cd.s.line);
1313 cvmx_write_csr(en_addr, mask);
1314}
1315
1316static void octeon_irq_ciu2_enable_local(struct irq_data *data)
1317{
1318 u64 mask;
1319 u64 en_addr;
1320 int coreid = cvmx_get_core_num();
1321 union octeon_ciu_chip_data cd;
1322
1323 cd.p = irq_data_get_irq_chip_data(data);
1324 mask = 1ull << (cd.s.bit);
1325
1326 en_addr = CVMX_CIU2_EN_PPX_IP2_WRKQ_W1S(coreid) + (0x1000ull * cd.s.line);
1327 cvmx_write_csr(en_addr, mask);
1328
1329}
1330
1331static void octeon_irq_ciu2_disable_local(struct irq_data *data)
1332{
1333 u64 mask;
1334 u64 en_addr;
1335 int coreid = cvmx_get_core_num();
1336 union octeon_ciu_chip_data cd;
1337
1338 cd.p = irq_data_get_irq_chip_data(data);
1339 mask = 1ull << (cd.s.bit);
1340
1341 en_addr = CVMX_CIU2_EN_PPX_IP2_WRKQ_W1C(coreid) + (0x1000ull * cd.s.line);
1342 cvmx_write_csr(en_addr, mask);
1343
1344}
1345
1346static void octeon_irq_ciu2_ack(struct irq_data *data)
1347{
1348 u64 mask;
1349 u64 en_addr;
1350 int coreid = cvmx_get_core_num();
1351 union octeon_ciu_chip_data cd;
1352
1353 cd.p = irq_data_get_irq_chip_data(data);
1354 mask = 1ull << (cd.s.bit);
1355
1356 en_addr = CVMX_CIU2_RAW_PPX_IP2_WRKQ(coreid) + (0x1000ull * cd.s.line);
1357 cvmx_write_csr(en_addr, mask);
1358
1359}
1360
1361static void octeon_irq_ciu2_disable_all(struct irq_data *data)
1362{
1363 int cpu;
1364 u64 mask;
1365 union octeon_ciu_chip_data cd;
1366
1367 cd.p = irq_data_get_irq_chip_data(data);
1368 mask = 1ull << (cd.s.bit);
1369
1370 for_each_online_cpu(cpu) {
1371 u64 en_addr = CVMX_CIU2_EN_PPX_IP2_WRKQ_W1C(octeon_coreid_for_cpu(cpu)) + (0x1000ull * cd.s.line);
1372 cvmx_write_csr(en_addr, mask);
1373 }
1374}
1375
1376static void octeon_irq_ciu2_mbox_enable_all(struct irq_data *data)
1377{
1378 int cpu;
1379 u64 mask;
1380
1381 mask = 1ull << (data->irq - OCTEON_IRQ_MBOX0);
1382
1383 for_each_online_cpu(cpu) {
1384 u64 en_addr = CVMX_CIU2_EN_PPX_IP3_MBOX_W1S(octeon_coreid_for_cpu(cpu));
1385 cvmx_write_csr(en_addr, mask);
1386 }
1387}
1388
1389static void octeon_irq_ciu2_mbox_disable_all(struct irq_data *data)
1390{
1391 int cpu;
1392 u64 mask;
1393
1394 mask = 1ull << (data->irq - OCTEON_IRQ_MBOX0);
1395
1396 for_each_online_cpu(cpu) {
1397 u64 en_addr = CVMX_CIU2_EN_PPX_IP3_MBOX_W1C(octeon_coreid_for_cpu(cpu));
1398 cvmx_write_csr(en_addr, mask);
1399 }
1400}
1401
1402static void octeon_irq_ciu2_mbox_enable_local(struct irq_data *data)
1403{
1404 u64 mask;
1405 u64 en_addr;
1406 int coreid = cvmx_get_core_num();
1407
1408 mask = 1ull << (data->irq - OCTEON_IRQ_MBOX0);
1409 en_addr = CVMX_CIU2_EN_PPX_IP3_MBOX_W1S(coreid);
1410 cvmx_write_csr(en_addr, mask);
1411}
1412
1413static void octeon_irq_ciu2_mbox_disable_local(struct irq_data *data)
1414{
1415 u64 mask;
1416 u64 en_addr;
1417 int coreid = cvmx_get_core_num();
1418
1419 mask = 1ull << (data->irq - OCTEON_IRQ_MBOX0);
1420 en_addr = CVMX_CIU2_EN_PPX_IP3_MBOX_W1C(coreid);
1421 cvmx_write_csr(en_addr, mask);
1422}
1423
1424#ifdef CONFIG_SMP
1425static int octeon_irq_ciu2_set_affinity(struct irq_data *data,
1426 const struct cpumask *dest, bool force)
1427{
1428 int cpu;
1429 bool enable_one = !irqd_irq_disabled(data) && !irqd_irq_masked(data);
1430 u64 mask;
1431 union octeon_ciu_chip_data cd;
1432
1433 if (!enable_one)
1434 return 0;
1435
1436 cd.p = irq_data_get_irq_chip_data(data);
1437 mask = 1ull << cd.s.bit;
1438
1439 for_each_online_cpu(cpu) {
1440 u64 en_addr;
1441 if (cpumask_test_cpu(cpu, dest) && enable_one) {
1442 enable_one = false;
1443 en_addr = CVMX_CIU2_EN_PPX_IP2_WRKQ_W1S(octeon_coreid_for_cpu(cpu)) + (0x1000ull * cd.s.line);
1444 } else {
1445 en_addr = CVMX_CIU2_EN_PPX_IP2_WRKQ_W1C(octeon_coreid_for_cpu(cpu)) + (0x1000ull * cd.s.line);
1446 }
1447 cvmx_write_csr(en_addr, mask);
1448 }
1449
1450 return 0;
1451}
1452#endif
1453
1454static void octeon_irq_ciu2_enable_gpio(struct irq_data *data)
1455{
1456 octeon_irq_gpio_setup(data);
1457 octeon_irq_ciu2_enable(data);
1458}
1459
1460static void octeon_irq_ciu2_disable_gpio(struct irq_data *data)
1461{
1462 union octeon_ciu_chip_data cd;
1463 cd.p = irq_data_get_irq_chip_data(data);
1464
1465 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd.s.gpio_line), 0);
1466
1467 octeon_irq_ciu2_disable_all(data);
1468}
1469
1470static struct irq_chip octeon_irq_chip_ciu2 = {
1471 .name = "CIU2-E",
1472 .irq_enable = octeon_irq_ciu2_enable,
1473 .irq_disable = octeon_irq_ciu2_disable_all,
1474 .irq_ack = octeon_irq_ciu2_ack,
1475 .irq_mask = octeon_irq_ciu2_disable_local,
1476 .irq_unmask = octeon_irq_ciu2_enable,
1477#ifdef CONFIG_SMP
1478 .irq_set_affinity = octeon_irq_ciu2_set_affinity,
1479 .irq_cpu_offline = octeon_irq_cpu_offline_ciu,
1480#endif
1481};
1482
1483static struct irq_chip octeon_irq_chip_ciu2_mbox = {
1484 .name = "CIU2-M",
1485 .irq_enable = octeon_irq_ciu2_mbox_enable_all,
1486 .irq_disable = octeon_irq_ciu2_mbox_disable_all,
1487 .irq_ack = octeon_irq_ciu2_mbox_disable_local,
1488 .irq_eoi = octeon_irq_ciu2_mbox_enable_local,
1489
1490 .irq_cpu_online = octeon_irq_ciu2_mbox_enable_local,
1491 .irq_cpu_offline = octeon_irq_ciu2_mbox_disable_local,
1492 .flags = IRQCHIP_ONOFFLINE_ENABLED,
1493};
1494
1495static struct irq_chip octeon_irq_chip_ciu2_wd = {
1496 .name = "CIU2-W",
1497 .irq_enable = octeon_irq_ciu2_wd_enable,
1498 .irq_disable = octeon_irq_ciu2_disable_all,
1499 .irq_mask = octeon_irq_ciu2_disable_local,
1500 .irq_unmask = octeon_irq_ciu2_enable_local,
1501};
1502
1503static struct irq_chip octeon_irq_chip_ciu2_gpio = {
1504 .name = "CIU-GPIO",
1505 .irq_enable = octeon_irq_ciu2_enable_gpio,
1506 .irq_disable = octeon_irq_ciu2_disable_gpio,
1507 .irq_ack = octeon_irq_ciu_gpio_ack,
1508 .irq_mask = octeon_irq_ciu2_disable_local,
1509 .irq_unmask = octeon_irq_ciu2_enable,
1510 .irq_set_type = octeon_irq_ciu_gpio_set_type,
1511#ifdef CONFIG_SMP
1512 .irq_set_affinity = octeon_irq_ciu2_set_affinity,
1513 .irq_cpu_offline = octeon_irq_cpu_offline_ciu,
1514#endif
1515 .flags = IRQCHIP_SET_TYPE_MASKED,
1516};
1517
1518static int octeon_irq_ciu2_xlat(struct irq_domain *d,
1519 struct device_node *node,
1520 const u32 *intspec,
1521 unsigned int intsize,
1522 unsigned long *out_hwirq,
1523 unsigned int *out_type)
1524{
1525 unsigned int ciu, bit;
1526
1527 ciu = intspec[0];
1528 bit = intspec[1];
1529
1530 /* Line 7 are the GPIO lines */
1531 if (ciu > 6 || bit > 63)
1532 return -EINVAL;
1533
1534 *out_hwirq = (ciu << 6) | bit;
1535 *out_type = 0;
1536
1537 return 0;
1538}
1539
1540static bool octeon_irq_ciu2_is_edge(unsigned int line, unsigned int bit)
1541{
1542 bool edge = false;
1543
1544 if (line == 3) /* MIO */
1545 switch (bit) {
1546 case 2: /* IPD_DRP */
1547 case 8 ... 11: /* Timers */
1548 case 48: /* PTP */
1549 edge = true;
1550 break;
1551 default:
1552 break;
1553 }
1554 else if (line == 6) /* PKT */
1555 switch (bit) {
1556 case 52 ... 53: /* ILK_DRP */
1557 case 8 ... 12: /* GMX_DRP */
1558 edge = true;
1559 break;
1560 default:
1561 break;
1562 }
1563 return edge;
1564}
1565
1566static int octeon_irq_ciu2_map(struct irq_domain *d,
1567 unsigned int virq, irq_hw_number_t hw)
1568{
1569 unsigned int line = hw >> 6;
1570 unsigned int bit = hw & 63;
1571
1572 if (!octeon_irq_virq_in_range(virq))
1573 return -EINVAL;
1574
1575 /* Line 7 are the GPIO lines */
1576 if (line > 6 || octeon_irq_ciu_to_irq[line][bit] != 0)
1577 return -EINVAL;
1578
1579 if (octeon_irq_ciu2_is_edge(line, bit))
1580 octeon_irq_set_ciu_mapping(virq, line, bit, 0,
1581 &octeon_irq_chip_ciu2,
1582 handle_edge_irq);
1583 else
1584 octeon_irq_set_ciu_mapping(virq, line, bit, 0,
1585 &octeon_irq_chip_ciu2,
1586 handle_level_irq);
1587
1588 return 0;
1589}
1590static int octeon_irq_ciu2_gpio_map(struct irq_domain *d,
1591 unsigned int virq, irq_hw_number_t hw)
1592{
1593 return octeon_irq_gpio_map_common(d, virq, hw, 7, &octeon_irq_chip_ciu2_gpio);
1594}
1595
1596static struct irq_domain_ops octeon_irq_domain_ciu2_ops = {
1597 .map = octeon_irq_ciu2_map,
1598 .xlate = octeon_irq_ciu2_xlat,
1599};
1600
1601static struct irq_domain_ops octeon_irq_domain_ciu2_gpio_ops = {
1602 .map = octeon_irq_ciu2_gpio_map,
1603 .xlate = octeon_irq_gpio_xlat,
1604};
1605
1606static void octeon_irq_ciu2(void)
1607{
1608 int line;
1609 int bit;
1610 int irq;
1611 u64 src_reg, src, sum;
1612 const unsigned long core_id = cvmx_get_core_num();
1613
1614 sum = cvmx_read_csr(CVMX_CIU2_SUM_PPX_IP2(core_id)) & 0xfful;
1615
1616 if (unlikely(!sum))
1617 goto spurious;
1618
1619 line = fls64(sum) - 1;
1620 src_reg = CVMX_CIU2_SRC_PPX_IP2_WRKQ(core_id) + (0x1000 * line);
1621 src = cvmx_read_csr(src_reg);
1622
1623 if (unlikely(!src))
1624 goto spurious;
1625
1626 bit = fls64(src) - 1;
1627 irq = octeon_irq_ciu_to_irq[line][bit];
1628 if (unlikely(!irq))
1629 goto spurious;
1630
1631 do_IRQ(irq);
1632 goto out;
1633
1634spurious:
1635 spurious_interrupt();
1636out:
1637 /* CN68XX pass 1.x has an errata that accessing the ACK registers
1638 can stop interrupts from propagating */
1639 if (OCTEON_IS_MODEL(OCTEON_CN68XX))
1640 cvmx_read_csr(CVMX_CIU2_INTR_CIU_READY);
1641 else
1642 cvmx_read_csr(CVMX_CIU2_ACK_PPX_IP2(core_id));
1643 return;
1644}
1645
1646static void octeon_irq_ciu2_mbox(void)
1647{
1648 int line;
1649
1650 const unsigned long core_id = cvmx_get_core_num();
1651 u64 sum = cvmx_read_csr(CVMX_CIU2_SUM_PPX_IP3(core_id)) >> 60;
1652
1653 if (unlikely(!sum))
1654 goto spurious;
1655
1656 line = fls64(sum) - 1;
1657
1658 do_IRQ(OCTEON_IRQ_MBOX0 + line);
1659 goto out;
1660
1661spurious:
1662 spurious_interrupt();
1663out:
1664 /* CN68XX pass 1.x has an errata that accessing the ACK registers
1665 can stop interrupts from propagating */
1666 if (OCTEON_IS_MODEL(OCTEON_CN68XX))
1667 cvmx_read_csr(CVMX_CIU2_INTR_CIU_READY);
1668 else
1669 cvmx_read_csr(CVMX_CIU2_ACK_PPX_IP3(core_id));
1670 return;
1671}
1672
1673static void __init octeon_irq_init_ciu2(void)
1674{
1675 unsigned int i;
1676 struct device_node *gpio_node;
1677 struct device_node *ciu_node;
1678 struct irq_domain *ciu_domain = NULL;
1679
1680 octeon_irq_init_ciu2_percpu();
1681 octeon_irq_setup_secondary = octeon_irq_setup_secondary_ciu2;
1682
1683 octeon_irq_ip2 = octeon_irq_ciu2;
1684 octeon_irq_ip3 = octeon_irq_ciu2_mbox;
1685 octeon_irq_ip4 = octeon_irq_ip4_mask;
1686
1687 /* Mips internal */
1688 octeon_irq_init_core();
1689
1690 gpio_node = of_find_compatible_node(NULL, NULL, "cavium,octeon-3860-gpio");
1691 if (gpio_node) {
1692 struct octeon_irq_gpio_domain_data *gpiod;
1693
1694 gpiod = kzalloc(sizeof(*gpiod), GFP_KERNEL);
1695 if (gpiod) {
1696 /* gpio domain host_data is the base hwirq number. */
1697 gpiod->base_hwirq = 7 << 6;
1698 irq_domain_add_linear(gpio_node, 16, &octeon_irq_domain_ciu2_gpio_ops, gpiod);
1699 of_node_put(gpio_node);
1700 } else
1701 pr_warn("Cannot allocate memory for GPIO irq_domain.\n");
1702 } else
1703 pr_warn("Cannot find device node for cavium,octeon-3860-gpio.\n");
1704
1705 ciu_node = of_find_compatible_node(NULL, NULL, "cavium,octeon-6880-ciu2");
1706 if (ciu_node) {
1707 ciu_domain = irq_domain_add_tree(ciu_node, &octeon_irq_domain_ciu2_ops, NULL);
1708 irq_set_default_host(ciu_domain);
1709 of_node_put(ciu_node);
1710 } else
1711 panic("Cannot find device node for cavium,octeon-6880-ciu2.");
1712
1713 /* CUI2 */
1714 for (i = 0; i < 64; i++)
1715 octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_WORKQ0, 0, i);
1716
1717 for (i = 0; i < 32; i++)
1718 octeon_irq_set_ciu_mapping(i + OCTEON_IRQ_WDOG0, 1, i, 0,
1719 &octeon_irq_chip_ciu2_wd, handle_level_irq);
1720
1721 for (i = 0; i < 4; i++)
1722 octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_TIMER0, 3, i + 8);
1723
1724 octeon_irq_force_ciu_mapping(ciu_domain, OCTEON_IRQ_USB0, 3, 44);
1725
1726 for (i = 0; i < 4; i++)
1727 octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_PCI_INT0, 4, i);
1728
1729 for (i = 0; i < 4; i++)
1730 octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_PCI_MSI0, 4, i + 8);
1731
1732 irq_set_chip_and_handler(OCTEON_IRQ_MBOX0, &octeon_irq_chip_ciu2_mbox, handle_percpu_irq);
1733 irq_set_chip_and_handler(OCTEON_IRQ_MBOX1, &octeon_irq_chip_ciu2_mbox, handle_percpu_irq);
1734 irq_set_chip_and_handler(OCTEON_IRQ_MBOX2, &octeon_irq_chip_ciu2_mbox, handle_percpu_irq);
1735 irq_set_chip_and_handler(OCTEON_IRQ_MBOX3, &octeon_irq_chip_ciu2_mbox, handle_percpu_irq);
1736
1737 /* Enable the CIU lines */
1738 set_c0_status(STATUSF_IP3 | STATUSF_IP2);
1739 clear_c0_status(STATUSF_IP4);
1740}
1741
1229void __init arch_init_irq(void) 1742void __init arch_init_irq(void)
1230{ 1743{
1231#ifdef CONFIG_SMP 1744#ifdef CONFIG_SMP
@@ -1233,7 +1746,10 @@ void __init arch_init_irq(void)
1233 cpumask_clear(irq_default_affinity); 1746 cpumask_clear(irq_default_affinity);
1234 cpumask_set_cpu(smp_processor_id(), irq_default_affinity); 1747 cpumask_set_cpu(smp_processor_id(), irq_default_affinity);
1235#endif 1748#endif
1236 octeon_irq_init_ciu(); 1749 if (OCTEON_IS_MODEL(OCTEON_CN68XX))
1750 octeon_irq_init_ciu2();
1751 else
1752 octeon_irq_init_ciu();
1237} 1753}
1238 1754
1239asmlinkage void plat_irq_dispatch(void) 1755asmlinkage void plat_irq_dispatch(void)
diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c
index 919b0fb7bb1a..04dd8ff0e0d8 100644
--- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c
@@ -548,6 +548,8 @@ void __init prom_init(void)
548 } 548 }
549#endif 549#endif
550 550
551 octeon_setup_delays();
552
551 /* 553 /*
552 * BIST should always be enabled when doing a soft reset. L2 554 * BIST should always be enabled when doing a soft reset. L2
553 * Cache locking for instance is not cleared unless BIST is 555 * Cache locking for instance is not cleared unless BIST is
@@ -611,7 +613,6 @@ void __init prom_init(void)
611 mips_hpt_frequency = octeon_get_clock_rate(); 613 mips_hpt_frequency = octeon_get_clock_rate();
612 614
613 octeon_init_cvmcount(); 615 octeon_init_cvmcount();
614 octeon_setup_delays();
615 616
616 _machine_restart = octeon_restart; 617 _machine_restart = octeon_restart;
617 _machine_halt = octeon_halt; 618 _machine_halt = octeon_halt;
diff --git a/arch/mips/configs/cavium-octeon_defconfig b/arch/mips/configs/cavium_octeon_defconfig
index 75165dfa60c1..75165dfa60c1 100644
--- a/arch/mips/configs/cavium-octeon_defconfig
+++ b/arch/mips/configs/cavium_octeon_defconfig
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig
deleted file mode 100644
index b5ad7387bbb0..000000000000
--- a/arch/mips/configs/mipssim_defconfig
+++ /dev/null
@@ -1,64 +0,0 @@
1CONFIG_MIPS_SIM=y
2CONFIG_CPU_LITTLE_ENDIAN=y
3CONFIG_HZ_100=y
4# CONFIG_SECCOMP is not set
5CONFIG_EXPERIMENTAL=y
6# CONFIG_SWAP is not set
7CONFIG_SYSVIPC=y
8CONFIG_LOG_BUF_SHIFT=14
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_EXPERT=y
11CONFIG_SLAB=y
12CONFIG_MODULES=y
13CONFIG_MODULE_UNLOAD=y
14CONFIG_MODVERSIONS=y
15CONFIG_MODULE_SRCVERSION_ALL=y
16# CONFIG_BLK_DEV_BSG is not set
17CONFIG_NET=y
18CONFIG_PACKET=y
19CONFIG_UNIX=y
20CONFIG_INET=y
21CONFIG_IP_MULTICAST=y
22CONFIG_IP_ADVANCED_ROUTER=y
23CONFIG_IP_PNP=y
24CONFIG_IP_PNP_DHCP=y
25CONFIG_IP_PNP_BOOTP=y
26# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
27# CONFIG_INET_XFRM_MODE_TUNNEL is not set
28# CONFIG_INET_XFRM_MODE_BEET is not set
29# CONFIG_INET_LRO is not set
30# CONFIG_IPV6 is not set
31CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
32# CONFIG_STANDALONE is not set
33# CONFIG_PREVENT_FIRMWARE_BUILD is not set
34# CONFIG_FW_LOADER is not set
35CONFIG_BLK_DEV_LOOP=y
36CONFIG_BLK_DEV_NBD=y
37# CONFIG_MISC_DEVICES is not set
38CONFIG_NETDEVICES=y
39CONFIG_NET_ETHERNET=y
40CONFIG_MIPS_SIM_NET=y
41# CONFIG_NETDEV_1000 is not set
42# CONFIG_NETDEV_10000 is not set
43# CONFIG_INPUT is not set
44# CONFIG_SERIO is not set
45# CONFIG_VT is not set
46CONFIG_SERIAL_8250=y
47CONFIG_SERIAL_8250_CONSOLE=y
48CONFIG_SERIAL_8250_NR_UARTS=1
49CONFIG_SERIAL_8250_RUNTIME_UARTS=1
50# CONFIG_HW_RANDOM is not set
51# CONFIG_HWMON is not set
52# CONFIG_USB_SUPPORT is not set
53# CONFIG_DNOTIFY is not set
54CONFIG_TMPFS=y
55CONFIG_ROMFS_FS=y
56CONFIG_NFS_FS=y
57CONFIG_NFS_V3=y
58CONFIG_ROOT_NFS=y
59CONFIG_DEBUG_KERNEL=y
60# CONFIG_SCHED_DEBUG is not set
61CONFIG_DEBUG_INFO=y
62CONFIG_CMDLINE_BOOL=y
63CONFIG_CMDLINE="nfsroot=192.168.192.169:/u1/mipsel,timeo=20 ip=dhcp"
64# CONFIG_CRC32 is not set
diff --git a/arch/mips/configs/nlm_xlp_defconfig b/arch/mips/configs/nlm_xlp_defconfig
index 84624b17b769..5468b1c7b2a5 100644
--- a/arch/mips/configs/nlm_xlp_defconfig
+++ b/arch/mips/configs/nlm_xlp_defconfig
@@ -1,14 +1,12 @@
1CONFIG_NLM_XLP_BOARD=y 1CONFIG_NLM_XLP_BOARD=y
2CONFIG_64BIT=y 2CONFIG_64BIT=y
3CONFIG_PAGE_SIZE_16KB=y
4# CONFIG_HW_PERF_EVENTS is not set
3CONFIG_KSM=y 5CONFIG_KSM=y
4CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 6CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
5CONFIG_SMP=y 7CONFIG_SMP=y
6CONFIG_NO_HZ=y
7CONFIG_HIGH_RES_TIMERS=y
8# CONFIG_SECCOMP is not set 8# CONFIG_SECCOMP is not set
9CONFIG_USE_OF=y
10CONFIG_EXPERIMENTAL=y 9CONFIG_EXPERIMENTAL=y
11CONFIG_CROSS_COMPILE=""
12# CONFIG_LOCALVERSION_AUTO is not set 10# CONFIG_LOCALVERSION_AUTO is not set
13CONFIG_SYSVIPC=y 11CONFIG_SYSVIPC=y
14CONFIG_POSIX_MQUEUE=y 12CONFIG_POSIX_MQUEUE=y
@@ -19,13 +17,13 @@ CONFIG_TASK_DELAY_ACCT=y
19CONFIG_TASK_XACCT=y 17CONFIG_TASK_XACCT=y
20CONFIG_TASK_IO_ACCOUNTING=y 18CONFIG_TASK_IO_ACCOUNTING=y
21CONFIG_AUDIT=y 19CONFIG_AUDIT=y
20CONFIG_NO_HZ=y
21CONFIG_HIGH_RES_TIMERS=y
22CONFIG_CGROUPS=y 22CONFIG_CGROUPS=y
23CONFIG_NAMESPACES=y 23CONFIG_NAMESPACES=y
24CONFIG_BLK_DEV_INITRD=y 24CONFIG_BLK_DEV_INITRD=y
25CONFIG_INITRAMFS_SOURCE=""
26CONFIG_RD_BZIP2=y 25CONFIG_RD_BZIP2=y
27CONFIG_RD_LZMA=y 26CONFIG_RD_LZMA=y
28CONFIG_INITRAMFS_COMPRESSION_LZMA=y
29CONFIG_KALLSYMS_ALL=y 27CONFIG_KALLSYMS_ALL=y
30CONFIG_EMBEDDED=y 28CONFIG_EMBEDDED=y
31# CONFIG_COMPAT_BRK is not set 29# CONFIG_COMPAT_BRK is not set
@@ -35,6 +33,29 @@ CONFIG_MODULE_UNLOAD=y
35CONFIG_MODVERSIONS=y 33CONFIG_MODVERSIONS=y
36CONFIG_MODULE_SRCVERSION_ALL=y 34CONFIG_MODULE_SRCVERSION_ALL=y
37CONFIG_BLK_DEV_INTEGRITY=y 35CONFIG_BLK_DEV_INTEGRITY=y
36CONFIG_PARTITION_ADVANCED=y
37CONFIG_ACORN_PARTITION=y
38CONFIG_ACORN_PARTITION_ICS=y
39CONFIG_ACORN_PARTITION_RISCIX=y
40CONFIG_OSF_PARTITION=y
41CONFIG_AMIGA_PARTITION=y
42CONFIG_ATARI_PARTITION=y
43CONFIG_MAC_PARTITION=y
44CONFIG_BSD_DISKLABEL=y
45CONFIG_MINIX_SUBPARTITION=y
46CONFIG_SOLARIS_X86_PARTITION=y
47CONFIG_UNIXWARE_DISKLABEL=y
48CONFIG_LDM_PARTITION=y
49CONFIG_SGI_PARTITION=y
50CONFIG_ULTRIX_PARTITION=y
51CONFIG_SUN_PARTITION=y
52CONFIG_KARMA_PARTITION=y
53CONFIG_EFI_PARTITION=y
54CONFIG_SYSV68_PARTITION=y
55CONFIG_PCI=y
56CONFIG_PCI_DEBUG=y
57CONFIG_PCI_REALLOC_ENABLE_AUTO=y
58CONFIG_PCI_STUB=y
38# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 59# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
39CONFIG_BINFMT_MISC=y 60CONFIG_BINFMT_MISC=y
40CONFIG_MIPS32_COMPAT=y 61CONFIG_MIPS32_COMPAT=y
@@ -169,7 +190,6 @@ CONFIG_IP_NF_MATCH_ECN=m
169CONFIG_IP_NF_MATCH_TTL=m 190CONFIG_IP_NF_MATCH_TTL=m
170CONFIG_IP_NF_FILTER=m 191CONFIG_IP_NF_FILTER=m
171CONFIG_IP_NF_TARGET_REJECT=m 192CONFIG_IP_NF_TARGET_REJECT=m
172CONFIG_IP_NF_TARGET_LOG=m
173CONFIG_IP_NF_TARGET_ULOG=m 193CONFIG_IP_NF_TARGET_ULOG=m
174CONFIG_NF_NAT=m 194CONFIG_NF_NAT=m
175CONFIG_IP_NF_TARGET_MASQUERADE=m 195CONFIG_IP_NF_TARGET_MASQUERADE=m
@@ -185,7 +205,6 @@ CONFIG_IP_NF_ARPTABLES=m
185CONFIG_IP_NF_ARPFILTER=m 205CONFIG_IP_NF_ARPFILTER=m
186CONFIG_IP_NF_ARP_MANGLE=m 206CONFIG_IP_NF_ARP_MANGLE=m
187CONFIG_NF_CONNTRACK_IPV6=m 207CONFIG_NF_CONNTRACK_IPV6=m
188CONFIG_IP6_NF_QUEUE=m
189CONFIG_IP6_NF_IPTABLES=m 208CONFIG_IP6_NF_IPTABLES=m
190CONFIG_IP6_NF_MATCH_AH=m 209CONFIG_IP6_NF_MATCH_AH=m
191CONFIG_IP6_NF_MATCH_EUI64=m 210CONFIG_IP6_NF_MATCH_EUI64=m
@@ -196,7 +215,6 @@ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
196CONFIG_IP6_NF_MATCH_MH=m 215CONFIG_IP6_NF_MATCH_MH=m
197CONFIG_IP6_NF_MATCH_RT=m 216CONFIG_IP6_NF_MATCH_RT=m
198CONFIG_IP6_NF_TARGET_HL=m 217CONFIG_IP6_NF_TARGET_HL=m
199CONFIG_IP6_NF_TARGET_LOG=m
200CONFIG_IP6_NF_FILTER=m 218CONFIG_IP6_NF_FILTER=m
201CONFIG_IP6_NF_TARGET_REJECT=m 219CONFIG_IP6_NF_TARGET_REJECT=m
202CONFIG_IP6_NF_MANGLE=m 220CONFIG_IP6_NF_MANGLE=m
@@ -247,9 +265,6 @@ CONFIG_IPDDP_ENCAP=y
247CONFIG_IPDDP_DECAP=y 265CONFIG_IPDDP_DECAP=y
248CONFIG_X25=m 266CONFIG_X25=m
249CONFIG_LAPB=m 267CONFIG_LAPB=m
250CONFIG_ECONET=m
251CONFIG_ECONET_AUNUDP=y
252CONFIG_ECONET_NATIVE=y
253CONFIG_WAN_ROUTER=m 268CONFIG_WAN_ROUTER=m
254CONFIG_PHONET=m 269CONFIG_PHONET=m
255CONFIG_IEEE802154=m 270CONFIG_IEEE802154=m
@@ -296,11 +311,21 @@ CONFIG_NET_ACT_SIMP=m
296CONFIG_NET_ACT_SKBEDIT=m 311CONFIG_NET_ACT_SKBEDIT=m
297CONFIG_DCB=y 312CONFIG_DCB=y
298CONFIG_NET_PKTGEN=m 313CONFIG_NET_PKTGEN=m
299# CONFIG_WIRELESS is not set
300CONFIG_DEVTMPFS=y 314CONFIG_DEVTMPFS=y
301CONFIG_DEVTMPFS_MOUNT=y 315CONFIG_DEVTMPFS_MOUNT=y
302# CONFIG_STANDALONE is not set 316# CONFIG_STANDALONE is not set
303CONFIG_CONNECTOR=y 317CONFIG_CONNECTOR=y
318CONFIG_MTD=y
319CONFIG_MTD_CMDLINE_PARTS=y
320CONFIG_MTD_CHAR=y
321CONFIG_MTD_BLOCK=y
322CONFIG_MTD_CFI=y
323CONFIG_MTD_CFI_ADV_OPTIONS=y
324CONFIG_MTD_CFI_LE_BYTE_SWAP=y
325CONFIG_MTD_CFI_GEOMETRY=y
326CONFIG_MTD_CFI_INTELEXT=y
327CONFIG_MTD_PHYSMAP=y
328CONFIG_MTD_PHYSMAP_OF=y
304CONFIG_BLK_DEV_LOOP=y 329CONFIG_BLK_DEV_LOOP=y
305CONFIG_BLK_DEV_CRYPTOLOOP=m 330CONFIG_BLK_DEV_CRYPTOLOOP=m
306CONFIG_BLK_DEV_NBD=m 331CONFIG_BLK_DEV_NBD=m
@@ -309,7 +334,6 @@ CONFIG_BLK_DEV_RAM=y
309CONFIG_BLK_DEV_RAM_SIZE=65536 334CONFIG_BLK_DEV_RAM_SIZE=65536
310CONFIG_CDROM_PKTCDVD=y 335CONFIG_CDROM_PKTCDVD=y
311CONFIG_RAID_ATTRS=m 336CONFIG_RAID_ATTRS=m
312CONFIG_SCSI=y
313CONFIG_SCSI_TGT=m 337CONFIG_SCSI_TGT=m
314CONFIG_BLK_DEV_SD=y 338CONFIG_BLK_DEV_SD=y
315CONFIG_CHR_DEV_ST=m 339CONFIG_CHR_DEV_ST=m
@@ -336,6 +360,48 @@ CONFIG_SCSI_DH_EMC=m
336CONFIG_SCSI_DH_ALUA=m 360CONFIG_SCSI_DH_ALUA=m
337CONFIG_SCSI_OSD_INITIATOR=m 361CONFIG_SCSI_OSD_INITIATOR=m
338CONFIG_SCSI_OSD_ULD=m 362CONFIG_SCSI_OSD_ULD=m
363CONFIG_ATA=y
364CONFIG_SATA_AHCI=y
365CONFIG_SATA_SIL24=y
366# CONFIG_ATA_SFF is not set
367CONFIG_NETDEVICES=y
368# CONFIG_NET_VENDOR_3COM is not set
369# CONFIG_NET_VENDOR_ADAPTEC is not set
370# CONFIG_NET_VENDOR_ALTEON is not set
371# CONFIG_NET_VENDOR_AMD is not set
372# CONFIG_NET_VENDOR_ATHEROS is not set
373# CONFIG_NET_VENDOR_BROADCOM is not set
374# CONFIG_NET_VENDOR_BROCADE is not set
375# CONFIG_NET_VENDOR_CHELSIO is not set
376# CONFIG_NET_VENDOR_DEC is not set
377# CONFIG_NET_VENDOR_DLINK is not set
378# CONFIG_NET_VENDOR_EMULEX is not set
379# CONFIG_NET_VENDOR_EXAR is not set
380# CONFIG_NET_VENDOR_HP is not set
381CONFIG_E1000E=y
382# CONFIG_NET_VENDOR_I825XX is not set
383CONFIG_SKY2=y
384# CONFIG_NET_VENDOR_MELLANOX is not set
385# CONFIG_NET_VENDOR_MICREL is not set
386# CONFIG_NET_VENDOR_MYRI is not set
387# CONFIG_NET_VENDOR_NATSEMI is not set
388# CONFIG_NET_VENDOR_NVIDIA is not set
389# CONFIG_NET_VENDOR_OKI is not set
390# CONFIG_NET_PACKET_ENGINE is not set
391# CONFIG_NET_VENDOR_QLOGIC is not set
392# CONFIG_NET_VENDOR_REALTEK is not set
393# CONFIG_NET_VENDOR_RDC is not set
394# CONFIG_NET_VENDOR_SEEQ is not set
395# CONFIG_NET_VENDOR_SILAN is not set
396# CONFIG_NET_VENDOR_SIS is not set
397# CONFIG_NET_VENDOR_SMSC is not set
398# CONFIG_NET_VENDOR_STMICRO is not set
399# CONFIG_NET_VENDOR_SUN is not set
400# CONFIG_NET_VENDOR_TEHUTI is not set
401# CONFIG_NET_VENDOR_TI is not set
402# CONFIG_NET_VENDOR_TOSHIBA is not set
403# CONFIG_NET_VENDOR_VIA is not set
404# CONFIG_NET_VENDOR_WIZNET is not set
339# CONFIG_INPUT_MOUSEDEV is not set 405# CONFIG_INPUT_MOUSEDEV is not set
340CONFIG_INPUT_EVDEV=y 406CONFIG_INPUT_EVDEV=y
341CONFIG_INPUT_EVBUG=m 407CONFIG_INPUT_EVBUG=m
@@ -359,16 +425,23 @@ CONFIG_SERIAL_8250_EXTENDED=y
359CONFIG_SERIAL_8250_MANY_PORTS=y 425CONFIG_SERIAL_8250_MANY_PORTS=y
360CONFIG_SERIAL_8250_SHARE_IRQ=y 426CONFIG_SERIAL_8250_SHARE_IRQ=y
361CONFIG_SERIAL_8250_RSA=y 427CONFIG_SERIAL_8250_RSA=y
428CONFIG_SERIAL_OF_PLATFORM=y
362CONFIG_HW_RANDOM=y 429CONFIG_HW_RANDOM=y
363CONFIG_HW_RANDOM_TIMERIOMEM=m 430CONFIG_HW_RANDOM_TIMERIOMEM=m
364CONFIG_RAW_DRIVER=m 431CONFIG_RAW_DRIVER=m
365# CONFIG_HWMON is not set 432CONFIG_I2C=y
433CONFIG_I2C_CHARDEV=y
434CONFIG_I2C_OCORES=y
435CONFIG_SENSORS_LM90=y
436CONFIG_THERMAL=y
366# CONFIG_VGA_CONSOLE is not set 437# CONFIG_VGA_CONSOLE is not set
367# CONFIG_HID_SUPPORT is not set
368# CONFIG_USB_SUPPORT is not set 438# CONFIG_USB_SUPPORT is not set
439CONFIG_RTC_CLASS=y
440CONFIG_RTC_DRV_DS1374=y
369CONFIG_UIO=y 441CONFIG_UIO=y
370CONFIG_UIO_PDRV=m 442CONFIG_UIO_PDRV=m
371CONFIG_UIO_PDRV_GENIRQ=m 443CONFIG_UIO_PDRV_GENIRQ=m
444# CONFIG_IOMMU_SUPPORT is not set
372CONFIG_EXT2_FS=y 445CONFIG_EXT2_FS=y
373CONFIG_EXT2_FS_XATTR=y 446CONFIG_EXT2_FS_XATTR=y
374CONFIG_EXT2_FS_POSIX_ACL=y 447CONFIG_EXT2_FS_POSIX_ACL=y
@@ -380,15 +453,10 @@ CONFIG_EXT4_FS=y
380CONFIG_EXT4_FS_POSIX_ACL=y 453CONFIG_EXT4_FS_POSIX_ACL=y
381CONFIG_EXT4_FS_SECURITY=y 454CONFIG_EXT4_FS_SECURITY=y
382CONFIG_GFS2_FS=m 455CONFIG_GFS2_FS=m
383CONFIG_GFS2_FS_LOCKING_DLM=y
384CONFIG_OCFS2_FS=m
385CONFIG_BTRFS_FS=m 456CONFIG_BTRFS_FS=m
386CONFIG_BTRFS_FS_POSIX_ACL=y 457CONFIG_BTRFS_FS_POSIX_ACL=y
387CONFIG_NILFS2_FS=m 458CONFIG_NILFS2_FS=m
388CONFIG_QUOTA_NETLINK_INTERFACE=y 459CONFIG_QUOTA_NETLINK_INTERFACE=y
389# CONFIG_PRINT_QUOTA_WARNING is not set
390CONFIG_QFMT_V1=m
391CONFIG_QFMT_V2=m
392CONFIG_AUTOFS4_FS=m 460CONFIG_AUTOFS4_FS=m
393CONFIG_FUSE_FS=y 461CONFIG_FUSE_FS=y
394CONFIG_CUSE=m 462CONFIG_CUSE=m
@@ -414,6 +482,7 @@ CONFIG_HFSPLUS_FS=m
414CONFIG_BEFS_FS=m 482CONFIG_BEFS_FS=m
415CONFIG_BFS_FS=m 483CONFIG_BFS_FS=m
416CONFIG_EFS_FS=m 484CONFIG_EFS_FS=m
485CONFIG_JFFS2_FS=y
417CONFIG_CRAMFS=m 486CONFIG_CRAMFS=m
418CONFIG_SQUASHFS=m 487CONFIG_SQUASHFS=m
419CONFIG_VXFS_FS=m 488CONFIG_VXFS_FS=m
@@ -426,7 +495,6 @@ CONFIG_SYSV_FS=m
426CONFIG_UFS_FS=m 495CONFIG_UFS_FS=m
427CONFIG_EXOFS_FS=m 496CONFIG_EXOFS_FS=m
428CONFIG_NFS_FS=m 497CONFIG_NFS_FS=m
429CONFIG_NFS_V3=y
430CONFIG_NFS_V3_ACL=y 498CONFIG_NFS_V3_ACL=y
431CONFIG_NFS_V4=y 499CONFIG_NFS_V4=y
432CONFIG_NFS_FSCACHE=y 500CONFIG_NFS_FSCACHE=y
@@ -449,25 +517,6 @@ CONFIG_NCPFS_NLS=y
449CONFIG_NCPFS_EXTRAS=y 517CONFIG_NCPFS_EXTRAS=y
450CONFIG_CODA_FS=m 518CONFIG_CODA_FS=m
451CONFIG_AFS_FS=m 519CONFIG_AFS_FS=m
452CONFIG_PARTITION_ADVANCED=y
453CONFIG_ACORN_PARTITION=y
454CONFIG_ACORN_PARTITION_ICS=y
455CONFIG_ACORN_PARTITION_RISCIX=y
456CONFIG_OSF_PARTITION=y
457CONFIG_AMIGA_PARTITION=y
458CONFIG_ATARI_PARTITION=y
459CONFIG_MAC_PARTITION=y
460CONFIG_BSD_DISKLABEL=y
461CONFIG_MINIX_SUBPARTITION=y
462CONFIG_SOLARIS_X86_PARTITION=y
463CONFIG_UNIXWARE_DISKLABEL=y
464CONFIG_LDM_PARTITION=y
465CONFIG_SGI_PARTITION=y
466CONFIG_ULTRIX_PARTITION=y
467CONFIG_SUN_PARTITION=y
468CONFIG_KARMA_PARTITION=y
469CONFIG_EFI_PARTITION=y
470CONFIG_SYSV68_PARTITION=y
471CONFIG_NLS=y 520CONFIG_NLS=y
472CONFIG_NLS_DEFAULT="cp437" 521CONFIG_NLS_DEFAULT="cp437"
473CONFIG_NLS_CODEPAGE_437=m 522CONFIG_NLS_CODEPAGE_437=m
@@ -517,12 +566,10 @@ CONFIG_SCHEDSTATS=y
517CONFIG_TIMER_STATS=y 566CONFIG_TIMER_STATS=y
518CONFIG_DEBUG_INFO=y 567CONFIG_DEBUG_INFO=y
519CONFIG_DEBUG_MEMORY_INIT=y 568CONFIG_DEBUG_MEMORY_INIT=y
520CONFIG_SYSCTL_SYSCALL_CHECK=y
521CONFIG_SCHED_TRACER=y 569CONFIG_SCHED_TRACER=y
522CONFIG_BLK_DEV_IO_TRACE=y 570CONFIG_BLK_DEV_IO_TRACE=y
523CONFIG_KGDB=y 571CONFIG_KGDB=y
524CONFIG_SECURITY=y 572CONFIG_SECURITY=y
525CONFIG_SECURITY_NETWORK=y
526CONFIG_LSM_MMAP_MIN_ADDR=0 573CONFIG_LSM_MMAP_MIN_ADDR=0
527CONFIG_SECURITY_SELINUX=y 574CONFIG_SECURITY_SELINUX=y
528CONFIG_SECURITY_SELINUX_BOOTPARAM=y 575CONFIG_SECURITY_SELINUX_BOOTPARAM=y
diff --git a/arch/mips/configs/pnx8335-stb225_defconfig b/arch/mips/configs/pnx8335_stb225_defconfig
index f2925769dfa3..f2925769dfa3 100644
--- a/arch/mips/configs/pnx8335-stb225_defconfig
+++ b/arch/mips/configs/pnx8335_stb225_defconfig
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550_jbs_defconfig
index 1d1f2067f3e6..1d1f2067f3e6 100644
--- a/arch/mips/configs/pnx8550-jbs_defconfig
+++ b/arch/mips/configs/pnx8550_jbs_defconfig
diff --git a/arch/mips/configs/pnx8550-stb810_defconfig b/arch/mips/configs/pnx8550_stb810_defconfig
index 15c66a571f99..15c66a571f99 100644
--- a/arch/mips/configs/pnx8550-stb810_defconfig
+++ b/arch/mips/configs/pnx8550_stb810_defconfig
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250_swarm_defconfig
index 5b0463ef9389..5b0463ef9389 100644
--- a/arch/mips/configs/sb1250-swarm_defconfig
+++ b/arch/mips/configs/sb1250_swarm_defconfig
diff --git a/arch/mips/configs/sead3_defconfig b/arch/mips/configs/sead3_defconfig
new file mode 100644
index 000000000000..e3eec68d9132
--- /dev/null
+++ b/arch/mips/configs/sead3_defconfig
@@ -0,0 +1,124 @@
1CONFIG_MIPS_SEAD3=y
2CONFIG_CPU_LITTLE_ENDIAN=y
3CONFIG_CPU_MIPS32_R2=y
4CONFIG_HZ_100=y
5CONFIG_EXPERIMENTAL=y
6CONFIG_SYSVIPC=y
7CONFIG_POSIX_MQUEUE=y
8CONFIG_NO_HZ=y
9CONFIG_HIGH_RES_TIMERS=y
10CONFIG_IKCONFIG=y
11CONFIG_IKCONFIG_PROC=y
12CONFIG_LOG_BUF_SHIFT=15
13CONFIG_EMBEDDED=y
14CONFIG_SLAB=y
15CONFIG_PROFILING=y
16CONFIG_OPROFILE=y
17CONFIG_MODULES=y
18# CONFIG_BLK_DEV_BSG is not set
19# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
20CONFIG_NET=y
21CONFIG_PACKET=y
22CONFIG_UNIX=y
23CONFIG_INET=y
24CONFIG_IP_PNP=y
25CONFIG_IP_PNP_DHCP=y
26CONFIG_IP_PNP_BOOTP=y
27# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
28# CONFIG_INET_XFRM_MODE_TUNNEL is not set
29# CONFIG_INET_XFRM_MODE_BEET is not set
30# CONFIG_INET_LRO is not set
31# CONFIG_INET_DIAG is not set
32# CONFIG_IPV6 is not set
33# CONFIG_WIRELESS is not set
34CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
35CONFIG_MTD=y
36CONFIG_MTD_CHAR=y
37CONFIG_MTD_BLOCK=y
38CONFIG_MTD_CFI=y
39CONFIG_MTD_CFI_INTELEXT=y
40CONFIG_MTD_PHYSMAP=y
41CONFIG_MTD_UBI=y
42CONFIG_MTD_UBI_GLUEBI=y
43CONFIG_BLK_DEV_LOOP=y
44CONFIG_BLK_DEV_CRYPTOLOOP=m
45CONFIG_SCSI=y
46# CONFIG_SCSI_PROC_FS is not set
47CONFIG_BLK_DEV_SD=y
48CONFIG_CHR_DEV_SG=y
49# CONFIG_SCSI_LOWLEVEL is not set
50CONFIG_NETDEVICES=y
51CONFIG_SMSC911X=y
52# CONFIG_NET_VENDOR_WIZNET is not set
53CONFIG_MARVELL_PHY=y
54CONFIG_DAVICOM_PHY=y
55CONFIG_QSEMI_PHY=y
56CONFIG_LXT_PHY=y
57CONFIG_CICADA_PHY=y
58CONFIG_VITESSE_PHY=y
59CONFIG_SMSC_PHY=y
60CONFIG_BROADCOM_PHY=y
61CONFIG_ICPLUS_PHY=y
62# CONFIG_WLAN is not set
63# CONFIG_INPUT_MOUSEDEV is not set
64# CONFIG_INPUT_KEYBOARD is not set
65# CONFIG_INPUT_MOUSE is not set
66# CONFIG_SERIO is not set
67# CONFIG_CONSOLE_TRANSLATIONS is not set
68CONFIG_VT_HW_CONSOLE_BINDING=y
69CONFIG_LEGACY_PTY_COUNT=32
70CONFIG_SERIAL_8250=y
71CONFIG_SERIAL_8250_CONSOLE=y
72CONFIG_SERIAL_8250_NR_UARTS=2
73CONFIG_SERIAL_8250_RUNTIME_UARTS=2
74# CONFIG_HW_RANDOM is not set
75CONFIG_I2C=y
76# CONFIG_I2C_COMPAT is not set
77CONFIG_I2C_CHARDEV=y
78# CONFIG_I2C_HELPER_AUTO is not set
79CONFIG_SPI=y
80CONFIG_SENSORS_ADT7475=y
81CONFIG_BACKLIGHT_LCD_SUPPORT=y
82CONFIG_LCD_CLASS_DEVICE=y
83CONFIG_BACKLIGHT_CLASS_DEVICE=y
84# CONFIG_VGA_CONSOLE is not set
85CONFIG_USB=y
86CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
87CONFIG_USB_EHCI_HCD=y
88CONFIG_USB_EHCI_ROOT_HUB_TT=y
89CONFIG_USB_STORAGE=y
90CONFIG_MMC=y
91CONFIG_MMC_DEBUG=y
92CONFIG_MMC_SPI=y
93CONFIG_NEW_LEDS=y
94CONFIG_LEDS_CLASS=y
95CONFIG_LEDS_TRIGGERS=y
96CONFIG_LEDS_TRIGGER_HEARTBEAT=y
97CONFIG_RTC_CLASS=y
98CONFIG_RTC_DRV_M41T80=y
99CONFIG_EXT3_FS=y
100# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
101CONFIG_XFS_FS=y
102CONFIG_XFS_QUOTA=y
103CONFIG_XFS_POSIX_ACL=y
104CONFIG_QUOTA=y
105# CONFIG_PRINT_QUOTA_WARNING is not set
106CONFIG_MSDOS_FS=m
107CONFIG_VFAT_FS=m
108CONFIG_TMPFS=y
109CONFIG_JFFS2_FS=y
110CONFIG_NFS_FS=y
111CONFIG_ROOT_NFS=y
112CONFIG_NLS_CODEPAGE_437=y
113CONFIG_NLS_ASCII=y
114CONFIG_NLS_ISO8859_1=y
115CONFIG_NLS_ISO8859_15=y
116CONFIG_NLS_UTF8=y
117# CONFIG_FTRACE is not set
118CONFIG_CRYPTO=y
119CONFIG_CRYPTO_CBC=y
120CONFIG_CRYPTO_ECB=y
121CONFIG_CRYPTO_AES=y
122CONFIG_CRYPTO_ARC4=y
123# CONFIG_CRYPTO_ANSI_CPRNG is not set
124# CONFIG_CRYPTO_HW is not set
diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h
index ca400f7c3f59..63002a240c73 100644
--- a/arch/mips/include/asm/cpu-features.h
+++ b/arch/mips/include/asm/cpu-features.h
@@ -95,8 +95,8 @@
95#ifndef cpu_has_smartmips 95#ifndef cpu_has_smartmips
96#define cpu_has_smartmips (cpu_data[0].ases & MIPS_ASE_SMARTMIPS) 96#define cpu_has_smartmips (cpu_data[0].ases & MIPS_ASE_SMARTMIPS)
97#endif 97#endif
98#ifndef kernel_uses_smartmips_rixi 98#ifndef cpu_has_rixi
99#define kernel_uses_smartmips_rixi 0 99#define cpu_has_rixi (cpu_data[0].options & MIPS_CPU_RIXI)
100#endif 100#endif
101#ifndef cpu_has_vtag_icache 101#ifndef cpu_has_vtag_icache
102#define cpu_has_vtag_icache (cpu_data[0].icache.flags & MIPS_CACHE_VTAG) 102#define cpu_has_vtag_icache (cpu_data[0].icache.flags & MIPS_CACHE_VTAG)
diff --git a/arch/mips/include/asm/cpu.h b/arch/mips/include/asm/cpu.h
index f21b7c04e95a..554e2d29965d 100644
--- a/arch/mips/include/asm/cpu.h
+++ b/arch/mips/include/asm/cpu.h
@@ -94,6 +94,7 @@
94#define PRID_IMP_24KE 0x9600 94#define PRID_IMP_24KE 0x9600
95#define PRID_IMP_74K 0x9700 95#define PRID_IMP_74K 0x9700
96#define PRID_IMP_1004K 0x9900 96#define PRID_IMP_1004K 0x9900
97#define PRID_IMP_1074K 0x9a00
97#define PRID_IMP_M14KC 0x9c00 98#define PRID_IMP_M14KC 0x9c00
98 99
99/* 100/*
@@ -319,6 +320,7 @@ enum cpu_type_enum {
319#define MIPS_CPU_VINT 0x00080000 /* CPU supports MIPSR2 vectored interrupts */ 320#define MIPS_CPU_VINT 0x00080000 /* CPU supports MIPSR2 vectored interrupts */
320#define MIPS_CPU_VEIC 0x00100000 /* CPU supports MIPSR2 external interrupt controller mode */ 321#define MIPS_CPU_VEIC 0x00100000 /* CPU supports MIPSR2 external interrupt controller mode */
321#define MIPS_CPU_ULRI 0x00200000 /* CPU has ULRI feature */ 322#define MIPS_CPU_ULRI 0x00200000 /* CPU has ULRI feature */
323#define MIPS_CPU_RIXI 0x00400000 /* CPU has TLB Read/eXec Inhibit */
322 324
323/* 325/*
324 * CPU ASE encodings 326 * CPU ASE encodings
diff --git a/arch/mips/include/asm/gic.h b/arch/mips/include/asm/gic.h
index 991b659e2548..37620db588be 100644
--- a/arch/mips/include/asm/gic.h
+++ b/arch/mips/include/asm/gic.h
@@ -33,13 +33,13 @@
33 REG32(_gic_base + segment##_##SECTION_OFS + offset) 33 REG32(_gic_base + segment##_##SECTION_OFS + offset)
34 34
35#define GIC_ABS_REG(segment, offset) \ 35#define GIC_ABS_REG(segment, offset) \
36 (_gic_base + segment##_##SECTION_OFS + offset##_##OFS) 36 (_gic_base + segment##_##SECTION_OFS + offset##_##OFS)
37#define GIC_REG_ABS_ADDR(segment, offset) \ 37#define GIC_REG_ABS_ADDR(segment, offset) \
38 (_gic_base + segment##_##SECTION_OFS + offset) 38 (_gic_base + segment##_##SECTION_OFS + offset)
39 39
40#ifdef GICISBYTELITTLEENDIAN 40#ifdef GICISBYTELITTLEENDIAN
41#define GICREAD(reg, data) (data) = (reg), (data) = le32_to_cpu(data) 41#define GICREAD(reg, data) ((data) = (reg), (data) = le32_to_cpu(data))
42#define GICWRITE(reg, data) (reg) = cpu_to_le32(data) 42#define GICWRITE(reg, data) ((reg) = cpu_to_le32(data))
43#define GICBIS(reg, bits) \ 43#define GICBIS(reg, bits) \
44 ({unsigned int data; \ 44 ({unsigned int data; \
45 GICREAD(reg, data); \ 45 GICREAD(reg, data); \
@@ -48,9 +48,9 @@
48 }) 48 })
49 49
50#else 50#else
51#define GICREAD(reg, data) (data) = (reg) 51#define GICREAD(reg, data) ((data) = (reg))
52#define GICWRITE(reg, data) (reg) = (data) 52#define GICWRITE(reg, data) ((reg) = (data))
53#define GICBIS(reg, bits) (reg) |= (bits) 53#define GICBIS(reg, bits) ((reg) |= (bits))
54#endif 54#endif
55 55
56 56
@@ -304,15 +304,15 @@
304 GIC_SH_MAP_TO_VPE_REG_BIT(vpe)) 304 GIC_SH_MAP_TO_VPE_REG_BIT(vpe))
305 305
306struct gic_pcpu_mask { 306struct gic_pcpu_mask {
307 DECLARE_BITMAP(pcpu_mask, GIC_NUM_INTRS); 307 DECLARE_BITMAP(pcpu_mask, GIC_NUM_INTRS);
308}; 308};
309 309
310struct gic_pending_regs { 310struct gic_pending_regs {
311 DECLARE_BITMAP(pending, GIC_NUM_INTRS); 311 DECLARE_BITMAP(pending, GIC_NUM_INTRS);
312}; 312};
313 313
314struct gic_intrmask_regs { 314struct gic_intrmask_regs {
315 DECLARE_BITMAP(intrmask, GIC_NUM_INTRS); 315 DECLARE_BITMAP(intrmask, GIC_NUM_INTRS);
316}; 316};
317 317
318/* 318/*
@@ -341,15 +341,44 @@ struct gic_shared_intr_map {
341 unsigned int local_intr_mask; 341 unsigned int local_intr_mask;
342}; 342};
343 343
344/* GIC nomenclature for Core Interrupt Pins. */
345#define GIC_CPU_INT0 0 /* Core Interrupt 2 */
346#define GIC_CPU_INT1 1 /* . */
347#define GIC_CPU_INT2 2 /* . */
348#define GIC_CPU_INT3 3 /* . */
349#define GIC_CPU_INT4 4 /* . */
350#define GIC_CPU_INT5 5 /* Core Interrupt 5 */
351
352/* Local GIC interrupts. */
353#define GIC_INT_TMR (GIC_CPU_INT5)
354#define GIC_INT_PERFCTR (GIC_CPU_INT5)
355
356/* Add 2 to convert non-EIC hardware interrupt to EIC vector number. */
357#define GIC_CPU_TO_VEC_OFFSET (2)
358
359/* Mapped interrupt to pin X, then GIC will generate the vector (X+1). */
360#define GIC_PIN_TO_VEC_OFFSET (1)
361
362extern unsigned long _gic_base;
363extern unsigned int gic_irq_base;
364extern unsigned int gic_irq_flags[];
365extern struct gic_shared_intr_map gic_shared_intr_map[];
366
344extern void gic_init(unsigned long gic_base_addr, 367extern void gic_init(unsigned long gic_base_addr,
345 unsigned long gic_addrspace_size, struct gic_intr_map *intrmap, 368 unsigned long gic_addrspace_size, struct gic_intr_map *intrmap,
346 unsigned int intrmap_size, unsigned int irqbase); 369 unsigned int intrmap_size, unsigned int irqbase);
347 370
371extern void gic_clocksource_init(unsigned int);
348extern unsigned int gic_get_int(void); 372extern unsigned int gic_get_int(void);
349extern void gic_send_ipi(unsigned int intr); 373extern void gic_send_ipi(unsigned int intr);
350extern unsigned int plat_ipi_call_int_xlate(unsigned int); 374extern unsigned int plat_ipi_call_int_xlate(unsigned int);
351extern unsigned int plat_ipi_resched_int_xlate(unsigned int); 375extern unsigned int plat_ipi_resched_int_xlate(unsigned int);
352extern void gic_bind_eic_interrupt(int irq, int set); 376extern void gic_bind_eic_interrupt(int irq, int set);
353extern unsigned int gic_get_timer_pending(void); 377extern unsigned int gic_get_timer_pending(void);
378extern void gic_enable_interrupt(int irq_vec);
379extern void gic_disable_interrupt(int irq_vec);
380extern void gic_irq_ack(struct irq_data *d);
381extern void gic_finish_irq(struct irq_data *d);
382extern void gic_platform_init(int irqs, struct irq_chip *irq_controller);
354 383
355#endif /* _ASM_GICREGS_H */ 384#endif /* _ASM_GICREGS_H */
diff --git a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
index dde504477fac..a5e0f17ea77c 100644
--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
@@ -63,6 +63,10 @@
63 63
64#define AR934X_WMAC_BASE (AR71XX_APB_BASE + 0x00100000) 64#define AR934X_WMAC_BASE (AR71XX_APB_BASE + 0x00100000)
65#define AR934X_WMAC_SIZE 0x20000 65#define AR934X_WMAC_SIZE 0x20000
66#define AR934X_EHCI_BASE 0x1b000000
67#define AR934X_EHCI_SIZE 0x200
68#define AR934X_SRIF_BASE (AR71XX_APB_BASE + 0x00116000)
69#define AR934X_SRIF_SIZE 0x1000
66 70
67/* 71/*
68 * DDR_CTRL block 72 * DDR_CTRL block
@@ -288,6 +292,11 @@
288#define AR933X_RESET_USB_PHY BIT(4) 292#define AR933X_RESET_USB_PHY BIT(4)
289#define AR933X_RESET_USBSUS_OVERRIDE BIT(3) 293#define AR933X_RESET_USBSUS_OVERRIDE BIT(3)
290 294
295#define AR934X_RESET_USB_PHY_ANALOG BIT(11)
296#define AR934X_RESET_USB_HOST BIT(5)
297#define AR934X_RESET_USB_PHY BIT(4)
298#define AR934X_RESET_USBSUS_OVERRIDE BIT(3)
299
291#define AR933X_BOOTSTRAP_REF_CLK_40 BIT(0) 300#define AR933X_BOOTSTRAP_REF_CLK_40 BIT(0)
292 301
293#define AR934X_BOOTSTRAP_SW_OPTION8 BIT(23) 302#define AR934X_BOOTSTRAP_SW_OPTION8 BIT(23)
@@ -399,4 +408,25 @@
399#define AR933X_GPIO_COUNT 30 408#define AR933X_GPIO_COUNT 30
400#define AR934X_GPIO_COUNT 23 409#define AR934X_GPIO_COUNT 23
401 410
411/*
412 * SRIF block
413 */
414#define AR934X_SRIF_CPU_DPLL1_REG 0x1c0
415#define AR934X_SRIF_CPU_DPLL2_REG 0x1c4
416#define AR934X_SRIF_CPU_DPLL3_REG 0x1c8
417
418#define AR934X_SRIF_DDR_DPLL1_REG 0x240
419#define AR934X_SRIF_DDR_DPLL2_REG 0x244
420#define AR934X_SRIF_DDR_DPLL3_REG 0x248
421
422#define AR934X_SRIF_DPLL1_REFDIV_SHIFT 27
423#define AR934X_SRIF_DPLL1_REFDIV_MASK 0x1f
424#define AR934X_SRIF_DPLL1_NINT_SHIFT 18
425#define AR934X_SRIF_DPLL1_NINT_MASK 0x1ff
426#define AR934X_SRIF_DPLL1_NFRAC_MASK 0x0003ffff
427
428#define AR934X_SRIF_DPLL2_LOCAL_PLL BIT(30)
429#define AR934X_SRIF_DPLL2_OUTDIV_SHIFT 13
430#define AR934X_SRIF_DPLL2_OUTDIV_MASK 0x7
431
402#endif /* __ASM_MACH_AR71XX_REGS_H */ 432#endif /* __ASM_MACH_AR71XX_REGS_H */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
index e104ddb694a8..dbd5b5ad07a5 100644
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
@@ -120,6 +120,8 @@ enum bcm63xx_regs_set {
120 RSET_OHCI0, 120 RSET_OHCI0,
121 RSET_OHCI_PRIV, 121 RSET_OHCI_PRIV,
122 RSET_USBH_PRIV, 122 RSET_USBH_PRIV,
123 RSET_USBD,
124 RSET_USBDMA,
123 RSET_MPI, 125 RSET_MPI,
124 RSET_PCMCIA, 126 RSET_PCMCIA,
125 RSET_PCIE, 127 RSET_PCIE,
@@ -162,6 +164,8 @@ enum bcm63xx_regs_set {
162#define RSET_UDC_SIZE 256 164#define RSET_UDC_SIZE 256
163#define RSET_OHCI_SIZE 256 165#define RSET_OHCI_SIZE 256
164#define RSET_EHCI_SIZE 256 166#define RSET_EHCI_SIZE 256
167#define RSET_USBD_SIZE 256
168#define RSET_USBDMA_SIZE 1280
165#define RSET_PCMCIA_SIZE 12 169#define RSET_PCMCIA_SIZE 12
166#define RSET_M2M_SIZE 256 170#define RSET_M2M_SIZE 256
167#define RSET_ATM_SIZE 4096 171#define RSET_ATM_SIZE 4096
@@ -183,10 +187,11 @@ enum bcm63xx_regs_set {
183#define BCM_6328_GPIO_BASE (0xb0000080) 187#define BCM_6328_GPIO_BASE (0xb0000080)
184#define BCM_6328_SPI_BASE (0xdeadbeef) 188#define BCM_6328_SPI_BASE (0xdeadbeef)
185#define BCM_6328_UDC0_BASE (0xdeadbeef) 189#define BCM_6328_UDC0_BASE (0xdeadbeef)
186#define BCM_6328_USBDMA_BASE (0xdeadbeef) 190#define BCM_6328_USBDMA_BASE (0xb000c000)
187#define BCM_6328_OHCI0_BASE (0xdeadbeef) 191#define BCM_6328_OHCI0_BASE (0xb0002600)
188#define BCM_6328_OHCI_PRIV_BASE (0xdeadbeef) 192#define BCM_6328_OHCI_PRIV_BASE (0xdeadbeef)
189#define BCM_6328_USBH_PRIV_BASE (0xdeadbeef) 193#define BCM_6328_USBH_PRIV_BASE (0xb0002700)
194#define BCM_6328_USBD_BASE (0xb0002400)
190#define BCM_6328_MPI_BASE (0xdeadbeef) 195#define BCM_6328_MPI_BASE (0xdeadbeef)
191#define BCM_6328_PCMCIA_BASE (0xdeadbeef) 196#define BCM_6328_PCMCIA_BASE (0xdeadbeef)
192#define BCM_6328_PCIE_BASE (0xb0e40000) 197#define BCM_6328_PCIE_BASE (0xb0e40000)
@@ -199,7 +204,7 @@ enum bcm63xx_regs_set {
199#define BCM_6328_ENETDMAC_BASE (0xb000da00) 204#define BCM_6328_ENETDMAC_BASE (0xb000da00)
200#define BCM_6328_ENETDMAS_BASE (0xb000dc00) 205#define BCM_6328_ENETDMAS_BASE (0xb000dc00)
201#define BCM_6328_ENETSW_BASE (0xb0e00000) 206#define BCM_6328_ENETSW_BASE (0xb0e00000)
202#define BCM_6328_EHCI0_BASE (0x10002500) 207#define BCM_6328_EHCI0_BASE (0xb0002500)
203#define BCM_6328_SDRAM_BASE (0xdeadbeef) 208#define BCM_6328_SDRAM_BASE (0xdeadbeef)
204#define BCM_6328_MEMC_BASE (0xdeadbeef) 209#define BCM_6328_MEMC_BASE (0xdeadbeef)
205#define BCM_6328_DDR_BASE (0xb0003000) 210#define BCM_6328_DDR_BASE (0xb0003000)
@@ -232,6 +237,7 @@ enum bcm63xx_regs_set {
232#define BCM_6338_OHCI0_BASE (0xdeadbeef) 237#define BCM_6338_OHCI0_BASE (0xdeadbeef)
233#define BCM_6338_OHCI_PRIV_BASE (0xfffe3000) 238#define BCM_6338_OHCI_PRIV_BASE (0xfffe3000)
234#define BCM_6338_USBH_PRIV_BASE (0xdeadbeef) 239#define BCM_6338_USBH_PRIV_BASE (0xdeadbeef)
240#define BCM_6338_USBD_BASE (0xdeadbeef)
235#define BCM_6338_MPI_BASE (0xfffe3160) 241#define BCM_6338_MPI_BASE (0xfffe3160)
236#define BCM_6338_PCMCIA_BASE (0xdeadbeef) 242#define BCM_6338_PCMCIA_BASE (0xdeadbeef)
237#define BCM_6338_PCIE_BASE (0xdeadbeef) 243#define BCM_6338_PCIE_BASE (0xdeadbeef)
@@ -286,6 +292,7 @@ enum bcm63xx_regs_set {
286#define BCM_6345_OHCI0_BASE (0xfffe2100) 292#define BCM_6345_OHCI0_BASE (0xfffe2100)
287#define BCM_6345_OHCI_PRIV_BASE (0xfffe2200) 293#define BCM_6345_OHCI_PRIV_BASE (0xfffe2200)
288#define BCM_6345_USBH_PRIV_BASE (0xdeadbeef) 294#define BCM_6345_USBH_PRIV_BASE (0xdeadbeef)
295#define BCM_6345_USBD_BASE (0xdeadbeef)
289#define BCM_6345_SDRAM_REGS_BASE (0xfffe2300) 296#define BCM_6345_SDRAM_REGS_BASE (0xfffe2300)
290#define BCM_6345_DSL_BASE (0xdeadbeef) 297#define BCM_6345_DSL_BASE (0xdeadbeef)
291#define BCM_6345_UBUS_BASE (0xdeadbeef) 298#define BCM_6345_UBUS_BASE (0xdeadbeef)
@@ -319,9 +326,11 @@ enum bcm63xx_regs_set {
319#define BCM_6348_GPIO_BASE (0xfffe0400) 326#define BCM_6348_GPIO_BASE (0xfffe0400)
320#define BCM_6348_SPI_BASE (0xfffe0c00) 327#define BCM_6348_SPI_BASE (0xfffe0c00)
321#define BCM_6348_UDC0_BASE (0xfffe1000) 328#define BCM_6348_UDC0_BASE (0xfffe1000)
329#define BCM_6348_USBDMA_BASE (0xdeadbeef)
322#define BCM_6348_OHCI0_BASE (0xfffe1b00) 330#define BCM_6348_OHCI0_BASE (0xfffe1b00)
323#define BCM_6348_OHCI_PRIV_BASE (0xfffe1c00) 331#define BCM_6348_OHCI_PRIV_BASE (0xfffe1c00)
324#define BCM_6348_USBH_PRIV_BASE (0xdeadbeef) 332#define BCM_6348_USBH_PRIV_BASE (0xdeadbeef)
333#define BCM_6348_USBD_BASE (0xdeadbeef)
325#define BCM_6348_MPI_BASE (0xfffe2000) 334#define BCM_6348_MPI_BASE (0xfffe2000)
326#define BCM_6348_PCMCIA_BASE (0xfffe2054) 335#define BCM_6348_PCMCIA_BASE (0xfffe2054)
327#define BCM_6348_PCIE_BASE (0xdeadbeef) 336#define BCM_6348_PCIE_BASE (0xdeadbeef)
@@ -362,9 +371,11 @@ enum bcm63xx_regs_set {
362#define BCM_6358_GPIO_BASE (0xfffe0080) 371#define BCM_6358_GPIO_BASE (0xfffe0080)
363#define BCM_6358_SPI_BASE (0xfffe0800) 372#define BCM_6358_SPI_BASE (0xfffe0800)
364#define BCM_6358_UDC0_BASE (0xfffe0800) 373#define BCM_6358_UDC0_BASE (0xfffe0800)
374#define BCM_6358_USBDMA_BASE (0xdeadbeef)
365#define BCM_6358_OHCI0_BASE (0xfffe1400) 375#define BCM_6358_OHCI0_BASE (0xfffe1400)
366#define BCM_6358_OHCI_PRIV_BASE (0xdeadbeef) 376#define BCM_6358_OHCI_PRIV_BASE (0xdeadbeef)
367#define BCM_6358_USBH_PRIV_BASE (0xfffe1500) 377#define BCM_6358_USBH_PRIV_BASE (0xfffe1500)
378#define BCM_6358_USBD_BASE (0xdeadbeef)
368#define BCM_6358_MPI_BASE (0xfffe1000) 379#define BCM_6358_MPI_BASE (0xfffe1000)
369#define BCM_6358_PCMCIA_BASE (0xfffe1054) 380#define BCM_6358_PCMCIA_BASE (0xfffe1054)
370#define BCM_6358_PCIE_BASE (0xdeadbeef) 381#define BCM_6358_PCIE_BASE (0xdeadbeef)
@@ -406,9 +417,11 @@ enum bcm63xx_regs_set {
406#define BCM_6368_GPIO_BASE (0xb0000080) 417#define BCM_6368_GPIO_BASE (0xb0000080)
407#define BCM_6368_SPI_BASE (0xb0000800) 418#define BCM_6368_SPI_BASE (0xb0000800)
408#define BCM_6368_UDC0_BASE (0xdeadbeef) 419#define BCM_6368_UDC0_BASE (0xdeadbeef)
420#define BCM_6368_USBDMA_BASE (0xb0004800)
409#define BCM_6368_OHCI0_BASE (0xb0001600) 421#define BCM_6368_OHCI0_BASE (0xb0001600)
410#define BCM_6368_OHCI_PRIV_BASE (0xdeadbeef) 422#define BCM_6368_OHCI_PRIV_BASE (0xdeadbeef)
411#define BCM_6368_USBH_PRIV_BASE (0xb0001700) 423#define BCM_6368_USBH_PRIV_BASE (0xb0001700)
424#define BCM_6368_USBD_BASE (0xb0001400)
412#define BCM_6368_MPI_BASE (0xb0001000) 425#define BCM_6368_MPI_BASE (0xb0001000)
413#define BCM_6368_PCMCIA_BASE (0xb0001054) 426#define BCM_6368_PCMCIA_BASE (0xb0001054)
414#define BCM_6368_PCIE_BASE (0xdeadbeef) 427#define BCM_6368_PCIE_BASE (0xdeadbeef)
@@ -458,6 +471,8 @@ extern const unsigned long *bcm63xx_regs_base;
458 __GEN_RSET_BASE(__cpu, OHCI0) \ 471 __GEN_RSET_BASE(__cpu, OHCI0) \
459 __GEN_RSET_BASE(__cpu, OHCI_PRIV) \ 472 __GEN_RSET_BASE(__cpu, OHCI_PRIV) \
460 __GEN_RSET_BASE(__cpu, USBH_PRIV) \ 473 __GEN_RSET_BASE(__cpu, USBH_PRIV) \
474 __GEN_RSET_BASE(__cpu, USBD) \
475 __GEN_RSET_BASE(__cpu, USBDMA) \
461 __GEN_RSET_BASE(__cpu, MPI) \ 476 __GEN_RSET_BASE(__cpu, MPI) \
462 __GEN_RSET_BASE(__cpu, PCMCIA) \ 477 __GEN_RSET_BASE(__cpu, PCMCIA) \
463 __GEN_RSET_BASE(__cpu, PCIE) \ 478 __GEN_RSET_BASE(__cpu, PCIE) \
@@ -499,6 +514,8 @@ extern const unsigned long *bcm63xx_regs_base;
499 [RSET_OHCI0] = BCM_## __cpu ##_OHCI0_BASE, \ 514 [RSET_OHCI0] = BCM_## __cpu ##_OHCI0_BASE, \
500 [RSET_OHCI_PRIV] = BCM_## __cpu ##_OHCI_PRIV_BASE, \ 515 [RSET_OHCI_PRIV] = BCM_## __cpu ##_OHCI_PRIV_BASE, \
501 [RSET_USBH_PRIV] = BCM_## __cpu ##_USBH_PRIV_BASE, \ 516 [RSET_USBH_PRIV] = BCM_## __cpu ##_USBH_PRIV_BASE, \
517 [RSET_USBD] = BCM_## __cpu ##_USBD_BASE, \
518 [RSET_USBDMA] = BCM_## __cpu ##_USBDMA_BASE, \
502 [RSET_MPI] = BCM_## __cpu ##_MPI_BASE, \ 519 [RSET_MPI] = BCM_## __cpu ##_MPI_BASE, \
503 [RSET_PCMCIA] = BCM_## __cpu ##_PCMCIA_BASE, \ 520 [RSET_PCMCIA] = BCM_## __cpu ##_PCMCIA_BASE, \
504 [RSET_PCIE] = BCM_## __cpu ##_PCIE_BASE, \ 521 [RSET_PCIE] = BCM_## __cpu ##_PCIE_BASE, \
@@ -569,6 +586,13 @@ enum bcm63xx_irq {
569 IRQ_ENET_PHY, 586 IRQ_ENET_PHY,
570 IRQ_OHCI0, 587 IRQ_OHCI0,
571 IRQ_EHCI0, 588 IRQ_EHCI0,
589 IRQ_USBD,
590 IRQ_USBD_RXDMA0,
591 IRQ_USBD_TXDMA0,
592 IRQ_USBD_RXDMA1,
593 IRQ_USBD_TXDMA1,
594 IRQ_USBD_RXDMA2,
595 IRQ_USBD_TXDMA2,
572 IRQ_ENET0_RXDMA, 596 IRQ_ENET0_RXDMA,
573 IRQ_ENET0_TXDMA, 597 IRQ_ENET0_TXDMA,
574 IRQ_ENET1_RXDMA, 598 IRQ_ENET1_RXDMA,
@@ -602,8 +626,15 @@ enum bcm63xx_irq {
602#define BCM_6328_ENET0_IRQ 0 626#define BCM_6328_ENET0_IRQ 0
603#define BCM_6328_ENET1_IRQ 0 627#define BCM_6328_ENET1_IRQ 0
604#define BCM_6328_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12) 628#define BCM_6328_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12)
605#define BCM_6328_OHCI0_IRQ (IRQ_INTERNAL_BASE + 9) 629#define BCM_6328_OHCI0_IRQ (BCM_6328_HIGH_IRQ_BASE + 9)
606#define BCM_6328_EHCI0_IRQ (IRQ_INTERNAL_BASE + 10) 630#define BCM_6328_EHCI0_IRQ (BCM_6328_HIGH_IRQ_BASE + 10)
631#define BCM_6328_USBD_IRQ (IRQ_INTERNAL_BASE + 4)
632#define BCM_6328_USBD_RXDMA0_IRQ (IRQ_INTERNAL_BASE + 5)
633#define BCM_6328_USBD_TXDMA0_IRQ (IRQ_INTERNAL_BASE + 6)
634#define BCM_6328_USBD_RXDMA1_IRQ (IRQ_INTERNAL_BASE + 7)
635#define BCM_6328_USBD_TXDMA1_IRQ (IRQ_INTERNAL_BASE + 8)
636#define BCM_6328_USBD_RXDMA2_IRQ (IRQ_INTERNAL_BASE + 9)
637#define BCM_6328_USBD_TXDMA2_IRQ (IRQ_INTERNAL_BASE + 10)
607#define BCM_6328_PCMCIA_IRQ 0 638#define BCM_6328_PCMCIA_IRQ 0
608#define BCM_6328_ENET0_RXDMA_IRQ 0 639#define BCM_6328_ENET0_RXDMA_IRQ 0
609#define BCM_6328_ENET0_TXDMA_IRQ 0 640#define BCM_6328_ENET0_TXDMA_IRQ 0
@@ -615,10 +646,10 @@ enum bcm63xx_irq {
615#define BCM_6328_ENETSW_RXDMA1_IRQ (BCM_6328_HIGH_IRQ_BASE + 1) 646#define BCM_6328_ENETSW_RXDMA1_IRQ (BCM_6328_HIGH_IRQ_BASE + 1)
616#define BCM_6328_ENETSW_RXDMA2_IRQ (BCM_6328_HIGH_IRQ_BASE + 2) 647#define BCM_6328_ENETSW_RXDMA2_IRQ (BCM_6328_HIGH_IRQ_BASE + 2)
617#define BCM_6328_ENETSW_RXDMA3_IRQ (BCM_6328_HIGH_IRQ_BASE + 3) 648#define BCM_6328_ENETSW_RXDMA3_IRQ (BCM_6328_HIGH_IRQ_BASE + 3)
618#define BCM_6328_ENETSW_TXDMA0_IRQ (BCM_6328_HIGH_IRQ_BASE + 4) 649#define BCM_6328_ENETSW_TXDMA0_IRQ 0
619#define BCM_6328_ENETSW_TXDMA1_IRQ (BCM_6328_HIGH_IRQ_BASE + 5) 650#define BCM_6328_ENETSW_TXDMA1_IRQ 0
620#define BCM_6328_ENETSW_TXDMA2_IRQ (BCM_6328_HIGH_IRQ_BASE + 6) 651#define BCM_6328_ENETSW_TXDMA2_IRQ 0
621#define BCM_6328_ENETSW_TXDMA3_IRQ (BCM_6328_HIGH_IRQ_BASE + 7) 652#define BCM_6328_ENETSW_TXDMA3_IRQ 0
622#define BCM_6328_XTM_IRQ (BCM_6328_HIGH_IRQ_BASE + 31) 653#define BCM_6328_XTM_IRQ (BCM_6328_HIGH_IRQ_BASE + 31)
623#define BCM_6328_XTM_DMA0_IRQ (BCM_6328_HIGH_IRQ_BASE + 11) 654#define BCM_6328_XTM_DMA0_IRQ (BCM_6328_HIGH_IRQ_BASE + 11)
624 655
@@ -642,6 +673,13 @@ enum bcm63xx_irq {
642#define BCM_6338_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9) 673#define BCM_6338_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9)
643#define BCM_6338_OHCI0_IRQ 0 674#define BCM_6338_OHCI0_IRQ 0
644#define BCM_6338_EHCI0_IRQ 0 675#define BCM_6338_EHCI0_IRQ 0
676#define BCM_6338_USBD_IRQ 0
677#define BCM_6338_USBD_RXDMA0_IRQ 0
678#define BCM_6338_USBD_TXDMA0_IRQ 0
679#define BCM_6338_USBD_RXDMA1_IRQ 0
680#define BCM_6338_USBD_TXDMA1_IRQ 0
681#define BCM_6338_USBD_RXDMA2_IRQ 0
682#define BCM_6338_USBD_TXDMA2_IRQ 0
645#define BCM_6338_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 15) 683#define BCM_6338_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 15)
646#define BCM_6338_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 16) 684#define BCM_6338_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 16)
647#define BCM_6338_ENET1_RXDMA_IRQ 0 685#define BCM_6338_ENET1_RXDMA_IRQ 0
@@ -673,6 +711,13 @@ enum bcm63xx_irq {
673#define BCM_6345_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12) 711#define BCM_6345_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12)
674#define BCM_6345_OHCI0_IRQ 0 712#define BCM_6345_OHCI0_IRQ 0
675#define BCM_6345_EHCI0_IRQ 0 713#define BCM_6345_EHCI0_IRQ 0
714#define BCM_6345_USBD_IRQ 0
715#define BCM_6345_USBD_RXDMA0_IRQ 0
716#define BCM_6345_USBD_TXDMA0_IRQ 0
717#define BCM_6345_USBD_RXDMA1_IRQ 0
718#define BCM_6345_USBD_TXDMA1_IRQ 0
719#define BCM_6345_USBD_RXDMA2_IRQ 0
720#define BCM_6345_USBD_TXDMA2_IRQ 0
676#define BCM_6345_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 1) 721#define BCM_6345_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 1)
677#define BCM_6345_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 2) 722#define BCM_6345_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 2)
678#define BCM_6345_ENET1_RXDMA_IRQ 0 723#define BCM_6345_ENET1_RXDMA_IRQ 0
@@ -704,6 +749,13 @@ enum bcm63xx_irq {
704#define BCM_6348_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9) 749#define BCM_6348_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9)
705#define BCM_6348_OHCI0_IRQ (IRQ_INTERNAL_BASE + 12) 750#define BCM_6348_OHCI0_IRQ (IRQ_INTERNAL_BASE + 12)
706#define BCM_6348_EHCI0_IRQ 0 751#define BCM_6348_EHCI0_IRQ 0
752#define BCM_6348_USBD_IRQ 0
753#define BCM_6348_USBD_RXDMA0_IRQ 0
754#define BCM_6348_USBD_TXDMA0_IRQ 0
755#define BCM_6348_USBD_RXDMA1_IRQ 0
756#define BCM_6348_USBD_TXDMA1_IRQ 0
757#define BCM_6348_USBD_RXDMA2_IRQ 0
758#define BCM_6348_USBD_TXDMA2_IRQ 0
707#define BCM_6348_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 20) 759#define BCM_6348_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 20)
708#define BCM_6348_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 21) 760#define BCM_6348_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 21)
709#define BCM_6348_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 22) 761#define BCM_6348_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 22)
@@ -735,6 +787,13 @@ enum bcm63xx_irq {
735#define BCM_6358_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9) 787#define BCM_6358_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9)
736#define BCM_6358_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5) 788#define BCM_6358_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5)
737#define BCM_6358_EHCI0_IRQ (IRQ_INTERNAL_BASE + 10) 789#define BCM_6358_EHCI0_IRQ (IRQ_INTERNAL_BASE + 10)
790#define BCM_6358_USBD_IRQ 0
791#define BCM_6358_USBD_RXDMA0_IRQ 0
792#define BCM_6358_USBD_TXDMA0_IRQ 0
793#define BCM_6358_USBD_RXDMA1_IRQ 0
794#define BCM_6358_USBD_TXDMA1_IRQ 0
795#define BCM_6358_USBD_RXDMA2_IRQ 0
796#define BCM_6358_USBD_TXDMA2_IRQ 0
738#define BCM_6358_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 15) 797#define BCM_6358_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 15)
739#define BCM_6358_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 16) 798#define BCM_6358_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 16)
740#define BCM_6358_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 17) 799#define BCM_6358_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 17)
@@ -775,6 +834,13 @@ enum bcm63xx_irq {
775#define BCM_6368_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 15) 834#define BCM_6368_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 15)
776#define BCM_6368_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5) 835#define BCM_6368_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5)
777#define BCM_6368_EHCI0_IRQ (IRQ_INTERNAL_BASE + 7) 836#define BCM_6368_EHCI0_IRQ (IRQ_INTERNAL_BASE + 7)
837#define BCM_6368_USBD_IRQ (IRQ_INTERNAL_BASE + 8)
838#define BCM_6368_USBD_RXDMA0_IRQ (IRQ_INTERNAL_BASE + 26)
839#define BCM_6368_USBD_TXDMA0_IRQ (IRQ_INTERNAL_BASE + 27)
840#define BCM_6368_USBD_RXDMA1_IRQ (IRQ_INTERNAL_BASE + 28)
841#define BCM_6368_USBD_TXDMA1_IRQ (IRQ_INTERNAL_BASE + 29)
842#define BCM_6368_USBD_RXDMA2_IRQ (IRQ_INTERNAL_BASE + 30)
843#define BCM_6368_USBD_TXDMA2_IRQ (IRQ_INTERNAL_BASE + 31)
778#define BCM_6368_PCMCIA_IRQ 0 844#define BCM_6368_PCMCIA_IRQ 0
779#define BCM_6368_ENET0_RXDMA_IRQ 0 845#define BCM_6368_ENET0_RXDMA_IRQ 0
780#define BCM_6368_ENET0_TXDMA_IRQ 0 846#define BCM_6368_ENET0_TXDMA_IRQ 0
@@ -815,6 +881,13 @@ extern const int *bcm63xx_irqs;
815 [IRQ_ENET_PHY] = BCM_## __cpu ##_ENET_PHY_IRQ, \ 881 [IRQ_ENET_PHY] = BCM_## __cpu ##_ENET_PHY_IRQ, \
816 [IRQ_OHCI0] = BCM_## __cpu ##_OHCI0_IRQ, \ 882 [IRQ_OHCI0] = BCM_## __cpu ##_OHCI0_IRQ, \
817 [IRQ_EHCI0] = BCM_## __cpu ##_EHCI0_IRQ, \ 883 [IRQ_EHCI0] = BCM_## __cpu ##_EHCI0_IRQ, \
884 [IRQ_USBD] = BCM_## __cpu ##_USBD_IRQ, \
885 [IRQ_USBD_RXDMA0] = BCM_## __cpu ##_USBD_RXDMA0_IRQ, \
886 [IRQ_USBD_TXDMA0] = BCM_## __cpu ##_USBD_TXDMA0_IRQ, \
887 [IRQ_USBD_RXDMA1] = BCM_## __cpu ##_USBD_RXDMA1_IRQ, \
888 [IRQ_USBD_TXDMA1] = BCM_## __cpu ##_USBD_TXDMA1_IRQ, \
889 [IRQ_USBD_RXDMA2] = BCM_## __cpu ##_USBD_RXDMA2_IRQ, \
890 [IRQ_USBD_TXDMA2] = BCM_## __cpu ##_USBD_TXDMA2_IRQ, \
818 [IRQ_ENET0_RXDMA] = BCM_## __cpu ##_ENET0_RXDMA_IRQ, \ 891 [IRQ_ENET0_RXDMA] = BCM_## __cpu ##_ENET0_RXDMA_IRQ, \
819 [IRQ_ENET0_TXDMA] = BCM_## __cpu ##_ENET0_TXDMA_IRQ, \ 892 [IRQ_ENET0_TXDMA] = BCM_## __cpu ##_ENET0_TXDMA_IRQ, \
820 [IRQ_ENET1_RXDMA] = BCM_## __cpu ##_ENET1_RXDMA_IRQ, \ 893 [IRQ_ENET1_RXDMA] = BCM_## __cpu ##_ENET1_RXDMA_IRQ, \
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_usbd.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_usbd.h
new file mode 100644
index 000000000000..5d6d6986f40b
--- /dev/null
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_usbd.h
@@ -0,0 +1,17 @@
1#ifndef BCM63XX_DEV_USB_USBD_H_
2#define BCM63XX_DEV_USB_USBD_H_
3
4/*
5 * usb device platform data
6 */
7struct bcm63xx_usbd_platform_data {
8 /* board can only support full speed (USB 1.1) */
9 int use_fullspeed;
10
11 /* 0-based port index, for chips with >1 USB PHY */
12 int port_no;
13};
14
15int bcm63xx_usbd_register(const struct bcm63xx_usbd_platform_data *pd);
16
17#endif /* BCM63XX_DEV_USB_USBD_H_ */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h
new file mode 100644
index 000000000000..a5bbff31c898
--- /dev/null
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h
@@ -0,0 +1,38 @@
1#ifndef BCM63XX_IUDMA_H_
2#define BCM63XX_IUDMA_H_
3
4#include <linux/types.h>
5
6/*
7 * rx/tx dma descriptor
8 */
9struct bcm_enet_desc {
10 u32 len_stat;
11 u32 address;
12};
13
14/* control */
15#define DMADESC_LENGTH_SHIFT 16
16#define DMADESC_LENGTH_MASK (0xfff << DMADESC_LENGTH_SHIFT)
17#define DMADESC_OWNER_MASK (1 << 15)
18#define DMADESC_EOP_MASK (1 << 14)
19#define DMADESC_SOP_MASK (1 << 13)
20#define DMADESC_ESOP_MASK (DMADESC_EOP_MASK | DMADESC_SOP_MASK)
21#define DMADESC_WRAP_MASK (1 << 12)
22#define DMADESC_USB_NOZERO_MASK (1 << 1)
23#define DMADESC_USB_ZERO_MASK (1 << 0)
24
25/* status */
26#define DMADESC_UNDER_MASK (1 << 9)
27#define DMADESC_APPEND_CRC (1 << 8)
28#define DMADESC_OVSIZE_MASK (1 << 4)
29#define DMADESC_RXER_MASK (1 << 2)
30#define DMADESC_CRC_MASK (1 << 1)
31#define DMADESC_OV_MASK (1 << 0)
32#define DMADESC_ERR_MASK (DMADESC_UNDER_MASK | \
33 DMADESC_OVSIZE_MASK | \
34 DMADESC_RXER_MASK | \
35 DMADESC_CRC_MASK | \
36 DMADESC_OV_MASK)
37
38#endif /* ! BCM63XX_IUDMA_H_ */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
index 61f2a2a5099d..12963d05da86 100644
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
@@ -161,6 +161,7 @@
161/* External Interrupt Configuration register */ 161/* External Interrupt Configuration register */
162#define PERF_EXTIRQ_CFG_REG_6328 0x18 162#define PERF_EXTIRQ_CFG_REG_6328 0x18
163#define PERF_EXTIRQ_CFG_REG_6338 0x14 163#define PERF_EXTIRQ_CFG_REG_6338 0x14
164#define PERF_EXTIRQ_CFG_REG_6345 0x14
164#define PERF_EXTIRQ_CFG_REG_6348 0x14 165#define PERF_EXTIRQ_CFG_REG_6348 0x14
165#define PERF_EXTIRQ_CFG_REG_6358 0x14 166#define PERF_EXTIRQ_CFG_REG_6358 0x14
166#define PERF_EXTIRQ_CFG_REG_6368 0x18 167#define PERF_EXTIRQ_CFG_REG_6368 0x18
@@ -543,6 +544,12 @@
543#define GPIO_MODE_6368_SPI_SSN5 (1 << 31) 544#define GPIO_MODE_6368_SPI_SSN5 (1 << 31)
544 545
545 546
547#define GPIO_PINMUX_OTHR_REG 0x24
548#define GPIO_PINMUX_OTHR_6328_USB_SHIFT 12
549#define GPIO_PINMUX_OTHR_6328_USB_MASK (3 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
550#define GPIO_PINMUX_OTHR_6328_USB_HOST (1 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
551#define GPIO_PINMUX_OTHR_6328_USB_DEV (2 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
552
546#define GPIO_BASEMODE_6368_REG 0x38 553#define GPIO_BASEMODE_6368_REG 0x38
547#define GPIO_BASEMODE_6368_UART2 0x1 554#define GPIO_BASEMODE_6368_UART2 0x1
548#define GPIO_BASEMODE_6368_GPIO 0x0 555#define GPIO_BASEMODE_6368_GPIO 0x0
@@ -670,6 +677,12 @@
670#define ENETDMA_BUFALLOC_FORCE_SHIFT 31 677#define ENETDMA_BUFALLOC_FORCE_SHIFT 31
671#define ENETDMA_BUFALLOC_FORCE_MASK (1 << ENETDMA_BUFALLOC_FORCE_SHIFT) 678#define ENETDMA_BUFALLOC_FORCE_MASK (1 << ENETDMA_BUFALLOC_FORCE_SHIFT)
672 679
680/* Global interrupt status */
681#define ENETDMA_GLB_IRQSTAT_REG (0x40)
682
683/* Global interrupt mask */
684#define ENETDMA_GLB_IRQMASK_REG (0x44)
685
673/* Channel Configuration register */ 686/* Channel Configuration register */
674#define ENETDMA_CHANCFG_REG(x) (0x100 + (x) * 0x10) 687#define ENETDMA_CHANCFG_REG(x) (0x100 + (x) * 0x10)
675#define ENETDMA_CHANCFG_EN_SHIFT 0 688#define ENETDMA_CHANCFG_EN_SHIFT 0
@@ -709,9 +722,11 @@
709/* Channel Configuration register */ 722/* Channel Configuration register */
710#define ENETDMAC_CHANCFG_REG(x) ((x) * 0x10) 723#define ENETDMAC_CHANCFG_REG(x) ((x) * 0x10)
711#define ENETDMAC_CHANCFG_EN_SHIFT 0 724#define ENETDMAC_CHANCFG_EN_SHIFT 0
712#define ENETDMAC_CHANCFG_EN_MASK (1 << ENETDMA_CHANCFG_EN_SHIFT) 725#define ENETDMAC_CHANCFG_EN_MASK (1 << ENETDMAC_CHANCFG_EN_SHIFT)
713#define ENETDMAC_CHANCFG_PKTHALT_SHIFT 1 726#define ENETDMAC_CHANCFG_PKTHALT_SHIFT 1
714#define ENETDMAC_CHANCFG_PKTHALT_MASK (1 << ENETDMA_CHANCFG_PKTHALT_SHIFT) 727#define ENETDMAC_CHANCFG_PKTHALT_MASK (1 << ENETDMAC_CHANCFG_PKTHALT_SHIFT)
728#define ENETDMAC_CHANCFG_BUFHALT_SHIFT 2
729#define ENETDMAC_CHANCFG_BUFHALT_MASK (1 << ENETDMAC_CHANCFG_BUFHALT_SHIFT)
715 730
716/* Interrupt Control/Status register */ 731/* Interrupt Control/Status register */
717#define ENETDMAC_IR_REG(x) (0x4 + (x) * 0x10) 732#define ENETDMAC_IR_REG(x) (0x4 + (x) * 0x10)
@@ -770,6 +785,8 @@
770#define USBH_PRIV_SWAP_6358_REG 0x0 785#define USBH_PRIV_SWAP_6358_REG 0x0
771#define USBH_PRIV_SWAP_6368_REG 0x1c 786#define USBH_PRIV_SWAP_6368_REG 0x1c
772 787
788#define USBH_PRIV_SWAP_USBD_SHIFT 6
789#define USBH_PRIV_SWAP_USBD_MASK (1 << USBH_PRIV_SWAP_USBD_SHIFT)
773#define USBH_PRIV_SWAP_EHCI_ENDN_SHIFT 4 790#define USBH_PRIV_SWAP_EHCI_ENDN_SHIFT 4
774#define USBH_PRIV_SWAP_EHCI_ENDN_MASK (1 << USBH_PRIV_SWAP_EHCI_ENDN_SHIFT) 791#define USBH_PRIV_SWAP_EHCI_ENDN_MASK (1 << USBH_PRIV_SWAP_EHCI_ENDN_SHIFT)
775#define USBH_PRIV_SWAP_EHCI_DATA_SHIFT 3 792#define USBH_PRIV_SWAP_EHCI_DATA_SHIFT 3
@@ -779,6 +796,12 @@
779#define USBH_PRIV_SWAP_OHCI_DATA_SHIFT 0 796#define USBH_PRIV_SWAP_OHCI_DATA_SHIFT 0
780#define USBH_PRIV_SWAP_OHCI_DATA_MASK (1 << USBH_PRIV_SWAP_OHCI_DATA_SHIFT) 797#define USBH_PRIV_SWAP_OHCI_DATA_MASK (1 << USBH_PRIV_SWAP_OHCI_DATA_SHIFT)
781 798
799#define USBH_PRIV_UTMI_CTL_6368_REG 0x10
800#define USBH_PRIV_UTMI_CTL_NODRIV_SHIFT 12
801#define USBH_PRIV_UTMI_CTL_NODRIV_MASK (0xf << USBH_PRIV_UTMI_CTL_NODRIV_SHIFT)
802#define USBH_PRIV_UTMI_CTL_HOSTB_SHIFT 0
803#define USBH_PRIV_UTMI_CTL_HOSTB_MASK (0xf << USBH_PRIV_UTMI_CTL_HOSTB_SHIFT)
804
782#define USBH_PRIV_TEST_6358_REG 0x24 805#define USBH_PRIV_TEST_6358_REG 0x24
783#define USBH_PRIV_TEST_6368_REG 0x14 806#define USBH_PRIV_TEST_6368_REG 0x14
784 807
@@ -787,6 +810,147 @@
787#define USBH_PRIV_SETUP_IOC_MASK (1 << USBH_PRIV_SETUP_IOC_SHIFT) 810#define USBH_PRIV_SETUP_IOC_MASK (1 << USBH_PRIV_SETUP_IOC_SHIFT)
788 811
789 812
813/*************************************************************************
814 * _REG relative to RSET_USBD
815 *************************************************************************/
816
817/* General control */
818#define USBD_CONTROL_REG 0x00
819#define USBD_CONTROL_TXZLENINS_SHIFT 14
820#define USBD_CONTROL_TXZLENINS_MASK (1 << USBD_CONTROL_TXZLENINS_SHIFT)
821#define USBD_CONTROL_AUTO_CSRS_SHIFT 13
822#define USBD_CONTROL_AUTO_CSRS_MASK (1 << USBD_CONTROL_AUTO_CSRS_SHIFT)
823#define USBD_CONTROL_RXZSCFG_SHIFT 12
824#define USBD_CONTROL_RXZSCFG_MASK (1 << USBD_CONTROL_RXZSCFG_SHIFT)
825#define USBD_CONTROL_INIT_SEL_SHIFT 8
826#define USBD_CONTROL_INIT_SEL_MASK (0xf << USBD_CONTROL_INIT_SEL_SHIFT)
827#define USBD_CONTROL_FIFO_RESET_SHIFT 6
828#define USBD_CONTROL_FIFO_RESET_MASK (3 << USBD_CONTROL_FIFO_RESET_SHIFT)
829#define USBD_CONTROL_SETUPERRLOCK_SHIFT 5
830#define USBD_CONTROL_SETUPERRLOCK_MASK (1 << USBD_CONTROL_SETUPERRLOCK_SHIFT)
831#define USBD_CONTROL_DONE_CSRS_SHIFT 0
832#define USBD_CONTROL_DONE_CSRS_MASK (1 << USBD_CONTROL_DONE_CSRS_SHIFT)
833
834/* Strap options */
835#define USBD_STRAPS_REG 0x04
836#define USBD_STRAPS_APP_SELF_PWR_SHIFT 10
837#define USBD_STRAPS_APP_SELF_PWR_MASK (1 << USBD_STRAPS_APP_SELF_PWR_SHIFT)
838#define USBD_STRAPS_APP_DISCON_SHIFT 9
839#define USBD_STRAPS_APP_DISCON_MASK (1 << USBD_STRAPS_APP_DISCON_SHIFT)
840#define USBD_STRAPS_APP_CSRPRGSUP_SHIFT 8
841#define USBD_STRAPS_APP_CSRPRGSUP_MASK (1 << USBD_STRAPS_APP_CSRPRGSUP_SHIFT)
842#define USBD_STRAPS_APP_RMTWKUP_SHIFT 6
843#define USBD_STRAPS_APP_RMTWKUP_MASK (1 << USBD_STRAPS_APP_RMTWKUP_SHIFT)
844#define USBD_STRAPS_APP_RAM_IF_SHIFT 7
845#define USBD_STRAPS_APP_RAM_IF_MASK (1 << USBD_STRAPS_APP_RAM_IF_SHIFT)
846#define USBD_STRAPS_APP_8BITPHY_SHIFT 2
847#define USBD_STRAPS_APP_8BITPHY_MASK (1 << USBD_STRAPS_APP_8BITPHY_SHIFT)
848#define USBD_STRAPS_SPEED_SHIFT 0
849#define USBD_STRAPS_SPEED_MASK (3 << USBD_STRAPS_SPEED_SHIFT)
850
851/* Stall control */
852#define USBD_STALL_REG 0x08
853#define USBD_STALL_UPDATE_SHIFT 7
854#define USBD_STALL_UPDATE_MASK (1 << USBD_STALL_UPDATE_SHIFT)
855#define USBD_STALL_ENABLE_SHIFT 6
856#define USBD_STALL_ENABLE_MASK (1 << USBD_STALL_ENABLE_SHIFT)
857#define USBD_STALL_EPNUM_SHIFT 0
858#define USBD_STALL_EPNUM_MASK (0xf << USBD_STALL_EPNUM_SHIFT)
859
860/* General status */
861#define USBD_STATUS_REG 0x0c
862#define USBD_STATUS_SOF_SHIFT 16
863#define USBD_STATUS_SOF_MASK (0x7ff << USBD_STATUS_SOF_SHIFT)
864#define USBD_STATUS_SPD_SHIFT 12
865#define USBD_STATUS_SPD_MASK (3 << USBD_STATUS_SPD_SHIFT)
866#define USBD_STATUS_ALTINTF_SHIFT 8
867#define USBD_STATUS_ALTINTF_MASK (0xf << USBD_STATUS_ALTINTF_SHIFT)
868#define USBD_STATUS_INTF_SHIFT 4
869#define USBD_STATUS_INTF_MASK (0xf << USBD_STATUS_INTF_SHIFT)
870#define USBD_STATUS_CFG_SHIFT 0
871#define USBD_STATUS_CFG_MASK (0xf << USBD_STATUS_CFG_SHIFT)
872
873/* Other events */
874#define USBD_EVENTS_REG 0x10
875#define USBD_EVENTS_USB_LINK_SHIFT 10
876#define USBD_EVENTS_USB_LINK_MASK (1 << USBD_EVENTS_USB_LINK_SHIFT)
877
878/* IRQ status */
879#define USBD_EVENT_IRQ_STATUS_REG 0x14
880
881/* IRQ level (2 bits per IRQ event) */
882#define USBD_EVENT_IRQ_CFG_HI_REG 0x18
883
884#define USBD_EVENT_IRQ_CFG_LO_REG 0x1c
885
886#define USBD_EVENT_IRQ_CFG_SHIFT(x) ((x & 0xf) << 1)
887#define USBD_EVENT_IRQ_CFG_MASK(x) (3 << USBD_EVENT_IRQ_CFG_SHIFT(x))
888#define USBD_EVENT_IRQ_CFG_RISING(x) (0 << USBD_EVENT_IRQ_CFG_SHIFT(x))
889#define USBD_EVENT_IRQ_CFG_FALLING(x) (1 << USBD_EVENT_IRQ_CFG_SHIFT(x))
890
891/* IRQ mask (1=unmasked) */
892#define USBD_EVENT_IRQ_MASK_REG 0x20
893
894/* IRQ bits */
895#define USBD_EVENT_IRQ_USB_LINK 10
896#define USBD_EVENT_IRQ_SETCFG 9
897#define USBD_EVENT_IRQ_SETINTF 8
898#define USBD_EVENT_IRQ_ERRATIC_ERR 7
899#define USBD_EVENT_IRQ_SET_CSRS 6
900#define USBD_EVENT_IRQ_SUSPEND 5
901#define USBD_EVENT_IRQ_EARLY_SUSPEND 4
902#define USBD_EVENT_IRQ_SOF 3
903#define USBD_EVENT_IRQ_ENUM_ON 2
904#define USBD_EVENT_IRQ_SETUP 1
905#define USBD_EVENT_IRQ_USB_RESET 0
906
907/* TX FIFO partitioning */
908#define USBD_TXFIFO_CONFIG_REG 0x40
909#define USBD_TXFIFO_CONFIG_END_SHIFT 16
910#define USBD_TXFIFO_CONFIG_END_MASK (0xff << USBD_TXFIFO_CONFIG_END_SHIFT)
911#define USBD_TXFIFO_CONFIG_START_SHIFT 0
912#define USBD_TXFIFO_CONFIG_START_MASK (0xff << USBD_TXFIFO_CONFIG_START_SHIFT)
913
914/* RX FIFO partitioning */
915#define USBD_RXFIFO_CONFIG_REG 0x44
916#define USBD_RXFIFO_CONFIG_END_SHIFT 16
917#define USBD_RXFIFO_CONFIG_END_MASK (0xff << USBD_TXFIFO_CONFIG_END_SHIFT)
918#define USBD_RXFIFO_CONFIG_START_SHIFT 0
919#define USBD_RXFIFO_CONFIG_START_MASK (0xff << USBD_TXFIFO_CONFIG_START_SHIFT)
920
921/* TX FIFO/endpoint configuration */
922#define USBD_TXFIFO_EPSIZE_REG 0x48
923
924/* RX FIFO/endpoint configuration */
925#define USBD_RXFIFO_EPSIZE_REG 0x4c
926
927/* Endpoint<->DMA mappings */
928#define USBD_EPNUM_TYPEMAP_REG 0x50
929#define USBD_EPNUM_TYPEMAP_TYPE_SHIFT 8
930#define USBD_EPNUM_TYPEMAP_TYPE_MASK (0x3 << USBD_EPNUM_TYPEMAP_TYPE_SHIFT)
931#define USBD_EPNUM_TYPEMAP_DMA_CH_SHIFT 0
932#define USBD_EPNUM_TYPEMAP_DMA_CH_MASK (0xf << USBD_EPNUM_TYPEMAP_DMACH_SHIFT)
933
934/* Misc per-endpoint settings */
935#define USBD_CSR_SETUPADDR_REG 0x80
936#define USBD_CSR_SETUPADDR_DEF 0xb550
937
938#define USBD_CSR_EP_REG(x) (0x84 + (x) * 4)
939#define USBD_CSR_EP_MAXPKT_SHIFT 19
940#define USBD_CSR_EP_MAXPKT_MASK (0x7ff << USBD_CSR_EP_MAXPKT_SHIFT)
941#define USBD_CSR_EP_ALTIFACE_SHIFT 15
942#define USBD_CSR_EP_ALTIFACE_MASK (0xf << USBD_CSR_EP_ALTIFACE_SHIFT)
943#define USBD_CSR_EP_IFACE_SHIFT 11
944#define USBD_CSR_EP_IFACE_MASK (0xf << USBD_CSR_EP_IFACE_SHIFT)
945#define USBD_CSR_EP_CFG_SHIFT 7
946#define USBD_CSR_EP_CFG_MASK (0xf << USBD_CSR_EP_CFG_SHIFT)
947#define USBD_CSR_EP_TYPE_SHIFT 5
948#define USBD_CSR_EP_TYPE_MASK (3 << USBD_CSR_EP_TYPE_SHIFT)
949#define USBD_CSR_EP_DIR_SHIFT 4
950#define USBD_CSR_EP_DIR_MASK (1 << USBD_CSR_EP_DIR_SHIFT)
951#define USBD_CSR_EP_LOG_SHIFT 0
952#define USBD_CSR_EP_LOG_MASK (0xf << USBD_CSR_EP_LOG_SHIFT)
953
790 954
791/************************************************************************* 955/*************************************************************************
792 * _REG relative to RSET_MPI 956 * _REG relative to RSET_MPI
diff --git a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
index 474daaa53497..b0dd4bb53f7e 100644
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -5,6 +5,7 @@
5#include <linux/gpio.h> 5#include <linux/gpio.h>
6#include <linux/leds.h> 6#include <linux/leds.h>
7#include <bcm63xx_dev_enet.h> 7#include <bcm63xx_dev_enet.h>
8#include <bcm63xx_dev_usb_usbd.h>
8#include <bcm63xx_dev_dsp.h> 9#include <bcm63xx_dev_dsp.h>
9 10
10/* 11/*
@@ -44,6 +45,7 @@ struct board_info {
44 unsigned int has_pccard:1; 45 unsigned int has_pccard:1;
45 unsigned int has_ohci0:1; 46 unsigned int has_ohci0:1;
46 unsigned int has_ehci0:1; 47 unsigned int has_ehci0:1;
48 unsigned int has_usbd:1;
47 unsigned int has_dsp:1; 49 unsigned int has_dsp:1;
48 unsigned int has_uart0:1; 50 unsigned int has_uart0:1;
49 unsigned int has_uart1:1; 51 unsigned int has_uart1:1;
@@ -52,6 +54,9 @@ struct board_info {
52 struct bcm63xx_enet_platform_data enet0; 54 struct bcm63xx_enet_platform_data enet0;
53 struct bcm63xx_enet_platform_data enet1; 55 struct bcm63xx_enet_platform_data enet1;
54 56
57 /* USB config */
58 struct bcm63xx_usbd_platform_data usbd;
59
55 /* DSP config */ 60 /* DSP config */
56 struct bcm63xx_dsp_platform_data dsp; 61 struct bcm63xx_dsp_platform_data dsp;
57 62
diff --git a/arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h b/arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
index a58addb98cfd..375ad0c815fe 100644
--- a/arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
@@ -58,7 +58,7 @@
58#define cpu_has_veic 0 58#define cpu_has_veic 0
59#define cpu_hwrena_impl_bits 0xc0000000 59#define cpu_hwrena_impl_bits 0xc0000000
60 60
61#define kernel_uses_smartmips_rixi (cpu_data[0].cputype != CPU_CAVIUM_OCTEON) 61#define cpu_has_rixi (cpu_data[0].cputype != CPU_CAVIUM_OCTEON)
62 62
63#define ARCH_HAS_IRQ_PER_CPU 1 63#define ARCH_HAS_IRQ_PER_CPU 1
64#define ARCH_HAS_SPINLOCK_PREFETCH 1 64#define ARCH_HAS_SPINLOCK_PREFETCH 1
diff --git a/arch/mips/include/asm/mach-cavium-octeon/irq.h b/arch/mips/include/asm/mach-cavium-octeon/irq.h
index c22a3078bf11..ff0d4909d848 100644
--- a/arch/mips/include/asm/mach-cavium-octeon/irq.h
+++ b/arch/mips/include/asm/mach-cavium-octeon/irq.h
@@ -21,10 +21,11 @@ enum octeon_irq {
21 OCTEON_IRQ_TIMER, 21 OCTEON_IRQ_TIMER,
22/* sources in CIU_INTX_EN0 */ 22/* sources in CIU_INTX_EN0 */
23 OCTEON_IRQ_WORKQ0, 23 OCTEON_IRQ_WORKQ0,
24 OCTEON_IRQ_WDOG0 = OCTEON_IRQ_WORKQ0 + 16, 24 OCTEON_IRQ_WDOG0 = OCTEON_IRQ_WORKQ0 + 64,
25 OCTEON_IRQ_WDOG15 = OCTEON_IRQ_WDOG0 + 15, 25 OCTEON_IRQ_MBOX0 = OCTEON_IRQ_WDOG0 + 32,
26 OCTEON_IRQ_MBOX0 = OCTEON_IRQ_WDOG0 + 16,
27 OCTEON_IRQ_MBOX1, 26 OCTEON_IRQ_MBOX1,
27 OCTEON_IRQ_MBOX2,
28 OCTEON_IRQ_MBOX3,
28 OCTEON_IRQ_PCI_INT0, 29 OCTEON_IRQ_PCI_INT0,
29 OCTEON_IRQ_PCI_INT1, 30 OCTEON_IRQ_PCI_INT1,
30 OCTEON_IRQ_PCI_INT2, 31 OCTEON_IRQ_PCI_INT2,
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
index 318f982f04ff..c6b63a409641 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
@@ -20,4 +20,6 @@
20 20
21#define MIPS_CPU_TIMER_IRQ 7 21#define MIPS_CPU_TIMER_IRQ 7
22 22
23#define MAX_IM 5
24
23#endif /* _FALCON_IRQ__ */ 25#endif /* _FALCON_IRQ__ */
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
index b385252584ee..fccac3592651 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -57,6 +57,10 @@ extern __iomem void *ltq_sys1_membase;
57#define ltq_sys1_w32_mask(clear, set, reg) \ 57#define ltq_sys1_w32_mask(clear, set, reg) \
58 ltq_sys1_w32((ltq_sys1_r32(reg) & ~(clear)) | (set), reg) 58 ltq_sys1_w32((ltq_sys1_r32(reg) & ~(clear)) | (set), reg)
59 59
60/* allow the gpio and pinctrl drivers to talk to eachother */
61extern int pinctrl_falcon_get_range_size(int id);
62extern void pinctrl_falcon_add_gpio_range(struct pinctrl_gpio_range *range);
63
60/* 64/*
61 * to keep the irq code generic we need to define this to 0 as falcon 65 * to keep the irq code generic we need to define this to 0 as falcon
62 * has no EIU/EBU 66 * has no EIU/EBU
diff --git a/arch/mips/include/asm/mach-lantiq/gpio.h b/arch/mips/include/asm/mach-lantiq/gpio.h
index f79505b43609..9ba1caebca5f 100644
--- a/arch/mips/include/asm/mach-lantiq/gpio.h
+++ b/arch/mips/include/asm/mach-lantiq/gpio.h
@@ -1,10 +1,7 @@
1#ifndef __ASM_MIPS_MACH_LANTIQ_GPIO_H 1#ifndef __ASM_MIPS_MACH_LANTIQ_GPIO_H
2#define __ASM_MIPS_MACH_LANTIQ_GPIO_H 2#define __ASM_MIPS_MACH_LANTIQ_GPIO_H
3 3
4static inline int gpio_to_irq(unsigned int gpio) 4#define gpio_to_irq __gpio_to_irq
5{
6 return -1;
7}
8 5
9#define gpio_get_value __gpio_get_value 6#define gpio_get_value __gpio_get_value
10#define gpio_set_value __gpio_set_value 7#define gpio_set_value __gpio_set_value
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
index aa0b3b866f84..5eadfe582529 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
@@ -21,4 +21,6 @@
21 21
22#define MIPS_CPU_TIMER_IRQ 7 22#define MIPS_CPU_TIMER_IRQ 7
23 23
24#define MAX_IM 5
25
24#endif 26#endif
diff --git a/arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h b/arch/mips/include/asm/mach-sead3/cpu-feature-overrides.h
index 27aaaa5d925e..7f3e3f9bd23a 100644
--- a/arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-sead3/cpu-feature-overrides.h
@@ -4,9 +4,10 @@
4 * for more details. 4 * for more details.
5 * 5 *
6 * Copyright (C) 2003, 2004 Chris Dearman 6 * Copyright (C) 2003, 2004 Chris Dearman
7 * Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
7 */ 8 */
8#ifndef __ASM_MACH_SIM_CPU_FEATURE_OVERRIDES_H 9#ifndef __ASM_MACH_MIPS_CPU_FEATURE_OVERRIDES_H
9#define __ASM_MACH_SIM_CPU_FEATURE_OVERRIDES_H 10#define __ASM_MACH_MIPS_CPU_FEATURE_OVERRIDES_H
10 11
11 12
12/* 13/*
@@ -16,7 +17,7 @@
16#define cpu_has_tlb 1 17#define cpu_has_tlb 1
17#define cpu_has_4kex 1 18#define cpu_has_4kex 1
18#define cpu_has_4k_cache 1 19#define cpu_has_4k_cache 1
19#define cpu_has_fpu 0 20/* #define cpu_has_fpu ? */
20/* #define cpu_has_32fpr ? */ 21/* #define cpu_has_32fpr ? */
21#define cpu_has_counter 1 22#define cpu_has_counter 1
22/* #define cpu_has_watch ? */ 23/* #define cpu_has_watch ? */
@@ -27,15 +28,19 @@
27/* #define cpu_has_prefetch ? */ 28/* #define cpu_has_prefetch ? */
28#define cpu_has_mcheck 1 29#define cpu_has_mcheck 1
29/* #define cpu_has_ejtag ? */ 30/* #define cpu_has_ejtag ? */
31#ifdef CONFIG_CPU_HAS_LLSC
30#define cpu_has_llsc 1 32#define cpu_has_llsc 1
33#else
34#define cpu_has_llsc 0
35#endif
31/* #define cpu_has_vtag_icache ? */ 36/* #define cpu_has_vtag_icache ? */
32/* #define cpu_has_dc_aliases ? */ 37/* #define cpu_has_dc_aliases ? */
33/* #define cpu_has_ic_fills_f_dc ? */ 38/* #define cpu_has_ic_fills_f_dc ? */
34#define cpu_has_clo_clz 1
35#define cpu_has_nofpuex 0 39#define cpu_has_nofpuex 0
36/* #define cpu_has_64bits ? */ 40/* #define cpu_has_64bits ? */
37/* #define cpu_has_64bit_zero_reg ? */ 41/* #define cpu_has_64bit_zero_reg ? */
38/* #define cpu_has_inclusive_pcaches ? */ 42/* #define cpu_has_inclusive_pcaches ? */
43#define cpu_icache_snoops_remote_store 1
39#endif 44#endif
40 45
41#ifdef CONFIG_CPU_MIPS64 46#ifdef CONFIG_CPU_MIPS64
@@ -57,11 +62,11 @@
57/* #define cpu_has_vtag_icache ? */ 62/* #define cpu_has_vtag_icache ? */
58/* #define cpu_has_dc_aliases ? */ 63/* #define cpu_has_dc_aliases ? */
59/* #define cpu_has_ic_fills_f_dc ? */ 64/* #define cpu_has_ic_fills_f_dc ? */
60#define cpu_has_clo_clz 1
61#define cpu_has_nofpuex 0 65#define cpu_has_nofpuex 0
62/* #define cpu_has_64bits ? */ 66/* #define cpu_has_64bits ? */
63/* #define cpu_has_64bit_zero_reg ? */ 67/* #define cpu_has_64bit_zero_reg ? */
64/* #define cpu_has_inclusive_pcaches ? */ 68/* #define cpu_has_inclusive_pcaches ? */
69#define cpu_icache_snoops_remote_store 1
65#endif 70#endif
66 71
67#endif /* __ASM_MACH_MIPS_CPU_FEATURE_OVERRIDES_H */ 72#endif /* __ASM_MACH_MIPS_CPU_FEATURE_OVERRIDES_H */
diff --git a/arch/mips/include/asm/mach-sead3/irq.h b/arch/mips/include/asm/mach-sead3/irq.h
new file mode 100644
index 000000000000..652ea4c38cda
--- /dev/null
+++ b/arch/mips/include/asm/mach-sead3/irq.h
@@ -0,0 +1,9 @@
1#ifndef __ASM_MACH_MIPS_IRQ_H
2#define __ASM_MACH_MIPS_IRQ_H
3
4#define NR_IRQS 256
5
6
7#include_next <irq.h>
8
9#endif /* __ASM_MACH_MIPS_IRQ_H */
diff --git a/arch/mips/include/asm/mach-sead3/kernel-entry-init.h b/arch/mips/include/asm/mach-sead3/kernel-entry-init.h
new file mode 100644
index 000000000000..3dfbd8e7947f
--- /dev/null
+++ b/arch/mips/include/asm/mach-sead3/kernel-entry-init.h
@@ -0,0 +1,52 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Chris Dearman (chris@mips.com)
7 * Copyright (C) 2007 Mips Technologies, Inc.
8 */
9#ifndef __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H
10#define __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H
11
12 .macro kernel_entry_setup
13#ifdef CONFIG_MIPS_MT_SMTC
14 mfc0 t0, CP0_CONFIG
15 bgez t0, 9f
16 mfc0 t0, CP0_CONFIG, 1
17 bgez t0, 9f
18 mfc0 t0, CP0_CONFIG, 2
19 bgez t0, 9f
20 mfc0 t0, CP0_CONFIG, 3
21 and t0, 1<<2
22 bnez t0, 0f
239 :
24 /* Assume we came from YAMON... */
25 PTR_LA v0, 0x9fc00534 /* YAMON print */
26 lw v0, (v0)
27 move a0, zero
28 PTR_LA a1, nonmt_processor
29 jal v0
30
31 PTR_LA v0, 0x9fc00520 /* YAMON exit */
32 lw v0, (v0)
33 li a0, 1
34 jal v0
35
361 : b 1b
37
38 __INITDATA
39nonmt_processor :
40 .asciz "SMTC kernel requires the MT ASE to run\n"
41 __FINIT
420 :
43#endif
44 .endm
45
46/*
47 * Do SMP slave processor setup necessary before we can safely execute C code.
48 */
49 .macro smp_slave_setup
50 .endm
51
52#endif /* __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H */
diff --git a/arch/mips/include/asm/mach-mipssim/war.h b/arch/mips/include/asm/mach-sead3/war.h
index c8a74a3515e0..7c6931d5f45f 100644
--- a/arch/mips/include/asm/mach-mipssim/war.h
+++ b/arch/mips/include/asm/mach-sead3/war.h
@@ -5,8 +5,8 @@
5 * 5 *
6 * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> 6 * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org>
7 */ 7 */
8#ifndef __ASM_MIPS_MACH_MIPSSIM_WAR_H 8#ifndef __ASM_MIPS_MACH_MIPS_WAR_H
9#define __ASM_MIPS_MACH_MIPSSIM_WAR_H 9#define __ASM_MIPS_MACH_MIPS_WAR_H
10 10
11#define R4600_V1_INDEX_ICACHEOP_WAR 0 11#define R4600_V1_INDEX_ICACHEOP_WAR 0
12#define R4600_V1_HIT_CACHEOP_WAR 0 12#define R4600_V1_HIT_CACHEOP_WAR 0
@@ -14,12 +14,12 @@
14#define R5432_CP0_INTERRUPT_WAR 0 14#define R5432_CP0_INTERRUPT_WAR 0
15#define BCM1250_M3_WAR 0 15#define BCM1250_M3_WAR 0
16#define SIBYTE_1956_WAR 0 16#define SIBYTE_1956_WAR 0
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 1
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 1
19#define TX49XX_ICACHE_INDEX_INV_WAR 0 19#define TX49XX_ICACHE_INDEX_INV_WAR 0
20#define RM9000_CDEX_SMP_WAR 0 20#define RM9000_CDEX_SMP_WAR 0
21#define ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 1
22#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
23#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
24 24
25#endif /* __ASM_MIPS_MACH_MIPSSIM_WAR_H */ 25#endif /* __ASM_MIPS_MACH_MIPS_WAR_H */
diff --git a/arch/mips/include/asm/mips-boards/maltaint.h b/arch/mips/include/asm/mips-boards/maltaint.h
index 5447d9fc4219..669244815753 100644
--- a/arch/mips/include/asm/mips-boards/maltaint.h
+++ b/arch/mips/include/asm/mips-boards/maltaint.h
@@ -1,31 +1,16 @@
1/* 1/*
2 * Carsten Langgaard, carstenl@mips.com 2 * This file is subject to the terms and conditions of the GNU General Public
3 * Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved. 3 * License. See the file "COPYING" in the main directory of this archive
4 * 4 * for more details.
5 * ########################################################################
6 *
7 * This program is free software; you can distribute it and/or modify it
8 * under the terms of the GNU General Public License (Version 2) as
9 * published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
19 *
20 * ########################################################################
21 *
22 * Defines for the Malta interrupt controller.
23 * 5 *
6 * Copyright (C) 2000,2012 MIPS Technologies, Inc. All rights reserved.
7 * Carsten Langgaard <carstenl@mips.com>
8 * Steven J. Hill <sjhill@mips.com>
24 */ 9 */
25#ifndef _MIPS_MALTAINT_H 10#ifndef _MIPS_MALTAINT_H
26#define _MIPS_MALTAINT_H 11#define _MIPS_MALTAINT_H
27 12
28#include <irq.h> 13#define MIPS_GIC_IRQ_BASE (MIPS_CPU_IRQ_BASE + 8)
29 14
30/* 15/*
31 * Interrupts 0..15 are used for Malta ISA compatible interrupts 16 * Interrupts 0..15 are used for Malta ISA compatible interrupts
@@ -78,26 +63,6 @@
78#define MSC01E_INT_PERFCTR 10 63#define MSC01E_INT_PERFCTR 10
79#define MSC01E_INT_CPUCTR 11 64#define MSC01E_INT_CPUCTR 11
80 65
81/* GIC's Nomenclature for Core Interrupt Pins on the Malta */
82#define GIC_CPU_INT0 0 /* Core Interrupt 2 */
83#define GIC_CPU_INT1 1 /* . */
84#define GIC_CPU_INT2 2 /* . */
85#define GIC_CPU_INT3 3 /* . */
86#define GIC_CPU_INT4 4 /* . */
87#define GIC_CPU_INT5 5 /* Core Interrupt 5 */
88
89/* MALTA GIC local interrupts */
90#define GIC_INT_TMR (GIC_CPU_INT5)
91#define GIC_INT_PERFCTR (GIC_CPU_INT5)
92
93/* GIC constants */
94/* Add 2 to convert non-eic hw int # to eic vector # */
95#define GIC_CPU_TO_VEC_OFFSET (2)
96/* If we map an intr to pin X, GIC will actually generate vector X+1 */
97#define GIC_PIN_TO_VEC_OFFSET (1)
98
99#define GIC_EXT_INTR(x) x
100
101/* External Interrupts used for IPI */ 66/* External Interrupts used for IPI */
102#define GIC_IPI_EXT_INTR_RESCHED_VPE0 16 67#define GIC_IPI_EXT_INTR_RESCHED_VPE0 16
103#define GIC_IPI_EXT_INTR_CALLFNC_VPE0 17 68#define GIC_IPI_EXT_INTR_CALLFNC_VPE0 17
@@ -108,10 +73,4 @@
108#define GIC_IPI_EXT_INTR_RESCHED_VPE3 22 73#define GIC_IPI_EXT_INTR_RESCHED_VPE3 22
109#define GIC_IPI_EXT_INTR_CALLFNC_VPE3 23 74#define GIC_IPI_EXT_INTR_CALLFNC_VPE3 23
110 75
111#define MIPS_GIC_IRQ_BASE (MIPS_CPU_IRQ_BASE + 8)
112
113#ifndef __ASSEMBLY__
114extern void maltaint_init(void);
115#endif
116
117#endif /* !(_MIPS_MALTAINT_H) */ 76#endif /* !(_MIPS_MALTAINT_H) */
diff --git a/arch/mips/include/asm/mips-boards/sead3int.h b/arch/mips/include/asm/mips-boards/sead3int.h
new file mode 100644
index 000000000000..d634d9a807f6
--- /dev/null
+++ b/arch/mips/include/asm/mips-boards/sead3int.h
@@ -0,0 +1,19 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2000,2012 MIPS Technologies, Inc. All rights reserved.
7 * Douglas Leung <douglas@mips.com>
8 * Steven J. Hill <sjhill@mips.com>
9 */
10#ifndef _MIPS_SEAD3INT_H
11#define _MIPS_SEAD3INT_H
12
13/* SEAD-3 GIC address space definitions. */
14#define GIC_BASE_ADDR 0x1b1c0000
15#define GIC_ADDRSPACE_SZ (128 * 1024)
16
17#define MIPS_GIC_IRQ_BASE (MIPS_CPU_IRQ_BASE + 0)
18
19#endif /* !(_MIPS_SEAD3INT_H) */
diff --git a/arch/mips/include/asm/mips-boards/simint.h b/arch/mips/include/asm/mips-boards/simint.h
deleted file mode 100644
index 8ef6db76d5c1..000000000000
--- a/arch/mips/include/asm/mips-boards/simint.h
+++ /dev/null
@@ -1,31 +0,0 @@
1/*
2 * Copyright (C) 2005 MIPS Technologies, Inc. All rights reserved.
3 *
4 * This program is free software; you can distribute it and/or modify it
5 * under the terms of the GNU General Public License (Version 2) as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 * for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16 */
17#ifndef _MIPS_SIMINT_H
18#define _MIPS_SIMINT_H
19
20#include <irq.h>
21
22#define SIM_INT_BASE 0
23#define MIPSCPU_INT_MB0 2
24#define MIPS_CPU_TIMER_IRQ 7
25
26
27#define MSC01E_INT_BASE 64
28
29#define MSC01E_INT_CPUCTR 11
30
31#endif
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
index 7f87d824eeb0..528fda1e957c 100644
--- a/arch/mips/include/asm/mipsregs.h
+++ b/arch/mips/include/asm/mipsregs.h
@@ -590,12 +590,15 @@
590#define MIPS_CONF3_VEIC (_ULCAST_(1) << 6) 590#define MIPS_CONF3_VEIC (_ULCAST_(1) << 6)
591#define MIPS_CONF3_LPA (_ULCAST_(1) << 7) 591#define MIPS_CONF3_LPA (_ULCAST_(1) << 7)
592#define MIPS_CONF3_DSP (_ULCAST_(1) << 10) 592#define MIPS_CONF3_DSP (_ULCAST_(1) << 10)
593#define MIPS_CONF3_RXI (_ULCAST_(1) << 12)
593#define MIPS_CONF3_ULRI (_ULCAST_(1) << 13) 594#define MIPS_CONF3_ULRI (_ULCAST_(1) << 13)
594 595
595#define MIPS_CONF4_MMUSIZEEXT (_ULCAST_(255) << 0) 596#define MIPS_CONF4_MMUSIZEEXT (_ULCAST_(255) << 0)
596#define MIPS_CONF4_MMUEXTDEF (_ULCAST_(3) << 14) 597#define MIPS_CONF4_MMUEXTDEF (_ULCAST_(3) << 14)
597#define MIPS_CONF4_MMUEXTDEF_MMUSIZEEXT (_ULCAST_(1) << 14) 598#define MIPS_CONF4_MMUEXTDEF_MMUSIZEEXT (_ULCAST_(1) << 14)
598 599
600#define MIPS_CONF6_SYND (_ULCAST_(1) << 13)
601
599#define MIPS_CONF7_WII (_ULCAST_(1) << 31) 602#define MIPS_CONF7_WII (_ULCAST_(1) << 31)
600 603
601#define MIPS_CONF7_RPS (_ULCAST_(1) << 2) 604#define MIPS_CONF7_RPS (_ULCAST_(1) << 2)
diff --git a/arch/mips/include/asm/octeon/cvmx-agl-defs.h b/arch/mips/include/asm/octeon/cvmx-agl-defs.h
index 30d68f2365e0..542ee09510b3 100644
--- a/arch/mips/include/asm/octeon/cvmx-agl-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-agl-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -106,6 +106,7 @@
106union cvmx_agl_gmx_bad_reg { 106union cvmx_agl_gmx_bad_reg {
107 uint64_t u64; 107 uint64_t u64;
108 struct cvmx_agl_gmx_bad_reg_s { 108 struct cvmx_agl_gmx_bad_reg_s {
109#ifdef __BIG_ENDIAN_BITFIELD
109 uint64_t reserved_38_63:26; 110 uint64_t reserved_38_63:26;
110 uint64_t txpsh1:1; 111 uint64_t txpsh1:1;
111 uint64_t txpop1:1; 112 uint64_t txpop1:1;
@@ -120,8 +121,25 @@ union cvmx_agl_gmx_bad_reg {
120 uint64_t reserved_4_21:18; 121 uint64_t reserved_4_21:18;
121 uint64_t out_ovr:2; 122 uint64_t out_ovr:2;
122 uint64_t reserved_0_1:2; 123 uint64_t reserved_0_1:2;
124#else
125 uint64_t reserved_0_1:2;
126 uint64_t out_ovr:2;
127 uint64_t reserved_4_21:18;
128 uint64_t loststat:2;
129 uint64_t reserved_24_25:2;
130 uint64_t statovr:1;
131 uint64_t reserved_27_31:5;
132 uint64_t ovrflw:1;
133 uint64_t txpop:1;
134 uint64_t txpsh:1;
135 uint64_t ovrflw1:1;
136 uint64_t txpop1:1;
137 uint64_t txpsh1:1;
138 uint64_t reserved_38_63:26;
139#endif
123 } s; 140 } s;
124 struct cvmx_agl_gmx_bad_reg_cn52xx { 141 struct cvmx_agl_gmx_bad_reg_cn52xx {
142#ifdef __BIG_ENDIAN_BITFIELD
125 uint64_t reserved_38_63:26; 143 uint64_t reserved_38_63:26;
126 uint64_t txpsh1:1; 144 uint64_t txpsh1:1;
127 uint64_t txpop1:1; 145 uint64_t txpop1:1;
@@ -136,9 +154,26 @@ union cvmx_agl_gmx_bad_reg {
136 uint64_t reserved_4_21:18; 154 uint64_t reserved_4_21:18;
137 uint64_t out_ovr:2; 155 uint64_t out_ovr:2;
138 uint64_t reserved_0_1:2; 156 uint64_t reserved_0_1:2;
157#else
158 uint64_t reserved_0_1:2;
159 uint64_t out_ovr:2;
160 uint64_t reserved_4_21:18;
161 uint64_t loststat:1;
162 uint64_t reserved_23_25:3;
163 uint64_t statovr:1;
164 uint64_t reserved_27_31:5;
165 uint64_t ovrflw:1;
166 uint64_t txpop:1;
167 uint64_t txpsh:1;
168 uint64_t ovrflw1:1;
169 uint64_t txpop1:1;
170 uint64_t txpsh1:1;
171 uint64_t reserved_38_63:26;
172#endif
139 } cn52xx; 173 } cn52xx;
140 struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1; 174 struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1;
141 struct cvmx_agl_gmx_bad_reg_cn56xx { 175 struct cvmx_agl_gmx_bad_reg_cn56xx {
176#ifdef __BIG_ENDIAN_BITFIELD
142 uint64_t reserved_35_63:29; 177 uint64_t reserved_35_63:29;
143 uint64_t txpsh:1; 178 uint64_t txpsh:1;
144 uint64_t txpop:1; 179 uint64_t txpop:1;
@@ -150,32 +185,64 @@ union cvmx_agl_gmx_bad_reg {
150 uint64_t reserved_3_21:19; 185 uint64_t reserved_3_21:19;
151 uint64_t out_ovr:1; 186 uint64_t out_ovr:1;
152 uint64_t reserved_0_1:2; 187 uint64_t reserved_0_1:2;
188#else
189 uint64_t reserved_0_1:2;
190 uint64_t out_ovr:1;
191 uint64_t reserved_3_21:19;
192 uint64_t loststat:1;
193 uint64_t reserved_23_25:3;
194 uint64_t statovr:1;
195 uint64_t reserved_27_31:5;
196 uint64_t ovrflw:1;
197 uint64_t txpop:1;
198 uint64_t txpsh:1;
199 uint64_t reserved_35_63:29;
200#endif
153 } cn56xx; 201 } cn56xx;
154 struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1; 202 struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1;
203 struct cvmx_agl_gmx_bad_reg_s cn61xx;
155 struct cvmx_agl_gmx_bad_reg_s cn63xx; 204 struct cvmx_agl_gmx_bad_reg_s cn63xx;
156 struct cvmx_agl_gmx_bad_reg_s cn63xxp1; 205 struct cvmx_agl_gmx_bad_reg_s cn63xxp1;
206 struct cvmx_agl_gmx_bad_reg_s cn66xx;
207 struct cvmx_agl_gmx_bad_reg_s cn68xx;
208 struct cvmx_agl_gmx_bad_reg_s cn68xxp1;
157}; 209};
158 210
159union cvmx_agl_gmx_bist { 211union cvmx_agl_gmx_bist {
160 uint64_t u64; 212 uint64_t u64;
161 struct cvmx_agl_gmx_bist_s { 213 struct cvmx_agl_gmx_bist_s {
214#ifdef __BIG_ENDIAN_BITFIELD
162 uint64_t reserved_25_63:39; 215 uint64_t reserved_25_63:39;
163 uint64_t status:25; 216 uint64_t status:25;
217#else
218 uint64_t status:25;
219 uint64_t reserved_25_63:39;
220#endif
164 } s; 221 } s;
165 struct cvmx_agl_gmx_bist_cn52xx { 222 struct cvmx_agl_gmx_bist_cn52xx {
223#ifdef __BIG_ENDIAN_BITFIELD
166 uint64_t reserved_10_63:54; 224 uint64_t reserved_10_63:54;
167 uint64_t status:10; 225 uint64_t status:10;
226#else
227 uint64_t status:10;
228 uint64_t reserved_10_63:54;
229#endif
168 } cn52xx; 230 } cn52xx;
169 struct cvmx_agl_gmx_bist_cn52xx cn52xxp1; 231 struct cvmx_agl_gmx_bist_cn52xx cn52xxp1;
170 struct cvmx_agl_gmx_bist_cn52xx cn56xx; 232 struct cvmx_agl_gmx_bist_cn52xx cn56xx;
171 struct cvmx_agl_gmx_bist_cn52xx cn56xxp1; 233 struct cvmx_agl_gmx_bist_cn52xx cn56xxp1;
234 struct cvmx_agl_gmx_bist_s cn61xx;
172 struct cvmx_agl_gmx_bist_s cn63xx; 235 struct cvmx_agl_gmx_bist_s cn63xx;
173 struct cvmx_agl_gmx_bist_s cn63xxp1; 236 struct cvmx_agl_gmx_bist_s cn63xxp1;
237 struct cvmx_agl_gmx_bist_s cn66xx;
238 struct cvmx_agl_gmx_bist_s cn68xx;
239 struct cvmx_agl_gmx_bist_s cn68xxp1;
174}; 240};
175 241
176union cvmx_agl_gmx_drv_ctl { 242union cvmx_agl_gmx_drv_ctl {
177 uint64_t u64; 243 uint64_t u64;
178 struct cvmx_agl_gmx_drv_ctl_s { 244 struct cvmx_agl_gmx_drv_ctl_s {
245#ifdef __BIG_ENDIAN_BITFIELD
179 uint64_t reserved_49_63:15; 246 uint64_t reserved_49_63:15;
180 uint64_t byp_en1:1; 247 uint64_t byp_en1:1;
181 uint64_t reserved_45_47:3; 248 uint64_t reserved_45_47:3;
@@ -188,16 +255,39 @@ union cvmx_agl_gmx_drv_ctl {
188 uint64_t pctl:5; 255 uint64_t pctl:5;
189 uint64_t reserved_5_7:3; 256 uint64_t reserved_5_7:3;
190 uint64_t nctl:5; 257 uint64_t nctl:5;
258#else
259 uint64_t nctl:5;
260 uint64_t reserved_5_7:3;
261 uint64_t pctl:5;
262 uint64_t reserved_13_15:3;
263 uint64_t byp_en:1;
264 uint64_t reserved_17_31:15;
265 uint64_t nctl1:5;
266 uint64_t reserved_37_39:3;
267 uint64_t pctl1:5;
268 uint64_t reserved_45_47:3;
269 uint64_t byp_en1:1;
270 uint64_t reserved_49_63:15;
271#endif
191 } s; 272 } s;
192 struct cvmx_agl_gmx_drv_ctl_s cn52xx; 273 struct cvmx_agl_gmx_drv_ctl_s cn52xx;
193 struct cvmx_agl_gmx_drv_ctl_s cn52xxp1; 274 struct cvmx_agl_gmx_drv_ctl_s cn52xxp1;
194 struct cvmx_agl_gmx_drv_ctl_cn56xx { 275 struct cvmx_agl_gmx_drv_ctl_cn56xx {
276#ifdef __BIG_ENDIAN_BITFIELD
195 uint64_t reserved_17_63:47; 277 uint64_t reserved_17_63:47;
196 uint64_t byp_en:1; 278 uint64_t byp_en:1;
197 uint64_t reserved_13_15:3; 279 uint64_t reserved_13_15:3;
198 uint64_t pctl:5; 280 uint64_t pctl:5;
199 uint64_t reserved_5_7:3; 281 uint64_t reserved_5_7:3;
200 uint64_t nctl:5; 282 uint64_t nctl:5;
283#else
284 uint64_t nctl:5;
285 uint64_t reserved_5_7:3;
286 uint64_t pctl:5;
287 uint64_t reserved_13_15:3;
288 uint64_t byp_en:1;
289 uint64_t reserved_17_63:47;
290#endif
201 } cn56xx; 291 } cn56xx;
202 struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1; 292 struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1;
203}; 293};
@@ -205,9 +295,15 @@ union cvmx_agl_gmx_drv_ctl {
205union cvmx_agl_gmx_inf_mode { 295union cvmx_agl_gmx_inf_mode {
206 uint64_t u64; 296 uint64_t u64;
207 struct cvmx_agl_gmx_inf_mode_s { 297 struct cvmx_agl_gmx_inf_mode_s {
298#ifdef __BIG_ENDIAN_BITFIELD
208 uint64_t reserved_2_63:62; 299 uint64_t reserved_2_63:62;
209 uint64_t en:1; 300 uint64_t en:1;
210 uint64_t reserved_0_0:1; 301 uint64_t reserved_0_0:1;
302#else
303 uint64_t reserved_0_0:1;
304 uint64_t en:1;
305 uint64_t reserved_2_63:62;
306#endif
211 } s; 307 } s;
212 struct cvmx_agl_gmx_inf_mode_s cn52xx; 308 struct cvmx_agl_gmx_inf_mode_s cn52xx;
213 struct cvmx_agl_gmx_inf_mode_s cn52xxp1; 309 struct cvmx_agl_gmx_inf_mode_s cn52xxp1;
@@ -218,6 +314,7 @@ union cvmx_agl_gmx_inf_mode {
218union cvmx_agl_gmx_prtx_cfg { 314union cvmx_agl_gmx_prtx_cfg {
219 uint64_t u64; 315 uint64_t u64;
220 struct cvmx_agl_gmx_prtx_cfg_s { 316 struct cvmx_agl_gmx_prtx_cfg_s {
317#ifdef __BIG_ENDIAN_BITFIELD
221 uint64_t reserved_14_63:50; 318 uint64_t reserved_14_63:50;
222 uint64_t tx_idle:1; 319 uint64_t tx_idle:1;
223 uint64_t rx_idle:1; 320 uint64_t rx_idle:1;
@@ -231,8 +328,24 @@ union cvmx_agl_gmx_prtx_cfg {
231 uint64_t duplex:1; 328 uint64_t duplex:1;
232 uint64_t speed:1; 329 uint64_t speed:1;
233 uint64_t en:1; 330 uint64_t en:1;
331#else
332 uint64_t en:1;
333 uint64_t speed:1;
334 uint64_t duplex:1;
335 uint64_t slottime:1;
336 uint64_t rx_en:1;
337 uint64_t tx_en:1;
338 uint64_t burst:1;
339 uint64_t reserved_7_7:1;
340 uint64_t speed_msb:1;
341 uint64_t reserved_9_11:3;
342 uint64_t rx_idle:1;
343 uint64_t tx_idle:1;
344 uint64_t reserved_14_63:50;
345#endif
234 } s; 346 } s;
235 struct cvmx_agl_gmx_prtx_cfg_cn52xx { 347 struct cvmx_agl_gmx_prtx_cfg_cn52xx {
348#ifdef __BIG_ENDIAN_BITFIELD
236 uint64_t reserved_6_63:58; 349 uint64_t reserved_6_63:58;
237 uint64_t tx_en:1; 350 uint64_t tx_en:1;
238 uint64_t rx_en:1; 351 uint64_t rx_en:1;
@@ -240,139 +353,230 @@ union cvmx_agl_gmx_prtx_cfg {
240 uint64_t duplex:1; 353 uint64_t duplex:1;
241 uint64_t speed:1; 354 uint64_t speed:1;
242 uint64_t en:1; 355 uint64_t en:1;
356#else
357 uint64_t en:1;
358 uint64_t speed:1;
359 uint64_t duplex:1;
360 uint64_t slottime:1;
361 uint64_t rx_en:1;
362 uint64_t tx_en:1;
363 uint64_t reserved_6_63:58;
364#endif
243 } cn52xx; 365 } cn52xx;
244 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1; 366 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1;
245 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx; 367 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx;
246 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1; 368 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1;
369 struct cvmx_agl_gmx_prtx_cfg_s cn61xx;
247 struct cvmx_agl_gmx_prtx_cfg_s cn63xx; 370 struct cvmx_agl_gmx_prtx_cfg_s cn63xx;
248 struct cvmx_agl_gmx_prtx_cfg_s cn63xxp1; 371 struct cvmx_agl_gmx_prtx_cfg_s cn63xxp1;
372 struct cvmx_agl_gmx_prtx_cfg_s cn66xx;
373 struct cvmx_agl_gmx_prtx_cfg_s cn68xx;
374 struct cvmx_agl_gmx_prtx_cfg_s cn68xxp1;
249}; 375};
250 376
251union cvmx_agl_gmx_rxx_adr_cam0 { 377union cvmx_agl_gmx_rxx_adr_cam0 {
252 uint64_t u64; 378 uint64_t u64;
253 struct cvmx_agl_gmx_rxx_adr_cam0_s { 379 struct cvmx_agl_gmx_rxx_adr_cam0_s {
380#ifdef __BIG_ENDIAN_BITFIELD
254 uint64_t adr:64; 381 uint64_t adr:64;
382#else
383 uint64_t adr:64;
384#endif
255 } s; 385 } s;
256 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx; 386 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx;
257 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1; 387 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1;
258 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx; 388 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx;
259 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1; 389 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1;
390 struct cvmx_agl_gmx_rxx_adr_cam0_s cn61xx;
260 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx; 391 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx;
261 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xxp1; 392 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xxp1;
393 struct cvmx_agl_gmx_rxx_adr_cam0_s cn66xx;
394 struct cvmx_agl_gmx_rxx_adr_cam0_s cn68xx;
395 struct cvmx_agl_gmx_rxx_adr_cam0_s cn68xxp1;
262}; 396};
263 397
264union cvmx_agl_gmx_rxx_adr_cam1 { 398union cvmx_agl_gmx_rxx_adr_cam1 {
265 uint64_t u64; 399 uint64_t u64;
266 struct cvmx_agl_gmx_rxx_adr_cam1_s { 400 struct cvmx_agl_gmx_rxx_adr_cam1_s {
401#ifdef __BIG_ENDIAN_BITFIELD
267 uint64_t adr:64; 402 uint64_t adr:64;
403#else
404 uint64_t adr:64;
405#endif
268 } s; 406 } s;
269 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx; 407 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx;
270 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1; 408 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1;
271 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx; 409 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx;
272 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1; 410 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1;
411 struct cvmx_agl_gmx_rxx_adr_cam1_s cn61xx;
273 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx; 412 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx;
274 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xxp1; 413 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xxp1;
414 struct cvmx_agl_gmx_rxx_adr_cam1_s cn66xx;
415 struct cvmx_agl_gmx_rxx_adr_cam1_s cn68xx;
416 struct cvmx_agl_gmx_rxx_adr_cam1_s cn68xxp1;
275}; 417};
276 418
277union cvmx_agl_gmx_rxx_adr_cam2 { 419union cvmx_agl_gmx_rxx_adr_cam2 {
278 uint64_t u64; 420 uint64_t u64;
279 struct cvmx_agl_gmx_rxx_adr_cam2_s { 421 struct cvmx_agl_gmx_rxx_adr_cam2_s {
422#ifdef __BIG_ENDIAN_BITFIELD
280 uint64_t adr:64; 423 uint64_t adr:64;
424#else
425 uint64_t adr:64;
426#endif
281 } s; 427 } s;
282 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx; 428 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx;
283 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1; 429 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1;
284 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx; 430 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx;
285 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1; 431 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1;
432 struct cvmx_agl_gmx_rxx_adr_cam2_s cn61xx;
286 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx; 433 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx;
287 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xxp1; 434 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xxp1;
435 struct cvmx_agl_gmx_rxx_adr_cam2_s cn66xx;
436 struct cvmx_agl_gmx_rxx_adr_cam2_s cn68xx;
437 struct cvmx_agl_gmx_rxx_adr_cam2_s cn68xxp1;
288}; 438};
289 439
290union cvmx_agl_gmx_rxx_adr_cam3 { 440union cvmx_agl_gmx_rxx_adr_cam3 {
291 uint64_t u64; 441 uint64_t u64;
292 struct cvmx_agl_gmx_rxx_adr_cam3_s { 442 struct cvmx_agl_gmx_rxx_adr_cam3_s {
443#ifdef __BIG_ENDIAN_BITFIELD
293 uint64_t adr:64; 444 uint64_t adr:64;
445#else
446 uint64_t adr:64;
447#endif
294 } s; 448 } s;
295 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx; 449 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx;
296 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1; 450 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1;
297 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx; 451 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx;
298 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1; 452 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1;
453 struct cvmx_agl_gmx_rxx_adr_cam3_s cn61xx;
299 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx; 454 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx;
300 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xxp1; 455 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xxp1;
456 struct cvmx_agl_gmx_rxx_adr_cam3_s cn66xx;
457 struct cvmx_agl_gmx_rxx_adr_cam3_s cn68xx;
458 struct cvmx_agl_gmx_rxx_adr_cam3_s cn68xxp1;
301}; 459};
302 460
303union cvmx_agl_gmx_rxx_adr_cam4 { 461union cvmx_agl_gmx_rxx_adr_cam4 {
304 uint64_t u64; 462 uint64_t u64;
305 struct cvmx_agl_gmx_rxx_adr_cam4_s { 463 struct cvmx_agl_gmx_rxx_adr_cam4_s {
464#ifdef __BIG_ENDIAN_BITFIELD
306 uint64_t adr:64; 465 uint64_t adr:64;
466#else
467 uint64_t adr:64;
468#endif
307 } s; 469 } s;
308 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx; 470 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx;
309 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1; 471 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1;
310 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx; 472 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx;
311 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1; 473 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1;
474 struct cvmx_agl_gmx_rxx_adr_cam4_s cn61xx;
312 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx; 475 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx;
313 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xxp1; 476 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xxp1;
477 struct cvmx_agl_gmx_rxx_adr_cam4_s cn66xx;
478 struct cvmx_agl_gmx_rxx_adr_cam4_s cn68xx;
479 struct cvmx_agl_gmx_rxx_adr_cam4_s cn68xxp1;
314}; 480};
315 481
316union cvmx_agl_gmx_rxx_adr_cam5 { 482union cvmx_agl_gmx_rxx_adr_cam5 {
317 uint64_t u64; 483 uint64_t u64;
318 struct cvmx_agl_gmx_rxx_adr_cam5_s { 484 struct cvmx_agl_gmx_rxx_adr_cam5_s {
485#ifdef __BIG_ENDIAN_BITFIELD
486 uint64_t adr:64;
487#else
319 uint64_t adr:64; 488 uint64_t adr:64;
489#endif
320 } s; 490 } s;
321 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx; 491 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx;
322 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1; 492 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1;
323 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx; 493 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx;
324 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1; 494 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1;
495 struct cvmx_agl_gmx_rxx_adr_cam5_s cn61xx;
325 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx; 496 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx;
326 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xxp1; 497 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xxp1;
498 struct cvmx_agl_gmx_rxx_adr_cam5_s cn66xx;
499 struct cvmx_agl_gmx_rxx_adr_cam5_s cn68xx;
500 struct cvmx_agl_gmx_rxx_adr_cam5_s cn68xxp1;
327}; 501};
328 502
329union cvmx_agl_gmx_rxx_adr_cam_en { 503union cvmx_agl_gmx_rxx_adr_cam_en {
330 uint64_t u64; 504 uint64_t u64;
331 struct cvmx_agl_gmx_rxx_adr_cam_en_s { 505 struct cvmx_agl_gmx_rxx_adr_cam_en_s {
506#ifdef __BIG_ENDIAN_BITFIELD
332 uint64_t reserved_8_63:56; 507 uint64_t reserved_8_63:56;
333 uint64_t en:8; 508 uint64_t en:8;
509#else
510 uint64_t en:8;
511 uint64_t reserved_8_63:56;
512#endif
334 } s; 513 } s;
335 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx; 514 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx;
336 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1; 515 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1;
337 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx; 516 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx;
338 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1; 517 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1;
518 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn61xx;
339 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx; 519 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx;
340 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xxp1; 520 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xxp1;
521 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn66xx;
522 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn68xx;
523 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn68xxp1;
341}; 524};
342 525
343union cvmx_agl_gmx_rxx_adr_ctl { 526union cvmx_agl_gmx_rxx_adr_ctl {
344 uint64_t u64; 527 uint64_t u64;
345 struct cvmx_agl_gmx_rxx_adr_ctl_s { 528 struct cvmx_agl_gmx_rxx_adr_ctl_s {
529#ifdef __BIG_ENDIAN_BITFIELD
346 uint64_t reserved_4_63:60; 530 uint64_t reserved_4_63:60;
347 uint64_t cam_mode:1; 531 uint64_t cam_mode:1;
348 uint64_t mcst:2; 532 uint64_t mcst:2;
349 uint64_t bcst:1; 533 uint64_t bcst:1;
534#else
535 uint64_t bcst:1;
536 uint64_t mcst:2;
537 uint64_t cam_mode:1;
538 uint64_t reserved_4_63:60;
539#endif
350 } s; 540 } s;
351 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx; 541 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx;
352 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1; 542 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1;
353 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx; 543 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx;
354 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1; 544 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1;
545 struct cvmx_agl_gmx_rxx_adr_ctl_s cn61xx;
355 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx; 546 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx;
356 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xxp1; 547 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xxp1;
548 struct cvmx_agl_gmx_rxx_adr_ctl_s cn66xx;
549 struct cvmx_agl_gmx_rxx_adr_ctl_s cn68xx;
550 struct cvmx_agl_gmx_rxx_adr_ctl_s cn68xxp1;
357}; 551};
358 552
359union cvmx_agl_gmx_rxx_decision { 553union cvmx_agl_gmx_rxx_decision {
360 uint64_t u64; 554 uint64_t u64;
361 struct cvmx_agl_gmx_rxx_decision_s { 555 struct cvmx_agl_gmx_rxx_decision_s {
556#ifdef __BIG_ENDIAN_BITFIELD
362 uint64_t reserved_5_63:59; 557 uint64_t reserved_5_63:59;
363 uint64_t cnt:5; 558 uint64_t cnt:5;
559#else
560 uint64_t cnt:5;
561 uint64_t reserved_5_63:59;
562#endif
364 } s; 563 } s;
365 struct cvmx_agl_gmx_rxx_decision_s cn52xx; 564 struct cvmx_agl_gmx_rxx_decision_s cn52xx;
366 struct cvmx_agl_gmx_rxx_decision_s cn52xxp1; 565 struct cvmx_agl_gmx_rxx_decision_s cn52xxp1;
367 struct cvmx_agl_gmx_rxx_decision_s cn56xx; 566 struct cvmx_agl_gmx_rxx_decision_s cn56xx;
368 struct cvmx_agl_gmx_rxx_decision_s cn56xxp1; 567 struct cvmx_agl_gmx_rxx_decision_s cn56xxp1;
568 struct cvmx_agl_gmx_rxx_decision_s cn61xx;
369 struct cvmx_agl_gmx_rxx_decision_s cn63xx; 569 struct cvmx_agl_gmx_rxx_decision_s cn63xx;
370 struct cvmx_agl_gmx_rxx_decision_s cn63xxp1; 570 struct cvmx_agl_gmx_rxx_decision_s cn63xxp1;
571 struct cvmx_agl_gmx_rxx_decision_s cn66xx;
572 struct cvmx_agl_gmx_rxx_decision_s cn68xx;
573 struct cvmx_agl_gmx_rxx_decision_s cn68xxp1;
371}; 574};
372 575
373union cvmx_agl_gmx_rxx_frm_chk { 576union cvmx_agl_gmx_rxx_frm_chk {
374 uint64_t u64; 577 uint64_t u64;
375 struct cvmx_agl_gmx_rxx_frm_chk_s { 578 struct cvmx_agl_gmx_rxx_frm_chk_s {
579#ifdef __BIG_ENDIAN_BITFIELD
376 uint64_t reserved_10_63:54; 580 uint64_t reserved_10_63:54;
377 uint64_t niberr:1; 581 uint64_t niberr:1;
378 uint64_t skperr:1; 582 uint64_t skperr:1;
@@ -384,8 +588,22 @@ union cvmx_agl_gmx_rxx_frm_chk {
384 uint64_t maxerr:1; 588 uint64_t maxerr:1;
385 uint64_t carext:1; 589 uint64_t carext:1;
386 uint64_t minerr:1; 590 uint64_t minerr:1;
591#else
592 uint64_t minerr:1;
593 uint64_t carext:1;
594 uint64_t maxerr:1;
595 uint64_t jabber:1;
596 uint64_t fcserr:1;
597 uint64_t alnerr:1;
598 uint64_t lenerr:1;
599 uint64_t rcverr:1;
600 uint64_t skperr:1;
601 uint64_t niberr:1;
602 uint64_t reserved_10_63:54;
603#endif
387 } s; 604 } s;
388 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx { 605 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx {
606#ifdef __BIG_ENDIAN_BITFIELD
389 uint64_t reserved_9_63:55; 607 uint64_t reserved_9_63:55;
390 uint64_t skperr:1; 608 uint64_t skperr:1;
391 uint64_t rcverr:1; 609 uint64_t rcverr:1;
@@ -396,17 +614,34 @@ union cvmx_agl_gmx_rxx_frm_chk {
396 uint64_t maxerr:1; 614 uint64_t maxerr:1;
397 uint64_t reserved_1_1:1; 615 uint64_t reserved_1_1:1;
398 uint64_t minerr:1; 616 uint64_t minerr:1;
617#else
618 uint64_t minerr:1;
619 uint64_t reserved_1_1:1;
620 uint64_t maxerr:1;
621 uint64_t jabber:1;
622 uint64_t fcserr:1;
623 uint64_t alnerr:1;
624 uint64_t lenerr:1;
625 uint64_t rcverr:1;
626 uint64_t skperr:1;
627 uint64_t reserved_9_63:55;
628#endif
399 } cn52xx; 629 } cn52xx;
400 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1; 630 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1;
401 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx; 631 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx;
402 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1; 632 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1;
633 struct cvmx_agl_gmx_rxx_frm_chk_s cn61xx;
403 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx; 634 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx;
404 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xxp1; 635 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xxp1;
636 struct cvmx_agl_gmx_rxx_frm_chk_s cn66xx;
637 struct cvmx_agl_gmx_rxx_frm_chk_s cn68xx;
638 struct cvmx_agl_gmx_rxx_frm_chk_s cn68xxp1;
405}; 639};
406 640
407union cvmx_agl_gmx_rxx_frm_ctl { 641union cvmx_agl_gmx_rxx_frm_ctl {
408 uint64_t u64; 642 uint64_t u64;
409 struct cvmx_agl_gmx_rxx_frm_ctl_s { 643 struct cvmx_agl_gmx_rxx_frm_ctl_s {
644#ifdef __BIG_ENDIAN_BITFIELD
410 uint64_t reserved_13_63:51; 645 uint64_t reserved_13_63:51;
411 uint64_t ptp_mode:1; 646 uint64_t ptp_mode:1;
412 uint64_t reserved_11_11:1; 647 uint64_t reserved_11_11:1;
@@ -421,8 +656,25 @@ union cvmx_agl_gmx_rxx_frm_ctl {
421 uint64_t ctl_drp:1; 656 uint64_t ctl_drp:1;
422 uint64_t pre_strp:1; 657 uint64_t pre_strp:1;
423 uint64_t pre_chk:1; 658 uint64_t pre_chk:1;
659#else
660 uint64_t pre_chk:1;
661 uint64_t pre_strp:1;
662 uint64_t ctl_drp:1;
663 uint64_t ctl_bck:1;
664 uint64_t ctl_mcst:1;
665 uint64_t ctl_smac:1;
666 uint64_t pre_free:1;
667 uint64_t vlan_len:1;
668 uint64_t pad_len:1;
669 uint64_t pre_align:1;
670 uint64_t null_dis:1;
671 uint64_t reserved_11_11:1;
672 uint64_t ptp_mode:1;
673 uint64_t reserved_13_63:51;
674#endif
424 } s; 675 } s;
425 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx { 676 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx {
677#ifdef __BIG_ENDIAN_BITFIELD
426 uint64_t reserved_10_63:54; 678 uint64_t reserved_10_63:54;
427 uint64_t pre_align:1; 679 uint64_t pre_align:1;
428 uint64_t pad_len:1; 680 uint64_t pad_len:1;
@@ -434,59 +686,104 @@ union cvmx_agl_gmx_rxx_frm_ctl {
434 uint64_t ctl_drp:1; 686 uint64_t ctl_drp:1;
435 uint64_t pre_strp:1; 687 uint64_t pre_strp:1;
436 uint64_t pre_chk:1; 688 uint64_t pre_chk:1;
689#else
690 uint64_t pre_chk:1;
691 uint64_t pre_strp:1;
692 uint64_t ctl_drp:1;
693 uint64_t ctl_bck:1;
694 uint64_t ctl_mcst:1;
695 uint64_t ctl_smac:1;
696 uint64_t pre_free:1;
697 uint64_t vlan_len:1;
698 uint64_t pad_len:1;
699 uint64_t pre_align:1;
700 uint64_t reserved_10_63:54;
701#endif
437 } cn52xx; 702 } cn52xx;
438 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1; 703 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1;
439 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx; 704 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx;
440 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1; 705 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1;
706 struct cvmx_agl_gmx_rxx_frm_ctl_s cn61xx;
441 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx; 707 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx;
442 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xxp1; 708 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xxp1;
709 struct cvmx_agl_gmx_rxx_frm_ctl_s cn66xx;
710 struct cvmx_agl_gmx_rxx_frm_ctl_s cn68xx;
711 struct cvmx_agl_gmx_rxx_frm_ctl_s cn68xxp1;
443}; 712};
444 713
445union cvmx_agl_gmx_rxx_frm_max { 714union cvmx_agl_gmx_rxx_frm_max {
446 uint64_t u64; 715 uint64_t u64;
447 struct cvmx_agl_gmx_rxx_frm_max_s { 716 struct cvmx_agl_gmx_rxx_frm_max_s {
717#ifdef __BIG_ENDIAN_BITFIELD
448 uint64_t reserved_16_63:48; 718 uint64_t reserved_16_63:48;
449 uint64_t len:16; 719 uint64_t len:16;
720#else
721 uint64_t len:16;
722 uint64_t reserved_16_63:48;
723#endif
450 } s; 724 } s;
451 struct cvmx_agl_gmx_rxx_frm_max_s cn52xx; 725 struct cvmx_agl_gmx_rxx_frm_max_s cn52xx;
452 struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1; 726 struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1;
453 struct cvmx_agl_gmx_rxx_frm_max_s cn56xx; 727 struct cvmx_agl_gmx_rxx_frm_max_s cn56xx;
454 struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1; 728 struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1;
729 struct cvmx_agl_gmx_rxx_frm_max_s cn61xx;
455 struct cvmx_agl_gmx_rxx_frm_max_s cn63xx; 730 struct cvmx_agl_gmx_rxx_frm_max_s cn63xx;
456 struct cvmx_agl_gmx_rxx_frm_max_s cn63xxp1; 731 struct cvmx_agl_gmx_rxx_frm_max_s cn63xxp1;
732 struct cvmx_agl_gmx_rxx_frm_max_s cn66xx;
733 struct cvmx_agl_gmx_rxx_frm_max_s cn68xx;
734 struct cvmx_agl_gmx_rxx_frm_max_s cn68xxp1;
457}; 735};
458 736
459union cvmx_agl_gmx_rxx_frm_min { 737union cvmx_agl_gmx_rxx_frm_min {
460 uint64_t u64; 738 uint64_t u64;
461 struct cvmx_agl_gmx_rxx_frm_min_s { 739 struct cvmx_agl_gmx_rxx_frm_min_s {
740#ifdef __BIG_ENDIAN_BITFIELD
462 uint64_t reserved_16_63:48; 741 uint64_t reserved_16_63:48;
463 uint64_t len:16; 742 uint64_t len:16;
743#else
744 uint64_t len:16;
745 uint64_t reserved_16_63:48;
746#endif
464 } s; 747 } s;
465 struct cvmx_agl_gmx_rxx_frm_min_s cn52xx; 748 struct cvmx_agl_gmx_rxx_frm_min_s cn52xx;
466 struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1; 749 struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1;
467 struct cvmx_agl_gmx_rxx_frm_min_s cn56xx; 750 struct cvmx_agl_gmx_rxx_frm_min_s cn56xx;
468 struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1; 751 struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1;
752 struct cvmx_agl_gmx_rxx_frm_min_s cn61xx;
469 struct cvmx_agl_gmx_rxx_frm_min_s cn63xx; 753 struct cvmx_agl_gmx_rxx_frm_min_s cn63xx;
470 struct cvmx_agl_gmx_rxx_frm_min_s cn63xxp1; 754 struct cvmx_agl_gmx_rxx_frm_min_s cn63xxp1;
755 struct cvmx_agl_gmx_rxx_frm_min_s cn66xx;
756 struct cvmx_agl_gmx_rxx_frm_min_s cn68xx;
757 struct cvmx_agl_gmx_rxx_frm_min_s cn68xxp1;
471}; 758};
472 759
473union cvmx_agl_gmx_rxx_ifg { 760union cvmx_agl_gmx_rxx_ifg {
474 uint64_t u64; 761 uint64_t u64;
475 struct cvmx_agl_gmx_rxx_ifg_s { 762 struct cvmx_agl_gmx_rxx_ifg_s {
763#ifdef __BIG_ENDIAN_BITFIELD
476 uint64_t reserved_4_63:60; 764 uint64_t reserved_4_63:60;
477 uint64_t ifg:4; 765 uint64_t ifg:4;
766#else
767 uint64_t ifg:4;
768 uint64_t reserved_4_63:60;
769#endif
478 } s; 770 } s;
479 struct cvmx_agl_gmx_rxx_ifg_s cn52xx; 771 struct cvmx_agl_gmx_rxx_ifg_s cn52xx;
480 struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1; 772 struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1;
481 struct cvmx_agl_gmx_rxx_ifg_s cn56xx; 773 struct cvmx_agl_gmx_rxx_ifg_s cn56xx;
482 struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1; 774 struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1;
775 struct cvmx_agl_gmx_rxx_ifg_s cn61xx;
483 struct cvmx_agl_gmx_rxx_ifg_s cn63xx; 776 struct cvmx_agl_gmx_rxx_ifg_s cn63xx;
484 struct cvmx_agl_gmx_rxx_ifg_s cn63xxp1; 777 struct cvmx_agl_gmx_rxx_ifg_s cn63xxp1;
778 struct cvmx_agl_gmx_rxx_ifg_s cn66xx;
779 struct cvmx_agl_gmx_rxx_ifg_s cn68xx;
780 struct cvmx_agl_gmx_rxx_ifg_s cn68xxp1;
485}; 781};
486 782
487union cvmx_agl_gmx_rxx_int_en { 783union cvmx_agl_gmx_rxx_int_en {
488 uint64_t u64; 784 uint64_t u64;
489 struct cvmx_agl_gmx_rxx_int_en_s { 785 struct cvmx_agl_gmx_rxx_int_en_s {
786#ifdef __BIG_ENDIAN_BITFIELD
490 uint64_t reserved_20_63:44; 787 uint64_t reserved_20_63:44;
491 uint64_t pause_drp:1; 788 uint64_t pause_drp:1;
492 uint64_t phy_dupx:1; 789 uint64_t phy_dupx:1;
@@ -508,8 +805,32 @@ union cvmx_agl_gmx_rxx_int_en {
508 uint64_t maxerr:1; 805 uint64_t maxerr:1;
509 uint64_t carext:1; 806 uint64_t carext:1;
510 uint64_t minerr:1; 807 uint64_t minerr:1;
808#else
809 uint64_t minerr:1;
810 uint64_t carext:1;
811 uint64_t maxerr:1;
812 uint64_t jabber:1;
813 uint64_t fcserr:1;
814 uint64_t alnerr:1;
815 uint64_t lenerr:1;
816 uint64_t rcverr:1;
817 uint64_t skperr:1;
818 uint64_t niberr:1;
819 uint64_t ovrerr:1;
820 uint64_t pcterr:1;
821 uint64_t rsverr:1;
822 uint64_t falerr:1;
823 uint64_t coldet:1;
824 uint64_t ifgerr:1;
825 uint64_t phy_link:1;
826 uint64_t phy_spd:1;
827 uint64_t phy_dupx:1;
828 uint64_t pause_drp:1;
829 uint64_t reserved_20_63:44;
830#endif
511 } s; 831 } s;
512 struct cvmx_agl_gmx_rxx_int_en_cn52xx { 832 struct cvmx_agl_gmx_rxx_int_en_cn52xx {
833#ifdef __BIG_ENDIAN_BITFIELD
513 uint64_t reserved_20_63:44; 834 uint64_t reserved_20_63:44;
514 uint64_t pause_drp:1; 835 uint64_t pause_drp:1;
515 uint64_t reserved_16_18:3; 836 uint64_t reserved_16_18:3;
@@ -529,17 +850,43 @@ union cvmx_agl_gmx_rxx_int_en {
529 uint64_t maxerr:1; 850 uint64_t maxerr:1;
530 uint64_t reserved_1_1:1; 851 uint64_t reserved_1_1:1;
531 uint64_t minerr:1; 852 uint64_t minerr:1;
853#else
854 uint64_t minerr:1;
855 uint64_t reserved_1_1:1;
856 uint64_t maxerr:1;
857 uint64_t jabber:1;
858 uint64_t fcserr:1;
859 uint64_t alnerr:1;
860 uint64_t lenerr:1;
861 uint64_t rcverr:1;
862 uint64_t skperr:1;
863 uint64_t reserved_9_9:1;
864 uint64_t ovrerr:1;
865 uint64_t pcterr:1;
866 uint64_t rsverr:1;
867 uint64_t falerr:1;
868 uint64_t coldet:1;
869 uint64_t ifgerr:1;
870 uint64_t reserved_16_18:3;
871 uint64_t pause_drp:1;
872 uint64_t reserved_20_63:44;
873#endif
532 } cn52xx; 874 } cn52xx;
533 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1; 875 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1;
534 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx; 876 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx;
535 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1; 877 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1;
878 struct cvmx_agl_gmx_rxx_int_en_s cn61xx;
536 struct cvmx_agl_gmx_rxx_int_en_s cn63xx; 879 struct cvmx_agl_gmx_rxx_int_en_s cn63xx;
537 struct cvmx_agl_gmx_rxx_int_en_s cn63xxp1; 880 struct cvmx_agl_gmx_rxx_int_en_s cn63xxp1;
881 struct cvmx_agl_gmx_rxx_int_en_s cn66xx;
882 struct cvmx_agl_gmx_rxx_int_en_s cn68xx;
883 struct cvmx_agl_gmx_rxx_int_en_s cn68xxp1;
538}; 884};
539 885
540union cvmx_agl_gmx_rxx_int_reg { 886union cvmx_agl_gmx_rxx_int_reg {
541 uint64_t u64; 887 uint64_t u64;
542 struct cvmx_agl_gmx_rxx_int_reg_s { 888 struct cvmx_agl_gmx_rxx_int_reg_s {
889#ifdef __BIG_ENDIAN_BITFIELD
543 uint64_t reserved_20_63:44; 890 uint64_t reserved_20_63:44;
544 uint64_t pause_drp:1; 891 uint64_t pause_drp:1;
545 uint64_t phy_dupx:1; 892 uint64_t phy_dupx:1;
@@ -561,8 +908,32 @@ union cvmx_agl_gmx_rxx_int_reg {
561 uint64_t maxerr:1; 908 uint64_t maxerr:1;
562 uint64_t carext:1; 909 uint64_t carext:1;
563 uint64_t minerr:1; 910 uint64_t minerr:1;
911#else
912 uint64_t minerr:1;
913 uint64_t carext:1;
914 uint64_t maxerr:1;
915 uint64_t jabber:1;
916 uint64_t fcserr:1;
917 uint64_t alnerr:1;
918 uint64_t lenerr:1;
919 uint64_t rcverr:1;
920 uint64_t skperr:1;
921 uint64_t niberr:1;
922 uint64_t ovrerr:1;
923 uint64_t pcterr:1;
924 uint64_t rsverr:1;
925 uint64_t falerr:1;
926 uint64_t coldet:1;
927 uint64_t ifgerr:1;
928 uint64_t phy_link:1;
929 uint64_t phy_spd:1;
930 uint64_t phy_dupx:1;
931 uint64_t pause_drp:1;
932 uint64_t reserved_20_63:44;
933#endif
564 } s; 934 } s;
565 struct cvmx_agl_gmx_rxx_int_reg_cn52xx { 935 struct cvmx_agl_gmx_rxx_int_reg_cn52xx {
936#ifdef __BIG_ENDIAN_BITFIELD
566 uint64_t reserved_20_63:44; 937 uint64_t reserved_20_63:44;
567 uint64_t pause_drp:1; 938 uint64_t pause_drp:1;
568 uint64_t reserved_16_18:3; 939 uint64_t reserved_16_18:3;
@@ -582,666 +953,1130 @@ union cvmx_agl_gmx_rxx_int_reg {
582 uint64_t maxerr:1; 953 uint64_t maxerr:1;
583 uint64_t reserved_1_1:1; 954 uint64_t reserved_1_1:1;
584 uint64_t minerr:1; 955 uint64_t minerr:1;
956#else
957 uint64_t minerr:1;
958 uint64_t reserved_1_1:1;
959 uint64_t maxerr:1;
960 uint64_t jabber:1;
961 uint64_t fcserr:1;
962 uint64_t alnerr:1;
963 uint64_t lenerr:1;
964 uint64_t rcverr:1;
965 uint64_t skperr:1;
966 uint64_t reserved_9_9:1;
967 uint64_t ovrerr:1;
968 uint64_t pcterr:1;
969 uint64_t rsverr:1;
970 uint64_t falerr:1;
971 uint64_t coldet:1;
972 uint64_t ifgerr:1;
973 uint64_t reserved_16_18:3;
974 uint64_t pause_drp:1;
975 uint64_t reserved_20_63:44;
976#endif
585 } cn52xx; 977 } cn52xx;
586 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1; 978 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1;
587 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx; 979 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx;
588 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1; 980 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1;
981 struct cvmx_agl_gmx_rxx_int_reg_s cn61xx;
589 struct cvmx_agl_gmx_rxx_int_reg_s cn63xx; 982 struct cvmx_agl_gmx_rxx_int_reg_s cn63xx;
590 struct cvmx_agl_gmx_rxx_int_reg_s cn63xxp1; 983 struct cvmx_agl_gmx_rxx_int_reg_s cn63xxp1;
984 struct cvmx_agl_gmx_rxx_int_reg_s cn66xx;
985 struct cvmx_agl_gmx_rxx_int_reg_s cn68xx;
986 struct cvmx_agl_gmx_rxx_int_reg_s cn68xxp1;
591}; 987};
592 988
593union cvmx_agl_gmx_rxx_jabber { 989union cvmx_agl_gmx_rxx_jabber {
594 uint64_t u64; 990 uint64_t u64;
595 struct cvmx_agl_gmx_rxx_jabber_s { 991 struct cvmx_agl_gmx_rxx_jabber_s {
992#ifdef __BIG_ENDIAN_BITFIELD
596 uint64_t reserved_16_63:48; 993 uint64_t reserved_16_63:48;
597 uint64_t cnt:16; 994 uint64_t cnt:16;
995#else
996 uint64_t cnt:16;
997 uint64_t reserved_16_63:48;
998#endif
598 } s; 999 } s;
599 struct cvmx_agl_gmx_rxx_jabber_s cn52xx; 1000 struct cvmx_agl_gmx_rxx_jabber_s cn52xx;
600 struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1; 1001 struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1;
601 struct cvmx_agl_gmx_rxx_jabber_s cn56xx; 1002 struct cvmx_agl_gmx_rxx_jabber_s cn56xx;
602 struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1; 1003 struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1;
1004 struct cvmx_agl_gmx_rxx_jabber_s cn61xx;
603 struct cvmx_agl_gmx_rxx_jabber_s cn63xx; 1005 struct cvmx_agl_gmx_rxx_jabber_s cn63xx;
604 struct cvmx_agl_gmx_rxx_jabber_s cn63xxp1; 1006 struct cvmx_agl_gmx_rxx_jabber_s cn63xxp1;
1007 struct cvmx_agl_gmx_rxx_jabber_s cn66xx;
1008 struct cvmx_agl_gmx_rxx_jabber_s cn68xx;
1009 struct cvmx_agl_gmx_rxx_jabber_s cn68xxp1;
605}; 1010};
606 1011
607union cvmx_agl_gmx_rxx_pause_drop_time { 1012union cvmx_agl_gmx_rxx_pause_drop_time {
608 uint64_t u64; 1013 uint64_t u64;
609 struct cvmx_agl_gmx_rxx_pause_drop_time_s { 1014 struct cvmx_agl_gmx_rxx_pause_drop_time_s {
1015#ifdef __BIG_ENDIAN_BITFIELD
610 uint64_t reserved_16_63:48; 1016 uint64_t reserved_16_63:48;
611 uint64_t status:16; 1017 uint64_t status:16;
1018#else
1019 uint64_t status:16;
1020 uint64_t reserved_16_63:48;
1021#endif
612 } s; 1022 } s;
613 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx; 1023 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx;
614 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1; 1024 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1;
615 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx; 1025 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx;
616 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1; 1026 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1;
1027 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn61xx;
617 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx; 1028 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx;
618 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xxp1; 1029 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xxp1;
1030 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn66xx;
1031 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn68xx;
1032 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn68xxp1;
619}; 1033};
620 1034
621union cvmx_agl_gmx_rxx_rx_inbnd { 1035union cvmx_agl_gmx_rxx_rx_inbnd {
622 uint64_t u64; 1036 uint64_t u64;
623 struct cvmx_agl_gmx_rxx_rx_inbnd_s { 1037 struct cvmx_agl_gmx_rxx_rx_inbnd_s {
1038#ifdef __BIG_ENDIAN_BITFIELD
624 uint64_t reserved_4_63:60; 1039 uint64_t reserved_4_63:60;
625 uint64_t duplex:1; 1040 uint64_t duplex:1;
626 uint64_t speed:2; 1041 uint64_t speed:2;
627 uint64_t status:1; 1042 uint64_t status:1;
1043#else
1044 uint64_t status:1;
1045 uint64_t speed:2;
1046 uint64_t duplex:1;
1047 uint64_t reserved_4_63:60;
1048#endif
628 } s; 1049 } s;
1050 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn61xx;
629 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx; 1051 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx;
630 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xxp1; 1052 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xxp1;
1053 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn66xx;
1054 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn68xx;
1055 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn68xxp1;
631}; 1056};
632 1057
633union cvmx_agl_gmx_rxx_stats_ctl { 1058union cvmx_agl_gmx_rxx_stats_ctl {
634 uint64_t u64; 1059 uint64_t u64;
635 struct cvmx_agl_gmx_rxx_stats_ctl_s { 1060 struct cvmx_agl_gmx_rxx_stats_ctl_s {
1061#ifdef __BIG_ENDIAN_BITFIELD
636 uint64_t reserved_1_63:63; 1062 uint64_t reserved_1_63:63;
637 uint64_t rd_clr:1; 1063 uint64_t rd_clr:1;
1064#else
1065 uint64_t rd_clr:1;
1066 uint64_t reserved_1_63:63;
1067#endif
638 } s; 1068 } s;
639 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx; 1069 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx;
640 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1; 1070 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1;
641 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx; 1071 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx;
642 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1; 1072 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1;
1073 struct cvmx_agl_gmx_rxx_stats_ctl_s cn61xx;
643 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx; 1074 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx;
644 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xxp1; 1075 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xxp1;
1076 struct cvmx_agl_gmx_rxx_stats_ctl_s cn66xx;
1077 struct cvmx_agl_gmx_rxx_stats_ctl_s cn68xx;
1078 struct cvmx_agl_gmx_rxx_stats_ctl_s cn68xxp1;
645}; 1079};
646 1080
647union cvmx_agl_gmx_rxx_stats_octs { 1081union cvmx_agl_gmx_rxx_stats_octs {
648 uint64_t u64; 1082 uint64_t u64;
649 struct cvmx_agl_gmx_rxx_stats_octs_s { 1083 struct cvmx_agl_gmx_rxx_stats_octs_s {
1084#ifdef __BIG_ENDIAN_BITFIELD
650 uint64_t reserved_48_63:16; 1085 uint64_t reserved_48_63:16;
651 uint64_t cnt:48; 1086 uint64_t cnt:48;
1087#else
1088 uint64_t cnt:48;
1089 uint64_t reserved_48_63:16;
1090#endif
652 } s; 1091 } s;
653 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx; 1092 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx;
654 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1; 1093 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1;
655 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx; 1094 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx;
656 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1; 1095 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1;
1096 struct cvmx_agl_gmx_rxx_stats_octs_s cn61xx;
657 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx; 1097 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx;
658 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xxp1; 1098 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xxp1;
1099 struct cvmx_agl_gmx_rxx_stats_octs_s cn66xx;
1100 struct cvmx_agl_gmx_rxx_stats_octs_s cn68xx;
1101 struct cvmx_agl_gmx_rxx_stats_octs_s cn68xxp1;
659}; 1102};
660 1103
661union cvmx_agl_gmx_rxx_stats_octs_ctl { 1104union cvmx_agl_gmx_rxx_stats_octs_ctl {
662 uint64_t u64; 1105 uint64_t u64;
663 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s { 1106 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s {
1107#ifdef __BIG_ENDIAN_BITFIELD
664 uint64_t reserved_48_63:16; 1108 uint64_t reserved_48_63:16;
665 uint64_t cnt:48; 1109 uint64_t cnt:48;
1110#else
1111 uint64_t cnt:48;
1112 uint64_t reserved_48_63:16;
1113#endif
666 } s; 1114 } s;
667 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx; 1115 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx;
668 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1; 1116 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1;
669 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx; 1117 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx;
670 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1; 1118 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1;
1119 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn61xx;
671 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx; 1120 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx;
672 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xxp1; 1121 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xxp1;
1122 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn66xx;
1123 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn68xx;
1124 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn68xxp1;
673}; 1125};
674 1126
675union cvmx_agl_gmx_rxx_stats_octs_dmac { 1127union cvmx_agl_gmx_rxx_stats_octs_dmac {
676 uint64_t u64; 1128 uint64_t u64;
677 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s { 1129 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s {
1130#ifdef __BIG_ENDIAN_BITFIELD
678 uint64_t reserved_48_63:16; 1131 uint64_t reserved_48_63:16;
679 uint64_t cnt:48; 1132 uint64_t cnt:48;
1133#else
1134 uint64_t cnt:48;
1135 uint64_t reserved_48_63:16;
1136#endif
680 } s; 1137 } s;
681 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx; 1138 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx;
682 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1; 1139 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1;
683 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx; 1140 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx;
684 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1; 1141 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1;
1142 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn61xx;
685 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx; 1143 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx;
686 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xxp1; 1144 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xxp1;
1145 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn66xx;
1146 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn68xx;
1147 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn68xxp1;
687}; 1148};
688 1149
689union cvmx_agl_gmx_rxx_stats_octs_drp { 1150union cvmx_agl_gmx_rxx_stats_octs_drp {
690 uint64_t u64; 1151 uint64_t u64;
691 struct cvmx_agl_gmx_rxx_stats_octs_drp_s { 1152 struct cvmx_agl_gmx_rxx_stats_octs_drp_s {
1153#ifdef __BIG_ENDIAN_BITFIELD
692 uint64_t reserved_48_63:16; 1154 uint64_t reserved_48_63:16;
693 uint64_t cnt:48; 1155 uint64_t cnt:48;
1156#else
1157 uint64_t cnt:48;
1158 uint64_t reserved_48_63:16;
1159#endif
694 } s; 1160 } s;
695 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx; 1161 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx;
696 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1; 1162 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1;
697 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx; 1163 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx;
698 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1; 1164 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1;
1165 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn61xx;
699 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx; 1166 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx;
700 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xxp1; 1167 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xxp1;
1168 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn66xx;
1169 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn68xx;
1170 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn68xxp1;
701}; 1171};
702 1172
703union cvmx_agl_gmx_rxx_stats_pkts { 1173union cvmx_agl_gmx_rxx_stats_pkts {
704 uint64_t u64; 1174 uint64_t u64;
705 struct cvmx_agl_gmx_rxx_stats_pkts_s { 1175 struct cvmx_agl_gmx_rxx_stats_pkts_s {
1176#ifdef __BIG_ENDIAN_BITFIELD
706 uint64_t reserved_32_63:32; 1177 uint64_t reserved_32_63:32;
707 uint64_t cnt:32; 1178 uint64_t cnt:32;
1179#else
1180 uint64_t cnt:32;
1181 uint64_t reserved_32_63:32;
1182#endif
708 } s; 1183 } s;
709 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx; 1184 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx;
710 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1; 1185 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1;
711 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx; 1186 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx;
712 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1; 1187 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1;
1188 struct cvmx_agl_gmx_rxx_stats_pkts_s cn61xx;
713 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx; 1189 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx;
714 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xxp1; 1190 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xxp1;
1191 struct cvmx_agl_gmx_rxx_stats_pkts_s cn66xx;
1192 struct cvmx_agl_gmx_rxx_stats_pkts_s cn68xx;
1193 struct cvmx_agl_gmx_rxx_stats_pkts_s cn68xxp1;
715}; 1194};
716 1195
717union cvmx_agl_gmx_rxx_stats_pkts_bad { 1196union cvmx_agl_gmx_rxx_stats_pkts_bad {
718 uint64_t u64; 1197 uint64_t u64;
719 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s { 1198 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s {
1199#ifdef __BIG_ENDIAN_BITFIELD
720 uint64_t reserved_32_63:32; 1200 uint64_t reserved_32_63:32;
721 uint64_t cnt:32; 1201 uint64_t cnt:32;
1202#else
1203 uint64_t cnt:32;
1204 uint64_t reserved_32_63:32;
1205#endif
722 } s; 1206 } s;
723 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx; 1207 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx;
724 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1; 1208 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1;
725 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx; 1209 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx;
726 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1; 1210 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1;
1211 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn61xx;
727 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx; 1212 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx;
728 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xxp1; 1213 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xxp1;
1214 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn66xx;
1215 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn68xx;
1216 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn68xxp1;
729}; 1217};
730 1218
731union cvmx_agl_gmx_rxx_stats_pkts_ctl { 1219union cvmx_agl_gmx_rxx_stats_pkts_ctl {
732 uint64_t u64; 1220 uint64_t u64;
733 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s { 1221 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s {
1222#ifdef __BIG_ENDIAN_BITFIELD
734 uint64_t reserved_32_63:32; 1223 uint64_t reserved_32_63:32;
735 uint64_t cnt:32; 1224 uint64_t cnt:32;
1225#else
1226 uint64_t cnt:32;
1227 uint64_t reserved_32_63:32;
1228#endif
736 } s; 1229 } s;
737 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx; 1230 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx;
738 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1; 1231 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1;
739 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx; 1232 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx;
740 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1; 1233 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1;
1234 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn61xx;
741 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx; 1235 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx;
742 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xxp1; 1236 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xxp1;
1237 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn66xx;
1238 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn68xx;
1239 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn68xxp1;
743}; 1240};
744 1241
745union cvmx_agl_gmx_rxx_stats_pkts_dmac { 1242union cvmx_agl_gmx_rxx_stats_pkts_dmac {
746 uint64_t u64; 1243 uint64_t u64;
747 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s { 1244 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s {
1245#ifdef __BIG_ENDIAN_BITFIELD
748 uint64_t reserved_32_63:32; 1246 uint64_t reserved_32_63:32;
749 uint64_t cnt:32; 1247 uint64_t cnt:32;
1248#else
1249 uint64_t cnt:32;
1250 uint64_t reserved_32_63:32;
1251#endif
750 } s; 1252 } s;
751 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx; 1253 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx;
752 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1; 1254 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1;
753 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx; 1255 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx;
754 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1; 1256 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1;
1257 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn61xx;
755 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx; 1258 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx;
756 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xxp1; 1259 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xxp1;
1260 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn66xx;
1261 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn68xx;
1262 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn68xxp1;
757}; 1263};
758 1264
759union cvmx_agl_gmx_rxx_stats_pkts_drp { 1265union cvmx_agl_gmx_rxx_stats_pkts_drp {
760 uint64_t u64; 1266 uint64_t u64;
761 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s { 1267 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s {
1268#ifdef __BIG_ENDIAN_BITFIELD
762 uint64_t reserved_32_63:32; 1269 uint64_t reserved_32_63:32;
763 uint64_t cnt:32; 1270 uint64_t cnt:32;
1271#else
1272 uint64_t cnt:32;
1273 uint64_t reserved_32_63:32;
1274#endif
764 } s; 1275 } s;
765 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx; 1276 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx;
766 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1; 1277 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1;
767 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx; 1278 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx;
768 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1; 1279 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1;
1280 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn61xx;
769 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx; 1281 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx;
770 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xxp1; 1282 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xxp1;
1283 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn66xx;
1284 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn68xx;
1285 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn68xxp1;
771}; 1286};
772 1287
773union cvmx_agl_gmx_rxx_udd_skp { 1288union cvmx_agl_gmx_rxx_udd_skp {
774 uint64_t u64; 1289 uint64_t u64;
775 struct cvmx_agl_gmx_rxx_udd_skp_s { 1290 struct cvmx_agl_gmx_rxx_udd_skp_s {
1291#ifdef __BIG_ENDIAN_BITFIELD
776 uint64_t reserved_9_63:55; 1292 uint64_t reserved_9_63:55;
777 uint64_t fcssel:1; 1293 uint64_t fcssel:1;
778 uint64_t reserved_7_7:1; 1294 uint64_t reserved_7_7:1;
779 uint64_t len:7; 1295 uint64_t len:7;
1296#else
1297 uint64_t len:7;
1298 uint64_t reserved_7_7:1;
1299 uint64_t fcssel:1;
1300 uint64_t reserved_9_63:55;
1301#endif
780 } s; 1302 } s;
781 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx; 1303 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx;
782 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1; 1304 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1;
783 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx; 1305 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx;
784 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1; 1306 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1;
1307 struct cvmx_agl_gmx_rxx_udd_skp_s cn61xx;
785 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx; 1308 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx;
786 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xxp1; 1309 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xxp1;
1310 struct cvmx_agl_gmx_rxx_udd_skp_s cn66xx;
1311 struct cvmx_agl_gmx_rxx_udd_skp_s cn68xx;
1312 struct cvmx_agl_gmx_rxx_udd_skp_s cn68xxp1;
787}; 1313};
788 1314
789union cvmx_agl_gmx_rx_bp_dropx { 1315union cvmx_agl_gmx_rx_bp_dropx {
790 uint64_t u64; 1316 uint64_t u64;
791 struct cvmx_agl_gmx_rx_bp_dropx_s { 1317 struct cvmx_agl_gmx_rx_bp_dropx_s {
1318#ifdef __BIG_ENDIAN_BITFIELD
792 uint64_t reserved_6_63:58; 1319 uint64_t reserved_6_63:58;
793 uint64_t mark:6; 1320 uint64_t mark:6;
1321#else
1322 uint64_t mark:6;
1323 uint64_t reserved_6_63:58;
1324#endif
794 } s; 1325 } s;
795 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx; 1326 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx;
796 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1; 1327 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1;
797 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx; 1328 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx;
798 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1; 1329 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1;
1330 struct cvmx_agl_gmx_rx_bp_dropx_s cn61xx;
799 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx; 1331 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx;
800 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xxp1; 1332 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xxp1;
1333 struct cvmx_agl_gmx_rx_bp_dropx_s cn66xx;
1334 struct cvmx_agl_gmx_rx_bp_dropx_s cn68xx;
1335 struct cvmx_agl_gmx_rx_bp_dropx_s cn68xxp1;
801}; 1336};
802 1337
803union cvmx_agl_gmx_rx_bp_offx { 1338union cvmx_agl_gmx_rx_bp_offx {
804 uint64_t u64; 1339 uint64_t u64;
805 struct cvmx_agl_gmx_rx_bp_offx_s { 1340 struct cvmx_agl_gmx_rx_bp_offx_s {
1341#ifdef __BIG_ENDIAN_BITFIELD
806 uint64_t reserved_6_63:58; 1342 uint64_t reserved_6_63:58;
807 uint64_t mark:6; 1343 uint64_t mark:6;
1344#else
1345 uint64_t mark:6;
1346 uint64_t reserved_6_63:58;
1347#endif
808 } s; 1348 } s;
809 struct cvmx_agl_gmx_rx_bp_offx_s cn52xx; 1349 struct cvmx_agl_gmx_rx_bp_offx_s cn52xx;
810 struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1; 1350 struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1;
811 struct cvmx_agl_gmx_rx_bp_offx_s cn56xx; 1351 struct cvmx_agl_gmx_rx_bp_offx_s cn56xx;
812 struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1; 1352 struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1;
1353 struct cvmx_agl_gmx_rx_bp_offx_s cn61xx;
813 struct cvmx_agl_gmx_rx_bp_offx_s cn63xx; 1354 struct cvmx_agl_gmx_rx_bp_offx_s cn63xx;
814 struct cvmx_agl_gmx_rx_bp_offx_s cn63xxp1; 1355 struct cvmx_agl_gmx_rx_bp_offx_s cn63xxp1;
1356 struct cvmx_agl_gmx_rx_bp_offx_s cn66xx;
1357 struct cvmx_agl_gmx_rx_bp_offx_s cn68xx;
1358 struct cvmx_agl_gmx_rx_bp_offx_s cn68xxp1;
815}; 1359};
816 1360
817union cvmx_agl_gmx_rx_bp_onx { 1361union cvmx_agl_gmx_rx_bp_onx {
818 uint64_t u64; 1362 uint64_t u64;
819 struct cvmx_agl_gmx_rx_bp_onx_s { 1363 struct cvmx_agl_gmx_rx_bp_onx_s {
1364#ifdef __BIG_ENDIAN_BITFIELD
820 uint64_t reserved_9_63:55; 1365 uint64_t reserved_9_63:55;
821 uint64_t mark:9; 1366 uint64_t mark:9;
1367#else
1368 uint64_t mark:9;
1369 uint64_t reserved_9_63:55;
1370#endif
822 } s; 1371 } s;
823 struct cvmx_agl_gmx_rx_bp_onx_s cn52xx; 1372 struct cvmx_agl_gmx_rx_bp_onx_s cn52xx;
824 struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1; 1373 struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1;
825 struct cvmx_agl_gmx_rx_bp_onx_s cn56xx; 1374 struct cvmx_agl_gmx_rx_bp_onx_s cn56xx;
826 struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1; 1375 struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1;
1376 struct cvmx_agl_gmx_rx_bp_onx_s cn61xx;
827 struct cvmx_agl_gmx_rx_bp_onx_s cn63xx; 1377 struct cvmx_agl_gmx_rx_bp_onx_s cn63xx;
828 struct cvmx_agl_gmx_rx_bp_onx_s cn63xxp1; 1378 struct cvmx_agl_gmx_rx_bp_onx_s cn63xxp1;
1379 struct cvmx_agl_gmx_rx_bp_onx_s cn66xx;
1380 struct cvmx_agl_gmx_rx_bp_onx_s cn68xx;
1381 struct cvmx_agl_gmx_rx_bp_onx_s cn68xxp1;
829}; 1382};
830 1383
831union cvmx_agl_gmx_rx_prt_info { 1384union cvmx_agl_gmx_rx_prt_info {
832 uint64_t u64; 1385 uint64_t u64;
833 struct cvmx_agl_gmx_rx_prt_info_s { 1386 struct cvmx_agl_gmx_rx_prt_info_s {
1387#ifdef __BIG_ENDIAN_BITFIELD
834 uint64_t reserved_18_63:46; 1388 uint64_t reserved_18_63:46;
835 uint64_t drop:2; 1389 uint64_t drop:2;
836 uint64_t reserved_2_15:14; 1390 uint64_t reserved_2_15:14;
837 uint64_t commit:2; 1391 uint64_t commit:2;
1392#else
1393 uint64_t commit:2;
1394 uint64_t reserved_2_15:14;
1395 uint64_t drop:2;
1396 uint64_t reserved_18_63:46;
1397#endif
838 } s; 1398 } s;
839 struct cvmx_agl_gmx_rx_prt_info_s cn52xx; 1399 struct cvmx_agl_gmx_rx_prt_info_s cn52xx;
840 struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1; 1400 struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1;
841 struct cvmx_agl_gmx_rx_prt_info_cn56xx { 1401 struct cvmx_agl_gmx_rx_prt_info_cn56xx {
1402#ifdef __BIG_ENDIAN_BITFIELD
842 uint64_t reserved_17_63:47; 1403 uint64_t reserved_17_63:47;
843 uint64_t drop:1; 1404 uint64_t drop:1;
844 uint64_t reserved_1_15:15; 1405 uint64_t reserved_1_15:15;
845 uint64_t commit:1; 1406 uint64_t commit:1;
1407#else
1408 uint64_t commit:1;
1409 uint64_t reserved_1_15:15;
1410 uint64_t drop:1;
1411 uint64_t reserved_17_63:47;
1412#endif
846 } cn56xx; 1413 } cn56xx;
847 struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1; 1414 struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1;
1415 struct cvmx_agl_gmx_rx_prt_info_s cn61xx;
848 struct cvmx_agl_gmx_rx_prt_info_s cn63xx; 1416 struct cvmx_agl_gmx_rx_prt_info_s cn63xx;
849 struct cvmx_agl_gmx_rx_prt_info_s cn63xxp1; 1417 struct cvmx_agl_gmx_rx_prt_info_s cn63xxp1;
1418 struct cvmx_agl_gmx_rx_prt_info_s cn66xx;
1419 struct cvmx_agl_gmx_rx_prt_info_s cn68xx;
1420 struct cvmx_agl_gmx_rx_prt_info_s cn68xxp1;
850}; 1421};
851 1422
852union cvmx_agl_gmx_rx_tx_status { 1423union cvmx_agl_gmx_rx_tx_status {
853 uint64_t u64; 1424 uint64_t u64;
854 struct cvmx_agl_gmx_rx_tx_status_s { 1425 struct cvmx_agl_gmx_rx_tx_status_s {
1426#ifdef __BIG_ENDIAN_BITFIELD
855 uint64_t reserved_6_63:58; 1427 uint64_t reserved_6_63:58;
856 uint64_t tx:2; 1428 uint64_t tx:2;
857 uint64_t reserved_2_3:2; 1429 uint64_t reserved_2_3:2;
858 uint64_t rx:2; 1430 uint64_t rx:2;
1431#else
1432 uint64_t rx:2;
1433 uint64_t reserved_2_3:2;
1434 uint64_t tx:2;
1435 uint64_t reserved_6_63:58;
1436#endif
859 } s; 1437 } s;
860 struct cvmx_agl_gmx_rx_tx_status_s cn52xx; 1438 struct cvmx_agl_gmx_rx_tx_status_s cn52xx;
861 struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1; 1439 struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1;
862 struct cvmx_agl_gmx_rx_tx_status_cn56xx { 1440 struct cvmx_agl_gmx_rx_tx_status_cn56xx {
1441#ifdef __BIG_ENDIAN_BITFIELD
863 uint64_t reserved_5_63:59; 1442 uint64_t reserved_5_63:59;
864 uint64_t tx:1; 1443 uint64_t tx:1;
865 uint64_t reserved_1_3:3; 1444 uint64_t reserved_1_3:3;
866 uint64_t rx:1; 1445 uint64_t rx:1;
1446#else
1447 uint64_t rx:1;
1448 uint64_t reserved_1_3:3;
1449 uint64_t tx:1;
1450 uint64_t reserved_5_63:59;
1451#endif
867 } cn56xx; 1452 } cn56xx;
868 struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1; 1453 struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1;
1454 struct cvmx_agl_gmx_rx_tx_status_s cn61xx;
869 struct cvmx_agl_gmx_rx_tx_status_s cn63xx; 1455 struct cvmx_agl_gmx_rx_tx_status_s cn63xx;
870 struct cvmx_agl_gmx_rx_tx_status_s cn63xxp1; 1456 struct cvmx_agl_gmx_rx_tx_status_s cn63xxp1;
1457 struct cvmx_agl_gmx_rx_tx_status_s cn66xx;
1458 struct cvmx_agl_gmx_rx_tx_status_s cn68xx;
1459 struct cvmx_agl_gmx_rx_tx_status_s cn68xxp1;
871}; 1460};
872 1461
873union cvmx_agl_gmx_smacx { 1462union cvmx_agl_gmx_smacx {
874 uint64_t u64; 1463 uint64_t u64;
875 struct cvmx_agl_gmx_smacx_s { 1464 struct cvmx_agl_gmx_smacx_s {
1465#ifdef __BIG_ENDIAN_BITFIELD
876 uint64_t reserved_48_63:16; 1466 uint64_t reserved_48_63:16;
877 uint64_t smac:48; 1467 uint64_t smac:48;
1468#else
1469 uint64_t smac:48;
1470 uint64_t reserved_48_63:16;
1471#endif
878 } s; 1472 } s;
879 struct cvmx_agl_gmx_smacx_s cn52xx; 1473 struct cvmx_agl_gmx_smacx_s cn52xx;
880 struct cvmx_agl_gmx_smacx_s cn52xxp1; 1474 struct cvmx_agl_gmx_smacx_s cn52xxp1;
881 struct cvmx_agl_gmx_smacx_s cn56xx; 1475 struct cvmx_agl_gmx_smacx_s cn56xx;
882 struct cvmx_agl_gmx_smacx_s cn56xxp1; 1476 struct cvmx_agl_gmx_smacx_s cn56xxp1;
1477 struct cvmx_agl_gmx_smacx_s cn61xx;
883 struct cvmx_agl_gmx_smacx_s cn63xx; 1478 struct cvmx_agl_gmx_smacx_s cn63xx;
884 struct cvmx_agl_gmx_smacx_s cn63xxp1; 1479 struct cvmx_agl_gmx_smacx_s cn63xxp1;
1480 struct cvmx_agl_gmx_smacx_s cn66xx;
1481 struct cvmx_agl_gmx_smacx_s cn68xx;
1482 struct cvmx_agl_gmx_smacx_s cn68xxp1;
885}; 1483};
886 1484
887union cvmx_agl_gmx_stat_bp { 1485union cvmx_agl_gmx_stat_bp {
888 uint64_t u64; 1486 uint64_t u64;
889 struct cvmx_agl_gmx_stat_bp_s { 1487 struct cvmx_agl_gmx_stat_bp_s {
1488#ifdef __BIG_ENDIAN_BITFIELD
890 uint64_t reserved_17_63:47; 1489 uint64_t reserved_17_63:47;
891 uint64_t bp:1; 1490 uint64_t bp:1;
892 uint64_t cnt:16; 1491 uint64_t cnt:16;
1492#else
1493 uint64_t cnt:16;
1494 uint64_t bp:1;
1495 uint64_t reserved_17_63:47;
1496#endif
893 } s; 1497 } s;
894 struct cvmx_agl_gmx_stat_bp_s cn52xx; 1498 struct cvmx_agl_gmx_stat_bp_s cn52xx;
895 struct cvmx_agl_gmx_stat_bp_s cn52xxp1; 1499 struct cvmx_agl_gmx_stat_bp_s cn52xxp1;
896 struct cvmx_agl_gmx_stat_bp_s cn56xx; 1500 struct cvmx_agl_gmx_stat_bp_s cn56xx;
897 struct cvmx_agl_gmx_stat_bp_s cn56xxp1; 1501 struct cvmx_agl_gmx_stat_bp_s cn56xxp1;
1502 struct cvmx_agl_gmx_stat_bp_s cn61xx;
898 struct cvmx_agl_gmx_stat_bp_s cn63xx; 1503 struct cvmx_agl_gmx_stat_bp_s cn63xx;
899 struct cvmx_agl_gmx_stat_bp_s cn63xxp1; 1504 struct cvmx_agl_gmx_stat_bp_s cn63xxp1;
1505 struct cvmx_agl_gmx_stat_bp_s cn66xx;
1506 struct cvmx_agl_gmx_stat_bp_s cn68xx;
1507 struct cvmx_agl_gmx_stat_bp_s cn68xxp1;
900}; 1508};
901 1509
902union cvmx_agl_gmx_txx_append { 1510union cvmx_agl_gmx_txx_append {
903 uint64_t u64; 1511 uint64_t u64;
904 struct cvmx_agl_gmx_txx_append_s { 1512 struct cvmx_agl_gmx_txx_append_s {
1513#ifdef __BIG_ENDIAN_BITFIELD
905 uint64_t reserved_4_63:60; 1514 uint64_t reserved_4_63:60;
906 uint64_t force_fcs:1; 1515 uint64_t force_fcs:1;
907 uint64_t fcs:1; 1516 uint64_t fcs:1;
908 uint64_t pad:1; 1517 uint64_t pad:1;
909 uint64_t preamble:1; 1518 uint64_t preamble:1;
1519#else
1520 uint64_t preamble:1;
1521 uint64_t pad:1;
1522 uint64_t fcs:1;
1523 uint64_t force_fcs:1;
1524 uint64_t reserved_4_63:60;
1525#endif
910 } s; 1526 } s;
911 struct cvmx_agl_gmx_txx_append_s cn52xx; 1527 struct cvmx_agl_gmx_txx_append_s cn52xx;
912 struct cvmx_agl_gmx_txx_append_s cn52xxp1; 1528 struct cvmx_agl_gmx_txx_append_s cn52xxp1;
913 struct cvmx_agl_gmx_txx_append_s cn56xx; 1529 struct cvmx_agl_gmx_txx_append_s cn56xx;
914 struct cvmx_agl_gmx_txx_append_s cn56xxp1; 1530 struct cvmx_agl_gmx_txx_append_s cn56xxp1;
1531 struct cvmx_agl_gmx_txx_append_s cn61xx;
915 struct cvmx_agl_gmx_txx_append_s cn63xx; 1532 struct cvmx_agl_gmx_txx_append_s cn63xx;
916 struct cvmx_agl_gmx_txx_append_s cn63xxp1; 1533 struct cvmx_agl_gmx_txx_append_s cn63xxp1;
1534 struct cvmx_agl_gmx_txx_append_s cn66xx;
1535 struct cvmx_agl_gmx_txx_append_s cn68xx;
1536 struct cvmx_agl_gmx_txx_append_s cn68xxp1;
917}; 1537};
918 1538
919union cvmx_agl_gmx_txx_clk { 1539union cvmx_agl_gmx_txx_clk {
920 uint64_t u64; 1540 uint64_t u64;
921 struct cvmx_agl_gmx_txx_clk_s { 1541 struct cvmx_agl_gmx_txx_clk_s {
1542#ifdef __BIG_ENDIAN_BITFIELD
922 uint64_t reserved_6_63:58; 1543 uint64_t reserved_6_63:58;
923 uint64_t clk_cnt:6; 1544 uint64_t clk_cnt:6;
1545#else
1546 uint64_t clk_cnt:6;
1547 uint64_t reserved_6_63:58;
1548#endif
924 } s; 1549 } s;
1550 struct cvmx_agl_gmx_txx_clk_s cn61xx;
925 struct cvmx_agl_gmx_txx_clk_s cn63xx; 1551 struct cvmx_agl_gmx_txx_clk_s cn63xx;
926 struct cvmx_agl_gmx_txx_clk_s cn63xxp1; 1552 struct cvmx_agl_gmx_txx_clk_s cn63xxp1;
1553 struct cvmx_agl_gmx_txx_clk_s cn66xx;
1554 struct cvmx_agl_gmx_txx_clk_s cn68xx;
1555 struct cvmx_agl_gmx_txx_clk_s cn68xxp1;
927}; 1556};
928 1557
929union cvmx_agl_gmx_txx_ctl { 1558union cvmx_agl_gmx_txx_ctl {
930 uint64_t u64; 1559 uint64_t u64;
931 struct cvmx_agl_gmx_txx_ctl_s { 1560 struct cvmx_agl_gmx_txx_ctl_s {
1561#ifdef __BIG_ENDIAN_BITFIELD
932 uint64_t reserved_2_63:62; 1562 uint64_t reserved_2_63:62;
933 uint64_t xsdef_en:1; 1563 uint64_t xsdef_en:1;
934 uint64_t xscol_en:1; 1564 uint64_t xscol_en:1;
1565#else
1566 uint64_t xscol_en:1;
1567 uint64_t xsdef_en:1;
1568 uint64_t reserved_2_63:62;
1569#endif
935 } s; 1570 } s;
936 struct cvmx_agl_gmx_txx_ctl_s cn52xx; 1571 struct cvmx_agl_gmx_txx_ctl_s cn52xx;
937 struct cvmx_agl_gmx_txx_ctl_s cn52xxp1; 1572 struct cvmx_agl_gmx_txx_ctl_s cn52xxp1;
938 struct cvmx_agl_gmx_txx_ctl_s cn56xx; 1573 struct cvmx_agl_gmx_txx_ctl_s cn56xx;
939 struct cvmx_agl_gmx_txx_ctl_s cn56xxp1; 1574 struct cvmx_agl_gmx_txx_ctl_s cn56xxp1;
1575 struct cvmx_agl_gmx_txx_ctl_s cn61xx;
940 struct cvmx_agl_gmx_txx_ctl_s cn63xx; 1576 struct cvmx_agl_gmx_txx_ctl_s cn63xx;
941 struct cvmx_agl_gmx_txx_ctl_s cn63xxp1; 1577 struct cvmx_agl_gmx_txx_ctl_s cn63xxp1;
1578 struct cvmx_agl_gmx_txx_ctl_s cn66xx;
1579 struct cvmx_agl_gmx_txx_ctl_s cn68xx;
1580 struct cvmx_agl_gmx_txx_ctl_s cn68xxp1;
942}; 1581};
943 1582
944union cvmx_agl_gmx_txx_min_pkt { 1583union cvmx_agl_gmx_txx_min_pkt {
945 uint64_t u64; 1584 uint64_t u64;
946 struct cvmx_agl_gmx_txx_min_pkt_s { 1585 struct cvmx_agl_gmx_txx_min_pkt_s {
1586#ifdef __BIG_ENDIAN_BITFIELD
947 uint64_t reserved_8_63:56; 1587 uint64_t reserved_8_63:56;
948 uint64_t min_size:8; 1588 uint64_t min_size:8;
1589#else
1590 uint64_t min_size:8;
1591 uint64_t reserved_8_63:56;
1592#endif
949 } s; 1593 } s;
950 struct cvmx_agl_gmx_txx_min_pkt_s cn52xx; 1594 struct cvmx_agl_gmx_txx_min_pkt_s cn52xx;
951 struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1; 1595 struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1;
952 struct cvmx_agl_gmx_txx_min_pkt_s cn56xx; 1596 struct cvmx_agl_gmx_txx_min_pkt_s cn56xx;
953 struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1; 1597 struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1;
1598 struct cvmx_agl_gmx_txx_min_pkt_s cn61xx;
954 struct cvmx_agl_gmx_txx_min_pkt_s cn63xx; 1599 struct cvmx_agl_gmx_txx_min_pkt_s cn63xx;
955 struct cvmx_agl_gmx_txx_min_pkt_s cn63xxp1; 1600 struct cvmx_agl_gmx_txx_min_pkt_s cn63xxp1;
1601 struct cvmx_agl_gmx_txx_min_pkt_s cn66xx;
1602 struct cvmx_agl_gmx_txx_min_pkt_s cn68xx;
1603 struct cvmx_agl_gmx_txx_min_pkt_s cn68xxp1;
956}; 1604};
957 1605
958union cvmx_agl_gmx_txx_pause_pkt_interval { 1606union cvmx_agl_gmx_txx_pause_pkt_interval {
959 uint64_t u64; 1607 uint64_t u64;
960 struct cvmx_agl_gmx_txx_pause_pkt_interval_s { 1608 struct cvmx_agl_gmx_txx_pause_pkt_interval_s {
1609#ifdef __BIG_ENDIAN_BITFIELD
961 uint64_t reserved_16_63:48; 1610 uint64_t reserved_16_63:48;
962 uint64_t interval:16; 1611 uint64_t interval:16;
1612#else
1613 uint64_t interval:16;
1614 uint64_t reserved_16_63:48;
1615#endif
963 } s; 1616 } s;
964 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx; 1617 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx;
965 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1; 1618 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1;
966 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx; 1619 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx;
967 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1; 1620 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1;
1621 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn61xx;
968 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx; 1622 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx;
969 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xxp1; 1623 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xxp1;
1624 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn66xx;
1625 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn68xx;
1626 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn68xxp1;
970}; 1627};
971 1628
972union cvmx_agl_gmx_txx_pause_pkt_time { 1629union cvmx_agl_gmx_txx_pause_pkt_time {
973 uint64_t u64; 1630 uint64_t u64;
974 struct cvmx_agl_gmx_txx_pause_pkt_time_s { 1631 struct cvmx_agl_gmx_txx_pause_pkt_time_s {
1632#ifdef __BIG_ENDIAN_BITFIELD
975 uint64_t reserved_16_63:48; 1633 uint64_t reserved_16_63:48;
976 uint64_t time:16; 1634 uint64_t time:16;
1635#else
1636 uint64_t time:16;
1637 uint64_t reserved_16_63:48;
1638#endif
977 } s; 1639 } s;
978 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx; 1640 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx;
979 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1; 1641 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1;
980 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx; 1642 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx;
981 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1; 1643 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1;
1644 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn61xx;
982 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx; 1645 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx;
983 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xxp1; 1646 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xxp1;
1647 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn66xx;
1648 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn68xx;
1649 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn68xxp1;
984}; 1650};
985 1651
986union cvmx_agl_gmx_txx_pause_togo { 1652union cvmx_agl_gmx_txx_pause_togo {
987 uint64_t u64; 1653 uint64_t u64;
988 struct cvmx_agl_gmx_txx_pause_togo_s { 1654 struct cvmx_agl_gmx_txx_pause_togo_s {
1655#ifdef __BIG_ENDIAN_BITFIELD
989 uint64_t reserved_16_63:48; 1656 uint64_t reserved_16_63:48;
990 uint64_t time:16; 1657 uint64_t time:16;
1658#else
1659 uint64_t time:16;
1660 uint64_t reserved_16_63:48;
1661#endif
991 } s; 1662 } s;
992 struct cvmx_agl_gmx_txx_pause_togo_s cn52xx; 1663 struct cvmx_agl_gmx_txx_pause_togo_s cn52xx;
993 struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1; 1664 struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1;
994 struct cvmx_agl_gmx_txx_pause_togo_s cn56xx; 1665 struct cvmx_agl_gmx_txx_pause_togo_s cn56xx;
995 struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1; 1666 struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1;
1667 struct cvmx_agl_gmx_txx_pause_togo_s cn61xx;
996 struct cvmx_agl_gmx_txx_pause_togo_s cn63xx; 1668 struct cvmx_agl_gmx_txx_pause_togo_s cn63xx;
997 struct cvmx_agl_gmx_txx_pause_togo_s cn63xxp1; 1669 struct cvmx_agl_gmx_txx_pause_togo_s cn63xxp1;
1670 struct cvmx_agl_gmx_txx_pause_togo_s cn66xx;
1671 struct cvmx_agl_gmx_txx_pause_togo_s cn68xx;
1672 struct cvmx_agl_gmx_txx_pause_togo_s cn68xxp1;
998}; 1673};
999 1674
1000union cvmx_agl_gmx_txx_pause_zero { 1675union cvmx_agl_gmx_txx_pause_zero {
1001 uint64_t u64; 1676 uint64_t u64;
1002 struct cvmx_agl_gmx_txx_pause_zero_s { 1677 struct cvmx_agl_gmx_txx_pause_zero_s {
1678#ifdef __BIG_ENDIAN_BITFIELD
1003 uint64_t reserved_1_63:63; 1679 uint64_t reserved_1_63:63;
1004 uint64_t send:1; 1680 uint64_t send:1;
1681#else
1682 uint64_t send:1;
1683 uint64_t reserved_1_63:63;
1684#endif
1005 } s; 1685 } s;
1006 struct cvmx_agl_gmx_txx_pause_zero_s cn52xx; 1686 struct cvmx_agl_gmx_txx_pause_zero_s cn52xx;
1007 struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1; 1687 struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1;
1008 struct cvmx_agl_gmx_txx_pause_zero_s cn56xx; 1688 struct cvmx_agl_gmx_txx_pause_zero_s cn56xx;
1009 struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1; 1689 struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1;
1690 struct cvmx_agl_gmx_txx_pause_zero_s cn61xx;
1010 struct cvmx_agl_gmx_txx_pause_zero_s cn63xx; 1691 struct cvmx_agl_gmx_txx_pause_zero_s cn63xx;
1011 struct cvmx_agl_gmx_txx_pause_zero_s cn63xxp1; 1692 struct cvmx_agl_gmx_txx_pause_zero_s cn63xxp1;
1693 struct cvmx_agl_gmx_txx_pause_zero_s cn66xx;
1694 struct cvmx_agl_gmx_txx_pause_zero_s cn68xx;
1695 struct cvmx_agl_gmx_txx_pause_zero_s cn68xxp1;
1012}; 1696};
1013 1697
1014union cvmx_agl_gmx_txx_soft_pause { 1698union cvmx_agl_gmx_txx_soft_pause {
1015 uint64_t u64; 1699 uint64_t u64;
1016 struct cvmx_agl_gmx_txx_soft_pause_s { 1700 struct cvmx_agl_gmx_txx_soft_pause_s {
1701#ifdef __BIG_ENDIAN_BITFIELD
1017 uint64_t reserved_16_63:48; 1702 uint64_t reserved_16_63:48;
1018 uint64_t time:16; 1703 uint64_t time:16;
1704#else
1705 uint64_t time:16;
1706 uint64_t reserved_16_63:48;
1707#endif
1019 } s; 1708 } s;
1020 struct cvmx_agl_gmx_txx_soft_pause_s cn52xx; 1709 struct cvmx_agl_gmx_txx_soft_pause_s cn52xx;
1021 struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1; 1710 struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1;
1022 struct cvmx_agl_gmx_txx_soft_pause_s cn56xx; 1711 struct cvmx_agl_gmx_txx_soft_pause_s cn56xx;
1023 struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1; 1712 struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1;
1713 struct cvmx_agl_gmx_txx_soft_pause_s cn61xx;
1024 struct cvmx_agl_gmx_txx_soft_pause_s cn63xx; 1714 struct cvmx_agl_gmx_txx_soft_pause_s cn63xx;
1025 struct cvmx_agl_gmx_txx_soft_pause_s cn63xxp1; 1715 struct cvmx_agl_gmx_txx_soft_pause_s cn63xxp1;
1716 struct cvmx_agl_gmx_txx_soft_pause_s cn66xx;
1717 struct cvmx_agl_gmx_txx_soft_pause_s cn68xx;
1718 struct cvmx_agl_gmx_txx_soft_pause_s cn68xxp1;
1026}; 1719};
1027 1720
1028union cvmx_agl_gmx_txx_stat0 { 1721union cvmx_agl_gmx_txx_stat0 {
1029 uint64_t u64; 1722 uint64_t u64;
1030 struct cvmx_agl_gmx_txx_stat0_s { 1723 struct cvmx_agl_gmx_txx_stat0_s {
1724#ifdef __BIG_ENDIAN_BITFIELD
1031 uint64_t xsdef:32; 1725 uint64_t xsdef:32;
1032 uint64_t xscol:32; 1726 uint64_t xscol:32;
1727#else
1728 uint64_t xscol:32;
1729 uint64_t xsdef:32;
1730#endif
1033 } s; 1731 } s;
1034 struct cvmx_agl_gmx_txx_stat0_s cn52xx; 1732 struct cvmx_agl_gmx_txx_stat0_s cn52xx;
1035 struct cvmx_agl_gmx_txx_stat0_s cn52xxp1; 1733 struct cvmx_agl_gmx_txx_stat0_s cn52xxp1;
1036 struct cvmx_agl_gmx_txx_stat0_s cn56xx; 1734 struct cvmx_agl_gmx_txx_stat0_s cn56xx;
1037 struct cvmx_agl_gmx_txx_stat0_s cn56xxp1; 1735 struct cvmx_agl_gmx_txx_stat0_s cn56xxp1;
1736 struct cvmx_agl_gmx_txx_stat0_s cn61xx;
1038 struct cvmx_agl_gmx_txx_stat0_s cn63xx; 1737 struct cvmx_agl_gmx_txx_stat0_s cn63xx;
1039 struct cvmx_agl_gmx_txx_stat0_s cn63xxp1; 1738 struct cvmx_agl_gmx_txx_stat0_s cn63xxp1;
1739 struct cvmx_agl_gmx_txx_stat0_s cn66xx;
1740 struct cvmx_agl_gmx_txx_stat0_s cn68xx;
1741 struct cvmx_agl_gmx_txx_stat0_s cn68xxp1;
1040}; 1742};
1041 1743
1042union cvmx_agl_gmx_txx_stat1 { 1744union cvmx_agl_gmx_txx_stat1 {
1043 uint64_t u64; 1745 uint64_t u64;
1044 struct cvmx_agl_gmx_txx_stat1_s { 1746 struct cvmx_agl_gmx_txx_stat1_s {
1747#ifdef __BIG_ENDIAN_BITFIELD
1045 uint64_t scol:32; 1748 uint64_t scol:32;
1046 uint64_t mcol:32; 1749 uint64_t mcol:32;
1750#else
1751 uint64_t mcol:32;
1752 uint64_t scol:32;
1753#endif
1047 } s; 1754 } s;
1048 struct cvmx_agl_gmx_txx_stat1_s cn52xx; 1755 struct cvmx_agl_gmx_txx_stat1_s cn52xx;
1049 struct cvmx_agl_gmx_txx_stat1_s cn52xxp1; 1756 struct cvmx_agl_gmx_txx_stat1_s cn52xxp1;
1050 struct cvmx_agl_gmx_txx_stat1_s cn56xx; 1757 struct cvmx_agl_gmx_txx_stat1_s cn56xx;
1051 struct cvmx_agl_gmx_txx_stat1_s cn56xxp1; 1758 struct cvmx_agl_gmx_txx_stat1_s cn56xxp1;
1759 struct cvmx_agl_gmx_txx_stat1_s cn61xx;
1052 struct cvmx_agl_gmx_txx_stat1_s cn63xx; 1760 struct cvmx_agl_gmx_txx_stat1_s cn63xx;
1053 struct cvmx_agl_gmx_txx_stat1_s cn63xxp1; 1761 struct cvmx_agl_gmx_txx_stat1_s cn63xxp1;
1762 struct cvmx_agl_gmx_txx_stat1_s cn66xx;
1763 struct cvmx_agl_gmx_txx_stat1_s cn68xx;
1764 struct cvmx_agl_gmx_txx_stat1_s cn68xxp1;
1054}; 1765};
1055 1766
1056union cvmx_agl_gmx_txx_stat2 { 1767union cvmx_agl_gmx_txx_stat2 {
1057 uint64_t u64; 1768 uint64_t u64;
1058 struct cvmx_agl_gmx_txx_stat2_s { 1769 struct cvmx_agl_gmx_txx_stat2_s {
1770#ifdef __BIG_ENDIAN_BITFIELD
1059 uint64_t reserved_48_63:16; 1771 uint64_t reserved_48_63:16;
1060 uint64_t octs:48; 1772 uint64_t octs:48;
1773#else
1774 uint64_t octs:48;
1775 uint64_t reserved_48_63:16;
1776#endif
1061 } s; 1777 } s;
1062 struct cvmx_agl_gmx_txx_stat2_s cn52xx; 1778 struct cvmx_agl_gmx_txx_stat2_s cn52xx;
1063 struct cvmx_agl_gmx_txx_stat2_s cn52xxp1; 1779 struct cvmx_agl_gmx_txx_stat2_s cn52xxp1;
1064 struct cvmx_agl_gmx_txx_stat2_s cn56xx; 1780 struct cvmx_agl_gmx_txx_stat2_s cn56xx;
1065 struct cvmx_agl_gmx_txx_stat2_s cn56xxp1; 1781 struct cvmx_agl_gmx_txx_stat2_s cn56xxp1;
1782 struct cvmx_agl_gmx_txx_stat2_s cn61xx;
1066 struct cvmx_agl_gmx_txx_stat2_s cn63xx; 1783 struct cvmx_agl_gmx_txx_stat2_s cn63xx;
1067 struct cvmx_agl_gmx_txx_stat2_s cn63xxp1; 1784 struct cvmx_agl_gmx_txx_stat2_s cn63xxp1;
1785 struct cvmx_agl_gmx_txx_stat2_s cn66xx;
1786 struct cvmx_agl_gmx_txx_stat2_s cn68xx;
1787 struct cvmx_agl_gmx_txx_stat2_s cn68xxp1;
1068}; 1788};
1069 1789
1070union cvmx_agl_gmx_txx_stat3 { 1790union cvmx_agl_gmx_txx_stat3 {
1071 uint64_t u64; 1791 uint64_t u64;
1072 struct cvmx_agl_gmx_txx_stat3_s { 1792 struct cvmx_agl_gmx_txx_stat3_s {
1793#ifdef __BIG_ENDIAN_BITFIELD
1073 uint64_t reserved_32_63:32; 1794 uint64_t reserved_32_63:32;
1074 uint64_t pkts:32; 1795 uint64_t pkts:32;
1796#else
1797 uint64_t pkts:32;
1798 uint64_t reserved_32_63:32;
1799#endif
1075 } s; 1800 } s;
1076 struct cvmx_agl_gmx_txx_stat3_s cn52xx; 1801 struct cvmx_agl_gmx_txx_stat3_s cn52xx;
1077 struct cvmx_agl_gmx_txx_stat3_s cn52xxp1; 1802 struct cvmx_agl_gmx_txx_stat3_s cn52xxp1;
1078 struct cvmx_agl_gmx_txx_stat3_s cn56xx; 1803 struct cvmx_agl_gmx_txx_stat3_s cn56xx;
1079 struct cvmx_agl_gmx_txx_stat3_s cn56xxp1; 1804 struct cvmx_agl_gmx_txx_stat3_s cn56xxp1;
1805 struct cvmx_agl_gmx_txx_stat3_s cn61xx;
1080 struct cvmx_agl_gmx_txx_stat3_s cn63xx; 1806 struct cvmx_agl_gmx_txx_stat3_s cn63xx;
1081 struct cvmx_agl_gmx_txx_stat3_s cn63xxp1; 1807 struct cvmx_agl_gmx_txx_stat3_s cn63xxp1;
1808 struct cvmx_agl_gmx_txx_stat3_s cn66xx;
1809 struct cvmx_agl_gmx_txx_stat3_s cn68xx;
1810 struct cvmx_agl_gmx_txx_stat3_s cn68xxp1;
1082}; 1811};
1083 1812
1084union cvmx_agl_gmx_txx_stat4 { 1813union cvmx_agl_gmx_txx_stat4 {
1085 uint64_t u64; 1814 uint64_t u64;
1086 struct cvmx_agl_gmx_txx_stat4_s { 1815 struct cvmx_agl_gmx_txx_stat4_s {
1816#ifdef __BIG_ENDIAN_BITFIELD
1087 uint64_t hist1:32; 1817 uint64_t hist1:32;
1088 uint64_t hist0:32; 1818 uint64_t hist0:32;
1819#else
1820 uint64_t hist0:32;
1821 uint64_t hist1:32;
1822#endif
1089 } s; 1823 } s;
1090 struct cvmx_agl_gmx_txx_stat4_s cn52xx; 1824 struct cvmx_agl_gmx_txx_stat4_s cn52xx;
1091 struct cvmx_agl_gmx_txx_stat4_s cn52xxp1; 1825 struct cvmx_agl_gmx_txx_stat4_s cn52xxp1;
1092 struct cvmx_agl_gmx_txx_stat4_s cn56xx; 1826 struct cvmx_agl_gmx_txx_stat4_s cn56xx;
1093 struct cvmx_agl_gmx_txx_stat4_s cn56xxp1; 1827 struct cvmx_agl_gmx_txx_stat4_s cn56xxp1;
1828 struct cvmx_agl_gmx_txx_stat4_s cn61xx;
1094 struct cvmx_agl_gmx_txx_stat4_s cn63xx; 1829 struct cvmx_agl_gmx_txx_stat4_s cn63xx;
1095 struct cvmx_agl_gmx_txx_stat4_s cn63xxp1; 1830 struct cvmx_agl_gmx_txx_stat4_s cn63xxp1;
1831 struct cvmx_agl_gmx_txx_stat4_s cn66xx;
1832 struct cvmx_agl_gmx_txx_stat4_s cn68xx;
1833 struct cvmx_agl_gmx_txx_stat4_s cn68xxp1;
1096}; 1834};
1097 1835
1098union cvmx_agl_gmx_txx_stat5 { 1836union cvmx_agl_gmx_txx_stat5 {
1099 uint64_t u64; 1837 uint64_t u64;
1100 struct cvmx_agl_gmx_txx_stat5_s { 1838 struct cvmx_agl_gmx_txx_stat5_s {
1839#ifdef __BIG_ENDIAN_BITFIELD
1101 uint64_t hist3:32; 1840 uint64_t hist3:32;
1102 uint64_t hist2:32; 1841 uint64_t hist2:32;
1842#else
1843 uint64_t hist2:32;
1844 uint64_t hist3:32;
1845#endif
1103 } s; 1846 } s;
1104 struct cvmx_agl_gmx_txx_stat5_s cn52xx; 1847 struct cvmx_agl_gmx_txx_stat5_s cn52xx;
1105 struct cvmx_agl_gmx_txx_stat5_s cn52xxp1; 1848 struct cvmx_agl_gmx_txx_stat5_s cn52xxp1;
1106 struct cvmx_agl_gmx_txx_stat5_s cn56xx; 1849 struct cvmx_agl_gmx_txx_stat5_s cn56xx;
1107 struct cvmx_agl_gmx_txx_stat5_s cn56xxp1; 1850 struct cvmx_agl_gmx_txx_stat5_s cn56xxp1;
1851 struct cvmx_agl_gmx_txx_stat5_s cn61xx;
1108 struct cvmx_agl_gmx_txx_stat5_s cn63xx; 1852 struct cvmx_agl_gmx_txx_stat5_s cn63xx;
1109 struct cvmx_agl_gmx_txx_stat5_s cn63xxp1; 1853 struct cvmx_agl_gmx_txx_stat5_s cn63xxp1;
1854 struct cvmx_agl_gmx_txx_stat5_s cn66xx;
1855 struct cvmx_agl_gmx_txx_stat5_s cn68xx;
1856 struct cvmx_agl_gmx_txx_stat5_s cn68xxp1;
1110}; 1857};
1111 1858
1112union cvmx_agl_gmx_txx_stat6 { 1859union cvmx_agl_gmx_txx_stat6 {
1113 uint64_t u64; 1860 uint64_t u64;
1114 struct cvmx_agl_gmx_txx_stat6_s { 1861 struct cvmx_agl_gmx_txx_stat6_s {
1862#ifdef __BIG_ENDIAN_BITFIELD
1115 uint64_t hist5:32; 1863 uint64_t hist5:32;
1116 uint64_t hist4:32; 1864 uint64_t hist4:32;
1865#else
1866 uint64_t hist4:32;
1867 uint64_t hist5:32;
1868#endif
1117 } s; 1869 } s;
1118 struct cvmx_agl_gmx_txx_stat6_s cn52xx; 1870 struct cvmx_agl_gmx_txx_stat6_s cn52xx;
1119 struct cvmx_agl_gmx_txx_stat6_s cn52xxp1; 1871 struct cvmx_agl_gmx_txx_stat6_s cn52xxp1;
1120 struct cvmx_agl_gmx_txx_stat6_s cn56xx; 1872 struct cvmx_agl_gmx_txx_stat6_s cn56xx;
1121 struct cvmx_agl_gmx_txx_stat6_s cn56xxp1; 1873 struct cvmx_agl_gmx_txx_stat6_s cn56xxp1;
1874 struct cvmx_agl_gmx_txx_stat6_s cn61xx;
1122 struct cvmx_agl_gmx_txx_stat6_s cn63xx; 1875 struct cvmx_agl_gmx_txx_stat6_s cn63xx;
1123 struct cvmx_agl_gmx_txx_stat6_s cn63xxp1; 1876 struct cvmx_agl_gmx_txx_stat6_s cn63xxp1;
1877 struct cvmx_agl_gmx_txx_stat6_s cn66xx;
1878 struct cvmx_agl_gmx_txx_stat6_s cn68xx;
1879 struct cvmx_agl_gmx_txx_stat6_s cn68xxp1;
1124}; 1880};
1125 1881
1126union cvmx_agl_gmx_txx_stat7 { 1882union cvmx_agl_gmx_txx_stat7 {
1127 uint64_t u64; 1883 uint64_t u64;
1128 struct cvmx_agl_gmx_txx_stat7_s { 1884 struct cvmx_agl_gmx_txx_stat7_s {
1885#ifdef __BIG_ENDIAN_BITFIELD
1129 uint64_t hist7:32; 1886 uint64_t hist7:32;
1130 uint64_t hist6:32; 1887 uint64_t hist6:32;
1888#else
1889 uint64_t hist6:32;
1890 uint64_t hist7:32;
1891#endif
1131 } s; 1892 } s;
1132 struct cvmx_agl_gmx_txx_stat7_s cn52xx; 1893 struct cvmx_agl_gmx_txx_stat7_s cn52xx;
1133 struct cvmx_agl_gmx_txx_stat7_s cn52xxp1; 1894 struct cvmx_agl_gmx_txx_stat7_s cn52xxp1;
1134 struct cvmx_agl_gmx_txx_stat7_s cn56xx; 1895 struct cvmx_agl_gmx_txx_stat7_s cn56xx;
1135 struct cvmx_agl_gmx_txx_stat7_s cn56xxp1; 1896 struct cvmx_agl_gmx_txx_stat7_s cn56xxp1;
1897 struct cvmx_agl_gmx_txx_stat7_s cn61xx;
1136 struct cvmx_agl_gmx_txx_stat7_s cn63xx; 1898 struct cvmx_agl_gmx_txx_stat7_s cn63xx;
1137 struct cvmx_agl_gmx_txx_stat7_s cn63xxp1; 1899 struct cvmx_agl_gmx_txx_stat7_s cn63xxp1;
1900 struct cvmx_agl_gmx_txx_stat7_s cn66xx;
1901 struct cvmx_agl_gmx_txx_stat7_s cn68xx;
1902 struct cvmx_agl_gmx_txx_stat7_s cn68xxp1;
1138}; 1903};
1139 1904
1140union cvmx_agl_gmx_txx_stat8 { 1905union cvmx_agl_gmx_txx_stat8 {
1141 uint64_t u64; 1906 uint64_t u64;
1142 struct cvmx_agl_gmx_txx_stat8_s { 1907 struct cvmx_agl_gmx_txx_stat8_s {
1908#ifdef __BIG_ENDIAN_BITFIELD
1143 uint64_t mcst:32; 1909 uint64_t mcst:32;
1144 uint64_t bcst:32; 1910 uint64_t bcst:32;
1911#else
1912 uint64_t bcst:32;
1913 uint64_t mcst:32;
1914#endif
1145 } s; 1915 } s;
1146 struct cvmx_agl_gmx_txx_stat8_s cn52xx; 1916 struct cvmx_agl_gmx_txx_stat8_s cn52xx;
1147 struct cvmx_agl_gmx_txx_stat8_s cn52xxp1; 1917 struct cvmx_agl_gmx_txx_stat8_s cn52xxp1;
1148 struct cvmx_agl_gmx_txx_stat8_s cn56xx; 1918 struct cvmx_agl_gmx_txx_stat8_s cn56xx;
1149 struct cvmx_agl_gmx_txx_stat8_s cn56xxp1; 1919 struct cvmx_agl_gmx_txx_stat8_s cn56xxp1;
1920 struct cvmx_agl_gmx_txx_stat8_s cn61xx;
1150 struct cvmx_agl_gmx_txx_stat8_s cn63xx; 1921 struct cvmx_agl_gmx_txx_stat8_s cn63xx;
1151 struct cvmx_agl_gmx_txx_stat8_s cn63xxp1; 1922 struct cvmx_agl_gmx_txx_stat8_s cn63xxp1;
1923 struct cvmx_agl_gmx_txx_stat8_s cn66xx;
1924 struct cvmx_agl_gmx_txx_stat8_s cn68xx;
1925 struct cvmx_agl_gmx_txx_stat8_s cn68xxp1;
1152}; 1926};
1153 1927
1154union cvmx_agl_gmx_txx_stat9 { 1928union cvmx_agl_gmx_txx_stat9 {
1155 uint64_t u64; 1929 uint64_t u64;
1156 struct cvmx_agl_gmx_txx_stat9_s { 1930 struct cvmx_agl_gmx_txx_stat9_s {
1931#ifdef __BIG_ENDIAN_BITFIELD
1157 uint64_t undflw:32; 1932 uint64_t undflw:32;
1158 uint64_t ctl:32; 1933 uint64_t ctl:32;
1934#else
1935 uint64_t ctl:32;
1936 uint64_t undflw:32;
1937#endif
1159 } s; 1938 } s;
1160 struct cvmx_agl_gmx_txx_stat9_s cn52xx; 1939 struct cvmx_agl_gmx_txx_stat9_s cn52xx;
1161 struct cvmx_agl_gmx_txx_stat9_s cn52xxp1; 1940 struct cvmx_agl_gmx_txx_stat9_s cn52xxp1;
1162 struct cvmx_agl_gmx_txx_stat9_s cn56xx; 1941 struct cvmx_agl_gmx_txx_stat9_s cn56xx;
1163 struct cvmx_agl_gmx_txx_stat9_s cn56xxp1; 1942 struct cvmx_agl_gmx_txx_stat9_s cn56xxp1;
1943 struct cvmx_agl_gmx_txx_stat9_s cn61xx;
1164 struct cvmx_agl_gmx_txx_stat9_s cn63xx; 1944 struct cvmx_agl_gmx_txx_stat9_s cn63xx;
1165 struct cvmx_agl_gmx_txx_stat9_s cn63xxp1; 1945 struct cvmx_agl_gmx_txx_stat9_s cn63xxp1;
1946 struct cvmx_agl_gmx_txx_stat9_s cn66xx;
1947 struct cvmx_agl_gmx_txx_stat9_s cn68xx;
1948 struct cvmx_agl_gmx_txx_stat9_s cn68xxp1;
1166}; 1949};
1167 1950
1168union cvmx_agl_gmx_txx_stats_ctl { 1951union cvmx_agl_gmx_txx_stats_ctl {
1169 uint64_t u64; 1952 uint64_t u64;
1170 struct cvmx_agl_gmx_txx_stats_ctl_s { 1953 struct cvmx_agl_gmx_txx_stats_ctl_s {
1954#ifdef __BIG_ENDIAN_BITFIELD
1171 uint64_t reserved_1_63:63; 1955 uint64_t reserved_1_63:63;
1172 uint64_t rd_clr:1; 1956 uint64_t rd_clr:1;
1957#else
1958 uint64_t rd_clr:1;
1959 uint64_t reserved_1_63:63;
1960#endif
1173 } s; 1961 } s;
1174 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx; 1962 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx;
1175 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1; 1963 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1;
1176 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx; 1964 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx;
1177 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1; 1965 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1;
1966 struct cvmx_agl_gmx_txx_stats_ctl_s cn61xx;
1178 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx; 1967 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx;
1179 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xxp1; 1968 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xxp1;
1969 struct cvmx_agl_gmx_txx_stats_ctl_s cn66xx;
1970 struct cvmx_agl_gmx_txx_stats_ctl_s cn68xx;
1971 struct cvmx_agl_gmx_txx_stats_ctl_s cn68xxp1;
1180}; 1972};
1181 1973
1182union cvmx_agl_gmx_txx_thresh { 1974union cvmx_agl_gmx_txx_thresh {
1183 uint64_t u64; 1975 uint64_t u64;
1184 struct cvmx_agl_gmx_txx_thresh_s { 1976 struct cvmx_agl_gmx_txx_thresh_s {
1977#ifdef __BIG_ENDIAN_BITFIELD
1185 uint64_t reserved_6_63:58; 1978 uint64_t reserved_6_63:58;
1186 uint64_t cnt:6; 1979 uint64_t cnt:6;
1980#else
1981 uint64_t cnt:6;
1982 uint64_t reserved_6_63:58;
1983#endif
1187 } s; 1984 } s;
1188 struct cvmx_agl_gmx_txx_thresh_s cn52xx; 1985 struct cvmx_agl_gmx_txx_thresh_s cn52xx;
1189 struct cvmx_agl_gmx_txx_thresh_s cn52xxp1; 1986 struct cvmx_agl_gmx_txx_thresh_s cn52xxp1;
1190 struct cvmx_agl_gmx_txx_thresh_s cn56xx; 1987 struct cvmx_agl_gmx_txx_thresh_s cn56xx;
1191 struct cvmx_agl_gmx_txx_thresh_s cn56xxp1; 1988 struct cvmx_agl_gmx_txx_thresh_s cn56xxp1;
1989 struct cvmx_agl_gmx_txx_thresh_s cn61xx;
1192 struct cvmx_agl_gmx_txx_thresh_s cn63xx; 1990 struct cvmx_agl_gmx_txx_thresh_s cn63xx;
1193 struct cvmx_agl_gmx_txx_thresh_s cn63xxp1; 1991 struct cvmx_agl_gmx_txx_thresh_s cn63xxp1;
1992 struct cvmx_agl_gmx_txx_thresh_s cn66xx;
1993 struct cvmx_agl_gmx_txx_thresh_s cn68xx;
1994 struct cvmx_agl_gmx_txx_thresh_s cn68xxp1;
1194}; 1995};
1195 1996
1196union cvmx_agl_gmx_tx_bp { 1997union cvmx_agl_gmx_tx_bp {
1197 uint64_t u64; 1998 uint64_t u64;
1198 struct cvmx_agl_gmx_tx_bp_s { 1999 struct cvmx_agl_gmx_tx_bp_s {
2000#ifdef __BIG_ENDIAN_BITFIELD
1199 uint64_t reserved_2_63:62; 2001 uint64_t reserved_2_63:62;
1200 uint64_t bp:2; 2002 uint64_t bp:2;
2003#else
2004 uint64_t bp:2;
2005 uint64_t reserved_2_63:62;
2006#endif
1201 } s; 2007 } s;
1202 struct cvmx_agl_gmx_tx_bp_s cn52xx; 2008 struct cvmx_agl_gmx_tx_bp_s cn52xx;
1203 struct cvmx_agl_gmx_tx_bp_s cn52xxp1; 2009 struct cvmx_agl_gmx_tx_bp_s cn52xxp1;
1204 struct cvmx_agl_gmx_tx_bp_cn56xx { 2010 struct cvmx_agl_gmx_tx_bp_cn56xx {
2011#ifdef __BIG_ENDIAN_BITFIELD
1205 uint64_t reserved_1_63:63; 2012 uint64_t reserved_1_63:63;
1206 uint64_t bp:1; 2013 uint64_t bp:1;
2014#else
2015 uint64_t bp:1;
2016 uint64_t reserved_1_63:63;
2017#endif
1207 } cn56xx; 2018 } cn56xx;
1208 struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1; 2019 struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1;
2020 struct cvmx_agl_gmx_tx_bp_s cn61xx;
1209 struct cvmx_agl_gmx_tx_bp_s cn63xx; 2021 struct cvmx_agl_gmx_tx_bp_s cn63xx;
1210 struct cvmx_agl_gmx_tx_bp_s cn63xxp1; 2022 struct cvmx_agl_gmx_tx_bp_s cn63xxp1;
2023 struct cvmx_agl_gmx_tx_bp_s cn66xx;
2024 struct cvmx_agl_gmx_tx_bp_s cn68xx;
2025 struct cvmx_agl_gmx_tx_bp_s cn68xxp1;
1211}; 2026};
1212 2027
1213union cvmx_agl_gmx_tx_col_attempt { 2028union cvmx_agl_gmx_tx_col_attempt {
1214 uint64_t u64; 2029 uint64_t u64;
1215 struct cvmx_agl_gmx_tx_col_attempt_s { 2030 struct cvmx_agl_gmx_tx_col_attempt_s {
2031#ifdef __BIG_ENDIAN_BITFIELD
1216 uint64_t reserved_5_63:59; 2032 uint64_t reserved_5_63:59;
1217 uint64_t limit:5; 2033 uint64_t limit:5;
2034#else
2035 uint64_t limit:5;
2036 uint64_t reserved_5_63:59;
2037#endif
1218 } s; 2038 } s;
1219 struct cvmx_agl_gmx_tx_col_attempt_s cn52xx; 2039 struct cvmx_agl_gmx_tx_col_attempt_s cn52xx;
1220 struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1; 2040 struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1;
1221 struct cvmx_agl_gmx_tx_col_attempt_s cn56xx; 2041 struct cvmx_agl_gmx_tx_col_attempt_s cn56xx;
1222 struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1; 2042 struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1;
2043 struct cvmx_agl_gmx_tx_col_attempt_s cn61xx;
1223 struct cvmx_agl_gmx_tx_col_attempt_s cn63xx; 2044 struct cvmx_agl_gmx_tx_col_attempt_s cn63xx;
1224 struct cvmx_agl_gmx_tx_col_attempt_s cn63xxp1; 2045 struct cvmx_agl_gmx_tx_col_attempt_s cn63xxp1;
2046 struct cvmx_agl_gmx_tx_col_attempt_s cn66xx;
2047 struct cvmx_agl_gmx_tx_col_attempt_s cn68xx;
2048 struct cvmx_agl_gmx_tx_col_attempt_s cn68xxp1;
1225}; 2049};
1226 2050
1227union cvmx_agl_gmx_tx_ifg { 2051union cvmx_agl_gmx_tx_ifg {
1228 uint64_t u64; 2052 uint64_t u64;
1229 struct cvmx_agl_gmx_tx_ifg_s { 2053 struct cvmx_agl_gmx_tx_ifg_s {
2054#ifdef __BIG_ENDIAN_BITFIELD
1230 uint64_t reserved_8_63:56; 2055 uint64_t reserved_8_63:56;
1231 uint64_t ifg2:4; 2056 uint64_t ifg2:4;
1232 uint64_t ifg1:4; 2057 uint64_t ifg1:4;
2058#else
2059 uint64_t ifg1:4;
2060 uint64_t ifg2:4;
2061 uint64_t reserved_8_63:56;
2062#endif
1233 } s; 2063 } s;
1234 struct cvmx_agl_gmx_tx_ifg_s cn52xx; 2064 struct cvmx_agl_gmx_tx_ifg_s cn52xx;
1235 struct cvmx_agl_gmx_tx_ifg_s cn52xxp1; 2065 struct cvmx_agl_gmx_tx_ifg_s cn52xxp1;
1236 struct cvmx_agl_gmx_tx_ifg_s cn56xx; 2066 struct cvmx_agl_gmx_tx_ifg_s cn56xx;
1237 struct cvmx_agl_gmx_tx_ifg_s cn56xxp1; 2067 struct cvmx_agl_gmx_tx_ifg_s cn56xxp1;
2068 struct cvmx_agl_gmx_tx_ifg_s cn61xx;
1238 struct cvmx_agl_gmx_tx_ifg_s cn63xx; 2069 struct cvmx_agl_gmx_tx_ifg_s cn63xx;
1239 struct cvmx_agl_gmx_tx_ifg_s cn63xxp1; 2070 struct cvmx_agl_gmx_tx_ifg_s cn63xxp1;
2071 struct cvmx_agl_gmx_tx_ifg_s cn66xx;
2072 struct cvmx_agl_gmx_tx_ifg_s cn68xx;
2073 struct cvmx_agl_gmx_tx_ifg_s cn68xxp1;
1240}; 2074};
1241 2075
1242union cvmx_agl_gmx_tx_int_en { 2076union cvmx_agl_gmx_tx_int_en {
1243 uint64_t u64; 2077 uint64_t u64;
1244 struct cvmx_agl_gmx_tx_int_en_s { 2078 struct cvmx_agl_gmx_tx_int_en_s {
2079#ifdef __BIG_ENDIAN_BITFIELD
1245 uint64_t reserved_22_63:42; 2080 uint64_t reserved_22_63:42;
1246 uint64_t ptp_lost:2; 2081 uint64_t ptp_lost:2;
1247 uint64_t reserved_18_19:2; 2082 uint64_t reserved_18_19:2;
@@ -1254,8 +2089,23 @@ union cvmx_agl_gmx_tx_int_en {
1254 uint64_t undflw:2; 2089 uint64_t undflw:2;
1255 uint64_t reserved_1_1:1; 2090 uint64_t reserved_1_1:1;
1256 uint64_t pko_nxa:1; 2091 uint64_t pko_nxa:1;
2092#else
2093 uint64_t pko_nxa:1;
2094 uint64_t reserved_1_1:1;
2095 uint64_t undflw:2;
2096 uint64_t reserved_4_7:4;
2097 uint64_t xscol:2;
2098 uint64_t reserved_10_11:2;
2099 uint64_t xsdef:2;
2100 uint64_t reserved_14_15:2;
2101 uint64_t late_col:2;
2102 uint64_t reserved_18_19:2;
2103 uint64_t ptp_lost:2;
2104 uint64_t reserved_22_63:42;
2105#endif
1257 } s; 2106 } s;
1258 struct cvmx_agl_gmx_tx_int_en_cn52xx { 2107 struct cvmx_agl_gmx_tx_int_en_cn52xx {
2108#ifdef __BIG_ENDIAN_BITFIELD
1259 uint64_t reserved_18_63:46; 2109 uint64_t reserved_18_63:46;
1260 uint64_t late_col:2; 2110 uint64_t late_col:2;
1261 uint64_t reserved_14_15:2; 2111 uint64_t reserved_14_15:2;
@@ -1266,9 +2116,22 @@ union cvmx_agl_gmx_tx_int_en {
1266 uint64_t undflw:2; 2116 uint64_t undflw:2;
1267 uint64_t reserved_1_1:1; 2117 uint64_t reserved_1_1:1;
1268 uint64_t pko_nxa:1; 2118 uint64_t pko_nxa:1;
2119#else
2120 uint64_t pko_nxa:1;
2121 uint64_t reserved_1_1:1;
2122 uint64_t undflw:2;
2123 uint64_t reserved_4_7:4;
2124 uint64_t xscol:2;
2125 uint64_t reserved_10_11:2;
2126 uint64_t xsdef:2;
2127 uint64_t reserved_14_15:2;
2128 uint64_t late_col:2;
2129 uint64_t reserved_18_63:46;
2130#endif
1269 } cn52xx; 2131 } cn52xx;
1270 struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1; 2132 struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1;
1271 struct cvmx_agl_gmx_tx_int_en_cn56xx { 2133 struct cvmx_agl_gmx_tx_int_en_cn56xx {
2134#ifdef __BIG_ENDIAN_BITFIELD
1272 uint64_t reserved_17_63:47; 2135 uint64_t reserved_17_63:47;
1273 uint64_t late_col:1; 2136 uint64_t late_col:1;
1274 uint64_t reserved_13_15:3; 2137 uint64_t reserved_13_15:3;
@@ -1279,15 +2142,32 @@ union cvmx_agl_gmx_tx_int_en {
1279 uint64_t undflw:1; 2142 uint64_t undflw:1;
1280 uint64_t reserved_1_1:1; 2143 uint64_t reserved_1_1:1;
1281 uint64_t pko_nxa:1; 2144 uint64_t pko_nxa:1;
2145#else
2146 uint64_t pko_nxa:1;
2147 uint64_t reserved_1_1:1;
2148 uint64_t undflw:1;
2149 uint64_t reserved_3_7:5;
2150 uint64_t xscol:1;
2151 uint64_t reserved_9_11:3;
2152 uint64_t xsdef:1;
2153 uint64_t reserved_13_15:3;
2154 uint64_t late_col:1;
2155 uint64_t reserved_17_63:47;
2156#endif
1282 } cn56xx; 2157 } cn56xx;
1283 struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1; 2158 struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1;
2159 struct cvmx_agl_gmx_tx_int_en_s cn61xx;
1284 struct cvmx_agl_gmx_tx_int_en_s cn63xx; 2160 struct cvmx_agl_gmx_tx_int_en_s cn63xx;
1285 struct cvmx_agl_gmx_tx_int_en_s cn63xxp1; 2161 struct cvmx_agl_gmx_tx_int_en_s cn63xxp1;
2162 struct cvmx_agl_gmx_tx_int_en_s cn66xx;
2163 struct cvmx_agl_gmx_tx_int_en_s cn68xx;
2164 struct cvmx_agl_gmx_tx_int_en_s cn68xxp1;
1286}; 2165};
1287 2166
1288union cvmx_agl_gmx_tx_int_reg { 2167union cvmx_agl_gmx_tx_int_reg {
1289 uint64_t u64; 2168 uint64_t u64;
1290 struct cvmx_agl_gmx_tx_int_reg_s { 2169 struct cvmx_agl_gmx_tx_int_reg_s {
2170#ifdef __BIG_ENDIAN_BITFIELD
1291 uint64_t reserved_22_63:42; 2171 uint64_t reserved_22_63:42;
1292 uint64_t ptp_lost:2; 2172 uint64_t ptp_lost:2;
1293 uint64_t reserved_18_19:2; 2173 uint64_t reserved_18_19:2;
@@ -1300,8 +2180,23 @@ union cvmx_agl_gmx_tx_int_reg {
1300 uint64_t undflw:2; 2180 uint64_t undflw:2;
1301 uint64_t reserved_1_1:1; 2181 uint64_t reserved_1_1:1;
1302 uint64_t pko_nxa:1; 2182 uint64_t pko_nxa:1;
2183#else
2184 uint64_t pko_nxa:1;
2185 uint64_t reserved_1_1:1;
2186 uint64_t undflw:2;
2187 uint64_t reserved_4_7:4;
2188 uint64_t xscol:2;
2189 uint64_t reserved_10_11:2;
2190 uint64_t xsdef:2;
2191 uint64_t reserved_14_15:2;
2192 uint64_t late_col:2;
2193 uint64_t reserved_18_19:2;
2194 uint64_t ptp_lost:2;
2195 uint64_t reserved_22_63:42;
2196#endif
1303 } s; 2197 } s;
1304 struct cvmx_agl_gmx_tx_int_reg_cn52xx { 2198 struct cvmx_agl_gmx_tx_int_reg_cn52xx {
2199#ifdef __BIG_ENDIAN_BITFIELD
1305 uint64_t reserved_18_63:46; 2200 uint64_t reserved_18_63:46;
1306 uint64_t late_col:2; 2201 uint64_t late_col:2;
1307 uint64_t reserved_14_15:2; 2202 uint64_t reserved_14_15:2;
@@ -1312,9 +2207,22 @@ union cvmx_agl_gmx_tx_int_reg {
1312 uint64_t undflw:2; 2207 uint64_t undflw:2;
1313 uint64_t reserved_1_1:1; 2208 uint64_t reserved_1_1:1;
1314 uint64_t pko_nxa:1; 2209 uint64_t pko_nxa:1;
2210#else
2211 uint64_t pko_nxa:1;
2212 uint64_t reserved_1_1:1;
2213 uint64_t undflw:2;
2214 uint64_t reserved_4_7:4;
2215 uint64_t xscol:2;
2216 uint64_t reserved_10_11:2;
2217 uint64_t xsdef:2;
2218 uint64_t reserved_14_15:2;
2219 uint64_t late_col:2;
2220 uint64_t reserved_18_63:46;
2221#endif
1315 } cn52xx; 2222 } cn52xx;
1316 struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1; 2223 struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1;
1317 struct cvmx_agl_gmx_tx_int_reg_cn56xx { 2224 struct cvmx_agl_gmx_tx_int_reg_cn56xx {
2225#ifdef __BIG_ENDIAN_BITFIELD
1318 uint64_t reserved_17_63:47; 2226 uint64_t reserved_17_63:47;
1319 uint64_t late_col:1; 2227 uint64_t late_col:1;
1320 uint64_t reserved_13_15:3; 2228 uint64_t reserved_13_15:3;
@@ -1325,96 +2233,171 @@ union cvmx_agl_gmx_tx_int_reg {
1325 uint64_t undflw:1; 2233 uint64_t undflw:1;
1326 uint64_t reserved_1_1:1; 2234 uint64_t reserved_1_1:1;
1327 uint64_t pko_nxa:1; 2235 uint64_t pko_nxa:1;
2236#else
2237 uint64_t pko_nxa:1;
2238 uint64_t reserved_1_1:1;
2239 uint64_t undflw:1;
2240 uint64_t reserved_3_7:5;
2241 uint64_t xscol:1;
2242 uint64_t reserved_9_11:3;
2243 uint64_t xsdef:1;
2244 uint64_t reserved_13_15:3;
2245 uint64_t late_col:1;
2246 uint64_t reserved_17_63:47;
2247#endif
1328 } cn56xx; 2248 } cn56xx;
1329 struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1; 2249 struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1;
2250 struct cvmx_agl_gmx_tx_int_reg_s cn61xx;
1330 struct cvmx_agl_gmx_tx_int_reg_s cn63xx; 2251 struct cvmx_agl_gmx_tx_int_reg_s cn63xx;
1331 struct cvmx_agl_gmx_tx_int_reg_s cn63xxp1; 2252 struct cvmx_agl_gmx_tx_int_reg_s cn63xxp1;
2253 struct cvmx_agl_gmx_tx_int_reg_s cn66xx;
2254 struct cvmx_agl_gmx_tx_int_reg_s cn68xx;
2255 struct cvmx_agl_gmx_tx_int_reg_s cn68xxp1;
1332}; 2256};
1333 2257
1334union cvmx_agl_gmx_tx_jam { 2258union cvmx_agl_gmx_tx_jam {
1335 uint64_t u64; 2259 uint64_t u64;
1336 struct cvmx_agl_gmx_tx_jam_s { 2260 struct cvmx_agl_gmx_tx_jam_s {
2261#ifdef __BIG_ENDIAN_BITFIELD
1337 uint64_t reserved_8_63:56; 2262 uint64_t reserved_8_63:56;
1338 uint64_t jam:8; 2263 uint64_t jam:8;
2264#else
2265 uint64_t jam:8;
2266 uint64_t reserved_8_63:56;
2267#endif
1339 } s; 2268 } s;
1340 struct cvmx_agl_gmx_tx_jam_s cn52xx; 2269 struct cvmx_agl_gmx_tx_jam_s cn52xx;
1341 struct cvmx_agl_gmx_tx_jam_s cn52xxp1; 2270 struct cvmx_agl_gmx_tx_jam_s cn52xxp1;
1342 struct cvmx_agl_gmx_tx_jam_s cn56xx; 2271 struct cvmx_agl_gmx_tx_jam_s cn56xx;
1343 struct cvmx_agl_gmx_tx_jam_s cn56xxp1; 2272 struct cvmx_agl_gmx_tx_jam_s cn56xxp1;
2273 struct cvmx_agl_gmx_tx_jam_s cn61xx;
1344 struct cvmx_agl_gmx_tx_jam_s cn63xx; 2274 struct cvmx_agl_gmx_tx_jam_s cn63xx;
1345 struct cvmx_agl_gmx_tx_jam_s cn63xxp1; 2275 struct cvmx_agl_gmx_tx_jam_s cn63xxp1;
2276 struct cvmx_agl_gmx_tx_jam_s cn66xx;
2277 struct cvmx_agl_gmx_tx_jam_s cn68xx;
2278 struct cvmx_agl_gmx_tx_jam_s cn68xxp1;
1346}; 2279};
1347 2280
1348union cvmx_agl_gmx_tx_lfsr { 2281union cvmx_agl_gmx_tx_lfsr {
1349 uint64_t u64; 2282 uint64_t u64;
1350 struct cvmx_agl_gmx_tx_lfsr_s { 2283 struct cvmx_agl_gmx_tx_lfsr_s {
2284#ifdef __BIG_ENDIAN_BITFIELD
1351 uint64_t reserved_16_63:48; 2285 uint64_t reserved_16_63:48;
1352 uint64_t lfsr:16; 2286 uint64_t lfsr:16;
2287#else
2288 uint64_t lfsr:16;
2289 uint64_t reserved_16_63:48;
2290#endif
1353 } s; 2291 } s;
1354 struct cvmx_agl_gmx_tx_lfsr_s cn52xx; 2292 struct cvmx_agl_gmx_tx_lfsr_s cn52xx;
1355 struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1; 2293 struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1;
1356 struct cvmx_agl_gmx_tx_lfsr_s cn56xx; 2294 struct cvmx_agl_gmx_tx_lfsr_s cn56xx;
1357 struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1; 2295 struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1;
2296 struct cvmx_agl_gmx_tx_lfsr_s cn61xx;
1358 struct cvmx_agl_gmx_tx_lfsr_s cn63xx; 2297 struct cvmx_agl_gmx_tx_lfsr_s cn63xx;
1359 struct cvmx_agl_gmx_tx_lfsr_s cn63xxp1; 2298 struct cvmx_agl_gmx_tx_lfsr_s cn63xxp1;
2299 struct cvmx_agl_gmx_tx_lfsr_s cn66xx;
2300 struct cvmx_agl_gmx_tx_lfsr_s cn68xx;
2301 struct cvmx_agl_gmx_tx_lfsr_s cn68xxp1;
1360}; 2302};
1361 2303
1362union cvmx_agl_gmx_tx_ovr_bp { 2304union cvmx_agl_gmx_tx_ovr_bp {
1363 uint64_t u64; 2305 uint64_t u64;
1364 struct cvmx_agl_gmx_tx_ovr_bp_s { 2306 struct cvmx_agl_gmx_tx_ovr_bp_s {
2307#ifdef __BIG_ENDIAN_BITFIELD
1365 uint64_t reserved_10_63:54; 2308 uint64_t reserved_10_63:54;
1366 uint64_t en:2; 2309 uint64_t en:2;
1367 uint64_t reserved_6_7:2; 2310 uint64_t reserved_6_7:2;
1368 uint64_t bp:2; 2311 uint64_t bp:2;
1369 uint64_t reserved_2_3:2; 2312 uint64_t reserved_2_3:2;
1370 uint64_t ign_full:2; 2313 uint64_t ign_full:2;
2314#else
2315 uint64_t ign_full:2;
2316 uint64_t reserved_2_3:2;
2317 uint64_t bp:2;
2318 uint64_t reserved_6_7:2;
2319 uint64_t en:2;
2320 uint64_t reserved_10_63:54;
2321#endif
1371 } s; 2322 } s;
1372 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx; 2323 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx;
1373 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1; 2324 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1;
1374 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx { 2325 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx {
2326#ifdef __BIG_ENDIAN_BITFIELD
1375 uint64_t reserved_9_63:55; 2327 uint64_t reserved_9_63:55;
1376 uint64_t en:1; 2328 uint64_t en:1;
1377 uint64_t reserved_5_7:3; 2329 uint64_t reserved_5_7:3;
1378 uint64_t bp:1; 2330 uint64_t bp:1;
1379 uint64_t reserved_1_3:3; 2331 uint64_t reserved_1_3:3;
1380 uint64_t ign_full:1; 2332 uint64_t ign_full:1;
2333#else
2334 uint64_t ign_full:1;
2335 uint64_t reserved_1_3:3;
2336 uint64_t bp:1;
2337 uint64_t reserved_5_7:3;
2338 uint64_t en:1;
2339 uint64_t reserved_9_63:55;
2340#endif
1381 } cn56xx; 2341 } cn56xx;
1382 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1; 2342 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1;
2343 struct cvmx_agl_gmx_tx_ovr_bp_s cn61xx;
1383 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx; 2344 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx;
1384 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xxp1; 2345 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xxp1;
2346 struct cvmx_agl_gmx_tx_ovr_bp_s cn66xx;
2347 struct cvmx_agl_gmx_tx_ovr_bp_s cn68xx;
2348 struct cvmx_agl_gmx_tx_ovr_bp_s cn68xxp1;
1385}; 2349};
1386 2350
1387union cvmx_agl_gmx_tx_pause_pkt_dmac { 2351union cvmx_agl_gmx_tx_pause_pkt_dmac {
1388 uint64_t u64; 2352 uint64_t u64;
1389 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s { 2353 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s {
2354#ifdef __BIG_ENDIAN_BITFIELD
1390 uint64_t reserved_48_63:16; 2355 uint64_t reserved_48_63:16;
1391 uint64_t dmac:48; 2356 uint64_t dmac:48;
2357#else
2358 uint64_t dmac:48;
2359 uint64_t reserved_48_63:16;
2360#endif
1392 } s; 2361 } s;
1393 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx; 2362 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx;
1394 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1; 2363 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1;
1395 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx; 2364 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx;
1396 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1; 2365 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1;
2366 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn61xx;
1397 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx; 2367 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx;
1398 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xxp1; 2368 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xxp1;
2369 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn66xx;
2370 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn68xx;
2371 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn68xxp1;
1399}; 2372};
1400 2373
1401union cvmx_agl_gmx_tx_pause_pkt_type { 2374union cvmx_agl_gmx_tx_pause_pkt_type {
1402 uint64_t u64; 2375 uint64_t u64;
1403 struct cvmx_agl_gmx_tx_pause_pkt_type_s { 2376 struct cvmx_agl_gmx_tx_pause_pkt_type_s {
2377#ifdef __BIG_ENDIAN_BITFIELD
1404 uint64_t reserved_16_63:48; 2378 uint64_t reserved_16_63:48;
1405 uint64_t type:16; 2379 uint64_t type:16;
2380#else
2381 uint64_t type:16;
2382 uint64_t reserved_16_63:48;
2383#endif
1406 } s; 2384 } s;
1407 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx; 2385 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx;
1408 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1; 2386 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1;
1409 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx; 2387 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx;
1410 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1; 2388 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1;
2389 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn61xx;
1411 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx; 2390 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx;
1412 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xxp1; 2391 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xxp1;
2392 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn66xx;
2393 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn68xx;
2394 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn68xxp1;
1413}; 2395};
1414 2396
1415union cvmx_agl_prtx_ctl { 2397union cvmx_agl_prtx_ctl {
1416 uint64_t u64; 2398 uint64_t u64;
1417 struct cvmx_agl_prtx_ctl_s { 2399 struct cvmx_agl_prtx_ctl_s {
2400#ifdef __BIG_ENDIAN_BITFIELD
1418 uint64_t drv_byp:1; 2401 uint64_t drv_byp:1;
1419 uint64_t reserved_62_62:1; 2402 uint64_t reserved_62_62:1;
1420 uint64_t cmp_pctl:6; 2403 uint64_t cmp_pctl:6;
@@ -1438,9 +2421,38 @@ union cvmx_agl_prtx_ctl {
1438 uint64_t enable:1; 2421 uint64_t enable:1;
1439 uint64_t clkrst:1; 2422 uint64_t clkrst:1;
1440 uint64_t mode:1; 2423 uint64_t mode:1;
2424#else
2425 uint64_t mode:1;
2426 uint64_t clkrst:1;
2427 uint64_t enable:1;
2428 uint64_t comp:1;
2429 uint64_t dllrst:1;
2430 uint64_t reserved_5_7:3;
2431 uint64_t clktx_set:5;
2432 uint64_t reserved_13_14:2;
2433 uint64_t clktx_byp:1;
2434 uint64_t clkrx_set:5;
2435 uint64_t reserved_21_22:2;
2436 uint64_t clkrx_byp:1;
2437 uint64_t clk_set:5;
2438 uint64_t reserved_29_31:3;
2439 uint64_t drv_nctl:6;
2440 uint64_t reserved_38_39:2;
2441 uint64_t drv_pctl:6;
2442 uint64_t reserved_46_47:2;
2443 uint64_t cmp_nctl:6;
2444 uint64_t reserved_54_55:2;
2445 uint64_t cmp_pctl:6;
2446 uint64_t reserved_62_62:1;
2447 uint64_t drv_byp:1;
2448#endif
1441 } s; 2449 } s;
2450 struct cvmx_agl_prtx_ctl_s cn61xx;
1442 struct cvmx_agl_prtx_ctl_s cn63xx; 2451 struct cvmx_agl_prtx_ctl_s cn63xx;
1443 struct cvmx_agl_prtx_ctl_s cn63xxp1; 2452 struct cvmx_agl_prtx_ctl_s cn63xxp1;
2453 struct cvmx_agl_prtx_ctl_s cn66xx;
2454 struct cvmx_agl_prtx_ctl_s cn68xx;
2455 struct cvmx_agl_prtx_ctl_s cn68xxp1;
1444}; 2456};
1445 2457
1446#endif 2458#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-asxx-defs.h b/arch/mips/include/asm/octeon/cvmx-asxx-defs.h
index 91415a85e8d2..a1e21a3854cf 100644
--- a/arch/mips/include/asm/octeon/cvmx-asxx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-asxx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,64 +28,43 @@
28#ifndef __CVMX_ASXX_DEFS_H__ 28#ifndef __CVMX_ASXX_DEFS_H__
29#define __CVMX_ASXX_DEFS_H__ 29#define __CVMX_ASXX_DEFS_H__
30 30
31#define CVMX_ASXX_GMII_RX_CLK_SET(block_id) \ 31#define CVMX_ASXX_GMII_RX_CLK_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000180ull))
32 CVMX_ADD_IO_SEG(0x00011800B0000180ull + (((block_id) & 0) * 0x8000000ull)) 32#define CVMX_ASXX_GMII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000188ull))
33#define CVMX_ASXX_GMII_RX_DAT_SET(block_id) \ 33#define CVMX_ASXX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000018ull) + ((block_id) & 1) * 0x8000000ull)
34 CVMX_ADD_IO_SEG(0x00011800B0000188ull + (((block_id) & 0) * 0x8000000ull)) 34#define CVMX_ASXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000010ull) + ((block_id) & 1) * 0x8000000ull)
35#define CVMX_ASXX_INT_EN(block_id) \ 35#define CVMX_ASXX_MII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000190ull))
36 CVMX_ADD_IO_SEG(0x00011800B0000018ull + (((block_id) & 1) * 0x8000000ull)) 36#define CVMX_ASXX_PRT_LOOP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000040ull) + ((block_id) & 1) * 0x8000000ull)
37#define CVMX_ASXX_INT_REG(block_id) \ 37#define CVMX_ASXX_RLD_BYPASS(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000248ull) + ((block_id) & 1) * 0x8000000ull)
38 CVMX_ADD_IO_SEG(0x00011800B0000010ull + (((block_id) & 1) * 0x8000000ull)) 38#define CVMX_ASXX_RLD_BYPASS_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000250ull) + ((block_id) & 1) * 0x8000000ull)
39#define CVMX_ASXX_MII_RX_DAT_SET(block_id) \ 39#define CVMX_ASXX_RLD_COMP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000220ull) + ((block_id) & 1) * 0x8000000ull)
40 CVMX_ADD_IO_SEG(0x00011800B0000190ull + (((block_id) & 0) * 0x8000000ull)) 40#define CVMX_ASXX_RLD_DATA_DRV(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000218ull) + ((block_id) & 1) * 0x8000000ull)
41#define CVMX_ASXX_PRT_LOOP(block_id) \ 41#define CVMX_ASXX_RLD_FCRAM_MODE(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000210ull) + ((block_id) & 1) * 0x8000000ull)
42 CVMX_ADD_IO_SEG(0x00011800B0000040ull + (((block_id) & 1) * 0x8000000ull)) 42#define CVMX_ASXX_RLD_NCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000230ull) + ((block_id) & 1) * 0x8000000ull)
43#define CVMX_ASXX_RLD_BYPASS(block_id) \ 43#define CVMX_ASXX_RLD_NCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000240ull) + ((block_id) & 1) * 0x8000000ull)
44 CVMX_ADD_IO_SEG(0x00011800B0000248ull + (((block_id) & 1) * 0x8000000ull)) 44#define CVMX_ASXX_RLD_PCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000228ull) + ((block_id) & 1) * 0x8000000ull)
45#define CVMX_ASXX_RLD_BYPASS_SETTING(block_id) \ 45#define CVMX_ASXX_RLD_PCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000238ull) + ((block_id) & 1) * 0x8000000ull)
46 CVMX_ADD_IO_SEG(0x00011800B0000250ull + (((block_id) & 1) * 0x8000000ull)) 46#define CVMX_ASXX_RLD_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000258ull) + ((block_id) & 1) * 0x8000000ull)
47#define CVMX_ASXX_RLD_COMP(block_id) \ 47#define CVMX_ASXX_RX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000020ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
48 CVMX_ADD_IO_SEG(0x00011800B0000220ull + (((block_id) & 1) * 0x8000000ull)) 48#define CVMX_ASXX_RX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000000ull) + ((block_id) & 1) * 0x8000000ull)
49#define CVMX_ASXX_RLD_DATA_DRV(block_id) \ 49#define CVMX_ASXX_RX_WOL(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000100ull) + ((block_id) & 1) * 0x8000000ull)
50 CVMX_ADD_IO_SEG(0x00011800B0000218ull + (((block_id) & 1) * 0x8000000ull)) 50#define CVMX_ASXX_RX_WOL_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000108ull) + ((block_id) & 1) * 0x8000000ull)
51#define CVMX_ASXX_RLD_FCRAM_MODE(block_id) \ 51#define CVMX_ASXX_RX_WOL_POWOK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000118ull) + ((block_id) & 1) * 0x8000000ull)
52 CVMX_ADD_IO_SEG(0x00011800B0000210ull + (((block_id) & 1) * 0x8000000ull)) 52#define CVMX_ASXX_RX_WOL_SIG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000110ull) + ((block_id) & 1) * 0x8000000ull)
53#define CVMX_ASXX_RLD_NCTL_STRONG(block_id) \ 53#define CVMX_ASXX_TX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
54 CVMX_ADD_IO_SEG(0x00011800B0000230ull + (((block_id) & 1) * 0x8000000ull)) 54#define CVMX_ASXX_TX_COMP_BYP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000068ull) + ((block_id) & 1) * 0x8000000ull)
55#define CVMX_ASXX_RLD_NCTL_WEAK(block_id) \ 55#define CVMX_ASXX_TX_HI_WATERX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000080ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
56 CVMX_ADD_IO_SEG(0x00011800B0000240ull + (((block_id) & 1) * 0x8000000ull)) 56#define CVMX_ASXX_TX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000008ull) + ((block_id) & 1) * 0x8000000ull)
57#define CVMX_ASXX_RLD_PCTL_STRONG(block_id) \
58 CVMX_ADD_IO_SEG(0x00011800B0000228ull + (((block_id) & 1) * 0x8000000ull))
59#define CVMX_ASXX_RLD_PCTL_WEAK(block_id) \
60 CVMX_ADD_IO_SEG(0x00011800B0000238ull + (((block_id) & 1) * 0x8000000ull))
61#define CVMX_ASXX_RLD_SETTING(block_id) \
62 CVMX_ADD_IO_SEG(0x00011800B0000258ull + (((block_id) & 1) * 0x8000000ull))
63#define CVMX_ASXX_RX_CLK_SETX(offset, block_id) \
64 CVMX_ADD_IO_SEG(0x00011800B0000020ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
65#define CVMX_ASXX_RX_PRT_EN(block_id) \
66 CVMX_ADD_IO_SEG(0x00011800B0000000ull + (((block_id) & 1) * 0x8000000ull))
67#define CVMX_ASXX_RX_WOL(block_id) \
68 CVMX_ADD_IO_SEG(0x00011800B0000100ull + (((block_id) & 1) * 0x8000000ull))
69#define CVMX_ASXX_RX_WOL_MSK(block_id) \
70 CVMX_ADD_IO_SEG(0x00011800B0000108ull + (((block_id) & 1) * 0x8000000ull))
71#define CVMX_ASXX_RX_WOL_POWOK(block_id) \
72 CVMX_ADD_IO_SEG(0x00011800B0000118ull + (((block_id) & 1) * 0x8000000ull))
73#define CVMX_ASXX_RX_WOL_SIG(block_id) \
74 CVMX_ADD_IO_SEG(0x00011800B0000110ull + (((block_id) & 1) * 0x8000000ull))
75#define CVMX_ASXX_TX_CLK_SETX(offset, block_id) \
76 CVMX_ADD_IO_SEG(0x00011800B0000048ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
77#define CVMX_ASXX_TX_COMP_BYP(block_id) \
78 CVMX_ADD_IO_SEG(0x00011800B0000068ull + (((block_id) & 1) * 0x8000000ull))
79#define CVMX_ASXX_TX_HI_WATERX(offset, block_id) \
80 CVMX_ADD_IO_SEG(0x00011800B0000080ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
81#define CVMX_ASXX_TX_PRT_EN(block_id) \
82 CVMX_ADD_IO_SEG(0x00011800B0000008ull + (((block_id) & 1) * 0x8000000ull))
83 57
84union cvmx_asxx_gmii_rx_clk_set { 58union cvmx_asxx_gmii_rx_clk_set {
85 uint64_t u64; 59 uint64_t u64;
86 struct cvmx_asxx_gmii_rx_clk_set_s { 60 struct cvmx_asxx_gmii_rx_clk_set_s {
61#ifdef __BIG_ENDIAN_BITFIELD
87 uint64_t reserved_5_63:59; 62 uint64_t reserved_5_63:59;
88 uint64_t setting:5; 63 uint64_t setting:5;
64#else
65 uint64_t setting:5;
66 uint64_t reserved_5_63:59;
67#endif
89 } s; 68 } s;
90 struct cvmx_asxx_gmii_rx_clk_set_s cn30xx; 69 struct cvmx_asxx_gmii_rx_clk_set_s cn30xx;
91 struct cvmx_asxx_gmii_rx_clk_set_s cn31xx; 70 struct cvmx_asxx_gmii_rx_clk_set_s cn31xx;
@@ -95,8 +74,13 @@ union cvmx_asxx_gmii_rx_clk_set {
95union cvmx_asxx_gmii_rx_dat_set { 74union cvmx_asxx_gmii_rx_dat_set {
96 uint64_t u64; 75 uint64_t u64;
97 struct cvmx_asxx_gmii_rx_dat_set_s { 76 struct cvmx_asxx_gmii_rx_dat_set_s {
77#ifdef __BIG_ENDIAN_BITFIELD
98 uint64_t reserved_5_63:59; 78 uint64_t reserved_5_63:59;
99 uint64_t setting:5; 79 uint64_t setting:5;
80#else
81 uint64_t setting:5;
82 uint64_t reserved_5_63:59;
83#endif
100 } s; 84 } s;
101 struct cvmx_asxx_gmii_rx_dat_set_s cn30xx; 85 struct cvmx_asxx_gmii_rx_dat_set_s cn30xx;
102 struct cvmx_asxx_gmii_rx_dat_set_s cn31xx; 86 struct cvmx_asxx_gmii_rx_dat_set_s cn31xx;
@@ -106,18 +90,34 @@ union cvmx_asxx_gmii_rx_dat_set {
106union cvmx_asxx_int_en { 90union cvmx_asxx_int_en {
107 uint64_t u64; 91 uint64_t u64;
108 struct cvmx_asxx_int_en_s { 92 struct cvmx_asxx_int_en_s {
93#ifdef __BIG_ENDIAN_BITFIELD
109 uint64_t reserved_12_63:52; 94 uint64_t reserved_12_63:52;
110 uint64_t txpsh:4; 95 uint64_t txpsh:4;
111 uint64_t txpop:4; 96 uint64_t txpop:4;
112 uint64_t ovrflw:4; 97 uint64_t ovrflw:4;
98#else
99 uint64_t ovrflw:4;
100 uint64_t txpop:4;
101 uint64_t txpsh:4;
102 uint64_t reserved_12_63:52;
103#endif
113 } s; 104 } s;
114 struct cvmx_asxx_int_en_cn30xx { 105 struct cvmx_asxx_int_en_cn30xx {
106#ifdef __BIG_ENDIAN_BITFIELD
115 uint64_t reserved_11_63:53; 107 uint64_t reserved_11_63:53;
116 uint64_t txpsh:3; 108 uint64_t txpsh:3;
117 uint64_t reserved_7_7:1; 109 uint64_t reserved_7_7:1;
118 uint64_t txpop:3; 110 uint64_t txpop:3;
119 uint64_t reserved_3_3:1; 111 uint64_t reserved_3_3:1;
120 uint64_t ovrflw:3; 112 uint64_t ovrflw:3;
113#else
114 uint64_t ovrflw:3;
115 uint64_t reserved_3_3:1;
116 uint64_t txpop:3;
117 uint64_t reserved_7_7:1;
118 uint64_t txpsh:3;
119 uint64_t reserved_11_63:53;
120#endif
121 } cn30xx; 121 } cn30xx;
122 struct cvmx_asxx_int_en_cn30xx cn31xx; 122 struct cvmx_asxx_int_en_cn30xx cn31xx;
123 struct cvmx_asxx_int_en_s cn38xx; 123 struct cvmx_asxx_int_en_s cn38xx;
@@ -130,18 +130,34 @@ union cvmx_asxx_int_en {
130union cvmx_asxx_int_reg { 130union cvmx_asxx_int_reg {
131 uint64_t u64; 131 uint64_t u64;
132 struct cvmx_asxx_int_reg_s { 132 struct cvmx_asxx_int_reg_s {
133#ifdef __BIG_ENDIAN_BITFIELD
133 uint64_t reserved_12_63:52; 134 uint64_t reserved_12_63:52;
134 uint64_t txpsh:4; 135 uint64_t txpsh:4;
135 uint64_t txpop:4; 136 uint64_t txpop:4;
136 uint64_t ovrflw:4; 137 uint64_t ovrflw:4;
138#else
139 uint64_t ovrflw:4;
140 uint64_t txpop:4;
141 uint64_t txpsh:4;
142 uint64_t reserved_12_63:52;
143#endif
137 } s; 144 } s;
138 struct cvmx_asxx_int_reg_cn30xx { 145 struct cvmx_asxx_int_reg_cn30xx {
146#ifdef __BIG_ENDIAN_BITFIELD
139 uint64_t reserved_11_63:53; 147 uint64_t reserved_11_63:53;
140 uint64_t txpsh:3; 148 uint64_t txpsh:3;
141 uint64_t reserved_7_7:1; 149 uint64_t reserved_7_7:1;
142 uint64_t txpop:3; 150 uint64_t txpop:3;
143 uint64_t reserved_3_3:1; 151 uint64_t reserved_3_3:1;
144 uint64_t ovrflw:3; 152 uint64_t ovrflw:3;
153#else
154 uint64_t ovrflw:3;
155 uint64_t reserved_3_3:1;
156 uint64_t txpop:3;
157 uint64_t reserved_7_7:1;
158 uint64_t txpsh:3;
159 uint64_t reserved_11_63:53;
160#endif
145 } cn30xx; 161 } cn30xx;
146 struct cvmx_asxx_int_reg_cn30xx cn31xx; 162 struct cvmx_asxx_int_reg_cn30xx cn31xx;
147 struct cvmx_asxx_int_reg_s cn38xx; 163 struct cvmx_asxx_int_reg_s cn38xx;
@@ -154,8 +170,13 @@ union cvmx_asxx_int_reg {
154union cvmx_asxx_mii_rx_dat_set { 170union cvmx_asxx_mii_rx_dat_set {
155 uint64_t u64; 171 uint64_t u64;
156 struct cvmx_asxx_mii_rx_dat_set_s { 172 struct cvmx_asxx_mii_rx_dat_set_s {
173#ifdef __BIG_ENDIAN_BITFIELD
157 uint64_t reserved_5_63:59; 174 uint64_t reserved_5_63:59;
158 uint64_t setting:5; 175 uint64_t setting:5;
176#else
177 uint64_t setting:5;
178 uint64_t reserved_5_63:59;
179#endif
159 } s; 180 } s;
160 struct cvmx_asxx_mii_rx_dat_set_s cn30xx; 181 struct cvmx_asxx_mii_rx_dat_set_s cn30xx;
161 struct cvmx_asxx_mii_rx_dat_set_s cn50xx; 182 struct cvmx_asxx_mii_rx_dat_set_s cn50xx;
@@ -164,15 +185,28 @@ union cvmx_asxx_mii_rx_dat_set {
164union cvmx_asxx_prt_loop { 185union cvmx_asxx_prt_loop {
165 uint64_t u64; 186 uint64_t u64;
166 struct cvmx_asxx_prt_loop_s { 187 struct cvmx_asxx_prt_loop_s {
188#ifdef __BIG_ENDIAN_BITFIELD
167 uint64_t reserved_8_63:56; 189 uint64_t reserved_8_63:56;
168 uint64_t ext_loop:4; 190 uint64_t ext_loop:4;
169 uint64_t int_loop:4; 191 uint64_t int_loop:4;
192#else
193 uint64_t int_loop:4;
194 uint64_t ext_loop:4;
195 uint64_t reserved_8_63:56;
196#endif
170 } s; 197 } s;
171 struct cvmx_asxx_prt_loop_cn30xx { 198 struct cvmx_asxx_prt_loop_cn30xx {
199#ifdef __BIG_ENDIAN_BITFIELD
172 uint64_t reserved_7_63:57; 200 uint64_t reserved_7_63:57;
173 uint64_t ext_loop:3; 201 uint64_t ext_loop:3;
174 uint64_t reserved_3_3:1; 202 uint64_t reserved_3_3:1;
175 uint64_t int_loop:3; 203 uint64_t int_loop:3;
204#else
205 uint64_t int_loop:3;
206 uint64_t reserved_3_3:1;
207 uint64_t ext_loop:3;
208 uint64_t reserved_7_63:57;
209#endif
176 } cn30xx; 210 } cn30xx;
177 struct cvmx_asxx_prt_loop_cn30xx cn31xx; 211 struct cvmx_asxx_prt_loop_cn30xx cn31xx;
178 struct cvmx_asxx_prt_loop_s cn38xx; 212 struct cvmx_asxx_prt_loop_s cn38xx;
@@ -185,8 +219,13 @@ union cvmx_asxx_prt_loop {
185union cvmx_asxx_rld_bypass { 219union cvmx_asxx_rld_bypass {
186 uint64_t u64; 220 uint64_t u64;
187 struct cvmx_asxx_rld_bypass_s { 221 struct cvmx_asxx_rld_bypass_s {
222#ifdef __BIG_ENDIAN_BITFIELD
188 uint64_t reserved_1_63:63; 223 uint64_t reserved_1_63:63;
189 uint64_t bypass:1; 224 uint64_t bypass:1;
225#else
226 uint64_t bypass:1;
227 uint64_t reserved_1_63:63;
228#endif
190 } s; 229 } s;
191 struct cvmx_asxx_rld_bypass_s cn38xx; 230 struct cvmx_asxx_rld_bypass_s cn38xx;
192 struct cvmx_asxx_rld_bypass_s cn38xxp2; 231 struct cvmx_asxx_rld_bypass_s cn38xxp2;
@@ -197,8 +236,13 @@ union cvmx_asxx_rld_bypass {
197union cvmx_asxx_rld_bypass_setting { 236union cvmx_asxx_rld_bypass_setting {
198 uint64_t u64; 237 uint64_t u64;
199 struct cvmx_asxx_rld_bypass_setting_s { 238 struct cvmx_asxx_rld_bypass_setting_s {
239#ifdef __BIG_ENDIAN_BITFIELD
200 uint64_t reserved_5_63:59; 240 uint64_t reserved_5_63:59;
201 uint64_t setting:5; 241 uint64_t setting:5;
242#else
243 uint64_t setting:5;
244 uint64_t reserved_5_63:59;
245#endif
202 } s; 246 } s;
203 struct cvmx_asxx_rld_bypass_setting_s cn38xx; 247 struct cvmx_asxx_rld_bypass_setting_s cn38xx;
204 struct cvmx_asxx_rld_bypass_setting_s cn38xxp2; 248 struct cvmx_asxx_rld_bypass_setting_s cn38xxp2;
@@ -209,14 +253,26 @@ union cvmx_asxx_rld_bypass_setting {
209union cvmx_asxx_rld_comp { 253union cvmx_asxx_rld_comp {
210 uint64_t u64; 254 uint64_t u64;
211 struct cvmx_asxx_rld_comp_s { 255 struct cvmx_asxx_rld_comp_s {
256#ifdef __BIG_ENDIAN_BITFIELD
212 uint64_t reserved_9_63:55; 257 uint64_t reserved_9_63:55;
213 uint64_t pctl:5; 258 uint64_t pctl:5;
214 uint64_t nctl:4; 259 uint64_t nctl:4;
260#else
261 uint64_t nctl:4;
262 uint64_t pctl:5;
263 uint64_t reserved_9_63:55;
264#endif
215 } s; 265 } s;
216 struct cvmx_asxx_rld_comp_cn38xx { 266 struct cvmx_asxx_rld_comp_cn38xx {
267#ifdef __BIG_ENDIAN_BITFIELD
217 uint64_t reserved_8_63:56; 268 uint64_t reserved_8_63:56;
218 uint64_t pctl:4; 269 uint64_t pctl:4;
219 uint64_t nctl:4; 270 uint64_t nctl:4;
271#else
272 uint64_t nctl:4;
273 uint64_t pctl:4;
274 uint64_t reserved_8_63:56;
275#endif
220 } cn38xx; 276 } cn38xx;
221 struct cvmx_asxx_rld_comp_cn38xx cn38xxp2; 277 struct cvmx_asxx_rld_comp_cn38xx cn38xxp2;
222 struct cvmx_asxx_rld_comp_s cn58xx; 278 struct cvmx_asxx_rld_comp_s cn58xx;
@@ -226,9 +282,15 @@ union cvmx_asxx_rld_comp {
226union cvmx_asxx_rld_data_drv { 282union cvmx_asxx_rld_data_drv {
227 uint64_t u64; 283 uint64_t u64;
228 struct cvmx_asxx_rld_data_drv_s { 284 struct cvmx_asxx_rld_data_drv_s {
285#ifdef __BIG_ENDIAN_BITFIELD
229 uint64_t reserved_8_63:56; 286 uint64_t reserved_8_63:56;
230 uint64_t pctl:4; 287 uint64_t pctl:4;
231 uint64_t nctl:4; 288 uint64_t nctl:4;
289#else
290 uint64_t nctl:4;
291 uint64_t pctl:4;
292 uint64_t reserved_8_63:56;
293#endif
232 } s; 294 } s;
233 struct cvmx_asxx_rld_data_drv_s cn38xx; 295 struct cvmx_asxx_rld_data_drv_s cn38xx;
234 struct cvmx_asxx_rld_data_drv_s cn38xxp2; 296 struct cvmx_asxx_rld_data_drv_s cn38xxp2;
@@ -239,8 +301,13 @@ union cvmx_asxx_rld_data_drv {
239union cvmx_asxx_rld_fcram_mode { 301union cvmx_asxx_rld_fcram_mode {
240 uint64_t u64; 302 uint64_t u64;
241 struct cvmx_asxx_rld_fcram_mode_s { 303 struct cvmx_asxx_rld_fcram_mode_s {
304#ifdef __BIG_ENDIAN_BITFIELD
242 uint64_t reserved_1_63:63; 305 uint64_t reserved_1_63:63;
243 uint64_t mode:1; 306 uint64_t mode:1;
307#else
308 uint64_t mode:1;
309 uint64_t reserved_1_63:63;
310#endif
244 } s; 311 } s;
245 struct cvmx_asxx_rld_fcram_mode_s cn38xx; 312 struct cvmx_asxx_rld_fcram_mode_s cn38xx;
246 struct cvmx_asxx_rld_fcram_mode_s cn38xxp2; 313 struct cvmx_asxx_rld_fcram_mode_s cn38xxp2;
@@ -249,8 +316,13 @@ union cvmx_asxx_rld_fcram_mode {
249union cvmx_asxx_rld_nctl_strong { 316union cvmx_asxx_rld_nctl_strong {
250 uint64_t u64; 317 uint64_t u64;
251 struct cvmx_asxx_rld_nctl_strong_s { 318 struct cvmx_asxx_rld_nctl_strong_s {
319#ifdef __BIG_ENDIAN_BITFIELD
252 uint64_t reserved_5_63:59; 320 uint64_t reserved_5_63:59;
253 uint64_t nctl:5; 321 uint64_t nctl:5;
322#else
323 uint64_t nctl:5;
324 uint64_t reserved_5_63:59;
325#endif
254 } s; 326 } s;
255 struct cvmx_asxx_rld_nctl_strong_s cn38xx; 327 struct cvmx_asxx_rld_nctl_strong_s cn38xx;
256 struct cvmx_asxx_rld_nctl_strong_s cn38xxp2; 328 struct cvmx_asxx_rld_nctl_strong_s cn38xxp2;
@@ -261,8 +333,13 @@ union cvmx_asxx_rld_nctl_strong {
261union cvmx_asxx_rld_nctl_weak { 333union cvmx_asxx_rld_nctl_weak {
262 uint64_t u64; 334 uint64_t u64;
263 struct cvmx_asxx_rld_nctl_weak_s { 335 struct cvmx_asxx_rld_nctl_weak_s {
336#ifdef __BIG_ENDIAN_BITFIELD
264 uint64_t reserved_5_63:59; 337 uint64_t reserved_5_63:59;
265 uint64_t nctl:5; 338 uint64_t nctl:5;
339#else
340 uint64_t nctl:5;
341 uint64_t reserved_5_63:59;
342#endif
266 } s; 343 } s;
267 struct cvmx_asxx_rld_nctl_weak_s cn38xx; 344 struct cvmx_asxx_rld_nctl_weak_s cn38xx;
268 struct cvmx_asxx_rld_nctl_weak_s cn38xxp2; 345 struct cvmx_asxx_rld_nctl_weak_s cn38xxp2;
@@ -273,8 +350,13 @@ union cvmx_asxx_rld_nctl_weak {
273union cvmx_asxx_rld_pctl_strong { 350union cvmx_asxx_rld_pctl_strong {
274 uint64_t u64; 351 uint64_t u64;
275 struct cvmx_asxx_rld_pctl_strong_s { 352 struct cvmx_asxx_rld_pctl_strong_s {
353#ifdef __BIG_ENDIAN_BITFIELD
276 uint64_t reserved_5_63:59; 354 uint64_t reserved_5_63:59;
277 uint64_t pctl:5; 355 uint64_t pctl:5;
356#else
357 uint64_t pctl:5;
358 uint64_t reserved_5_63:59;
359#endif
278 } s; 360 } s;
279 struct cvmx_asxx_rld_pctl_strong_s cn38xx; 361 struct cvmx_asxx_rld_pctl_strong_s cn38xx;
280 struct cvmx_asxx_rld_pctl_strong_s cn38xxp2; 362 struct cvmx_asxx_rld_pctl_strong_s cn38xxp2;
@@ -285,8 +367,13 @@ union cvmx_asxx_rld_pctl_strong {
285union cvmx_asxx_rld_pctl_weak { 367union cvmx_asxx_rld_pctl_weak {
286 uint64_t u64; 368 uint64_t u64;
287 struct cvmx_asxx_rld_pctl_weak_s { 369 struct cvmx_asxx_rld_pctl_weak_s {
370#ifdef __BIG_ENDIAN_BITFIELD
288 uint64_t reserved_5_63:59; 371 uint64_t reserved_5_63:59;
289 uint64_t pctl:5; 372 uint64_t pctl:5;
373#else
374 uint64_t pctl:5;
375 uint64_t reserved_5_63:59;
376#endif
290 } s; 377 } s;
291 struct cvmx_asxx_rld_pctl_weak_s cn38xx; 378 struct cvmx_asxx_rld_pctl_weak_s cn38xx;
292 struct cvmx_asxx_rld_pctl_weak_s cn38xxp2; 379 struct cvmx_asxx_rld_pctl_weak_s cn38xxp2;
@@ -297,16 +384,30 @@ union cvmx_asxx_rld_pctl_weak {
297union cvmx_asxx_rld_setting { 384union cvmx_asxx_rld_setting {
298 uint64_t u64; 385 uint64_t u64;
299 struct cvmx_asxx_rld_setting_s { 386 struct cvmx_asxx_rld_setting_s {
387#ifdef __BIG_ENDIAN_BITFIELD
300 uint64_t reserved_13_63:51; 388 uint64_t reserved_13_63:51;
301 uint64_t dfaset:5; 389 uint64_t dfaset:5;
302 uint64_t dfalag:1; 390 uint64_t dfalag:1;
303 uint64_t dfalead:1; 391 uint64_t dfalead:1;
304 uint64_t dfalock:1; 392 uint64_t dfalock:1;
305 uint64_t setting:5; 393 uint64_t setting:5;
394#else
395 uint64_t setting:5;
396 uint64_t dfalock:1;
397 uint64_t dfalead:1;
398 uint64_t dfalag:1;
399 uint64_t dfaset:5;
400 uint64_t reserved_13_63:51;
401#endif
306 } s; 402 } s;
307 struct cvmx_asxx_rld_setting_cn38xx { 403 struct cvmx_asxx_rld_setting_cn38xx {
404#ifdef __BIG_ENDIAN_BITFIELD
308 uint64_t reserved_5_63:59; 405 uint64_t reserved_5_63:59;
309 uint64_t setting:5; 406 uint64_t setting:5;
407#else
408 uint64_t setting:5;
409 uint64_t reserved_5_63:59;
410#endif
310 } cn38xx; 411 } cn38xx;
311 struct cvmx_asxx_rld_setting_cn38xx cn38xxp2; 412 struct cvmx_asxx_rld_setting_cn38xx cn38xxp2;
312 struct cvmx_asxx_rld_setting_s cn58xx; 413 struct cvmx_asxx_rld_setting_s cn58xx;
@@ -316,8 +417,13 @@ union cvmx_asxx_rld_setting {
316union cvmx_asxx_rx_clk_setx { 417union cvmx_asxx_rx_clk_setx {
317 uint64_t u64; 418 uint64_t u64;
318 struct cvmx_asxx_rx_clk_setx_s { 419 struct cvmx_asxx_rx_clk_setx_s {
420#ifdef __BIG_ENDIAN_BITFIELD
319 uint64_t reserved_5_63:59; 421 uint64_t reserved_5_63:59;
320 uint64_t setting:5; 422 uint64_t setting:5;
423#else
424 uint64_t setting:5;
425 uint64_t reserved_5_63:59;
426#endif
321 } s; 427 } s;
322 struct cvmx_asxx_rx_clk_setx_s cn30xx; 428 struct cvmx_asxx_rx_clk_setx_s cn30xx;
323 struct cvmx_asxx_rx_clk_setx_s cn31xx; 429 struct cvmx_asxx_rx_clk_setx_s cn31xx;
@@ -331,12 +437,22 @@ union cvmx_asxx_rx_clk_setx {
331union cvmx_asxx_rx_prt_en { 437union cvmx_asxx_rx_prt_en {
332 uint64_t u64; 438 uint64_t u64;
333 struct cvmx_asxx_rx_prt_en_s { 439 struct cvmx_asxx_rx_prt_en_s {
440#ifdef __BIG_ENDIAN_BITFIELD
334 uint64_t reserved_4_63:60; 441 uint64_t reserved_4_63:60;
335 uint64_t prt_en:4; 442 uint64_t prt_en:4;
443#else
444 uint64_t prt_en:4;
445 uint64_t reserved_4_63:60;
446#endif
336 } s; 447 } s;
337 struct cvmx_asxx_rx_prt_en_cn30xx { 448 struct cvmx_asxx_rx_prt_en_cn30xx {
449#ifdef __BIG_ENDIAN_BITFIELD
338 uint64_t reserved_3_63:61; 450 uint64_t reserved_3_63:61;
339 uint64_t prt_en:3; 451 uint64_t prt_en:3;
452#else
453 uint64_t prt_en:3;
454 uint64_t reserved_3_63:61;
455#endif
340 } cn30xx; 456 } cn30xx;
341 struct cvmx_asxx_rx_prt_en_cn30xx cn31xx; 457 struct cvmx_asxx_rx_prt_en_cn30xx cn31xx;
342 struct cvmx_asxx_rx_prt_en_s cn38xx; 458 struct cvmx_asxx_rx_prt_en_s cn38xx;
@@ -349,9 +465,15 @@ union cvmx_asxx_rx_prt_en {
349union cvmx_asxx_rx_wol { 465union cvmx_asxx_rx_wol {
350 uint64_t u64; 466 uint64_t u64;
351 struct cvmx_asxx_rx_wol_s { 467 struct cvmx_asxx_rx_wol_s {
468#ifdef __BIG_ENDIAN_BITFIELD
352 uint64_t reserved_2_63:62; 469 uint64_t reserved_2_63:62;
353 uint64_t status:1; 470 uint64_t status:1;
354 uint64_t enable:1; 471 uint64_t enable:1;
472#else
473 uint64_t enable:1;
474 uint64_t status:1;
475 uint64_t reserved_2_63:62;
476#endif
355 } s; 477 } s;
356 struct cvmx_asxx_rx_wol_s cn38xx; 478 struct cvmx_asxx_rx_wol_s cn38xx;
357 struct cvmx_asxx_rx_wol_s cn38xxp2; 479 struct cvmx_asxx_rx_wol_s cn38xxp2;
@@ -360,7 +482,11 @@ union cvmx_asxx_rx_wol {
360union cvmx_asxx_rx_wol_msk { 482union cvmx_asxx_rx_wol_msk {
361 uint64_t u64; 483 uint64_t u64;
362 struct cvmx_asxx_rx_wol_msk_s { 484 struct cvmx_asxx_rx_wol_msk_s {
485#ifdef __BIG_ENDIAN_BITFIELD
486 uint64_t msk:64;
487#else
363 uint64_t msk:64; 488 uint64_t msk:64;
489#endif
364 } s; 490 } s;
365 struct cvmx_asxx_rx_wol_msk_s cn38xx; 491 struct cvmx_asxx_rx_wol_msk_s cn38xx;
366 struct cvmx_asxx_rx_wol_msk_s cn38xxp2; 492 struct cvmx_asxx_rx_wol_msk_s cn38xxp2;
@@ -369,8 +495,13 @@ union cvmx_asxx_rx_wol_msk {
369union cvmx_asxx_rx_wol_powok { 495union cvmx_asxx_rx_wol_powok {
370 uint64_t u64; 496 uint64_t u64;
371 struct cvmx_asxx_rx_wol_powok_s { 497 struct cvmx_asxx_rx_wol_powok_s {
498#ifdef __BIG_ENDIAN_BITFIELD
372 uint64_t reserved_1_63:63; 499 uint64_t reserved_1_63:63;
373 uint64_t powerok:1; 500 uint64_t powerok:1;
501#else
502 uint64_t powerok:1;
503 uint64_t reserved_1_63:63;
504#endif
374 } s; 505 } s;
375 struct cvmx_asxx_rx_wol_powok_s cn38xx; 506 struct cvmx_asxx_rx_wol_powok_s cn38xx;
376 struct cvmx_asxx_rx_wol_powok_s cn38xxp2; 507 struct cvmx_asxx_rx_wol_powok_s cn38xxp2;
@@ -379,8 +510,13 @@ union cvmx_asxx_rx_wol_powok {
379union cvmx_asxx_rx_wol_sig { 510union cvmx_asxx_rx_wol_sig {
380 uint64_t u64; 511 uint64_t u64;
381 struct cvmx_asxx_rx_wol_sig_s { 512 struct cvmx_asxx_rx_wol_sig_s {
513#ifdef __BIG_ENDIAN_BITFIELD
382 uint64_t reserved_32_63:32; 514 uint64_t reserved_32_63:32;
383 uint64_t sig:32; 515 uint64_t sig:32;
516#else
517 uint64_t sig:32;
518 uint64_t reserved_32_63:32;
519#endif
384 } s; 520 } s;
385 struct cvmx_asxx_rx_wol_sig_s cn38xx; 521 struct cvmx_asxx_rx_wol_sig_s cn38xx;
386 struct cvmx_asxx_rx_wol_sig_s cn38xxp2; 522 struct cvmx_asxx_rx_wol_sig_s cn38xxp2;
@@ -389,8 +525,13 @@ union cvmx_asxx_rx_wol_sig {
389union cvmx_asxx_tx_clk_setx { 525union cvmx_asxx_tx_clk_setx {
390 uint64_t u64; 526 uint64_t u64;
391 struct cvmx_asxx_tx_clk_setx_s { 527 struct cvmx_asxx_tx_clk_setx_s {
528#ifdef __BIG_ENDIAN_BITFIELD
392 uint64_t reserved_5_63:59; 529 uint64_t reserved_5_63:59;
393 uint64_t setting:5; 530 uint64_t setting:5;
531#else
532 uint64_t setting:5;
533 uint64_t reserved_5_63:59;
534#endif
394 } s; 535 } s;
395 struct cvmx_asxx_tx_clk_setx_s cn30xx; 536 struct cvmx_asxx_tx_clk_setx_s cn30xx;
396 struct cvmx_asxx_tx_clk_setx_s cn31xx; 537 struct cvmx_asxx_tx_clk_setx_s cn31xx;
@@ -404,34 +545,67 @@ union cvmx_asxx_tx_clk_setx {
404union cvmx_asxx_tx_comp_byp { 545union cvmx_asxx_tx_comp_byp {
405 uint64_t u64; 546 uint64_t u64;
406 struct cvmx_asxx_tx_comp_byp_s { 547 struct cvmx_asxx_tx_comp_byp_s {
548#ifdef __BIG_ENDIAN_BITFIELD
549 uint64_t reserved_0_63:64;
550#else
407 uint64_t reserved_0_63:64; 551 uint64_t reserved_0_63:64;
552#endif
408 } s; 553 } s;
409 struct cvmx_asxx_tx_comp_byp_cn30xx { 554 struct cvmx_asxx_tx_comp_byp_cn30xx {
555#ifdef __BIG_ENDIAN_BITFIELD
410 uint64_t reserved_9_63:55; 556 uint64_t reserved_9_63:55;
411 uint64_t bypass:1; 557 uint64_t bypass:1;
412 uint64_t pctl:4; 558 uint64_t pctl:4;
413 uint64_t nctl:4; 559 uint64_t nctl:4;
560#else
561 uint64_t nctl:4;
562 uint64_t pctl:4;
563 uint64_t bypass:1;
564 uint64_t reserved_9_63:55;
565#endif
414 } cn30xx; 566 } cn30xx;
415 struct cvmx_asxx_tx_comp_byp_cn30xx cn31xx; 567 struct cvmx_asxx_tx_comp_byp_cn30xx cn31xx;
416 struct cvmx_asxx_tx_comp_byp_cn38xx { 568 struct cvmx_asxx_tx_comp_byp_cn38xx {
569#ifdef __BIG_ENDIAN_BITFIELD
417 uint64_t reserved_8_63:56; 570 uint64_t reserved_8_63:56;
418 uint64_t pctl:4; 571 uint64_t pctl:4;
419 uint64_t nctl:4; 572 uint64_t nctl:4;
573#else
574 uint64_t nctl:4;
575 uint64_t pctl:4;
576 uint64_t reserved_8_63:56;
577#endif
420 } cn38xx; 578 } cn38xx;
421 struct cvmx_asxx_tx_comp_byp_cn38xx cn38xxp2; 579 struct cvmx_asxx_tx_comp_byp_cn38xx cn38xxp2;
422 struct cvmx_asxx_tx_comp_byp_cn50xx { 580 struct cvmx_asxx_tx_comp_byp_cn50xx {
581#ifdef __BIG_ENDIAN_BITFIELD
423 uint64_t reserved_17_63:47; 582 uint64_t reserved_17_63:47;
424 uint64_t bypass:1; 583 uint64_t bypass:1;
425 uint64_t reserved_13_15:3; 584 uint64_t reserved_13_15:3;
426 uint64_t pctl:5; 585 uint64_t pctl:5;
427 uint64_t reserved_5_7:3; 586 uint64_t reserved_5_7:3;
428 uint64_t nctl:5; 587 uint64_t nctl:5;
588#else
589 uint64_t nctl:5;
590 uint64_t reserved_5_7:3;
591 uint64_t pctl:5;
592 uint64_t reserved_13_15:3;
593 uint64_t bypass:1;
594 uint64_t reserved_17_63:47;
595#endif
429 } cn50xx; 596 } cn50xx;
430 struct cvmx_asxx_tx_comp_byp_cn58xx { 597 struct cvmx_asxx_tx_comp_byp_cn58xx {
598#ifdef __BIG_ENDIAN_BITFIELD
431 uint64_t reserved_13_63:51; 599 uint64_t reserved_13_63:51;
432 uint64_t pctl:5; 600 uint64_t pctl:5;
433 uint64_t reserved_5_7:3; 601 uint64_t reserved_5_7:3;
434 uint64_t nctl:5; 602 uint64_t nctl:5;
603#else
604 uint64_t nctl:5;
605 uint64_t reserved_5_7:3;
606 uint64_t pctl:5;
607 uint64_t reserved_13_63:51;
608#endif
435 } cn58xx; 609 } cn58xx;
436 struct cvmx_asxx_tx_comp_byp_cn58xx cn58xxp1; 610 struct cvmx_asxx_tx_comp_byp_cn58xx cn58xxp1;
437}; 611};
@@ -439,12 +613,22 @@ union cvmx_asxx_tx_comp_byp {
439union cvmx_asxx_tx_hi_waterx { 613union cvmx_asxx_tx_hi_waterx {
440 uint64_t u64; 614 uint64_t u64;
441 struct cvmx_asxx_tx_hi_waterx_s { 615 struct cvmx_asxx_tx_hi_waterx_s {
616#ifdef __BIG_ENDIAN_BITFIELD
442 uint64_t reserved_4_63:60; 617 uint64_t reserved_4_63:60;
443 uint64_t mark:4; 618 uint64_t mark:4;
619#else
620 uint64_t mark:4;
621 uint64_t reserved_4_63:60;
622#endif
444 } s; 623 } s;
445 struct cvmx_asxx_tx_hi_waterx_cn30xx { 624 struct cvmx_asxx_tx_hi_waterx_cn30xx {
625#ifdef __BIG_ENDIAN_BITFIELD
446 uint64_t reserved_3_63:61; 626 uint64_t reserved_3_63:61;
447 uint64_t mark:3; 627 uint64_t mark:3;
628#else
629 uint64_t mark:3;
630 uint64_t reserved_3_63:61;
631#endif
448 } cn30xx; 632 } cn30xx;
449 struct cvmx_asxx_tx_hi_waterx_cn30xx cn31xx; 633 struct cvmx_asxx_tx_hi_waterx_cn30xx cn31xx;
450 struct cvmx_asxx_tx_hi_waterx_s cn38xx; 634 struct cvmx_asxx_tx_hi_waterx_s cn38xx;
@@ -457,12 +641,22 @@ union cvmx_asxx_tx_hi_waterx {
457union cvmx_asxx_tx_prt_en { 641union cvmx_asxx_tx_prt_en {
458 uint64_t u64; 642 uint64_t u64;
459 struct cvmx_asxx_tx_prt_en_s { 643 struct cvmx_asxx_tx_prt_en_s {
644#ifdef __BIG_ENDIAN_BITFIELD
460 uint64_t reserved_4_63:60; 645 uint64_t reserved_4_63:60;
461 uint64_t prt_en:4; 646 uint64_t prt_en:4;
647#else
648 uint64_t prt_en:4;
649 uint64_t reserved_4_63:60;
650#endif
462 } s; 651 } s;
463 struct cvmx_asxx_tx_prt_en_cn30xx { 652 struct cvmx_asxx_tx_prt_en_cn30xx {
653#ifdef __BIG_ENDIAN_BITFIELD
464 uint64_t reserved_3_63:61; 654 uint64_t reserved_3_63:61;
465 uint64_t prt_en:3; 655 uint64_t prt_en:3;
656#else
657 uint64_t prt_en:3;
658 uint64_t reserved_3_63:61;
659#endif
466 } cn30xx; 660 } cn30xx;
467 struct cvmx_asxx_tx_prt_en_cn30xx cn31xx; 661 struct cvmx_asxx_tx_prt_en_cn30xx cn31xx;
468 struct cvmx_asxx_tx_prt_en_s cn38xx; 662 struct cvmx_asxx_tx_prt_en_s cn38xx;
diff --git a/arch/mips/include/asm/octeon/cvmx-ciu-defs.h b/arch/mips/include/asm/octeon/cvmx-ciu-defs.h
index 27cead370411..0dd0e40c96d4 100644
--- a/arch/mips/include/asm/octeon/cvmx-ciu-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-ciu-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -31,6 +31,18 @@
31#define CVMX_CIU_BIST (CVMX_ADD_IO_SEG(0x0001070000000730ull)) 31#define CVMX_CIU_BIST (CVMX_ADD_IO_SEG(0x0001070000000730ull))
32#define CVMX_CIU_BLOCK_INT (CVMX_ADD_IO_SEG(0x00010700000007C0ull)) 32#define CVMX_CIU_BLOCK_INT (CVMX_ADD_IO_SEG(0x00010700000007C0ull))
33#define CVMX_CIU_DINT (CVMX_ADD_IO_SEG(0x0001070000000720ull)) 33#define CVMX_CIU_DINT (CVMX_ADD_IO_SEG(0x0001070000000720ull))
34#define CVMX_CIU_EN2_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x000107000000A600ull) + ((offset) & 1) * 8)
35#define CVMX_CIU_EN2_IOX_INT_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CE00ull) + ((offset) & 1) * 8)
36#define CVMX_CIU_EN2_IOX_INT_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AE00ull) + ((offset) & 1) * 8)
37#define CVMX_CIU_EN2_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x000107000000A000ull) + ((offset) & 15) * 8)
38#define CVMX_CIU_EN2_PPX_IP2_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000C800ull) + ((offset) & 15) * 8)
39#define CVMX_CIU_EN2_PPX_IP2_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000A800ull) + ((offset) & 15) * 8)
40#define CVMX_CIU_EN2_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x000107000000A200ull) + ((offset) & 15) * 8)
41#define CVMX_CIU_EN2_PPX_IP3_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CA00ull) + ((offset) & 15) * 8)
42#define CVMX_CIU_EN2_PPX_IP3_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AA00ull) + ((offset) & 15) * 8)
43#define CVMX_CIU_EN2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x000107000000A400ull) + ((offset) & 15) * 8)
44#define CVMX_CIU_EN2_PPX_IP4_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CC00ull) + ((offset) & 15) * 8)
45#define CVMX_CIU_EN2_PPX_IP4_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AC00ull) + ((offset) & 15) * 8)
34#define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull)) 46#define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull))
35#define CVMX_CIU_GSTOP (CVMX_ADD_IO_SEG(0x0001070000000710ull)) 47#define CVMX_CIU_GSTOP (CVMX_ADD_IO_SEG(0x0001070000000710ull))
36#define CVMX_CIU_INT33_SUM0 (CVMX_ADD_IO_SEG(0x0001070000000110ull)) 48#define CVMX_CIU_INT33_SUM0 (CVMX_ADD_IO_SEG(0x0001070000000110ull))
@@ -50,59 +62,378 @@
50#define CVMX_CIU_INTX_SUM4(offset) (CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8) 62#define CVMX_CIU_INTX_SUM4(offset) (CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8)
51#define CVMX_CIU_INT_DBG_SEL (CVMX_ADD_IO_SEG(0x00010700000007D0ull)) 63#define CVMX_CIU_INT_DBG_SEL (CVMX_ADD_IO_SEG(0x00010700000007D0ull))
52#define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull)) 64#define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull))
53#define CVMX_CIU_MBOX_CLRX(offset) (CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8) 65static inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned long offset)
54#define CVMX_CIU_MBOX_SETX(offset) (CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8) 66{
67 switch (cvmx_get_octeon_family()) {
68 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
69 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
70 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
71 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
72 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
73 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
74 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
75 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
76 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
77 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
78 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
79 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
80 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
81 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
82 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
83 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
84 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
85 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
86 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
87 return CVMX_ADD_IO_SEG(0x0001070100100600ull) + (offset) * 8;
88 }
89 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
90}
91
92static inline uint64_t CVMX_CIU_MBOX_SETX(unsigned long offset)
93{
94 switch (cvmx_get_octeon_family()) {
95 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
96 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
97 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
98 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
99 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
100 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
101 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
102 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
103 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
104 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
105 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
106 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
107 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
108 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
109 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
110 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
111 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
112 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
113 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
114 return CVMX_ADD_IO_SEG(0x0001070100100400ull) + (offset) * 8;
115 }
116 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
117}
118
55#define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull)) 119#define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull))
56#define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull)) 120#define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull))
121#define CVMX_CIU_PP_BIST_STAT (CVMX_ADD_IO_SEG(0x00010700000007E0ull))
57#define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull)) 122#define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull))
58#define CVMX_CIU_PP_POKEX(offset) (CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8) 123static inline uint64_t CVMX_CIU_PP_POKEX(unsigned long offset)
124{
125 switch (cvmx_get_octeon_family()) {
126 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
127 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
128 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
129 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
130 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
131 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
132 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
133 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
134 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
135 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
136 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
137 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
138 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
139 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
140 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
141 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
142 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
143 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
144 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
145 return CVMX_ADD_IO_SEG(0x0001070100100200ull) + (offset) * 8;
146 }
147 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
148}
149
59#define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull)) 150#define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull))
60#define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull)) 151#define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull))
61#define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull)) 152#define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull))
62#define CVMX_CIU_QLM2 (CVMX_ADD_IO_SEG(0x0001070000000790ull)) 153#define CVMX_CIU_QLM2 (CVMX_ADD_IO_SEG(0x0001070000000790ull))
154#define CVMX_CIU_QLM3 (CVMX_ADD_IO_SEG(0x0001070000000798ull))
155#define CVMX_CIU_QLM4 (CVMX_ADD_IO_SEG(0x00010700000007A0ull))
63#define CVMX_CIU_QLM_DCOK (CVMX_ADD_IO_SEG(0x0001070000000760ull)) 156#define CVMX_CIU_QLM_DCOK (CVMX_ADD_IO_SEG(0x0001070000000760ull))
64#define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull)) 157#define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull))
65#define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull)) 158#define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull))
66#define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull)) 159#define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull))
67#define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull)) 160#define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull))
68#define CVMX_CIU_SOFT_PRST1 (CVMX_ADD_IO_SEG(0x0001070000000758ull)) 161#define CVMX_CIU_SOFT_PRST1 (CVMX_ADD_IO_SEG(0x0001070000000758ull))
162#define CVMX_CIU_SOFT_PRST2 (CVMX_ADD_IO_SEG(0x00010700000007D8ull))
163#define CVMX_CIU_SOFT_PRST3 (CVMX_ADD_IO_SEG(0x00010700000007E0ull))
69#define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull)) 164#define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull))
70#define CVMX_CIU_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 3) * 8) 165#define CVMX_CIU_SUM1_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008600ull) + ((offset) & 1) * 8)
71#define CVMX_CIU_WDOGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8) 166#define CVMX_CIU_SUM1_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008000ull) + ((offset) & 15) * 8)
167#define CVMX_CIU_SUM1_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070000008200ull) + ((offset) & 15) * 8)
168#define CVMX_CIU_SUM1_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008400ull) + ((offset) & 15) * 8)
169#define CVMX_CIU_SUM2_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008E00ull) + ((offset) & 1) * 8)
170#define CVMX_CIU_SUM2_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008800ull) + ((offset) & 15) * 8)
171#define CVMX_CIU_SUM2_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070000008A00ull) + ((offset) & 15) * 8)
172#define CVMX_CIU_SUM2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008C00ull) + ((offset) & 15) * 8)
173#define CVMX_CIU_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 15) * 8)
174#define CVMX_CIU_TIM_MULTI_CAST (CVMX_ADD_IO_SEG(0x000107000000C200ull))
175static inline uint64_t CVMX_CIU_WDOGX(unsigned long offset)
176{
177 switch (cvmx_get_octeon_family()) {
178 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
179 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
180 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
181 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
182 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
183 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
184 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
185 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
186 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
187 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
188 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
189 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
190 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
191 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
192 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
193 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
194 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
195 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
196 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
197 return CVMX_ADD_IO_SEG(0x0001070100100000ull) + (offset) * 8;
198 }
199 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
200}
72 201
73union cvmx_ciu_bist { 202union cvmx_ciu_bist {
74 uint64_t u64; 203 uint64_t u64;
75 struct cvmx_ciu_bist_s { 204 struct cvmx_ciu_bist_s {
76 uint64_t reserved_5_63:59; 205#ifdef __BIG_ENDIAN_BITFIELD
77 uint64_t bist:5; 206 uint64_t reserved_7_63:57;
207 uint64_t bist:7;
208#else
209 uint64_t bist:7;
210 uint64_t reserved_7_63:57;
211#endif
78 } s; 212 } s;
79 struct cvmx_ciu_bist_cn30xx { 213 struct cvmx_ciu_bist_cn30xx {
214#ifdef __BIG_ENDIAN_BITFIELD
80 uint64_t reserved_4_63:60; 215 uint64_t reserved_4_63:60;
81 uint64_t bist:4; 216 uint64_t bist:4;
217#else
218 uint64_t bist:4;
219 uint64_t reserved_4_63:60;
220#endif
82 } cn30xx; 221 } cn30xx;
83 struct cvmx_ciu_bist_cn30xx cn31xx; 222 struct cvmx_ciu_bist_cn30xx cn31xx;
84 struct cvmx_ciu_bist_cn30xx cn38xx; 223 struct cvmx_ciu_bist_cn30xx cn38xx;
85 struct cvmx_ciu_bist_cn30xx cn38xxp2; 224 struct cvmx_ciu_bist_cn30xx cn38xxp2;
86 struct cvmx_ciu_bist_cn50xx { 225 struct cvmx_ciu_bist_cn50xx {
226#ifdef __BIG_ENDIAN_BITFIELD
87 uint64_t reserved_2_63:62; 227 uint64_t reserved_2_63:62;
88 uint64_t bist:2; 228 uint64_t bist:2;
229#else
230 uint64_t bist:2;
231 uint64_t reserved_2_63:62;
232#endif
89 } cn50xx; 233 } cn50xx;
90 struct cvmx_ciu_bist_cn52xx { 234 struct cvmx_ciu_bist_cn52xx {
235#ifdef __BIG_ENDIAN_BITFIELD
91 uint64_t reserved_3_63:61; 236 uint64_t reserved_3_63:61;
92 uint64_t bist:3; 237 uint64_t bist:3;
238#else
239 uint64_t bist:3;
240 uint64_t reserved_3_63:61;
241#endif
93 } cn52xx; 242 } cn52xx;
94 struct cvmx_ciu_bist_cn52xx cn52xxp1; 243 struct cvmx_ciu_bist_cn52xx cn52xxp1;
95 struct cvmx_ciu_bist_cn30xx cn56xx; 244 struct cvmx_ciu_bist_cn30xx cn56xx;
96 struct cvmx_ciu_bist_cn30xx cn56xxp1; 245 struct cvmx_ciu_bist_cn30xx cn56xxp1;
97 struct cvmx_ciu_bist_cn30xx cn58xx; 246 struct cvmx_ciu_bist_cn30xx cn58xx;
98 struct cvmx_ciu_bist_cn30xx cn58xxp1; 247 struct cvmx_ciu_bist_cn30xx cn58xxp1;
99 struct cvmx_ciu_bist_s cn63xx; 248 struct cvmx_ciu_bist_cn61xx {
100 struct cvmx_ciu_bist_s cn63xxp1; 249#ifdef __BIG_ENDIAN_BITFIELD
250 uint64_t reserved_6_63:58;
251 uint64_t bist:6;
252#else
253 uint64_t bist:6;
254 uint64_t reserved_6_63:58;
255#endif
256 } cn61xx;
257 struct cvmx_ciu_bist_cn63xx {
258#ifdef __BIG_ENDIAN_BITFIELD
259 uint64_t reserved_5_63:59;
260 uint64_t bist:5;
261#else
262 uint64_t bist:5;
263 uint64_t reserved_5_63:59;
264#endif
265 } cn63xx;
266 struct cvmx_ciu_bist_cn63xx cn63xxp1;
267 struct cvmx_ciu_bist_cn61xx cn66xx;
268 struct cvmx_ciu_bist_s cn68xx;
269 struct cvmx_ciu_bist_s cn68xxp1;
270 struct cvmx_ciu_bist_cn61xx cnf71xx;
101}; 271};
102 272
103union cvmx_ciu_block_int { 273union cvmx_ciu_block_int {
104 uint64_t u64; 274 uint64_t u64;
105 struct cvmx_ciu_block_int_s { 275 struct cvmx_ciu_block_int_s {
276#ifdef __BIG_ENDIAN_BITFIELD
277 uint64_t reserved_62_63:2;
278 uint64_t srio3:1;
279 uint64_t srio2:1;
280 uint64_t reserved_43_59:17;
281 uint64_t ptp:1;
282 uint64_t dpi:1;
283 uint64_t dfm:1;
284 uint64_t reserved_34_39:6;
285 uint64_t srio1:1;
286 uint64_t srio0:1;
287 uint64_t reserved_31_31:1;
288 uint64_t iob:1;
289 uint64_t reserved_29_29:1;
290 uint64_t agl:1;
291 uint64_t reserved_27_27:1;
292 uint64_t pem1:1;
293 uint64_t pem0:1;
294 uint64_t reserved_24_24:1;
295 uint64_t asxpcs1:1;
296 uint64_t asxpcs0:1;
297 uint64_t reserved_21_21:1;
298 uint64_t pip:1;
299 uint64_t reserved_18_19:2;
300 uint64_t lmc0:1;
301 uint64_t l2c:1;
302 uint64_t reserved_15_15:1;
303 uint64_t rad:1;
304 uint64_t usb:1;
305 uint64_t pow:1;
306 uint64_t tim:1;
307 uint64_t pko:1;
308 uint64_t ipd:1;
309 uint64_t reserved_8_8:1;
310 uint64_t zip:1;
311 uint64_t dfa:1;
312 uint64_t fpa:1;
313 uint64_t key:1;
314 uint64_t sli:1;
315 uint64_t gmx1:1;
316 uint64_t gmx0:1;
317 uint64_t mio:1;
318#else
319 uint64_t mio:1;
320 uint64_t gmx0:1;
321 uint64_t gmx1:1;
322 uint64_t sli:1;
323 uint64_t key:1;
324 uint64_t fpa:1;
325 uint64_t dfa:1;
326 uint64_t zip:1;
327 uint64_t reserved_8_8:1;
328 uint64_t ipd:1;
329 uint64_t pko:1;
330 uint64_t tim:1;
331 uint64_t pow:1;
332 uint64_t usb:1;
333 uint64_t rad:1;
334 uint64_t reserved_15_15:1;
335 uint64_t l2c:1;
336 uint64_t lmc0:1;
337 uint64_t reserved_18_19:2;
338 uint64_t pip:1;
339 uint64_t reserved_21_21:1;
340 uint64_t asxpcs0:1;
341 uint64_t asxpcs1:1;
342 uint64_t reserved_24_24:1;
343 uint64_t pem0:1;
344 uint64_t pem1:1;
345 uint64_t reserved_27_27:1;
346 uint64_t agl:1;
347 uint64_t reserved_29_29:1;
348 uint64_t iob:1;
349 uint64_t reserved_31_31:1;
350 uint64_t srio0:1;
351 uint64_t srio1:1;
352 uint64_t reserved_34_39:6;
353 uint64_t dfm:1;
354 uint64_t dpi:1;
355 uint64_t ptp:1;
356 uint64_t reserved_43_59:17;
357 uint64_t srio2:1;
358 uint64_t srio3:1;
359 uint64_t reserved_62_63:2;
360#endif
361 } s;
362 struct cvmx_ciu_block_int_cn61xx {
363#ifdef __BIG_ENDIAN_BITFIELD
364 uint64_t reserved_43_63:21;
365 uint64_t ptp:1;
366 uint64_t dpi:1;
367 uint64_t reserved_31_40:10;
368 uint64_t iob:1;
369 uint64_t reserved_29_29:1;
370 uint64_t agl:1;
371 uint64_t reserved_27_27:1;
372 uint64_t pem1:1;
373 uint64_t pem0:1;
374 uint64_t reserved_24_24:1;
375 uint64_t asxpcs1:1;
376 uint64_t asxpcs0:1;
377 uint64_t reserved_21_21:1;
378 uint64_t pip:1;
379 uint64_t reserved_18_19:2;
380 uint64_t lmc0:1;
381 uint64_t l2c:1;
382 uint64_t reserved_15_15:1;
383 uint64_t rad:1;
384 uint64_t usb:1;
385 uint64_t pow:1;
386 uint64_t tim:1;
387 uint64_t pko:1;
388 uint64_t ipd:1;
389 uint64_t reserved_8_8:1;
390 uint64_t zip:1;
391 uint64_t dfa:1;
392 uint64_t fpa:1;
393 uint64_t key:1;
394 uint64_t sli:1;
395 uint64_t gmx1:1;
396 uint64_t gmx0:1;
397 uint64_t mio:1;
398#else
399 uint64_t mio:1;
400 uint64_t gmx0:1;
401 uint64_t gmx1:1;
402 uint64_t sli:1;
403 uint64_t key:1;
404 uint64_t fpa:1;
405 uint64_t dfa:1;
406 uint64_t zip:1;
407 uint64_t reserved_8_8:1;
408 uint64_t ipd:1;
409 uint64_t pko:1;
410 uint64_t tim:1;
411 uint64_t pow:1;
412 uint64_t usb:1;
413 uint64_t rad:1;
414 uint64_t reserved_15_15:1;
415 uint64_t l2c:1;
416 uint64_t lmc0:1;
417 uint64_t reserved_18_19:2;
418 uint64_t pip:1;
419 uint64_t reserved_21_21:1;
420 uint64_t asxpcs0:1;
421 uint64_t asxpcs1:1;
422 uint64_t reserved_24_24:1;
423 uint64_t pem0:1;
424 uint64_t pem1:1;
425 uint64_t reserved_27_27:1;
426 uint64_t agl:1;
427 uint64_t reserved_29_29:1;
428 uint64_t iob:1;
429 uint64_t reserved_31_40:10;
430 uint64_t dpi:1;
431 uint64_t ptp:1;
432 uint64_t reserved_43_63:21;
433#endif
434 } cn61xx;
435 struct cvmx_ciu_block_int_cn63xx {
436#ifdef __BIG_ENDIAN_BITFIELD
106 uint64_t reserved_43_63:21; 437 uint64_t reserved_43_63:21;
107 uint64_t ptp:1; 438 uint64_t ptp:1;
108 uint64_t dpi:1; 439 uint64_t dpi:1;
@@ -140,88 +471,789 @@ union cvmx_ciu_block_int {
140 uint64_t reserved_2_2:1; 471 uint64_t reserved_2_2:1;
141 uint64_t gmx0:1; 472 uint64_t gmx0:1;
142 uint64_t mio:1; 473 uint64_t mio:1;
143 } s; 474#else
144 struct cvmx_ciu_block_int_s cn63xx; 475 uint64_t mio:1;
145 struct cvmx_ciu_block_int_s cn63xxp1; 476 uint64_t gmx0:1;
477 uint64_t reserved_2_2:1;
478 uint64_t sli:1;
479 uint64_t key:1;
480 uint64_t fpa:1;
481 uint64_t dfa:1;
482 uint64_t zip:1;
483 uint64_t reserved_8_8:1;
484 uint64_t ipd:1;
485 uint64_t pko:1;
486 uint64_t tim:1;
487 uint64_t pow:1;
488 uint64_t usb:1;
489 uint64_t rad:1;
490 uint64_t reserved_15_15:1;
491 uint64_t l2c:1;
492 uint64_t lmc0:1;
493 uint64_t reserved_18_19:2;
494 uint64_t pip:1;
495 uint64_t reserved_21_21:1;
496 uint64_t asxpcs0:1;
497 uint64_t reserved_23_24:2;
498 uint64_t pem0:1;
499 uint64_t pem1:1;
500 uint64_t reserved_27_27:1;
501 uint64_t agl:1;
502 uint64_t reserved_29_29:1;
503 uint64_t iob:1;
504 uint64_t reserved_31_31:1;
505 uint64_t srio0:1;
506 uint64_t srio1:1;
507 uint64_t reserved_34_39:6;
508 uint64_t dfm:1;
509 uint64_t dpi:1;
510 uint64_t ptp:1;
511 uint64_t reserved_43_63:21;
512#endif
513 } cn63xx;
514 struct cvmx_ciu_block_int_cn63xx cn63xxp1;
515 struct cvmx_ciu_block_int_cn66xx {
516#ifdef __BIG_ENDIAN_BITFIELD
517 uint64_t reserved_62_63:2;
518 uint64_t srio3:1;
519 uint64_t srio2:1;
520 uint64_t reserved_43_59:17;
521 uint64_t ptp:1;
522 uint64_t dpi:1;
523 uint64_t dfm:1;
524 uint64_t reserved_33_39:7;
525 uint64_t srio0:1;
526 uint64_t reserved_31_31:1;
527 uint64_t iob:1;
528 uint64_t reserved_29_29:1;
529 uint64_t agl:1;
530 uint64_t reserved_27_27:1;
531 uint64_t pem1:1;
532 uint64_t pem0:1;
533 uint64_t reserved_24_24:1;
534 uint64_t asxpcs1:1;
535 uint64_t asxpcs0:1;
536 uint64_t reserved_21_21:1;
537 uint64_t pip:1;
538 uint64_t reserved_18_19:2;
539 uint64_t lmc0:1;
540 uint64_t l2c:1;
541 uint64_t reserved_15_15:1;
542 uint64_t rad:1;
543 uint64_t usb:1;
544 uint64_t pow:1;
545 uint64_t tim:1;
546 uint64_t pko:1;
547 uint64_t ipd:1;
548 uint64_t reserved_8_8:1;
549 uint64_t zip:1;
550 uint64_t dfa:1;
551 uint64_t fpa:1;
552 uint64_t key:1;
553 uint64_t sli:1;
554 uint64_t gmx1:1;
555 uint64_t gmx0:1;
556 uint64_t mio:1;
557#else
558 uint64_t mio:1;
559 uint64_t gmx0:1;
560 uint64_t gmx1:1;
561 uint64_t sli:1;
562 uint64_t key:1;
563 uint64_t fpa:1;
564 uint64_t dfa:1;
565 uint64_t zip:1;
566 uint64_t reserved_8_8:1;
567 uint64_t ipd:1;
568 uint64_t pko:1;
569 uint64_t tim:1;
570 uint64_t pow:1;
571 uint64_t usb:1;
572 uint64_t rad:1;
573 uint64_t reserved_15_15:1;
574 uint64_t l2c:1;
575 uint64_t lmc0:1;
576 uint64_t reserved_18_19:2;
577 uint64_t pip:1;
578 uint64_t reserved_21_21:1;
579 uint64_t asxpcs0:1;
580 uint64_t asxpcs1:1;
581 uint64_t reserved_24_24:1;
582 uint64_t pem0:1;
583 uint64_t pem1:1;
584 uint64_t reserved_27_27:1;
585 uint64_t agl:1;
586 uint64_t reserved_29_29:1;
587 uint64_t iob:1;
588 uint64_t reserved_31_31:1;
589 uint64_t srio0:1;
590 uint64_t reserved_33_39:7;
591 uint64_t dfm:1;
592 uint64_t dpi:1;
593 uint64_t ptp:1;
594 uint64_t reserved_43_59:17;
595 uint64_t srio2:1;
596 uint64_t srio3:1;
597 uint64_t reserved_62_63:2;
598#endif
599 } cn66xx;
600 struct cvmx_ciu_block_int_cnf71xx {
601#ifdef __BIG_ENDIAN_BITFIELD
602 uint64_t reserved_43_63:21;
603 uint64_t ptp:1;
604 uint64_t dpi:1;
605 uint64_t reserved_31_40:10;
606 uint64_t iob:1;
607 uint64_t reserved_27_29:3;
608 uint64_t pem1:1;
609 uint64_t pem0:1;
610 uint64_t reserved_23_24:2;
611 uint64_t asxpcs0:1;
612 uint64_t reserved_21_21:1;
613 uint64_t pip:1;
614 uint64_t reserved_18_19:2;
615 uint64_t lmc0:1;
616 uint64_t l2c:1;
617 uint64_t reserved_15_15:1;
618 uint64_t rad:1;
619 uint64_t usb:1;
620 uint64_t pow:1;
621 uint64_t tim:1;
622 uint64_t pko:1;
623 uint64_t ipd:1;
624 uint64_t reserved_6_8:3;
625 uint64_t fpa:1;
626 uint64_t key:1;
627 uint64_t sli:1;
628 uint64_t reserved_2_2:1;
629 uint64_t gmx0:1;
630 uint64_t mio:1;
631#else
632 uint64_t mio:1;
633 uint64_t gmx0:1;
634 uint64_t reserved_2_2:1;
635 uint64_t sli:1;
636 uint64_t key:1;
637 uint64_t fpa:1;
638 uint64_t reserved_6_8:3;
639 uint64_t ipd:1;
640 uint64_t pko:1;
641 uint64_t tim:1;
642 uint64_t pow:1;
643 uint64_t usb:1;
644 uint64_t rad:1;
645 uint64_t reserved_15_15:1;
646 uint64_t l2c:1;
647 uint64_t lmc0:1;
648 uint64_t reserved_18_19:2;
649 uint64_t pip:1;
650 uint64_t reserved_21_21:1;
651 uint64_t asxpcs0:1;
652 uint64_t reserved_23_24:2;
653 uint64_t pem0:1;
654 uint64_t pem1:1;
655 uint64_t reserved_27_29:3;
656 uint64_t iob:1;
657 uint64_t reserved_31_40:10;
658 uint64_t dpi:1;
659 uint64_t ptp:1;
660 uint64_t reserved_43_63:21;
661#endif
662 } cnf71xx;
146}; 663};
147 664
148union cvmx_ciu_dint { 665union cvmx_ciu_dint {
149 uint64_t u64; 666 uint64_t u64;
150 struct cvmx_ciu_dint_s { 667 struct cvmx_ciu_dint_s {
151 uint64_t reserved_16_63:48; 668#ifdef __BIG_ENDIAN_BITFIELD
152 uint64_t dint:16; 669 uint64_t reserved_32_63:32;
670 uint64_t dint:32;
671#else
672 uint64_t dint:32;
673 uint64_t reserved_32_63:32;
674#endif
153 } s; 675 } s;
154 struct cvmx_ciu_dint_cn30xx { 676 struct cvmx_ciu_dint_cn30xx {
677#ifdef __BIG_ENDIAN_BITFIELD
155 uint64_t reserved_1_63:63; 678 uint64_t reserved_1_63:63;
156 uint64_t dint:1; 679 uint64_t dint:1;
680#else
681 uint64_t dint:1;
682 uint64_t reserved_1_63:63;
683#endif
157 } cn30xx; 684 } cn30xx;
158 struct cvmx_ciu_dint_cn31xx { 685 struct cvmx_ciu_dint_cn31xx {
686#ifdef __BIG_ENDIAN_BITFIELD
159 uint64_t reserved_2_63:62; 687 uint64_t reserved_2_63:62;
160 uint64_t dint:2; 688 uint64_t dint:2;
689#else
690 uint64_t dint:2;
691 uint64_t reserved_2_63:62;
692#endif
161 } cn31xx; 693 } cn31xx;
162 struct cvmx_ciu_dint_s cn38xx; 694 struct cvmx_ciu_dint_cn38xx {
163 struct cvmx_ciu_dint_s cn38xxp2; 695#ifdef __BIG_ENDIAN_BITFIELD
696 uint64_t reserved_16_63:48;
697 uint64_t dint:16;
698#else
699 uint64_t dint:16;
700 uint64_t reserved_16_63:48;
701#endif
702 } cn38xx;
703 struct cvmx_ciu_dint_cn38xx cn38xxp2;
164 struct cvmx_ciu_dint_cn31xx cn50xx; 704 struct cvmx_ciu_dint_cn31xx cn50xx;
165 struct cvmx_ciu_dint_cn52xx { 705 struct cvmx_ciu_dint_cn52xx {
706#ifdef __BIG_ENDIAN_BITFIELD
166 uint64_t reserved_4_63:60; 707 uint64_t reserved_4_63:60;
167 uint64_t dint:4; 708 uint64_t dint:4;
709#else
710 uint64_t dint:4;
711 uint64_t reserved_4_63:60;
712#endif
168 } cn52xx; 713 } cn52xx;
169 struct cvmx_ciu_dint_cn52xx cn52xxp1; 714 struct cvmx_ciu_dint_cn52xx cn52xxp1;
170 struct cvmx_ciu_dint_cn56xx { 715 struct cvmx_ciu_dint_cn56xx {
716#ifdef __BIG_ENDIAN_BITFIELD
171 uint64_t reserved_12_63:52; 717 uint64_t reserved_12_63:52;
172 uint64_t dint:12; 718 uint64_t dint:12;
719#else
720 uint64_t dint:12;
721 uint64_t reserved_12_63:52;
722#endif
173 } cn56xx; 723 } cn56xx;
174 struct cvmx_ciu_dint_cn56xx cn56xxp1; 724 struct cvmx_ciu_dint_cn56xx cn56xxp1;
175 struct cvmx_ciu_dint_s cn58xx; 725 struct cvmx_ciu_dint_cn38xx cn58xx;
176 struct cvmx_ciu_dint_s cn58xxp1; 726 struct cvmx_ciu_dint_cn38xx cn58xxp1;
727 struct cvmx_ciu_dint_cn52xx cn61xx;
177 struct cvmx_ciu_dint_cn63xx { 728 struct cvmx_ciu_dint_cn63xx {
729#ifdef __BIG_ENDIAN_BITFIELD
178 uint64_t reserved_6_63:58; 730 uint64_t reserved_6_63:58;
179 uint64_t dint:6; 731 uint64_t dint:6;
732#else
733 uint64_t dint:6;
734 uint64_t reserved_6_63:58;
735#endif
180 } cn63xx; 736 } cn63xx;
181 struct cvmx_ciu_dint_cn63xx cn63xxp1; 737 struct cvmx_ciu_dint_cn63xx cn63xxp1;
738 struct cvmx_ciu_dint_cn66xx {
739#ifdef __BIG_ENDIAN_BITFIELD
740 uint64_t reserved_10_63:54;
741 uint64_t dint:10;
742#else
743 uint64_t dint:10;
744 uint64_t reserved_10_63:54;
745#endif
746 } cn66xx;
747 struct cvmx_ciu_dint_s cn68xx;
748 struct cvmx_ciu_dint_s cn68xxp1;
749 struct cvmx_ciu_dint_cn52xx cnf71xx;
750};
751
752union cvmx_ciu_en2_iox_int {
753 uint64_t u64;
754 struct cvmx_ciu_en2_iox_int_s {
755#ifdef __BIG_ENDIAN_BITFIELD
756 uint64_t reserved_15_63:49;
757 uint64_t endor:2;
758 uint64_t eoi:1;
759 uint64_t reserved_10_11:2;
760 uint64_t timer:6;
761 uint64_t reserved_0_3:4;
762#else
763 uint64_t reserved_0_3:4;
764 uint64_t timer:6;
765 uint64_t reserved_10_11:2;
766 uint64_t eoi:1;
767 uint64_t endor:2;
768 uint64_t reserved_15_63:49;
769#endif
770 } s;
771 struct cvmx_ciu_en2_iox_int_cn61xx {
772#ifdef __BIG_ENDIAN_BITFIELD
773 uint64_t reserved_10_63:54;
774 uint64_t timer:6;
775 uint64_t reserved_0_3:4;
776#else
777 uint64_t reserved_0_3:4;
778 uint64_t timer:6;
779 uint64_t reserved_10_63:54;
780#endif
781 } cn61xx;
782 struct cvmx_ciu_en2_iox_int_cn61xx cn66xx;
783 struct cvmx_ciu_en2_iox_int_s cnf71xx;
784};
785
786union cvmx_ciu_en2_iox_int_w1c {
787 uint64_t u64;
788 struct cvmx_ciu_en2_iox_int_w1c_s {
789#ifdef __BIG_ENDIAN_BITFIELD
790 uint64_t reserved_15_63:49;
791 uint64_t endor:2;
792 uint64_t eoi:1;
793 uint64_t reserved_10_11:2;
794 uint64_t timer:6;
795 uint64_t reserved_0_3:4;
796#else
797 uint64_t reserved_0_3:4;
798 uint64_t timer:6;
799 uint64_t reserved_10_11:2;
800 uint64_t eoi:1;
801 uint64_t endor:2;
802 uint64_t reserved_15_63:49;
803#endif
804 } s;
805 struct cvmx_ciu_en2_iox_int_w1c_cn61xx {
806#ifdef __BIG_ENDIAN_BITFIELD
807 uint64_t reserved_10_63:54;
808 uint64_t timer:6;
809 uint64_t reserved_0_3:4;
810#else
811 uint64_t reserved_0_3:4;
812 uint64_t timer:6;
813 uint64_t reserved_10_63:54;
814#endif
815 } cn61xx;
816 struct cvmx_ciu_en2_iox_int_w1c_cn61xx cn66xx;
817 struct cvmx_ciu_en2_iox_int_w1c_s cnf71xx;
818};
819
820union cvmx_ciu_en2_iox_int_w1s {
821 uint64_t u64;
822 struct cvmx_ciu_en2_iox_int_w1s_s {
823#ifdef __BIG_ENDIAN_BITFIELD
824 uint64_t reserved_15_63:49;
825 uint64_t endor:2;
826 uint64_t eoi:1;
827 uint64_t reserved_10_11:2;
828 uint64_t timer:6;
829 uint64_t reserved_0_3:4;
830#else
831 uint64_t reserved_0_3:4;
832 uint64_t timer:6;
833 uint64_t reserved_10_11:2;
834 uint64_t eoi:1;
835 uint64_t endor:2;
836 uint64_t reserved_15_63:49;
837#endif
838 } s;
839 struct cvmx_ciu_en2_iox_int_w1s_cn61xx {
840#ifdef __BIG_ENDIAN_BITFIELD
841 uint64_t reserved_10_63:54;
842 uint64_t timer:6;
843 uint64_t reserved_0_3:4;
844#else
845 uint64_t reserved_0_3:4;
846 uint64_t timer:6;
847 uint64_t reserved_10_63:54;
848#endif
849 } cn61xx;
850 struct cvmx_ciu_en2_iox_int_w1s_cn61xx cn66xx;
851 struct cvmx_ciu_en2_iox_int_w1s_s cnf71xx;
852};
853
854union cvmx_ciu_en2_ppx_ip2 {
855 uint64_t u64;
856 struct cvmx_ciu_en2_ppx_ip2_s {
857#ifdef __BIG_ENDIAN_BITFIELD
858 uint64_t reserved_15_63:49;
859 uint64_t endor:2;
860 uint64_t eoi:1;
861 uint64_t reserved_10_11:2;
862 uint64_t timer:6;
863 uint64_t reserved_0_3:4;
864#else
865 uint64_t reserved_0_3:4;
866 uint64_t timer:6;
867 uint64_t reserved_10_11:2;
868 uint64_t eoi:1;
869 uint64_t endor:2;
870 uint64_t reserved_15_63:49;
871#endif
872 } s;
873 struct cvmx_ciu_en2_ppx_ip2_cn61xx {
874#ifdef __BIG_ENDIAN_BITFIELD
875 uint64_t reserved_10_63:54;
876 uint64_t timer:6;
877 uint64_t reserved_0_3:4;
878#else
879 uint64_t reserved_0_3:4;
880 uint64_t timer:6;
881 uint64_t reserved_10_63:54;
882#endif
883 } cn61xx;
884 struct cvmx_ciu_en2_ppx_ip2_cn61xx cn66xx;
885 struct cvmx_ciu_en2_ppx_ip2_s cnf71xx;
886};
887
888union cvmx_ciu_en2_ppx_ip2_w1c {
889 uint64_t u64;
890 struct cvmx_ciu_en2_ppx_ip2_w1c_s {
891#ifdef __BIG_ENDIAN_BITFIELD
892 uint64_t reserved_15_63:49;
893 uint64_t endor:2;
894 uint64_t eoi:1;
895 uint64_t reserved_10_11:2;
896 uint64_t timer:6;
897 uint64_t reserved_0_3:4;
898#else
899 uint64_t reserved_0_3:4;
900 uint64_t timer:6;
901 uint64_t reserved_10_11:2;
902 uint64_t eoi:1;
903 uint64_t endor:2;
904 uint64_t reserved_15_63:49;
905#endif
906 } s;
907 struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx {
908#ifdef __BIG_ENDIAN_BITFIELD
909 uint64_t reserved_10_63:54;
910 uint64_t timer:6;
911 uint64_t reserved_0_3:4;
912#else
913 uint64_t reserved_0_3:4;
914 uint64_t timer:6;
915 uint64_t reserved_10_63:54;
916#endif
917 } cn61xx;
918 struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx cn66xx;
919 struct cvmx_ciu_en2_ppx_ip2_w1c_s cnf71xx;
920};
921
922union cvmx_ciu_en2_ppx_ip2_w1s {
923 uint64_t u64;
924 struct cvmx_ciu_en2_ppx_ip2_w1s_s {
925#ifdef __BIG_ENDIAN_BITFIELD
926 uint64_t reserved_15_63:49;
927 uint64_t endor:2;
928 uint64_t eoi:1;
929 uint64_t reserved_10_11:2;
930 uint64_t timer:6;
931 uint64_t reserved_0_3:4;
932#else
933 uint64_t reserved_0_3:4;
934 uint64_t timer:6;
935 uint64_t reserved_10_11:2;
936 uint64_t eoi:1;
937 uint64_t endor:2;
938 uint64_t reserved_15_63:49;
939#endif
940 } s;
941 struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx {
942#ifdef __BIG_ENDIAN_BITFIELD
943 uint64_t reserved_10_63:54;
944 uint64_t timer:6;
945 uint64_t reserved_0_3:4;
946#else
947 uint64_t reserved_0_3:4;
948 uint64_t timer:6;
949 uint64_t reserved_10_63:54;
950#endif
951 } cn61xx;
952 struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx cn66xx;
953 struct cvmx_ciu_en2_ppx_ip2_w1s_s cnf71xx;
954};
955
956union cvmx_ciu_en2_ppx_ip3 {
957 uint64_t u64;
958 struct cvmx_ciu_en2_ppx_ip3_s {
959#ifdef __BIG_ENDIAN_BITFIELD
960 uint64_t reserved_15_63:49;
961 uint64_t endor:2;
962 uint64_t eoi:1;
963 uint64_t reserved_10_11:2;
964 uint64_t timer:6;
965 uint64_t reserved_0_3:4;
966#else
967 uint64_t reserved_0_3:4;
968 uint64_t timer:6;
969 uint64_t reserved_10_11:2;
970 uint64_t eoi:1;
971 uint64_t endor:2;
972 uint64_t reserved_15_63:49;
973#endif
974 } s;
975 struct cvmx_ciu_en2_ppx_ip3_cn61xx {
976#ifdef __BIG_ENDIAN_BITFIELD
977 uint64_t reserved_10_63:54;
978 uint64_t timer:6;
979 uint64_t reserved_0_3:4;
980#else
981 uint64_t reserved_0_3:4;
982 uint64_t timer:6;
983 uint64_t reserved_10_63:54;
984#endif
985 } cn61xx;
986 struct cvmx_ciu_en2_ppx_ip3_cn61xx cn66xx;
987 struct cvmx_ciu_en2_ppx_ip3_s cnf71xx;
988};
989
990union cvmx_ciu_en2_ppx_ip3_w1c {
991 uint64_t u64;
992 struct cvmx_ciu_en2_ppx_ip3_w1c_s {
993#ifdef __BIG_ENDIAN_BITFIELD
994 uint64_t reserved_15_63:49;
995 uint64_t endor:2;
996 uint64_t eoi:1;
997 uint64_t reserved_10_11:2;
998 uint64_t timer:6;
999 uint64_t reserved_0_3:4;
1000#else
1001 uint64_t reserved_0_3:4;
1002 uint64_t timer:6;
1003 uint64_t reserved_10_11:2;
1004 uint64_t eoi:1;
1005 uint64_t endor:2;
1006 uint64_t reserved_15_63:49;
1007#endif
1008 } s;
1009 struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx {
1010#ifdef __BIG_ENDIAN_BITFIELD
1011 uint64_t reserved_10_63:54;
1012 uint64_t timer:6;
1013 uint64_t reserved_0_3:4;
1014#else
1015 uint64_t reserved_0_3:4;
1016 uint64_t timer:6;
1017 uint64_t reserved_10_63:54;
1018#endif
1019 } cn61xx;
1020 struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx cn66xx;
1021 struct cvmx_ciu_en2_ppx_ip3_w1c_s cnf71xx;
1022};
1023
1024union cvmx_ciu_en2_ppx_ip3_w1s {
1025 uint64_t u64;
1026 struct cvmx_ciu_en2_ppx_ip3_w1s_s {
1027#ifdef __BIG_ENDIAN_BITFIELD
1028 uint64_t reserved_15_63:49;
1029 uint64_t endor:2;
1030 uint64_t eoi:1;
1031 uint64_t reserved_10_11:2;
1032 uint64_t timer:6;
1033 uint64_t reserved_0_3:4;
1034#else
1035 uint64_t reserved_0_3:4;
1036 uint64_t timer:6;
1037 uint64_t reserved_10_11:2;
1038 uint64_t eoi:1;
1039 uint64_t endor:2;
1040 uint64_t reserved_15_63:49;
1041#endif
1042 } s;
1043 struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx {
1044#ifdef __BIG_ENDIAN_BITFIELD
1045 uint64_t reserved_10_63:54;
1046 uint64_t timer:6;
1047 uint64_t reserved_0_3:4;
1048#else
1049 uint64_t reserved_0_3:4;
1050 uint64_t timer:6;
1051 uint64_t reserved_10_63:54;
1052#endif
1053 } cn61xx;
1054 struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx cn66xx;
1055 struct cvmx_ciu_en2_ppx_ip3_w1s_s cnf71xx;
1056};
1057
1058union cvmx_ciu_en2_ppx_ip4 {
1059 uint64_t u64;
1060 struct cvmx_ciu_en2_ppx_ip4_s {
1061#ifdef __BIG_ENDIAN_BITFIELD
1062 uint64_t reserved_15_63:49;
1063 uint64_t endor:2;
1064 uint64_t eoi:1;
1065 uint64_t reserved_10_11:2;
1066 uint64_t timer:6;
1067 uint64_t reserved_0_3:4;
1068#else
1069 uint64_t reserved_0_3:4;
1070 uint64_t timer:6;
1071 uint64_t reserved_10_11:2;
1072 uint64_t eoi:1;
1073 uint64_t endor:2;
1074 uint64_t reserved_15_63:49;
1075#endif
1076 } s;
1077 struct cvmx_ciu_en2_ppx_ip4_cn61xx {
1078#ifdef __BIG_ENDIAN_BITFIELD
1079 uint64_t reserved_10_63:54;
1080 uint64_t timer:6;
1081 uint64_t reserved_0_3:4;
1082#else
1083 uint64_t reserved_0_3:4;
1084 uint64_t timer:6;
1085 uint64_t reserved_10_63:54;
1086#endif
1087 } cn61xx;
1088 struct cvmx_ciu_en2_ppx_ip4_cn61xx cn66xx;
1089 struct cvmx_ciu_en2_ppx_ip4_s cnf71xx;
1090};
1091
1092union cvmx_ciu_en2_ppx_ip4_w1c {
1093 uint64_t u64;
1094 struct cvmx_ciu_en2_ppx_ip4_w1c_s {
1095#ifdef __BIG_ENDIAN_BITFIELD
1096 uint64_t reserved_15_63:49;
1097 uint64_t endor:2;
1098 uint64_t eoi:1;
1099 uint64_t reserved_10_11:2;
1100 uint64_t timer:6;
1101 uint64_t reserved_0_3:4;
1102#else
1103 uint64_t reserved_0_3:4;
1104 uint64_t timer:6;
1105 uint64_t reserved_10_11:2;
1106 uint64_t eoi:1;
1107 uint64_t endor:2;
1108 uint64_t reserved_15_63:49;
1109#endif
1110 } s;
1111 struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx {
1112#ifdef __BIG_ENDIAN_BITFIELD
1113 uint64_t reserved_10_63:54;
1114 uint64_t timer:6;
1115 uint64_t reserved_0_3:4;
1116#else
1117 uint64_t reserved_0_3:4;
1118 uint64_t timer:6;
1119 uint64_t reserved_10_63:54;
1120#endif
1121 } cn61xx;
1122 struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx cn66xx;
1123 struct cvmx_ciu_en2_ppx_ip4_w1c_s cnf71xx;
1124};
1125
1126union cvmx_ciu_en2_ppx_ip4_w1s {
1127 uint64_t u64;
1128 struct cvmx_ciu_en2_ppx_ip4_w1s_s {
1129#ifdef __BIG_ENDIAN_BITFIELD
1130 uint64_t reserved_15_63:49;
1131 uint64_t endor:2;
1132 uint64_t eoi:1;
1133 uint64_t reserved_10_11:2;
1134 uint64_t timer:6;
1135 uint64_t reserved_0_3:4;
1136#else
1137 uint64_t reserved_0_3:4;
1138 uint64_t timer:6;
1139 uint64_t reserved_10_11:2;
1140 uint64_t eoi:1;
1141 uint64_t endor:2;
1142 uint64_t reserved_15_63:49;
1143#endif
1144 } s;
1145 struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx {
1146#ifdef __BIG_ENDIAN_BITFIELD
1147 uint64_t reserved_10_63:54;
1148 uint64_t timer:6;
1149 uint64_t reserved_0_3:4;
1150#else
1151 uint64_t reserved_0_3:4;
1152 uint64_t timer:6;
1153 uint64_t reserved_10_63:54;
1154#endif
1155 } cn61xx;
1156 struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx cn66xx;
1157 struct cvmx_ciu_en2_ppx_ip4_w1s_s cnf71xx;
182}; 1158};
183 1159
184union cvmx_ciu_fuse { 1160union cvmx_ciu_fuse {
185 uint64_t u64; 1161 uint64_t u64;
186 struct cvmx_ciu_fuse_s { 1162 struct cvmx_ciu_fuse_s {
187 uint64_t reserved_16_63:48; 1163#ifdef __BIG_ENDIAN_BITFIELD
188 uint64_t fuse:16; 1164 uint64_t reserved_32_63:32;
1165 uint64_t fuse:32;
1166#else
1167 uint64_t fuse:32;
1168 uint64_t reserved_32_63:32;
1169#endif
189 } s; 1170 } s;
190 struct cvmx_ciu_fuse_cn30xx { 1171 struct cvmx_ciu_fuse_cn30xx {
1172#ifdef __BIG_ENDIAN_BITFIELD
191 uint64_t reserved_1_63:63; 1173 uint64_t reserved_1_63:63;
192 uint64_t fuse:1; 1174 uint64_t fuse:1;
1175#else
1176 uint64_t fuse:1;
1177 uint64_t reserved_1_63:63;
1178#endif
193 } cn30xx; 1179 } cn30xx;
194 struct cvmx_ciu_fuse_cn31xx { 1180 struct cvmx_ciu_fuse_cn31xx {
1181#ifdef __BIG_ENDIAN_BITFIELD
195 uint64_t reserved_2_63:62; 1182 uint64_t reserved_2_63:62;
196 uint64_t fuse:2; 1183 uint64_t fuse:2;
1184#else
1185 uint64_t fuse:2;
1186 uint64_t reserved_2_63:62;
1187#endif
197 } cn31xx; 1188 } cn31xx;
198 struct cvmx_ciu_fuse_s cn38xx; 1189 struct cvmx_ciu_fuse_cn38xx {
199 struct cvmx_ciu_fuse_s cn38xxp2; 1190#ifdef __BIG_ENDIAN_BITFIELD
1191 uint64_t reserved_16_63:48;
1192 uint64_t fuse:16;
1193#else
1194 uint64_t fuse:16;
1195 uint64_t reserved_16_63:48;
1196#endif
1197 } cn38xx;
1198 struct cvmx_ciu_fuse_cn38xx cn38xxp2;
200 struct cvmx_ciu_fuse_cn31xx cn50xx; 1199 struct cvmx_ciu_fuse_cn31xx cn50xx;
201 struct cvmx_ciu_fuse_cn52xx { 1200 struct cvmx_ciu_fuse_cn52xx {
1201#ifdef __BIG_ENDIAN_BITFIELD
202 uint64_t reserved_4_63:60; 1202 uint64_t reserved_4_63:60;
203 uint64_t fuse:4; 1203 uint64_t fuse:4;
1204#else
1205 uint64_t fuse:4;
1206 uint64_t reserved_4_63:60;
1207#endif
204 } cn52xx; 1208 } cn52xx;
205 struct cvmx_ciu_fuse_cn52xx cn52xxp1; 1209 struct cvmx_ciu_fuse_cn52xx cn52xxp1;
206 struct cvmx_ciu_fuse_cn56xx { 1210 struct cvmx_ciu_fuse_cn56xx {
1211#ifdef __BIG_ENDIAN_BITFIELD
207 uint64_t reserved_12_63:52; 1212 uint64_t reserved_12_63:52;
208 uint64_t fuse:12; 1213 uint64_t fuse:12;
1214#else
1215 uint64_t fuse:12;
1216 uint64_t reserved_12_63:52;
1217#endif
209 } cn56xx; 1218 } cn56xx;
210 struct cvmx_ciu_fuse_cn56xx cn56xxp1; 1219 struct cvmx_ciu_fuse_cn56xx cn56xxp1;
211 struct cvmx_ciu_fuse_s cn58xx; 1220 struct cvmx_ciu_fuse_cn38xx cn58xx;
212 struct cvmx_ciu_fuse_s cn58xxp1; 1221 struct cvmx_ciu_fuse_cn38xx cn58xxp1;
1222 struct cvmx_ciu_fuse_cn52xx cn61xx;
213 struct cvmx_ciu_fuse_cn63xx { 1223 struct cvmx_ciu_fuse_cn63xx {
1224#ifdef __BIG_ENDIAN_BITFIELD
214 uint64_t reserved_6_63:58; 1225 uint64_t reserved_6_63:58;
215 uint64_t fuse:6; 1226 uint64_t fuse:6;
1227#else
1228 uint64_t fuse:6;
1229 uint64_t reserved_6_63:58;
1230#endif
216 } cn63xx; 1231 } cn63xx;
217 struct cvmx_ciu_fuse_cn63xx cn63xxp1; 1232 struct cvmx_ciu_fuse_cn63xx cn63xxp1;
1233 struct cvmx_ciu_fuse_cn66xx {
1234#ifdef __BIG_ENDIAN_BITFIELD
1235 uint64_t reserved_10_63:54;
1236 uint64_t fuse:10;
1237#else
1238 uint64_t fuse:10;
1239 uint64_t reserved_10_63:54;
1240#endif
1241 } cn66xx;
1242 struct cvmx_ciu_fuse_s cn68xx;
1243 struct cvmx_ciu_fuse_s cn68xxp1;
1244 struct cvmx_ciu_fuse_cn52xx cnf71xx;
218}; 1245};
219 1246
220union cvmx_ciu_gstop { 1247union cvmx_ciu_gstop {
221 uint64_t u64; 1248 uint64_t u64;
222 struct cvmx_ciu_gstop_s { 1249 struct cvmx_ciu_gstop_s {
1250#ifdef __BIG_ENDIAN_BITFIELD
223 uint64_t reserved_1_63:63; 1251 uint64_t reserved_1_63:63;
224 uint64_t gstop:1; 1252 uint64_t gstop:1;
1253#else
1254 uint64_t gstop:1;
1255 uint64_t reserved_1_63:63;
1256#endif
225 } s; 1257 } s;
226 struct cvmx_ciu_gstop_s cn30xx; 1258 struct cvmx_ciu_gstop_s cn30xx;
227 struct cvmx_ciu_gstop_s cn31xx; 1259 struct cvmx_ciu_gstop_s cn31xx;
@@ -234,13 +1266,19 @@ union cvmx_ciu_gstop {
234 struct cvmx_ciu_gstop_s cn56xxp1; 1266 struct cvmx_ciu_gstop_s cn56xxp1;
235 struct cvmx_ciu_gstop_s cn58xx; 1267 struct cvmx_ciu_gstop_s cn58xx;
236 struct cvmx_ciu_gstop_s cn58xxp1; 1268 struct cvmx_ciu_gstop_s cn58xxp1;
1269 struct cvmx_ciu_gstop_s cn61xx;
237 struct cvmx_ciu_gstop_s cn63xx; 1270 struct cvmx_ciu_gstop_s cn63xx;
238 struct cvmx_ciu_gstop_s cn63xxp1; 1271 struct cvmx_ciu_gstop_s cn63xxp1;
1272 struct cvmx_ciu_gstop_s cn66xx;
1273 struct cvmx_ciu_gstop_s cn68xx;
1274 struct cvmx_ciu_gstop_s cn68xxp1;
1275 struct cvmx_ciu_gstop_s cnf71xx;
239}; 1276};
240 1277
241union cvmx_ciu_intx_en0 { 1278union cvmx_ciu_intx_en0 {
242 uint64_t u64; 1279 uint64_t u64;
243 struct cvmx_ciu_intx_en0_s { 1280 struct cvmx_ciu_intx_en0_s {
1281#ifdef __BIG_ENDIAN_BITFIELD
244 uint64_t bootdma:1; 1282 uint64_t bootdma:1;
245 uint64_t mii:1; 1283 uint64_t mii:1;
246 uint64_t ipdppthr:1; 1284 uint64_t ipdppthr:1;
@@ -263,8 +1301,33 @@ union cvmx_ciu_intx_en0 {
263 uint64_t mbox:2; 1301 uint64_t mbox:2;
264 uint64_t gpio:16; 1302 uint64_t gpio:16;
265 uint64_t workq:16; 1303 uint64_t workq:16;
1304#else
1305 uint64_t workq:16;
1306 uint64_t gpio:16;
1307 uint64_t mbox:2;
1308 uint64_t uart:2;
1309 uint64_t pci_int:4;
1310 uint64_t pci_msi:4;
1311 uint64_t reserved_44_44:1;
1312 uint64_t twsi:1;
1313 uint64_t rml:1;
1314 uint64_t trace:1;
1315 uint64_t gmx_drp:2;
1316 uint64_t ipd_drp:1;
1317 uint64_t key_zero:1;
1318 uint64_t timer:4;
1319 uint64_t usb:1;
1320 uint64_t pcm:1;
1321 uint64_t mpi:1;
1322 uint64_t twsi2:1;
1323 uint64_t powiq:1;
1324 uint64_t ipdppthr:1;
1325 uint64_t mii:1;
1326 uint64_t bootdma:1;
1327#endif
266 } s; 1328 } s;
267 struct cvmx_ciu_intx_en0_cn30xx { 1329 struct cvmx_ciu_intx_en0_cn30xx {
1330#ifdef __BIG_ENDIAN_BITFIELD
268 uint64_t reserved_59_63:5; 1331 uint64_t reserved_59_63:5;
269 uint64_t mpi:1; 1332 uint64_t mpi:1;
270 uint64_t pcm:1; 1333 uint64_t pcm:1;
@@ -284,8 +1347,30 @@ union cvmx_ciu_intx_en0 {
284 uint64_t mbox:2; 1347 uint64_t mbox:2;
285 uint64_t gpio:16; 1348 uint64_t gpio:16;
286 uint64_t workq:16; 1349 uint64_t workq:16;
1350#else
1351 uint64_t workq:16;
1352 uint64_t gpio:16;
1353 uint64_t mbox:2;
1354 uint64_t uart:2;
1355 uint64_t pci_int:4;
1356 uint64_t pci_msi:4;
1357 uint64_t reserved_44_44:1;
1358 uint64_t twsi:1;
1359 uint64_t rml:1;
1360 uint64_t reserved_47_47:1;
1361 uint64_t gmx_drp:1;
1362 uint64_t reserved_49_49:1;
1363 uint64_t ipd_drp:1;
1364 uint64_t reserved_51_51:1;
1365 uint64_t timer:4;
1366 uint64_t usb:1;
1367 uint64_t pcm:1;
1368 uint64_t mpi:1;
1369 uint64_t reserved_59_63:5;
1370#endif
287 } cn30xx; 1371 } cn30xx;
288 struct cvmx_ciu_intx_en0_cn31xx { 1372 struct cvmx_ciu_intx_en0_cn31xx {
1373#ifdef __BIG_ENDIAN_BITFIELD
289 uint64_t reserved_59_63:5; 1374 uint64_t reserved_59_63:5;
290 uint64_t mpi:1; 1375 uint64_t mpi:1;
291 uint64_t pcm:1; 1376 uint64_t pcm:1;
@@ -305,8 +1390,30 @@ union cvmx_ciu_intx_en0 {
305 uint64_t mbox:2; 1390 uint64_t mbox:2;
306 uint64_t gpio:16; 1391 uint64_t gpio:16;
307 uint64_t workq:16; 1392 uint64_t workq:16;
1393#else
1394 uint64_t workq:16;
1395 uint64_t gpio:16;
1396 uint64_t mbox:2;
1397 uint64_t uart:2;
1398 uint64_t pci_int:4;
1399 uint64_t pci_msi:4;
1400 uint64_t reserved_44_44:1;
1401 uint64_t twsi:1;
1402 uint64_t rml:1;
1403 uint64_t trace:1;
1404 uint64_t gmx_drp:1;
1405 uint64_t reserved_49_49:1;
1406 uint64_t ipd_drp:1;
1407 uint64_t reserved_51_51:1;
1408 uint64_t timer:4;
1409 uint64_t usb:1;
1410 uint64_t pcm:1;
1411 uint64_t mpi:1;
1412 uint64_t reserved_59_63:5;
1413#endif
308 } cn31xx; 1414 } cn31xx;
309 struct cvmx_ciu_intx_en0_cn38xx { 1415 struct cvmx_ciu_intx_en0_cn38xx {
1416#ifdef __BIG_ENDIAN_BITFIELD
310 uint64_t reserved_56_63:8; 1417 uint64_t reserved_56_63:8;
311 uint64_t timer:4; 1418 uint64_t timer:4;
312 uint64_t key_zero:1; 1419 uint64_t key_zero:1;
@@ -322,10 +1429,28 @@ union cvmx_ciu_intx_en0 {
322 uint64_t mbox:2; 1429 uint64_t mbox:2;
323 uint64_t gpio:16; 1430 uint64_t gpio:16;
324 uint64_t workq:16; 1431 uint64_t workq:16;
1432#else
1433 uint64_t workq:16;
1434 uint64_t gpio:16;
1435 uint64_t mbox:2;
1436 uint64_t uart:2;
1437 uint64_t pci_int:4;
1438 uint64_t pci_msi:4;
1439 uint64_t reserved_44_44:1;
1440 uint64_t twsi:1;
1441 uint64_t rml:1;
1442 uint64_t trace:1;
1443 uint64_t gmx_drp:2;
1444 uint64_t ipd_drp:1;
1445 uint64_t key_zero:1;
1446 uint64_t timer:4;
1447 uint64_t reserved_56_63:8;
1448#endif
325 } cn38xx; 1449 } cn38xx;
326 struct cvmx_ciu_intx_en0_cn38xx cn38xxp2; 1450 struct cvmx_ciu_intx_en0_cn38xx cn38xxp2;
327 struct cvmx_ciu_intx_en0_cn30xx cn50xx; 1451 struct cvmx_ciu_intx_en0_cn30xx cn50xx;
328 struct cvmx_ciu_intx_en0_cn52xx { 1452 struct cvmx_ciu_intx_en0_cn52xx {
1453#ifdef __BIG_ENDIAN_BITFIELD
329 uint64_t bootdma:1; 1454 uint64_t bootdma:1;
330 uint64_t mii:1; 1455 uint64_t mii:1;
331 uint64_t ipdppthr:1; 1456 uint64_t ipdppthr:1;
@@ -348,9 +1473,34 @@ union cvmx_ciu_intx_en0 {
348 uint64_t mbox:2; 1473 uint64_t mbox:2;
349 uint64_t gpio:16; 1474 uint64_t gpio:16;
350 uint64_t workq:16; 1475 uint64_t workq:16;
1476#else
1477 uint64_t workq:16;
1478 uint64_t gpio:16;
1479 uint64_t mbox:2;
1480 uint64_t uart:2;
1481 uint64_t pci_int:4;
1482 uint64_t pci_msi:4;
1483 uint64_t reserved_44_44:1;
1484 uint64_t twsi:1;
1485 uint64_t rml:1;
1486 uint64_t trace:1;
1487 uint64_t gmx_drp:1;
1488 uint64_t reserved_49_49:1;
1489 uint64_t ipd_drp:1;
1490 uint64_t reserved_51_51:1;
1491 uint64_t timer:4;
1492 uint64_t usb:1;
1493 uint64_t reserved_57_58:2;
1494 uint64_t twsi2:1;
1495 uint64_t powiq:1;
1496 uint64_t ipdppthr:1;
1497 uint64_t mii:1;
1498 uint64_t bootdma:1;
1499#endif
351 } cn52xx; 1500 } cn52xx;
352 struct cvmx_ciu_intx_en0_cn52xx cn52xxp1; 1501 struct cvmx_ciu_intx_en0_cn52xx cn52xxp1;
353 struct cvmx_ciu_intx_en0_cn56xx { 1502 struct cvmx_ciu_intx_en0_cn56xx {
1503#ifdef __BIG_ENDIAN_BITFIELD
354 uint64_t bootdma:1; 1504 uint64_t bootdma:1;
355 uint64_t mii:1; 1505 uint64_t mii:1;
356 uint64_t ipdppthr:1; 1506 uint64_t ipdppthr:1;
@@ -372,23 +1522,197 @@ union cvmx_ciu_intx_en0 {
372 uint64_t mbox:2; 1522 uint64_t mbox:2;
373 uint64_t gpio:16; 1523 uint64_t gpio:16;
374 uint64_t workq:16; 1524 uint64_t workq:16;
1525#else
1526 uint64_t workq:16;
1527 uint64_t gpio:16;
1528 uint64_t mbox:2;
1529 uint64_t uart:2;
1530 uint64_t pci_int:4;
1531 uint64_t pci_msi:4;
1532 uint64_t reserved_44_44:1;
1533 uint64_t twsi:1;
1534 uint64_t rml:1;
1535 uint64_t trace:1;
1536 uint64_t gmx_drp:2;
1537 uint64_t ipd_drp:1;
1538 uint64_t key_zero:1;
1539 uint64_t timer:4;
1540 uint64_t usb:1;
1541 uint64_t reserved_57_58:2;
1542 uint64_t twsi2:1;
1543 uint64_t powiq:1;
1544 uint64_t ipdppthr:1;
1545 uint64_t mii:1;
1546 uint64_t bootdma:1;
1547#endif
375 } cn56xx; 1548 } cn56xx;
376 struct cvmx_ciu_intx_en0_cn56xx cn56xxp1; 1549 struct cvmx_ciu_intx_en0_cn56xx cn56xxp1;
377 struct cvmx_ciu_intx_en0_cn38xx cn58xx; 1550 struct cvmx_ciu_intx_en0_cn38xx cn58xx;
378 struct cvmx_ciu_intx_en0_cn38xx cn58xxp1; 1551 struct cvmx_ciu_intx_en0_cn38xx cn58xxp1;
1552 struct cvmx_ciu_intx_en0_cn61xx {
1553#ifdef __BIG_ENDIAN_BITFIELD
1554 uint64_t bootdma:1;
1555 uint64_t mii:1;
1556 uint64_t ipdppthr:1;
1557 uint64_t powiq:1;
1558 uint64_t twsi2:1;
1559 uint64_t mpi:1;
1560 uint64_t pcm:1;
1561 uint64_t usb:1;
1562 uint64_t timer:4;
1563 uint64_t reserved_51_51:1;
1564 uint64_t ipd_drp:1;
1565 uint64_t gmx_drp:2;
1566 uint64_t trace:1;
1567 uint64_t rml:1;
1568 uint64_t twsi:1;
1569 uint64_t reserved_44_44:1;
1570 uint64_t pci_msi:4;
1571 uint64_t pci_int:4;
1572 uint64_t uart:2;
1573 uint64_t mbox:2;
1574 uint64_t gpio:16;
1575 uint64_t workq:16;
1576#else
1577 uint64_t workq:16;
1578 uint64_t gpio:16;
1579 uint64_t mbox:2;
1580 uint64_t uart:2;
1581 uint64_t pci_int:4;
1582 uint64_t pci_msi:4;
1583 uint64_t reserved_44_44:1;
1584 uint64_t twsi:1;
1585 uint64_t rml:1;
1586 uint64_t trace:1;
1587 uint64_t gmx_drp:2;
1588 uint64_t ipd_drp:1;
1589 uint64_t reserved_51_51:1;
1590 uint64_t timer:4;
1591 uint64_t usb:1;
1592 uint64_t pcm:1;
1593 uint64_t mpi:1;
1594 uint64_t twsi2:1;
1595 uint64_t powiq:1;
1596 uint64_t ipdppthr:1;
1597 uint64_t mii:1;
1598 uint64_t bootdma:1;
1599#endif
1600 } cn61xx;
379 struct cvmx_ciu_intx_en0_cn52xx cn63xx; 1601 struct cvmx_ciu_intx_en0_cn52xx cn63xx;
380 struct cvmx_ciu_intx_en0_cn52xx cn63xxp1; 1602 struct cvmx_ciu_intx_en0_cn52xx cn63xxp1;
1603 struct cvmx_ciu_intx_en0_cn66xx {
1604#ifdef __BIG_ENDIAN_BITFIELD
1605 uint64_t bootdma:1;
1606 uint64_t mii:1;
1607 uint64_t ipdppthr:1;
1608 uint64_t powiq:1;
1609 uint64_t twsi2:1;
1610 uint64_t mpi:1;
1611 uint64_t reserved_57_57:1;
1612 uint64_t usb:1;
1613 uint64_t timer:4;
1614 uint64_t reserved_51_51:1;
1615 uint64_t ipd_drp:1;
1616 uint64_t gmx_drp:2;
1617 uint64_t trace:1;
1618 uint64_t rml:1;
1619 uint64_t twsi:1;
1620 uint64_t reserved_44_44:1;
1621 uint64_t pci_msi:4;
1622 uint64_t pci_int:4;
1623 uint64_t uart:2;
1624 uint64_t mbox:2;
1625 uint64_t gpio:16;
1626 uint64_t workq:16;
1627#else
1628 uint64_t workq:16;
1629 uint64_t gpio:16;
1630 uint64_t mbox:2;
1631 uint64_t uart:2;
1632 uint64_t pci_int:4;
1633 uint64_t pci_msi:4;
1634 uint64_t reserved_44_44:1;
1635 uint64_t twsi:1;
1636 uint64_t rml:1;
1637 uint64_t trace:1;
1638 uint64_t gmx_drp:2;
1639 uint64_t ipd_drp:1;
1640 uint64_t reserved_51_51:1;
1641 uint64_t timer:4;
1642 uint64_t usb:1;
1643 uint64_t reserved_57_57:1;
1644 uint64_t mpi:1;
1645 uint64_t twsi2:1;
1646 uint64_t powiq:1;
1647 uint64_t ipdppthr:1;
1648 uint64_t mii:1;
1649 uint64_t bootdma:1;
1650#endif
1651 } cn66xx;
1652 struct cvmx_ciu_intx_en0_cnf71xx {
1653#ifdef __BIG_ENDIAN_BITFIELD
1654 uint64_t bootdma:1;
1655 uint64_t reserved_62_62:1;
1656 uint64_t ipdppthr:1;
1657 uint64_t powiq:1;
1658 uint64_t twsi2:1;
1659 uint64_t mpi:1;
1660 uint64_t pcm:1;
1661 uint64_t usb:1;
1662 uint64_t timer:4;
1663 uint64_t reserved_51_51:1;
1664 uint64_t ipd_drp:1;
1665 uint64_t reserved_49_49:1;
1666 uint64_t gmx_drp:1;
1667 uint64_t trace:1;
1668 uint64_t rml:1;
1669 uint64_t twsi:1;
1670 uint64_t reserved_44_44:1;
1671 uint64_t pci_msi:4;
1672 uint64_t pci_int:4;
1673 uint64_t uart:2;
1674 uint64_t mbox:2;
1675 uint64_t gpio:16;
1676 uint64_t workq:16;
1677#else
1678 uint64_t workq:16;
1679 uint64_t gpio:16;
1680 uint64_t mbox:2;
1681 uint64_t uart:2;
1682 uint64_t pci_int:4;
1683 uint64_t pci_msi:4;
1684 uint64_t reserved_44_44:1;
1685 uint64_t twsi:1;
1686 uint64_t rml:1;
1687 uint64_t trace:1;
1688 uint64_t gmx_drp:1;
1689 uint64_t reserved_49_49:1;
1690 uint64_t ipd_drp:1;
1691 uint64_t reserved_51_51:1;
1692 uint64_t timer:4;
1693 uint64_t usb:1;
1694 uint64_t pcm:1;
1695 uint64_t mpi:1;
1696 uint64_t twsi2:1;
1697 uint64_t powiq:1;
1698 uint64_t ipdppthr:1;
1699 uint64_t reserved_62_62:1;
1700 uint64_t bootdma:1;
1701#endif
1702 } cnf71xx;
381}; 1703};
382 1704
383union cvmx_ciu_intx_en0_w1c { 1705union cvmx_ciu_intx_en0_w1c {
384 uint64_t u64; 1706 uint64_t u64;
385 struct cvmx_ciu_intx_en0_w1c_s { 1707 struct cvmx_ciu_intx_en0_w1c_s {
1708#ifdef __BIG_ENDIAN_BITFIELD
386 uint64_t bootdma:1; 1709 uint64_t bootdma:1;
387 uint64_t mii:1; 1710 uint64_t mii:1;
388 uint64_t ipdppthr:1; 1711 uint64_t ipdppthr:1;
389 uint64_t powiq:1; 1712 uint64_t powiq:1;
390 uint64_t twsi2:1; 1713 uint64_t twsi2:1;
391 uint64_t reserved_57_58:2; 1714 uint64_t mpi:1;
1715 uint64_t pcm:1;
392 uint64_t usb:1; 1716 uint64_t usb:1;
393 uint64_t timer:4; 1717 uint64_t timer:4;
394 uint64_t key_zero:1; 1718 uint64_t key_zero:1;
@@ -404,8 +1728,33 @@ union cvmx_ciu_intx_en0_w1c {
404 uint64_t mbox:2; 1728 uint64_t mbox:2;
405 uint64_t gpio:16; 1729 uint64_t gpio:16;
406 uint64_t workq:16; 1730 uint64_t workq:16;
1731#else
1732 uint64_t workq:16;
1733 uint64_t gpio:16;
1734 uint64_t mbox:2;
1735 uint64_t uart:2;
1736 uint64_t pci_int:4;
1737 uint64_t pci_msi:4;
1738 uint64_t reserved_44_44:1;
1739 uint64_t twsi:1;
1740 uint64_t rml:1;
1741 uint64_t trace:1;
1742 uint64_t gmx_drp:2;
1743 uint64_t ipd_drp:1;
1744 uint64_t key_zero:1;
1745 uint64_t timer:4;
1746 uint64_t usb:1;
1747 uint64_t pcm:1;
1748 uint64_t mpi:1;
1749 uint64_t twsi2:1;
1750 uint64_t powiq:1;
1751 uint64_t ipdppthr:1;
1752 uint64_t mii:1;
1753 uint64_t bootdma:1;
1754#endif
407 } s; 1755 } s;
408 struct cvmx_ciu_intx_en0_w1c_cn52xx { 1756 struct cvmx_ciu_intx_en0_w1c_cn52xx {
1757#ifdef __BIG_ENDIAN_BITFIELD
409 uint64_t bootdma:1; 1758 uint64_t bootdma:1;
410 uint64_t mii:1; 1759 uint64_t mii:1;
411 uint64_t ipdppthr:1; 1760 uint64_t ipdppthr:1;
@@ -428,9 +1777,80 @@ union cvmx_ciu_intx_en0_w1c {
428 uint64_t mbox:2; 1777 uint64_t mbox:2;
429 uint64_t gpio:16; 1778 uint64_t gpio:16;
430 uint64_t workq:16; 1779 uint64_t workq:16;
1780#else
1781 uint64_t workq:16;
1782 uint64_t gpio:16;
1783 uint64_t mbox:2;
1784 uint64_t uart:2;
1785 uint64_t pci_int:4;
1786 uint64_t pci_msi:4;
1787 uint64_t reserved_44_44:1;
1788 uint64_t twsi:1;
1789 uint64_t rml:1;
1790 uint64_t trace:1;
1791 uint64_t gmx_drp:1;
1792 uint64_t reserved_49_49:1;
1793 uint64_t ipd_drp:1;
1794 uint64_t reserved_51_51:1;
1795 uint64_t timer:4;
1796 uint64_t usb:1;
1797 uint64_t reserved_57_58:2;
1798 uint64_t twsi2:1;
1799 uint64_t powiq:1;
1800 uint64_t ipdppthr:1;
1801 uint64_t mii:1;
1802 uint64_t bootdma:1;
1803#endif
431 } cn52xx; 1804 } cn52xx;
432 struct cvmx_ciu_intx_en0_w1c_s cn56xx; 1805 struct cvmx_ciu_intx_en0_w1c_cn56xx {
1806#ifdef __BIG_ENDIAN_BITFIELD
1807 uint64_t bootdma:1;
1808 uint64_t mii:1;
1809 uint64_t ipdppthr:1;
1810 uint64_t powiq:1;
1811 uint64_t twsi2:1;
1812 uint64_t reserved_57_58:2;
1813 uint64_t usb:1;
1814 uint64_t timer:4;
1815 uint64_t key_zero:1;
1816 uint64_t ipd_drp:1;
1817 uint64_t gmx_drp:2;
1818 uint64_t trace:1;
1819 uint64_t rml:1;
1820 uint64_t twsi:1;
1821 uint64_t reserved_44_44:1;
1822 uint64_t pci_msi:4;
1823 uint64_t pci_int:4;
1824 uint64_t uart:2;
1825 uint64_t mbox:2;
1826 uint64_t gpio:16;
1827 uint64_t workq:16;
1828#else
1829 uint64_t workq:16;
1830 uint64_t gpio:16;
1831 uint64_t mbox:2;
1832 uint64_t uart:2;
1833 uint64_t pci_int:4;
1834 uint64_t pci_msi:4;
1835 uint64_t reserved_44_44:1;
1836 uint64_t twsi:1;
1837 uint64_t rml:1;
1838 uint64_t trace:1;
1839 uint64_t gmx_drp:2;
1840 uint64_t ipd_drp:1;
1841 uint64_t key_zero:1;
1842 uint64_t timer:4;
1843 uint64_t usb:1;
1844 uint64_t reserved_57_58:2;
1845 uint64_t twsi2:1;
1846 uint64_t powiq:1;
1847 uint64_t ipdppthr:1;
1848 uint64_t mii:1;
1849 uint64_t bootdma:1;
1850#endif
1851 } cn56xx;
433 struct cvmx_ciu_intx_en0_w1c_cn58xx { 1852 struct cvmx_ciu_intx_en0_w1c_cn58xx {
1853#ifdef __BIG_ENDIAN_BITFIELD
434 uint64_t reserved_56_63:8; 1854 uint64_t reserved_56_63:8;
435 uint64_t timer:4; 1855 uint64_t timer:4;
436 uint64_t key_zero:1; 1856 uint64_t key_zero:1;
@@ -446,20 +1866,188 @@ union cvmx_ciu_intx_en0_w1c {
446 uint64_t mbox:2; 1866 uint64_t mbox:2;
447 uint64_t gpio:16; 1867 uint64_t gpio:16;
448 uint64_t workq:16; 1868 uint64_t workq:16;
1869#else
1870 uint64_t workq:16;
1871 uint64_t gpio:16;
1872 uint64_t mbox:2;
1873 uint64_t uart:2;
1874 uint64_t pci_int:4;
1875 uint64_t pci_msi:4;
1876 uint64_t reserved_44_44:1;
1877 uint64_t twsi:1;
1878 uint64_t rml:1;
1879 uint64_t trace:1;
1880 uint64_t gmx_drp:2;
1881 uint64_t ipd_drp:1;
1882 uint64_t key_zero:1;
1883 uint64_t timer:4;
1884 uint64_t reserved_56_63:8;
1885#endif
449 } cn58xx; 1886 } cn58xx;
1887 struct cvmx_ciu_intx_en0_w1c_cn61xx {
1888#ifdef __BIG_ENDIAN_BITFIELD
1889 uint64_t bootdma:1;
1890 uint64_t mii:1;
1891 uint64_t ipdppthr:1;
1892 uint64_t powiq:1;
1893 uint64_t twsi2:1;
1894 uint64_t mpi:1;
1895 uint64_t pcm:1;
1896 uint64_t usb:1;
1897 uint64_t timer:4;
1898 uint64_t reserved_51_51:1;
1899 uint64_t ipd_drp:1;
1900 uint64_t gmx_drp:2;
1901 uint64_t trace:1;
1902 uint64_t rml:1;
1903 uint64_t twsi:1;
1904 uint64_t reserved_44_44:1;
1905 uint64_t pci_msi:4;
1906 uint64_t pci_int:4;
1907 uint64_t uart:2;
1908 uint64_t mbox:2;
1909 uint64_t gpio:16;
1910 uint64_t workq:16;
1911#else
1912 uint64_t workq:16;
1913 uint64_t gpio:16;
1914 uint64_t mbox:2;
1915 uint64_t uart:2;
1916 uint64_t pci_int:4;
1917 uint64_t pci_msi:4;
1918 uint64_t reserved_44_44:1;
1919 uint64_t twsi:1;
1920 uint64_t rml:1;
1921 uint64_t trace:1;
1922 uint64_t gmx_drp:2;
1923 uint64_t ipd_drp:1;
1924 uint64_t reserved_51_51:1;
1925 uint64_t timer:4;
1926 uint64_t usb:1;
1927 uint64_t pcm:1;
1928 uint64_t mpi:1;
1929 uint64_t twsi2:1;
1930 uint64_t powiq:1;
1931 uint64_t ipdppthr:1;
1932 uint64_t mii:1;
1933 uint64_t bootdma:1;
1934#endif
1935 } cn61xx;
450 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xx; 1936 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xx;
451 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xxp1; 1937 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xxp1;
1938 struct cvmx_ciu_intx_en0_w1c_cn66xx {
1939#ifdef __BIG_ENDIAN_BITFIELD
1940 uint64_t bootdma:1;
1941 uint64_t mii:1;
1942 uint64_t ipdppthr:1;
1943 uint64_t powiq:1;
1944 uint64_t twsi2:1;
1945 uint64_t mpi:1;
1946 uint64_t reserved_57_57:1;
1947 uint64_t usb:1;
1948 uint64_t timer:4;
1949 uint64_t reserved_51_51:1;
1950 uint64_t ipd_drp:1;
1951 uint64_t gmx_drp:2;
1952 uint64_t trace:1;
1953 uint64_t rml:1;
1954 uint64_t twsi:1;
1955 uint64_t reserved_44_44:1;
1956 uint64_t pci_msi:4;
1957 uint64_t pci_int:4;
1958 uint64_t uart:2;
1959 uint64_t mbox:2;
1960 uint64_t gpio:16;
1961 uint64_t workq:16;
1962#else
1963 uint64_t workq:16;
1964 uint64_t gpio:16;
1965 uint64_t mbox:2;
1966 uint64_t uart:2;
1967 uint64_t pci_int:4;
1968 uint64_t pci_msi:4;
1969 uint64_t reserved_44_44:1;
1970 uint64_t twsi:1;
1971 uint64_t rml:1;
1972 uint64_t trace:1;
1973 uint64_t gmx_drp:2;
1974 uint64_t ipd_drp:1;
1975 uint64_t reserved_51_51:1;
1976 uint64_t timer:4;
1977 uint64_t usb:1;
1978 uint64_t reserved_57_57:1;
1979 uint64_t mpi:1;
1980 uint64_t twsi2:1;
1981 uint64_t powiq:1;
1982 uint64_t ipdppthr:1;
1983 uint64_t mii:1;
1984 uint64_t bootdma:1;
1985#endif
1986 } cn66xx;
1987 struct cvmx_ciu_intx_en0_w1c_cnf71xx {
1988#ifdef __BIG_ENDIAN_BITFIELD
1989 uint64_t bootdma:1;
1990 uint64_t reserved_62_62:1;
1991 uint64_t ipdppthr:1;
1992 uint64_t powiq:1;
1993 uint64_t twsi2:1;
1994 uint64_t mpi:1;
1995 uint64_t pcm:1;
1996 uint64_t usb:1;
1997 uint64_t timer:4;
1998 uint64_t reserved_51_51:1;
1999 uint64_t ipd_drp:1;
2000 uint64_t reserved_49_49:1;
2001 uint64_t gmx_drp:1;
2002 uint64_t trace:1;
2003 uint64_t rml:1;
2004 uint64_t twsi:1;
2005 uint64_t reserved_44_44:1;
2006 uint64_t pci_msi:4;
2007 uint64_t pci_int:4;
2008 uint64_t uart:2;
2009 uint64_t mbox:2;
2010 uint64_t gpio:16;
2011 uint64_t workq:16;
2012#else
2013 uint64_t workq:16;
2014 uint64_t gpio:16;
2015 uint64_t mbox:2;
2016 uint64_t uart:2;
2017 uint64_t pci_int:4;
2018 uint64_t pci_msi:4;
2019 uint64_t reserved_44_44:1;
2020 uint64_t twsi:1;
2021 uint64_t rml:1;
2022 uint64_t trace:1;
2023 uint64_t gmx_drp:1;
2024 uint64_t reserved_49_49:1;
2025 uint64_t ipd_drp:1;
2026 uint64_t reserved_51_51:1;
2027 uint64_t timer:4;
2028 uint64_t usb:1;
2029 uint64_t pcm:1;
2030 uint64_t mpi:1;
2031 uint64_t twsi2:1;
2032 uint64_t powiq:1;
2033 uint64_t ipdppthr:1;
2034 uint64_t reserved_62_62:1;
2035 uint64_t bootdma:1;
2036#endif
2037 } cnf71xx;
452}; 2038};
453 2039
454union cvmx_ciu_intx_en0_w1s { 2040union cvmx_ciu_intx_en0_w1s {
455 uint64_t u64; 2041 uint64_t u64;
456 struct cvmx_ciu_intx_en0_w1s_s { 2042 struct cvmx_ciu_intx_en0_w1s_s {
2043#ifdef __BIG_ENDIAN_BITFIELD
457 uint64_t bootdma:1; 2044 uint64_t bootdma:1;
458 uint64_t mii:1; 2045 uint64_t mii:1;
459 uint64_t ipdppthr:1; 2046 uint64_t ipdppthr:1;
460 uint64_t powiq:1; 2047 uint64_t powiq:1;
461 uint64_t twsi2:1; 2048 uint64_t twsi2:1;
462 uint64_t reserved_57_58:2; 2049 uint64_t mpi:1;
2050 uint64_t pcm:1;
463 uint64_t usb:1; 2051 uint64_t usb:1;
464 uint64_t timer:4; 2052 uint64_t timer:4;
465 uint64_t key_zero:1; 2053 uint64_t key_zero:1;
@@ -475,8 +2063,33 @@ union cvmx_ciu_intx_en0_w1s {
475 uint64_t mbox:2; 2063 uint64_t mbox:2;
476 uint64_t gpio:16; 2064 uint64_t gpio:16;
477 uint64_t workq:16; 2065 uint64_t workq:16;
2066#else
2067 uint64_t workq:16;
2068 uint64_t gpio:16;
2069 uint64_t mbox:2;
2070 uint64_t uart:2;
2071 uint64_t pci_int:4;
2072 uint64_t pci_msi:4;
2073 uint64_t reserved_44_44:1;
2074 uint64_t twsi:1;
2075 uint64_t rml:1;
2076 uint64_t trace:1;
2077 uint64_t gmx_drp:2;
2078 uint64_t ipd_drp:1;
2079 uint64_t key_zero:1;
2080 uint64_t timer:4;
2081 uint64_t usb:1;
2082 uint64_t pcm:1;
2083 uint64_t mpi:1;
2084 uint64_t twsi2:1;
2085 uint64_t powiq:1;
2086 uint64_t ipdppthr:1;
2087 uint64_t mii:1;
2088 uint64_t bootdma:1;
2089#endif
478 } s; 2090 } s;
479 struct cvmx_ciu_intx_en0_w1s_cn52xx { 2091 struct cvmx_ciu_intx_en0_w1s_cn52xx {
2092#ifdef __BIG_ENDIAN_BITFIELD
480 uint64_t bootdma:1; 2093 uint64_t bootdma:1;
481 uint64_t mii:1; 2094 uint64_t mii:1;
482 uint64_t ipdppthr:1; 2095 uint64_t ipdppthr:1;
@@ -499,9 +2112,80 @@ union cvmx_ciu_intx_en0_w1s {
499 uint64_t mbox:2; 2112 uint64_t mbox:2;
500 uint64_t gpio:16; 2113 uint64_t gpio:16;
501 uint64_t workq:16; 2114 uint64_t workq:16;
2115#else
2116 uint64_t workq:16;
2117 uint64_t gpio:16;
2118 uint64_t mbox:2;
2119 uint64_t uart:2;
2120 uint64_t pci_int:4;
2121 uint64_t pci_msi:4;
2122 uint64_t reserved_44_44:1;
2123 uint64_t twsi:1;
2124 uint64_t rml:1;
2125 uint64_t trace:1;
2126 uint64_t gmx_drp:1;
2127 uint64_t reserved_49_49:1;
2128 uint64_t ipd_drp:1;
2129 uint64_t reserved_51_51:1;
2130 uint64_t timer:4;
2131 uint64_t usb:1;
2132 uint64_t reserved_57_58:2;
2133 uint64_t twsi2:1;
2134 uint64_t powiq:1;
2135 uint64_t ipdppthr:1;
2136 uint64_t mii:1;
2137 uint64_t bootdma:1;
2138#endif
502 } cn52xx; 2139 } cn52xx;
503 struct cvmx_ciu_intx_en0_w1s_s cn56xx; 2140 struct cvmx_ciu_intx_en0_w1s_cn56xx {
2141#ifdef __BIG_ENDIAN_BITFIELD
2142 uint64_t bootdma:1;
2143 uint64_t mii:1;
2144 uint64_t ipdppthr:1;
2145 uint64_t powiq:1;
2146 uint64_t twsi2:1;
2147 uint64_t reserved_57_58:2;
2148 uint64_t usb:1;
2149 uint64_t timer:4;
2150 uint64_t key_zero:1;
2151 uint64_t ipd_drp:1;
2152 uint64_t gmx_drp:2;
2153 uint64_t trace:1;
2154 uint64_t rml:1;
2155 uint64_t twsi:1;
2156 uint64_t reserved_44_44:1;
2157 uint64_t pci_msi:4;
2158 uint64_t pci_int:4;
2159 uint64_t uart:2;
2160 uint64_t mbox:2;
2161 uint64_t gpio:16;
2162 uint64_t workq:16;
2163#else
2164 uint64_t workq:16;
2165 uint64_t gpio:16;
2166 uint64_t mbox:2;
2167 uint64_t uart:2;
2168 uint64_t pci_int:4;
2169 uint64_t pci_msi:4;
2170 uint64_t reserved_44_44:1;
2171 uint64_t twsi:1;
2172 uint64_t rml:1;
2173 uint64_t trace:1;
2174 uint64_t gmx_drp:2;
2175 uint64_t ipd_drp:1;
2176 uint64_t key_zero:1;
2177 uint64_t timer:4;
2178 uint64_t usb:1;
2179 uint64_t reserved_57_58:2;
2180 uint64_t twsi2:1;
2181 uint64_t powiq:1;
2182 uint64_t ipdppthr:1;
2183 uint64_t mii:1;
2184 uint64_t bootdma:1;
2185#endif
2186 } cn56xx;
504 struct cvmx_ciu_intx_en0_w1s_cn58xx { 2187 struct cvmx_ciu_intx_en0_w1s_cn58xx {
2188#ifdef __BIG_ENDIAN_BITFIELD
505 uint64_t reserved_56_63:8; 2189 uint64_t reserved_56_63:8;
506 uint64_t timer:4; 2190 uint64_t timer:4;
507 uint64_t key_zero:1; 2191 uint64_t key_zero:1;
@@ -517,16 +2201,186 @@ union cvmx_ciu_intx_en0_w1s {
517 uint64_t mbox:2; 2201 uint64_t mbox:2;
518 uint64_t gpio:16; 2202 uint64_t gpio:16;
519 uint64_t workq:16; 2203 uint64_t workq:16;
2204#else
2205 uint64_t workq:16;
2206 uint64_t gpio:16;
2207 uint64_t mbox:2;
2208 uint64_t uart:2;
2209 uint64_t pci_int:4;
2210 uint64_t pci_msi:4;
2211 uint64_t reserved_44_44:1;
2212 uint64_t twsi:1;
2213 uint64_t rml:1;
2214 uint64_t trace:1;
2215 uint64_t gmx_drp:2;
2216 uint64_t ipd_drp:1;
2217 uint64_t key_zero:1;
2218 uint64_t timer:4;
2219 uint64_t reserved_56_63:8;
2220#endif
520 } cn58xx; 2221 } cn58xx;
2222 struct cvmx_ciu_intx_en0_w1s_cn61xx {
2223#ifdef __BIG_ENDIAN_BITFIELD
2224 uint64_t bootdma:1;
2225 uint64_t mii:1;
2226 uint64_t ipdppthr:1;
2227 uint64_t powiq:1;
2228 uint64_t twsi2:1;
2229 uint64_t mpi:1;
2230 uint64_t pcm:1;
2231 uint64_t usb:1;
2232 uint64_t timer:4;
2233 uint64_t reserved_51_51:1;
2234 uint64_t ipd_drp:1;
2235 uint64_t gmx_drp:2;
2236 uint64_t trace:1;
2237 uint64_t rml:1;
2238 uint64_t twsi:1;
2239 uint64_t reserved_44_44:1;
2240 uint64_t pci_msi:4;
2241 uint64_t pci_int:4;
2242 uint64_t uart:2;
2243 uint64_t mbox:2;
2244 uint64_t gpio:16;
2245 uint64_t workq:16;
2246#else
2247 uint64_t workq:16;
2248 uint64_t gpio:16;
2249 uint64_t mbox:2;
2250 uint64_t uart:2;
2251 uint64_t pci_int:4;
2252 uint64_t pci_msi:4;
2253 uint64_t reserved_44_44:1;
2254 uint64_t twsi:1;
2255 uint64_t rml:1;
2256 uint64_t trace:1;
2257 uint64_t gmx_drp:2;
2258 uint64_t ipd_drp:1;
2259 uint64_t reserved_51_51:1;
2260 uint64_t timer:4;
2261 uint64_t usb:1;
2262 uint64_t pcm:1;
2263 uint64_t mpi:1;
2264 uint64_t twsi2:1;
2265 uint64_t powiq:1;
2266 uint64_t ipdppthr:1;
2267 uint64_t mii:1;
2268 uint64_t bootdma:1;
2269#endif
2270 } cn61xx;
521 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xx; 2271 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xx;
522 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xxp1; 2272 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xxp1;
2273 struct cvmx_ciu_intx_en0_w1s_cn66xx {
2274#ifdef __BIG_ENDIAN_BITFIELD
2275 uint64_t bootdma:1;
2276 uint64_t mii:1;
2277 uint64_t ipdppthr:1;
2278 uint64_t powiq:1;
2279 uint64_t twsi2:1;
2280 uint64_t mpi:1;
2281 uint64_t reserved_57_57:1;
2282 uint64_t usb:1;
2283 uint64_t timer:4;
2284 uint64_t reserved_51_51:1;
2285 uint64_t ipd_drp:1;
2286 uint64_t gmx_drp:2;
2287 uint64_t trace:1;
2288 uint64_t rml:1;
2289 uint64_t twsi:1;
2290 uint64_t reserved_44_44:1;
2291 uint64_t pci_msi:4;
2292 uint64_t pci_int:4;
2293 uint64_t uart:2;
2294 uint64_t mbox:2;
2295 uint64_t gpio:16;
2296 uint64_t workq:16;
2297#else
2298 uint64_t workq:16;
2299 uint64_t gpio:16;
2300 uint64_t mbox:2;
2301 uint64_t uart:2;
2302 uint64_t pci_int:4;
2303 uint64_t pci_msi:4;
2304 uint64_t reserved_44_44:1;
2305 uint64_t twsi:1;
2306 uint64_t rml:1;
2307 uint64_t trace:1;
2308 uint64_t gmx_drp:2;
2309 uint64_t ipd_drp:1;
2310 uint64_t reserved_51_51:1;
2311 uint64_t timer:4;
2312 uint64_t usb:1;
2313 uint64_t reserved_57_57:1;
2314 uint64_t mpi:1;
2315 uint64_t twsi2:1;
2316 uint64_t powiq:1;
2317 uint64_t ipdppthr:1;
2318 uint64_t mii:1;
2319 uint64_t bootdma:1;
2320#endif
2321 } cn66xx;
2322 struct cvmx_ciu_intx_en0_w1s_cnf71xx {
2323#ifdef __BIG_ENDIAN_BITFIELD
2324 uint64_t bootdma:1;
2325 uint64_t reserved_62_62:1;
2326 uint64_t ipdppthr:1;
2327 uint64_t powiq:1;
2328 uint64_t twsi2:1;
2329 uint64_t mpi:1;
2330 uint64_t pcm:1;
2331 uint64_t usb:1;
2332 uint64_t timer:4;
2333 uint64_t reserved_51_51:1;
2334 uint64_t ipd_drp:1;
2335 uint64_t reserved_49_49:1;
2336 uint64_t gmx_drp:1;
2337 uint64_t trace:1;
2338 uint64_t rml:1;
2339 uint64_t twsi:1;
2340 uint64_t reserved_44_44:1;
2341 uint64_t pci_msi:4;
2342 uint64_t pci_int:4;
2343 uint64_t uart:2;
2344 uint64_t mbox:2;
2345 uint64_t gpio:16;
2346 uint64_t workq:16;
2347#else
2348 uint64_t workq:16;
2349 uint64_t gpio:16;
2350 uint64_t mbox:2;
2351 uint64_t uart:2;
2352 uint64_t pci_int:4;
2353 uint64_t pci_msi:4;
2354 uint64_t reserved_44_44:1;
2355 uint64_t twsi:1;
2356 uint64_t rml:1;
2357 uint64_t trace:1;
2358 uint64_t gmx_drp:1;
2359 uint64_t reserved_49_49:1;
2360 uint64_t ipd_drp:1;
2361 uint64_t reserved_51_51:1;
2362 uint64_t timer:4;
2363 uint64_t usb:1;
2364 uint64_t pcm:1;
2365 uint64_t mpi:1;
2366 uint64_t twsi2:1;
2367 uint64_t powiq:1;
2368 uint64_t ipdppthr:1;
2369 uint64_t reserved_62_62:1;
2370 uint64_t bootdma:1;
2371#endif
2372 } cnf71xx;
523}; 2373};
524 2374
525union cvmx_ciu_intx_en1 { 2375union cvmx_ciu_intx_en1 {
526 uint64_t u64; 2376 uint64_t u64;
527 struct cvmx_ciu_intx_en1_s { 2377 struct cvmx_ciu_intx_en1_s {
2378#ifdef __BIG_ENDIAN_BITFIELD
528 uint64_t rst:1; 2379 uint64_t rst:1;
529 uint64_t reserved_57_62:6; 2380 uint64_t reserved_62_62:1;
2381 uint64_t srio3:1;
2382 uint64_t srio2:1;
2383 uint64_t reserved_57_59:3;
530 uint64_t dfm:1; 2384 uint64_t dfm:1;
531 uint64_t reserved_53_55:3; 2385 uint64_t reserved_53_55:3;
532 uint64_t lmc0:1; 2386 uint64_t lmc0:1;
@@ -536,7 +2390,10 @@ union cvmx_ciu_intx_en1 {
536 uint64_t pem0:1; 2390 uint64_t pem0:1;
537 uint64_t ptp:1; 2391 uint64_t ptp:1;
538 uint64_t agl:1; 2392 uint64_t agl:1;
539 uint64_t reserved_37_45:9; 2393 uint64_t reserved_41_45:5;
2394 uint64_t dpi_dma:1;
2395 uint64_t reserved_38_39:2;
2396 uint64_t agx1:1;
540 uint64_t agx0:1; 2397 uint64_t agx0:1;
541 uint64_t dpi:1; 2398 uint64_t dpi:1;
542 uint64_t sli:1; 2399 uint64_t sli:1;
@@ -559,22 +2416,80 @@ union cvmx_ciu_intx_en1 {
559 uint64_t usb1:1; 2416 uint64_t usb1:1;
560 uint64_t uart2:1; 2417 uint64_t uart2:1;
561 uint64_t wdog:16; 2418 uint64_t wdog:16;
2419#else
2420 uint64_t wdog:16;
2421 uint64_t uart2:1;
2422 uint64_t usb1:1;
2423 uint64_t mii1:1;
2424 uint64_t nand:1;
2425 uint64_t mio:1;
2426 uint64_t iob:1;
2427 uint64_t fpa:1;
2428 uint64_t pow:1;
2429 uint64_t l2c:1;
2430 uint64_t ipd:1;
2431 uint64_t pip:1;
2432 uint64_t pko:1;
2433 uint64_t zip:1;
2434 uint64_t tim:1;
2435 uint64_t rad:1;
2436 uint64_t key:1;
2437 uint64_t dfa:1;
2438 uint64_t usb:1;
2439 uint64_t sli:1;
2440 uint64_t dpi:1;
2441 uint64_t agx0:1;
2442 uint64_t agx1:1;
2443 uint64_t reserved_38_39:2;
2444 uint64_t dpi_dma:1;
2445 uint64_t reserved_41_45:5;
2446 uint64_t agl:1;
2447 uint64_t ptp:1;
2448 uint64_t pem0:1;
2449 uint64_t pem1:1;
2450 uint64_t srio0:1;
2451 uint64_t srio1:1;
2452 uint64_t lmc0:1;
2453 uint64_t reserved_53_55:3;
2454 uint64_t dfm:1;
2455 uint64_t reserved_57_59:3;
2456 uint64_t srio2:1;
2457 uint64_t srio3:1;
2458 uint64_t reserved_62_62:1;
2459 uint64_t rst:1;
2460#endif
562 } s; 2461 } s;
563 struct cvmx_ciu_intx_en1_cn30xx { 2462 struct cvmx_ciu_intx_en1_cn30xx {
2463#ifdef __BIG_ENDIAN_BITFIELD
564 uint64_t reserved_1_63:63; 2464 uint64_t reserved_1_63:63;
565 uint64_t wdog:1; 2465 uint64_t wdog:1;
2466#else
2467 uint64_t wdog:1;
2468 uint64_t reserved_1_63:63;
2469#endif
566 } cn30xx; 2470 } cn30xx;
567 struct cvmx_ciu_intx_en1_cn31xx { 2471 struct cvmx_ciu_intx_en1_cn31xx {
2472#ifdef __BIG_ENDIAN_BITFIELD
568 uint64_t reserved_2_63:62; 2473 uint64_t reserved_2_63:62;
569 uint64_t wdog:2; 2474 uint64_t wdog:2;
2475#else
2476 uint64_t wdog:2;
2477 uint64_t reserved_2_63:62;
2478#endif
570 } cn31xx; 2479 } cn31xx;
571 struct cvmx_ciu_intx_en1_cn38xx { 2480 struct cvmx_ciu_intx_en1_cn38xx {
2481#ifdef __BIG_ENDIAN_BITFIELD
572 uint64_t reserved_16_63:48; 2482 uint64_t reserved_16_63:48;
573 uint64_t wdog:16; 2483 uint64_t wdog:16;
2484#else
2485 uint64_t wdog:16;
2486 uint64_t reserved_16_63:48;
2487#endif
574 } cn38xx; 2488 } cn38xx;
575 struct cvmx_ciu_intx_en1_cn38xx cn38xxp2; 2489 struct cvmx_ciu_intx_en1_cn38xx cn38xxp2;
576 struct cvmx_ciu_intx_en1_cn31xx cn50xx; 2490 struct cvmx_ciu_intx_en1_cn31xx cn50xx;
577 struct cvmx_ciu_intx_en1_cn52xx { 2491 struct cvmx_ciu_intx_en1_cn52xx {
2492#ifdef __BIG_ENDIAN_BITFIELD
578 uint64_t reserved_20_63:44; 2493 uint64_t reserved_20_63:44;
579 uint64_t nand:1; 2494 uint64_t nand:1;
580 uint64_t mii1:1; 2495 uint64_t mii1:1;
@@ -582,23 +2497,118 @@ union cvmx_ciu_intx_en1 {
582 uint64_t uart2:1; 2497 uint64_t uart2:1;
583 uint64_t reserved_4_15:12; 2498 uint64_t reserved_4_15:12;
584 uint64_t wdog:4; 2499 uint64_t wdog:4;
2500#else
2501 uint64_t wdog:4;
2502 uint64_t reserved_4_15:12;
2503 uint64_t uart2:1;
2504 uint64_t usb1:1;
2505 uint64_t mii1:1;
2506 uint64_t nand:1;
2507 uint64_t reserved_20_63:44;
2508#endif
585 } cn52xx; 2509 } cn52xx;
586 struct cvmx_ciu_intx_en1_cn52xxp1 { 2510 struct cvmx_ciu_intx_en1_cn52xxp1 {
2511#ifdef __BIG_ENDIAN_BITFIELD
587 uint64_t reserved_19_63:45; 2512 uint64_t reserved_19_63:45;
588 uint64_t mii1:1; 2513 uint64_t mii1:1;
589 uint64_t usb1:1; 2514 uint64_t usb1:1;
590 uint64_t uart2:1; 2515 uint64_t uart2:1;
591 uint64_t reserved_4_15:12; 2516 uint64_t reserved_4_15:12;
592 uint64_t wdog:4; 2517 uint64_t wdog:4;
2518#else
2519 uint64_t wdog:4;
2520 uint64_t reserved_4_15:12;
2521 uint64_t uart2:1;
2522 uint64_t usb1:1;
2523 uint64_t mii1:1;
2524 uint64_t reserved_19_63:45;
2525#endif
593 } cn52xxp1; 2526 } cn52xxp1;
594 struct cvmx_ciu_intx_en1_cn56xx { 2527 struct cvmx_ciu_intx_en1_cn56xx {
2528#ifdef __BIG_ENDIAN_BITFIELD
595 uint64_t reserved_12_63:52; 2529 uint64_t reserved_12_63:52;
596 uint64_t wdog:12; 2530 uint64_t wdog:12;
2531#else
2532 uint64_t wdog:12;
2533 uint64_t reserved_12_63:52;
2534#endif
597 } cn56xx; 2535 } cn56xx;
598 struct cvmx_ciu_intx_en1_cn56xx cn56xxp1; 2536 struct cvmx_ciu_intx_en1_cn56xx cn56xxp1;
599 struct cvmx_ciu_intx_en1_cn38xx cn58xx; 2537 struct cvmx_ciu_intx_en1_cn38xx cn58xx;
600 struct cvmx_ciu_intx_en1_cn38xx cn58xxp1; 2538 struct cvmx_ciu_intx_en1_cn38xx cn58xxp1;
2539 struct cvmx_ciu_intx_en1_cn61xx {
2540#ifdef __BIG_ENDIAN_BITFIELD
2541 uint64_t rst:1;
2542 uint64_t reserved_53_62:10;
2543 uint64_t lmc0:1;
2544 uint64_t reserved_50_51:2;
2545 uint64_t pem1:1;
2546 uint64_t pem0:1;
2547 uint64_t ptp:1;
2548 uint64_t agl:1;
2549 uint64_t reserved_41_45:5;
2550 uint64_t dpi_dma:1;
2551 uint64_t reserved_38_39:2;
2552 uint64_t agx1:1;
2553 uint64_t agx0:1;
2554 uint64_t dpi:1;
2555 uint64_t sli:1;
2556 uint64_t usb:1;
2557 uint64_t dfa:1;
2558 uint64_t key:1;
2559 uint64_t rad:1;
2560 uint64_t tim:1;
2561 uint64_t zip:1;
2562 uint64_t pko:1;
2563 uint64_t pip:1;
2564 uint64_t ipd:1;
2565 uint64_t l2c:1;
2566 uint64_t pow:1;
2567 uint64_t fpa:1;
2568 uint64_t iob:1;
2569 uint64_t mio:1;
2570 uint64_t nand:1;
2571 uint64_t mii1:1;
2572 uint64_t reserved_4_17:14;
2573 uint64_t wdog:4;
2574#else
2575 uint64_t wdog:4;
2576 uint64_t reserved_4_17:14;
2577 uint64_t mii1:1;
2578 uint64_t nand:1;
2579 uint64_t mio:1;
2580 uint64_t iob:1;
2581 uint64_t fpa:1;
2582 uint64_t pow:1;
2583 uint64_t l2c:1;
2584 uint64_t ipd:1;
2585 uint64_t pip:1;
2586 uint64_t pko:1;
2587 uint64_t zip:1;
2588 uint64_t tim:1;
2589 uint64_t rad:1;
2590 uint64_t key:1;
2591 uint64_t dfa:1;
2592 uint64_t usb:1;
2593 uint64_t sli:1;
2594 uint64_t dpi:1;
2595 uint64_t agx0:1;
2596 uint64_t agx1:1;
2597 uint64_t reserved_38_39:2;
2598 uint64_t dpi_dma:1;
2599 uint64_t reserved_41_45:5;
2600 uint64_t agl:1;
2601 uint64_t ptp:1;
2602 uint64_t pem0:1;
2603 uint64_t pem1:1;
2604 uint64_t reserved_50_51:2;
2605 uint64_t lmc0:1;
2606 uint64_t reserved_53_62:10;
2607 uint64_t rst:1;
2608#endif
2609 } cn61xx;
601 struct cvmx_ciu_intx_en1_cn63xx { 2610 struct cvmx_ciu_intx_en1_cn63xx {
2611#ifdef __BIG_ENDIAN_BITFIELD
602 uint64_t rst:1; 2612 uint64_t rst:1;
603 uint64_t reserved_57_62:6; 2613 uint64_t reserved_57_62:6;
604 uint64_t dfm:1; 2614 uint64_t dfm:1;
@@ -632,15 +2642,198 @@ union cvmx_ciu_intx_en1 {
632 uint64_t mii1:1; 2642 uint64_t mii1:1;
633 uint64_t reserved_6_17:12; 2643 uint64_t reserved_6_17:12;
634 uint64_t wdog:6; 2644 uint64_t wdog:6;
2645#else
2646 uint64_t wdog:6;
2647 uint64_t reserved_6_17:12;
2648 uint64_t mii1:1;
2649 uint64_t nand:1;
2650 uint64_t mio:1;
2651 uint64_t iob:1;
2652 uint64_t fpa:1;
2653 uint64_t pow:1;
2654 uint64_t l2c:1;
2655 uint64_t ipd:1;
2656 uint64_t pip:1;
2657 uint64_t pko:1;
2658 uint64_t zip:1;
2659 uint64_t tim:1;
2660 uint64_t rad:1;
2661 uint64_t key:1;
2662 uint64_t dfa:1;
2663 uint64_t usb:1;
2664 uint64_t sli:1;
2665 uint64_t dpi:1;
2666 uint64_t agx0:1;
2667 uint64_t reserved_37_45:9;
2668 uint64_t agl:1;
2669 uint64_t ptp:1;
2670 uint64_t pem0:1;
2671 uint64_t pem1:1;
2672 uint64_t srio0:1;
2673 uint64_t srio1:1;
2674 uint64_t lmc0:1;
2675 uint64_t reserved_53_55:3;
2676 uint64_t dfm:1;
2677 uint64_t reserved_57_62:6;
2678 uint64_t rst:1;
2679#endif
635 } cn63xx; 2680 } cn63xx;
636 struct cvmx_ciu_intx_en1_cn63xx cn63xxp1; 2681 struct cvmx_ciu_intx_en1_cn63xx cn63xxp1;
2682 struct cvmx_ciu_intx_en1_cn66xx {
2683#ifdef __BIG_ENDIAN_BITFIELD
2684 uint64_t rst:1;
2685 uint64_t reserved_62_62:1;
2686 uint64_t srio3:1;
2687 uint64_t srio2:1;
2688 uint64_t reserved_57_59:3;
2689 uint64_t dfm:1;
2690 uint64_t reserved_53_55:3;
2691 uint64_t lmc0:1;
2692 uint64_t reserved_51_51:1;
2693 uint64_t srio0:1;
2694 uint64_t pem1:1;
2695 uint64_t pem0:1;
2696 uint64_t ptp:1;
2697 uint64_t agl:1;
2698 uint64_t reserved_38_45:8;
2699 uint64_t agx1:1;
2700 uint64_t agx0:1;
2701 uint64_t dpi:1;
2702 uint64_t sli:1;
2703 uint64_t usb:1;
2704 uint64_t dfa:1;
2705 uint64_t key:1;
2706 uint64_t rad:1;
2707 uint64_t tim:1;
2708 uint64_t zip:1;
2709 uint64_t pko:1;
2710 uint64_t pip:1;
2711 uint64_t ipd:1;
2712 uint64_t l2c:1;
2713 uint64_t pow:1;
2714 uint64_t fpa:1;
2715 uint64_t iob:1;
2716 uint64_t mio:1;
2717 uint64_t nand:1;
2718 uint64_t mii1:1;
2719 uint64_t reserved_10_17:8;
2720 uint64_t wdog:10;
2721#else
2722 uint64_t wdog:10;
2723 uint64_t reserved_10_17:8;
2724 uint64_t mii1:1;
2725 uint64_t nand:1;
2726 uint64_t mio:1;
2727 uint64_t iob:1;
2728 uint64_t fpa:1;
2729 uint64_t pow:1;
2730 uint64_t l2c:1;
2731 uint64_t ipd:1;
2732 uint64_t pip:1;
2733 uint64_t pko:1;
2734 uint64_t zip:1;
2735 uint64_t tim:1;
2736 uint64_t rad:1;
2737 uint64_t key:1;
2738 uint64_t dfa:1;
2739 uint64_t usb:1;
2740 uint64_t sli:1;
2741 uint64_t dpi:1;
2742 uint64_t agx0:1;
2743 uint64_t agx1:1;
2744 uint64_t reserved_38_45:8;
2745 uint64_t agl:1;
2746 uint64_t ptp:1;
2747 uint64_t pem0:1;
2748 uint64_t pem1:1;
2749 uint64_t srio0:1;
2750 uint64_t reserved_51_51:1;
2751 uint64_t lmc0:1;
2752 uint64_t reserved_53_55:3;
2753 uint64_t dfm:1;
2754 uint64_t reserved_57_59:3;
2755 uint64_t srio2:1;
2756 uint64_t srio3:1;
2757 uint64_t reserved_62_62:1;
2758 uint64_t rst:1;
2759#endif
2760 } cn66xx;
2761 struct cvmx_ciu_intx_en1_cnf71xx {
2762#ifdef __BIG_ENDIAN_BITFIELD
2763 uint64_t rst:1;
2764 uint64_t reserved_53_62:10;
2765 uint64_t lmc0:1;
2766 uint64_t reserved_50_51:2;
2767 uint64_t pem1:1;
2768 uint64_t pem0:1;
2769 uint64_t ptp:1;
2770 uint64_t reserved_41_46:6;
2771 uint64_t dpi_dma:1;
2772 uint64_t reserved_37_39:3;
2773 uint64_t agx0:1;
2774 uint64_t dpi:1;
2775 uint64_t sli:1;
2776 uint64_t usb:1;
2777 uint64_t reserved_32_32:1;
2778 uint64_t key:1;
2779 uint64_t rad:1;
2780 uint64_t tim:1;
2781 uint64_t reserved_28_28:1;
2782 uint64_t pko:1;
2783 uint64_t pip:1;
2784 uint64_t ipd:1;
2785 uint64_t l2c:1;
2786 uint64_t pow:1;
2787 uint64_t fpa:1;
2788 uint64_t iob:1;
2789 uint64_t mio:1;
2790 uint64_t nand:1;
2791 uint64_t reserved_4_18:15;
2792 uint64_t wdog:4;
2793#else
2794 uint64_t wdog:4;
2795 uint64_t reserved_4_18:15;
2796 uint64_t nand:1;
2797 uint64_t mio:1;
2798 uint64_t iob:1;
2799 uint64_t fpa:1;
2800 uint64_t pow:1;
2801 uint64_t l2c:1;
2802 uint64_t ipd:1;
2803 uint64_t pip:1;
2804 uint64_t pko:1;
2805 uint64_t reserved_28_28:1;
2806 uint64_t tim:1;
2807 uint64_t rad:1;
2808 uint64_t key:1;
2809 uint64_t reserved_32_32:1;
2810 uint64_t usb:1;
2811 uint64_t sli:1;
2812 uint64_t dpi:1;
2813 uint64_t agx0:1;
2814 uint64_t reserved_37_39:3;
2815 uint64_t dpi_dma:1;
2816 uint64_t reserved_41_46:6;
2817 uint64_t ptp:1;
2818 uint64_t pem0:1;
2819 uint64_t pem1:1;
2820 uint64_t reserved_50_51:2;
2821 uint64_t lmc0:1;
2822 uint64_t reserved_53_62:10;
2823 uint64_t rst:1;
2824#endif
2825 } cnf71xx;
637}; 2826};
638 2827
639union cvmx_ciu_intx_en1_w1c { 2828union cvmx_ciu_intx_en1_w1c {
640 uint64_t u64; 2829 uint64_t u64;
641 struct cvmx_ciu_intx_en1_w1c_s { 2830 struct cvmx_ciu_intx_en1_w1c_s {
2831#ifdef __BIG_ENDIAN_BITFIELD
642 uint64_t rst:1; 2832 uint64_t rst:1;
643 uint64_t reserved_57_62:6; 2833 uint64_t reserved_62_62:1;
2834 uint64_t srio3:1;
2835 uint64_t srio2:1;
2836 uint64_t reserved_57_59:3;
644 uint64_t dfm:1; 2837 uint64_t dfm:1;
645 uint64_t reserved_53_55:3; 2838 uint64_t reserved_53_55:3;
646 uint64_t lmc0:1; 2839 uint64_t lmc0:1;
@@ -650,7 +2843,10 @@ union cvmx_ciu_intx_en1_w1c {
650 uint64_t pem0:1; 2843 uint64_t pem0:1;
651 uint64_t ptp:1; 2844 uint64_t ptp:1;
652 uint64_t agl:1; 2845 uint64_t agl:1;
653 uint64_t reserved_37_45:9; 2846 uint64_t reserved_41_45:5;
2847 uint64_t dpi_dma:1;
2848 uint64_t reserved_38_39:2;
2849 uint64_t agx1:1;
654 uint64_t agx0:1; 2850 uint64_t agx0:1;
655 uint64_t dpi:1; 2851 uint64_t dpi:1;
656 uint64_t sli:1; 2852 uint64_t sli:1;
@@ -673,8 +2869,51 @@ union cvmx_ciu_intx_en1_w1c {
673 uint64_t usb1:1; 2869 uint64_t usb1:1;
674 uint64_t uart2:1; 2870 uint64_t uart2:1;
675 uint64_t wdog:16; 2871 uint64_t wdog:16;
2872#else
2873 uint64_t wdog:16;
2874 uint64_t uart2:1;
2875 uint64_t usb1:1;
2876 uint64_t mii1:1;
2877 uint64_t nand:1;
2878 uint64_t mio:1;
2879 uint64_t iob:1;
2880 uint64_t fpa:1;
2881 uint64_t pow:1;
2882 uint64_t l2c:1;
2883 uint64_t ipd:1;
2884 uint64_t pip:1;
2885 uint64_t pko:1;
2886 uint64_t zip:1;
2887 uint64_t tim:1;
2888 uint64_t rad:1;
2889 uint64_t key:1;
2890 uint64_t dfa:1;
2891 uint64_t usb:1;
2892 uint64_t sli:1;
2893 uint64_t dpi:1;
2894 uint64_t agx0:1;
2895 uint64_t agx1:1;
2896 uint64_t reserved_38_39:2;
2897 uint64_t dpi_dma:1;
2898 uint64_t reserved_41_45:5;
2899 uint64_t agl:1;
2900 uint64_t ptp:1;
2901 uint64_t pem0:1;
2902 uint64_t pem1:1;
2903 uint64_t srio0:1;
2904 uint64_t srio1:1;
2905 uint64_t lmc0:1;
2906 uint64_t reserved_53_55:3;
2907 uint64_t dfm:1;
2908 uint64_t reserved_57_59:3;
2909 uint64_t srio2:1;
2910 uint64_t srio3:1;
2911 uint64_t reserved_62_62:1;
2912 uint64_t rst:1;
2913#endif
676 } s; 2914 } s;
677 struct cvmx_ciu_intx_en1_w1c_cn52xx { 2915 struct cvmx_ciu_intx_en1_w1c_cn52xx {
2916#ifdef __BIG_ENDIAN_BITFIELD
678 uint64_t reserved_20_63:44; 2917 uint64_t reserved_20_63:44;
679 uint64_t nand:1; 2918 uint64_t nand:1;
680 uint64_t mii1:1; 2919 uint64_t mii1:1;
@@ -682,16 +2921,107 @@ union cvmx_ciu_intx_en1_w1c {
682 uint64_t uart2:1; 2921 uint64_t uart2:1;
683 uint64_t reserved_4_15:12; 2922 uint64_t reserved_4_15:12;
684 uint64_t wdog:4; 2923 uint64_t wdog:4;
2924#else
2925 uint64_t wdog:4;
2926 uint64_t reserved_4_15:12;
2927 uint64_t uart2:1;
2928 uint64_t usb1:1;
2929 uint64_t mii1:1;
2930 uint64_t nand:1;
2931 uint64_t reserved_20_63:44;
2932#endif
685 } cn52xx; 2933 } cn52xx;
686 struct cvmx_ciu_intx_en1_w1c_cn56xx { 2934 struct cvmx_ciu_intx_en1_w1c_cn56xx {
2935#ifdef __BIG_ENDIAN_BITFIELD
687 uint64_t reserved_12_63:52; 2936 uint64_t reserved_12_63:52;
688 uint64_t wdog:12; 2937 uint64_t wdog:12;
2938#else
2939 uint64_t wdog:12;
2940 uint64_t reserved_12_63:52;
2941#endif
689 } cn56xx; 2942 } cn56xx;
690 struct cvmx_ciu_intx_en1_w1c_cn58xx { 2943 struct cvmx_ciu_intx_en1_w1c_cn58xx {
2944#ifdef __BIG_ENDIAN_BITFIELD
691 uint64_t reserved_16_63:48; 2945 uint64_t reserved_16_63:48;
692 uint64_t wdog:16; 2946 uint64_t wdog:16;
2947#else
2948 uint64_t wdog:16;
2949 uint64_t reserved_16_63:48;
2950#endif
693 } cn58xx; 2951 } cn58xx;
2952 struct cvmx_ciu_intx_en1_w1c_cn61xx {
2953#ifdef __BIG_ENDIAN_BITFIELD
2954 uint64_t rst:1;
2955 uint64_t reserved_53_62:10;
2956 uint64_t lmc0:1;
2957 uint64_t reserved_50_51:2;
2958 uint64_t pem1:1;
2959 uint64_t pem0:1;
2960 uint64_t ptp:1;
2961 uint64_t agl:1;
2962 uint64_t reserved_41_45:5;
2963 uint64_t dpi_dma:1;
2964 uint64_t reserved_38_39:2;
2965 uint64_t agx1:1;
2966 uint64_t agx0:1;
2967 uint64_t dpi:1;
2968 uint64_t sli:1;
2969 uint64_t usb:1;
2970 uint64_t dfa:1;
2971 uint64_t key:1;
2972 uint64_t rad:1;
2973 uint64_t tim:1;
2974 uint64_t zip:1;
2975 uint64_t pko:1;
2976 uint64_t pip:1;
2977 uint64_t ipd:1;
2978 uint64_t l2c:1;
2979 uint64_t pow:1;
2980 uint64_t fpa:1;
2981 uint64_t iob:1;
2982 uint64_t mio:1;
2983 uint64_t nand:1;
2984 uint64_t mii1:1;
2985 uint64_t reserved_4_17:14;
2986 uint64_t wdog:4;
2987#else
2988 uint64_t wdog:4;
2989 uint64_t reserved_4_17:14;
2990 uint64_t mii1:1;
2991 uint64_t nand:1;
2992 uint64_t mio:1;
2993 uint64_t iob:1;
2994 uint64_t fpa:1;
2995 uint64_t pow:1;
2996 uint64_t l2c:1;
2997 uint64_t ipd:1;
2998 uint64_t pip:1;
2999 uint64_t pko:1;
3000 uint64_t zip:1;
3001 uint64_t tim:1;
3002 uint64_t rad:1;
3003 uint64_t key:1;
3004 uint64_t dfa:1;
3005 uint64_t usb:1;
3006 uint64_t sli:1;
3007 uint64_t dpi:1;
3008 uint64_t agx0:1;
3009 uint64_t agx1:1;
3010 uint64_t reserved_38_39:2;
3011 uint64_t dpi_dma:1;
3012 uint64_t reserved_41_45:5;
3013 uint64_t agl:1;
3014 uint64_t ptp:1;
3015 uint64_t pem0:1;
3016 uint64_t pem1:1;
3017 uint64_t reserved_50_51:2;
3018 uint64_t lmc0:1;
3019 uint64_t reserved_53_62:10;
3020 uint64_t rst:1;
3021#endif
3022 } cn61xx;
694 struct cvmx_ciu_intx_en1_w1c_cn63xx { 3023 struct cvmx_ciu_intx_en1_w1c_cn63xx {
3024#ifdef __BIG_ENDIAN_BITFIELD
695 uint64_t rst:1; 3025 uint64_t rst:1;
696 uint64_t reserved_57_62:6; 3026 uint64_t reserved_57_62:6;
697 uint64_t dfm:1; 3027 uint64_t dfm:1;
@@ -725,15 +3055,198 @@ union cvmx_ciu_intx_en1_w1c {
725 uint64_t mii1:1; 3055 uint64_t mii1:1;
726 uint64_t reserved_6_17:12; 3056 uint64_t reserved_6_17:12;
727 uint64_t wdog:6; 3057 uint64_t wdog:6;
3058#else
3059 uint64_t wdog:6;
3060 uint64_t reserved_6_17:12;
3061 uint64_t mii1:1;
3062 uint64_t nand:1;
3063 uint64_t mio:1;
3064 uint64_t iob:1;
3065 uint64_t fpa:1;
3066 uint64_t pow:1;
3067 uint64_t l2c:1;
3068 uint64_t ipd:1;
3069 uint64_t pip:1;
3070 uint64_t pko:1;
3071 uint64_t zip:1;
3072 uint64_t tim:1;
3073 uint64_t rad:1;
3074 uint64_t key:1;
3075 uint64_t dfa:1;
3076 uint64_t usb:1;
3077 uint64_t sli:1;
3078 uint64_t dpi:1;
3079 uint64_t agx0:1;
3080 uint64_t reserved_37_45:9;
3081 uint64_t agl:1;
3082 uint64_t ptp:1;
3083 uint64_t pem0:1;
3084 uint64_t pem1:1;
3085 uint64_t srio0:1;
3086 uint64_t srio1:1;
3087 uint64_t lmc0:1;
3088 uint64_t reserved_53_55:3;
3089 uint64_t dfm:1;
3090 uint64_t reserved_57_62:6;
3091 uint64_t rst:1;
3092#endif
728 } cn63xx; 3093 } cn63xx;
729 struct cvmx_ciu_intx_en1_w1c_cn63xx cn63xxp1; 3094 struct cvmx_ciu_intx_en1_w1c_cn63xx cn63xxp1;
3095 struct cvmx_ciu_intx_en1_w1c_cn66xx {
3096#ifdef __BIG_ENDIAN_BITFIELD
3097 uint64_t rst:1;
3098 uint64_t reserved_62_62:1;
3099 uint64_t srio3:1;
3100 uint64_t srio2:1;
3101 uint64_t reserved_57_59:3;
3102 uint64_t dfm:1;
3103 uint64_t reserved_53_55:3;
3104 uint64_t lmc0:1;
3105 uint64_t reserved_51_51:1;
3106 uint64_t srio0:1;
3107 uint64_t pem1:1;
3108 uint64_t pem0:1;
3109 uint64_t ptp:1;
3110 uint64_t agl:1;
3111 uint64_t reserved_38_45:8;
3112 uint64_t agx1:1;
3113 uint64_t agx0:1;
3114 uint64_t dpi:1;
3115 uint64_t sli:1;
3116 uint64_t usb:1;
3117 uint64_t dfa:1;
3118 uint64_t key:1;
3119 uint64_t rad:1;
3120 uint64_t tim:1;
3121 uint64_t zip:1;
3122 uint64_t pko:1;
3123 uint64_t pip:1;
3124 uint64_t ipd:1;
3125 uint64_t l2c:1;
3126 uint64_t pow:1;
3127 uint64_t fpa:1;
3128 uint64_t iob:1;
3129 uint64_t mio:1;
3130 uint64_t nand:1;
3131 uint64_t mii1:1;
3132 uint64_t reserved_10_17:8;
3133 uint64_t wdog:10;
3134#else
3135 uint64_t wdog:10;
3136 uint64_t reserved_10_17:8;
3137 uint64_t mii1:1;
3138 uint64_t nand:1;
3139 uint64_t mio:1;
3140 uint64_t iob:1;
3141 uint64_t fpa:1;
3142 uint64_t pow:1;
3143 uint64_t l2c:1;
3144 uint64_t ipd:1;
3145 uint64_t pip:1;
3146 uint64_t pko:1;
3147 uint64_t zip:1;
3148 uint64_t tim:1;
3149 uint64_t rad:1;
3150 uint64_t key:1;
3151 uint64_t dfa:1;
3152 uint64_t usb:1;
3153 uint64_t sli:1;
3154 uint64_t dpi:1;
3155 uint64_t agx0:1;
3156 uint64_t agx1:1;
3157 uint64_t reserved_38_45:8;
3158 uint64_t agl:1;
3159 uint64_t ptp:1;
3160 uint64_t pem0:1;
3161 uint64_t pem1:1;
3162 uint64_t srio0:1;
3163 uint64_t reserved_51_51:1;
3164 uint64_t lmc0:1;
3165 uint64_t reserved_53_55:3;
3166 uint64_t dfm:1;
3167 uint64_t reserved_57_59:3;
3168 uint64_t srio2:1;
3169 uint64_t srio3:1;
3170 uint64_t reserved_62_62:1;
3171 uint64_t rst:1;
3172#endif
3173 } cn66xx;
3174 struct cvmx_ciu_intx_en1_w1c_cnf71xx {
3175#ifdef __BIG_ENDIAN_BITFIELD
3176 uint64_t rst:1;
3177 uint64_t reserved_53_62:10;
3178 uint64_t lmc0:1;
3179 uint64_t reserved_50_51:2;
3180 uint64_t pem1:1;
3181 uint64_t pem0:1;
3182 uint64_t ptp:1;
3183 uint64_t reserved_41_46:6;
3184 uint64_t dpi_dma:1;
3185 uint64_t reserved_37_39:3;
3186 uint64_t agx0:1;
3187 uint64_t dpi:1;
3188 uint64_t sli:1;
3189 uint64_t usb:1;
3190 uint64_t reserved_32_32:1;
3191 uint64_t key:1;
3192 uint64_t rad:1;
3193 uint64_t tim:1;
3194 uint64_t reserved_28_28:1;
3195 uint64_t pko:1;
3196 uint64_t pip:1;
3197 uint64_t ipd:1;
3198 uint64_t l2c:1;
3199 uint64_t pow:1;
3200 uint64_t fpa:1;
3201 uint64_t iob:1;
3202 uint64_t mio:1;
3203 uint64_t nand:1;
3204 uint64_t reserved_4_18:15;
3205 uint64_t wdog:4;
3206#else
3207 uint64_t wdog:4;
3208 uint64_t reserved_4_18:15;
3209 uint64_t nand:1;
3210 uint64_t mio:1;
3211 uint64_t iob:1;
3212 uint64_t fpa:1;
3213 uint64_t pow:1;
3214 uint64_t l2c:1;
3215 uint64_t ipd:1;
3216 uint64_t pip:1;
3217 uint64_t pko:1;
3218 uint64_t reserved_28_28:1;
3219 uint64_t tim:1;
3220 uint64_t rad:1;
3221 uint64_t key:1;
3222 uint64_t reserved_32_32:1;
3223 uint64_t usb:1;
3224 uint64_t sli:1;
3225 uint64_t dpi:1;
3226 uint64_t agx0:1;
3227 uint64_t reserved_37_39:3;
3228 uint64_t dpi_dma:1;
3229 uint64_t reserved_41_46:6;
3230 uint64_t ptp:1;
3231 uint64_t pem0:1;
3232 uint64_t pem1:1;
3233 uint64_t reserved_50_51:2;
3234 uint64_t lmc0:1;
3235 uint64_t reserved_53_62:10;
3236 uint64_t rst:1;
3237#endif
3238 } cnf71xx;
730}; 3239};
731 3240
732union cvmx_ciu_intx_en1_w1s { 3241union cvmx_ciu_intx_en1_w1s {
733 uint64_t u64; 3242 uint64_t u64;
734 struct cvmx_ciu_intx_en1_w1s_s { 3243 struct cvmx_ciu_intx_en1_w1s_s {
3244#ifdef __BIG_ENDIAN_BITFIELD
735 uint64_t rst:1; 3245 uint64_t rst:1;
736 uint64_t reserved_57_62:6; 3246 uint64_t reserved_62_62:1;
3247 uint64_t srio3:1;
3248 uint64_t srio2:1;
3249 uint64_t reserved_57_59:3;
737 uint64_t dfm:1; 3250 uint64_t dfm:1;
738 uint64_t reserved_53_55:3; 3251 uint64_t reserved_53_55:3;
739 uint64_t lmc0:1; 3252 uint64_t lmc0:1;
@@ -743,7 +3256,10 @@ union cvmx_ciu_intx_en1_w1s {
743 uint64_t pem0:1; 3256 uint64_t pem0:1;
744 uint64_t ptp:1; 3257 uint64_t ptp:1;
745 uint64_t agl:1; 3258 uint64_t agl:1;
746 uint64_t reserved_37_45:9; 3259 uint64_t reserved_41_45:5;
3260 uint64_t dpi_dma:1;
3261 uint64_t reserved_38_39:2;
3262 uint64_t agx1:1;
747 uint64_t agx0:1; 3263 uint64_t agx0:1;
748 uint64_t dpi:1; 3264 uint64_t dpi:1;
749 uint64_t sli:1; 3265 uint64_t sli:1;
@@ -766,8 +3282,51 @@ union cvmx_ciu_intx_en1_w1s {
766 uint64_t usb1:1; 3282 uint64_t usb1:1;
767 uint64_t uart2:1; 3283 uint64_t uart2:1;
768 uint64_t wdog:16; 3284 uint64_t wdog:16;
3285#else
3286 uint64_t wdog:16;
3287 uint64_t uart2:1;
3288 uint64_t usb1:1;
3289 uint64_t mii1:1;
3290 uint64_t nand:1;
3291 uint64_t mio:1;
3292 uint64_t iob:1;
3293 uint64_t fpa:1;
3294 uint64_t pow:1;
3295 uint64_t l2c:1;
3296 uint64_t ipd:1;
3297 uint64_t pip:1;
3298 uint64_t pko:1;
3299 uint64_t zip:1;
3300 uint64_t tim:1;
3301 uint64_t rad:1;
3302 uint64_t key:1;
3303 uint64_t dfa:1;
3304 uint64_t usb:1;
3305 uint64_t sli:1;
3306 uint64_t dpi:1;
3307 uint64_t agx0:1;
3308 uint64_t agx1:1;
3309 uint64_t reserved_38_39:2;
3310 uint64_t dpi_dma:1;
3311 uint64_t reserved_41_45:5;
3312 uint64_t agl:1;
3313 uint64_t ptp:1;
3314 uint64_t pem0:1;
3315 uint64_t pem1:1;
3316 uint64_t srio0:1;
3317 uint64_t srio1:1;
3318 uint64_t lmc0:1;
3319 uint64_t reserved_53_55:3;
3320 uint64_t dfm:1;
3321 uint64_t reserved_57_59:3;
3322 uint64_t srio2:1;
3323 uint64_t srio3:1;
3324 uint64_t reserved_62_62:1;
3325 uint64_t rst:1;
3326#endif
769 } s; 3327 } s;
770 struct cvmx_ciu_intx_en1_w1s_cn52xx { 3328 struct cvmx_ciu_intx_en1_w1s_cn52xx {
3329#ifdef __BIG_ENDIAN_BITFIELD
771 uint64_t reserved_20_63:44; 3330 uint64_t reserved_20_63:44;
772 uint64_t nand:1; 3331 uint64_t nand:1;
773 uint64_t mii1:1; 3332 uint64_t mii1:1;
@@ -775,16 +3334,107 @@ union cvmx_ciu_intx_en1_w1s {
775 uint64_t uart2:1; 3334 uint64_t uart2:1;
776 uint64_t reserved_4_15:12; 3335 uint64_t reserved_4_15:12;
777 uint64_t wdog:4; 3336 uint64_t wdog:4;
3337#else
3338 uint64_t wdog:4;
3339 uint64_t reserved_4_15:12;
3340 uint64_t uart2:1;
3341 uint64_t usb1:1;
3342 uint64_t mii1:1;
3343 uint64_t nand:1;
3344 uint64_t reserved_20_63:44;
3345#endif
778 } cn52xx; 3346 } cn52xx;
779 struct cvmx_ciu_intx_en1_w1s_cn56xx { 3347 struct cvmx_ciu_intx_en1_w1s_cn56xx {
3348#ifdef __BIG_ENDIAN_BITFIELD
780 uint64_t reserved_12_63:52; 3349 uint64_t reserved_12_63:52;
781 uint64_t wdog:12; 3350 uint64_t wdog:12;
3351#else
3352 uint64_t wdog:12;
3353 uint64_t reserved_12_63:52;
3354#endif
782 } cn56xx; 3355 } cn56xx;
783 struct cvmx_ciu_intx_en1_w1s_cn58xx { 3356 struct cvmx_ciu_intx_en1_w1s_cn58xx {
3357#ifdef __BIG_ENDIAN_BITFIELD
784 uint64_t reserved_16_63:48; 3358 uint64_t reserved_16_63:48;
785 uint64_t wdog:16; 3359 uint64_t wdog:16;
3360#else
3361 uint64_t wdog:16;
3362 uint64_t reserved_16_63:48;
3363#endif
786 } cn58xx; 3364 } cn58xx;
3365 struct cvmx_ciu_intx_en1_w1s_cn61xx {
3366#ifdef __BIG_ENDIAN_BITFIELD
3367 uint64_t rst:1;
3368 uint64_t reserved_53_62:10;
3369 uint64_t lmc0:1;
3370 uint64_t reserved_50_51:2;
3371 uint64_t pem1:1;
3372 uint64_t pem0:1;
3373 uint64_t ptp:1;
3374 uint64_t agl:1;
3375 uint64_t reserved_41_45:5;
3376 uint64_t dpi_dma:1;
3377 uint64_t reserved_38_39:2;
3378 uint64_t agx1:1;
3379 uint64_t agx0:1;
3380 uint64_t dpi:1;
3381 uint64_t sli:1;
3382 uint64_t usb:1;
3383 uint64_t dfa:1;
3384 uint64_t key:1;
3385 uint64_t rad:1;
3386 uint64_t tim:1;
3387 uint64_t zip:1;
3388 uint64_t pko:1;
3389 uint64_t pip:1;
3390 uint64_t ipd:1;
3391 uint64_t l2c:1;
3392 uint64_t pow:1;
3393 uint64_t fpa:1;
3394 uint64_t iob:1;
3395 uint64_t mio:1;
3396 uint64_t nand:1;
3397 uint64_t mii1:1;
3398 uint64_t reserved_4_17:14;
3399 uint64_t wdog:4;
3400#else
3401 uint64_t wdog:4;
3402 uint64_t reserved_4_17:14;
3403 uint64_t mii1:1;
3404 uint64_t nand:1;
3405 uint64_t mio:1;
3406 uint64_t iob:1;
3407 uint64_t fpa:1;
3408 uint64_t pow:1;
3409 uint64_t l2c:1;
3410 uint64_t ipd:1;
3411 uint64_t pip:1;
3412 uint64_t pko:1;
3413 uint64_t zip:1;
3414 uint64_t tim:1;
3415 uint64_t rad:1;
3416 uint64_t key:1;
3417 uint64_t dfa:1;
3418 uint64_t usb:1;
3419 uint64_t sli:1;
3420 uint64_t dpi:1;
3421 uint64_t agx0:1;
3422 uint64_t agx1:1;
3423 uint64_t reserved_38_39:2;
3424 uint64_t dpi_dma:1;
3425 uint64_t reserved_41_45:5;
3426 uint64_t agl:1;
3427 uint64_t ptp:1;
3428 uint64_t pem0:1;
3429 uint64_t pem1:1;
3430 uint64_t reserved_50_51:2;
3431 uint64_t lmc0:1;
3432 uint64_t reserved_53_62:10;
3433 uint64_t rst:1;
3434#endif
3435 } cn61xx;
787 struct cvmx_ciu_intx_en1_w1s_cn63xx { 3436 struct cvmx_ciu_intx_en1_w1s_cn63xx {
3437#ifdef __BIG_ENDIAN_BITFIELD
788 uint64_t rst:1; 3438 uint64_t rst:1;
789 uint64_t reserved_57_62:6; 3439 uint64_t reserved_57_62:6;
790 uint64_t dfm:1; 3440 uint64_t dfm:1;
@@ -818,13 +3468,193 @@ union cvmx_ciu_intx_en1_w1s {
818 uint64_t mii1:1; 3468 uint64_t mii1:1;
819 uint64_t reserved_6_17:12; 3469 uint64_t reserved_6_17:12;
820 uint64_t wdog:6; 3470 uint64_t wdog:6;
3471#else
3472 uint64_t wdog:6;
3473 uint64_t reserved_6_17:12;
3474 uint64_t mii1:1;
3475 uint64_t nand:1;
3476 uint64_t mio:1;
3477 uint64_t iob:1;
3478 uint64_t fpa:1;
3479 uint64_t pow:1;
3480 uint64_t l2c:1;
3481 uint64_t ipd:1;
3482 uint64_t pip:1;
3483 uint64_t pko:1;
3484 uint64_t zip:1;
3485 uint64_t tim:1;
3486 uint64_t rad:1;
3487 uint64_t key:1;
3488 uint64_t dfa:1;
3489 uint64_t usb:1;
3490 uint64_t sli:1;
3491 uint64_t dpi:1;
3492 uint64_t agx0:1;
3493 uint64_t reserved_37_45:9;
3494 uint64_t agl:1;
3495 uint64_t ptp:1;
3496 uint64_t pem0:1;
3497 uint64_t pem1:1;
3498 uint64_t srio0:1;
3499 uint64_t srio1:1;
3500 uint64_t lmc0:1;
3501 uint64_t reserved_53_55:3;
3502 uint64_t dfm:1;
3503 uint64_t reserved_57_62:6;
3504 uint64_t rst:1;
3505#endif
821 } cn63xx; 3506 } cn63xx;
822 struct cvmx_ciu_intx_en1_w1s_cn63xx cn63xxp1; 3507 struct cvmx_ciu_intx_en1_w1s_cn63xx cn63xxp1;
3508 struct cvmx_ciu_intx_en1_w1s_cn66xx {
3509#ifdef __BIG_ENDIAN_BITFIELD
3510 uint64_t rst:1;
3511 uint64_t reserved_62_62:1;
3512 uint64_t srio3:1;
3513 uint64_t srio2:1;
3514 uint64_t reserved_57_59:3;
3515 uint64_t dfm:1;
3516 uint64_t reserved_53_55:3;
3517 uint64_t lmc0:1;
3518 uint64_t reserved_51_51:1;
3519 uint64_t srio0:1;
3520 uint64_t pem1:1;
3521 uint64_t pem0:1;
3522 uint64_t ptp:1;
3523 uint64_t agl:1;
3524 uint64_t reserved_38_45:8;
3525 uint64_t agx1:1;
3526 uint64_t agx0:1;
3527 uint64_t dpi:1;
3528 uint64_t sli:1;
3529 uint64_t usb:1;
3530 uint64_t dfa:1;
3531 uint64_t key:1;
3532 uint64_t rad:1;
3533 uint64_t tim:1;
3534 uint64_t zip:1;
3535 uint64_t pko:1;
3536 uint64_t pip:1;
3537 uint64_t ipd:1;
3538 uint64_t l2c:1;
3539 uint64_t pow:1;
3540 uint64_t fpa:1;
3541 uint64_t iob:1;
3542 uint64_t mio:1;
3543 uint64_t nand:1;
3544 uint64_t mii1:1;
3545 uint64_t reserved_10_17:8;
3546 uint64_t wdog:10;
3547#else
3548 uint64_t wdog:10;
3549 uint64_t reserved_10_17:8;
3550 uint64_t mii1:1;
3551 uint64_t nand:1;
3552 uint64_t mio:1;
3553 uint64_t iob:1;
3554 uint64_t fpa:1;
3555 uint64_t pow:1;
3556 uint64_t l2c:1;
3557 uint64_t ipd:1;
3558 uint64_t pip:1;
3559 uint64_t pko:1;
3560 uint64_t zip:1;
3561 uint64_t tim:1;
3562 uint64_t rad:1;
3563 uint64_t key:1;
3564 uint64_t dfa:1;
3565 uint64_t usb:1;
3566 uint64_t sli:1;
3567 uint64_t dpi:1;
3568 uint64_t agx0:1;
3569 uint64_t agx1:1;
3570 uint64_t reserved_38_45:8;
3571 uint64_t agl:1;
3572 uint64_t ptp:1;
3573 uint64_t pem0:1;
3574 uint64_t pem1:1;
3575 uint64_t srio0:1;
3576 uint64_t reserved_51_51:1;
3577 uint64_t lmc0:1;
3578 uint64_t reserved_53_55:3;
3579 uint64_t dfm:1;
3580 uint64_t reserved_57_59:3;
3581 uint64_t srio2:1;
3582 uint64_t srio3:1;
3583 uint64_t reserved_62_62:1;
3584 uint64_t rst:1;
3585#endif
3586 } cn66xx;
3587 struct cvmx_ciu_intx_en1_w1s_cnf71xx {
3588#ifdef __BIG_ENDIAN_BITFIELD
3589 uint64_t rst:1;
3590 uint64_t reserved_53_62:10;
3591 uint64_t lmc0:1;
3592 uint64_t reserved_50_51:2;
3593 uint64_t pem1:1;
3594 uint64_t pem0:1;
3595 uint64_t ptp:1;
3596 uint64_t reserved_41_46:6;
3597 uint64_t dpi_dma:1;
3598 uint64_t reserved_37_39:3;
3599 uint64_t agx0:1;
3600 uint64_t dpi:1;
3601 uint64_t sli:1;
3602 uint64_t usb:1;
3603 uint64_t reserved_32_32:1;
3604 uint64_t key:1;
3605 uint64_t rad:1;
3606 uint64_t tim:1;
3607 uint64_t reserved_28_28:1;
3608 uint64_t pko:1;
3609 uint64_t pip:1;
3610 uint64_t ipd:1;
3611 uint64_t l2c:1;
3612 uint64_t pow:1;
3613 uint64_t fpa:1;
3614 uint64_t iob:1;
3615 uint64_t mio:1;
3616 uint64_t nand:1;
3617 uint64_t reserved_4_18:15;
3618 uint64_t wdog:4;
3619#else
3620 uint64_t wdog:4;
3621 uint64_t reserved_4_18:15;
3622 uint64_t nand:1;
3623 uint64_t mio:1;
3624 uint64_t iob:1;
3625 uint64_t fpa:1;
3626 uint64_t pow:1;
3627 uint64_t l2c:1;
3628 uint64_t ipd:1;
3629 uint64_t pip:1;
3630 uint64_t pko:1;
3631 uint64_t reserved_28_28:1;
3632 uint64_t tim:1;
3633 uint64_t rad:1;
3634 uint64_t key:1;
3635 uint64_t reserved_32_32:1;
3636 uint64_t usb:1;
3637 uint64_t sli:1;
3638 uint64_t dpi:1;
3639 uint64_t agx0:1;
3640 uint64_t reserved_37_39:3;
3641 uint64_t dpi_dma:1;
3642 uint64_t reserved_41_46:6;
3643 uint64_t ptp:1;
3644 uint64_t pem0:1;
3645 uint64_t pem1:1;
3646 uint64_t reserved_50_51:2;
3647 uint64_t lmc0:1;
3648 uint64_t reserved_53_62:10;
3649 uint64_t rst:1;
3650#endif
3651 } cnf71xx;
823}; 3652};
824 3653
825union cvmx_ciu_intx_en4_0 { 3654union cvmx_ciu_intx_en4_0 {
826 uint64_t u64; 3655 uint64_t u64;
827 struct cvmx_ciu_intx_en4_0_s { 3656 struct cvmx_ciu_intx_en4_0_s {
3657#ifdef __BIG_ENDIAN_BITFIELD
828 uint64_t bootdma:1; 3658 uint64_t bootdma:1;
829 uint64_t mii:1; 3659 uint64_t mii:1;
830 uint64_t ipdppthr:1; 3660 uint64_t ipdppthr:1;
@@ -847,8 +3677,33 @@ union cvmx_ciu_intx_en4_0 {
847 uint64_t mbox:2; 3677 uint64_t mbox:2;
848 uint64_t gpio:16; 3678 uint64_t gpio:16;
849 uint64_t workq:16; 3679 uint64_t workq:16;
3680#else
3681 uint64_t workq:16;
3682 uint64_t gpio:16;
3683 uint64_t mbox:2;
3684 uint64_t uart:2;
3685 uint64_t pci_int:4;
3686 uint64_t pci_msi:4;
3687 uint64_t reserved_44_44:1;
3688 uint64_t twsi:1;
3689 uint64_t rml:1;
3690 uint64_t trace:1;
3691 uint64_t gmx_drp:2;
3692 uint64_t ipd_drp:1;
3693 uint64_t key_zero:1;
3694 uint64_t timer:4;
3695 uint64_t usb:1;
3696 uint64_t pcm:1;
3697 uint64_t mpi:1;
3698 uint64_t twsi2:1;
3699 uint64_t powiq:1;
3700 uint64_t ipdppthr:1;
3701 uint64_t mii:1;
3702 uint64_t bootdma:1;
3703#endif
850 } s; 3704 } s;
851 struct cvmx_ciu_intx_en4_0_cn50xx { 3705 struct cvmx_ciu_intx_en4_0_cn50xx {
3706#ifdef __BIG_ENDIAN_BITFIELD
852 uint64_t reserved_59_63:5; 3707 uint64_t reserved_59_63:5;
853 uint64_t mpi:1; 3708 uint64_t mpi:1;
854 uint64_t pcm:1; 3709 uint64_t pcm:1;
@@ -868,8 +3723,30 @@ union cvmx_ciu_intx_en4_0 {
868 uint64_t mbox:2; 3723 uint64_t mbox:2;
869 uint64_t gpio:16; 3724 uint64_t gpio:16;
870 uint64_t workq:16; 3725 uint64_t workq:16;
3726#else
3727 uint64_t workq:16;
3728 uint64_t gpio:16;
3729 uint64_t mbox:2;
3730 uint64_t uart:2;
3731 uint64_t pci_int:4;
3732 uint64_t pci_msi:4;
3733 uint64_t reserved_44_44:1;
3734 uint64_t twsi:1;
3735 uint64_t rml:1;
3736 uint64_t reserved_47_47:1;
3737 uint64_t gmx_drp:1;
3738 uint64_t reserved_49_49:1;
3739 uint64_t ipd_drp:1;
3740 uint64_t reserved_51_51:1;
3741 uint64_t timer:4;
3742 uint64_t usb:1;
3743 uint64_t pcm:1;
3744 uint64_t mpi:1;
3745 uint64_t reserved_59_63:5;
3746#endif
871 } cn50xx; 3747 } cn50xx;
872 struct cvmx_ciu_intx_en4_0_cn52xx { 3748 struct cvmx_ciu_intx_en4_0_cn52xx {
3749#ifdef __BIG_ENDIAN_BITFIELD
873 uint64_t bootdma:1; 3750 uint64_t bootdma:1;
874 uint64_t mii:1; 3751 uint64_t mii:1;
875 uint64_t ipdppthr:1; 3752 uint64_t ipdppthr:1;
@@ -892,9 +3769,34 @@ union cvmx_ciu_intx_en4_0 {
892 uint64_t mbox:2; 3769 uint64_t mbox:2;
893 uint64_t gpio:16; 3770 uint64_t gpio:16;
894 uint64_t workq:16; 3771 uint64_t workq:16;
3772#else
3773 uint64_t workq:16;
3774 uint64_t gpio:16;
3775 uint64_t mbox:2;
3776 uint64_t uart:2;
3777 uint64_t pci_int:4;
3778 uint64_t pci_msi:4;
3779 uint64_t reserved_44_44:1;
3780 uint64_t twsi:1;
3781 uint64_t rml:1;
3782 uint64_t trace:1;
3783 uint64_t gmx_drp:1;
3784 uint64_t reserved_49_49:1;
3785 uint64_t ipd_drp:1;
3786 uint64_t reserved_51_51:1;
3787 uint64_t timer:4;
3788 uint64_t usb:1;
3789 uint64_t reserved_57_58:2;
3790 uint64_t twsi2:1;
3791 uint64_t powiq:1;
3792 uint64_t ipdppthr:1;
3793 uint64_t mii:1;
3794 uint64_t bootdma:1;
3795#endif
895 } cn52xx; 3796 } cn52xx;
896 struct cvmx_ciu_intx_en4_0_cn52xx cn52xxp1; 3797 struct cvmx_ciu_intx_en4_0_cn52xx cn52xxp1;
897 struct cvmx_ciu_intx_en4_0_cn56xx { 3798 struct cvmx_ciu_intx_en4_0_cn56xx {
3799#ifdef __BIG_ENDIAN_BITFIELD
898 uint64_t bootdma:1; 3800 uint64_t bootdma:1;
899 uint64_t mii:1; 3801 uint64_t mii:1;
900 uint64_t ipdppthr:1; 3802 uint64_t ipdppthr:1;
@@ -916,9 +3818,33 @@ union cvmx_ciu_intx_en4_0 {
916 uint64_t mbox:2; 3818 uint64_t mbox:2;
917 uint64_t gpio:16; 3819 uint64_t gpio:16;
918 uint64_t workq:16; 3820 uint64_t workq:16;
3821#else
3822 uint64_t workq:16;
3823 uint64_t gpio:16;
3824 uint64_t mbox:2;
3825 uint64_t uart:2;
3826 uint64_t pci_int:4;
3827 uint64_t pci_msi:4;
3828 uint64_t reserved_44_44:1;
3829 uint64_t twsi:1;
3830 uint64_t rml:1;
3831 uint64_t trace:1;
3832 uint64_t gmx_drp:2;
3833 uint64_t ipd_drp:1;
3834 uint64_t key_zero:1;
3835 uint64_t timer:4;
3836 uint64_t usb:1;
3837 uint64_t reserved_57_58:2;
3838 uint64_t twsi2:1;
3839 uint64_t powiq:1;
3840 uint64_t ipdppthr:1;
3841 uint64_t mii:1;
3842 uint64_t bootdma:1;
3843#endif
919 } cn56xx; 3844 } cn56xx;
920 struct cvmx_ciu_intx_en4_0_cn56xx cn56xxp1; 3845 struct cvmx_ciu_intx_en4_0_cn56xx cn56xxp1;
921 struct cvmx_ciu_intx_en4_0_cn58xx { 3846 struct cvmx_ciu_intx_en4_0_cn58xx {
3847#ifdef __BIG_ENDIAN_BITFIELD
922 uint64_t reserved_56_63:8; 3848 uint64_t reserved_56_63:8;
923 uint64_t timer:4; 3849 uint64_t timer:4;
924 uint64_t key_zero:1; 3850 uint64_t key_zero:1;
@@ -934,21 +3860,189 @@ union cvmx_ciu_intx_en4_0 {
934 uint64_t mbox:2; 3860 uint64_t mbox:2;
935 uint64_t gpio:16; 3861 uint64_t gpio:16;
936 uint64_t workq:16; 3862 uint64_t workq:16;
3863#else
3864 uint64_t workq:16;
3865 uint64_t gpio:16;
3866 uint64_t mbox:2;
3867 uint64_t uart:2;
3868 uint64_t pci_int:4;
3869 uint64_t pci_msi:4;
3870 uint64_t reserved_44_44:1;
3871 uint64_t twsi:1;
3872 uint64_t rml:1;
3873 uint64_t trace:1;
3874 uint64_t gmx_drp:2;
3875 uint64_t ipd_drp:1;
3876 uint64_t key_zero:1;
3877 uint64_t timer:4;
3878 uint64_t reserved_56_63:8;
3879#endif
937 } cn58xx; 3880 } cn58xx;
938 struct cvmx_ciu_intx_en4_0_cn58xx cn58xxp1; 3881 struct cvmx_ciu_intx_en4_0_cn58xx cn58xxp1;
3882 struct cvmx_ciu_intx_en4_0_cn61xx {
3883#ifdef __BIG_ENDIAN_BITFIELD
3884 uint64_t bootdma:1;
3885 uint64_t mii:1;
3886 uint64_t ipdppthr:1;
3887 uint64_t powiq:1;
3888 uint64_t twsi2:1;
3889 uint64_t mpi:1;
3890 uint64_t pcm:1;
3891 uint64_t usb:1;
3892 uint64_t timer:4;
3893 uint64_t reserved_51_51:1;
3894 uint64_t ipd_drp:1;
3895 uint64_t gmx_drp:2;
3896 uint64_t trace:1;
3897 uint64_t rml:1;
3898 uint64_t twsi:1;
3899 uint64_t reserved_44_44:1;
3900 uint64_t pci_msi:4;
3901 uint64_t pci_int:4;
3902 uint64_t uart:2;
3903 uint64_t mbox:2;
3904 uint64_t gpio:16;
3905 uint64_t workq:16;
3906#else
3907 uint64_t workq:16;
3908 uint64_t gpio:16;
3909 uint64_t mbox:2;
3910 uint64_t uart:2;
3911 uint64_t pci_int:4;
3912 uint64_t pci_msi:4;
3913 uint64_t reserved_44_44:1;
3914 uint64_t twsi:1;
3915 uint64_t rml:1;
3916 uint64_t trace:1;
3917 uint64_t gmx_drp:2;
3918 uint64_t ipd_drp:1;
3919 uint64_t reserved_51_51:1;
3920 uint64_t timer:4;
3921 uint64_t usb:1;
3922 uint64_t pcm:1;
3923 uint64_t mpi:1;
3924 uint64_t twsi2:1;
3925 uint64_t powiq:1;
3926 uint64_t ipdppthr:1;
3927 uint64_t mii:1;
3928 uint64_t bootdma:1;
3929#endif
3930 } cn61xx;
939 struct cvmx_ciu_intx_en4_0_cn52xx cn63xx; 3931 struct cvmx_ciu_intx_en4_0_cn52xx cn63xx;
940 struct cvmx_ciu_intx_en4_0_cn52xx cn63xxp1; 3932 struct cvmx_ciu_intx_en4_0_cn52xx cn63xxp1;
3933 struct cvmx_ciu_intx_en4_0_cn66xx {
3934#ifdef __BIG_ENDIAN_BITFIELD
3935 uint64_t bootdma:1;
3936 uint64_t mii:1;
3937 uint64_t ipdppthr:1;
3938 uint64_t powiq:1;
3939 uint64_t twsi2:1;
3940 uint64_t mpi:1;
3941 uint64_t reserved_57_57:1;
3942 uint64_t usb:1;
3943 uint64_t timer:4;
3944 uint64_t reserved_51_51:1;
3945 uint64_t ipd_drp:1;
3946 uint64_t gmx_drp:2;
3947 uint64_t trace:1;
3948 uint64_t rml:1;
3949 uint64_t twsi:1;
3950 uint64_t reserved_44_44:1;
3951 uint64_t pci_msi:4;
3952 uint64_t pci_int:4;
3953 uint64_t uart:2;
3954 uint64_t mbox:2;
3955 uint64_t gpio:16;
3956 uint64_t workq:16;
3957#else
3958 uint64_t workq:16;
3959 uint64_t gpio:16;
3960 uint64_t mbox:2;
3961 uint64_t uart:2;
3962 uint64_t pci_int:4;
3963 uint64_t pci_msi:4;
3964 uint64_t reserved_44_44:1;
3965 uint64_t twsi:1;
3966 uint64_t rml:1;
3967 uint64_t trace:1;
3968 uint64_t gmx_drp:2;
3969 uint64_t ipd_drp:1;
3970 uint64_t reserved_51_51:1;
3971 uint64_t timer:4;
3972 uint64_t usb:1;
3973 uint64_t reserved_57_57:1;
3974 uint64_t mpi:1;
3975 uint64_t twsi2:1;
3976 uint64_t powiq:1;
3977 uint64_t ipdppthr:1;
3978 uint64_t mii:1;
3979 uint64_t bootdma:1;
3980#endif
3981 } cn66xx;
3982 struct cvmx_ciu_intx_en4_0_cnf71xx {
3983#ifdef __BIG_ENDIAN_BITFIELD
3984 uint64_t bootdma:1;
3985 uint64_t reserved_62_62:1;
3986 uint64_t ipdppthr:1;
3987 uint64_t powiq:1;
3988 uint64_t twsi2:1;
3989 uint64_t mpi:1;
3990 uint64_t pcm:1;
3991 uint64_t usb:1;
3992 uint64_t timer:4;
3993 uint64_t reserved_51_51:1;
3994 uint64_t ipd_drp:1;
3995 uint64_t reserved_49_49:1;
3996 uint64_t gmx_drp:1;
3997 uint64_t trace:1;
3998 uint64_t rml:1;
3999 uint64_t twsi:1;
4000 uint64_t reserved_44_44:1;
4001 uint64_t pci_msi:4;
4002 uint64_t pci_int:4;
4003 uint64_t uart:2;
4004 uint64_t mbox:2;
4005 uint64_t gpio:16;
4006 uint64_t workq:16;
4007#else
4008 uint64_t workq:16;
4009 uint64_t gpio:16;
4010 uint64_t mbox:2;
4011 uint64_t uart:2;
4012 uint64_t pci_int:4;
4013 uint64_t pci_msi:4;
4014 uint64_t reserved_44_44:1;
4015 uint64_t twsi:1;
4016 uint64_t rml:1;
4017 uint64_t trace:1;
4018 uint64_t gmx_drp:1;
4019 uint64_t reserved_49_49:1;
4020 uint64_t ipd_drp:1;
4021 uint64_t reserved_51_51:1;
4022 uint64_t timer:4;
4023 uint64_t usb:1;
4024 uint64_t pcm:1;
4025 uint64_t mpi:1;
4026 uint64_t twsi2:1;
4027 uint64_t powiq:1;
4028 uint64_t ipdppthr:1;
4029 uint64_t reserved_62_62:1;
4030 uint64_t bootdma:1;
4031#endif
4032 } cnf71xx;
941}; 4033};
942 4034
943union cvmx_ciu_intx_en4_0_w1c { 4035union cvmx_ciu_intx_en4_0_w1c {
944 uint64_t u64; 4036 uint64_t u64;
945 struct cvmx_ciu_intx_en4_0_w1c_s { 4037 struct cvmx_ciu_intx_en4_0_w1c_s {
4038#ifdef __BIG_ENDIAN_BITFIELD
946 uint64_t bootdma:1; 4039 uint64_t bootdma:1;
947 uint64_t mii:1; 4040 uint64_t mii:1;
948 uint64_t ipdppthr:1; 4041 uint64_t ipdppthr:1;
949 uint64_t powiq:1; 4042 uint64_t powiq:1;
950 uint64_t twsi2:1; 4043 uint64_t twsi2:1;
951 uint64_t reserved_57_58:2; 4044 uint64_t mpi:1;
4045 uint64_t pcm:1;
952 uint64_t usb:1; 4046 uint64_t usb:1;
953 uint64_t timer:4; 4047 uint64_t timer:4;
954 uint64_t key_zero:1; 4048 uint64_t key_zero:1;
@@ -964,8 +4058,33 @@ union cvmx_ciu_intx_en4_0_w1c {
964 uint64_t mbox:2; 4058 uint64_t mbox:2;
965 uint64_t gpio:16; 4059 uint64_t gpio:16;
966 uint64_t workq:16; 4060 uint64_t workq:16;
4061#else
4062 uint64_t workq:16;
4063 uint64_t gpio:16;
4064 uint64_t mbox:2;
4065 uint64_t uart:2;
4066 uint64_t pci_int:4;
4067 uint64_t pci_msi:4;
4068 uint64_t reserved_44_44:1;
4069 uint64_t twsi:1;
4070 uint64_t rml:1;
4071 uint64_t trace:1;
4072 uint64_t gmx_drp:2;
4073 uint64_t ipd_drp:1;
4074 uint64_t key_zero:1;
4075 uint64_t timer:4;
4076 uint64_t usb:1;
4077 uint64_t pcm:1;
4078 uint64_t mpi:1;
4079 uint64_t twsi2:1;
4080 uint64_t powiq:1;
4081 uint64_t ipdppthr:1;
4082 uint64_t mii:1;
4083 uint64_t bootdma:1;
4084#endif
967 } s; 4085 } s;
968 struct cvmx_ciu_intx_en4_0_w1c_cn52xx { 4086 struct cvmx_ciu_intx_en4_0_w1c_cn52xx {
4087#ifdef __BIG_ENDIAN_BITFIELD
969 uint64_t bootdma:1; 4088 uint64_t bootdma:1;
970 uint64_t mii:1; 4089 uint64_t mii:1;
971 uint64_t ipdppthr:1; 4090 uint64_t ipdppthr:1;
@@ -988,9 +4107,80 @@ union cvmx_ciu_intx_en4_0_w1c {
988 uint64_t mbox:2; 4107 uint64_t mbox:2;
989 uint64_t gpio:16; 4108 uint64_t gpio:16;
990 uint64_t workq:16; 4109 uint64_t workq:16;
4110#else
4111 uint64_t workq:16;
4112 uint64_t gpio:16;
4113 uint64_t mbox:2;
4114 uint64_t uart:2;
4115 uint64_t pci_int:4;
4116 uint64_t pci_msi:4;
4117 uint64_t reserved_44_44:1;
4118 uint64_t twsi:1;
4119 uint64_t rml:1;
4120 uint64_t trace:1;
4121 uint64_t gmx_drp:1;
4122 uint64_t reserved_49_49:1;
4123 uint64_t ipd_drp:1;
4124 uint64_t reserved_51_51:1;
4125 uint64_t timer:4;
4126 uint64_t usb:1;
4127 uint64_t reserved_57_58:2;
4128 uint64_t twsi2:1;
4129 uint64_t powiq:1;
4130 uint64_t ipdppthr:1;
4131 uint64_t mii:1;
4132 uint64_t bootdma:1;
4133#endif
991 } cn52xx; 4134 } cn52xx;
992 struct cvmx_ciu_intx_en4_0_w1c_s cn56xx; 4135 struct cvmx_ciu_intx_en4_0_w1c_cn56xx {
4136#ifdef __BIG_ENDIAN_BITFIELD
4137 uint64_t bootdma:1;
4138 uint64_t mii:1;
4139 uint64_t ipdppthr:1;
4140 uint64_t powiq:1;
4141 uint64_t twsi2:1;
4142 uint64_t reserved_57_58:2;
4143 uint64_t usb:1;
4144 uint64_t timer:4;
4145 uint64_t key_zero:1;
4146 uint64_t ipd_drp:1;
4147 uint64_t gmx_drp:2;
4148 uint64_t trace:1;
4149 uint64_t rml:1;
4150 uint64_t twsi:1;
4151 uint64_t reserved_44_44:1;
4152 uint64_t pci_msi:4;
4153 uint64_t pci_int:4;
4154 uint64_t uart:2;
4155 uint64_t mbox:2;
4156 uint64_t gpio:16;
4157 uint64_t workq:16;
4158#else
4159 uint64_t workq:16;
4160 uint64_t gpio:16;
4161 uint64_t mbox:2;
4162 uint64_t uart:2;
4163 uint64_t pci_int:4;
4164 uint64_t pci_msi:4;
4165 uint64_t reserved_44_44:1;
4166 uint64_t twsi:1;
4167 uint64_t rml:1;
4168 uint64_t trace:1;
4169 uint64_t gmx_drp:2;
4170 uint64_t ipd_drp:1;
4171 uint64_t key_zero:1;
4172 uint64_t timer:4;
4173 uint64_t usb:1;
4174 uint64_t reserved_57_58:2;
4175 uint64_t twsi2:1;
4176 uint64_t powiq:1;
4177 uint64_t ipdppthr:1;
4178 uint64_t mii:1;
4179 uint64_t bootdma:1;
4180#endif
4181 } cn56xx;
993 struct cvmx_ciu_intx_en4_0_w1c_cn58xx { 4182 struct cvmx_ciu_intx_en4_0_w1c_cn58xx {
4183#ifdef __BIG_ENDIAN_BITFIELD
994 uint64_t reserved_56_63:8; 4184 uint64_t reserved_56_63:8;
995 uint64_t timer:4; 4185 uint64_t timer:4;
996 uint64_t key_zero:1; 4186 uint64_t key_zero:1;
@@ -1006,20 +4196,188 @@ union cvmx_ciu_intx_en4_0_w1c {
1006 uint64_t mbox:2; 4196 uint64_t mbox:2;
1007 uint64_t gpio:16; 4197 uint64_t gpio:16;
1008 uint64_t workq:16; 4198 uint64_t workq:16;
4199#else
4200 uint64_t workq:16;
4201 uint64_t gpio:16;
4202 uint64_t mbox:2;
4203 uint64_t uart:2;
4204 uint64_t pci_int:4;
4205 uint64_t pci_msi:4;
4206 uint64_t reserved_44_44:1;
4207 uint64_t twsi:1;
4208 uint64_t rml:1;
4209 uint64_t trace:1;
4210 uint64_t gmx_drp:2;
4211 uint64_t ipd_drp:1;
4212 uint64_t key_zero:1;
4213 uint64_t timer:4;
4214 uint64_t reserved_56_63:8;
4215#endif
1009 } cn58xx; 4216 } cn58xx;
4217 struct cvmx_ciu_intx_en4_0_w1c_cn61xx {
4218#ifdef __BIG_ENDIAN_BITFIELD
4219 uint64_t bootdma:1;
4220 uint64_t mii:1;
4221 uint64_t ipdppthr:1;
4222 uint64_t powiq:1;
4223 uint64_t twsi2:1;
4224 uint64_t mpi:1;
4225 uint64_t pcm:1;
4226 uint64_t usb:1;
4227 uint64_t timer:4;
4228 uint64_t reserved_51_51:1;
4229 uint64_t ipd_drp:1;
4230 uint64_t gmx_drp:2;
4231 uint64_t trace:1;
4232 uint64_t rml:1;
4233 uint64_t twsi:1;
4234 uint64_t reserved_44_44:1;
4235 uint64_t pci_msi:4;
4236 uint64_t pci_int:4;
4237 uint64_t uart:2;
4238 uint64_t mbox:2;
4239 uint64_t gpio:16;
4240 uint64_t workq:16;
4241#else
4242 uint64_t workq:16;
4243 uint64_t gpio:16;
4244 uint64_t mbox:2;
4245 uint64_t uart:2;
4246 uint64_t pci_int:4;
4247 uint64_t pci_msi:4;
4248 uint64_t reserved_44_44:1;
4249 uint64_t twsi:1;
4250 uint64_t rml:1;
4251 uint64_t trace:1;
4252 uint64_t gmx_drp:2;
4253 uint64_t ipd_drp:1;
4254 uint64_t reserved_51_51:1;
4255 uint64_t timer:4;
4256 uint64_t usb:1;
4257 uint64_t pcm:1;
4258 uint64_t mpi:1;
4259 uint64_t twsi2:1;
4260 uint64_t powiq:1;
4261 uint64_t ipdppthr:1;
4262 uint64_t mii:1;
4263 uint64_t bootdma:1;
4264#endif
4265 } cn61xx;
1010 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx; 4266 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx;
1011 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xxp1; 4267 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xxp1;
4268 struct cvmx_ciu_intx_en4_0_w1c_cn66xx {
4269#ifdef __BIG_ENDIAN_BITFIELD
4270 uint64_t bootdma:1;
4271 uint64_t mii:1;
4272 uint64_t ipdppthr:1;
4273 uint64_t powiq:1;
4274 uint64_t twsi2:1;
4275 uint64_t mpi:1;
4276 uint64_t reserved_57_57:1;
4277 uint64_t usb:1;
4278 uint64_t timer:4;
4279 uint64_t reserved_51_51:1;
4280 uint64_t ipd_drp:1;
4281 uint64_t gmx_drp:2;
4282 uint64_t trace:1;
4283 uint64_t rml:1;
4284 uint64_t twsi:1;
4285 uint64_t reserved_44_44:1;
4286 uint64_t pci_msi:4;
4287 uint64_t pci_int:4;
4288 uint64_t uart:2;
4289 uint64_t mbox:2;
4290 uint64_t gpio:16;
4291 uint64_t workq:16;
4292#else
4293 uint64_t workq:16;
4294 uint64_t gpio:16;
4295 uint64_t mbox:2;
4296 uint64_t uart:2;
4297 uint64_t pci_int:4;
4298 uint64_t pci_msi:4;
4299 uint64_t reserved_44_44:1;
4300 uint64_t twsi:1;
4301 uint64_t rml:1;
4302 uint64_t trace:1;
4303 uint64_t gmx_drp:2;
4304 uint64_t ipd_drp:1;
4305 uint64_t reserved_51_51:1;
4306 uint64_t timer:4;
4307 uint64_t usb:1;
4308 uint64_t reserved_57_57:1;
4309 uint64_t mpi:1;
4310 uint64_t twsi2:1;
4311 uint64_t powiq:1;
4312 uint64_t ipdppthr:1;
4313 uint64_t mii:1;
4314 uint64_t bootdma:1;
4315#endif
4316 } cn66xx;
4317 struct cvmx_ciu_intx_en4_0_w1c_cnf71xx {
4318#ifdef __BIG_ENDIAN_BITFIELD
4319 uint64_t bootdma:1;
4320 uint64_t reserved_62_62:1;
4321 uint64_t ipdppthr:1;
4322 uint64_t powiq:1;
4323 uint64_t twsi2:1;
4324 uint64_t mpi:1;
4325 uint64_t pcm:1;
4326 uint64_t usb:1;
4327 uint64_t timer:4;
4328 uint64_t reserved_51_51:1;
4329 uint64_t ipd_drp:1;
4330 uint64_t reserved_49_49:1;
4331 uint64_t gmx_drp:1;
4332 uint64_t trace:1;
4333 uint64_t rml:1;
4334 uint64_t twsi:1;
4335 uint64_t reserved_44_44:1;
4336 uint64_t pci_msi:4;
4337 uint64_t pci_int:4;
4338 uint64_t uart:2;
4339 uint64_t mbox:2;
4340 uint64_t gpio:16;
4341 uint64_t workq:16;
4342#else
4343 uint64_t workq:16;
4344 uint64_t gpio:16;
4345 uint64_t mbox:2;
4346 uint64_t uart:2;
4347 uint64_t pci_int:4;
4348 uint64_t pci_msi:4;
4349 uint64_t reserved_44_44:1;
4350 uint64_t twsi:1;
4351 uint64_t rml:1;
4352 uint64_t trace:1;
4353 uint64_t gmx_drp:1;
4354 uint64_t reserved_49_49:1;
4355 uint64_t ipd_drp:1;
4356 uint64_t reserved_51_51:1;
4357 uint64_t timer:4;
4358 uint64_t usb:1;
4359 uint64_t pcm:1;
4360 uint64_t mpi:1;
4361 uint64_t twsi2:1;
4362 uint64_t powiq:1;
4363 uint64_t ipdppthr:1;
4364 uint64_t reserved_62_62:1;
4365 uint64_t bootdma:1;
4366#endif
4367 } cnf71xx;
1012}; 4368};
1013 4369
1014union cvmx_ciu_intx_en4_0_w1s { 4370union cvmx_ciu_intx_en4_0_w1s {
1015 uint64_t u64; 4371 uint64_t u64;
1016 struct cvmx_ciu_intx_en4_0_w1s_s { 4372 struct cvmx_ciu_intx_en4_0_w1s_s {
4373#ifdef __BIG_ENDIAN_BITFIELD
1017 uint64_t bootdma:1; 4374 uint64_t bootdma:1;
1018 uint64_t mii:1; 4375 uint64_t mii:1;
1019 uint64_t ipdppthr:1; 4376 uint64_t ipdppthr:1;
1020 uint64_t powiq:1; 4377 uint64_t powiq:1;
1021 uint64_t twsi2:1; 4378 uint64_t twsi2:1;
1022 uint64_t reserved_57_58:2; 4379 uint64_t mpi:1;
4380 uint64_t pcm:1;
1023 uint64_t usb:1; 4381 uint64_t usb:1;
1024 uint64_t timer:4; 4382 uint64_t timer:4;
1025 uint64_t key_zero:1; 4383 uint64_t key_zero:1;
@@ -1035,8 +4393,33 @@ union cvmx_ciu_intx_en4_0_w1s {
1035 uint64_t mbox:2; 4393 uint64_t mbox:2;
1036 uint64_t gpio:16; 4394 uint64_t gpio:16;
1037 uint64_t workq:16; 4395 uint64_t workq:16;
4396#else
4397 uint64_t workq:16;
4398 uint64_t gpio:16;
4399 uint64_t mbox:2;
4400 uint64_t uart:2;
4401 uint64_t pci_int:4;
4402 uint64_t pci_msi:4;
4403 uint64_t reserved_44_44:1;
4404 uint64_t twsi:1;
4405 uint64_t rml:1;
4406 uint64_t trace:1;
4407 uint64_t gmx_drp:2;
4408 uint64_t ipd_drp:1;
4409 uint64_t key_zero:1;
4410 uint64_t timer:4;
4411 uint64_t usb:1;
4412 uint64_t pcm:1;
4413 uint64_t mpi:1;
4414 uint64_t twsi2:1;
4415 uint64_t powiq:1;
4416 uint64_t ipdppthr:1;
4417 uint64_t mii:1;
4418 uint64_t bootdma:1;
4419#endif
1038 } s; 4420 } s;
1039 struct cvmx_ciu_intx_en4_0_w1s_cn52xx { 4421 struct cvmx_ciu_intx_en4_0_w1s_cn52xx {
4422#ifdef __BIG_ENDIAN_BITFIELD
1040 uint64_t bootdma:1; 4423 uint64_t bootdma:1;
1041 uint64_t mii:1; 4424 uint64_t mii:1;
1042 uint64_t ipdppthr:1; 4425 uint64_t ipdppthr:1;
@@ -1059,9 +4442,80 @@ union cvmx_ciu_intx_en4_0_w1s {
1059 uint64_t mbox:2; 4442 uint64_t mbox:2;
1060 uint64_t gpio:16; 4443 uint64_t gpio:16;
1061 uint64_t workq:16; 4444 uint64_t workq:16;
4445#else
4446 uint64_t workq:16;
4447 uint64_t gpio:16;
4448 uint64_t mbox:2;
4449 uint64_t uart:2;
4450 uint64_t pci_int:4;
4451 uint64_t pci_msi:4;
4452 uint64_t reserved_44_44:1;
4453 uint64_t twsi:1;
4454 uint64_t rml:1;
4455 uint64_t trace:1;
4456 uint64_t gmx_drp:1;
4457 uint64_t reserved_49_49:1;
4458 uint64_t ipd_drp:1;
4459 uint64_t reserved_51_51:1;
4460 uint64_t timer:4;
4461 uint64_t usb:1;
4462 uint64_t reserved_57_58:2;
4463 uint64_t twsi2:1;
4464 uint64_t powiq:1;
4465 uint64_t ipdppthr:1;
4466 uint64_t mii:1;
4467 uint64_t bootdma:1;
4468#endif
1062 } cn52xx; 4469 } cn52xx;
1063 struct cvmx_ciu_intx_en4_0_w1s_s cn56xx; 4470 struct cvmx_ciu_intx_en4_0_w1s_cn56xx {
4471#ifdef __BIG_ENDIAN_BITFIELD
4472 uint64_t bootdma:1;
4473 uint64_t mii:1;
4474 uint64_t ipdppthr:1;
4475 uint64_t powiq:1;
4476 uint64_t twsi2:1;
4477 uint64_t reserved_57_58:2;
4478 uint64_t usb:1;
4479 uint64_t timer:4;
4480 uint64_t key_zero:1;
4481 uint64_t ipd_drp:1;
4482 uint64_t gmx_drp:2;
4483 uint64_t trace:1;
4484 uint64_t rml:1;
4485 uint64_t twsi:1;
4486 uint64_t reserved_44_44:1;
4487 uint64_t pci_msi:4;
4488 uint64_t pci_int:4;
4489 uint64_t uart:2;
4490 uint64_t mbox:2;
4491 uint64_t gpio:16;
4492 uint64_t workq:16;
4493#else
4494 uint64_t workq:16;
4495 uint64_t gpio:16;
4496 uint64_t mbox:2;
4497 uint64_t uart:2;
4498 uint64_t pci_int:4;
4499 uint64_t pci_msi:4;
4500 uint64_t reserved_44_44:1;
4501 uint64_t twsi:1;
4502 uint64_t rml:1;
4503 uint64_t trace:1;
4504 uint64_t gmx_drp:2;
4505 uint64_t ipd_drp:1;
4506 uint64_t key_zero:1;
4507 uint64_t timer:4;
4508 uint64_t usb:1;
4509 uint64_t reserved_57_58:2;
4510 uint64_t twsi2:1;
4511 uint64_t powiq:1;
4512 uint64_t ipdppthr:1;
4513 uint64_t mii:1;
4514 uint64_t bootdma:1;
4515#endif
4516 } cn56xx;
1064 struct cvmx_ciu_intx_en4_0_w1s_cn58xx { 4517 struct cvmx_ciu_intx_en4_0_w1s_cn58xx {
4518#ifdef __BIG_ENDIAN_BITFIELD
1065 uint64_t reserved_56_63:8; 4519 uint64_t reserved_56_63:8;
1066 uint64_t timer:4; 4520 uint64_t timer:4;
1067 uint64_t key_zero:1; 4521 uint64_t key_zero:1;
@@ -1077,16 +4531,186 @@ union cvmx_ciu_intx_en4_0_w1s {
1077 uint64_t mbox:2; 4531 uint64_t mbox:2;
1078 uint64_t gpio:16; 4532 uint64_t gpio:16;
1079 uint64_t workq:16; 4533 uint64_t workq:16;
4534#else
4535 uint64_t workq:16;
4536 uint64_t gpio:16;
4537 uint64_t mbox:2;
4538 uint64_t uart:2;
4539 uint64_t pci_int:4;
4540 uint64_t pci_msi:4;
4541 uint64_t reserved_44_44:1;
4542 uint64_t twsi:1;
4543 uint64_t rml:1;
4544 uint64_t trace:1;
4545 uint64_t gmx_drp:2;
4546 uint64_t ipd_drp:1;
4547 uint64_t key_zero:1;
4548 uint64_t timer:4;
4549 uint64_t reserved_56_63:8;
4550#endif
1080 } cn58xx; 4551 } cn58xx;
4552 struct cvmx_ciu_intx_en4_0_w1s_cn61xx {
4553#ifdef __BIG_ENDIAN_BITFIELD
4554 uint64_t bootdma:1;
4555 uint64_t mii:1;
4556 uint64_t ipdppthr:1;
4557 uint64_t powiq:1;
4558 uint64_t twsi2:1;
4559 uint64_t mpi:1;
4560 uint64_t pcm:1;
4561 uint64_t usb:1;
4562 uint64_t timer:4;
4563 uint64_t reserved_51_51:1;
4564 uint64_t ipd_drp:1;
4565 uint64_t gmx_drp:2;
4566 uint64_t trace:1;
4567 uint64_t rml:1;
4568 uint64_t twsi:1;
4569 uint64_t reserved_44_44:1;
4570 uint64_t pci_msi:4;
4571 uint64_t pci_int:4;
4572 uint64_t uart:2;
4573 uint64_t mbox:2;
4574 uint64_t gpio:16;
4575 uint64_t workq:16;
4576#else
4577 uint64_t workq:16;
4578 uint64_t gpio:16;
4579 uint64_t mbox:2;
4580 uint64_t uart:2;
4581 uint64_t pci_int:4;
4582 uint64_t pci_msi:4;
4583 uint64_t reserved_44_44:1;
4584 uint64_t twsi:1;
4585 uint64_t rml:1;
4586 uint64_t trace:1;
4587 uint64_t gmx_drp:2;
4588 uint64_t ipd_drp:1;
4589 uint64_t reserved_51_51:1;
4590 uint64_t timer:4;
4591 uint64_t usb:1;
4592 uint64_t pcm:1;
4593 uint64_t mpi:1;
4594 uint64_t twsi2:1;
4595 uint64_t powiq:1;
4596 uint64_t ipdppthr:1;
4597 uint64_t mii:1;
4598 uint64_t bootdma:1;
4599#endif
4600 } cn61xx;
1081 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx; 4601 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx;
1082 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xxp1; 4602 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xxp1;
4603 struct cvmx_ciu_intx_en4_0_w1s_cn66xx {
4604#ifdef __BIG_ENDIAN_BITFIELD
4605 uint64_t bootdma:1;
4606 uint64_t mii:1;
4607 uint64_t ipdppthr:1;
4608 uint64_t powiq:1;
4609 uint64_t twsi2:1;
4610 uint64_t mpi:1;
4611 uint64_t reserved_57_57:1;
4612 uint64_t usb:1;
4613 uint64_t timer:4;
4614 uint64_t reserved_51_51:1;
4615 uint64_t ipd_drp:1;
4616 uint64_t gmx_drp:2;
4617 uint64_t trace:1;
4618 uint64_t rml:1;
4619 uint64_t twsi:1;
4620 uint64_t reserved_44_44:1;
4621 uint64_t pci_msi:4;
4622 uint64_t pci_int:4;
4623 uint64_t uart:2;
4624 uint64_t mbox:2;
4625 uint64_t gpio:16;
4626 uint64_t workq:16;
4627#else
4628 uint64_t workq:16;
4629 uint64_t gpio:16;
4630 uint64_t mbox:2;
4631 uint64_t uart:2;
4632 uint64_t pci_int:4;
4633 uint64_t pci_msi:4;
4634 uint64_t reserved_44_44:1;
4635 uint64_t twsi:1;
4636 uint64_t rml:1;
4637 uint64_t trace:1;
4638 uint64_t gmx_drp:2;
4639 uint64_t ipd_drp:1;
4640 uint64_t reserved_51_51:1;
4641 uint64_t timer:4;
4642 uint64_t usb:1;
4643 uint64_t reserved_57_57:1;
4644 uint64_t mpi:1;
4645 uint64_t twsi2:1;
4646 uint64_t powiq:1;
4647 uint64_t ipdppthr:1;
4648 uint64_t mii:1;
4649 uint64_t bootdma:1;
4650#endif
4651 } cn66xx;
4652 struct cvmx_ciu_intx_en4_0_w1s_cnf71xx {
4653#ifdef __BIG_ENDIAN_BITFIELD
4654 uint64_t bootdma:1;
4655 uint64_t reserved_62_62:1;
4656 uint64_t ipdppthr:1;
4657 uint64_t powiq:1;
4658 uint64_t twsi2:1;
4659 uint64_t mpi:1;
4660 uint64_t pcm:1;
4661 uint64_t usb:1;
4662 uint64_t timer:4;
4663 uint64_t reserved_51_51:1;
4664 uint64_t ipd_drp:1;
4665 uint64_t reserved_49_49:1;
4666 uint64_t gmx_drp:1;
4667 uint64_t trace:1;
4668 uint64_t rml:1;
4669 uint64_t twsi:1;
4670 uint64_t reserved_44_44:1;
4671 uint64_t pci_msi:4;
4672 uint64_t pci_int:4;
4673 uint64_t uart:2;
4674 uint64_t mbox:2;
4675 uint64_t gpio:16;
4676 uint64_t workq:16;
4677#else
4678 uint64_t workq:16;
4679 uint64_t gpio:16;
4680 uint64_t mbox:2;
4681 uint64_t uart:2;
4682 uint64_t pci_int:4;
4683 uint64_t pci_msi:4;
4684 uint64_t reserved_44_44:1;
4685 uint64_t twsi:1;
4686 uint64_t rml:1;
4687 uint64_t trace:1;
4688 uint64_t gmx_drp:1;
4689 uint64_t reserved_49_49:1;
4690 uint64_t ipd_drp:1;
4691 uint64_t reserved_51_51:1;
4692 uint64_t timer:4;
4693 uint64_t usb:1;
4694 uint64_t pcm:1;
4695 uint64_t mpi:1;
4696 uint64_t twsi2:1;
4697 uint64_t powiq:1;
4698 uint64_t ipdppthr:1;
4699 uint64_t reserved_62_62:1;
4700 uint64_t bootdma:1;
4701#endif
4702 } cnf71xx;
1083}; 4703};
1084 4704
1085union cvmx_ciu_intx_en4_1 { 4705union cvmx_ciu_intx_en4_1 {
1086 uint64_t u64; 4706 uint64_t u64;
1087 struct cvmx_ciu_intx_en4_1_s { 4707 struct cvmx_ciu_intx_en4_1_s {
4708#ifdef __BIG_ENDIAN_BITFIELD
1088 uint64_t rst:1; 4709 uint64_t rst:1;
1089 uint64_t reserved_57_62:6; 4710 uint64_t reserved_62_62:1;
4711 uint64_t srio3:1;
4712 uint64_t srio2:1;
4713 uint64_t reserved_57_59:3;
1090 uint64_t dfm:1; 4714 uint64_t dfm:1;
1091 uint64_t reserved_53_55:3; 4715 uint64_t reserved_53_55:3;
1092 uint64_t lmc0:1; 4716 uint64_t lmc0:1;
@@ -1096,7 +4720,10 @@ union cvmx_ciu_intx_en4_1 {
1096 uint64_t pem0:1; 4720 uint64_t pem0:1;
1097 uint64_t ptp:1; 4721 uint64_t ptp:1;
1098 uint64_t agl:1; 4722 uint64_t agl:1;
1099 uint64_t reserved_37_45:9; 4723 uint64_t reserved_41_45:5;
4724 uint64_t dpi_dma:1;
4725 uint64_t reserved_38_39:2;
4726 uint64_t agx1:1;
1100 uint64_t agx0:1; 4727 uint64_t agx0:1;
1101 uint64_t dpi:1; 4728 uint64_t dpi:1;
1102 uint64_t sli:1; 4729 uint64_t sli:1;
@@ -1119,12 +4746,60 @@ union cvmx_ciu_intx_en4_1 {
1119 uint64_t usb1:1; 4746 uint64_t usb1:1;
1120 uint64_t uart2:1; 4747 uint64_t uart2:1;
1121 uint64_t wdog:16; 4748 uint64_t wdog:16;
4749#else
4750 uint64_t wdog:16;
4751 uint64_t uart2:1;
4752 uint64_t usb1:1;
4753 uint64_t mii1:1;
4754 uint64_t nand:1;
4755 uint64_t mio:1;
4756 uint64_t iob:1;
4757 uint64_t fpa:1;
4758 uint64_t pow:1;
4759 uint64_t l2c:1;
4760 uint64_t ipd:1;
4761 uint64_t pip:1;
4762 uint64_t pko:1;
4763 uint64_t zip:1;
4764 uint64_t tim:1;
4765 uint64_t rad:1;
4766 uint64_t key:1;
4767 uint64_t dfa:1;
4768 uint64_t usb:1;
4769 uint64_t sli:1;
4770 uint64_t dpi:1;
4771 uint64_t agx0:1;
4772 uint64_t agx1:1;
4773 uint64_t reserved_38_39:2;
4774 uint64_t dpi_dma:1;
4775 uint64_t reserved_41_45:5;
4776 uint64_t agl:1;
4777 uint64_t ptp:1;
4778 uint64_t pem0:1;
4779 uint64_t pem1:1;
4780 uint64_t srio0:1;
4781 uint64_t srio1:1;
4782 uint64_t lmc0:1;
4783 uint64_t reserved_53_55:3;
4784 uint64_t dfm:1;
4785 uint64_t reserved_57_59:3;
4786 uint64_t srio2:1;
4787 uint64_t srio3:1;
4788 uint64_t reserved_62_62:1;
4789 uint64_t rst:1;
4790#endif
1122 } s; 4791 } s;
1123 struct cvmx_ciu_intx_en4_1_cn50xx { 4792 struct cvmx_ciu_intx_en4_1_cn50xx {
4793#ifdef __BIG_ENDIAN_BITFIELD
1124 uint64_t reserved_2_63:62; 4794 uint64_t reserved_2_63:62;
1125 uint64_t wdog:2; 4795 uint64_t wdog:2;
4796#else
4797 uint64_t wdog:2;
4798 uint64_t reserved_2_63:62;
4799#endif
1126 } cn50xx; 4800 } cn50xx;
1127 struct cvmx_ciu_intx_en4_1_cn52xx { 4801 struct cvmx_ciu_intx_en4_1_cn52xx {
4802#ifdef __BIG_ENDIAN_BITFIELD
1128 uint64_t reserved_20_63:44; 4803 uint64_t reserved_20_63:44;
1129 uint64_t nand:1; 4804 uint64_t nand:1;
1130 uint64_t mii1:1; 4805 uint64_t mii1:1;
@@ -1132,26 +4807,126 @@ union cvmx_ciu_intx_en4_1 {
1132 uint64_t uart2:1; 4807 uint64_t uart2:1;
1133 uint64_t reserved_4_15:12; 4808 uint64_t reserved_4_15:12;
1134 uint64_t wdog:4; 4809 uint64_t wdog:4;
4810#else
4811 uint64_t wdog:4;
4812 uint64_t reserved_4_15:12;
4813 uint64_t uart2:1;
4814 uint64_t usb1:1;
4815 uint64_t mii1:1;
4816 uint64_t nand:1;
4817 uint64_t reserved_20_63:44;
4818#endif
1135 } cn52xx; 4819 } cn52xx;
1136 struct cvmx_ciu_intx_en4_1_cn52xxp1 { 4820 struct cvmx_ciu_intx_en4_1_cn52xxp1 {
4821#ifdef __BIG_ENDIAN_BITFIELD
1137 uint64_t reserved_19_63:45; 4822 uint64_t reserved_19_63:45;
1138 uint64_t mii1:1; 4823 uint64_t mii1:1;
1139 uint64_t usb1:1; 4824 uint64_t usb1:1;
1140 uint64_t uart2:1; 4825 uint64_t uart2:1;
1141 uint64_t reserved_4_15:12; 4826 uint64_t reserved_4_15:12;
1142 uint64_t wdog:4; 4827 uint64_t wdog:4;
4828#else
4829 uint64_t wdog:4;
4830 uint64_t reserved_4_15:12;
4831 uint64_t uart2:1;
4832 uint64_t usb1:1;
4833 uint64_t mii1:1;
4834 uint64_t reserved_19_63:45;
4835#endif
1143 } cn52xxp1; 4836 } cn52xxp1;
1144 struct cvmx_ciu_intx_en4_1_cn56xx { 4837 struct cvmx_ciu_intx_en4_1_cn56xx {
4838#ifdef __BIG_ENDIAN_BITFIELD
1145 uint64_t reserved_12_63:52; 4839 uint64_t reserved_12_63:52;
1146 uint64_t wdog:12; 4840 uint64_t wdog:12;
4841#else
4842 uint64_t wdog:12;
4843 uint64_t reserved_12_63:52;
4844#endif
1147 } cn56xx; 4845 } cn56xx;
1148 struct cvmx_ciu_intx_en4_1_cn56xx cn56xxp1; 4846 struct cvmx_ciu_intx_en4_1_cn56xx cn56xxp1;
1149 struct cvmx_ciu_intx_en4_1_cn58xx { 4847 struct cvmx_ciu_intx_en4_1_cn58xx {
4848#ifdef __BIG_ENDIAN_BITFIELD
1150 uint64_t reserved_16_63:48; 4849 uint64_t reserved_16_63:48;
1151 uint64_t wdog:16; 4850 uint64_t wdog:16;
4851#else
4852 uint64_t wdog:16;
4853 uint64_t reserved_16_63:48;
4854#endif
1152 } cn58xx; 4855 } cn58xx;
1153 struct cvmx_ciu_intx_en4_1_cn58xx cn58xxp1; 4856 struct cvmx_ciu_intx_en4_1_cn58xx cn58xxp1;
4857 struct cvmx_ciu_intx_en4_1_cn61xx {
4858#ifdef __BIG_ENDIAN_BITFIELD
4859 uint64_t rst:1;
4860 uint64_t reserved_53_62:10;
4861 uint64_t lmc0:1;
4862 uint64_t reserved_50_51:2;
4863 uint64_t pem1:1;
4864 uint64_t pem0:1;
4865 uint64_t ptp:1;
4866 uint64_t agl:1;
4867 uint64_t reserved_41_45:5;
4868 uint64_t dpi_dma:1;
4869 uint64_t reserved_38_39:2;
4870 uint64_t agx1:1;
4871 uint64_t agx0:1;
4872 uint64_t dpi:1;
4873 uint64_t sli:1;
4874 uint64_t usb:1;
4875 uint64_t dfa:1;
4876 uint64_t key:1;
4877 uint64_t rad:1;
4878 uint64_t tim:1;
4879 uint64_t zip:1;
4880 uint64_t pko:1;
4881 uint64_t pip:1;
4882 uint64_t ipd:1;
4883 uint64_t l2c:1;
4884 uint64_t pow:1;
4885 uint64_t fpa:1;
4886 uint64_t iob:1;
4887 uint64_t mio:1;
4888 uint64_t nand:1;
4889 uint64_t mii1:1;
4890 uint64_t reserved_4_17:14;
4891 uint64_t wdog:4;
4892#else
4893 uint64_t wdog:4;
4894 uint64_t reserved_4_17:14;
4895 uint64_t mii1:1;
4896 uint64_t nand:1;
4897 uint64_t mio:1;
4898 uint64_t iob:1;
4899 uint64_t fpa:1;
4900 uint64_t pow:1;
4901 uint64_t l2c:1;
4902 uint64_t ipd:1;
4903 uint64_t pip:1;
4904 uint64_t pko:1;
4905 uint64_t zip:1;
4906 uint64_t tim:1;
4907 uint64_t rad:1;
4908 uint64_t key:1;
4909 uint64_t dfa:1;
4910 uint64_t usb:1;
4911 uint64_t sli:1;
4912 uint64_t dpi:1;
4913 uint64_t agx0:1;
4914 uint64_t agx1:1;
4915 uint64_t reserved_38_39:2;
4916 uint64_t dpi_dma:1;
4917 uint64_t reserved_41_45:5;
4918 uint64_t agl:1;
4919 uint64_t ptp:1;
4920 uint64_t pem0:1;
4921 uint64_t pem1:1;
4922 uint64_t reserved_50_51:2;
4923 uint64_t lmc0:1;
4924 uint64_t reserved_53_62:10;
4925 uint64_t rst:1;
4926#endif
4927 } cn61xx;
1154 struct cvmx_ciu_intx_en4_1_cn63xx { 4928 struct cvmx_ciu_intx_en4_1_cn63xx {
4929#ifdef __BIG_ENDIAN_BITFIELD
1155 uint64_t rst:1; 4930 uint64_t rst:1;
1156 uint64_t reserved_57_62:6; 4931 uint64_t reserved_57_62:6;
1157 uint64_t dfm:1; 4932 uint64_t dfm:1;
@@ -1185,15 +4960,198 @@ union cvmx_ciu_intx_en4_1 {
1185 uint64_t mii1:1; 4960 uint64_t mii1:1;
1186 uint64_t reserved_6_17:12; 4961 uint64_t reserved_6_17:12;
1187 uint64_t wdog:6; 4962 uint64_t wdog:6;
4963#else
4964 uint64_t wdog:6;
4965 uint64_t reserved_6_17:12;
4966 uint64_t mii1:1;
4967 uint64_t nand:1;
4968 uint64_t mio:1;
4969 uint64_t iob:1;
4970 uint64_t fpa:1;
4971 uint64_t pow:1;
4972 uint64_t l2c:1;
4973 uint64_t ipd:1;
4974 uint64_t pip:1;
4975 uint64_t pko:1;
4976 uint64_t zip:1;
4977 uint64_t tim:1;
4978 uint64_t rad:1;
4979 uint64_t key:1;
4980 uint64_t dfa:1;
4981 uint64_t usb:1;
4982 uint64_t sli:1;
4983 uint64_t dpi:1;
4984 uint64_t agx0:1;
4985 uint64_t reserved_37_45:9;
4986 uint64_t agl:1;
4987 uint64_t ptp:1;
4988 uint64_t pem0:1;
4989 uint64_t pem1:1;
4990 uint64_t srio0:1;
4991 uint64_t srio1:1;
4992 uint64_t lmc0:1;
4993 uint64_t reserved_53_55:3;
4994 uint64_t dfm:1;
4995 uint64_t reserved_57_62:6;
4996 uint64_t rst:1;
4997#endif
1188 } cn63xx; 4998 } cn63xx;
1189 struct cvmx_ciu_intx_en4_1_cn63xx cn63xxp1; 4999 struct cvmx_ciu_intx_en4_1_cn63xx cn63xxp1;
5000 struct cvmx_ciu_intx_en4_1_cn66xx {
5001#ifdef __BIG_ENDIAN_BITFIELD
5002 uint64_t rst:1;
5003 uint64_t reserved_62_62:1;
5004 uint64_t srio3:1;
5005 uint64_t srio2:1;
5006 uint64_t reserved_57_59:3;
5007 uint64_t dfm:1;
5008 uint64_t reserved_53_55:3;
5009 uint64_t lmc0:1;
5010 uint64_t reserved_51_51:1;
5011 uint64_t srio0:1;
5012 uint64_t pem1:1;
5013 uint64_t pem0:1;
5014 uint64_t ptp:1;
5015 uint64_t agl:1;
5016 uint64_t reserved_38_45:8;
5017 uint64_t agx1:1;
5018 uint64_t agx0:1;
5019 uint64_t dpi:1;
5020 uint64_t sli:1;
5021 uint64_t usb:1;
5022 uint64_t dfa:1;
5023 uint64_t key:1;
5024 uint64_t rad:1;
5025 uint64_t tim:1;
5026 uint64_t zip:1;
5027 uint64_t pko:1;
5028 uint64_t pip:1;
5029 uint64_t ipd:1;
5030 uint64_t l2c:1;
5031 uint64_t pow:1;
5032 uint64_t fpa:1;
5033 uint64_t iob:1;
5034 uint64_t mio:1;
5035 uint64_t nand:1;
5036 uint64_t mii1:1;
5037 uint64_t reserved_10_17:8;
5038 uint64_t wdog:10;
5039#else
5040 uint64_t wdog:10;
5041 uint64_t reserved_10_17:8;
5042 uint64_t mii1:1;
5043 uint64_t nand:1;
5044 uint64_t mio:1;
5045 uint64_t iob:1;
5046 uint64_t fpa:1;
5047 uint64_t pow:1;
5048 uint64_t l2c:1;
5049 uint64_t ipd:1;
5050 uint64_t pip:1;
5051 uint64_t pko:1;
5052 uint64_t zip:1;
5053 uint64_t tim:1;
5054 uint64_t rad:1;
5055 uint64_t key:1;
5056 uint64_t dfa:1;
5057 uint64_t usb:1;
5058 uint64_t sli:1;
5059 uint64_t dpi:1;
5060 uint64_t agx0:1;
5061 uint64_t agx1:1;
5062 uint64_t reserved_38_45:8;
5063 uint64_t agl:1;
5064 uint64_t ptp:1;
5065 uint64_t pem0:1;
5066 uint64_t pem1:1;
5067 uint64_t srio0:1;
5068 uint64_t reserved_51_51:1;
5069 uint64_t lmc0:1;
5070 uint64_t reserved_53_55:3;
5071 uint64_t dfm:1;
5072 uint64_t reserved_57_59:3;
5073 uint64_t srio2:1;
5074 uint64_t srio3:1;
5075 uint64_t reserved_62_62:1;
5076 uint64_t rst:1;
5077#endif
5078 } cn66xx;
5079 struct cvmx_ciu_intx_en4_1_cnf71xx {
5080#ifdef __BIG_ENDIAN_BITFIELD
5081 uint64_t rst:1;
5082 uint64_t reserved_53_62:10;
5083 uint64_t lmc0:1;
5084 uint64_t reserved_50_51:2;
5085 uint64_t pem1:1;
5086 uint64_t pem0:1;
5087 uint64_t ptp:1;
5088 uint64_t reserved_41_46:6;
5089 uint64_t dpi_dma:1;
5090 uint64_t reserved_37_39:3;
5091 uint64_t agx0:1;
5092 uint64_t dpi:1;
5093 uint64_t sli:1;
5094 uint64_t usb:1;
5095 uint64_t reserved_32_32:1;
5096 uint64_t key:1;
5097 uint64_t rad:1;
5098 uint64_t tim:1;
5099 uint64_t reserved_28_28:1;
5100 uint64_t pko:1;
5101 uint64_t pip:1;
5102 uint64_t ipd:1;
5103 uint64_t l2c:1;
5104 uint64_t pow:1;
5105 uint64_t fpa:1;
5106 uint64_t iob:1;
5107 uint64_t mio:1;
5108 uint64_t nand:1;
5109 uint64_t reserved_4_18:15;
5110 uint64_t wdog:4;
5111#else
5112 uint64_t wdog:4;
5113 uint64_t reserved_4_18:15;
5114 uint64_t nand:1;
5115 uint64_t mio:1;
5116 uint64_t iob:1;
5117 uint64_t fpa:1;
5118 uint64_t pow:1;
5119 uint64_t l2c:1;
5120 uint64_t ipd:1;
5121 uint64_t pip:1;
5122 uint64_t pko:1;
5123 uint64_t reserved_28_28:1;
5124 uint64_t tim:1;
5125 uint64_t rad:1;
5126 uint64_t key:1;
5127 uint64_t reserved_32_32:1;
5128 uint64_t usb:1;
5129 uint64_t sli:1;
5130 uint64_t dpi:1;
5131 uint64_t agx0:1;
5132 uint64_t reserved_37_39:3;
5133 uint64_t dpi_dma:1;
5134 uint64_t reserved_41_46:6;
5135 uint64_t ptp:1;
5136 uint64_t pem0:1;
5137 uint64_t pem1:1;
5138 uint64_t reserved_50_51:2;
5139 uint64_t lmc0:1;
5140 uint64_t reserved_53_62:10;
5141 uint64_t rst:1;
5142#endif
5143 } cnf71xx;
1190}; 5144};
1191 5145
1192union cvmx_ciu_intx_en4_1_w1c { 5146union cvmx_ciu_intx_en4_1_w1c {
1193 uint64_t u64; 5147 uint64_t u64;
1194 struct cvmx_ciu_intx_en4_1_w1c_s { 5148 struct cvmx_ciu_intx_en4_1_w1c_s {
5149#ifdef __BIG_ENDIAN_BITFIELD
1195 uint64_t rst:1; 5150 uint64_t rst:1;
1196 uint64_t reserved_57_62:6; 5151 uint64_t reserved_62_62:1;
5152 uint64_t srio3:1;
5153 uint64_t srio2:1;
5154 uint64_t reserved_57_59:3;
1197 uint64_t dfm:1; 5155 uint64_t dfm:1;
1198 uint64_t reserved_53_55:3; 5156 uint64_t reserved_53_55:3;
1199 uint64_t lmc0:1; 5157 uint64_t lmc0:1;
@@ -1203,7 +5161,10 @@ union cvmx_ciu_intx_en4_1_w1c {
1203 uint64_t pem0:1; 5161 uint64_t pem0:1;
1204 uint64_t ptp:1; 5162 uint64_t ptp:1;
1205 uint64_t agl:1; 5163 uint64_t agl:1;
1206 uint64_t reserved_37_45:9; 5164 uint64_t reserved_41_45:5;
5165 uint64_t dpi_dma:1;
5166 uint64_t reserved_38_39:2;
5167 uint64_t agx1:1;
1207 uint64_t agx0:1; 5168 uint64_t agx0:1;
1208 uint64_t dpi:1; 5169 uint64_t dpi:1;
1209 uint64_t sli:1; 5170 uint64_t sli:1;
@@ -1226,8 +5187,51 @@ union cvmx_ciu_intx_en4_1_w1c {
1226 uint64_t usb1:1; 5187 uint64_t usb1:1;
1227 uint64_t uart2:1; 5188 uint64_t uart2:1;
1228 uint64_t wdog:16; 5189 uint64_t wdog:16;
5190#else
5191 uint64_t wdog:16;
5192 uint64_t uart2:1;
5193 uint64_t usb1:1;
5194 uint64_t mii1:1;
5195 uint64_t nand:1;
5196 uint64_t mio:1;
5197 uint64_t iob:1;
5198 uint64_t fpa:1;
5199 uint64_t pow:1;
5200 uint64_t l2c:1;
5201 uint64_t ipd:1;
5202 uint64_t pip:1;
5203 uint64_t pko:1;
5204 uint64_t zip:1;
5205 uint64_t tim:1;
5206 uint64_t rad:1;
5207 uint64_t key:1;
5208 uint64_t dfa:1;
5209 uint64_t usb:1;
5210 uint64_t sli:1;
5211 uint64_t dpi:1;
5212 uint64_t agx0:1;
5213 uint64_t agx1:1;
5214 uint64_t reserved_38_39:2;
5215 uint64_t dpi_dma:1;
5216 uint64_t reserved_41_45:5;
5217 uint64_t agl:1;
5218 uint64_t ptp:1;
5219 uint64_t pem0:1;
5220 uint64_t pem1:1;
5221 uint64_t srio0:1;
5222 uint64_t srio1:1;
5223 uint64_t lmc0:1;
5224 uint64_t reserved_53_55:3;
5225 uint64_t dfm:1;
5226 uint64_t reserved_57_59:3;
5227 uint64_t srio2:1;
5228 uint64_t srio3:1;
5229 uint64_t reserved_62_62:1;
5230 uint64_t rst:1;
5231#endif
1229 } s; 5232 } s;
1230 struct cvmx_ciu_intx_en4_1_w1c_cn52xx { 5233 struct cvmx_ciu_intx_en4_1_w1c_cn52xx {
5234#ifdef __BIG_ENDIAN_BITFIELD
1231 uint64_t reserved_20_63:44; 5235 uint64_t reserved_20_63:44;
1232 uint64_t nand:1; 5236 uint64_t nand:1;
1233 uint64_t mii1:1; 5237 uint64_t mii1:1;
@@ -1235,16 +5239,107 @@ union cvmx_ciu_intx_en4_1_w1c {
1235 uint64_t uart2:1; 5239 uint64_t uart2:1;
1236 uint64_t reserved_4_15:12; 5240 uint64_t reserved_4_15:12;
1237 uint64_t wdog:4; 5241 uint64_t wdog:4;
5242#else
5243 uint64_t wdog:4;
5244 uint64_t reserved_4_15:12;
5245 uint64_t uart2:1;
5246 uint64_t usb1:1;
5247 uint64_t mii1:1;
5248 uint64_t nand:1;
5249 uint64_t reserved_20_63:44;
5250#endif
1238 } cn52xx; 5251 } cn52xx;
1239 struct cvmx_ciu_intx_en4_1_w1c_cn56xx { 5252 struct cvmx_ciu_intx_en4_1_w1c_cn56xx {
5253#ifdef __BIG_ENDIAN_BITFIELD
1240 uint64_t reserved_12_63:52; 5254 uint64_t reserved_12_63:52;
1241 uint64_t wdog:12; 5255 uint64_t wdog:12;
5256#else
5257 uint64_t wdog:12;
5258 uint64_t reserved_12_63:52;
5259#endif
1242 } cn56xx; 5260 } cn56xx;
1243 struct cvmx_ciu_intx_en4_1_w1c_cn58xx { 5261 struct cvmx_ciu_intx_en4_1_w1c_cn58xx {
5262#ifdef __BIG_ENDIAN_BITFIELD
1244 uint64_t reserved_16_63:48; 5263 uint64_t reserved_16_63:48;
1245 uint64_t wdog:16; 5264 uint64_t wdog:16;
5265#else
5266 uint64_t wdog:16;
5267 uint64_t reserved_16_63:48;
5268#endif
1246 } cn58xx; 5269 } cn58xx;
5270 struct cvmx_ciu_intx_en4_1_w1c_cn61xx {
5271#ifdef __BIG_ENDIAN_BITFIELD
5272 uint64_t rst:1;
5273 uint64_t reserved_53_62:10;
5274 uint64_t lmc0:1;
5275 uint64_t reserved_50_51:2;
5276 uint64_t pem1:1;
5277 uint64_t pem0:1;
5278 uint64_t ptp:1;
5279 uint64_t agl:1;
5280 uint64_t reserved_41_45:5;
5281 uint64_t dpi_dma:1;
5282 uint64_t reserved_38_39:2;
5283 uint64_t agx1:1;
5284 uint64_t agx0:1;
5285 uint64_t dpi:1;
5286 uint64_t sli:1;
5287 uint64_t usb:1;
5288 uint64_t dfa:1;
5289 uint64_t key:1;
5290 uint64_t rad:1;
5291 uint64_t tim:1;
5292 uint64_t zip:1;
5293 uint64_t pko:1;
5294 uint64_t pip:1;
5295 uint64_t ipd:1;
5296 uint64_t l2c:1;
5297 uint64_t pow:1;
5298 uint64_t fpa:1;
5299 uint64_t iob:1;
5300 uint64_t mio:1;
5301 uint64_t nand:1;
5302 uint64_t mii1:1;
5303 uint64_t reserved_4_17:14;
5304 uint64_t wdog:4;
5305#else
5306 uint64_t wdog:4;
5307 uint64_t reserved_4_17:14;
5308 uint64_t mii1:1;
5309 uint64_t nand:1;
5310 uint64_t mio:1;
5311 uint64_t iob:1;
5312 uint64_t fpa:1;
5313 uint64_t pow:1;
5314 uint64_t l2c:1;
5315 uint64_t ipd:1;
5316 uint64_t pip:1;
5317 uint64_t pko:1;
5318 uint64_t zip:1;
5319 uint64_t tim:1;
5320 uint64_t rad:1;
5321 uint64_t key:1;
5322 uint64_t dfa:1;
5323 uint64_t usb:1;
5324 uint64_t sli:1;
5325 uint64_t dpi:1;
5326 uint64_t agx0:1;
5327 uint64_t agx1:1;
5328 uint64_t reserved_38_39:2;
5329 uint64_t dpi_dma:1;
5330 uint64_t reserved_41_45:5;
5331 uint64_t agl:1;
5332 uint64_t ptp:1;
5333 uint64_t pem0:1;
5334 uint64_t pem1:1;
5335 uint64_t reserved_50_51:2;
5336 uint64_t lmc0:1;
5337 uint64_t reserved_53_62:10;
5338 uint64_t rst:1;
5339#endif
5340 } cn61xx;
1247 struct cvmx_ciu_intx_en4_1_w1c_cn63xx { 5341 struct cvmx_ciu_intx_en4_1_w1c_cn63xx {
5342#ifdef __BIG_ENDIAN_BITFIELD
1248 uint64_t rst:1; 5343 uint64_t rst:1;
1249 uint64_t reserved_57_62:6; 5344 uint64_t reserved_57_62:6;
1250 uint64_t dfm:1; 5345 uint64_t dfm:1;
@@ -1278,15 +5373,198 @@ union cvmx_ciu_intx_en4_1_w1c {
1278 uint64_t mii1:1; 5373 uint64_t mii1:1;
1279 uint64_t reserved_6_17:12; 5374 uint64_t reserved_6_17:12;
1280 uint64_t wdog:6; 5375 uint64_t wdog:6;
5376#else
5377 uint64_t wdog:6;
5378 uint64_t reserved_6_17:12;
5379 uint64_t mii1:1;
5380 uint64_t nand:1;
5381 uint64_t mio:1;
5382 uint64_t iob:1;
5383 uint64_t fpa:1;
5384 uint64_t pow:1;
5385 uint64_t l2c:1;
5386 uint64_t ipd:1;
5387 uint64_t pip:1;
5388 uint64_t pko:1;
5389 uint64_t zip:1;
5390 uint64_t tim:1;
5391 uint64_t rad:1;
5392 uint64_t key:1;
5393 uint64_t dfa:1;
5394 uint64_t usb:1;
5395 uint64_t sli:1;
5396 uint64_t dpi:1;
5397 uint64_t agx0:1;
5398 uint64_t reserved_37_45:9;
5399 uint64_t agl:1;
5400 uint64_t ptp:1;
5401 uint64_t pem0:1;
5402 uint64_t pem1:1;
5403 uint64_t srio0:1;
5404 uint64_t srio1:1;
5405 uint64_t lmc0:1;
5406 uint64_t reserved_53_55:3;
5407 uint64_t dfm:1;
5408 uint64_t reserved_57_62:6;
5409 uint64_t rst:1;
5410#endif
1281 } cn63xx; 5411 } cn63xx;
1282 struct cvmx_ciu_intx_en4_1_w1c_cn63xx cn63xxp1; 5412 struct cvmx_ciu_intx_en4_1_w1c_cn63xx cn63xxp1;
5413 struct cvmx_ciu_intx_en4_1_w1c_cn66xx {
5414#ifdef __BIG_ENDIAN_BITFIELD
5415 uint64_t rst:1;
5416 uint64_t reserved_62_62:1;
5417 uint64_t srio3:1;
5418 uint64_t srio2:1;
5419 uint64_t reserved_57_59:3;
5420 uint64_t dfm:1;
5421 uint64_t reserved_53_55:3;
5422 uint64_t lmc0:1;
5423 uint64_t reserved_51_51:1;
5424 uint64_t srio0:1;
5425 uint64_t pem1:1;
5426 uint64_t pem0:1;
5427 uint64_t ptp:1;
5428 uint64_t agl:1;
5429 uint64_t reserved_38_45:8;
5430 uint64_t agx1:1;
5431 uint64_t agx0:1;
5432 uint64_t dpi:1;
5433 uint64_t sli:1;
5434 uint64_t usb:1;
5435 uint64_t dfa:1;
5436 uint64_t key:1;
5437 uint64_t rad:1;
5438 uint64_t tim:1;
5439 uint64_t zip:1;
5440 uint64_t pko:1;
5441 uint64_t pip:1;
5442 uint64_t ipd:1;
5443 uint64_t l2c:1;
5444 uint64_t pow:1;
5445 uint64_t fpa:1;
5446 uint64_t iob:1;
5447 uint64_t mio:1;
5448 uint64_t nand:1;
5449 uint64_t mii1:1;
5450 uint64_t reserved_10_17:8;
5451 uint64_t wdog:10;
5452#else
5453 uint64_t wdog:10;
5454 uint64_t reserved_10_17:8;
5455 uint64_t mii1:1;
5456 uint64_t nand:1;
5457 uint64_t mio:1;
5458 uint64_t iob:1;
5459 uint64_t fpa:1;
5460 uint64_t pow:1;
5461 uint64_t l2c:1;
5462 uint64_t ipd:1;
5463 uint64_t pip:1;
5464 uint64_t pko:1;
5465 uint64_t zip:1;
5466 uint64_t tim:1;
5467 uint64_t rad:1;
5468 uint64_t key:1;
5469 uint64_t dfa:1;
5470 uint64_t usb:1;
5471 uint64_t sli:1;
5472 uint64_t dpi:1;
5473 uint64_t agx0:1;
5474 uint64_t agx1:1;
5475 uint64_t reserved_38_45:8;
5476 uint64_t agl:1;
5477 uint64_t ptp:1;
5478 uint64_t pem0:1;
5479 uint64_t pem1:1;
5480 uint64_t srio0:1;
5481 uint64_t reserved_51_51:1;
5482 uint64_t lmc0:1;
5483 uint64_t reserved_53_55:3;
5484 uint64_t dfm:1;
5485 uint64_t reserved_57_59:3;
5486 uint64_t srio2:1;
5487 uint64_t srio3:1;
5488 uint64_t reserved_62_62:1;
5489 uint64_t rst:1;
5490#endif
5491 } cn66xx;
5492 struct cvmx_ciu_intx_en4_1_w1c_cnf71xx {
5493#ifdef __BIG_ENDIAN_BITFIELD
5494 uint64_t rst:1;
5495 uint64_t reserved_53_62:10;
5496 uint64_t lmc0:1;
5497 uint64_t reserved_50_51:2;
5498 uint64_t pem1:1;
5499 uint64_t pem0:1;
5500 uint64_t ptp:1;
5501 uint64_t reserved_41_46:6;
5502 uint64_t dpi_dma:1;
5503 uint64_t reserved_37_39:3;
5504 uint64_t agx0:1;
5505 uint64_t dpi:1;
5506 uint64_t sli:1;
5507 uint64_t usb:1;
5508 uint64_t reserved_32_32:1;
5509 uint64_t key:1;
5510 uint64_t rad:1;
5511 uint64_t tim:1;
5512 uint64_t reserved_28_28:1;
5513 uint64_t pko:1;
5514 uint64_t pip:1;
5515 uint64_t ipd:1;
5516 uint64_t l2c:1;
5517 uint64_t pow:1;
5518 uint64_t fpa:1;
5519 uint64_t iob:1;
5520 uint64_t mio:1;
5521 uint64_t nand:1;
5522 uint64_t reserved_4_18:15;
5523 uint64_t wdog:4;
5524#else
5525 uint64_t wdog:4;
5526 uint64_t reserved_4_18:15;
5527 uint64_t nand:1;
5528 uint64_t mio:1;
5529 uint64_t iob:1;
5530 uint64_t fpa:1;
5531 uint64_t pow:1;
5532 uint64_t l2c:1;
5533 uint64_t ipd:1;
5534 uint64_t pip:1;
5535 uint64_t pko:1;
5536 uint64_t reserved_28_28:1;
5537 uint64_t tim:1;
5538 uint64_t rad:1;
5539 uint64_t key:1;
5540 uint64_t reserved_32_32:1;
5541 uint64_t usb:1;
5542 uint64_t sli:1;
5543 uint64_t dpi:1;
5544 uint64_t agx0:1;
5545 uint64_t reserved_37_39:3;
5546 uint64_t dpi_dma:1;
5547 uint64_t reserved_41_46:6;
5548 uint64_t ptp:1;
5549 uint64_t pem0:1;
5550 uint64_t pem1:1;
5551 uint64_t reserved_50_51:2;
5552 uint64_t lmc0:1;
5553 uint64_t reserved_53_62:10;
5554 uint64_t rst:1;
5555#endif
5556 } cnf71xx;
1283}; 5557};
1284 5558
1285union cvmx_ciu_intx_en4_1_w1s { 5559union cvmx_ciu_intx_en4_1_w1s {
1286 uint64_t u64; 5560 uint64_t u64;
1287 struct cvmx_ciu_intx_en4_1_w1s_s { 5561 struct cvmx_ciu_intx_en4_1_w1s_s {
5562#ifdef __BIG_ENDIAN_BITFIELD
1288 uint64_t rst:1; 5563 uint64_t rst:1;
1289 uint64_t reserved_57_62:6; 5564 uint64_t reserved_62_62:1;
5565 uint64_t srio3:1;
5566 uint64_t srio2:1;
5567 uint64_t reserved_57_59:3;
1290 uint64_t dfm:1; 5568 uint64_t dfm:1;
1291 uint64_t reserved_53_55:3; 5569 uint64_t reserved_53_55:3;
1292 uint64_t lmc0:1; 5570 uint64_t lmc0:1;
@@ -1296,7 +5574,10 @@ union cvmx_ciu_intx_en4_1_w1s {
1296 uint64_t pem0:1; 5574 uint64_t pem0:1;
1297 uint64_t ptp:1; 5575 uint64_t ptp:1;
1298 uint64_t agl:1; 5576 uint64_t agl:1;
1299 uint64_t reserved_37_45:9; 5577 uint64_t reserved_41_45:5;
5578 uint64_t dpi_dma:1;
5579 uint64_t reserved_38_39:2;
5580 uint64_t agx1:1;
1300 uint64_t agx0:1; 5581 uint64_t agx0:1;
1301 uint64_t dpi:1; 5582 uint64_t dpi:1;
1302 uint64_t sli:1; 5583 uint64_t sli:1;
@@ -1319,8 +5600,51 @@ union cvmx_ciu_intx_en4_1_w1s {
1319 uint64_t usb1:1; 5600 uint64_t usb1:1;
1320 uint64_t uart2:1; 5601 uint64_t uart2:1;
1321 uint64_t wdog:16; 5602 uint64_t wdog:16;
5603#else
5604 uint64_t wdog:16;
5605 uint64_t uart2:1;
5606 uint64_t usb1:1;
5607 uint64_t mii1:1;
5608 uint64_t nand:1;
5609 uint64_t mio:1;
5610 uint64_t iob:1;
5611 uint64_t fpa:1;
5612 uint64_t pow:1;
5613 uint64_t l2c:1;
5614 uint64_t ipd:1;
5615 uint64_t pip:1;
5616 uint64_t pko:1;
5617 uint64_t zip:1;
5618 uint64_t tim:1;
5619 uint64_t rad:1;
5620 uint64_t key:1;
5621 uint64_t dfa:1;
5622 uint64_t usb:1;
5623 uint64_t sli:1;
5624 uint64_t dpi:1;
5625 uint64_t agx0:1;
5626 uint64_t agx1:1;
5627 uint64_t reserved_38_39:2;
5628 uint64_t dpi_dma:1;
5629 uint64_t reserved_41_45:5;
5630 uint64_t agl:1;
5631 uint64_t ptp:1;
5632 uint64_t pem0:1;
5633 uint64_t pem1:1;
5634 uint64_t srio0:1;
5635 uint64_t srio1:1;
5636 uint64_t lmc0:1;
5637 uint64_t reserved_53_55:3;
5638 uint64_t dfm:1;
5639 uint64_t reserved_57_59:3;
5640 uint64_t srio2:1;
5641 uint64_t srio3:1;
5642 uint64_t reserved_62_62:1;
5643 uint64_t rst:1;
5644#endif
1322 } s; 5645 } s;
1323 struct cvmx_ciu_intx_en4_1_w1s_cn52xx { 5646 struct cvmx_ciu_intx_en4_1_w1s_cn52xx {
5647#ifdef __BIG_ENDIAN_BITFIELD
1324 uint64_t reserved_20_63:44; 5648 uint64_t reserved_20_63:44;
1325 uint64_t nand:1; 5649 uint64_t nand:1;
1326 uint64_t mii1:1; 5650 uint64_t mii1:1;
@@ -1328,16 +5652,107 @@ union cvmx_ciu_intx_en4_1_w1s {
1328 uint64_t uart2:1; 5652 uint64_t uart2:1;
1329 uint64_t reserved_4_15:12; 5653 uint64_t reserved_4_15:12;
1330 uint64_t wdog:4; 5654 uint64_t wdog:4;
5655#else
5656 uint64_t wdog:4;
5657 uint64_t reserved_4_15:12;
5658 uint64_t uart2:1;
5659 uint64_t usb1:1;
5660 uint64_t mii1:1;
5661 uint64_t nand:1;
5662 uint64_t reserved_20_63:44;
5663#endif
1331 } cn52xx; 5664 } cn52xx;
1332 struct cvmx_ciu_intx_en4_1_w1s_cn56xx { 5665 struct cvmx_ciu_intx_en4_1_w1s_cn56xx {
5666#ifdef __BIG_ENDIAN_BITFIELD
1333 uint64_t reserved_12_63:52; 5667 uint64_t reserved_12_63:52;
1334 uint64_t wdog:12; 5668 uint64_t wdog:12;
5669#else
5670 uint64_t wdog:12;
5671 uint64_t reserved_12_63:52;
5672#endif
1335 } cn56xx; 5673 } cn56xx;
1336 struct cvmx_ciu_intx_en4_1_w1s_cn58xx { 5674 struct cvmx_ciu_intx_en4_1_w1s_cn58xx {
5675#ifdef __BIG_ENDIAN_BITFIELD
1337 uint64_t reserved_16_63:48; 5676 uint64_t reserved_16_63:48;
1338 uint64_t wdog:16; 5677 uint64_t wdog:16;
5678#else
5679 uint64_t wdog:16;
5680 uint64_t reserved_16_63:48;
5681#endif
1339 } cn58xx; 5682 } cn58xx;
5683 struct cvmx_ciu_intx_en4_1_w1s_cn61xx {
5684#ifdef __BIG_ENDIAN_BITFIELD
5685 uint64_t rst:1;
5686 uint64_t reserved_53_62:10;
5687 uint64_t lmc0:1;
5688 uint64_t reserved_50_51:2;
5689 uint64_t pem1:1;
5690 uint64_t pem0:1;
5691 uint64_t ptp:1;
5692 uint64_t agl:1;
5693 uint64_t reserved_41_45:5;
5694 uint64_t dpi_dma:1;
5695 uint64_t reserved_38_39:2;
5696 uint64_t agx1:1;
5697 uint64_t agx0:1;
5698 uint64_t dpi:1;
5699 uint64_t sli:1;
5700 uint64_t usb:1;
5701 uint64_t dfa:1;
5702 uint64_t key:1;
5703 uint64_t rad:1;
5704 uint64_t tim:1;
5705 uint64_t zip:1;
5706 uint64_t pko:1;
5707 uint64_t pip:1;
5708 uint64_t ipd:1;
5709 uint64_t l2c:1;
5710 uint64_t pow:1;
5711 uint64_t fpa:1;
5712 uint64_t iob:1;
5713 uint64_t mio:1;
5714 uint64_t nand:1;
5715 uint64_t mii1:1;
5716 uint64_t reserved_4_17:14;
5717 uint64_t wdog:4;
5718#else
5719 uint64_t wdog:4;
5720 uint64_t reserved_4_17:14;
5721 uint64_t mii1:1;
5722 uint64_t nand:1;
5723 uint64_t mio:1;
5724 uint64_t iob:1;
5725 uint64_t fpa:1;
5726 uint64_t pow:1;
5727 uint64_t l2c:1;
5728 uint64_t ipd:1;
5729 uint64_t pip:1;
5730 uint64_t pko:1;
5731 uint64_t zip:1;
5732 uint64_t tim:1;
5733 uint64_t rad:1;
5734 uint64_t key:1;
5735 uint64_t dfa:1;
5736 uint64_t usb:1;
5737 uint64_t sli:1;
5738 uint64_t dpi:1;
5739 uint64_t agx0:1;
5740 uint64_t agx1:1;
5741 uint64_t reserved_38_39:2;
5742 uint64_t dpi_dma:1;
5743 uint64_t reserved_41_45:5;
5744 uint64_t agl:1;
5745 uint64_t ptp:1;
5746 uint64_t pem0:1;
5747 uint64_t pem1:1;
5748 uint64_t reserved_50_51:2;
5749 uint64_t lmc0:1;
5750 uint64_t reserved_53_62:10;
5751 uint64_t rst:1;
5752#endif
5753 } cn61xx;
1340 struct cvmx_ciu_intx_en4_1_w1s_cn63xx { 5754 struct cvmx_ciu_intx_en4_1_w1s_cn63xx {
5755#ifdef __BIG_ENDIAN_BITFIELD
1341 uint64_t rst:1; 5756 uint64_t rst:1;
1342 uint64_t reserved_57_62:6; 5757 uint64_t reserved_57_62:6;
1343 uint64_t dfm:1; 5758 uint64_t dfm:1;
@@ -1371,13 +5786,193 @@ union cvmx_ciu_intx_en4_1_w1s {
1371 uint64_t mii1:1; 5786 uint64_t mii1:1;
1372 uint64_t reserved_6_17:12; 5787 uint64_t reserved_6_17:12;
1373 uint64_t wdog:6; 5788 uint64_t wdog:6;
5789#else
5790 uint64_t wdog:6;
5791 uint64_t reserved_6_17:12;
5792 uint64_t mii1:1;
5793 uint64_t nand:1;
5794 uint64_t mio:1;
5795 uint64_t iob:1;
5796 uint64_t fpa:1;
5797 uint64_t pow:1;
5798 uint64_t l2c:1;
5799 uint64_t ipd:1;
5800 uint64_t pip:1;
5801 uint64_t pko:1;
5802 uint64_t zip:1;
5803 uint64_t tim:1;
5804 uint64_t rad:1;
5805 uint64_t key:1;
5806 uint64_t dfa:1;
5807 uint64_t usb:1;
5808 uint64_t sli:1;
5809 uint64_t dpi:1;
5810 uint64_t agx0:1;
5811 uint64_t reserved_37_45:9;
5812 uint64_t agl:1;
5813 uint64_t ptp:1;
5814 uint64_t pem0:1;
5815 uint64_t pem1:1;
5816 uint64_t srio0:1;
5817 uint64_t srio1:1;
5818 uint64_t lmc0:1;
5819 uint64_t reserved_53_55:3;
5820 uint64_t dfm:1;
5821 uint64_t reserved_57_62:6;
5822 uint64_t rst:1;
5823#endif
1374 } cn63xx; 5824 } cn63xx;
1375 struct cvmx_ciu_intx_en4_1_w1s_cn63xx cn63xxp1; 5825 struct cvmx_ciu_intx_en4_1_w1s_cn63xx cn63xxp1;
5826 struct cvmx_ciu_intx_en4_1_w1s_cn66xx {
5827#ifdef __BIG_ENDIAN_BITFIELD
5828 uint64_t rst:1;
5829 uint64_t reserved_62_62:1;
5830 uint64_t srio3:1;
5831 uint64_t srio2:1;
5832 uint64_t reserved_57_59:3;
5833 uint64_t dfm:1;
5834 uint64_t reserved_53_55:3;
5835 uint64_t lmc0:1;
5836 uint64_t reserved_51_51:1;
5837 uint64_t srio0:1;
5838 uint64_t pem1:1;
5839 uint64_t pem0:1;
5840 uint64_t ptp:1;
5841 uint64_t agl:1;
5842 uint64_t reserved_38_45:8;
5843 uint64_t agx1:1;
5844 uint64_t agx0:1;
5845 uint64_t dpi:1;
5846 uint64_t sli:1;
5847 uint64_t usb:1;
5848 uint64_t dfa:1;
5849 uint64_t key:1;
5850 uint64_t rad:1;
5851 uint64_t tim:1;
5852 uint64_t zip:1;
5853 uint64_t pko:1;
5854 uint64_t pip:1;
5855 uint64_t ipd:1;
5856 uint64_t l2c:1;
5857 uint64_t pow:1;
5858 uint64_t fpa:1;
5859 uint64_t iob:1;
5860 uint64_t mio:1;
5861 uint64_t nand:1;
5862 uint64_t mii1:1;
5863 uint64_t reserved_10_17:8;
5864 uint64_t wdog:10;
5865#else
5866 uint64_t wdog:10;
5867 uint64_t reserved_10_17:8;
5868 uint64_t mii1:1;
5869 uint64_t nand:1;
5870 uint64_t mio:1;
5871 uint64_t iob:1;
5872 uint64_t fpa:1;
5873 uint64_t pow:1;
5874 uint64_t l2c:1;
5875 uint64_t ipd:1;
5876 uint64_t pip:1;
5877 uint64_t pko:1;
5878 uint64_t zip:1;
5879 uint64_t tim:1;
5880 uint64_t rad:1;
5881 uint64_t key:1;
5882 uint64_t dfa:1;
5883 uint64_t usb:1;
5884 uint64_t sli:1;
5885 uint64_t dpi:1;
5886 uint64_t agx0:1;
5887 uint64_t agx1:1;
5888 uint64_t reserved_38_45:8;
5889 uint64_t agl:1;
5890 uint64_t ptp:1;
5891 uint64_t pem0:1;
5892 uint64_t pem1:1;
5893 uint64_t srio0:1;
5894 uint64_t reserved_51_51:1;
5895 uint64_t lmc0:1;
5896 uint64_t reserved_53_55:3;
5897 uint64_t dfm:1;
5898 uint64_t reserved_57_59:3;
5899 uint64_t srio2:1;
5900 uint64_t srio3:1;
5901 uint64_t reserved_62_62:1;
5902 uint64_t rst:1;
5903#endif
5904 } cn66xx;
5905 struct cvmx_ciu_intx_en4_1_w1s_cnf71xx {
5906#ifdef __BIG_ENDIAN_BITFIELD
5907 uint64_t rst:1;
5908 uint64_t reserved_53_62:10;
5909 uint64_t lmc0:1;
5910 uint64_t reserved_50_51:2;
5911 uint64_t pem1:1;
5912 uint64_t pem0:1;
5913 uint64_t ptp:1;
5914 uint64_t reserved_41_46:6;
5915 uint64_t dpi_dma:1;
5916 uint64_t reserved_37_39:3;
5917 uint64_t agx0:1;
5918 uint64_t dpi:1;
5919 uint64_t sli:1;
5920 uint64_t usb:1;
5921 uint64_t reserved_32_32:1;
5922 uint64_t key:1;
5923 uint64_t rad:1;
5924 uint64_t tim:1;
5925 uint64_t reserved_28_28:1;
5926 uint64_t pko:1;
5927 uint64_t pip:1;
5928 uint64_t ipd:1;
5929 uint64_t l2c:1;
5930 uint64_t pow:1;
5931 uint64_t fpa:1;
5932 uint64_t iob:1;
5933 uint64_t mio:1;
5934 uint64_t nand:1;
5935 uint64_t reserved_4_18:15;
5936 uint64_t wdog:4;
5937#else
5938 uint64_t wdog:4;
5939 uint64_t reserved_4_18:15;
5940 uint64_t nand:1;
5941 uint64_t mio:1;
5942 uint64_t iob:1;
5943 uint64_t fpa:1;
5944 uint64_t pow:1;
5945 uint64_t l2c:1;
5946 uint64_t ipd:1;
5947 uint64_t pip:1;
5948 uint64_t pko:1;
5949 uint64_t reserved_28_28:1;
5950 uint64_t tim:1;
5951 uint64_t rad:1;
5952 uint64_t key:1;
5953 uint64_t reserved_32_32:1;
5954 uint64_t usb:1;
5955 uint64_t sli:1;
5956 uint64_t dpi:1;
5957 uint64_t agx0:1;
5958 uint64_t reserved_37_39:3;
5959 uint64_t dpi_dma:1;
5960 uint64_t reserved_41_46:6;
5961 uint64_t ptp:1;
5962 uint64_t pem0:1;
5963 uint64_t pem1:1;
5964 uint64_t reserved_50_51:2;
5965 uint64_t lmc0:1;
5966 uint64_t reserved_53_62:10;
5967 uint64_t rst:1;
5968#endif
5969 } cnf71xx;
1376}; 5970};
1377 5971
1378union cvmx_ciu_intx_sum0 { 5972union cvmx_ciu_intx_sum0 {
1379 uint64_t u64; 5973 uint64_t u64;
1380 struct cvmx_ciu_intx_sum0_s { 5974 struct cvmx_ciu_intx_sum0_s {
5975#ifdef __BIG_ENDIAN_BITFIELD
1381 uint64_t bootdma:1; 5976 uint64_t bootdma:1;
1382 uint64_t mii:1; 5977 uint64_t mii:1;
1383 uint64_t ipdppthr:1; 5978 uint64_t ipdppthr:1;
@@ -1387,7 +5982,7 @@ union cvmx_ciu_intx_sum0 {
1387 uint64_t pcm:1; 5982 uint64_t pcm:1;
1388 uint64_t usb:1; 5983 uint64_t usb:1;
1389 uint64_t timer:4; 5984 uint64_t timer:4;
1390 uint64_t key_zero:1; 5985 uint64_t reserved_51_51:1;
1391 uint64_t ipd_drp:1; 5986 uint64_t ipd_drp:1;
1392 uint64_t gmx_drp:2; 5987 uint64_t gmx_drp:2;
1393 uint64_t trace:1; 5988 uint64_t trace:1;
@@ -1400,8 +5995,33 @@ union cvmx_ciu_intx_sum0 {
1400 uint64_t mbox:2; 5995 uint64_t mbox:2;
1401 uint64_t gpio:16; 5996 uint64_t gpio:16;
1402 uint64_t workq:16; 5997 uint64_t workq:16;
5998#else
5999 uint64_t workq:16;
6000 uint64_t gpio:16;
6001 uint64_t mbox:2;
6002 uint64_t uart:2;
6003 uint64_t pci_int:4;
6004 uint64_t pci_msi:4;
6005 uint64_t wdog_sum:1;
6006 uint64_t twsi:1;
6007 uint64_t rml:1;
6008 uint64_t trace:1;
6009 uint64_t gmx_drp:2;
6010 uint64_t ipd_drp:1;
6011 uint64_t reserved_51_51:1;
6012 uint64_t timer:4;
6013 uint64_t usb:1;
6014 uint64_t pcm:1;
6015 uint64_t mpi:1;
6016 uint64_t twsi2:1;
6017 uint64_t powiq:1;
6018 uint64_t ipdppthr:1;
6019 uint64_t mii:1;
6020 uint64_t bootdma:1;
6021#endif
1403 } s; 6022 } s;
1404 struct cvmx_ciu_intx_sum0_cn30xx { 6023 struct cvmx_ciu_intx_sum0_cn30xx {
6024#ifdef __BIG_ENDIAN_BITFIELD
1405 uint64_t reserved_59_63:5; 6025 uint64_t reserved_59_63:5;
1406 uint64_t mpi:1; 6026 uint64_t mpi:1;
1407 uint64_t pcm:1; 6027 uint64_t pcm:1;
@@ -1421,8 +6041,30 @@ union cvmx_ciu_intx_sum0 {
1421 uint64_t mbox:2; 6041 uint64_t mbox:2;
1422 uint64_t gpio:16; 6042 uint64_t gpio:16;
1423 uint64_t workq:16; 6043 uint64_t workq:16;
6044#else
6045 uint64_t workq:16;
6046 uint64_t gpio:16;
6047 uint64_t mbox:2;
6048 uint64_t uart:2;
6049 uint64_t pci_int:4;
6050 uint64_t pci_msi:4;
6051 uint64_t wdog_sum:1;
6052 uint64_t twsi:1;
6053 uint64_t rml:1;
6054 uint64_t reserved_47_47:1;
6055 uint64_t gmx_drp:1;
6056 uint64_t reserved_49_49:1;
6057 uint64_t ipd_drp:1;
6058 uint64_t reserved_51_51:1;
6059 uint64_t timer:4;
6060 uint64_t usb:1;
6061 uint64_t pcm:1;
6062 uint64_t mpi:1;
6063 uint64_t reserved_59_63:5;
6064#endif
1424 } cn30xx; 6065 } cn30xx;
1425 struct cvmx_ciu_intx_sum0_cn31xx { 6066 struct cvmx_ciu_intx_sum0_cn31xx {
6067#ifdef __BIG_ENDIAN_BITFIELD
1426 uint64_t reserved_59_63:5; 6068 uint64_t reserved_59_63:5;
1427 uint64_t mpi:1; 6069 uint64_t mpi:1;
1428 uint64_t pcm:1; 6070 uint64_t pcm:1;
@@ -1442,8 +6084,30 @@ union cvmx_ciu_intx_sum0 {
1442 uint64_t mbox:2; 6084 uint64_t mbox:2;
1443 uint64_t gpio:16; 6085 uint64_t gpio:16;
1444 uint64_t workq:16; 6086 uint64_t workq:16;
6087#else
6088 uint64_t workq:16;
6089 uint64_t gpio:16;
6090 uint64_t mbox:2;
6091 uint64_t uart:2;
6092 uint64_t pci_int:4;
6093 uint64_t pci_msi:4;
6094 uint64_t wdog_sum:1;
6095 uint64_t twsi:1;
6096 uint64_t rml:1;
6097 uint64_t trace:1;
6098 uint64_t gmx_drp:1;
6099 uint64_t reserved_49_49:1;
6100 uint64_t ipd_drp:1;
6101 uint64_t reserved_51_51:1;
6102 uint64_t timer:4;
6103 uint64_t usb:1;
6104 uint64_t pcm:1;
6105 uint64_t mpi:1;
6106 uint64_t reserved_59_63:5;
6107#endif
1445 } cn31xx; 6108 } cn31xx;
1446 struct cvmx_ciu_intx_sum0_cn38xx { 6109 struct cvmx_ciu_intx_sum0_cn38xx {
6110#ifdef __BIG_ENDIAN_BITFIELD
1447 uint64_t reserved_56_63:8; 6111 uint64_t reserved_56_63:8;
1448 uint64_t timer:4; 6112 uint64_t timer:4;
1449 uint64_t key_zero:1; 6113 uint64_t key_zero:1;
@@ -1459,10 +6123,28 @@ union cvmx_ciu_intx_sum0 {
1459 uint64_t mbox:2; 6123 uint64_t mbox:2;
1460 uint64_t gpio:16; 6124 uint64_t gpio:16;
1461 uint64_t workq:16; 6125 uint64_t workq:16;
6126#else
6127 uint64_t workq:16;
6128 uint64_t gpio:16;
6129 uint64_t mbox:2;
6130 uint64_t uart:2;
6131 uint64_t pci_int:4;
6132 uint64_t pci_msi:4;
6133 uint64_t wdog_sum:1;
6134 uint64_t twsi:1;
6135 uint64_t rml:1;
6136 uint64_t trace:1;
6137 uint64_t gmx_drp:2;
6138 uint64_t ipd_drp:1;
6139 uint64_t key_zero:1;
6140 uint64_t timer:4;
6141 uint64_t reserved_56_63:8;
6142#endif
1462 } cn38xx; 6143 } cn38xx;
1463 struct cvmx_ciu_intx_sum0_cn38xx cn38xxp2; 6144 struct cvmx_ciu_intx_sum0_cn38xx cn38xxp2;
1464 struct cvmx_ciu_intx_sum0_cn30xx cn50xx; 6145 struct cvmx_ciu_intx_sum0_cn30xx cn50xx;
1465 struct cvmx_ciu_intx_sum0_cn52xx { 6146 struct cvmx_ciu_intx_sum0_cn52xx {
6147#ifdef __BIG_ENDIAN_BITFIELD
1466 uint64_t bootdma:1; 6148 uint64_t bootdma:1;
1467 uint64_t mii:1; 6149 uint64_t mii:1;
1468 uint64_t ipdppthr:1; 6150 uint64_t ipdppthr:1;
@@ -1485,9 +6167,34 @@ union cvmx_ciu_intx_sum0 {
1485 uint64_t mbox:2; 6167 uint64_t mbox:2;
1486 uint64_t gpio:16; 6168 uint64_t gpio:16;
1487 uint64_t workq:16; 6169 uint64_t workq:16;
6170#else
6171 uint64_t workq:16;
6172 uint64_t gpio:16;
6173 uint64_t mbox:2;
6174 uint64_t uart:2;
6175 uint64_t pci_int:4;
6176 uint64_t pci_msi:4;
6177 uint64_t wdog_sum:1;
6178 uint64_t twsi:1;
6179 uint64_t rml:1;
6180 uint64_t trace:1;
6181 uint64_t gmx_drp:1;
6182 uint64_t reserved_49_49:1;
6183 uint64_t ipd_drp:1;
6184 uint64_t reserved_51_51:1;
6185 uint64_t timer:4;
6186 uint64_t usb:1;
6187 uint64_t reserved_57_58:2;
6188 uint64_t twsi2:1;
6189 uint64_t powiq:1;
6190 uint64_t ipdppthr:1;
6191 uint64_t mii:1;
6192 uint64_t bootdma:1;
6193#endif
1488 } cn52xx; 6194 } cn52xx;
1489 struct cvmx_ciu_intx_sum0_cn52xx cn52xxp1; 6195 struct cvmx_ciu_intx_sum0_cn52xx cn52xxp1;
1490 struct cvmx_ciu_intx_sum0_cn56xx { 6196 struct cvmx_ciu_intx_sum0_cn56xx {
6197#ifdef __BIG_ENDIAN_BITFIELD
1491 uint64_t bootdma:1; 6198 uint64_t bootdma:1;
1492 uint64_t mii:1; 6199 uint64_t mii:1;
1493 uint64_t ipdppthr:1; 6200 uint64_t ipdppthr:1;
@@ -1509,17 +6216,190 @@ union cvmx_ciu_intx_sum0 {
1509 uint64_t mbox:2; 6216 uint64_t mbox:2;
1510 uint64_t gpio:16; 6217 uint64_t gpio:16;
1511 uint64_t workq:16; 6218 uint64_t workq:16;
6219#else
6220 uint64_t workq:16;
6221 uint64_t gpio:16;
6222 uint64_t mbox:2;
6223 uint64_t uart:2;
6224 uint64_t pci_int:4;
6225 uint64_t pci_msi:4;
6226 uint64_t wdog_sum:1;
6227 uint64_t twsi:1;
6228 uint64_t rml:1;
6229 uint64_t trace:1;
6230 uint64_t gmx_drp:2;
6231 uint64_t ipd_drp:1;
6232 uint64_t key_zero:1;
6233 uint64_t timer:4;
6234 uint64_t usb:1;
6235 uint64_t reserved_57_58:2;
6236 uint64_t twsi2:1;
6237 uint64_t powiq:1;
6238 uint64_t ipdppthr:1;
6239 uint64_t mii:1;
6240 uint64_t bootdma:1;
6241#endif
1512 } cn56xx; 6242 } cn56xx;
1513 struct cvmx_ciu_intx_sum0_cn56xx cn56xxp1; 6243 struct cvmx_ciu_intx_sum0_cn56xx cn56xxp1;
1514 struct cvmx_ciu_intx_sum0_cn38xx cn58xx; 6244 struct cvmx_ciu_intx_sum0_cn38xx cn58xx;
1515 struct cvmx_ciu_intx_sum0_cn38xx cn58xxp1; 6245 struct cvmx_ciu_intx_sum0_cn38xx cn58xxp1;
6246 struct cvmx_ciu_intx_sum0_cn61xx {
6247#ifdef __BIG_ENDIAN_BITFIELD
6248 uint64_t bootdma:1;
6249 uint64_t mii:1;
6250 uint64_t ipdppthr:1;
6251 uint64_t powiq:1;
6252 uint64_t twsi2:1;
6253 uint64_t mpi:1;
6254 uint64_t pcm:1;
6255 uint64_t usb:1;
6256 uint64_t timer:4;
6257 uint64_t sum2:1;
6258 uint64_t ipd_drp:1;
6259 uint64_t gmx_drp:2;
6260 uint64_t trace:1;
6261 uint64_t rml:1;
6262 uint64_t twsi:1;
6263 uint64_t wdog_sum:1;
6264 uint64_t pci_msi:4;
6265 uint64_t pci_int:4;
6266 uint64_t uart:2;
6267 uint64_t mbox:2;
6268 uint64_t gpio:16;
6269 uint64_t workq:16;
6270#else
6271 uint64_t workq:16;
6272 uint64_t gpio:16;
6273 uint64_t mbox:2;
6274 uint64_t uart:2;
6275 uint64_t pci_int:4;
6276 uint64_t pci_msi:4;
6277 uint64_t wdog_sum:1;
6278 uint64_t twsi:1;
6279 uint64_t rml:1;
6280 uint64_t trace:1;
6281 uint64_t gmx_drp:2;
6282 uint64_t ipd_drp:1;
6283 uint64_t sum2:1;
6284 uint64_t timer:4;
6285 uint64_t usb:1;
6286 uint64_t pcm:1;
6287 uint64_t mpi:1;
6288 uint64_t twsi2:1;
6289 uint64_t powiq:1;
6290 uint64_t ipdppthr:1;
6291 uint64_t mii:1;
6292 uint64_t bootdma:1;
6293#endif
6294 } cn61xx;
1516 struct cvmx_ciu_intx_sum0_cn52xx cn63xx; 6295 struct cvmx_ciu_intx_sum0_cn52xx cn63xx;
1517 struct cvmx_ciu_intx_sum0_cn52xx cn63xxp1; 6296 struct cvmx_ciu_intx_sum0_cn52xx cn63xxp1;
6297 struct cvmx_ciu_intx_sum0_cn66xx {
6298#ifdef __BIG_ENDIAN_BITFIELD
6299 uint64_t bootdma:1;
6300 uint64_t mii:1;
6301 uint64_t ipdppthr:1;
6302 uint64_t powiq:1;
6303 uint64_t twsi2:1;
6304 uint64_t mpi:1;
6305 uint64_t reserved_57_57:1;
6306 uint64_t usb:1;
6307 uint64_t timer:4;
6308 uint64_t sum2:1;
6309 uint64_t ipd_drp:1;
6310 uint64_t gmx_drp:2;
6311 uint64_t trace:1;
6312 uint64_t rml:1;
6313 uint64_t twsi:1;
6314 uint64_t wdog_sum:1;
6315 uint64_t pci_msi:4;
6316 uint64_t pci_int:4;
6317 uint64_t uart:2;
6318 uint64_t mbox:2;
6319 uint64_t gpio:16;
6320 uint64_t workq:16;
6321#else
6322 uint64_t workq:16;
6323 uint64_t gpio:16;
6324 uint64_t mbox:2;
6325 uint64_t uart:2;
6326 uint64_t pci_int:4;
6327 uint64_t pci_msi:4;
6328 uint64_t wdog_sum:1;
6329 uint64_t twsi:1;
6330 uint64_t rml:1;
6331 uint64_t trace:1;
6332 uint64_t gmx_drp:2;
6333 uint64_t ipd_drp:1;
6334 uint64_t sum2:1;
6335 uint64_t timer:4;
6336 uint64_t usb:1;
6337 uint64_t reserved_57_57:1;
6338 uint64_t mpi:1;
6339 uint64_t twsi2:1;
6340 uint64_t powiq:1;
6341 uint64_t ipdppthr:1;
6342 uint64_t mii:1;
6343 uint64_t bootdma:1;
6344#endif
6345 } cn66xx;
6346 struct cvmx_ciu_intx_sum0_cnf71xx {
6347#ifdef __BIG_ENDIAN_BITFIELD
6348 uint64_t bootdma:1;
6349 uint64_t reserved_62_62:1;
6350 uint64_t ipdppthr:1;
6351 uint64_t powiq:1;
6352 uint64_t twsi2:1;
6353 uint64_t mpi:1;
6354 uint64_t pcm:1;
6355 uint64_t usb:1;
6356 uint64_t timer:4;
6357 uint64_t sum2:1;
6358 uint64_t ipd_drp:1;
6359 uint64_t reserved_49_49:1;
6360 uint64_t gmx_drp:1;
6361 uint64_t trace:1;
6362 uint64_t rml:1;
6363 uint64_t twsi:1;
6364 uint64_t wdog_sum:1;
6365 uint64_t pci_msi:4;
6366 uint64_t pci_int:4;
6367 uint64_t uart:2;
6368 uint64_t mbox:2;
6369 uint64_t gpio:16;
6370 uint64_t workq:16;
6371#else
6372 uint64_t workq:16;
6373 uint64_t gpio:16;
6374 uint64_t mbox:2;
6375 uint64_t uart:2;
6376 uint64_t pci_int:4;
6377 uint64_t pci_msi:4;
6378 uint64_t wdog_sum:1;
6379 uint64_t twsi:1;
6380 uint64_t rml:1;
6381 uint64_t trace:1;
6382 uint64_t gmx_drp:1;
6383 uint64_t reserved_49_49:1;
6384 uint64_t ipd_drp:1;
6385 uint64_t sum2:1;
6386 uint64_t timer:4;
6387 uint64_t usb:1;
6388 uint64_t pcm:1;
6389 uint64_t mpi:1;
6390 uint64_t twsi2:1;
6391 uint64_t powiq:1;
6392 uint64_t ipdppthr:1;
6393 uint64_t reserved_62_62:1;
6394 uint64_t bootdma:1;
6395#endif
6396 } cnf71xx;
1518}; 6397};
1519 6398
1520union cvmx_ciu_intx_sum4 { 6399union cvmx_ciu_intx_sum4 {
1521 uint64_t u64; 6400 uint64_t u64;
1522 struct cvmx_ciu_intx_sum4_s { 6401 struct cvmx_ciu_intx_sum4_s {
6402#ifdef __BIG_ENDIAN_BITFIELD
1523 uint64_t bootdma:1; 6403 uint64_t bootdma:1;
1524 uint64_t mii:1; 6404 uint64_t mii:1;
1525 uint64_t ipdppthr:1; 6405 uint64_t ipdppthr:1;
@@ -1529,7 +6409,7 @@ union cvmx_ciu_intx_sum4 {
1529 uint64_t pcm:1; 6409 uint64_t pcm:1;
1530 uint64_t usb:1; 6410 uint64_t usb:1;
1531 uint64_t timer:4; 6411 uint64_t timer:4;
1532 uint64_t key_zero:1; 6412 uint64_t reserved_51_51:1;
1533 uint64_t ipd_drp:1; 6413 uint64_t ipd_drp:1;
1534 uint64_t gmx_drp:2; 6414 uint64_t gmx_drp:2;
1535 uint64_t trace:1; 6415 uint64_t trace:1;
@@ -1542,8 +6422,33 @@ union cvmx_ciu_intx_sum4 {
1542 uint64_t mbox:2; 6422 uint64_t mbox:2;
1543 uint64_t gpio:16; 6423 uint64_t gpio:16;
1544 uint64_t workq:16; 6424 uint64_t workq:16;
6425#else
6426 uint64_t workq:16;
6427 uint64_t gpio:16;
6428 uint64_t mbox:2;
6429 uint64_t uart:2;
6430 uint64_t pci_int:4;
6431 uint64_t pci_msi:4;
6432 uint64_t wdog_sum:1;
6433 uint64_t twsi:1;
6434 uint64_t rml:1;
6435 uint64_t trace:1;
6436 uint64_t gmx_drp:2;
6437 uint64_t ipd_drp:1;
6438 uint64_t reserved_51_51:1;
6439 uint64_t timer:4;
6440 uint64_t usb:1;
6441 uint64_t pcm:1;
6442 uint64_t mpi:1;
6443 uint64_t twsi2:1;
6444 uint64_t powiq:1;
6445 uint64_t ipdppthr:1;
6446 uint64_t mii:1;
6447 uint64_t bootdma:1;
6448#endif
1545 } s; 6449 } s;
1546 struct cvmx_ciu_intx_sum4_cn50xx { 6450 struct cvmx_ciu_intx_sum4_cn50xx {
6451#ifdef __BIG_ENDIAN_BITFIELD
1547 uint64_t reserved_59_63:5; 6452 uint64_t reserved_59_63:5;
1548 uint64_t mpi:1; 6453 uint64_t mpi:1;
1549 uint64_t pcm:1; 6454 uint64_t pcm:1;
@@ -1563,8 +6468,30 @@ union cvmx_ciu_intx_sum4 {
1563 uint64_t mbox:2; 6468 uint64_t mbox:2;
1564 uint64_t gpio:16; 6469 uint64_t gpio:16;
1565 uint64_t workq:16; 6470 uint64_t workq:16;
6471#else
6472 uint64_t workq:16;
6473 uint64_t gpio:16;
6474 uint64_t mbox:2;
6475 uint64_t uart:2;
6476 uint64_t pci_int:4;
6477 uint64_t pci_msi:4;
6478 uint64_t wdog_sum:1;
6479 uint64_t twsi:1;
6480 uint64_t rml:1;
6481 uint64_t reserved_47_47:1;
6482 uint64_t gmx_drp:1;
6483 uint64_t reserved_49_49:1;
6484 uint64_t ipd_drp:1;
6485 uint64_t reserved_51_51:1;
6486 uint64_t timer:4;
6487 uint64_t usb:1;
6488 uint64_t pcm:1;
6489 uint64_t mpi:1;
6490 uint64_t reserved_59_63:5;
6491#endif
1566 } cn50xx; 6492 } cn50xx;
1567 struct cvmx_ciu_intx_sum4_cn52xx { 6493 struct cvmx_ciu_intx_sum4_cn52xx {
6494#ifdef __BIG_ENDIAN_BITFIELD
1568 uint64_t bootdma:1; 6495 uint64_t bootdma:1;
1569 uint64_t mii:1; 6496 uint64_t mii:1;
1570 uint64_t ipdppthr:1; 6497 uint64_t ipdppthr:1;
@@ -1587,9 +6514,34 @@ union cvmx_ciu_intx_sum4 {
1587 uint64_t mbox:2; 6514 uint64_t mbox:2;
1588 uint64_t gpio:16; 6515 uint64_t gpio:16;
1589 uint64_t workq:16; 6516 uint64_t workq:16;
6517#else
6518 uint64_t workq:16;
6519 uint64_t gpio:16;
6520 uint64_t mbox:2;
6521 uint64_t uart:2;
6522 uint64_t pci_int:4;
6523 uint64_t pci_msi:4;
6524 uint64_t wdog_sum:1;
6525 uint64_t twsi:1;
6526 uint64_t rml:1;
6527 uint64_t trace:1;
6528 uint64_t gmx_drp:1;
6529 uint64_t reserved_49_49:1;
6530 uint64_t ipd_drp:1;
6531 uint64_t reserved_51_51:1;
6532 uint64_t timer:4;
6533 uint64_t usb:1;
6534 uint64_t reserved_57_58:2;
6535 uint64_t twsi2:1;
6536 uint64_t powiq:1;
6537 uint64_t ipdppthr:1;
6538 uint64_t mii:1;
6539 uint64_t bootdma:1;
6540#endif
1590 } cn52xx; 6541 } cn52xx;
1591 struct cvmx_ciu_intx_sum4_cn52xx cn52xxp1; 6542 struct cvmx_ciu_intx_sum4_cn52xx cn52xxp1;
1592 struct cvmx_ciu_intx_sum4_cn56xx { 6543 struct cvmx_ciu_intx_sum4_cn56xx {
6544#ifdef __BIG_ENDIAN_BITFIELD
1593 uint64_t bootdma:1; 6545 uint64_t bootdma:1;
1594 uint64_t mii:1; 6546 uint64_t mii:1;
1595 uint64_t ipdppthr:1; 6547 uint64_t ipdppthr:1;
@@ -1611,9 +6563,33 @@ union cvmx_ciu_intx_sum4 {
1611 uint64_t mbox:2; 6563 uint64_t mbox:2;
1612 uint64_t gpio:16; 6564 uint64_t gpio:16;
1613 uint64_t workq:16; 6565 uint64_t workq:16;
6566#else
6567 uint64_t workq:16;
6568 uint64_t gpio:16;
6569 uint64_t mbox:2;
6570 uint64_t uart:2;
6571 uint64_t pci_int:4;
6572 uint64_t pci_msi:4;
6573 uint64_t wdog_sum:1;
6574 uint64_t twsi:1;
6575 uint64_t rml:1;
6576 uint64_t trace:1;
6577 uint64_t gmx_drp:2;
6578 uint64_t ipd_drp:1;
6579 uint64_t key_zero:1;
6580 uint64_t timer:4;
6581 uint64_t usb:1;
6582 uint64_t reserved_57_58:2;
6583 uint64_t twsi2:1;
6584 uint64_t powiq:1;
6585 uint64_t ipdppthr:1;
6586 uint64_t mii:1;
6587 uint64_t bootdma:1;
6588#endif
1614 } cn56xx; 6589 } cn56xx;
1615 struct cvmx_ciu_intx_sum4_cn56xx cn56xxp1; 6590 struct cvmx_ciu_intx_sum4_cn56xx cn56xxp1;
1616 struct cvmx_ciu_intx_sum4_cn58xx { 6591 struct cvmx_ciu_intx_sum4_cn58xx {
6592#ifdef __BIG_ENDIAN_BITFIELD
1617 uint64_t reserved_56_63:8; 6593 uint64_t reserved_56_63:8;
1618 uint64_t timer:4; 6594 uint64_t timer:4;
1619 uint64_t key_zero:1; 6595 uint64_t key_zero:1;
@@ -1629,15 +6605,232 @@ union cvmx_ciu_intx_sum4 {
1629 uint64_t mbox:2; 6605 uint64_t mbox:2;
1630 uint64_t gpio:16; 6606 uint64_t gpio:16;
1631 uint64_t workq:16; 6607 uint64_t workq:16;
6608#else
6609 uint64_t workq:16;
6610 uint64_t gpio:16;
6611 uint64_t mbox:2;
6612 uint64_t uart:2;
6613 uint64_t pci_int:4;
6614 uint64_t pci_msi:4;
6615 uint64_t wdog_sum:1;
6616 uint64_t twsi:1;
6617 uint64_t rml:1;
6618 uint64_t trace:1;
6619 uint64_t gmx_drp:2;
6620 uint64_t ipd_drp:1;
6621 uint64_t key_zero:1;
6622 uint64_t timer:4;
6623 uint64_t reserved_56_63:8;
6624#endif
1632 } cn58xx; 6625 } cn58xx;
1633 struct cvmx_ciu_intx_sum4_cn58xx cn58xxp1; 6626 struct cvmx_ciu_intx_sum4_cn58xx cn58xxp1;
6627 struct cvmx_ciu_intx_sum4_cn61xx {
6628#ifdef __BIG_ENDIAN_BITFIELD
6629 uint64_t bootdma:1;
6630 uint64_t mii:1;
6631 uint64_t ipdppthr:1;
6632 uint64_t powiq:1;
6633 uint64_t twsi2:1;
6634 uint64_t mpi:1;
6635 uint64_t pcm:1;
6636 uint64_t usb:1;
6637 uint64_t timer:4;
6638 uint64_t sum2:1;
6639 uint64_t ipd_drp:1;
6640 uint64_t gmx_drp:2;
6641 uint64_t trace:1;
6642 uint64_t rml:1;
6643 uint64_t twsi:1;
6644 uint64_t wdog_sum:1;
6645 uint64_t pci_msi:4;
6646 uint64_t pci_int:4;
6647 uint64_t uart:2;
6648 uint64_t mbox:2;
6649 uint64_t gpio:16;
6650 uint64_t workq:16;
6651#else
6652 uint64_t workq:16;
6653 uint64_t gpio:16;
6654 uint64_t mbox:2;
6655 uint64_t uart:2;
6656 uint64_t pci_int:4;
6657 uint64_t pci_msi:4;
6658 uint64_t wdog_sum:1;
6659 uint64_t twsi:1;
6660 uint64_t rml:1;
6661 uint64_t trace:1;
6662 uint64_t gmx_drp:2;
6663 uint64_t ipd_drp:1;
6664 uint64_t sum2:1;
6665 uint64_t timer:4;
6666 uint64_t usb:1;
6667 uint64_t pcm:1;
6668 uint64_t mpi:1;
6669 uint64_t twsi2:1;
6670 uint64_t powiq:1;
6671 uint64_t ipdppthr:1;
6672 uint64_t mii:1;
6673 uint64_t bootdma:1;
6674#endif
6675 } cn61xx;
1634 struct cvmx_ciu_intx_sum4_cn52xx cn63xx; 6676 struct cvmx_ciu_intx_sum4_cn52xx cn63xx;
1635 struct cvmx_ciu_intx_sum4_cn52xx cn63xxp1; 6677 struct cvmx_ciu_intx_sum4_cn52xx cn63xxp1;
6678 struct cvmx_ciu_intx_sum4_cn66xx {
6679#ifdef __BIG_ENDIAN_BITFIELD
6680 uint64_t bootdma:1;
6681 uint64_t mii:1;
6682 uint64_t ipdppthr:1;
6683 uint64_t powiq:1;
6684 uint64_t twsi2:1;
6685 uint64_t mpi:1;
6686 uint64_t reserved_57_57:1;
6687 uint64_t usb:1;
6688 uint64_t timer:4;
6689 uint64_t sum2:1;
6690 uint64_t ipd_drp:1;
6691 uint64_t gmx_drp:2;
6692 uint64_t trace:1;
6693 uint64_t rml:1;
6694 uint64_t twsi:1;
6695 uint64_t wdog_sum:1;
6696 uint64_t pci_msi:4;
6697 uint64_t pci_int:4;
6698 uint64_t uart:2;
6699 uint64_t mbox:2;
6700 uint64_t gpio:16;
6701 uint64_t workq:16;
6702#else
6703 uint64_t workq:16;
6704 uint64_t gpio:16;
6705 uint64_t mbox:2;
6706 uint64_t uart:2;
6707 uint64_t pci_int:4;
6708 uint64_t pci_msi:4;
6709 uint64_t wdog_sum:1;
6710 uint64_t twsi:1;
6711 uint64_t rml:1;
6712 uint64_t trace:1;
6713 uint64_t gmx_drp:2;
6714 uint64_t ipd_drp:1;
6715 uint64_t sum2:1;
6716 uint64_t timer:4;
6717 uint64_t usb:1;
6718 uint64_t reserved_57_57:1;
6719 uint64_t mpi:1;
6720 uint64_t twsi2:1;
6721 uint64_t powiq:1;
6722 uint64_t ipdppthr:1;
6723 uint64_t mii:1;
6724 uint64_t bootdma:1;
6725#endif
6726 } cn66xx;
6727 struct cvmx_ciu_intx_sum4_cnf71xx {
6728#ifdef __BIG_ENDIAN_BITFIELD
6729 uint64_t bootdma:1;
6730 uint64_t reserved_62_62:1;
6731 uint64_t ipdppthr:1;
6732 uint64_t powiq:1;
6733 uint64_t twsi2:1;
6734 uint64_t mpi:1;
6735 uint64_t pcm:1;
6736 uint64_t usb:1;
6737 uint64_t timer:4;
6738 uint64_t sum2:1;
6739 uint64_t ipd_drp:1;
6740 uint64_t reserved_49_49:1;
6741 uint64_t gmx_drp:1;
6742 uint64_t trace:1;
6743 uint64_t rml:1;
6744 uint64_t twsi:1;
6745 uint64_t wdog_sum:1;
6746 uint64_t pci_msi:4;
6747 uint64_t pci_int:4;
6748 uint64_t uart:2;
6749 uint64_t mbox:2;
6750 uint64_t gpio:16;
6751 uint64_t workq:16;
6752#else
6753 uint64_t workq:16;
6754 uint64_t gpio:16;
6755 uint64_t mbox:2;
6756 uint64_t uart:2;
6757 uint64_t pci_int:4;
6758 uint64_t pci_msi:4;
6759 uint64_t wdog_sum:1;
6760 uint64_t twsi:1;
6761 uint64_t rml:1;
6762 uint64_t trace:1;
6763 uint64_t gmx_drp:1;
6764 uint64_t reserved_49_49:1;
6765 uint64_t ipd_drp:1;
6766 uint64_t sum2:1;
6767 uint64_t timer:4;
6768 uint64_t usb:1;
6769 uint64_t pcm:1;
6770 uint64_t mpi:1;
6771 uint64_t twsi2:1;
6772 uint64_t powiq:1;
6773 uint64_t ipdppthr:1;
6774 uint64_t reserved_62_62:1;
6775 uint64_t bootdma:1;
6776#endif
6777 } cnf71xx;
1636}; 6778};
1637 6779
1638union cvmx_ciu_int33_sum0 { 6780union cvmx_ciu_int33_sum0 {
1639 uint64_t u64; 6781 uint64_t u64;
1640 struct cvmx_ciu_int33_sum0_s { 6782 struct cvmx_ciu_int33_sum0_s {
6783#ifdef __BIG_ENDIAN_BITFIELD
6784 uint64_t bootdma:1;
6785 uint64_t mii:1;
6786 uint64_t ipdppthr:1;
6787 uint64_t powiq:1;
6788 uint64_t twsi2:1;
6789 uint64_t mpi:1;
6790 uint64_t pcm:1;
6791 uint64_t usb:1;
6792 uint64_t timer:4;
6793 uint64_t sum2:1;
6794 uint64_t ipd_drp:1;
6795 uint64_t gmx_drp:2;
6796 uint64_t trace:1;
6797 uint64_t rml:1;
6798 uint64_t twsi:1;
6799 uint64_t wdog_sum:1;
6800 uint64_t pci_msi:4;
6801 uint64_t pci_int:4;
6802 uint64_t uart:2;
6803 uint64_t mbox:2;
6804 uint64_t gpio:16;
6805 uint64_t workq:16;
6806#else
6807 uint64_t workq:16;
6808 uint64_t gpio:16;
6809 uint64_t mbox:2;
6810 uint64_t uart:2;
6811 uint64_t pci_int:4;
6812 uint64_t pci_msi:4;
6813 uint64_t wdog_sum:1;
6814 uint64_t twsi:1;
6815 uint64_t rml:1;
6816 uint64_t trace:1;
6817 uint64_t gmx_drp:2;
6818 uint64_t ipd_drp:1;
6819 uint64_t sum2:1;
6820 uint64_t timer:4;
6821 uint64_t usb:1;
6822 uint64_t pcm:1;
6823 uint64_t mpi:1;
6824 uint64_t twsi2:1;
6825 uint64_t powiq:1;
6826 uint64_t ipdppthr:1;
6827 uint64_t mii:1;
6828 uint64_t bootdma:1;
6829#endif
6830 } s;
6831 struct cvmx_ciu_int33_sum0_s cn61xx;
6832 struct cvmx_ciu_int33_sum0_cn63xx {
6833#ifdef __BIG_ENDIAN_BITFIELD
1641 uint64_t bootdma:1; 6834 uint64_t bootdma:1;
1642 uint64_t mii:1; 6835 uint64_t mii:1;
1643 uint64_t ipdppthr:1; 6836 uint64_t ipdppthr:1;
@@ -1660,29 +6853,202 @@ union cvmx_ciu_int33_sum0 {
1660 uint64_t mbox:2; 6853 uint64_t mbox:2;
1661 uint64_t gpio:16; 6854 uint64_t gpio:16;
1662 uint64_t workq:16; 6855 uint64_t workq:16;
1663 } s; 6856#else
1664 struct cvmx_ciu_int33_sum0_s cn63xx; 6857 uint64_t workq:16;
1665 struct cvmx_ciu_int33_sum0_s cn63xxp1; 6858 uint64_t gpio:16;
6859 uint64_t mbox:2;
6860 uint64_t uart:2;
6861 uint64_t pci_int:4;
6862 uint64_t pci_msi:4;
6863 uint64_t wdog_sum:1;
6864 uint64_t twsi:1;
6865 uint64_t rml:1;
6866 uint64_t trace:1;
6867 uint64_t gmx_drp:1;
6868 uint64_t reserved_49_49:1;
6869 uint64_t ipd_drp:1;
6870 uint64_t reserved_51_51:1;
6871 uint64_t timer:4;
6872 uint64_t usb:1;
6873 uint64_t reserved_57_58:2;
6874 uint64_t twsi2:1;
6875 uint64_t powiq:1;
6876 uint64_t ipdppthr:1;
6877 uint64_t mii:1;
6878 uint64_t bootdma:1;
6879#endif
6880 } cn63xx;
6881 struct cvmx_ciu_int33_sum0_cn63xx cn63xxp1;
6882 struct cvmx_ciu_int33_sum0_cn66xx {
6883#ifdef __BIG_ENDIAN_BITFIELD
6884 uint64_t bootdma:1;
6885 uint64_t mii:1;
6886 uint64_t ipdppthr:1;
6887 uint64_t powiq:1;
6888 uint64_t twsi2:1;
6889 uint64_t mpi:1;
6890 uint64_t reserved_57_57:1;
6891 uint64_t usb:1;
6892 uint64_t timer:4;
6893 uint64_t sum2:1;
6894 uint64_t ipd_drp:1;
6895 uint64_t gmx_drp:2;
6896 uint64_t trace:1;
6897 uint64_t rml:1;
6898 uint64_t twsi:1;
6899 uint64_t wdog_sum:1;
6900 uint64_t pci_msi:4;
6901 uint64_t pci_int:4;
6902 uint64_t uart:2;
6903 uint64_t mbox:2;
6904 uint64_t gpio:16;
6905 uint64_t workq:16;
6906#else
6907 uint64_t workq:16;
6908 uint64_t gpio:16;
6909 uint64_t mbox:2;
6910 uint64_t uart:2;
6911 uint64_t pci_int:4;
6912 uint64_t pci_msi:4;
6913 uint64_t wdog_sum:1;
6914 uint64_t twsi:1;
6915 uint64_t rml:1;
6916 uint64_t trace:1;
6917 uint64_t gmx_drp:2;
6918 uint64_t ipd_drp:1;
6919 uint64_t sum2:1;
6920 uint64_t timer:4;
6921 uint64_t usb:1;
6922 uint64_t reserved_57_57:1;
6923 uint64_t mpi:1;
6924 uint64_t twsi2:1;
6925 uint64_t powiq:1;
6926 uint64_t ipdppthr:1;
6927 uint64_t mii:1;
6928 uint64_t bootdma:1;
6929#endif
6930 } cn66xx;
6931 struct cvmx_ciu_int33_sum0_cnf71xx {
6932#ifdef __BIG_ENDIAN_BITFIELD
6933 uint64_t bootdma:1;
6934 uint64_t reserved_62_62:1;
6935 uint64_t ipdppthr:1;
6936 uint64_t powiq:1;
6937 uint64_t twsi2:1;
6938 uint64_t mpi:1;
6939 uint64_t pcm:1;
6940 uint64_t usb:1;
6941 uint64_t timer:4;
6942 uint64_t sum2:1;
6943 uint64_t ipd_drp:1;
6944 uint64_t reserved_49_49:1;
6945 uint64_t gmx_drp:1;
6946 uint64_t trace:1;
6947 uint64_t rml:1;
6948 uint64_t twsi:1;
6949 uint64_t wdog_sum:1;
6950 uint64_t pci_msi:4;
6951 uint64_t pci_int:4;
6952 uint64_t uart:2;
6953 uint64_t mbox:2;
6954 uint64_t gpio:16;
6955 uint64_t workq:16;
6956#else
6957 uint64_t workq:16;
6958 uint64_t gpio:16;
6959 uint64_t mbox:2;
6960 uint64_t uart:2;
6961 uint64_t pci_int:4;
6962 uint64_t pci_msi:4;
6963 uint64_t wdog_sum:1;
6964 uint64_t twsi:1;
6965 uint64_t rml:1;
6966 uint64_t trace:1;
6967 uint64_t gmx_drp:1;
6968 uint64_t reserved_49_49:1;
6969 uint64_t ipd_drp:1;
6970 uint64_t sum2:1;
6971 uint64_t timer:4;
6972 uint64_t usb:1;
6973 uint64_t pcm:1;
6974 uint64_t mpi:1;
6975 uint64_t twsi2:1;
6976 uint64_t powiq:1;
6977 uint64_t ipdppthr:1;
6978 uint64_t reserved_62_62:1;
6979 uint64_t bootdma:1;
6980#endif
6981 } cnf71xx;
1666}; 6982};
1667 6983
1668union cvmx_ciu_int_dbg_sel { 6984union cvmx_ciu_int_dbg_sel {
1669 uint64_t u64; 6985 uint64_t u64;
1670 struct cvmx_ciu_int_dbg_sel_s { 6986 struct cvmx_ciu_int_dbg_sel_s {
6987#ifdef __BIG_ENDIAN_BITFIELD
6988 uint64_t reserved_19_63:45;
6989 uint64_t sel:3;
6990 uint64_t reserved_10_15:6;
6991 uint64_t irq:2;
6992 uint64_t reserved_5_7:3;
6993 uint64_t pp:5;
6994#else
6995 uint64_t pp:5;
6996 uint64_t reserved_5_7:3;
6997 uint64_t irq:2;
6998 uint64_t reserved_10_15:6;
6999 uint64_t sel:3;
7000 uint64_t reserved_19_63:45;
7001#endif
7002 } s;
7003 struct cvmx_ciu_int_dbg_sel_cn61xx {
7004#ifdef __BIG_ENDIAN_BITFIELD
7005 uint64_t reserved_19_63:45;
7006 uint64_t sel:3;
7007 uint64_t reserved_10_15:6;
7008 uint64_t irq:2;
7009 uint64_t reserved_4_7:4;
7010 uint64_t pp:4;
7011#else
7012 uint64_t pp:4;
7013 uint64_t reserved_4_7:4;
7014 uint64_t irq:2;
7015 uint64_t reserved_10_15:6;
7016 uint64_t sel:3;
7017 uint64_t reserved_19_63:45;
7018#endif
7019 } cn61xx;
7020 struct cvmx_ciu_int_dbg_sel_cn63xx {
7021#ifdef __BIG_ENDIAN_BITFIELD
1671 uint64_t reserved_19_63:45; 7022 uint64_t reserved_19_63:45;
1672 uint64_t sel:3; 7023 uint64_t sel:3;
1673 uint64_t reserved_10_15:6; 7024 uint64_t reserved_10_15:6;
1674 uint64_t irq:2; 7025 uint64_t irq:2;
1675 uint64_t reserved_3_7:5; 7026 uint64_t reserved_3_7:5;
1676 uint64_t pp:3; 7027 uint64_t pp:3;
1677 } s; 7028#else
1678 struct cvmx_ciu_int_dbg_sel_s cn63xx; 7029 uint64_t pp:3;
7030 uint64_t reserved_3_7:5;
7031 uint64_t irq:2;
7032 uint64_t reserved_10_15:6;
7033 uint64_t sel:3;
7034 uint64_t reserved_19_63:45;
7035#endif
7036 } cn63xx;
7037 struct cvmx_ciu_int_dbg_sel_cn61xx cn66xx;
7038 struct cvmx_ciu_int_dbg_sel_s cn68xx;
7039 struct cvmx_ciu_int_dbg_sel_s cn68xxp1;
7040 struct cvmx_ciu_int_dbg_sel_cn61xx cnf71xx;
1679}; 7041};
1680 7042
1681union cvmx_ciu_int_sum1 { 7043union cvmx_ciu_int_sum1 {
1682 uint64_t u64; 7044 uint64_t u64;
1683 struct cvmx_ciu_int_sum1_s { 7045 struct cvmx_ciu_int_sum1_s {
7046#ifdef __BIG_ENDIAN_BITFIELD
1684 uint64_t rst:1; 7047 uint64_t rst:1;
1685 uint64_t reserved_57_62:6; 7048 uint64_t reserved_62_62:1;
7049 uint64_t srio3:1;
7050 uint64_t srio2:1;
7051 uint64_t reserved_57_59:3;
1686 uint64_t dfm:1; 7052 uint64_t dfm:1;
1687 uint64_t reserved_53_55:3; 7053 uint64_t reserved_53_55:3;
1688 uint64_t lmc0:1; 7054 uint64_t lmc0:1;
@@ -1692,7 +7058,8 @@ union cvmx_ciu_int_sum1 {
1692 uint64_t pem0:1; 7058 uint64_t pem0:1;
1693 uint64_t ptp:1; 7059 uint64_t ptp:1;
1694 uint64_t agl:1; 7060 uint64_t agl:1;
1695 uint64_t reserved_37_45:9; 7061 uint64_t reserved_38_45:8;
7062 uint64_t agx1:1;
1696 uint64_t agx0:1; 7063 uint64_t agx0:1;
1697 uint64_t dpi:1; 7064 uint64_t dpi:1;
1698 uint64_t sli:1; 7065 uint64_t sli:1;
@@ -1715,22 +7082,78 @@ union cvmx_ciu_int_sum1 {
1715 uint64_t usb1:1; 7082 uint64_t usb1:1;
1716 uint64_t uart2:1; 7083 uint64_t uart2:1;
1717 uint64_t wdog:16; 7084 uint64_t wdog:16;
7085#else
7086 uint64_t wdog:16;
7087 uint64_t uart2:1;
7088 uint64_t usb1:1;
7089 uint64_t mii1:1;
7090 uint64_t nand:1;
7091 uint64_t mio:1;
7092 uint64_t iob:1;
7093 uint64_t fpa:1;
7094 uint64_t pow:1;
7095 uint64_t l2c:1;
7096 uint64_t ipd:1;
7097 uint64_t pip:1;
7098 uint64_t pko:1;
7099 uint64_t zip:1;
7100 uint64_t tim:1;
7101 uint64_t rad:1;
7102 uint64_t key:1;
7103 uint64_t dfa:1;
7104 uint64_t usb:1;
7105 uint64_t sli:1;
7106 uint64_t dpi:1;
7107 uint64_t agx0:1;
7108 uint64_t agx1:1;
7109 uint64_t reserved_38_45:8;
7110 uint64_t agl:1;
7111 uint64_t ptp:1;
7112 uint64_t pem0:1;
7113 uint64_t pem1:1;
7114 uint64_t srio0:1;
7115 uint64_t srio1:1;
7116 uint64_t lmc0:1;
7117 uint64_t reserved_53_55:3;
7118 uint64_t dfm:1;
7119 uint64_t reserved_57_59:3;
7120 uint64_t srio2:1;
7121 uint64_t srio3:1;
7122 uint64_t reserved_62_62:1;
7123 uint64_t rst:1;
7124#endif
1718 } s; 7125 } s;
1719 struct cvmx_ciu_int_sum1_cn30xx { 7126 struct cvmx_ciu_int_sum1_cn30xx {
7127#ifdef __BIG_ENDIAN_BITFIELD
1720 uint64_t reserved_1_63:63; 7128 uint64_t reserved_1_63:63;
1721 uint64_t wdog:1; 7129 uint64_t wdog:1;
7130#else
7131 uint64_t wdog:1;
7132 uint64_t reserved_1_63:63;
7133#endif
1722 } cn30xx; 7134 } cn30xx;
1723 struct cvmx_ciu_int_sum1_cn31xx { 7135 struct cvmx_ciu_int_sum1_cn31xx {
7136#ifdef __BIG_ENDIAN_BITFIELD
1724 uint64_t reserved_2_63:62; 7137 uint64_t reserved_2_63:62;
1725 uint64_t wdog:2; 7138 uint64_t wdog:2;
7139#else
7140 uint64_t wdog:2;
7141 uint64_t reserved_2_63:62;
7142#endif
1726 } cn31xx; 7143 } cn31xx;
1727 struct cvmx_ciu_int_sum1_cn38xx { 7144 struct cvmx_ciu_int_sum1_cn38xx {
7145#ifdef __BIG_ENDIAN_BITFIELD
1728 uint64_t reserved_16_63:48; 7146 uint64_t reserved_16_63:48;
1729 uint64_t wdog:16; 7147 uint64_t wdog:16;
7148#else
7149 uint64_t wdog:16;
7150 uint64_t reserved_16_63:48;
7151#endif
1730 } cn38xx; 7152 } cn38xx;
1731 struct cvmx_ciu_int_sum1_cn38xx cn38xxp2; 7153 struct cvmx_ciu_int_sum1_cn38xx cn38xxp2;
1732 struct cvmx_ciu_int_sum1_cn31xx cn50xx; 7154 struct cvmx_ciu_int_sum1_cn31xx cn50xx;
1733 struct cvmx_ciu_int_sum1_cn52xx { 7155 struct cvmx_ciu_int_sum1_cn52xx {
7156#ifdef __BIG_ENDIAN_BITFIELD
1734 uint64_t reserved_20_63:44; 7157 uint64_t reserved_20_63:44;
1735 uint64_t nand:1; 7158 uint64_t nand:1;
1736 uint64_t mii1:1; 7159 uint64_t mii1:1;
@@ -1738,23 +7161,114 @@ union cvmx_ciu_int_sum1 {
1738 uint64_t uart2:1; 7161 uint64_t uart2:1;
1739 uint64_t reserved_4_15:12; 7162 uint64_t reserved_4_15:12;
1740 uint64_t wdog:4; 7163 uint64_t wdog:4;
7164#else
7165 uint64_t wdog:4;
7166 uint64_t reserved_4_15:12;
7167 uint64_t uart2:1;
7168 uint64_t usb1:1;
7169 uint64_t mii1:1;
7170 uint64_t nand:1;
7171 uint64_t reserved_20_63:44;
7172#endif
1741 } cn52xx; 7173 } cn52xx;
1742 struct cvmx_ciu_int_sum1_cn52xxp1 { 7174 struct cvmx_ciu_int_sum1_cn52xxp1 {
7175#ifdef __BIG_ENDIAN_BITFIELD
1743 uint64_t reserved_19_63:45; 7176 uint64_t reserved_19_63:45;
1744 uint64_t mii1:1; 7177 uint64_t mii1:1;
1745 uint64_t usb1:1; 7178 uint64_t usb1:1;
1746 uint64_t uart2:1; 7179 uint64_t uart2:1;
1747 uint64_t reserved_4_15:12; 7180 uint64_t reserved_4_15:12;
1748 uint64_t wdog:4; 7181 uint64_t wdog:4;
7182#else
7183 uint64_t wdog:4;
7184 uint64_t reserved_4_15:12;
7185 uint64_t uart2:1;
7186 uint64_t usb1:1;
7187 uint64_t mii1:1;
7188 uint64_t reserved_19_63:45;
7189#endif
1749 } cn52xxp1; 7190 } cn52xxp1;
1750 struct cvmx_ciu_int_sum1_cn56xx { 7191 struct cvmx_ciu_int_sum1_cn56xx {
7192#ifdef __BIG_ENDIAN_BITFIELD
1751 uint64_t reserved_12_63:52; 7193 uint64_t reserved_12_63:52;
1752 uint64_t wdog:12; 7194 uint64_t wdog:12;
7195#else
7196 uint64_t wdog:12;
7197 uint64_t reserved_12_63:52;
7198#endif
1753 } cn56xx; 7199 } cn56xx;
1754 struct cvmx_ciu_int_sum1_cn56xx cn56xxp1; 7200 struct cvmx_ciu_int_sum1_cn56xx cn56xxp1;
1755 struct cvmx_ciu_int_sum1_cn38xx cn58xx; 7201 struct cvmx_ciu_int_sum1_cn38xx cn58xx;
1756 struct cvmx_ciu_int_sum1_cn38xx cn58xxp1; 7202 struct cvmx_ciu_int_sum1_cn38xx cn58xxp1;
7203 struct cvmx_ciu_int_sum1_cn61xx {
7204#ifdef __BIG_ENDIAN_BITFIELD
7205 uint64_t rst:1;
7206 uint64_t reserved_53_62:10;
7207 uint64_t lmc0:1;
7208 uint64_t reserved_50_51:2;
7209 uint64_t pem1:1;
7210 uint64_t pem0:1;
7211 uint64_t ptp:1;
7212 uint64_t agl:1;
7213 uint64_t reserved_38_45:8;
7214 uint64_t agx1:1;
7215 uint64_t agx0:1;
7216 uint64_t dpi:1;
7217 uint64_t sli:1;
7218 uint64_t usb:1;
7219 uint64_t dfa:1;
7220 uint64_t key:1;
7221 uint64_t rad:1;
7222 uint64_t tim:1;
7223 uint64_t zip:1;
7224 uint64_t pko:1;
7225 uint64_t pip:1;
7226 uint64_t ipd:1;
7227 uint64_t l2c:1;
7228 uint64_t pow:1;
7229 uint64_t fpa:1;
7230 uint64_t iob:1;
7231 uint64_t mio:1;
7232 uint64_t nand:1;
7233 uint64_t mii1:1;
7234 uint64_t reserved_4_17:14;
7235 uint64_t wdog:4;
7236#else
7237 uint64_t wdog:4;
7238 uint64_t reserved_4_17:14;
7239 uint64_t mii1:1;
7240 uint64_t nand:1;
7241 uint64_t mio:1;
7242 uint64_t iob:1;
7243 uint64_t fpa:1;
7244 uint64_t pow:1;
7245 uint64_t l2c:1;
7246 uint64_t ipd:1;
7247 uint64_t pip:1;
7248 uint64_t pko:1;
7249 uint64_t zip:1;
7250 uint64_t tim:1;
7251 uint64_t rad:1;
7252 uint64_t key:1;
7253 uint64_t dfa:1;
7254 uint64_t usb:1;
7255 uint64_t sli:1;
7256 uint64_t dpi:1;
7257 uint64_t agx0:1;
7258 uint64_t agx1:1;
7259 uint64_t reserved_38_45:8;
7260 uint64_t agl:1;
7261 uint64_t ptp:1;
7262 uint64_t pem0:1;
7263 uint64_t pem1:1;
7264 uint64_t reserved_50_51:2;
7265 uint64_t lmc0:1;
7266 uint64_t reserved_53_62:10;
7267 uint64_t rst:1;
7268#endif
7269 } cn61xx;
1757 struct cvmx_ciu_int_sum1_cn63xx { 7270 struct cvmx_ciu_int_sum1_cn63xx {
7271#ifdef __BIG_ENDIAN_BITFIELD
1758 uint64_t rst:1; 7272 uint64_t rst:1;
1759 uint64_t reserved_57_62:6; 7273 uint64_t reserved_57_62:6;
1760 uint64_t dfm:1; 7274 uint64_t dfm:1;
@@ -1788,15 +7302,195 @@ union cvmx_ciu_int_sum1 {
1788 uint64_t mii1:1; 7302 uint64_t mii1:1;
1789 uint64_t reserved_6_17:12; 7303 uint64_t reserved_6_17:12;
1790 uint64_t wdog:6; 7304 uint64_t wdog:6;
7305#else
7306 uint64_t wdog:6;
7307 uint64_t reserved_6_17:12;
7308 uint64_t mii1:1;
7309 uint64_t nand:1;
7310 uint64_t mio:1;
7311 uint64_t iob:1;
7312 uint64_t fpa:1;
7313 uint64_t pow:1;
7314 uint64_t l2c:1;
7315 uint64_t ipd:1;
7316 uint64_t pip:1;
7317 uint64_t pko:1;
7318 uint64_t zip:1;
7319 uint64_t tim:1;
7320 uint64_t rad:1;
7321 uint64_t key:1;
7322 uint64_t dfa:1;
7323 uint64_t usb:1;
7324 uint64_t sli:1;
7325 uint64_t dpi:1;
7326 uint64_t agx0:1;
7327 uint64_t reserved_37_45:9;
7328 uint64_t agl:1;
7329 uint64_t ptp:1;
7330 uint64_t pem0:1;
7331 uint64_t pem1:1;
7332 uint64_t srio0:1;
7333 uint64_t srio1:1;
7334 uint64_t lmc0:1;
7335 uint64_t reserved_53_55:3;
7336 uint64_t dfm:1;
7337 uint64_t reserved_57_62:6;
7338 uint64_t rst:1;
7339#endif
1791 } cn63xx; 7340 } cn63xx;
1792 struct cvmx_ciu_int_sum1_cn63xx cn63xxp1; 7341 struct cvmx_ciu_int_sum1_cn63xx cn63xxp1;
7342 struct cvmx_ciu_int_sum1_cn66xx {
7343#ifdef __BIG_ENDIAN_BITFIELD
7344 uint64_t rst:1;
7345 uint64_t reserved_62_62:1;
7346 uint64_t srio3:1;
7347 uint64_t srio2:1;
7348 uint64_t reserved_57_59:3;
7349 uint64_t dfm:1;
7350 uint64_t reserved_53_55:3;
7351 uint64_t lmc0:1;
7352 uint64_t reserved_51_51:1;
7353 uint64_t srio0:1;
7354 uint64_t pem1:1;
7355 uint64_t pem0:1;
7356 uint64_t ptp:1;
7357 uint64_t agl:1;
7358 uint64_t reserved_38_45:8;
7359 uint64_t agx1:1;
7360 uint64_t agx0:1;
7361 uint64_t dpi:1;
7362 uint64_t sli:1;
7363 uint64_t usb:1;
7364 uint64_t dfa:1;
7365 uint64_t key:1;
7366 uint64_t rad:1;
7367 uint64_t tim:1;
7368 uint64_t zip:1;
7369 uint64_t pko:1;
7370 uint64_t pip:1;
7371 uint64_t ipd:1;
7372 uint64_t l2c:1;
7373 uint64_t pow:1;
7374 uint64_t fpa:1;
7375 uint64_t iob:1;
7376 uint64_t mio:1;
7377 uint64_t nand:1;
7378 uint64_t mii1:1;
7379 uint64_t reserved_10_17:8;
7380 uint64_t wdog:10;
7381#else
7382 uint64_t wdog:10;
7383 uint64_t reserved_10_17:8;
7384 uint64_t mii1:1;
7385 uint64_t nand:1;
7386 uint64_t mio:1;
7387 uint64_t iob:1;
7388 uint64_t fpa:1;
7389 uint64_t pow:1;
7390 uint64_t l2c:1;
7391 uint64_t ipd:1;
7392 uint64_t pip:1;
7393 uint64_t pko:1;
7394 uint64_t zip:1;
7395 uint64_t tim:1;
7396 uint64_t rad:1;
7397 uint64_t key:1;
7398 uint64_t dfa:1;
7399 uint64_t usb:1;
7400 uint64_t sli:1;
7401 uint64_t dpi:1;
7402 uint64_t agx0:1;
7403 uint64_t agx1:1;
7404 uint64_t reserved_38_45:8;
7405 uint64_t agl:1;
7406 uint64_t ptp:1;
7407 uint64_t pem0:1;
7408 uint64_t pem1:1;
7409 uint64_t srio0:1;
7410 uint64_t reserved_51_51:1;
7411 uint64_t lmc0:1;
7412 uint64_t reserved_53_55:3;
7413 uint64_t dfm:1;
7414 uint64_t reserved_57_59:3;
7415 uint64_t srio2:1;
7416 uint64_t srio3:1;
7417 uint64_t reserved_62_62:1;
7418 uint64_t rst:1;
7419#endif
7420 } cn66xx;
7421 struct cvmx_ciu_int_sum1_cnf71xx {
7422#ifdef __BIG_ENDIAN_BITFIELD
7423 uint64_t rst:1;
7424 uint64_t reserved_53_62:10;
7425 uint64_t lmc0:1;
7426 uint64_t reserved_50_51:2;
7427 uint64_t pem1:1;
7428 uint64_t pem0:1;
7429 uint64_t ptp:1;
7430 uint64_t reserved_37_46:10;
7431 uint64_t agx0:1;
7432 uint64_t dpi:1;
7433 uint64_t sli:1;
7434 uint64_t usb:1;
7435 uint64_t reserved_32_32:1;
7436 uint64_t key:1;
7437 uint64_t rad:1;
7438 uint64_t tim:1;
7439 uint64_t reserved_28_28:1;
7440 uint64_t pko:1;
7441 uint64_t pip:1;
7442 uint64_t ipd:1;
7443 uint64_t l2c:1;
7444 uint64_t pow:1;
7445 uint64_t fpa:1;
7446 uint64_t iob:1;
7447 uint64_t mio:1;
7448 uint64_t nand:1;
7449 uint64_t reserved_4_18:15;
7450 uint64_t wdog:4;
7451#else
7452 uint64_t wdog:4;
7453 uint64_t reserved_4_18:15;
7454 uint64_t nand:1;
7455 uint64_t mio:1;
7456 uint64_t iob:1;
7457 uint64_t fpa:1;
7458 uint64_t pow:1;
7459 uint64_t l2c:1;
7460 uint64_t ipd:1;
7461 uint64_t pip:1;
7462 uint64_t pko:1;
7463 uint64_t reserved_28_28:1;
7464 uint64_t tim:1;
7465 uint64_t rad:1;
7466 uint64_t key:1;
7467 uint64_t reserved_32_32:1;
7468 uint64_t usb:1;
7469 uint64_t sli:1;
7470 uint64_t dpi:1;
7471 uint64_t agx0:1;
7472 uint64_t reserved_37_46:10;
7473 uint64_t ptp:1;
7474 uint64_t pem0:1;
7475 uint64_t pem1:1;
7476 uint64_t reserved_50_51:2;
7477 uint64_t lmc0:1;
7478 uint64_t reserved_53_62:10;
7479 uint64_t rst:1;
7480#endif
7481 } cnf71xx;
1793}; 7482};
1794 7483
1795union cvmx_ciu_mbox_clrx { 7484union cvmx_ciu_mbox_clrx {
1796 uint64_t u64; 7485 uint64_t u64;
1797 struct cvmx_ciu_mbox_clrx_s { 7486 struct cvmx_ciu_mbox_clrx_s {
7487#ifdef __BIG_ENDIAN_BITFIELD
1798 uint64_t reserved_32_63:32; 7488 uint64_t reserved_32_63:32;
1799 uint64_t bits:32; 7489 uint64_t bits:32;
7490#else
7491 uint64_t bits:32;
7492 uint64_t reserved_32_63:32;
7493#endif
1800 } s; 7494 } s;
1801 struct cvmx_ciu_mbox_clrx_s cn30xx; 7495 struct cvmx_ciu_mbox_clrx_s cn30xx;
1802 struct cvmx_ciu_mbox_clrx_s cn31xx; 7496 struct cvmx_ciu_mbox_clrx_s cn31xx;
@@ -1809,15 +7503,25 @@ union cvmx_ciu_mbox_clrx {
1809 struct cvmx_ciu_mbox_clrx_s cn56xxp1; 7503 struct cvmx_ciu_mbox_clrx_s cn56xxp1;
1810 struct cvmx_ciu_mbox_clrx_s cn58xx; 7504 struct cvmx_ciu_mbox_clrx_s cn58xx;
1811 struct cvmx_ciu_mbox_clrx_s cn58xxp1; 7505 struct cvmx_ciu_mbox_clrx_s cn58xxp1;
7506 struct cvmx_ciu_mbox_clrx_s cn61xx;
1812 struct cvmx_ciu_mbox_clrx_s cn63xx; 7507 struct cvmx_ciu_mbox_clrx_s cn63xx;
1813 struct cvmx_ciu_mbox_clrx_s cn63xxp1; 7508 struct cvmx_ciu_mbox_clrx_s cn63xxp1;
7509 struct cvmx_ciu_mbox_clrx_s cn66xx;
7510 struct cvmx_ciu_mbox_clrx_s cn68xx;
7511 struct cvmx_ciu_mbox_clrx_s cn68xxp1;
7512 struct cvmx_ciu_mbox_clrx_s cnf71xx;
1814}; 7513};
1815 7514
1816union cvmx_ciu_mbox_setx { 7515union cvmx_ciu_mbox_setx {
1817 uint64_t u64; 7516 uint64_t u64;
1818 struct cvmx_ciu_mbox_setx_s { 7517 struct cvmx_ciu_mbox_setx_s {
7518#ifdef __BIG_ENDIAN_BITFIELD
1819 uint64_t reserved_32_63:32; 7519 uint64_t reserved_32_63:32;
1820 uint64_t bits:32; 7520 uint64_t bits:32;
7521#else
7522 uint64_t bits:32;
7523 uint64_t reserved_32_63:32;
7524#endif
1821 } s; 7525 } s;
1822 struct cvmx_ciu_mbox_setx_s cn30xx; 7526 struct cvmx_ciu_mbox_setx_s cn30xx;
1823 struct cvmx_ciu_mbox_setx_s cn31xx; 7527 struct cvmx_ciu_mbox_setx_s cn31xx;
@@ -1830,51 +7534,112 @@ union cvmx_ciu_mbox_setx {
1830 struct cvmx_ciu_mbox_setx_s cn56xxp1; 7534 struct cvmx_ciu_mbox_setx_s cn56xxp1;
1831 struct cvmx_ciu_mbox_setx_s cn58xx; 7535 struct cvmx_ciu_mbox_setx_s cn58xx;
1832 struct cvmx_ciu_mbox_setx_s cn58xxp1; 7536 struct cvmx_ciu_mbox_setx_s cn58xxp1;
7537 struct cvmx_ciu_mbox_setx_s cn61xx;
1833 struct cvmx_ciu_mbox_setx_s cn63xx; 7538 struct cvmx_ciu_mbox_setx_s cn63xx;
1834 struct cvmx_ciu_mbox_setx_s cn63xxp1; 7539 struct cvmx_ciu_mbox_setx_s cn63xxp1;
7540 struct cvmx_ciu_mbox_setx_s cn66xx;
7541 struct cvmx_ciu_mbox_setx_s cn68xx;
7542 struct cvmx_ciu_mbox_setx_s cn68xxp1;
7543 struct cvmx_ciu_mbox_setx_s cnf71xx;
1835}; 7544};
1836 7545
1837union cvmx_ciu_nmi { 7546union cvmx_ciu_nmi {
1838 uint64_t u64; 7547 uint64_t u64;
1839 struct cvmx_ciu_nmi_s { 7548 struct cvmx_ciu_nmi_s {
1840 uint64_t reserved_16_63:48; 7549#ifdef __BIG_ENDIAN_BITFIELD
1841 uint64_t nmi:16; 7550 uint64_t reserved_32_63:32;
7551 uint64_t nmi:32;
7552#else
7553 uint64_t nmi:32;
7554 uint64_t reserved_32_63:32;
7555#endif
1842 } s; 7556 } s;
1843 struct cvmx_ciu_nmi_cn30xx { 7557 struct cvmx_ciu_nmi_cn30xx {
7558#ifdef __BIG_ENDIAN_BITFIELD
1844 uint64_t reserved_1_63:63; 7559 uint64_t reserved_1_63:63;
1845 uint64_t nmi:1; 7560 uint64_t nmi:1;
7561#else
7562 uint64_t nmi:1;
7563 uint64_t reserved_1_63:63;
7564#endif
1846 } cn30xx; 7565 } cn30xx;
1847 struct cvmx_ciu_nmi_cn31xx { 7566 struct cvmx_ciu_nmi_cn31xx {
7567#ifdef __BIG_ENDIAN_BITFIELD
1848 uint64_t reserved_2_63:62; 7568 uint64_t reserved_2_63:62;
1849 uint64_t nmi:2; 7569 uint64_t nmi:2;
7570#else
7571 uint64_t nmi:2;
7572 uint64_t reserved_2_63:62;
7573#endif
1850 } cn31xx; 7574 } cn31xx;
1851 struct cvmx_ciu_nmi_s cn38xx; 7575 struct cvmx_ciu_nmi_cn38xx {
1852 struct cvmx_ciu_nmi_s cn38xxp2; 7576#ifdef __BIG_ENDIAN_BITFIELD
7577 uint64_t reserved_16_63:48;
7578 uint64_t nmi:16;
7579#else
7580 uint64_t nmi:16;
7581 uint64_t reserved_16_63:48;
7582#endif
7583 } cn38xx;
7584 struct cvmx_ciu_nmi_cn38xx cn38xxp2;
1853 struct cvmx_ciu_nmi_cn31xx cn50xx; 7585 struct cvmx_ciu_nmi_cn31xx cn50xx;
1854 struct cvmx_ciu_nmi_cn52xx { 7586 struct cvmx_ciu_nmi_cn52xx {
7587#ifdef __BIG_ENDIAN_BITFIELD
1855 uint64_t reserved_4_63:60; 7588 uint64_t reserved_4_63:60;
1856 uint64_t nmi:4; 7589 uint64_t nmi:4;
7590#else
7591 uint64_t nmi:4;
7592 uint64_t reserved_4_63:60;
7593#endif
1857 } cn52xx; 7594 } cn52xx;
1858 struct cvmx_ciu_nmi_cn52xx cn52xxp1; 7595 struct cvmx_ciu_nmi_cn52xx cn52xxp1;
1859 struct cvmx_ciu_nmi_cn56xx { 7596 struct cvmx_ciu_nmi_cn56xx {
7597#ifdef __BIG_ENDIAN_BITFIELD
1860 uint64_t reserved_12_63:52; 7598 uint64_t reserved_12_63:52;
1861 uint64_t nmi:12; 7599 uint64_t nmi:12;
7600#else
7601 uint64_t nmi:12;
7602 uint64_t reserved_12_63:52;
7603#endif
1862 } cn56xx; 7604 } cn56xx;
1863 struct cvmx_ciu_nmi_cn56xx cn56xxp1; 7605 struct cvmx_ciu_nmi_cn56xx cn56xxp1;
1864 struct cvmx_ciu_nmi_s cn58xx; 7606 struct cvmx_ciu_nmi_cn38xx cn58xx;
1865 struct cvmx_ciu_nmi_s cn58xxp1; 7607 struct cvmx_ciu_nmi_cn38xx cn58xxp1;
7608 struct cvmx_ciu_nmi_cn52xx cn61xx;
1866 struct cvmx_ciu_nmi_cn63xx { 7609 struct cvmx_ciu_nmi_cn63xx {
7610#ifdef __BIG_ENDIAN_BITFIELD
1867 uint64_t reserved_6_63:58; 7611 uint64_t reserved_6_63:58;
1868 uint64_t nmi:6; 7612 uint64_t nmi:6;
7613#else
7614 uint64_t nmi:6;
7615 uint64_t reserved_6_63:58;
7616#endif
1869 } cn63xx; 7617 } cn63xx;
1870 struct cvmx_ciu_nmi_cn63xx cn63xxp1; 7618 struct cvmx_ciu_nmi_cn63xx cn63xxp1;
7619 struct cvmx_ciu_nmi_cn66xx {
7620#ifdef __BIG_ENDIAN_BITFIELD
7621 uint64_t reserved_10_63:54;
7622 uint64_t nmi:10;
7623#else
7624 uint64_t nmi:10;
7625 uint64_t reserved_10_63:54;
7626#endif
7627 } cn66xx;
7628 struct cvmx_ciu_nmi_s cn68xx;
7629 struct cvmx_ciu_nmi_s cn68xxp1;
7630 struct cvmx_ciu_nmi_cn52xx cnf71xx;
1871}; 7631};
1872 7632
1873union cvmx_ciu_pci_inta { 7633union cvmx_ciu_pci_inta {
1874 uint64_t u64; 7634 uint64_t u64;
1875 struct cvmx_ciu_pci_inta_s { 7635 struct cvmx_ciu_pci_inta_s {
7636#ifdef __BIG_ENDIAN_BITFIELD
1876 uint64_t reserved_2_63:62; 7637 uint64_t reserved_2_63:62;
1877 uint64_t intr:2; 7638 uint64_t intr:2;
7639#else
7640 uint64_t intr:2;
7641 uint64_t reserved_2_63:62;
7642#endif
1878 } s; 7643 } s;
1879 struct cvmx_ciu_pci_inta_s cn30xx; 7644 struct cvmx_ciu_pci_inta_s cn30xx;
1880 struct cvmx_ciu_pci_inta_s cn31xx; 7645 struct cvmx_ciu_pci_inta_s cn31xx;
@@ -1887,50 +7652,125 @@ union cvmx_ciu_pci_inta {
1887 struct cvmx_ciu_pci_inta_s cn56xxp1; 7652 struct cvmx_ciu_pci_inta_s cn56xxp1;
1888 struct cvmx_ciu_pci_inta_s cn58xx; 7653 struct cvmx_ciu_pci_inta_s cn58xx;
1889 struct cvmx_ciu_pci_inta_s cn58xxp1; 7654 struct cvmx_ciu_pci_inta_s cn58xxp1;
7655 struct cvmx_ciu_pci_inta_s cn61xx;
1890 struct cvmx_ciu_pci_inta_s cn63xx; 7656 struct cvmx_ciu_pci_inta_s cn63xx;
1891 struct cvmx_ciu_pci_inta_s cn63xxp1; 7657 struct cvmx_ciu_pci_inta_s cn63xxp1;
7658 struct cvmx_ciu_pci_inta_s cn66xx;
7659 struct cvmx_ciu_pci_inta_s cn68xx;
7660 struct cvmx_ciu_pci_inta_s cn68xxp1;
7661 struct cvmx_ciu_pci_inta_s cnf71xx;
7662};
7663
7664union cvmx_ciu_pp_bist_stat {
7665 uint64_t u64;
7666 struct cvmx_ciu_pp_bist_stat_s {
7667#ifdef __BIG_ENDIAN_BITFIELD
7668 uint64_t reserved_32_63:32;
7669 uint64_t pp_bist:32;
7670#else
7671 uint64_t pp_bist:32;
7672 uint64_t reserved_32_63:32;
7673#endif
7674 } s;
7675 struct cvmx_ciu_pp_bist_stat_s cn68xx;
7676 struct cvmx_ciu_pp_bist_stat_s cn68xxp1;
1892}; 7677};
1893 7678
1894union cvmx_ciu_pp_dbg { 7679union cvmx_ciu_pp_dbg {
1895 uint64_t u64; 7680 uint64_t u64;
1896 struct cvmx_ciu_pp_dbg_s { 7681 struct cvmx_ciu_pp_dbg_s {
1897 uint64_t reserved_16_63:48; 7682#ifdef __BIG_ENDIAN_BITFIELD
1898 uint64_t ppdbg:16; 7683 uint64_t reserved_32_63:32;
7684 uint64_t ppdbg:32;
7685#else
7686 uint64_t ppdbg:32;
7687 uint64_t reserved_32_63:32;
7688#endif
1899 } s; 7689 } s;
1900 struct cvmx_ciu_pp_dbg_cn30xx { 7690 struct cvmx_ciu_pp_dbg_cn30xx {
7691#ifdef __BIG_ENDIAN_BITFIELD
1901 uint64_t reserved_1_63:63; 7692 uint64_t reserved_1_63:63;
1902 uint64_t ppdbg:1; 7693 uint64_t ppdbg:1;
7694#else
7695 uint64_t ppdbg:1;
7696 uint64_t reserved_1_63:63;
7697#endif
1903 } cn30xx; 7698 } cn30xx;
1904 struct cvmx_ciu_pp_dbg_cn31xx { 7699 struct cvmx_ciu_pp_dbg_cn31xx {
7700#ifdef __BIG_ENDIAN_BITFIELD
1905 uint64_t reserved_2_63:62; 7701 uint64_t reserved_2_63:62;
1906 uint64_t ppdbg:2; 7702 uint64_t ppdbg:2;
7703#else
7704 uint64_t ppdbg:2;
7705 uint64_t reserved_2_63:62;
7706#endif
1907 } cn31xx; 7707 } cn31xx;
1908 struct cvmx_ciu_pp_dbg_s cn38xx; 7708 struct cvmx_ciu_pp_dbg_cn38xx {
1909 struct cvmx_ciu_pp_dbg_s cn38xxp2; 7709#ifdef __BIG_ENDIAN_BITFIELD
7710 uint64_t reserved_16_63:48;
7711 uint64_t ppdbg:16;
7712#else
7713 uint64_t ppdbg:16;
7714 uint64_t reserved_16_63:48;
7715#endif
7716 } cn38xx;
7717 struct cvmx_ciu_pp_dbg_cn38xx cn38xxp2;
1910 struct cvmx_ciu_pp_dbg_cn31xx cn50xx; 7718 struct cvmx_ciu_pp_dbg_cn31xx cn50xx;
1911 struct cvmx_ciu_pp_dbg_cn52xx { 7719 struct cvmx_ciu_pp_dbg_cn52xx {
7720#ifdef __BIG_ENDIAN_BITFIELD
1912 uint64_t reserved_4_63:60; 7721 uint64_t reserved_4_63:60;
1913 uint64_t ppdbg:4; 7722 uint64_t ppdbg:4;
7723#else
7724 uint64_t ppdbg:4;
7725 uint64_t reserved_4_63:60;
7726#endif
1914 } cn52xx; 7727 } cn52xx;
1915 struct cvmx_ciu_pp_dbg_cn52xx cn52xxp1; 7728 struct cvmx_ciu_pp_dbg_cn52xx cn52xxp1;
1916 struct cvmx_ciu_pp_dbg_cn56xx { 7729 struct cvmx_ciu_pp_dbg_cn56xx {
7730#ifdef __BIG_ENDIAN_BITFIELD
1917 uint64_t reserved_12_63:52; 7731 uint64_t reserved_12_63:52;
1918 uint64_t ppdbg:12; 7732 uint64_t ppdbg:12;
7733#else
7734 uint64_t ppdbg:12;
7735 uint64_t reserved_12_63:52;
7736#endif
1919 } cn56xx; 7737 } cn56xx;
1920 struct cvmx_ciu_pp_dbg_cn56xx cn56xxp1; 7738 struct cvmx_ciu_pp_dbg_cn56xx cn56xxp1;
1921 struct cvmx_ciu_pp_dbg_s cn58xx; 7739 struct cvmx_ciu_pp_dbg_cn38xx cn58xx;
1922 struct cvmx_ciu_pp_dbg_s cn58xxp1; 7740 struct cvmx_ciu_pp_dbg_cn38xx cn58xxp1;
7741 struct cvmx_ciu_pp_dbg_cn52xx cn61xx;
1923 struct cvmx_ciu_pp_dbg_cn63xx { 7742 struct cvmx_ciu_pp_dbg_cn63xx {
7743#ifdef __BIG_ENDIAN_BITFIELD
1924 uint64_t reserved_6_63:58; 7744 uint64_t reserved_6_63:58;
1925 uint64_t ppdbg:6; 7745 uint64_t ppdbg:6;
7746#else
7747 uint64_t ppdbg:6;
7748 uint64_t reserved_6_63:58;
7749#endif
1926 } cn63xx; 7750 } cn63xx;
1927 struct cvmx_ciu_pp_dbg_cn63xx cn63xxp1; 7751 struct cvmx_ciu_pp_dbg_cn63xx cn63xxp1;
7752 struct cvmx_ciu_pp_dbg_cn66xx {
7753#ifdef __BIG_ENDIAN_BITFIELD
7754 uint64_t reserved_10_63:54;
7755 uint64_t ppdbg:10;
7756#else
7757 uint64_t ppdbg:10;
7758 uint64_t reserved_10_63:54;
7759#endif
7760 } cn66xx;
7761 struct cvmx_ciu_pp_dbg_s cn68xx;
7762 struct cvmx_ciu_pp_dbg_s cn68xxp1;
7763 struct cvmx_ciu_pp_dbg_cn52xx cnf71xx;
1928}; 7764};
1929 7765
1930union cvmx_ciu_pp_pokex { 7766union cvmx_ciu_pp_pokex {
1931 uint64_t u64; 7767 uint64_t u64;
1932 struct cvmx_ciu_pp_pokex_s { 7768 struct cvmx_ciu_pp_pokex_s {
7769#ifdef __BIG_ENDIAN_BITFIELD
1933 uint64_t poke:64; 7770 uint64_t poke:64;
7771#else
7772 uint64_t poke:64;
7773#endif
1934 } s; 7774 } s;
1935 struct cvmx_ciu_pp_pokex_s cn30xx; 7775 struct cvmx_ciu_pp_pokex_s cn30xx;
1936 struct cvmx_ciu_pp_pokex_s cn31xx; 7776 struct cvmx_ciu_pp_pokex_s cn31xx;
@@ -1943,54 +7783,120 @@ union cvmx_ciu_pp_pokex {
1943 struct cvmx_ciu_pp_pokex_s cn56xxp1; 7783 struct cvmx_ciu_pp_pokex_s cn56xxp1;
1944 struct cvmx_ciu_pp_pokex_s cn58xx; 7784 struct cvmx_ciu_pp_pokex_s cn58xx;
1945 struct cvmx_ciu_pp_pokex_s cn58xxp1; 7785 struct cvmx_ciu_pp_pokex_s cn58xxp1;
7786 struct cvmx_ciu_pp_pokex_s cn61xx;
1946 struct cvmx_ciu_pp_pokex_s cn63xx; 7787 struct cvmx_ciu_pp_pokex_s cn63xx;
1947 struct cvmx_ciu_pp_pokex_s cn63xxp1; 7788 struct cvmx_ciu_pp_pokex_s cn63xxp1;
7789 struct cvmx_ciu_pp_pokex_s cn66xx;
7790 struct cvmx_ciu_pp_pokex_s cn68xx;
7791 struct cvmx_ciu_pp_pokex_s cn68xxp1;
7792 struct cvmx_ciu_pp_pokex_s cnf71xx;
1948}; 7793};
1949 7794
1950union cvmx_ciu_pp_rst { 7795union cvmx_ciu_pp_rst {
1951 uint64_t u64; 7796 uint64_t u64;
1952 struct cvmx_ciu_pp_rst_s { 7797 struct cvmx_ciu_pp_rst_s {
1953 uint64_t reserved_16_63:48; 7798#ifdef __BIG_ENDIAN_BITFIELD
1954 uint64_t rst:15; 7799 uint64_t reserved_32_63:32;
7800 uint64_t rst:31;
7801 uint64_t rst0:1;
7802#else
1955 uint64_t rst0:1; 7803 uint64_t rst0:1;
7804 uint64_t rst:31;
7805 uint64_t reserved_32_63:32;
7806#endif
1956 } s; 7807 } s;
1957 struct cvmx_ciu_pp_rst_cn30xx { 7808 struct cvmx_ciu_pp_rst_cn30xx {
7809#ifdef __BIG_ENDIAN_BITFIELD
1958 uint64_t reserved_1_63:63; 7810 uint64_t reserved_1_63:63;
1959 uint64_t rst0:1; 7811 uint64_t rst0:1;
7812#else
7813 uint64_t rst0:1;
7814 uint64_t reserved_1_63:63;
7815#endif
1960 } cn30xx; 7816 } cn30xx;
1961 struct cvmx_ciu_pp_rst_cn31xx { 7817 struct cvmx_ciu_pp_rst_cn31xx {
7818#ifdef __BIG_ENDIAN_BITFIELD
1962 uint64_t reserved_2_63:62; 7819 uint64_t reserved_2_63:62;
1963 uint64_t rst:1; 7820 uint64_t rst:1;
1964 uint64_t rst0:1; 7821 uint64_t rst0:1;
7822#else
7823 uint64_t rst0:1;
7824 uint64_t rst:1;
7825 uint64_t reserved_2_63:62;
7826#endif
1965 } cn31xx; 7827 } cn31xx;
1966 struct cvmx_ciu_pp_rst_s cn38xx; 7828 struct cvmx_ciu_pp_rst_cn38xx {
1967 struct cvmx_ciu_pp_rst_s cn38xxp2; 7829#ifdef __BIG_ENDIAN_BITFIELD
7830 uint64_t reserved_16_63:48;
7831 uint64_t rst:15;
7832 uint64_t rst0:1;
7833#else
7834 uint64_t rst0:1;
7835 uint64_t rst:15;
7836 uint64_t reserved_16_63:48;
7837#endif
7838 } cn38xx;
7839 struct cvmx_ciu_pp_rst_cn38xx cn38xxp2;
1968 struct cvmx_ciu_pp_rst_cn31xx cn50xx; 7840 struct cvmx_ciu_pp_rst_cn31xx cn50xx;
1969 struct cvmx_ciu_pp_rst_cn52xx { 7841 struct cvmx_ciu_pp_rst_cn52xx {
7842#ifdef __BIG_ENDIAN_BITFIELD
1970 uint64_t reserved_4_63:60; 7843 uint64_t reserved_4_63:60;
1971 uint64_t rst:3; 7844 uint64_t rst:3;
1972 uint64_t rst0:1; 7845 uint64_t rst0:1;
7846#else
7847 uint64_t rst0:1;
7848 uint64_t rst:3;
7849 uint64_t reserved_4_63:60;
7850#endif
1973 } cn52xx; 7851 } cn52xx;
1974 struct cvmx_ciu_pp_rst_cn52xx cn52xxp1; 7852 struct cvmx_ciu_pp_rst_cn52xx cn52xxp1;
1975 struct cvmx_ciu_pp_rst_cn56xx { 7853 struct cvmx_ciu_pp_rst_cn56xx {
7854#ifdef __BIG_ENDIAN_BITFIELD
1976 uint64_t reserved_12_63:52; 7855 uint64_t reserved_12_63:52;
1977 uint64_t rst:11; 7856 uint64_t rst:11;
1978 uint64_t rst0:1; 7857 uint64_t rst0:1;
7858#else
7859 uint64_t rst0:1;
7860 uint64_t rst:11;
7861 uint64_t reserved_12_63:52;
7862#endif
1979 } cn56xx; 7863 } cn56xx;
1980 struct cvmx_ciu_pp_rst_cn56xx cn56xxp1; 7864 struct cvmx_ciu_pp_rst_cn56xx cn56xxp1;
1981 struct cvmx_ciu_pp_rst_s cn58xx; 7865 struct cvmx_ciu_pp_rst_cn38xx cn58xx;
1982 struct cvmx_ciu_pp_rst_s cn58xxp1; 7866 struct cvmx_ciu_pp_rst_cn38xx cn58xxp1;
7867 struct cvmx_ciu_pp_rst_cn52xx cn61xx;
1983 struct cvmx_ciu_pp_rst_cn63xx { 7868 struct cvmx_ciu_pp_rst_cn63xx {
7869#ifdef __BIG_ENDIAN_BITFIELD
1984 uint64_t reserved_6_63:58; 7870 uint64_t reserved_6_63:58;
1985 uint64_t rst:5; 7871 uint64_t rst:5;
1986 uint64_t rst0:1; 7872 uint64_t rst0:1;
7873#else
7874 uint64_t rst0:1;
7875 uint64_t rst:5;
7876 uint64_t reserved_6_63:58;
7877#endif
1987 } cn63xx; 7878 } cn63xx;
1988 struct cvmx_ciu_pp_rst_cn63xx cn63xxp1; 7879 struct cvmx_ciu_pp_rst_cn63xx cn63xxp1;
7880 struct cvmx_ciu_pp_rst_cn66xx {
7881#ifdef __BIG_ENDIAN_BITFIELD
7882 uint64_t reserved_10_63:54;
7883 uint64_t rst:9;
7884 uint64_t rst0:1;
7885#else
7886 uint64_t rst0:1;
7887 uint64_t rst:9;
7888 uint64_t reserved_10_63:54;
7889#endif
7890 } cn66xx;
7891 struct cvmx_ciu_pp_rst_s cn68xx;
7892 struct cvmx_ciu_pp_rst_s cn68xxp1;
7893 struct cvmx_ciu_pp_rst_cn52xx cnf71xx;
1989}; 7894};
1990 7895
1991union cvmx_ciu_qlm0 { 7896union cvmx_ciu_qlm0 {
1992 uint64_t u64; 7897 uint64_t u64;
1993 struct cvmx_ciu_qlm0_s { 7898 struct cvmx_ciu_qlm0_s {
7899#ifdef __BIG_ENDIAN_BITFIELD
1994 uint64_t g2bypass:1; 7900 uint64_t g2bypass:1;
1995 uint64_t reserved_53_62:10; 7901 uint64_t reserved_53_62:10;
1996 uint64_t g2deemph:5; 7902 uint64_t g2deemph:5;
@@ -2004,9 +7910,26 @@ union cvmx_ciu_qlm0 {
2004 uint64_t txmargin:5; 7910 uint64_t txmargin:5;
2005 uint64_t reserved_4_7:4; 7911 uint64_t reserved_4_7:4;
2006 uint64_t lane_en:4; 7912 uint64_t lane_en:4;
7913#else
7914 uint64_t lane_en:4;
7915 uint64_t reserved_4_7:4;
7916 uint64_t txmargin:5;
7917 uint64_t reserved_13_15:3;
7918 uint64_t txdeemph:5;
7919 uint64_t reserved_21_30:10;
7920 uint64_t txbypass:1;
7921 uint64_t reserved_32_39:8;
7922 uint64_t g2margin:5;
7923 uint64_t reserved_45_47:3;
7924 uint64_t g2deemph:5;
7925 uint64_t reserved_53_62:10;
7926 uint64_t g2bypass:1;
7927#endif
2007 } s; 7928 } s;
7929 struct cvmx_ciu_qlm0_s cn61xx;
2008 struct cvmx_ciu_qlm0_s cn63xx; 7930 struct cvmx_ciu_qlm0_s cn63xx;
2009 struct cvmx_ciu_qlm0_cn63xxp1 { 7931 struct cvmx_ciu_qlm0_cn63xxp1 {
7932#ifdef __BIG_ENDIAN_BITFIELD
2010 uint64_t reserved_32_63:32; 7933 uint64_t reserved_32_63:32;
2011 uint64_t txbypass:1; 7934 uint64_t txbypass:1;
2012 uint64_t reserved_20_30:11; 7935 uint64_t reserved_20_30:11;
@@ -2015,12 +7938,47 @@ union cvmx_ciu_qlm0 {
2015 uint64_t txmargin:5; 7938 uint64_t txmargin:5;
2016 uint64_t reserved_4_7:4; 7939 uint64_t reserved_4_7:4;
2017 uint64_t lane_en:4; 7940 uint64_t lane_en:4;
7941#else
7942 uint64_t lane_en:4;
7943 uint64_t reserved_4_7:4;
7944 uint64_t txmargin:5;
7945 uint64_t reserved_13_15:3;
7946 uint64_t txdeemph:4;
7947 uint64_t reserved_20_30:11;
7948 uint64_t txbypass:1;
7949 uint64_t reserved_32_63:32;
7950#endif
2018 } cn63xxp1; 7951 } cn63xxp1;
7952 struct cvmx_ciu_qlm0_s cn66xx;
7953 struct cvmx_ciu_qlm0_cn68xx {
7954#ifdef __BIG_ENDIAN_BITFIELD
7955 uint64_t reserved_32_63:32;
7956 uint64_t txbypass:1;
7957 uint64_t reserved_21_30:10;
7958 uint64_t txdeemph:5;
7959 uint64_t reserved_13_15:3;
7960 uint64_t txmargin:5;
7961 uint64_t reserved_4_7:4;
7962 uint64_t lane_en:4;
7963#else
7964 uint64_t lane_en:4;
7965 uint64_t reserved_4_7:4;
7966 uint64_t txmargin:5;
7967 uint64_t reserved_13_15:3;
7968 uint64_t txdeemph:5;
7969 uint64_t reserved_21_30:10;
7970 uint64_t txbypass:1;
7971 uint64_t reserved_32_63:32;
7972#endif
7973 } cn68xx;
7974 struct cvmx_ciu_qlm0_cn68xx cn68xxp1;
7975 struct cvmx_ciu_qlm0_s cnf71xx;
2019}; 7976};
2020 7977
2021union cvmx_ciu_qlm1 { 7978union cvmx_ciu_qlm1 {
2022 uint64_t u64; 7979 uint64_t u64;
2023 struct cvmx_ciu_qlm1_s { 7980 struct cvmx_ciu_qlm1_s {
7981#ifdef __BIG_ENDIAN_BITFIELD
2024 uint64_t g2bypass:1; 7982 uint64_t g2bypass:1;
2025 uint64_t reserved_53_62:10; 7983 uint64_t reserved_53_62:10;
2026 uint64_t g2deemph:5; 7984 uint64_t g2deemph:5;
@@ -2034,9 +7992,26 @@ union cvmx_ciu_qlm1 {
2034 uint64_t txmargin:5; 7992 uint64_t txmargin:5;
2035 uint64_t reserved_4_7:4; 7993 uint64_t reserved_4_7:4;
2036 uint64_t lane_en:4; 7994 uint64_t lane_en:4;
7995#else
7996 uint64_t lane_en:4;
7997 uint64_t reserved_4_7:4;
7998 uint64_t txmargin:5;
7999 uint64_t reserved_13_15:3;
8000 uint64_t txdeemph:5;
8001 uint64_t reserved_21_30:10;
8002 uint64_t txbypass:1;
8003 uint64_t reserved_32_39:8;
8004 uint64_t g2margin:5;
8005 uint64_t reserved_45_47:3;
8006 uint64_t g2deemph:5;
8007 uint64_t reserved_53_62:10;
8008 uint64_t g2bypass:1;
8009#endif
2037 } s; 8010 } s;
8011 struct cvmx_ciu_qlm1_s cn61xx;
2038 struct cvmx_ciu_qlm1_s cn63xx; 8012 struct cvmx_ciu_qlm1_s cn63xx;
2039 struct cvmx_ciu_qlm1_cn63xxp1 { 8013 struct cvmx_ciu_qlm1_cn63xxp1 {
8014#ifdef __BIG_ENDIAN_BITFIELD
2040 uint64_t reserved_32_63:32; 8015 uint64_t reserved_32_63:32;
2041 uint64_t txbypass:1; 8016 uint64_t txbypass:1;
2042 uint64_t reserved_20_30:11; 8017 uint64_t reserved_20_30:11;
@@ -2045,13 +8020,33 @@ union cvmx_ciu_qlm1 {
2045 uint64_t txmargin:5; 8020 uint64_t txmargin:5;
2046 uint64_t reserved_4_7:4; 8021 uint64_t reserved_4_7:4;
2047 uint64_t lane_en:4; 8022 uint64_t lane_en:4;
8023#else
8024 uint64_t lane_en:4;
8025 uint64_t reserved_4_7:4;
8026 uint64_t txmargin:5;
8027 uint64_t reserved_13_15:3;
8028 uint64_t txdeemph:4;
8029 uint64_t reserved_20_30:11;
8030 uint64_t txbypass:1;
8031 uint64_t reserved_32_63:32;
8032#endif
2048 } cn63xxp1; 8033 } cn63xxp1;
8034 struct cvmx_ciu_qlm1_s cn66xx;
8035 struct cvmx_ciu_qlm1_s cn68xx;
8036 struct cvmx_ciu_qlm1_s cn68xxp1;
8037 struct cvmx_ciu_qlm1_s cnf71xx;
2049}; 8038};
2050 8039
2051union cvmx_ciu_qlm2 { 8040union cvmx_ciu_qlm2 {
2052 uint64_t u64; 8041 uint64_t u64;
2053 struct cvmx_ciu_qlm2_s { 8042 struct cvmx_ciu_qlm2_s {
2054 uint64_t reserved_32_63:32; 8043#ifdef __BIG_ENDIAN_BITFIELD
8044 uint64_t g2bypass:1;
8045 uint64_t reserved_53_62:10;
8046 uint64_t g2deemph:5;
8047 uint64_t reserved_45_47:3;
8048 uint64_t g2margin:5;
8049 uint64_t reserved_32_39:8;
2055 uint64_t txbypass:1; 8050 uint64_t txbypass:1;
2056 uint64_t reserved_21_30:10; 8051 uint64_t reserved_21_30:10;
2057 uint64_t txdeemph:5; 8052 uint64_t txdeemph:5;
@@ -2059,9 +8054,46 @@ union cvmx_ciu_qlm2 {
2059 uint64_t txmargin:5; 8054 uint64_t txmargin:5;
2060 uint64_t reserved_4_7:4; 8055 uint64_t reserved_4_7:4;
2061 uint64_t lane_en:4; 8056 uint64_t lane_en:4;
8057#else
8058 uint64_t lane_en:4;
8059 uint64_t reserved_4_7:4;
8060 uint64_t txmargin:5;
8061 uint64_t reserved_13_15:3;
8062 uint64_t txdeemph:5;
8063 uint64_t reserved_21_30:10;
8064 uint64_t txbypass:1;
8065 uint64_t reserved_32_39:8;
8066 uint64_t g2margin:5;
8067 uint64_t reserved_45_47:3;
8068 uint64_t g2deemph:5;
8069 uint64_t reserved_53_62:10;
8070 uint64_t g2bypass:1;
8071#endif
2062 } s; 8072 } s;
2063 struct cvmx_ciu_qlm2_s cn63xx; 8073 struct cvmx_ciu_qlm2_cn61xx {
8074#ifdef __BIG_ENDIAN_BITFIELD
8075 uint64_t reserved_32_63:32;
8076 uint64_t txbypass:1;
8077 uint64_t reserved_21_30:10;
8078 uint64_t txdeemph:5;
8079 uint64_t reserved_13_15:3;
8080 uint64_t txmargin:5;
8081 uint64_t reserved_4_7:4;
8082 uint64_t lane_en:4;
8083#else
8084 uint64_t lane_en:4;
8085 uint64_t reserved_4_7:4;
8086 uint64_t txmargin:5;
8087 uint64_t reserved_13_15:3;
8088 uint64_t txdeemph:5;
8089 uint64_t reserved_21_30:10;
8090 uint64_t txbypass:1;
8091 uint64_t reserved_32_63:32;
8092#endif
8093 } cn61xx;
8094 struct cvmx_ciu_qlm2_cn61xx cn63xx;
2064 struct cvmx_ciu_qlm2_cn63xxp1 { 8095 struct cvmx_ciu_qlm2_cn63xxp1 {
8096#ifdef __BIG_ENDIAN_BITFIELD
2065 uint64_t reserved_32_63:32; 8097 uint64_t reserved_32_63:32;
2066 uint64_t txbypass:1; 8098 uint64_t txbypass:1;
2067 uint64_t reserved_20_30:11; 8099 uint64_t reserved_20_30:11;
@@ -2070,18 +8102,116 @@ union cvmx_ciu_qlm2 {
2070 uint64_t txmargin:5; 8102 uint64_t txmargin:5;
2071 uint64_t reserved_4_7:4; 8103 uint64_t reserved_4_7:4;
2072 uint64_t lane_en:4; 8104 uint64_t lane_en:4;
8105#else
8106 uint64_t lane_en:4;
8107 uint64_t reserved_4_7:4;
8108 uint64_t txmargin:5;
8109 uint64_t reserved_13_15:3;
8110 uint64_t txdeemph:4;
8111 uint64_t reserved_20_30:11;
8112 uint64_t txbypass:1;
8113 uint64_t reserved_32_63:32;
8114#endif
2073 } cn63xxp1; 8115 } cn63xxp1;
8116 struct cvmx_ciu_qlm2_cn61xx cn66xx;
8117 struct cvmx_ciu_qlm2_s cn68xx;
8118 struct cvmx_ciu_qlm2_s cn68xxp1;
8119 struct cvmx_ciu_qlm2_cn61xx cnf71xx;
8120};
8121
8122union cvmx_ciu_qlm3 {
8123 uint64_t u64;
8124 struct cvmx_ciu_qlm3_s {
8125#ifdef __BIG_ENDIAN_BITFIELD
8126 uint64_t g2bypass:1;
8127 uint64_t reserved_53_62:10;
8128 uint64_t g2deemph:5;
8129 uint64_t reserved_45_47:3;
8130 uint64_t g2margin:5;
8131 uint64_t reserved_32_39:8;
8132 uint64_t txbypass:1;
8133 uint64_t reserved_21_30:10;
8134 uint64_t txdeemph:5;
8135 uint64_t reserved_13_15:3;
8136 uint64_t txmargin:5;
8137 uint64_t reserved_4_7:4;
8138 uint64_t lane_en:4;
8139#else
8140 uint64_t lane_en:4;
8141 uint64_t reserved_4_7:4;
8142 uint64_t txmargin:5;
8143 uint64_t reserved_13_15:3;
8144 uint64_t txdeemph:5;
8145 uint64_t reserved_21_30:10;
8146 uint64_t txbypass:1;
8147 uint64_t reserved_32_39:8;
8148 uint64_t g2margin:5;
8149 uint64_t reserved_45_47:3;
8150 uint64_t g2deemph:5;
8151 uint64_t reserved_53_62:10;
8152 uint64_t g2bypass:1;
8153#endif
8154 } s;
8155 struct cvmx_ciu_qlm3_s cn68xx;
8156 struct cvmx_ciu_qlm3_s cn68xxp1;
8157};
8158
8159union cvmx_ciu_qlm4 {
8160 uint64_t u64;
8161 struct cvmx_ciu_qlm4_s {
8162#ifdef __BIG_ENDIAN_BITFIELD
8163 uint64_t g2bypass:1;
8164 uint64_t reserved_53_62:10;
8165 uint64_t g2deemph:5;
8166 uint64_t reserved_45_47:3;
8167 uint64_t g2margin:5;
8168 uint64_t reserved_32_39:8;
8169 uint64_t txbypass:1;
8170 uint64_t reserved_21_30:10;
8171 uint64_t txdeemph:5;
8172 uint64_t reserved_13_15:3;
8173 uint64_t txmargin:5;
8174 uint64_t reserved_4_7:4;
8175 uint64_t lane_en:4;
8176#else
8177 uint64_t lane_en:4;
8178 uint64_t reserved_4_7:4;
8179 uint64_t txmargin:5;
8180 uint64_t reserved_13_15:3;
8181 uint64_t txdeemph:5;
8182 uint64_t reserved_21_30:10;
8183 uint64_t txbypass:1;
8184 uint64_t reserved_32_39:8;
8185 uint64_t g2margin:5;
8186 uint64_t reserved_45_47:3;
8187 uint64_t g2deemph:5;
8188 uint64_t reserved_53_62:10;
8189 uint64_t g2bypass:1;
8190#endif
8191 } s;
8192 struct cvmx_ciu_qlm4_s cn68xx;
8193 struct cvmx_ciu_qlm4_s cn68xxp1;
2074}; 8194};
2075 8195
2076union cvmx_ciu_qlm_dcok { 8196union cvmx_ciu_qlm_dcok {
2077 uint64_t u64; 8197 uint64_t u64;
2078 struct cvmx_ciu_qlm_dcok_s { 8198 struct cvmx_ciu_qlm_dcok_s {
8199#ifdef __BIG_ENDIAN_BITFIELD
2079 uint64_t reserved_4_63:60; 8200 uint64_t reserved_4_63:60;
2080 uint64_t qlm_dcok:4; 8201 uint64_t qlm_dcok:4;
8202#else
8203 uint64_t qlm_dcok:4;
8204 uint64_t reserved_4_63:60;
8205#endif
2081 } s; 8206 } s;
2082 struct cvmx_ciu_qlm_dcok_cn52xx { 8207 struct cvmx_ciu_qlm_dcok_cn52xx {
8208#ifdef __BIG_ENDIAN_BITFIELD
2083 uint64_t reserved_2_63:62; 8209 uint64_t reserved_2_63:62;
2084 uint64_t qlm_dcok:2; 8210 uint64_t qlm_dcok:2;
8211#else
8212 uint64_t qlm_dcok:2;
8213 uint64_t reserved_2_63:62;
8214#endif
2085 } cn52xx; 8215 } cn52xx;
2086 struct cvmx_ciu_qlm_dcok_cn52xx cn52xxp1; 8216 struct cvmx_ciu_qlm_dcok_cn52xx cn52xxp1;
2087 struct cvmx_ciu_qlm_dcok_s cn56xx; 8217 struct cvmx_ciu_qlm_dcok_s cn56xx;
@@ -2091,47 +8221,108 @@ union cvmx_ciu_qlm_dcok {
2091union cvmx_ciu_qlm_jtgc { 8221union cvmx_ciu_qlm_jtgc {
2092 uint64_t u64; 8222 uint64_t u64;
2093 struct cvmx_ciu_qlm_jtgc_s { 8223 struct cvmx_ciu_qlm_jtgc_s {
2094 uint64_t reserved_11_63:53; 8224#ifdef __BIG_ENDIAN_BITFIELD
8225 uint64_t reserved_17_63:47;
8226 uint64_t bypass_ext:1;
8227 uint64_t reserved_11_15:5;
2095 uint64_t clk_div:3; 8228 uint64_t clk_div:3;
2096 uint64_t reserved_6_7:2; 8229 uint64_t reserved_7_7:1;
2097 uint64_t mux_sel:2; 8230 uint64_t mux_sel:3;
2098 uint64_t bypass:4; 8231 uint64_t bypass:4;
8232#else
8233 uint64_t bypass:4;
8234 uint64_t mux_sel:3;
8235 uint64_t reserved_7_7:1;
8236 uint64_t clk_div:3;
8237 uint64_t reserved_11_15:5;
8238 uint64_t bypass_ext:1;
8239 uint64_t reserved_17_63:47;
8240#endif
2099 } s; 8241 } s;
2100 struct cvmx_ciu_qlm_jtgc_cn52xx { 8242 struct cvmx_ciu_qlm_jtgc_cn52xx {
8243#ifdef __BIG_ENDIAN_BITFIELD
2101 uint64_t reserved_11_63:53; 8244 uint64_t reserved_11_63:53;
2102 uint64_t clk_div:3; 8245 uint64_t clk_div:3;
2103 uint64_t reserved_5_7:3; 8246 uint64_t reserved_5_7:3;
2104 uint64_t mux_sel:1; 8247 uint64_t mux_sel:1;
2105 uint64_t reserved_2_3:2; 8248 uint64_t reserved_2_3:2;
2106 uint64_t bypass:2; 8249 uint64_t bypass:2;
8250#else
8251 uint64_t bypass:2;
8252 uint64_t reserved_2_3:2;
8253 uint64_t mux_sel:1;
8254 uint64_t reserved_5_7:3;
8255 uint64_t clk_div:3;
8256 uint64_t reserved_11_63:53;
8257#endif
2107 } cn52xx; 8258 } cn52xx;
2108 struct cvmx_ciu_qlm_jtgc_cn52xx cn52xxp1; 8259 struct cvmx_ciu_qlm_jtgc_cn52xx cn52xxp1;
2109 struct cvmx_ciu_qlm_jtgc_s cn56xx; 8260 struct cvmx_ciu_qlm_jtgc_cn56xx {
2110 struct cvmx_ciu_qlm_jtgc_s cn56xxp1; 8261#ifdef __BIG_ENDIAN_BITFIELD
2111 struct cvmx_ciu_qlm_jtgc_cn63xx { 8262 uint64_t reserved_11_63:53;
8263 uint64_t clk_div:3;
8264 uint64_t reserved_6_7:2;
8265 uint64_t mux_sel:2;
8266 uint64_t bypass:4;
8267#else
8268 uint64_t bypass:4;
8269 uint64_t mux_sel:2;
8270 uint64_t reserved_6_7:2;
8271 uint64_t clk_div:3;
8272 uint64_t reserved_11_63:53;
8273#endif
8274 } cn56xx;
8275 struct cvmx_ciu_qlm_jtgc_cn56xx cn56xxp1;
8276 struct cvmx_ciu_qlm_jtgc_cn61xx {
8277#ifdef __BIG_ENDIAN_BITFIELD
2112 uint64_t reserved_11_63:53; 8278 uint64_t reserved_11_63:53;
2113 uint64_t clk_div:3; 8279 uint64_t clk_div:3;
2114 uint64_t reserved_6_7:2; 8280 uint64_t reserved_6_7:2;
2115 uint64_t mux_sel:2; 8281 uint64_t mux_sel:2;
2116 uint64_t reserved_3_3:1; 8282 uint64_t reserved_3_3:1;
2117 uint64_t bypass:3; 8283 uint64_t bypass:3;
2118 } cn63xx; 8284#else
2119 struct cvmx_ciu_qlm_jtgc_cn63xx cn63xxp1; 8285 uint64_t bypass:3;
8286 uint64_t reserved_3_3:1;
8287 uint64_t mux_sel:2;
8288 uint64_t reserved_6_7:2;
8289 uint64_t clk_div:3;
8290 uint64_t reserved_11_63:53;
8291#endif
8292 } cn61xx;
8293 struct cvmx_ciu_qlm_jtgc_cn61xx cn63xx;
8294 struct cvmx_ciu_qlm_jtgc_cn61xx cn63xxp1;
8295 struct cvmx_ciu_qlm_jtgc_cn61xx cn66xx;
8296 struct cvmx_ciu_qlm_jtgc_s cn68xx;
8297 struct cvmx_ciu_qlm_jtgc_s cn68xxp1;
8298 struct cvmx_ciu_qlm_jtgc_cn61xx cnf71xx;
2120}; 8299};
2121 8300
2122union cvmx_ciu_qlm_jtgd { 8301union cvmx_ciu_qlm_jtgd {
2123 uint64_t u64; 8302 uint64_t u64;
2124 struct cvmx_ciu_qlm_jtgd_s { 8303 struct cvmx_ciu_qlm_jtgd_s {
8304#ifdef __BIG_ENDIAN_BITFIELD
2125 uint64_t capture:1; 8305 uint64_t capture:1;
2126 uint64_t shift:1; 8306 uint64_t shift:1;
2127 uint64_t update:1; 8307 uint64_t update:1;
2128 uint64_t reserved_44_60:17; 8308 uint64_t reserved_45_60:16;
2129 uint64_t select:4; 8309 uint64_t select:5;
2130 uint64_t reserved_37_39:3; 8310 uint64_t reserved_37_39:3;
2131 uint64_t shft_cnt:5; 8311 uint64_t shft_cnt:5;
2132 uint64_t shft_reg:32; 8312 uint64_t shft_reg:32;
8313#else
8314 uint64_t shft_reg:32;
8315 uint64_t shft_cnt:5;
8316 uint64_t reserved_37_39:3;
8317 uint64_t select:5;
8318 uint64_t reserved_45_60:16;
8319 uint64_t update:1;
8320 uint64_t shift:1;
8321 uint64_t capture:1;
8322#endif
2133 } s; 8323 } s;
2134 struct cvmx_ciu_qlm_jtgd_cn52xx { 8324 struct cvmx_ciu_qlm_jtgd_cn52xx {
8325#ifdef __BIG_ENDIAN_BITFIELD
2135 uint64_t capture:1; 8326 uint64_t capture:1;
2136 uint64_t shift:1; 8327 uint64_t shift:1;
2137 uint64_t update:1; 8328 uint64_t update:1;
@@ -2140,18 +8331,58 @@ union cvmx_ciu_qlm_jtgd {
2140 uint64_t reserved_37_39:3; 8331 uint64_t reserved_37_39:3;
2141 uint64_t shft_cnt:5; 8332 uint64_t shft_cnt:5;
2142 uint64_t shft_reg:32; 8333 uint64_t shft_reg:32;
8334#else
8335 uint64_t shft_reg:32;
8336 uint64_t shft_cnt:5;
8337 uint64_t reserved_37_39:3;
8338 uint64_t select:2;
8339 uint64_t reserved_42_60:19;
8340 uint64_t update:1;
8341 uint64_t shift:1;
8342 uint64_t capture:1;
8343#endif
2143 } cn52xx; 8344 } cn52xx;
2144 struct cvmx_ciu_qlm_jtgd_cn52xx cn52xxp1; 8345 struct cvmx_ciu_qlm_jtgd_cn52xx cn52xxp1;
2145 struct cvmx_ciu_qlm_jtgd_s cn56xx; 8346 struct cvmx_ciu_qlm_jtgd_cn56xx {
8347#ifdef __BIG_ENDIAN_BITFIELD
8348 uint64_t capture:1;
8349 uint64_t shift:1;
8350 uint64_t update:1;
8351 uint64_t reserved_44_60:17;
8352 uint64_t select:4;
8353 uint64_t reserved_37_39:3;
8354 uint64_t shft_cnt:5;
8355 uint64_t shft_reg:32;
8356#else
8357 uint64_t shft_reg:32;
8358 uint64_t shft_cnt:5;
8359 uint64_t reserved_37_39:3;
8360 uint64_t select:4;
8361 uint64_t reserved_44_60:17;
8362 uint64_t update:1;
8363 uint64_t shift:1;
8364 uint64_t capture:1;
8365#endif
8366 } cn56xx;
2146 struct cvmx_ciu_qlm_jtgd_cn56xxp1 { 8367 struct cvmx_ciu_qlm_jtgd_cn56xxp1 {
8368#ifdef __BIG_ENDIAN_BITFIELD
2147 uint64_t capture:1; 8369 uint64_t capture:1;
2148 uint64_t shift:1; 8370 uint64_t shift:1;
2149 uint64_t update:1; 8371 uint64_t update:1;
2150 uint64_t reserved_37_60:24; 8372 uint64_t reserved_37_60:24;
2151 uint64_t shft_cnt:5; 8373 uint64_t shft_cnt:5;
2152 uint64_t shft_reg:32; 8374 uint64_t shft_reg:32;
8375#else
8376 uint64_t shft_reg:32;
8377 uint64_t shft_cnt:5;
8378 uint64_t reserved_37_60:24;
8379 uint64_t update:1;
8380 uint64_t shift:1;
8381 uint64_t capture:1;
8382#endif
2153 } cn56xxp1; 8383 } cn56xxp1;
2154 struct cvmx_ciu_qlm_jtgd_cn63xx { 8384 struct cvmx_ciu_qlm_jtgd_cn61xx {
8385#ifdef __BIG_ENDIAN_BITFIELD
2155 uint64_t capture:1; 8386 uint64_t capture:1;
2156 uint64_t shift:1; 8387 uint64_t shift:1;
2157 uint64_t update:1; 8388 uint64_t update:1;
@@ -2160,15 +8391,35 @@ union cvmx_ciu_qlm_jtgd {
2160 uint64_t reserved_37_39:3; 8391 uint64_t reserved_37_39:3;
2161 uint64_t shft_cnt:5; 8392 uint64_t shft_cnt:5;
2162 uint64_t shft_reg:32; 8393 uint64_t shft_reg:32;
2163 } cn63xx; 8394#else
2164 struct cvmx_ciu_qlm_jtgd_cn63xx cn63xxp1; 8395 uint64_t shft_reg:32;
8396 uint64_t shft_cnt:5;
8397 uint64_t reserved_37_39:3;
8398 uint64_t select:3;
8399 uint64_t reserved_43_60:18;
8400 uint64_t update:1;
8401 uint64_t shift:1;
8402 uint64_t capture:1;
8403#endif
8404 } cn61xx;
8405 struct cvmx_ciu_qlm_jtgd_cn61xx cn63xx;
8406 struct cvmx_ciu_qlm_jtgd_cn61xx cn63xxp1;
8407 struct cvmx_ciu_qlm_jtgd_cn61xx cn66xx;
8408 struct cvmx_ciu_qlm_jtgd_s cn68xx;
8409 struct cvmx_ciu_qlm_jtgd_s cn68xxp1;
8410 struct cvmx_ciu_qlm_jtgd_cn61xx cnf71xx;
2165}; 8411};
2166 8412
2167union cvmx_ciu_soft_bist { 8413union cvmx_ciu_soft_bist {
2168 uint64_t u64; 8414 uint64_t u64;
2169 struct cvmx_ciu_soft_bist_s { 8415 struct cvmx_ciu_soft_bist_s {
8416#ifdef __BIG_ENDIAN_BITFIELD
2170 uint64_t reserved_1_63:63; 8417 uint64_t reserved_1_63:63;
2171 uint64_t soft_bist:1; 8418 uint64_t soft_bist:1;
8419#else
8420 uint64_t soft_bist:1;
8421 uint64_t reserved_1_63:63;
8422#endif
2172 } s; 8423 } s;
2173 struct cvmx_ciu_soft_bist_s cn30xx; 8424 struct cvmx_ciu_soft_bist_s cn30xx;
2174 struct cvmx_ciu_soft_bist_s cn31xx; 8425 struct cvmx_ciu_soft_bist_s cn31xx;
@@ -2181,17 +8432,29 @@ union cvmx_ciu_soft_bist {
2181 struct cvmx_ciu_soft_bist_s cn56xxp1; 8432 struct cvmx_ciu_soft_bist_s cn56xxp1;
2182 struct cvmx_ciu_soft_bist_s cn58xx; 8433 struct cvmx_ciu_soft_bist_s cn58xx;
2183 struct cvmx_ciu_soft_bist_s cn58xxp1; 8434 struct cvmx_ciu_soft_bist_s cn58xxp1;
8435 struct cvmx_ciu_soft_bist_s cn61xx;
2184 struct cvmx_ciu_soft_bist_s cn63xx; 8436 struct cvmx_ciu_soft_bist_s cn63xx;
2185 struct cvmx_ciu_soft_bist_s cn63xxp1; 8437 struct cvmx_ciu_soft_bist_s cn63xxp1;
8438 struct cvmx_ciu_soft_bist_s cn66xx;
8439 struct cvmx_ciu_soft_bist_s cn68xx;
8440 struct cvmx_ciu_soft_bist_s cn68xxp1;
8441 struct cvmx_ciu_soft_bist_s cnf71xx;
2186}; 8442};
2187 8443
2188union cvmx_ciu_soft_prst { 8444union cvmx_ciu_soft_prst {
2189 uint64_t u64; 8445 uint64_t u64;
2190 struct cvmx_ciu_soft_prst_s { 8446 struct cvmx_ciu_soft_prst_s {
8447#ifdef __BIG_ENDIAN_BITFIELD
2191 uint64_t reserved_3_63:61; 8448 uint64_t reserved_3_63:61;
2192 uint64_t host64:1; 8449 uint64_t host64:1;
2193 uint64_t npi:1; 8450 uint64_t npi:1;
2194 uint64_t soft_prst:1; 8451 uint64_t soft_prst:1;
8452#else
8453 uint64_t soft_prst:1;
8454 uint64_t npi:1;
8455 uint64_t host64:1;
8456 uint64_t reserved_3_63:61;
8457#endif
2195 } s; 8458 } s;
2196 struct cvmx_ciu_soft_prst_s cn30xx; 8459 struct cvmx_ciu_soft_prst_s cn30xx;
2197 struct cvmx_ciu_soft_prst_s cn31xx; 8460 struct cvmx_ciu_soft_prst_s cn31xx;
@@ -2199,37 +8462,90 @@ union cvmx_ciu_soft_prst {
2199 struct cvmx_ciu_soft_prst_s cn38xxp2; 8462 struct cvmx_ciu_soft_prst_s cn38xxp2;
2200 struct cvmx_ciu_soft_prst_s cn50xx; 8463 struct cvmx_ciu_soft_prst_s cn50xx;
2201 struct cvmx_ciu_soft_prst_cn52xx { 8464 struct cvmx_ciu_soft_prst_cn52xx {
8465#ifdef __BIG_ENDIAN_BITFIELD
2202 uint64_t reserved_1_63:63; 8466 uint64_t reserved_1_63:63;
2203 uint64_t soft_prst:1; 8467 uint64_t soft_prst:1;
8468#else
8469 uint64_t soft_prst:1;
8470 uint64_t reserved_1_63:63;
8471#endif
2204 } cn52xx; 8472 } cn52xx;
2205 struct cvmx_ciu_soft_prst_cn52xx cn52xxp1; 8473 struct cvmx_ciu_soft_prst_cn52xx cn52xxp1;
2206 struct cvmx_ciu_soft_prst_cn52xx cn56xx; 8474 struct cvmx_ciu_soft_prst_cn52xx cn56xx;
2207 struct cvmx_ciu_soft_prst_cn52xx cn56xxp1; 8475 struct cvmx_ciu_soft_prst_cn52xx cn56xxp1;
2208 struct cvmx_ciu_soft_prst_s cn58xx; 8476 struct cvmx_ciu_soft_prst_s cn58xx;
2209 struct cvmx_ciu_soft_prst_s cn58xxp1; 8477 struct cvmx_ciu_soft_prst_s cn58xxp1;
8478 struct cvmx_ciu_soft_prst_cn52xx cn61xx;
2210 struct cvmx_ciu_soft_prst_cn52xx cn63xx; 8479 struct cvmx_ciu_soft_prst_cn52xx cn63xx;
2211 struct cvmx_ciu_soft_prst_cn52xx cn63xxp1; 8480 struct cvmx_ciu_soft_prst_cn52xx cn63xxp1;
8481 struct cvmx_ciu_soft_prst_cn52xx cn66xx;
8482 struct cvmx_ciu_soft_prst_cn52xx cn68xx;
8483 struct cvmx_ciu_soft_prst_cn52xx cn68xxp1;
8484 struct cvmx_ciu_soft_prst_cn52xx cnf71xx;
2212}; 8485};
2213 8486
2214union cvmx_ciu_soft_prst1 { 8487union cvmx_ciu_soft_prst1 {
2215 uint64_t u64; 8488 uint64_t u64;
2216 struct cvmx_ciu_soft_prst1_s { 8489 struct cvmx_ciu_soft_prst1_s {
8490#ifdef __BIG_ENDIAN_BITFIELD
2217 uint64_t reserved_1_63:63; 8491 uint64_t reserved_1_63:63;
2218 uint64_t soft_prst:1; 8492 uint64_t soft_prst:1;
8493#else
8494 uint64_t soft_prst:1;
8495 uint64_t reserved_1_63:63;
8496#endif
2219 } s; 8497 } s;
2220 struct cvmx_ciu_soft_prst1_s cn52xx; 8498 struct cvmx_ciu_soft_prst1_s cn52xx;
2221 struct cvmx_ciu_soft_prst1_s cn52xxp1; 8499 struct cvmx_ciu_soft_prst1_s cn52xxp1;
2222 struct cvmx_ciu_soft_prst1_s cn56xx; 8500 struct cvmx_ciu_soft_prst1_s cn56xx;
2223 struct cvmx_ciu_soft_prst1_s cn56xxp1; 8501 struct cvmx_ciu_soft_prst1_s cn56xxp1;
8502 struct cvmx_ciu_soft_prst1_s cn61xx;
2224 struct cvmx_ciu_soft_prst1_s cn63xx; 8503 struct cvmx_ciu_soft_prst1_s cn63xx;
2225 struct cvmx_ciu_soft_prst1_s cn63xxp1; 8504 struct cvmx_ciu_soft_prst1_s cn63xxp1;
8505 struct cvmx_ciu_soft_prst1_s cn66xx;
8506 struct cvmx_ciu_soft_prst1_s cn68xx;
8507 struct cvmx_ciu_soft_prst1_s cn68xxp1;
8508 struct cvmx_ciu_soft_prst1_s cnf71xx;
8509};
8510
8511union cvmx_ciu_soft_prst2 {
8512 uint64_t u64;
8513 struct cvmx_ciu_soft_prst2_s {
8514#ifdef __BIG_ENDIAN_BITFIELD
8515 uint64_t reserved_1_63:63;
8516 uint64_t soft_prst:1;
8517#else
8518 uint64_t soft_prst:1;
8519 uint64_t reserved_1_63:63;
8520#endif
8521 } s;
8522 struct cvmx_ciu_soft_prst2_s cn66xx;
8523};
8524
8525union cvmx_ciu_soft_prst3 {
8526 uint64_t u64;
8527 struct cvmx_ciu_soft_prst3_s {
8528#ifdef __BIG_ENDIAN_BITFIELD
8529 uint64_t reserved_1_63:63;
8530 uint64_t soft_prst:1;
8531#else
8532 uint64_t soft_prst:1;
8533 uint64_t reserved_1_63:63;
8534#endif
8535 } s;
8536 struct cvmx_ciu_soft_prst3_s cn66xx;
2226}; 8537};
2227 8538
2228union cvmx_ciu_soft_rst { 8539union cvmx_ciu_soft_rst {
2229 uint64_t u64; 8540 uint64_t u64;
2230 struct cvmx_ciu_soft_rst_s { 8541 struct cvmx_ciu_soft_rst_s {
8542#ifdef __BIG_ENDIAN_BITFIELD
2231 uint64_t reserved_1_63:63; 8543 uint64_t reserved_1_63:63;
2232 uint64_t soft_rst:1; 8544 uint64_t soft_rst:1;
8545#else
8546 uint64_t soft_rst:1;
8547 uint64_t reserved_1_63:63;
8548#endif
2233 } s; 8549 } s;
2234 struct cvmx_ciu_soft_rst_s cn30xx; 8550 struct cvmx_ciu_soft_rst_s cn30xx;
2235 struct cvmx_ciu_soft_rst_s cn31xx; 8551 struct cvmx_ciu_soft_rst_s cn31xx;
@@ -2242,16 +8558,1371 @@ union cvmx_ciu_soft_rst {
2242 struct cvmx_ciu_soft_rst_s cn56xxp1; 8558 struct cvmx_ciu_soft_rst_s cn56xxp1;
2243 struct cvmx_ciu_soft_rst_s cn58xx; 8559 struct cvmx_ciu_soft_rst_s cn58xx;
2244 struct cvmx_ciu_soft_rst_s cn58xxp1; 8560 struct cvmx_ciu_soft_rst_s cn58xxp1;
8561 struct cvmx_ciu_soft_rst_s cn61xx;
2245 struct cvmx_ciu_soft_rst_s cn63xx; 8562 struct cvmx_ciu_soft_rst_s cn63xx;
2246 struct cvmx_ciu_soft_rst_s cn63xxp1; 8563 struct cvmx_ciu_soft_rst_s cn63xxp1;
8564 struct cvmx_ciu_soft_rst_s cn66xx;
8565 struct cvmx_ciu_soft_rst_s cn68xx;
8566 struct cvmx_ciu_soft_rst_s cn68xxp1;
8567 struct cvmx_ciu_soft_rst_s cnf71xx;
8568};
8569
8570union cvmx_ciu_sum1_iox_int {
8571 uint64_t u64;
8572 struct cvmx_ciu_sum1_iox_int_s {
8573#ifdef __BIG_ENDIAN_BITFIELD
8574 uint64_t rst:1;
8575 uint64_t reserved_62_62:1;
8576 uint64_t srio3:1;
8577 uint64_t srio2:1;
8578 uint64_t reserved_57_59:3;
8579 uint64_t dfm:1;
8580 uint64_t reserved_53_55:3;
8581 uint64_t lmc0:1;
8582 uint64_t reserved_51_51:1;
8583 uint64_t srio0:1;
8584 uint64_t pem1:1;
8585 uint64_t pem0:1;
8586 uint64_t ptp:1;
8587 uint64_t agl:1;
8588 uint64_t reserved_41_45:5;
8589 uint64_t dpi_dma:1;
8590 uint64_t reserved_38_39:2;
8591 uint64_t agx1:1;
8592 uint64_t agx0:1;
8593 uint64_t dpi:1;
8594 uint64_t sli:1;
8595 uint64_t usb:1;
8596 uint64_t dfa:1;
8597 uint64_t key:1;
8598 uint64_t rad:1;
8599 uint64_t tim:1;
8600 uint64_t zip:1;
8601 uint64_t pko:1;
8602 uint64_t pip:1;
8603 uint64_t ipd:1;
8604 uint64_t l2c:1;
8605 uint64_t pow:1;
8606 uint64_t fpa:1;
8607 uint64_t iob:1;
8608 uint64_t mio:1;
8609 uint64_t nand:1;
8610 uint64_t mii1:1;
8611 uint64_t reserved_10_17:8;
8612 uint64_t wdog:10;
8613#else
8614 uint64_t wdog:10;
8615 uint64_t reserved_10_17:8;
8616 uint64_t mii1:1;
8617 uint64_t nand:1;
8618 uint64_t mio:1;
8619 uint64_t iob:1;
8620 uint64_t fpa:1;
8621 uint64_t pow:1;
8622 uint64_t l2c:1;
8623 uint64_t ipd:1;
8624 uint64_t pip:1;
8625 uint64_t pko:1;
8626 uint64_t zip:1;
8627 uint64_t tim:1;
8628 uint64_t rad:1;
8629 uint64_t key:1;
8630 uint64_t dfa:1;
8631 uint64_t usb:1;
8632 uint64_t sli:1;
8633 uint64_t dpi:1;
8634 uint64_t agx0:1;
8635 uint64_t agx1:1;
8636 uint64_t reserved_38_39:2;
8637 uint64_t dpi_dma:1;
8638 uint64_t reserved_41_45:5;
8639 uint64_t agl:1;
8640 uint64_t ptp:1;
8641 uint64_t pem0:1;
8642 uint64_t pem1:1;
8643 uint64_t srio0:1;
8644 uint64_t reserved_51_51:1;
8645 uint64_t lmc0:1;
8646 uint64_t reserved_53_55:3;
8647 uint64_t dfm:1;
8648 uint64_t reserved_57_59:3;
8649 uint64_t srio2:1;
8650 uint64_t srio3:1;
8651 uint64_t reserved_62_62:1;
8652 uint64_t rst:1;
8653#endif
8654 } s;
8655 struct cvmx_ciu_sum1_iox_int_cn61xx {
8656#ifdef __BIG_ENDIAN_BITFIELD
8657 uint64_t rst:1;
8658 uint64_t reserved_53_62:10;
8659 uint64_t lmc0:1;
8660 uint64_t reserved_50_51:2;
8661 uint64_t pem1:1;
8662 uint64_t pem0:1;
8663 uint64_t ptp:1;
8664 uint64_t agl:1;
8665 uint64_t reserved_41_45:5;
8666 uint64_t dpi_dma:1;
8667 uint64_t reserved_38_39:2;
8668 uint64_t agx1:1;
8669 uint64_t agx0:1;
8670 uint64_t dpi:1;
8671 uint64_t sli:1;
8672 uint64_t usb:1;
8673 uint64_t dfa:1;
8674 uint64_t key:1;
8675 uint64_t rad:1;
8676 uint64_t tim:1;
8677 uint64_t zip:1;
8678 uint64_t pko:1;
8679 uint64_t pip:1;
8680 uint64_t ipd:1;
8681 uint64_t l2c:1;
8682 uint64_t pow:1;
8683 uint64_t fpa:1;
8684 uint64_t iob:1;
8685 uint64_t mio:1;
8686 uint64_t nand:1;
8687 uint64_t mii1:1;
8688 uint64_t reserved_4_17:14;
8689 uint64_t wdog:4;
8690#else
8691 uint64_t wdog:4;
8692 uint64_t reserved_4_17:14;
8693 uint64_t mii1:1;
8694 uint64_t nand:1;
8695 uint64_t mio:1;
8696 uint64_t iob:1;
8697 uint64_t fpa:1;
8698 uint64_t pow:1;
8699 uint64_t l2c:1;
8700 uint64_t ipd:1;
8701 uint64_t pip:1;
8702 uint64_t pko:1;
8703 uint64_t zip:1;
8704 uint64_t tim:1;
8705 uint64_t rad:1;
8706 uint64_t key:1;
8707 uint64_t dfa:1;
8708 uint64_t usb:1;
8709 uint64_t sli:1;
8710 uint64_t dpi:1;
8711 uint64_t agx0:1;
8712 uint64_t agx1:1;
8713 uint64_t reserved_38_39:2;
8714 uint64_t dpi_dma:1;
8715 uint64_t reserved_41_45:5;
8716 uint64_t agl:1;
8717 uint64_t ptp:1;
8718 uint64_t pem0:1;
8719 uint64_t pem1:1;
8720 uint64_t reserved_50_51:2;
8721 uint64_t lmc0:1;
8722 uint64_t reserved_53_62:10;
8723 uint64_t rst:1;
8724#endif
8725 } cn61xx;
8726 struct cvmx_ciu_sum1_iox_int_cn66xx {
8727#ifdef __BIG_ENDIAN_BITFIELD
8728 uint64_t rst:1;
8729 uint64_t reserved_62_62:1;
8730 uint64_t srio3:1;
8731 uint64_t srio2:1;
8732 uint64_t reserved_57_59:3;
8733 uint64_t dfm:1;
8734 uint64_t reserved_53_55:3;
8735 uint64_t lmc0:1;
8736 uint64_t reserved_51_51:1;
8737 uint64_t srio0:1;
8738 uint64_t pem1:1;
8739 uint64_t pem0:1;
8740 uint64_t ptp:1;
8741 uint64_t agl:1;
8742 uint64_t reserved_38_45:8;
8743 uint64_t agx1:1;
8744 uint64_t agx0:1;
8745 uint64_t dpi:1;
8746 uint64_t sli:1;
8747 uint64_t usb:1;
8748 uint64_t dfa:1;
8749 uint64_t key:1;
8750 uint64_t rad:1;
8751 uint64_t tim:1;
8752 uint64_t zip:1;
8753 uint64_t pko:1;
8754 uint64_t pip:1;
8755 uint64_t ipd:1;
8756 uint64_t l2c:1;
8757 uint64_t pow:1;
8758 uint64_t fpa:1;
8759 uint64_t iob:1;
8760 uint64_t mio:1;
8761 uint64_t nand:1;
8762 uint64_t mii1:1;
8763 uint64_t reserved_10_17:8;
8764 uint64_t wdog:10;
8765#else
8766 uint64_t wdog:10;
8767 uint64_t reserved_10_17:8;
8768 uint64_t mii1:1;
8769 uint64_t nand:1;
8770 uint64_t mio:1;
8771 uint64_t iob:1;
8772 uint64_t fpa:1;
8773 uint64_t pow:1;
8774 uint64_t l2c:1;
8775 uint64_t ipd:1;
8776 uint64_t pip:1;
8777 uint64_t pko:1;
8778 uint64_t zip:1;
8779 uint64_t tim:1;
8780 uint64_t rad:1;
8781 uint64_t key:1;
8782 uint64_t dfa:1;
8783 uint64_t usb:1;
8784 uint64_t sli:1;
8785 uint64_t dpi:1;
8786 uint64_t agx0:1;
8787 uint64_t agx1:1;
8788 uint64_t reserved_38_45:8;
8789 uint64_t agl:1;
8790 uint64_t ptp:1;
8791 uint64_t pem0:1;
8792 uint64_t pem1:1;
8793 uint64_t srio0:1;
8794 uint64_t reserved_51_51:1;
8795 uint64_t lmc0:1;
8796 uint64_t reserved_53_55:3;
8797 uint64_t dfm:1;
8798 uint64_t reserved_57_59:3;
8799 uint64_t srio2:1;
8800 uint64_t srio3:1;
8801 uint64_t reserved_62_62:1;
8802 uint64_t rst:1;
8803#endif
8804 } cn66xx;
8805 struct cvmx_ciu_sum1_iox_int_cnf71xx {
8806#ifdef __BIG_ENDIAN_BITFIELD
8807 uint64_t rst:1;
8808 uint64_t reserved_53_62:10;
8809 uint64_t lmc0:1;
8810 uint64_t reserved_50_51:2;
8811 uint64_t pem1:1;
8812 uint64_t pem0:1;
8813 uint64_t ptp:1;
8814 uint64_t reserved_41_46:6;
8815 uint64_t dpi_dma:1;
8816 uint64_t reserved_37_39:3;
8817 uint64_t agx0:1;
8818 uint64_t dpi:1;
8819 uint64_t sli:1;
8820 uint64_t usb:1;
8821 uint64_t reserved_32_32:1;
8822 uint64_t key:1;
8823 uint64_t rad:1;
8824 uint64_t tim:1;
8825 uint64_t reserved_28_28:1;
8826 uint64_t pko:1;
8827 uint64_t pip:1;
8828 uint64_t ipd:1;
8829 uint64_t l2c:1;
8830 uint64_t pow:1;
8831 uint64_t fpa:1;
8832 uint64_t iob:1;
8833 uint64_t mio:1;
8834 uint64_t nand:1;
8835 uint64_t reserved_4_18:15;
8836 uint64_t wdog:4;
8837#else
8838 uint64_t wdog:4;
8839 uint64_t reserved_4_18:15;
8840 uint64_t nand:1;
8841 uint64_t mio:1;
8842 uint64_t iob:1;
8843 uint64_t fpa:1;
8844 uint64_t pow:1;
8845 uint64_t l2c:1;
8846 uint64_t ipd:1;
8847 uint64_t pip:1;
8848 uint64_t pko:1;
8849 uint64_t reserved_28_28:1;
8850 uint64_t tim:1;
8851 uint64_t rad:1;
8852 uint64_t key:1;
8853 uint64_t reserved_32_32:1;
8854 uint64_t usb:1;
8855 uint64_t sli:1;
8856 uint64_t dpi:1;
8857 uint64_t agx0:1;
8858 uint64_t reserved_37_39:3;
8859 uint64_t dpi_dma:1;
8860 uint64_t reserved_41_46:6;
8861 uint64_t ptp:1;
8862 uint64_t pem0:1;
8863 uint64_t pem1:1;
8864 uint64_t reserved_50_51:2;
8865 uint64_t lmc0:1;
8866 uint64_t reserved_53_62:10;
8867 uint64_t rst:1;
8868#endif
8869 } cnf71xx;
8870};
8871
8872union cvmx_ciu_sum1_ppx_ip2 {
8873 uint64_t u64;
8874 struct cvmx_ciu_sum1_ppx_ip2_s {
8875#ifdef __BIG_ENDIAN_BITFIELD
8876 uint64_t rst:1;
8877 uint64_t reserved_62_62:1;
8878 uint64_t srio3:1;
8879 uint64_t srio2:1;
8880 uint64_t reserved_57_59:3;
8881 uint64_t dfm:1;
8882 uint64_t reserved_53_55:3;
8883 uint64_t lmc0:1;
8884 uint64_t reserved_51_51:1;
8885 uint64_t srio0:1;
8886 uint64_t pem1:1;
8887 uint64_t pem0:1;
8888 uint64_t ptp:1;
8889 uint64_t agl:1;
8890 uint64_t reserved_41_45:5;
8891 uint64_t dpi_dma:1;
8892 uint64_t reserved_38_39:2;
8893 uint64_t agx1:1;
8894 uint64_t agx0:1;
8895 uint64_t dpi:1;
8896 uint64_t sli:1;
8897 uint64_t usb:1;
8898 uint64_t dfa:1;
8899 uint64_t key:1;
8900 uint64_t rad:1;
8901 uint64_t tim:1;
8902 uint64_t zip:1;
8903 uint64_t pko:1;
8904 uint64_t pip:1;
8905 uint64_t ipd:1;
8906 uint64_t l2c:1;
8907 uint64_t pow:1;
8908 uint64_t fpa:1;
8909 uint64_t iob:1;
8910 uint64_t mio:1;
8911 uint64_t nand:1;
8912 uint64_t mii1:1;
8913 uint64_t reserved_10_17:8;
8914 uint64_t wdog:10;
8915#else
8916 uint64_t wdog:10;
8917 uint64_t reserved_10_17:8;
8918 uint64_t mii1:1;
8919 uint64_t nand:1;
8920 uint64_t mio:1;
8921 uint64_t iob:1;
8922 uint64_t fpa:1;
8923 uint64_t pow:1;
8924 uint64_t l2c:1;
8925 uint64_t ipd:1;
8926 uint64_t pip:1;
8927 uint64_t pko:1;
8928 uint64_t zip:1;
8929 uint64_t tim:1;
8930 uint64_t rad:1;
8931 uint64_t key:1;
8932 uint64_t dfa:1;
8933 uint64_t usb:1;
8934 uint64_t sli:1;
8935 uint64_t dpi:1;
8936 uint64_t agx0:1;
8937 uint64_t agx1:1;
8938 uint64_t reserved_38_39:2;
8939 uint64_t dpi_dma:1;
8940 uint64_t reserved_41_45:5;
8941 uint64_t agl:1;
8942 uint64_t ptp:1;
8943 uint64_t pem0:1;
8944 uint64_t pem1:1;
8945 uint64_t srio0:1;
8946 uint64_t reserved_51_51:1;
8947 uint64_t lmc0:1;
8948 uint64_t reserved_53_55:3;
8949 uint64_t dfm:1;
8950 uint64_t reserved_57_59:3;
8951 uint64_t srio2:1;
8952 uint64_t srio3:1;
8953 uint64_t reserved_62_62:1;
8954 uint64_t rst:1;
8955#endif
8956 } s;
8957 struct cvmx_ciu_sum1_ppx_ip2_cn61xx {
8958#ifdef __BIG_ENDIAN_BITFIELD
8959 uint64_t rst:1;
8960 uint64_t reserved_53_62:10;
8961 uint64_t lmc0:1;
8962 uint64_t reserved_50_51:2;
8963 uint64_t pem1:1;
8964 uint64_t pem0:1;
8965 uint64_t ptp:1;
8966 uint64_t agl:1;
8967 uint64_t reserved_41_45:5;
8968 uint64_t dpi_dma:1;
8969 uint64_t reserved_38_39:2;
8970 uint64_t agx1:1;
8971 uint64_t agx0:1;
8972 uint64_t dpi:1;
8973 uint64_t sli:1;
8974 uint64_t usb:1;
8975 uint64_t dfa:1;
8976 uint64_t key:1;
8977 uint64_t rad:1;
8978 uint64_t tim:1;
8979 uint64_t zip:1;
8980 uint64_t pko:1;
8981 uint64_t pip:1;
8982 uint64_t ipd:1;
8983 uint64_t l2c:1;
8984 uint64_t pow:1;
8985 uint64_t fpa:1;
8986 uint64_t iob:1;
8987 uint64_t mio:1;
8988 uint64_t nand:1;
8989 uint64_t mii1:1;
8990 uint64_t reserved_4_17:14;
8991 uint64_t wdog:4;
8992#else
8993 uint64_t wdog:4;
8994 uint64_t reserved_4_17:14;
8995 uint64_t mii1:1;
8996 uint64_t nand:1;
8997 uint64_t mio:1;
8998 uint64_t iob:1;
8999 uint64_t fpa:1;
9000 uint64_t pow:1;
9001 uint64_t l2c:1;
9002 uint64_t ipd:1;
9003 uint64_t pip:1;
9004 uint64_t pko:1;
9005 uint64_t zip:1;
9006 uint64_t tim:1;
9007 uint64_t rad:1;
9008 uint64_t key:1;
9009 uint64_t dfa:1;
9010 uint64_t usb:1;
9011 uint64_t sli:1;
9012 uint64_t dpi:1;
9013 uint64_t agx0:1;
9014 uint64_t agx1:1;
9015 uint64_t reserved_38_39:2;
9016 uint64_t dpi_dma:1;
9017 uint64_t reserved_41_45:5;
9018 uint64_t agl:1;
9019 uint64_t ptp:1;
9020 uint64_t pem0:1;
9021 uint64_t pem1:1;
9022 uint64_t reserved_50_51:2;
9023 uint64_t lmc0:1;
9024 uint64_t reserved_53_62:10;
9025 uint64_t rst:1;
9026#endif
9027 } cn61xx;
9028 struct cvmx_ciu_sum1_ppx_ip2_cn66xx {
9029#ifdef __BIG_ENDIAN_BITFIELD
9030 uint64_t rst:1;
9031 uint64_t reserved_62_62:1;
9032 uint64_t srio3:1;
9033 uint64_t srio2:1;
9034 uint64_t reserved_57_59:3;
9035 uint64_t dfm:1;
9036 uint64_t reserved_53_55:3;
9037 uint64_t lmc0:1;
9038 uint64_t reserved_51_51:1;
9039 uint64_t srio0:1;
9040 uint64_t pem1:1;
9041 uint64_t pem0:1;
9042 uint64_t ptp:1;
9043 uint64_t agl:1;
9044 uint64_t reserved_38_45:8;
9045 uint64_t agx1:1;
9046 uint64_t agx0:1;
9047 uint64_t dpi:1;
9048 uint64_t sli:1;
9049 uint64_t usb:1;
9050 uint64_t dfa:1;
9051 uint64_t key:1;
9052 uint64_t rad:1;
9053 uint64_t tim:1;
9054 uint64_t zip:1;
9055 uint64_t pko:1;
9056 uint64_t pip:1;
9057 uint64_t ipd:1;
9058 uint64_t l2c:1;
9059 uint64_t pow:1;
9060 uint64_t fpa:1;
9061 uint64_t iob:1;
9062 uint64_t mio:1;
9063 uint64_t nand:1;
9064 uint64_t mii1:1;
9065 uint64_t reserved_10_17:8;
9066 uint64_t wdog:10;
9067#else
9068 uint64_t wdog:10;
9069 uint64_t reserved_10_17:8;
9070 uint64_t mii1:1;
9071 uint64_t nand:1;
9072 uint64_t mio:1;
9073 uint64_t iob:1;
9074 uint64_t fpa:1;
9075 uint64_t pow:1;
9076 uint64_t l2c:1;
9077 uint64_t ipd:1;
9078 uint64_t pip:1;
9079 uint64_t pko:1;
9080 uint64_t zip:1;
9081 uint64_t tim:1;
9082 uint64_t rad:1;
9083 uint64_t key:1;
9084 uint64_t dfa:1;
9085 uint64_t usb:1;
9086 uint64_t sli:1;
9087 uint64_t dpi:1;
9088 uint64_t agx0:1;
9089 uint64_t agx1:1;
9090 uint64_t reserved_38_45:8;
9091 uint64_t agl:1;
9092 uint64_t ptp:1;
9093 uint64_t pem0:1;
9094 uint64_t pem1:1;
9095 uint64_t srio0:1;
9096 uint64_t reserved_51_51:1;
9097 uint64_t lmc0:1;
9098 uint64_t reserved_53_55:3;
9099 uint64_t dfm:1;
9100 uint64_t reserved_57_59:3;
9101 uint64_t srio2:1;
9102 uint64_t srio3:1;
9103 uint64_t reserved_62_62:1;
9104 uint64_t rst:1;
9105#endif
9106 } cn66xx;
9107 struct cvmx_ciu_sum1_ppx_ip2_cnf71xx {
9108#ifdef __BIG_ENDIAN_BITFIELD
9109 uint64_t rst:1;
9110 uint64_t reserved_53_62:10;
9111 uint64_t lmc0:1;
9112 uint64_t reserved_50_51:2;
9113 uint64_t pem1:1;
9114 uint64_t pem0:1;
9115 uint64_t ptp:1;
9116 uint64_t reserved_41_46:6;
9117 uint64_t dpi_dma:1;
9118 uint64_t reserved_37_39:3;
9119 uint64_t agx0:1;
9120 uint64_t dpi:1;
9121 uint64_t sli:1;
9122 uint64_t usb:1;
9123 uint64_t reserved_32_32:1;
9124 uint64_t key:1;
9125 uint64_t rad:1;
9126 uint64_t tim:1;
9127 uint64_t reserved_28_28:1;
9128 uint64_t pko:1;
9129 uint64_t pip:1;
9130 uint64_t ipd:1;
9131 uint64_t l2c:1;
9132 uint64_t pow:1;
9133 uint64_t fpa:1;
9134 uint64_t iob:1;
9135 uint64_t mio:1;
9136 uint64_t nand:1;
9137 uint64_t reserved_4_18:15;
9138 uint64_t wdog:4;
9139#else
9140 uint64_t wdog:4;
9141 uint64_t reserved_4_18:15;
9142 uint64_t nand:1;
9143 uint64_t mio:1;
9144 uint64_t iob:1;
9145 uint64_t fpa:1;
9146 uint64_t pow:1;
9147 uint64_t l2c:1;
9148 uint64_t ipd:1;
9149 uint64_t pip:1;
9150 uint64_t pko:1;
9151 uint64_t reserved_28_28:1;
9152 uint64_t tim:1;
9153 uint64_t rad:1;
9154 uint64_t key:1;
9155 uint64_t reserved_32_32:1;
9156 uint64_t usb:1;
9157 uint64_t sli:1;
9158 uint64_t dpi:1;
9159 uint64_t agx0:1;
9160 uint64_t reserved_37_39:3;
9161 uint64_t dpi_dma:1;
9162 uint64_t reserved_41_46:6;
9163 uint64_t ptp:1;
9164 uint64_t pem0:1;
9165 uint64_t pem1:1;
9166 uint64_t reserved_50_51:2;
9167 uint64_t lmc0:1;
9168 uint64_t reserved_53_62:10;
9169 uint64_t rst:1;
9170#endif
9171 } cnf71xx;
9172};
9173
9174union cvmx_ciu_sum1_ppx_ip3 {
9175 uint64_t u64;
9176 struct cvmx_ciu_sum1_ppx_ip3_s {
9177#ifdef __BIG_ENDIAN_BITFIELD
9178 uint64_t rst:1;
9179 uint64_t reserved_62_62:1;
9180 uint64_t srio3:1;
9181 uint64_t srio2:1;
9182 uint64_t reserved_57_59:3;
9183 uint64_t dfm:1;
9184 uint64_t reserved_53_55:3;
9185 uint64_t lmc0:1;
9186 uint64_t reserved_51_51:1;
9187 uint64_t srio0:1;
9188 uint64_t pem1:1;
9189 uint64_t pem0:1;
9190 uint64_t ptp:1;
9191 uint64_t agl:1;
9192 uint64_t reserved_41_45:5;
9193 uint64_t dpi_dma:1;
9194 uint64_t reserved_38_39:2;
9195 uint64_t agx1:1;
9196 uint64_t agx0:1;
9197 uint64_t dpi:1;
9198 uint64_t sli:1;
9199 uint64_t usb:1;
9200 uint64_t dfa:1;
9201 uint64_t key:1;
9202 uint64_t rad:1;
9203 uint64_t tim:1;
9204 uint64_t zip:1;
9205 uint64_t pko:1;
9206 uint64_t pip:1;
9207 uint64_t ipd:1;
9208 uint64_t l2c:1;
9209 uint64_t pow:1;
9210 uint64_t fpa:1;
9211 uint64_t iob:1;
9212 uint64_t mio:1;
9213 uint64_t nand:1;
9214 uint64_t mii1:1;
9215 uint64_t reserved_10_17:8;
9216 uint64_t wdog:10;
9217#else
9218 uint64_t wdog:10;
9219 uint64_t reserved_10_17:8;
9220 uint64_t mii1:1;
9221 uint64_t nand:1;
9222 uint64_t mio:1;
9223 uint64_t iob:1;
9224 uint64_t fpa:1;
9225 uint64_t pow:1;
9226 uint64_t l2c:1;
9227 uint64_t ipd:1;
9228 uint64_t pip:1;
9229 uint64_t pko:1;
9230 uint64_t zip:1;
9231 uint64_t tim:1;
9232 uint64_t rad:1;
9233 uint64_t key:1;
9234 uint64_t dfa:1;
9235 uint64_t usb:1;
9236 uint64_t sli:1;
9237 uint64_t dpi:1;
9238 uint64_t agx0:1;
9239 uint64_t agx1:1;
9240 uint64_t reserved_38_39:2;
9241 uint64_t dpi_dma:1;
9242 uint64_t reserved_41_45:5;
9243 uint64_t agl:1;
9244 uint64_t ptp:1;
9245 uint64_t pem0:1;
9246 uint64_t pem1:1;
9247 uint64_t srio0:1;
9248 uint64_t reserved_51_51:1;
9249 uint64_t lmc0:1;
9250 uint64_t reserved_53_55:3;
9251 uint64_t dfm:1;
9252 uint64_t reserved_57_59:3;
9253 uint64_t srio2:1;
9254 uint64_t srio3:1;
9255 uint64_t reserved_62_62:1;
9256 uint64_t rst:1;
9257#endif
9258 } s;
9259 struct cvmx_ciu_sum1_ppx_ip3_cn61xx {
9260#ifdef __BIG_ENDIAN_BITFIELD
9261 uint64_t rst:1;
9262 uint64_t reserved_53_62:10;
9263 uint64_t lmc0:1;
9264 uint64_t reserved_50_51:2;
9265 uint64_t pem1:1;
9266 uint64_t pem0:1;
9267 uint64_t ptp:1;
9268 uint64_t agl:1;
9269 uint64_t reserved_41_45:5;
9270 uint64_t dpi_dma:1;
9271 uint64_t reserved_38_39:2;
9272 uint64_t agx1:1;
9273 uint64_t agx0:1;
9274 uint64_t dpi:1;
9275 uint64_t sli:1;
9276 uint64_t usb:1;
9277 uint64_t dfa:1;
9278 uint64_t key:1;
9279 uint64_t rad:1;
9280 uint64_t tim:1;
9281 uint64_t zip:1;
9282 uint64_t pko:1;
9283 uint64_t pip:1;
9284 uint64_t ipd:1;
9285 uint64_t l2c:1;
9286 uint64_t pow:1;
9287 uint64_t fpa:1;
9288 uint64_t iob:1;
9289 uint64_t mio:1;
9290 uint64_t nand:1;
9291 uint64_t mii1:1;
9292 uint64_t reserved_4_17:14;
9293 uint64_t wdog:4;
9294#else
9295 uint64_t wdog:4;
9296 uint64_t reserved_4_17:14;
9297 uint64_t mii1:1;
9298 uint64_t nand:1;
9299 uint64_t mio:1;
9300 uint64_t iob:1;
9301 uint64_t fpa:1;
9302 uint64_t pow:1;
9303 uint64_t l2c:1;
9304 uint64_t ipd:1;
9305 uint64_t pip:1;
9306 uint64_t pko:1;
9307 uint64_t zip:1;
9308 uint64_t tim:1;
9309 uint64_t rad:1;
9310 uint64_t key:1;
9311 uint64_t dfa:1;
9312 uint64_t usb:1;
9313 uint64_t sli:1;
9314 uint64_t dpi:1;
9315 uint64_t agx0:1;
9316 uint64_t agx1:1;
9317 uint64_t reserved_38_39:2;
9318 uint64_t dpi_dma:1;
9319 uint64_t reserved_41_45:5;
9320 uint64_t agl:1;
9321 uint64_t ptp:1;
9322 uint64_t pem0:1;
9323 uint64_t pem1:1;
9324 uint64_t reserved_50_51:2;
9325 uint64_t lmc0:1;
9326 uint64_t reserved_53_62:10;
9327 uint64_t rst:1;
9328#endif
9329 } cn61xx;
9330 struct cvmx_ciu_sum1_ppx_ip3_cn66xx {
9331#ifdef __BIG_ENDIAN_BITFIELD
9332 uint64_t rst:1;
9333 uint64_t reserved_62_62:1;
9334 uint64_t srio3:1;
9335 uint64_t srio2:1;
9336 uint64_t reserved_57_59:3;
9337 uint64_t dfm:1;
9338 uint64_t reserved_53_55:3;
9339 uint64_t lmc0:1;
9340 uint64_t reserved_51_51:1;
9341 uint64_t srio0:1;
9342 uint64_t pem1:1;
9343 uint64_t pem0:1;
9344 uint64_t ptp:1;
9345 uint64_t agl:1;
9346 uint64_t reserved_38_45:8;
9347 uint64_t agx1:1;
9348 uint64_t agx0:1;
9349 uint64_t dpi:1;
9350 uint64_t sli:1;
9351 uint64_t usb:1;
9352 uint64_t dfa:1;
9353 uint64_t key:1;
9354 uint64_t rad:1;
9355 uint64_t tim:1;
9356 uint64_t zip:1;
9357 uint64_t pko:1;
9358 uint64_t pip:1;
9359 uint64_t ipd:1;
9360 uint64_t l2c:1;
9361 uint64_t pow:1;
9362 uint64_t fpa:1;
9363 uint64_t iob:1;
9364 uint64_t mio:1;
9365 uint64_t nand:1;
9366 uint64_t mii1:1;
9367 uint64_t reserved_10_17:8;
9368 uint64_t wdog:10;
9369#else
9370 uint64_t wdog:10;
9371 uint64_t reserved_10_17:8;
9372 uint64_t mii1:1;
9373 uint64_t nand:1;
9374 uint64_t mio:1;
9375 uint64_t iob:1;
9376 uint64_t fpa:1;
9377 uint64_t pow:1;
9378 uint64_t l2c:1;
9379 uint64_t ipd:1;
9380 uint64_t pip:1;
9381 uint64_t pko:1;
9382 uint64_t zip:1;
9383 uint64_t tim:1;
9384 uint64_t rad:1;
9385 uint64_t key:1;
9386 uint64_t dfa:1;
9387 uint64_t usb:1;
9388 uint64_t sli:1;
9389 uint64_t dpi:1;
9390 uint64_t agx0:1;
9391 uint64_t agx1:1;
9392 uint64_t reserved_38_45:8;
9393 uint64_t agl:1;
9394 uint64_t ptp:1;
9395 uint64_t pem0:1;
9396 uint64_t pem1:1;
9397 uint64_t srio0:1;
9398 uint64_t reserved_51_51:1;
9399 uint64_t lmc0:1;
9400 uint64_t reserved_53_55:3;
9401 uint64_t dfm:1;
9402 uint64_t reserved_57_59:3;
9403 uint64_t srio2:1;
9404 uint64_t srio3:1;
9405 uint64_t reserved_62_62:1;
9406 uint64_t rst:1;
9407#endif
9408 } cn66xx;
9409 struct cvmx_ciu_sum1_ppx_ip3_cnf71xx {
9410#ifdef __BIG_ENDIAN_BITFIELD
9411 uint64_t rst:1;
9412 uint64_t reserved_53_62:10;
9413 uint64_t lmc0:1;
9414 uint64_t reserved_50_51:2;
9415 uint64_t pem1:1;
9416 uint64_t pem0:1;
9417 uint64_t ptp:1;
9418 uint64_t reserved_41_46:6;
9419 uint64_t dpi_dma:1;
9420 uint64_t reserved_37_39:3;
9421 uint64_t agx0:1;
9422 uint64_t dpi:1;
9423 uint64_t sli:1;
9424 uint64_t usb:1;
9425 uint64_t reserved_32_32:1;
9426 uint64_t key:1;
9427 uint64_t rad:1;
9428 uint64_t tim:1;
9429 uint64_t reserved_28_28:1;
9430 uint64_t pko:1;
9431 uint64_t pip:1;
9432 uint64_t ipd:1;
9433 uint64_t l2c:1;
9434 uint64_t pow:1;
9435 uint64_t fpa:1;
9436 uint64_t iob:1;
9437 uint64_t mio:1;
9438 uint64_t nand:1;
9439 uint64_t reserved_4_18:15;
9440 uint64_t wdog:4;
9441#else
9442 uint64_t wdog:4;
9443 uint64_t reserved_4_18:15;
9444 uint64_t nand:1;
9445 uint64_t mio:1;
9446 uint64_t iob:1;
9447 uint64_t fpa:1;
9448 uint64_t pow:1;
9449 uint64_t l2c:1;
9450 uint64_t ipd:1;
9451 uint64_t pip:1;
9452 uint64_t pko:1;
9453 uint64_t reserved_28_28:1;
9454 uint64_t tim:1;
9455 uint64_t rad:1;
9456 uint64_t key:1;
9457 uint64_t reserved_32_32:1;
9458 uint64_t usb:1;
9459 uint64_t sli:1;
9460 uint64_t dpi:1;
9461 uint64_t agx0:1;
9462 uint64_t reserved_37_39:3;
9463 uint64_t dpi_dma:1;
9464 uint64_t reserved_41_46:6;
9465 uint64_t ptp:1;
9466 uint64_t pem0:1;
9467 uint64_t pem1:1;
9468 uint64_t reserved_50_51:2;
9469 uint64_t lmc0:1;
9470 uint64_t reserved_53_62:10;
9471 uint64_t rst:1;
9472#endif
9473 } cnf71xx;
9474};
9475
9476union cvmx_ciu_sum1_ppx_ip4 {
9477 uint64_t u64;
9478 struct cvmx_ciu_sum1_ppx_ip4_s {
9479#ifdef __BIG_ENDIAN_BITFIELD
9480 uint64_t rst:1;
9481 uint64_t reserved_62_62:1;
9482 uint64_t srio3:1;
9483 uint64_t srio2:1;
9484 uint64_t reserved_57_59:3;
9485 uint64_t dfm:1;
9486 uint64_t reserved_53_55:3;
9487 uint64_t lmc0:1;
9488 uint64_t reserved_51_51:1;
9489 uint64_t srio0:1;
9490 uint64_t pem1:1;
9491 uint64_t pem0:1;
9492 uint64_t ptp:1;
9493 uint64_t agl:1;
9494 uint64_t reserved_41_45:5;
9495 uint64_t dpi_dma:1;
9496 uint64_t reserved_38_39:2;
9497 uint64_t agx1:1;
9498 uint64_t agx0:1;
9499 uint64_t dpi:1;
9500 uint64_t sli:1;
9501 uint64_t usb:1;
9502 uint64_t dfa:1;
9503 uint64_t key:1;
9504 uint64_t rad:1;
9505 uint64_t tim:1;
9506 uint64_t zip:1;
9507 uint64_t pko:1;
9508 uint64_t pip:1;
9509 uint64_t ipd:1;
9510 uint64_t l2c:1;
9511 uint64_t pow:1;
9512 uint64_t fpa:1;
9513 uint64_t iob:1;
9514 uint64_t mio:1;
9515 uint64_t nand:1;
9516 uint64_t mii1:1;
9517 uint64_t reserved_10_17:8;
9518 uint64_t wdog:10;
9519#else
9520 uint64_t wdog:10;
9521 uint64_t reserved_10_17:8;
9522 uint64_t mii1:1;
9523 uint64_t nand:1;
9524 uint64_t mio:1;
9525 uint64_t iob:1;
9526 uint64_t fpa:1;
9527 uint64_t pow:1;
9528 uint64_t l2c:1;
9529 uint64_t ipd:1;
9530 uint64_t pip:1;
9531 uint64_t pko:1;
9532 uint64_t zip:1;
9533 uint64_t tim:1;
9534 uint64_t rad:1;
9535 uint64_t key:1;
9536 uint64_t dfa:1;
9537 uint64_t usb:1;
9538 uint64_t sli:1;
9539 uint64_t dpi:1;
9540 uint64_t agx0:1;
9541 uint64_t agx1:1;
9542 uint64_t reserved_38_39:2;
9543 uint64_t dpi_dma:1;
9544 uint64_t reserved_41_45:5;
9545 uint64_t agl:1;
9546 uint64_t ptp:1;
9547 uint64_t pem0:1;
9548 uint64_t pem1:1;
9549 uint64_t srio0:1;
9550 uint64_t reserved_51_51:1;
9551 uint64_t lmc0:1;
9552 uint64_t reserved_53_55:3;
9553 uint64_t dfm:1;
9554 uint64_t reserved_57_59:3;
9555 uint64_t srio2:1;
9556 uint64_t srio3:1;
9557 uint64_t reserved_62_62:1;
9558 uint64_t rst:1;
9559#endif
9560 } s;
9561 struct cvmx_ciu_sum1_ppx_ip4_cn61xx {
9562#ifdef __BIG_ENDIAN_BITFIELD
9563 uint64_t rst:1;
9564 uint64_t reserved_53_62:10;
9565 uint64_t lmc0:1;
9566 uint64_t reserved_50_51:2;
9567 uint64_t pem1:1;
9568 uint64_t pem0:1;
9569 uint64_t ptp:1;
9570 uint64_t agl:1;
9571 uint64_t reserved_41_45:5;
9572 uint64_t dpi_dma:1;
9573 uint64_t reserved_38_39:2;
9574 uint64_t agx1:1;
9575 uint64_t agx0:1;
9576 uint64_t dpi:1;
9577 uint64_t sli:1;
9578 uint64_t usb:1;
9579 uint64_t dfa:1;
9580 uint64_t key:1;
9581 uint64_t rad:1;
9582 uint64_t tim:1;
9583 uint64_t zip:1;
9584 uint64_t pko:1;
9585 uint64_t pip:1;
9586 uint64_t ipd:1;
9587 uint64_t l2c:1;
9588 uint64_t pow:1;
9589 uint64_t fpa:1;
9590 uint64_t iob:1;
9591 uint64_t mio:1;
9592 uint64_t nand:1;
9593 uint64_t mii1:1;
9594 uint64_t reserved_4_17:14;
9595 uint64_t wdog:4;
9596#else
9597 uint64_t wdog:4;
9598 uint64_t reserved_4_17:14;
9599 uint64_t mii1:1;
9600 uint64_t nand:1;
9601 uint64_t mio:1;
9602 uint64_t iob:1;
9603 uint64_t fpa:1;
9604 uint64_t pow:1;
9605 uint64_t l2c:1;
9606 uint64_t ipd:1;
9607 uint64_t pip:1;
9608 uint64_t pko:1;
9609 uint64_t zip:1;
9610 uint64_t tim:1;
9611 uint64_t rad:1;
9612 uint64_t key:1;
9613 uint64_t dfa:1;
9614 uint64_t usb:1;
9615 uint64_t sli:1;
9616 uint64_t dpi:1;
9617 uint64_t agx0:1;
9618 uint64_t agx1:1;
9619 uint64_t reserved_38_39:2;
9620 uint64_t dpi_dma:1;
9621 uint64_t reserved_41_45:5;
9622 uint64_t agl:1;
9623 uint64_t ptp:1;
9624 uint64_t pem0:1;
9625 uint64_t pem1:1;
9626 uint64_t reserved_50_51:2;
9627 uint64_t lmc0:1;
9628 uint64_t reserved_53_62:10;
9629 uint64_t rst:1;
9630#endif
9631 } cn61xx;
9632 struct cvmx_ciu_sum1_ppx_ip4_cn66xx {
9633#ifdef __BIG_ENDIAN_BITFIELD
9634 uint64_t rst:1;
9635 uint64_t reserved_62_62:1;
9636 uint64_t srio3:1;
9637 uint64_t srio2:1;
9638 uint64_t reserved_57_59:3;
9639 uint64_t dfm:1;
9640 uint64_t reserved_53_55:3;
9641 uint64_t lmc0:1;
9642 uint64_t reserved_51_51:1;
9643 uint64_t srio0:1;
9644 uint64_t pem1:1;
9645 uint64_t pem0:1;
9646 uint64_t ptp:1;
9647 uint64_t agl:1;
9648 uint64_t reserved_38_45:8;
9649 uint64_t agx1:1;
9650 uint64_t agx0:1;
9651 uint64_t dpi:1;
9652 uint64_t sli:1;
9653 uint64_t usb:1;
9654 uint64_t dfa:1;
9655 uint64_t key:1;
9656 uint64_t rad:1;
9657 uint64_t tim:1;
9658 uint64_t zip:1;
9659 uint64_t pko:1;
9660 uint64_t pip:1;
9661 uint64_t ipd:1;
9662 uint64_t l2c:1;
9663 uint64_t pow:1;
9664 uint64_t fpa:1;
9665 uint64_t iob:1;
9666 uint64_t mio:1;
9667 uint64_t nand:1;
9668 uint64_t mii1:1;
9669 uint64_t reserved_10_17:8;
9670 uint64_t wdog:10;
9671#else
9672 uint64_t wdog:10;
9673 uint64_t reserved_10_17:8;
9674 uint64_t mii1:1;
9675 uint64_t nand:1;
9676 uint64_t mio:1;
9677 uint64_t iob:1;
9678 uint64_t fpa:1;
9679 uint64_t pow:1;
9680 uint64_t l2c:1;
9681 uint64_t ipd:1;
9682 uint64_t pip:1;
9683 uint64_t pko:1;
9684 uint64_t zip:1;
9685 uint64_t tim:1;
9686 uint64_t rad:1;
9687 uint64_t key:1;
9688 uint64_t dfa:1;
9689 uint64_t usb:1;
9690 uint64_t sli:1;
9691 uint64_t dpi:1;
9692 uint64_t agx0:1;
9693 uint64_t agx1:1;
9694 uint64_t reserved_38_45:8;
9695 uint64_t agl:1;
9696 uint64_t ptp:1;
9697 uint64_t pem0:1;
9698 uint64_t pem1:1;
9699 uint64_t srio0:1;
9700 uint64_t reserved_51_51:1;
9701 uint64_t lmc0:1;
9702 uint64_t reserved_53_55:3;
9703 uint64_t dfm:1;
9704 uint64_t reserved_57_59:3;
9705 uint64_t srio2:1;
9706 uint64_t srio3:1;
9707 uint64_t reserved_62_62:1;
9708 uint64_t rst:1;
9709#endif
9710 } cn66xx;
9711 struct cvmx_ciu_sum1_ppx_ip4_cnf71xx {
9712#ifdef __BIG_ENDIAN_BITFIELD
9713 uint64_t rst:1;
9714 uint64_t reserved_53_62:10;
9715 uint64_t lmc0:1;
9716 uint64_t reserved_50_51:2;
9717 uint64_t pem1:1;
9718 uint64_t pem0:1;
9719 uint64_t ptp:1;
9720 uint64_t reserved_41_46:6;
9721 uint64_t dpi_dma:1;
9722 uint64_t reserved_37_39:3;
9723 uint64_t agx0:1;
9724 uint64_t dpi:1;
9725 uint64_t sli:1;
9726 uint64_t usb:1;
9727 uint64_t reserved_32_32:1;
9728 uint64_t key:1;
9729 uint64_t rad:1;
9730 uint64_t tim:1;
9731 uint64_t reserved_28_28:1;
9732 uint64_t pko:1;
9733 uint64_t pip:1;
9734 uint64_t ipd:1;
9735 uint64_t l2c:1;
9736 uint64_t pow:1;
9737 uint64_t fpa:1;
9738 uint64_t iob:1;
9739 uint64_t mio:1;
9740 uint64_t nand:1;
9741 uint64_t reserved_4_18:15;
9742 uint64_t wdog:4;
9743#else
9744 uint64_t wdog:4;
9745 uint64_t reserved_4_18:15;
9746 uint64_t nand:1;
9747 uint64_t mio:1;
9748 uint64_t iob:1;
9749 uint64_t fpa:1;
9750 uint64_t pow:1;
9751 uint64_t l2c:1;
9752 uint64_t ipd:1;
9753 uint64_t pip:1;
9754 uint64_t pko:1;
9755 uint64_t reserved_28_28:1;
9756 uint64_t tim:1;
9757 uint64_t rad:1;
9758 uint64_t key:1;
9759 uint64_t reserved_32_32:1;
9760 uint64_t usb:1;
9761 uint64_t sli:1;
9762 uint64_t dpi:1;
9763 uint64_t agx0:1;
9764 uint64_t reserved_37_39:3;
9765 uint64_t dpi_dma:1;
9766 uint64_t reserved_41_46:6;
9767 uint64_t ptp:1;
9768 uint64_t pem0:1;
9769 uint64_t pem1:1;
9770 uint64_t reserved_50_51:2;
9771 uint64_t lmc0:1;
9772 uint64_t reserved_53_62:10;
9773 uint64_t rst:1;
9774#endif
9775 } cnf71xx;
9776};
9777
9778union cvmx_ciu_sum2_iox_int {
9779 uint64_t u64;
9780 struct cvmx_ciu_sum2_iox_int_s {
9781#ifdef __BIG_ENDIAN_BITFIELD
9782 uint64_t reserved_15_63:49;
9783 uint64_t endor:2;
9784 uint64_t eoi:1;
9785 uint64_t reserved_10_11:2;
9786 uint64_t timer:6;
9787 uint64_t reserved_0_3:4;
9788#else
9789 uint64_t reserved_0_3:4;
9790 uint64_t timer:6;
9791 uint64_t reserved_10_11:2;
9792 uint64_t eoi:1;
9793 uint64_t endor:2;
9794 uint64_t reserved_15_63:49;
9795#endif
9796 } s;
9797 struct cvmx_ciu_sum2_iox_int_cn61xx {
9798#ifdef __BIG_ENDIAN_BITFIELD
9799 uint64_t reserved_10_63:54;
9800 uint64_t timer:6;
9801 uint64_t reserved_0_3:4;
9802#else
9803 uint64_t reserved_0_3:4;
9804 uint64_t timer:6;
9805 uint64_t reserved_10_63:54;
9806#endif
9807 } cn61xx;
9808 struct cvmx_ciu_sum2_iox_int_cn61xx cn66xx;
9809 struct cvmx_ciu_sum2_iox_int_s cnf71xx;
9810};
9811
9812union cvmx_ciu_sum2_ppx_ip2 {
9813 uint64_t u64;
9814 struct cvmx_ciu_sum2_ppx_ip2_s {
9815#ifdef __BIG_ENDIAN_BITFIELD
9816 uint64_t reserved_15_63:49;
9817 uint64_t endor:2;
9818 uint64_t eoi:1;
9819 uint64_t reserved_10_11:2;
9820 uint64_t timer:6;
9821 uint64_t reserved_0_3:4;
9822#else
9823 uint64_t reserved_0_3:4;
9824 uint64_t timer:6;
9825 uint64_t reserved_10_11:2;
9826 uint64_t eoi:1;
9827 uint64_t endor:2;
9828 uint64_t reserved_15_63:49;
9829#endif
9830 } s;
9831 struct cvmx_ciu_sum2_ppx_ip2_cn61xx {
9832#ifdef __BIG_ENDIAN_BITFIELD
9833 uint64_t reserved_10_63:54;
9834 uint64_t timer:6;
9835 uint64_t reserved_0_3:4;
9836#else
9837 uint64_t reserved_0_3:4;
9838 uint64_t timer:6;
9839 uint64_t reserved_10_63:54;
9840#endif
9841 } cn61xx;
9842 struct cvmx_ciu_sum2_ppx_ip2_cn61xx cn66xx;
9843 struct cvmx_ciu_sum2_ppx_ip2_s cnf71xx;
9844};
9845
9846union cvmx_ciu_sum2_ppx_ip3 {
9847 uint64_t u64;
9848 struct cvmx_ciu_sum2_ppx_ip3_s {
9849#ifdef __BIG_ENDIAN_BITFIELD
9850 uint64_t reserved_15_63:49;
9851 uint64_t endor:2;
9852 uint64_t eoi:1;
9853 uint64_t reserved_10_11:2;
9854 uint64_t timer:6;
9855 uint64_t reserved_0_3:4;
9856#else
9857 uint64_t reserved_0_3:4;
9858 uint64_t timer:6;
9859 uint64_t reserved_10_11:2;
9860 uint64_t eoi:1;
9861 uint64_t endor:2;
9862 uint64_t reserved_15_63:49;
9863#endif
9864 } s;
9865 struct cvmx_ciu_sum2_ppx_ip3_cn61xx {
9866#ifdef __BIG_ENDIAN_BITFIELD
9867 uint64_t reserved_10_63:54;
9868 uint64_t timer:6;
9869 uint64_t reserved_0_3:4;
9870#else
9871 uint64_t reserved_0_3:4;
9872 uint64_t timer:6;
9873 uint64_t reserved_10_63:54;
9874#endif
9875 } cn61xx;
9876 struct cvmx_ciu_sum2_ppx_ip3_cn61xx cn66xx;
9877 struct cvmx_ciu_sum2_ppx_ip3_s cnf71xx;
9878};
9879
9880union cvmx_ciu_sum2_ppx_ip4 {
9881 uint64_t u64;
9882 struct cvmx_ciu_sum2_ppx_ip4_s {
9883#ifdef __BIG_ENDIAN_BITFIELD
9884 uint64_t reserved_15_63:49;
9885 uint64_t endor:2;
9886 uint64_t eoi:1;
9887 uint64_t reserved_10_11:2;
9888 uint64_t timer:6;
9889 uint64_t reserved_0_3:4;
9890#else
9891 uint64_t reserved_0_3:4;
9892 uint64_t timer:6;
9893 uint64_t reserved_10_11:2;
9894 uint64_t eoi:1;
9895 uint64_t endor:2;
9896 uint64_t reserved_15_63:49;
9897#endif
9898 } s;
9899 struct cvmx_ciu_sum2_ppx_ip4_cn61xx {
9900#ifdef __BIG_ENDIAN_BITFIELD
9901 uint64_t reserved_10_63:54;
9902 uint64_t timer:6;
9903 uint64_t reserved_0_3:4;
9904#else
9905 uint64_t reserved_0_3:4;
9906 uint64_t timer:6;
9907 uint64_t reserved_10_63:54;
9908#endif
9909 } cn61xx;
9910 struct cvmx_ciu_sum2_ppx_ip4_cn61xx cn66xx;
9911 struct cvmx_ciu_sum2_ppx_ip4_s cnf71xx;
2247}; 9912};
2248 9913
2249union cvmx_ciu_timx { 9914union cvmx_ciu_timx {
2250 uint64_t u64; 9915 uint64_t u64;
2251 struct cvmx_ciu_timx_s { 9916 struct cvmx_ciu_timx_s {
9917#ifdef __BIG_ENDIAN_BITFIELD
2252 uint64_t reserved_37_63:27; 9918 uint64_t reserved_37_63:27;
2253 uint64_t one_shot:1; 9919 uint64_t one_shot:1;
2254 uint64_t len:36; 9920 uint64_t len:36;
9921#else
9922 uint64_t len:36;
9923 uint64_t one_shot:1;
9924 uint64_t reserved_37_63:27;
9925#endif
2255 } s; 9926 } s;
2256 struct cvmx_ciu_timx_s cn30xx; 9927 struct cvmx_ciu_timx_s cn30xx;
2257 struct cvmx_ciu_timx_s cn31xx; 9928 struct cvmx_ciu_timx_s cn31xx;
@@ -2264,13 +9935,35 @@ union cvmx_ciu_timx {
2264 struct cvmx_ciu_timx_s cn56xxp1; 9935 struct cvmx_ciu_timx_s cn56xxp1;
2265 struct cvmx_ciu_timx_s cn58xx; 9936 struct cvmx_ciu_timx_s cn58xx;
2266 struct cvmx_ciu_timx_s cn58xxp1; 9937 struct cvmx_ciu_timx_s cn58xxp1;
9938 struct cvmx_ciu_timx_s cn61xx;
2267 struct cvmx_ciu_timx_s cn63xx; 9939 struct cvmx_ciu_timx_s cn63xx;
2268 struct cvmx_ciu_timx_s cn63xxp1; 9940 struct cvmx_ciu_timx_s cn63xxp1;
9941 struct cvmx_ciu_timx_s cn66xx;
9942 struct cvmx_ciu_timx_s cn68xx;
9943 struct cvmx_ciu_timx_s cn68xxp1;
9944 struct cvmx_ciu_timx_s cnf71xx;
9945};
9946
9947union cvmx_ciu_tim_multi_cast {
9948 uint64_t u64;
9949 struct cvmx_ciu_tim_multi_cast_s {
9950#ifdef __BIG_ENDIAN_BITFIELD
9951 uint64_t reserved_1_63:63;
9952 uint64_t en:1;
9953#else
9954 uint64_t en:1;
9955 uint64_t reserved_1_63:63;
9956#endif
9957 } s;
9958 struct cvmx_ciu_tim_multi_cast_s cn61xx;
9959 struct cvmx_ciu_tim_multi_cast_s cn66xx;
9960 struct cvmx_ciu_tim_multi_cast_s cnf71xx;
2269}; 9961};
2270 9962
2271union cvmx_ciu_wdogx { 9963union cvmx_ciu_wdogx {
2272 uint64_t u64; 9964 uint64_t u64;
2273 struct cvmx_ciu_wdogx_s { 9965 struct cvmx_ciu_wdogx_s {
9966#ifdef __BIG_ENDIAN_BITFIELD
2274 uint64_t reserved_46_63:18; 9967 uint64_t reserved_46_63:18;
2275 uint64_t gstopen:1; 9968 uint64_t gstopen:1;
2276 uint64_t dstop:1; 9969 uint64_t dstop:1;
@@ -2278,6 +9971,15 @@ union cvmx_ciu_wdogx {
2278 uint64_t len:16; 9971 uint64_t len:16;
2279 uint64_t state:2; 9972 uint64_t state:2;
2280 uint64_t mode:2; 9973 uint64_t mode:2;
9974#else
9975 uint64_t mode:2;
9976 uint64_t state:2;
9977 uint64_t len:16;
9978 uint64_t cnt:24;
9979 uint64_t dstop:1;
9980 uint64_t gstopen:1;
9981 uint64_t reserved_46_63:18;
9982#endif
2281 } s; 9983 } s;
2282 struct cvmx_ciu_wdogx_s cn30xx; 9984 struct cvmx_ciu_wdogx_s cn30xx;
2283 struct cvmx_ciu_wdogx_s cn31xx; 9985 struct cvmx_ciu_wdogx_s cn31xx;
@@ -2290,8 +9992,13 @@ union cvmx_ciu_wdogx {
2290 struct cvmx_ciu_wdogx_s cn56xxp1; 9992 struct cvmx_ciu_wdogx_s cn56xxp1;
2291 struct cvmx_ciu_wdogx_s cn58xx; 9993 struct cvmx_ciu_wdogx_s cn58xx;
2292 struct cvmx_ciu_wdogx_s cn58xxp1; 9994 struct cvmx_ciu_wdogx_s cn58xxp1;
9995 struct cvmx_ciu_wdogx_s cn61xx;
2293 struct cvmx_ciu_wdogx_s cn63xx; 9996 struct cvmx_ciu_wdogx_s cn63xx;
2294 struct cvmx_ciu_wdogx_s cn63xxp1; 9997 struct cvmx_ciu_wdogx_s cn63xxp1;
9998 struct cvmx_ciu_wdogx_s cn66xx;
9999 struct cvmx_ciu_wdogx_s cn68xx;
10000 struct cvmx_ciu_wdogx_s cn68xxp1;
10001 struct cvmx_ciu_wdogx_s cnf71xx;
2295}; 10002};
2296 10003
2297#endif 10004#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-ciu2-defs.h b/arch/mips/include/asm/octeon/cvmx-ciu2-defs.h
new file mode 100644
index 000000000000..148bc9a0085d
--- /dev/null
+++ b/arch/mips/include/asm/octeon/cvmx-ciu2-defs.h
@@ -0,0 +1,7108 @@
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2012 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_CIU2_DEFS_H__
29#define __CVMX_CIU2_DEFS_H__
30
31#define CVMX_CIU2_ACK_IOX_INT(block_id) (CVMX_ADD_IO_SEG(0x00010701080C0800ull) + ((block_id) & 1) * 0x200000ull)
32#define CVMX_CIU2_ACK_PPX_IP2(block_id) (CVMX_ADD_IO_SEG(0x00010701000C0000ull) + ((block_id) & 31) * 0x200000ull)
33#define CVMX_CIU2_ACK_PPX_IP3(block_id) (CVMX_ADD_IO_SEG(0x00010701000C0200ull) + ((block_id) & 31) * 0x200000ull)
34#define CVMX_CIU2_ACK_PPX_IP4(block_id) (CVMX_ADD_IO_SEG(0x00010701000C0400ull) + ((block_id) & 31) * 0x200000ull)
35#define CVMX_CIU2_EN_IOX_INT_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070108097800ull) + ((block_id) & 1) * 0x200000ull)
36#define CVMX_CIU2_EN_IOX_INT_GPIO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B7800ull) + ((block_id) & 1) * 0x200000ull)
37#define CVMX_CIU2_EN_IOX_INT_GPIO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A7800ull) + ((block_id) & 1) * 0x200000ull)
38#define CVMX_CIU2_EN_IOX_INT_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070108094800ull) + ((block_id) & 1) * 0x200000ull)
39#define CVMX_CIU2_EN_IOX_INT_IO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B4800ull) + ((block_id) & 1) * 0x200000ull)
40#define CVMX_CIU2_EN_IOX_INT_IO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A4800ull) + ((block_id) & 1) * 0x200000ull)
41#define CVMX_CIU2_EN_IOX_INT_MBOX(block_id) (CVMX_ADD_IO_SEG(0x0001070108098800ull) + ((block_id) & 1) * 0x200000ull)
42#define CVMX_CIU2_EN_IOX_INT_MBOX_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B8800ull) + ((block_id) & 1) * 0x200000ull)
43#define CVMX_CIU2_EN_IOX_INT_MBOX_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A8800ull) + ((block_id) & 1) * 0x200000ull)
44#define CVMX_CIU2_EN_IOX_INT_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070108095800ull) + ((block_id) & 1) * 0x200000ull)
45#define CVMX_CIU2_EN_IOX_INT_MEM_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B5800ull) + ((block_id) & 1) * 0x200000ull)
46#define CVMX_CIU2_EN_IOX_INT_MEM_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A5800ull) + ((block_id) & 1) * 0x200000ull)
47#define CVMX_CIU2_EN_IOX_INT_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070108093800ull) + ((block_id) & 1) * 0x200000ull)
48#define CVMX_CIU2_EN_IOX_INT_MIO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B3800ull) + ((block_id) & 1) * 0x200000ull)
49#define CVMX_CIU2_EN_IOX_INT_MIO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A3800ull) + ((block_id) & 1) * 0x200000ull)
50#define CVMX_CIU2_EN_IOX_INT_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070108096800ull) + ((block_id) & 1) * 0x200000ull)
51#define CVMX_CIU2_EN_IOX_INT_PKT_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B6800ull) + ((block_id) & 1) * 0x200000ull)
52#define CVMX_CIU2_EN_IOX_INT_PKT_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A6800ull) + ((block_id) & 1) * 0x200000ull)
53#define CVMX_CIU2_EN_IOX_INT_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070108092800ull) + ((block_id) & 1) * 0x200000ull)
54#define CVMX_CIU2_EN_IOX_INT_RML_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B2800ull) + ((block_id) & 1) * 0x200000ull)
55#define CVMX_CIU2_EN_IOX_INT_RML_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A2800ull) + ((block_id) & 1) * 0x200000ull)
56#define CVMX_CIU2_EN_IOX_INT_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070108091800ull) + ((block_id) & 1) * 0x200000ull)
57#define CVMX_CIU2_EN_IOX_INT_WDOG_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B1800ull) + ((block_id) & 1) * 0x200000ull)
58#define CVMX_CIU2_EN_IOX_INT_WDOG_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A1800ull) + ((block_id) & 1) * 0x200000ull)
59#define CVMX_CIU2_EN_IOX_INT_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070108090800ull) + ((block_id) & 1) * 0x200000ull)
60#define CVMX_CIU2_EN_IOX_INT_WRKQ_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701080B0800ull) + ((block_id) & 1) * 0x200000ull)
61#define CVMX_CIU2_EN_IOX_INT_WRKQ_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701080A0800ull) + ((block_id) & 1) * 0x200000ull)
62#define CVMX_CIU2_EN_PPX_IP2_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100097000ull) + ((block_id) & 31) * 0x200000ull)
63#define CVMX_CIU2_EN_PPX_IP2_GPIO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B7000ull) + ((block_id) & 31) * 0x200000ull)
64#define CVMX_CIU2_EN_PPX_IP2_GPIO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A7000ull) + ((block_id) & 31) * 0x200000ull)
65#define CVMX_CIU2_EN_PPX_IP2_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100094000ull) + ((block_id) & 31) * 0x200000ull)
66#define CVMX_CIU2_EN_PPX_IP2_IO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B4000ull) + ((block_id) & 31) * 0x200000ull)
67#define CVMX_CIU2_EN_PPX_IP2_IO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A4000ull) + ((block_id) & 31) * 0x200000ull)
68#define CVMX_CIU2_EN_PPX_IP2_MBOX(block_id) (CVMX_ADD_IO_SEG(0x0001070100098000ull) + ((block_id) & 31) * 0x200000ull)
69#define CVMX_CIU2_EN_PPX_IP2_MBOX_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B8000ull) + ((block_id) & 31) * 0x200000ull)
70#define CVMX_CIU2_EN_PPX_IP2_MBOX_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A8000ull) + ((block_id) & 31) * 0x200000ull)
71#define CVMX_CIU2_EN_PPX_IP2_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100095000ull) + ((block_id) & 31) * 0x200000ull)
72#define CVMX_CIU2_EN_PPX_IP2_MEM_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B5000ull) + ((block_id) & 31) * 0x200000ull)
73#define CVMX_CIU2_EN_PPX_IP2_MEM_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A5000ull) + ((block_id) & 31) * 0x200000ull)
74#define CVMX_CIU2_EN_PPX_IP2_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100093000ull) + ((block_id) & 31) * 0x200000ull)
75#define CVMX_CIU2_EN_PPX_IP2_MIO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B3000ull) + ((block_id) & 31) * 0x200000ull)
76#define CVMX_CIU2_EN_PPX_IP2_MIO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A3000ull) + ((block_id) & 31) * 0x200000ull)
77#define CVMX_CIU2_EN_PPX_IP2_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100096000ull) + ((block_id) & 31) * 0x200000ull)
78#define CVMX_CIU2_EN_PPX_IP2_PKT_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B6000ull) + ((block_id) & 31) * 0x200000ull)
79#define CVMX_CIU2_EN_PPX_IP2_PKT_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A6000ull) + ((block_id) & 31) * 0x200000ull)
80#define CVMX_CIU2_EN_PPX_IP2_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100092000ull) + ((block_id) & 31) * 0x200000ull)
81#define CVMX_CIU2_EN_PPX_IP2_RML_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B2000ull) + ((block_id) & 31) * 0x200000ull)
82#define CVMX_CIU2_EN_PPX_IP2_RML_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A2000ull) + ((block_id) & 31) * 0x200000ull)
83#define CVMX_CIU2_EN_PPX_IP2_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100091000ull) + ((block_id) & 31) * 0x200000ull)
84#define CVMX_CIU2_EN_PPX_IP2_WDOG_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B1000ull) + ((block_id) & 31) * 0x200000ull)
85#define CVMX_CIU2_EN_PPX_IP2_WDOG_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A1000ull) + ((block_id) & 31) * 0x200000ull)
86#define CVMX_CIU2_EN_PPX_IP2_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100090000ull) + ((block_id) & 31) * 0x200000ull)
87#define CVMX_CIU2_EN_PPX_IP2_WRKQ_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B0000ull) + ((block_id) & 31) * 0x200000ull)
88#define CVMX_CIU2_EN_PPX_IP2_WRKQ_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A0000ull) + ((block_id) & 31) * 0x200000ull)
89#define CVMX_CIU2_EN_PPX_IP3_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100097200ull) + ((block_id) & 31) * 0x200000ull)
90#define CVMX_CIU2_EN_PPX_IP3_GPIO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B7200ull) + ((block_id) & 31) * 0x200000ull)
91#define CVMX_CIU2_EN_PPX_IP3_GPIO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A7200ull) + ((block_id) & 31) * 0x200000ull)
92#define CVMX_CIU2_EN_PPX_IP3_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100094200ull) + ((block_id) & 31) * 0x200000ull)
93#define CVMX_CIU2_EN_PPX_IP3_IO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B4200ull) + ((block_id) & 31) * 0x200000ull)
94#define CVMX_CIU2_EN_PPX_IP3_IO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A4200ull) + ((block_id) & 31) * 0x200000ull)
95#define CVMX_CIU2_EN_PPX_IP3_MBOX(block_id) (CVMX_ADD_IO_SEG(0x0001070100098200ull) + ((block_id) & 31) * 0x200000ull)
96#define CVMX_CIU2_EN_PPX_IP3_MBOX_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B8200ull) + ((block_id) & 31) * 0x200000ull)
97#define CVMX_CIU2_EN_PPX_IP3_MBOX_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A8200ull) + ((block_id) & 31) * 0x200000ull)
98#define CVMX_CIU2_EN_PPX_IP3_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100095200ull) + ((block_id) & 31) * 0x200000ull)
99#define CVMX_CIU2_EN_PPX_IP3_MEM_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B5200ull) + ((block_id) & 31) * 0x200000ull)
100#define CVMX_CIU2_EN_PPX_IP3_MEM_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A5200ull) + ((block_id) & 31) * 0x200000ull)
101#define CVMX_CIU2_EN_PPX_IP3_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100093200ull) + ((block_id) & 31) * 0x200000ull)
102#define CVMX_CIU2_EN_PPX_IP3_MIO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B3200ull) + ((block_id) & 31) * 0x200000ull)
103#define CVMX_CIU2_EN_PPX_IP3_MIO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A3200ull) + ((block_id) & 31) * 0x200000ull)
104#define CVMX_CIU2_EN_PPX_IP3_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100096200ull) + ((block_id) & 31) * 0x200000ull)
105#define CVMX_CIU2_EN_PPX_IP3_PKT_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B6200ull) + ((block_id) & 31) * 0x200000ull)
106#define CVMX_CIU2_EN_PPX_IP3_PKT_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A6200ull) + ((block_id) & 31) * 0x200000ull)
107#define CVMX_CIU2_EN_PPX_IP3_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100092200ull) + ((block_id) & 31) * 0x200000ull)
108#define CVMX_CIU2_EN_PPX_IP3_RML_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B2200ull) + ((block_id) & 31) * 0x200000ull)
109#define CVMX_CIU2_EN_PPX_IP3_RML_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A2200ull) + ((block_id) & 31) * 0x200000ull)
110#define CVMX_CIU2_EN_PPX_IP3_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100091200ull) + ((block_id) & 31) * 0x200000ull)
111#define CVMX_CIU2_EN_PPX_IP3_WDOG_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B1200ull) + ((block_id) & 31) * 0x200000ull)
112#define CVMX_CIU2_EN_PPX_IP3_WDOG_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A1200ull) + ((block_id) & 31) * 0x200000ull)
113#define CVMX_CIU2_EN_PPX_IP3_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100090200ull) + ((block_id) & 31) * 0x200000ull)
114#define CVMX_CIU2_EN_PPX_IP3_WRKQ_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B0200ull) + ((block_id) & 31) * 0x200000ull)
115#define CVMX_CIU2_EN_PPX_IP3_WRKQ_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A0200ull) + ((block_id) & 31) * 0x200000ull)
116#define CVMX_CIU2_EN_PPX_IP4_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100097400ull) + ((block_id) & 31) * 0x200000ull)
117#define CVMX_CIU2_EN_PPX_IP4_GPIO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B7400ull) + ((block_id) & 31) * 0x200000ull)
118#define CVMX_CIU2_EN_PPX_IP4_GPIO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A7400ull) + ((block_id) & 31) * 0x200000ull)
119#define CVMX_CIU2_EN_PPX_IP4_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100094400ull) + ((block_id) & 31) * 0x200000ull)
120#define CVMX_CIU2_EN_PPX_IP4_IO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B4400ull) + ((block_id) & 31) * 0x200000ull)
121#define CVMX_CIU2_EN_PPX_IP4_IO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A4400ull) + ((block_id) & 31) * 0x200000ull)
122#define CVMX_CIU2_EN_PPX_IP4_MBOX(block_id) (CVMX_ADD_IO_SEG(0x0001070100098400ull) + ((block_id) & 31) * 0x200000ull)
123#define CVMX_CIU2_EN_PPX_IP4_MBOX_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B8400ull) + ((block_id) & 31) * 0x200000ull)
124#define CVMX_CIU2_EN_PPX_IP4_MBOX_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A8400ull) + ((block_id) & 31) * 0x200000ull)
125#define CVMX_CIU2_EN_PPX_IP4_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100095400ull) + ((block_id) & 31) * 0x200000ull)
126#define CVMX_CIU2_EN_PPX_IP4_MEM_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B5400ull) + ((block_id) & 31) * 0x200000ull)
127#define CVMX_CIU2_EN_PPX_IP4_MEM_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A5400ull) + ((block_id) & 31) * 0x200000ull)
128#define CVMX_CIU2_EN_PPX_IP4_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100093400ull) + ((block_id) & 31) * 0x200000ull)
129#define CVMX_CIU2_EN_PPX_IP4_MIO_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B3400ull) + ((block_id) & 31) * 0x200000ull)
130#define CVMX_CIU2_EN_PPX_IP4_MIO_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A3400ull) + ((block_id) & 31) * 0x200000ull)
131#define CVMX_CIU2_EN_PPX_IP4_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100096400ull) + ((block_id) & 31) * 0x200000ull)
132#define CVMX_CIU2_EN_PPX_IP4_PKT_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B6400ull) + ((block_id) & 31) * 0x200000ull)
133#define CVMX_CIU2_EN_PPX_IP4_PKT_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A6400ull) + ((block_id) & 31) * 0x200000ull)
134#define CVMX_CIU2_EN_PPX_IP4_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100092400ull) + ((block_id) & 31) * 0x200000ull)
135#define CVMX_CIU2_EN_PPX_IP4_RML_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B2400ull) + ((block_id) & 31) * 0x200000ull)
136#define CVMX_CIU2_EN_PPX_IP4_RML_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A2400ull) + ((block_id) & 31) * 0x200000ull)
137#define CVMX_CIU2_EN_PPX_IP4_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100091400ull) + ((block_id) & 31) * 0x200000ull)
138#define CVMX_CIU2_EN_PPX_IP4_WDOG_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B1400ull) + ((block_id) & 31) * 0x200000ull)
139#define CVMX_CIU2_EN_PPX_IP4_WDOG_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A1400ull) + ((block_id) & 31) * 0x200000ull)
140#define CVMX_CIU2_EN_PPX_IP4_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100090400ull) + ((block_id) & 31) * 0x200000ull)
141#define CVMX_CIU2_EN_PPX_IP4_WRKQ_W1C(block_id) (CVMX_ADD_IO_SEG(0x00010701000B0400ull) + ((block_id) & 31) * 0x200000ull)
142#define CVMX_CIU2_EN_PPX_IP4_WRKQ_W1S(block_id) (CVMX_ADD_IO_SEG(0x00010701000A0400ull) + ((block_id) & 31) * 0x200000ull)
143#define CVMX_CIU2_INTR_CIU_READY (CVMX_ADD_IO_SEG(0x0001070100102008ull))
144#define CVMX_CIU2_INTR_RAM_ECC_CTL (CVMX_ADD_IO_SEG(0x0001070100102010ull))
145#define CVMX_CIU2_INTR_RAM_ECC_ST (CVMX_ADD_IO_SEG(0x0001070100102018ull))
146#define CVMX_CIU2_INTR_SLOWDOWN (CVMX_ADD_IO_SEG(0x0001070100102000ull))
147#define CVMX_CIU2_MSIRED_PPX_IP2(block_id) (CVMX_ADD_IO_SEG(0x00010701000C1000ull) + ((block_id) & 31) * 0x200000ull)
148#define CVMX_CIU2_MSIRED_PPX_IP3(block_id) (CVMX_ADD_IO_SEG(0x00010701000C1200ull) + ((block_id) & 31) * 0x200000ull)
149#define CVMX_CIU2_MSIRED_PPX_IP4(block_id) (CVMX_ADD_IO_SEG(0x00010701000C1400ull) + ((block_id) & 31) * 0x200000ull)
150#define CVMX_CIU2_MSI_RCVX(offset) (CVMX_ADD_IO_SEG(0x00010701000C2000ull) + ((offset) & 255) * 8)
151#define CVMX_CIU2_MSI_SELX(offset) (CVMX_ADD_IO_SEG(0x00010701000C3000ull) + ((offset) & 255) * 8)
152#define CVMX_CIU2_RAW_IOX_INT_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070108047800ull) + ((block_id) & 1) * 0x200000ull)
153#define CVMX_CIU2_RAW_IOX_INT_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070108044800ull) + ((block_id) & 1) * 0x200000ull)
154#define CVMX_CIU2_RAW_IOX_INT_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070108045800ull) + ((block_id) & 1) * 0x200000ull)
155#define CVMX_CIU2_RAW_IOX_INT_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070108043800ull) + ((block_id) & 1) * 0x200000ull)
156#define CVMX_CIU2_RAW_IOX_INT_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070108046800ull) + ((block_id) & 1) * 0x200000ull)
157#define CVMX_CIU2_RAW_IOX_INT_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070108042800ull) + ((block_id) & 1) * 0x200000ull)
158#define CVMX_CIU2_RAW_IOX_INT_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070108041800ull) + ((block_id) & 1) * 0x200000ull)
159#define CVMX_CIU2_RAW_IOX_INT_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070108040800ull) + ((block_id) & 1) * 0x200000ull)
160#define CVMX_CIU2_RAW_PPX_IP2_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100047000ull) + ((block_id) & 31) * 0x200000ull)
161#define CVMX_CIU2_RAW_PPX_IP2_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100044000ull) + ((block_id) & 31) * 0x200000ull)
162#define CVMX_CIU2_RAW_PPX_IP2_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100045000ull) + ((block_id) & 31) * 0x200000ull)
163#define CVMX_CIU2_RAW_PPX_IP2_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100043000ull) + ((block_id) & 31) * 0x200000ull)
164#define CVMX_CIU2_RAW_PPX_IP2_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100046000ull) + ((block_id) & 31) * 0x200000ull)
165#define CVMX_CIU2_RAW_PPX_IP2_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100042000ull) + ((block_id) & 31) * 0x200000ull)
166#define CVMX_CIU2_RAW_PPX_IP2_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100041000ull) + ((block_id) & 31) * 0x200000ull)
167#define CVMX_CIU2_RAW_PPX_IP2_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100040000ull) + ((block_id) & 31) * 0x200000ull)
168#define CVMX_CIU2_RAW_PPX_IP3_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100047200ull) + ((block_id) & 31) * 0x200000ull)
169#define CVMX_CIU2_RAW_PPX_IP3_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100044200ull) + ((block_id) & 31) * 0x200000ull)
170#define CVMX_CIU2_RAW_PPX_IP3_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100045200ull) + ((block_id) & 31) * 0x200000ull)
171#define CVMX_CIU2_RAW_PPX_IP3_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100043200ull) + ((block_id) & 31) * 0x200000ull)
172#define CVMX_CIU2_RAW_PPX_IP3_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100046200ull) + ((block_id) & 31) * 0x200000ull)
173#define CVMX_CIU2_RAW_PPX_IP3_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100042200ull) + ((block_id) & 31) * 0x200000ull)
174#define CVMX_CIU2_RAW_PPX_IP3_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100041200ull) + ((block_id) & 31) * 0x200000ull)
175#define CVMX_CIU2_RAW_PPX_IP3_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100040200ull) + ((block_id) & 31) * 0x200000ull)
176#define CVMX_CIU2_RAW_PPX_IP4_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100047400ull) + ((block_id) & 31) * 0x200000ull)
177#define CVMX_CIU2_RAW_PPX_IP4_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100044400ull) + ((block_id) & 31) * 0x200000ull)
178#define CVMX_CIU2_RAW_PPX_IP4_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100045400ull) + ((block_id) & 31) * 0x200000ull)
179#define CVMX_CIU2_RAW_PPX_IP4_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100043400ull) + ((block_id) & 31) * 0x200000ull)
180#define CVMX_CIU2_RAW_PPX_IP4_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100046400ull) + ((block_id) & 31) * 0x200000ull)
181#define CVMX_CIU2_RAW_PPX_IP4_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100042400ull) + ((block_id) & 31) * 0x200000ull)
182#define CVMX_CIU2_RAW_PPX_IP4_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100041400ull) + ((block_id) & 31) * 0x200000ull)
183#define CVMX_CIU2_RAW_PPX_IP4_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100040400ull) + ((block_id) & 31) * 0x200000ull)
184#define CVMX_CIU2_SRC_IOX_INT_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070108087800ull) + ((block_id) & 1) * 0x200000ull)
185#define CVMX_CIU2_SRC_IOX_INT_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070108084800ull) + ((block_id) & 1) * 0x200000ull)
186#define CVMX_CIU2_SRC_IOX_INT_MBOX(block_id) (CVMX_ADD_IO_SEG(0x0001070108088800ull) + ((block_id) & 1) * 0x200000ull)
187#define CVMX_CIU2_SRC_IOX_INT_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070108085800ull) + ((block_id) & 1) * 0x200000ull)
188#define CVMX_CIU2_SRC_IOX_INT_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070108083800ull) + ((block_id) & 1) * 0x200000ull)
189#define CVMX_CIU2_SRC_IOX_INT_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070108086800ull) + ((block_id) & 1) * 0x200000ull)
190#define CVMX_CIU2_SRC_IOX_INT_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070108082800ull) + ((block_id) & 1) * 0x200000ull)
191#define CVMX_CIU2_SRC_IOX_INT_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070108081800ull) + ((block_id) & 1) * 0x200000ull)
192#define CVMX_CIU2_SRC_IOX_INT_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070108080800ull) + ((block_id) & 1) * 0x200000ull)
193#define CVMX_CIU2_SRC_PPX_IP2_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100087000ull) + ((block_id) & 31) * 0x200000ull)
194#define CVMX_CIU2_SRC_PPX_IP2_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100084000ull) + ((block_id) & 31) * 0x200000ull)
195#define CVMX_CIU2_SRC_PPX_IP2_MBOX(block_id) (CVMX_ADD_IO_SEG(0x0001070100088000ull) + ((block_id) & 31) * 0x200000ull)
196#define CVMX_CIU2_SRC_PPX_IP2_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100085000ull) + ((block_id) & 31) * 0x200000ull)
197#define CVMX_CIU2_SRC_PPX_IP2_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100083000ull) + ((block_id) & 31) * 0x200000ull)
198#define CVMX_CIU2_SRC_PPX_IP2_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100086000ull) + ((block_id) & 31) * 0x200000ull)
199#define CVMX_CIU2_SRC_PPX_IP2_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100082000ull) + ((block_id) & 31) * 0x200000ull)
200#define CVMX_CIU2_SRC_PPX_IP2_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100081000ull) + ((block_id) & 31) * 0x200000ull)
201#define CVMX_CIU2_SRC_PPX_IP2_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100080000ull) + ((block_id) & 31) * 0x200000ull)
202#define CVMX_CIU2_SRC_PPX_IP3_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100087200ull) + ((block_id) & 31) * 0x200000ull)
203#define CVMX_CIU2_SRC_PPX_IP3_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100084200ull) + ((block_id) & 31) * 0x200000ull)
204#define CVMX_CIU2_SRC_PPX_IP3_MBOX(block_id) (CVMX_ADD_IO_SEG(0x0001070100088200ull) + ((block_id) & 31) * 0x200000ull)
205#define CVMX_CIU2_SRC_PPX_IP3_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100085200ull) + ((block_id) & 31) * 0x200000ull)
206#define CVMX_CIU2_SRC_PPX_IP3_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100083200ull) + ((block_id) & 31) * 0x200000ull)
207#define CVMX_CIU2_SRC_PPX_IP3_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100086200ull) + ((block_id) & 31) * 0x200000ull)
208#define CVMX_CIU2_SRC_PPX_IP3_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100082200ull) + ((block_id) & 31) * 0x200000ull)
209#define CVMX_CIU2_SRC_PPX_IP3_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100081200ull) + ((block_id) & 31) * 0x200000ull)
210#define CVMX_CIU2_SRC_PPX_IP3_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100080200ull) + ((block_id) & 31) * 0x200000ull)
211#define CVMX_CIU2_SRC_PPX_IP4_GPIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100087400ull) + ((block_id) & 31) * 0x200000ull)
212#define CVMX_CIU2_SRC_PPX_IP4_IO(block_id) (CVMX_ADD_IO_SEG(0x0001070100084400ull) + ((block_id) & 31) * 0x200000ull)
213#define CVMX_CIU2_SRC_PPX_IP4_MBOX(block_id) (CVMX_ADD_IO_SEG(0x0001070100088400ull) + ((block_id) & 31) * 0x200000ull)
214#define CVMX_CIU2_SRC_PPX_IP4_MEM(block_id) (CVMX_ADD_IO_SEG(0x0001070100085400ull) + ((block_id) & 31) * 0x200000ull)
215#define CVMX_CIU2_SRC_PPX_IP4_MIO(block_id) (CVMX_ADD_IO_SEG(0x0001070100083400ull) + ((block_id) & 31) * 0x200000ull)
216#define CVMX_CIU2_SRC_PPX_IP4_PKT(block_id) (CVMX_ADD_IO_SEG(0x0001070100086400ull) + ((block_id) & 31) * 0x200000ull)
217#define CVMX_CIU2_SRC_PPX_IP4_RML(block_id) (CVMX_ADD_IO_SEG(0x0001070100082400ull) + ((block_id) & 31) * 0x200000ull)
218#define CVMX_CIU2_SRC_PPX_IP4_WDOG(block_id) (CVMX_ADD_IO_SEG(0x0001070100081400ull) + ((block_id) & 31) * 0x200000ull)
219#define CVMX_CIU2_SRC_PPX_IP4_WRKQ(block_id) (CVMX_ADD_IO_SEG(0x0001070100080400ull) + ((block_id) & 31) * 0x200000ull)
220#define CVMX_CIU2_SUM_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070100000800ull) + ((offset) & 1) * 8)
221#define CVMX_CIU2_SUM_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070100000000ull) + ((offset) & 31) * 8)
222#define CVMX_CIU2_SUM_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070100000200ull) + ((offset) & 31) * 8)
223#define CVMX_CIU2_SUM_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070100000400ull) + ((offset) & 31) * 8)
224
225union cvmx_ciu2_ack_iox_int {
226 uint64_t u64;
227 struct cvmx_ciu2_ack_iox_int_s {
228#ifdef __BIG_ENDIAN_BITFIELD
229 uint64_t reserved_1_63:63;
230 uint64_t ack:1;
231#else
232 uint64_t ack:1;
233 uint64_t reserved_1_63:63;
234#endif
235 } s;
236 struct cvmx_ciu2_ack_iox_int_s cn68xx;
237 struct cvmx_ciu2_ack_iox_int_s cn68xxp1;
238};
239
240union cvmx_ciu2_ack_ppx_ip2 {
241 uint64_t u64;
242 struct cvmx_ciu2_ack_ppx_ip2_s {
243#ifdef __BIG_ENDIAN_BITFIELD
244 uint64_t reserved_1_63:63;
245 uint64_t ack:1;
246#else
247 uint64_t ack:1;
248 uint64_t reserved_1_63:63;
249#endif
250 } s;
251 struct cvmx_ciu2_ack_ppx_ip2_s cn68xx;
252 struct cvmx_ciu2_ack_ppx_ip2_s cn68xxp1;
253};
254
255union cvmx_ciu2_ack_ppx_ip3 {
256 uint64_t u64;
257 struct cvmx_ciu2_ack_ppx_ip3_s {
258#ifdef __BIG_ENDIAN_BITFIELD
259 uint64_t reserved_1_63:63;
260 uint64_t ack:1;
261#else
262 uint64_t ack:1;
263 uint64_t reserved_1_63:63;
264#endif
265 } s;
266 struct cvmx_ciu2_ack_ppx_ip3_s cn68xx;
267 struct cvmx_ciu2_ack_ppx_ip3_s cn68xxp1;
268};
269
270union cvmx_ciu2_ack_ppx_ip4 {
271 uint64_t u64;
272 struct cvmx_ciu2_ack_ppx_ip4_s {
273#ifdef __BIG_ENDIAN_BITFIELD
274 uint64_t reserved_1_63:63;
275 uint64_t ack:1;
276#else
277 uint64_t ack:1;
278 uint64_t reserved_1_63:63;
279#endif
280 } s;
281 struct cvmx_ciu2_ack_ppx_ip4_s cn68xx;
282 struct cvmx_ciu2_ack_ppx_ip4_s cn68xxp1;
283};
284
285union cvmx_ciu2_en_iox_int_gpio {
286 uint64_t u64;
287 struct cvmx_ciu2_en_iox_int_gpio_s {
288#ifdef __BIG_ENDIAN_BITFIELD
289 uint64_t reserved_16_63:48;
290 uint64_t gpio:16;
291#else
292 uint64_t gpio:16;
293 uint64_t reserved_16_63:48;
294#endif
295 } s;
296 struct cvmx_ciu2_en_iox_int_gpio_s cn68xx;
297 struct cvmx_ciu2_en_iox_int_gpio_s cn68xxp1;
298};
299
300union cvmx_ciu2_en_iox_int_gpio_w1c {
301 uint64_t u64;
302 struct cvmx_ciu2_en_iox_int_gpio_w1c_s {
303#ifdef __BIG_ENDIAN_BITFIELD
304 uint64_t reserved_16_63:48;
305 uint64_t gpio:16;
306#else
307 uint64_t gpio:16;
308 uint64_t reserved_16_63:48;
309#endif
310 } s;
311 struct cvmx_ciu2_en_iox_int_gpio_w1c_s cn68xx;
312 struct cvmx_ciu2_en_iox_int_gpio_w1c_s cn68xxp1;
313};
314
315union cvmx_ciu2_en_iox_int_gpio_w1s {
316 uint64_t u64;
317 struct cvmx_ciu2_en_iox_int_gpio_w1s_s {
318#ifdef __BIG_ENDIAN_BITFIELD
319 uint64_t reserved_16_63:48;
320 uint64_t gpio:16;
321#else
322 uint64_t gpio:16;
323 uint64_t reserved_16_63:48;
324#endif
325 } s;
326 struct cvmx_ciu2_en_iox_int_gpio_w1s_s cn68xx;
327 struct cvmx_ciu2_en_iox_int_gpio_w1s_s cn68xxp1;
328};
329
330union cvmx_ciu2_en_iox_int_io {
331 uint64_t u64;
332 struct cvmx_ciu2_en_iox_int_io_s {
333#ifdef __BIG_ENDIAN_BITFIELD
334 uint64_t reserved_34_63:30;
335 uint64_t pem:2;
336 uint64_t reserved_18_31:14;
337 uint64_t pci_inta:2;
338 uint64_t reserved_13_15:3;
339 uint64_t msired:1;
340 uint64_t pci_msi:4;
341 uint64_t reserved_4_7:4;
342 uint64_t pci_intr:4;
343#else
344 uint64_t pci_intr:4;
345 uint64_t reserved_4_7:4;
346 uint64_t pci_msi:4;
347 uint64_t msired:1;
348 uint64_t reserved_13_15:3;
349 uint64_t pci_inta:2;
350 uint64_t reserved_18_31:14;
351 uint64_t pem:2;
352 uint64_t reserved_34_63:30;
353#endif
354 } s;
355 struct cvmx_ciu2_en_iox_int_io_s cn68xx;
356 struct cvmx_ciu2_en_iox_int_io_s cn68xxp1;
357};
358
359union cvmx_ciu2_en_iox_int_io_w1c {
360 uint64_t u64;
361 struct cvmx_ciu2_en_iox_int_io_w1c_s {
362#ifdef __BIG_ENDIAN_BITFIELD
363 uint64_t reserved_34_63:30;
364 uint64_t pem:2;
365 uint64_t reserved_18_31:14;
366 uint64_t pci_inta:2;
367 uint64_t reserved_13_15:3;
368 uint64_t msired:1;
369 uint64_t pci_msi:4;
370 uint64_t reserved_4_7:4;
371 uint64_t pci_intr:4;
372#else
373 uint64_t pci_intr:4;
374 uint64_t reserved_4_7:4;
375 uint64_t pci_msi:4;
376 uint64_t msired:1;
377 uint64_t reserved_13_15:3;
378 uint64_t pci_inta:2;
379 uint64_t reserved_18_31:14;
380 uint64_t pem:2;
381 uint64_t reserved_34_63:30;
382#endif
383 } s;
384 struct cvmx_ciu2_en_iox_int_io_w1c_s cn68xx;
385 struct cvmx_ciu2_en_iox_int_io_w1c_s cn68xxp1;
386};
387
388union cvmx_ciu2_en_iox_int_io_w1s {
389 uint64_t u64;
390 struct cvmx_ciu2_en_iox_int_io_w1s_s {
391#ifdef __BIG_ENDIAN_BITFIELD
392 uint64_t reserved_34_63:30;
393 uint64_t pem:2;
394 uint64_t reserved_18_31:14;
395 uint64_t pci_inta:2;
396 uint64_t reserved_13_15:3;
397 uint64_t msired:1;
398 uint64_t pci_msi:4;
399 uint64_t reserved_4_7:4;
400 uint64_t pci_intr:4;
401#else
402 uint64_t pci_intr:4;
403 uint64_t reserved_4_7:4;
404 uint64_t pci_msi:4;
405 uint64_t msired:1;
406 uint64_t reserved_13_15:3;
407 uint64_t pci_inta:2;
408 uint64_t reserved_18_31:14;
409 uint64_t pem:2;
410 uint64_t reserved_34_63:30;
411#endif
412 } s;
413 struct cvmx_ciu2_en_iox_int_io_w1s_s cn68xx;
414 struct cvmx_ciu2_en_iox_int_io_w1s_s cn68xxp1;
415};
416
417union cvmx_ciu2_en_iox_int_mbox {
418 uint64_t u64;
419 struct cvmx_ciu2_en_iox_int_mbox_s {
420#ifdef __BIG_ENDIAN_BITFIELD
421 uint64_t reserved_4_63:60;
422 uint64_t mbox:4;
423#else
424 uint64_t mbox:4;
425 uint64_t reserved_4_63:60;
426#endif
427 } s;
428 struct cvmx_ciu2_en_iox_int_mbox_s cn68xx;
429 struct cvmx_ciu2_en_iox_int_mbox_s cn68xxp1;
430};
431
432union cvmx_ciu2_en_iox_int_mbox_w1c {
433 uint64_t u64;
434 struct cvmx_ciu2_en_iox_int_mbox_w1c_s {
435#ifdef __BIG_ENDIAN_BITFIELD
436 uint64_t reserved_4_63:60;
437 uint64_t mbox:4;
438#else
439 uint64_t mbox:4;
440 uint64_t reserved_4_63:60;
441#endif
442 } s;
443 struct cvmx_ciu2_en_iox_int_mbox_w1c_s cn68xx;
444 struct cvmx_ciu2_en_iox_int_mbox_w1c_s cn68xxp1;
445};
446
447union cvmx_ciu2_en_iox_int_mbox_w1s {
448 uint64_t u64;
449 struct cvmx_ciu2_en_iox_int_mbox_w1s_s {
450#ifdef __BIG_ENDIAN_BITFIELD
451 uint64_t reserved_4_63:60;
452 uint64_t mbox:4;
453#else
454 uint64_t mbox:4;
455 uint64_t reserved_4_63:60;
456#endif
457 } s;
458 struct cvmx_ciu2_en_iox_int_mbox_w1s_s cn68xx;
459 struct cvmx_ciu2_en_iox_int_mbox_w1s_s cn68xxp1;
460};
461
462union cvmx_ciu2_en_iox_int_mem {
463 uint64_t u64;
464 struct cvmx_ciu2_en_iox_int_mem_s {
465#ifdef __BIG_ENDIAN_BITFIELD
466 uint64_t reserved_4_63:60;
467 uint64_t lmc:4;
468#else
469 uint64_t lmc:4;
470 uint64_t reserved_4_63:60;
471#endif
472 } s;
473 struct cvmx_ciu2_en_iox_int_mem_s cn68xx;
474 struct cvmx_ciu2_en_iox_int_mem_s cn68xxp1;
475};
476
477union cvmx_ciu2_en_iox_int_mem_w1c {
478 uint64_t u64;
479 struct cvmx_ciu2_en_iox_int_mem_w1c_s {
480#ifdef __BIG_ENDIAN_BITFIELD
481 uint64_t reserved_4_63:60;
482 uint64_t lmc:4;
483#else
484 uint64_t lmc:4;
485 uint64_t reserved_4_63:60;
486#endif
487 } s;
488 struct cvmx_ciu2_en_iox_int_mem_w1c_s cn68xx;
489 struct cvmx_ciu2_en_iox_int_mem_w1c_s cn68xxp1;
490};
491
492union cvmx_ciu2_en_iox_int_mem_w1s {
493 uint64_t u64;
494 struct cvmx_ciu2_en_iox_int_mem_w1s_s {
495#ifdef __BIG_ENDIAN_BITFIELD
496 uint64_t reserved_4_63:60;
497 uint64_t lmc:4;
498#else
499 uint64_t lmc:4;
500 uint64_t reserved_4_63:60;
501#endif
502 } s;
503 struct cvmx_ciu2_en_iox_int_mem_w1s_s cn68xx;
504 struct cvmx_ciu2_en_iox_int_mem_w1s_s cn68xxp1;
505};
506
507union cvmx_ciu2_en_iox_int_mio {
508 uint64_t u64;
509 struct cvmx_ciu2_en_iox_int_mio_s {
510#ifdef __BIG_ENDIAN_BITFIELD
511 uint64_t rst:1;
512 uint64_t reserved_49_62:14;
513 uint64_t ptp:1;
514 uint64_t reserved_45_47:3;
515 uint64_t usb_hci:1;
516 uint64_t reserved_41_43:3;
517 uint64_t usb_uctl:1;
518 uint64_t reserved_38_39:2;
519 uint64_t uart:2;
520 uint64_t reserved_34_35:2;
521 uint64_t twsi:2;
522 uint64_t reserved_19_31:13;
523 uint64_t bootdma:1;
524 uint64_t mio:1;
525 uint64_t nand:1;
526 uint64_t reserved_12_15:4;
527 uint64_t timer:4;
528 uint64_t reserved_3_7:5;
529 uint64_t ipd_drp:1;
530 uint64_t ssoiq:1;
531 uint64_t ipdppthr:1;
532#else
533 uint64_t ipdppthr:1;
534 uint64_t ssoiq:1;
535 uint64_t ipd_drp:1;
536 uint64_t reserved_3_7:5;
537 uint64_t timer:4;
538 uint64_t reserved_12_15:4;
539 uint64_t nand:1;
540 uint64_t mio:1;
541 uint64_t bootdma:1;
542 uint64_t reserved_19_31:13;
543 uint64_t twsi:2;
544 uint64_t reserved_34_35:2;
545 uint64_t uart:2;
546 uint64_t reserved_38_39:2;
547 uint64_t usb_uctl:1;
548 uint64_t reserved_41_43:3;
549 uint64_t usb_hci:1;
550 uint64_t reserved_45_47:3;
551 uint64_t ptp:1;
552 uint64_t reserved_49_62:14;
553 uint64_t rst:1;
554#endif
555 } s;
556 struct cvmx_ciu2_en_iox_int_mio_s cn68xx;
557 struct cvmx_ciu2_en_iox_int_mio_s cn68xxp1;
558};
559
560union cvmx_ciu2_en_iox_int_mio_w1c {
561 uint64_t u64;
562 struct cvmx_ciu2_en_iox_int_mio_w1c_s {
563#ifdef __BIG_ENDIAN_BITFIELD
564 uint64_t rst:1;
565 uint64_t reserved_49_62:14;
566 uint64_t ptp:1;
567 uint64_t reserved_45_47:3;
568 uint64_t usb_hci:1;
569 uint64_t reserved_41_43:3;
570 uint64_t usb_uctl:1;
571 uint64_t reserved_38_39:2;
572 uint64_t uart:2;
573 uint64_t reserved_34_35:2;
574 uint64_t twsi:2;
575 uint64_t reserved_19_31:13;
576 uint64_t bootdma:1;
577 uint64_t mio:1;
578 uint64_t nand:1;
579 uint64_t reserved_12_15:4;
580 uint64_t timer:4;
581 uint64_t reserved_3_7:5;
582 uint64_t ipd_drp:1;
583 uint64_t ssoiq:1;
584 uint64_t ipdppthr:1;
585#else
586 uint64_t ipdppthr:1;
587 uint64_t ssoiq:1;
588 uint64_t ipd_drp:1;
589 uint64_t reserved_3_7:5;
590 uint64_t timer:4;
591 uint64_t reserved_12_15:4;
592 uint64_t nand:1;
593 uint64_t mio:1;
594 uint64_t bootdma:1;
595 uint64_t reserved_19_31:13;
596 uint64_t twsi:2;
597 uint64_t reserved_34_35:2;
598 uint64_t uart:2;
599 uint64_t reserved_38_39:2;
600 uint64_t usb_uctl:1;
601 uint64_t reserved_41_43:3;
602 uint64_t usb_hci:1;
603 uint64_t reserved_45_47:3;
604 uint64_t ptp:1;
605 uint64_t reserved_49_62:14;
606 uint64_t rst:1;
607#endif
608 } s;
609 struct cvmx_ciu2_en_iox_int_mio_w1c_s cn68xx;
610 struct cvmx_ciu2_en_iox_int_mio_w1c_s cn68xxp1;
611};
612
613union cvmx_ciu2_en_iox_int_mio_w1s {
614 uint64_t u64;
615 struct cvmx_ciu2_en_iox_int_mio_w1s_s {
616#ifdef __BIG_ENDIAN_BITFIELD
617 uint64_t rst:1;
618 uint64_t reserved_49_62:14;
619 uint64_t ptp:1;
620 uint64_t reserved_45_47:3;
621 uint64_t usb_hci:1;
622 uint64_t reserved_41_43:3;
623 uint64_t usb_uctl:1;
624 uint64_t reserved_38_39:2;
625 uint64_t uart:2;
626 uint64_t reserved_34_35:2;
627 uint64_t twsi:2;
628 uint64_t reserved_19_31:13;
629 uint64_t bootdma:1;
630 uint64_t mio:1;
631 uint64_t nand:1;
632 uint64_t reserved_12_15:4;
633 uint64_t timer:4;
634 uint64_t reserved_3_7:5;
635 uint64_t ipd_drp:1;
636 uint64_t ssoiq:1;
637 uint64_t ipdppthr:1;
638#else
639 uint64_t ipdppthr:1;
640 uint64_t ssoiq:1;
641 uint64_t ipd_drp:1;
642 uint64_t reserved_3_7:5;
643 uint64_t timer:4;
644 uint64_t reserved_12_15:4;
645 uint64_t nand:1;
646 uint64_t mio:1;
647 uint64_t bootdma:1;
648 uint64_t reserved_19_31:13;
649 uint64_t twsi:2;
650 uint64_t reserved_34_35:2;
651 uint64_t uart:2;
652 uint64_t reserved_38_39:2;
653 uint64_t usb_uctl:1;
654 uint64_t reserved_41_43:3;
655 uint64_t usb_hci:1;
656 uint64_t reserved_45_47:3;
657 uint64_t ptp:1;
658 uint64_t reserved_49_62:14;
659 uint64_t rst:1;
660#endif
661 } s;
662 struct cvmx_ciu2_en_iox_int_mio_w1s_s cn68xx;
663 struct cvmx_ciu2_en_iox_int_mio_w1s_s cn68xxp1;
664};
665
666union cvmx_ciu2_en_iox_int_pkt {
667 uint64_t u64;
668 struct cvmx_ciu2_en_iox_int_pkt_s {
669#ifdef __BIG_ENDIAN_BITFIELD
670 uint64_t reserved_54_63:10;
671 uint64_t ilk_drp:2;
672 uint64_t reserved_49_51:3;
673 uint64_t ilk:1;
674 uint64_t reserved_41_47:7;
675 uint64_t mii:1;
676 uint64_t reserved_33_39:7;
677 uint64_t agl:1;
678 uint64_t reserved_13_31:19;
679 uint64_t gmx_drp:5;
680 uint64_t reserved_5_7:3;
681 uint64_t agx:5;
682#else
683 uint64_t agx:5;
684 uint64_t reserved_5_7:3;
685 uint64_t gmx_drp:5;
686 uint64_t reserved_13_31:19;
687 uint64_t agl:1;
688 uint64_t reserved_33_39:7;
689 uint64_t mii:1;
690 uint64_t reserved_41_47:7;
691 uint64_t ilk:1;
692 uint64_t reserved_49_51:3;
693 uint64_t ilk_drp:2;
694 uint64_t reserved_54_63:10;
695#endif
696 } s;
697 struct cvmx_ciu2_en_iox_int_pkt_s cn68xx;
698 struct cvmx_ciu2_en_iox_int_pkt_cn68xxp1 {
699#ifdef __BIG_ENDIAN_BITFIELD
700 uint64_t reserved_49_63:15;
701 uint64_t ilk:1;
702 uint64_t reserved_41_47:7;
703 uint64_t mii:1;
704 uint64_t reserved_33_39:7;
705 uint64_t agl:1;
706 uint64_t reserved_13_31:19;
707 uint64_t gmx_drp:5;
708 uint64_t reserved_5_7:3;
709 uint64_t agx:5;
710#else
711 uint64_t agx:5;
712 uint64_t reserved_5_7:3;
713 uint64_t gmx_drp:5;
714 uint64_t reserved_13_31:19;
715 uint64_t agl:1;
716 uint64_t reserved_33_39:7;
717 uint64_t mii:1;
718 uint64_t reserved_41_47:7;
719 uint64_t ilk:1;
720 uint64_t reserved_49_63:15;
721#endif
722 } cn68xxp1;
723};
724
725union cvmx_ciu2_en_iox_int_pkt_w1c {
726 uint64_t u64;
727 struct cvmx_ciu2_en_iox_int_pkt_w1c_s {
728#ifdef __BIG_ENDIAN_BITFIELD
729 uint64_t reserved_54_63:10;
730 uint64_t ilk_drp:2;
731 uint64_t reserved_49_51:3;
732 uint64_t ilk:1;
733 uint64_t reserved_41_47:7;
734 uint64_t mii:1;
735 uint64_t reserved_33_39:7;
736 uint64_t agl:1;
737 uint64_t reserved_13_31:19;
738 uint64_t gmx_drp:5;
739 uint64_t reserved_5_7:3;
740 uint64_t agx:5;
741#else
742 uint64_t agx:5;
743 uint64_t reserved_5_7:3;
744 uint64_t gmx_drp:5;
745 uint64_t reserved_13_31:19;
746 uint64_t agl:1;
747 uint64_t reserved_33_39:7;
748 uint64_t mii:1;
749 uint64_t reserved_41_47:7;
750 uint64_t ilk:1;
751 uint64_t reserved_49_51:3;
752 uint64_t ilk_drp:2;
753 uint64_t reserved_54_63:10;
754#endif
755 } s;
756 struct cvmx_ciu2_en_iox_int_pkt_w1c_s cn68xx;
757 struct cvmx_ciu2_en_iox_int_pkt_w1c_cn68xxp1 {
758#ifdef __BIG_ENDIAN_BITFIELD
759 uint64_t reserved_49_63:15;
760 uint64_t ilk:1;
761 uint64_t reserved_41_47:7;
762 uint64_t mii:1;
763 uint64_t reserved_33_39:7;
764 uint64_t agl:1;
765 uint64_t reserved_13_31:19;
766 uint64_t gmx_drp:5;
767 uint64_t reserved_5_7:3;
768 uint64_t agx:5;
769#else
770 uint64_t agx:5;
771 uint64_t reserved_5_7:3;
772 uint64_t gmx_drp:5;
773 uint64_t reserved_13_31:19;
774 uint64_t agl:1;
775 uint64_t reserved_33_39:7;
776 uint64_t mii:1;
777 uint64_t reserved_41_47:7;
778 uint64_t ilk:1;
779 uint64_t reserved_49_63:15;
780#endif
781 } cn68xxp1;
782};
783
784union cvmx_ciu2_en_iox_int_pkt_w1s {
785 uint64_t u64;
786 struct cvmx_ciu2_en_iox_int_pkt_w1s_s {
787#ifdef __BIG_ENDIAN_BITFIELD
788 uint64_t reserved_54_63:10;
789 uint64_t ilk_drp:2;
790 uint64_t reserved_49_51:3;
791 uint64_t ilk:1;
792 uint64_t reserved_41_47:7;
793 uint64_t mii:1;
794 uint64_t reserved_33_39:7;
795 uint64_t agl:1;
796 uint64_t reserved_13_31:19;
797 uint64_t gmx_drp:5;
798 uint64_t reserved_5_7:3;
799 uint64_t agx:5;
800#else
801 uint64_t agx:5;
802 uint64_t reserved_5_7:3;
803 uint64_t gmx_drp:5;
804 uint64_t reserved_13_31:19;
805 uint64_t agl:1;
806 uint64_t reserved_33_39:7;
807 uint64_t mii:1;
808 uint64_t reserved_41_47:7;
809 uint64_t ilk:1;
810 uint64_t reserved_49_51:3;
811 uint64_t ilk_drp:2;
812 uint64_t reserved_54_63:10;
813#endif
814 } s;
815 struct cvmx_ciu2_en_iox_int_pkt_w1s_s cn68xx;
816 struct cvmx_ciu2_en_iox_int_pkt_w1s_cn68xxp1 {
817#ifdef __BIG_ENDIAN_BITFIELD
818 uint64_t reserved_49_63:15;
819 uint64_t ilk:1;
820 uint64_t reserved_41_47:7;
821 uint64_t mii:1;
822 uint64_t reserved_33_39:7;
823 uint64_t agl:1;
824 uint64_t reserved_13_31:19;
825 uint64_t gmx_drp:5;
826 uint64_t reserved_5_7:3;
827 uint64_t agx:5;
828#else
829 uint64_t agx:5;
830 uint64_t reserved_5_7:3;
831 uint64_t gmx_drp:5;
832 uint64_t reserved_13_31:19;
833 uint64_t agl:1;
834 uint64_t reserved_33_39:7;
835 uint64_t mii:1;
836 uint64_t reserved_41_47:7;
837 uint64_t ilk:1;
838 uint64_t reserved_49_63:15;
839#endif
840 } cn68xxp1;
841};
842
843union cvmx_ciu2_en_iox_int_rml {
844 uint64_t u64;
845 struct cvmx_ciu2_en_iox_int_rml_s {
846#ifdef __BIG_ENDIAN_BITFIELD
847 uint64_t reserved_56_63:8;
848 uint64_t trace:4;
849 uint64_t reserved_49_51:3;
850 uint64_t l2c:1;
851 uint64_t reserved_41_47:7;
852 uint64_t dfa:1;
853 uint64_t reserved_37_39:3;
854 uint64_t dpi_dma:1;
855 uint64_t reserved_34_35:2;
856 uint64_t dpi:1;
857 uint64_t sli:1;
858 uint64_t reserved_31_31:1;
859 uint64_t key:1;
860 uint64_t rad:1;
861 uint64_t tim:1;
862 uint64_t reserved_25_27:3;
863 uint64_t zip:1;
864 uint64_t reserved_17_23:7;
865 uint64_t sso:1;
866 uint64_t reserved_8_15:8;
867 uint64_t pko:1;
868 uint64_t pip:1;
869 uint64_t ipd:1;
870 uint64_t fpa:1;
871 uint64_t reserved_1_3:3;
872 uint64_t iob:1;
873#else
874 uint64_t iob:1;
875 uint64_t reserved_1_3:3;
876 uint64_t fpa:1;
877 uint64_t ipd:1;
878 uint64_t pip:1;
879 uint64_t pko:1;
880 uint64_t reserved_8_15:8;
881 uint64_t sso:1;
882 uint64_t reserved_17_23:7;
883 uint64_t zip:1;
884 uint64_t reserved_25_27:3;
885 uint64_t tim:1;
886 uint64_t rad:1;
887 uint64_t key:1;
888 uint64_t reserved_31_31:1;
889 uint64_t sli:1;
890 uint64_t dpi:1;
891 uint64_t reserved_34_35:2;
892 uint64_t dpi_dma:1;
893 uint64_t reserved_37_39:3;
894 uint64_t dfa:1;
895 uint64_t reserved_41_47:7;
896 uint64_t l2c:1;
897 uint64_t reserved_49_51:3;
898 uint64_t trace:4;
899 uint64_t reserved_56_63:8;
900#endif
901 } s;
902 struct cvmx_ciu2_en_iox_int_rml_s cn68xx;
903 struct cvmx_ciu2_en_iox_int_rml_cn68xxp1 {
904#ifdef __BIG_ENDIAN_BITFIELD
905 uint64_t reserved_56_63:8;
906 uint64_t trace:4;
907 uint64_t reserved_49_51:3;
908 uint64_t l2c:1;
909 uint64_t reserved_41_47:7;
910 uint64_t dfa:1;
911 uint64_t reserved_34_39:6;
912 uint64_t dpi:1;
913 uint64_t sli:1;
914 uint64_t reserved_31_31:1;
915 uint64_t key:1;
916 uint64_t rad:1;
917 uint64_t tim:1;
918 uint64_t reserved_25_27:3;
919 uint64_t zip:1;
920 uint64_t reserved_17_23:7;
921 uint64_t sso:1;
922 uint64_t reserved_8_15:8;
923 uint64_t pko:1;
924 uint64_t pip:1;
925 uint64_t ipd:1;
926 uint64_t fpa:1;
927 uint64_t reserved_1_3:3;
928 uint64_t iob:1;
929#else
930 uint64_t iob:1;
931 uint64_t reserved_1_3:3;
932 uint64_t fpa:1;
933 uint64_t ipd:1;
934 uint64_t pip:1;
935 uint64_t pko:1;
936 uint64_t reserved_8_15:8;
937 uint64_t sso:1;
938 uint64_t reserved_17_23:7;
939 uint64_t zip:1;
940 uint64_t reserved_25_27:3;
941 uint64_t tim:1;
942 uint64_t rad:1;
943 uint64_t key:1;
944 uint64_t reserved_31_31:1;
945 uint64_t sli:1;
946 uint64_t dpi:1;
947 uint64_t reserved_34_39:6;
948 uint64_t dfa:1;
949 uint64_t reserved_41_47:7;
950 uint64_t l2c:1;
951 uint64_t reserved_49_51:3;
952 uint64_t trace:4;
953 uint64_t reserved_56_63:8;
954#endif
955 } cn68xxp1;
956};
957
958union cvmx_ciu2_en_iox_int_rml_w1c {
959 uint64_t u64;
960 struct cvmx_ciu2_en_iox_int_rml_w1c_s {
961#ifdef __BIG_ENDIAN_BITFIELD
962 uint64_t reserved_56_63:8;
963 uint64_t trace:4;
964 uint64_t reserved_49_51:3;
965 uint64_t l2c:1;
966 uint64_t reserved_41_47:7;
967 uint64_t dfa:1;
968 uint64_t reserved_37_39:3;
969 uint64_t dpi_dma:1;
970 uint64_t reserved_34_35:2;
971 uint64_t dpi:1;
972 uint64_t sli:1;
973 uint64_t reserved_31_31:1;
974 uint64_t key:1;
975 uint64_t rad:1;
976 uint64_t tim:1;
977 uint64_t reserved_25_27:3;
978 uint64_t zip:1;
979 uint64_t reserved_17_23:7;
980 uint64_t sso:1;
981 uint64_t reserved_8_15:8;
982 uint64_t pko:1;
983 uint64_t pip:1;
984 uint64_t ipd:1;
985 uint64_t fpa:1;
986 uint64_t reserved_1_3:3;
987 uint64_t iob:1;
988#else
989 uint64_t iob:1;
990 uint64_t reserved_1_3:3;
991 uint64_t fpa:1;
992 uint64_t ipd:1;
993 uint64_t pip:1;
994 uint64_t pko:1;
995 uint64_t reserved_8_15:8;
996 uint64_t sso:1;
997 uint64_t reserved_17_23:7;
998 uint64_t zip:1;
999 uint64_t reserved_25_27:3;
1000 uint64_t tim:1;
1001 uint64_t rad:1;
1002 uint64_t key:1;
1003 uint64_t reserved_31_31:1;
1004 uint64_t sli:1;
1005 uint64_t dpi:1;
1006 uint64_t reserved_34_35:2;
1007 uint64_t dpi_dma:1;
1008 uint64_t reserved_37_39:3;
1009 uint64_t dfa:1;
1010 uint64_t reserved_41_47:7;
1011 uint64_t l2c:1;
1012 uint64_t reserved_49_51:3;
1013 uint64_t trace:4;
1014 uint64_t reserved_56_63:8;
1015#endif
1016 } s;
1017 struct cvmx_ciu2_en_iox_int_rml_w1c_s cn68xx;
1018 struct cvmx_ciu2_en_iox_int_rml_w1c_cn68xxp1 {
1019#ifdef __BIG_ENDIAN_BITFIELD
1020 uint64_t reserved_56_63:8;
1021 uint64_t trace:4;
1022 uint64_t reserved_49_51:3;
1023 uint64_t l2c:1;
1024 uint64_t reserved_41_47:7;
1025 uint64_t dfa:1;
1026 uint64_t reserved_34_39:6;
1027 uint64_t dpi:1;
1028 uint64_t sli:1;
1029 uint64_t reserved_31_31:1;
1030 uint64_t key:1;
1031 uint64_t rad:1;
1032 uint64_t tim:1;
1033 uint64_t reserved_25_27:3;
1034 uint64_t zip:1;
1035 uint64_t reserved_17_23:7;
1036 uint64_t sso:1;
1037 uint64_t reserved_8_15:8;
1038 uint64_t pko:1;
1039 uint64_t pip:1;
1040 uint64_t ipd:1;
1041 uint64_t fpa:1;
1042 uint64_t reserved_1_3:3;
1043 uint64_t iob:1;
1044#else
1045 uint64_t iob:1;
1046 uint64_t reserved_1_3:3;
1047 uint64_t fpa:1;
1048 uint64_t ipd:1;
1049 uint64_t pip:1;
1050 uint64_t pko:1;
1051 uint64_t reserved_8_15:8;
1052 uint64_t sso:1;
1053 uint64_t reserved_17_23:7;
1054 uint64_t zip:1;
1055 uint64_t reserved_25_27:3;
1056 uint64_t tim:1;
1057 uint64_t rad:1;
1058 uint64_t key:1;
1059 uint64_t reserved_31_31:1;
1060 uint64_t sli:1;
1061 uint64_t dpi:1;
1062 uint64_t reserved_34_39:6;
1063 uint64_t dfa:1;
1064 uint64_t reserved_41_47:7;
1065 uint64_t l2c:1;
1066 uint64_t reserved_49_51:3;
1067 uint64_t trace:4;
1068 uint64_t reserved_56_63:8;
1069#endif
1070 } cn68xxp1;
1071};
1072
1073union cvmx_ciu2_en_iox_int_rml_w1s {
1074 uint64_t u64;
1075 struct cvmx_ciu2_en_iox_int_rml_w1s_s {
1076#ifdef __BIG_ENDIAN_BITFIELD
1077 uint64_t reserved_56_63:8;
1078 uint64_t trace:4;
1079 uint64_t reserved_49_51:3;
1080 uint64_t l2c:1;
1081 uint64_t reserved_41_47:7;
1082 uint64_t dfa:1;
1083 uint64_t reserved_37_39:3;
1084 uint64_t dpi_dma:1;
1085 uint64_t reserved_34_35:2;
1086 uint64_t dpi:1;
1087 uint64_t sli:1;
1088 uint64_t reserved_31_31:1;
1089 uint64_t key:1;
1090 uint64_t rad:1;
1091 uint64_t tim:1;
1092 uint64_t reserved_25_27:3;
1093 uint64_t zip:1;
1094 uint64_t reserved_17_23:7;
1095 uint64_t sso:1;
1096 uint64_t reserved_8_15:8;
1097 uint64_t pko:1;
1098 uint64_t pip:1;
1099 uint64_t ipd:1;
1100 uint64_t fpa:1;
1101 uint64_t reserved_1_3:3;
1102 uint64_t iob:1;
1103#else
1104 uint64_t iob:1;
1105 uint64_t reserved_1_3:3;
1106 uint64_t fpa:1;
1107 uint64_t ipd:1;
1108 uint64_t pip:1;
1109 uint64_t pko:1;
1110 uint64_t reserved_8_15:8;
1111 uint64_t sso:1;
1112 uint64_t reserved_17_23:7;
1113 uint64_t zip:1;
1114 uint64_t reserved_25_27:3;
1115 uint64_t tim:1;
1116 uint64_t rad:1;
1117 uint64_t key:1;
1118 uint64_t reserved_31_31:1;
1119 uint64_t sli:1;
1120 uint64_t dpi:1;
1121 uint64_t reserved_34_35:2;
1122 uint64_t dpi_dma:1;
1123 uint64_t reserved_37_39:3;
1124 uint64_t dfa:1;
1125 uint64_t reserved_41_47:7;
1126 uint64_t l2c:1;
1127 uint64_t reserved_49_51:3;
1128 uint64_t trace:4;
1129 uint64_t reserved_56_63:8;
1130#endif
1131 } s;
1132 struct cvmx_ciu2_en_iox_int_rml_w1s_s cn68xx;
1133 struct cvmx_ciu2_en_iox_int_rml_w1s_cn68xxp1 {
1134#ifdef __BIG_ENDIAN_BITFIELD
1135 uint64_t reserved_56_63:8;
1136 uint64_t trace:4;
1137 uint64_t reserved_49_51:3;
1138 uint64_t l2c:1;
1139 uint64_t reserved_41_47:7;
1140 uint64_t dfa:1;
1141 uint64_t reserved_34_39:6;
1142 uint64_t dpi:1;
1143 uint64_t sli:1;
1144 uint64_t reserved_31_31:1;
1145 uint64_t key:1;
1146 uint64_t rad:1;
1147 uint64_t tim:1;
1148 uint64_t reserved_25_27:3;
1149 uint64_t zip:1;
1150 uint64_t reserved_17_23:7;
1151 uint64_t sso:1;
1152 uint64_t reserved_8_15:8;
1153 uint64_t pko:1;
1154 uint64_t pip:1;
1155 uint64_t ipd:1;
1156 uint64_t fpa:1;
1157 uint64_t reserved_1_3:3;
1158 uint64_t iob:1;
1159#else
1160 uint64_t iob:1;
1161 uint64_t reserved_1_3:3;
1162 uint64_t fpa:1;
1163 uint64_t ipd:1;
1164 uint64_t pip:1;
1165 uint64_t pko:1;
1166 uint64_t reserved_8_15:8;
1167 uint64_t sso:1;
1168 uint64_t reserved_17_23:7;
1169 uint64_t zip:1;
1170 uint64_t reserved_25_27:3;
1171 uint64_t tim:1;
1172 uint64_t rad:1;
1173 uint64_t key:1;
1174 uint64_t reserved_31_31:1;
1175 uint64_t sli:1;
1176 uint64_t dpi:1;
1177 uint64_t reserved_34_39:6;
1178 uint64_t dfa:1;
1179 uint64_t reserved_41_47:7;
1180 uint64_t l2c:1;
1181 uint64_t reserved_49_51:3;
1182 uint64_t trace:4;
1183 uint64_t reserved_56_63:8;
1184#endif
1185 } cn68xxp1;
1186};
1187
1188union cvmx_ciu2_en_iox_int_wdog {
1189 uint64_t u64;
1190 struct cvmx_ciu2_en_iox_int_wdog_s {
1191#ifdef __BIG_ENDIAN_BITFIELD
1192 uint64_t reserved_32_63:32;
1193 uint64_t wdog:32;
1194#else
1195 uint64_t wdog:32;
1196 uint64_t reserved_32_63:32;
1197#endif
1198 } s;
1199 struct cvmx_ciu2_en_iox_int_wdog_s cn68xx;
1200 struct cvmx_ciu2_en_iox_int_wdog_s cn68xxp1;
1201};
1202
1203union cvmx_ciu2_en_iox_int_wdog_w1c {
1204 uint64_t u64;
1205 struct cvmx_ciu2_en_iox_int_wdog_w1c_s {
1206#ifdef __BIG_ENDIAN_BITFIELD
1207 uint64_t reserved_32_63:32;
1208 uint64_t wdog:32;
1209#else
1210 uint64_t wdog:32;
1211 uint64_t reserved_32_63:32;
1212#endif
1213 } s;
1214 struct cvmx_ciu2_en_iox_int_wdog_w1c_s cn68xx;
1215 struct cvmx_ciu2_en_iox_int_wdog_w1c_s cn68xxp1;
1216};
1217
1218union cvmx_ciu2_en_iox_int_wdog_w1s {
1219 uint64_t u64;
1220 struct cvmx_ciu2_en_iox_int_wdog_w1s_s {
1221#ifdef __BIG_ENDIAN_BITFIELD
1222 uint64_t reserved_32_63:32;
1223 uint64_t wdog:32;
1224#else
1225 uint64_t wdog:32;
1226 uint64_t reserved_32_63:32;
1227#endif
1228 } s;
1229 struct cvmx_ciu2_en_iox_int_wdog_w1s_s cn68xx;
1230 struct cvmx_ciu2_en_iox_int_wdog_w1s_s cn68xxp1;
1231};
1232
1233union cvmx_ciu2_en_iox_int_wrkq {
1234 uint64_t u64;
1235 struct cvmx_ciu2_en_iox_int_wrkq_s {
1236#ifdef __BIG_ENDIAN_BITFIELD
1237 uint64_t workq:64;
1238#else
1239 uint64_t workq:64;
1240#endif
1241 } s;
1242 struct cvmx_ciu2_en_iox_int_wrkq_s cn68xx;
1243 struct cvmx_ciu2_en_iox_int_wrkq_s cn68xxp1;
1244};
1245
1246union cvmx_ciu2_en_iox_int_wrkq_w1c {
1247 uint64_t u64;
1248 struct cvmx_ciu2_en_iox_int_wrkq_w1c_s {
1249#ifdef __BIG_ENDIAN_BITFIELD
1250 uint64_t workq:64;
1251#else
1252 uint64_t workq:64;
1253#endif
1254 } s;
1255 struct cvmx_ciu2_en_iox_int_wrkq_w1c_s cn68xx;
1256 struct cvmx_ciu2_en_iox_int_wrkq_w1c_s cn68xxp1;
1257};
1258
1259union cvmx_ciu2_en_iox_int_wrkq_w1s {
1260 uint64_t u64;
1261 struct cvmx_ciu2_en_iox_int_wrkq_w1s_s {
1262#ifdef __BIG_ENDIAN_BITFIELD
1263 uint64_t workq:64;
1264#else
1265 uint64_t workq:64;
1266#endif
1267 } s;
1268 struct cvmx_ciu2_en_iox_int_wrkq_w1s_s cn68xx;
1269 struct cvmx_ciu2_en_iox_int_wrkq_w1s_s cn68xxp1;
1270};
1271
1272union cvmx_ciu2_en_ppx_ip2_gpio {
1273 uint64_t u64;
1274 struct cvmx_ciu2_en_ppx_ip2_gpio_s {
1275#ifdef __BIG_ENDIAN_BITFIELD
1276 uint64_t reserved_16_63:48;
1277 uint64_t gpio:16;
1278#else
1279 uint64_t gpio:16;
1280 uint64_t reserved_16_63:48;
1281#endif
1282 } s;
1283 struct cvmx_ciu2_en_ppx_ip2_gpio_s cn68xx;
1284 struct cvmx_ciu2_en_ppx_ip2_gpio_s cn68xxp1;
1285};
1286
1287union cvmx_ciu2_en_ppx_ip2_gpio_w1c {
1288 uint64_t u64;
1289 struct cvmx_ciu2_en_ppx_ip2_gpio_w1c_s {
1290#ifdef __BIG_ENDIAN_BITFIELD
1291 uint64_t reserved_16_63:48;
1292 uint64_t gpio:16;
1293#else
1294 uint64_t gpio:16;
1295 uint64_t reserved_16_63:48;
1296#endif
1297 } s;
1298 struct cvmx_ciu2_en_ppx_ip2_gpio_w1c_s cn68xx;
1299 struct cvmx_ciu2_en_ppx_ip2_gpio_w1c_s cn68xxp1;
1300};
1301
1302union cvmx_ciu2_en_ppx_ip2_gpio_w1s {
1303 uint64_t u64;
1304 struct cvmx_ciu2_en_ppx_ip2_gpio_w1s_s {
1305#ifdef __BIG_ENDIAN_BITFIELD
1306 uint64_t reserved_16_63:48;
1307 uint64_t gpio:16;
1308#else
1309 uint64_t gpio:16;
1310 uint64_t reserved_16_63:48;
1311#endif
1312 } s;
1313 struct cvmx_ciu2_en_ppx_ip2_gpio_w1s_s cn68xx;
1314 struct cvmx_ciu2_en_ppx_ip2_gpio_w1s_s cn68xxp1;
1315};
1316
1317union cvmx_ciu2_en_ppx_ip2_io {
1318 uint64_t u64;
1319 struct cvmx_ciu2_en_ppx_ip2_io_s {
1320#ifdef __BIG_ENDIAN_BITFIELD
1321 uint64_t reserved_34_63:30;
1322 uint64_t pem:2;
1323 uint64_t reserved_18_31:14;
1324 uint64_t pci_inta:2;
1325 uint64_t reserved_13_15:3;
1326 uint64_t msired:1;
1327 uint64_t pci_msi:4;
1328 uint64_t reserved_4_7:4;
1329 uint64_t pci_intr:4;
1330#else
1331 uint64_t pci_intr:4;
1332 uint64_t reserved_4_7:4;
1333 uint64_t pci_msi:4;
1334 uint64_t msired:1;
1335 uint64_t reserved_13_15:3;
1336 uint64_t pci_inta:2;
1337 uint64_t reserved_18_31:14;
1338 uint64_t pem:2;
1339 uint64_t reserved_34_63:30;
1340#endif
1341 } s;
1342 struct cvmx_ciu2_en_ppx_ip2_io_s cn68xx;
1343 struct cvmx_ciu2_en_ppx_ip2_io_s cn68xxp1;
1344};
1345
1346union cvmx_ciu2_en_ppx_ip2_io_w1c {
1347 uint64_t u64;
1348 struct cvmx_ciu2_en_ppx_ip2_io_w1c_s {
1349#ifdef __BIG_ENDIAN_BITFIELD
1350 uint64_t reserved_34_63:30;
1351 uint64_t pem:2;
1352 uint64_t reserved_18_31:14;
1353 uint64_t pci_inta:2;
1354 uint64_t reserved_13_15:3;
1355 uint64_t msired:1;
1356 uint64_t pci_msi:4;
1357 uint64_t reserved_4_7:4;
1358 uint64_t pci_intr:4;
1359#else
1360 uint64_t pci_intr:4;
1361 uint64_t reserved_4_7:4;
1362 uint64_t pci_msi:4;
1363 uint64_t msired:1;
1364 uint64_t reserved_13_15:3;
1365 uint64_t pci_inta:2;
1366 uint64_t reserved_18_31:14;
1367 uint64_t pem:2;
1368 uint64_t reserved_34_63:30;
1369#endif
1370 } s;
1371 struct cvmx_ciu2_en_ppx_ip2_io_w1c_s cn68xx;
1372 struct cvmx_ciu2_en_ppx_ip2_io_w1c_s cn68xxp1;
1373};
1374
1375union cvmx_ciu2_en_ppx_ip2_io_w1s {
1376 uint64_t u64;
1377 struct cvmx_ciu2_en_ppx_ip2_io_w1s_s {
1378#ifdef __BIG_ENDIAN_BITFIELD
1379 uint64_t reserved_34_63:30;
1380 uint64_t pem:2;
1381 uint64_t reserved_18_31:14;
1382 uint64_t pci_inta:2;
1383 uint64_t reserved_13_15:3;
1384 uint64_t msired:1;
1385 uint64_t pci_msi:4;
1386 uint64_t reserved_4_7:4;
1387 uint64_t pci_intr:4;
1388#else
1389 uint64_t pci_intr:4;
1390 uint64_t reserved_4_7:4;
1391 uint64_t pci_msi:4;
1392 uint64_t msired:1;
1393 uint64_t reserved_13_15:3;
1394 uint64_t pci_inta:2;
1395 uint64_t reserved_18_31:14;
1396 uint64_t pem:2;
1397 uint64_t reserved_34_63:30;
1398#endif
1399 } s;
1400 struct cvmx_ciu2_en_ppx_ip2_io_w1s_s cn68xx;
1401 struct cvmx_ciu2_en_ppx_ip2_io_w1s_s cn68xxp1;
1402};
1403
1404union cvmx_ciu2_en_ppx_ip2_mbox {
1405 uint64_t u64;
1406 struct cvmx_ciu2_en_ppx_ip2_mbox_s {
1407#ifdef __BIG_ENDIAN_BITFIELD
1408 uint64_t reserved_4_63:60;
1409 uint64_t mbox:4;
1410#else
1411 uint64_t mbox:4;
1412 uint64_t reserved_4_63:60;
1413#endif
1414 } s;
1415 struct cvmx_ciu2_en_ppx_ip2_mbox_s cn68xx;
1416 struct cvmx_ciu2_en_ppx_ip2_mbox_s cn68xxp1;
1417};
1418
1419union cvmx_ciu2_en_ppx_ip2_mbox_w1c {
1420 uint64_t u64;
1421 struct cvmx_ciu2_en_ppx_ip2_mbox_w1c_s {
1422#ifdef __BIG_ENDIAN_BITFIELD
1423 uint64_t reserved_4_63:60;
1424 uint64_t mbox:4;
1425#else
1426 uint64_t mbox:4;
1427 uint64_t reserved_4_63:60;
1428#endif
1429 } s;
1430 struct cvmx_ciu2_en_ppx_ip2_mbox_w1c_s cn68xx;
1431 struct cvmx_ciu2_en_ppx_ip2_mbox_w1c_s cn68xxp1;
1432};
1433
1434union cvmx_ciu2_en_ppx_ip2_mbox_w1s {
1435 uint64_t u64;
1436 struct cvmx_ciu2_en_ppx_ip2_mbox_w1s_s {
1437#ifdef __BIG_ENDIAN_BITFIELD
1438 uint64_t reserved_4_63:60;
1439 uint64_t mbox:4;
1440#else
1441 uint64_t mbox:4;
1442 uint64_t reserved_4_63:60;
1443#endif
1444 } s;
1445 struct cvmx_ciu2_en_ppx_ip2_mbox_w1s_s cn68xx;
1446 struct cvmx_ciu2_en_ppx_ip2_mbox_w1s_s cn68xxp1;
1447};
1448
1449union cvmx_ciu2_en_ppx_ip2_mem {
1450 uint64_t u64;
1451 struct cvmx_ciu2_en_ppx_ip2_mem_s {
1452#ifdef __BIG_ENDIAN_BITFIELD
1453 uint64_t reserved_4_63:60;
1454 uint64_t lmc:4;
1455#else
1456 uint64_t lmc:4;
1457 uint64_t reserved_4_63:60;
1458#endif
1459 } s;
1460 struct cvmx_ciu2_en_ppx_ip2_mem_s cn68xx;
1461 struct cvmx_ciu2_en_ppx_ip2_mem_s cn68xxp1;
1462};
1463
1464union cvmx_ciu2_en_ppx_ip2_mem_w1c {
1465 uint64_t u64;
1466 struct cvmx_ciu2_en_ppx_ip2_mem_w1c_s {
1467#ifdef __BIG_ENDIAN_BITFIELD
1468 uint64_t reserved_4_63:60;
1469 uint64_t lmc:4;
1470#else
1471 uint64_t lmc:4;
1472 uint64_t reserved_4_63:60;
1473#endif
1474 } s;
1475 struct cvmx_ciu2_en_ppx_ip2_mem_w1c_s cn68xx;
1476 struct cvmx_ciu2_en_ppx_ip2_mem_w1c_s cn68xxp1;
1477};
1478
1479union cvmx_ciu2_en_ppx_ip2_mem_w1s {
1480 uint64_t u64;
1481 struct cvmx_ciu2_en_ppx_ip2_mem_w1s_s {
1482#ifdef __BIG_ENDIAN_BITFIELD
1483 uint64_t reserved_4_63:60;
1484 uint64_t lmc:4;
1485#else
1486 uint64_t lmc:4;
1487 uint64_t reserved_4_63:60;
1488#endif
1489 } s;
1490 struct cvmx_ciu2_en_ppx_ip2_mem_w1s_s cn68xx;
1491 struct cvmx_ciu2_en_ppx_ip2_mem_w1s_s cn68xxp1;
1492};
1493
1494union cvmx_ciu2_en_ppx_ip2_mio {
1495 uint64_t u64;
1496 struct cvmx_ciu2_en_ppx_ip2_mio_s {
1497#ifdef __BIG_ENDIAN_BITFIELD
1498 uint64_t rst:1;
1499 uint64_t reserved_49_62:14;
1500 uint64_t ptp:1;
1501 uint64_t reserved_45_47:3;
1502 uint64_t usb_hci:1;
1503 uint64_t reserved_41_43:3;
1504 uint64_t usb_uctl:1;
1505 uint64_t reserved_38_39:2;
1506 uint64_t uart:2;
1507 uint64_t reserved_34_35:2;
1508 uint64_t twsi:2;
1509 uint64_t reserved_19_31:13;
1510 uint64_t bootdma:1;
1511 uint64_t mio:1;
1512 uint64_t nand:1;
1513 uint64_t reserved_12_15:4;
1514 uint64_t timer:4;
1515 uint64_t reserved_3_7:5;
1516 uint64_t ipd_drp:1;
1517 uint64_t ssoiq:1;
1518 uint64_t ipdppthr:1;
1519#else
1520 uint64_t ipdppthr:1;
1521 uint64_t ssoiq:1;
1522 uint64_t ipd_drp:1;
1523 uint64_t reserved_3_7:5;
1524 uint64_t timer:4;
1525 uint64_t reserved_12_15:4;
1526 uint64_t nand:1;
1527 uint64_t mio:1;
1528 uint64_t bootdma:1;
1529 uint64_t reserved_19_31:13;
1530 uint64_t twsi:2;
1531 uint64_t reserved_34_35:2;
1532 uint64_t uart:2;
1533 uint64_t reserved_38_39:2;
1534 uint64_t usb_uctl:1;
1535 uint64_t reserved_41_43:3;
1536 uint64_t usb_hci:1;
1537 uint64_t reserved_45_47:3;
1538 uint64_t ptp:1;
1539 uint64_t reserved_49_62:14;
1540 uint64_t rst:1;
1541#endif
1542 } s;
1543 struct cvmx_ciu2_en_ppx_ip2_mio_s cn68xx;
1544 struct cvmx_ciu2_en_ppx_ip2_mio_s cn68xxp1;
1545};
1546
1547union cvmx_ciu2_en_ppx_ip2_mio_w1c {
1548 uint64_t u64;
1549 struct cvmx_ciu2_en_ppx_ip2_mio_w1c_s {
1550#ifdef __BIG_ENDIAN_BITFIELD
1551 uint64_t rst:1;
1552 uint64_t reserved_49_62:14;
1553 uint64_t ptp:1;
1554 uint64_t reserved_45_47:3;
1555 uint64_t usb_hci:1;
1556 uint64_t reserved_41_43:3;
1557 uint64_t usb_uctl:1;
1558 uint64_t reserved_38_39:2;
1559 uint64_t uart:2;
1560 uint64_t reserved_34_35:2;
1561 uint64_t twsi:2;
1562 uint64_t reserved_19_31:13;
1563 uint64_t bootdma:1;
1564 uint64_t mio:1;
1565 uint64_t nand:1;
1566 uint64_t reserved_12_15:4;
1567 uint64_t timer:4;
1568 uint64_t reserved_3_7:5;
1569 uint64_t ipd_drp:1;
1570 uint64_t ssoiq:1;
1571 uint64_t ipdppthr:1;
1572#else
1573 uint64_t ipdppthr:1;
1574 uint64_t ssoiq:1;
1575 uint64_t ipd_drp:1;
1576 uint64_t reserved_3_7:5;
1577 uint64_t timer:4;
1578 uint64_t reserved_12_15:4;
1579 uint64_t nand:1;
1580 uint64_t mio:1;
1581 uint64_t bootdma:1;
1582 uint64_t reserved_19_31:13;
1583 uint64_t twsi:2;
1584 uint64_t reserved_34_35:2;
1585 uint64_t uart:2;
1586 uint64_t reserved_38_39:2;
1587 uint64_t usb_uctl:1;
1588 uint64_t reserved_41_43:3;
1589 uint64_t usb_hci:1;
1590 uint64_t reserved_45_47:3;
1591 uint64_t ptp:1;
1592 uint64_t reserved_49_62:14;
1593 uint64_t rst:1;
1594#endif
1595 } s;
1596 struct cvmx_ciu2_en_ppx_ip2_mio_w1c_s cn68xx;
1597 struct cvmx_ciu2_en_ppx_ip2_mio_w1c_s cn68xxp1;
1598};
1599
1600union cvmx_ciu2_en_ppx_ip2_mio_w1s {
1601 uint64_t u64;
1602 struct cvmx_ciu2_en_ppx_ip2_mio_w1s_s {
1603#ifdef __BIG_ENDIAN_BITFIELD
1604 uint64_t rst:1;
1605 uint64_t reserved_49_62:14;
1606 uint64_t ptp:1;
1607 uint64_t reserved_45_47:3;
1608 uint64_t usb_hci:1;
1609 uint64_t reserved_41_43:3;
1610 uint64_t usb_uctl:1;
1611 uint64_t reserved_38_39:2;
1612 uint64_t uart:2;
1613 uint64_t reserved_34_35:2;
1614 uint64_t twsi:2;
1615 uint64_t reserved_19_31:13;
1616 uint64_t bootdma:1;
1617 uint64_t mio:1;
1618 uint64_t nand:1;
1619 uint64_t reserved_12_15:4;
1620 uint64_t timer:4;
1621 uint64_t reserved_3_7:5;
1622 uint64_t ipd_drp:1;
1623 uint64_t ssoiq:1;
1624 uint64_t ipdppthr:1;
1625#else
1626 uint64_t ipdppthr:1;
1627 uint64_t ssoiq:1;
1628 uint64_t ipd_drp:1;
1629 uint64_t reserved_3_7:5;
1630 uint64_t timer:4;
1631 uint64_t reserved_12_15:4;
1632 uint64_t nand:1;
1633 uint64_t mio:1;
1634 uint64_t bootdma:1;
1635 uint64_t reserved_19_31:13;
1636 uint64_t twsi:2;
1637 uint64_t reserved_34_35:2;
1638 uint64_t uart:2;
1639 uint64_t reserved_38_39:2;
1640 uint64_t usb_uctl:1;
1641 uint64_t reserved_41_43:3;
1642 uint64_t usb_hci:1;
1643 uint64_t reserved_45_47:3;
1644 uint64_t ptp:1;
1645 uint64_t reserved_49_62:14;
1646 uint64_t rst:1;
1647#endif
1648 } s;
1649 struct cvmx_ciu2_en_ppx_ip2_mio_w1s_s cn68xx;
1650 struct cvmx_ciu2_en_ppx_ip2_mio_w1s_s cn68xxp1;
1651};
1652
1653union cvmx_ciu2_en_ppx_ip2_pkt {
1654 uint64_t u64;
1655 struct cvmx_ciu2_en_ppx_ip2_pkt_s {
1656#ifdef __BIG_ENDIAN_BITFIELD
1657 uint64_t reserved_54_63:10;
1658 uint64_t ilk_drp:2;
1659 uint64_t reserved_49_51:3;
1660 uint64_t ilk:1;
1661 uint64_t reserved_41_47:7;
1662 uint64_t mii:1;
1663 uint64_t reserved_33_39:7;
1664 uint64_t agl:1;
1665 uint64_t reserved_13_31:19;
1666 uint64_t gmx_drp:5;
1667 uint64_t reserved_5_7:3;
1668 uint64_t agx:5;
1669#else
1670 uint64_t agx:5;
1671 uint64_t reserved_5_7:3;
1672 uint64_t gmx_drp:5;
1673 uint64_t reserved_13_31:19;
1674 uint64_t agl:1;
1675 uint64_t reserved_33_39:7;
1676 uint64_t mii:1;
1677 uint64_t reserved_41_47:7;
1678 uint64_t ilk:1;
1679 uint64_t reserved_49_51:3;
1680 uint64_t ilk_drp:2;
1681 uint64_t reserved_54_63:10;
1682#endif
1683 } s;
1684 struct cvmx_ciu2_en_ppx_ip2_pkt_s cn68xx;
1685 struct cvmx_ciu2_en_ppx_ip2_pkt_cn68xxp1 {
1686#ifdef __BIG_ENDIAN_BITFIELD
1687 uint64_t reserved_49_63:15;
1688 uint64_t ilk:1;
1689 uint64_t reserved_41_47:7;
1690 uint64_t mii:1;
1691 uint64_t reserved_33_39:7;
1692 uint64_t agl:1;
1693 uint64_t reserved_13_31:19;
1694 uint64_t gmx_drp:5;
1695 uint64_t reserved_5_7:3;
1696 uint64_t agx:5;
1697#else
1698 uint64_t agx:5;
1699 uint64_t reserved_5_7:3;
1700 uint64_t gmx_drp:5;
1701 uint64_t reserved_13_31:19;
1702 uint64_t agl:1;
1703 uint64_t reserved_33_39:7;
1704 uint64_t mii:1;
1705 uint64_t reserved_41_47:7;
1706 uint64_t ilk:1;
1707 uint64_t reserved_49_63:15;
1708#endif
1709 } cn68xxp1;
1710};
1711
1712union cvmx_ciu2_en_ppx_ip2_pkt_w1c {
1713 uint64_t u64;
1714 struct cvmx_ciu2_en_ppx_ip2_pkt_w1c_s {
1715#ifdef __BIG_ENDIAN_BITFIELD
1716 uint64_t reserved_54_63:10;
1717 uint64_t ilk_drp:2;
1718 uint64_t reserved_49_51:3;
1719 uint64_t ilk:1;
1720 uint64_t reserved_41_47:7;
1721 uint64_t mii:1;
1722 uint64_t reserved_33_39:7;
1723 uint64_t agl:1;
1724 uint64_t reserved_13_31:19;
1725 uint64_t gmx_drp:5;
1726 uint64_t reserved_5_7:3;
1727 uint64_t agx:5;
1728#else
1729 uint64_t agx:5;
1730 uint64_t reserved_5_7:3;
1731 uint64_t gmx_drp:5;
1732 uint64_t reserved_13_31:19;
1733 uint64_t agl:1;
1734 uint64_t reserved_33_39:7;
1735 uint64_t mii:1;
1736 uint64_t reserved_41_47:7;
1737 uint64_t ilk:1;
1738 uint64_t reserved_49_51:3;
1739 uint64_t ilk_drp:2;
1740 uint64_t reserved_54_63:10;
1741#endif
1742 } s;
1743 struct cvmx_ciu2_en_ppx_ip2_pkt_w1c_s cn68xx;
1744 struct cvmx_ciu2_en_ppx_ip2_pkt_w1c_cn68xxp1 {
1745#ifdef __BIG_ENDIAN_BITFIELD
1746 uint64_t reserved_49_63:15;
1747 uint64_t ilk:1;
1748 uint64_t reserved_41_47:7;
1749 uint64_t mii:1;
1750 uint64_t reserved_33_39:7;
1751 uint64_t agl:1;
1752 uint64_t reserved_13_31:19;
1753 uint64_t gmx_drp:5;
1754 uint64_t reserved_5_7:3;
1755 uint64_t agx:5;
1756#else
1757 uint64_t agx:5;
1758 uint64_t reserved_5_7:3;
1759 uint64_t gmx_drp:5;
1760 uint64_t reserved_13_31:19;
1761 uint64_t agl:1;
1762 uint64_t reserved_33_39:7;
1763 uint64_t mii:1;
1764 uint64_t reserved_41_47:7;
1765 uint64_t ilk:1;
1766 uint64_t reserved_49_63:15;
1767#endif
1768 } cn68xxp1;
1769};
1770
1771union cvmx_ciu2_en_ppx_ip2_pkt_w1s {
1772 uint64_t u64;
1773 struct cvmx_ciu2_en_ppx_ip2_pkt_w1s_s {
1774#ifdef __BIG_ENDIAN_BITFIELD
1775 uint64_t reserved_54_63:10;
1776 uint64_t ilk_drp:2;
1777 uint64_t reserved_49_51:3;
1778 uint64_t ilk:1;
1779 uint64_t reserved_41_47:7;
1780 uint64_t mii:1;
1781 uint64_t reserved_33_39:7;
1782 uint64_t agl:1;
1783 uint64_t reserved_13_31:19;
1784 uint64_t gmx_drp:5;
1785 uint64_t reserved_5_7:3;
1786 uint64_t agx:5;
1787#else
1788 uint64_t agx:5;
1789 uint64_t reserved_5_7:3;
1790 uint64_t gmx_drp:5;
1791 uint64_t reserved_13_31:19;
1792 uint64_t agl:1;
1793 uint64_t reserved_33_39:7;
1794 uint64_t mii:1;
1795 uint64_t reserved_41_47:7;
1796 uint64_t ilk:1;
1797 uint64_t reserved_49_51:3;
1798 uint64_t ilk_drp:2;
1799 uint64_t reserved_54_63:10;
1800#endif
1801 } s;
1802 struct cvmx_ciu2_en_ppx_ip2_pkt_w1s_s cn68xx;
1803 struct cvmx_ciu2_en_ppx_ip2_pkt_w1s_cn68xxp1 {
1804#ifdef __BIG_ENDIAN_BITFIELD
1805 uint64_t reserved_49_63:15;
1806 uint64_t ilk:1;
1807 uint64_t reserved_41_47:7;
1808 uint64_t mii:1;
1809 uint64_t reserved_33_39:7;
1810 uint64_t agl:1;
1811 uint64_t reserved_13_31:19;
1812 uint64_t gmx_drp:5;
1813 uint64_t reserved_5_7:3;
1814 uint64_t agx:5;
1815#else
1816 uint64_t agx:5;
1817 uint64_t reserved_5_7:3;
1818 uint64_t gmx_drp:5;
1819 uint64_t reserved_13_31:19;
1820 uint64_t agl:1;
1821 uint64_t reserved_33_39:7;
1822 uint64_t mii:1;
1823 uint64_t reserved_41_47:7;
1824 uint64_t ilk:1;
1825 uint64_t reserved_49_63:15;
1826#endif
1827 } cn68xxp1;
1828};
1829
1830union cvmx_ciu2_en_ppx_ip2_rml {
1831 uint64_t u64;
1832 struct cvmx_ciu2_en_ppx_ip2_rml_s {
1833#ifdef __BIG_ENDIAN_BITFIELD
1834 uint64_t reserved_56_63:8;
1835 uint64_t trace:4;
1836 uint64_t reserved_49_51:3;
1837 uint64_t l2c:1;
1838 uint64_t reserved_41_47:7;
1839 uint64_t dfa:1;
1840 uint64_t reserved_37_39:3;
1841 uint64_t dpi_dma:1;
1842 uint64_t reserved_34_35:2;
1843 uint64_t dpi:1;
1844 uint64_t sli:1;
1845 uint64_t reserved_31_31:1;
1846 uint64_t key:1;
1847 uint64_t rad:1;
1848 uint64_t tim:1;
1849 uint64_t reserved_25_27:3;
1850 uint64_t zip:1;
1851 uint64_t reserved_17_23:7;
1852 uint64_t sso:1;
1853 uint64_t reserved_8_15:8;
1854 uint64_t pko:1;
1855 uint64_t pip:1;
1856 uint64_t ipd:1;
1857 uint64_t fpa:1;
1858 uint64_t reserved_1_3:3;
1859 uint64_t iob:1;
1860#else
1861 uint64_t iob:1;
1862 uint64_t reserved_1_3:3;
1863 uint64_t fpa:1;
1864 uint64_t ipd:1;
1865 uint64_t pip:1;
1866 uint64_t pko:1;
1867 uint64_t reserved_8_15:8;
1868 uint64_t sso:1;
1869 uint64_t reserved_17_23:7;
1870 uint64_t zip:1;
1871 uint64_t reserved_25_27:3;
1872 uint64_t tim:1;
1873 uint64_t rad:1;
1874 uint64_t key:1;
1875 uint64_t reserved_31_31:1;
1876 uint64_t sli:1;
1877 uint64_t dpi:1;
1878 uint64_t reserved_34_35:2;
1879 uint64_t dpi_dma:1;
1880 uint64_t reserved_37_39:3;
1881 uint64_t dfa:1;
1882 uint64_t reserved_41_47:7;
1883 uint64_t l2c:1;
1884 uint64_t reserved_49_51:3;
1885 uint64_t trace:4;
1886 uint64_t reserved_56_63:8;
1887#endif
1888 } s;
1889 struct cvmx_ciu2_en_ppx_ip2_rml_s cn68xx;
1890 struct cvmx_ciu2_en_ppx_ip2_rml_cn68xxp1 {
1891#ifdef __BIG_ENDIAN_BITFIELD
1892 uint64_t reserved_56_63:8;
1893 uint64_t trace:4;
1894 uint64_t reserved_49_51:3;
1895 uint64_t l2c:1;
1896 uint64_t reserved_41_47:7;
1897 uint64_t dfa:1;
1898 uint64_t reserved_34_39:6;
1899 uint64_t dpi:1;
1900 uint64_t sli:1;
1901 uint64_t reserved_31_31:1;
1902 uint64_t key:1;
1903 uint64_t rad:1;
1904 uint64_t tim:1;
1905 uint64_t reserved_25_27:3;
1906 uint64_t zip:1;
1907 uint64_t reserved_17_23:7;
1908 uint64_t sso:1;
1909 uint64_t reserved_8_15:8;
1910 uint64_t pko:1;
1911 uint64_t pip:1;
1912 uint64_t ipd:1;
1913 uint64_t fpa:1;
1914 uint64_t reserved_1_3:3;
1915 uint64_t iob:1;
1916#else
1917 uint64_t iob:1;
1918 uint64_t reserved_1_3:3;
1919 uint64_t fpa:1;
1920 uint64_t ipd:1;
1921 uint64_t pip:1;
1922 uint64_t pko:1;
1923 uint64_t reserved_8_15:8;
1924 uint64_t sso:1;
1925 uint64_t reserved_17_23:7;
1926 uint64_t zip:1;
1927 uint64_t reserved_25_27:3;
1928 uint64_t tim:1;
1929 uint64_t rad:1;
1930 uint64_t key:1;
1931 uint64_t reserved_31_31:1;
1932 uint64_t sli:1;
1933 uint64_t dpi:1;
1934 uint64_t reserved_34_39:6;
1935 uint64_t dfa:1;
1936 uint64_t reserved_41_47:7;
1937 uint64_t l2c:1;
1938 uint64_t reserved_49_51:3;
1939 uint64_t trace:4;
1940 uint64_t reserved_56_63:8;
1941#endif
1942 } cn68xxp1;
1943};
1944
1945union cvmx_ciu2_en_ppx_ip2_rml_w1c {
1946 uint64_t u64;
1947 struct cvmx_ciu2_en_ppx_ip2_rml_w1c_s {
1948#ifdef __BIG_ENDIAN_BITFIELD
1949 uint64_t reserved_56_63:8;
1950 uint64_t trace:4;
1951 uint64_t reserved_49_51:3;
1952 uint64_t l2c:1;
1953 uint64_t reserved_41_47:7;
1954 uint64_t dfa:1;
1955 uint64_t reserved_37_39:3;
1956 uint64_t dpi_dma:1;
1957 uint64_t reserved_34_35:2;
1958 uint64_t dpi:1;
1959 uint64_t sli:1;
1960 uint64_t reserved_31_31:1;
1961 uint64_t key:1;
1962 uint64_t rad:1;
1963 uint64_t tim:1;
1964 uint64_t reserved_25_27:3;
1965 uint64_t zip:1;
1966 uint64_t reserved_17_23:7;
1967 uint64_t sso:1;
1968 uint64_t reserved_8_15:8;
1969 uint64_t pko:1;
1970 uint64_t pip:1;
1971 uint64_t ipd:1;
1972 uint64_t fpa:1;
1973 uint64_t reserved_1_3:3;
1974 uint64_t iob:1;
1975#else
1976 uint64_t iob:1;
1977 uint64_t reserved_1_3:3;
1978 uint64_t fpa:1;
1979 uint64_t ipd:1;
1980 uint64_t pip:1;
1981 uint64_t pko:1;
1982 uint64_t reserved_8_15:8;
1983 uint64_t sso:1;
1984 uint64_t reserved_17_23:7;
1985 uint64_t zip:1;
1986 uint64_t reserved_25_27:3;
1987 uint64_t tim:1;
1988 uint64_t rad:1;
1989 uint64_t key:1;
1990 uint64_t reserved_31_31:1;
1991 uint64_t sli:1;
1992 uint64_t dpi:1;
1993 uint64_t reserved_34_35:2;
1994 uint64_t dpi_dma:1;
1995 uint64_t reserved_37_39:3;
1996 uint64_t dfa:1;
1997 uint64_t reserved_41_47:7;
1998 uint64_t l2c:1;
1999 uint64_t reserved_49_51:3;
2000 uint64_t trace:4;
2001 uint64_t reserved_56_63:8;
2002#endif
2003 } s;
2004 struct cvmx_ciu2_en_ppx_ip2_rml_w1c_s cn68xx;
2005 struct cvmx_ciu2_en_ppx_ip2_rml_w1c_cn68xxp1 {
2006#ifdef __BIG_ENDIAN_BITFIELD
2007 uint64_t reserved_56_63:8;
2008 uint64_t trace:4;
2009 uint64_t reserved_49_51:3;
2010 uint64_t l2c:1;
2011 uint64_t reserved_41_47:7;
2012 uint64_t dfa:1;
2013 uint64_t reserved_34_39:6;
2014 uint64_t dpi:1;
2015 uint64_t sli:1;
2016 uint64_t reserved_31_31:1;
2017 uint64_t key:1;
2018 uint64_t rad:1;
2019 uint64_t tim:1;
2020 uint64_t reserved_25_27:3;
2021 uint64_t zip:1;
2022 uint64_t reserved_17_23:7;
2023 uint64_t sso:1;
2024 uint64_t reserved_8_15:8;
2025 uint64_t pko:1;
2026 uint64_t pip:1;
2027 uint64_t ipd:1;
2028 uint64_t fpa:1;
2029 uint64_t reserved_1_3:3;
2030 uint64_t iob:1;
2031#else
2032 uint64_t iob:1;
2033 uint64_t reserved_1_3:3;
2034 uint64_t fpa:1;
2035 uint64_t ipd:1;
2036 uint64_t pip:1;
2037 uint64_t pko:1;
2038 uint64_t reserved_8_15:8;
2039 uint64_t sso:1;
2040 uint64_t reserved_17_23:7;
2041 uint64_t zip:1;
2042 uint64_t reserved_25_27:3;
2043 uint64_t tim:1;
2044 uint64_t rad:1;
2045 uint64_t key:1;
2046 uint64_t reserved_31_31:1;
2047 uint64_t sli:1;
2048 uint64_t dpi:1;
2049 uint64_t reserved_34_39:6;
2050 uint64_t dfa:1;
2051 uint64_t reserved_41_47:7;
2052 uint64_t l2c:1;
2053 uint64_t reserved_49_51:3;
2054 uint64_t trace:4;
2055 uint64_t reserved_56_63:8;
2056#endif
2057 } cn68xxp1;
2058};
2059
2060union cvmx_ciu2_en_ppx_ip2_rml_w1s {
2061 uint64_t u64;
2062 struct cvmx_ciu2_en_ppx_ip2_rml_w1s_s {
2063#ifdef __BIG_ENDIAN_BITFIELD
2064 uint64_t reserved_56_63:8;
2065 uint64_t trace:4;
2066 uint64_t reserved_49_51:3;
2067 uint64_t l2c:1;
2068 uint64_t reserved_41_47:7;
2069 uint64_t dfa:1;
2070 uint64_t reserved_37_39:3;
2071 uint64_t dpi_dma:1;
2072 uint64_t reserved_34_35:2;
2073 uint64_t dpi:1;
2074 uint64_t sli:1;
2075 uint64_t reserved_31_31:1;
2076 uint64_t key:1;
2077 uint64_t rad:1;
2078 uint64_t tim:1;
2079 uint64_t reserved_25_27:3;
2080 uint64_t zip:1;
2081 uint64_t reserved_17_23:7;
2082 uint64_t sso:1;
2083 uint64_t reserved_8_15:8;
2084 uint64_t pko:1;
2085 uint64_t pip:1;
2086 uint64_t ipd:1;
2087 uint64_t fpa:1;
2088 uint64_t reserved_1_3:3;
2089 uint64_t iob:1;
2090#else
2091 uint64_t iob:1;
2092 uint64_t reserved_1_3:3;
2093 uint64_t fpa:1;
2094 uint64_t ipd:1;
2095 uint64_t pip:1;
2096 uint64_t pko:1;
2097 uint64_t reserved_8_15:8;
2098 uint64_t sso:1;
2099 uint64_t reserved_17_23:7;
2100 uint64_t zip:1;
2101 uint64_t reserved_25_27:3;
2102 uint64_t tim:1;
2103 uint64_t rad:1;
2104 uint64_t key:1;
2105 uint64_t reserved_31_31:1;
2106 uint64_t sli:1;
2107 uint64_t dpi:1;
2108 uint64_t reserved_34_35:2;
2109 uint64_t dpi_dma:1;
2110 uint64_t reserved_37_39:3;
2111 uint64_t dfa:1;
2112 uint64_t reserved_41_47:7;
2113 uint64_t l2c:1;
2114 uint64_t reserved_49_51:3;
2115 uint64_t trace:4;
2116 uint64_t reserved_56_63:8;
2117#endif
2118 } s;
2119 struct cvmx_ciu2_en_ppx_ip2_rml_w1s_s cn68xx;
2120 struct cvmx_ciu2_en_ppx_ip2_rml_w1s_cn68xxp1 {
2121#ifdef __BIG_ENDIAN_BITFIELD
2122 uint64_t reserved_56_63:8;
2123 uint64_t trace:4;
2124 uint64_t reserved_49_51:3;
2125 uint64_t l2c:1;
2126 uint64_t reserved_41_47:7;
2127 uint64_t dfa:1;
2128 uint64_t reserved_34_39:6;
2129 uint64_t dpi:1;
2130 uint64_t sli:1;
2131 uint64_t reserved_31_31:1;
2132 uint64_t key:1;
2133 uint64_t rad:1;
2134 uint64_t tim:1;
2135 uint64_t reserved_25_27:3;
2136 uint64_t zip:1;
2137 uint64_t reserved_17_23:7;
2138 uint64_t sso:1;
2139 uint64_t reserved_8_15:8;
2140 uint64_t pko:1;
2141 uint64_t pip:1;
2142 uint64_t ipd:1;
2143 uint64_t fpa:1;
2144 uint64_t reserved_1_3:3;
2145 uint64_t iob:1;
2146#else
2147 uint64_t iob:1;
2148 uint64_t reserved_1_3:3;
2149 uint64_t fpa:1;
2150 uint64_t ipd:1;
2151 uint64_t pip:1;
2152 uint64_t pko:1;
2153 uint64_t reserved_8_15:8;
2154 uint64_t sso:1;
2155 uint64_t reserved_17_23:7;
2156 uint64_t zip:1;
2157 uint64_t reserved_25_27:3;
2158 uint64_t tim:1;
2159 uint64_t rad:1;
2160 uint64_t key:1;
2161 uint64_t reserved_31_31:1;
2162 uint64_t sli:1;
2163 uint64_t dpi:1;
2164 uint64_t reserved_34_39:6;
2165 uint64_t dfa:1;
2166 uint64_t reserved_41_47:7;
2167 uint64_t l2c:1;
2168 uint64_t reserved_49_51:3;
2169 uint64_t trace:4;
2170 uint64_t reserved_56_63:8;
2171#endif
2172 } cn68xxp1;
2173};
2174
2175union cvmx_ciu2_en_ppx_ip2_wdog {
2176 uint64_t u64;
2177 struct cvmx_ciu2_en_ppx_ip2_wdog_s {
2178#ifdef __BIG_ENDIAN_BITFIELD
2179 uint64_t reserved_32_63:32;
2180 uint64_t wdog:32;
2181#else
2182 uint64_t wdog:32;
2183 uint64_t reserved_32_63:32;
2184#endif
2185 } s;
2186 struct cvmx_ciu2_en_ppx_ip2_wdog_s cn68xx;
2187 struct cvmx_ciu2_en_ppx_ip2_wdog_s cn68xxp1;
2188};
2189
2190union cvmx_ciu2_en_ppx_ip2_wdog_w1c {
2191 uint64_t u64;
2192 struct cvmx_ciu2_en_ppx_ip2_wdog_w1c_s {
2193#ifdef __BIG_ENDIAN_BITFIELD
2194 uint64_t reserved_32_63:32;
2195 uint64_t wdog:32;
2196#else
2197 uint64_t wdog:32;
2198 uint64_t reserved_32_63:32;
2199#endif
2200 } s;
2201 struct cvmx_ciu2_en_ppx_ip2_wdog_w1c_s cn68xx;
2202 struct cvmx_ciu2_en_ppx_ip2_wdog_w1c_s cn68xxp1;
2203};
2204
2205union cvmx_ciu2_en_ppx_ip2_wdog_w1s {
2206 uint64_t u64;
2207 struct cvmx_ciu2_en_ppx_ip2_wdog_w1s_s {
2208#ifdef __BIG_ENDIAN_BITFIELD
2209 uint64_t reserved_32_63:32;
2210 uint64_t wdog:32;
2211#else
2212 uint64_t wdog:32;
2213 uint64_t reserved_32_63:32;
2214#endif
2215 } s;
2216 struct cvmx_ciu2_en_ppx_ip2_wdog_w1s_s cn68xx;
2217 struct cvmx_ciu2_en_ppx_ip2_wdog_w1s_s cn68xxp1;
2218};
2219
2220union cvmx_ciu2_en_ppx_ip2_wrkq {
2221 uint64_t u64;
2222 struct cvmx_ciu2_en_ppx_ip2_wrkq_s {
2223#ifdef __BIG_ENDIAN_BITFIELD
2224 uint64_t workq:64;
2225#else
2226 uint64_t workq:64;
2227#endif
2228 } s;
2229 struct cvmx_ciu2_en_ppx_ip2_wrkq_s cn68xx;
2230 struct cvmx_ciu2_en_ppx_ip2_wrkq_s cn68xxp1;
2231};
2232
2233union cvmx_ciu2_en_ppx_ip2_wrkq_w1c {
2234 uint64_t u64;
2235 struct cvmx_ciu2_en_ppx_ip2_wrkq_w1c_s {
2236#ifdef __BIG_ENDIAN_BITFIELD
2237 uint64_t workq:64;
2238#else
2239 uint64_t workq:64;
2240#endif
2241 } s;
2242 struct cvmx_ciu2_en_ppx_ip2_wrkq_w1c_s cn68xx;
2243 struct cvmx_ciu2_en_ppx_ip2_wrkq_w1c_s cn68xxp1;
2244};
2245
2246union cvmx_ciu2_en_ppx_ip2_wrkq_w1s {
2247 uint64_t u64;
2248 struct cvmx_ciu2_en_ppx_ip2_wrkq_w1s_s {
2249#ifdef __BIG_ENDIAN_BITFIELD
2250 uint64_t workq:64;
2251#else
2252 uint64_t workq:64;
2253#endif
2254 } s;
2255 struct cvmx_ciu2_en_ppx_ip2_wrkq_w1s_s cn68xx;
2256 struct cvmx_ciu2_en_ppx_ip2_wrkq_w1s_s cn68xxp1;
2257};
2258
2259union cvmx_ciu2_en_ppx_ip3_gpio {
2260 uint64_t u64;
2261 struct cvmx_ciu2_en_ppx_ip3_gpio_s {
2262#ifdef __BIG_ENDIAN_BITFIELD
2263 uint64_t reserved_16_63:48;
2264 uint64_t gpio:16;
2265#else
2266 uint64_t gpio:16;
2267 uint64_t reserved_16_63:48;
2268#endif
2269 } s;
2270 struct cvmx_ciu2_en_ppx_ip3_gpio_s cn68xx;
2271 struct cvmx_ciu2_en_ppx_ip3_gpio_s cn68xxp1;
2272};
2273
2274union cvmx_ciu2_en_ppx_ip3_gpio_w1c {
2275 uint64_t u64;
2276 struct cvmx_ciu2_en_ppx_ip3_gpio_w1c_s {
2277#ifdef __BIG_ENDIAN_BITFIELD
2278 uint64_t reserved_16_63:48;
2279 uint64_t gpio:16;
2280#else
2281 uint64_t gpio:16;
2282 uint64_t reserved_16_63:48;
2283#endif
2284 } s;
2285 struct cvmx_ciu2_en_ppx_ip3_gpio_w1c_s cn68xx;
2286 struct cvmx_ciu2_en_ppx_ip3_gpio_w1c_s cn68xxp1;
2287};
2288
2289union cvmx_ciu2_en_ppx_ip3_gpio_w1s {
2290 uint64_t u64;
2291 struct cvmx_ciu2_en_ppx_ip3_gpio_w1s_s {
2292#ifdef __BIG_ENDIAN_BITFIELD
2293 uint64_t reserved_16_63:48;
2294 uint64_t gpio:16;
2295#else
2296 uint64_t gpio:16;
2297 uint64_t reserved_16_63:48;
2298#endif
2299 } s;
2300 struct cvmx_ciu2_en_ppx_ip3_gpio_w1s_s cn68xx;
2301 struct cvmx_ciu2_en_ppx_ip3_gpio_w1s_s cn68xxp1;
2302};
2303
2304union cvmx_ciu2_en_ppx_ip3_io {
2305 uint64_t u64;
2306 struct cvmx_ciu2_en_ppx_ip3_io_s {
2307#ifdef __BIG_ENDIAN_BITFIELD
2308 uint64_t reserved_34_63:30;
2309 uint64_t pem:2;
2310 uint64_t reserved_18_31:14;
2311 uint64_t pci_inta:2;
2312 uint64_t reserved_13_15:3;
2313 uint64_t msired:1;
2314 uint64_t pci_msi:4;
2315 uint64_t reserved_4_7:4;
2316 uint64_t pci_intr:4;
2317#else
2318 uint64_t pci_intr:4;
2319 uint64_t reserved_4_7:4;
2320 uint64_t pci_msi:4;
2321 uint64_t msired:1;
2322 uint64_t reserved_13_15:3;
2323 uint64_t pci_inta:2;
2324 uint64_t reserved_18_31:14;
2325 uint64_t pem:2;
2326 uint64_t reserved_34_63:30;
2327#endif
2328 } s;
2329 struct cvmx_ciu2_en_ppx_ip3_io_s cn68xx;
2330 struct cvmx_ciu2_en_ppx_ip3_io_s cn68xxp1;
2331};
2332
2333union cvmx_ciu2_en_ppx_ip3_io_w1c {
2334 uint64_t u64;
2335 struct cvmx_ciu2_en_ppx_ip3_io_w1c_s {
2336#ifdef __BIG_ENDIAN_BITFIELD
2337 uint64_t reserved_34_63:30;
2338 uint64_t pem:2;
2339 uint64_t reserved_18_31:14;
2340 uint64_t pci_inta:2;
2341 uint64_t reserved_13_15:3;
2342 uint64_t msired:1;
2343 uint64_t pci_msi:4;
2344 uint64_t reserved_4_7:4;
2345 uint64_t pci_intr:4;
2346#else
2347 uint64_t pci_intr:4;
2348 uint64_t reserved_4_7:4;
2349 uint64_t pci_msi:4;
2350 uint64_t msired:1;
2351 uint64_t reserved_13_15:3;
2352 uint64_t pci_inta:2;
2353 uint64_t reserved_18_31:14;
2354 uint64_t pem:2;
2355 uint64_t reserved_34_63:30;
2356#endif
2357 } s;
2358 struct cvmx_ciu2_en_ppx_ip3_io_w1c_s cn68xx;
2359 struct cvmx_ciu2_en_ppx_ip3_io_w1c_s cn68xxp1;
2360};
2361
2362union cvmx_ciu2_en_ppx_ip3_io_w1s {
2363 uint64_t u64;
2364 struct cvmx_ciu2_en_ppx_ip3_io_w1s_s {
2365#ifdef __BIG_ENDIAN_BITFIELD
2366 uint64_t reserved_34_63:30;
2367 uint64_t pem:2;
2368 uint64_t reserved_18_31:14;
2369 uint64_t pci_inta:2;
2370 uint64_t reserved_13_15:3;
2371 uint64_t msired:1;
2372 uint64_t pci_msi:4;
2373 uint64_t reserved_4_7:4;
2374 uint64_t pci_intr:4;
2375#else
2376 uint64_t pci_intr:4;
2377 uint64_t reserved_4_7:4;
2378 uint64_t pci_msi:4;
2379 uint64_t msired:1;
2380 uint64_t reserved_13_15:3;
2381 uint64_t pci_inta:2;
2382 uint64_t reserved_18_31:14;
2383 uint64_t pem:2;
2384 uint64_t reserved_34_63:30;
2385#endif
2386 } s;
2387 struct cvmx_ciu2_en_ppx_ip3_io_w1s_s cn68xx;
2388 struct cvmx_ciu2_en_ppx_ip3_io_w1s_s cn68xxp1;
2389};
2390
2391union cvmx_ciu2_en_ppx_ip3_mbox {
2392 uint64_t u64;
2393 struct cvmx_ciu2_en_ppx_ip3_mbox_s {
2394#ifdef __BIG_ENDIAN_BITFIELD
2395 uint64_t reserved_4_63:60;
2396 uint64_t mbox:4;
2397#else
2398 uint64_t mbox:4;
2399 uint64_t reserved_4_63:60;
2400#endif
2401 } s;
2402 struct cvmx_ciu2_en_ppx_ip3_mbox_s cn68xx;
2403 struct cvmx_ciu2_en_ppx_ip3_mbox_s cn68xxp1;
2404};
2405
2406union cvmx_ciu2_en_ppx_ip3_mbox_w1c {
2407 uint64_t u64;
2408 struct cvmx_ciu2_en_ppx_ip3_mbox_w1c_s {
2409#ifdef __BIG_ENDIAN_BITFIELD
2410 uint64_t reserved_4_63:60;
2411 uint64_t mbox:4;
2412#else
2413 uint64_t mbox:4;
2414 uint64_t reserved_4_63:60;
2415#endif
2416 } s;
2417 struct cvmx_ciu2_en_ppx_ip3_mbox_w1c_s cn68xx;
2418 struct cvmx_ciu2_en_ppx_ip3_mbox_w1c_s cn68xxp1;
2419};
2420
2421union cvmx_ciu2_en_ppx_ip3_mbox_w1s {
2422 uint64_t u64;
2423 struct cvmx_ciu2_en_ppx_ip3_mbox_w1s_s {
2424#ifdef __BIG_ENDIAN_BITFIELD
2425 uint64_t reserved_4_63:60;
2426 uint64_t mbox:4;
2427#else
2428 uint64_t mbox:4;
2429 uint64_t reserved_4_63:60;
2430#endif
2431 } s;
2432 struct cvmx_ciu2_en_ppx_ip3_mbox_w1s_s cn68xx;
2433 struct cvmx_ciu2_en_ppx_ip3_mbox_w1s_s cn68xxp1;
2434};
2435
2436union cvmx_ciu2_en_ppx_ip3_mem {
2437 uint64_t u64;
2438 struct cvmx_ciu2_en_ppx_ip3_mem_s {
2439#ifdef __BIG_ENDIAN_BITFIELD
2440 uint64_t reserved_4_63:60;
2441 uint64_t lmc:4;
2442#else
2443 uint64_t lmc:4;
2444 uint64_t reserved_4_63:60;
2445#endif
2446 } s;
2447 struct cvmx_ciu2_en_ppx_ip3_mem_s cn68xx;
2448 struct cvmx_ciu2_en_ppx_ip3_mem_s cn68xxp1;
2449};
2450
2451union cvmx_ciu2_en_ppx_ip3_mem_w1c {
2452 uint64_t u64;
2453 struct cvmx_ciu2_en_ppx_ip3_mem_w1c_s {
2454#ifdef __BIG_ENDIAN_BITFIELD
2455 uint64_t reserved_4_63:60;
2456 uint64_t lmc:4;
2457#else
2458 uint64_t lmc:4;
2459 uint64_t reserved_4_63:60;
2460#endif
2461 } s;
2462 struct cvmx_ciu2_en_ppx_ip3_mem_w1c_s cn68xx;
2463 struct cvmx_ciu2_en_ppx_ip3_mem_w1c_s cn68xxp1;
2464};
2465
2466union cvmx_ciu2_en_ppx_ip3_mem_w1s {
2467 uint64_t u64;
2468 struct cvmx_ciu2_en_ppx_ip3_mem_w1s_s {
2469#ifdef __BIG_ENDIAN_BITFIELD
2470 uint64_t reserved_4_63:60;
2471 uint64_t lmc:4;
2472#else
2473 uint64_t lmc:4;
2474 uint64_t reserved_4_63:60;
2475#endif
2476 } s;
2477 struct cvmx_ciu2_en_ppx_ip3_mem_w1s_s cn68xx;
2478 struct cvmx_ciu2_en_ppx_ip3_mem_w1s_s cn68xxp1;
2479};
2480
2481union cvmx_ciu2_en_ppx_ip3_mio {
2482 uint64_t u64;
2483 struct cvmx_ciu2_en_ppx_ip3_mio_s {
2484#ifdef __BIG_ENDIAN_BITFIELD
2485 uint64_t rst:1;
2486 uint64_t reserved_49_62:14;
2487 uint64_t ptp:1;
2488 uint64_t reserved_45_47:3;
2489 uint64_t usb_hci:1;
2490 uint64_t reserved_41_43:3;
2491 uint64_t usb_uctl:1;
2492 uint64_t reserved_38_39:2;
2493 uint64_t uart:2;
2494 uint64_t reserved_34_35:2;
2495 uint64_t twsi:2;
2496 uint64_t reserved_19_31:13;
2497 uint64_t bootdma:1;
2498 uint64_t mio:1;
2499 uint64_t nand:1;
2500 uint64_t reserved_12_15:4;
2501 uint64_t timer:4;
2502 uint64_t reserved_3_7:5;
2503 uint64_t ipd_drp:1;
2504 uint64_t ssoiq:1;
2505 uint64_t ipdppthr:1;
2506#else
2507 uint64_t ipdppthr:1;
2508 uint64_t ssoiq:1;
2509 uint64_t ipd_drp:1;
2510 uint64_t reserved_3_7:5;
2511 uint64_t timer:4;
2512 uint64_t reserved_12_15:4;
2513 uint64_t nand:1;
2514 uint64_t mio:1;
2515 uint64_t bootdma:1;
2516 uint64_t reserved_19_31:13;
2517 uint64_t twsi:2;
2518 uint64_t reserved_34_35:2;
2519 uint64_t uart:2;
2520 uint64_t reserved_38_39:2;
2521 uint64_t usb_uctl:1;
2522 uint64_t reserved_41_43:3;
2523 uint64_t usb_hci:1;
2524 uint64_t reserved_45_47:3;
2525 uint64_t ptp:1;
2526 uint64_t reserved_49_62:14;
2527 uint64_t rst:1;
2528#endif
2529 } s;
2530 struct cvmx_ciu2_en_ppx_ip3_mio_s cn68xx;
2531 struct cvmx_ciu2_en_ppx_ip3_mio_s cn68xxp1;
2532};
2533
2534union cvmx_ciu2_en_ppx_ip3_mio_w1c {
2535 uint64_t u64;
2536 struct cvmx_ciu2_en_ppx_ip3_mio_w1c_s {
2537#ifdef __BIG_ENDIAN_BITFIELD
2538 uint64_t rst:1;
2539 uint64_t reserved_49_62:14;
2540 uint64_t ptp:1;
2541 uint64_t reserved_45_47:3;
2542 uint64_t usb_hci:1;
2543 uint64_t reserved_41_43:3;
2544 uint64_t usb_uctl:1;
2545 uint64_t reserved_38_39:2;
2546 uint64_t uart:2;
2547 uint64_t reserved_34_35:2;
2548 uint64_t twsi:2;
2549 uint64_t reserved_19_31:13;
2550 uint64_t bootdma:1;
2551 uint64_t mio:1;
2552 uint64_t nand:1;
2553 uint64_t reserved_12_15:4;
2554 uint64_t timer:4;
2555 uint64_t reserved_3_7:5;
2556 uint64_t ipd_drp:1;
2557 uint64_t ssoiq:1;
2558 uint64_t ipdppthr:1;
2559#else
2560 uint64_t ipdppthr:1;
2561 uint64_t ssoiq:1;
2562 uint64_t ipd_drp:1;
2563 uint64_t reserved_3_7:5;
2564 uint64_t timer:4;
2565 uint64_t reserved_12_15:4;
2566 uint64_t nand:1;
2567 uint64_t mio:1;
2568 uint64_t bootdma:1;
2569 uint64_t reserved_19_31:13;
2570 uint64_t twsi:2;
2571 uint64_t reserved_34_35:2;
2572 uint64_t uart:2;
2573 uint64_t reserved_38_39:2;
2574 uint64_t usb_uctl:1;
2575 uint64_t reserved_41_43:3;
2576 uint64_t usb_hci:1;
2577 uint64_t reserved_45_47:3;
2578 uint64_t ptp:1;
2579 uint64_t reserved_49_62:14;
2580 uint64_t rst:1;
2581#endif
2582 } s;
2583 struct cvmx_ciu2_en_ppx_ip3_mio_w1c_s cn68xx;
2584 struct cvmx_ciu2_en_ppx_ip3_mio_w1c_s cn68xxp1;
2585};
2586
2587union cvmx_ciu2_en_ppx_ip3_mio_w1s {
2588 uint64_t u64;
2589 struct cvmx_ciu2_en_ppx_ip3_mio_w1s_s {
2590#ifdef __BIG_ENDIAN_BITFIELD
2591 uint64_t rst:1;
2592 uint64_t reserved_49_62:14;
2593 uint64_t ptp:1;
2594 uint64_t reserved_45_47:3;
2595 uint64_t usb_hci:1;
2596 uint64_t reserved_41_43:3;
2597 uint64_t usb_uctl:1;
2598 uint64_t reserved_38_39:2;
2599 uint64_t uart:2;
2600 uint64_t reserved_34_35:2;
2601 uint64_t twsi:2;
2602 uint64_t reserved_19_31:13;
2603 uint64_t bootdma:1;
2604 uint64_t mio:1;
2605 uint64_t nand:1;
2606 uint64_t reserved_12_15:4;
2607 uint64_t timer:4;
2608 uint64_t reserved_3_7:5;
2609 uint64_t ipd_drp:1;
2610 uint64_t ssoiq:1;
2611 uint64_t ipdppthr:1;
2612#else
2613 uint64_t ipdppthr:1;
2614 uint64_t ssoiq:1;
2615 uint64_t ipd_drp:1;
2616 uint64_t reserved_3_7:5;
2617 uint64_t timer:4;
2618 uint64_t reserved_12_15:4;
2619 uint64_t nand:1;
2620 uint64_t mio:1;
2621 uint64_t bootdma:1;
2622 uint64_t reserved_19_31:13;
2623 uint64_t twsi:2;
2624 uint64_t reserved_34_35:2;
2625 uint64_t uart:2;
2626 uint64_t reserved_38_39:2;
2627 uint64_t usb_uctl:1;
2628 uint64_t reserved_41_43:3;
2629 uint64_t usb_hci:1;
2630 uint64_t reserved_45_47:3;
2631 uint64_t ptp:1;
2632 uint64_t reserved_49_62:14;
2633 uint64_t rst:1;
2634#endif
2635 } s;
2636 struct cvmx_ciu2_en_ppx_ip3_mio_w1s_s cn68xx;
2637 struct cvmx_ciu2_en_ppx_ip3_mio_w1s_s cn68xxp1;
2638};
2639
2640union cvmx_ciu2_en_ppx_ip3_pkt {
2641 uint64_t u64;
2642 struct cvmx_ciu2_en_ppx_ip3_pkt_s {
2643#ifdef __BIG_ENDIAN_BITFIELD
2644 uint64_t reserved_54_63:10;
2645 uint64_t ilk_drp:2;
2646 uint64_t reserved_49_51:3;
2647 uint64_t ilk:1;
2648 uint64_t reserved_41_47:7;
2649 uint64_t mii:1;
2650 uint64_t reserved_33_39:7;
2651 uint64_t agl:1;
2652 uint64_t reserved_13_31:19;
2653 uint64_t gmx_drp:5;
2654 uint64_t reserved_5_7:3;
2655 uint64_t agx:5;
2656#else
2657 uint64_t agx:5;
2658 uint64_t reserved_5_7:3;
2659 uint64_t gmx_drp:5;
2660 uint64_t reserved_13_31:19;
2661 uint64_t agl:1;
2662 uint64_t reserved_33_39:7;
2663 uint64_t mii:1;
2664 uint64_t reserved_41_47:7;
2665 uint64_t ilk:1;
2666 uint64_t reserved_49_51:3;
2667 uint64_t ilk_drp:2;
2668 uint64_t reserved_54_63:10;
2669#endif
2670 } s;
2671 struct cvmx_ciu2_en_ppx_ip3_pkt_s cn68xx;
2672 struct cvmx_ciu2_en_ppx_ip3_pkt_cn68xxp1 {
2673#ifdef __BIG_ENDIAN_BITFIELD
2674 uint64_t reserved_49_63:15;
2675 uint64_t ilk:1;
2676 uint64_t reserved_41_47:7;
2677 uint64_t mii:1;
2678 uint64_t reserved_33_39:7;
2679 uint64_t agl:1;
2680 uint64_t reserved_13_31:19;
2681 uint64_t gmx_drp:5;
2682 uint64_t reserved_5_7:3;
2683 uint64_t agx:5;
2684#else
2685 uint64_t agx:5;
2686 uint64_t reserved_5_7:3;
2687 uint64_t gmx_drp:5;
2688 uint64_t reserved_13_31:19;
2689 uint64_t agl:1;
2690 uint64_t reserved_33_39:7;
2691 uint64_t mii:1;
2692 uint64_t reserved_41_47:7;
2693 uint64_t ilk:1;
2694 uint64_t reserved_49_63:15;
2695#endif
2696 } cn68xxp1;
2697};
2698
2699union cvmx_ciu2_en_ppx_ip3_pkt_w1c {
2700 uint64_t u64;
2701 struct cvmx_ciu2_en_ppx_ip3_pkt_w1c_s {
2702#ifdef __BIG_ENDIAN_BITFIELD
2703 uint64_t reserved_54_63:10;
2704 uint64_t ilk_drp:2;
2705 uint64_t reserved_49_51:3;
2706 uint64_t ilk:1;
2707 uint64_t reserved_41_47:7;
2708 uint64_t mii:1;
2709 uint64_t reserved_33_39:7;
2710 uint64_t agl:1;
2711 uint64_t reserved_13_31:19;
2712 uint64_t gmx_drp:5;
2713 uint64_t reserved_5_7:3;
2714 uint64_t agx:5;
2715#else
2716 uint64_t agx:5;
2717 uint64_t reserved_5_7:3;
2718 uint64_t gmx_drp:5;
2719 uint64_t reserved_13_31:19;
2720 uint64_t agl:1;
2721 uint64_t reserved_33_39:7;
2722 uint64_t mii:1;
2723 uint64_t reserved_41_47:7;
2724 uint64_t ilk:1;
2725 uint64_t reserved_49_51:3;
2726 uint64_t ilk_drp:2;
2727 uint64_t reserved_54_63:10;
2728#endif
2729 } s;
2730 struct cvmx_ciu2_en_ppx_ip3_pkt_w1c_s cn68xx;
2731 struct cvmx_ciu2_en_ppx_ip3_pkt_w1c_cn68xxp1 {
2732#ifdef __BIG_ENDIAN_BITFIELD
2733 uint64_t reserved_49_63:15;
2734 uint64_t ilk:1;
2735 uint64_t reserved_41_47:7;
2736 uint64_t mii:1;
2737 uint64_t reserved_33_39:7;
2738 uint64_t agl:1;
2739 uint64_t reserved_13_31:19;
2740 uint64_t gmx_drp:5;
2741 uint64_t reserved_5_7:3;
2742 uint64_t agx:5;
2743#else
2744 uint64_t agx:5;
2745 uint64_t reserved_5_7:3;
2746 uint64_t gmx_drp:5;
2747 uint64_t reserved_13_31:19;
2748 uint64_t agl:1;
2749 uint64_t reserved_33_39:7;
2750 uint64_t mii:1;
2751 uint64_t reserved_41_47:7;
2752 uint64_t ilk:1;
2753 uint64_t reserved_49_63:15;
2754#endif
2755 } cn68xxp1;
2756};
2757
2758union cvmx_ciu2_en_ppx_ip3_pkt_w1s {
2759 uint64_t u64;
2760 struct cvmx_ciu2_en_ppx_ip3_pkt_w1s_s {
2761#ifdef __BIG_ENDIAN_BITFIELD
2762 uint64_t reserved_54_63:10;
2763 uint64_t ilk_drp:2;
2764 uint64_t reserved_49_51:3;
2765 uint64_t ilk:1;
2766 uint64_t reserved_41_47:7;
2767 uint64_t mii:1;
2768 uint64_t reserved_33_39:7;
2769 uint64_t agl:1;
2770 uint64_t reserved_13_31:19;
2771 uint64_t gmx_drp:5;
2772 uint64_t reserved_5_7:3;
2773 uint64_t agx:5;
2774#else
2775 uint64_t agx:5;
2776 uint64_t reserved_5_7:3;
2777 uint64_t gmx_drp:5;
2778 uint64_t reserved_13_31:19;
2779 uint64_t agl:1;
2780 uint64_t reserved_33_39:7;
2781 uint64_t mii:1;
2782 uint64_t reserved_41_47:7;
2783 uint64_t ilk:1;
2784 uint64_t reserved_49_51:3;
2785 uint64_t ilk_drp:2;
2786 uint64_t reserved_54_63:10;
2787#endif
2788 } s;
2789 struct cvmx_ciu2_en_ppx_ip3_pkt_w1s_s cn68xx;
2790 struct cvmx_ciu2_en_ppx_ip3_pkt_w1s_cn68xxp1 {
2791#ifdef __BIG_ENDIAN_BITFIELD
2792 uint64_t reserved_49_63:15;
2793 uint64_t ilk:1;
2794 uint64_t reserved_41_47:7;
2795 uint64_t mii:1;
2796 uint64_t reserved_33_39:7;
2797 uint64_t agl:1;
2798 uint64_t reserved_13_31:19;
2799 uint64_t gmx_drp:5;
2800 uint64_t reserved_5_7:3;
2801 uint64_t agx:5;
2802#else
2803 uint64_t agx:5;
2804 uint64_t reserved_5_7:3;
2805 uint64_t gmx_drp:5;
2806 uint64_t reserved_13_31:19;
2807 uint64_t agl:1;
2808 uint64_t reserved_33_39:7;
2809 uint64_t mii:1;
2810 uint64_t reserved_41_47:7;
2811 uint64_t ilk:1;
2812 uint64_t reserved_49_63:15;
2813#endif
2814 } cn68xxp1;
2815};
2816
2817union cvmx_ciu2_en_ppx_ip3_rml {
2818 uint64_t u64;
2819 struct cvmx_ciu2_en_ppx_ip3_rml_s {
2820#ifdef __BIG_ENDIAN_BITFIELD
2821 uint64_t reserved_56_63:8;
2822 uint64_t trace:4;
2823 uint64_t reserved_49_51:3;
2824 uint64_t l2c:1;
2825 uint64_t reserved_41_47:7;
2826 uint64_t dfa:1;
2827 uint64_t reserved_37_39:3;
2828 uint64_t dpi_dma:1;
2829 uint64_t reserved_34_35:2;
2830 uint64_t dpi:1;
2831 uint64_t sli:1;
2832 uint64_t reserved_31_31:1;
2833 uint64_t key:1;
2834 uint64_t rad:1;
2835 uint64_t tim:1;
2836 uint64_t reserved_25_27:3;
2837 uint64_t zip:1;
2838 uint64_t reserved_17_23:7;
2839 uint64_t sso:1;
2840 uint64_t reserved_8_15:8;
2841 uint64_t pko:1;
2842 uint64_t pip:1;
2843 uint64_t ipd:1;
2844 uint64_t fpa:1;
2845 uint64_t reserved_1_3:3;
2846 uint64_t iob:1;
2847#else
2848 uint64_t iob:1;
2849 uint64_t reserved_1_3:3;
2850 uint64_t fpa:1;
2851 uint64_t ipd:1;
2852 uint64_t pip:1;
2853 uint64_t pko:1;
2854 uint64_t reserved_8_15:8;
2855 uint64_t sso:1;
2856 uint64_t reserved_17_23:7;
2857 uint64_t zip:1;
2858 uint64_t reserved_25_27:3;
2859 uint64_t tim:1;
2860 uint64_t rad:1;
2861 uint64_t key:1;
2862 uint64_t reserved_31_31:1;
2863 uint64_t sli:1;
2864 uint64_t dpi:1;
2865 uint64_t reserved_34_35:2;
2866 uint64_t dpi_dma:1;
2867 uint64_t reserved_37_39:3;
2868 uint64_t dfa:1;
2869 uint64_t reserved_41_47:7;
2870 uint64_t l2c:1;
2871 uint64_t reserved_49_51:3;
2872 uint64_t trace:4;
2873 uint64_t reserved_56_63:8;
2874#endif
2875 } s;
2876 struct cvmx_ciu2_en_ppx_ip3_rml_s cn68xx;
2877 struct cvmx_ciu2_en_ppx_ip3_rml_cn68xxp1 {
2878#ifdef __BIG_ENDIAN_BITFIELD
2879 uint64_t reserved_56_63:8;
2880 uint64_t trace:4;
2881 uint64_t reserved_49_51:3;
2882 uint64_t l2c:1;
2883 uint64_t reserved_41_47:7;
2884 uint64_t dfa:1;
2885 uint64_t reserved_34_39:6;
2886 uint64_t dpi:1;
2887 uint64_t sli:1;
2888 uint64_t reserved_31_31:1;
2889 uint64_t key:1;
2890 uint64_t rad:1;
2891 uint64_t tim:1;
2892 uint64_t reserved_25_27:3;
2893 uint64_t zip:1;
2894 uint64_t reserved_17_23:7;
2895 uint64_t sso:1;
2896 uint64_t reserved_8_15:8;
2897 uint64_t pko:1;
2898 uint64_t pip:1;
2899 uint64_t ipd:1;
2900 uint64_t fpa:1;
2901 uint64_t reserved_1_3:3;
2902 uint64_t iob:1;
2903#else
2904 uint64_t iob:1;
2905 uint64_t reserved_1_3:3;
2906 uint64_t fpa:1;
2907 uint64_t ipd:1;
2908 uint64_t pip:1;
2909 uint64_t pko:1;
2910 uint64_t reserved_8_15:8;
2911 uint64_t sso:1;
2912 uint64_t reserved_17_23:7;
2913 uint64_t zip:1;
2914 uint64_t reserved_25_27:3;
2915 uint64_t tim:1;
2916 uint64_t rad:1;
2917 uint64_t key:1;
2918 uint64_t reserved_31_31:1;
2919 uint64_t sli:1;
2920 uint64_t dpi:1;
2921 uint64_t reserved_34_39:6;
2922 uint64_t dfa:1;
2923 uint64_t reserved_41_47:7;
2924 uint64_t l2c:1;
2925 uint64_t reserved_49_51:3;
2926 uint64_t trace:4;
2927 uint64_t reserved_56_63:8;
2928#endif
2929 } cn68xxp1;
2930};
2931
2932union cvmx_ciu2_en_ppx_ip3_rml_w1c {
2933 uint64_t u64;
2934 struct cvmx_ciu2_en_ppx_ip3_rml_w1c_s {
2935#ifdef __BIG_ENDIAN_BITFIELD
2936 uint64_t reserved_56_63:8;
2937 uint64_t trace:4;
2938 uint64_t reserved_49_51:3;
2939 uint64_t l2c:1;
2940 uint64_t reserved_41_47:7;
2941 uint64_t dfa:1;
2942 uint64_t reserved_37_39:3;
2943 uint64_t dpi_dma:1;
2944 uint64_t reserved_34_35:2;
2945 uint64_t dpi:1;
2946 uint64_t sli:1;
2947 uint64_t reserved_31_31:1;
2948 uint64_t key:1;
2949 uint64_t rad:1;
2950 uint64_t tim:1;
2951 uint64_t reserved_25_27:3;
2952 uint64_t zip:1;
2953 uint64_t reserved_17_23:7;
2954 uint64_t sso:1;
2955 uint64_t reserved_8_15:8;
2956 uint64_t pko:1;
2957 uint64_t pip:1;
2958 uint64_t ipd:1;
2959 uint64_t fpa:1;
2960 uint64_t reserved_1_3:3;
2961 uint64_t iob:1;
2962#else
2963 uint64_t iob:1;
2964 uint64_t reserved_1_3:3;
2965 uint64_t fpa:1;
2966 uint64_t ipd:1;
2967 uint64_t pip:1;
2968 uint64_t pko:1;
2969 uint64_t reserved_8_15:8;
2970 uint64_t sso:1;
2971 uint64_t reserved_17_23:7;
2972 uint64_t zip:1;
2973 uint64_t reserved_25_27:3;
2974 uint64_t tim:1;
2975 uint64_t rad:1;
2976 uint64_t key:1;
2977 uint64_t reserved_31_31:1;
2978 uint64_t sli:1;
2979 uint64_t dpi:1;
2980 uint64_t reserved_34_35:2;
2981 uint64_t dpi_dma:1;
2982 uint64_t reserved_37_39:3;
2983 uint64_t dfa:1;
2984 uint64_t reserved_41_47:7;
2985 uint64_t l2c:1;
2986 uint64_t reserved_49_51:3;
2987 uint64_t trace:4;
2988 uint64_t reserved_56_63:8;
2989#endif
2990 } s;
2991 struct cvmx_ciu2_en_ppx_ip3_rml_w1c_s cn68xx;
2992 struct cvmx_ciu2_en_ppx_ip3_rml_w1c_cn68xxp1 {
2993#ifdef __BIG_ENDIAN_BITFIELD
2994 uint64_t reserved_56_63:8;
2995 uint64_t trace:4;
2996 uint64_t reserved_49_51:3;
2997 uint64_t l2c:1;
2998 uint64_t reserved_41_47:7;
2999 uint64_t dfa:1;
3000 uint64_t reserved_34_39:6;
3001 uint64_t dpi:1;
3002 uint64_t sli:1;
3003 uint64_t reserved_31_31:1;
3004 uint64_t key:1;
3005 uint64_t rad:1;
3006 uint64_t tim:1;
3007 uint64_t reserved_25_27:3;
3008 uint64_t zip:1;
3009 uint64_t reserved_17_23:7;
3010 uint64_t sso:1;
3011 uint64_t reserved_8_15:8;
3012 uint64_t pko:1;
3013 uint64_t pip:1;
3014 uint64_t ipd:1;
3015 uint64_t fpa:1;
3016 uint64_t reserved_1_3:3;
3017 uint64_t iob:1;
3018#else
3019 uint64_t iob:1;
3020 uint64_t reserved_1_3:3;
3021 uint64_t fpa:1;
3022 uint64_t ipd:1;
3023 uint64_t pip:1;
3024 uint64_t pko:1;
3025 uint64_t reserved_8_15:8;
3026 uint64_t sso:1;
3027 uint64_t reserved_17_23:7;
3028 uint64_t zip:1;
3029 uint64_t reserved_25_27:3;
3030 uint64_t tim:1;
3031 uint64_t rad:1;
3032 uint64_t key:1;
3033 uint64_t reserved_31_31:1;
3034 uint64_t sli:1;
3035 uint64_t dpi:1;
3036 uint64_t reserved_34_39:6;
3037 uint64_t dfa:1;
3038 uint64_t reserved_41_47:7;
3039 uint64_t l2c:1;
3040 uint64_t reserved_49_51:3;
3041 uint64_t trace:4;
3042 uint64_t reserved_56_63:8;
3043#endif
3044 } cn68xxp1;
3045};
3046
3047union cvmx_ciu2_en_ppx_ip3_rml_w1s {
3048 uint64_t u64;
3049 struct cvmx_ciu2_en_ppx_ip3_rml_w1s_s {
3050#ifdef __BIG_ENDIAN_BITFIELD
3051 uint64_t reserved_56_63:8;
3052 uint64_t trace:4;
3053 uint64_t reserved_49_51:3;
3054 uint64_t l2c:1;
3055 uint64_t reserved_41_47:7;
3056 uint64_t dfa:1;
3057 uint64_t reserved_37_39:3;
3058 uint64_t dpi_dma:1;
3059 uint64_t reserved_34_35:2;
3060 uint64_t dpi:1;
3061 uint64_t sli:1;
3062 uint64_t reserved_31_31:1;
3063 uint64_t key:1;
3064 uint64_t rad:1;
3065 uint64_t tim:1;
3066 uint64_t reserved_25_27:3;
3067 uint64_t zip:1;
3068 uint64_t reserved_17_23:7;
3069 uint64_t sso:1;
3070 uint64_t reserved_8_15:8;
3071 uint64_t pko:1;
3072 uint64_t pip:1;
3073 uint64_t ipd:1;
3074 uint64_t fpa:1;
3075 uint64_t reserved_1_3:3;
3076 uint64_t iob:1;
3077#else
3078 uint64_t iob:1;
3079 uint64_t reserved_1_3:3;
3080 uint64_t fpa:1;
3081 uint64_t ipd:1;
3082 uint64_t pip:1;
3083 uint64_t pko:1;
3084 uint64_t reserved_8_15:8;
3085 uint64_t sso:1;
3086 uint64_t reserved_17_23:7;
3087 uint64_t zip:1;
3088 uint64_t reserved_25_27:3;
3089 uint64_t tim:1;
3090 uint64_t rad:1;
3091 uint64_t key:1;
3092 uint64_t reserved_31_31:1;
3093 uint64_t sli:1;
3094 uint64_t dpi:1;
3095 uint64_t reserved_34_35:2;
3096 uint64_t dpi_dma:1;
3097 uint64_t reserved_37_39:3;
3098 uint64_t dfa:1;
3099 uint64_t reserved_41_47:7;
3100 uint64_t l2c:1;
3101 uint64_t reserved_49_51:3;
3102 uint64_t trace:4;
3103 uint64_t reserved_56_63:8;
3104#endif
3105 } s;
3106 struct cvmx_ciu2_en_ppx_ip3_rml_w1s_s cn68xx;
3107 struct cvmx_ciu2_en_ppx_ip3_rml_w1s_cn68xxp1 {
3108#ifdef __BIG_ENDIAN_BITFIELD
3109 uint64_t reserved_56_63:8;
3110 uint64_t trace:4;
3111 uint64_t reserved_49_51:3;
3112 uint64_t l2c:1;
3113 uint64_t reserved_41_47:7;
3114 uint64_t dfa:1;
3115 uint64_t reserved_34_39:6;
3116 uint64_t dpi:1;
3117 uint64_t sli:1;
3118 uint64_t reserved_31_31:1;
3119 uint64_t key:1;
3120 uint64_t rad:1;
3121 uint64_t tim:1;
3122 uint64_t reserved_25_27:3;
3123 uint64_t zip:1;
3124 uint64_t reserved_17_23:7;
3125 uint64_t sso:1;
3126 uint64_t reserved_8_15:8;
3127 uint64_t pko:1;
3128 uint64_t pip:1;
3129 uint64_t ipd:1;
3130 uint64_t fpa:1;
3131 uint64_t reserved_1_3:3;
3132 uint64_t iob:1;
3133#else
3134 uint64_t iob:1;
3135 uint64_t reserved_1_3:3;
3136 uint64_t fpa:1;
3137 uint64_t ipd:1;
3138 uint64_t pip:1;
3139 uint64_t pko:1;
3140 uint64_t reserved_8_15:8;
3141 uint64_t sso:1;
3142 uint64_t reserved_17_23:7;
3143 uint64_t zip:1;
3144 uint64_t reserved_25_27:3;
3145 uint64_t tim:1;
3146 uint64_t rad:1;
3147 uint64_t key:1;
3148 uint64_t reserved_31_31:1;
3149 uint64_t sli:1;
3150 uint64_t dpi:1;
3151 uint64_t reserved_34_39:6;
3152 uint64_t dfa:1;
3153 uint64_t reserved_41_47:7;
3154 uint64_t l2c:1;
3155 uint64_t reserved_49_51:3;
3156 uint64_t trace:4;
3157 uint64_t reserved_56_63:8;
3158#endif
3159 } cn68xxp1;
3160};
3161
3162union cvmx_ciu2_en_ppx_ip3_wdog {
3163 uint64_t u64;
3164 struct cvmx_ciu2_en_ppx_ip3_wdog_s {
3165#ifdef __BIG_ENDIAN_BITFIELD
3166 uint64_t reserved_32_63:32;
3167 uint64_t wdog:32;
3168#else
3169 uint64_t wdog:32;
3170 uint64_t reserved_32_63:32;
3171#endif
3172 } s;
3173 struct cvmx_ciu2_en_ppx_ip3_wdog_s cn68xx;
3174 struct cvmx_ciu2_en_ppx_ip3_wdog_s cn68xxp1;
3175};
3176
3177union cvmx_ciu2_en_ppx_ip3_wdog_w1c {
3178 uint64_t u64;
3179 struct cvmx_ciu2_en_ppx_ip3_wdog_w1c_s {
3180#ifdef __BIG_ENDIAN_BITFIELD
3181 uint64_t reserved_32_63:32;
3182 uint64_t wdog:32;
3183#else
3184 uint64_t wdog:32;
3185 uint64_t reserved_32_63:32;
3186#endif
3187 } s;
3188 struct cvmx_ciu2_en_ppx_ip3_wdog_w1c_s cn68xx;
3189 struct cvmx_ciu2_en_ppx_ip3_wdog_w1c_s cn68xxp1;
3190};
3191
3192union cvmx_ciu2_en_ppx_ip3_wdog_w1s {
3193 uint64_t u64;
3194 struct cvmx_ciu2_en_ppx_ip3_wdog_w1s_s {
3195#ifdef __BIG_ENDIAN_BITFIELD
3196 uint64_t reserved_32_63:32;
3197 uint64_t wdog:32;
3198#else
3199 uint64_t wdog:32;
3200 uint64_t reserved_32_63:32;
3201#endif
3202 } s;
3203 struct cvmx_ciu2_en_ppx_ip3_wdog_w1s_s cn68xx;
3204 struct cvmx_ciu2_en_ppx_ip3_wdog_w1s_s cn68xxp1;
3205};
3206
3207union cvmx_ciu2_en_ppx_ip3_wrkq {
3208 uint64_t u64;
3209 struct cvmx_ciu2_en_ppx_ip3_wrkq_s {
3210#ifdef __BIG_ENDIAN_BITFIELD
3211 uint64_t workq:64;
3212#else
3213 uint64_t workq:64;
3214#endif
3215 } s;
3216 struct cvmx_ciu2_en_ppx_ip3_wrkq_s cn68xx;
3217 struct cvmx_ciu2_en_ppx_ip3_wrkq_s cn68xxp1;
3218};
3219
3220union cvmx_ciu2_en_ppx_ip3_wrkq_w1c {
3221 uint64_t u64;
3222 struct cvmx_ciu2_en_ppx_ip3_wrkq_w1c_s {
3223#ifdef __BIG_ENDIAN_BITFIELD
3224 uint64_t workq:64;
3225#else
3226 uint64_t workq:64;
3227#endif
3228 } s;
3229 struct cvmx_ciu2_en_ppx_ip3_wrkq_w1c_s cn68xx;
3230 struct cvmx_ciu2_en_ppx_ip3_wrkq_w1c_s cn68xxp1;
3231};
3232
3233union cvmx_ciu2_en_ppx_ip3_wrkq_w1s {
3234 uint64_t u64;
3235 struct cvmx_ciu2_en_ppx_ip3_wrkq_w1s_s {
3236#ifdef __BIG_ENDIAN_BITFIELD
3237 uint64_t workq:64;
3238#else
3239 uint64_t workq:64;
3240#endif
3241 } s;
3242 struct cvmx_ciu2_en_ppx_ip3_wrkq_w1s_s cn68xx;
3243 struct cvmx_ciu2_en_ppx_ip3_wrkq_w1s_s cn68xxp1;
3244};
3245
3246union cvmx_ciu2_en_ppx_ip4_gpio {
3247 uint64_t u64;
3248 struct cvmx_ciu2_en_ppx_ip4_gpio_s {
3249#ifdef __BIG_ENDIAN_BITFIELD
3250 uint64_t reserved_16_63:48;
3251 uint64_t gpio:16;
3252#else
3253 uint64_t gpio:16;
3254 uint64_t reserved_16_63:48;
3255#endif
3256 } s;
3257 struct cvmx_ciu2_en_ppx_ip4_gpio_s cn68xx;
3258 struct cvmx_ciu2_en_ppx_ip4_gpio_s cn68xxp1;
3259};
3260
3261union cvmx_ciu2_en_ppx_ip4_gpio_w1c {
3262 uint64_t u64;
3263 struct cvmx_ciu2_en_ppx_ip4_gpio_w1c_s {
3264#ifdef __BIG_ENDIAN_BITFIELD
3265 uint64_t reserved_16_63:48;
3266 uint64_t gpio:16;
3267#else
3268 uint64_t gpio:16;
3269 uint64_t reserved_16_63:48;
3270#endif
3271 } s;
3272 struct cvmx_ciu2_en_ppx_ip4_gpio_w1c_s cn68xx;
3273 struct cvmx_ciu2_en_ppx_ip4_gpio_w1c_s cn68xxp1;
3274};
3275
3276union cvmx_ciu2_en_ppx_ip4_gpio_w1s {
3277 uint64_t u64;
3278 struct cvmx_ciu2_en_ppx_ip4_gpio_w1s_s {
3279#ifdef __BIG_ENDIAN_BITFIELD
3280 uint64_t reserved_16_63:48;
3281 uint64_t gpio:16;
3282#else
3283 uint64_t gpio:16;
3284 uint64_t reserved_16_63:48;
3285#endif
3286 } s;
3287 struct cvmx_ciu2_en_ppx_ip4_gpio_w1s_s cn68xx;
3288 struct cvmx_ciu2_en_ppx_ip4_gpio_w1s_s cn68xxp1;
3289};
3290
3291union cvmx_ciu2_en_ppx_ip4_io {
3292 uint64_t u64;
3293 struct cvmx_ciu2_en_ppx_ip4_io_s {
3294#ifdef __BIG_ENDIAN_BITFIELD
3295 uint64_t reserved_34_63:30;
3296 uint64_t pem:2;
3297 uint64_t reserved_18_31:14;
3298 uint64_t pci_inta:2;
3299 uint64_t reserved_13_15:3;
3300 uint64_t msired:1;
3301 uint64_t pci_msi:4;
3302 uint64_t reserved_4_7:4;
3303 uint64_t pci_intr:4;
3304#else
3305 uint64_t pci_intr:4;
3306 uint64_t reserved_4_7:4;
3307 uint64_t pci_msi:4;
3308 uint64_t msired:1;
3309 uint64_t reserved_13_15:3;
3310 uint64_t pci_inta:2;
3311 uint64_t reserved_18_31:14;
3312 uint64_t pem:2;
3313 uint64_t reserved_34_63:30;
3314#endif
3315 } s;
3316 struct cvmx_ciu2_en_ppx_ip4_io_s cn68xx;
3317 struct cvmx_ciu2_en_ppx_ip4_io_s cn68xxp1;
3318};
3319
3320union cvmx_ciu2_en_ppx_ip4_io_w1c {
3321 uint64_t u64;
3322 struct cvmx_ciu2_en_ppx_ip4_io_w1c_s {
3323#ifdef __BIG_ENDIAN_BITFIELD
3324 uint64_t reserved_34_63:30;
3325 uint64_t pem:2;
3326 uint64_t reserved_18_31:14;
3327 uint64_t pci_inta:2;
3328 uint64_t reserved_13_15:3;
3329 uint64_t msired:1;
3330 uint64_t pci_msi:4;
3331 uint64_t reserved_4_7:4;
3332 uint64_t pci_intr:4;
3333#else
3334 uint64_t pci_intr:4;
3335 uint64_t reserved_4_7:4;
3336 uint64_t pci_msi:4;
3337 uint64_t msired:1;
3338 uint64_t reserved_13_15:3;
3339 uint64_t pci_inta:2;
3340 uint64_t reserved_18_31:14;
3341 uint64_t pem:2;
3342 uint64_t reserved_34_63:30;
3343#endif
3344 } s;
3345 struct cvmx_ciu2_en_ppx_ip4_io_w1c_s cn68xx;
3346 struct cvmx_ciu2_en_ppx_ip4_io_w1c_s cn68xxp1;
3347};
3348
3349union cvmx_ciu2_en_ppx_ip4_io_w1s {
3350 uint64_t u64;
3351 struct cvmx_ciu2_en_ppx_ip4_io_w1s_s {
3352#ifdef __BIG_ENDIAN_BITFIELD
3353 uint64_t reserved_34_63:30;
3354 uint64_t pem:2;
3355 uint64_t reserved_18_31:14;
3356 uint64_t pci_inta:2;
3357 uint64_t reserved_13_15:3;
3358 uint64_t msired:1;
3359 uint64_t pci_msi:4;
3360 uint64_t reserved_4_7:4;
3361 uint64_t pci_intr:4;
3362#else
3363 uint64_t pci_intr:4;
3364 uint64_t reserved_4_7:4;
3365 uint64_t pci_msi:4;
3366 uint64_t msired:1;
3367 uint64_t reserved_13_15:3;
3368 uint64_t pci_inta:2;
3369 uint64_t reserved_18_31:14;
3370 uint64_t pem:2;
3371 uint64_t reserved_34_63:30;
3372#endif
3373 } s;
3374 struct cvmx_ciu2_en_ppx_ip4_io_w1s_s cn68xx;
3375 struct cvmx_ciu2_en_ppx_ip4_io_w1s_s cn68xxp1;
3376};
3377
3378union cvmx_ciu2_en_ppx_ip4_mbox {
3379 uint64_t u64;
3380 struct cvmx_ciu2_en_ppx_ip4_mbox_s {
3381#ifdef __BIG_ENDIAN_BITFIELD
3382 uint64_t reserved_4_63:60;
3383 uint64_t mbox:4;
3384#else
3385 uint64_t mbox:4;
3386 uint64_t reserved_4_63:60;
3387#endif
3388 } s;
3389 struct cvmx_ciu2_en_ppx_ip4_mbox_s cn68xx;
3390 struct cvmx_ciu2_en_ppx_ip4_mbox_s cn68xxp1;
3391};
3392
3393union cvmx_ciu2_en_ppx_ip4_mbox_w1c {
3394 uint64_t u64;
3395 struct cvmx_ciu2_en_ppx_ip4_mbox_w1c_s {
3396#ifdef __BIG_ENDIAN_BITFIELD
3397 uint64_t reserved_4_63:60;
3398 uint64_t mbox:4;
3399#else
3400 uint64_t mbox:4;
3401 uint64_t reserved_4_63:60;
3402#endif
3403 } s;
3404 struct cvmx_ciu2_en_ppx_ip4_mbox_w1c_s cn68xx;
3405 struct cvmx_ciu2_en_ppx_ip4_mbox_w1c_s cn68xxp1;
3406};
3407
3408union cvmx_ciu2_en_ppx_ip4_mbox_w1s {
3409 uint64_t u64;
3410 struct cvmx_ciu2_en_ppx_ip4_mbox_w1s_s {
3411#ifdef __BIG_ENDIAN_BITFIELD
3412 uint64_t reserved_4_63:60;
3413 uint64_t mbox:4;
3414#else
3415 uint64_t mbox:4;
3416 uint64_t reserved_4_63:60;
3417#endif
3418 } s;
3419 struct cvmx_ciu2_en_ppx_ip4_mbox_w1s_s cn68xx;
3420 struct cvmx_ciu2_en_ppx_ip4_mbox_w1s_s cn68xxp1;
3421};
3422
3423union cvmx_ciu2_en_ppx_ip4_mem {
3424 uint64_t u64;
3425 struct cvmx_ciu2_en_ppx_ip4_mem_s {
3426#ifdef __BIG_ENDIAN_BITFIELD
3427 uint64_t reserved_4_63:60;
3428 uint64_t lmc:4;
3429#else
3430 uint64_t lmc:4;
3431 uint64_t reserved_4_63:60;
3432#endif
3433 } s;
3434 struct cvmx_ciu2_en_ppx_ip4_mem_s cn68xx;
3435 struct cvmx_ciu2_en_ppx_ip4_mem_s cn68xxp1;
3436};
3437
3438union cvmx_ciu2_en_ppx_ip4_mem_w1c {
3439 uint64_t u64;
3440 struct cvmx_ciu2_en_ppx_ip4_mem_w1c_s {
3441#ifdef __BIG_ENDIAN_BITFIELD
3442 uint64_t reserved_4_63:60;
3443 uint64_t lmc:4;
3444#else
3445 uint64_t lmc:4;
3446 uint64_t reserved_4_63:60;
3447#endif
3448 } s;
3449 struct cvmx_ciu2_en_ppx_ip4_mem_w1c_s cn68xx;
3450 struct cvmx_ciu2_en_ppx_ip4_mem_w1c_s cn68xxp1;
3451};
3452
3453union cvmx_ciu2_en_ppx_ip4_mem_w1s {
3454 uint64_t u64;
3455 struct cvmx_ciu2_en_ppx_ip4_mem_w1s_s {
3456#ifdef __BIG_ENDIAN_BITFIELD
3457 uint64_t reserved_4_63:60;
3458 uint64_t lmc:4;
3459#else
3460 uint64_t lmc:4;
3461 uint64_t reserved_4_63:60;
3462#endif
3463 } s;
3464 struct cvmx_ciu2_en_ppx_ip4_mem_w1s_s cn68xx;
3465 struct cvmx_ciu2_en_ppx_ip4_mem_w1s_s cn68xxp1;
3466};
3467
3468union cvmx_ciu2_en_ppx_ip4_mio {
3469 uint64_t u64;
3470 struct cvmx_ciu2_en_ppx_ip4_mio_s {
3471#ifdef __BIG_ENDIAN_BITFIELD
3472 uint64_t rst:1;
3473 uint64_t reserved_49_62:14;
3474 uint64_t ptp:1;
3475 uint64_t reserved_45_47:3;
3476 uint64_t usb_hci:1;
3477 uint64_t reserved_41_43:3;
3478 uint64_t usb_uctl:1;
3479 uint64_t reserved_38_39:2;
3480 uint64_t uart:2;
3481 uint64_t reserved_34_35:2;
3482 uint64_t twsi:2;
3483 uint64_t reserved_19_31:13;
3484 uint64_t bootdma:1;
3485 uint64_t mio:1;
3486 uint64_t nand:1;
3487 uint64_t reserved_12_15:4;
3488 uint64_t timer:4;
3489 uint64_t reserved_3_7:5;
3490 uint64_t ipd_drp:1;
3491 uint64_t ssoiq:1;
3492 uint64_t ipdppthr:1;
3493#else
3494 uint64_t ipdppthr:1;
3495 uint64_t ssoiq:1;
3496 uint64_t ipd_drp:1;
3497 uint64_t reserved_3_7:5;
3498 uint64_t timer:4;
3499 uint64_t reserved_12_15:4;
3500 uint64_t nand:1;
3501 uint64_t mio:1;
3502 uint64_t bootdma:1;
3503 uint64_t reserved_19_31:13;
3504 uint64_t twsi:2;
3505 uint64_t reserved_34_35:2;
3506 uint64_t uart:2;
3507 uint64_t reserved_38_39:2;
3508 uint64_t usb_uctl:1;
3509 uint64_t reserved_41_43:3;
3510 uint64_t usb_hci:1;
3511 uint64_t reserved_45_47:3;
3512 uint64_t ptp:1;
3513 uint64_t reserved_49_62:14;
3514 uint64_t rst:1;
3515#endif
3516 } s;
3517 struct cvmx_ciu2_en_ppx_ip4_mio_s cn68xx;
3518 struct cvmx_ciu2_en_ppx_ip4_mio_s cn68xxp1;
3519};
3520
3521union cvmx_ciu2_en_ppx_ip4_mio_w1c {
3522 uint64_t u64;
3523 struct cvmx_ciu2_en_ppx_ip4_mio_w1c_s {
3524#ifdef __BIG_ENDIAN_BITFIELD
3525 uint64_t rst:1;
3526 uint64_t reserved_49_62:14;
3527 uint64_t ptp:1;
3528 uint64_t reserved_45_47:3;
3529 uint64_t usb_hci:1;
3530 uint64_t reserved_41_43:3;
3531 uint64_t usb_uctl:1;
3532 uint64_t reserved_38_39:2;
3533 uint64_t uart:2;
3534 uint64_t reserved_34_35:2;
3535 uint64_t twsi:2;
3536 uint64_t reserved_19_31:13;
3537 uint64_t bootdma:1;
3538 uint64_t mio:1;
3539 uint64_t nand:1;
3540 uint64_t reserved_12_15:4;
3541 uint64_t timer:4;
3542 uint64_t reserved_3_7:5;
3543 uint64_t ipd_drp:1;
3544 uint64_t ssoiq:1;
3545 uint64_t ipdppthr:1;
3546#else
3547 uint64_t ipdppthr:1;
3548 uint64_t ssoiq:1;
3549 uint64_t ipd_drp:1;
3550 uint64_t reserved_3_7:5;
3551 uint64_t timer:4;
3552 uint64_t reserved_12_15:4;
3553 uint64_t nand:1;
3554 uint64_t mio:1;
3555 uint64_t bootdma:1;
3556 uint64_t reserved_19_31:13;
3557 uint64_t twsi:2;
3558 uint64_t reserved_34_35:2;
3559 uint64_t uart:2;
3560 uint64_t reserved_38_39:2;
3561 uint64_t usb_uctl:1;
3562 uint64_t reserved_41_43:3;
3563 uint64_t usb_hci:1;
3564 uint64_t reserved_45_47:3;
3565 uint64_t ptp:1;
3566 uint64_t reserved_49_62:14;
3567 uint64_t rst:1;
3568#endif
3569 } s;
3570 struct cvmx_ciu2_en_ppx_ip4_mio_w1c_s cn68xx;
3571 struct cvmx_ciu2_en_ppx_ip4_mio_w1c_s cn68xxp1;
3572};
3573
3574union cvmx_ciu2_en_ppx_ip4_mio_w1s {
3575 uint64_t u64;
3576 struct cvmx_ciu2_en_ppx_ip4_mio_w1s_s {
3577#ifdef __BIG_ENDIAN_BITFIELD
3578 uint64_t rst:1;
3579 uint64_t reserved_49_62:14;
3580 uint64_t ptp:1;
3581 uint64_t reserved_45_47:3;
3582 uint64_t usb_hci:1;
3583 uint64_t reserved_41_43:3;
3584 uint64_t usb_uctl:1;
3585 uint64_t reserved_38_39:2;
3586 uint64_t uart:2;
3587 uint64_t reserved_34_35:2;
3588 uint64_t twsi:2;
3589 uint64_t reserved_19_31:13;
3590 uint64_t bootdma:1;
3591 uint64_t mio:1;
3592 uint64_t nand:1;
3593 uint64_t reserved_12_15:4;
3594 uint64_t timer:4;
3595 uint64_t reserved_3_7:5;
3596 uint64_t ipd_drp:1;
3597 uint64_t ssoiq:1;
3598 uint64_t ipdppthr:1;
3599#else
3600 uint64_t ipdppthr:1;
3601 uint64_t ssoiq:1;
3602 uint64_t ipd_drp:1;
3603 uint64_t reserved_3_7:5;
3604 uint64_t timer:4;
3605 uint64_t reserved_12_15:4;
3606 uint64_t nand:1;
3607 uint64_t mio:1;
3608 uint64_t bootdma:1;
3609 uint64_t reserved_19_31:13;
3610 uint64_t twsi:2;
3611 uint64_t reserved_34_35:2;
3612 uint64_t uart:2;
3613 uint64_t reserved_38_39:2;
3614 uint64_t usb_uctl:1;
3615 uint64_t reserved_41_43:3;
3616 uint64_t usb_hci:1;
3617 uint64_t reserved_45_47:3;
3618 uint64_t ptp:1;
3619 uint64_t reserved_49_62:14;
3620 uint64_t rst:1;
3621#endif
3622 } s;
3623 struct cvmx_ciu2_en_ppx_ip4_mio_w1s_s cn68xx;
3624 struct cvmx_ciu2_en_ppx_ip4_mio_w1s_s cn68xxp1;
3625};
3626
3627union cvmx_ciu2_en_ppx_ip4_pkt {
3628 uint64_t u64;
3629 struct cvmx_ciu2_en_ppx_ip4_pkt_s {
3630#ifdef __BIG_ENDIAN_BITFIELD
3631 uint64_t reserved_54_63:10;
3632 uint64_t ilk_drp:2;
3633 uint64_t reserved_49_51:3;
3634 uint64_t ilk:1;
3635 uint64_t reserved_41_47:7;
3636 uint64_t mii:1;
3637 uint64_t reserved_33_39:7;
3638 uint64_t agl:1;
3639 uint64_t reserved_13_31:19;
3640 uint64_t gmx_drp:5;
3641 uint64_t reserved_5_7:3;
3642 uint64_t agx:5;
3643#else
3644 uint64_t agx:5;
3645 uint64_t reserved_5_7:3;
3646 uint64_t gmx_drp:5;
3647 uint64_t reserved_13_31:19;
3648 uint64_t agl:1;
3649 uint64_t reserved_33_39:7;
3650 uint64_t mii:1;
3651 uint64_t reserved_41_47:7;
3652 uint64_t ilk:1;
3653 uint64_t reserved_49_51:3;
3654 uint64_t ilk_drp:2;
3655 uint64_t reserved_54_63:10;
3656#endif
3657 } s;
3658 struct cvmx_ciu2_en_ppx_ip4_pkt_s cn68xx;
3659 struct cvmx_ciu2_en_ppx_ip4_pkt_cn68xxp1 {
3660#ifdef __BIG_ENDIAN_BITFIELD
3661 uint64_t reserved_49_63:15;
3662 uint64_t ilk:1;
3663 uint64_t reserved_41_47:7;
3664 uint64_t mii:1;
3665 uint64_t reserved_33_39:7;
3666 uint64_t agl:1;
3667 uint64_t reserved_13_31:19;
3668 uint64_t gmx_drp:5;
3669 uint64_t reserved_5_7:3;
3670 uint64_t agx:5;
3671#else
3672 uint64_t agx:5;
3673 uint64_t reserved_5_7:3;
3674 uint64_t gmx_drp:5;
3675 uint64_t reserved_13_31:19;
3676 uint64_t agl:1;
3677 uint64_t reserved_33_39:7;
3678 uint64_t mii:1;
3679 uint64_t reserved_41_47:7;
3680 uint64_t ilk:1;
3681 uint64_t reserved_49_63:15;
3682#endif
3683 } cn68xxp1;
3684};
3685
3686union cvmx_ciu2_en_ppx_ip4_pkt_w1c {
3687 uint64_t u64;
3688 struct cvmx_ciu2_en_ppx_ip4_pkt_w1c_s {
3689#ifdef __BIG_ENDIAN_BITFIELD
3690 uint64_t reserved_54_63:10;
3691 uint64_t ilk_drp:2;
3692 uint64_t reserved_49_51:3;
3693 uint64_t ilk:1;
3694 uint64_t reserved_41_47:7;
3695 uint64_t mii:1;
3696 uint64_t reserved_33_39:7;
3697 uint64_t agl:1;
3698 uint64_t reserved_13_31:19;
3699 uint64_t gmx_drp:5;
3700 uint64_t reserved_5_7:3;
3701 uint64_t agx:5;
3702#else
3703 uint64_t agx:5;
3704 uint64_t reserved_5_7:3;
3705 uint64_t gmx_drp:5;
3706 uint64_t reserved_13_31:19;
3707 uint64_t agl:1;
3708 uint64_t reserved_33_39:7;
3709 uint64_t mii:1;
3710 uint64_t reserved_41_47:7;
3711 uint64_t ilk:1;
3712 uint64_t reserved_49_51:3;
3713 uint64_t ilk_drp:2;
3714 uint64_t reserved_54_63:10;
3715#endif
3716 } s;
3717 struct cvmx_ciu2_en_ppx_ip4_pkt_w1c_s cn68xx;
3718 struct cvmx_ciu2_en_ppx_ip4_pkt_w1c_cn68xxp1 {
3719#ifdef __BIG_ENDIAN_BITFIELD
3720 uint64_t reserved_49_63:15;
3721 uint64_t ilk:1;
3722 uint64_t reserved_41_47:7;
3723 uint64_t mii:1;
3724 uint64_t reserved_33_39:7;
3725 uint64_t agl:1;
3726 uint64_t reserved_13_31:19;
3727 uint64_t gmx_drp:5;
3728 uint64_t reserved_5_7:3;
3729 uint64_t agx:5;
3730#else
3731 uint64_t agx:5;
3732 uint64_t reserved_5_7:3;
3733 uint64_t gmx_drp:5;
3734 uint64_t reserved_13_31:19;
3735 uint64_t agl:1;
3736 uint64_t reserved_33_39:7;
3737 uint64_t mii:1;
3738 uint64_t reserved_41_47:7;
3739 uint64_t ilk:1;
3740 uint64_t reserved_49_63:15;
3741#endif
3742 } cn68xxp1;
3743};
3744
3745union cvmx_ciu2_en_ppx_ip4_pkt_w1s {
3746 uint64_t u64;
3747 struct cvmx_ciu2_en_ppx_ip4_pkt_w1s_s {
3748#ifdef __BIG_ENDIAN_BITFIELD
3749 uint64_t reserved_54_63:10;
3750 uint64_t ilk_drp:2;
3751 uint64_t reserved_49_51:3;
3752 uint64_t ilk:1;
3753 uint64_t reserved_41_47:7;
3754 uint64_t mii:1;
3755 uint64_t reserved_33_39:7;
3756 uint64_t agl:1;
3757 uint64_t reserved_13_31:19;
3758 uint64_t gmx_drp:5;
3759 uint64_t reserved_5_7:3;
3760 uint64_t agx:5;
3761#else
3762 uint64_t agx:5;
3763 uint64_t reserved_5_7:3;
3764 uint64_t gmx_drp:5;
3765 uint64_t reserved_13_31:19;
3766 uint64_t agl:1;
3767 uint64_t reserved_33_39:7;
3768 uint64_t mii:1;
3769 uint64_t reserved_41_47:7;
3770 uint64_t ilk:1;
3771 uint64_t reserved_49_51:3;
3772 uint64_t ilk_drp:2;
3773 uint64_t reserved_54_63:10;
3774#endif
3775 } s;
3776 struct cvmx_ciu2_en_ppx_ip4_pkt_w1s_s cn68xx;
3777 struct cvmx_ciu2_en_ppx_ip4_pkt_w1s_cn68xxp1 {
3778#ifdef __BIG_ENDIAN_BITFIELD
3779 uint64_t reserved_49_63:15;
3780 uint64_t ilk:1;
3781 uint64_t reserved_41_47:7;
3782 uint64_t mii:1;
3783 uint64_t reserved_33_39:7;
3784 uint64_t agl:1;
3785 uint64_t reserved_13_31:19;
3786 uint64_t gmx_drp:5;
3787 uint64_t reserved_5_7:3;
3788 uint64_t agx:5;
3789#else
3790 uint64_t agx:5;
3791 uint64_t reserved_5_7:3;
3792 uint64_t gmx_drp:5;
3793 uint64_t reserved_13_31:19;
3794 uint64_t agl:1;
3795 uint64_t reserved_33_39:7;
3796 uint64_t mii:1;
3797 uint64_t reserved_41_47:7;
3798 uint64_t ilk:1;
3799 uint64_t reserved_49_63:15;
3800#endif
3801 } cn68xxp1;
3802};
3803
3804union cvmx_ciu2_en_ppx_ip4_rml {
3805 uint64_t u64;
3806 struct cvmx_ciu2_en_ppx_ip4_rml_s {
3807#ifdef __BIG_ENDIAN_BITFIELD
3808 uint64_t reserved_56_63:8;
3809 uint64_t trace:4;
3810 uint64_t reserved_49_51:3;
3811 uint64_t l2c:1;
3812 uint64_t reserved_41_47:7;
3813 uint64_t dfa:1;
3814 uint64_t reserved_37_39:3;
3815 uint64_t dpi_dma:1;
3816 uint64_t reserved_34_35:2;
3817 uint64_t dpi:1;
3818 uint64_t sli:1;
3819 uint64_t reserved_31_31:1;
3820 uint64_t key:1;
3821 uint64_t rad:1;
3822 uint64_t tim:1;
3823 uint64_t reserved_25_27:3;
3824 uint64_t zip:1;
3825 uint64_t reserved_17_23:7;
3826 uint64_t sso:1;
3827 uint64_t reserved_8_15:8;
3828 uint64_t pko:1;
3829 uint64_t pip:1;
3830 uint64_t ipd:1;
3831 uint64_t fpa:1;
3832 uint64_t reserved_1_3:3;
3833 uint64_t iob:1;
3834#else
3835 uint64_t iob:1;
3836 uint64_t reserved_1_3:3;
3837 uint64_t fpa:1;
3838 uint64_t ipd:1;
3839 uint64_t pip:1;
3840 uint64_t pko:1;
3841 uint64_t reserved_8_15:8;
3842 uint64_t sso:1;
3843 uint64_t reserved_17_23:7;
3844 uint64_t zip:1;
3845 uint64_t reserved_25_27:3;
3846 uint64_t tim:1;
3847 uint64_t rad:1;
3848 uint64_t key:1;
3849 uint64_t reserved_31_31:1;
3850 uint64_t sli:1;
3851 uint64_t dpi:1;
3852 uint64_t reserved_34_35:2;
3853 uint64_t dpi_dma:1;
3854 uint64_t reserved_37_39:3;
3855 uint64_t dfa:1;
3856 uint64_t reserved_41_47:7;
3857 uint64_t l2c:1;
3858 uint64_t reserved_49_51:3;
3859 uint64_t trace:4;
3860 uint64_t reserved_56_63:8;
3861#endif
3862 } s;
3863 struct cvmx_ciu2_en_ppx_ip4_rml_s cn68xx;
3864 struct cvmx_ciu2_en_ppx_ip4_rml_cn68xxp1 {
3865#ifdef __BIG_ENDIAN_BITFIELD
3866 uint64_t reserved_56_63:8;
3867 uint64_t trace:4;
3868 uint64_t reserved_49_51:3;
3869 uint64_t l2c:1;
3870 uint64_t reserved_41_47:7;
3871 uint64_t dfa:1;
3872 uint64_t reserved_34_39:6;
3873 uint64_t dpi:1;
3874 uint64_t sli:1;
3875 uint64_t reserved_31_31:1;
3876 uint64_t key:1;
3877 uint64_t rad:1;
3878 uint64_t tim:1;
3879 uint64_t reserved_25_27:3;
3880 uint64_t zip:1;
3881 uint64_t reserved_17_23:7;
3882 uint64_t sso:1;
3883 uint64_t reserved_8_15:8;
3884 uint64_t pko:1;
3885 uint64_t pip:1;
3886 uint64_t ipd:1;
3887 uint64_t fpa:1;
3888 uint64_t reserved_1_3:3;
3889 uint64_t iob:1;
3890#else
3891 uint64_t iob:1;
3892 uint64_t reserved_1_3:3;
3893 uint64_t fpa:1;
3894 uint64_t ipd:1;
3895 uint64_t pip:1;
3896 uint64_t pko:1;
3897 uint64_t reserved_8_15:8;
3898 uint64_t sso:1;
3899 uint64_t reserved_17_23:7;
3900 uint64_t zip:1;
3901 uint64_t reserved_25_27:3;
3902 uint64_t tim:1;
3903 uint64_t rad:1;
3904 uint64_t key:1;
3905 uint64_t reserved_31_31:1;
3906 uint64_t sli:1;
3907 uint64_t dpi:1;
3908 uint64_t reserved_34_39:6;
3909 uint64_t dfa:1;
3910 uint64_t reserved_41_47:7;
3911 uint64_t l2c:1;
3912 uint64_t reserved_49_51:3;
3913 uint64_t trace:4;
3914 uint64_t reserved_56_63:8;
3915#endif
3916 } cn68xxp1;
3917};
3918
3919union cvmx_ciu2_en_ppx_ip4_rml_w1c {
3920 uint64_t u64;
3921 struct cvmx_ciu2_en_ppx_ip4_rml_w1c_s {
3922#ifdef __BIG_ENDIAN_BITFIELD
3923 uint64_t reserved_56_63:8;
3924 uint64_t trace:4;
3925 uint64_t reserved_49_51:3;
3926 uint64_t l2c:1;
3927 uint64_t reserved_41_47:7;
3928 uint64_t dfa:1;
3929 uint64_t reserved_37_39:3;
3930 uint64_t dpi_dma:1;
3931 uint64_t reserved_34_35:2;
3932 uint64_t dpi:1;
3933 uint64_t sli:1;
3934 uint64_t reserved_31_31:1;
3935 uint64_t key:1;
3936 uint64_t rad:1;
3937 uint64_t tim:1;
3938 uint64_t reserved_25_27:3;
3939 uint64_t zip:1;
3940 uint64_t reserved_17_23:7;
3941 uint64_t sso:1;
3942 uint64_t reserved_8_15:8;
3943 uint64_t pko:1;
3944 uint64_t pip:1;
3945 uint64_t ipd:1;
3946 uint64_t fpa:1;
3947 uint64_t reserved_1_3:3;
3948 uint64_t iob:1;
3949#else
3950 uint64_t iob:1;
3951 uint64_t reserved_1_3:3;
3952 uint64_t fpa:1;
3953 uint64_t ipd:1;
3954 uint64_t pip:1;
3955 uint64_t pko:1;
3956 uint64_t reserved_8_15:8;
3957 uint64_t sso:1;
3958 uint64_t reserved_17_23:7;
3959 uint64_t zip:1;
3960 uint64_t reserved_25_27:3;
3961 uint64_t tim:1;
3962 uint64_t rad:1;
3963 uint64_t key:1;
3964 uint64_t reserved_31_31:1;
3965 uint64_t sli:1;
3966 uint64_t dpi:1;
3967 uint64_t reserved_34_35:2;
3968 uint64_t dpi_dma:1;
3969 uint64_t reserved_37_39:3;
3970 uint64_t dfa:1;
3971 uint64_t reserved_41_47:7;
3972 uint64_t l2c:1;
3973 uint64_t reserved_49_51:3;
3974 uint64_t trace:4;
3975 uint64_t reserved_56_63:8;
3976#endif
3977 } s;
3978 struct cvmx_ciu2_en_ppx_ip4_rml_w1c_s cn68xx;
3979 struct cvmx_ciu2_en_ppx_ip4_rml_w1c_cn68xxp1 {
3980#ifdef __BIG_ENDIAN_BITFIELD
3981 uint64_t reserved_56_63:8;
3982 uint64_t trace:4;
3983 uint64_t reserved_49_51:3;
3984 uint64_t l2c:1;
3985 uint64_t reserved_41_47:7;
3986 uint64_t dfa:1;
3987 uint64_t reserved_34_39:6;
3988 uint64_t dpi:1;
3989 uint64_t sli:1;
3990 uint64_t reserved_31_31:1;
3991 uint64_t key:1;
3992 uint64_t rad:1;
3993 uint64_t tim:1;
3994 uint64_t reserved_25_27:3;
3995 uint64_t zip:1;
3996 uint64_t reserved_17_23:7;
3997 uint64_t sso:1;
3998 uint64_t reserved_8_15:8;
3999 uint64_t pko:1;
4000 uint64_t pip:1;
4001 uint64_t ipd:1;
4002 uint64_t fpa:1;
4003 uint64_t reserved_1_3:3;
4004 uint64_t iob:1;
4005#else
4006 uint64_t iob:1;
4007 uint64_t reserved_1_3:3;
4008 uint64_t fpa:1;
4009 uint64_t ipd:1;
4010 uint64_t pip:1;
4011 uint64_t pko:1;
4012 uint64_t reserved_8_15:8;
4013 uint64_t sso:1;
4014 uint64_t reserved_17_23:7;
4015 uint64_t zip:1;
4016 uint64_t reserved_25_27:3;
4017 uint64_t tim:1;
4018 uint64_t rad:1;
4019 uint64_t key:1;
4020 uint64_t reserved_31_31:1;
4021 uint64_t sli:1;
4022 uint64_t dpi:1;
4023 uint64_t reserved_34_39:6;
4024 uint64_t dfa:1;
4025 uint64_t reserved_41_47:7;
4026 uint64_t l2c:1;
4027 uint64_t reserved_49_51:3;
4028 uint64_t trace:4;
4029 uint64_t reserved_56_63:8;
4030#endif
4031 } cn68xxp1;
4032};
4033
4034union cvmx_ciu2_en_ppx_ip4_rml_w1s {
4035 uint64_t u64;
4036 struct cvmx_ciu2_en_ppx_ip4_rml_w1s_s {
4037#ifdef __BIG_ENDIAN_BITFIELD
4038 uint64_t reserved_56_63:8;
4039 uint64_t trace:4;
4040 uint64_t reserved_49_51:3;
4041 uint64_t l2c:1;
4042 uint64_t reserved_41_47:7;
4043 uint64_t dfa:1;
4044 uint64_t reserved_37_39:3;
4045 uint64_t dpi_dma:1;
4046 uint64_t reserved_34_35:2;
4047 uint64_t dpi:1;
4048 uint64_t sli:1;
4049 uint64_t reserved_31_31:1;
4050 uint64_t key:1;
4051 uint64_t rad:1;
4052 uint64_t tim:1;
4053 uint64_t reserved_25_27:3;
4054 uint64_t zip:1;
4055 uint64_t reserved_17_23:7;
4056 uint64_t sso:1;
4057 uint64_t reserved_8_15:8;
4058 uint64_t pko:1;
4059 uint64_t pip:1;
4060 uint64_t ipd:1;
4061 uint64_t fpa:1;
4062 uint64_t reserved_1_3:3;
4063 uint64_t iob:1;
4064#else
4065 uint64_t iob:1;
4066 uint64_t reserved_1_3:3;
4067 uint64_t fpa:1;
4068 uint64_t ipd:1;
4069 uint64_t pip:1;
4070 uint64_t pko:1;
4071 uint64_t reserved_8_15:8;
4072 uint64_t sso:1;
4073 uint64_t reserved_17_23:7;
4074 uint64_t zip:1;
4075 uint64_t reserved_25_27:3;
4076 uint64_t tim:1;
4077 uint64_t rad:1;
4078 uint64_t key:1;
4079 uint64_t reserved_31_31:1;
4080 uint64_t sli:1;
4081 uint64_t dpi:1;
4082 uint64_t reserved_34_35:2;
4083 uint64_t dpi_dma:1;
4084 uint64_t reserved_37_39:3;
4085 uint64_t dfa:1;
4086 uint64_t reserved_41_47:7;
4087 uint64_t l2c:1;
4088 uint64_t reserved_49_51:3;
4089 uint64_t trace:4;
4090 uint64_t reserved_56_63:8;
4091#endif
4092 } s;
4093 struct cvmx_ciu2_en_ppx_ip4_rml_w1s_s cn68xx;
4094 struct cvmx_ciu2_en_ppx_ip4_rml_w1s_cn68xxp1 {
4095#ifdef __BIG_ENDIAN_BITFIELD
4096 uint64_t reserved_56_63:8;
4097 uint64_t trace:4;
4098 uint64_t reserved_49_51:3;
4099 uint64_t l2c:1;
4100 uint64_t reserved_41_47:7;
4101 uint64_t dfa:1;
4102 uint64_t reserved_34_39:6;
4103 uint64_t dpi:1;
4104 uint64_t sli:1;
4105 uint64_t reserved_31_31:1;
4106 uint64_t key:1;
4107 uint64_t rad:1;
4108 uint64_t tim:1;
4109 uint64_t reserved_25_27:3;
4110 uint64_t zip:1;
4111 uint64_t reserved_17_23:7;
4112 uint64_t sso:1;
4113 uint64_t reserved_8_15:8;
4114 uint64_t pko:1;
4115 uint64_t pip:1;
4116 uint64_t ipd:1;
4117 uint64_t fpa:1;
4118 uint64_t reserved_1_3:3;
4119 uint64_t iob:1;
4120#else
4121 uint64_t iob:1;
4122 uint64_t reserved_1_3:3;
4123 uint64_t fpa:1;
4124 uint64_t ipd:1;
4125 uint64_t pip:1;
4126 uint64_t pko:1;
4127 uint64_t reserved_8_15:8;
4128 uint64_t sso:1;
4129 uint64_t reserved_17_23:7;
4130 uint64_t zip:1;
4131 uint64_t reserved_25_27:3;
4132 uint64_t tim:1;
4133 uint64_t rad:1;
4134 uint64_t key:1;
4135 uint64_t reserved_31_31:1;
4136 uint64_t sli:1;
4137 uint64_t dpi:1;
4138 uint64_t reserved_34_39:6;
4139 uint64_t dfa:1;
4140 uint64_t reserved_41_47:7;
4141 uint64_t l2c:1;
4142 uint64_t reserved_49_51:3;
4143 uint64_t trace:4;
4144 uint64_t reserved_56_63:8;
4145#endif
4146 } cn68xxp1;
4147};
4148
4149union cvmx_ciu2_en_ppx_ip4_wdog {
4150 uint64_t u64;
4151 struct cvmx_ciu2_en_ppx_ip4_wdog_s {
4152#ifdef __BIG_ENDIAN_BITFIELD
4153 uint64_t reserved_32_63:32;
4154 uint64_t wdog:32;
4155#else
4156 uint64_t wdog:32;
4157 uint64_t reserved_32_63:32;
4158#endif
4159 } s;
4160 struct cvmx_ciu2_en_ppx_ip4_wdog_s cn68xx;
4161 struct cvmx_ciu2_en_ppx_ip4_wdog_s cn68xxp1;
4162};
4163
4164union cvmx_ciu2_en_ppx_ip4_wdog_w1c {
4165 uint64_t u64;
4166 struct cvmx_ciu2_en_ppx_ip4_wdog_w1c_s {
4167#ifdef __BIG_ENDIAN_BITFIELD
4168 uint64_t reserved_32_63:32;
4169 uint64_t wdog:32;
4170#else
4171 uint64_t wdog:32;
4172 uint64_t reserved_32_63:32;
4173#endif
4174 } s;
4175 struct cvmx_ciu2_en_ppx_ip4_wdog_w1c_s cn68xx;
4176 struct cvmx_ciu2_en_ppx_ip4_wdog_w1c_s cn68xxp1;
4177};
4178
4179union cvmx_ciu2_en_ppx_ip4_wdog_w1s {
4180 uint64_t u64;
4181 struct cvmx_ciu2_en_ppx_ip4_wdog_w1s_s {
4182#ifdef __BIG_ENDIAN_BITFIELD
4183 uint64_t reserved_32_63:32;
4184 uint64_t wdog:32;
4185#else
4186 uint64_t wdog:32;
4187 uint64_t reserved_32_63:32;
4188#endif
4189 } s;
4190 struct cvmx_ciu2_en_ppx_ip4_wdog_w1s_s cn68xx;
4191 struct cvmx_ciu2_en_ppx_ip4_wdog_w1s_s cn68xxp1;
4192};
4193
4194union cvmx_ciu2_en_ppx_ip4_wrkq {
4195 uint64_t u64;
4196 struct cvmx_ciu2_en_ppx_ip4_wrkq_s {
4197#ifdef __BIG_ENDIAN_BITFIELD
4198 uint64_t workq:64;
4199#else
4200 uint64_t workq:64;
4201#endif
4202 } s;
4203 struct cvmx_ciu2_en_ppx_ip4_wrkq_s cn68xx;
4204 struct cvmx_ciu2_en_ppx_ip4_wrkq_s cn68xxp1;
4205};
4206
4207union cvmx_ciu2_en_ppx_ip4_wrkq_w1c {
4208 uint64_t u64;
4209 struct cvmx_ciu2_en_ppx_ip4_wrkq_w1c_s {
4210#ifdef __BIG_ENDIAN_BITFIELD
4211 uint64_t workq:64;
4212#else
4213 uint64_t workq:64;
4214#endif
4215 } s;
4216 struct cvmx_ciu2_en_ppx_ip4_wrkq_w1c_s cn68xx;
4217 struct cvmx_ciu2_en_ppx_ip4_wrkq_w1c_s cn68xxp1;
4218};
4219
4220union cvmx_ciu2_en_ppx_ip4_wrkq_w1s {
4221 uint64_t u64;
4222 struct cvmx_ciu2_en_ppx_ip4_wrkq_w1s_s {
4223#ifdef __BIG_ENDIAN_BITFIELD
4224 uint64_t workq:64;
4225#else
4226 uint64_t workq:64;
4227#endif
4228 } s;
4229 struct cvmx_ciu2_en_ppx_ip4_wrkq_w1s_s cn68xx;
4230 struct cvmx_ciu2_en_ppx_ip4_wrkq_w1s_s cn68xxp1;
4231};
4232
4233union cvmx_ciu2_intr_ciu_ready {
4234 uint64_t u64;
4235 struct cvmx_ciu2_intr_ciu_ready_s {
4236#ifdef __BIG_ENDIAN_BITFIELD
4237 uint64_t reserved_1_63:63;
4238 uint64_t ready:1;
4239#else
4240 uint64_t ready:1;
4241 uint64_t reserved_1_63:63;
4242#endif
4243 } s;
4244 struct cvmx_ciu2_intr_ciu_ready_s cn68xx;
4245 struct cvmx_ciu2_intr_ciu_ready_s cn68xxp1;
4246};
4247
4248union cvmx_ciu2_intr_ram_ecc_ctl {
4249 uint64_t u64;
4250 struct cvmx_ciu2_intr_ram_ecc_ctl_s {
4251#ifdef __BIG_ENDIAN_BITFIELD
4252 uint64_t reserved_3_63:61;
4253 uint64_t flip_synd:2;
4254 uint64_t ecc_ena:1;
4255#else
4256 uint64_t ecc_ena:1;
4257 uint64_t flip_synd:2;
4258 uint64_t reserved_3_63:61;
4259#endif
4260 } s;
4261 struct cvmx_ciu2_intr_ram_ecc_ctl_s cn68xx;
4262 struct cvmx_ciu2_intr_ram_ecc_ctl_s cn68xxp1;
4263};
4264
4265union cvmx_ciu2_intr_ram_ecc_st {
4266 uint64_t u64;
4267 struct cvmx_ciu2_intr_ram_ecc_st_s {
4268#ifdef __BIG_ENDIAN_BITFIELD
4269 uint64_t reserved_23_63:41;
4270 uint64_t addr:7;
4271 uint64_t reserved_13_15:3;
4272 uint64_t syndrom:9;
4273 uint64_t reserved_2_3:2;
4274 uint64_t dbe:1;
4275 uint64_t sbe:1;
4276#else
4277 uint64_t sbe:1;
4278 uint64_t dbe:1;
4279 uint64_t reserved_2_3:2;
4280 uint64_t syndrom:9;
4281 uint64_t reserved_13_15:3;
4282 uint64_t addr:7;
4283 uint64_t reserved_23_63:41;
4284#endif
4285 } s;
4286 struct cvmx_ciu2_intr_ram_ecc_st_s cn68xx;
4287 struct cvmx_ciu2_intr_ram_ecc_st_s cn68xxp1;
4288};
4289
4290union cvmx_ciu2_intr_slowdown {
4291 uint64_t u64;
4292 struct cvmx_ciu2_intr_slowdown_s {
4293#ifdef __BIG_ENDIAN_BITFIELD
4294 uint64_t reserved_3_63:61;
4295 uint64_t ctl:3;
4296#else
4297 uint64_t ctl:3;
4298 uint64_t reserved_3_63:61;
4299#endif
4300 } s;
4301 struct cvmx_ciu2_intr_slowdown_s cn68xx;
4302 struct cvmx_ciu2_intr_slowdown_s cn68xxp1;
4303};
4304
4305union cvmx_ciu2_msi_rcvx {
4306 uint64_t u64;
4307 struct cvmx_ciu2_msi_rcvx_s {
4308#ifdef __BIG_ENDIAN_BITFIELD
4309 uint64_t reserved_1_63:63;
4310 uint64_t msi_rcv:1;
4311#else
4312 uint64_t msi_rcv:1;
4313 uint64_t reserved_1_63:63;
4314#endif
4315 } s;
4316 struct cvmx_ciu2_msi_rcvx_s cn68xx;
4317 struct cvmx_ciu2_msi_rcvx_s cn68xxp1;
4318};
4319
4320union cvmx_ciu2_msi_selx {
4321 uint64_t u64;
4322 struct cvmx_ciu2_msi_selx_s {
4323#ifdef __BIG_ENDIAN_BITFIELD
4324 uint64_t reserved_13_63:51;
4325 uint64_t pp_num:5;
4326 uint64_t reserved_6_7:2;
4327 uint64_t ip_num:2;
4328 uint64_t reserved_1_3:3;
4329 uint64_t en:1;
4330#else
4331 uint64_t en:1;
4332 uint64_t reserved_1_3:3;
4333 uint64_t ip_num:2;
4334 uint64_t reserved_6_7:2;
4335 uint64_t pp_num:5;
4336 uint64_t reserved_13_63:51;
4337#endif
4338 } s;
4339 struct cvmx_ciu2_msi_selx_s cn68xx;
4340 struct cvmx_ciu2_msi_selx_s cn68xxp1;
4341};
4342
4343union cvmx_ciu2_msired_ppx_ip2 {
4344 uint64_t u64;
4345 struct cvmx_ciu2_msired_ppx_ip2_s {
4346#ifdef __BIG_ENDIAN_BITFIELD
4347 uint64_t reserved_21_63:43;
4348 uint64_t intr:1;
4349 uint64_t reserved_17_19:3;
4350 uint64_t newint:1;
4351 uint64_t reserved_8_15:8;
4352 uint64_t msi_num:8;
4353#else
4354 uint64_t msi_num:8;
4355 uint64_t reserved_8_15:8;
4356 uint64_t newint:1;
4357 uint64_t reserved_17_19:3;
4358 uint64_t intr:1;
4359 uint64_t reserved_21_63:43;
4360#endif
4361 } s;
4362 struct cvmx_ciu2_msired_ppx_ip2_s cn68xx;
4363 struct cvmx_ciu2_msired_ppx_ip2_s cn68xxp1;
4364};
4365
4366union cvmx_ciu2_msired_ppx_ip3 {
4367 uint64_t u64;
4368 struct cvmx_ciu2_msired_ppx_ip3_s {
4369#ifdef __BIG_ENDIAN_BITFIELD
4370 uint64_t reserved_21_63:43;
4371 uint64_t intr:1;
4372 uint64_t reserved_17_19:3;
4373 uint64_t newint:1;
4374 uint64_t reserved_8_15:8;
4375 uint64_t msi_num:8;
4376#else
4377 uint64_t msi_num:8;
4378 uint64_t reserved_8_15:8;
4379 uint64_t newint:1;
4380 uint64_t reserved_17_19:3;
4381 uint64_t intr:1;
4382 uint64_t reserved_21_63:43;
4383#endif
4384 } s;
4385 struct cvmx_ciu2_msired_ppx_ip3_s cn68xx;
4386 struct cvmx_ciu2_msired_ppx_ip3_s cn68xxp1;
4387};
4388
4389union cvmx_ciu2_msired_ppx_ip4 {
4390 uint64_t u64;
4391 struct cvmx_ciu2_msired_ppx_ip4_s {
4392#ifdef __BIG_ENDIAN_BITFIELD
4393 uint64_t reserved_21_63:43;
4394 uint64_t intr:1;
4395 uint64_t reserved_17_19:3;
4396 uint64_t newint:1;
4397 uint64_t reserved_8_15:8;
4398 uint64_t msi_num:8;
4399#else
4400 uint64_t msi_num:8;
4401 uint64_t reserved_8_15:8;
4402 uint64_t newint:1;
4403 uint64_t reserved_17_19:3;
4404 uint64_t intr:1;
4405 uint64_t reserved_21_63:43;
4406#endif
4407 } s;
4408 struct cvmx_ciu2_msired_ppx_ip4_s cn68xx;
4409 struct cvmx_ciu2_msired_ppx_ip4_s cn68xxp1;
4410};
4411
4412union cvmx_ciu2_raw_iox_int_gpio {
4413 uint64_t u64;
4414 struct cvmx_ciu2_raw_iox_int_gpio_s {
4415#ifdef __BIG_ENDIAN_BITFIELD
4416 uint64_t reserved_16_63:48;
4417 uint64_t gpio:16;
4418#else
4419 uint64_t gpio:16;
4420 uint64_t reserved_16_63:48;
4421#endif
4422 } s;
4423 struct cvmx_ciu2_raw_iox_int_gpio_s cn68xx;
4424 struct cvmx_ciu2_raw_iox_int_gpio_s cn68xxp1;
4425};
4426
4427union cvmx_ciu2_raw_iox_int_io {
4428 uint64_t u64;
4429 struct cvmx_ciu2_raw_iox_int_io_s {
4430#ifdef __BIG_ENDIAN_BITFIELD
4431 uint64_t reserved_34_63:30;
4432 uint64_t pem:2;
4433 uint64_t reserved_18_31:14;
4434 uint64_t pci_inta:2;
4435 uint64_t reserved_13_15:3;
4436 uint64_t msired:1;
4437 uint64_t pci_msi:4;
4438 uint64_t reserved_4_7:4;
4439 uint64_t pci_intr:4;
4440#else
4441 uint64_t pci_intr:4;
4442 uint64_t reserved_4_7:4;
4443 uint64_t pci_msi:4;
4444 uint64_t msired:1;
4445 uint64_t reserved_13_15:3;
4446 uint64_t pci_inta:2;
4447 uint64_t reserved_18_31:14;
4448 uint64_t pem:2;
4449 uint64_t reserved_34_63:30;
4450#endif
4451 } s;
4452 struct cvmx_ciu2_raw_iox_int_io_s cn68xx;
4453 struct cvmx_ciu2_raw_iox_int_io_s cn68xxp1;
4454};
4455
4456union cvmx_ciu2_raw_iox_int_mem {
4457 uint64_t u64;
4458 struct cvmx_ciu2_raw_iox_int_mem_s {
4459#ifdef __BIG_ENDIAN_BITFIELD
4460 uint64_t reserved_4_63:60;
4461 uint64_t lmc:4;
4462#else
4463 uint64_t lmc:4;
4464 uint64_t reserved_4_63:60;
4465#endif
4466 } s;
4467 struct cvmx_ciu2_raw_iox_int_mem_s cn68xx;
4468 struct cvmx_ciu2_raw_iox_int_mem_s cn68xxp1;
4469};
4470
4471union cvmx_ciu2_raw_iox_int_mio {
4472 uint64_t u64;
4473 struct cvmx_ciu2_raw_iox_int_mio_s {
4474#ifdef __BIG_ENDIAN_BITFIELD
4475 uint64_t rst:1;
4476 uint64_t reserved_49_62:14;
4477 uint64_t ptp:1;
4478 uint64_t reserved_45_47:3;
4479 uint64_t usb_hci:1;
4480 uint64_t reserved_41_43:3;
4481 uint64_t usb_uctl:1;
4482 uint64_t reserved_38_39:2;
4483 uint64_t uart:2;
4484 uint64_t reserved_34_35:2;
4485 uint64_t twsi:2;
4486 uint64_t reserved_19_31:13;
4487 uint64_t bootdma:1;
4488 uint64_t mio:1;
4489 uint64_t nand:1;
4490 uint64_t reserved_12_15:4;
4491 uint64_t timer:4;
4492 uint64_t reserved_3_7:5;
4493 uint64_t ipd_drp:1;
4494 uint64_t ssoiq:1;
4495 uint64_t ipdppthr:1;
4496#else
4497 uint64_t ipdppthr:1;
4498 uint64_t ssoiq:1;
4499 uint64_t ipd_drp:1;
4500 uint64_t reserved_3_7:5;
4501 uint64_t timer:4;
4502 uint64_t reserved_12_15:4;
4503 uint64_t nand:1;
4504 uint64_t mio:1;
4505 uint64_t bootdma:1;
4506 uint64_t reserved_19_31:13;
4507 uint64_t twsi:2;
4508 uint64_t reserved_34_35:2;
4509 uint64_t uart:2;
4510 uint64_t reserved_38_39:2;
4511 uint64_t usb_uctl:1;
4512 uint64_t reserved_41_43:3;
4513 uint64_t usb_hci:1;
4514 uint64_t reserved_45_47:3;
4515 uint64_t ptp:1;
4516 uint64_t reserved_49_62:14;
4517 uint64_t rst:1;
4518#endif
4519 } s;
4520 struct cvmx_ciu2_raw_iox_int_mio_s cn68xx;
4521 struct cvmx_ciu2_raw_iox_int_mio_s cn68xxp1;
4522};
4523
4524union cvmx_ciu2_raw_iox_int_pkt {
4525 uint64_t u64;
4526 struct cvmx_ciu2_raw_iox_int_pkt_s {
4527#ifdef __BIG_ENDIAN_BITFIELD
4528 uint64_t reserved_54_63:10;
4529 uint64_t ilk_drp:2;
4530 uint64_t reserved_49_51:3;
4531 uint64_t ilk:1;
4532 uint64_t reserved_41_47:7;
4533 uint64_t mii:1;
4534 uint64_t reserved_33_39:7;
4535 uint64_t agl:1;
4536 uint64_t reserved_13_31:19;
4537 uint64_t gmx_drp:5;
4538 uint64_t reserved_5_7:3;
4539 uint64_t agx:5;
4540#else
4541 uint64_t agx:5;
4542 uint64_t reserved_5_7:3;
4543 uint64_t gmx_drp:5;
4544 uint64_t reserved_13_31:19;
4545 uint64_t agl:1;
4546 uint64_t reserved_33_39:7;
4547 uint64_t mii:1;
4548 uint64_t reserved_41_47:7;
4549 uint64_t ilk:1;
4550 uint64_t reserved_49_51:3;
4551 uint64_t ilk_drp:2;
4552 uint64_t reserved_54_63:10;
4553#endif
4554 } s;
4555 struct cvmx_ciu2_raw_iox_int_pkt_s cn68xx;
4556 struct cvmx_ciu2_raw_iox_int_pkt_cn68xxp1 {
4557#ifdef __BIG_ENDIAN_BITFIELD
4558 uint64_t reserved_49_63:15;
4559 uint64_t ilk:1;
4560 uint64_t reserved_41_47:7;
4561 uint64_t mii:1;
4562 uint64_t reserved_33_39:7;
4563 uint64_t agl:1;
4564 uint64_t reserved_13_31:19;
4565 uint64_t gmx_drp:5;
4566 uint64_t reserved_5_7:3;
4567 uint64_t agx:5;
4568#else
4569 uint64_t agx:5;
4570 uint64_t reserved_5_7:3;
4571 uint64_t gmx_drp:5;
4572 uint64_t reserved_13_31:19;
4573 uint64_t agl:1;
4574 uint64_t reserved_33_39:7;
4575 uint64_t mii:1;
4576 uint64_t reserved_41_47:7;
4577 uint64_t ilk:1;
4578 uint64_t reserved_49_63:15;
4579#endif
4580 } cn68xxp1;
4581};
4582
4583union cvmx_ciu2_raw_iox_int_rml {
4584 uint64_t u64;
4585 struct cvmx_ciu2_raw_iox_int_rml_s {
4586#ifdef __BIG_ENDIAN_BITFIELD
4587 uint64_t reserved_56_63:8;
4588 uint64_t trace:4;
4589 uint64_t reserved_49_51:3;
4590 uint64_t l2c:1;
4591 uint64_t reserved_41_47:7;
4592 uint64_t dfa:1;
4593 uint64_t reserved_37_39:3;
4594 uint64_t dpi_dma:1;
4595 uint64_t reserved_34_35:2;
4596 uint64_t dpi:1;
4597 uint64_t sli:1;
4598 uint64_t reserved_31_31:1;
4599 uint64_t key:1;
4600 uint64_t rad:1;
4601 uint64_t tim:1;
4602 uint64_t reserved_25_27:3;
4603 uint64_t zip:1;
4604 uint64_t reserved_17_23:7;
4605 uint64_t sso:1;
4606 uint64_t reserved_8_15:8;
4607 uint64_t pko:1;
4608 uint64_t pip:1;
4609 uint64_t ipd:1;
4610 uint64_t fpa:1;
4611 uint64_t reserved_1_3:3;
4612 uint64_t iob:1;
4613#else
4614 uint64_t iob:1;
4615 uint64_t reserved_1_3:3;
4616 uint64_t fpa:1;
4617 uint64_t ipd:1;
4618 uint64_t pip:1;
4619 uint64_t pko:1;
4620 uint64_t reserved_8_15:8;
4621 uint64_t sso:1;
4622 uint64_t reserved_17_23:7;
4623 uint64_t zip:1;
4624 uint64_t reserved_25_27:3;
4625 uint64_t tim:1;
4626 uint64_t rad:1;
4627 uint64_t key:1;
4628 uint64_t reserved_31_31:1;
4629 uint64_t sli:1;
4630 uint64_t dpi:1;
4631 uint64_t reserved_34_35:2;
4632 uint64_t dpi_dma:1;
4633 uint64_t reserved_37_39:3;
4634 uint64_t dfa:1;
4635 uint64_t reserved_41_47:7;
4636 uint64_t l2c:1;
4637 uint64_t reserved_49_51:3;
4638 uint64_t trace:4;
4639 uint64_t reserved_56_63:8;
4640#endif
4641 } s;
4642 struct cvmx_ciu2_raw_iox_int_rml_s cn68xx;
4643 struct cvmx_ciu2_raw_iox_int_rml_cn68xxp1 {
4644#ifdef __BIG_ENDIAN_BITFIELD
4645 uint64_t reserved_56_63:8;
4646 uint64_t trace:4;
4647 uint64_t reserved_49_51:3;
4648 uint64_t l2c:1;
4649 uint64_t reserved_41_47:7;
4650 uint64_t dfa:1;
4651 uint64_t reserved_34_39:6;
4652 uint64_t dpi:1;
4653 uint64_t sli:1;
4654 uint64_t reserved_31_31:1;
4655 uint64_t key:1;
4656 uint64_t rad:1;
4657 uint64_t tim:1;
4658 uint64_t reserved_25_27:3;
4659 uint64_t zip:1;
4660 uint64_t reserved_17_23:7;
4661 uint64_t sso:1;
4662 uint64_t reserved_8_15:8;
4663 uint64_t pko:1;
4664 uint64_t pip:1;
4665 uint64_t ipd:1;
4666 uint64_t fpa:1;
4667 uint64_t reserved_1_3:3;
4668 uint64_t iob:1;
4669#else
4670 uint64_t iob:1;
4671 uint64_t reserved_1_3:3;
4672 uint64_t fpa:1;
4673 uint64_t ipd:1;
4674 uint64_t pip:1;
4675 uint64_t pko:1;
4676 uint64_t reserved_8_15:8;
4677 uint64_t sso:1;
4678 uint64_t reserved_17_23:7;
4679 uint64_t zip:1;
4680 uint64_t reserved_25_27:3;
4681 uint64_t tim:1;
4682 uint64_t rad:1;
4683 uint64_t key:1;
4684 uint64_t reserved_31_31:1;
4685 uint64_t sli:1;
4686 uint64_t dpi:1;
4687 uint64_t reserved_34_39:6;
4688 uint64_t dfa:1;
4689 uint64_t reserved_41_47:7;
4690 uint64_t l2c:1;
4691 uint64_t reserved_49_51:3;
4692 uint64_t trace:4;
4693 uint64_t reserved_56_63:8;
4694#endif
4695 } cn68xxp1;
4696};
4697
4698union cvmx_ciu2_raw_iox_int_wdog {
4699 uint64_t u64;
4700 struct cvmx_ciu2_raw_iox_int_wdog_s {
4701#ifdef __BIG_ENDIAN_BITFIELD
4702 uint64_t reserved_32_63:32;
4703 uint64_t wdog:32;
4704#else
4705 uint64_t wdog:32;
4706 uint64_t reserved_32_63:32;
4707#endif
4708 } s;
4709 struct cvmx_ciu2_raw_iox_int_wdog_s cn68xx;
4710 struct cvmx_ciu2_raw_iox_int_wdog_s cn68xxp1;
4711};
4712
4713union cvmx_ciu2_raw_iox_int_wrkq {
4714 uint64_t u64;
4715 struct cvmx_ciu2_raw_iox_int_wrkq_s {
4716#ifdef __BIG_ENDIAN_BITFIELD
4717 uint64_t workq:64;
4718#else
4719 uint64_t workq:64;
4720#endif
4721 } s;
4722 struct cvmx_ciu2_raw_iox_int_wrkq_s cn68xx;
4723 struct cvmx_ciu2_raw_iox_int_wrkq_s cn68xxp1;
4724};
4725
4726union cvmx_ciu2_raw_ppx_ip2_gpio {
4727 uint64_t u64;
4728 struct cvmx_ciu2_raw_ppx_ip2_gpio_s {
4729#ifdef __BIG_ENDIAN_BITFIELD
4730 uint64_t reserved_16_63:48;
4731 uint64_t gpio:16;
4732#else
4733 uint64_t gpio:16;
4734 uint64_t reserved_16_63:48;
4735#endif
4736 } s;
4737 struct cvmx_ciu2_raw_ppx_ip2_gpio_s cn68xx;
4738 struct cvmx_ciu2_raw_ppx_ip2_gpio_s cn68xxp1;
4739};
4740
4741union cvmx_ciu2_raw_ppx_ip2_io {
4742 uint64_t u64;
4743 struct cvmx_ciu2_raw_ppx_ip2_io_s {
4744#ifdef __BIG_ENDIAN_BITFIELD
4745 uint64_t reserved_34_63:30;
4746 uint64_t pem:2;
4747 uint64_t reserved_18_31:14;
4748 uint64_t pci_inta:2;
4749 uint64_t reserved_13_15:3;
4750 uint64_t msired:1;
4751 uint64_t pci_msi:4;
4752 uint64_t reserved_4_7:4;
4753 uint64_t pci_intr:4;
4754#else
4755 uint64_t pci_intr:4;
4756 uint64_t reserved_4_7:4;
4757 uint64_t pci_msi:4;
4758 uint64_t msired:1;
4759 uint64_t reserved_13_15:3;
4760 uint64_t pci_inta:2;
4761 uint64_t reserved_18_31:14;
4762 uint64_t pem:2;
4763 uint64_t reserved_34_63:30;
4764#endif
4765 } s;
4766 struct cvmx_ciu2_raw_ppx_ip2_io_s cn68xx;
4767 struct cvmx_ciu2_raw_ppx_ip2_io_s cn68xxp1;
4768};
4769
4770union cvmx_ciu2_raw_ppx_ip2_mem {
4771 uint64_t u64;
4772 struct cvmx_ciu2_raw_ppx_ip2_mem_s {
4773#ifdef __BIG_ENDIAN_BITFIELD
4774 uint64_t reserved_4_63:60;
4775 uint64_t lmc:4;
4776#else
4777 uint64_t lmc:4;
4778 uint64_t reserved_4_63:60;
4779#endif
4780 } s;
4781 struct cvmx_ciu2_raw_ppx_ip2_mem_s cn68xx;
4782 struct cvmx_ciu2_raw_ppx_ip2_mem_s cn68xxp1;
4783};
4784
4785union cvmx_ciu2_raw_ppx_ip2_mio {
4786 uint64_t u64;
4787 struct cvmx_ciu2_raw_ppx_ip2_mio_s {
4788#ifdef __BIG_ENDIAN_BITFIELD
4789 uint64_t rst:1;
4790 uint64_t reserved_49_62:14;
4791 uint64_t ptp:1;
4792 uint64_t reserved_45_47:3;
4793 uint64_t usb_hci:1;
4794 uint64_t reserved_41_43:3;
4795 uint64_t usb_uctl:1;
4796 uint64_t reserved_38_39:2;
4797 uint64_t uart:2;
4798 uint64_t reserved_34_35:2;
4799 uint64_t twsi:2;
4800 uint64_t reserved_19_31:13;
4801 uint64_t bootdma:1;
4802 uint64_t mio:1;
4803 uint64_t nand:1;
4804 uint64_t reserved_12_15:4;
4805 uint64_t timer:4;
4806 uint64_t reserved_3_7:5;
4807 uint64_t ipd_drp:1;
4808 uint64_t ssoiq:1;
4809 uint64_t ipdppthr:1;
4810#else
4811 uint64_t ipdppthr:1;
4812 uint64_t ssoiq:1;
4813 uint64_t ipd_drp:1;
4814 uint64_t reserved_3_7:5;
4815 uint64_t timer:4;
4816 uint64_t reserved_12_15:4;
4817 uint64_t nand:1;
4818 uint64_t mio:1;
4819 uint64_t bootdma:1;
4820 uint64_t reserved_19_31:13;
4821 uint64_t twsi:2;
4822 uint64_t reserved_34_35:2;
4823 uint64_t uart:2;
4824 uint64_t reserved_38_39:2;
4825 uint64_t usb_uctl:1;
4826 uint64_t reserved_41_43:3;
4827 uint64_t usb_hci:1;
4828 uint64_t reserved_45_47:3;
4829 uint64_t ptp:1;
4830 uint64_t reserved_49_62:14;
4831 uint64_t rst:1;
4832#endif
4833 } s;
4834 struct cvmx_ciu2_raw_ppx_ip2_mio_s cn68xx;
4835 struct cvmx_ciu2_raw_ppx_ip2_mio_s cn68xxp1;
4836};
4837
4838union cvmx_ciu2_raw_ppx_ip2_pkt {
4839 uint64_t u64;
4840 struct cvmx_ciu2_raw_ppx_ip2_pkt_s {
4841#ifdef __BIG_ENDIAN_BITFIELD
4842 uint64_t reserved_54_63:10;
4843 uint64_t ilk_drp:2;
4844 uint64_t reserved_49_51:3;
4845 uint64_t ilk:1;
4846 uint64_t reserved_41_47:7;
4847 uint64_t mii:1;
4848 uint64_t reserved_33_39:7;
4849 uint64_t agl:1;
4850 uint64_t reserved_13_31:19;
4851 uint64_t gmx_drp:5;
4852 uint64_t reserved_5_7:3;
4853 uint64_t agx:5;
4854#else
4855 uint64_t agx:5;
4856 uint64_t reserved_5_7:3;
4857 uint64_t gmx_drp:5;
4858 uint64_t reserved_13_31:19;
4859 uint64_t agl:1;
4860 uint64_t reserved_33_39:7;
4861 uint64_t mii:1;
4862 uint64_t reserved_41_47:7;
4863 uint64_t ilk:1;
4864 uint64_t reserved_49_51:3;
4865 uint64_t ilk_drp:2;
4866 uint64_t reserved_54_63:10;
4867#endif
4868 } s;
4869 struct cvmx_ciu2_raw_ppx_ip2_pkt_s cn68xx;
4870 struct cvmx_ciu2_raw_ppx_ip2_pkt_cn68xxp1 {
4871#ifdef __BIG_ENDIAN_BITFIELD
4872 uint64_t reserved_49_63:15;
4873 uint64_t ilk:1;
4874 uint64_t reserved_41_47:7;
4875 uint64_t mii:1;
4876 uint64_t reserved_33_39:7;
4877 uint64_t agl:1;
4878 uint64_t reserved_13_31:19;
4879 uint64_t gmx_drp:5;
4880 uint64_t reserved_5_7:3;
4881 uint64_t agx:5;
4882#else
4883 uint64_t agx:5;
4884 uint64_t reserved_5_7:3;
4885 uint64_t gmx_drp:5;
4886 uint64_t reserved_13_31:19;
4887 uint64_t agl:1;
4888 uint64_t reserved_33_39:7;
4889 uint64_t mii:1;
4890 uint64_t reserved_41_47:7;
4891 uint64_t ilk:1;
4892 uint64_t reserved_49_63:15;
4893#endif
4894 } cn68xxp1;
4895};
4896
4897union cvmx_ciu2_raw_ppx_ip2_rml {
4898 uint64_t u64;
4899 struct cvmx_ciu2_raw_ppx_ip2_rml_s {
4900#ifdef __BIG_ENDIAN_BITFIELD
4901 uint64_t reserved_56_63:8;
4902 uint64_t trace:4;
4903 uint64_t reserved_49_51:3;
4904 uint64_t l2c:1;
4905 uint64_t reserved_41_47:7;
4906 uint64_t dfa:1;
4907 uint64_t reserved_37_39:3;
4908 uint64_t dpi_dma:1;
4909 uint64_t reserved_34_35:2;
4910 uint64_t dpi:1;
4911 uint64_t sli:1;
4912 uint64_t reserved_31_31:1;
4913 uint64_t key:1;
4914 uint64_t rad:1;
4915 uint64_t tim:1;
4916 uint64_t reserved_25_27:3;
4917 uint64_t zip:1;
4918 uint64_t reserved_17_23:7;
4919 uint64_t sso:1;
4920 uint64_t reserved_8_15:8;
4921 uint64_t pko:1;
4922 uint64_t pip:1;
4923 uint64_t ipd:1;
4924 uint64_t fpa:1;
4925 uint64_t reserved_1_3:3;
4926 uint64_t iob:1;
4927#else
4928 uint64_t iob:1;
4929 uint64_t reserved_1_3:3;
4930 uint64_t fpa:1;
4931 uint64_t ipd:1;
4932 uint64_t pip:1;
4933 uint64_t pko:1;
4934 uint64_t reserved_8_15:8;
4935 uint64_t sso:1;
4936 uint64_t reserved_17_23:7;
4937 uint64_t zip:1;
4938 uint64_t reserved_25_27:3;
4939 uint64_t tim:1;
4940 uint64_t rad:1;
4941 uint64_t key:1;
4942 uint64_t reserved_31_31:1;
4943 uint64_t sli:1;
4944 uint64_t dpi:1;
4945 uint64_t reserved_34_35:2;
4946 uint64_t dpi_dma:1;
4947 uint64_t reserved_37_39:3;
4948 uint64_t dfa:1;
4949 uint64_t reserved_41_47:7;
4950 uint64_t l2c:1;
4951 uint64_t reserved_49_51:3;
4952 uint64_t trace:4;
4953 uint64_t reserved_56_63:8;
4954#endif
4955 } s;
4956 struct cvmx_ciu2_raw_ppx_ip2_rml_s cn68xx;
4957 struct cvmx_ciu2_raw_ppx_ip2_rml_cn68xxp1 {
4958#ifdef __BIG_ENDIAN_BITFIELD
4959 uint64_t reserved_56_63:8;
4960 uint64_t trace:4;
4961 uint64_t reserved_49_51:3;
4962 uint64_t l2c:1;
4963 uint64_t reserved_41_47:7;
4964 uint64_t dfa:1;
4965 uint64_t reserved_34_39:6;
4966 uint64_t dpi:1;
4967 uint64_t sli:1;
4968 uint64_t reserved_31_31:1;
4969 uint64_t key:1;
4970 uint64_t rad:1;
4971 uint64_t tim:1;
4972 uint64_t reserved_25_27:3;
4973 uint64_t zip:1;
4974 uint64_t reserved_17_23:7;
4975 uint64_t sso:1;
4976 uint64_t reserved_8_15:8;
4977 uint64_t pko:1;
4978 uint64_t pip:1;
4979 uint64_t ipd:1;
4980 uint64_t fpa:1;
4981 uint64_t reserved_1_3:3;
4982 uint64_t iob:1;
4983#else
4984 uint64_t iob:1;
4985 uint64_t reserved_1_3:3;
4986 uint64_t fpa:1;
4987 uint64_t ipd:1;
4988 uint64_t pip:1;
4989 uint64_t pko:1;
4990 uint64_t reserved_8_15:8;
4991 uint64_t sso:1;
4992 uint64_t reserved_17_23:7;
4993 uint64_t zip:1;
4994 uint64_t reserved_25_27:3;
4995 uint64_t tim:1;
4996 uint64_t rad:1;
4997 uint64_t key:1;
4998 uint64_t reserved_31_31:1;
4999 uint64_t sli:1;
5000 uint64_t dpi:1;
5001 uint64_t reserved_34_39:6;
5002 uint64_t dfa:1;
5003 uint64_t reserved_41_47:7;
5004 uint64_t l2c:1;
5005 uint64_t reserved_49_51:3;
5006 uint64_t trace:4;
5007 uint64_t reserved_56_63:8;
5008#endif
5009 } cn68xxp1;
5010};
5011
5012union cvmx_ciu2_raw_ppx_ip2_wdog {
5013 uint64_t u64;
5014 struct cvmx_ciu2_raw_ppx_ip2_wdog_s {
5015#ifdef __BIG_ENDIAN_BITFIELD
5016 uint64_t reserved_32_63:32;
5017 uint64_t wdog:32;
5018#else
5019 uint64_t wdog:32;
5020 uint64_t reserved_32_63:32;
5021#endif
5022 } s;
5023 struct cvmx_ciu2_raw_ppx_ip2_wdog_s cn68xx;
5024 struct cvmx_ciu2_raw_ppx_ip2_wdog_s cn68xxp1;
5025};
5026
5027union cvmx_ciu2_raw_ppx_ip2_wrkq {
5028 uint64_t u64;
5029 struct cvmx_ciu2_raw_ppx_ip2_wrkq_s {
5030#ifdef __BIG_ENDIAN_BITFIELD
5031 uint64_t workq:64;
5032#else
5033 uint64_t workq:64;
5034#endif
5035 } s;
5036 struct cvmx_ciu2_raw_ppx_ip2_wrkq_s cn68xx;
5037 struct cvmx_ciu2_raw_ppx_ip2_wrkq_s cn68xxp1;
5038};
5039
5040union cvmx_ciu2_raw_ppx_ip3_gpio {
5041 uint64_t u64;
5042 struct cvmx_ciu2_raw_ppx_ip3_gpio_s {
5043#ifdef __BIG_ENDIAN_BITFIELD
5044 uint64_t reserved_16_63:48;
5045 uint64_t gpio:16;
5046#else
5047 uint64_t gpio:16;
5048 uint64_t reserved_16_63:48;
5049#endif
5050 } s;
5051 struct cvmx_ciu2_raw_ppx_ip3_gpio_s cn68xx;
5052 struct cvmx_ciu2_raw_ppx_ip3_gpio_s cn68xxp1;
5053};
5054
5055union cvmx_ciu2_raw_ppx_ip3_io {
5056 uint64_t u64;
5057 struct cvmx_ciu2_raw_ppx_ip3_io_s {
5058#ifdef __BIG_ENDIAN_BITFIELD
5059 uint64_t reserved_34_63:30;
5060 uint64_t pem:2;
5061 uint64_t reserved_18_31:14;
5062 uint64_t pci_inta:2;
5063 uint64_t reserved_13_15:3;
5064 uint64_t msired:1;
5065 uint64_t pci_msi:4;
5066 uint64_t reserved_4_7:4;
5067 uint64_t pci_intr:4;
5068#else
5069 uint64_t pci_intr:4;
5070 uint64_t reserved_4_7:4;
5071 uint64_t pci_msi:4;
5072 uint64_t msired:1;
5073 uint64_t reserved_13_15:3;
5074 uint64_t pci_inta:2;
5075 uint64_t reserved_18_31:14;
5076 uint64_t pem:2;
5077 uint64_t reserved_34_63:30;
5078#endif
5079 } s;
5080 struct cvmx_ciu2_raw_ppx_ip3_io_s cn68xx;
5081 struct cvmx_ciu2_raw_ppx_ip3_io_s cn68xxp1;
5082};
5083
5084union cvmx_ciu2_raw_ppx_ip3_mem {
5085 uint64_t u64;
5086 struct cvmx_ciu2_raw_ppx_ip3_mem_s {
5087#ifdef __BIG_ENDIAN_BITFIELD
5088 uint64_t reserved_4_63:60;
5089 uint64_t lmc:4;
5090#else
5091 uint64_t lmc:4;
5092 uint64_t reserved_4_63:60;
5093#endif
5094 } s;
5095 struct cvmx_ciu2_raw_ppx_ip3_mem_s cn68xx;
5096 struct cvmx_ciu2_raw_ppx_ip3_mem_s cn68xxp1;
5097};
5098
5099union cvmx_ciu2_raw_ppx_ip3_mio {
5100 uint64_t u64;
5101 struct cvmx_ciu2_raw_ppx_ip3_mio_s {
5102#ifdef __BIG_ENDIAN_BITFIELD
5103 uint64_t rst:1;
5104 uint64_t reserved_49_62:14;
5105 uint64_t ptp:1;
5106 uint64_t reserved_45_47:3;
5107 uint64_t usb_hci:1;
5108 uint64_t reserved_41_43:3;
5109 uint64_t usb_uctl:1;
5110 uint64_t reserved_38_39:2;
5111 uint64_t uart:2;
5112 uint64_t reserved_34_35:2;
5113 uint64_t twsi:2;
5114 uint64_t reserved_19_31:13;
5115 uint64_t bootdma:1;
5116 uint64_t mio:1;
5117 uint64_t nand:1;
5118 uint64_t reserved_12_15:4;
5119 uint64_t timer:4;
5120 uint64_t reserved_3_7:5;
5121 uint64_t ipd_drp:1;
5122 uint64_t ssoiq:1;
5123 uint64_t ipdppthr:1;
5124#else
5125 uint64_t ipdppthr:1;
5126 uint64_t ssoiq:1;
5127 uint64_t ipd_drp:1;
5128 uint64_t reserved_3_7:5;
5129 uint64_t timer:4;
5130 uint64_t reserved_12_15:4;
5131 uint64_t nand:1;
5132 uint64_t mio:1;
5133 uint64_t bootdma:1;
5134 uint64_t reserved_19_31:13;
5135 uint64_t twsi:2;
5136 uint64_t reserved_34_35:2;
5137 uint64_t uart:2;
5138 uint64_t reserved_38_39:2;
5139 uint64_t usb_uctl:1;
5140 uint64_t reserved_41_43:3;
5141 uint64_t usb_hci:1;
5142 uint64_t reserved_45_47:3;
5143 uint64_t ptp:1;
5144 uint64_t reserved_49_62:14;
5145 uint64_t rst:1;
5146#endif
5147 } s;
5148 struct cvmx_ciu2_raw_ppx_ip3_mio_s cn68xx;
5149 struct cvmx_ciu2_raw_ppx_ip3_mio_s cn68xxp1;
5150};
5151
5152union cvmx_ciu2_raw_ppx_ip3_pkt {
5153 uint64_t u64;
5154 struct cvmx_ciu2_raw_ppx_ip3_pkt_s {
5155#ifdef __BIG_ENDIAN_BITFIELD
5156 uint64_t reserved_54_63:10;
5157 uint64_t ilk_drp:2;
5158 uint64_t reserved_49_51:3;
5159 uint64_t ilk:1;
5160 uint64_t reserved_41_47:7;
5161 uint64_t mii:1;
5162 uint64_t reserved_33_39:7;
5163 uint64_t agl:1;
5164 uint64_t reserved_13_31:19;
5165 uint64_t gmx_drp:5;
5166 uint64_t reserved_5_7:3;
5167 uint64_t agx:5;
5168#else
5169 uint64_t agx:5;
5170 uint64_t reserved_5_7:3;
5171 uint64_t gmx_drp:5;
5172 uint64_t reserved_13_31:19;
5173 uint64_t agl:1;
5174 uint64_t reserved_33_39:7;
5175 uint64_t mii:1;
5176 uint64_t reserved_41_47:7;
5177 uint64_t ilk:1;
5178 uint64_t reserved_49_51:3;
5179 uint64_t ilk_drp:2;
5180 uint64_t reserved_54_63:10;
5181#endif
5182 } s;
5183 struct cvmx_ciu2_raw_ppx_ip3_pkt_s cn68xx;
5184 struct cvmx_ciu2_raw_ppx_ip3_pkt_cn68xxp1 {
5185#ifdef __BIG_ENDIAN_BITFIELD
5186 uint64_t reserved_49_63:15;
5187 uint64_t ilk:1;
5188 uint64_t reserved_41_47:7;
5189 uint64_t mii:1;
5190 uint64_t reserved_33_39:7;
5191 uint64_t agl:1;
5192 uint64_t reserved_13_31:19;
5193 uint64_t gmx_drp:5;
5194 uint64_t reserved_5_7:3;
5195 uint64_t agx:5;
5196#else
5197 uint64_t agx:5;
5198 uint64_t reserved_5_7:3;
5199 uint64_t gmx_drp:5;
5200 uint64_t reserved_13_31:19;
5201 uint64_t agl:1;
5202 uint64_t reserved_33_39:7;
5203 uint64_t mii:1;
5204 uint64_t reserved_41_47:7;
5205 uint64_t ilk:1;
5206 uint64_t reserved_49_63:15;
5207#endif
5208 } cn68xxp1;
5209};
5210
5211union cvmx_ciu2_raw_ppx_ip3_rml {
5212 uint64_t u64;
5213 struct cvmx_ciu2_raw_ppx_ip3_rml_s {
5214#ifdef __BIG_ENDIAN_BITFIELD
5215 uint64_t reserved_56_63:8;
5216 uint64_t trace:4;
5217 uint64_t reserved_49_51:3;
5218 uint64_t l2c:1;
5219 uint64_t reserved_41_47:7;
5220 uint64_t dfa:1;
5221 uint64_t reserved_37_39:3;
5222 uint64_t dpi_dma:1;
5223 uint64_t reserved_34_35:2;
5224 uint64_t dpi:1;
5225 uint64_t sli:1;
5226 uint64_t reserved_31_31:1;
5227 uint64_t key:1;
5228 uint64_t rad:1;
5229 uint64_t tim:1;
5230 uint64_t reserved_25_27:3;
5231 uint64_t zip:1;
5232 uint64_t reserved_17_23:7;
5233 uint64_t sso:1;
5234 uint64_t reserved_8_15:8;
5235 uint64_t pko:1;
5236 uint64_t pip:1;
5237 uint64_t ipd:1;
5238 uint64_t fpa:1;
5239 uint64_t reserved_1_3:3;
5240 uint64_t iob:1;
5241#else
5242 uint64_t iob:1;
5243 uint64_t reserved_1_3:3;
5244 uint64_t fpa:1;
5245 uint64_t ipd:1;
5246 uint64_t pip:1;
5247 uint64_t pko:1;
5248 uint64_t reserved_8_15:8;
5249 uint64_t sso:1;
5250 uint64_t reserved_17_23:7;
5251 uint64_t zip:1;
5252 uint64_t reserved_25_27:3;
5253 uint64_t tim:1;
5254 uint64_t rad:1;
5255 uint64_t key:1;
5256 uint64_t reserved_31_31:1;
5257 uint64_t sli:1;
5258 uint64_t dpi:1;
5259 uint64_t reserved_34_35:2;
5260 uint64_t dpi_dma:1;
5261 uint64_t reserved_37_39:3;
5262 uint64_t dfa:1;
5263 uint64_t reserved_41_47:7;
5264 uint64_t l2c:1;
5265 uint64_t reserved_49_51:3;
5266 uint64_t trace:4;
5267 uint64_t reserved_56_63:8;
5268#endif
5269 } s;
5270 struct cvmx_ciu2_raw_ppx_ip3_rml_s cn68xx;
5271 struct cvmx_ciu2_raw_ppx_ip3_rml_cn68xxp1 {
5272#ifdef __BIG_ENDIAN_BITFIELD
5273 uint64_t reserved_56_63:8;
5274 uint64_t trace:4;
5275 uint64_t reserved_49_51:3;
5276 uint64_t l2c:1;
5277 uint64_t reserved_41_47:7;
5278 uint64_t dfa:1;
5279 uint64_t reserved_34_39:6;
5280 uint64_t dpi:1;
5281 uint64_t sli:1;
5282 uint64_t reserved_31_31:1;
5283 uint64_t key:1;
5284 uint64_t rad:1;
5285 uint64_t tim:1;
5286 uint64_t reserved_25_27:3;
5287 uint64_t zip:1;
5288 uint64_t reserved_17_23:7;
5289 uint64_t sso:1;
5290 uint64_t reserved_8_15:8;
5291 uint64_t pko:1;
5292 uint64_t pip:1;
5293 uint64_t ipd:1;
5294 uint64_t fpa:1;
5295 uint64_t reserved_1_3:3;
5296 uint64_t iob:1;
5297#else
5298 uint64_t iob:1;
5299 uint64_t reserved_1_3:3;
5300 uint64_t fpa:1;
5301 uint64_t ipd:1;
5302 uint64_t pip:1;
5303 uint64_t pko:1;
5304 uint64_t reserved_8_15:8;
5305 uint64_t sso:1;
5306 uint64_t reserved_17_23:7;
5307 uint64_t zip:1;
5308 uint64_t reserved_25_27:3;
5309 uint64_t tim:1;
5310 uint64_t rad:1;
5311 uint64_t key:1;
5312 uint64_t reserved_31_31:1;
5313 uint64_t sli:1;
5314 uint64_t dpi:1;
5315 uint64_t reserved_34_39:6;
5316 uint64_t dfa:1;
5317 uint64_t reserved_41_47:7;
5318 uint64_t l2c:1;
5319 uint64_t reserved_49_51:3;
5320 uint64_t trace:4;
5321 uint64_t reserved_56_63:8;
5322#endif
5323 } cn68xxp1;
5324};
5325
5326union cvmx_ciu2_raw_ppx_ip3_wdog {
5327 uint64_t u64;
5328 struct cvmx_ciu2_raw_ppx_ip3_wdog_s {
5329#ifdef __BIG_ENDIAN_BITFIELD
5330 uint64_t reserved_32_63:32;
5331 uint64_t wdog:32;
5332#else
5333 uint64_t wdog:32;
5334 uint64_t reserved_32_63:32;
5335#endif
5336 } s;
5337 struct cvmx_ciu2_raw_ppx_ip3_wdog_s cn68xx;
5338 struct cvmx_ciu2_raw_ppx_ip3_wdog_s cn68xxp1;
5339};
5340
5341union cvmx_ciu2_raw_ppx_ip3_wrkq {
5342 uint64_t u64;
5343 struct cvmx_ciu2_raw_ppx_ip3_wrkq_s {
5344#ifdef __BIG_ENDIAN_BITFIELD
5345 uint64_t workq:64;
5346#else
5347 uint64_t workq:64;
5348#endif
5349 } s;
5350 struct cvmx_ciu2_raw_ppx_ip3_wrkq_s cn68xx;
5351 struct cvmx_ciu2_raw_ppx_ip3_wrkq_s cn68xxp1;
5352};
5353
5354union cvmx_ciu2_raw_ppx_ip4_gpio {
5355 uint64_t u64;
5356 struct cvmx_ciu2_raw_ppx_ip4_gpio_s {
5357#ifdef __BIG_ENDIAN_BITFIELD
5358 uint64_t reserved_16_63:48;
5359 uint64_t gpio:16;
5360#else
5361 uint64_t gpio:16;
5362 uint64_t reserved_16_63:48;
5363#endif
5364 } s;
5365 struct cvmx_ciu2_raw_ppx_ip4_gpio_s cn68xx;
5366 struct cvmx_ciu2_raw_ppx_ip4_gpio_s cn68xxp1;
5367};
5368
5369union cvmx_ciu2_raw_ppx_ip4_io {
5370 uint64_t u64;
5371 struct cvmx_ciu2_raw_ppx_ip4_io_s {
5372#ifdef __BIG_ENDIAN_BITFIELD
5373 uint64_t reserved_34_63:30;
5374 uint64_t pem:2;
5375 uint64_t reserved_18_31:14;
5376 uint64_t pci_inta:2;
5377 uint64_t reserved_13_15:3;
5378 uint64_t msired:1;
5379 uint64_t pci_msi:4;
5380 uint64_t reserved_4_7:4;
5381 uint64_t pci_intr:4;
5382#else
5383 uint64_t pci_intr:4;
5384 uint64_t reserved_4_7:4;
5385 uint64_t pci_msi:4;
5386 uint64_t msired:1;
5387 uint64_t reserved_13_15:3;
5388 uint64_t pci_inta:2;
5389 uint64_t reserved_18_31:14;
5390 uint64_t pem:2;
5391 uint64_t reserved_34_63:30;
5392#endif
5393 } s;
5394 struct cvmx_ciu2_raw_ppx_ip4_io_s cn68xx;
5395 struct cvmx_ciu2_raw_ppx_ip4_io_s cn68xxp1;
5396};
5397
5398union cvmx_ciu2_raw_ppx_ip4_mem {
5399 uint64_t u64;
5400 struct cvmx_ciu2_raw_ppx_ip4_mem_s {
5401#ifdef __BIG_ENDIAN_BITFIELD
5402 uint64_t reserved_4_63:60;
5403 uint64_t lmc:4;
5404#else
5405 uint64_t lmc:4;
5406 uint64_t reserved_4_63:60;
5407#endif
5408 } s;
5409 struct cvmx_ciu2_raw_ppx_ip4_mem_s cn68xx;
5410 struct cvmx_ciu2_raw_ppx_ip4_mem_s cn68xxp1;
5411};
5412
5413union cvmx_ciu2_raw_ppx_ip4_mio {
5414 uint64_t u64;
5415 struct cvmx_ciu2_raw_ppx_ip4_mio_s {
5416#ifdef __BIG_ENDIAN_BITFIELD
5417 uint64_t rst:1;
5418 uint64_t reserved_49_62:14;
5419 uint64_t ptp:1;
5420 uint64_t reserved_45_47:3;
5421 uint64_t usb_hci:1;
5422 uint64_t reserved_41_43:3;
5423 uint64_t usb_uctl:1;
5424 uint64_t reserved_38_39:2;
5425 uint64_t uart:2;
5426 uint64_t reserved_34_35:2;
5427 uint64_t twsi:2;
5428 uint64_t reserved_19_31:13;
5429 uint64_t bootdma:1;
5430 uint64_t mio:1;
5431 uint64_t nand:1;
5432 uint64_t reserved_12_15:4;
5433 uint64_t timer:4;
5434 uint64_t reserved_3_7:5;
5435 uint64_t ipd_drp:1;
5436 uint64_t ssoiq:1;
5437 uint64_t ipdppthr:1;
5438#else
5439 uint64_t ipdppthr:1;
5440 uint64_t ssoiq:1;
5441 uint64_t ipd_drp:1;
5442 uint64_t reserved_3_7:5;
5443 uint64_t timer:4;
5444 uint64_t reserved_12_15:4;
5445 uint64_t nand:1;
5446 uint64_t mio:1;
5447 uint64_t bootdma:1;
5448 uint64_t reserved_19_31:13;
5449 uint64_t twsi:2;
5450 uint64_t reserved_34_35:2;
5451 uint64_t uart:2;
5452 uint64_t reserved_38_39:2;
5453 uint64_t usb_uctl:1;
5454 uint64_t reserved_41_43:3;
5455 uint64_t usb_hci:1;
5456 uint64_t reserved_45_47:3;
5457 uint64_t ptp:1;
5458 uint64_t reserved_49_62:14;
5459 uint64_t rst:1;
5460#endif
5461 } s;
5462 struct cvmx_ciu2_raw_ppx_ip4_mio_s cn68xx;
5463 struct cvmx_ciu2_raw_ppx_ip4_mio_s cn68xxp1;
5464};
5465
5466union cvmx_ciu2_raw_ppx_ip4_pkt {
5467 uint64_t u64;
5468 struct cvmx_ciu2_raw_ppx_ip4_pkt_s {
5469#ifdef __BIG_ENDIAN_BITFIELD
5470 uint64_t reserved_54_63:10;
5471 uint64_t ilk_drp:2;
5472 uint64_t reserved_49_51:3;
5473 uint64_t ilk:1;
5474 uint64_t reserved_41_47:7;
5475 uint64_t mii:1;
5476 uint64_t reserved_33_39:7;
5477 uint64_t agl:1;
5478 uint64_t reserved_13_31:19;
5479 uint64_t gmx_drp:5;
5480 uint64_t reserved_5_7:3;
5481 uint64_t agx:5;
5482#else
5483 uint64_t agx:5;
5484 uint64_t reserved_5_7:3;
5485 uint64_t gmx_drp:5;
5486 uint64_t reserved_13_31:19;
5487 uint64_t agl:1;
5488 uint64_t reserved_33_39:7;
5489 uint64_t mii:1;
5490 uint64_t reserved_41_47:7;
5491 uint64_t ilk:1;
5492 uint64_t reserved_49_51:3;
5493 uint64_t ilk_drp:2;
5494 uint64_t reserved_54_63:10;
5495#endif
5496 } s;
5497 struct cvmx_ciu2_raw_ppx_ip4_pkt_s cn68xx;
5498 struct cvmx_ciu2_raw_ppx_ip4_pkt_cn68xxp1 {
5499#ifdef __BIG_ENDIAN_BITFIELD
5500 uint64_t reserved_49_63:15;
5501 uint64_t ilk:1;
5502 uint64_t reserved_41_47:7;
5503 uint64_t mii:1;
5504 uint64_t reserved_33_39:7;
5505 uint64_t agl:1;
5506 uint64_t reserved_13_31:19;
5507 uint64_t gmx_drp:5;
5508 uint64_t reserved_5_7:3;
5509 uint64_t agx:5;
5510#else
5511 uint64_t agx:5;
5512 uint64_t reserved_5_7:3;
5513 uint64_t gmx_drp:5;
5514 uint64_t reserved_13_31:19;
5515 uint64_t agl:1;
5516 uint64_t reserved_33_39:7;
5517 uint64_t mii:1;
5518 uint64_t reserved_41_47:7;
5519 uint64_t ilk:1;
5520 uint64_t reserved_49_63:15;
5521#endif
5522 } cn68xxp1;
5523};
5524
5525union cvmx_ciu2_raw_ppx_ip4_rml {
5526 uint64_t u64;
5527 struct cvmx_ciu2_raw_ppx_ip4_rml_s {
5528#ifdef __BIG_ENDIAN_BITFIELD
5529 uint64_t reserved_56_63:8;
5530 uint64_t trace:4;
5531 uint64_t reserved_49_51:3;
5532 uint64_t l2c:1;
5533 uint64_t reserved_41_47:7;
5534 uint64_t dfa:1;
5535 uint64_t reserved_37_39:3;
5536 uint64_t dpi_dma:1;
5537 uint64_t reserved_34_35:2;
5538 uint64_t dpi:1;
5539 uint64_t sli:1;
5540 uint64_t reserved_31_31:1;
5541 uint64_t key:1;
5542 uint64_t rad:1;
5543 uint64_t tim:1;
5544 uint64_t reserved_25_27:3;
5545 uint64_t zip:1;
5546 uint64_t reserved_17_23:7;
5547 uint64_t sso:1;
5548 uint64_t reserved_8_15:8;
5549 uint64_t pko:1;
5550 uint64_t pip:1;
5551 uint64_t ipd:1;
5552 uint64_t fpa:1;
5553 uint64_t reserved_1_3:3;
5554 uint64_t iob:1;
5555#else
5556 uint64_t iob:1;
5557 uint64_t reserved_1_3:3;
5558 uint64_t fpa:1;
5559 uint64_t ipd:1;
5560 uint64_t pip:1;
5561 uint64_t pko:1;
5562 uint64_t reserved_8_15:8;
5563 uint64_t sso:1;
5564 uint64_t reserved_17_23:7;
5565 uint64_t zip:1;
5566 uint64_t reserved_25_27:3;
5567 uint64_t tim:1;
5568 uint64_t rad:1;
5569 uint64_t key:1;
5570 uint64_t reserved_31_31:1;
5571 uint64_t sli:1;
5572 uint64_t dpi:1;
5573 uint64_t reserved_34_35:2;
5574 uint64_t dpi_dma:1;
5575 uint64_t reserved_37_39:3;
5576 uint64_t dfa:1;
5577 uint64_t reserved_41_47:7;
5578 uint64_t l2c:1;
5579 uint64_t reserved_49_51:3;
5580 uint64_t trace:4;
5581 uint64_t reserved_56_63:8;
5582#endif
5583 } s;
5584 struct cvmx_ciu2_raw_ppx_ip4_rml_s cn68xx;
5585 struct cvmx_ciu2_raw_ppx_ip4_rml_cn68xxp1 {
5586#ifdef __BIG_ENDIAN_BITFIELD
5587 uint64_t reserved_56_63:8;
5588 uint64_t trace:4;
5589 uint64_t reserved_49_51:3;
5590 uint64_t l2c:1;
5591 uint64_t reserved_41_47:7;
5592 uint64_t dfa:1;
5593 uint64_t reserved_34_39:6;
5594 uint64_t dpi:1;
5595 uint64_t sli:1;
5596 uint64_t reserved_31_31:1;
5597 uint64_t key:1;
5598 uint64_t rad:1;
5599 uint64_t tim:1;
5600 uint64_t reserved_25_27:3;
5601 uint64_t zip:1;
5602 uint64_t reserved_17_23:7;
5603 uint64_t sso:1;
5604 uint64_t reserved_8_15:8;
5605 uint64_t pko:1;
5606 uint64_t pip:1;
5607 uint64_t ipd:1;
5608 uint64_t fpa:1;
5609 uint64_t reserved_1_3:3;
5610 uint64_t iob:1;
5611#else
5612 uint64_t iob:1;
5613 uint64_t reserved_1_3:3;
5614 uint64_t fpa:1;
5615 uint64_t ipd:1;
5616 uint64_t pip:1;
5617 uint64_t pko:1;
5618 uint64_t reserved_8_15:8;
5619 uint64_t sso:1;
5620 uint64_t reserved_17_23:7;
5621 uint64_t zip:1;
5622 uint64_t reserved_25_27:3;
5623 uint64_t tim:1;
5624 uint64_t rad:1;
5625 uint64_t key:1;
5626 uint64_t reserved_31_31:1;
5627 uint64_t sli:1;
5628 uint64_t dpi:1;
5629 uint64_t reserved_34_39:6;
5630 uint64_t dfa:1;
5631 uint64_t reserved_41_47:7;
5632 uint64_t l2c:1;
5633 uint64_t reserved_49_51:3;
5634 uint64_t trace:4;
5635 uint64_t reserved_56_63:8;
5636#endif
5637 } cn68xxp1;
5638};
5639
5640union cvmx_ciu2_raw_ppx_ip4_wdog {
5641 uint64_t u64;
5642 struct cvmx_ciu2_raw_ppx_ip4_wdog_s {
5643#ifdef __BIG_ENDIAN_BITFIELD
5644 uint64_t reserved_32_63:32;
5645 uint64_t wdog:32;
5646#else
5647 uint64_t wdog:32;
5648 uint64_t reserved_32_63:32;
5649#endif
5650 } s;
5651 struct cvmx_ciu2_raw_ppx_ip4_wdog_s cn68xx;
5652 struct cvmx_ciu2_raw_ppx_ip4_wdog_s cn68xxp1;
5653};
5654
5655union cvmx_ciu2_raw_ppx_ip4_wrkq {
5656 uint64_t u64;
5657 struct cvmx_ciu2_raw_ppx_ip4_wrkq_s {
5658#ifdef __BIG_ENDIAN_BITFIELD
5659 uint64_t workq:64;
5660#else
5661 uint64_t workq:64;
5662#endif
5663 } s;
5664 struct cvmx_ciu2_raw_ppx_ip4_wrkq_s cn68xx;
5665 struct cvmx_ciu2_raw_ppx_ip4_wrkq_s cn68xxp1;
5666};
5667
5668union cvmx_ciu2_src_iox_int_gpio {
5669 uint64_t u64;
5670 struct cvmx_ciu2_src_iox_int_gpio_s {
5671#ifdef __BIG_ENDIAN_BITFIELD
5672 uint64_t reserved_16_63:48;
5673 uint64_t gpio:16;
5674#else
5675 uint64_t gpio:16;
5676 uint64_t reserved_16_63:48;
5677#endif
5678 } s;
5679 struct cvmx_ciu2_src_iox_int_gpio_s cn68xx;
5680 struct cvmx_ciu2_src_iox_int_gpio_s cn68xxp1;
5681};
5682
5683union cvmx_ciu2_src_iox_int_io {
5684 uint64_t u64;
5685 struct cvmx_ciu2_src_iox_int_io_s {
5686#ifdef __BIG_ENDIAN_BITFIELD
5687 uint64_t reserved_34_63:30;
5688 uint64_t pem:2;
5689 uint64_t reserved_18_31:14;
5690 uint64_t pci_inta:2;
5691 uint64_t reserved_13_15:3;
5692 uint64_t msired:1;
5693 uint64_t pci_msi:4;
5694 uint64_t reserved_4_7:4;
5695 uint64_t pci_intr:4;
5696#else
5697 uint64_t pci_intr:4;
5698 uint64_t reserved_4_7:4;
5699 uint64_t pci_msi:4;
5700 uint64_t msired:1;
5701 uint64_t reserved_13_15:3;
5702 uint64_t pci_inta:2;
5703 uint64_t reserved_18_31:14;
5704 uint64_t pem:2;
5705 uint64_t reserved_34_63:30;
5706#endif
5707 } s;
5708 struct cvmx_ciu2_src_iox_int_io_s cn68xx;
5709 struct cvmx_ciu2_src_iox_int_io_s cn68xxp1;
5710};
5711
5712union cvmx_ciu2_src_iox_int_mbox {
5713 uint64_t u64;
5714 struct cvmx_ciu2_src_iox_int_mbox_s {
5715#ifdef __BIG_ENDIAN_BITFIELD
5716 uint64_t reserved_4_63:60;
5717 uint64_t mbox:4;
5718#else
5719 uint64_t mbox:4;
5720 uint64_t reserved_4_63:60;
5721#endif
5722 } s;
5723 struct cvmx_ciu2_src_iox_int_mbox_s cn68xx;
5724 struct cvmx_ciu2_src_iox_int_mbox_s cn68xxp1;
5725};
5726
5727union cvmx_ciu2_src_iox_int_mem {
5728 uint64_t u64;
5729 struct cvmx_ciu2_src_iox_int_mem_s {
5730#ifdef __BIG_ENDIAN_BITFIELD
5731 uint64_t reserved_4_63:60;
5732 uint64_t lmc:4;
5733#else
5734 uint64_t lmc:4;
5735 uint64_t reserved_4_63:60;
5736#endif
5737 } s;
5738 struct cvmx_ciu2_src_iox_int_mem_s cn68xx;
5739 struct cvmx_ciu2_src_iox_int_mem_s cn68xxp1;
5740};
5741
5742union cvmx_ciu2_src_iox_int_mio {
5743 uint64_t u64;
5744 struct cvmx_ciu2_src_iox_int_mio_s {
5745#ifdef __BIG_ENDIAN_BITFIELD
5746 uint64_t rst:1;
5747 uint64_t reserved_49_62:14;
5748 uint64_t ptp:1;
5749 uint64_t reserved_45_47:3;
5750 uint64_t usb_hci:1;
5751 uint64_t reserved_41_43:3;
5752 uint64_t usb_uctl:1;
5753 uint64_t reserved_38_39:2;
5754 uint64_t uart:2;
5755 uint64_t reserved_34_35:2;
5756 uint64_t twsi:2;
5757 uint64_t reserved_19_31:13;
5758 uint64_t bootdma:1;
5759 uint64_t mio:1;
5760 uint64_t nand:1;
5761 uint64_t reserved_12_15:4;
5762 uint64_t timer:4;
5763 uint64_t reserved_3_7:5;
5764 uint64_t ipd_drp:1;
5765 uint64_t ssoiq:1;
5766 uint64_t ipdppthr:1;
5767#else
5768 uint64_t ipdppthr:1;
5769 uint64_t ssoiq:1;
5770 uint64_t ipd_drp:1;
5771 uint64_t reserved_3_7:5;
5772 uint64_t timer:4;
5773 uint64_t reserved_12_15:4;
5774 uint64_t nand:1;
5775 uint64_t mio:1;
5776 uint64_t bootdma:1;
5777 uint64_t reserved_19_31:13;
5778 uint64_t twsi:2;
5779 uint64_t reserved_34_35:2;
5780 uint64_t uart:2;
5781 uint64_t reserved_38_39:2;
5782 uint64_t usb_uctl:1;
5783 uint64_t reserved_41_43:3;
5784 uint64_t usb_hci:1;
5785 uint64_t reserved_45_47:3;
5786 uint64_t ptp:1;
5787 uint64_t reserved_49_62:14;
5788 uint64_t rst:1;
5789#endif
5790 } s;
5791 struct cvmx_ciu2_src_iox_int_mio_s cn68xx;
5792 struct cvmx_ciu2_src_iox_int_mio_s cn68xxp1;
5793};
5794
5795union cvmx_ciu2_src_iox_int_pkt {
5796 uint64_t u64;
5797 struct cvmx_ciu2_src_iox_int_pkt_s {
5798#ifdef __BIG_ENDIAN_BITFIELD
5799 uint64_t reserved_54_63:10;
5800 uint64_t ilk_drp:2;
5801 uint64_t reserved_49_51:3;
5802 uint64_t ilk:1;
5803 uint64_t reserved_41_47:7;
5804 uint64_t mii:1;
5805 uint64_t reserved_33_39:7;
5806 uint64_t agl:1;
5807 uint64_t reserved_13_31:19;
5808 uint64_t gmx_drp:5;
5809 uint64_t reserved_5_7:3;
5810 uint64_t agx:5;
5811#else
5812 uint64_t agx:5;
5813 uint64_t reserved_5_7:3;
5814 uint64_t gmx_drp:5;
5815 uint64_t reserved_13_31:19;
5816 uint64_t agl:1;
5817 uint64_t reserved_33_39:7;
5818 uint64_t mii:1;
5819 uint64_t reserved_41_47:7;
5820 uint64_t ilk:1;
5821 uint64_t reserved_49_51:3;
5822 uint64_t ilk_drp:2;
5823 uint64_t reserved_54_63:10;
5824#endif
5825 } s;
5826 struct cvmx_ciu2_src_iox_int_pkt_s cn68xx;
5827 struct cvmx_ciu2_src_iox_int_pkt_cn68xxp1 {
5828#ifdef __BIG_ENDIAN_BITFIELD
5829 uint64_t reserved_49_63:15;
5830 uint64_t ilk:1;
5831 uint64_t reserved_41_47:7;
5832 uint64_t mii:1;
5833 uint64_t reserved_33_39:7;
5834 uint64_t agl:1;
5835 uint64_t reserved_13_31:19;
5836 uint64_t gmx_drp:5;
5837 uint64_t reserved_5_7:3;
5838 uint64_t agx:5;
5839#else
5840 uint64_t agx:5;
5841 uint64_t reserved_5_7:3;
5842 uint64_t gmx_drp:5;
5843 uint64_t reserved_13_31:19;
5844 uint64_t agl:1;
5845 uint64_t reserved_33_39:7;
5846 uint64_t mii:1;
5847 uint64_t reserved_41_47:7;
5848 uint64_t ilk:1;
5849 uint64_t reserved_49_63:15;
5850#endif
5851 } cn68xxp1;
5852};
5853
5854union cvmx_ciu2_src_iox_int_rml {
5855 uint64_t u64;
5856 struct cvmx_ciu2_src_iox_int_rml_s {
5857#ifdef __BIG_ENDIAN_BITFIELD
5858 uint64_t reserved_56_63:8;
5859 uint64_t trace:4;
5860 uint64_t reserved_49_51:3;
5861 uint64_t l2c:1;
5862 uint64_t reserved_41_47:7;
5863 uint64_t dfa:1;
5864 uint64_t reserved_37_39:3;
5865 uint64_t dpi_dma:1;
5866 uint64_t reserved_34_35:2;
5867 uint64_t dpi:1;
5868 uint64_t sli:1;
5869 uint64_t reserved_31_31:1;
5870 uint64_t key:1;
5871 uint64_t rad:1;
5872 uint64_t tim:1;
5873 uint64_t reserved_25_27:3;
5874 uint64_t zip:1;
5875 uint64_t reserved_17_23:7;
5876 uint64_t sso:1;
5877 uint64_t reserved_8_15:8;
5878 uint64_t pko:1;
5879 uint64_t pip:1;
5880 uint64_t ipd:1;
5881 uint64_t fpa:1;
5882 uint64_t reserved_1_3:3;
5883 uint64_t iob:1;
5884#else
5885 uint64_t iob:1;
5886 uint64_t reserved_1_3:3;
5887 uint64_t fpa:1;
5888 uint64_t ipd:1;
5889 uint64_t pip:1;
5890 uint64_t pko:1;
5891 uint64_t reserved_8_15:8;
5892 uint64_t sso:1;
5893 uint64_t reserved_17_23:7;
5894 uint64_t zip:1;
5895 uint64_t reserved_25_27:3;
5896 uint64_t tim:1;
5897 uint64_t rad:1;
5898 uint64_t key:1;
5899 uint64_t reserved_31_31:1;
5900 uint64_t sli:1;
5901 uint64_t dpi:1;
5902 uint64_t reserved_34_35:2;
5903 uint64_t dpi_dma:1;
5904 uint64_t reserved_37_39:3;
5905 uint64_t dfa:1;
5906 uint64_t reserved_41_47:7;
5907 uint64_t l2c:1;
5908 uint64_t reserved_49_51:3;
5909 uint64_t trace:4;
5910 uint64_t reserved_56_63:8;
5911#endif
5912 } s;
5913 struct cvmx_ciu2_src_iox_int_rml_s cn68xx;
5914 struct cvmx_ciu2_src_iox_int_rml_cn68xxp1 {
5915#ifdef __BIG_ENDIAN_BITFIELD
5916 uint64_t reserved_56_63:8;
5917 uint64_t trace:4;
5918 uint64_t reserved_49_51:3;
5919 uint64_t l2c:1;
5920 uint64_t reserved_41_47:7;
5921 uint64_t dfa:1;
5922 uint64_t reserved_34_39:6;
5923 uint64_t dpi:1;
5924 uint64_t sli:1;
5925 uint64_t reserved_31_31:1;
5926 uint64_t key:1;
5927 uint64_t rad:1;
5928 uint64_t tim:1;
5929 uint64_t reserved_25_27:3;
5930 uint64_t zip:1;
5931 uint64_t reserved_17_23:7;
5932 uint64_t sso:1;
5933 uint64_t reserved_8_15:8;
5934 uint64_t pko:1;
5935 uint64_t pip:1;
5936 uint64_t ipd:1;
5937 uint64_t fpa:1;
5938 uint64_t reserved_1_3:3;
5939 uint64_t iob:1;
5940#else
5941 uint64_t iob:1;
5942 uint64_t reserved_1_3:3;
5943 uint64_t fpa:1;
5944 uint64_t ipd:1;
5945 uint64_t pip:1;
5946 uint64_t pko:1;
5947 uint64_t reserved_8_15:8;
5948 uint64_t sso:1;
5949 uint64_t reserved_17_23:7;
5950 uint64_t zip:1;
5951 uint64_t reserved_25_27:3;
5952 uint64_t tim:1;
5953 uint64_t rad:1;
5954 uint64_t key:1;
5955 uint64_t reserved_31_31:1;
5956 uint64_t sli:1;
5957 uint64_t dpi:1;
5958 uint64_t reserved_34_39:6;
5959 uint64_t dfa:1;
5960 uint64_t reserved_41_47:7;
5961 uint64_t l2c:1;
5962 uint64_t reserved_49_51:3;
5963 uint64_t trace:4;
5964 uint64_t reserved_56_63:8;
5965#endif
5966 } cn68xxp1;
5967};
5968
5969union cvmx_ciu2_src_iox_int_wdog {
5970 uint64_t u64;
5971 struct cvmx_ciu2_src_iox_int_wdog_s {
5972#ifdef __BIG_ENDIAN_BITFIELD
5973 uint64_t reserved_32_63:32;
5974 uint64_t wdog:32;
5975#else
5976 uint64_t wdog:32;
5977 uint64_t reserved_32_63:32;
5978#endif
5979 } s;
5980 struct cvmx_ciu2_src_iox_int_wdog_s cn68xx;
5981 struct cvmx_ciu2_src_iox_int_wdog_s cn68xxp1;
5982};
5983
5984union cvmx_ciu2_src_iox_int_wrkq {
5985 uint64_t u64;
5986 struct cvmx_ciu2_src_iox_int_wrkq_s {
5987#ifdef __BIG_ENDIAN_BITFIELD
5988 uint64_t workq:64;
5989#else
5990 uint64_t workq:64;
5991#endif
5992 } s;
5993 struct cvmx_ciu2_src_iox_int_wrkq_s cn68xx;
5994 struct cvmx_ciu2_src_iox_int_wrkq_s cn68xxp1;
5995};
5996
5997union cvmx_ciu2_src_ppx_ip2_gpio {
5998 uint64_t u64;
5999 struct cvmx_ciu2_src_ppx_ip2_gpio_s {
6000#ifdef __BIG_ENDIAN_BITFIELD
6001 uint64_t reserved_16_63:48;
6002 uint64_t gpio:16;
6003#else
6004 uint64_t gpio:16;
6005 uint64_t reserved_16_63:48;
6006#endif
6007 } s;
6008 struct cvmx_ciu2_src_ppx_ip2_gpio_s cn68xx;
6009 struct cvmx_ciu2_src_ppx_ip2_gpio_s cn68xxp1;
6010};
6011
6012union cvmx_ciu2_src_ppx_ip2_io {
6013 uint64_t u64;
6014 struct cvmx_ciu2_src_ppx_ip2_io_s {
6015#ifdef __BIG_ENDIAN_BITFIELD
6016 uint64_t reserved_34_63:30;
6017 uint64_t pem:2;
6018 uint64_t reserved_18_31:14;
6019 uint64_t pci_inta:2;
6020 uint64_t reserved_13_15:3;
6021 uint64_t msired:1;
6022 uint64_t pci_msi:4;
6023 uint64_t reserved_4_7:4;
6024 uint64_t pci_intr:4;
6025#else
6026 uint64_t pci_intr:4;
6027 uint64_t reserved_4_7:4;
6028 uint64_t pci_msi:4;
6029 uint64_t msired:1;
6030 uint64_t reserved_13_15:3;
6031 uint64_t pci_inta:2;
6032 uint64_t reserved_18_31:14;
6033 uint64_t pem:2;
6034 uint64_t reserved_34_63:30;
6035#endif
6036 } s;
6037 struct cvmx_ciu2_src_ppx_ip2_io_s cn68xx;
6038 struct cvmx_ciu2_src_ppx_ip2_io_s cn68xxp1;
6039};
6040
6041union cvmx_ciu2_src_ppx_ip2_mbox {
6042 uint64_t u64;
6043 struct cvmx_ciu2_src_ppx_ip2_mbox_s {
6044#ifdef __BIG_ENDIAN_BITFIELD
6045 uint64_t reserved_4_63:60;
6046 uint64_t mbox:4;
6047#else
6048 uint64_t mbox:4;
6049 uint64_t reserved_4_63:60;
6050#endif
6051 } s;
6052 struct cvmx_ciu2_src_ppx_ip2_mbox_s cn68xx;
6053 struct cvmx_ciu2_src_ppx_ip2_mbox_s cn68xxp1;
6054};
6055
6056union cvmx_ciu2_src_ppx_ip2_mem {
6057 uint64_t u64;
6058 struct cvmx_ciu2_src_ppx_ip2_mem_s {
6059#ifdef __BIG_ENDIAN_BITFIELD
6060 uint64_t reserved_4_63:60;
6061 uint64_t lmc:4;
6062#else
6063 uint64_t lmc:4;
6064 uint64_t reserved_4_63:60;
6065#endif
6066 } s;
6067 struct cvmx_ciu2_src_ppx_ip2_mem_s cn68xx;
6068 struct cvmx_ciu2_src_ppx_ip2_mem_s cn68xxp1;
6069};
6070
6071union cvmx_ciu2_src_ppx_ip2_mio {
6072 uint64_t u64;
6073 struct cvmx_ciu2_src_ppx_ip2_mio_s {
6074#ifdef __BIG_ENDIAN_BITFIELD
6075 uint64_t rst:1;
6076 uint64_t reserved_49_62:14;
6077 uint64_t ptp:1;
6078 uint64_t reserved_45_47:3;
6079 uint64_t usb_hci:1;
6080 uint64_t reserved_41_43:3;
6081 uint64_t usb_uctl:1;
6082 uint64_t reserved_38_39:2;
6083 uint64_t uart:2;
6084 uint64_t reserved_34_35:2;
6085 uint64_t twsi:2;
6086 uint64_t reserved_19_31:13;
6087 uint64_t bootdma:1;
6088 uint64_t mio:1;
6089 uint64_t nand:1;
6090 uint64_t reserved_12_15:4;
6091 uint64_t timer:4;
6092 uint64_t reserved_3_7:5;
6093 uint64_t ipd_drp:1;
6094 uint64_t ssoiq:1;
6095 uint64_t ipdppthr:1;
6096#else
6097 uint64_t ipdppthr:1;
6098 uint64_t ssoiq:1;
6099 uint64_t ipd_drp:1;
6100 uint64_t reserved_3_7:5;
6101 uint64_t timer:4;
6102 uint64_t reserved_12_15:4;
6103 uint64_t nand:1;
6104 uint64_t mio:1;
6105 uint64_t bootdma:1;
6106 uint64_t reserved_19_31:13;
6107 uint64_t twsi:2;
6108 uint64_t reserved_34_35:2;
6109 uint64_t uart:2;
6110 uint64_t reserved_38_39:2;
6111 uint64_t usb_uctl:1;
6112 uint64_t reserved_41_43:3;
6113 uint64_t usb_hci:1;
6114 uint64_t reserved_45_47:3;
6115 uint64_t ptp:1;
6116 uint64_t reserved_49_62:14;
6117 uint64_t rst:1;
6118#endif
6119 } s;
6120 struct cvmx_ciu2_src_ppx_ip2_mio_s cn68xx;
6121 struct cvmx_ciu2_src_ppx_ip2_mio_s cn68xxp1;
6122};
6123
6124union cvmx_ciu2_src_ppx_ip2_pkt {
6125 uint64_t u64;
6126 struct cvmx_ciu2_src_ppx_ip2_pkt_s {
6127#ifdef __BIG_ENDIAN_BITFIELD
6128 uint64_t reserved_54_63:10;
6129 uint64_t ilk_drp:2;
6130 uint64_t reserved_49_51:3;
6131 uint64_t ilk:1;
6132 uint64_t reserved_41_47:7;
6133 uint64_t mii:1;
6134 uint64_t reserved_33_39:7;
6135 uint64_t agl:1;
6136 uint64_t reserved_13_31:19;
6137 uint64_t gmx_drp:5;
6138 uint64_t reserved_5_7:3;
6139 uint64_t agx:5;
6140#else
6141 uint64_t agx:5;
6142 uint64_t reserved_5_7:3;
6143 uint64_t gmx_drp:5;
6144 uint64_t reserved_13_31:19;
6145 uint64_t agl:1;
6146 uint64_t reserved_33_39:7;
6147 uint64_t mii:1;
6148 uint64_t reserved_41_47:7;
6149 uint64_t ilk:1;
6150 uint64_t reserved_49_51:3;
6151 uint64_t ilk_drp:2;
6152 uint64_t reserved_54_63:10;
6153#endif
6154 } s;
6155 struct cvmx_ciu2_src_ppx_ip2_pkt_s cn68xx;
6156 struct cvmx_ciu2_src_ppx_ip2_pkt_cn68xxp1 {
6157#ifdef __BIG_ENDIAN_BITFIELD
6158 uint64_t reserved_49_63:15;
6159 uint64_t ilk:1;
6160 uint64_t reserved_41_47:7;
6161 uint64_t mii:1;
6162 uint64_t reserved_33_39:7;
6163 uint64_t agl:1;
6164 uint64_t reserved_13_31:19;
6165 uint64_t gmx_drp:5;
6166 uint64_t reserved_5_7:3;
6167 uint64_t agx:5;
6168#else
6169 uint64_t agx:5;
6170 uint64_t reserved_5_7:3;
6171 uint64_t gmx_drp:5;
6172 uint64_t reserved_13_31:19;
6173 uint64_t agl:1;
6174 uint64_t reserved_33_39:7;
6175 uint64_t mii:1;
6176 uint64_t reserved_41_47:7;
6177 uint64_t ilk:1;
6178 uint64_t reserved_49_63:15;
6179#endif
6180 } cn68xxp1;
6181};
6182
6183union cvmx_ciu2_src_ppx_ip2_rml {
6184 uint64_t u64;
6185 struct cvmx_ciu2_src_ppx_ip2_rml_s {
6186#ifdef __BIG_ENDIAN_BITFIELD
6187 uint64_t reserved_56_63:8;
6188 uint64_t trace:4;
6189 uint64_t reserved_49_51:3;
6190 uint64_t l2c:1;
6191 uint64_t reserved_41_47:7;
6192 uint64_t dfa:1;
6193 uint64_t reserved_37_39:3;
6194 uint64_t dpi_dma:1;
6195 uint64_t reserved_34_35:2;
6196 uint64_t dpi:1;
6197 uint64_t sli:1;
6198 uint64_t reserved_31_31:1;
6199 uint64_t key:1;
6200 uint64_t rad:1;
6201 uint64_t tim:1;
6202 uint64_t reserved_25_27:3;
6203 uint64_t zip:1;
6204 uint64_t reserved_17_23:7;
6205 uint64_t sso:1;
6206 uint64_t reserved_8_15:8;
6207 uint64_t pko:1;
6208 uint64_t pip:1;
6209 uint64_t ipd:1;
6210 uint64_t fpa:1;
6211 uint64_t reserved_1_3:3;
6212 uint64_t iob:1;
6213#else
6214 uint64_t iob:1;
6215 uint64_t reserved_1_3:3;
6216 uint64_t fpa:1;
6217 uint64_t ipd:1;
6218 uint64_t pip:1;
6219 uint64_t pko:1;
6220 uint64_t reserved_8_15:8;
6221 uint64_t sso:1;
6222 uint64_t reserved_17_23:7;
6223 uint64_t zip:1;
6224 uint64_t reserved_25_27:3;
6225 uint64_t tim:1;
6226 uint64_t rad:1;
6227 uint64_t key:1;
6228 uint64_t reserved_31_31:1;
6229 uint64_t sli:1;
6230 uint64_t dpi:1;
6231 uint64_t reserved_34_35:2;
6232 uint64_t dpi_dma:1;
6233 uint64_t reserved_37_39:3;
6234 uint64_t dfa:1;
6235 uint64_t reserved_41_47:7;
6236 uint64_t l2c:1;
6237 uint64_t reserved_49_51:3;
6238 uint64_t trace:4;
6239 uint64_t reserved_56_63:8;
6240#endif
6241 } s;
6242 struct cvmx_ciu2_src_ppx_ip2_rml_s cn68xx;
6243 struct cvmx_ciu2_src_ppx_ip2_rml_cn68xxp1 {
6244#ifdef __BIG_ENDIAN_BITFIELD
6245 uint64_t reserved_56_63:8;
6246 uint64_t trace:4;
6247 uint64_t reserved_49_51:3;
6248 uint64_t l2c:1;
6249 uint64_t reserved_41_47:7;
6250 uint64_t dfa:1;
6251 uint64_t reserved_34_39:6;
6252 uint64_t dpi:1;
6253 uint64_t sli:1;
6254 uint64_t reserved_31_31:1;
6255 uint64_t key:1;
6256 uint64_t rad:1;
6257 uint64_t tim:1;
6258 uint64_t reserved_25_27:3;
6259 uint64_t zip:1;
6260 uint64_t reserved_17_23:7;
6261 uint64_t sso:1;
6262 uint64_t reserved_8_15:8;
6263 uint64_t pko:1;
6264 uint64_t pip:1;
6265 uint64_t ipd:1;
6266 uint64_t fpa:1;
6267 uint64_t reserved_1_3:3;
6268 uint64_t iob:1;
6269#else
6270 uint64_t iob:1;
6271 uint64_t reserved_1_3:3;
6272 uint64_t fpa:1;
6273 uint64_t ipd:1;
6274 uint64_t pip:1;
6275 uint64_t pko:1;
6276 uint64_t reserved_8_15:8;
6277 uint64_t sso:1;
6278 uint64_t reserved_17_23:7;
6279 uint64_t zip:1;
6280 uint64_t reserved_25_27:3;
6281 uint64_t tim:1;
6282 uint64_t rad:1;
6283 uint64_t key:1;
6284 uint64_t reserved_31_31:1;
6285 uint64_t sli:1;
6286 uint64_t dpi:1;
6287 uint64_t reserved_34_39:6;
6288 uint64_t dfa:1;
6289 uint64_t reserved_41_47:7;
6290 uint64_t l2c:1;
6291 uint64_t reserved_49_51:3;
6292 uint64_t trace:4;
6293 uint64_t reserved_56_63:8;
6294#endif
6295 } cn68xxp1;
6296};
6297
6298union cvmx_ciu2_src_ppx_ip2_wdog {
6299 uint64_t u64;
6300 struct cvmx_ciu2_src_ppx_ip2_wdog_s {
6301#ifdef __BIG_ENDIAN_BITFIELD
6302 uint64_t reserved_32_63:32;
6303 uint64_t wdog:32;
6304#else
6305 uint64_t wdog:32;
6306 uint64_t reserved_32_63:32;
6307#endif
6308 } s;
6309 struct cvmx_ciu2_src_ppx_ip2_wdog_s cn68xx;
6310 struct cvmx_ciu2_src_ppx_ip2_wdog_s cn68xxp1;
6311};
6312
6313union cvmx_ciu2_src_ppx_ip2_wrkq {
6314 uint64_t u64;
6315 struct cvmx_ciu2_src_ppx_ip2_wrkq_s {
6316#ifdef __BIG_ENDIAN_BITFIELD
6317 uint64_t workq:64;
6318#else
6319 uint64_t workq:64;
6320#endif
6321 } s;
6322 struct cvmx_ciu2_src_ppx_ip2_wrkq_s cn68xx;
6323 struct cvmx_ciu2_src_ppx_ip2_wrkq_s cn68xxp1;
6324};
6325
6326union cvmx_ciu2_src_ppx_ip3_gpio {
6327 uint64_t u64;
6328 struct cvmx_ciu2_src_ppx_ip3_gpio_s {
6329#ifdef __BIG_ENDIAN_BITFIELD
6330 uint64_t reserved_16_63:48;
6331 uint64_t gpio:16;
6332#else
6333 uint64_t gpio:16;
6334 uint64_t reserved_16_63:48;
6335#endif
6336 } s;
6337 struct cvmx_ciu2_src_ppx_ip3_gpio_s cn68xx;
6338 struct cvmx_ciu2_src_ppx_ip3_gpio_s cn68xxp1;
6339};
6340
6341union cvmx_ciu2_src_ppx_ip3_io {
6342 uint64_t u64;
6343 struct cvmx_ciu2_src_ppx_ip3_io_s {
6344#ifdef __BIG_ENDIAN_BITFIELD
6345 uint64_t reserved_34_63:30;
6346 uint64_t pem:2;
6347 uint64_t reserved_18_31:14;
6348 uint64_t pci_inta:2;
6349 uint64_t reserved_13_15:3;
6350 uint64_t msired:1;
6351 uint64_t pci_msi:4;
6352 uint64_t reserved_4_7:4;
6353 uint64_t pci_intr:4;
6354#else
6355 uint64_t pci_intr:4;
6356 uint64_t reserved_4_7:4;
6357 uint64_t pci_msi:4;
6358 uint64_t msired:1;
6359 uint64_t reserved_13_15:3;
6360 uint64_t pci_inta:2;
6361 uint64_t reserved_18_31:14;
6362 uint64_t pem:2;
6363 uint64_t reserved_34_63:30;
6364#endif
6365 } s;
6366 struct cvmx_ciu2_src_ppx_ip3_io_s cn68xx;
6367 struct cvmx_ciu2_src_ppx_ip3_io_s cn68xxp1;
6368};
6369
6370union cvmx_ciu2_src_ppx_ip3_mbox {
6371 uint64_t u64;
6372 struct cvmx_ciu2_src_ppx_ip3_mbox_s {
6373#ifdef __BIG_ENDIAN_BITFIELD
6374 uint64_t reserved_4_63:60;
6375 uint64_t mbox:4;
6376#else
6377 uint64_t mbox:4;
6378 uint64_t reserved_4_63:60;
6379#endif
6380 } s;
6381 struct cvmx_ciu2_src_ppx_ip3_mbox_s cn68xx;
6382 struct cvmx_ciu2_src_ppx_ip3_mbox_s cn68xxp1;
6383};
6384
6385union cvmx_ciu2_src_ppx_ip3_mem {
6386 uint64_t u64;
6387 struct cvmx_ciu2_src_ppx_ip3_mem_s {
6388#ifdef __BIG_ENDIAN_BITFIELD
6389 uint64_t reserved_4_63:60;
6390 uint64_t lmc:4;
6391#else
6392 uint64_t lmc:4;
6393 uint64_t reserved_4_63:60;
6394#endif
6395 } s;
6396 struct cvmx_ciu2_src_ppx_ip3_mem_s cn68xx;
6397 struct cvmx_ciu2_src_ppx_ip3_mem_s cn68xxp1;
6398};
6399
6400union cvmx_ciu2_src_ppx_ip3_mio {
6401 uint64_t u64;
6402 struct cvmx_ciu2_src_ppx_ip3_mio_s {
6403#ifdef __BIG_ENDIAN_BITFIELD
6404 uint64_t rst:1;
6405 uint64_t reserved_49_62:14;
6406 uint64_t ptp:1;
6407 uint64_t reserved_45_47:3;
6408 uint64_t usb_hci:1;
6409 uint64_t reserved_41_43:3;
6410 uint64_t usb_uctl:1;
6411 uint64_t reserved_38_39:2;
6412 uint64_t uart:2;
6413 uint64_t reserved_34_35:2;
6414 uint64_t twsi:2;
6415 uint64_t reserved_19_31:13;
6416 uint64_t bootdma:1;
6417 uint64_t mio:1;
6418 uint64_t nand:1;
6419 uint64_t reserved_12_15:4;
6420 uint64_t timer:4;
6421 uint64_t reserved_3_7:5;
6422 uint64_t ipd_drp:1;
6423 uint64_t ssoiq:1;
6424 uint64_t ipdppthr:1;
6425#else
6426 uint64_t ipdppthr:1;
6427 uint64_t ssoiq:1;
6428 uint64_t ipd_drp:1;
6429 uint64_t reserved_3_7:5;
6430 uint64_t timer:4;
6431 uint64_t reserved_12_15:4;
6432 uint64_t nand:1;
6433 uint64_t mio:1;
6434 uint64_t bootdma:1;
6435 uint64_t reserved_19_31:13;
6436 uint64_t twsi:2;
6437 uint64_t reserved_34_35:2;
6438 uint64_t uart:2;
6439 uint64_t reserved_38_39:2;
6440 uint64_t usb_uctl:1;
6441 uint64_t reserved_41_43:3;
6442 uint64_t usb_hci:1;
6443 uint64_t reserved_45_47:3;
6444 uint64_t ptp:1;
6445 uint64_t reserved_49_62:14;
6446 uint64_t rst:1;
6447#endif
6448 } s;
6449 struct cvmx_ciu2_src_ppx_ip3_mio_s cn68xx;
6450 struct cvmx_ciu2_src_ppx_ip3_mio_s cn68xxp1;
6451};
6452
6453union cvmx_ciu2_src_ppx_ip3_pkt {
6454 uint64_t u64;
6455 struct cvmx_ciu2_src_ppx_ip3_pkt_s {
6456#ifdef __BIG_ENDIAN_BITFIELD
6457 uint64_t reserved_54_63:10;
6458 uint64_t ilk_drp:2;
6459 uint64_t reserved_49_51:3;
6460 uint64_t ilk:1;
6461 uint64_t reserved_41_47:7;
6462 uint64_t mii:1;
6463 uint64_t reserved_33_39:7;
6464 uint64_t agl:1;
6465 uint64_t reserved_13_31:19;
6466 uint64_t gmx_drp:5;
6467 uint64_t reserved_5_7:3;
6468 uint64_t agx:5;
6469#else
6470 uint64_t agx:5;
6471 uint64_t reserved_5_7:3;
6472 uint64_t gmx_drp:5;
6473 uint64_t reserved_13_31:19;
6474 uint64_t agl:1;
6475 uint64_t reserved_33_39:7;
6476 uint64_t mii:1;
6477 uint64_t reserved_41_47:7;
6478 uint64_t ilk:1;
6479 uint64_t reserved_49_51:3;
6480 uint64_t ilk_drp:2;
6481 uint64_t reserved_54_63:10;
6482#endif
6483 } s;
6484 struct cvmx_ciu2_src_ppx_ip3_pkt_s cn68xx;
6485 struct cvmx_ciu2_src_ppx_ip3_pkt_cn68xxp1 {
6486#ifdef __BIG_ENDIAN_BITFIELD
6487 uint64_t reserved_49_63:15;
6488 uint64_t ilk:1;
6489 uint64_t reserved_41_47:7;
6490 uint64_t mii:1;
6491 uint64_t reserved_33_39:7;
6492 uint64_t agl:1;
6493 uint64_t reserved_13_31:19;
6494 uint64_t gmx_drp:5;
6495 uint64_t reserved_5_7:3;
6496 uint64_t agx:5;
6497#else
6498 uint64_t agx:5;
6499 uint64_t reserved_5_7:3;
6500 uint64_t gmx_drp:5;
6501 uint64_t reserved_13_31:19;
6502 uint64_t agl:1;
6503 uint64_t reserved_33_39:7;
6504 uint64_t mii:1;
6505 uint64_t reserved_41_47:7;
6506 uint64_t ilk:1;
6507 uint64_t reserved_49_63:15;
6508#endif
6509 } cn68xxp1;
6510};
6511
6512union cvmx_ciu2_src_ppx_ip3_rml {
6513 uint64_t u64;
6514 struct cvmx_ciu2_src_ppx_ip3_rml_s {
6515#ifdef __BIG_ENDIAN_BITFIELD
6516 uint64_t reserved_56_63:8;
6517 uint64_t trace:4;
6518 uint64_t reserved_49_51:3;
6519 uint64_t l2c:1;
6520 uint64_t reserved_41_47:7;
6521 uint64_t dfa:1;
6522 uint64_t reserved_37_39:3;
6523 uint64_t dpi_dma:1;
6524 uint64_t reserved_34_35:2;
6525 uint64_t dpi:1;
6526 uint64_t sli:1;
6527 uint64_t reserved_31_31:1;
6528 uint64_t key:1;
6529 uint64_t rad:1;
6530 uint64_t tim:1;
6531 uint64_t reserved_25_27:3;
6532 uint64_t zip:1;
6533 uint64_t reserved_17_23:7;
6534 uint64_t sso:1;
6535 uint64_t reserved_8_15:8;
6536 uint64_t pko:1;
6537 uint64_t pip:1;
6538 uint64_t ipd:1;
6539 uint64_t fpa:1;
6540 uint64_t reserved_1_3:3;
6541 uint64_t iob:1;
6542#else
6543 uint64_t iob:1;
6544 uint64_t reserved_1_3:3;
6545 uint64_t fpa:1;
6546 uint64_t ipd:1;
6547 uint64_t pip:1;
6548 uint64_t pko:1;
6549 uint64_t reserved_8_15:8;
6550 uint64_t sso:1;
6551 uint64_t reserved_17_23:7;
6552 uint64_t zip:1;
6553 uint64_t reserved_25_27:3;
6554 uint64_t tim:1;
6555 uint64_t rad:1;
6556 uint64_t key:1;
6557 uint64_t reserved_31_31:1;
6558 uint64_t sli:1;
6559 uint64_t dpi:1;
6560 uint64_t reserved_34_35:2;
6561 uint64_t dpi_dma:1;
6562 uint64_t reserved_37_39:3;
6563 uint64_t dfa:1;
6564 uint64_t reserved_41_47:7;
6565 uint64_t l2c:1;
6566 uint64_t reserved_49_51:3;
6567 uint64_t trace:4;
6568 uint64_t reserved_56_63:8;
6569#endif
6570 } s;
6571 struct cvmx_ciu2_src_ppx_ip3_rml_s cn68xx;
6572 struct cvmx_ciu2_src_ppx_ip3_rml_cn68xxp1 {
6573#ifdef __BIG_ENDIAN_BITFIELD
6574 uint64_t reserved_56_63:8;
6575 uint64_t trace:4;
6576 uint64_t reserved_49_51:3;
6577 uint64_t l2c:1;
6578 uint64_t reserved_41_47:7;
6579 uint64_t dfa:1;
6580 uint64_t reserved_34_39:6;
6581 uint64_t dpi:1;
6582 uint64_t sli:1;
6583 uint64_t reserved_31_31:1;
6584 uint64_t key:1;
6585 uint64_t rad:1;
6586 uint64_t tim:1;
6587 uint64_t reserved_25_27:3;
6588 uint64_t zip:1;
6589 uint64_t reserved_17_23:7;
6590 uint64_t sso:1;
6591 uint64_t reserved_8_15:8;
6592 uint64_t pko:1;
6593 uint64_t pip:1;
6594 uint64_t ipd:1;
6595 uint64_t fpa:1;
6596 uint64_t reserved_1_3:3;
6597 uint64_t iob:1;
6598#else
6599 uint64_t iob:1;
6600 uint64_t reserved_1_3:3;
6601 uint64_t fpa:1;
6602 uint64_t ipd:1;
6603 uint64_t pip:1;
6604 uint64_t pko:1;
6605 uint64_t reserved_8_15:8;
6606 uint64_t sso:1;
6607 uint64_t reserved_17_23:7;
6608 uint64_t zip:1;
6609 uint64_t reserved_25_27:3;
6610 uint64_t tim:1;
6611 uint64_t rad:1;
6612 uint64_t key:1;
6613 uint64_t reserved_31_31:1;
6614 uint64_t sli:1;
6615 uint64_t dpi:1;
6616 uint64_t reserved_34_39:6;
6617 uint64_t dfa:1;
6618 uint64_t reserved_41_47:7;
6619 uint64_t l2c:1;
6620 uint64_t reserved_49_51:3;
6621 uint64_t trace:4;
6622 uint64_t reserved_56_63:8;
6623#endif
6624 } cn68xxp1;
6625};
6626
6627union cvmx_ciu2_src_ppx_ip3_wdog {
6628 uint64_t u64;
6629 struct cvmx_ciu2_src_ppx_ip3_wdog_s {
6630#ifdef __BIG_ENDIAN_BITFIELD
6631 uint64_t reserved_32_63:32;
6632 uint64_t wdog:32;
6633#else
6634 uint64_t wdog:32;
6635 uint64_t reserved_32_63:32;
6636#endif
6637 } s;
6638 struct cvmx_ciu2_src_ppx_ip3_wdog_s cn68xx;
6639 struct cvmx_ciu2_src_ppx_ip3_wdog_s cn68xxp1;
6640};
6641
6642union cvmx_ciu2_src_ppx_ip3_wrkq {
6643 uint64_t u64;
6644 struct cvmx_ciu2_src_ppx_ip3_wrkq_s {
6645#ifdef __BIG_ENDIAN_BITFIELD
6646 uint64_t workq:64;
6647#else
6648 uint64_t workq:64;
6649#endif
6650 } s;
6651 struct cvmx_ciu2_src_ppx_ip3_wrkq_s cn68xx;
6652 struct cvmx_ciu2_src_ppx_ip3_wrkq_s cn68xxp1;
6653};
6654
6655union cvmx_ciu2_src_ppx_ip4_gpio {
6656 uint64_t u64;
6657 struct cvmx_ciu2_src_ppx_ip4_gpio_s {
6658#ifdef __BIG_ENDIAN_BITFIELD
6659 uint64_t reserved_16_63:48;
6660 uint64_t gpio:16;
6661#else
6662 uint64_t gpio:16;
6663 uint64_t reserved_16_63:48;
6664#endif
6665 } s;
6666 struct cvmx_ciu2_src_ppx_ip4_gpio_s cn68xx;
6667 struct cvmx_ciu2_src_ppx_ip4_gpio_s cn68xxp1;
6668};
6669
6670union cvmx_ciu2_src_ppx_ip4_io {
6671 uint64_t u64;
6672 struct cvmx_ciu2_src_ppx_ip4_io_s {
6673#ifdef __BIG_ENDIAN_BITFIELD
6674 uint64_t reserved_34_63:30;
6675 uint64_t pem:2;
6676 uint64_t reserved_18_31:14;
6677 uint64_t pci_inta:2;
6678 uint64_t reserved_13_15:3;
6679 uint64_t msired:1;
6680 uint64_t pci_msi:4;
6681 uint64_t reserved_4_7:4;
6682 uint64_t pci_intr:4;
6683#else
6684 uint64_t pci_intr:4;
6685 uint64_t reserved_4_7:4;
6686 uint64_t pci_msi:4;
6687 uint64_t msired:1;
6688 uint64_t reserved_13_15:3;
6689 uint64_t pci_inta:2;
6690 uint64_t reserved_18_31:14;
6691 uint64_t pem:2;
6692 uint64_t reserved_34_63:30;
6693#endif
6694 } s;
6695 struct cvmx_ciu2_src_ppx_ip4_io_s cn68xx;
6696 struct cvmx_ciu2_src_ppx_ip4_io_s cn68xxp1;
6697};
6698
6699union cvmx_ciu2_src_ppx_ip4_mbox {
6700 uint64_t u64;
6701 struct cvmx_ciu2_src_ppx_ip4_mbox_s {
6702#ifdef __BIG_ENDIAN_BITFIELD
6703 uint64_t reserved_4_63:60;
6704 uint64_t mbox:4;
6705#else
6706 uint64_t mbox:4;
6707 uint64_t reserved_4_63:60;
6708#endif
6709 } s;
6710 struct cvmx_ciu2_src_ppx_ip4_mbox_s cn68xx;
6711 struct cvmx_ciu2_src_ppx_ip4_mbox_s cn68xxp1;
6712};
6713
6714union cvmx_ciu2_src_ppx_ip4_mem {
6715 uint64_t u64;
6716 struct cvmx_ciu2_src_ppx_ip4_mem_s {
6717#ifdef __BIG_ENDIAN_BITFIELD
6718 uint64_t reserved_4_63:60;
6719 uint64_t lmc:4;
6720#else
6721 uint64_t lmc:4;
6722 uint64_t reserved_4_63:60;
6723#endif
6724 } s;
6725 struct cvmx_ciu2_src_ppx_ip4_mem_s cn68xx;
6726 struct cvmx_ciu2_src_ppx_ip4_mem_s cn68xxp1;
6727};
6728
6729union cvmx_ciu2_src_ppx_ip4_mio {
6730 uint64_t u64;
6731 struct cvmx_ciu2_src_ppx_ip4_mio_s {
6732#ifdef __BIG_ENDIAN_BITFIELD
6733 uint64_t rst:1;
6734 uint64_t reserved_49_62:14;
6735 uint64_t ptp:1;
6736 uint64_t reserved_45_47:3;
6737 uint64_t usb_hci:1;
6738 uint64_t reserved_41_43:3;
6739 uint64_t usb_uctl:1;
6740 uint64_t reserved_38_39:2;
6741 uint64_t uart:2;
6742 uint64_t reserved_34_35:2;
6743 uint64_t twsi:2;
6744 uint64_t reserved_19_31:13;
6745 uint64_t bootdma:1;
6746 uint64_t mio:1;
6747 uint64_t nand:1;
6748 uint64_t reserved_12_15:4;
6749 uint64_t timer:4;
6750 uint64_t reserved_3_7:5;
6751 uint64_t ipd_drp:1;
6752 uint64_t ssoiq:1;
6753 uint64_t ipdppthr:1;
6754#else
6755 uint64_t ipdppthr:1;
6756 uint64_t ssoiq:1;
6757 uint64_t ipd_drp:1;
6758 uint64_t reserved_3_7:5;
6759 uint64_t timer:4;
6760 uint64_t reserved_12_15:4;
6761 uint64_t nand:1;
6762 uint64_t mio:1;
6763 uint64_t bootdma:1;
6764 uint64_t reserved_19_31:13;
6765 uint64_t twsi:2;
6766 uint64_t reserved_34_35:2;
6767 uint64_t uart:2;
6768 uint64_t reserved_38_39:2;
6769 uint64_t usb_uctl:1;
6770 uint64_t reserved_41_43:3;
6771 uint64_t usb_hci:1;
6772 uint64_t reserved_45_47:3;
6773 uint64_t ptp:1;
6774 uint64_t reserved_49_62:14;
6775 uint64_t rst:1;
6776#endif
6777 } s;
6778 struct cvmx_ciu2_src_ppx_ip4_mio_s cn68xx;
6779 struct cvmx_ciu2_src_ppx_ip4_mio_s cn68xxp1;
6780};
6781
6782union cvmx_ciu2_src_ppx_ip4_pkt {
6783 uint64_t u64;
6784 struct cvmx_ciu2_src_ppx_ip4_pkt_s {
6785#ifdef __BIG_ENDIAN_BITFIELD
6786 uint64_t reserved_54_63:10;
6787 uint64_t ilk_drp:2;
6788 uint64_t reserved_49_51:3;
6789 uint64_t ilk:1;
6790 uint64_t reserved_41_47:7;
6791 uint64_t mii:1;
6792 uint64_t reserved_33_39:7;
6793 uint64_t agl:1;
6794 uint64_t reserved_13_31:19;
6795 uint64_t gmx_drp:5;
6796 uint64_t reserved_5_7:3;
6797 uint64_t agx:5;
6798#else
6799 uint64_t agx:5;
6800 uint64_t reserved_5_7:3;
6801 uint64_t gmx_drp:5;
6802 uint64_t reserved_13_31:19;
6803 uint64_t agl:1;
6804 uint64_t reserved_33_39:7;
6805 uint64_t mii:1;
6806 uint64_t reserved_41_47:7;
6807 uint64_t ilk:1;
6808 uint64_t reserved_49_51:3;
6809 uint64_t ilk_drp:2;
6810 uint64_t reserved_54_63:10;
6811#endif
6812 } s;
6813 struct cvmx_ciu2_src_ppx_ip4_pkt_s cn68xx;
6814 struct cvmx_ciu2_src_ppx_ip4_pkt_cn68xxp1 {
6815#ifdef __BIG_ENDIAN_BITFIELD
6816 uint64_t reserved_49_63:15;
6817 uint64_t ilk:1;
6818 uint64_t reserved_41_47:7;
6819 uint64_t mii:1;
6820 uint64_t reserved_33_39:7;
6821 uint64_t agl:1;
6822 uint64_t reserved_13_31:19;
6823 uint64_t gmx_drp:5;
6824 uint64_t reserved_5_7:3;
6825 uint64_t agx:5;
6826#else
6827 uint64_t agx:5;
6828 uint64_t reserved_5_7:3;
6829 uint64_t gmx_drp:5;
6830 uint64_t reserved_13_31:19;
6831 uint64_t agl:1;
6832 uint64_t reserved_33_39:7;
6833 uint64_t mii:1;
6834 uint64_t reserved_41_47:7;
6835 uint64_t ilk:1;
6836 uint64_t reserved_49_63:15;
6837#endif
6838 } cn68xxp1;
6839};
6840
6841union cvmx_ciu2_src_ppx_ip4_rml {
6842 uint64_t u64;
6843 struct cvmx_ciu2_src_ppx_ip4_rml_s {
6844#ifdef __BIG_ENDIAN_BITFIELD
6845 uint64_t reserved_56_63:8;
6846 uint64_t trace:4;
6847 uint64_t reserved_49_51:3;
6848 uint64_t l2c:1;
6849 uint64_t reserved_41_47:7;
6850 uint64_t dfa:1;
6851 uint64_t reserved_37_39:3;
6852 uint64_t dpi_dma:1;
6853 uint64_t reserved_34_35:2;
6854 uint64_t dpi:1;
6855 uint64_t sli:1;
6856 uint64_t reserved_31_31:1;
6857 uint64_t key:1;
6858 uint64_t rad:1;
6859 uint64_t tim:1;
6860 uint64_t reserved_25_27:3;
6861 uint64_t zip:1;
6862 uint64_t reserved_17_23:7;
6863 uint64_t sso:1;
6864 uint64_t reserved_8_15:8;
6865 uint64_t pko:1;
6866 uint64_t pip:1;
6867 uint64_t ipd:1;
6868 uint64_t fpa:1;
6869 uint64_t reserved_1_3:3;
6870 uint64_t iob:1;
6871#else
6872 uint64_t iob:1;
6873 uint64_t reserved_1_3:3;
6874 uint64_t fpa:1;
6875 uint64_t ipd:1;
6876 uint64_t pip:1;
6877 uint64_t pko:1;
6878 uint64_t reserved_8_15:8;
6879 uint64_t sso:1;
6880 uint64_t reserved_17_23:7;
6881 uint64_t zip:1;
6882 uint64_t reserved_25_27:3;
6883 uint64_t tim:1;
6884 uint64_t rad:1;
6885 uint64_t key:1;
6886 uint64_t reserved_31_31:1;
6887 uint64_t sli:1;
6888 uint64_t dpi:1;
6889 uint64_t reserved_34_35:2;
6890 uint64_t dpi_dma:1;
6891 uint64_t reserved_37_39:3;
6892 uint64_t dfa:1;
6893 uint64_t reserved_41_47:7;
6894 uint64_t l2c:1;
6895 uint64_t reserved_49_51:3;
6896 uint64_t trace:4;
6897 uint64_t reserved_56_63:8;
6898#endif
6899 } s;
6900 struct cvmx_ciu2_src_ppx_ip4_rml_s cn68xx;
6901 struct cvmx_ciu2_src_ppx_ip4_rml_cn68xxp1 {
6902#ifdef __BIG_ENDIAN_BITFIELD
6903 uint64_t reserved_56_63:8;
6904 uint64_t trace:4;
6905 uint64_t reserved_49_51:3;
6906 uint64_t l2c:1;
6907 uint64_t reserved_41_47:7;
6908 uint64_t dfa:1;
6909 uint64_t reserved_34_39:6;
6910 uint64_t dpi:1;
6911 uint64_t sli:1;
6912 uint64_t reserved_31_31:1;
6913 uint64_t key:1;
6914 uint64_t rad:1;
6915 uint64_t tim:1;
6916 uint64_t reserved_25_27:3;
6917 uint64_t zip:1;
6918 uint64_t reserved_17_23:7;
6919 uint64_t sso:1;
6920 uint64_t reserved_8_15:8;
6921 uint64_t pko:1;
6922 uint64_t pip:1;
6923 uint64_t ipd:1;
6924 uint64_t fpa:1;
6925 uint64_t reserved_1_3:3;
6926 uint64_t iob:1;
6927#else
6928 uint64_t iob:1;
6929 uint64_t reserved_1_3:3;
6930 uint64_t fpa:1;
6931 uint64_t ipd:1;
6932 uint64_t pip:1;
6933 uint64_t pko:1;
6934 uint64_t reserved_8_15:8;
6935 uint64_t sso:1;
6936 uint64_t reserved_17_23:7;
6937 uint64_t zip:1;
6938 uint64_t reserved_25_27:3;
6939 uint64_t tim:1;
6940 uint64_t rad:1;
6941 uint64_t key:1;
6942 uint64_t reserved_31_31:1;
6943 uint64_t sli:1;
6944 uint64_t dpi:1;
6945 uint64_t reserved_34_39:6;
6946 uint64_t dfa:1;
6947 uint64_t reserved_41_47:7;
6948 uint64_t l2c:1;
6949 uint64_t reserved_49_51:3;
6950 uint64_t trace:4;
6951 uint64_t reserved_56_63:8;
6952#endif
6953 } cn68xxp1;
6954};
6955
6956union cvmx_ciu2_src_ppx_ip4_wdog {
6957 uint64_t u64;
6958 struct cvmx_ciu2_src_ppx_ip4_wdog_s {
6959#ifdef __BIG_ENDIAN_BITFIELD
6960 uint64_t reserved_32_63:32;
6961 uint64_t wdog:32;
6962#else
6963 uint64_t wdog:32;
6964 uint64_t reserved_32_63:32;
6965#endif
6966 } s;
6967 struct cvmx_ciu2_src_ppx_ip4_wdog_s cn68xx;
6968 struct cvmx_ciu2_src_ppx_ip4_wdog_s cn68xxp1;
6969};
6970
6971union cvmx_ciu2_src_ppx_ip4_wrkq {
6972 uint64_t u64;
6973 struct cvmx_ciu2_src_ppx_ip4_wrkq_s {
6974#ifdef __BIG_ENDIAN_BITFIELD
6975 uint64_t workq:64;
6976#else
6977 uint64_t workq:64;
6978#endif
6979 } s;
6980 struct cvmx_ciu2_src_ppx_ip4_wrkq_s cn68xx;
6981 struct cvmx_ciu2_src_ppx_ip4_wrkq_s cn68xxp1;
6982};
6983
6984union cvmx_ciu2_sum_iox_int {
6985 uint64_t u64;
6986 struct cvmx_ciu2_sum_iox_int_s {
6987#ifdef __BIG_ENDIAN_BITFIELD
6988 uint64_t mbox:4;
6989 uint64_t reserved_8_59:52;
6990 uint64_t gpio:1;
6991 uint64_t pkt:1;
6992 uint64_t mem:1;
6993 uint64_t io:1;
6994 uint64_t mio:1;
6995 uint64_t rml:1;
6996 uint64_t wdog:1;
6997 uint64_t workq:1;
6998#else
6999 uint64_t workq:1;
7000 uint64_t wdog:1;
7001 uint64_t rml:1;
7002 uint64_t mio:1;
7003 uint64_t io:1;
7004 uint64_t mem:1;
7005 uint64_t pkt:1;
7006 uint64_t gpio:1;
7007 uint64_t reserved_8_59:52;
7008 uint64_t mbox:4;
7009#endif
7010 } s;
7011 struct cvmx_ciu2_sum_iox_int_s cn68xx;
7012 struct cvmx_ciu2_sum_iox_int_s cn68xxp1;
7013};
7014
7015union cvmx_ciu2_sum_ppx_ip2 {
7016 uint64_t u64;
7017 struct cvmx_ciu2_sum_ppx_ip2_s {
7018#ifdef __BIG_ENDIAN_BITFIELD
7019 uint64_t mbox:4;
7020 uint64_t reserved_8_59:52;
7021 uint64_t gpio:1;
7022 uint64_t pkt:1;
7023 uint64_t mem:1;
7024 uint64_t io:1;
7025 uint64_t mio:1;
7026 uint64_t rml:1;
7027 uint64_t wdog:1;
7028 uint64_t workq:1;
7029#else
7030 uint64_t workq:1;
7031 uint64_t wdog:1;
7032 uint64_t rml:1;
7033 uint64_t mio:1;
7034 uint64_t io:1;
7035 uint64_t mem:1;
7036 uint64_t pkt:1;
7037 uint64_t gpio:1;
7038 uint64_t reserved_8_59:52;
7039 uint64_t mbox:4;
7040#endif
7041 } s;
7042 struct cvmx_ciu2_sum_ppx_ip2_s cn68xx;
7043 struct cvmx_ciu2_sum_ppx_ip2_s cn68xxp1;
7044};
7045
7046union cvmx_ciu2_sum_ppx_ip3 {
7047 uint64_t u64;
7048 struct cvmx_ciu2_sum_ppx_ip3_s {
7049#ifdef __BIG_ENDIAN_BITFIELD
7050 uint64_t mbox:4;
7051 uint64_t reserved_8_59:52;
7052 uint64_t gpio:1;
7053 uint64_t pkt:1;
7054 uint64_t mem:1;
7055 uint64_t io:1;
7056 uint64_t mio:1;
7057 uint64_t rml:1;
7058 uint64_t wdog:1;
7059 uint64_t workq:1;
7060#else
7061 uint64_t workq:1;
7062 uint64_t wdog:1;
7063 uint64_t rml:1;
7064 uint64_t mio:1;
7065 uint64_t io:1;
7066 uint64_t mem:1;
7067 uint64_t pkt:1;
7068 uint64_t gpio:1;
7069 uint64_t reserved_8_59:52;
7070 uint64_t mbox:4;
7071#endif
7072 } s;
7073 struct cvmx_ciu2_sum_ppx_ip3_s cn68xx;
7074 struct cvmx_ciu2_sum_ppx_ip3_s cn68xxp1;
7075};
7076
7077union cvmx_ciu2_sum_ppx_ip4 {
7078 uint64_t u64;
7079 struct cvmx_ciu2_sum_ppx_ip4_s {
7080#ifdef __BIG_ENDIAN_BITFIELD
7081 uint64_t mbox:4;
7082 uint64_t reserved_8_59:52;
7083 uint64_t gpio:1;
7084 uint64_t pkt:1;
7085 uint64_t mem:1;
7086 uint64_t io:1;
7087 uint64_t mio:1;
7088 uint64_t rml:1;
7089 uint64_t wdog:1;
7090 uint64_t workq:1;
7091#else
7092 uint64_t workq:1;
7093 uint64_t wdog:1;
7094 uint64_t rml:1;
7095 uint64_t mio:1;
7096 uint64_t io:1;
7097 uint64_t mem:1;
7098 uint64_t pkt:1;
7099 uint64_t gpio:1;
7100 uint64_t reserved_8_59:52;
7101 uint64_t mbox:4;
7102#endif
7103 } s;
7104 struct cvmx_ciu2_sum_ppx_ip4_s cn68xx;
7105 struct cvmx_ciu2_sum_ppx_ip4_s cn68xxp1;
7106};
7107
7108#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-dbg-defs.h b/arch/mips/include/asm/octeon/cvmx-dbg-defs.h
index abbf42d05e5a..40799cdae695 100644
--- a/arch/mips/include/asm/octeon/cvmx-dbg-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-dbg-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,27 +28,43 @@
28#ifndef __CVMX_DBG_DEFS_H__ 28#ifndef __CVMX_DBG_DEFS_H__
29#define __CVMX_DBG_DEFS_H__ 29#define __CVMX_DBG_DEFS_H__
30 30
31#define CVMX_DBG_DATA \ 31#define CVMX_DBG_DATA (CVMX_ADD_IO_SEG(0x00011F00000001E8ull))
32 CVMX_ADD_IO_SEG(0x00011F00000001E8ull)
33 32
34union cvmx_dbg_data { 33union cvmx_dbg_data {
35 uint64_t u64; 34 uint64_t u64;
36 struct cvmx_dbg_data_s { 35 struct cvmx_dbg_data_s {
36#ifdef __BIG_ENDIAN_BITFIELD
37 uint64_t reserved_23_63:41; 37 uint64_t reserved_23_63:41;
38 uint64_t c_mul:5; 38 uint64_t c_mul:5;
39 uint64_t dsel_ext:1; 39 uint64_t dsel_ext:1;
40 uint64_t data:17; 40 uint64_t data:17;
41#else
42 uint64_t data:17;
43 uint64_t dsel_ext:1;
44 uint64_t c_mul:5;
45 uint64_t reserved_23_63:41;
46#endif
41 } s; 47 } s;
42 struct cvmx_dbg_data_cn30xx { 48 struct cvmx_dbg_data_cn30xx {
49#ifdef __BIG_ENDIAN_BITFIELD
43 uint64_t reserved_31_63:33; 50 uint64_t reserved_31_63:33;
44 uint64_t pll_mul:3; 51 uint64_t pll_mul:3;
45 uint64_t reserved_23_27:5; 52 uint64_t reserved_23_27:5;
46 uint64_t c_mul:5; 53 uint64_t c_mul:5;
47 uint64_t dsel_ext:1; 54 uint64_t dsel_ext:1;
48 uint64_t data:17; 55 uint64_t data:17;
56#else
57 uint64_t data:17;
58 uint64_t dsel_ext:1;
59 uint64_t c_mul:5;
60 uint64_t reserved_23_27:5;
61 uint64_t pll_mul:3;
62 uint64_t reserved_31_63:33;
63#endif
49 } cn30xx; 64 } cn30xx;
50 struct cvmx_dbg_data_cn30xx cn31xx; 65 struct cvmx_dbg_data_cn30xx cn31xx;
51 struct cvmx_dbg_data_cn38xx { 66 struct cvmx_dbg_data_cn38xx {
67#ifdef __BIG_ENDIAN_BITFIELD
52 uint64_t reserved_29_63:35; 68 uint64_t reserved_29_63:35;
53 uint64_t d_mul:4; 69 uint64_t d_mul:4;
54 uint64_t dclk_mul2:1; 70 uint64_t dclk_mul2:1;
@@ -56,15 +72,32 @@ union cvmx_dbg_data {
56 uint64_t c_mul:5; 72 uint64_t c_mul:5;
57 uint64_t dsel_ext:1; 73 uint64_t dsel_ext:1;
58 uint64_t data:17; 74 uint64_t data:17;
75#else
76 uint64_t data:17;
77 uint64_t dsel_ext:1;
78 uint64_t c_mul:5;
79 uint64_t cclk_div2:1;
80 uint64_t dclk_mul2:1;
81 uint64_t d_mul:4;
82 uint64_t reserved_29_63:35;
83#endif
59 } cn38xx; 84 } cn38xx;
60 struct cvmx_dbg_data_cn38xx cn38xxp2; 85 struct cvmx_dbg_data_cn38xx cn38xxp2;
61 struct cvmx_dbg_data_cn30xx cn50xx; 86 struct cvmx_dbg_data_cn30xx cn50xx;
62 struct cvmx_dbg_data_cn58xx { 87 struct cvmx_dbg_data_cn58xx {
88#ifdef __BIG_ENDIAN_BITFIELD
63 uint64_t reserved_29_63:35; 89 uint64_t reserved_29_63:35;
64 uint64_t rem:6; 90 uint64_t rem:6;
65 uint64_t c_mul:5; 91 uint64_t c_mul:5;
66 uint64_t dsel_ext:1; 92 uint64_t dsel_ext:1;
67 uint64_t data:17; 93 uint64_t data:17;
94#else
95 uint64_t data:17;
96 uint64_t dsel_ext:1;
97 uint64_t c_mul:5;
98 uint64_t rem:6;
99 uint64_t reserved_29_63:35;
100#endif
68 } cn58xx; 101 } cn58xx;
69 struct cvmx_dbg_data_cn58xx cn58xxp1; 102 struct cvmx_dbg_data_cn58xx cn58xxp1;
70}; 103};
diff --git a/arch/mips/include/asm/octeon/cvmx-dpi-defs.h b/arch/mips/include/asm/octeon/cvmx-dpi-defs.h
index c34ad04789ce..dd5b0428de35 100644
--- a/arch/mips/include/asm/octeon/cvmx-dpi-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-dpi-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2011 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -55,52 +55,107 @@
55#define CVMX_DPI_REQ_ERR_SKIP_COMP (CVMX_ADD_IO_SEG(0x0001DF0000000838ull)) 55#define CVMX_DPI_REQ_ERR_SKIP_COMP (CVMX_ADD_IO_SEG(0x0001DF0000000838ull))
56#define CVMX_DPI_REQ_GBL_EN (CVMX_ADD_IO_SEG(0x0001DF0000000050ull)) 56#define CVMX_DPI_REQ_GBL_EN (CVMX_ADD_IO_SEG(0x0001DF0000000050ull))
57#define CVMX_DPI_SLI_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000900ull) + ((offset) & 3) * 8) 57#define CVMX_DPI_SLI_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000900ull) + ((offset) & 3) * 8)
58static inline uint64_t CVMX_DPI_SLI_PRTX_ERR(unsigned long offset)
59{
60 switch (cvmx_get_octeon_family()) {
61 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
62 return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
63 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
64 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
65 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
66
67 if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS1))
68 return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
69
70 if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS2))
71 return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
72 return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
73 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
74 return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
75 }
76 return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
77}
78
58#define CVMX_DPI_SLI_PRTX_ERR_INFO(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000940ull) + ((offset) & 3) * 8) 79#define CVMX_DPI_SLI_PRTX_ERR_INFO(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000940ull) + ((offset) & 3) * 8)
59 80
60union cvmx_dpi_bist_status { 81union cvmx_dpi_bist_status {
61 uint64_t u64; 82 uint64_t u64;
62 struct cvmx_dpi_bist_status_s { 83 struct cvmx_dpi_bist_status_s {
84#ifdef __BIG_ENDIAN_BITFIELD
63 uint64_t reserved_47_63:17; 85 uint64_t reserved_47_63:17;
64 uint64_t bist:47; 86 uint64_t bist:47;
87#else
88 uint64_t bist:47;
89 uint64_t reserved_47_63:17;
90#endif
65 } s; 91 } s;
66 struct cvmx_dpi_bist_status_s cn61xx; 92 struct cvmx_dpi_bist_status_s cn61xx;
67 struct cvmx_dpi_bist_status_cn63xx { 93 struct cvmx_dpi_bist_status_cn63xx {
94#ifdef __BIG_ENDIAN_BITFIELD
68 uint64_t reserved_45_63:19; 95 uint64_t reserved_45_63:19;
69 uint64_t bist:45; 96 uint64_t bist:45;
97#else
98 uint64_t bist:45;
99 uint64_t reserved_45_63:19;
100#endif
70 } cn63xx; 101 } cn63xx;
71 struct cvmx_dpi_bist_status_cn63xxp1 { 102 struct cvmx_dpi_bist_status_cn63xxp1 {
103#ifdef __BIG_ENDIAN_BITFIELD
72 uint64_t reserved_37_63:27; 104 uint64_t reserved_37_63:27;
73 uint64_t bist:37; 105 uint64_t bist:37;
106#else
107 uint64_t bist:37;
108 uint64_t reserved_37_63:27;
109#endif
74 } cn63xxp1; 110 } cn63xxp1;
75 struct cvmx_dpi_bist_status_s cn66xx; 111 struct cvmx_dpi_bist_status_s cn66xx;
76 struct cvmx_dpi_bist_status_cn63xx cn68xx; 112 struct cvmx_dpi_bist_status_cn63xx cn68xx;
77 struct cvmx_dpi_bist_status_cn63xx cn68xxp1; 113 struct cvmx_dpi_bist_status_cn63xx cn68xxp1;
114 struct cvmx_dpi_bist_status_s cnf71xx;
78}; 115};
79 116
80union cvmx_dpi_ctl { 117union cvmx_dpi_ctl {
81 uint64_t u64; 118 uint64_t u64;
82 struct cvmx_dpi_ctl_s { 119 struct cvmx_dpi_ctl_s {
120#ifdef __BIG_ENDIAN_BITFIELD
83 uint64_t reserved_2_63:62; 121 uint64_t reserved_2_63:62;
84 uint64_t clk:1; 122 uint64_t clk:1;
85 uint64_t en:1; 123 uint64_t en:1;
124#else
125 uint64_t en:1;
126 uint64_t clk:1;
127 uint64_t reserved_2_63:62;
128#endif
86 } s; 129 } s;
87 struct cvmx_dpi_ctl_cn61xx { 130 struct cvmx_dpi_ctl_cn61xx {
131#ifdef __BIG_ENDIAN_BITFIELD
88 uint64_t reserved_1_63:63; 132 uint64_t reserved_1_63:63;
89 uint64_t en:1; 133 uint64_t en:1;
134#else
135 uint64_t en:1;
136 uint64_t reserved_1_63:63;
137#endif
90 } cn61xx; 138 } cn61xx;
91 struct cvmx_dpi_ctl_s cn63xx; 139 struct cvmx_dpi_ctl_s cn63xx;
92 struct cvmx_dpi_ctl_s cn63xxp1; 140 struct cvmx_dpi_ctl_s cn63xxp1;
93 struct cvmx_dpi_ctl_s cn66xx; 141 struct cvmx_dpi_ctl_s cn66xx;
94 struct cvmx_dpi_ctl_s cn68xx; 142 struct cvmx_dpi_ctl_s cn68xx;
95 struct cvmx_dpi_ctl_s cn68xxp1; 143 struct cvmx_dpi_ctl_s cn68xxp1;
144 struct cvmx_dpi_ctl_cn61xx cnf71xx;
96}; 145};
97 146
98union cvmx_dpi_dmax_counts { 147union cvmx_dpi_dmax_counts {
99 uint64_t u64; 148 uint64_t u64;
100 struct cvmx_dpi_dmax_counts_s { 149 struct cvmx_dpi_dmax_counts_s {
150#ifdef __BIG_ENDIAN_BITFIELD
101 uint64_t reserved_39_63:25; 151 uint64_t reserved_39_63:25;
102 uint64_t fcnt:7; 152 uint64_t fcnt:7;
103 uint64_t dbell:32; 153 uint64_t dbell:32;
154#else
155 uint64_t dbell:32;
156 uint64_t fcnt:7;
157 uint64_t reserved_39_63:25;
158#endif
104 } s; 159 } s;
105 struct cvmx_dpi_dmax_counts_s cn61xx; 160 struct cvmx_dpi_dmax_counts_s cn61xx;
106 struct cvmx_dpi_dmax_counts_s cn63xx; 161 struct cvmx_dpi_dmax_counts_s cn63xx;
@@ -108,13 +163,19 @@ union cvmx_dpi_dmax_counts {
108 struct cvmx_dpi_dmax_counts_s cn66xx; 163 struct cvmx_dpi_dmax_counts_s cn66xx;
109 struct cvmx_dpi_dmax_counts_s cn68xx; 164 struct cvmx_dpi_dmax_counts_s cn68xx;
110 struct cvmx_dpi_dmax_counts_s cn68xxp1; 165 struct cvmx_dpi_dmax_counts_s cn68xxp1;
166 struct cvmx_dpi_dmax_counts_s cnf71xx;
111}; 167};
112 168
113union cvmx_dpi_dmax_dbell { 169union cvmx_dpi_dmax_dbell {
114 uint64_t u64; 170 uint64_t u64;
115 struct cvmx_dpi_dmax_dbell_s { 171 struct cvmx_dpi_dmax_dbell_s {
172#ifdef __BIG_ENDIAN_BITFIELD
116 uint64_t reserved_16_63:48; 173 uint64_t reserved_16_63:48;
117 uint64_t dbell:16; 174 uint64_t dbell:16;
175#else
176 uint64_t dbell:16;
177 uint64_t reserved_16_63:48;
178#endif
118 } s; 179 } s;
119 struct cvmx_dpi_dmax_dbell_s cn61xx; 180 struct cvmx_dpi_dmax_dbell_s cn61xx;
120 struct cvmx_dpi_dmax_dbell_s cn63xx; 181 struct cvmx_dpi_dmax_dbell_s cn63xx;
@@ -122,31 +183,48 @@ union cvmx_dpi_dmax_dbell {
122 struct cvmx_dpi_dmax_dbell_s cn66xx; 183 struct cvmx_dpi_dmax_dbell_s cn66xx;
123 struct cvmx_dpi_dmax_dbell_s cn68xx; 184 struct cvmx_dpi_dmax_dbell_s cn68xx;
124 struct cvmx_dpi_dmax_dbell_s cn68xxp1; 185 struct cvmx_dpi_dmax_dbell_s cn68xxp1;
186 struct cvmx_dpi_dmax_dbell_s cnf71xx;
125}; 187};
126 188
127union cvmx_dpi_dmax_err_rsp_status { 189union cvmx_dpi_dmax_err_rsp_status {
128 uint64_t u64; 190 uint64_t u64;
129 struct cvmx_dpi_dmax_err_rsp_status_s { 191 struct cvmx_dpi_dmax_err_rsp_status_s {
192#ifdef __BIG_ENDIAN_BITFIELD
130 uint64_t reserved_6_63:58; 193 uint64_t reserved_6_63:58;
131 uint64_t status:6; 194 uint64_t status:6;
195#else
196 uint64_t status:6;
197 uint64_t reserved_6_63:58;
198#endif
132 } s; 199 } s;
133 struct cvmx_dpi_dmax_err_rsp_status_s cn61xx; 200 struct cvmx_dpi_dmax_err_rsp_status_s cn61xx;
134 struct cvmx_dpi_dmax_err_rsp_status_s cn66xx; 201 struct cvmx_dpi_dmax_err_rsp_status_s cn66xx;
135 struct cvmx_dpi_dmax_err_rsp_status_s cn68xx; 202 struct cvmx_dpi_dmax_err_rsp_status_s cn68xx;
136 struct cvmx_dpi_dmax_err_rsp_status_s cn68xxp1; 203 struct cvmx_dpi_dmax_err_rsp_status_s cn68xxp1;
204 struct cvmx_dpi_dmax_err_rsp_status_s cnf71xx;
137}; 205};
138 206
139union cvmx_dpi_dmax_ibuff_saddr { 207union cvmx_dpi_dmax_ibuff_saddr {
140 uint64_t u64; 208 uint64_t u64;
141 struct cvmx_dpi_dmax_ibuff_saddr_s { 209 struct cvmx_dpi_dmax_ibuff_saddr_s {
210#ifdef __BIG_ENDIAN_BITFIELD
142 uint64_t reserved_62_63:2; 211 uint64_t reserved_62_63:2;
143 uint64_t csize:14; 212 uint64_t csize:14;
144 uint64_t reserved_41_47:7; 213 uint64_t reserved_41_47:7;
145 uint64_t idle:1; 214 uint64_t idle:1;
146 uint64_t saddr:33; 215 uint64_t saddr:33;
147 uint64_t reserved_0_6:7; 216 uint64_t reserved_0_6:7;
217#else
218 uint64_t reserved_0_6:7;
219 uint64_t saddr:33;
220 uint64_t idle:1;
221 uint64_t reserved_41_47:7;
222 uint64_t csize:14;
223 uint64_t reserved_62_63:2;
224#endif
148 } s; 225 } s;
149 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx { 226 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx {
227#ifdef __BIG_ENDIAN_BITFIELD
150 uint64_t reserved_62_63:2; 228 uint64_t reserved_62_63:2;
151 uint64_t csize:14; 229 uint64_t csize:14;
152 uint64_t reserved_41_47:7; 230 uint64_t reserved_41_47:7;
@@ -154,47 +232,78 @@ union cvmx_dpi_dmax_ibuff_saddr {
154 uint64_t reserved_36_39:4; 232 uint64_t reserved_36_39:4;
155 uint64_t saddr:29; 233 uint64_t saddr:29;
156 uint64_t reserved_0_6:7; 234 uint64_t reserved_0_6:7;
235#else
236 uint64_t reserved_0_6:7;
237 uint64_t saddr:29;
238 uint64_t reserved_36_39:4;
239 uint64_t idle:1;
240 uint64_t reserved_41_47:7;
241 uint64_t csize:14;
242 uint64_t reserved_62_63:2;
243#endif
157 } cn61xx; 244 } cn61xx;
158 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xx; 245 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xx;
159 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xxp1; 246 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xxp1;
160 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn66xx; 247 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn66xx;
161 struct cvmx_dpi_dmax_ibuff_saddr_s cn68xx; 248 struct cvmx_dpi_dmax_ibuff_saddr_s cn68xx;
162 struct cvmx_dpi_dmax_ibuff_saddr_s cn68xxp1; 249 struct cvmx_dpi_dmax_ibuff_saddr_s cn68xxp1;
250 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cnf71xx;
163}; 251};
164 252
165union cvmx_dpi_dmax_iflight { 253union cvmx_dpi_dmax_iflight {
166 uint64_t u64; 254 uint64_t u64;
167 struct cvmx_dpi_dmax_iflight_s { 255 struct cvmx_dpi_dmax_iflight_s {
256#ifdef __BIG_ENDIAN_BITFIELD
168 uint64_t reserved_3_63:61; 257 uint64_t reserved_3_63:61;
169 uint64_t cnt:3; 258 uint64_t cnt:3;
259#else
260 uint64_t cnt:3;
261 uint64_t reserved_3_63:61;
262#endif
170 } s; 263 } s;
171 struct cvmx_dpi_dmax_iflight_s cn61xx; 264 struct cvmx_dpi_dmax_iflight_s cn61xx;
172 struct cvmx_dpi_dmax_iflight_s cn66xx; 265 struct cvmx_dpi_dmax_iflight_s cn66xx;
173 struct cvmx_dpi_dmax_iflight_s cn68xx; 266 struct cvmx_dpi_dmax_iflight_s cn68xx;
174 struct cvmx_dpi_dmax_iflight_s cn68xxp1; 267 struct cvmx_dpi_dmax_iflight_s cn68xxp1;
268 struct cvmx_dpi_dmax_iflight_s cnf71xx;
175}; 269};
176 270
177union cvmx_dpi_dmax_naddr { 271union cvmx_dpi_dmax_naddr {
178 uint64_t u64; 272 uint64_t u64;
179 struct cvmx_dpi_dmax_naddr_s { 273 struct cvmx_dpi_dmax_naddr_s {
274#ifdef __BIG_ENDIAN_BITFIELD
180 uint64_t reserved_40_63:24; 275 uint64_t reserved_40_63:24;
181 uint64_t addr:40; 276 uint64_t addr:40;
277#else
278 uint64_t addr:40;
279 uint64_t reserved_40_63:24;
280#endif
182 } s; 281 } s;
183 struct cvmx_dpi_dmax_naddr_cn61xx { 282 struct cvmx_dpi_dmax_naddr_cn61xx {
283#ifdef __BIG_ENDIAN_BITFIELD
184 uint64_t reserved_36_63:28; 284 uint64_t reserved_36_63:28;
185 uint64_t addr:36; 285 uint64_t addr:36;
286#else
287 uint64_t addr:36;
288 uint64_t reserved_36_63:28;
289#endif
186 } cn61xx; 290 } cn61xx;
187 struct cvmx_dpi_dmax_naddr_cn61xx cn63xx; 291 struct cvmx_dpi_dmax_naddr_cn61xx cn63xx;
188 struct cvmx_dpi_dmax_naddr_cn61xx cn63xxp1; 292 struct cvmx_dpi_dmax_naddr_cn61xx cn63xxp1;
189 struct cvmx_dpi_dmax_naddr_cn61xx cn66xx; 293 struct cvmx_dpi_dmax_naddr_cn61xx cn66xx;
190 struct cvmx_dpi_dmax_naddr_s cn68xx; 294 struct cvmx_dpi_dmax_naddr_s cn68xx;
191 struct cvmx_dpi_dmax_naddr_s cn68xxp1; 295 struct cvmx_dpi_dmax_naddr_s cn68xxp1;
296 struct cvmx_dpi_dmax_naddr_cn61xx cnf71xx;
192}; 297};
193 298
194union cvmx_dpi_dmax_reqbnk0 { 299union cvmx_dpi_dmax_reqbnk0 {
195 uint64_t u64; 300 uint64_t u64;
196 struct cvmx_dpi_dmax_reqbnk0_s { 301 struct cvmx_dpi_dmax_reqbnk0_s {
302#ifdef __BIG_ENDIAN_BITFIELD
197 uint64_t state:64; 303 uint64_t state:64;
304#else
305 uint64_t state:64;
306#endif
198 } s; 307 } s;
199 struct cvmx_dpi_dmax_reqbnk0_s cn61xx; 308 struct cvmx_dpi_dmax_reqbnk0_s cn61xx;
200 struct cvmx_dpi_dmax_reqbnk0_s cn63xx; 309 struct cvmx_dpi_dmax_reqbnk0_s cn63xx;
@@ -202,12 +311,17 @@ union cvmx_dpi_dmax_reqbnk0 {
202 struct cvmx_dpi_dmax_reqbnk0_s cn66xx; 311 struct cvmx_dpi_dmax_reqbnk0_s cn66xx;
203 struct cvmx_dpi_dmax_reqbnk0_s cn68xx; 312 struct cvmx_dpi_dmax_reqbnk0_s cn68xx;
204 struct cvmx_dpi_dmax_reqbnk0_s cn68xxp1; 313 struct cvmx_dpi_dmax_reqbnk0_s cn68xxp1;
314 struct cvmx_dpi_dmax_reqbnk0_s cnf71xx;
205}; 315};
206 316
207union cvmx_dpi_dmax_reqbnk1 { 317union cvmx_dpi_dmax_reqbnk1 {
208 uint64_t u64; 318 uint64_t u64;
209 struct cvmx_dpi_dmax_reqbnk1_s { 319 struct cvmx_dpi_dmax_reqbnk1_s {
320#ifdef __BIG_ENDIAN_BITFIELD
321 uint64_t state:64;
322#else
210 uint64_t state:64; 323 uint64_t state:64;
324#endif
211 } s; 325 } s;
212 struct cvmx_dpi_dmax_reqbnk1_s cn61xx; 326 struct cvmx_dpi_dmax_reqbnk1_s cn61xx;
213 struct cvmx_dpi_dmax_reqbnk1_s cn63xx; 327 struct cvmx_dpi_dmax_reqbnk1_s cn63xx;
@@ -215,11 +329,13 @@ union cvmx_dpi_dmax_reqbnk1 {
215 struct cvmx_dpi_dmax_reqbnk1_s cn66xx; 329 struct cvmx_dpi_dmax_reqbnk1_s cn66xx;
216 struct cvmx_dpi_dmax_reqbnk1_s cn68xx; 330 struct cvmx_dpi_dmax_reqbnk1_s cn68xx;
217 struct cvmx_dpi_dmax_reqbnk1_s cn68xxp1; 331 struct cvmx_dpi_dmax_reqbnk1_s cn68xxp1;
332 struct cvmx_dpi_dmax_reqbnk1_s cnf71xx;
218}; 333};
219 334
220union cvmx_dpi_dma_control { 335union cvmx_dpi_dma_control {
221 uint64_t u64; 336 uint64_t u64;
222 struct cvmx_dpi_dma_control_s { 337 struct cvmx_dpi_dma_control_s {
338#ifdef __BIG_ENDIAN_BITFIELD
223 uint64_t reserved_62_63:2; 339 uint64_t reserved_62_63:2;
224 uint64_t dici_mode:1; 340 uint64_t dici_mode:1;
225 uint64_t pkt_en1:1; 341 uint64_t pkt_en1:1;
@@ -240,9 +356,32 @@ union cvmx_dpi_dma_control {
240 uint64_t o_es:2; 356 uint64_t o_es:2;
241 uint64_t o_mode:1; 357 uint64_t o_mode:1;
242 uint64_t reserved_0_13:14; 358 uint64_t reserved_0_13:14;
359#else
360 uint64_t reserved_0_13:14;
361 uint64_t o_mode:1;
362 uint64_t o_es:2;
363 uint64_t o_ns:1;
364 uint64_t o_ro:1;
365 uint64_t o_add1:1;
366 uint64_t fpa_que:3;
367 uint64_t dwb_ichk:9;
368 uint64_t dwb_denb:1;
369 uint64_t b0_lend:1;
370 uint64_t reserved_34_47:14;
371 uint64_t dma_enb:6;
372 uint64_t reserved_54_55:2;
373 uint64_t pkt_en:1;
374 uint64_t pkt_hp:1;
375 uint64_t commit_mode:1;
376 uint64_t ffp_dis:1;
377 uint64_t pkt_en1:1;
378 uint64_t dici_mode:1;
379 uint64_t reserved_62_63:2;
380#endif
243 } s; 381 } s;
244 struct cvmx_dpi_dma_control_s cn61xx; 382 struct cvmx_dpi_dma_control_s cn61xx;
245 struct cvmx_dpi_dma_control_cn63xx { 383 struct cvmx_dpi_dma_control_cn63xx {
384#ifdef __BIG_ENDIAN_BITFIELD
246 uint64_t reserved_61_63:3; 385 uint64_t reserved_61_63:3;
247 uint64_t pkt_en1:1; 386 uint64_t pkt_en1:1;
248 uint64_t ffp_dis:1; 387 uint64_t ffp_dis:1;
@@ -262,8 +401,30 @@ union cvmx_dpi_dma_control {
262 uint64_t o_es:2; 401 uint64_t o_es:2;
263 uint64_t o_mode:1; 402 uint64_t o_mode:1;
264 uint64_t reserved_0_13:14; 403 uint64_t reserved_0_13:14;
404#else
405 uint64_t reserved_0_13:14;
406 uint64_t o_mode:1;
407 uint64_t o_es:2;
408 uint64_t o_ns:1;
409 uint64_t o_ro:1;
410 uint64_t o_add1:1;
411 uint64_t fpa_que:3;
412 uint64_t dwb_ichk:9;
413 uint64_t dwb_denb:1;
414 uint64_t b0_lend:1;
415 uint64_t reserved_34_47:14;
416 uint64_t dma_enb:6;
417 uint64_t reserved_54_55:2;
418 uint64_t pkt_en:1;
419 uint64_t pkt_hp:1;
420 uint64_t commit_mode:1;
421 uint64_t ffp_dis:1;
422 uint64_t pkt_en1:1;
423 uint64_t reserved_61_63:3;
424#endif
265 } cn63xx; 425 } cn63xx;
266 struct cvmx_dpi_dma_control_cn63xxp1 { 426 struct cvmx_dpi_dma_control_cn63xxp1 {
427#ifdef __BIG_ENDIAN_BITFIELD
267 uint64_t reserved_59_63:5; 428 uint64_t reserved_59_63:5;
268 uint64_t commit_mode:1; 429 uint64_t commit_mode:1;
269 uint64_t pkt_hp:1; 430 uint64_t pkt_hp:1;
@@ -281,17 +442,42 @@ union cvmx_dpi_dma_control {
281 uint64_t o_es:2; 442 uint64_t o_es:2;
282 uint64_t o_mode:1; 443 uint64_t o_mode:1;
283 uint64_t reserved_0_13:14; 444 uint64_t reserved_0_13:14;
445#else
446 uint64_t reserved_0_13:14;
447 uint64_t o_mode:1;
448 uint64_t o_es:2;
449 uint64_t o_ns:1;
450 uint64_t o_ro:1;
451 uint64_t o_add1:1;
452 uint64_t fpa_que:3;
453 uint64_t dwb_ichk:9;
454 uint64_t dwb_denb:1;
455 uint64_t b0_lend:1;
456 uint64_t reserved_34_47:14;
457 uint64_t dma_enb:6;
458 uint64_t reserved_54_55:2;
459 uint64_t pkt_en:1;
460 uint64_t pkt_hp:1;
461 uint64_t commit_mode:1;
462 uint64_t reserved_59_63:5;
463#endif
284 } cn63xxp1; 464 } cn63xxp1;
285 struct cvmx_dpi_dma_control_cn63xx cn66xx; 465 struct cvmx_dpi_dma_control_cn63xx cn66xx;
286 struct cvmx_dpi_dma_control_s cn68xx; 466 struct cvmx_dpi_dma_control_s cn68xx;
287 struct cvmx_dpi_dma_control_cn63xx cn68xxp1; 467 struct cvmx_dpi_dma_control_cn63xx cn68xxp1;
468 struct cvmx_dpi_dma_control_s cnf71xx;
288}; 469};
289 470
290union cvmx_dpi_dma_engx_en { 471union cvmx_dpi_dma_engx_en {
291 uint64_t u64; 472 uint64_t u64;
292 struct cvmx_dpi_dma_engx_en_s { 473 struct cvmx_dpi_dma_engx_en_s {
474#ifdef __BIG_ENDIAN_BITFIELD
293 uint64_t reserved_8_63:56; 475 uint64_t reserved_8_63:56;
294 uint64_t qen:8; 476 uint64_t qen:8;
477#else
478 uint64_t qen:8;
479 uint64_t reserved_8_63:56;
480#endif
295 } s; 481 } s;
296 struct cvmx_dpi_dma_engx_en_s cn61xx; 482 struct cvmx_dpi_dma_engx_en_s cn61xx;
297 struct cvmx_dpi_dma_engx_en_s cn63xx; 483 struct cvmx_dpi_dma_engx_en_s cn63xx;
@@ -299,63 +485,101 @@ union cvmx_dpi_dma_engx_en {
299 struct cvmx_dpi_dma_engx_en_s cn66xx; 485 struct cvmx_dpi_dma_engx_en_s cn66xx;
300 struct cvmx_dpi_dma_engx_en_s cn68xx; 486 struct cvmx_dpi_dma_engx_en_s cn68xx;
301 struct cvmx_dpi_dma_engx_en_s cn68xxp1; 487 struct cvmx_dpi_dma_engx_en_s cn68xxp1;
488 struct cvmx_dpi_dma_engx_en_s cnf71xx;
302}; 489};
303 490
304union cvmx_dpi_dma_ppx_cnt { 491union cvmx_dpi_dma_ppx_cnt {
305 uint64_t u64; 492 uint64_t u64;
306 struct cvmx_dpi_dma_ppx_cnt_s { 493 struct cvmx_dpi_dma_ppx_cnt_s {
494#ifdef __BIG_ENDIAN_BITFIELD
307 uint64_t reserved_16_63:48; 495 uint64_t reserved_16_63:48;
308 uint64_t cnt:16; 496 uint64_t cnt:16;
497#else
498 uint64_t cnt:16;
499 uint64_t reserved_16_63:48;
500#endif
309 } s; 501 } s;
310 struct cvmx_dpi_dma_ppx_cnt_s cn61xx; 502 struct cvmx_dpi_dma_ppx_cnt_s cn61xx;
311 struct cvmx_dpi_dma_ppx_cnt_s cn68xx; 503 struct cvmx_dpi_dma_ppx_cnt_s cn68xx;
504 struct cvmx_dpi_dma_ppx_cnt_s cnf71xx;
312}; 505};
313 506
314union cvmx_dpi_engx_buf { 507union cvmx_dpi_engx_buf {
315 uint64_t u64; 508 uint64_t u64;
316 struct cvmx_dpi_engx_buf_s { 509 struct cvmx_dpi_engx_buf_s {
510#ifdef __BIG_ENDIAN_BITFIELD
317 uint64_t reserved_37_63:27; 511 uint64_t reserved_37_63:27;
318 uint64_t compblks:5; 512 uint64_t compblks:5;
319 uint64_t reserved_9_31:23; 513 uint64_t reserved_9_31:23;
320 uint64_t base:5; 514 uint64_t base:5;
321 uint64_t blks:4; 515 uint64_t blks:4;
516#else
517 uint64_t blks:4;
518 uint64_t base:5;
519 uint64_t reserved_9_31:23;
520 uint64_t compblks:5;
521 uint64_t reserved_37_63:27;
522#endif
322 } s; 523 } s;
323 struct cvmx_dpi_engx_buf_s cn61xx; 524 struct cvmx_dpi_engx_buf_s cn61xx;
324 struct cvmx_dpi_engx_buf_cn63xx { 525 struct cvmx_dpi_engx_buf_cn63xx {
526#ifdef __BIG_ENDIAN_BITFIELD
325 uint64_t reserved_8_63:56; 527 uint64_t reserved_8_63:56;
326 uint64_t base:4; 528 uint64_t base:4;
327 uint64_t blks:4; 529 uint64_t blks:4;
530#else
531 uint64_t blks:4;
532 uint64_t base:4;
533 uint64_t reserved_8_63:56;
534#endif
328 } cn63xx; 535 } cn63xx;
329 struct cvmx_dpi_engx_buf_cn63xx cn63xxp1; 536 struct cvmx_dpi_engx_buf_cn63xx cn63xxp1;
330 struct cvmx_dpi_engx_buf_s cn66xx; 537 struct cvmx_dpi_engx_buf_s cn66xx;
331 struct cvmx_dpi_engx_buf_s cn68xx; 538 struct cvmx_dpi_engx_buf_s cn68xx;
332 struct cvmx_dpi_engx_buf_s cn68xxp1; 539 struct cvmx_dpi_engx_buf_s cn68xxp1;
540 struct cvmx_dpi_engx_buf_s cnf71xx;
333}; 541};
334 542
335union cvmx_dpi_info_reg { 543union cvmx_dpi_info_reg {
336 uint64_t u64; 544 uint64_t u64;
337 struct cvmx_dpi_info_reg_s { 545 struct cvmx_dpi_info_reg_s {
546#ifdef __BIG_ENDIAN_BITFIELD
338 uint64_t reserved_8_63:56; 547 uint64_t reserved_8_63:56;
339 uint64_t ffp:4; 548 uint64_t ffp:4;
340 uint64_t reserved_2_3:2; 549 uint64_t reserved_2_3:2;
341 uint64_t ncb:1; 550 uint64_t ncb:1;
342 uint64_t rsl:1; 551 uint64_t rsl:1;
552#else
553 uint64_t rsl:1;
554 uint64_t ncb:1;
555 uint64_t reserved_2_3:2;
556 uint64_t ffp:4;
557 uint64_t reserved_8_63:56;
558#endif
343 } s; 559 } s;
344 struct cvmx_dpi_info_reg_s cn61xx; 560 struct cvmx_dpi_info_reg_s cn61xx;
345 struct cvmx_dpi_info_reg_s cn63xx; 561 struct cvmx_dpi_info_reg_s cn63xx;
346 struct cvmx_dpi_info_reg_cn63xxp1 { 562 struct cvmx_dpi_info_reg_cn63xxp1 {
563#ifdef __BIG_ENDIAN_BITFIELD
347 uint64_t reserved_2_63:62; 564 uint64_t reserved_2_63:62;
348 uint64_t ncb:1; 565 uint64_t ncb:1;
349 uint64_t rsl:1; 566 uint64_t rsl:1;
567#else
568 uint64_t rsl:1;
569 uint64_t ncb:1;
570 uint64_t reserved_2_63:62;
571#endif
350 } cn63xxp1; 572 } cn63xxp1;
351 struct cvmx_dpi_info_reg_s cn66xx; 573 struct cvmx_dpi_info_reg_s cn66xx;
352 struct cvmx_dpi_info_reg_s cn68xx; 574 struct cvmx_dpi_info_reg_s cn68xx;
353 struct cvmx_dpi_info_reg_s cn68xxp1; 575 struct cvmx_dpi_info_reg_s cn68xxp1;
576 struct cvmx_dpi_info_reg_s cnf71xx;
354}; 577};
355 578
356union cvmx_dpi_int_en { 579union cvmx_dpi_int_en {
357 uint64_t u64; 580 uint64_t u64;
358 struct cvmx_dpi_int_en_s { 581 struct cvmx_dpi_int_en_s {
582#ifdef __BIG_ENDIAN_BITFIELD
359 uint64_t reserved_28_63:36; 583 uint64_t reserved_28_63:36;
360 uint64_t sprt3_rst:1; 584 uint64_t sprt3_rst:1;
361 uint64_t sprt2_rst:1; 585 uint64_t sprt2_rst:1;
@@ -373,9 +597,29 @@ union cvmx_dpi_int_en {
373 uint64_t reserved_2_7:6; 597 uint64_t reserved_2_7:6;
374 uint64_t nfovr:1; 598 uint64_t nfovr:1;
375 uint64_t nderr:1; 599 uint64_t nderr:1;
600#else
601 uint64_t nderr:1;
602 uint64_t nfovr:1;
603 uint64_t reserved_2_7:6;
604 uint64_t dmadbo:8;
605 uint64_t req_badadr:1;
606 uint64_t req_badlen:1;
607 uint64_t req_ovrflw:1;
608 uint64_t req_undflw:1;
609 uint64_t req_anull:1;
610 uint64_t req_inull:1;
611 uint64_t req_badfil:1;
612 uint64_t reserved_23_23:1;
613 uint64_t sprt0_rst:1;
614 uint64_t sprt1_rst:1;
615 uint64_t sprt2_rst:1;
616 uint64_t sprt3_rst:1;
617 uint64_t reserved_28_63:36;
618#endif
376 } s; 619 } s;
377 struct cvmx_dpi_int_en_s cn61xx; 620 struct cvmx_dpi_int_en_s cn61xx;
378 struct cvmx_dpi_int_en_cn63xx { 621 struct cvmx_dpi_int_en_cn63xx {
622#ifdef __BIG_ENDIAN_BITFIELD
379 uint64_t reserved_26_63:38; 623 uint64_t reserved_26_63:38;
380 uint64_t sprt1_rst:1; 624 uint64_t sprt1_rst:1;
381 uint64_t sprt0_rst:1; 625 uint64_t sprt0_rst:1;
@@ -391,16 +635,35 @@ union cvmx_dpi_int_en {
391 uint64_t reserved_2_7:6; 635 uint64_t reserved_2_7:6;
392 uint64_t nfovr:1; 636 uint64_t nfovr:1;
393 uint64_t nderr:1; 637 uint64_t nderr:1;
638#else
639 uint64_t nderr:1;
640 uint64_t nfovr:1;
641 uint64_t reserved_2_7:6;
642 uint64_t dmadbo:8;
643 uint64_t req_badadr:1;
644 uint64_t req_badlen:1;
645 uint64_t req_ovrflw:1;
646 uint64_t req_undflw:1;
647 uint64_t req_anull:1;
648 uint64_t req_inull:1;
649 uint64_t req_badfil:1;
650 uint64_t reserved_23_23:1;
651 uint64_t sprt0_rst:1;
652 uint64_t sprt1_rst:1;
653 uint64_t reserved_26_63:38;
654#endif
394 } cn63xx; 655 } cn63xx;
395 struct cvmx_dpi_int_en_cn63xx cn63xxp1; 656 struct cvmx_dpi_int_en_cn63xx cn63xxp1;
396 struct cvmx_dpi_int_en_s cn66xx; 657 struct cvmx_dpi_int_en_s cn66xx;
397 struct cvmx_dpi_int_en_cn63xx cn68xx; 658 struct cvmx_dpi_int_en_cn63xx cn68xx;
398 struct cvmx_dpi_int_en_cn63xx cn68xxp1; 659 struct cvmx_dpi_int_en_cn63xx cn68xxp1;
660 struct cvmx_dpi_int_en_s cnf71xx;
399}; 661};
400 662
401union cvmx_dpi_int_reg { 663union cvmx_dpi_int_reg {
402 uint64_t u64; 664 uint64_t u64;
403 struct cvmx_dpi_int_reg_s { 665 struct cvmx_dpi_int_reg_s {
666#ifdef __BIG_ENDIAN_BITFIELD
404 uint64_t reserved_28_63:36; 667 uint64_t reserved_28_63:36;
405 uint64_t sprt3_rst:1; 668 uint64_t sprt3_rst:1;
406 uint64_t sprt2_rst:1; 669 uint64_t sprt2_rst:1;
@@ -418,9 +681,29 @@ union cvmx_dpi_int_reg {
418 uint64_t reserved_2_7:6; 681 uint64_t reserved_2_7:6;
419 uint64_t nfovr:1; 682 uint64_t nfovr:1;
420 uint64_t nderr:1; 683 uint64_t nderr:1;
684#else
685 uint64_t nderr:1;
686 uint64_t nfovr:1;
687 uint64_t reserved_2_7:6;
688 uint64_t dmadbo:8;
689 uint64_t req_badadr:1;
690 uint64_t req_badlen:1;
691 uint64_t req_ovrflw:1;
692 uint64_t req_undflw:1;
693 uint64_t req_anull:1;
694 uint64_t req_inull:1;
695 uint64_t req_badfil:1;
696 uint64_t reserved_23_23:1;
697 uint64_t sprt0_rst:1;
698 uint64_t sprt1_rst:1;
699 uint64_t sprt2_rst:1;
700 uint64_t sprt3_rst:1;
701 uint64_t reserved_28_63:36;
702#endif
421 } s; 703 } s;
422 struct cvmx_dpi_int_reg_s cn61xx; 704 struct cvmx_dpi_int_reg_s cn61xx;
423 struct cvmx_dpi_int_reg_cn63xx { 705 struct cvmx_dpi_int_reg_cn63xx {
706#ifdef __BIG_ENDIAN_BITFIELD
424 uint64_t reserved_26_63:38; 707 uint64_t reserved_26_63:38;
425 uint64_t sprt1_rst:1; 708 uint64_t sprt1_rst:1;
426 uint64_t sprt0_rst:1; 709 uint64_t sprt0_rst:1;
@@ -436,31 +719,62 @@ union cvmx_dpi_int_reg {
436 uint64_t reserved_2_7:6; 719 uint64_t reserved_2_7:6;
437 uint64_t nfovr:1; 720 uint64_t nfovr:1;
438 uint64_t nderr:1; 721 uint64_t nderr:1;
722#else
723 uint64_t nderr:1;
724 uint64_t nfovr:1;
725 uint64_t reserved_2_7:6;
726 uint64_t dmadbo:8;
727 uint64_t req_badadr:1;
728 uint64_t req_badlen:1;
729 uint64_t req_ovrflw:1;
730 uint64_t req_undflw:1;
731 uint64_t req_anull:1;
732 uint64_t req_inull:1;
733 uint64_t req_badfil:1;
734 uint64_t reserved_23_23:1;
735 uint64_t sprt0_rst:1;
736 uint64_t sprt1_rst:1;
737 uint64_t reserved_26_63:38;
738#endif
439 } cn63xx; 739 } cn63xx;
440 struct cvmx_dpi_int_reg_cn63xx cn63xxp1; 740 struct cvmx_dpi_int_reg_cn63xx cn63xxp1;
441 struct cvmx_dpi_int_reg_s cn66xx; 741 struct cvmx_dpi_int_reg_s cn66xx;
442 struct cvmx_dpi_int_reg_cn63xx cn68xx; 742 struct cvmx_dpi_int_reg_cn63xx cn68xx;
443 struct cvmx_dpi_int_reg_cn63xx cn68xxp1; 743 struct cvmx_dpi_int_reg_cn63xx cn68xxp1;
744 struct cvmx_dpi_int_reg_s cnf71xx;
444}; 745};
445 746
446union cvmx_dpi_ncbx_cfg { 747union cvmx_dpi_ncbx_cfg {
447 uint64_t u64; 748 uint64_t u64;
448 struct cvmx_dpi_ncbx_cfg_s { 749 struct cvmx_dpi_ncbx_cfg_s {
750#ifdef __BIG_ENDIAN_BITFIELD
449 uint64_t reserved_6_63:58; 751 uint64_t reserved_6_63:58;
450 uint64_t molr:6; 752 uint64_t molr:6;
753#else
754 uint64_t molr:6;
755 uint64_t reserved_6_63:58;
756#endif
451 } s; 757 } s;
452 struct cvmx_dpi_ncbx_cfg_s cn61xx; 758 struct cvmx_dpi_ncbx_cfg_s cn61xx;
453 struct cvmx_dpi_ncbx_cfg_s cn66xx; 759 struct cvmx_dpi_ncbx_cfg_s cn66xx;
454 struct cvmx_dpi_ncbx_cfg_s cn68xx; 760 struct cvmx_dpi_ncbx_cfg_s cn68xx;
761 struct cvmx_dpi_ncbx_cfg_s cnf71xx;
455}; 762};
456 763
457union cvmx_dpi_pint_info { 764union cvmx_dpi_pint_info {
458 uint64_t u64; 765 uint64_t u64;
459 struct cvmx_dpi_pint_info_s { 766 struct cvmx_dpi_pint_info_s {
767#ifdef __BIG_ENDIAN_BITFIELD
460 uint64_t reserved_14_63:50; 768 uint64_t reserved_14_63:50;
461 uint64_t iinfo:6; 769 uint64_t iinfo:6;
462 uint64_t reserved_6_7:2; 770 uint64_t reserved_6_7:2;
463 uint64_t sinfo:6; 771 uint64_t sinfo:6;
772#else
773 uint64_t sinfo:6;
774 uint64_t reserved_6_7:2;
775 uint64_t iinfo:6;
776 uint64_t reserved_14_63:50;
777#endif
464 } s; 778 } s;
465 struct cvmx_dpi_pint_info_s cn61xx; 779 struct cvmx_dpi_pint_info_s cn61xx;
466 struct cvmx_dpi_pint_info_s cn63xx; 780 struct cvmx_dpi_pint_info_s cn63xx;
@@ -468,13 +782,19 @@ union cvmx_dpi_pint_info {
468 struct cvmx_dpi_pint_info_s cn66xx; 782 struct cvmx_dpi_pint_info_s cn66xx;
469 struct cvmx_dpi_pint_info_s cn68xx; 783 struct cvmx_dpi_pint_info_s cn68xx;
470 struct cvmx_dpi_pint_info_s cn68xxp1; 784 struct cvmx_dpi_pint_info_s cn68xxp1;
785 struct cvmx_dpi_pint_info_s cnf71xx;
471}; 786};
472 787
473union cvmx_dpi_pkt_err_rsp { 788union cvmx_dpi_pkt_err_rsp {
474 uint64_t u64; 789 uint64_t u64;
475 struct cvmx_dpi_pkt_err_rsp_s { 790 struct cvmx_dpi_pkt_err_rsp_s {
791#ifdef __BIG_ENDIAN_BITFIELD
476 uint64_t reserved_1_63:63; 792 uint64_t reserved_1_63:63;
477 uint64_t pkterr:1; 793 uint64_t pkterr:1;
794#else
795 uint64_t pkterr:1;
796 uint64_t reserved_1_63:63;
797#endif
478 } s; 798 } s;
479 struct cvmx_dpi_pkt_err_rsp_s cn61xx; 799 struct cvmx_dpi_pkt_err_rsp_s cn61xx;
480 struct cvmx_dpi_pkt_err_rsp_s cn63xx; 800 struct cvmx_dpi_pkt_err_rsp_s cn63xx;
@@ -482,13 +802,19 @@ union cvmx_dpi_pkt_err_rsp {
482 struct cvmx_dpi_pkt_err_rsp_s cn66xx; 802 struct cvmx_dpi_pkt_err_rsp_s cn66xx;
483 struct cvmx_dpi_pkt_err_rsp_s cn68xx; 803 struct cvmx_dpi_pkt_err_rsp_s cn68xx;
484 struct cvmx_dpi_pkt_err_rsp_s cn68xxp1; 804 struct cvmx_dpi_pkt_err_rsp_s cn68xxp1;
805 struct cvmx_dpi_pkt_err_rsp_s cnf71xx;
485}; 806};
486 807
487union cvmx_dpi_req_err_rsp { 808union cvmx_dpi_req_err_rsp {
488 uint64_t u64; 809 uint64_t u64;
489 struct cvmx_dpi_req_err_rsp_s { 810 struct cvmx_dpi_req_err_rsp_s {
811#ifdef __BIG_ENDIAN_BITFIELD
490 uint64_t reserved_8_63:56; 812 uint64_t reserved_8_63:56;
491 uint64_t qerr:8; 813 uint64_t qerr:8;
814#else
815 uint64_t qerr:8;
816 uint64_t reserved_8_63:56;
817#endif
492 } s; 818 } s;
493 struct cvmx_dpi_req_err_rsp_s cn61xx; 819 struct cvmx_dpi_req_err_rsp_s cn61xx;
494 struct cvmx_dpi_req_err_rsp_s cn63xx; 820 struct cvmx_dpi_req_err_rsp_s cn63xx;
@@ -496,13 +822,19 @@ union cvmx_dpi_req_err_rsp {
496 struct cvmx_dpi_req_err_rsp_s cn66xx; 822 struct cvmx_dpi_req_err_rsp_s cn66xx;
497 struct cvmx_dpi_req_err_rsp_s cn68xx; 823 struct cvmx_dpi_req_err_rsp_s cn68xx;
498 struct cvmx_dpi_req_err_rsp_s cn68xxp1; 824 struct cvmx_dpi_req_err_rsp_s cn68xxp1;
825 struct cvmx_dpi_req_err_rsp_s cnf71xx;
499}; 826};
500 827
501union cvmx_dpi_req_err_rsp_en { 828union cvmx_dpi_req_err_rsp_en {
502 uint64_t u64; 829 uint64_t u64;
503 struct cvmx_dpi_req_err_rsp_en_s { 830 struct cvmx_dpi_req_err_rsp_en_s {
831#ifdef __BIG_ENDIAN_BITFIELD
504 uint64_t reserved_8_63:56; 832 uint64_t reserved_8_63:56;
505 uint64_t en:8; 833 uint64_t en:8;
834#else
835 uint64_t en:8;
836 uint64_t reserved_8_63:56;
837#endif
506 } s; 838 } s;
507 struct cvmx_dpi_req_err_rsp_en_s cn61xx; 839 struct cvmx_dpi_req_err_rsp_en_s cn61xx;
508 struct cvmx_dpi_req_err_rsp_en_s cn63xx; 840 struct cvmx_dpi_req_err_rsp_en_s cn63xx;
@@ -510,13 +842,19 @@ union cvmx_dpi_req_err_rsp_en {
510 struct cvmx_dpi_req_err_rsp_en_s cn66xx; 842 struct cvmx_dpi_req_err_rsp_en_s cn66xx;
511 struct cvmx_dpi_req_err_rsp_en_s cn68xx; 843 struct cvmx_dpi_req_err_rsp_en_s cn68xx;
512 struct cvmx_dpi_req_err_rsp_en_s cn68xxp1; 844 struct cvmx_dpi_req_err_rsp_en_s cn68xxp1;
845 struct cvmx_dpi_req_err_rsp_en_s cnf71xx;
513}; 846};
514 847
515union cvmx_dpi_req_err_rst { 848union cvmx_dpi_req_err_rst {
516 uint64_t u64; 849 uint64_t u64;
517 struct cvmx_dpi_req_err_rst_s { 850 struct cvmx_dpi_req_err_rst_s {
851#ifdef __BIG_ENDIAN_BITFIELD
518 uint64_t reserved_8_63:56; 852 uint64_t reserved_8_63:56;
519 uint64_t qerr:8; 853 uint64_t qerr:8;
854#else
855 uint64_t qerr:8;
856 uint64_t reserved_8_63:56;
857#endif
520 } s; 858 } s;
521 struct cvmx_dpi_req_err_rst_s cn61xx; 859 struct cvmx_dpi_req_err_rst_s cn61xx;
522 struct cvmx_dpi_req_err_rst_s cn63xx; 860 struct cvmx_dpi_req_err_rst_s cn63xx;
@@ -524,13 +862,19 @@ union cvmx_dpi_req_err_rst {
524 struct cvmx_dpi_req_err_rst_s cn66xx; 862 struct cvmx_dpi_req_err_rst_s cn66xx;
525 struct cvmx_dpi_req_err_rst_s cn68xx; 863 struct cvmx_dpi_req_err_rst_s cn68xx;
526 struct cvmx_dpi_req_err_rst_s cn68xxp1; 864 struct cvmx_dpi_req_err_rst_s cn68xxp1;
865 struct cvmx_dpi_req_err_rst_s cnf71xx;
527}; 866};
528 867
529union cvmx_dpi_req_err_rst_en { 868union cvmx_dpi_req_err_rst_en {
530 uint64_t u64; 869 uint64_t u64;
531 struct cvmx_dpi_req_err_rst_en_s { 870 struct cvmx_dpi_req_err_rst_en_s {
871#ifdef __BIG_ENDIAN_BITFIELD
532 uint64_t reserved_8_63:56; 872 uint64_t reserved_8_63:56;
533 uint64_t en:8; 873 uint64_t en:8;
874#else
875 uint64_t en:8;
876 uint64_t reserved_8_63:56;
877#endif
534 } s; 878 } s;
535 struct cvmx_dpi_req_err_rst_en_s cn61xx; 879 struct cvmx_dpi_req_err_rst_en_s cn61xx;
536 struct cvmx_dpi_req_err_rst_en_s cn63xx; 880 struct cvmx_dpi_req_err_rst_en_s cn63xx;
@@ -538,27 +882,41 @@ union cvmx_dpi_req_err_rst_en {
538 struct cvmx_dpi_req_err_rst_en_s cn66xx; 882 struct cvmx_dpi_req_err_rst_en_s cn66xx;
539 struct cvmx_dpi_req_err_rst_en_s cn68xx; 883 struct cvmx_dpi_req_err_rst_en_s cn68xx;
540 struct cvmx_dpi_req_err_rst_en_s cn68xxp1; 884 struct cvmx_dpi_req_err_rst_en_s cn68xxp1;
885 struct cvmx_dpi_req_err_rst_en_s cnf71xx;
541}; 886};
542 887
543union cvmx_dpi_req_err_skip_comp { 888union cvmx_dpi_req_err_skip_comp {
544 uint64_t u64; 889 uint64_t u64;
545 struct cvmx_dpi_req_err_skip_comp_s { 890 struct cvmx_dpi_req_err_skip_comp_s {
891#ifdef __BIG_ENDIAN_BITFIELD
546 uint64_t reserved_24_63:40; 892 uint64_t reserved_24_63:40;
547 uint64_t en_rst:8; 893 uint64_t en_rst:8;
548 uint64_t reserved_8_15:8; 894 uint64_t reserved_8_15:8;
549 uint64_t en_rsp:8; 895 uint64_t en_rsp:8;
896#else
897 uint64_t en_rsp:8;
898 uint64_t reserved_8_15:8;
899 uint64_t en_rst:8;
900 uint64_t reserved_24_63:40;
901#endif
550 } s; 902 } s;
551 struct cvmx_dpi_req_err_skip_comp_s cn61xx; 903 struct cvmx_dpi_req_err_skip_comp_s cn61xx;
552 struct cvmx_dpi_req_err_skip_comp_s cn66xx; 904 struct cvmx_dpi_req_err_skip_comp_s cn66xx;
553 struct cvmx_dpi_req_err_skip_comp_s cn68xx; 905 struct cvmx_dpi_req_err_skip_comp_s cn68xx;
554 struct cvmx_dpi_req_err_skip_comp_s cn68xxp1; 906 struct cvmx_dpi_req_err_skip_comp_s cn68xxp1;
907 struct cvmx_dpi_req_err_skip_comp_s cnf71xx;
555}; 908};
556 909
557union cvmx_dpi_req_gbl_en { 910union cvmx_dpi_req_gbl_en {
558 uint64_t u64; 911 uint64_t u64;
559 struct cvmx_dpi_req_gbl_en_s { 912 struct cvmx_dpi_req_gbl_en_s {
913#ifdef __BIG_ENDIAN_BITFIELD
560 uint64_t reserved_8_63:56; 914 uint64_t reserved_8_63:56;
561 uint64_t qen:8; 915 uint64_t qen:8;
916#else
917 uint64_t qen:8;
918 uint64_t reserved_8_63:56;
919#endif
562 } s; 920 } s;
563 struct cvmx_dpi_req_gbl_en_s cn61xx; 921 struct cvmx_dpi_req_gbl_en_s cn61xx;
564 struct cvmx_dpi_req_gbl_en_s cn63xx; 922 struct cvmx_dpi_req_gbl_en_s cn63xx;
@@ -566,11 +924,13 @@ union cvmx_dpi_req_gbl_en {
566 struct cvmx_dpi_req_gbl_en_s cn66xx; 924 struct cvmx_dpi_req_gbl_en_s cn66xx;
567 struct cvmx_dpi_req_gbl_en_s cn68xx; 925 struct cvmx_dpi_req_gbl_en_s cn68xx;
568 struct cvmx_dpi_req_gbl_en_s cn68xxp1; 926 struct cvmx_dpi_req_gbl_en_s cn68xxp1;
927 struct cvmx_dpi_req_gbl_en_s cnf71xx;
569}; 928};
570 929
571union cvmx_dpi_sli_prtx_cfg { 930union cvmx_dpi_sli_prtx_cfg {
572 uint64_t u64; 931 uint64_t u64;
573 struct cvmx_dpi_sli_prtx_cfg_s { 932 struct cvmx_dpi_sli_prtx_cfg_s {
933#ifdef __BIG_ENDIAN_BITFIELD
574 uint64_t reserved_25_63:39; 934 uint64_t reserved_25_63:39;
575 uint64_t halt:1; 935 uint64_t halt:1;
576 uint64_t qlm_cfg:4; 936 uint64_t qlm_cfg:4;
@@ -584,9 +944,25 @@ union cvmx_dpi_sli_prtx_cfg {
584 uint64_t mrrs_lim:1; 944 uint64_t mrrs_lim:1;
585 uint64_t reserved_2_2:1; 945 uint64_t reserved_2_2:1;
586 uint64_t mrrs:2; 946 uint64_t mrrs:2;
947#else
948 uint64_t mrrs:2;
949 uint64_t reserved_2_2:1;
950 uint64_t mrrs_lim:1;
951 uint64_t mps:1;
952 uint64_t reserved_5_6:2;
953 uint64_t mps_lim:1;
954 uint64_t molr:6;
955 uint64_t reserved_14_15:2;
956 uint64_t rd_mode:1;
957 uint64_t reserved_17_19:3;
958 uint64_t qlm_cfg:4;
959 uint64_t halt:1;
960 uint64_t reserved_25_63:39;
961#endif
587 } s; 962 } s;
588 struct cvmx_dpi_sli_prtx_cfg_s cn61xx; 963 struct cvmx_dpi_sli_prtx_cfg_s cn61xx;
589 struct cvmx_dpi_sli_prtx_cfg_cn63xx { 964 struct cvmx_dpi_sli_prtx_cfg_cn63xx {
965#ifdef __BIG_ENDIAN_BITFIELD
590 uint64_t reserved_25_63:39; 966 uint64_t reserved_25_63:39;
591 uint64_t halt:1; 967 uint64_t halt:1;
592 uint64_t reserved_21_23:3; 968 uint64_t reserved_21_23:3;
@@ -601,18 +977,40 @@ union cvmx_dpi_sli_prtx_cfg {
601 uint64_t mrrs_lim:1; 977 uint64_t mrrs_lim:1;
602 uint64_t reserved_2_2:1; 978 uint64_t reserved_2_2:1;
603 uint64_t mrrs:2; 979 uint64_t mrrs:2;
980#else
981 uint64_t mrrs:2;
982 uint64_t reserved_2_2:1;
983 uint64_t mrrs_lim:1;
984 uint64_t mps:1;
985 uint64_t reserved_5_6:2;
986 uint64_t mps_lim:1;
987 uint64_t molr:6;
988 uint64_t reserved_14_15:2;
989 uint64_t rd_mode:1;
990 uint64_t reserved_17_19:3;
991 uint64_t qlm_cfg:1;
992 uint64_t reserved_21_23:3;
993 uint64_t halt:1;
994 uint64_t reserved_25_63:39;
995#endif
604 } cn63xx; 996 } cn63xx;
605 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn63xxp1; 997 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn63xxp1;
606 struct cvmx_dpi_sli_prtx_cfg_s cn66xx; 998 struct cvmx_dpi_sli_prtx_cfg_s cn66xx;
607 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xx; 999 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xx;
608 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xxp1; 1000 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xxp1;
1001 struct cvmx_dpi_sli_prtx_cfg_s cnf71xx;
609}; 1002};
610 1003
611union cvmx_dpi_sli_prtx_err { 1004union cvmx_dpi_sli_prtx_err {
612 uint64_t u64; 1005 uint64_t u64;
613 struct cvmx_dpi_sli_prtx_err_s { 1006 struct cvmx_dpi_sli_prtx_err_s {
1007#ifdef __BIG_ENDIAN_BITFIELD
614 uint64_t addr:61; 1008 uint64_t addr:61;
615 uint64_t reserved_0_2:3; 1009 uint64_t reserved_0_2:3;
1010#else
1011 uint64_t reserved_0_2:3;
1012 uint64_t addr:61;
1013#endif
616 } s; 1014 } s;
617 struct cvmx_dpi_sli_prtx_err_s cn61xx; 1015 struct cvmx_dpi_sli_prtx_err_s cn61xx;
618 struct cvmx_dpi_sli_prtx_err_s cn63xx; 1016 struct cvmx_dpi_sli_prtx_err_s cn63xx;
@@ -620,17 +1018,27 @@ union cvmx_dpi_sli_prtx_err {
620 struct cvmx_dpi_sli_prtx_err_s cn66xx; 1018 struct cvmx_dpi_sli_prtx_err_s cn66xx;
621 struct cvmx_dpi_sli_prtx_err_s cn68xx; 1019 struct cvmx_dpi_sli_prtx_err_s cn68xx;
622 struct cvmx_dpi_sli_prtx_err_s cn68xxp1; 1020 struct cvmx_dpi_sli_prtx_err_s cn68xxp1;
1021 struct cvmx_dpi_sli_prtx_err_s cnf71xx;
623}; 1022};
624 1023
625union cvmx_dpi_sli_prtx_err_info { 1024union cvmx_dpi_sli_prtx_err_info {
626 uint64_t u64; 1025 uint64_t u64;
627 struct cvmx_dpi_sli_prtx_err_info_s { 1026 struct cvmx_dpi_sli_prtx_err_info_s {
1027#ifdef __BIG_ENDIAN_BITFIELD
628 uint64_t reserved_9_63:55; 1028 uint64_t reserved_9_63:55;
629 uint64_t lock:1; 1029 uint64_t lock:1;
630 uint64_t reserved_5_7:3; 1030 uint64_t reserved_5_7:3;
631 uint64_t type:1; 1031 uint64_t type:1;
632 uint64_t reserved_3_3:1; 1032 uint64_t reserved_3_3:1;
633 uint64_t reqq:3; 1033 uint64_t reqq:3;
1034#else
1035 uint64_t reqq:3;
1036 uint64_t reserved_3_3:1;
1037 uint64_t type:1;
1038 uint64_t reserved_5_7:3;
1039 uint64_t lock:1;
1040 uint64_t reserved_9_63:55;
1041#endif
634 } s; 1042 } s;
635 struct cvmx_dpi_sli_prtx_err_info_s cn61xx; 1043 struct cvmx_dpi_sli_prtx_err_info_s cn61xx;
636 struct cvmx_dpi_sli_prtx_err_info_s cn63xx; 1044 struct cvmx_dpi_sli_prtx_err_info_s cn63xx;
@@ -638,6 +1046,7 @@ union cvmx_dpi_sli_prtx_err_info {
638 struct cvmx_dpi_sli_prtx_err_info_s cn66xx; 1046 struct cvmx_dpi_sli_prtx_err_info_s cn66xx;
639 struct cvmx_dpi_sli_prtx_err_info_s cn68xx; 1047 struct cvmx_dpi_sli_prtx_err_info_s cn68xx;
640 struct cvmx_dpi_sli_prtx_err_info_s cn68xxp1; 1048 struct cvmx_dpi_sli_prtx_err_info_s cn68xxp1;
1049 struct cvmx_dpi_sli_prtx_err_info_s cnf71xx;
641}; 1050};
642 1051
643#endif 1052#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-fpa-defs.h b/arch/mips/include/asm/octeon/cvmx-fpa-defs.h
index bf5546b90110..1d79e3c7040d 100644
--- a/arch/mips/include/asm/octeon/cvmx-fpa-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-fpa-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,74 +28,83 @@
28#ifndef __CVMX_FPA_DEFS_H__ 28#ifndef __CVMX_FPA_DEFS_H__
29#define __CVMX_FPA_DEFS_H__ 29#define __CVMX_FPA_DEFS_H__
30 30
31#define CVMX_FPA_BIST_STATUS \ 31#define CVMX_FPA_ADDR_RANGE_ERROR (CVMX_ADD_IO_SEG(0x0001180028000458ull))
32 CVMX_ADD_IO_SEG(0x00011800280000E8ull) 32#define CVMX_FPA_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E8ull))
33#define CVMX_FPA_CTL_STATUS \ 33#define CVMX_FPA_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180028000050ull))
34 CVMX_ADD_IO_SEG(0x0001180028000050ull) 34#define CVMX_FPA_FPF0_MARKS (CVMX_ADD_IO_SEG(0x0001180028000000ull))
35#define CVMX_FPA_FPF0_MARKS \ 35#define CVMX_FPA_FPF0_SIZE (CVMX_ADD_IO_SEG(0x0001180028000058ull))
36 CVMX_ADD_IO_SEG(0x0001180028000000ull) 36#define CVMX_FPA_FPF1_MARKS CVMX_FPA_FPFX_MARKS(1)
37#define CVMX_FPA_FPF0_SIZE \ 37#define CVMX_FPA_FPF2_MARKS CVMX_FPA_FPFX_MARKS(2)
38 CVMX_ADD_IO_SEG(0x0001180028000058ull) 38#define CVMX_FPA_FPF3_MARKS CVMX_FPA_FPFX_MARKS(3)
39#define CVMX_FPA_FPF1_MARKS \ 39#define CVMX_FPA_FPF4_MARKS CVMX_FPA_FPFX_MARKS(4)
40 CVMX_ADD_IO_SEG(0x0001180028000008ull) 40#define CVMX_FPA_FPF5_MARKS CVMX_FPA_FPFX_MARKS(5)
41#define CVMX_FPA_FPF2_MARKS \ 41#define CVMX_FPA_FPF6_MARKS CVMX_FPA_FPFX_MARKS(6)
42 CVMX_ADD_IO_SEG(0x0001180028000010ull) 42#define CVMX_FPA_FPF7_MARKS CVMX_FPA_FPFX_MARKS(7)
43#define CVMX_FPA_FPF3_MARKS \ 43#define CVMX_FPA_FPF8_MARKS (CVMX_ADD_IO_SEG(0x0001180028000240ull))
44 CVMX_ADD_IO_SEG(0x0001180028000018ull) 44#define CVMX_FPA_FPF8_SIZE (CVMX_ADD_IO_SEG(0x0001180028000248ull))
45#define CVMX_FPA_FPF4_MARKS \ 45#define CVMX_FPA_FPFX_MARKS(offset) (CVMX_ADD_IO_SEG(0x0001180028000008ull) + ((offset) & 7) * 8 - 8*1)
46 CVMX_ADD_IO_SEG(0x0001180028000020ull) 46#define CVMX_FPA_FPFX_SIZE(offset) (CVMX_ADD_IO_SEG(0x0001180028000060ull) + ((offset) & 7) * 8 - 8*1)
47#define CVMX_FPA_FPF5_MARKS \ 47#define CVMX_FPA_INT_ENB (CVMX_ADD_IO_SEG(0x0001180028000048ull))
48 CVMX_ADD_IO_SEG(0x0001180028000028ull) 48#define CVMX_FPA_INT_SUM (CVMX_ADD_IO_SEG(0x0001180028000040ull))
49#define CVMX_FPA_FPF6_MARKS \ 49#define CVMX_FPA_PACKET_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000460ull))
50 CVMX_ADD_IO_SEG(0x0001180028000030ull) 50#define CVMX_FPA_POOLX_END_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000358ull) + ((offset) & 15) * 8)
51#define CVMX_FPA_FPF7_MARKS \ 51#define CVMX_FPA_POOLX_START_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000258ull) + ((offset) & 15) * 8)
52 CVMX_ADD_IO_SEG(0x0001180028000038ull) 52#define CVMX_FPA_POOLX_THRESHOLD(offset) (CVMX_ADD_IO_SEG(0x0001180028000140ull) + ((offset) & 15) * 8)
53#define CVMX_FPA_FPFX_MARKS(offset) \ 53#define CVMX_FPA_QUE0_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(0)
54 CVMX_ADD_IO_SEG(0x0001180028000008ull + (((offset) & 7) * 8) - 8 * 1) 54#define CVMX_FPA_QUE1_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(1)
55#define CVMX_FPA_FPFX_SIZE(offset) \ 55#define CVMX_FPA_QUE2_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(2)
56 CVMX_ADD_IO_SEG(0x0001180028000060ull + (((offset) & 7) * 8) - 8 * 1) 56#define CVMX_FPA_QUE3_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(3)
57#define CVMX_FPA_INT_ENB \ 57#define CVMX_FPA_QUE4_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(4)
58 CVMX_ADD_IO_SEG(0x0001180028000048ull) 58#define CVMX_FPA_QUE5_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(5)
59#define CVMX_FPA_INT_SUM \ 59#define CVMX_FPA_QUE6_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(6)
60 CVMX_ADD_IO_SEG(0x0001180028000040ull) 60#define CVMX_FPA_QUE7_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(7)
61#define CVMX_FPA_QUE0_PAGE_INDEX \ 61#define CVMX_FPA_QUE8_PAGE_INDEX (CVMX_ADD_IO_SEG(0x0001180028000250ull))
62 CVMX_ADD_IO_SEG(0x00011800280000F0ull) 62#define CVMX_FPA_QUEX_AVAILABLE(offset) (CVMX_ADD_IO_SEG(0x0001180028000098ull) + ((offset) & 15) * 8)
63#define CVMX_FPA_QUE1_PAGE_INDEX \ 63#define CVMX_FPA_QUEX_PAGE_INDEX(offset) (CVMX_ADD_IO_SEG(0x00011800280000F0ull) + ((offset) & 7) * 8)
64 CVMX_ADD_IO_SEG(0x00011800280000F8ull) 64#define CVMX_FPA_QUE_ACT (CVMX_ADD_IO_SEG(0x0001180028000138ull))
65#define CVMX_FPA_QUE2_PAGE_INDEX \ 65#define CVMX_FPA_QUE_EXP (CVMX_ADD_IO_SEG(0x0001180028000130ull))
66 CVMX_ADD_IO_SEG(0x0001180028000100ull) 66#define CVMX_FPA_WART_CTL (CVMX_ADD_IO_SEG(0x00011800280000D8ull))
67#define CVMX_FPA_QUE3_PAGE_INDEX \ 67#define CVMX_FPA_WART_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E0ull))
68 CVMX_ADD_IO_SEG(0x0001180028000108ull) 68#define CVMX_FPA_WQE_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000468ull))
69#define CVMX_FPA_QUE4_PAGE_INDEX \ 69
70 CVMX_ADD_IO_SEG(0x0001180028000110ull) 70union cvmx_fpa_addr_range_error {
71#define CVMX_FPA_QUE5_PAGE_INDEX \ 71 uint64_t u64;
72 CVMX_ADD_IO_SEG(0x0001180028000118ull) 72 struct cvmx_fpa_addr_range_error_s {
73#define CVMX_FPA_QUE6_PAGE_INDEX \ 73#ifdef __BIG_ENDIAN_BITFIELD
74 CVMX_ADD_IO_SEG(0x0001180028000120ull) 74 uint64_t reserved_38_63:26;
75#define CVMX_FPA_QUE7_PAGE_INDEX \ 75 uint64_t pool:5;
76 CVMX_ADD_IO_SEG(0x0001180028000128ull) 76 uint64_t addr:33;
77#define CVMX_FPA_QUEX_AVAILABLE(offset) \ 77#else
78 CVMX_ADD_IO_SEG(0x0001180028000098ull + (((offset) & 7) * 8)) 78 uint64_t addr:33;
79#define CVMX_FPA_QUEX_PAGE_INDEX(offset) \ 79 uint64_t pool:5;
80 CVMX_ADD_IO_SEG(0x00011800280000F0ull + (((offset) & 7) * 8)) 80 uint64_t reserved_38_63:26;
81#define CVMX_FPA_QUE_ACT \ 81#endif
82 CVMX_ADD_IO_SEG(0x0001180028000138ull) 82 } s;
83#define CVMX_FPA_QUE_EXP \ 83 struct cvmx_fpa_addr_range_error_s cn61xx;
84 CVMX_ADD_IO_SEG(0x0001180028000130ull) 84 struct cvmx_fpa_addr_range_error_s cn66xx;
85#define CVMX_FPA_WART_CTL \ 85 struct cvmx_fpa_addr_range_error_s cn68xx;
86 CVMX_ADD_IO_SEG(0x00011800280000D8ull) 86 struct cvmx_fpa_addr_range_error_s cn68xxp1;
87#define CVMX_FPA_WART_STATUS \ 87 struct cvmx_fpa_addr_range_error_s cnf71xx;
88 CVMX_ADD_IO_SEG(0x00011800280000E0ull) 88};
89 89
90union cvmx_fpa_bist_status { 90union cvmx_fpa_bist_status {
91 uint64_t u64; 91 uint64_t u64;
92 struct cvmx_fpa_bist_status_s { 92 struct cvmx_fpa_bist_status_s {
93#ifdef __BIG_ENDIAN_BITFIELD
93 uint64_t reserved_5_63:59; 94 uint64_t reserved_5_63:59;
94 uint64_t frd:1; 95 uint64_t frd:1;
95 uint64_t fpf0:1; 96 uint64_t fpf0:1;
96 uint64_t fpf1:1; 97 uint64_t fpf1:1;
97 uint64_t ffr:1; 98 uint64_t ffr:1;
98 uint64_t fdr:1; 99 uint64_t fdr:1;
100#else
101 uint64_t fdr:1;
102 uint64_t ffr:1;
103 uint64_t fpf1:1;
104 uint64_t fpf0:1;
105 uint64_t frd:1;
106 uint64_t reserved_5_63:59;
107#endif
99 } s; 108 } s;
100 struct cvmx_fpa_bist_status_s cn30xx; 109 struct cvmx_fpa_bist_status_s cn30xx;
101 struct cvmx_fpa_bist_status_s cn31xx; 110 struct cvmx_fpa_bist_status_s cn31xx;
@@ -108,38 +117,92 @@ union cvmx_fpa_bist_status {
108 struct cvmx_fpa_bist_status_s cn56xxp1; 117 struct cvmx_fpa_bist_status_s cn56xxp1;
109 struct cvmx_fpa_bist_status_s cn58xx; 118 struct cvmx_fpa_bist_status_s cn58xx;
110 struct cvmx_fpa_bist_status_s cn58xxp1; 119 struct cvmx_fpa_bist_status_s cn58xxp1;
120 struct cvmx_fpa_bist_status_s cn61xx;
121 struct cvmx_fpa_bist_status_s cn63xx;
122 struct cvmx_fpa_bist_status_s cn63xxp1;
123 struct cvmx_fpa_bist_status_s cn66xx;
124 struct cvmx_fpa_bist_status_s cn68xx;
125 struct cvmx_fpa_bist_status_s cn68xxp1;
126 struct cvmx_fpa_bist_status_s cnf71xx;
111}; 127};
112 128
113union cvmx_fpa_ctl_status { 129union cvmx_fpa_ctl_status {
114 uint64_t u64; 130 uint64_t u64;
115 struct cvmx_fpa_ctl_status_s { 131 struct cvmx_fpa_ctl_status_s {
116 uint64_t reserved_18_63:46; 132#ifdef __BIG_ENDIAN_BITFIELD
133 uint64_t reserved_21_63:43;
134 uint64_t free_en:1;
135 uint64_t ret_off:1;
136 uint64_t req_off:1;
117 uint64_t reset:1; 137 uint64_t reset:1;
118 uint64_t use_ldt:1; 138 uint64_t use_ldt:1;
119 uint64_t use_stt:1; 139 uint64_t use_stt:1;
120 uint64_t enb:1; 140 uint64_t enb:1;
121 uint64_t mem1_err:7; 141 uint64_t mem1_err:7;
122 uint64_t mem0_err:7; 142 uint64_t mem0_err:7;
143#else
144 uint64_t mem0_err:7;
145 uint64_t mem1_err:7;
146 uint64_t enb:1;
147 uint64_t use_stt:1;
148 uint64_t use_ldt:1;
149 uint64_t reset:1;
150 uint64_t req_off:1;
151 uint64_t ret_off:1;
152 uint64_t free_en:1;
153 uint64_t reserved_21_63:43;
154#endif
123 } s; 155 } s;
124 struct cvmx_fpa_ctl_status_s cn30xx; 156 struct cvmx_fpa_ctl_status_cn30xx {
125 struct cvmx_fpa_ctl_status_s cn31xx; 157#ifdef __BIG_ENDIAN_BITFIELD
126 struct cvmx_fpa_ctl_status_s cn38xx; 158 uint64_t reserved_18_63:46;
127 struct cvmx_fpa_ctl_status_s cn38xxp2; 159 uint64_t reset:1;
128 struct cvmx_fpa_ctl_status_s cn50xx; 160 uint64_t use_ldt:1;
129 struct cvmx_fpa_ctl_status_s cn52xx; 161 uint64_t use_stt:1;
130 struct cvmx_fpa_ctl_status_s cn52xxp1; 162 uint64_t enb:1;
131 struct cvmx_fpa_ctl_status_s cn56xx; 163 uint64_t mem1_err:7;
132 struct cvmx_fpa_ctl_status_s cn56xxp1; 164 uint64_t mem0_err:7;
133 struct cvmx_fpa_ctl_status_s cn58xx; 165#else
134 struct cvmx_fpa_ctl_status_s cn58xxp1; 166 uint64_t mem0_err:7;
167 uint64_t mem1_err:7;
168 uint64_t enb:1;
169 uint64_t use_stt:1;
170 uint64_t use_ldt:1;
171 uint64_t reset:1;
172 uint64_t reserved_18_63:46;
173#endif
174 } cn30xx;
175 struct cvmx_fpa_ctl_status_cn30xx cn31xx;
176 struct cvmx_fpa_ctl_status_cn30xx cn38xx;
177 struct cvmx_fpa_ctl_status_cn30xx cn38xxp2;
178 struct cvmx_fpa_ctl_status_cn30xx cn50xx;
179 struct cvmx_fpa_ctl_status_cn30xx cn52xx;
180 struct cvmx_fpa_ctl_status_cn30xx cn52xxp1;
181 struct cvmx_fpa_ctl_status_cn30xx cn56xx;
182 struct cvmx_fpa_ctl_status_cn30xx cn56xxp1;
183 struct cvmx_fpa_ctl_status_cn30xx cn58xx;
184 struct cvmx_fpa_ctl_status_cn30xx cn58xxp1;
185 struct cvmx_fpa_ctl_status_s cn61xx;
186 struct cvmx_fpa_ctl_status_s cn63xx;
187 struct cvmx_fpa_ctl_status_cn30xx cn63xxp1;
188 struct cvmx_fpa_ctl_status_s cn66xx;
189 struct cvmx_fpa_ctl_status_s cn68xx;
190 struct cvmx_fpa_ctl_status_s cn68xxp1;
191 struct cvmx_fpa_ctl_status_s cnf71xx;
135}; 192};
136 193
137union cvmx_fpa_fpfx_marks { 194union cvmx_fpa_fpfx_marks {
138 uint64_t u64; 195 uint64_t u64;
139 struct cvmx_fpa_fpfx_marks_s { 196 struct cvmx_fpa_fpfx_marks_s {
197#ifdef __BIG_ENDIAN_BITFIELD
140 uint64_t reserved_22_63:42; 198 uint64_t reserved_22_63:42;
141 uint64_t fpf_wr:11; 199 uint64_t fpf_wr:11;
142 uint64_t fpf_rd:11; 200 uint64_t fpf_rd:11;
201#else
202 uint64_t fpf_rd:11;
203 uint64_t fpf_wr:11;
204 uint64_t reserved_22_63:42;
205#endif
143 } s; 206 } s;
144 struct cvmx_fpa_fpfx_marks_s cn38xx; 207 struct cvmx_fpa_fpfx_marks_s cn38xx;
145 struct cvmx_fpa_fpfx_marks_s cn38xxp2; 208 struct cvmx_fpa_fpfx_marks_s cn38xxp2;
@@ -147,13 +210,25 @@ union cvmx_fpa_fpfx_marks {
147 struct cvmx_fpa_fpfx_marks_s cn56xxp1; 210 struct cvmx_fpa_fpfx_marks_s cn56xxp1;
148 struct cvmx_fpa_fpfx_marks_s cn58xx; 211 struct cvmx_fpa_fpfx_marks_s cn58xx;
149 struct cvmx_fpa_fpfx_marks_s cn58xxp1; 212 struct cvmx_fpa_fpfx_marks_s cn58xxp1;
213 struct cvmx_fpa_fpfx_marks_s cn61xx;
214 struct cvmx_fpa_fpfx_marks_s cn63xx;
215 struct cvmx_fpa_fpfx_marks_s cn63xxp1;
216 struct cvmx_fpa_fpfx_marks_s cn66xx;
217 struct cvmx_fpa_fpfx_marks_s cn68xx;
218 struct cvmx_fpa_fpfx_marks_s cn68xxp1;
219 struct cvmx_fpa_fpfx_marks_s cnf71xx;
150}; 220};
151 221
152union cvmx_fpa_fpfx_size { 222union cvmx_fpa_fpfx_size {
153 uint64_t u64; 223 uint64_t u64;
154 struct cvmx_fpa_fpfx_size_s { 224 struct cvmx_fpa_fpfx_size_s {
225#ifdef __BIG_ENDIAN_BITFIELD
155 uint64_t reserved_11_63:53; 226 uint64_t reserved_11_63:53;
156 uint64_t fpf_siz:11; 227 uint64_t fpf_siz:11;
228#else
229 uint64_t fpf_siz:11;
230 uint64_t reserved_11_63:53;
231#endif
157 } s; 232 } s;
158 struct cvmx_fpa_fpfx_size_s cn38xx; 233 struct cvmx_fpa_fpfx_size_s cn38xx;
159 struct cvmx_fpa_fpfx_size_s cn38xxp2; 234 struct cvmx_fpa_fpfx_size_s cn38xxp2;
@@ -161,14 +236,27 @@ union cvmx_fpa_fpfx_size {
161 struct cvmx_fpa_fpfx_size_s cn56xxp1; 236 struct cvmx_fpa_fpfx_size_s cn56xxp1;
162 struct cvmx_fpa_fpfx_size_s cn58xx; 237 struct cvmx_fpa_fpfx_size_s cn58xx;
163 struct cvmx_fpa_fpfx_size_s cn58xxp1; 238 struct cvmx_fpa_fpfx_size_s cn58xxp1;
239 struct cvmx_fpa_fpfx_size_s cn61xx;
240 struct cvmx_fpa_fpfx_size_s cn63xx;
241 struct cvmx_fpa_fpfx_size_s cn63xxp1;
242 struct cvmx_fpa_fpfx_size_s cn66xx;
243 struct cvmx_fpa_fpfx_size_s cn68xx;
244 struct cvmx_fpa_fpfx_size_s cn68xxp1;
245 struct cvmx_fpa_fpfx_size_s cnf71xx;
164}; 246};
165 247
166union cvmx_fpa_fpf0_marks { 248union cvmx_fpa_fpf0_marks {
167 uint64_t u64; 249 uint64_t u64;
168 struct cvmx_fpa_fpf0_marks_s { 250 struct cvmx_fpa_fpf0_marks_s {
251#ifdef __BIG_ENDIAN_BITFIELD
169 uint64_t reserved_24_63:40; 252 uint64_t reserved_24_63:40;
170 uint64_t fpf_wr:12; 253 uint64_t fpf_wr:12;
171 uint64_t fpf_rd:12; 254 uint64_t fpf_rd:12;
255#else
256 uint64_t fpf_rd:12;
257 uint64_t fpf_wr:12;
258 uint64_t reserved_24_63:40;
259#endif
172 } s; 260 } s;
173 struct cvmx_fpa_fpf0_marks_s cn38xx; 261 struct cvmx_fpa_fpf0_marks_s cn38xx;
174 struct cvmx_fpa_fpf0_marks_s cn38xxp2; 262 struct cvmx_fpa_fpf0_marks_s cn38xxp2;
@@ -176,13 +264,25 @@ union cvmx_fpa_fpf0_marks {
176 struct cvmx_fpa_fpf0_marks_s cn56xxp1; 264 struct cvmx_fpa_fpf0_marks_s cn56xxp1;
177 struct cvmx_fpa_fpf0_marks_s cn58xx; 265 struct cvmx_fpa_fpf0_marks_s cn58xx;
178 struct cvmx_fpa_fpf0_marks_s cn58xxp1; 266 struct cvmx_fpa_fpf0_marks_s cn58xxp1;
267 struct cvmx_fpa_fpf0_marks_s cn61xx;
268 struct cvmx_fpa_fpf0_marks_s cn63xx;
269 struct cvmx_fpa_fpf0_marks_s cn63xxp1;
270 struct cvmx_fpa_fpf0_marks_s cn66xx;
271 struct cvmx_fpa_fpf0_marks_s cn68xx;
272 struct cvmx_fpa_fpf0_marks_s cn68xxp1;
273 struct cvmx_fpa_fpf0_marks_s cnf71xx;
179}; 274};
180 275
181union cvmx_fpa_fpf0_size { 276union cvmx_fpa_fpf0_size {
182 uint64_t u64; 277 uint64_t u64;
183 struct cvmx_fpa_fpf0_size_s { 278 struct cvmx_fpa_fpf0_size_s {
279#ifdef __BIG_ENDIAN_BITFIELD
184 uint64_t reserved_12_63:52; 280 uint64_t reserved_12_63:52;
185 uint64_t fpf_siz:12; 281 uint64_t fpf_siz:12;
282#else
283 uint64_t fpf_siz:12;
284 uint64_t reserved_12_63:52;
285#endif
186 } s; 286 } s;
187 struct cvmx_fpa_fpf0_size_s cn38xx; 287 struct cvmx_fpa_fpf0_size_s cn38xx;
188 struct cvmx_fpa_fpf0_size_s cn38xxp2; 288 struct cvmx_fpa_fpf0_size_s cn38xxp2;
@@ -190,12 +290,70 @@ union cvmx_fpa_fpf0_size {
190 struct cvmx_fpa_fpf0_size_s cn56xxp1; 290 struct cvmx_fpa_fpf0_size_s cn56xxp1;
191 struct cvmx_fpa_fpf0_size_s cn58xx; 291 struct cvmx_fpa_fpf0_size_s cn58xx;
192 struct cvmx_fpa_fpf0_size_s cn58xxp1; 292 struct cvmx_fpa_fpf0_size_s cn58xxp1;
293 struct cvmx_fpa_fpf0_size_s cn61xx;
294 struct cvmx_fpa_fpf0_size_s cn63xx;
295 struct cvmx_fpa_fpf0_size_s cn63xxp1;
296 struct cvmx_fpa_fpf0_size_s cn66xx;
297 struct cvmx_fpa_fpf0_size_s cn68xx;
298 struct cvmx_fpa_fpf0_size_s cn68xxp1;
299 struct cvmx_fpa_fpf0_size_s cnf71xx;
300};
301
302union cvmx_fpa_fpf8_marks {
303 uint64_t u64;
304 struct cvmx_fpa_fpf8_marks_s {
305#ifdef __BIG_ENDIAN_BITFIELD
306 uint64_t reserved_22_63:42;
307 uint64_t fpf_wr:11;
308 uint64_t fpf_rd:11;
309#else
310 uint64_t fpf_rd:11;
311 uint64_t fpf_wr:11;
312 uint64_t reserved_22_63:42;
313#endif
314 } s;
315 struct cvmx_fpa_fpf8_marks_s cn68xx;
316 struct cvmx_fpa_fpf8_marks_s cn68xxp1;
317};
318
319union cvmx_fpa_fpf8_size {
320 uint64_t u64;
321 struct cvmx_fpa_fpf8_size_s {
322#ifdef __BIG_ENDIAN_BITFIELD
323 uint64_t reserved_12_63:52;
324 uint64_t fpf_siz:12;
325#else
326 uint64_t fpf_siz:12;
327 uint64_t reserved_12_63:52;
328#endif
329 } s;
330 struct cvmx_fpa_fpf8_size_s cn68xx;
331 struct cvmx_fpa_fpf8_size_s cn68xxp1;
193}; 332};
194 333
195union cvmx_fpa_int_enb { 334union cvmx_fpa_int_enb {
196 uint64_t u64; 335 uint64_t u64;
197 struct cvmx_fpa_int_enb_s { 336 struct cvmx_fpa_int_enb_s {
198 uint64_t reserved_28_63:36; 337#ifdef __BIG_ENDIAN_BITFIELD
338 uint64_t reserved_50_63:14;
339 uint64_t paddr_e:1;
340 uint64_t reserved_44_48:5;
341 uint64_t free7:1;
342 uint64_t free6:1;
343 uint64_t free5:1;
344 uint64_t free4:1;
345 uint64_t free3:1;
346 uint64_t free2:1;
347 uint64_t free1:1;
348 uint64_t free0:1;
349 uint64_t pool7th:1;
350 uint64_t pool6th:1;
351 uint64_t pool5th:1;
352 uint64_t pool4th:1;
353 uint64_t pool3th:1;
354 uint64_t pool2th:1;
355 uint64_t pool1th:1;
356 uint64_t pool0th:1;
199 uint64_t q7_perr:1; 357 uint64_t q7_perr:1;
200 uint64_t q7_coff:1; 358 uint64_t q7_coff:1;
201 uint64_t q7_und:1; 359 uint64_t q7_und:1;
@@ -224,23 +382,547 @@ union cvmx_fpa_int_enb {
224 uint64_t fed1_sbe:1; 382 uint64_t fed1_sbe:1;
225 uint64_t fed0_dbe:1; 383 uint64_t fed0_dbe:1;
226 uint64_t fed0_sbe:1; 384 uint64_t fed0_sbe:1;
385#else
386 uint64_t fed0_sbe:1;
387 uint64_t fed0_dbe:1;
388 uint64_t fed1_sbe:1;
389 uint64_t fed1_dbe:1;
390 uint64_t q0_und:1;
391 uint64_t q0_coff:1;
392 uint64_t q0_perr:1;
393 uint64_t q1_und:1;
394 uint64_t q1_coff:1;
395 uint64_t q1_perr:1;
396 uint64_t q2_und:1;
397 uint64_t q2_coff:1;
398 uint64_t q2_perr:1;
399 uint64_t q3_und:1;
400 uint64_t q3_coff:1;
401 uint64_t q3_perr:1;
402 uint64_t q4_und:1;
403 uint64_t q4_coff:1;
404 uint64_t q4_perr:1;
405 uint64_t q5_und:1;
406 uint64_t q5_coff:1;
407 uint64_t q5_perr:1;
408 uint64_t q6_und:1;
409 uint64_t q6_coff:1;
410 uint64_t q6_perr:1;
411 uint64_t q7_und:1;
412 uint64_t q7_coff:1;
413 uint64_t q7_perr:1;
414 uint64_t pool0th:1;
415 uint64_t pool1th:1;
416 uint64_t pool2th:1;
417 uint64_t pool3th:1;
418 uint64_t pool4th:1;
419 uint64_t pool5th:1;
420 uint64_t pool6th:1;
421 uint64_t pool7th:1;
422 uint64_t free0:1;
423 uint64_t free1:1;
424 uint64_t free2:1;
425 uint64_t free3:1;
426 uint64_t free4:1;
427 uint64_t free5:1;
428 uint64_t free6:1;
429 uint64_t free7:1;
430 uint64_t reserved_44_48:5;
431 uint64_t paddr_e:1;
432 uint64_t reserved_50_63:14;
433#endif
227 } s; 434 } s;
228 struct cvmx_fpa_int_enb_s cn30xx; 435 struct cvmx_fpa_int_enb_cn30xx {
229 struct cvmx_fpa_int_enb_s cn31xx; 436#ifdef __BIG_ENDIAN_BITFIELD
230 struct cvmx_fpa_int_enb_s cn38xx; 437 uint64_t reserved_28_63:36;
231 struct cvmx_fpa_int_enb_s cn38xxp2; 438 uint64_t q7_perr:1;
232 struct cvmx_fpa_int_enb_s cn50xx; 439 uint64_t q7_coff:1;
233 struct cvmx_fpa_int_enb_s cn52xx; 440 uint64_t q7_und:1;
234 struct cvmx_fpa_int_enb_s cn52xxp1; 441 uint64_t q6_perr:1;
235 struct cvmx_fpa_int_enb_s cn56xx; 442 uint64_t q6_coff:1;
236 struct cvmx_fpa_int_enb_s cn56xxp1; 443 uint64_t q6_und:1;
237 struct cvmx_fpa_int_enb_s cn58xx; 444 uint64_t q5_perr:1;
238 struct cvmx_fpa_int_enb_s cn58xxp1; 445 uint64_t q5_coff:1;
446 uint64_t q5_und:1;
447 uint64_t q4_perr:1;
448 uint64_t q4_coff:1;
449 uint64_t q4_und:1;
450 uint64_t q3_perr:1;
451 uint64_t q3_coff:1;
452 uint64_t q3_und:1;
453 uint64_t q2_perr:1;
454 uint64_t q2_coff:1;
455 uint64_t q2_und:1;
456 uint64_t q1_perr:1;
457 uint64_t q1_coff:1;
458 uint64_t q1_und:1;
459 uint64_t q0_perr:1;
460 uint64_t q0_coff:1;
461 uint64_t q0_und:1;
462 uint64_t fed1_dbe:1;
463 uint64_t fed1_sbe:1;
464 uint64_t fed0_dbe:1;
465 uint64_t fed0_sbe:1;
466#else
467 uint64_t fed0_sbe:1;
468 uint64_t fed0_dbe:1;
469 uint64_t fed1_sbe:1;
470 uint64_t fed1_dbe:1;
471 uint64_t q0_und:1;
472 uint64_t q0_coff:1;
473 uint64_t q0_perr:1;
474 uint64_t q1_und:1;
475 uint64_t q1_coff:1;
476 uint64_t q1_perr:1;
477 uint64_t q2_und:1;
478 uint64_t q2_coff:1;
479 uint64_t q2_perr:1;
480 uint64_t q3_und:1;
481 uint64_t q3_coff:1;
482 uint64_t q3_perr:1;
483 uint64_t q4_und:1;
484 uint64_t q4_coff:1;
485 uint64_t q4_perr:1;
486 uint64_t q5_und:1;
487 uint64_t q5_coff:1;
488 uint64_t q5_perr:1;
489 uint64_t q6_und:1;
490 uint64_t q6_coff:1;
491 uint64_t q6_perr:1;
492 uint64_t q7_und:1;
493 uint64_t q7_coff:1;
494 uint64_t q7_perr:1;
495 uint64_t reserved_28_63:36;
496#endif
497 } cn30xx;
498 struct cvmx_fpa_int_enb_cn30xx cn31xx;
499 struct cvmx_fpa_int_enb_cn30xx cn38xx;
500 struct cvmx_fpa_int_enb_cn30xx cn38xxp2;
501 struct cvmx_fpa_int_enb_cn30xx cn50xx;
502 struct cvmx_fpa_int_enb_cn30xx cn52xx;
503 struct cvmx_fpa_int_enb_cn30xx cn52xxp1;
504 struct cvmx_fpa_int_enb_cn30xx cn56xx;
505 struct cvmx_fpa_int_enb_cn30xx cn56xxp1;
506 struct cvmx_fpa_int_enb_cn30xx cn58xx;
507 struct cvmx_fpa_int_enb_cn30xx cn58xxp1;
508 struct cvmx_fpa_int_enb_cn61xx {
509#ifdef __BIG_ENDIAN_BITFIELD
510 uint64_t reserved_50_63:14;
511 uint64_t paddr_e:1;
512 uint64_t res_44:5;
513 uint64_t free7:1;
514 uint64_t free6:1;
515 uint64_t free5:1;
516 uint64_t free4:1;
517 uint64_t free3:1;
518 uint64_t free2:1;
519 uint64_t free1:1;
520 uint64_t free0:1;
521 uint64_t pool7th:1;
522 uint64_t pool6th:1;
523 uint64_t pool5th:1;
524 uint64_t pool4th:1;
525 uint64_t pool3th:1;
526 uint64_t pool2th:1;
527 uint64_t pool1th:1;
528 uint64_t pool0th:1;
529 uint64_t q7_perr:1;
530 uint64_t q7_coff:1;
531 uint64_t q7_und:1;
532 uint64_t q6_perr:1;
533 uint64_t q6_coff:1;
534 uint64_t q6_und:1;
535 uint64_t q5_perr:1;
536 uint64_t q5_coff:1;
537 uint64_t q5_und:1;
538 uint64_t q4_perr:1;
539 uint64_t q4_coff:1;
540 uint64_t q4_und:1;
541 uint64_t q3_perr:1;
542 uint64_t q3_coff:1;
543 uint64_t q3_und:1;
544 uint64_t q2_perr:1;
545 uint64_t q2_coff:1;
546 uint64_t q2_und:1;
547 uint64_t q1_perr:1;
548 uint64_t q1_coff:1;
549 uint64_t q1_und:1;
550 uint64_t q0_perr:1;
551 uint64_t q0_coff:1;
552 uint64_t q0_und:1;
553 uint64_t fed1_dbe:1;
554 uint64_t fed1_sbe:1;
555 uint64_t fed0_dbe:1;
556 uint64_t fed0_sbe:1;
557#else
558 uint64_t fed0_sbe:1;
559 uint64_t fed0_dbe:1;
560 uint64_t fed1_sbe:1;
561 uint64_t fed1_dbe:1;
562 uint64_t q0_und:1;
563 uint64_t q0_coff:1;
564 uint64_t q0_perr:1;
565 uint64_t q1_und:1;
566 uint64_t q1_coff:1;
567 uint64_t q1_perr:1;
568 uint64_t q2_und:1;
569 uint64_t q2_coff:1;
570 uint64_t q2_perr:1;
571 uint64_t q3_und:1;
572 uint64_t q3_coff:1;
573 uint64_t q3_perr:1;
574 uint64_t q4_und:1;
575 uint64_t q4_coff:1;
576 uint64_t q4_perr:1;
577 uint64_t q5_und:1;
578 uint64_t q5_coff:1;
579 uint64_t q5_perr:1;
580 uint64_t q6_und:1;
581 uint64_t q6_coff:1;
582 uint64_t q6_perr:1;
583 uint64_t q7_und:1;
584 uint64_t q7_coff:1;
585 uint64_t q7_perr:1;
586 uint64_t pool0th:1;
587 uint64_t pool1th:1;
588 uint64_t pool2th:1;
589 uint64_t pool3th:1;
590 uint64_t pool4th:1;
591 uint64_t pool5th:1;
592 uint64_t pool6th:1;
593 uint64_t pool7th:1;
594 uint64_t free0:1;
595 uint64_t free1:1;
596 uint64_t free2:1;
597 uint64_t free3:1;
598 uint64_t free4:1;
599 uint64_t free5:1;
600 uint64_t free6:1;
601 uint64_t free7:1;
602 uint64_t res_44:5;
603 uint64_t paddr_e:1;
604 uint64_t reserved_50_63:14;
605#endif
606 } cn61xx;
607 struct cvmx_fpa_int_enb_cn63xx {
608#ifdef __BIG_ENDIAN_BITFIELD
609 uint64_t reserved_44_63:20;
610 uint64_t free7:1;
611 uint64_t free6:1;
612 uint64_t free5:1;
613 uint64_t free4:1;
614 uint64_t free3:1;
615 uint64_t free2:1;
616 uint64_t free1:1;
617 uint64_t free0:1;
618 uint64_t pool7th:1;
619 uint64_t pool6th:1;
620 uint64_t pool5th:1;
621 uint64_t pool4th:1;
622 uint64_t pool3th:1;
623 uint64_t pool2th:1;
624 uint64_t pool1th:1;
625 uint64_t pool0th:1;
626 uint64_t q7_perr:1;
627 uint64_t q7_coff:1;
628 uint64_t q7_und:1;
629 uint64_t q6_perr:1;
630 uint64_t q6_coff:1;
631 uint64_t q6_und:1;
632 uint64_t q5_perr:1;
633 uint64_t q5_coff:1;
634 uint64_t q5_und:1;
635 uint64_t q4_perr:1;
636 uint64_t q4_coff:1;
637 uint64_t q4_und:1;
638 uint64_t q3_perr:1;
639 uint64_t q3_coff:1;
640 uint64_t q3_und:1;
641 uint64_t q2_perr:1;
642 uint64_t q2_coff:1;
643 uint64_t q2_und:1;
644 uint64_t q1_perr:1;
645 uint64_t q1_coff:1;
646 uint64_t q1_und:1;
647 uint64_t q0_perr:1;
648 uint64_t q0_coff:1;
649 uint64_t q0_und:1;
650 uint64_t fed1_dbe:1;
651 uint64_t fed1_sbe:1;
652 uint64_t fed0_dbe:1;
653 uint64_t fed0_sbe:1;
654#else
655 uint64_t fed0_sbe:1;
656 uint64_t fed0_dbe:1;
657 uint64_t fed1_sbe:1;
658 uint64_t fed1_dbe:1;
659 uint64_t q0_und:1;
660 uint64_t q0_coff:1;
661 uint64_t q0_perr:1;
662 uint64_t q1_und:1;
663 uint64_t q1_coff:1;
664 uint64_t q1_perr:1;
665 uint64_t q2_und:1;
666 uint64_t q2_coff:1;
667 uint64_t q2_perr:1;
668 uint64_t q3_und:1;
669 uint64_t q3_coff:1;
670 uint64_t q3_perr:1;
671 uint64_t q4_und:1;
672 uint64_t q4_coff:1;
673 uint64_t q4_perr:1;
674 uint64_t q5_und:1;
675 uint64_t q5_coff:1;
676 uint64_t q5_perr:1;
677 uint64_t q6_und:1;
678 uint64_t q6_coff:1;
679 uint64_t q6_perr:1;
680 uint64_t q7_und:1;
681 uint64_t q7_coff:1;
682 uint64_t q7_perr:1;
683 uint64_t pool0th:1;
684 uint64_t pool1th:1;
685 uint64_t pool2th:1;
686 uint64_t pool3th:1;
687 uint64_t pool4th:1;
688 uint64_t pool5th:1;
689 uint64_t pool6th:1;
690 uint64_t pool7th:1;
691 uint64_t free0:1;
692 uint64_t free1:1;
693 uint64_t free2:1;
694 uint64_t free3:1;
695 uint64_t free4:1;
696 uint64_t free5:1;
697 uint64_t free6:1;
698 uint64_t free7:1;
699 uint64_t reserved_44_63:20;
700#endif
701 } cn63xx;
702 struct cvmx_fpa_int_enb_cn30xx cn63xxp1;
703 struct cvmx_fpa_int_enb_cn61xx cn66xx;
704 struct cvmx_fpa_int_enb_cn68xx {
705#ifdef __BIG_ENDIAN_BITFIELD
706 uint64_t reserved_50_63:14;
707 uint64_t paddr_e:1;
708 uint64_t pool8th:1;
709 uint64_t q8_perr:1;
710 uint64_t q8_coff:1;
711 uint64_t q8_und:1;
712 uint64_t free8:1;
713 uint64_t free7:1;
714 uint64_t free6:1;
715 uint64_t free5:1;
716 uint64_t free4:1;
717 uint64_t free3:1;
718 uint64_t free2:1;
719 uint64_t free1:1;
720 uint64_t free0:1;
721 uint64_t pool7th:1;
722 uint64_t pool6th:1;
723 uint64_t pool5th:1;
724 uint64_t pool4th:1;
725 uint64_t pool3th:1;
726 uint64_t pool2th:1;
727 uint64_t pool1th:1;
728 uint64_t pool0th:1;
729 uint64_t q7_perr:1;
730 uint64_t q7_coff:1;
731 uint64_t q7_und:1;
732 uint64_t q6_perr:1;
733 uint64_t q6_coff:1;
734 uint64_t q6_und:1;
735 uint64_t q5_perr:1;
736 uint64_t q5_coff:1;
737 uint64_t q5_und:1;
738 uint64_t q4_perr:1;
739 uint64_t q4_coff:1;
740 uint64_t q4_und:1;
741 uint64_t q3_perr:1;
742 uint64_t q3_coff:1;
743 uint64_t q3_und:1;
744 uint64_t q2_perr:1;
745 uint64_t q2_coff:1;
746 uint64_t q2_und:1;
747 uint64_t q1_perr:1;
748 uint64_t q1_coff:1;
749 uint64_t q1_und:1;
750 uint64_t q0_perr:1;
751 uint64_t q0_coff:1;
752 uint64_t q0_und:1;
753 uint64_t fed1_dbe:1;
754 uint64_t fed1_sbe:1;
755 uint64_t fed0_dbe:1;
756 uint64_t fed0_sbe:1;
757#else
758 uint64_t fed0_sbe:1;
759 uint64_t fed0_dbe:1;
760 uint64_t fed1_sbe:1;
761 uint64_t fed1_dbe:1;
762 uint64_t q0_und:1;
763 uint64_t q0_coff:1;
764 uint64_t q0_perr:1;
765 uint64_t q1_und:1;
766 uint64_t q1_coff:1;
767 uint64_t q1_perr:1;
768 uint64_t q2_und:1;
769 uint64_t q2_coff:1;
770 uint64_t q2_perr:1;
771 uint64_t q3_und:1;
772 uint64_t q3_coff:1;
773 uint64_t q3_perr:1;
774 uint64_t q4_und:1;
775 uint64_t q4_coff:1;
776 uint64_t q4_perr:1;
777 uint64_t q5_und:1;
778 uint64_t q5_coff:1;
779 uint64_t q5_perr:1;
780 uint64_t q6_und:1;
781 uint64_t q6_coff:1;
782 uint64_t q6_perr:1;
783 uint64_t q7_und:1;
784 uint64_t q7_coff:1;
785 uint64_t q7_perr:1;
786 uint64_t pool0th:1;
787 uint64_t pool1th:1;
788 uint64_t pool2th:1;
789 uint64_t pool3th:1;
790 uint64_t pool4th:1;
791 uint64_t pool5th:1;
792 uint64_t pool6th:1;
793 uint64_t pool7th:1;
794 uint64_t free0:1;
795 uint64_t free1:1;
796 uint64_t free2:1;
797 uint64_t free3:1;
798 uint64_t free4:1;
799 uint64_t free5:1;
800 uint64_t free6:1;
801 uint64_t free7:1;
802 uint64_t free8:1;
803 uint64_t q8_und:1;
804 uint64_t q8_coff:1;
805 uint64_t q8_perr:1;
806 uint64_t pool8th:1;
807 uint64_t paddr_e:1;
808 uint64_t reserved_50_63:14;
809#endif
810 } cn68xx;
811 struct cvmx_fpa_int_enb_cn68xx cn68xxp1;
812 struct cvmx_fpa_int_enb_cn61xx cnf71xx;
239}; 813};
240 814
241union cvmx_fpa_int_sum { 815union cvmx_fpa_int_sum {
242 uint64_t u64; 816 uint64_t u64;
243 struct cvmx_fpa_int_sum_s { 817 struct cvmx_fpa_int_sum_s {
818#ifdef __BIG_ENDIAN_BITFIELD
819 uint64_t reserved_50_63:14;
820 uint64_t paddr_e:1;
821 uint64_t pool8th:1;
822 uint64_t q8_perr:1;
823 uint64_t q8_coff:1;
824 uint64_t q8_und:1;
825 uint64_t free8:1;
826 uint64_t free7:1;
827 uint64_t free6:1;
828 uint64_t free5:1;
829 uint64_t free4:1;
830 uint64_t free3:1;
831 uint64_t free2:1;
832 uint64_t free1:1;
833 uint64_t free0:1;
834 uint64_t pool7th:1;
835 uint64_t pool6th:1;
836 uint64_t pool5th:1;
837 uint64_t pool4th:1;
838 uint64_t pool3th:1;
839 uint64_t pool2th:1;
840 uint64_t pool1th:1;
841 uint64_t pool0th:1;
842 uint64_t q7_perr:1;
843 uint64_t q7_coff:1;
844 uint64_t q7_und:1;
845 uint64_t q6_perr:1;
846 uint64_t q6_coff:1;
847 uint64_t q6_und:1;
848 uint64_t q5_perr:1;
849 uint64_t q5_coff:1;
850 uint64_t q5_und:1;
851 uint64_t q4_perr:1;
852 uint64_t q4_coff:1;
853 uint64_t q4_und:1;
854 uint64_t q3_perr:1;
855 uint64_t q3_coff:1;
856 uint64_t q3_und:1;
857 uint64_t q2_perr:1;
858 uint64_t q2_coff:1;
859 uint64_t q2_und:1;
860 uint64_t q1_perr:1;
861 uint64_t q1_coff:1;
862 uint64_t q1_und:1;
863 uint64_t q0_perr:1;
864 uint64_t q0_coff:1;
865 uint64_t q0_und:1;
866 uint64_t fed1_dbe:1;
867 uint64_t fed1_sbe:1;
868 uint64_t fed0_dbe:1;
869 uint64_t fed0_sbe:1;
870#else
871 uint64_t fed0_sbe:1;
872 uint64_t fed0_dbe:1;
873 uint64_t fed1_sbe:1;
874 uint64_t fed1_dbe:1;
875 uint64_t q0_und:1;
876 uint64_t q0_coff:1;
877 uint64_t q0_perr:1;
878 uint64_t q1_und:1;
879 uint64_t q1_coff:1;
880 uint64_t q1_perr:1;
881 uint64_t q2_und:1;
882 uint64_t q2_coff:1;
883 uint64_t q2_perr:1;
884 uint64_t q3_und:1;
885 uint64_t q3_coff:1;
886 uint64_t q3_perr:1;
887 uint64_t q4_und:1;
888 uint64_t q4_coff:1;
889 uint64_t q4_perr:1;
890 uint64_t q5_und:1;
891 uint64_t q5_coff:1;
892 uint64_t q5_perr:1;
893 uint64_t q6_und:1;
894 uint64_t q6_coff:1;
895 uint64_t q6_perr:1;
896 uint64_t q7_und:1;
897 uint64_t q7_coff:1;
898 uint64_t q7_perr:1;
899 uint64_t pool0th:1;
900 uint64_t pool1th:1;
901 uint64_t pool2th:1;
902 uint64_t pool3th:1;
903 uint64_t pool4th:1;
904 uint64_t pool5th:1;
905 uint64_t pool6th:1;
906 uint64_t pool7th:1;
907 uint64_t free0:1;
908 uint64_t free1:1;
909 uint64_t free2:1;
910 uint64_t free3:1;
911 uint64_t free4:1;
912 uint64_t free5:1;
913 uint64_t free6:1;
914 uint64_t free7:1;
915 uint64_t free8:1;
916 uint64_t q8_und:1;
917 uint64_t q8_coff:1;
918 uint64_t q8_perr:1;
919 uint64_t pool8th:1;
920 uint64_t paddr_e:1;
921 uint64_t reserved_50_63:14;
922#endif
923 } s;
924 struct cvmx_fpa_int_sum_cn30xx {
925#ifdef __BIG_ENDIAN_BITFIELD
244 uint64_t reserved_28_63:36; 926 uint64_t reserved_28_63:36;
245 uint64_t q7_perr:1; 927 uint64_t q7_perr:1;
246 uint64_t q7_coff:1; 928 uint64_t q7_coff:1;
@@ -270,44 +952,380 @@ union cvmx_fpa_int_sum {
270 uint64_t fed1_sbe:1; 952 uint64_t fed1_sbe:1;
271 uint64_t fed0_dbe:1; 953 uint64_t fed0_dbe:1;
272 uint64_t fed0_sbe:1; 954 uint64_t fed0_sbe:1;
955#else
956 uint64_t fed0_sbe:1;
957 uint64_t fed0_dbe:1;
958 uint64_t fed1_sbe:1;
959 uint64_t fed1_dbe:1;
960 uint64_t q0_und:1;
961 uint64_t q0_coff:1;
962 uint64_t q0_perr:1;
963 uint64_t q1_und:1;
964 uint64_t q1_coff:1;
965 uint64_t q1_perr:1;
966 uint64_t q2_und:1;
967 uint64_t q2_coff:1;
968 uint64_t q2_perr:1;
969 uint64_t q3_und:1;
970 uint64_t q3_coff:1;
971 uint64_t q3_perr:1;
972 uint64_t q4_und:1;
973 uint64_t q4_coff:1;
974 uint64_t q4_perr:1;
975 uint64_t q5_und:1;
976 uint64_t q5_coff:1;
977 uint64_t q5_perr:1;
978 uint64_t q6_und:1;
979 uint64_t q6_coff:1;
980 uint64_t q6_perr:1;
981 uint64_t q7_und:1;
982 uint64_t q7_coff:1;
983 uint64_t q7_perr:1;
984 uint64_t reserved_28_63:36;
985#endif
986 } cn30xx;
987 struct cvmx_fpa_int_sum_cn30xx cn31xx;
988 struct cvmx_fpa_int_sum_cn30xx cn38xx;
989 struct cvmx_fpa_int_sum_cn30xx cn38xxp2;
990 struct cvmx_fpa_int_sum_cn30xx cn50xx;
991 struct cvmx_fpa_int_sum_cn30xx cn52xx;
992 struct cvmx_fpa_int_sum_cn30xx cn52xxp1;
993 struct cvmx_fpa_int_sum_cn30xx cn56xx;
994 struct cvmx_fpa_int_sum_cn30xx cn56xxp1;
995 struct cvmx_fpa_int_sum_cn30xx cn58xx;
996 struct cvmx_fpa_int_sum_cn30xx cn58xxp1;
997 struct cvmx_fpa_int_sum_cn61xx {
998#ifdef __BIG_ENDIAN_BITFIELD
999 uint64_t reserved_50_63:14;
1000 uint64_t paddr_e:1;
1001 uint64_t reserved_44_48:5;
1002 uint64_t free7:1;
1003 uint64_t free6:1;
1004 uint64_t free5:1;
1005 uint64_t free4:1;
1006 uint64_t free3:1;
1007 uint64_t free2:1;
1008 uint64_t free1:1;
1009 uint64_t free0:1;
1010 uint64_t pool7th:1;
1011 uint64_t pool6th:1;
1012 uint64_t pool5th:1;
1013 uint64_t pool4th:1;
1014 uint64_t pool3th:1;
1015 uint64_t pool2th:1;
1016 uint64_t pool1th:1;
1017 uint64_t pool0th:1;
1018 uint64_t q7_perr:1;
1019 uint64_t q7_coff:1;
1020 uint64_t q7_und:1;
1021 uint64_t q6_perr:1;
1022 uint64_t q6_coff:1;
1023 uint64_t q6_und:1;
1024 uint64_t q5_perr:1;
1025 uint64_t q5_coff:1;
1026 uint64_t q5_und:1;
1027 uint64_t q4_perr:1;
1028 uint64_t q4_coff:1;
1029 uint64_t q4_und:1;
1030 uint64_t q3_perr:1;
1031 uint64_t q3_coff:1;
1032 uint64_t q3_und:1;
1033 uint64_t q2_perr:1;
1034 uint64_t q2_coff:1;
1035 uint64_t q2_und:1;
1036 uint64_t q1_perr:1;
1037 uint64_t q1_coff:1;
1038 uint64_t q1_und:1;
1039 uint64_t q0_perr:1;
1040 uint64_t q0_coff:1;
1041 uint64_t q0_und:1;
1042 uint64_t fed1_dbe:1;
1043 uint64_t fed1_sbe:1;
1044 uint64_t fed0_dbe:1;
1045 uint64_t fed0_sbe:1;
1046#else
1047 uint64_t fed0_sbe:1;
1048 uint64_t fed0_dbe:1;
1049 uint64_t fed1_sbe:1;
1050 uint64_t fed1_dbe:1;
1051 uint64_t q0_und:1;
1052 uint64_t q0_coff:1;
1053 uint64_t q0_perr:1;
1054 uint64_t q1_und:1;
1055 uint64_t q1_coff:1;
1056 uint64_t q1_perr:1;
1057 uint64_t q2_und:1;
1058 uint64_t q2_coff:1;
1059 uint64_t q2_perr:1;
1060 uint64_t q3_und:1;
1061 uint64_t q3_coff:1;
1062 uint64_t q3_perr:1;
1063 uint64_t q4_und:1;
1064 uint64_t q4_coff:1;
1065 uint64_t q4_perr:1;
1066 uint64_t q5_und:1;
1067 uint64_t q5_coff:1;
1068 uint64_t q5_perr:1;
1069 uint64_t q6_und:1;
1070 uint64_t q6_coff:1;
1071 uint64_t q6_perr:1;
1072 uint64_t q7_und:1;
1073 uint64_t q7_coff:1;
1074 uint64_t q7_perr:1;
1075 uint64_t pool0th:1;
1076 uint64_t pool1th:1;
1077 uint64_t pool2th:1;
1078 uint64_t pool3th:1;
1079 uint64_t pool4th:1;
1080 uint64_t pool5th:1;
1081 uint64_t pool6th:1;
1082 uint64_t pool7th:1;
1083 uint64_t free0:1;
1084 uint64_t free1:1;
1085 uint64_t free2:1;
1086 uint64_t free3:1;
1087 uint64_t free4:1;
1088 uint64_t free5:1;
1089 uint64_t free6:1;
1090 uint64_t free7:1;
1091 uint64_t reserved_44_48:5;
1092 uint64_t paddr_e:1;
1093 uint64_t reserved_50_63:14;
1094#endif
1095 } cn61xx;
1096 struct cvmx_fpa_int_sum_cn63xx {
1097#ifdef __BIG_ENDIAN_BITFIELD
1098 uint64_t reserved_44_63:20;
1099 uint64_t free7:1;
1100 uint64_t free6:1;
1101 uint64_t free5:1;
1102 uint64_t free4:1;
1103 uint64_t free3:1;
1104 uint64_t free2:1;
1105 uint64_t free1:1;
1106 uint64_t free0:1;
1107 uint64_t pool7th:1;
1108 uint64_t pool6th:1;
1109 uint64_t pool5th:1;
1110 uint64_t pool4th:1;
1111 uint64_t pool3th:1;
1112 uint64_t pool2th:1;
1113 uint64_t pool1th:1;
1114 uint64_t pool0th:1;
1115 uint64_t q7_perr:1;
1116 uint64_t q7_coff:1;
1117 uint64_t q7_und:1;
1118 uint64_t q6_perr:1;
1119 uint64_t q6_coff:1;
1120 uint64_t q6_und:1;
1121 uint64_t q5_perr:1;
1122 uint64_t q5_coff:1;
1123 uint64_t q5_und:1;
1124 uint64_t q4_perr:1;
1125 uint64_t q4_coff:1;
1126 uint64_t q4_und:1;
1127 uint64_t q3_perr:1;
1128 uint64_t q3_coff:1;
1129 uint64_t q3_und:1;
1130 uint64_t q2_perr:1;
1131 uint64_t q2_coff:1;
1132 uint64_t q2_und:1;
1133 uint64_t q1_perr:1;
1134 uint64_t q1_coff:1;
1135 uint64_t q1_und:1;
1136 uint64_t q0_perr:1;
1137 uint64_t q0_coff:1;
1138 uint64_t q0_und:1;
1139 uint64_t fed1_dbe:1;
1140 uint64_t fed1_sbe:1;
1141 uint64_t fed0_dbe:1;
1142 uint64_t fed0_sbe:1;
1143#else
1144 uint64_t fed0_sbe:1;
1145 uint64_t fed0_dbe:1;
1146 uint64_t fed1_sbe:1;
1147 uint64_t fed1_dbe:1;
1148 uint64_t q0_und:1;
1149 uint64_t q0_coff:1;
1150 uint64_t q0_perr:1;
1151 uint64_t q1_und:1;
1152 uint64_t q1_coff:1;
1153 uint64_t q1_perr:1;
1154 uint64_t q2_und:1;
1155 uint64_t q2_coff:1;
1156 uint64_t q2_perr:1;
1157 uint64_t q3_und:1;
1158 uint64_t q3_coff:1;
1159 uint64_t q3_perr:1;
1160 uint64_t q4_und:1;
1161 uint64_t q4_coff:1;
1162 uint64_t q4_perr:1;
1163 uint64_t q5_und:1;
1164 uint64_t q5_coff:1;
1165 uint64_t q5_perr:1;
1166 uint64_t q6_und:1;
1167 uint64_t q6_coff:1;
1168 uint64_t q6_perr:1;
1169 uint64_t q7_und:1;
1170 uint64_t q7_coff:1;
1171 uint64_t q7_perr:1;
1172 uint64_t pool0th:1;
1173 uint64_t pool1th:1;
1174 uint64_t pool2th:1;
1175 uint64_t pool3th:1;
1176 uint64_t pool4th:1;
1177 uint64_t pool5th:1;
1178 uint64_t pool6th:1;
1179 uint64_t pool7th:1;
1180 uint64_t free0:1;
1181 uint64_t free1:1;
1182 uint64_t free2:1;
1183 uint64_t free3:1;
1184 uint64_t free4:1;
1185 uint64_t free5:1;
1186 uint64_t free6:1;
1187 uint64_t free7:1;
1188 uint64_t reserved_44_63:20;
1189#endif
1190 } cn63xx;
1191 struct cvmx_fpa_int_sum_cn30xx cn63xxp1;
1192 struct cvmx_fpa_int_sum_cn61xx cn66xx;
1193 struct cvmx_fpa_int_sum_s cn68xx;
1194 struct cvmx_fpa_int_sum_s cn68xxp1;
1195 struct cvmx_fpa_int_sum_cn61xx cnf71xx;
1196};
1197
1198union cvmx_fpa_packet_threshold {
1199 uint64_t u64;
1200 struct cvmx_fpa_packet_threshold_s {
1201#ifdef __BIG_ENDIAN_BITFIELD
1202 uint64_t reserved_32_63:32;
1203 uint64_t thresh:32;
1204#else
1205 uint64_t thresh:32;
1206 uint64_t reserved_32_63:32;
1207#endif
273 } s; 1208 } s;
274 struct cvmx_fpa_int_sum_s cn30xx; 1209 struct cvmx_fpa_packet_threshold_s cn61xx;
275 struct cvmx_fpa_int_sum_s cn31xx; 1210 struct cvmx_fpa_packet_threshold_s cn63xx;
276 struct cvmx_fpa_int_sum_s cn38xx; 1211 struct cvmx_fpa_packet_threshold_s cn66xx;
277 struct cvmx_fpa_int_sum_s cn38xxp2; 1212 struct cvmx_fpa_packet_threshold_s cn68xx;
278 struct cvmx_fpa_int_sum_s cn50xx; 1213 struct cvmx_fpa_packet_threshold_s cn68xxp1;
279 struct cvmx_fpa_int_sum_s cn52xx; 1214 struct cvmx_fpa_packet_threshold_s cnf71xx;
280 struct cvmx_fpa_int_sum_s cn52xxp1; 1215};
281 struct cvmx_fpa_int_sum_s cn56xx; 1216
282 struct cvmx_fpa_int_sum_s cn56xxp1; 1217union cvmx_fpa_poolx_end_addr {
283 struct cvmx_fpa_int_sum_s cn58xx; 1218 uint64_t u64;
284 struct cvmx_fpa_int_sum_s cn58xxp1; 1219 struct cvmx_fpa_poolx_end_addr_s {
1220#ifdef __BIG_ENDIAN_BITFIELD
1221 uint64_t reserved_33_63:31;
1222 uint64_t addr:33;
1223#else
1224 uint64_t addr:33;
1225 uint64_t reserved_33_63:31;
1226#endif
1227 } s;
1228 struct cvmx_fpa_poolx_end_addr_s cn61xx;
1229 struct cvmx_fpa_poolx_end_addr_s cn66xx;
1230 struct cvmx_fpa_poolx_end_addr_s cn68xx;
1231 struct cvmx_fpa_poolx_end_addr_s cn68xxp1;
1232 struct cvmx_fpa_poolx_end_addr_s cnf71xx;
1233};
1234
1235union cvmx_fpa_poolx_start_addr {
1236 uint64_t u64;
1237 struct cvmx_fpa_poolx_start_addr_s {
1238#ifdef __BIG_ENDIAN_BITFIELD
1239 uint64_t reserved_33_63:31;
1240 uint64_t addr:33;
1241#else
1242 uint64_t addr:33;
1243 uint64_t reserved_33_63:31;
1244#endif
1245 } s;
1246 struct cvmx_fpa_poolx_start_addr_s cn61xx;
1247 struct cvmx_fpa_poolx_start_addr_s cn66xx;
1248 struct cvmx_fpa_poolx_start_addr_s cn68xx;
1249 struct cvmx_fpa_poolx_start_addr_s cn68xxp1;
1250 struct cvmx_fpa_poolx_start_addr_s cnf71xx;
1251};
1252
1253union cvmx_fpa_poolx_threshold {
1254 uint64_t u64;
1255 struct cvmx_fpa_poolx_threshold_s {
1256#ifdef __BIG_ENDIAN_BITFIELD
1257 uint64_t reserved_32_63:32;
1258 uint64_t thresh:32;
1259#else
1260 uint64_t thresh:32;
1261 uint64_t reserved_32_63:32;
1262#endif
1263 } s;
1264 struct cvmx_fpa_poolx_threshold_cn61xx {
1265#ifdef __BIG_ENDIAN_BITFIELD
1266 uint64_t reserved_29_63:35;
1267 uint64_t thresh:29;
1268#else
1269 uint64_t thresh:29;
1270 uint64_t reserved_29_63:35;
1271#endif
1272 } cn61xx;
1273 struct cvmx_fpa_poolx_threshold_cn61xx cn63xx;
1274 struct cvmx_fpa_poolx_threshold_cn61xx cn66xx;
1275 struct cvmx_fpa_poolx_threshold_s cn68xx;
1276 struct cvmx_fpa_poolx_threshold_s cn68xxp1;
1277 struct cvmx_fpa_poolx_threshold_cn61xx cnf71xx;
285}; 1278};
286 1279
287union cvmx_fpa_quex_available { 1280union cvmx_fpa_quex_available {
288 uint64_t u64; 1281 uint64_t u64;
289 struct cvmx_fpa_quex_available_s { 1282 struct cvmx_fpa_quex_available_s {
1283#ifdef __BIG_ENDIAN_BITFIELD
1284 uint64_t reserved_32_63:32;
1285 uint64_t que_siz:32;
1286#else
1287 uint64_t que_siz:32;
1288 uint64_t reserved_32_63:32;
1289#endif
1290 } s;
1291 struct cvmx_fpa_quex_available_cn30xx {
1292#ifdef __BIG_ENDIAN_BITFIELD
290 uint64_t reserved_29_63:35; 1293 uint64_t reserved_29_63:35;
291 uint64_t que_siz:29; 1294 uint64_t que_siz:29;
292 } s; 1295#else
293 struct cvmx_fpa_quex_available_s cn30xx; 1296 uint64_t que_siz:29;
294 struct cvmx_fpa_quex_available_s cn31xx; 1297 uint64_t reserved_29_63:35;
295 struct cvmx_fpa_quex_available_s cn38xx; 1298#endif
296 struct cvmx_fpa_quex_available_s cn38xxp2; 1299 } cn30xx;
297 struct cvmx_fpa_quex_available_s cn50xx; 1300 struct cvmx_fpa_quex_available_cn30xx cn31xx;
298 struct cvmx_fpa_quex_available_s cn52xx; 1301 struct cvmx_fpa_quex_available_cn30xx cn38xx;
299 struct cvmx_fpa_quex_available_s cn52xxp1; 1302 struct cvmx_fpa_quex_available_cn30xx cn38xxp2;
300 struct cvmx_fpa_quex_available_s cn56xx; 1303 struct cvmx_fpa_quex_available_cn30xx cn50xx;
301 struct cvmx_fpa_quex_available_s cn56xxp1; 1304 struct cvmx_fpa_quex_available_cn30xx cn52xx;
302 struct cvmx_fpa_quex_available_s cn58xx; 1305 struct cvmx_fpa_quex_available_cn30xx cn52xxp1;
303 struct cvmx_fpa_quex_available_s cn58xxp1; 1306 struct cvmx_fpa_quex_available_cn30xx cn56xx;
1307 struct cvmx_fpa_quex_available_cn30xx cn56xxp1;
1308 struct cvmx_fpa_quex_available_cn30xx cn58xx;
1309 struct cvmx_fpa_quex_available_cn30xx cn58xxp1;
1310 struct cvmx_fpa_quex_available_cn30xx cn61xx;
1311 struct cvmx_fpa_quex_available_cn30xx cn63xx;
1312 struct cvmx_fpa_quex_available_cn30xx cn63xxp1;
1313 struct cvmx_fpa_quex_available_cn30xx cn66xx;
1314 struct cvmx_fpa_quex_available_s cn68xx;
1315 struct cvmx_fpa_quex_available_s cn68xxp1;
1316 struct cvmx_fpa_quex_available_cn30xx cnf71xx;
304}; 1317};
305 1318
306union cvmx_fpa_quex_page_index { 1319union cvmx_fpa_quex_page_index {
307 uint64_t u64; 1320 uint64_t u64;
308 struct cvmx_fpa_quex_page_index_s { 1321 struct cvmx_fpa_quex_page_index_s {
1322#ifdef __BIG_ENDIAN_BITFIELD
309 uint64_t reserved_25_63:39; 1323 uint64_t reserved_25_63:39;
310 uint64_t pg_num:25; 1324 uint64_t pg_num:25;
1325#else
1326 uint64_t pg_num:25;
1327 uint64_t reserved_25_63:39;
1328#endif
311 } s; 1329 } s;
312 struct cvmx_fpa_quex_page_index_s cn30xx; 1330 struct cvmx_fpa_quex_page_index_s cn30xx;
313 struct cvmx_fpa_quex_page_index_s cn31xx; 1331 struct cvmx_fpa_quex_page_index_s cn31xx;
@@ -320,14 +1338,42 @@ union cvmx_fpa_quex_page_index {
320 struct cvmx_fpa_quex_page_index_s cn56xxp1; 1338 struct cvmx_fpa_quex_page_index_s cn56xxp1;
321 struct cvmx_fpa_quex_page_index_s cn58xx; 1339 struct cvmx_fpa_quex_page_index_s cn58xx;
322 struct cvmx_fpa_quex_page_index_s cn58xxp1; 1340 struct cvmx_fpa_quex_page_index_s cn58xxp1;
1341 struct cvmx_fpa_quex_page_index_s cn61xx;
1342 struct cvmx_fpa_quex_page_index_s cn63xx;
1343 struct cvmx_fpa_quex_page_index_s cn63xxp1;
1344 struct cvmx_fpa_quex_page_index_s cn66xx;
1345 struct cvmx_fpa_quex_page_index_s cn68xx;
1346 struct cvmx_fpa_quex_page_index_s cn68xxp1;
1347 struct cvmx_fpa_quex_page_index_s cnf71xx;
1348};
1349
1350union cvmx_fpa_que8_page_index {
1351 uint64_t u64;
1352 struct cvmx_fpa_que8_page_index_s {
1353#ifdef __BIG_ENDIAN_BITFIELD
1354 uint64_t reserved_25_63:39;
1355 uint64_t pg_num:25;
1356#else
1357 uint64_t pg_num:25;
1358 uint64_t reserved_25_63:39;
1359#endif
1360 } s;
1361 struct cvmx_fpa_que8_page_index_s cn68xx;
1362 struct cvmx_fpa_que8_page_index_s cn68xxp1;
323}; 1363};
324 1364
325union cvmx_fpa_que_act { 1365union cvmx_fpa_que_act {
326 uint64_t u64; 1366 uint64_t u64;
327 struct cvmx_fpa_que_act_s { 1367 struct cvmx_fpa_que_act_s {
1368#ifdef __BIG_ENDIAN_BITFIELD
328 uint64_t reserved_29_63:35; 1369 uint64_t reserved_29_63:35;
329 uint64_t act_que:3; 1370 uint64_t act_que:3;
330 uint64_t act_indx:26; 1371 uint64_t act_indx:26;
1372#else
1373 uint64_t act_indx:26;
1374 uint64_t act_que:3;
1375 uint64_t reserved_29_63:35;
1376#endif
331 } s; 1377 } s;
332 struct cvmx_fpa_que_act_s cn30xx; 1378 struct cvmx_fpa_que_act_s cn30xx;
333 struct cvmx_fpa_que_act_s cn31xx; 1379 struct cvmx_fpa_que_act_s cn31xx;
@@ -340,14 +1386,27 @@ union cvmx_fpa_que_act {
340 struct cvmx_fpa_que_act_s cn56xxp1; 1386 struct cvmx_fpa_que_act_s cn56xxp1;
341 struct cvmx_fpa_que_act_s cn58xx; 1387 struct cvmx_fpa_que_act_s cn58xx;
342 struct cvmx_fpa_que_act_s cn58xxp1; 1388 struct cvmx_fpa_que_act_s cn58xxp1;
1389 struct cvmx_fpa_que_act_s cn61xx;
1390 struct cvmx_fpa_que_act_s cn63xx;
1391 struct cvmx_fpa_que_act_s cn63xxp1;
1392 struct cvmx_fpa_que_act_s cn66xx;
1393 struct cvmx_fpa_que_act_s cn68xx;
1394 struct cvmx_fpa_que_act_s cn68xxp1;
1395 struct cvmx_fpa_que_act_s cnf71xx;
343}; 1396};
344 1397
345union cvmx_fpa_que_exp { 1398union cvmx_fpa_que_exp {
346 uint64_t u64; 1399 uint64_t u64;
347 struct cvmx_fpa_que_exp_s { 1400 struct cvmx_fpa_que_exp_s {
1401#ifdef __BIG_ENDIAN_BITFIELD
348 uint64_t reserved_29_63:35; 1402 uint64_t reserved_29_63:35;
349 uint64_t exp_que:3; 1403 uint64_t exp_que:3;
350 uint64_t exp_indx:26; 1404 uint64_t exp_indx:26;
1405#else
1406 uint64_t exp_indx:26;
1407 uint64_t exp_que:3;
1408 uint64_t reserved_29_63:35;
1409#endif
351 } s; 1410 } s;
352 struct cvmx_fpa_que_exp_s cn30xx; 1411 struct cvmx_fpa_que_exp_s cn30xx;
353 struct cvmx_fpa_que_exp_s cn31xx; 1412 struct cvmx_fpa_que_exp_s cn31xx;
@@ -360,13 +1419,25 @@ union cvmx_fpa_que_exp {
360 struct cvmx_fpa_que_exp_s cn56xxp1; 1419 struct cvmx_fpa_que_exp_s cn56xxp1;
361 struct cvmx_fpa_que_exp_s cn58xx; 1420 struct cvmx_fpa_que_exp_s cn58xx;
362 struct cvmx_fpa_que_exp_s cn58xxp1; 1421 struct cvmx_fpa_que_exp_s cn58xxp1;
1422 struct cvmx_fpa_que_exp_s cn61xx;
1423 struct cvmx_fpa_que_exp_s cn63xx;
1424 struct cvmx_fpa_que_exp_s cn63xxp1;
1425 struct cvmx_fpa_que_exp_s cn66xx;
1426 struct cvmx_fpa_que_exp_s cn68xx;
1427 struct cvmx_fpa_que_exp_s cn68xxp1;
1428 struct cvmx_fpa_que_exp_s cnf71xx;
363}; 1429};
364 1430
365union cvmx_fpa_wart_ctl { 1431union cvmx_fpa_wart_ctl {
366 uint64_t u64; 1432 uint64_t u64;
367 struct cvmx_fpa_wart_ctl_s { 1433 struct cvmx_fpa_wart_ctl_s {
1434#ifdef __BIG_ENDIAN_BITFIELD
368 uint64_t reserved_16_63:48; 1435 uint64_t reserved_16_63:48;
369 uint64_t ctl:16; 1436 uint64_t ctl:16;
1437#else
1438 uint64_t ctl:16;
1439 uint64_t reserved_16_63:48;
1440#endif
370 } s; 1441 } s;
371 struct cvmx_fpa_wart_ctl_s cn30xx; 1442 struct cvmx_fpa_wart_ctl_s cn30xx;
372 struct cvmx_fpa_wart_ctl_s cn31xx; 1443 struct cvmx_fpa_wart_ctl_s cn31xx;
@@ -384,8 +1455,13 @@ union cvmx_fpa_wart_ctl {
384union cvmx_fpa_wart_status { 1455union cvmx_fpa_wart_status {
385 uint64_t u64; 1456 uint64_t u64;
386 struct cvmx_fpa_wart_status_s { 1457 struct cvmx_fpa_wart_status_s {
1458#ifdef __BIG_ENDIAN_BITFIELD
387 uint64_t reserved_32_63:32; 1459 uint64_t reserved_32_63:32;
388 uint64_t status:32; 1460 uint64_t status:32;
1461#else
1462 uint64_t status:32;
1463 uint64_t reserved_32_63:32;
1464#endif
389 } s; 1465 } s;
390 struct cvmx_fpa_wart_status_s cn30xx; 1466 struct cvmx_fpa_wart_status_s cn30xx;
391 struct cvmx_fpa_wart_status_s cn31xx; 1467 struct cvmx_fpa_wart_status_s cn31xx;
@@ -400,4 +1476,23 @@ union cvmx_fpa_wart_status {
400 struct cvmx_fpa_wart_status_s cn58xxp1; 1476 struct cvmx_fpa_wart_status_s cn58xxp1;
401}; 1477};
402 1478
1479union cvmx_fpa_wqe_threshold {
1480 uint64_t u64;
1481 struct cvmx_fpa_wqe_threshold_s {
1482#ifdef __BIG_ENDIAN_BITFIELD
1483 uint64_t reserved_32_63:32;
1484 uint64_t thresh:32;
1485#else
1486 uint64_t thresh:32;
1487 uint64_t reserved_32_63:32;
1488#endif
1489 } s;
1490 struct cvmx_fpa_wqe_threshold_s cn61xx;
1491 struct cvmx_fpa_wqe_threshold_s cn63xx;
1492 struct cvmx_fpa_wqe_threshold_s cn66xx;
1493 struct cvmx_fpa_wqe_threshold_s cn68xx;
1494 struct cvmx_fpa_wqe_threshold_s cn68xxp1;
1495 struct cvmx_fpa_wqe_threshold_s cnf71xx;
1496};
1497
403#endif 1498#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h b/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h
index 946a43a73fd7..e347496a33c3 100644
--- a/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,208 +28,2052 @@
28#ifndef __CVMX_GMXX_DEFS_H__ 28#ifndef __CVMX_GMXX_DEFS_H__
29#define __CVMX_GMXX_DEFS_H__ 29#define __CVMX_GMXX_DEFS_H__
30 30
31#define CVMX_GMXX_BAD_REG(block_id) \ 31static inline uint64_t CVMX_GMXX_BAD_REG(unsigned long block_id)
32 CVMX_ADD_IO_SEG(0x0001180008000518ull + (((block_id) & 1) * 0x8000000ull)) 32{
33#define CVMX_GMXX_BIST(block_id) \ 33 switch (cvmx_get_octeon_family()) {
34 CVMX_ADD_IO_SEG(0x0001180008000400ull + (((block_id) & 1) * 0x8000000ull)) 34 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
35#define CVMX_GMXX_CLK_EN(block_id) \ 35 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
36 CVMX_ADD_IO_SEG(0x00011800080007F0ull + (((block_id) & 1) * 0x8000000ull)) 36 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
37#define CVMX_GMXX_HG2_CONTROL(block_id) \ 37 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
38 CVMX_ADD_IO_SEG(0x0001180008000550ull + (((block_id) & 1) * 0x8000000ull)) 38 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
39#define CVMX_GMXX_INF_MODE(block_id) \ 39 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
40 CVMX_ADD_IO_SEG(0x00011800080007F8ull + (((block_id) & 1) * 0x8000000ull)) 40 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
41#define CVMX_GMXX_NXA_ADR(block_id) \ 41 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
42 CVMX_ADD_IO_SEG(0x0001180008000510ull + (((block_id) & 1) * 0x8000000ull)) 42 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
43#define CVMX_GMXX_PRTX_CBFC_CTL(offset, block_id) \ 43 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
44 CVMX_ADD_IO_SEG(0x0001180008000580ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull)) 44 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
45#define CVMX_GMXX_PRTX_CFG(offset, block_id) \ 45 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
46 CVMX_ADD_IO_SEG(0x0001180008000010ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 46 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
47#define CVMX_GMXX_RXX_ADR_CAM0(offset, block_id) \ 47 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
48 CVMX_ADD_IO_SEG(0x0001180008000180ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 48 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x1000000ull;
49#define CVMX_GMXX_RXX_ADR_CAM1(offset, block_id) \ 49 }
50 CVMX_ADD_IO_SEG(0x0001180008000188ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 50 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
51#define CVMX_GMXX_RXX_ADR_CAM2(offset, block_id) \ 51}
52 CVMX_ADD_IO_SEG(0x0001180008000190ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 52
53#define CVMX_GMXX_RXX_ADR_CAM3(offset, block_id) \ 53static inline uint64_t CVMX_GMXX_BIST(unsigned long block_id)
54 CVMX_ADD_IO_SEG(0x0001180008000198ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 54{
55#define CVMX_GMXX_RXX_ADR_CAM4(offset, block_id) \ 55 switch (cvmx_get_octeon_family()) {
56 CVMX_ADD_IO_SEG(0x00011800080001A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 56 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
57#define CVMX_GMXX_RXX_ADR_CAM5(offset, block_id) \ 57 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
58 CVMX_ADD_IO_SEG(0x00011800080001A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 58 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
59#define CVMX_GMXX_RXX_ADR_CAM_EN(offset, block_id) \ 59 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
60 CVMX_ADD_IO_SEG(0x0001180008000108ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 60 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
61#define CVMX_GMXX_RXX_ADR_CTL(offset, block_id) \ 61 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
62 CVMX_ADD_IO_SEG(0x0001180008000100ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 62 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
63#define CVMX_GMXX_RXX_DECISION(offset, block_id) \ 63 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
64 CVMX_ADD_IO_SEG(0x0001180008000040ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 64 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
65#define CVMX_GMXX_RXX_FRM_CHK(offset, block_id) \ 65 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
66 CVMX_ADD_IO_SEG(0x0001180008000020ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 66 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
67#define CVMX_GMXX_RXX_FRM_CTL(offset, block_id) \ 67 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
68 CVMX_ADD_IO_SEG(0x0001180008000018ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 68 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
69#define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) \ 69 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
70 CVMX_ADD_IO_SEG(0x0001180008000030ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 70 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x1000000ull;
71#define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) \ 71 }
72 CVMX_ADD_IO_SEG(0x0001180008000028ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 72 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
73#define CVMX_GMXX_RXX_IFG(offset, block_id) \ 73}
74 CVMX_ADD_IO_SEG(0x0001180008000058ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 74
75#define CVMX_GMXX_RXX_INT_EN(offset, block_id) \ 75#define CVMX_GMXX_BPID_MAPX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000680ull) + (((offset) & 15) + ((block_id) & 7) * 0x200000ull) * 8)
76 CVMX_ADD_IO_SEG(0x0001180008000008ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 76#define CVMX_GMXX_BPID_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180008000700ull) + ((block_id) & 7) * 0x1000000ull)
77#define CVMX_GMXX_RXX_INT_REG(offset, block_id) \ 77static inline uint64_t CVMX_GMXX_CLK_EN(unsigned long block_id)
78 CVMX_ADD_IO_SEG(0x0001180008000000ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 78{
79#define CVMX_GMXX_RXX_JABBER(offset, block_id) \ 79 switch (cvmx_get_octeon_family()) {
80 CVMX_ADD_IO_SEG(0x0001180008000038ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 80 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
81#define CVMX_GMXX_RXX_PAUSE_DROP_TIME(offset, block_id) \ 81 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
82 CVMX_ADD_IO_SEG(0x0001180008000068ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 82 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
83#define CVMX_GMXX_RXX_RX_INBND(offset, block_id) \ 83 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
84 CVMX_ADD_IO_SEG(0x0001180008000060ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 84 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
85#define CVMX_GMXX_RXX_STATS_CTL(offset, block_id) \ 85 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
86 CVMX_ADD_IO_SEG(0x0001180008000050ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 86 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
87#define CVMX_GMXX_RXX_STATS_OCTS(offset, block_id) \ 87 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
88 CVMX_ADD_IO_SEG(0x0001180008000088ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 88 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
89#define CVMX_GMXX_RXX_STATS_OCTS_CTL(offset, block_id) \ 89 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x1000000ull;
90 CVMX_ADD_IO_SEG(0x0001180008000098ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 90 }
91#define CVMX_GMXX_RXX_STATS_OCTS_DMAC(offset, block_id) \ 91 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
92 CVMX_ADD_IO_SEG(0x00011800080000A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 92}
93#define CVMX_GMXX_RXX_STATS_OCTS_DRP(offset, block_id) \ 93
94 CVMX_ADD_IO_SEG(0x00011800080000B8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 94#define CVMX_GMXX_EBP_DIS(block_id) (CVMX_ADD_IO_SEG(0x0001180008000608ull) + ((block_id) & 7) * 0x1000000ull)
95#define CVMX_GMXX_RXX_STATS_PKTS(offset, block_id) \ 95#define CVMX_GMXX_EBP_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180008000600ull) + ((block_id) & 7) * 0x1000000ull)
96 CVMX_ADD_IO_SEG(0x0001180008000080ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 96static inline uint64_t CVMX_GMXX_HG2_CONTROL(unsigned long block_id)
97#define CVMX_GMXX_RXX_STATS_PKTS_BAD(offset, block_id) \ 97{
98 CVMX_ADD_IO_SEG(0x00011800080000C0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 98 switch (cvmx_get_octeon_family()) {
99#define CVMX_GMXX_RXX_STATS_PKTS_CTL(offset, block_id) \ 99 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
100 CVMX_ADD_IO_SEG(0x0001180008000090ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 100 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
101#define CVMX_GMXX_RXX_STATS_PKTS_DMAC(offset, block_id) \ 101 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
102 CVMX_ADD_IO_SEG(0x00011800080000A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 102 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
103#define CVMX_GMXX_RXX_STATS_PKTS_DRP(offset, block_id) \ 103 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
104 CVMX_ADD_IO_SEG(0x00011800080000B0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 104 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
105#define CVMX_GMXX_RXX_UDD_SKP(offset, block_id) \ 105 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
106 CVMX_ADD_IO_SEG(0x0001180008000048ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 106 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
107#define CVMX_GMXX_RX_BP_DROPX(offset, block_id) \ 107 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
108 CVMX_ADD_IO_SEG(0x0001180008000420ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull)) 108 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x1000000ull;
109#define CVMX_GMXX_RX_BP_OFFX(offset, block_id) \ 109 }
110 CVMX_ADD_IO_SEG(0x0001180008000460ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull)) 110 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
111#define CVMX_GMXX_RX_BP_ONX(offset, block_id) \ 111}
112 CVMX_ADD_IO_SEG(0x0001180008000440ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull)) 112
113#define CVMX_GMXX_RX_HG2_STATUS(block_id) \ 113static inline uint64_t CVMX_GMXX_INF_MODE(unsigned long block_id)
114 CVMX_ADD_IO_SEG(0x0001180008000548ull + (((block_id) & 1) * 0x8000000ull)) 114{
115#define CVMX_GMXX_RX_PASS_EN(block_id) \ 115 switch (cvmx_get_octeon_family()) {
116 CVMX_ADD_IO_SEG(0x00011800080005F8ull + (((block_id) & 1) * 0x8000000ull)) 116 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
117#define CVMX_GMXX_RX_PASS_MAPX(offset, block_id) \ 117 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
118 CVMX_ADD_IO_SEG(0x0001180008000600ull + (((offset) & 15) * 8) + (((block_id) & 1) * 0x8000000ull)) 118 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
119#define CVMX_GMXX_RX_PRTS(block_id) \ 119 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
120 CVMX_ADD_IO_SEG(0x0001180008000410ull + (((block_id) & 1) * 0x8000000ull)) 120 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
121#define CVMX_GMXX_RX_PRT_INFO(block_id) \ 121 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
122 CVMX_ADD_IO_SEG(0x00011800080004E8ull + (((block_id) & 1) * 0x8000000ull)) 122 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
123#define CVMX_GMXX_RX_TX_STATUS(block_id) \ 123 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
124 CVMX_ADD_IO_SEG(0x00011800080007E8ull + (((block_id) & 0) * 0x8000000ull)) 124 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
125#define CVMX_GMXX_RX_XAUI_BAD_COL(block_id) \ 125 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
126 CVMX_ADD_IO_SEG(0x0001180008000538ull + (((block_id) & 1) * 0x8000000ull)) 126 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
127#define CVMX_GMXX_RX_XAUI_CTL(block_id) \ 127 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
128 CVMX_ADD_IO_SEG(0x0001180008000530ull + (((block_id) & 1) * 0x8000000ull)) 128 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
129#define CVMX_GMXX_SMACX(offset, block_id) \ 129 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
130 CVMX_ADD_IO_SEG(0x0001180008000230ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 130 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x1000000ull;
131#define CVMX_GMXX_STAT_BP(block_id) \ 131 }
132 CVMX_ADD_IO_SEG(0x0001180008000520ull + (((block_id) & 1) * 0x8000000ull)) 132 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
133#define CVMX_GMXX_TXX_APPEND(offset, block_id) \ 133}
134 CVMX_ADD_IO_SEG(0x0001180008000218ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 134
135#define CVMX_GMXX_TXX_BURST(offset, block_id) \ 135static inline uint64_t CVMX_GMXX_NXA_ADR(unsigned long block_id)
136 CVMX_ADD_IO_SEG(0x0001180008000228ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 136{
137#define CVMX_GMXX_TXX_CBFC_XOFF(offset, block_id) \ 137 switch (cvmx_get_octeon_family()) {
138 CVMX_ADD_IO_SEG(0x00011800080005A0ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull)) 138 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
139#define CVMX_GMXX_TXX_CBFC_XON(offset, block_id) \ 139 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
140 CVMX_ADD_IO_SEG(0x00011800080005C0ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull)) 140 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
141#define CVMX_GMXX_TXX_CLK(offset, block_id) \ 141 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
142 CVMX_ADD_IO_SEG(0x0001180008000208ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 142 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
143#define CVMX_GMXX_TXX_CTL(offset, block_id) \ 143 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
144 CVMX_ADD_IO_SEG(0x0001180008000270ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 144 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
145#define CVMX_GMXX_TXX_MIN_PKT(offset, block_id) \ 145 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
146 CVMX_ADD_IO_SEG(0x0001180008000240ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 146 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
147#define CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(offset, block_id) \ 147 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
148 CVMX_ADD_IO_SEG(0x0001180008000248ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 148 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
149#define CVMX_GMXX_TXX_PAUSE_PKT_TIME(offset, block_id) \ 149 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
150 CVMX_ADD_IO_SEG(0x0001180008000238ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 150 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
151#define CVMX_GMXX_TXX_PAUSE_TOGO(offset, block_id) \ 151 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
152 CVMX_ADD_IO_SEG(0x0001180008000258ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 152 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x1000000ull;
153#define CVMX_GMXX_TXX_PAUSE_ZERO(offset, block_id) \ 153 }
154 CVMX_ADD_IO_SEG(0x0001180008000260ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 154 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
155#define CVMX_GMXX_TXX_SGMII_CTL(offset, block_id) \ 155}
156 CVMX_ADD_IO_SEG(0x0001180008000300ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 156
157#define CVMX_GMXX_TXX_SLOT(offset, block_id) \ 157#define CVMX_GMXX_PIPE_STATUS(block_id) (CVMX_ADD_IO_SEG(0x0001180008000760ull) + ((block_id) & 7) * 0x1000000ull)
158 CVMX_ADD_IO_SEG(0x0001180008000220ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 158static inline uint64_t CVMX_GMXX_PRTX_CBFC_CTL(unsigned long offset, unsigned long block_id)
159#define CVMX_GMXX_TXX_SOFT_PAUSE(offset, block_id) \ 159{
160 CVMX_ADD_IO_SEG(0x0001180008000250ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 160 switch (cvmx_get_octeon_family()) {
161#define CVMX_GMXX_TXX_STAT0(offset, block_id) \ 161 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
162 CVMX_ADD_IO_SEG(0x0001180008000280ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 162 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
163#define CVMX_GMXX_TXX_STAT1(offset, block_id) \ 163 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
164 CVMX_ADD_IO_SEG(0x0001180008000288ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 164 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull;
165#define CVMX_GMXX_TXX_STAT2(offset, block_id) \ 165 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
166 CVMX_ADD_IO_SEG(0x0001180008000290ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 166 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
167#define CVMX_GMXX_TXX_STAT3(offset, block_id) \ 167 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
168 CVMX_ADD_IO_SEG(0x0001180008000298ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 168 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull;
169#define CVMX_GMXX_TXX_STAT4(offset, block_id) \ 169 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
170 CVMX_ADD_IO_SEG(0x00011800080002A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 170 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x1000000ull;
171#define CVMX_GMXX_TXX_STAT5(offset, block_id) \ 171 }
172 CVMX_ADD_IO_SEG(0x00011800080002A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 172 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull;
173#define CVMX_GMXX_TXX_STAT6(offset, block_id) \ 173}
174 CVMX_ADD_IO_SEG(0x00011800080002B0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 174
175#define CVMX_GMXX_TXX_STAT7(offset, block_id) \ 175static inline uint64_t CVMX_GMXX_PRTX_CFG(unsigned long offset, unsigned long block_id)
176 CVMX_ADD_IO_SEG(0x00011800080002B8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 176{
177#define CVMX_GMXX_TXX_STAT8(offset, block_id) \ 177 switch (cvmx_get_octeon_family()) {
178 CVMX_ADD_IO_SEG(0x00011800080002C0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 178 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
179#define CVMX_GMXX_TXX_STAT9(offset, block_id) \ 179 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
180 CVMX_ADD_IO_SEG(0x00011800080002C8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 180 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
181#define CVMX_GMXX_TXX_STATS_CTL(offset, block_id) \ 181 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
182 CVMX_ADD_IO_SEG(0x0001180008000268ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 182 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
183#define CVMX_GMXX_TXX_THRESH(offset, block_id) \ 183 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
184 CVMX_ADD_IO_SEG(0x0001180008000210ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull)) 184 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
185#define CVMX_GMXX_TX_BP(block_id) \ 185 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
186 CVMX_ADD_IO_SEG(0x00011800080004D0ull + (((block_id) & 1) * 0x8000000ull)) 186 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
187#define CVMX_GMXX_TX_CLK_MSKX(offset, block_id) \ 187 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
188 CVMX_ADD_IO_SEG(0x0001180008000780ull + (((offset) & 1) * 8) + (((block_id) & 0) * 0x0ull)) 188 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
189#define CVMX_GMXX_TX_COL_ATTEMPT(block_id) \ 189 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
190 CVMX_ADD_IO_SEG(0x0001180008000498ull + (((block_id) & 1) * 0x8000000ull)) 190 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
191#define CVMX_GMXX_TX_CORRUPT(block_id) \ 191 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
192 CVMX_ADD_IO_SEG(0x00011800080004D8ull + (((block_id) & 1) * 0x8000000ull)) 192 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
193#define CVMX_GMXX_TX_HG2_REG1(block_id) \ 193 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x0ull) * 2048;
194 CVMX_ADD_IO_SEG(0x0001180008000558ull + (((block_id) & 1) * 0x8000000ull)) 194 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
195#define CVMX_GMXX_TX_HG2_REG2(block_id) \ 195 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
196 CVMX_ADD_IO_SEG(0x0001180008000560ull + (((block_id) & 1) * 0x8000000ull)) 196 }
197#define CVMX_GMXX_TX_IFG(block_id) \ 197 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
198 CVMX_ADD_IO_SEG(0x0001180008000488ull + (((block_id) & 1) * 0x8000000ull)) 198}
199#define CVMX_GMXX_TX_INT_EN(block_id) \ 199
200 CVMX_ADD_IO_SEG(0x0001180008000508ull + (((block_id) & 1) * 0x8000000ull)) 200#define CVMX_GMXX_RXAUI_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180008000740ull) + ((block_id) & 7) * 0x1000000ull)
201#define CVMX_GMXX_TX_INT_REG(block_id) \ 201static inline uint64_t CVMX_GMXX_RXX_ADR_CAM0(unsigned long offset, unsigned long block_id)
202 CVMX_ADD_IO_SEG(0x0001180008000500ull + (((block_id) & 1) * 0x8000000ull)) 202{
203#define CVMX_GMXX_TX_JAM(block_id) \ 203 switch (cvmx_get_octeon_family()) {
204 CVMX_ADD_IO_SEG(0x0001180008000490ull + (((block_id) & 1) * 0x8000000ull)) 204 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
205#define CVMX_GMXX_TX_LFSR(block_id) \ 205 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
206 CVMX_ADD_IO_SEG(0x00011800080004F8ull + (((block_id) & 1) * 0x8000000ull)) 206 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
207#define CVMX_GMXX_TX_OVR_BP(block_id) \ 207 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
208 CVMX_ADD_IO_SEG(0x00011800080004C8ull + (((block_id) & 1) * 0x8000000ull)) 208 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
209#define CVMX_GMXX_TX_PAUSE_PKT_DMAC(block_id) \ 209 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
210 CVMX_ADD_IO_SEG(0x00011800080004A0ull + (((block_id) & 1) * 0x8000000ull)) 210 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
211#define CVMX_GMXX_TX_PAUSE_PKT_TYPE(block_id) \ 211 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
212 CVMX_ADD_IO_SEG(0x00011800080004A8ull + (((block_id) & 1) * 0x8000000ull)) 212 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
213#define CVMX_GMXX_TX_PRTS(block_id) \ 213 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
214 CVMX_ADD_IO_SEG(0x0001180008000480ull + (((block_id) & 1) * 0x8000000ull)) 214 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
215#define CVMX_GMXX_TX_SPI_CTL(block_id) \ 215 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
216 CVMX_ADD_IO_SEG(0x00011800080004C0ull + (((block_id) & 1) * 0x8000000ull)) 216 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
217#define CVMX_GMXX_TX_SPI_DRAIN(block_id) \ 217 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
218 CVMX_ADD_IO_SEG(0x00011800080004E0ull + (((block_id) & 1) * 0x8000000ull)) 218 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x0ull) * 2048;
219#define CVMX_GMXX_TX_SPI_MAX(block_id) \ 219 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
220 CVMX_ADD_IO_SEG(0x00011800080004B0ull + (((block_id) & 1) * 0x8000000ull)) 220 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
221#define CVMX_GMXX_TX_SPI_ROUNDX(offset, block_id) \ 221 }
222 CVMX_ADD_IO_SEG(0x0001180008000680ull + (((offset) & 31) * 8) + (((block_id) & 1) * 0x8000000ull)) 222 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
223#define CVMX_GMXX_TX_SPI_THRESH(block_id) \ 223}
224 CVMX_ADD_IO_SEG(0x00011800080004B8ull + (((block_id) & 1) * 0x8000000ull)) 224
225#define CVMX_GMXX_TX_XAUI_CTL(block_id) \ 225static inline uint64_t CVMX_GMXX_RXX_ADR_CAM1(unsigned long offset, unsigned long block_id)
226 CVMX_ADD_IO_SEG(0x0001180008000528ull + (((block_id) & 1) * 0x8000000ull)) 226{
227#define CVMX_GMXX_XAUI_EXT_LOOPBACK(block_id) \ 227 switch (cvmx_get_octeon_family()) {
228 CVMX_ADD_IO_SEG(0x0001180008000540ull + (((block_id) & 1) * 0x8000000ull)) 228 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
229 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
230 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
231 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
232 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
233 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
234 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
235 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
236 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
237 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
238 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
239 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
240 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
241 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
242 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x0ull) * 2048;
243 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
244 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
245 }
246 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
247}
248
249static inline uint64_t CVMX_GMXX_RXX_ADR_CAM2(unsigned long offset, unsigned long block_id)
250{
251 switch (cvmx_get_octeon_family()) {
252 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
253 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
254 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
255 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
256 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
257 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
258 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
259 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
260 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
261 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
262 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
263 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
264 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
265 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
266 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x0ull) * 2048;
267 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
268 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
269 }
270 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
271}
272
273static inline uint64_t CVMX_GMXX_RXX_ADR_CAM3(unsigned long offset, unsigned long block_id)
274{
275 switch (cvmx_get_octeon_family()) {
276 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
277 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
278 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
279 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
280 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
281 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
282 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
283 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
284 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
285 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
286 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
287 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
288 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
289 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
290 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x0ull) * 2048;
291 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
292 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
293 }
294 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
295}
296
297static inline uint64_t CVMX_GMXX_RXX_ADR_CAM4(unsigned long offset, unsigned long block_id)
298{
299 switch (cvmx_get_octeon_family()) {
300 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
301 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
302 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
303 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
304 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
305 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
306 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
307 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
308 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
309 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
310 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
311 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
312 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
313 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
314 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
315 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
316 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
317 }
318 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
319}
320
321static inline uint64_t CVMX_GMXX_RXX_ADR_CAM5(unsigned long offset, unsigned long block_id)
322{
323 switch (cvmx_get_octeon_family()) {
324 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
325 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
326 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
327 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
328 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
329 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
330 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
331 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
332 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
333 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
334 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
335 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
336 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
337 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
338 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
339 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
340 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
341 }
342 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
343}
344
345static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_ALL_EN(unsigned long offset, unsigned long block_id)
346{
347 switch (cvmx_get_octeon_family()) {
348 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
349 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
350 return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
351 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
352 return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
353 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
354 return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
355 }
356 return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
357}
358
359static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_EN(unsigned long offset, unsigned long block_id)
360{
361 switch (cvmx_get_octeon_family()) {
362 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
363 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
364 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
365 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
366 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
367 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
368 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
369 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
370 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
371 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
372 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
373 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
374 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
375 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
376 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
377 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x0ull) * 2048;
378 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
379 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
380 }
381 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
382}
383
384static inline uint64_t CVMX_GMXX_RXX_ADR_CTL(unsigned long offset, unsigned long block_id)
385{
386 switch (cvmx_get_octeon_family()) {
387 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
388 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
389 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
390 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
391 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
392 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
393 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
394 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
395 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
396 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
397 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
398 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
399 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
400 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
401 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
402 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x0ull) * 2048;
403 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
404 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
405 }
406 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
407}
408
409static inline uint64_t CVMX_GMXX_RXX_DECISION(unsigned long offset, unsigned long block_id)
410{
411 switch (cvmx_get_octeon_family()) {
412 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
413 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
414 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
415 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
416 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
417 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
418 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
419 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
420 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
421 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
422 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
423 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
424 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
425 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
426 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
427 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x0ull) * 2048;
428 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
429 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
430 }
431 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
432}
433
434static inline uint64_t CVMX_GMXX_RXX_FRM_CHK(unsigned long offset, unsigned long block_id)
435{
436 switch (cvmx_get_octeon_family()) {
437 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
438 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
439 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
440 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
441 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
442 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
443 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
444 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
445 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
446 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
447 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
448 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
449 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
450 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
451 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
452 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x0ull) * 2048;
453 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
454 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
455 }
456 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
457}
458
459static inline uint64_t CVMX_GMXX_RXX_FRM_CTL(unsigned long offset, unsigned long block_id)
460{
461 switch (cvmx_get_octeon_family()) {
462 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
463 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
464 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
465 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
466 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
467 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
468 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
469 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
470 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
471 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
472 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
473 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
474 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
475 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
476 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
477 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x0ull) * 2048;
478 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
479 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
480 }
481 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
482}
483
484#define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000030ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
485#define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000028ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
486static inline uint64_t CVMX_GMXX_RXX_IFG(unsigned long offset, unsigned long block_id)
487{
488 switch (cvmx_get_octeon_family()) {
489 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
490 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
491 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
492 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
493 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
494 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
495 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
496 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
497 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
498 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
499 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
500 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
501 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
502 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
503 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
504 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x0ull) * 2048;
505 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
506 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
507 }
508 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
509}
510
511static inline uint64_t CVMX_GMXX_RXX_INT_EN(unsigned long offset, unsigned long block_id)
512{
513 switch (cvmx_get_octeon_family()) {
514 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
515 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
516 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
517 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
518 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
519 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
520 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
521 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
522 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
523 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
524 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
525 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
526 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
527 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
528 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
529 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x0ull) * 2048;
530 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
531 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
532 }
533 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
534}
535
536static inline uint64_t CVMX_GMXX_RXX_INT_REG(unsigned long offset, unsigned long block_id)
537{
538 switch (cvmx_get_octeon_family()) {
539 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
540 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
541 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
542 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
543 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
544 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
545 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
546 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
547 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
548 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
549 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
550 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
551 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
552 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
553 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
554 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x0ull) * 2048;
555 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
556 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
557 }
558 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
559}
560
561static inline uint64_t CVMX_GMXX_RXX_JABBER(unsigned long offset, unsigned long block_id)
562{
563 switch (cvmx_get_octeon_family()) {
564 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
565 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
566 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
567 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
568 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
569 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
570 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
571 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
572 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
573 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
574 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
575 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
576 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
577 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
578 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
579 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x0ull) * 2048;
580 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
581 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
582 }
583 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
584}
585
586static inline uint64_t CVMX_GMXX_RXX_PAUSE_DROP_TIME(unsigned long offset, unsigned long block_id)
587{
588 switch (cvmx_get_octeon_family()) {
589 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
590 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
591 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
592 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
593 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
594 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
595 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
596 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
597 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
598 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
599 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
600 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
601 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x0ull) * 2048;
602 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
603 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
604 }
605 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
606}
607
608#define CVMX_GMXX_RXX_RX_INBND(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000060ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
609static inline uint64_t CVMX_GMXX_RXX_STATS_CTL(unsigned long offset, unsigned long block_id)
610{
611 switch (cvmx_get_octeon_family()) {
612 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
613 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
614 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
615 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
616 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
617 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
618 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
619 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
620 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
621 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
622 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
623 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
624 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
625 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
626 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
627 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x0ull) * 2048;
628 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
629 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
630 }
631 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
632}
633
634static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS(unsigned long offset, unsigned long block_id)
635{
636 switch (cvmx_get_octeon_family()) {
637 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
638 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
639 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
640 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
641 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
642 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
643 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
644 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
645 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
646 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
647 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
648 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
649 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
650 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
651 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
652 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x0ull) * 2048;
653 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
654 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
655 }
656 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
657}
658
659static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_CTL(unsigned long offset, unsigned long block_id)
660{
661 switch (cvmx_get_octeon_family()) {
662 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
663 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
664 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
665 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
666 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
667 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
668 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
669 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
670 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
671 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
672 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
673 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
674 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
675 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
676 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
677 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x0ull) * 2048;
678 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
679 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
680 }
681 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
682}
683
684static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_DMAC(unsigned long offset, unsigned long block_id)
685{
686 switch (cvmx_get_octeon_family()) {
687 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
688 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
689 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
690 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
691 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
692 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
693 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
694 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
695 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
696 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
697 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
698 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
699 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
700 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
701 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
702 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
703 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
704 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
705 }
706 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
707}
708
709static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_DRP(unsigned long offset, unsigned long block_id)
710{
711 switch (cvmx_get_octeon_family()) {
712 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
713 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
714 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
715 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
716 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
717 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
718 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
719 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
720 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
721 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
722 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
723 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
724 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
725 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
726 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
727 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
728 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
729 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
730 }
731 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
732}
733
734static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS(unsigned long offset, unsigned long block_id)
735{
736 switch (cvmx_get_octeon_family()) {
737 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
738 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
739 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
740 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
741 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
742 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
743 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
744 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
745 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
746 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
747 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
748 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
749 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
750 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
751 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
752 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x0ull) * 2048;
753 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
754 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
755 }
756 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
757}
758
759static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_BAD(unsigned long offset, unsigned long block_id)
760{
761 switch (cvmx_get_octeon_family()) {
762 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
763 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
764 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
765 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
766 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
767 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
768 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
769 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
770 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
771 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
772 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
773 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
774 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
775 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
776 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
777 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
778 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
779 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
780 }
781 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
782}
783
784static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_CTL(unsigned long offset, unsigned long block_id)
785{
786 switch (cvmx_get_octeon_family()) {
787 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
788 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
789 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
790 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
791 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
792 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
793 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
794 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
795 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
796 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
797 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
798 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
799 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
800 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
801 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
802 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x0ull) * 2048;
803 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
804 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
805 }
806 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
807}
808
809static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_DMAC(unsigned long offset, unsigned long block_id)
810{
811 switch (cvmx_get_octeon_family()) {
812 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
813 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
814 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
815 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
816 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
817 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
818 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
819 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
820 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
821 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
822 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
823 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
824 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
825 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
826 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
827 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
828 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
829 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
830 }
831 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
832}
833
834static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_DRP(unsigned long offset, unsigned long block_id)
835{
836 switch (cvmx_get_octeon_family()) {
837 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
838 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
839 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
840 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
841 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
842 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
843 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
844 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
845 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
846 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
847 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
848 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
849 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
850 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
851 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
852 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
853 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
854 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
855 }
856 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
857}
858
859static inline uint64_t CVMX_GMXX_RXX_UDD_SKP(unsigned long offset, unsigned long block_id)
860{
861 switch (cvmx_get_octeon_family()) {
862 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
863 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
864 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
865 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
866 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
867 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
868 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
869 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
870 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
871 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
872 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
873 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
874 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
875 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
876 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
877 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x0ull) * 2048;
878 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
879 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
880 }
881 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
882}
883
884static inline uint64_t CVMX_GMXX_RX_BP_DROPX(unsigned long offset, unsigned long block_id)
885{
886 switch (cvmx_get_octeon_family()) {
887 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
888 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
889 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
890 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
891 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
892 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
893 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
894 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
895 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
896 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
897 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
898 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
899 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
900 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
901 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
902 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x0ull) * 8;
903 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
904 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x200000ull) * 8;
905 }
906 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
907}
908
909static inline uint64_t CVMX_GMXX_RX_BP_OFFX(unsigned long offset, unsigned long block_id)
910{
911 switch (cvmx_get_octeon_family()) {
912 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
913 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
914 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
915 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
916 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
917 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
918 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
919 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
920 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
921 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
922 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
923 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
924 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
925 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
926 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
927 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x0ull) * 8;
928 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
929 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x200000ull) * 8;
930 }
931 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
932}
933
934static inline uint64_t CVMX_GMXX_RX_BP_ONX(unsigned long offset, unsigned long block_id)
935{
936 switch (cvmx_get_octeon_family()) {
937 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
938 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
939 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
940 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
941 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
942 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
943 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
944 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
945 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
946 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
947 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
948 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
949 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
950 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
951 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
952 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x0ull) * 8;
953 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
954 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x200000ull) * 8;
955 }
956 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
957}
958
959static inline uint64_t CVMX_GMXX_RX_HG2_STATUS(unsigned long block_id)
960{
961 switch (cvmx_get_octeon_family()) {
962 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
963 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
964 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
965 return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull;
966 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
967 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
968 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
969 return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull;
970 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
971 return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x1000000ull;
972 }
973 return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull;
974}
975
976#define CVMX_GMXX_RX_PASS_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800080005F8ull) + ((block_id) & 1) * 0x8000000ull)
977#define CVMX_GMXX_RX_PASS_MAPX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000600ull) + (((offset) & 15) + ((block_id) & 1) * 0x1000000ull) * 8)
978static inline uint64_t CVMX_GMXX_RX_PRTS(unsigned long block_id)
979{
980 switch (cvmx_get_octeon_family()) {
981 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
982 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
983 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
984 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
985 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
986 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
987 return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull;
988 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
989 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
990 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
991 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
992 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
993 return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull;
994 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
995 return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x1000000ull;
996 }
997 return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull;
998}
999
1000static inline uint64_t CVMX_GMXX_RX_PRT_INFO(unsigned long block_id)
1001{
1002 switch (cvmx_get_octeon_family()) {
1003 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1004 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1005 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1006 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1007 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1008 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1009 return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull;
1010 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1011 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1012 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1013 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1014 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1015 return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull;
1016 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1017 return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x1000000ull;
1018 }
1019 return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull;
1020}
1021
1022#define CVMX_GMXX_RX_TX_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800080007E8ull))
1023static inline uint64_t CVMX_GMXX_RX_XAUI_BAD_COL(unsigned long block_id)
1024{
1025 switch (cvmx_get_octeon_family()) {
1026 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1027 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1028 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1029 return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull;
1030 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1031 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1032 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1033 return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull;
1034 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1035 return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x1000000ull;
1036 }
1037 return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull;
1038}
1039
1040static inline uint64_t CVMX_GMXX_RX_XAUI_CTL(unsigned long block_id)
1041{
1042 switch (cvmx_get_octeon_family()) {
1043 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1044 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1045 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1046 return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull;
1047 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1048 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1049 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1050 return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull;
1051 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1052 return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x1000000ull;
1053 }
1054 return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull;
1055}
1056
1057static inline uint64_t CVMX_GMXX_SMACX(unsigned long offset, unsigned long block_id)
1058{
1059 switch (cvmx_get_octeon_family()) {
1060 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1061 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1062 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1063 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1064 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1065 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1066 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1067 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1068 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1069 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1070 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1071 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1072 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1073 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1074 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1075 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1076 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1077 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1078 }
1079 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1080}
1081
1082static inline uint64_t CVMX_GMXX_SOFT_BIST(unsigned long block_id)
1083{
1084 switch (cvmx_get_octeon_family()) {
1085 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1086 return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x8000000ull;
1087 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1088 return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x8000000ull;
1089 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1090 return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x1000000ull;
1091 }
1092 return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x1000000ull;
1093}
1094
1095static inline uint64_t CVMX_GMXX_STAT_BP(unsigned long block_id)
1096{
1097 switch (cvmx_get_octeon_family()) {
1098 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1099 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1100 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1101 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1102 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1103 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1104 return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull;
1105 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1106 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1107 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1108 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1109 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1110 return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull;
1111 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1112 return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x1000000ull;
1113 }
1114 return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull;
1115}
1116
1117static inline uint64_t CVMX_GMXX_TB_REG(unsigned long block_id)
1118{
1119 switch (cvmx_get_octeon_family()) {
1120 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1121 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1122 return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull;
1123 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1124 return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull;
1125 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1126 return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x1000000ull;
1127 }
1128 return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull;
1129}
1130
1131static inline uint64_t CVMX_GMXX_TXX_APPEND(unsigned long offset, unsigned long block_id)
1132{
1133 switch (cvmx_get_octeon_family()) {
1134 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1135 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1136 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1137 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1138 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1139 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1140 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1141 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1142 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1143 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1144 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1145 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1146 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1147 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1148 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1149 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1150 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1151 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1152 }
1153 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1154}
1155
1156static inline uint64_t CVMX_GMXX_TXX_BURST(unsigned long offset, unsigned long block_id)
1157{
1158 switch (cvmx_get_octeon_family()) {
1159 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1160 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1161 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1162 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1163 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1164 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1165 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1166 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1167 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1168 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1169 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1170 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1171 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1172 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1173 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1174 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1175 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1176 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1177 }
1178 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1179}
1180
1181static inline uint64_t CVMX_GMXX_TXX_CBFC_XOFF(unsigned long offset, unsigned long block_id)
1182{
1183 switch (cvmx_get_octeon_family()) {
1184 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1185 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1186 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1187 return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull;
1188 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1189 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1190 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1191 return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull;
1192 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1193 return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x1000000ull;
1194 }
1195 return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull;
1196}
1197
1198static inline uint64_t CVMX_GMXX_TXX_CBFC_XON(unsigned long offset, unsigned long block_id)
1199{
1200 switch (cvmx_get_octeon_family()) {
1201 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1202 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1203 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1204 return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull;
1205 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1206 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1207 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1208 return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull;
1209 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1210 return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x1000000ull;
1211 }
1212 return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull;
1213}
1214
1215#define CVMX_GMXX_TXX_CLK(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000208ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
1216static inline uint64_t CVMX_GMXX_TXX_CTL(unsigned long offset, unsigned long block_id)
1217{
1218 switch (cvmx_get_octeon_family()) {
1219 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1220 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1221 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1222 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1223 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1224 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1225 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1226 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1227 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1228 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1229 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1230 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1231 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1232 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1233 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1234 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1235 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1236 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1237 }
1238 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1239}
1240
1241static inline uint64_t CVMX_GMXX_TXX_MIN_PKT(unsigned long offset, unsigned long block_id)
1242{
1243 switch (cvmx_get_octeon_family()) {
1244 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1245 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1246 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1247 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1248 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1249 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1250 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1251 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1252 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1253 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1254 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1255 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1256 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1257 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1258 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1259 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1260 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1261 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1262 }
1263 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1264}
1265
1266static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(unsigned long offset, unsigned long block_id)
1267{
1268 switch (cvmx_get_octeon_family()) {
1269 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1270 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1271 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1272 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1273 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1274 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1275 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1276 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1277 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1278 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1279 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1280 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1281 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1282 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1283 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1284 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1285 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1286 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1287 }
1288 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1289}
1290
1291static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_TIME(unsigned long offset, unsigned long block_id)
1292{
1293 switch (cvmx_get_octeon_family()) {
1294 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1295 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1296 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1297 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1298 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1299 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1300 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1301 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1302 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1303 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1304 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1305 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1306 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1307 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1308 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1309 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1310 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1311 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1312 }
1313 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1314}
1315
1316static inline uint64_t CVMX_GMXX_TXX_PAUSE_TOGO(unsigned long offset, unsigned long block_id)
1317{
1318 switch (cvmx_get_octeon_family()) {
1319 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1320 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1321 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1322 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1323 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1324 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1325 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1326 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1327 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1328 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1329 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1330 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1331 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1332 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1333 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1334 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1335 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1336 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1337 }
1338 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1339}
1340
1341static inline uint64_t CVMX_GMXX_TXX_PAUSE_ZERO(unsigned long offset, unsigned long block_id)
1342{
1343 switch (cvmx_get_octeon_family()) {
1344 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1345 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1346 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1347 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1348 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1349 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1350 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1351 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1352 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1353 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1354 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1355 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1356 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1357 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1358 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1359 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1360 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1361 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1362 }
1363 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1364}
1365
1366#define CVMX_GMXX_TXX_PIPE(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000310ull) + (((offset) & 3) + ((block_id) & 7) * 0x2000ull) * 2048)
1367static inline uint64_t CVMX_GMXX_TXX_SGMII_CTL(unsigned long offset, unsigned long block_id)
1368{
1369 switch (cvmx_get_octeon_family()) {
1370 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1371 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1372 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1373 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1374 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1375 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1376 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1377 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1378 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1379 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1380 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1381 }
1382 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1383}
1384
1385static inline uint64_t CVMX_GMXX_TXX_SLOT(unsigned long offset, unsigned long block_id)
1386{
1387 switch (cvmx_get_octeon_family()) {
1388 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1389 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1390 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1391 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1392 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1393 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1394 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1395 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1396 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1397 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1398 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1399 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1400 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1401 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1402 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1403 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1404 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1405 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1406 }
1407 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1408}
1409
1410static inline uint64_t CVMX_GMXX_TXX_SOFT_PAUSE(unsigned long offset, unsigned long block_id)
1411{
1412 switch (cvmx_get_octeon_family()) {
1413 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1414 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1415 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1416 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1417 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1418 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1419 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1420 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1421 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1422 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1423 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1424 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1425 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1426 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1427 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1428 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1429 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1430 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1431 }
1432 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1433}
1434
1435static inline uint64_t CVMX_GMXX_TXX_STAT0(unsigned long offset, unsigned long block_id)
1436{
1437 switch (cvmx_get_octeon_family()) {
1438 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1439 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1440 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1441 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1442 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1443 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1444 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1445 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1446 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1447 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1448 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1449 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1450 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1451 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1452 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1453 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1454 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1455 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1456 }
1457 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1458}
1459
1460static inline uint64_t CVMX_GMXX_TXX_STAT1(unsigned long offset, unsigned long block_id)
1461{
1462 switch (cvmx_get_octeon_family()) {
1463 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1464 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1465 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1466 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1467 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1468 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1469 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1470 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1471 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1472 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1473 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1474 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1475 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1476 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1477 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1478 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1479 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1480 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1481 }
1482 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1483}
1484
1485static inline uint64_t CVMX_GMXX_TXX_STAT2(unsigned long offset, unsigned long block_id)
1486{
1487 switch (cvmx_get_octeon_family()) {
1488 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1489 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1490 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1491 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1492 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1493 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1494 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1495 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1496 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1497 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1498 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1499 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1500 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1501 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1502 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1503 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1504 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1505 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1506 }
1507 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1508}
1509
1510static inline uint64_t CVMX_GMXX_TXX_STAT3(unsigned long offset, unsigned long block_id)
1511{
1512 switch (cvmx_get_octeon_family()) {
1513 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1514 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1515 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1516 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1517 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1518 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1519 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1520 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1521 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1522 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1523 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1524 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1525 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1526 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1527 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1528 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1529 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1530 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1531 }
1532 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1533}
1534
1535static inline uint64_t CVMX_GMXX_TXX_STAT4(unsigned long offset, unsigned long block_id)
1536{
1537 switch (cvmx_get_octeon_family()) {
1538 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1539 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1540 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1541 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1542 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1543 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1544 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1545 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1546 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1547 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1548 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1549 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1550 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1551 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1552 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1553 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1554 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1555 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1556 }
1557 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1558}
1559
1560static inline uint64_t CVMX_GMXX_TXX_STAT5(unsigned long offset, unsigned long block_id)
1561{
1562 switch (cvmx_get_octeon_family()) {
1563 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1564 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1565 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1566 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1567 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1568 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1569 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1570 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1571 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1572 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1573 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1574 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1575 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1576 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1577 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1578 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1579 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1580 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1581 }
1582 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1583}
1584
1585static inline uint64_t CVMX_GMXX_TXX_STAT6(unsigned long offset, unsigned long block_id)
1586{
1587 switch (cvmx_get_octeon_family()) {
1588 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1589 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1590 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1591 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1592 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1593 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1594 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1595 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1596 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1597 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1598 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1599 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1600 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1601 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1602 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1603 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1604 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1605 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1606 }
1607 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1608}
1609
1610static inline uint64_t CVMX_GMXX_TXX_STAT7(unsigned long offset, unsigned long block_id)
1611{
1612 switch (cvmx_get_octeon_family()) {
1613 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1614 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1615 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1616 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1617 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1618 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1619 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1620 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1621 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1622 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1623 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1624 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1625 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1626 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1627 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1628 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1629 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1630 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1631 }
1632 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1633}
1634
1635static inline uint64_t CVMX_GMXX_TXX_STAT8(unsigned long offset, unsigned long block_id)
1636{
1637 switch (cvmx_get_octeon_family()) {
1638 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1639 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1640 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1641 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1642 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1643 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1644 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1645 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1646 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1647 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1648 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1649 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1650 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1651 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1652 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1653 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1654 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1655 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1656 }
1657 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1658}
1659
1660static inline uint64_t CVMX_GMXX_TXX_STAT9(unsigned long offset, unsigned long block_id)
1661{
1662 switch (cvmx_get_octeon_family()) {
1663 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1664 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1665 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1666 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1667 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1668 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1669 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1670 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1671 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1672 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1673 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1674 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1675 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1676 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1677 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1678 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1679 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1680 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1681 }
1682 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1683}
1684
1685static inline uint64_t CVMX_GMXX_TXX_STATS_CTL(unsigned long offset, unsigned long block_id)
1686{
1687 switch (cvmx_get_octeon_family()) {
1688 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1689 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1690 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1691 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1692 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1693 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1694 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1695 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1696 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1697 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1698 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1699 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1700 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1701 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1702 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1703 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1704 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1705 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1706 }
1707 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1708}
1709
1710static inline uint64_t CVMX_GMXX_TXX_THRESH(unsigned long offset, unsigned long block_id)
1711{
1712 switch (cvmx_get_octeon_family()) {
1713 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1714 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1715 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1716 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1717 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1718 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1719 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1720 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1721 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1722 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1723 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1724 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1725 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1726 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1727 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1728 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1729 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1730 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1731 }
1732 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1733}
1734
1735static inline uint64_t CVMX_GMXX_TX_BP(unsigned long block_id)
1736{
1737 switch (cvmx_get_octeon_family()) {
1738 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1739 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1740 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1741 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1742 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1743 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1744 return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull;
1745 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1746 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1747 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1748 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1749 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1750 return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull;
1751 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1752 return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x1000000ull;
1753 }
1754 return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull;
1755}
1756
1757#define CVMX_GMXX_TX_CLK_MSKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000780ull) + (((offset) & 1) + ((block_id) & 0) * 0x0ull) * 8)
1758static inline uint64_t CVMX_GMXX_TX_COL_ATTEMPT(unsigned long block_id)
1759{
1760 switch (cvmx_get_octeon_family()) {
1761 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1762 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1763 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1764 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1765 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1766 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1767 return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull;
1768 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1769 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1770 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1771 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1772 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1773 return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull;
1774 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1775 return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x1000000ull;
1776 }
1777 return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull;
1778}
1779
1780static inline uint64_t CVMX_GMXX_TX_CORRUPT(unsigned long block_id)
1781{
1782 switch (cvmx_get_octeon_family()) {
1783 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1784 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1785 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1786 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1787 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1788 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1789 return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull;
1790 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1791 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1792 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1793 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1794 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1795 return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull;
1796 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1797 return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x1000000ull;
1798 }
1799 return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull;
1800}
1801
1802static inline uint64_t CVMX_GMXX_TX_HG2_REG1(unsigned long block_id)
1803{
1804 switch (cvmx_get_octeon_family()) {
1805 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1806 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1807 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1808 return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull;
1809 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1810 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1811 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1812 return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull;
1813 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1814 return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x1000000ull;
1815 }
1816 return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull;
1817}
1818
1819static inline uint64_t CVMX_GMXX_TX_HG2_REG2(unsigned long block_id)
1820{
1821 switch (cvmx_get_octeon_family()) {
1822 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1823 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1824 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1825 return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull;
1826 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1827 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1828 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1829 return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull;
1830 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1831 return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x1000000ull;
1832 }
1833 return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull;
1834}
1835
1836static inline uint64_t CVMX_GMXX_TX_IFG(unsigned long block_id)
1837{
1838 switch (cvmx_get_octeon_family()) {
1839 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1840 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1841 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1842 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1843 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1844 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1845 return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull;
1846 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1847 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1848 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1849 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1850 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1851 return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull;
1852 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1853 return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x1000000ull;
1854 }
1855 return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull;
1856}
1857
1858static inline uint64_t CVMX_GMXX_TX_INT_EN(unsigned long block_id)
1859{
1860 switch (cvmx_get_octeon_family()) {
1861 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1862 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1863 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1864 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1865 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1866 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1867 return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull;
1868 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1869 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1870 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1871 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1872 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1873 return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull;
1874 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1875 return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x1000000ull;
1876 }
1877 return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull;
1878}
1879
1880static inline uint64_t CVMX_GMXX_TX_INT_REG(unsigned long block_id)
1881{
1882 switch (cvmx_get_octeon_family()) {
1883 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1884 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1885 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1886 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1887 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1888 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1889 return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull;
1890 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1891 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1892 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1893 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1894 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1895 return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull;
1896 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1897 return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x1000000ull;
1898 }
1899 return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull;
1900}
1901
1902static inline uint64_t CVMX_GMXX_TX_JAM(unsigned long block_id)
1903{
1904 switch (cvmx_get_octeon_family()) {
1905 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1906 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1907 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1908 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1909 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1910 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1911 return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull;
1912 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1913 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1914 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1915 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1916 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1917 return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull;
1918 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1919 return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x1000000ull;
1920 }
1921 return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull;
1922}
1923
1924static inline uint64_t CVMX_GMXX_TX_LFSR(unsigned long block_id)
1925{
1926 switch (cvmx_get_octeon_family()) {
1927 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1928 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1929 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1930 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1931 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1932 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1933 return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull;
1934 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1935 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1936 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1937 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1938 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1939 return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull;
1940 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1941 return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x1000000ull;
1942 }
1943 return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull;
1944}
1945
1946static inline uint64_t CVMX_GMXX_TX_OVR_BP(unsigned long block_id)
1947{
1948 switch (cvmx_get_octeon_family()) {
1949 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1950 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1951 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1952 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1953 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1954 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1955 return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull;
1956 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1957 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1958 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1959 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1960 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1961 return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull;
1962 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1963 return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x1000000ull;
1964 }
1965 return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull;
1966}
1967
1968static inline uint64_t CVMX_GMXX_TX_PAUSE_PKT_DMAC(unsigned long block_id)
1969{
1970 switch (cvmx_get_octeon_family()) {
1971 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1972 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1973 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1974 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1975 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1976 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1977 return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull;
1978 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1979 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1980 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1981 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1982 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1983 return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull;
1984 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1985 return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x1000000ull;
1986 }
1987 return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull;
1988}
1989
1990static inline uint64_t CVMX_GMXX_TX_PAUSE_PKT_TYPE(unsigned long block_id)
1991{
1992 switch (cvmx_get_octeon_family()) {
1993 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1994 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1995 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1996 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1997 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1998 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1999 return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull;
2000 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
2001 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
2002 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
2003 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
2004 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
2005 return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull;
2006 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
2007 return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x1000000ull;
2008 }
2009 return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull;
2010}
2011
2012static inline uint64_t CVMX_GMXX_TX_PRTS(unsigned long block_id)
2013{
2014 switch (cvmx_get_octeon_family()) {
2015 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
2016 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
2017 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
2018 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
2019 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
2020 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
2021 return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull;
2022 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
2023 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
2024 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
2025 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
2026 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
2027 return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull;
2028 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
2029 return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x1000000ull;
2030 }
2031 return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull;
2032}
2033
2034#define CVMX_GMXX_TX_SPI_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800080004C0ull) + ((block_id) & 1) * 0x8000000ull)
2035#define CVMX_GMXX_TX_SPI_DRAIN(block_id) (CVMX_ADD_IO_SEG(0x00011800080004E0ull) + ((block_id) & 1) * 0x8000000ull)
2036#define CVMX_GMXX_TX_SPI_MAX(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B0ull) + ((block_id) & 1) * 0x8000000ull)
2037#define CVMX_GMXX_TX_SPI_ROUNDX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000680ull) + (((offset) & 31) + ((block_id) & 1) * 0x1000000ull) * 8)
2038#define CVMX_GMXX_TX_SPI_THRESH(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B8ull) + ((block_id) & 1) * 0x8000000ull)
2039static inline uint64_t CVMX_GMXX_TX_XAUI_CTL(unsigned long block_id)
2040{
2041 switch (cvmx_get_octeon_family()) {
2042 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
2043 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
2044 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
2045 return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull;
2046 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
2047 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
2048 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
2049 return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull;
2050 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
2051 return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x1000000ull;
2052 }
2053 return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull;
2054}
2055
2056static inline uint64_t CVMX_GMXX_XAUI_EXT_LOOPBACK(unsigned long block_id)
2057{
2058 switch (cvmx_get_octeon_family()) {
2059 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
2060 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
2061 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
2062 return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull;
2063 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
2064 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
2065 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
2066 return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull;
2067 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
2068 return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x1000000ull;
2069 }
2070 return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull;
2071}
229 2072
230union cvmx_gmxx_bad_reg { 2073union cvmx_gmxx_bad_reg {
231 uint64_t u64; 2074 uint64_t u64;
232 struct cvmx_gmxx_bad_reg_s { 2075 struct cvmx_gmxx_bad_reg_s {
2076#ifdef __BIG_ENDIAN_BITFIELD
233 uint64_t reserved_31_63:33; 2077 uint64_t reserved_31_63:33;
234 uint64_t inb_nxa:4; 2078 uint64_t inb_nxa:4;
235 uint64_t statovr:1; 2079 uint64_t statovr:1;
@@ -238,8 +2082,19 @@ union cvmx_gmxx_bad_reg {
238 uint64_t out_ovr:16; 2082 uint64_t out_ovr:16;
239 uint64_t ncb_ovr:1; 2083 uint64_t ncb_ovr:1;
240 uint64_t out_col:1; 2084 uint64_t out_col:1;
2085#else
2086 uint64_t out_col:1;
2087 uint64_t ncb_ovr:1;
2088 uint64_t out_ovr:16;
2089 uint64_t reserved_18_21:4;
2090 uint64_t loststat:4;
2091 uint64_t statovr:1;
2092 uint64_t inb_nxa:4;
2093 uint64_t reserved_31_63:33;
2094#endif
241 } s; 2095 } s;
242 struct cvmx_gmxx_bad_reg_cn30xx { 2096 struct cvmx_gmxx_bad_reg_cn30xx {
2097#ifdef __BIG_ENDIAN_BITFIELD
243 uint64_t reserved_31_63:33; 2098 uint64_t reserved_31_63:33;
244 uint64_t inb_nxa:4; 2099 uint64_t inb_nxa:4;
245 uint64_t statovr:1; 2100 uint64_t statovr:1;
@@ -248,12 +2103,23 @@ union cvmx_gmxx_bad_reg {
248 uint64_t reserved_5_21:17; 2103 uint64_t reserved_5_21:17;
249 uint64_t out_ovr:3; 2104 uint64_t out_ovr:3;
250 uint64_t reserved_0_1:2; 2105 uint64_t reserved_0_1:2;
2106#else
2107 uint64_t reserved_0_1:2;
2108 uint64_t out_ovr:3;
2109 uint64_t reserved_5_21:17;
2110 uint64_t loststat:3;
2111 uint64_t reserved_25_25:1;
2112 uint64_t statovr:1;
2113 uint64_t inb_nxa:4;
2114 uint64_t reserved_31_63:33;
2115#endif
251 } cn30xx; 2116 } cn30xx;
252 struct cvmx_gmxx_bad_reg_cn30xx cn31xx; 2117 struct cvmx_gmxx_bad_reg_cn30xx cn31xx;
253 struct cvmx_gmxx_bad_reg_s cn38xx; 2118 struct cvmx_gmxx_bad_reg_s cn38xx;
254 struct cvmx_gmxx_bad_reg_s cn38xxp2; 2119 struct cvmx_gmxx_bad_reg_s cn38xxp2;
255 struct cvmx_gmxx_bad_reg_cn30xx cn50xx; 2120 struct cvmx_gmxx_bad_reg_cn30xx cn50xx;
256 struct cvmx_gmxx_bad_reg_cn52xx { 2121 struct cvmx_gmxx_bad_reg_cn52xx {
2122#ifdef __BIG_ENDIAN_BITFIELD
257 uint64_t reserved_31_63:33; 2123 uint64_t reserved_31_63:33;
258 uint64_t inb_nxa:4; 2124 uint64_t inb_nxa:4;
259 uint64_t statovr:1; 2125 uint64_t statovr:1;
@@ -261,95 +2127,274 @@ union cvmx_gmxx_bad_reg {
261 uint64_t reserved_6_21:16; 2127 uint64_t reserved_6_21:16;
262 uint64_t out_ovr:4; 2128 uint64_t out_ovr:4;
263 uint64_t reserved_0_1:2; 2129 uint64_t reserved_0_1:2;
2130#else
2131 uint64_t reserved_0_1:2;
2132 uint64_t out_ovr:4;
2133 uint64_t reserved_6_21:16;
2134 uint64_t loststat:4;
2135 uint64_t statovr:1;
2136 uint64_t inb_nxa:4;
2137 uint64_t reserved_31_63:33;
2138#endif
264 } cn52xx; 2139 } cn52xx;
265 struct cvmx_gmxx_bad_reg_cn52xx cn52xxp1; 2140 struct cvmx_gmxx_bad_reg_cn52xx cn52xxp1;
266 struct cvmx_gmxx_bad_reg_cn52xx cn56xx; 2141 struct cvmx_gmxx_bad_reg_cn52xx cn56xx;
267 struct cvmx_gmxx_bad_reg_cn52xx cn56xxp1; 2142 struct cvmx_gmxx_bad_reg_cn52xx cn56xxp1;
268 struct cvmx_gmxx_bad_reg_s cn58xx; 2143 struct cvmx_gmxx_bad_reg_s cn58xx;
269 struct cvmx_gmxx_bad_reg_s cn58xxp1; 2144 struct cvmx_gmxx_bad_reg_s cn58xxp1;
2145 struct cvmx_gmxx_bad_reg_cn52xx cn61xx;
2146 struct cvmx_gmxx_bad_reg_cn52xx cn63xx;
2147 struct cvmx_gmxx_bad_reg_cn52xx cn63xxp1;
2148 struct cvmx_gmxx_bad_reg_cn52xx cn66xx;
2149 struct cvmx_gmxx_bad_reg_cn52xx cn68xx;
2150 struct cvmx_gmxx_bad_reg_cn52xx cn68xxp1;
2151 struct cvmx_gmxx_bad_reg_cn52xx cnf71xx;
270}; 2152};
271 2153
272union cvmx_gmxx_bist { 2154union cvmx_gmxx_bist {
273 uint64_t u64; 2155 uint64_t u64;
274 struct cvmx_gmxx_bist_s { 2156 struct cvmx_gmxx_bist_s {
275 uint64_t reserved_17_63:47; 2157#ifdef __BIG_ENDIAN_BITFIELD
276 uint64_t status:17; 2158 uint64_t reserved_25_63:39;
2159 uint64_t status:25;
2160#else
2161 uint64_t status:25;
2162 uint64_t reserved_25_63:39;
2163#endif
277 } s; 2164 } s;
278 struct cvmx_gmxx_bist_cn30xx { 2165 struct cvmx_gmxx_bist_cn30xx {
2166#ifdef __BIG_ENDIAN_BITFIELD
279 uint64_t reserved_10_63:54; 2167 uint64_t reserved_10_63:54;
280 uint64_t status:10; 2168 uint64_t status:10;
2169#else
2170 uint64_t status:10;
2171 uint64_t reserved_10_63:54;
2172#endif
281 } cn30xx; 2173 } cn30xx;
282 struct cvmx_gmxx_bist_cn30xx cn31xx; 2174 struct cvmx_gmxx_bist_cn30xx cn31xx;
283 struct cvmx_gmxx_bist_cn30xx cn38xx; 2175 struct cvmx_gmxx_bist_cn30xx cn38xx;
284 struct cvmx_gmxx_bist_cn30xx cn38xxp2; 2176 struct cvmx_gmxx_bist_cn30xx cn38xxp2;
285 struct cvmx_gmxx_bist_cn50xx { 2177 struct cvmx_gmxx_bist_cn50xx {
2178#ifdef __BIG_ENDIAN_BITFIELD
286 uint64_t reserved_12_63:52; 2179 uint64_t reserved_12_63:52;
287 uint64_t status:12; 2180 uint64_t status:12;
2181#else
2182 uint64_t status:12;
2183 uint64_t reserved_12_63:52;
2184#endif
288 } cn50xx; 2185 } cn50xx;
289 struct cvmx_gmxx_bist_cn52xx { 2186 struct cvmx_gmxx_bist_cn52xx {
2187#ifdef __BIG_ENDIAN_BITFIELD
290 uint64_t reserved_16_63:48; 2188 uint64_t reserved_16_63:48;
291 uint64_t status:16; 2189 uint64_t status:16;
2190#else
2191 uint64_t status:16;
2192 uint64_t reserved_16_63:48;
2193#endif
292 } cn52xx; 2194 } cn52xx;
293 struct cvmx_gmxx_bist_cn52xx cn52xxp1; 2195 struct cvmx_gmxx_bist_cn52xx cn52xxp1;
294 struct cvmx_gmxx_bist_cn52xx cn56xx; 2196 struct cvmx_gmxx_bist_cn52xx cn56xx;
295 struct cvmx_gmxx_bist_cn52xx cn56xxp1; 2197 struct cvmx_gmxx_bist_cn52xx cn56xxp1;
296 struct cvmx_gmxx_bist_s cn58xx; 2198 struct cvmx_gmxx_bist_cn58xx {
297 struct cvmx_gmxx_bist_s cn58xxp1; 2199#ifdef __BIG_ENDIAN_BITFIELD
2200 uint64_t reserved_17_63:47;
2201 uint64_t status:17;
2202#else
2203 uint64_t status:17;
2204 uint64_t reserved_17_63:47;
2205#endif
2206 } cn58xx;
2207 struct cvmx_gmxx_bist_cn58xx cn58xxp1;
2208 struct cvmx_gmxx_bist_s cn61xx;
2209 struct cvmx_gmxx_bist_s cn63xx;
2210 struct cvmx_gmxx_bist_s cn63xxp1;
2211 struct cvmx_gmxx_bist_s cn66xx;
2212 struct cvmx_gmxx_bist_s cn68xx;
2213 struct cvmx_gmxx_bist_s cn68xxp1;
2214 struct cvmx_gmxx_bist_s cnf71xx;
2215};
2216
2217union cvmx_gmxx_bpid_mapx {
2218 uint64_t u64;
2219 struct cvmx_gmxx_bpid_mapx_s {
2220#ifdef __BIG_ENDIAN_BITFIELD
2221 uint64_t reserved_17_63:47;
2222 uint64_t status:1;
2223 uint64_t reserved_9_15:7;
2224 uint64_t val:1;
2225 uint64_t reserved_6_7:2;
2226 uint64_t bpid:6;
2227#else
2228 uint64_t bpid:6;
2229 uint64_t reserved_6_7:2;
2230 uint64_t val:1;
2231 uint64_t reserved_9_15:7;
2232 uint64_t status:1;
2233 uint64_t reserved_17_63:47;
2234#endif
2235 } s;
2236 struct cvmx_gmxx_bpid_mapx_s cn68xx;
2237 struct cvmx_gmxx_bpid_mapx_s cn68xxp1;
2238};
2239
2240union cvmx_gmxx_bpid_msk {
2241 uint64_t u64;
2242 struct cvmx_gmxx_bpid_msk_s {
2243#ifdef __BIG_ENDIAN_BITFIELD
2244 uint64_t reserved_48_63:16;
2245 uint64_t msk_or:16;
2246 uint64_t reserved_16_31:16;
2247 uint64_t msk_and:16;
2248#else
2249 uint64_t msk_and:16;
2250 uint64_t reserved_16_31:16;
2251 uint64_t msk_or:16;
2252 uint64_t reserved_48_63:16;
2253#endif
2254 } s;
2255 struct cvmx_gmxx_bpid_msk_s cn68xx;
2256 struct cvmx_gmxx_bpid_msk_s cn68xxp1;
298}; 2257};
299 2258
300union cvmx_gmxx_clk_en { 2259union cvmx_gmxx_clk_en {
301 uint64_t u64; 2260 uint64_t u64;
302 struct cvmx_gmxx_clk_en_s { 2261 struct cvmx_gmxx_clk_en_s {
2262#ifdef __BIG_ENDIAN_BITFIELD
303 uint64_t reserved_1_63:63; 2263 uint64_t reserved_1_63:63;
304 uint64_t clk_en:1; 2264 uint64_t clk_en:1;
2265#else
2266 uint64_t clk_en:1;
2267 uint64_t reserved_1_63:63;
2268#endif
305 } s; 2269 } s;
306 struct cvmx_gmxx_clk_en_s cn52xx; 2270 struct cvmx_gmxx_clk_en_s cn52xx;
307 struct cvmx_gmxx_clk_en_s cn52xxp1; 2271 struct cvmx_gmxx_clk_en_s cn52xxp1;
308 struct cvmx_gmxx_clk_en_s cn56xx; 2272 struct cvmx_gmxx_clk_en_s cn56xx;
309 struct cvmx_gmxx_clk_en_s cn56xxp1; 2273 struct cvmx_gmxx_clk_en_s cn56xxp1;
2274 struct cvmx_gmxx_clk_en_s cn61xx;
2275 struct cvmx_gmxx_clk_en_s cn63xx;
2276 struct cvmx_gmxx_clk_en_s cn63xxp1;
2277 struct cvmx_gmxx_clk_en_s cn66xx;
2278 struct cvmx_gmxx_clk_en_s cn68xx;
2279 struct cvmx_gmxx_clk_en_s cn68xxp1;
2280 struct cvmx_gmxx_clk_en_s cnf71xx;
2281};
2282
2283union cvmx_gmxx_ebp_dis {
2284 uint64_t u64;
2285 struct cvmx_gmxx_ebp_dis_s {
2286#ifdef __BIG_ENDIAN_BITFIELD
2287 uint64_t reserved_16_63:48;
2288 uint64_t dis:16;
2289#else
2290 uint64_t dis:16;
2291 uint64_t reserved_16_63:48;
2292#endif
2293 } s;
2294 struct cvmx_gmxx_ebp_dis_s cn68xx;
2295 struct cvmx_gmxx_ebp_dis_s cn68xxp1;
2296};
2297
2298union cvmx_gmxx_ebp_msk {
2299 uint64_t u64;
2300 struct cvmx_gmxx_ebp_msk_s {
2301#ifdef __BIG_ENDIAN_BITFIELD
2302 uint64_t reserved_16_63:48;
2303 uint64_t msk:16;
2304#else
2305 uint64_t msk:16;
2306 uint64_t reserved_16_63:48;
2307#endif
2308 } s;
2309 struct cvmx_gmxx_ebp_msk_s cn68xx;
2310 struct cvmx_gmxx_ebp_msk_s cn68xxp1;
310}; 2311};
311 2312
312union cvmx_gmxx_hg2_control { 2313union cvmx_gmxx_hg2_control {
313 uint64_t u64; 2314 uint64_t u64;
314 struct cvmx_gmxx_hg2_control_s { 2315 struct cvmx_gmxx_hg2_control_s {
2316#ifdef __BIG_ENDIAN_BITFIELD
315 uint64_t reserved_19_63:45; 2317 uint64_t reserved_19_63:45;
316 uint64_t hg2tx_en:1; 2318 uint64_t hg2tx_en:1;
317 uint64_t hg2rx_en:1; 2319 uint64_t hg2rx_en:1;
318 uint64_t phys_en:1; 2320 uint64_t phys_en:1;
319 uint64_t logl_en:16; 2321 uint64_t logl_en:16;
2322#else
2323 uint64_t logl_en:16;
2324 uint64_t phys_en:1;
2325 uint64_t hg2rx_en:1;
2326 uint64_t hg2tx_en:1;
2327 uint64_t reserved_19_63:45;
2328#endif
320 } s; 2329 } s;
321 struct cvmx_gmxx_hg2_control_s cn52xx; 2330 struct cvmx_gmxx_hg2_control_s cn52xx;
322 struct cvmx_gmxx_hg2_control_s cn52xxp1; 2331 struct cvmx_gmxx_hg2_control_s cn52xxp1;
323 struct cvmx_gmxx_hg2_control_s cn56xx; 2332 struct cvmx_gmxx_hg2_control_s cn56xx;
2333 struct cvmx_gmxx_hg2_control_s cn61xx;
2334 struct cvmx_gmxx_hg2_control_s cn63xx;
2335 struct cvmx_gmxx_hg2_control_s cn63xxp1;
2336 struct cvmx_gmxx_hg2_control_s cn66xx;
2337 struct cvmx_gmxx_hg2_control_s cn68xx;
2338 struct cvmx_gmxx_hg2_control_s cn68xxp1;
2339 struct cvmx_gmxx_hg2_control_s cnf71xx;
324}; 2340};
325 2341
326union cvmx_gmxx_inf_mode { 2342union cvmx_gmxx_inf_mode {
327 uint64_t u64; 2343 uint64_t u64;
328 struct cvmx_gmxx_inf_mode_s { 2344 struct cvmx_gmxx_inf_mode_s {
329 uint64_t reserved_10_63:54; 2345#ifdef __BIG_ENDIAN_BITFIELD
330 uint64_t speed:2; 2346 uint64_t reserved_20_63:44;
331 uint64_t reserved_6_7:2; 2347 uint64_t rate:4;
332 uint64_t mode:2; 2348 uint64_t reserved_12_15:4;
2349 uint64_t speed:4;
2350 uint64_t reserved_7_7:1;
2351 uint64_t mode:3;
333 uint64_t reserved_3_3:1; 2352 uint64_t reserved_3_3:1;
334 uint64_t p0mii:1; 2353 uint64_t p0mii:1;
335 uint64_t en:1; 2354 uint64_t en:1;
336 uint64_t type:1; 2355 uint64_t type:1;
2356#else
2357 uint64_t type:1;
2358 uint64_t en:1;
2359 uint64_t p0mii:1;
2360 uint64_t reserved_3_3:1;
2361 uint64_t mode:3;
2362 uint64_t reserved_7_7:1;
2363 uint64_t speed:4;
2364 uint64_t reserved_12_15:4;
2365 uint64_t rate:4;
2366 uint64_t reserved_20_63:44;
2367#endif
337 } s; 2368 } s;
338 struct cvmx_gmxx_inf_mode_cn30xx { 2369 struct cvmx_gmxx_inf_mode_cn30xx {
2370#ifdef __BIG_ENDIAN_BITFIELD
339 uint64_t reserved_3_63:61; 2371 uint64_t reserved_3_63:61;
340 uint64_t p0mii:1; 2372 uint64_t p0mii:1;
341 uint64_t en:1; 2373 uint64_t en:1;
342 uint64_t type:1; 2374 uint64_t type:1;
2375#else
2376 uint64_t type:1;
2377 uint64_t en:1;
2378 uint64_t p0mii:1;
2379 uint64_t reserved_3_63:61;
2380#endif
343 } cn30xx; 2381 } cn30xx;
344 struct cvmx_gmxx_inf_mode_cn31xx { 2382 struct cvmx_gmxx_inf_mode_cn31xx {
2383#ifdef __BIG_ENDIAN_BITFIELD
345 uint64_t reserved_2_63:62; 2384 uint64_t reserved_2_63:62;
346 uint64_t en:1; 2385 uint64_t en:1;
347 uint64_t type:1; 2386 uint64_t type:1;
2387#else
2388 uint64_t type:1;
2389 uint64_t en:1;
2390 uint64_t reserved_2_63:62;
2391#endif
348 } cn31xx; 2392 } cn31xx;
349 struct cvmx_gmxx_inf_mode_cn31xx cn38xx; 2393 struct cvmx_gmxx_inf_mode_cn31xx cn38xx;
350 struct cvmx_gmxx_inf_mode_cn31xx cn38xxp2; 2394 struct cvmx_gmxx_inf_mode_cn31xx cn38xxp2;
351 struct cvmx_gmxx_inf_mode_cn30xx cn50xx; 2395 struct cvmx_gmxx_inf_mode_cn30xx cn50xx;
352 struct cvmx_gmxx_inf_mode_cn52xx { 2396 struct cvmx_gmxx_inf_mode_cn52xx {
2397#ifdef __BIG_ENDIAN_BITFIELD
353 uint64_t reserved_10_63:54; 2398 uint64_t reserved_10_63:54;
354 uint64_t speed:2; 2399 uint64_t speed:2;
355 uint64_t reserved_6_7:2; 2400 uint64_t reserved_6_7:2;
@@ -357,36 +2402,158 @@ union cvmx_gmxx_inf_mode {
357 uint64_t reserved_2_3:2; 2402 uint64_t reserved_2_3:2;
358 uint64_t en:1; 2403 uint64_t en:1;
359 uint64_t type:1; 2404 uint64_t type:1;
2405#else
2406 uint64_t type:1;
2407 uint64_t en:1;
2408 uint64_t reserved_2_3:2;
2409 uint64_t mode:2;
2410 uint64_t reserved_6_7:2;
2411 uint64_t speed:2;
2412 uint64_t reserved_10_63:54;
2413#endif
360 } cn52xx; 2414 } cn52xx;
361 struct cvmx_gmxx_inf_mode_cn52xx cn52xxp1; 2415 struct cvmx_gmxx_inf_mode_cn52xx cn52xxp1;
362 struct cvmx_gmxx_inf_mode_cn52xx cn56xx; 2416 struct cvmx_gmxx_inf_mode_cn52xx cn56xx;
363 struct cvmx_gmxx_inf_mode_cn52xx cn56xxp1; 2417 struct cvmx_gmxx_inf_mode_cn52xx cn56xxp1;
364 struct cvmx_gmxx_inf_mode_cn31xx cn58xx; 2418 struct cvmx_gmxx_inf_mode_cn31xx cn58xx;
365 struct cvmx_gmxx_inf_mode_cn31xx cn58xxp1; 2419 struct cvmx_gmxx_inf_mode_cn31xx cn58xxp1;
2420 struct cvmx_gmxx_inf_mode_cn61xx {
2421#ifdef __BIG_ENDIAN_BITFIELD
2422 uint64_t reserved_12_63:52;
2423 uint64_t speed:4;
2424 uint64_t reserved_5_7:3;
2425 uint64_t mode:1;
2426 uint64_t reserved_2_3:2;
2427 uint64_t en:1;
2428 uint64_t type:1;
2429#else
2430 uint64_t type:1;
2431 uint64_t en:1;
2432 uint64_t reserved_2_3:2;
2433 uint64_t mode:1;
2434 uint64_t reserved_5_7:3;
2435 uint64_t speed:4;
2436 uint64_t reserved_12_63:52;
2437#endif
2438 } cn61xx;
2439 struct cvmx_gmxx_inf_mode_cn61xx cn63xx;
2440 struct cvmx_gmxx_inf_mode_cn61xx cn63xxp1;
2441 struct cvmx_gmxx_inf_mode_cn66xx {
2442#ifdef __BIG_ENDIAN_BITFIELD
2443 uint64_t reserved_20_63:44;
2444 uint64_t rate:4;
2445 uint64_t reserved_12_15:4;
2446 uint64_t speed:4;
2447 uint64_t reserved_5_7:3;
2448 uint64_t mode:1;
2449 uint64_t reserved_2_3:2;
2450 uint64_t en:1;
2451 uint64_t type:1;
2452#else
2453 uint64_t type:1;
2454 uint64_t en:1;
2455 uint64_t reserved_2_3:2;
2456 uint64_t mode:1;
2457 uint64_t reserved_5_7:3;
2458 uint64_t speed:4;
2459 uint64_t reserved_12_15:4;
2460 uint64_t rate:4;
2461 uint64_t reserved_20_63:44;
2462#endif
2463 } cn66xx;
2464 struct cvmx_gmxx_inf_mode_cn68xx {
2465#ifdef __BIG_ENDIAN_BITFIELD
2466 uint64_t reserved_12_63:52;
2467 uint64_t speed:4;
2468 uint64_t reserved_7_7:1;
2469 uint64_t mode:3;
2470 uint64_t reserved_2_3:2;
2471 uint64_t en:1;
2472 uint64_t type:1;
2473#else
2474 uint64_t type:1;
2475 uint64_t en:1;
2476 uint64_t reserved_2_3:2;
2477 uint64_t mode:3;
2478 uint64_t reserved_7_7:1;
2479 uint64_t speed:4;
2480 uint64_t reserved_12_63:52;
2481#endif
2482 } cn68xx;
2483 struct cvmx_gmxx_inf_mode_cn68xx cn68xxp1;
2484 struct cvmx_gmxx_inf_mode_cn61xx cnf71xx;
366}; 2485};
367 2486
368union cvmx_gmxx_nxa_adr { 2487union cvmx_gmxx_nxa_adr {
369 uint64_t u64; 2488 uint64_t u64;
370 struct cvmx_gmxx_nxa_adr_s { 2489 struct cvmx_gmxx_nxa_adr_s {
2490#ifdef __BIG_ENDIAN_BITFIELD
2491 uint64_t reserved_23_63:41;
2492 uint64_t pipe:7;
2493 uint64_t reserved_6_15:10;
2494 uint64_t prt:6;
2495#else
2496 uint64_t prt:6;
2497 uint64_t reserved_6_15:10;
2498 uint64_t pipe:7;
2499 uint64_t reserved_23_63:41;
2500#endif
2501 } s;
2502 struct cvmx_gmxx_nxa_adr_cn30xx {
2503#ifdef __BIG_ENDIAN_BITFIELD
371 uint64_t reserved_6_63:58; 2504 uint64_t reserved_6_63:58;
372 uint64_t prt:6; 2505 uint64_t prt:6;
2506#else
2507 uint64_t prt:6;
2508 uint64_t reserved_6_63:58;
2509#endif
2510 } cn30xx;
2511 struct cvmx_gmxx_nxa_adr_cn30xx cn31xx;
2512 struct cvmx_gmxx_nxa_adr_cn30xx cn38xx;
2513 struct cvmx_gmxx_nxa_adr_cn30xx cn38xxp2;
2514 struct cvmx_gmxx_nxa_adr_cn30xx cn50xx;
2515 struct cvmx_gmxx_nxa_adr_cn30xx cn52xx;
2516 struct cvmx_gmxx_nxa_adr_cn30xx cn52xxp1;
2517 struct cvmx_gmxx_nxa_adr_cn30xx cn56xx;
2518 struct cvmx_gmxx_nxa_adr_cn30xx cn56xxp1;
2519 struct cvmx_gmxx_nxa_adr_cn30xx cn58xx;
2520 struct cvmx_gmxx_nxa_adr_cn30xx cn58xxp1;
2521 struct cvmx_gmxx_nxa_adr_cn30xx cn61xx;
2522 struct cvmx_gmxx_nxa_adr_cn30xx cn63xx;
2523 struct cvmx_gmxx_nxa_adr_cn30xx cn63xxp1;
2524 struct cvmx_gmxx_nxa_adr_cn30xx cn66xx;
2525 struct cvmx_gmxx_nxa_adr_s cn68xx;
2526 struct cvmx_gmxx_nxa_adr_s cn68xxp1;
2527 struct cvmx_gmxx_nxa_adr_cn30xx cnf71xx;
2528};
2529
2530union cvmx_gmxx_pipe_status {
2531 uint64_t u64;
2532 struct cvmx_gmxx_pipe_status_s {
2533#ifdef __BIG_ENDIAN_BITFIELD
2534 uint64_t reserved_20_63:44;
2535 uint64_t ovr:4;
2536 uint64_t reserved_12_15:4;
2537 uint64_t bp:4;
2538 uint64_t reserved_4_7:4;
2539 uint64_t stop:4;
2540#else
2541 uint64_t stop:4;
2542 uint64_t reserved_4_7:4;
2543 uint64_t bp:4;
2544 uint64_t reserved_12_15:4;
2545 uint64_t ovr:4;
2546 uint64_t reserved_20_63:44;
2547#endif
373 } s; 2548 } s;
374 struct cvmx_gmxx_nxa_adr_s cn30xx; 2549 struct cvmx_gmxx_pipe_status_s cn68xx;
375 struct cvmx_gmxx_nxa_adr_s cn31xx; 2550 struct cvmx_gmxx_pipe_status_s cn68xxp1;
376 struct cvmx_gmxx_nxa_adr_s cn38xx;
377 struct cvmx_gmxx_nxa_adr_s cn38xxp2;
378 struct cvmx_gmxx_nxa_adr_s cn50xx;
379 struct cvmx_gmxx_nxa_adr_s cn52xx;
380 struct cvmx_gmxx_nxa_adr_s cn52xxp1;
381 struct cvmx_gmxx_nxa_adr_s cn56xx;
382 struct cvmx_gmxx_nxa_adr_s cn56xxp1;
383 struct cvmx_gmxx_nxa_adr_s cn58xx;
384 struct cvmx_gmxx_nxa_adr_s cn58xxp1;
385}; 2551};
386 2552
387union cvmx_gmxx_prtx_cbfc_ctl { 2553union cvmx_gmxx_prtx_cbfc_ctl {
388 uint64_t u64; 2554 uint64_t u64;
389 struct cvmx_gmxx_prtx_cbfc_ctl_s { 2555 struct cvmx_gmxx_prtx_cbfc_ctl_s {
2556#ifdef __BIG_ENDIAN_BITFIELD
390 uint64_t phys_en:16; 2557 uint64_t phys_en:16;
391 uint64_t logl_en:16; 2558 uint64_t logl_en:16;
392 uint64_t phys_bp:16; 2559 uint64_t phys_bp:16;
@@ -395,15 +2562,35 @@ union cvmx_gmxx_prtx_cbfc_ctl {
395 uint64_t drp_en:1; 2562 uint64_t drp_en:1;
396 uint64_t tx_en:1; 2563 uint64_t tx_en:1;
397 uint64_t rx_en:1; 2564 uint64_t rx_en:1;
2565#else
2566 uint64_t rx_en:1;
2567 uint64_t tx_en:1;
2568 uint64_t drp_en:1;
2569 uint64_t bck_en:1;
2570 uint64_t reserved_4_15:12;
2571 uint64_t phys_bp:16;
2572 uint64_t logl_en:16;
2573 uint64_t phys_en:16;
2574#endif
398 } s; 2575 } s;
399 struct cvmx_gmxx_prtx_cbfc_ctl_s cn52xx; 2576 struct cvmx_gmxx_prtx_cbfc_ctl_s cn52xx;
400 struct cvmx_gmxx_prtx_cbfc_ctl_s cn56xx; 2577 struct cvmx_gmxx_prtx_cbfc_ctl_s cn56xx;
2578 struct cvmx_gmxx_prtx_cbfc_ctl_s cn61xx;
2579 struct cvmx_gmxx_prtx_cbfc_ctl_s cn63xx;
2580 struct cvmx_gmxx_prtx_cbfc_ctl_s cn63xxp1;
2581 struct cvmx_gmxx_prtx_cbfc_ctl_s cn66xx;
2582 struct cvmx_gmxx_prtx_cbfc_ctl_s cn68xx;
2583 struct cvmx_gmxx_prtx_cbfc_ctl_s cn68xxp1;
2584 struct cvmx_gmxx_prtx_cbfc_ctl_s cnf71xx;
401}; 2585};
402 2586
403union cvmx_gmxx_prtx_cfg { 2587union cvmx_gmxx_prtx_cfg {
404 uint64_t u64; 2588 uint64_t u64;
405 struct cvmx_gmxx_prtx_cfg_s { 2589 struct cvmx_gmxx_prtx_cfg_s {
406 uint64_t reserved_14_63:50; 2590#ifdef __BIG_ENDIAN_BITFIELD
2591 uint64_t reserved_22_63:42;
2592 uint64_t pknd:6;
2593 uint64_t reserved_14_15:2;
407 uint64_t tx_idle:1; 2594 uint64_t tx_idle:1;
408 uint64_t rx_idle:1; 2595 uint64_t rx_idle:1;
409 uint64_t reserved_9_11:3; 2596 uint64_t reserved_9_11:3;
@@ -413,30 +2600,87 @@ union cvmx_gmxx_prtx_cfg {
413 uint64_t duplex:1; 2600 uint64_t duplex:1;
414 uint64_t speed:1; 2601 uint64_t speed:1;
415 uint64_t en:1; 2602 uint64_t en:1;
2603#else
2604 uint64_t en:1;
2605 uint64_t speed:1;
2606 uint64_t duplex:1;
2607 uint64_t slottime:1;
2608 uint64_t reserved_4_7:4;
2609 uint64_t speed_msb:1;
2610 uint64_t reserved_9_11:3;
2611 uint64_t rx_idle:1;
2612 uint64_t tx_idle:1;
2613 uint64_t reserved_14_15:2;
2614 uint64_t pknd:6;
2615 uint64_t reserved_22_63:42;
2616#endif
416 } s; 2617 } s;
417 struct cvmx_gmxx_prtx_cfg_cn30xx { 2618 struct cvmx_gmxx_prtx_cfg_cn30xx {
2619#ifdef __BIG_ENDIAN_BITFIELD
418 uint64_t reserved_4_63:60; 2620 uint64_t reserved_4_63:60;
419 uint64_t slottime:1; 2621 uint64_t slottime:1;
420 uint64_t duplex:1; 2622 uint64_t duplex:1;
421 uint64_t speed:1; 2623 uint64_t speed:1;
422 uint64_t en:1; 2624 uint64_t en:1;
2625#else
2626 uint64_t en:1;
2627 uint64_t speed:1;
2628 uint64_t duplex:1;
2629 uint64_t slottime:1;
2630 uint64_t reserved_4_63:60;
2631#endif
423 } cn30xx; 2632 } cn30xx;
424 struct cvmx_gmxx_prtx_cfg_cn30xx cn31xx; 2633 struct cvmx_gmxx_prtx_cfg_cn30xx cn31xx;
425 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xx; 2634 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xx;
426 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xxp2; 2635 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xxp2;
427 struct cvmx_gmxx_prtx_cfg_cn30xx cn50xx; 2636 struct cvmx_gmxx_prtx_cfg_cn30xx cn50xx;
428 struct cvmx_gmxx_prtx_cfg_s cn52xx; 2637 struct cvmx_gmxx_prtx_cfg_cn52xx {
429 struct cvmx_gmxx_prtx_cfg_s cn52xxp1; 2638#ifdef __BIG_ENDIAN_BITFIELD
430 struct cvmx_gmxx_prtx_cfg_s cn56xx; 2639 uint64_t reserved_14_63:50;
431 struct cvmx_gmxx_prtx_cfg_s cn56xxp1; 2640 uint64_t tx_idle:1;
2641 uint64_t rx_idle:1;
2642 uint64_t reserved_9_11:3;
2643 uint64_t speed_msb:1;
2644 uint64_t reserved_4_7:4;
2645 uint64_t slottime:1;
2646 uint64_t duplex:1;
2647 uint64_t speed:1;
2648 uint64_t en:1;
2649#else
2650 uint64_t en:1;
2651 uint64_t speed:1;
2652 uint64_t duplex:1;
2653 uint64_t slottime:1;
2654 uint64_t reserved_4_7:4;
2655 uint64_t speed_msb:1;
2656 uint64_t reserved_9_11:3;
2657 uint64_t rx_idle:1;
2658 uint64_t tx_idle:1;
2659 uint64_t reserved_14_63:50;
2660#endif
2661 } cn52xx;
2662 struct cvmx_gmxx_prtx_cfg_cn52xx cn52xxp1;
2663 struct cvmx_gmxx_prtx_cfg_cn52xx cn56xx;
2664 struct cvmx_gmxx_prtx_cfg_cn52xx cn56xxp1;
432 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xx; 2665 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xx;
433 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xxp1; 2666 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xxp1;
2667 struct cvmx_gmxx_prtx_cfg_cn52xx cn61xx;
2668 struct cvmx_gmxx_prtx_cfg_cn52xx cn63xx;
2669 struct cvmx_gmxx_prtx_cfg_cn52xx cn63xxp1;
2670 struct cvmx_gmxx_prtx_cfg_cn52xx cn66xx;
2671 struct cvmx_gmxx_prtx_cfg_s cn68xx;
2672 struct cvmx_gmxx_prtx_cfg_s cn68xxp1;
2673 struct cvmx_gmxx_prtx_cfg_cn52xx cnf71xx;
434}; 2674};
435 2675
436union cvmx_gmxx_rxx_adr_cam0 { 2676union cvmx_gmxx_rxx_adr_cam0 {
437 uint64_t u64; 2677 uint64_t u64;
438 struct cvmx_gmxx_rxx_adr_cam0_s { 2678 struct cvmx_gmxx_rxx_adr_cam0_s {
2679#ifdef __BIG_ENDIAN_BITFIELD
2680 uint64_t adr:64;
2681#else
439 uint64_t adr:64; 2682 uint64_t adr:64;
2683#endif
440 } s; 2684 } s;
441 struct cvmx_gmxx_rxx_adr_cam0_s cn30xx; 2685 struct cvmx_gmxx_rxx_adr_cam0_s cn30xx;
442 struct cvmx_gmxx_rxx_adr_cam0_s cn31xx; 2686 struct cvmx_gmxx_rxx_adr_cam0_s cn31xx;
@@ -449,12 +2693,23 @@ union cvmx_gmxx_rxx_adr_cam0 {
449 struct cvmx_gmxx_rxx_adr_cam0_s cn56xxp1; 2693 struct cvmx_gmxx_rxx_adr_cam0_s cn56xxp1;
450 struct cvmx_gmxx_rxx_adr_cam0_s cn58xx; 2694 struct cvmx_gmxx_rxx_adr_cam0_s cn58xx;
451 struct cvmx_gmxx_rxx_adr_cam0_s cn58xxp1; 2695 struct cvmx_gmxx_rxx_adr_cam0_s cn58xxp1;
2696 struct cvmx_gmxx_rxx_adr_cam0_s cn61xx;
2697 struct cvmx_gmxx_rxx_adr_cam0_s cn63xx;
2698 struct cvmx_gmxx_rxx_adr_cam0_s cn63xxp1;
2699 struct cvmx_gmxx_rxx_adr_cam0_s cn66xx;
2700 struct cvmx_gmxx_rxx_adr_cam0_s cn68xx;
2701 struct cvmx_gmxx_rxx_adr_cam0_s cn68xxp1;
2702 struct cvmx_gmxx_rxx_adr_cam0_s cnf71xx;
452}; 2703};
453 2704
454union cvmx_gmxx_rxx_adr_cam1 { 2705union cvmx_gmxx_rxx_adr_cam1 {
455 uint64_t u64; 2706 uint64_t u64;
456 struct cvmx_gmxx_rxx_adr_cam1_s { 2707 struct cvmx_gmxx_rxx_adr_cam1_s {
2708#ifdef __BIG_ENDIAN_BITFIELD
457 uint64_t adr:64; 2709 uint64_t adr:64;
2710#else
2711 uint64_t adr:64;
2712#endif
458 } s; 2713 } s;
459 struct cvmx_gmxx_rxx_adr_cam1_s cn30xx; 2714 struct cvmx_gmxx_rxx_adr_cam1_s cn30xx;
460 struct cvmx_gmxx_rxx_adr_cam1_s cn31xx; 2715 struct cvmx_gmxx_rxx_adr_cam1_s cn31xx;
@@ -467,12 +2722,23 @@ union cvmx_gmxx_rxx_adr_cam1 {
467 struct cvmx_gmxx_rxx_adr_cam1_s cn56xxp1; 2722 struct cvmx_gmxx_rxx_adr_cam1_s cn56xxp1;
468 struct cvmx_gmxx_rxx_adr_cam1_s cn58xx; 2723 struct cvmx_gmxx_rxx_adr_cam1_s cn58xx;
469 struct cvmx_gmxx_rxx_adr_cam1_s cn58xxp1; 2724 struct cvmx_gmxx_rxx_adr_cam1_s cn58xxp1;
2725 struct cvmx_gmxx_rxx_adr_cam1_s cn61xx;
2726 struct cvmx_gmxx_rxx_adr_cam1_s cn63xx;
2727 struct cvmx_gmxx_rxx_adr_cam1_s cn63xxp1;
2728 struct cvmx_gmxx_rxx_adr_cam1_s cn66xx;
2729 struct cvmx_gmxx_rxx_adr_cam1_s cn68xx;
2730 struct cvmx_gmxx_rxx_adr_cam1_s cn68xxp1;
2731 struct cvmx_gmxx_rxx_adr_cam1_s cnf71xx;
470}; 2732};
471 2733
472union cvmx_gmxx_rxx_adr_cam2 { 2734union cvmx_gmxx_rxx_adr_cam2 {
473 uint64_t u64; 2735 uint64_t u64;
474 struct cvmx_gmxx_rxx_adr_cam2_s { 2736 struct cvmx_gmxx_rxx_adr_cam2_s {
2737#ifdef __BIG_ENDIAN_BITFIELD
2738 uint64_t adr:64;
2739#else
475 uint64_t adr:64; 2740 uint64_t adr:64;
2741#endif
476 } s; 2742 } s;
477 struct cvmx_gmxx_rxx_adr_cam2_s cn30xx; 2743 struct cvmx_gmxx_rxx_adr_cam2_s cn30xx;
478 struct cvmx_gmxx_rxx_adr_cam2_s cn31xx; 2744 struct cvmx_gmxx_rxx_adr_cam2_s cn31xx;
@@ -485,12 +2751,23 @@ union cvmx_gmxx_rxx_adr_cam2 {
485 struct cvmx_gmxx_rxx_adr_cam2_s cn56xxp1; 2751 struct cvmx_gmxx_rxx_adr_cam2_s cn56xxp1;
486 struct cvmx_gmxx_rxx_adr_cam2_s cn58xx; 2752 struct cvmx_gmxx_rxx_adr_cam2_s cn58xx;
487 struct cvmx_gmxx_rxx_adr_cam2_s cn58xxp1; 2753 struct cvmx_gmxx_rxx_adr_cam2_s cn58xxp1;
2754 struct cvmx_gmxx_rxx_adr_cam2_s cn61xx;
2755 struct cvmx_gmxx_rxx_adr_cam2_s cn63xx;
2756 struct cvmx_gmxx_rxx_adr_cam2_s cn63xxp1;
2757 struct cvmx_gmxx_rxx_adr_cam2_s cn66xx;
2758 struct cvmx_gmxx_rxx_adr_cam2_s cn68xx;
2759 struct cvmx_gmxx_rxx_adr_cam2_s cn68xxp1;
2760 struct cvmx_gmxx_rxx_adr_cam2_s cnf71xx;
488}; 2761};
489 2762
490union cvmx_gmxx_rxx_adr_cam3 { 2763union cvmx_gmxx_rxx_adr_cam3 {
491 uint64_t u64; 2764 uint64_t u64;
492 struct cvmx_gmxx_rxx_adr_cam3_s { 2765 struct cvmx_gmxx_rxx_adr_cam3_s {
2766#ifdef __BIG_ENDIAN_BITFIELD
2767 uint64_t adr:64;
2768#else
493 uint64_t adr:64; 2769 uint64_t adr:64;
2770#endif
494 } s; 2771 } s;
495 struct cvmx_gmxx_rxx_adr_cam3_s cn30xx; 2772 struct cvmx_gmxx_rxx_adr_cam3_s cn30xx;
496 struct cvmx_gmxx_rxx_adr_cam3_s cn31xx; 2773 struct cvmx_gmxx_rxx_adr_cam3_s cn31xx;
@@ -503,12 +2780,23 @@ union cvmx_gmxx_rxx_adr_cam3 {
503 struct cvmx_gmxx_rxx_adr_cam3_s cn56xxp1; 2780 struct cvmx_gmxx_rxx_adr_cam3_s cn56xxp1;
504 struct cvmx_gmxx_rxx_adr_cam3_s cn58xx; 2781 struct cvmx_gmxx_rxx_adr_cam3_s cn58xx;
505 struct cvmx_gmxx_rxx_adr_cam3_s cn58xxp1; 2782 struct cvmx_gmxx_rxx_adr_cam3_s cn58xxp1;
2783 struct cvmx_gmxx_rxx_adr_cam3_s cn61xx;
2784 struct cvmx_gmxx_rxx_adr_cam3_s cn63xx;
2785 struct cvmx_gmxx_rxx_adr_cam3_s cn63xxp1;
2786 struct cvmx_gmxx_rxx_adr_cam3_s cn66xx;
2787 struct cvmx_gmxx_rxx_adr_cam3_s cn68xx;
2788 struct cvmx_gmxx_rxx_adr_cam3_s cn68xxp1;
2789 struct cvmx_gmxx_rxx_adr_cam3_s cnf71xx;
506}; 2790};
507 2791
508union cvmx_gmxx_rxx_adr_cam4 { 2792union cvmx_gmxx_rxx_adr_cam4 {
509 uint64_t u64; 2793 uint64_t u64;
510 struct cvmx_gmxx_rxx_adr_cam4_s { 2794 struct cvmx_gmxx_rxx_adr_cam4_s {
2795#ifdef __BIG_ENDIAN_BITFIELD
511 uint64_t adr:64; 2796 uint64_t adr:64;
2797#else
2798 uint64_t adr:64;
2799#endif
512 } s; 2800 } s;
513 struct cvmx_gmxx_rxx_adr_cam4_s cn30xx; 2801 struct cvmx_gmxx_rxx_adr_cam4_s cn30xx;
514 struct cvmx_gmxx_rxx_adr_cam4_s cn31xx; 2802 struct cvmx_gmxx_rxx_adr_cam4_s cn31xx;
@@ -521,12 +2809,23 @@ union cvmx_gmxx_rxx_adr_cam4 {
521 struct cvmx_gmxx_rxx_adr_cam4_s cn56xxp1; 2809 struct cvmx_gmxx_rxx_adr_cam4_s cn56xxp1;
522 struct cvmx_gmxx_rxx_adr_cam4_s cn58xx; 2810 struct cvmx_gmxx_rxx_adr_cam4_s cn58xx;
523 struct cvmx_gmxx_rxx_adr_cam4_s cn58xxp1; 2811 struct cvmx_gmxx_rxx_adr_cam4_s cn58xxp1;
2812 struct cvmx_gmxx_rxx_adr_cam4_s cn61xx;
2813 struct cvmx_gmxx_rxx_adr_cam4_s cn63xx;
2814 struct cvmx_gmxx_rxx_adr_cam4_s cn63xxp1;
2815 struct cvmx_gmxx_rxx_adr_cam4_s cn66xx;
2816 struct cvmx_gmxx_rxx_adr_cam4_s cn68xx;
2817 struct cvmx_gmxx_rxx_adr_cam4_s cn68xxp1;
2818 struct cvmx_gmxx_rxx_adr_cam4_s cnf71xx;
524}; 2819};
525 2820
526union cvmx_gmxx_rxx_adr_cam5 { 2821union cvmx_gmxx_rxx_adr_cam5 {
527 uint64_t u64; 2822 uint64_t u64;
528 struct cvmx_gmxx_rxx_adr_cam5_s { 2823 struct cvmx_gmxx_rxx_adr_cam5_s {
2824#ifdef __BIG_ENDIAN_BITFIELD
2825 uint64_t adr:64;
2826#else
529 uint64_t adr:64; 2827 uint64_t adr:64;
2828#endif
530 } s; 2829 } s;
531 struct cvmx_gmxx_rxx_adr_cam5_s cn30xx; 2830 struct cvmx_gmxx_rxx_adr_cam5_s cn30xx;
532 struct cvmx_gmxx_rxx_adr_cam5_s cn31xx; 2831 struct cvmx_gmxx_rxx_adr_cam5_s cn31xx;
@@ -539,13 +2838,42 @@ union cvmx_gmxx_rxx_adr_cam5 {
539 struct cvmx_gmxx_rxx_adr_cam5_s cn56xxp1; 2838 struct cvmx_gmxx_rxx_adr_cam5_s cn56xxp1;
540 struct cvmx_gmxx_rxx_adr_cam5_s cn58xx; 2839 struct cvmx_gmxx_rxx_adr_cam5_s cn58xx;
541 struct cvmx_gmxx_rxx_adr_cam5_s cn58xxp1; 2840 struct cvmx_gmxx_rxx_adr_cam5_s cn58xxp1;
2841 struct cvmx_gmxx_rxx_adr_cam5_s cn61xx;
2842 struct cvmx_gmxx_rxx_adr_cam5_s cn63xx;
2843 struct cvmx_gmxx_rxx_adr_cam5_s cn63xxp1;
2844 struct cvmx_gmxx_rxx_adr_cam5_s cn66xx;
2845 struct cvmx_gmxx_rxx_adr_cam5_s cn68xx;
2846 struct cvmx_gmxx_rxx_adr_cam5_s cn68xxp1;
2847 struct cvmx_gmxx_rxx_adr_cam5_s cnf71xx;
2848};
2849
2850union cvmx_gmxx_rxx_adr_cam_all_en {
2851 uint64_t u64;
2852 struct cvmx_gmxx_rxx_adr_cam_all_en_s {
2853#ifdef __BIG_ENDIAN_BITFIELD
2854 uint64_t reserved_32_63:32;
2855 uint64_t en:32;
2856#else
2857 uint64_t en:32;
2858 uint64_t reserved_32_63:32;
2859#endif
2860 } s;
2861 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn61xx;
2862 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn66xx;
2863 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn68xx;
2864 struct cvmx_gmxx_rxx_adr_cam_all_en_s cnf71xx;
542}; 2865};
543 2866
544union cvmx_gmxx_rxx_adr_cam_en { 2867union cvmx_gmxx_rxx_adr_cam_en {
545 uint64_t u64; 2868 uint64_t u64;
546 struct cvmx_gmxx_rxx_adr_cam_en_s { 2869 struct cvmx_gmxx_rxx_adr_cam_en_s {
2870#ifdef __BIG_ENDIAN_BITFIELD
547 uint64_t reserved_8_63:56; 2871 uint64_t reserved_8_63:56;
548 uint64_t en:8; 2872 uint64_t en:8;
2873#else
2874 uint64_t en:8;
2875 uint64_t reserved_8_63:56;
2876#endif
549 } s; 2877 } s;
550 struct cvmx_gmxx_rxx_adr_cam_en_s cn30xx; 2878 struct cvmx_gmxx_rxx_adr_cam_en_s cn30xx;
551 struct cvmx_gmxx_rxx_adr_cam_en_s cn31xx; 2879 struct cvmx_gmxx_rxx_adr_cam_en_s cn31xx;
@@ -558,15 +2886,29 @@ union cvmx_gmxx_rxx_adr_cam_en {
558 struct cvmx_gmxx_rxx_adr_cam_en_s cn56xxp1; 2886 struct cvmx_gmxx_rxx_adr_cam_en_s cn56xxp1;
559 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xx; 2887 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xx;
560 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xxp1; 2888 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xxp1;
2889 struct cvmx_gmxx_rxx_adr_cam_en_s cn61xx;
2890 struct cvmx_gmxx_rxx_adr_cam_en_s cn63xx;
2891 struct cvmx_gmxx_rxx_adr_cam_en_s cn63xxp1;
2892 struct cvmx_gmxx_rxx_adr_cam_en_s cn66xx;
2893 struct cvmx_gmxx_rxx_adr_cam_en_s cn68xx;
2894 struct cvmx_gmxx_rxx_adr_cam_en_s cn68xxp1;
2895 struct cvmx_gmxx_rxx_adr_cam_en_s cnf71xx;
561}; 2896};
562 2897
563union cvmx_gmxx_rxx_adr_ctl { 2898union cvmx_gmxx_rxx_adr_ctl {
564 uint64_t u64; 2899 uint64_t u64;
565 struct cvmx_gmxx_rxx_adr_ctl_s { 2900 struct cvmx_gmxx_rxx_adr_ctl_s {
2901#ifdef __BIG_ENDIAN_BITFIELD
566 uint64_t reserved_4_63:60; 2902 uint64_t reserved_4_63:60;
567 uint64_t cam_mode:1; 2903 uint64_t cam_mode:1;
568 uint64_t mcst:2; 2904 uint64_t mcst:2;
569 uint64_t bcst:1; 2905 uint64_t bcst:1;
2906#else
2907 uint64_t bcst:1;
2908 uint64_t mcst:2;
2909 uint64_t cam_mode:1;
2910 uint64_t reserved_4_63:60;
2911#endif
570 } s; 2912 } s;
571 struct cvmx_gmxx_rxx_adr_ctl_s cn30xx; 2913 struct cvmx_gmxx_rxx_adr_ctl_s cn30xx;
572 struct cvmx_gmxx_rxx_adr_ctl_s cn31xx; 2914 struct cvmx_gmxx_rxx_adr_ctl_s cn31xx;
@@ -579,13 +2921,25 @@ union cvmx_gmxx_rxx_adr_ctl {
579 struct cvmx_gmxx_rxx_adr_ctl_s cn56xxp1; 2921 struct cvmx_gmxx_rxx_adr_ctl_s cn56xxp1;
580 struct cvmx_gmxx_rxx_adr_ctl_s cn58xx; 2922 struct cvmx_gmxx_rxx_adr_ctl_s cn58xx;
581 struct cvmx_gmxx_rxx_adr_ctl_s cn58xxp1; 2923 struct cvmx_gmxx_rxx_adr_ctl_s cn58xxp1;
2924 struct cvmx_gmxx_rxx_adr_ctl_s cn61xx;
2925 struct cvmx_gmxx_rxx_adr_ctl_s cn63xx;
2926 struct cvmx_gmxx_rxx_adr_ctl_s cn63xxp1;
2927 struct cvmx_gmxx_rxx_adr_ctl_s cn66xx;
2928 struct cvmx_gmxx_rxx_adr_ctl_s cn68xx;
2929 struct cvmx_gmxx_rxx_adr_ctl_s cn68xxp1;
2930 struct cvmx_gmxx_rxx_adr_ctl_s cnf71xx;
582}; 2931};
583 2932
584union cvmx_gmxx_rxx_decision { 2933union cvmx_gmxx_rxx_decision {
585 uint64_t u64; 2934 uint64_t u64;
586 struct cvmx_gmxx_rxx_decision_s { 2935 struct cvmx_gmxx_rxx_decision_s {
2936#ifdef __BIG_ENDIAN_BITFIELD
587 uint64_t reserved_5_63:59; 2937 uint64_t reserved_5_63:59;
588 uint64_t cnt:5; 2938 uint64_t cnt:5;
2939#else
2940 uint64_t cnt:5;
2941 uint64_t reserved_5_63:59;
2942#endif
589 } s; 2943 } s;
590 struct cvmx_gmxx_rxx_decision_s cn30xx; 2944 struct cvmx_gmxx_rxx_decision_s cn30xx;
591 struct cvmx_gmxx_rxx_decision_s cn31xx; 2945 struct cvmx_gmxx_rxx_decision_s cn31xx;
@@ -598,11 +2952,19 @@ union cvmx_gmxx_rxx_decision {
598 struct cvmx_gmxx_rxx_decision_s cn56xxp1; 2952 struct cvmx_gmxx_rxx_decision_s cn56xxp1;
599 struct cvmx_gmxx_rxx_decision_s cn58xx; 2953 struct cvmx_gmxx_rxx_decision_s cn58xx;
600 struct cvmx_gmxx_rxx_decision_s cn58xxp1; 2954 struct cvmx_gmxx_rxx_decision_s cn58xxp1;
2955 struct cvmx_gmxx_rxx_decision_s cn61xx;
2956 struct cvmx_gmxx_rxx_decision_s cn63xx;
2957 struct cvmx_gmxx_rxx_decision_s cn63xxp1;
2958 struct cvmx_gmxx_rxx_decision_s cn66xx;
2959 struct cvmx_gmxx_rxx_decision_s cn68xx;
2960 struct cvmx_gmxx_rxx_decision_s cn68xxp1;
2961 struct cvmx_gmxx_rxx_decision_s cnf71xx;
601}; 2962};
602 2963
603union cvmx_gmxx_rxx_frm_chk { 2964union cvmx_gmxx_rxx_frm_chk {
604 uint64_t u64; 2965 uint64_t u64;
605 struct cvmx_gmxx_rxx_frm_chk_s { 2966 struct cvmx_gmxx_rxx_frm_chk_s {
2967#ifdef __BIG_ENDIAN_BITFIELD
606 uint64_t reserved_10_63:54; 2968 uint64_t reserved_10_63:54;
607 uint64_t niberr:1; 2969 uint64_t niberr:1;
608 uint64_t skperr:1; 2970 uint64_t skperr:1;
@@ -614,12 +2976,26 @@ union cvmx_gmxx_rxx_frm_chk {
614 uint64_t maxerr:1; 2976 uint64_t maxerr:1;
615 uint64_t carext:1; 2977 uint64_t carext:1;
616 uint64_t minerr:1; 2978 uint64_t minerr:1;
2979#else
2980 uint64_t minerr:1;
2981 uint64_t carext:1;
2982 uint64_t maxerr:1;
2983 uint64_t jabber:1;
2984 uint64_t fcserr:1;
2985 uint64_t alnerr:1;
2986 uint64_t lenerr:1;
2987 uint64_t rcverr:1;
2988 uint64_t skperr:1;
2989 uint64_t niberr:1;
2990 uint64_t reserved_10_63:54;
2991#endif
617 } s; 2992 } s;
618 struct cvmx_gmxx_rxx_frm_chk_s cn30xx; 2993 struct cvmx_gmxx_rxx_frm_chk_s cn30xx;
619 struct cvmx_gmxx_rxx_frm_chk_s cn31xx; 2994 struct cvmx_gmxx_rxx_frm_chk_s cn31xx;
620 struct cvmx_gmxx_rxx_frm_chk_s cn38xx; 2995 struct cvmx_gmxx_rxx_frm_chk_s cn38xx;
621 struct cvmx_gmxx_rxx_frm_chk_s cn38xxp2; 2996 struct cvmx_gmxx_rxx_frm_chk_s cn38xxp2;
622 struct cvmx_gmxx_rxx_frm_chk_cn50xx { 2997 struct cvmx_gmxx_rxx_frm_chk_cn50xx {
2998#ifdef __BIG_ENDIAN_BITFIELD
623 uint64_t reserved_10_63:54; 2999 uint64_t reserved_10_63:54;
624 uint64_t niberr:1; 3000 uint64_t niberr:1;
625 uint64_t skperr:1; 3001 uint64_t skperr:1;
@@ -631,8 +3007,22 @@ union cvmx_gmxx_rxx_frm_chk {
631 uint64_t reserved_2_2:1; 3007 uint64_t reserved_2_2:1;
632 uint64_t carext:1; 3008 uint64_t carext:1;
633 uint64_t reserved_0_0:1; 3009 uint64_t reserved_0_0:1;
3010#else
3011 uint64_t reserved_0_0:1;
3012 uint64_t carext:1;
3013 uint64_t reserved_2_2:1;
3014 uint64_t jabber:1;
3015 uint64_t fcserr:1;
3016 uint64_t alnerr:1;
3017 uint64_t reserved_6_6:1;
3018 uint64_t rcverr:1;
3019 uint64_t skperr:1;
3020 uint64_t niberr:1;
3021 uint64_t reserved_10_63:54;
3022#endif
634 } cn50xx; 3023 } cn50xx;
635 struct cvmx_gmxx_rxx_frm_chk_cn52xx { 3024 struct cvmx_gmxx_rxx_frm_chk_cn52xx {
3025#ifdef __BIG_ENDIAN_BITFIELD
636 uint64_t reserved_9_63:55; 3026 uint64_t reserved_9_63:55;
637 uint64_t skperr:1; 3027 uint64_t skperr:1;
638 uint64_t rcverr:1; 3028 uint64_t rcverr:1;
@@ -642,18 +3032,61 @@ union cvmx_gmxx_rxx_frm_chk {
642 uint64_t reserved_2_2:1; 3032 uint64_t reserved_2_2:1;
643 uint64_t carext:1; 3033 uint64_t carext:1;
644 uint64_t reserved_0_0:1; 3034 uint64_t reserved_0_0:1;
3035#else
3036 uint64_t reserved_0_0:1;
3037 uint64_t carext:1;
3038 uint64_t reserved_2_2:1;
3039 uint64_t jabber:1;
3040 uint64_t fcserr:1;
3041 uint64_t reserved_5_6:2;
3042 uint64_t rcverr:1;
3043 uint64_t skperr:1;
3044 uint64_t reserved_9_63:55;
3045#endif
645 } cn52xx; 3046 } cn52xx;
646 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn52xxp1; 3047 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn52xxp1;
647 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xx; 3048 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xx;
648 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xxp1; 3049 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xxp1;
649 struct cvmx_gmxx_rxx_frm_chk_s cn58xx; 3050 struct cvmx_gmxx_rxx_frm_chk_s cn58xx;
650 struct cvmx_gmxx_rxx_frm_chk_s cn58xxp1; 3051 struct cvmx_gmxx_rxx_frm_chk_s cn58xxp1;
3052 struct cvmx_gmxx_rxx_frm_chk_cn61xx {
3053#ifdef __BIG_ENDIAN_BITFIELD
3054 uint64_t reserved_9_63:55;
3055 uint64_t skperr:1;
3056 uint64_t rcverr:1;
3057 uint64_t reserved_5_6:2;
3058 uint64_t fcserr:1;
3059 uint64_t jabber:1;
3060 uint64_t reserved_2_2:1;
3061 uint64_t carext:1;
3062 uint64_t minerr:1;
3063#else
3064 uint64_t minerr:1;
3065 uint64_t carext:1;
3066 uint64_t reserved_2_2:1;
3067 uint64_t jabber:1;
3068 uint64_t fcserr:1;
3069 uint64_t reserved_5_6:2;
3070 uint64_t rcverr:1;
3071 uint64_t skperr:1;
3072 uint64_t reserved_9_63:55;
3073#endif
3074 } cn61xx;
3075 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn63xx;
3076 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn63xxp1;
3077 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn66xx;
3078 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn68xx;
3079 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn68xxp1;
3080 struct cvmx_gmxx_rxx_frm_chk_cn61xx cnf71xx;
651}; 3081};
652 3082
653union cvmx_gmxx_rxx_frm_ctl { 3083union cvmx_gmxx_rxx_frm_ctl {
654 uint64_t u64; 3084 uint64_t u64;
655 struct cvmx_gmxx_rxx_frm_ctl_s { 3085 struct cvmx_gmxx_rxx_frm_ctl_s {
656 uint64_t reserved_11_63:53; 3086#ifdef __BIG_ENDIAN_BITFIELD
3087 uint64_t reserved_13_63:51;
3088 uint64_t ptp_mode:1;
3089 uint64_t reserved_11_11:1;
657 uint64_t null_dis:1; 3090 uint64_t null_dis:1;
658 uint64_t pre_align:1; 3091 uint64_t pre_align:1;
659 uint64_t pad_len:1; 3092 uint64_t pad_len:1;
@@ -665,8 +3098,25 @@ union cvmx_gmxx_rxx_frm_ctl {
665 uint64_t ctl_drp:1; 3098 uint64_t ctl_drp:1;
666 uint64_t pre_strp:1; 3099 uint64_t pre_strp:1;
667 uint64_t pre_chk:1; 3100 uint64_t pre_chk:1;
3101#else
3102 uint64_t pre_chk:1;
3103 uint64_t pre_strp:1;
3104 uint64_t ctl_drp:1;
3105 uint64_t ctl_bck:1;
3106 uint64_t ctl_mcst:1;
3107 uint64_t ctl_smac:1;
3108 uint64_t pre_free:1;
3109 uint64_t vlan_len:1;
3110 uint64_t pad_len:1;
3111 uint64_t pre_align:1;
3112 uint64_t null_dis:1;
3113 uint64_t reserved_11_11:1;
3114 uint64_t ptp_mode:1;
3115 uint64_t reserved_13_63:51;
3116#endif
668 } s; 3117 } s;
669 struct cvmx_gmxx_rxx_frm_ctl_cn30xx { 3118 struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
3119#ifdef __BIG_ENDIAN_BITFIELD
670 uint64_t reserved_9_63:55; 3120 uint64_t reserved_9_63:55;
671 uint64_t pad_len:1; 3121 uint64_t pad_len:1;
672 uint64_t vlan_len:1; 3122 uint64_t vlan_len:1;
@@ -677,8 +3127,21 @@ union cvmx_gmxx_rxx_frm_ctl {
677 uint64_t ctl_drp:1; 3127 uint64_t ctl_drp:1;
678 uint64_t pre_strp:1; 3128 uint64_t pre_strp:1;
679 uint64_t pre_chk:1; 3129 uint64_t pre_chk:1;
3130#else
3131 uint64_t pre_chk:1;
3132 uint64_t pre_strp:1;
3133 uint64_t ctl_drp:1;
3134 uint64_t ctl_bck:1;
3135 uint64_t ctl_mcst:1;
3136 uint64_t ctl_smac:1;
3137 uint64_t pre_free:1;
3138 uint64_t vlan_len:1;
3139 uint64_t pad_len:1;
3140 uint64_t reserved_9_63:55;
3141#endif
680 } cn30xx; 3142 } cn30xx;
681 struct cvmx_gmxx_rxx_frm_ctl_cn31xx { 3143 struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
3144#ifdef __BIG_ENDIAN_BITFIELD
682 uint64_t reserved_8_63:56; 3145 uint64_t reserved_8_63:56;
683 uint64_t vlan_len:1; 3146 uint64_t vlan_len:1;
684 uint64_t pre_free:1; 3147 uint64_t pre_free:1;
@@ -688,10 +3151,22 @@ union cvmx_gmxx_rxx_frm_ctl {
688 uint64_t ctl_drp:1; 3151 uint64_t ctl_drp:1;
689 uint64_t pre_strp:1; 3152 uint64_t pre_strp:1;
690 uint64_t pre_chk:1; 3153 uint64_t pre_chk:1;
3154#else
3155 uint64_t pre_chk:1;
3156 uint64_t pre_strp:1;
3157 uint64_t ctl_drp:1;
3158 uint64_t ctl_bck:1;
3159 uint64_t ctl_mcst:1;
3160 uint64_t ctl_smac:1;
3161 uint64_t pre_free:1;
3162 uint64_t vlan_len:1;
3163 uint64_t reserved_8_63:56;
3164#endif
691 } cn31xx; 3165 } cn31xx;
692 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn38xx; 3166 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn38xx;
693 struct cvmx_gmxx_rxx_frm_ctl_cn31xx cn38xxp2; 3167 struct cvmx_gmxx_rxx_frm_ctl_cn31xx cn38xxp2;
694 struct cvmx_gmxx_rxx_frm_ctl_cn50xx { 3168 struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
3169#ifdef __BIG_ENDIAN_BITFIELD
695 uint64_t reserved_11_63:53; 3170 uint64_t reserved_11_63:53;
696 uint64_t null_dis:1; 3171 uint64_t null_dis:1;
697 uint64_t pre_align:1; 3172 uint64_t pre_align:1;
@@ -703,11 +3178,25 @@ union cvmx_gmxx_rxx_frm_ctl {
703 uint64_t ctl_drp:1; 3178 uint64_t ctl_drp:1;
704 uint64_t pre_strp:1; 3179 uint64_t pre_strp:1;
705 uint64_t pre_chk:1; 3180 uint64_t pre_chk:1;
3181#else
3182 uint64_t pre_chk:1;
3183 uint64_t pre_strp:1;
3184 uint64_t ctl_drp:1;
3185 uint64_t ctl_bck:1;
3186 uint64_t ctl_mcst:1;
3187 uint64_t ctl_smac:1;
3188 uint64_t pre_free:1;
3189 uint64_t reserved_7_8:2;
3190 uint64_t pre_align:1;
3191 uint64_t null_dis:1;
3192 uint64_t reserved_11_63:53;
3193#endif
706 } cn50xx; 3194 } cn50xx;
707 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xx; 3195 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xx;
708 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xxp1; 3196 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xxp1;
709 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn56xx; 3197 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn56xx;
710 struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 { 3198 struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
3199#ifdef __BIG_ENDIAN_BITFIELD
711 uint64_t reserved_10_63:54; 3200 uint64_t reserved_10_63:54;
712 uint64_t pre_align:1; 3201 uint64_t pre_align:1;
713 uint64_t reserved_7_8:2; 3202 uint64_t reserved_7_8:2;
@@ -718,16 +3207,98 @@ union cvmx_gmxx_rxx_frm_ctl {
718 uint64_t ctl_drp:1; 3207 uint64_t ctl_drp:1;
719 uint64_t pre_strp:1; 3208 uint64_t pre_strp:1;
720 uint64_t pre_chk:1; 3209 uint64_t pre_chk:1;
3210#else
3211 uint64_t pre_chk:1;
3212 uint64_t pre_strp:1;
3213 uint64_t ctl_drp:1;
3214 uint64_t ctl_bck:1;
3215 uint64_t ctl_mcst:1;
3216 uint64_t ctl_smac:1;
3217 uint64_t pre_free:1;
3218 uint64_t reserved_7_8:2;
3219 uint64_t pre_align:1;
3220 uint64_t reserved_10_63:54;
3221#endif
721 } cn56xxp1; 3222 } cn56xxp1;
722 struct cvmx_gmxx_rxx_frm_ctl_s cn58xx; 3223 struct cvmx_gmxx_rxx_frm_ctl_cn58xx {
3224#ifdef __BIG_ENDIAN_BITFIELD
3225 uint64_t reserved_11_63:53;
3226 uint64_t null_dis:1;
3227 uint64_t pre_align:1;
3228 uint64_t pad_len:1;
3229 uint64_t vlan_len:1;
3230 uint64_t pre_free:1;
3231 uint64_t ctl_smac:1;
3232 uint64_t ctl_mcst:1;
3233 uint64_t ctl_bck:1;
3234 uint64_t ctl_drp:1;
3235 uint64_t pre_strp:1;
3236 uint64_t pre_chk:1;
3237#else
3238 uint64_t pre_chk:1;
3239 uint64_t pre_strp:1;
3240 uint64_t ctl_drp:1;
3241 uint64_t ctl_bck:1;
3242 uint64_t ctl_mcst:1;
3243 uint64_t ctl_smac:1;
3244 uint64_t pre_free:1;
3245 uint64_t vlan_len:1;
3246 uint64_t pad_len:1;
3247 uint64_t pre_align:1;
3248 uint64_t null_dis:1;
3249 uint64_t reserved_11_63:53;
3250#endif
3251 } cn58xx;
723 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn58xxp1; 3252 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn58xxp1;
3253 struct cvmx_gmxx_rxx_frm_ctl_cn61xx {
3254#ifdef __BIG_ENDIAN_BITFIELD
3255 uint64_t reserved_13_63:51;
3256 uint64_t ptp_mode:1;
3257 uint64_t reserved_11_11:1;
3258 uint64_t null_dis:1;
3259 uint64_t pre_align:1;
3260 uint64_t reserved_7_8:2;
3261 uint64_t pre_free:1;
3262 uint64_t ctl_smac:1;
3263 uint64_t ctl_mcst:1;
3264 uint64_t ctl_bck:1;
3265 uint64_t ctl_drp:1;
3266 uint64_t pre_strp:1;
3267 uint64_t pre_chk:1;
3268#else
3269 uint64_t pre_chk:1;
3270 uint64_t pre_strp:1;
3271 uint64_t ctl_drp:1;
3272 uint64_t ctl_bck:1;
3273 uint64_t ctl_mcst:1;
3274 uint64_t ctl_smac:1;
3275 uint64_t pre_free:1;
3276 uint64_t reserved_7_8:2;
3277 uint64_t pre_align:1;
3278 uint64_t null_dis:1;
3279 uint64_t reserved_11_11:1;
3280 uint64_t ptp_mode:1;
3281 uint64_t reserved_13_63:51;
3282#endif
3283 } cn61xx;
3284 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn63xx;
3285 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn63xxp1;
3286 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn66xx;
3287 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn68xx;
3288 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn68xxp1;
3289 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cnf71xx;
724}; 3290};
725 3291
726union cvmx_gmxx_rxx_frm_max { 3292union cvmx_gmxx_rxx_frm_max {
727 uint64_t u64; 3293 uint64_t u64;
728 struct cvmx_gmxx_rxx_frm_max_s { 3294 struct cvmx_gmxx_rxx_frm_max_s {
3295#ifdef __BIG_ENDIAN_BITFIELD
729 uint64_t reserved_16_63:48; 3296 uint64_t reserved_16_63:48;
730 uint64_t len:16; 3297 uint64_t len:16;
3298#else
3299 uint64_t len:16;
3300 uint64_t reserved_16_63:48;
3301#endif
731 } s; 3302 } s;
732 struct cvmx_gmxx_rxx_frm_max_s cn30xx; 3303 struct cvmx_gmxx_rxx_frm_max_s cn30xx;
733 struct cvmx_gmxx_rxx_frm_max_s cn31xx; 3304 struct cvmx_gmxx_rxx_frm_max_s cn31xx;
@@ -740,8 +3311,13 @@ union cvmx_gmxx_rxx_frm_max {
740union cvmx_gmxx_rxx_frm_min { 3311union cvmx_gmxx_rxx_frm_min {
741 uint64_t u64; 3312 uint64_t u64;
742 struct cvmx_gmxx_rxx_frm_min_s { 3313 struct cvmx_gmxx_rxx_frm_min_s {
3314#ifdef __BIG_ENDIAN_BITFIELD
743 uint64_t reserved_16_63:48; 3315 uint64_t reserved_16_63:48;
744 uint64_t len:16; 3316 uint64_t len:16;
3317#else
3318 uint64_t len:16;
3319 uint64_t reserved_16_63:48;
3320#endif
745 } s; 3321 } s;
746 struct cvmx_gmxx_rxx_frm_min_s cn30xx; 3322 struct cvmx_gmxx_rxx_frm_min_s cn30xx;
747 struct cvmx_gmxx_rxx_frm_min_s cn31xx; 3323 struct cvmx_gmxx_rxx_frm_min_s cn31xx;
@@ -754,8 +3330,13 @@ union cvmx_gmxx_rxx_frm_min {
754union cvmx_gmxx_rxx_ifg { 3330union cvmx_gmxx_rxx_ifg {
755 uint64_t u64; 3331 uint64_t u64;
756 struct cvmx_gmxx_rxx_ifg_s { 3332 struct cvmx_gmxx_rxx_ifg_s {
3333#ifdef __BIG_ENDIAN_BITFIELD
757 uint64_t reserved_4_63:60; 3334 uint64_t reserved_4_63:60;
758 uint64_t ifg:4; 3335 uint64_t ifg:4;
3336#else
3337 uint64_t ifg:4;
3338 uint64_t reserved_4_63:60;
3339#endif
759 } s; 3340 } s;
760 struct cvmx_gmxx_rxx_ifg_s cn30xx; 3341 struct cvmx_gmxx_rxx_ifg_s cn30xx;
761 struct cvmx_gmxx_rxx_ifg_s cn31xx; 3342 struct cvmx_gmxx_rxx_ifg_s cn31xx;
@@ -768,11 +3349,19 @@ union cvmx_gmxx_rxx_ifg {
768 struct cvmx_gmxx_rxx_ifg_s cn56xxp1; 3349 struct cvmx_gmxx_rxx_ifg_s cn56xxp1;
769 struct cvmx_gmxx_rxx_ifg_s cn58xx; 3350 struct cvmx_gmxx_rxx_ifg_s cn58xx;
770 struct cvmx_gmxx_rxx_ifg_s cn58xxp1; 3351 struct cvmx_gmxx_rxx_ifg_s cn58xxp1;
3352 struct cvmx_gmxx_rxx_ifg_s cn61xx;
3353 struct cvmx_gmxx_rxx_ifg_s cn63xx;
3354 struct cvmx_gmxx_rxx_ifg_s cn63xxp1;
3355 struct cvmx_gmxx_rxx_ifg_s cn66xx;
3356 struct cvmx_gmxx_rxx_ifg_s cn68xx;
3357 struct cvmx_gmxx_rxx_ifg_s cn68xxp1;
3358 struct cvmx_gmxx_rxx_ifg_s cnf71xx;
771}; 3359};
772 3360
773union cvmx_gmxx_rxx_int_en { 3361union cvmx_gmxx_rxx_int_en {
774 uint64_t u64; 3362 uint64_t u64;
775 struct cvmx_gmxx_rxx_int_en_s { 3363 struct cvmx_gmxx_rxx_int_en_s {
3364#ifdef __BIG_ENDIAN_BITFIELD
776 uint64_t reserved_29_63:35; 3365 uint64_t reserved_29_63:35;
777 uint64_t hg2cc:1; 3366 uint64_t hg2cc:1;
778 uint64_t hg2fld:1; 3367 uint64_t hg2fld:1;
@@ -803,8 +3392,41 @@ union cvmx_gmxx_rxx_int_en {
803 uint64_t maxerr:1; 3392 uint64_t maxerr:1;
804 uint64_t carext:1; 3393 uint64_t carext:1;
805 uint64_t minerr:1; 3394 uint64_t minerr:1;
3395#else
3396 uint64_t minerr:1;
3397 uint64_t carext:1;
3398 uint64_t maxerr:1;
3399 uint64_t jabber:1;
3400 uint64_t fcserr:1;
3401 uint64_t alnerr:1;
3402 uint64_t lenerr:1;
3403 uint64_t rcverr:1;
3404 uint64_t skperr:1;
3405 uint64_t niberr:1;
3406 uint64_t ovrerr:1;
3407 uint64_t pcterr:1;
3408 uint64_t rsverr:1;
3409 uint64_t falerr:1;
3410 uint64_t coldet:1;
3411 uint64_t ifgerr:1;
3412 uint64_t phy_link:1;
3413 uint64_t phy_spd:1;
3414 uint64_t phy_dupx:1;
3415 uint64_t pause_drp:1;
3416 uint64_t loc_fault:1;
3417 uint64_t rem_fault:1;
3418 uint64_t bad_seq:1;
3419 uint64_t bad_term:1;
3420 uint64_t unsop:1;
3421 uint64_t uneop:1;
3422 uint64_t undat:1;
3423 uint64_t hg2fld:1;
3424 uint64_t hg2cc:1;
3425 uint64_t reserved_29_63:35;
3426#endif
806 } s; 3427 } s;
807 struct cvmx_gmxx_rxx_int_en_cn30xx { 3428 struct cvmx_gmxx_rxx_int_en_cn30xx {
3429#ifdef __BIG_ENDIAN_BITFIELD
808 uint64_t reserved_19_63:45; 3430 uint64_t reserved_19_63:45;
809 uint64_t phy_dupx:1; 3431 uint64_t phy_dupx:1;
810 uint64_t phy_spd:1; 3432 uint64_t phy_spd:1;
@@ -825,11 +3447,34 @@ union cvmx_gmxx_rxx_int_en {
825 uint64_t maxerr:1; 3447 uint64_t maxerr:1;
826 uint64_t carext:1; 3448 uint64_t carext:1;
827 uint64_t minerr:1; 3449 uint64_t minerr:1;
3450#else
3451 uint64_t minerr:1;
3452 uint64_t carext:1;
3453 uint64_t maxerr:1;
3454 uint64_t jabber:1;
3455 uint64_t fcserr:1;
3456 uint64_t alnerr:1;
3457 uint64_t lenerr:1;
3458 uint64_t rcverr:1;
3459 uint64_t skperr:1;
3460 uint64_t niberr:1;
3461 uint64_t ovrerr:1;
3462 uint64_t pcterr:1;
3463 uint64_t rsverr:1;
3464 uint64_t falerr:1;
3465 uint64_t coldet:1;
3466 uint64_t ifgerr:1;
3467 uint64_t phy_link:1;
3468 uint64_t phy_spd:1;
3469 uint64_t phy_dupx:1;
3470 uint64_t reserved_19_63:45;
3471#endif
828 } cn30xx; 3472 } cn30xx;
829 struct cvmx_gmxx_rxx_int_en_cn30xx cn31xx; 3473 struct cvmx_gmxx_rxx_int_en_cn30xx cn31xx;
830 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xx; 3474 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xx;
831 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xxp2; 3475 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xxp2;
832 struct cvmx_gmxx_rxx_int_en_cn50xx { 3476 struct cvmx_gmxx_rxx_int_en_cn50xx {
3477#ifdef __BIG_ENDIAN_BITFIELD
833 uint64_t reserved_20_63:44; 3478 uint64_t reserved_20_63:44;
834 uint64_t pause_drp:1; 3479 uint64_t pause_drp:1;
835 uint64_t phy_dupx:1; 3480 uint64_t phy_dupx:1;
@@ -851,8 +3496,32 @@ union cvmx_gmxx_rxx_int_en {
851 uint64_t reserved_2_2:1; 3496 uint64_t reserved_2_2:1;
852 uint64_t carext:1; 3497 uint64_t carext:1;
853 uint64_t reserved_0_0:1; 3498 uint64_t reserved_0_0:1;
3499#else
3500 uint64_t reserved_0_0:1;
3501 uint64_t carext:1;
3502 uint64_t reserved_2_2:1;
3503 uint64_t jabber:1;
3504 uint64_t fcserr:1;
3505 uint64_t alnerr:1;
3506 uint64_t reserved_6_6:1;
3507 uint64_t rcverr:1;
3508 uint64_t skperr:1;
3509 uint64_t niberr:1;
3510 uint64_t ovrerr:1;
3511 uint64_t pcterr:1;
3512 uint64_t rsverr:1;
3513 uint64_t falerr:1;
3514 uint64_t coldet:1;
3515 uint64_t ifgerr:1;
3516 uint64_t phy_link:1;
3517 uint64_t phy_spd:1;
3518 uint64_t phy_dupx:1;
3519 uint64_t pause_drp:1;
3520 uint64_t reserved_20_63:44;
3521#endif
854 } cn50xx; 3522 } cn50xx;
855 struct cvmx_gmxx_rxx_int_en_cn52xx { 3523 struct cvmx_gmxx_rxx_int_en_cn52xx {
3524#ifdef __BIG_ENDIAN_BITFIELD
856 uint64_t reserved_29_63:35; 3525 uint64_t reserved_29_63:35;
857 uint64_t hg2cc:1; 3526 uint64_t hg2cc:1;
858 uint64_t hg2fld:1; 3527 uint64_t hg2fld:1;
@@ -880,10 +3549,40 @@ union cvmx_gmxx_rxx_int_en {
880 uint64_t reserved_2_2:1; 3549 uint64_t reserved_2_2:1;
881 uint64_t carext:1; 3550 uint64_t carext:1;
882 uint64_t reserved_0_0:1; 3551 uint64_t reserved_0_0:1;
3552#else
3553 uint64_t reserved_0_0:1;
3554 uint64_t carext:1;
3555 uint64_t reserved_2_2:1;
3556 uint64_t jabber:1;
3557 uint64_t fcserr:1;
3558 uint64_t reserved_5_6:2;
3559 uint64_t rcverr:1;
3560 uint64_t skperr:1;
3561 uint64_t reserved_9_9:1;
3562 uint64_t ovrerr:1;
3563 uint64_t pcterr:1;
3564 uint64_t rsverr:1;
3565 uint64_t falerr:1;
3566 uint64_t coldet:1;
3567 uint64_t ifgerr:1;
3568 uint64_t reserved_16_18:3;
3569 uint64_t pause_drp:1;
3570 uint64_t loc_fault:1;
3571 uint64_t rem_fault:1;
3572 uint64_t bad_seq:1;
3573 uint64_t bad_term:1;
3574 uint64_t unsop:1;
3575 uint64_t uneop:1;
3576 uint64_t undat:1;
3577 uint64_t hg2fld:1;
3578 uint64_t hg2cc:1;
3579 uint64_t reserved_29_63:35;
3580#endif
883 } cn52xx; 3581 } cn52xx;
884 struct cvmx_gmxx_rxx_int_en_cn52xx cn52xxp1; 3582 struct cvmx_gmxx_rxx_int_en_cn52xx cn52xxp1;
885 struct cvmx_gmxx_rxx_int_en_cn52xx cn56xx; 3583 struct cvmx_gmxx_rxx_int_en_cn52xx cn56xx;
886 struct cvmx_gmxx_rxx_int_en_cn56xxp1 { 3584 struct cvmx_gmxx_rxx_int_en_cn56xxp1 {
3585#ifdef __BIG_ENDIAN_BITFIELD
887 uint64_t reserved_27_63:37; 3586 uint64_t reserved_27_63:37;
888 uint64_t undat:1; 3587 uint64_t undat:1;
889 uint64_t uneop:1; 3588 uint64_t uneop:1;
@@ -909,8 +3608,36 @@ union cvmx_gmxx_rxx_int_en {
909 uint64_t reserved_2_2:1; 3608 uint64_t reserved_2_2:1;
910 uint64_t carext:1; 3609 uint64_t carext:1;
911 uint64_t reserved_0_0:1; 3610 uint64_t reserved_0_0:1;
3611#else
3612 uint64_t reserved_0_0:1;
3613 uint64_t carext:1;
3614 uint64_t reserved_2_2:1;
3615 uint64_t jabber:1;
3616 uint64_t fcserr:1;
3617 uint64_t reserved_5_6:2;
3618 uint64_t rcverr:1;
3619 uint64_t skperr:1;
3620 uint64_t reserved_9_9:1;
3621 uint64_t ovrerr:1;
3622 uint64_t pcterr:1;
3623 uint64_t rsverr:1;
3624 uint64_t falerr:1;
3625 uint64_t coldet:1;
3626 uint64_t ifgerr:1;
3627 uint64_t reserved_16_18:3;
3628 uint64_t pause_drp:1;
3629 uint64_t loc_fault:1;
3630 uint64_t rem_fault:1;
3631 uint64_t bad_seq:1;
3632 uint64_t bad_term:1;
3633 uint64_t unsop:1;
3634 uint64_t uneop:1;
3635 uint64_t undat:1;
3636 uint64_t reserved_27_63:37;
3637#endif
912 } cn56xxp1; 3638 } cn56xxp1;
913 struct cvmx_gmxx_rxx_int_en_cn58xx { 3639 struct cvmx_gmxx_rxx_int_en_cn58xx {
3640#ifdef __BIG_ENDIAN_BITFIELD
914 uint64_t reserved_20_63:44; 3641 uint64_t reserved_20_63:44;
915 uint64_t pause_drp:1; 3642 uint64_t pause_drp:1;
916 uint64_t phy_dupx:1; 3643 uint64_t phy_dupx:1;
@@ -932,13 +3659,102 @@ union cvmx_gmxx_rxx_int_en {
932 uint64_t maxerr:1; 3659 uint64_t maxerr:1;
933 uint64_t carext:1; 3660 uint64_t carext:1;
934 uint64_t minerr:1; 3661 uint64_t minerr:1;
3662#else
3663 uint64_t minerr:1;
3664 uint64_t carext:1;
3665 uint64_t maxerr:1;
3666 uint64_t jabber:1;
3667 uint64_t fcserr:1;
3668 uint64_t alnerr:1;
3669 uint64_t lenerr:1;
3670 uint64_t rcverr:1;
3671 uint64_t skperr:1;
3672 uint64_t niberr:1;
3673 uint64_t ovrerr:1;
3674 uint64_t pcterr:1;
3675 uint64_t rsverr:1;
3676 uint64_t falerr:1;
3677 uint64_t coldet:1;
3678 uint64_t ifgerr:1;
3679 uint64_t phy_link:1;
3680 uint64_t phy_spd:1;
3681 uint64_t phy_dupx:1;
3682 uint64_t pause_drp:1;
3683 uint64_t reserved_20_63:44;
3684#endif
935 } cn58xx; 3685 } cn58xx;
936 struct cvmx_gmxx_rxx_int_en_cn58xx cn58xxp1; 3686 struct cvmx_gmxx_rxx_int_en_cn58xx cn58xxp1;
3687 struct cvmx_gmxx_rxx_int_en_cn61xx {
3688#ifdef __BIG_ENDIAN_BITFIELD
3689 uint64_t reserved_29_63:35;
3690 uint64_t hg2cc:1;
3691 uint64_t hg2fld:1;
3692 uint64_t undat:1;
3693 uint64_t uneop:1;
3694 uint64_t unsop:1;
3695 uint64_t bad_term:1;
3696 uint64_t bad_seq:1;
3697 uint64_t rem_fault:1;
3698 uint64_t loc_fault:1;
3699 uint64_t pause_drp:1;
3700 uint64_t reserved_16_18:3;
3701 uint64_t ifgerr:1;
3702 uint64_t coldet:1;
3703 uint64_t falerr:1;
3704 uint64_t rsverr:1;
3705 uint64_t pcterr:1;
3706 uint64_t ovrerr:1;
3707 uint64_t reserved_9_9:1;
3708 uint64_t skperr:1;
3709 uint64_t rcverr:1;
3710 uint64_t reserved_5_6:2;
3711 uint64_t fcserr:1;
3712 uint64_t jabber:1;
3713 uint64_t reserved_2_2:1;
3714 uint64_t carext:1;
3715 uint64_t minerr:1;
3716#else
3717 uint64_t minerr:1;
3718 uint64_t carext:1;
3719 uint64_t reserved_2_2:1;
3720 uint64_t jabber:1;
3721 uint64_t fcserr:1;
3722 uint64_t reserved_5_6:2;
3723 uint64_t rcverr:1;
3724 uint64_t skperr:1;
3725 uint64_t reserved_9_9:1;
3726 uint64_t ovrerr:1;
3727 uint64_t pcterr:1;
3728 uint64_t rsverr:1;
3729 uint64_t falerr:1;
3730 uint64_t coldet:1;
3731 uint64_t ifgerr:1;
3732 uint64_t reserved_16_18:3;
3733 uint64_t pause_drp:1;
3734 uint64_t loc_fault:1;
3735 uint64_t rem_fault:1;
3736 uint64_t bad_seq:1;
3737 uint64_t bad_term:1;
3738 uint64_t unsop:1;
3739 uint64_t uneop:1;
3740 uint64_t undat:1;
3741 uint64_t hg2fld:1;
3742 uint64_t hg2cc:1;
3743 uint64_t reserved_29_63:35;
3744#endif
3745 } cn61xx;
3746 struct cvmx_gmxx_rxx_int_en_cn61xx cn63xx;
3747 struct cvmx_gmxx_rxx_int_en_cn61xx cn63xxp1;
3748 struct cvmx_gmxx_rxx_int_en_cn61xx cn66xx;
3749 struct cvmx_gmxx_rxx_int_en_cn61xx cn68xx;
3750 struct cvmx_gmxx_rxx_int_en_cn61xx cn68xxp1;
3751 struct cvmx_gmxx_rxx_int_en_cn61xx cnf71xx;
937}; 3752};
938 3753
939union cvmx_gmxx_rxx_int_reg { 3754union cvmx_gmxx_rxx_int_reg {
940 uint64_t u64; 3755 uint64_t u64;
941 struct cvmx_gmxx_rxx_int_reg_s { 3756 struct cvmx_gmxx_rxx_int_reg_s {
3757#ifdef __BIG_ENDIAN_BITFIELD
942 uint64_t reserved_29_63:35; 3758 uint64_t reserved_29_63:35;
943 uint64_t hg2cc:1; 3759 uint64_t hg2cc:1;
944 uint64_t hg2fld:1; 3760 uint64_t hg2fld:1;
@@ -969,8 +3785,41 @@ union cvmx_gmxx_rxx_int_reg {
969 uint64_t maxerr:1; 3785 uint64_t maxerr:1;
970 uint64_t carext:1; 3786 uint64_t carext:1;
971 uint64_t minerr:1; 3787 uint64_t minerr:1;
3788#else
3789 uint64_t minerr:1;
3790 uint64_t carext:1;
3791 uint64_t maxerr:1;
3792 uint64_t jabber:1;
3793 uint64_t fcserr:1;
3794 uint64_t alnerr:1;
3795 uint64_t lenerr:1;
3796 uint64_t rcverr:1;
3797 uint64_t skperr:1;
3798 uint64_t niberr:1;
3799 uint64_t ovrerr:1;
3800 uint64_t pcterr:1;
3801 uint64_t rsverr:1;
3802 uint64_t falerr:1;
3803 uint64_t coldet:1;
3804 uint64_t ifgerr:1;
3805 uint64_t phy_link:1;
3806 uint64_t phy_spd:1;
3807 uint64_t phy_dupx:1;
3808 uint64_t pause_drp:1;
3809 uint64_t loc_fault:1;
3810 uint64_t rem_fault:1;
3811 uint64_t bad_seq:1;
3812 uint64_t bad_term:1;
3813 uint64_t unsop:1;
3814 uint64_t uneop:1;
3815 uint64_t undat:1;
3816 uint64_t hg2fld:1;
3817 uint64_t hg2cc:1;
3818 uint64_t reserved_29_63:35;
3819#endif
972 } s; 3820 } s;
973 struct cvmx_gmxx_rxx_int_reg_cn30xx { 3821 struct cvmx_gmxx_rxx_int_reg_cn30xx {
3822#ifdef __BIG_ENDIAN_BITFIELD
974 uint64_t reserved_19_63:45; 3823 uint64_t reserved_19_63:45;
975 uint64_t phy_dupx:1; 3824 uint64_t phy_dupx:1;
976 uint64_t phy_spd:1; 3825 uint64_t phy_spd:1;
@@ -991,11 +3840,34 @@ union cvmx_gmxx_rxx_int_reg {
991 uint64_t maxerr:1; 3840 uint64_t maxerr:1;
992 uint64_t carext:1; 3841 uint64_t carext:1;
993 uint64_t minerr:1; 3842 uint64_t minerr:1;
3843#else
3844 uint64_t minerr:1;
3845 uint64_t carext:1;
3846 uint64_t maxerr:1;
3847 uint64_t jabber:1;
3848 uint64_t fcserr:1;
3849 uint64_t alnerr:1;
3850 uint64_t lenerr:1;
3851 uint64_t rcverr:1;
3852 uint64_t skperr:1;
3853 uint64_t niberr:1;
3854 uint64_t ovrerr:1;
3855 uint64_t pcterr:1;
3856 uint64_t rsverr:1;
3857 uint64_t falerr:1;
3858 uint64_t coldet:1;
3859 uint64_t ifgerr:1;
3860 uint64_t phy_link:1;
3861 uint64_t phy_spd:1;
3862 uint64_t phy_dupx:1;
3863 uint64_t reserved_19_63:45;
3864#endif
994 } cn30xx; 3865 } cn30xx;
995 struct cvmx_gmxx_rxx_int_reg_cn30xx cn31xx; 3866 struct cvmx_gmxx_rxx_int_reg_cn30xx cn31xx;
996 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xx; 3867 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xx;
997 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xxp2; 3868 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xxp2;
998 struct cvmx_gmxx_rxx_int_reg_cn50xx { 3869 struct cvmx_gmxx_rxx_int_reg_cn50xx {
3870#ifdef __BIG_ENDIAN_BITFIELD
999 uint64_t reserved_20_63:44; 3871 uint64_t reserved_20_63:44;
1000 uint64_t pause_drp:1; 3872 uint64_t pause_drp:1;
1001 uint64_t phy_dupx:1; 3873 uint64_t phy_dupx:1;
@@ -1017,8 +3889,32 @@ union cvmx_gmxx_rxx_int_reg {
1017 uint64_t reserved_2_2:1; 3889 uint64_t reserved_2_2:1;
1018 uint64_t carext:1; 3890 uint64_t carext:1;
1019 uint64_t reserved_0_0:1; 3891 uint64_t reserved_0_0:1;
3892#else
3893 uint64_t reserved_0_0:1;
3894 uint64_t carext:1;
3895 uint64_t reserved_2_2:1;
3896 uint64_t jabber:1;
3897 uint64_t fcserr:1;
3898 uint64_t alnerr:1;
3899 uint64_t reserved_6_6:1;
3900 uint64_t rcverr:1;
3901 uint64_t skperr:1;
3902 uint64_t niberr:1;
3903 uint64_t ovrerr:1;
3904 uint64_t pcterr:1;
3905 uint64_t rsverr:1;
3906 uint64_t falerr:1;
3907 uint64_t coldet:1;
3908 uint64_t ifgerr:1;
3909 uint64_t phy_link:1;
3910 uint64_t phy_spd:1;
3911 uint64_t phy_dupx:1;
3912 uint64_t pause_drp:1;
3913 uint64_t reserved_20_63:44;
3914#endif
1020 } cn50xx; 3915 } cn50xx;
1021 struct cvmx_gmxx_rxx_int_reg_cn52xx { 3916 struct cvmx_gmxx_rxx_int_reg_cn52xx {
3917#ifdef __BIG_ENDIAN_BITFIELD
1022 uint64_t reserved_29_63:35; 3918 uint64_t reserved_29_63:35;
1023 uint64_t hg2cc:1; 3919 uint64_t hg2cc:1;
1024 uint64_t hg2fld:1; 3920 uint64_t hg2fld:1;
@@ -1046,10 +3942,40 @@ union cvmx_gmxx_rxx_int_reg {
1046 uint64_t reserved_2_2:1; 3942 uint64_t reserved_2_2:1;
1047 uint64_t carext:1; 3943 uint64_t carext:1;
1048 uint64_t reserved_0_0:1; 3944 uint64_t reserved_0_0:1;
3945#else
3946 uint64_t reserved_0_0:1;
3947 uint64_t carext:1;
3948 uint64_t reserved_2_2:1;
3949 uint64_t jabber:1;
3950 uint64_t fcserr:1;
3951 uint64_t reserved_5_6:2;
3952 uint64_t rcverr:1;
3953 uint64_t skperr:1;
3954 uint64_t reserved_9_9:1;
3955 uint64_t ovrerr:1;
3956 uint64_t pcterr:1;
3957 uint64_t rsverr:1;
3958 uint64_t falerr:1;
3959 uint64_t coldet:1;
3960 uint64_t ifgerr:1;
3961 uint64_t reserved_16_18:3;
3962 uint64_t pause_drp:1;
3963 uint64_t loc_fault:1;
3964 uint64_t rem_fault:1;
3965 uint64_t bad_seq:1;
3966 uint64_t bad_term:1;
3967 uint64_t unsop:1;
3968 uint64_t uneop:1;
3969 uint64_t undat:1;
3970 uint64_t hg2fld:1;
3971 uint64_t hg2cc:1;
3972 uint64_t reserved_29_63:35;
3973#endif
1049 } cn52xx; 3974 } cn52xx;
1050 struct cvmx_gmxx_rxx_int_reg_cn52xx cn52xxp1; 3975 struct cvmx_gmxx_rxx_int_reg_cn52xx cn52xxp1;
1051 struct cvmx_gmxx_rxx_int_reg_cn52xx cn56xx; 3976 struct cvmx_gmxx_rxx_int_reg_cn52xx cn56xx;
1052 struct cvmx_gmxx_rxx_int_reg_cn56xxp1 { 3977 struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
3978#ifdef __BIG_ENDIAN_BITFIELD
1053 uint64_t reserved_27_63:37; 3979 uint64_t reserved_27_63:37;
1054 uint64_t undat:1; 3980 uint64_t undat:1;
1055 uint64_t uneop:1; 3981 uint64_t uneop:1;
@@ -1075,8 +4001,36 @@ union cvmx_gmxx_rxx_int_reg {
1075 uint64_t reserved_2_2:1; 4001 uint64_t reserved_2_2:1;
1076 uint64_t carext:1; 4002 uint64_t carext:1;
1077 uint64_t reserved_0_0:1; 4003 uint64_t reserved_0_0:1;
4004#else
4005 uint64_t reserved_0_0:1;
4006 uint64_t carext:1;
4007 uint64_t reserved_2_2:1;
4008 uint64_t jabber:1;
4009 uint64_t fcserr:1;
4010 uint64_t reserved_5_6:2;
4011 uint64_t rcverr:1;
4012 uint64_t skperr:1;
4013 uint64_t reserved_9_9:1;
4014 uint64_t ovrerr:1;
4015 uint64_t pcterr:1;
4016 uint64_t rsverr:1;
4017 uint64_t falerr:1;
4018 uint64_t coldet:1;
4019 uint64_t ifgerr:1;
4020 uint64_t reserved_16_18:3;
4021 uint64_t pause_drp:1;
4022 uint64_t loc_fault:1;
4023 uint64_t rem_fault:1;
4024 uint64_t bad_seq:1;
4025 uint64_t bad_term:1;
4026 uint64_t unsop:1;
4027 uint64_t uneop:1;
4028 uint64_t undat:1;
4029 uint64_t reserved_27_63:37;
4030#endif
1078 } cn56xxp1; 4031 } cn56xxp1;
1079 struct cvmx_gmxx_rxx_int_reg_cn58xx { 4032 struct cvmx_gmxx_rxx_int_reg_cn58xx {
4033#ifdef __BIG_ENDIAN_BITFIELD
1080 uint64_t reserved_20_63:44; 4034 uint64_t reserved_20_63:44;
1081 uint64_t pause_drp:1; 4035 uint64_t pause_drp:1;
1082 uint64_t phy_dupx:1; 4036 uint64_t phy_dupx:1;
@@ -1098,15 +4052,108 @@ union cvmx_gmxx_rxx_int_reg {
1098 uint64_t maxerr:1; 4052 uint64_t maxerr:1;
1099 uint64_t carext:1; 4053 uint64_t carext:1;
1100 uint64_t minerr:1; 4054 uint64_t minerr:1;
4055#else
4056 uint64_t minerr:1;
4057 uint64_t carext:1;
4058 uint64_t maxerr:1;
4059 uint64_t jabber:1;
4060 uint64_t fcserr:1;
4061 uint64_t alnerr:1;
4062 uint64_t lenerr:1;
4063 uint64_t rcverr:1;
4064 uint64_t skperr:1;
4065 uint64_t niberr:1;
4066 uint64_t ovrerr:1;
4067 uint64_t pcterr:1;
4068 uint64_t rsverr:1;
4069 uint64_t falerr:1;
4070 uint64_t coldet:1;
4071 uint64_t ifgerr:1;
4072 uint64_t phy_link:1;
4073 uint64_t phy_spd:1;
4074 uint64_t phy_dupx:1;
4075 uint64_t pause_drp:1;
4076 uint64_t reserved_20_63:44;
4077#endif
1101 } cn58xx; 4078 } cn58xx;
1102 struct cvmx_gmxx_rxx_int_reg_cn58xx cn58xxp1; 4079 struct cvmx_gmxx_rxx_int_reg_cn58xx cn58xxp1;
4080 struct cvmx_gmxx_rxx_int_reg_cn61xx {
4081#ifdef __BIG_ENDIAN_BITFIELD
4082 uint64_t reserved_29_63:35;
4083 uint64_t hg2cc:1;
4084 uint64_t hg2fld:1;
4085 uint64_t undat:1;
4086 uint64_t uneop:1;
4087 uint64_t unsop:1;
4088 uint64_t bad_term:1;
4089 uint64_t bad_seq:1;
4090 uint64_t rem_fault:1;
4091 uint64_t loc_fault:1;
4092 uint64_t pause_drp:1;
4093 uint64_t reserved_16_18:3;
4094 uint64_t ifgerr:1;
4095 uint64_t coldet:1;
4096 uint64_t falerr:1;
4097 uint64_t rsverr:1;
4098 uint64_t pcterr:1;
4099 uint64_t ovrerr:1;
4100 uint64_t reserved_9_9:1;
4101 uint64_t skperr:1;
4102 uint64_t rcverr:1;
4103 uint64_t reserved_5_6:2;
4104 uint64_t fcserr:1;
4105 uint64_t jabber:1;
4106 uint64_t reserved_2_2:1;
4107 uint64_t carext:1;
4108 uint64_t minerr:1;
4109#else
4110 uint64_t minerr:1;
4111 uint64_t carext:1;
4112 uint64_t reserved_2_2:1;
4113 uint64_t jabber:1;
4114 uint64_t fcserr:1;
4115 uint64_t reserved_5_6:2;
4116 uint64_t rcverr:1;
4117 uint64_t skperr:1;
4118 uint64_t reserved_9_9:1;
4119 uint64_t ovrerr:1;
4120 uint64_t pcterr:1;
4121 uint64_t rsverr:1;
4122 uint64_t falerr:1;
4123 uint64_t coldet:1;
4124 uint64_t ifgerr:1;
4125 uint64_t reserved_16_18:3;
4126 uint64_t pause_drp:1;
4127 uint64_t loc_fault:1;
4128 uint64_t rem_fault:1;
4129 uint64_t bad_seq:1;
4130 uint64_t bad_term:1;
4131 uint64_t unsop:1;
4132 uint64_t uneop:1;
4133 uint64_t undat:1;
4134 uint64_t hg2fld:1;
4135 uint64_t hg2cc:1;
4136 uint64_t reserved_29_63:35;
4137#endif
4138 } cn61xx;
4139 struct cvmx_gmxx_rxx_int_reg_cn61xx cn63xx;
4140 struct cvmx_gmxx_rxx_int_reg_cn61xx cn63xxp1;
4141 struct cvmx_gmxx_rxx_int_reg_cn61xx cn66xx;
4142 struct cvmx_gmxx_rxx_int_reg_cn61xx cn68xx;
4143 struct cvmx_gmxx_rxx_int_reg_cn61xx cn68xxp1;
4144 struct cvmx_gmxx_rxx_int_reg_cn61xx cnf71xx;
1103}; 4145};
1104 4146
1105union cvmx_gmxx_rxx_jabber { 4147union cvmx_gmxx_rxx_jabber {
1106 uint64_t u64; 4148 uint64_t u64;
1107 struct cvmx_gmxx_rxx_jabber_s { 4149 struct cvmx_gmxx_rxx_jabber_s {
4150#ifdef __BIG_ENDIAN_BITFIELD
1108 uint64_t reserved_16_63:48; 4151 uint64_t reserved_16_63:48;
1109 uint64_t cnt:16; 4152 uint64_t cnt:16;
4153#else
4154 uint64_t cnt:16;
4155 uint64_t reserved_16_63:48;
4156#endif
1110 } s; 4157 } s;
1111 struct cvmx_gmxx_rxx_jabber_s cn30xx; 4158 struct cvmx_gmxx_rxx_jabber_s cn30xx;
1112 struct cvmx_gmxx_rxx_jabber_s cn31xx; 4159 struct cvmx_gmxx_rxx_jabber_s cn31xx;
@@ -1119,13 +4166,25 @@ union cvmx_gmxx_rxx_jabber {
1119 struct cvmx_gmxx_rxx_jabber_s cn56xxp1; 4166 struct cvmx_gmxx_rxx_jabber_s cn56xxp1;
1120 struct cvmx_gmxx_rxx_jabber_s cn58xx; 4167 struct cvmx_gmxx_rxx_jabber_s cn58xx;
1121 struct cvmx_gmxx_rxx_jabber_s cn58xxp1; 4168 struct cvmx_gmxx_rxx_jabber_s cn58xxp1;
4169 struct cvmx_gmxx_rxx_jabber_s cn61xx;
4170 struct cvmx_gmxx_rxx_jabber_s cn63xx;
4171 struct cvmx_gmxx_rxx_jabber_s cn63xxp1;
4172 struct cvmx_gmxx_rxx_jabber_s cn66xx;
4173 struct cvmx_gmxx_rxx_jabber_s cn68xx;
4174 struct cvmx_gmxx_rxx_jabber_s cn68xxp1;
4175 struct cvmx_gmxx_rxx_jabber_s cnf71xx;
1122}; 4176};
1123 4177
1124union cvmx_gmxx_rxx_pause_drop_time { 4178union cvmx_gmxx_rxx_pause_drop_time {
1125 uint64_t u64; 4179 uint64_t u64;
1126 struct cvmx_gmxx_rxx_pause_drop_time_s { 4180 struct cvmx_gmxx_rxx_pause_drop_time_s {
4181#ifdef __BIG_ENDIAN_BITFIELD
1127 uint64_t reserved_16_63:48; 4182 uint64_t reserved_16_63:48;
1128 uint64_t status:16; 4183 uint64_t status:16;
4184#else
4185 uint64_t status:16;
4186 uint64_t reserved_16_63:48;
4187#endif
1129 } s; 4188 } s;
1130 struct cvmx_gmxx_rxx_pause_drop_time_s cn50xx; 4189 struct cvmx_gmxx_rxx_pause_drop_time_s cn50xx;
1131 struct cvmx_gmxx_rxx_pause_drop_time_s cn52xx; 4190 struct cvmx_gmxx_rxx_pause_drop_time_s cn52xx;
@@ -1134,15 +4193,29 @@ union cvmx_gmxx_rxx_pause_drop_time {
1134 struct cvmx_gmxx_rxx_pause_drop_time_s cn56xxp1; 4193 struct cvmx_gmxx_rxx_pause_drop_time_s cn56xxp1;
1135 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xx; 4194 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xx;
1136 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xxp1; 4195 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xxp1;
4196 struct cvmx_gmxx_rxx_pause_drop_time_s cn61xx;
4197 struct cvmx_gmxx_rxx_pause_drop_time_s cn63xx;
4198 struct cvmx_gmxx_rxx_pause_drop_time_s cn63xxp1;
4199 struct cvmx_gmxx_rxx_pause_drop_time_s cn66xx;
4200 struct cvmx_gmxx_rxx_pause_drop_time_s cn68xx;
4201 struct cvmx_gmxx_rxx_pause_drop_time_s cn68xxp1;
4202 struct cvmx_gmxx_rxx_pause_drop_time_s cnf71xx;
1137}; 4203};
1138 4204
1139union cvmx_gmxx_rxx_rx_inbnd { 4205union cvmx_gmxx_rxx_rx_inbnd {
1140 uint64_t u64; 4206 uint64_t u64;
1141 struct cvmx_gmxx_rxx_rx_inbnd_s { 4207 struct cvmx_gmxx_rxx_rx_inbnd_s {
4208#ifdef __BIG_ENDIAN_BITFIELD
1142 uint64_t reserved_4_63:60; 4209 uint64_t reserved_4_63:60;
1143 uint64_t duplex:1; 4210 uint64_t duplex:1;
1144 uint64_t speed:2; 4211 uint64_t speed:2;
1145 uint64_t status:1; 4212 uint64_t status:1;
4213#else
4214 uint64_t status:1;
4215 uint64_t speed:2;
4216 uint64_t duplex:1;
4217 uint64_t reserved_4_63:60;
4218#endif
1146 } s; 4219 } s;
1147 struct cvmx_gmxx_rxx_rx_inbnd_s cn30xx; 4220 struct cvmx_gmxx_rxx_rx_inbnd_s cn30xx;
1148 struct cvmx_gmxx_rxx_rx_inbnd_s cn31xx; 4221 struct cvmx_gmxx_rxx_rx_inbnd_s cn31xx;
@@ -1156,8 +4229,13 @@ union cvmx_gmxx_rxx_rx_inbnd {
1156union cvmx_gmxx_rxx_stats_ctl { 4229union cvmx_gmxx_rxx_stats_ctl {
1157 uint64_t u64; 4230 uint64_t u64;
1158 struct cvmx_gmxx_rxx_stats_ctl_s { 4231 struct cvmx_gmxx_rxx_stats_ctl_s {
4232#ifdef __BIG_ENDIAN_BITFIELD
1159 uint64_t reserved_1_63:63; 4233 uint64_t reserved_1_63:63;
1160 uint64_t rd_clr:1; 4234 uint64_t rd_clr:1;
4235#else
4236 uint64_t rd_clr:1;
4237 uint64_t reserved_1_63:63;
4238#endif
1161 } s; 4239 } s;
1162 struct cvmx_gmxx_rxx_stats_ctl_s cn30xx; 4240 struct cvmx_gmxx_rxx_stats_ctl_s cn30xx;
1163 struct cvmx_gmxx_rxx_stats_ctl_s cn31xx; 4241 struct cvmx_gmxx_rxx_stats_ctl_s cn31xx;
@@ -1170,13 +4248,25 @@ union cvmx_gmxx_rxx_stats_ctl {
1170 struct cvmx_gmxx_rxx_stats_ctl_s cn56xxp1; 4248 struct cvmx_gmxx_rxx_stats_ctl_s cn56xxp1;
1171 struct cvmx_gmxx_rxx_stats_ctl_s cn58xx; 4249 struct cvmx_gmxx_rxx_stats_ctl_s cn58xx;
1172 struct cvmx_gmxx_rxx_stats_ctl_s cn58xxp1; 4250 struct cvmx_gmxx_rxx_stats_ctl_s cn58xxp1;
4251 struct cvmx_gmxx_rxx_stats_ctl_s cn61xx;
4252 struct cvmx_gmxx_rxx_stats_ctl_s cn63xx;
4253 struct cvmx_gmxx_rxx_stats_ctl_s cn63xxp1;
4254 struct cvmx_gmxx_rxx_stats_ctl_s cn66xx;
4255 struct cvmx_gmxx_rxx_stats_ctl_s cn68xx;
4256 struct cvmx_gmxx_rxx_stats_ctl_s cn68xxp1;
4257 struct cvmx_gmxx_rxx_stats_ctl_s cnf71xx;
1173}; 4258};
1174 4259
1175union cvmx_gmxx_rxx_stats_octs { 4260union cvmx_gmxx_rxx_stats_octs {
1176 uint64_t u64; 4261 uint64_t u64;
1177 struct cvmx_gmxx_rxx_stats_octs_s { 4262 struct cvmx_gmxx_rxx_stats_octs_s {
4263#ifdef __BIG_ENDIAN_BITFIELD
1178 uint64_t reserved_48_63:16; 4264 uint64_t reserved_48_63:16;
1179 uint64_t cnt:48; 4265 uint64_t cnt:48;
4266#else
4267 uint64_t cnt:48;
4268 uint64_t reserved_48_63:16;
4269#endif
1180 } s; 4270 } s;
1181 struct cvmx_gmxx_rxx_stats_octs_s cn30xx; 4271 struct cvmx_gmxx_rxx_stats_octs_s cn30xx;
1182 struct cvmx_gmxx_rxx_stats_octs_s cn31xx; 4272 struct cvmx_gmxx_rxx_stats_octs_s cn31xx;
@@ -1189,13 +4279,25 @@ union cvmx_gmxx_rxx_stats_octs {
1189 struct cvmx_gmxx_rxx_stats_octs_s cn56xxp1; 4279 struct cvmx_gmxx_rxx_stats_octs_s cn56xxp1;
1190 struct cvmx_gmxx_rxx_stats_octs_s cn58xx; 4280 struct cvmx_gmxx_rxx_stats_octs_s cn58xx;
1191 struct cvmx_gmxx_rxx_stats_octs_s cn58xxp1; 4281 struct cvmx_gmxx_rxx_stats_octs_s cn58xxp1;
4282 struct cvmx_gmxx_rxx_stats_octs_s cn61xx;
4283 struct cvmx_gmxx_rxx_stats_octs_s cn63xx;
4284 struct cvmx_gmxx_rxx_stats_octs_s cn63xxp1;
4285 struct cvmx_gmxx_rxx_stats_octs_s cn66xx;
4286 struct cvmx_gmxx_rxx_stats_octs_s cn68xx;
4287 struct cvmx_gmxx_rxx_stats_octs_s cn68xxp1;
4288 struct cvmx_gmxx_rxx_stats_octs_s cnf71xx;
1192}; 4289};
1193 4290
1194union cvmx_gmxx_rxx_stats_octs_ctl { 4291union cvmx_gmxx_rxx_stats_octs_ctl {
1195 uint64_t u64; 4292 uint64_t u64;
1196 struct cvmx_gmxx_rxx_stats_octs_ctl_s { 4293 struct cvmx_gmxx_rxx_stats_octs_ctl_s {
4294#ifdef __BIG_ENDIAN_BITFIELD
1197 uint64_t reserved_48_63:16; 4295 uint64_t reserved_48_63:16;
1198 uint64_t cnt:48; 4296 uint64_t cnt:48;
4297#else
4298 uint64_t cnt:48;
4299 uint64_t reserved_48_63:16;
4300#endif
1199 } s; 4301 } s;
1200 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn30xx; 4302 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn30xx;
1201 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn31xx; 4303 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn31xx;
@@ -1208,13 +4310,25 @@ union cvmx_gmxx_rxx_stats_octs_ctl {
1208 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xxp1; 4310 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xxp1;
1209 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xx; 4311 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xx;
1210 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xxp1; 4312 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xxp1;
4313 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn61xx;
4314 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn63xx;
4315 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn63xxp1;
4316 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn66xx;
4317 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn68xx;
4318 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn68xxp1;
4319 struct cvmx_gmxx_rxx_stats_octs_ctl_s cnf71xx;
1211}; 4320};
1212 4321
1213union cvmx_gmxx_rxx_stats_octs_dmac { 4322union cvmx_gmxx_rxx_stats_octs_dmac {
1214 uint64_t u64; 4323 uint64_t u64;
1215 struct cvmx_gmxx_rxx_stats_octs_dmac_s { 4324 struct cvmx_gmxx_rxx_stats_octs_dmac_s {
4325#ifdef __BIG_ENDIAN_BITFIELD
1216 uint64_t reserved_48_63:16; 4326 uint64_t reserved_48_63:16;
1217 uint64_t cnt:48; 4327 uint64_t cnt:48;
4328#else
4329 uint64_t cnt:48;
4330 uint64_t reserved_48_63:16;
4331#endif
1218 } s; 4332 } s;
1219 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn30xx; 4333 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn30xx;
1220 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn31xx; 4334 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn31xx;
@@ -1227,13 +4341,25 @@ union cvmx_gmxx_rxx_stats_octs_dmac {
1227 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xxp1; 4341 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xxp1;
1228 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xx; 4342 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xx;
1229 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xxp1; 4343 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xxp1;
4344 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn61xx;
4345 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn63xx;
4346 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn63xxp1;
4347 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn66xx;
4348 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn68xx;
4349 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn68xxp1;
4350 struct cvmx_gmxx_rxx_stats_octs_dmac_s cnf71xx;
1230}; 4351};
1231 4352
1232union cvmx_gmxx_rxx_stats_octs_drp { 4353union cvmx_gmxx_rxx_stats_octs_drp {
1233 uint64_t u64; 4354 uint64_t u64;
1234 struct cvmx_gmxx_rxx_stats_octs_drp_s { 4355 struct cvmx_gmxx_rxx_stats_octs_drp_s {
4356#ifdef __BIG_ENDIAN_BITFIELD
1235 uint64_t reserved_48_63:16; 4357 uint64_t reserved_48_63:16;
1236 uint64_t cnt:48; 4358 uint64_t cnt:48;
4359#else
4360 uint64_t cnt:48;
4361 uint64_t reserved_48_63:16;
4362#endif
1237 } s; 4363 } s;
1238 struct cvmx_gmxx_rxx_stats_octs_drp_s cn30xx; 4364 struct cvmx_gmxx_rxx_stats_octs_drp_s cn30xx;
1239 struct cvmx_gmxx_rxx_stats_octs_drp_s cn31xx; 4365 struct cvmx_gmxx_rxx_stats_octs_drp_s cn31xx;
@@ -1246,13 +4372,25 @@ union cvmx_gmxx_rxx_stats_octs_drp {
1246 struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xxp1; 4372 struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xxp1;
1247 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xx; 4373 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xx;
1248 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xxp1; 4374 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xxp1;
4375 struct cvmx_gmxx_rxx_stats_octs_drp_s cn61xx;
4376 struct cvmx_gmxx_rxx_stats_octs_drp_s cn63xx;
4377 struct cvmx_gmxx_rxx_stats_octs_drp_s cn63xxp1;
4378 struct cvmx_gmxx_rxx_stats_octs_drp_s cn66xx;
4379 struct cvmx_gmxx_rxx_stats_octs_drp_s cn68xx;
4380 struct cvmx_gmxx_rxx_stats_octs_drp_s cn68xxp1;
4381 struct cvmx_gmxx_rxx_stats_octs_drp_s cnf71xx;
1249}; 4382};
1250 4383
1251union cvmx_gmxx_rxx_stats_pkts { 4384union cvmx_gmxx_rxx_stats_pkts {
1252 uint64_t u64; 4385 uint64_t u64;
1253 struct cvmx_gmxx_rxx_stats_pkts_s { 4386 struct cvmx_gmxx_rxx_stats_pkts_s {
4387#ifdef __BIG_ENDIAN_BITFIELD
1254 uint64_t reserved_32_63:32; 4388 uint64_t reserved_32_63:32;
1255 uint64_t cnt:32; 4389 uint64_t cnt:32;
4390#else
4391 uint64_t cnt:32;
4392 uint64_t reserved_32_63:32;
4393#endif
1256 } s; 4394 } s;
1257 struct cvmx_gmxx_rxx_stats_pkts_s cn30xx; 4395 struct cvmx_gmxx_rxx_stats_pkts_s cn30xx;
1258 struct cvmx_gmxx_rxx_stats_pkts_s cn31xx; 4396 struct cvmx_gmxx_rxx_stats_pkts_s cn31xx;
@@ -1265,13 +4403,25 @@ union cvmx_gmxx_rxx_stats_pkts {
1265 struct cvmx_gmxx_rxx_stats_pkts_s cn56xxp1; 4403 struct cvmx_gmxx_rxx_stats_pkts_s cn56xxp1;
1266 struct cvmx_gmxx_rxx_stats_pkts_s cn58xx; 4404 struct cvmx_gmxx_rxx_stats_pkts_s cn58xx;
1267 struct cvmx_gmxx_rxx_stats_pkts_s cn58xxp1; 4405 struct cvmx_gmxx_rxx_stats_pkts_s cn58xxp1;
4406 struct cvmx_gmxx_rxx_stats_pkts_s cn61xx;
4407 struct cvmx_gmxx_rxx_stats_pkts_s cn63xx;
4408 struct cvmx_gmxx_rxx_stats_pkts_s cn63xxp1;
4409 struct cvmx_gmxx_rxx_stats_pkts_s cn66xx;
4410 struct cvmx_gmxx_rxx_stats_pkts_s cn68xx;
4411 struct cvmx_gmxx_rxx_stats_pkts_s cn68xxp1;
4412 struct cvmx_gmxx_rxx_stats_pkts_s cnf71xx;
1268}; 4413};
1269 4414
1270union cvmx_gmxx_rxx_stats_pkts_bad { 4415union cvmx_gmxx_rxx_stats_pkts_bad {
1271 uint64_t u64; 4416 uint64_t u64;
1272 struct cvmx_gmxx_rxx_stats_pkts_bad_s { 4417 struct cvmx_gmxx_rxx_stats_pkts_bad_s {
4418#ifdef __BIG_ENDIAN_BITFIELD
1273 uint64_t reserved_32_63:32; 4419 uint64_t reserved_32_63:32;
1274 uint64_t cnt:32; 4420 uint64_t cnt:32;
4421#else
4422 uint64_t cnt:32;
4423 uint64_t reserved_32_63:32;
4424#endif
1275 } s; 4425 } s;
1276 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn30xx; 4426 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn30xx;
1277 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn31xx; 4427 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn31xx;
@@ -1284,13 +4434,25 @@ union cvmx_gmxx_rxx_stats_pkts_bad {
1284 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xxp1; 4434 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xxp1;
1285 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xx; 4435 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xx;
1286 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xxp1; 4436 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xxp1;
4437 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn61xx;
4438 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn63xx;
4439 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn63xxp1;
4440 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn66xx;
4441 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn68xx;
4442 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn68xxp1;
4443 struct cvmx_gmxx_rxx_stats_pkts_bad_s cnf71xx;
1287}; 4444};
1288 4445
1289union cvmx_gmxx_rxx_stats_pkts_ctl { 4446union cvmx_gmxx_rxx_stats_pkts_ctl {
1290 uint64_t u64; 4447 uint64_t u64;
1291 struct cvmx_gmxx_rxx_stats_pkts_ctl_s { 4448 struct cvmx_gmxx_rxx_stats_pkts_ctl_s {
4449#ifdef __BIG_ENDIAN_BITFIELD
1292 uint64_t reserved_32_63:32; 4450 uint64_t reserved_32_63:32;
1293 uint64_t cnt:32; 4451 uint64_t cnt:32;
4452#else
4453 uint64_t cnt:32;
4454 uint64_t reserved_32_63:32;
4455#endif
1294 } s; 4456 } s;
1295 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn30xx; 4457 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn30xx;
1296 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn31xx; 4458 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn31xx;
@@ -1303,13 +4465,25 @@ union cvmx_gmxx_rxx_stats_pkts_ctl {
1303 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xxp1; 4465 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xxp1;
1304 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xx; 4466 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xx;
1305 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xxp1; 4467 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xxp1;
4468 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn61xx;
4469 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn63xx;
4470 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn63xxp1;
4471 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn66xx;
4472 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn68xx;
4473 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn68xxp1;
4474 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cnf71xx;
1306}; 4475};
1307 4476
1308union cvmx_gmxx_rxx_stats_pkts_dmac { 4477union cvmx_gmxx_rxx_stats_pkts_dmac {
1309 uint64_t u64; 4478 uint64_t u64;
1310 struct cvmx_gmxx_rxx_stats_pkts_dmac_s { 4479 struct cvmx_gmxx_rxx_stats_pkts_dmac_s {
4480#ifdef __BIG_ENDIAN_BITFIELD
1311 uint64_t reserved_32_63:32; 4481 uint64_t reserved_32_63:32;
1312 uint64_t cnt:32; 4482 uint64_t cnt:32;
4483#else
4484 uint64_t cnt:32;
4485 uint64_t reserved_32_63:32;
4486#endif
1313 } s; 4487 } s;
1314 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn30xx; 4488 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn30xx;
1315 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn31xx; 4489 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn31xx;
@@ -1322,13 +4496,25 @@ union cvmx_gmxx_rxx_stats_pkts_dmac {
1322 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xxp1; 4496 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xxp1;
1323 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xx; 4497 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xx;
1324 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xxp1; 4498 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xxp1;
4499 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn61xx;
4500 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn63xx;
4501 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn63xxp1;
4502 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn66xx;
4503 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn68xx;
4504 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn68xxp1;
4505 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cnf71xx;
1325}; 4506};
1326 4507
1327union cvmx_gmxx_rxx_stats_pkts_drp { 4508union cvmx_gmxx_rxx_stats_pkts_drp {
1328 uint64_t u64; 4509 uint64_t u64;
1329 struct cvmx_gmxx_rxx_stats_pkts_drp_s { 4510 struct cvmx_gmxx_rxx_stats_pkts_drp_s {
4511#ifdef __BIG_ENDIAN_BITFIELD
1330 uint64_t reserved_32_63:32; 4512 uint64_t reserved_32_63:32;
1331 uint64_t cnt:32; 4513 uint64_t cnt:32;
4514#else
4515 uint64_t cnt:32;
4516 uint64_t reserved_32_63:32;
4517#endif
1332 } s; 4518 } s;
1333 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn30xx; 4519 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn30xx;
1334 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn31xx; 4520 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn31xx;
@@ -1341,15 +4527,29 @@ union cvmx_gmxx_rxx_stats_pkts_drp {
1341 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xxp1; 4527 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xxp1;
1342 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xx; 4528 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xx;
1343 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xxp1; 4529 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xxp1;
4530 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn61xx;
4531 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn63xx;
4532 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn63xxp1;
4533 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn66xx;
4534 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn68xx;
4535 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn68xxp1;
4536 struct cvmx_gmxx_rxx_stats_pkts_drp_s cnf71xx;
1344}; 4537};
1345 4538
1346union cvmx_gmxx_rxx_udd_skp { 4539union cvmx_gmxx_rxx_udd_skp {
1347 uint64_t u64; 4540 uint64_t u64;
1348 struct cvmx_gmxx_rxx_udd_skp_s { 4541 struct cvmx_gmxx_rxx_udd_skp_s {
4542#ifdef __BIG_ENDIAN_BITFIELD
1349 uint64_t reserved_9_63:55; 4543 uint64_t reserved_9_63:55;
1350 uint64_t fcssel:1; 4544 uint64_t fcssel:1;
1351 uint64_t reserved_7_7:1; 4545 uint64_t reserved_7_7:1;
1352 uint64_t len:7; 4546 uint64_t len:7;
4547#else
4548 uint64_t len:7;
4549 uint64_t reserved_7_7:1;
4550 uint64_t fcssel:1;
4551 uint64_t reserved_9_63:55;
4552#endif
1353 } s; 4553 } s;
1354 struct cvmx_gmxx_rxx_udd_skp_s cn30xx; 4554 struct cvmx_gmxx_rxx_udd_skp_s cn30xx;
1355 struct cvmx_gmxx_rxx_udd_skp_s cn31xx; 4555 struct cvmx_gmxx_rxx_udd_skp_s cn31xx;
@@ -1362,13 +4562,25 @@ union cvmx_gmxx_rxx_udd_skp {
1362 struct cvmx_gmxx_rxx_udd_skp_s cn56xxp1; 4562 struct cvmx_gmxx_rxx_udd_skp_s cn56xxp1;
1363 struct cvmx_gmxx_rxx_udd_skp_s cn58xx; 4563 struct cvmx_gmxx_rxx_udd_skp_s cn58xx;
1364 struct cvmx_gmxx_rxx_udd_skp_s cn58xxp1; 4564 struct cvmx_gmxx_rxx_udd_skp_s cn58xxp1;
4565 struct cvmx_gmxx_rxx_udd_skp_s cn61xx;
4566 struct cvmx_gmxx_rxx_udd_skp_s cn63xx;
4567 struct cvmx_gmxx_rxx_udd_skp_s cn63xxp1;
4568 struct cvmx_gmxx_rxx_udd_skp_s cn66xx;
4569 struct cvmx_gmxx_rxx_udd_skp_s cn68xx;
4570 struct cvmx_gmxx_rxx_udd_skp_s cn68xxp1;
4571 struct cvmx_gmxx_rxx_udd_skp_s cnf71xx;
1365}; 4572};
1366 4573
1367union cvmx_gmxx_rx_bp_dropx { 4574union cvmx_gmxx_rx_bp_dropx {
1368 uint64_t u64; 4575 uint64_t u64;
1369 struct cvmx_gmxx_rx_bp_dropx_s { 4576 struct cvmx_gmxx_rx_bp_dropx_s {
4577#ifdef __BIG_ENDIAN_BITFIELD
1370 uint64_t reserved_6_63:58; 4578 uint64_t reserved_6_63:58;
1371 uint64_t mark:6; 4579 uint64_t mark:6;
4580#else
4581 uint64_t mark:6;
4582 uint64_t reserved_6_63:58;
4583#endif
1372 } s; 4584 } s;
1373 struct cvmx_gmxx_rx_bp_dropx_s cn30xx; 4585 struct cvmx_gmxx_rx_bp_dropx_s cn30xx;
1374 struct cvmx_gmxx_rx_bp_dropx_s cn31xx; 4586 struct cvmx_gmxx_rx_bp_dropx_s cn31xx;
@@ -1381,13 +4593,25 @@ union cvmx_gmxx_rx_bp_dropx {
1381 struct cvmx_gmxx_rx_bp_dropx_s cn56xxp1; 4593 struct cvmx_gmxx_rx_bp_dropx_s cn56xxp1;
1382 struct cvmx_gmxx_rx_bp_dropx_s cn58xx; 4594 struct cvmx_gmxx_rx_bp_dropx_s cn58xx;
1383 struct cvmx_gmxx_rx_bp_dropx_s cn58xxp1; 4595 struct cvmx_gmxx_rx_bp_dropx_s cn58xxp1;
4596 struct cvmx_gmxx_rx_bp_dropx_s cn61xx;
4597 struct cvmx_gmxx_rx_bp_dropx_s cn63xx;
4598 struct cvmx_gmxx_rx_bp_dropx_s cn63xxp1;
4599 struct cvmx_gmxx_rx_bp_dropx_s cn66xx;
4600 struct cvmx_gmxx_rx_bp_dropx_s cn68xx;
4601 struct cvmx_gmxx_rx_bp_dropx_s cn68xxp1;
4602 struct cvmx_gmxx_rx_bp_dropx_s cnf71xx;
1384}; 4603};
1385 4604
1386union cvmx_gmxx_rx_bp_offx { 4605union cvmx_gmxx_rx_bp_offx {
1387 uint64_t u64; 4606 uint64_t u64;
1388 struct cvmx_gmxx_rx_bp_offx_s { 4607 struct cvmx_gmxx_rx_bp_offx_s {
4608#ifdef __BIG_ENDIAN_BITFIELD
1389 uint64_t reserved_6_63:58; 4609 uint64_t reserved_6_63:58;
1390 uint64_t mark:6; 4610 uint64_t mark:6;
4611#else
4612 uint64_t mark:6;
4613 uint64_t reserved_6_63:58;
4614#endif
1391 } s; 4615 } s;
1392 struct cvmx_gmxx_rx_bp_offx_s cn30xx; 4616 struct cvmx_gmxx_rx_bp_offx_s cn30xx;
1393 struct cvmx_gmxx_rx_bp_offx_s cn31xx; 4617 struct cvmx_gmxx_rx_bp_offx_s cn31xx;
@@ -1400,45 +4624,91 @@ union cvmx_gmxx_rx_bp_offx {
1400 struct cvmx_gmxx_rx_bp_offx_s cn56xxp1; 4624 struct cvmx_gmxx_rx_bp_offx_s cn56xxp1;
1401 struct cvmx_gmxx_rx_bp_offx_s cn58xx; 4625 struct cvmx_gmxx_rx_bp_offx_s cn58xx;
1402 struct cvmx_gmxx_rx_bp_offx_s cn58xxp1; 4626 struct cvmx_gmxx_rx_bp_offx_s cn58xxp1;
4627 struct cvmx_gmxx_rx_bp_offx_s cn61xx;
4628 struct cvmx_gmxx_rx_bp_offx_s cn63xx;
4629 struct cvmx_gmxx_rx_bp_offx_s cn63xxp1;
4630 struct cvmx_gmxx_rx_bp_offx_s cn66xx;
4631 struct cvmx_gmxx_rx_bp_offx_s cn68xx;
4632 struct cvmx_gmxx_rx_bp_offx_s cn68xxp1;
4633 struct cvmx_gmxx_rx_bp_offx_s cnf71xx;
1403}; 4634};
1404 4635
1405union cvmx_gmxx_rx_bp_onx { 4636union cvmx_gmxx_rx_bp_onx {
1406 uint64_t u64; 4637 uint64_t u64;
1407 struct cvmx_gmxx_rx_bp_onx_s { 4638 struct cvmx_gmxx_rx_bp_onx_s {
4639#ifdef __BIG_ENDIAN_BITFIELD
4640 uint64_t reserved_11_63:53;
4641 uint64_t mark:11;
4642#else
4643 uint64_t mark:11;
4644 uint64_t reserved_11_63:53;
4645#endif
4646 } s;
4647 struct cvmx_gmxx_rx_bp_onx_cn30xx {
4648#ifdef __BIG_ENDIAN_BITFIELD
1408 uint64_t reserved_9_63:55; 4649 uint64_t reserved_9_63:55;
1409 uint64_t mark:9; 4650 uint64_t mark:9;
1410 } s; 4651#else
1411 struct cvmx_gmxx_rx_bp_onx_s cn30xx; 4652 uint64_t mark:9;
1412 struct cvmx_gmxx_rx_bp_onx_s cn31xx; 4653 uint64_t reserved_9_63:55;
1413 struct cvmx_gmxx_rx_bp_onx_s cn38xx; 4654#endif
1414 struct cvmx_gmxx_rx_bp_onx_s cn38xxp2; 4655 } cn30xx;
1415 struct cvmx_gmxx_rx_bp_onx_s cn50xx; 4656 struct cvmx_gmxx_rx_bp_onx_cn30xx cn31xx;
1416 struct cvmx_gmxx_rx_bp_onx_s cn52xx; 4657 struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xx;
1417 struct cvmx_gmxx_rx_bp_onx_s cn52xxp1; 4658 struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xxp2;
1418 struct cvmx_gmxx_rx_bp_onx_s cn56xx; 4659 struct cvmx_gmxx_rx_bp_onx_cn30xx cn50xx;
1419 struct cvmx_gmxx_rx_bp_onx_s cn56xxp1; 4660 struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xx;
1420 struct cvmx_gmxx_rx_bp_onx_s cn58xx; 4661 struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xxp1;
1421 struct cvmx_gmxx_rx_bp_onx_s cn58xxp1; 4662 struct cvmx_gmxx_rx_bp_onx_cn30xx cn56xx;
4663 struct cvmx_gmxx_rx_bp_onx_cn30xx cn56xxp1;
4664 struct cvmx_gmxx_rx_bp_onx_cn30xx cn58xx;
4665 struct cvmx_gmxx_rx_bp_onx_cn30xx cn58xxp1;
4666 struct cvmx_gmxx_rx_bp_onx_cn30xx cn61xx;
4667 struct cvmx_gmxx_rx_bp_onx_cn30xx cn63xx;
4668 struct cvmx_gmxx_rx_bp_onx_cn30xx cn63xxp1;
4669 struct cvmx_gmxx_rx_bp_onx_cn30xx cn66xx;
4670 struct cvmx_gmxx_rx_bp_onx_s cn68xx;
4671 struct cvmx_gmxx_rx_bp_onx_s cn68xxp1;
4672 struct cvmx_gmxx_rx_bp_onx_cn30xx cnf71xx;
1422}; 4673};
1423 4674
1424union cvmx_gmxx_rx_hg2_status { 4675union cvmx_gmxx_rx_hg2_status {
1425 uint64_t u64; 4676 uint64_t u64;
1426 struct cvmx_gmxx_rx_hg2_status_s { 4677 struct cvmx_gmxx_rx_hg2_status_s {
4678#ifdef __BIG_ENDIAN_BITFIELD
1427 uint64_t reserved_48_63:16; 4679 uint64_t reserved_48_63:16;
1428 uint64_t phtim2go:16; 4680 uint64_t phtim2go:16;
1429 uint64_t xof:16; 4681 uint64_t xof:16;
1430 uint64_t lgtim2go:16; 4682 uint64_t lgtim2go:16;
4683#else
4684 uint64_t lgtim2go:16;
4685 uint64_t xof:16;
4686 uint64_t phtim2go:16;
4687 uint64_t reserved_48_63:16;
4688#endif
1431 } s; 4689 } s;
1432 struct cvmx_gmxx_rx_hg2_status_s cn52xx; 4690 struct cvmx_gmxx_rx_hg2_status_s cn52xx;
1433 struct cvmx_gmxx_rx_hg2_status_s cn52xxp1; 4691 struct cvmx_gmxx_rx_hg2_status_s cn52xxp1;
1434 struct cvmx_gmxx_rx_hg2_status_s cn56xx; 4692 struct cvmx_gmxx_rx_hg2_status_s cn56xx;
4693 struct cvmx_gmxx_rx_hg2_status_s cn61xx;
4694 struct cvmx_gmxx_rx_hg2_status_s cn63xx;
4695 struct cvmx_gmxx_rx_hg2_status_s cn63xxp1;
4696 struct cvmx_gmxx_rx_hg2_status_s cn66xx;
4697 struct cvmx_gmxx_rx_hg2_status_s cn68xx;
4698 struct cvmx_gmxx_rx_hg2_status_s cn68xxp1;
4699 struct cvmx_gmxx_rx_hg2_status_s cnf71xx;
1435}; 4700};
1436 4701
1437union cvmx_gmxx_rx_pass_en { 4702union cvmx_gmxx_rx_pass_en {
1438 uint64_t u64; 4703 uint64_t u64;
1439 struct cvmx_gmxx_rx_pass_en_s { 4704 struct cvmx_gmxx_rx_pass_en_s {
4705#ifdef __BIG_ENDIAN_BITFIELD
1440 uint64_t reserved_16_63:48; 4706 uint64_t reserved_16_63:48;
1441 uint64_t en:16; 4707 uint64_t en:16;
4708#else
4709 uint64_t en:16;
4710 uint64_t reserved_16_63:48;
4711#endif
1442 } s; 4712 } s;
1443 struct cvmx_gmxx_rx_pass_en_s cn38xx; 4713 struct cvmx_gmxx_rx_pass_en_s cn38xx;
1444 struct cvmx_gmxx_rx_pass_en_s cn38xxp2; 4714 struct cvmx_gmxx_rx_pass_en_s cn38xxp2;
@@ -1449,8 +4719,13 @@ union cvmx_gmxx_rx_pass_en {
1449union cvmx_gmxx_rx_pass_mapx { 4719union cvmx_gmxx_rx_pass_mapx {
1450 uint64_t u64; 4720 uint64_t u64;
1451 struct cvmx_gmxx_rx_pass_mapx_s { 4721 struct cvmx_gmxx_rx_pass_mapx_s {
4722#ifdef __BIG_ENDIAN_BITFIELD
1452 uint64_t reserved_4_63:60; 4723 uint64_t reserved_4_63:60;
1453 uint64_t dprt:4; 4724 uint64_t dprt:4;
4725#else
4726 uint64_t dprt:4;
4727 uint64_t reserved_4_63:60;
4728#endif
1454 } s; 4729 } s;
1455 struct cvmx_gmxx_rx_pass_mapx_s cn38xx; 4730 struct cvmx_gmxx_rx_pass_mapx_s cn38xx;
1456 struct cvmx_gmxx_rx_pass_mapx_s cn38xxp2; 4731 struct cvmx_gmxx_rx_pass_mapx_s cn38xxp2;
@@ -1461,37 +4736,81 @@ union cvmx_gmxx_rx_pass_mapx {
1461union cvmx_gmxx_rx_prt_info { 4736union cvmx_gmxx_rx_prt_info {
1462 uint64_t u64; 4737 uint64_t u64;
1463 struct cvmx_gmxx_rx_prt_info_s { 4738 struct cvmx_gmxx_rx_prt_info_s {
4739#ifdef __BIG_ENDIAN_BITFIELD
1464 uint64_t reserved_32_63:32; 4740 uint64_t reserved_32_63:32;
1465 uint64_t drop:16; 4741 uint64_t drop:16;
1466 uint64_t commit:16; 4742 uint64_t commit:16;
4743#else
4744 uint64_t commit:16;
4745 uint64_t drop:16;
4746 uint64_t reserved_32_63:32;
4747#endif
1467 } s; 4748 } s;
1468 struct cvmx_gmxx_rx_prt_info_cn30xx { 4749 struct cvmx_gmxx_rx_prt_info_cn30xx {
4750#ifdef __BIG_ENDIAN_BITFIELD
1469 uint64_t reserved_19_63:45; 4751 uint64_t reserved_19_63:45;
1470 uint64_t drop:3; 4752 uint64_t drop:3;
1471 uint64_t reserved_3_15:13; 4753 uint64_t reserved_3_15:13;
1472 uint64_t commit:3; 4754 uint64_t commit:3;
4755#else
4756 uint64_t commit:3;
4757 uint64_t reserved_3_15:13;
4758 uint64_t drop:3;
4759 uint64_t reserved_19_63:45;
4760#endif
1473 } cn30xx; 4761 } cn30xx;
1474 struct cvmx_gmxx_rx_prt_info_cn30xx cn31xx; 4762 struct cvmx_gmxx_rx_prt_info_cn30xx cn31xx;
1475 struct cvmx_gmxx_rx_prt_info_s cn38xx; 4763 struct cvmx_gmxx_rx_prt_info_s cn38xx;
1476 struct cvmx_gmxx_rx_prt_info_cn30xx cn50xx; 4764 struct cvmx_gmxx_rx_prt_info_cn30xx cn50xx;
1477 struct cvmx_gmxx_rx_prt_info_cn52xx { 4765 struct cvmx_gmxx_rx_prt_info_cn52xx {
4766#ifdef __BIG_ENDIAN_BITFIELD
1478 uint64_t reserved_20_63:44; 4767 uint64_t reserved_20_63:44;
1479 uint64_t drop:4; 4768 uint64_t drop:4;
1480 uint64_t reserved_4_15:12; 4769 uint64_t reserved_4_15:12;
1481 uint64_t commit:4; 4770 uint64_t commit:4;
4771#else
4772 uint64_t commit:4;
4773 uint64_t reserved_4_15:12;
4774 uint64_t drop:4;
4775 uint64_t reserved_20_63:44;
4776#endif
1482 } cn52xx; 4777 } cn52xx;
1483 struct cvmx_gmxx_rx_prt_info_cn52xx cn52xxp1; 4778 struct cvmx_gmxx_rx_prt_info_cn52xx cn52xxp1;
1484 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xx; 4779 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xx;
1485 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xxp1; 4780 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xxp1;
1486 struct cvmx_gmxx_rx_prt_info_s cn58xx; 4781 struct cvmx_gmxx_rx_prt_info_s cn58xx;
1487 struct cvmx_gmxx_rx_prt_info_s cn58xxp1; 4782 struct cvmx_gmxx_rx_prt_info_s cn58xxp1;
4783 struct cvmx_gmxx_rx_prt_info_cn52xx cn61xx;
4784 struct cvmx_gmxx_rx_prt_info_cn52xx cn63xx;
4785 struct cvmx_gmxx_rx_prt_info_cn52xx cn63xxp1;
4786 struct cvmx_gmxx_rx_prt_info_cn52xx cn66xx;
4787 struct cvmx_gmxx_rx_prt_info_cn52xx cn68xx;
4788 struct cvmx_gmxx_rx_prt_info_cn52xx cn68xxp1;
4789 struct cvmx_gmxx_rx_prt_info_cnf71xx {
4790#ifdef __BIG_ENDIAN_BITFIELD
4791 uint64_t reserved_18_63:46;
4792 uint64_t drop:2;
4793 uint64_t reserved_2_15:14;
4794 uint64_t commit:2;
4795#else
4796 uint64_t commit:2;
4797 uint64_t reserved_2_15:14;
4798 uint64_t drop:2;
4799 uint64_t reserved_18_63:46;
4800#endif
4801 } cnf71xx;
1488}; 4802};
1489 4803
1490union cvmx_gmxx_rx_prts { 4804union cvmx_gmxx_rx_prts {
1491 uint64_t u64; 4805 uint64_t u64;
1492 struct cvmx_gmxx_rx_prts_s { 4806 struct cvmx_gmxx_rx_prts_s {
4807#ifdef __BIG_ENDIAN_BITFIELD
1493 uint64_t reserved_3_63:61; 4808 uint64_t reserved_3_63:61;
1494 uint64_t prts:3; 4809 uint64_t prts:3;
4810#else
4811 uint64_t prts:3;
4812 uint64_t reserved_3_63:61;
4813#endif
1495 } s; 4814 } s;
1496 struct cvmx_gmxx_rx_prts_s cn30xx; 4815 struct cvmx_gmxx_rx_prts_s cn30xx;
1497 struct cvmx_gmxx_rx_prts_s cn31xx; 4816 struct cvmx_gmxx_rx_prts_s cn31xx;
@@ -1504,15 +4823,29 @@ union cvmx_gmxx_rx_prts {
1504 struct cvmx_gmxx_rx_prts_s cn56xxp1; 4823 struct cvmx_gmxx_rx_prts_s cn56xxp1;
1505 struct cvmx_gmxx_rx_prts_s cn58xx; 4824 struct cvmx_gmxx_rx_prts_s cn58xx;
1506 struct cvmx_gmxx_rx_prts_s cn58xxp1; 4825 struct cvmx_gmxx_rx_prts_s cn58xxp1;
4826 struct cvmx_gmxx_rx_prts_s cn61xx;
4827 struct cvmx_gmxx_rx_prts_s cn63xx;
4828 struct cvmx_gmxx_rx_prts_s cn63xxp1;
4829 struct cvmx_gmxx_rx_prts_s cn66xx;
4830 struct cvmx_gmxx_rx_prts_s cn68xx;
4831 struct cvmx_gmxx_rx_prts_s cn68xxp1;
4832 struct cvmx_gmxx_rx_prts_s cnf71xx;
1507}; 4833};
1508 4834
1509union cvmx_gmxx_rx_tx_status { 4835union cvmx_gmxx_rx_tx_status {
1510 uint64_t u64; 4836 uint64_t u64;
1511 struct cvmx_gmxx_rx_tx_status_s { 4837 struct cvmx_gmxx_rx_tx_status_s {
4838#ifdef __BIG_ENDIAN_BITFIELD
1512 uint64_t reserved_7_63:57; 4839 uint64_t reserved_7_63:57;
1513 uint64_t tx:3; 4840 uint64_t tx:3;
1514 uint64_t reserved_3_3:1; 4841 uint64_t reserved_3_3:1;
1515 uint64_t rx:3; 4842 uint64_t rx:3;
4843#else
4844 uint64_t rx:3;
4845 uint64_t reserved_3_3:1;
4846 uint64_t tx:3;
4847 uint64_t reserved_7_63:57;
4848#endif
1516 } s; 4849 } s;
1517 struct cvmx_gmxx_rx_tx_status_s cn30xx; 4850 struct cvmx_gmxx_rx_tx_status_s cn30xx;
1518 struct cvmx_gmxx_rx_tx_status_s cn31xx; 4851 struct cvmx_gmxx_rx_tx_status_s cn31xx;
@@ -1522,35 +4855,82 @@ union cvmx_gmxx_rx_tx_status {
1522union cvmx_gmxx_rx_xaui_bad_col { 4855union cvmx_gmxx_rx_xaui_bad_col {
1523 uint64_t u64; 4856 uint64_t u64;
1524 struct cvmx_gmxx_rx_xaui_bad_col_s { 4857 struct cvmx_gmxx_rx_xaui_bad_col_s {
4858#ifdef __BIG_ENDIAN_BITFIELD
1525 uint64_t reserved_40_63:24; 4859 uint64_t reserved_40_63:24;
1526 uint64_t val:1; 4860 uint64_t val:1;
1527 uint64_t state:3; 4861 uint64_t state:3;
1528 uint64_t lane_rxc:4; 4862 uint64_t lane_rxc:4;
1529 uint64_t lane_rxd:32; 4863 uint64_t lane_rxd:32;
4864#else
4865 uint64_t lane_rxd:32;
4866 uint64_t lane_rxc:4;
4867 uint64_t state:3;
4868 uint64_t val:1;
4869 uint64_t reserved_40_63:24;
4870#endif
1530 } s; 4871 } s;
1531 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xx; 4872 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xx;
1532 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xxp1; 4873 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xxp1;
1533 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xx; 4874 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xx;
1534 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xxp1; 4875 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xxp1;
4876 struct cvmx_gmxx_rx_xaui_bad_col_s cn61xx;
4877 struct cvmx_gmxx_rx_xaui_bad_col_s cn63xx;
4878 struct cvmx_gmxx_rx_xaui_bad_col_s cn63xxp1;
4879 struct cvmx_gmxx_rx_xaui_bad_col_s cn66xx;
4880 struct cvmx_gmxx_rx_xaui_bad_col_s cn68xx;
4881 struct cvmx_gmxx_rx_xaui_bad_col_s cn68xxp1;
4882 struct cvmx_gmxx_rx_xaui_bad_col_s cnf71xx;
1535}; 4883};
1536 4884
1537union cvmx_gmxx_rx_xaui_ctl { 4885union cvmx_gmxx_rx_xaui_ctl {
1538 uint64_t u64; 4886 uint64_t u64;
1539 struct cvmx_gmxx_rx_xaui_ctl_s { 4887 struct cvmx_gmxx_rx_xaui_ctl_s {
4888#ifdef __BIG_ENDIAN_BITFIELD
1540 uint64_t reserved_2_63:62; 4889 uint64_t reserved_2_63:62;
1541 uint64_t status:2; 4890 uint64_t status:2;
4891#else
4892 uint64_t status:2;
4893 uint64_t reserved_2_63:62;
4894#endif
1542 } s; 4895 } s;
1543 struct cvmx_gmxx_rx_xaui_ctl_s cn52xx; 4896 struct cvmx_gmxx_rx_xaui_ctl_s cn52xx;
1544 struct cvmx_gmxx_rx_xaui_ctl_s cn52xxp1; 4897 struct cvmx_gmxx_rx_xaui_ctl_s cn52xxp1;
1545 struct cvmx_gmxx_rx_xaui_ctl_s cn56xx; 4898 struct cvmx_gmxx_rx_xaui_ctl_s cn56xx;
1546 struct cvmx_gmxx_rx_xaui_ctl_s cn56xxp1; 4899 struct cvmx_gmxx_rx_xaui_ctl_s cn56xxp1;
4900 struct cvmx_gmxx_rx_xaui_ctl_s cn61xx;
4901 struct cvmx_gmxx_rx_xaui_ctl_s cn63xx;
4902 struct cvmx_gmxx_rx_xaui_ctl_s cn63xxp1;
4903 struct cvmx_gmxx_rx_xaui_ctl_s cn66xx;
4904 struct cvmx_gmxx_rx_xaui_ctl_s cn68xx;
4905 struct cvmx_gmxx_rx_xaui_ctl_s cn68xxp1;
4906 struct cvmx_gmxx_rx_xaui_ctl_s cnf71xx;
4907};
4908
4909union cvmx_gmxx_rxaui_ctl {
4910 uint64_t u64;
4911 struct cvmx_gmxx_rxaui_ctl_s {
4912#ifdef __BIG_ENDIAN_BITFIELD
4913 uint64_t reserved_1_63:63;
4914 uint64_t disparity:1;
4915#else
4916 uint64_t disparity:1;
4917 uint64_t reserved_1_63:63;
4918#endif
4919 } s;
4920 struct cvmx_gmxx_rxaui_ctl_s cn68xx;
4921 struct cvmx_gmxx_rxaui_ctl_s cn68xxp1;
1547}; 4922};
1548 4923
1549union cvmx_gmxx_smacx { 4924union cvmx_gmxx_smacx {
1550 uint64_t u64; 4925 uint64_t u64;
1551 struct cvmx_gmxx_smacx_s { 4926 struct cvmx_gmxx_smacx_s {
4927#ifdef __BIG_ENDIAN_BITFIELD
1552 uint64_t reserved_48_63:16; 4928 uint64_t reserved_48_63:16;
1553 uint64_t smac:48; 4929 uint64_t smac:48;
4930#else
4931 uint64_t smac:48;
4932 uint64_t reserved_48_63:16;
4933#endif
1554 } s; 4934 } s;
1555 struct cvmx_gmxx_smacx_s cn30xx; 4935 struct cvmx_gmxx_smacx_s cn30xx;
1556 struct cvmx_gmxx_smacx_s cn31xx; 4936 struct cvmx_gmxx_smacx_s cn31xx;
@@ -1563,14 +4943,47 @@ union cvmx_gmxx_smacx {
1563 struct cvmx_gmxx_smacx_s cn56xxp1; 4943 struct cvmx_gmxx_smacx_s cn56xxp1;
1564 struct cvmx_gmxx_smacx_s cn58xx; 4944 struct cvmx_gmxx_smacx_s cn58xx;
1565 struct cvmx_gmxx_smacx_s cn58xxp1; 4945 struct cvmx_gmxx_smacx_s cn58xxp1;
4946 struct cvmx_gmxx_smacx_s cn61xx;
4947 struct cvmx_gmxx_smacx_s cn63xx;
4948 struct cvmx_gmxx_smacx_s cn63xxp1;
4949 struct cvmx_gmxx_smacx_s cn66xx;
4950 struct cvmx_gmxx_smacx_s cn68xx;
4951 struct cvmx_gmxx_smacx_s cn68xxp1;
4952 struct cvmx_gmxx_smacx_s cnf71xx;
4953};
4954
4955union cvmx_gmxx_soft_bist {
4956 uint64_t u64;
4957 struct cvmx_gmxx_soft_bist_s {
4958#ifdef __BIG_ENDIAN_BITFIELD
4959 uint64_t reserved_2_63:62;
4960 uint64_t start_bist:1;
4961 uint64_t clear_bist:1;
4962#else
4963 uint64_t clear_bist:1;
4964 uint64_t start_bist:1;
4965 uint64_t reserved_2_63:62;
4966#endif
4967 } s;
4968 struct cvmx_gmxx_soft_bist_s cn63xx;
4969 struct cvmx_gmxx_soft_bist_s cn63xxp1;
4970 struct cvmx_gmxx_soft_bist_s cn66xx;
4971 struct cvmx_gmxx_soft_bist_s cn68xx;
4972 struct cvmx_gmxx_soft_bist_s cn68xxp1;
1566}; 4973};
1567 4974
1568union cvmx_gmxx_stat_bp { 4975union cvmx_gmxx_stat_bp {
1569 uint64_t u64; 4976 uint64_t u64;
1570 struct cvmx_gmxx_stat_bp_s { 4977 struct cvmx_gmxx_stat_bp_s {
4978#ifdef __BIG_ENDIAN_BITFIELD
1571 uint64_t reserved_17_63:47; 4979 uint64_t reserved_17_63:47;
1572 uint64_t bp:1; 4980 uint64_t bp:1;
1573 uint64_t cnt:16; 4981 uint64_t cnt:16;
4982#else
4983 uint64_t cnt:16;
4984 uint64_t bp:1;
4985 uint64_t reserved_17_63:47;
4986#endif
1574 } s; 4987 } s;
1575 struct cvmx_gmxx_stat_bp_s cn30xx; 4988 struct cvmx_gmxx_stat_bp_s cn30xx;
1576 struct cvmx_gmxx_stat_bp_s cn31xx; 4989 struct cvmx_gmxx_stat_bp_s cn31xx;
@@ -1583,16 +4996,48 @@ union cvmx_gmxx_stat_bp {
1583 struct cvmx_gmxx_stat_bp_s cn56xxp1; 4996 struct cvmx_gmxx_stat_bp_s cn56xxp1;
1584 struct cvmx_gmxx_stat_bp_s cn58xx; 4997 struct cvmx_gmxx_stat_bp_s cn58xx;
1585 struct cvmx_gmxx_stat_bp_s cn58xxp1; 4998 struct cvmx_gmxx_stat_bp_s cn58xxp1;
4999 struct cvmx_gmxx_stat_bp_s cn61xx;
5000 struct cvmx_gmxx_stat_bp_s cn63xx;
5001 struct cvmx_gmxx_stat_bp_s cn63xxp1;
5002 struct cvmx_gmxx_stat_bp_s cn66xx;
5003 struct cvmx_gmxx_stat_bp_s cn68xx;
5004 struct cvmx_gmxx_stat_bp_s cn68xxp1;
5005 struct cvmx_gmxx_stat_bp_s cnf71xx;
5006};
5007
5008union cvmx_gmxx_tb_reg {
5009 uint64_t u64;
5010 struct cvmx_gmxx_tb_reg_s {
5011#ifdef __BIG_ENDIAN_BITFIELD
5012 uint64_t reserved_1_63:63;
5013 uint64_t wr_magic:1;
5014#else
5015 uint64_t wr_magic:1;
5016 uint64_t reserved_1_63:63;
5017#endif
5018 } s;
5019 struct cvmx_gmxx_tb_reg_s cn61xx;
5020 struct cvmx_gmxx_tb_reg_s cn66xx;
5021 struct cvmx_gmxx_tb_reg_s cn68xx;
5022 struct cvmx_gmxx_tb_reg_s cnf71xx;
1586}; 5023};
1587 5024
1588union cvmx_gmxx_txx_append { 5025union cvmx_gmxx_txx_append {
1589 uint64_t u64; 5026 uint64_t u64;
1590 struct cvmx_gmxx_txx_append_s { 5027 struct cvmx_gmxx_txx_append_s {
5028#ifdef __BIG_ENDIAN_BITFIELD
1591 uint64_t reserved_4_63:60; 5029 uint64_t reserved_4_63:60;
1592 uint64_t force_fcs:1; 5030 uint64_t force_fcs:1;
1593 uint64_t fcs:1; 5031 uint64_t fcs:1;
1594 uint64_t pad:1; 5032 uint64_t pad:1;
1595 uint64_t preamble:1; 5033 uint64_t preamble:1;
5034#else
5035 uint64_t preamble:1;
5036 uint64_t pad:1;
5037 uint64_t fcs:1;
5038 uint64_t force_fcs:1;
5039 uint64_t reserved_4_63:60;
5040#endif
1596 } s; 5041 } s;
1597 struct cvmx_gmxx_txx_append_s cn30xx; 5042 struct cvmx_gmxx_txx_append_s cn30xx;
1598 struct cvmx_gmxx_txx_append_s cn31xx; 5043 struct cvmx_gmxx_txx_append_s cn31xx;
@@ -1605,13 +5050,25 @@ union cvmx_gmxx_txx_append {
1605 struct cvmx_gmxx_txx_append_s cn56xxp1; 5050 struct cvmx_gmxx_txx_append_s cn56xxp1;
1606 struct cvmx_gmxx_txx_append_s cn58xx; 5051 struct cvmx_gmxx_txx_append_s cn58xx;
1607 struct cvmx_gmxx_txx_append_s cn58xxp1; 5052 struct cvmx_gmxx_txx_append_s cn58xxp1;
5053 struct cvmx_gmxx_txx_append_s cn61xx;
5054 struct cvmx_gmxx_txx_append_s cn63xx;
5055 struct cvmx_gmxx_txx_append_s cn63xxp1;
5056 struct cvmx_gmxx_txx_append_s cn66xx;
5057 struct cvmx_gmxx_txx_append_s cn68xx;
5058 struct cvmx_gmxx_txx_append_s cn68xxp1;
5059 struct cvmx_gmxx_txx_append_s cnf71xx;
1608}; 5060};
1609 5061
1610union cvmx_gmxx_txx_burst { 5062union cvmx_gmxx_txx_burst {
1611 uint64_t u64; 5063 uint64_t u64;
1612 struct cvmx_gmxx_txx_burst_s { 5064 struct cvmx_gmxx_txx_burst_s {
5065#ifdef __BIG_ENDIAN_BITFIELD
1613 uint64_t reserved_16_63:48; 5066 uint64_t reserved_16_63:48;
1614 uint64_t burst:16; 5067 uint64_t burst:16;
5068#else
5069 uint64_t burst:16;
5070 uint64_t reserved_16_63:48;
5071#endif
1615 } s; 5072 } s;
1616 struct cvmx_gmxx_txx_burst_s cn30xx; 5073 struct cvmx_gmxx_txx_burst_s cn30xx;
1617 struct cvmx_gmxx_txx_burst_s cn31xx; 5074 struct cvmx_gmxx_txx_burst_s cn31xx;
@@ -1624,33 +5081,69 @@ union cvmx_gmxx_txx_burst {
1624 struct cvmx_gmxx_txx_burst_s cn56xxp1; 5081 struct cvmx_gmxx_txx_burst_s cn56xxp1;
1625 struct cvmx_gmxx_txx_burst_s cn58xx; 5082 struct cvmx_gmxx_txx_burst_s cn58xx;
1626 struct cvmx_gmxx_txx_burst_s cn58xxp1; 5083 struct cvmx_gmxx_txx_burst_s cn58xxp1;
5084 struct cvmx_gmxx_txx_burst_s cn61xx;
5085 struct cvmx_gmxx_txx_burst_s cn63xx;
5086 struct cvmx_gmxx_txx_burst_s cn63xxp1;
5087 struct cvmx_gmxx_txx_burst_s cn66xx;
5088 struct cvmx_gmxx_txx_burst_s cn68xx;
5089 struct cvmx_gmxx_txx_burst_s cn68xxp1;
5090 struct cvmx_gmxx_txx_burst_s cnf71xx;
1627}; 5091};
1628 5092
1629union cvmx_gmxx_txx_cbfc_xoff { 5093union cvmx_gmxx_txx_cbfc_xoff {
1630 uint64_t u64; 5094 uint64_t u64;
1631 struct cvmx_gmxx_txx_cbfc_xoff_s { 5095 struct cvmx_gmxx_txx_cbfc_xoff_s {
5096#ifdef __BIG_ENDIAN_BITFIELD
1632 uint64_t reserved_16_63:48; 5097 uint64_t reserved_16_63:48;
1633 uint64_t xoff:16; 5098 uint64_t xoff:16;
5099#else
5100 uint64_t xoff:16;
5101 uint64_t reserved_16_63:48;
5102#endif
1634 } s; 5103 } s;
1635 struct cvmx_gmxx_txx_cbfc_xoff_s cn52xx; 5104 struct cvmx_gmxx_txx_cbfc_xoff_s cn52xx;
1636 struct cvmx_gmxx_txx_cbfc_xoff_s cn56xx; 5105 struct cvmx_gmxx_txx_cbfc_xoff_s cn56xx;
5106 struct cvmx_gmxx_txx_cbfc_xoff_s cn61xx;
5107 struct cvmx_gmxx_txx_cbfc_xoff_s cn63xx;
5108 struct cvmx_gmxx_txx_cbfc_xoff_s cn63xxp1;
5109 struct cvmx_gmxx_txx_cbfc_xoff_s cn66xx;
5110 struct cvmx_gmxx_txx_cbfc_xoff_s cn68xx;
5111 struct cvmx_gmxx_txx_cbfc_xoff_s cn68xxp1;
5112 struct cvmx_gmxx_txx_cbfc_xoff_s cnf71xx;
1637}; 5113};
1638 5114
1639union cvmx_gmxx_txx_cbfc_xon { 5115union cvmx_gmxx_txx_cbfc_xon {
1640 uint64_t u64; 5116 uint64_t u64;
1641 struct cvmx_gmxx_txx_cbfc_xon_s { 5117 struct cvmx_gmxx_txx_cbfc_xon_s {
5118#ifdef __BIG_ENDIAN_BITFIELD
1642 uint64_t reserved_16_63:48; 5119 uint64_t reserved_16_63:48;
1643 uint64_t xon:16; 5120 uint64_t xon:16;
5121#else
5122 uint64_t xon:16;
5123 uint64_t reserved_16_63:48;
5124#endif
1644 } s; 5125 } s;
1645 struct cvmx_gmxx_txx_cbfc_xon_s cn52xx; 5126 struct cvmx_gmxx_txx_cbfc_xon_s cn52xx;
1646 struct cvmx_gmxx_txx_cbfc_xon_s cn56xx; 5127 struct cvmx_gmxx_txx_cbfc_xon_s cn56xx;
5128 struct cvmx_gmxx_txx_cbfc_xon_s cn61xx;
5129 struct cvmx_gmxx_txx_cbfc_xon_s cn63xx;
5130 struct cvmx_gmxx_txx_cbfc_xon_s cn63xxp1;
5131 struct cvmx_gmxx_txx_cbfc_xon_s cn66xx;
5132 struct cvmx_gmxx_txx_cbfc_xon_s cn68xx;
5133 struct cvmx_gmxx_txx_cbfc_xon_s cn68xxp1;
5134 struct cvmx_gmxx_txx_cbfc_xon_s cnf71xx;
1647}; 5135};
1648 5136
1649union cvmx_gmxx_txx_clk { 5137union cvmx_gmxx_txx_clk {
1650 uint64_t u64; 5138 uint64_t u64;
1651 struct cvmx_gmxx_txx_clk_s { 5139 struct cvmx_gmxx_txx_clk_s {
5140#ifdef __BIG_ENDIAN_BITFIELD
1652 uint64_t reserved_6_63:58; 5141 uint64_t reserved_6_63:58;
1653 uint64_t clk_cnt:6; 5142 uint64_t clk_cnt:6;
5143#else
5144 uint64_t clk_cnt:6;
5145 uint64_t reserved_6_63:58;
5146#endif
1654 } s; 5147 } s;
1655 struct cvmx_gmxx_txx_clk_s cn30xx; 5148 struct cvmx_gmxx_txx_clk_s cn30xx;
1656 struct cvmx_gmxx_txx_clk_s cn31xx; 5149 struct cvmx_gmxx_txx_clk_s cn31xx;
@@ -1664,9 +5157,15 @@ union cvmx_gmxx_txx_clk {
1664union cvmx_gmxx_txx_ctl { 5157union cvmx_gmxx_txx_ctl {
1665 uint64_t u64; 5158 uint64_t u64;
1666 struct cvmx_gmxx_txx_ctl_s { 5159 struct cvmx_gmxx_txx_ctl_s {
5160#ifdef __BIG_ENDIAN_BITFIELD
1667 uint64_t reserved_2_63:62; 5161 uint64_t reserved_2_63:62;
1668 uint64_t xsdef_en:1; 5162 uint64_t xsdef_en:1;
1669 uint64_t xscol_en:1; 5163 uint64_t xscol_en:1;
5164#else
5165 uint64_t xscol_en:1;
5166 uint64_t xsdef_en:1;
5167 uint64_t reserved_2_63:62;
5168#endif
1670 } s; 5169 } s;
1671 struct cvmx_gmxx_txx_ctl_s cn30xx; 5170 struct cvmx_gmxx_txx_ctl_s cn30xx;
1672 struct cvmx_gmxx_txx_ctl_s cn31xx; 5171 struct cvmx_gmxx_txx_ctl_s cn31xx;
@@ -1679,13 +5178,25 @@ union cvmx_gmxx_txx_ctl {
1679 struct cvmx_gmxx_txx_ctl_s cn56xxp1; 5178 struct cvmx_gmxx_txx_ctl_s cn56xxp1;
1680 struct cvmx_gmxx_txx_ctl_s cn58xx; 5179 struct cvmx_gmxx_txx_ctl_s cn58xx;
1681 struct cvmx_gmxx_txx_ctl_s cn58xxp1; 5180 struct cvmx_gmxx_txx_ctl_s cn58xxp1;
5181 struct cvmx_gmxx_txx_ctl_s cn61xx;
5182 struct cvmx_gmxx_txx_ctl_s cn63xx;
5183 struct cvmx_gmxx_txx_ctl_s cn63xxp1;
5184 struct cvmx_gmxx_txx_ctl_s cn66xx;
5185 struct cvmx_gmxx_txx_ctl_s cn68xx;
5186 struct cvmx_gmxx_txx_ctl_s cn68xxp1;
5187 struct cvmx_gmxx_txx_ctl_s cnf71xx;
1682}; 5188};
1683 5189
1684union cvmx_gmxx_txx_min_pkt { 5190union cvmx_gmxx_txx_min_pkt {
1685 uint64_t u64; 5191 uint64_t u64;
1686 struct cvmx_gmxx_txx_min_pkt_s { 5192 struct cvmx_gmxx_txx_min_pkt_s {
5193#ifdef __BIG_ENDIAN_BITFIELD
1687 uint64_t reserved_8_63:56; 5194 uint64_t reserved_8_63:56;
1688 uint64_t min_size:8; 5195 uint64_t min_size:8;
5196#else
5197 uint64_t min_size:8;
5198 uint64_t reserved_8_63:56;
5199#endif
1689 } s; 5200 } s;
1690 struct cvmx_gmxx_txx_min_pkt_s cn30xx; 5201 struct cvmx_gmxx_txx_min_pkt_s cn30xx;
1691 struct cvmx_gmxx_txx_min_pkt_s cn31xx; 5202 struct cvmx_gmxx_txx_min_pkt_s cn31xx;
@@ -1698,13 +5209,25 @@ union cvmx_gmxx_txx_min_pkt {
1698 struct cvmx_gmxx_txx_min_pkt_s cn56xxp1; 5209 struct cvmx_gmxx_txx_min_pkt_s cn56xxp1;
1699 struct cvmx_gmxx_txx_min_pkt_s cn58xx; 5210 struct cvmx_gmxx_txx_min_pkt_s cn58xx;
1700 struct cvmx_gmxx_txx_min_pkt_s cn58xxp1; 5211 struct cvmx_gmxx_txx_min_pkt_s cn58xxp1;
5212 struct cvmx_gmxx_txx_min_pkt_s cn61xx;
5213 struct cvmx_gmxx_txx_min_pkt_s cn63xx;
5214 struct cvmx_gmxx_txx_min_pkt_s cn63xxp1;
5215 struct cvmx_gmxx_txx_min_pkt_s cn66xx;
5216 struct cvmx_gmxx_txx_min_pkt_s cn68xx;
5217 struct cvmx_gmxx_txx_min_pkt_s cn68xxp1;
5218 struct cvmx_gmxx_txx_min_pkt_s cnf71xx;
1701}; 5219};
1702 5220
1703union cvmx_gmxx_txx_pause_pkt_interval { 5221union cvmx_gmxx_txx_pause_pkt_interval {
1704 uint64_t u64; 5222 uint64_t u64;
1705 struct cvmx_gmxx_txx_pause_pkt_interval_s { 5223 struct cvmx_gmxx_txx_pause_pkt_interval_s {
5224#ifdef __BIG_ENDIAN_BITFIELD
1706 uint64_t reserved_16_63:48; 5225 uint64_t reserved_16_63:48;
1707 uint64_t interval:16; 5226 uint64_t interval:16;
5227#else
5228 uint64_t interval:16;
5229 uint64_t reserved_16_63:48;
5230#endif
1708 } s; 5231 } s;
1709 struct cvmx_gmxx_txx_pause_pkt_interval_s cn30xx; 5232 struct cvmx_gmxx_txx_pause_pkt_interval_s cn30xx;
1710 struct cvmx_gmxx_txx_pause_pkt_interval_s cn31xx; 5233 struct cvmx_gmxx_txx_pause_pkt_interval_s cn31xx;
@@ -1717,13 +5240,25 @@ union cvmx_gmxx_txx_pause_pkt_interval {
1717 struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xxp1; 5240 struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xxp1;
1718 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xx; 5241 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xx;
1719 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xxp1; 5242 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xxp1;
5243 struct cvmx_gmxx_txx_pause_pkt_interval_s cn61xx;
5244 struct cvmx_gmxx_txx_pause_pkt_interval_s cn63xx;
5245 struct cvmx_gmxx_txx_pause_pkt_interval_s cn63xxp1;
5246 struct cvmx_gmxx_txx_pause_pkt_interval_s cn66xx;
5247 struct cvmx_gmxx_txx_pause_pkt_interval_s cn68xx;
5248 struct cvmx_gmxx_txx_pause_pkt_interval_s cn68xxp1;
5249 struct cvmx_gmxx_txx_pause_pkt_interval_s cnf71xx;
1720}; 5250};
1721 5251
1722union cvmx_gmxx_txx_pause_pkt_time { 5252union cvmx_gmxx_txx_pause_pkt_time {
1723 uint64_t u64; 5253 uint64_t u64;
1724 struct cvmx_gmxx_txx_pause_pkt_time_s { 5254 struct cvmx_gmxx_txx_pause_pkt_time_s {
5255#ifdef __BIG_ENDIAN_BITFIELD
1725 uint64_t reserved_16_63:48; 5256 uint64_t reserved_16_63:48;
1726 uint64_t time:16; 5257 uint64_t time:16;
5258#else
5259 uint64_t time:16;
5260 uint64_t reserved_16_63:48;
5261#endif
1727 } s; 5262 } s;
1728 struct cvmx_gmxx_txx_pause_pkt_time_s cn30xx; 5263 struct cvmx_gmxx_txx_pause_pkt_time_s cn30xx;
1729 struct cvmx_gmxx_txx_pause_pkt_time_s cn31xx; 5264 struct cvmx_gmxx_txx_pause_pkt_time_s cn31xx;
@@ -1736,18 +5271,36 @@ union cvmx_gmxx_txx_pause_pkt_time {
1736 struct cvmx_gmxx_txx_pause_pkt_time_s cn56xxp1; 5271 struct cvmx_gmxx_txx_pause_pkt_time_s cn56xxp1;
1737 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xx; 5272 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xx;
1738 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xxp1; 5273 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xxp1;
5274 struct cvmx_gmxx_txx_pause_pkt_time_s cn61xx;
5275 struct cvmx_gmxx_txx_pause_pkt_time_s cn63xx;
5276 struct cvmx_gmxx_txx_pause_pkt_time_s cn63xxp1;
5277 struct cvmx_gmxx_txx_pause_pkt_time_s cn66xx;
5278 struct cvmx_gmxx_txx_pause_pkt_time_s cn68xx;
5279 struct cvmx_gmxx_txx_pause_pkt_time_s cn68xxp1;
5280 struct cvmx_gmxx_txx_pause_pkt_time_s cnf71xx;
1739}; 5281};
1740 5282
1741union cvmx_gmxx_txx_pause_togo { 5283union cvmx_gmxx_txx_pause_togo {
1742 uint64_t u64; 5284 uint64_t u64;
1743 struct cvmx_gmxx_txx_pause_togo_s { 5285 struct cvmx_gmxx_txx_pause_togo_s {
5286#ifdef __BIG_ENDIAN_BITFIELD
1744 uint64_t reserved_32_63:32; 5287 uint64_t reserved_32_63:32;
1745 uint64_t msg_time:16; 5288 uint64_t msg_time:16;
1746 uint64_t time:16; 5289 uint64_t time:16;
5290#else
5291 uint64_t time:16;
5292 uint64_t msg_time:16;
5293 uint64_t reserved_32_63:32;
5294#endif
1747 } s; 5295 } s;
1748 struct cvmx_gmxx_txx_pause_togo_cn30xx { 5296 struct cvmx_gmxx_txx_pause_togo_cn30xx {
5297#ifdef __BIG_ENDIAN_BITFIELD
1749 uint64_t reserved_16_63:48; 5298 uint64_t reserved_16_63:48;
1750 uint64_t time:16; 5299 uint64_t time:16;
5300#else
5301 uint64_t time:16;
5302 uint64_t reserved_16_63:48;
5303#endif
1751 } cn30xx; 5304 } cn30xx;
1752 struct cvmx_gmxx_txx_pause_togo_cn30xx cn31xx; 5305 struct cvmx_gmxx_txx_pause_togo_cn30xx cn31xx;
1753 struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xx; 5306 struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xx;
@@ -1759,13 +5312,25 @@ union cvmx_gmxx_txx_pause_togo {
1759 struct cvmx_gmxx_txx_pause_togo_cn30xx cn56xxp1; 5312 struct cvmx_gmxx_txx_pause_togo_cn30xx cn56xxp1;
1760 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xx; 5313 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xx;
1761 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xxp1; 5314 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xxp1;
5315 struct cvmx_gmxx_txx_pause_togo_s cn61xx;
5316 struct cvmx_gmxx_txx_pause_togo_s cn63xx;
5317 struct cvmx_gmxx_txx_pause_togo_s cn63xxp1;
5318 struct cvmx_gmxx_txx_pause_togo_s cn66xx;
5319 struct cvmx_gmxx_txx_pause_togo_s cn68xx;
5320 struct cvmx_gmxx_txx_pause_togo_s cn68xxp1;
5321 struct cvmx_gmxx_txx_pause_togo_s cnf71xx;
1762}; 5322};
1763 5323
1764union cvmx_gmxx_txx_pause_zero { 5324union cvmx_gmxx_txx_pause_zero {
1765 uint64_t u64; 5325 uint64_t u64;
1766 struct cvmx_gmxx_txx_pause_zero_s { 5326 struct cvmx_gmxx_txx_pause_zero_s {
5327#ifdef __BIG_ENDIAN_BITFIELD
1767 uint64_t reserved_1_63:63; 5328 uint64_t reserved_1_63:63;
1768 uint64_t send:1; 5329 uint64_t send:1;
5330#else
5331 uint64_t send:1;
5332 uint64_t reserved_1_63:63;
5333#endif
1769 } s; 5334 } s;
1770 struct cvmx_gmxx_txx_pause_zero_s cn30xx; 5335 struct cvmx_gmxx_txx_pause_zero_s cn30xx;
1771 struct cvmx_gmxx_txx_pause_zero_s cn31xx; 5336 struct cvmx_gmxx_txx_pause_zero_s cn31xx;
@@ -1778,25 +5343,72 @@ union cvmx_gmxx_txx_pause_zero {
1778 struct cvmx_gmxx_txx_pause_zero_s cn56xxp1; 5343 struct cvmx_gmxx_txx_pause_zero_s cn56xxp1;
1779 struct cvmx_gmxx_txx_pause_zero_s cn58xx; 5344 struct cvmx_gmxx_txx_pause_zero_s cn58xx;
1780 struct cvmx_gmxx_txx_pause_zero_s cn58xxp1; 5345 struct cvmx_gmxx_txx_pause_zero_s cn58xxp1;
5346 struct cvmx_gmxx_txx_pause_zero_s cn61xx;
5347 struct cvmx_gmxx_txx_pause_zero_s cn63xx;
5348 struct cvmx_gmxx_txx_pause_zero_s cn63xxp1;
5349 struct cvmx_gmxx_txx_pause_zero_s cn66xx;
5350 struct cvmx_gmxx_txx_pause_zero_s cn68xx;
5351 struct cvmx_gmxx_txx_pause_zero_s cn68xxp1;
5352 struct cvmx_gmxx_txx_pause_zero_s cnf71xx;
5353};
5354
5355union cvmx_gmxx_txx_pipe {
5356 uint64_t u64;
5357 struct cvmx_gmxx_txx_pipe_s {
5358#ifdef __BIG_ENDIAN_BITFIELD
5359 uint64_t reserved_33_63:31;
5360 uint64_t ign_bp:1;
5361 uint64_t reserved_21_31:11;
5362 uint64_t nump:5;
5363 uint64_t reserved_7_15:9;
5364 uint64_t base:7;
5365#else
5366 uint64_t base:7;
5367 uint64_t reserved_7_15:9;
5368 uint64_t nump:5;
5369 uint64_t reserved_21_31:11;
5370 uint64_t ign_bp:1;
5371 uint64_t reserved_33_63:31;
5372#endif
5373 } s;
5374 struct cvmx_gmxx_txx_pipe_s cn68xx;
5375 struct cvmx_gmxx_txx_pipe_s cn68xxp1;
1781}; 5376};
1782 5377
1783union cvmx_gmxx_txx_sgmii_ctl { 5378union cvmx_gmxx_txx_sgmii_ctl {
1784 uint64_t u64; 5379 uint64_t u64;
1785 struct cvmx_gmxx_txx_sgmii_ctl_s { 5380 struct cvmx_gmxx_txx_sgmii_ctl_s {
5381#ifdef __BIG_ENDIAN_BITFIELD
1786 uint64_t reserved_1_63:63; 5382 uint64_t reserved_1_63:63;
1787 uint64_t align:1; 5383 uint64_t align:1;
5384#else
5385 uint64_t align:1;
5386 uint64_t reserved_1_63:63;
5387#endif
1788 } s; 5388 } s;
1789 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xx; 5389 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xx;
1790 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xxp1; 5390 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xxp1;
1791 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xx; 5391 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xx;
1792 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xxp1; 5392 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xxp1;
5393 struct cvmx_gmxx_txx_sgmii_ctl_s cn61xx;
5394 struct cvmx_gmxx_txx_sgmii_ctl_s cn63xx;
5395 struct cvmx_gmxx_txx_sgmii_ctl_s cn63xxp1;
5396 struct cvmx_gmxx_txx_sgmii_ctl_s cn66xx;
5397 struct cvmx_gmxx_txx_sgmii_ctl_s cn68xx;
5398 struct cvmx_gmxx_txx_sgmii_ctl_s cn68xxp1;
5399 struct cvmx_gmxx_txx_sgmii_ctl_s cnf71xx;
1793}; 5400};
1794 5401
1795union cvmx_gmxx_txx_slot { 5402union cvmx_gmxx_txx_slot {
1796 uint64_t u64; 5403 uint64_t u64;
1797 struct cvmx_gmxx_txx_slot_s { 5404 struct cvmx_gmxx_txx_slot_s {
5405#ifdef __BIG_ENDIAN_BITFIELD
1798 uint64_t reserved_10_63:54; 5406 uint64_t reserved_10_63:54;
1799 uint64_t slot:10; 5407 uint64_t slot:10;
5408#else
5409 uint64_t slot:10;
5410 uint64_t reserved_10_63:54;
5411#endif
1800 } s; 5412 } s;
1801 struct cvmx_gmxx_txx_slot_s cn30xx; 5413 struct cvmx_gmxx_txx_slot_s cn30xx;
1802 struct cvmx_gmxx_txx_slot_s cn31xx; 5414 struct cvmx_gmxx_txx_slot_s cn31xx;
@@ -1809,13 +5421,25 @@ union cvmx_gmxx_txx_slot {
1809 struct cvmx_gmxx_txx_slot_s cn56xxp1; 5421 struct cvmx_gmxx_txx_slot_s cn56xxp1;
1810 struct cvmx_gmxx_txx_slot_s cn58xx; 5422 struct cvmx_gmxx_txx_slot_s cn58xx;
1811 struct cvmx_gmxx_txx_slot_s cn58xxp1; 5423 struct cvmx_gmxx_txx_slot_s cn58xxp1;
5424 struct cvmx_gmxx_txx_slot_s cn61xx;
5425 struct cvmx_gmxx_txx_slot_s cn63xx;
5426 struct cvmx_gmxx_txx_slot_s cn63xxp1;
5427 struct cvmx_gmxx_txx_slot_s cn66xx;
5428 struct cvmx_gmxx_txx_slot_s cn68xx;
5429 struct cvmx_gmxx_txx_slot_s cn68xxp1;
5430 struct cvmx_gmxx_txx_slot_s cnf71xx;
1812}; 5431};
1813 5432
1814union cvmx_gmxx_txx_soft_pause { 5433union cvmx_gmxx_txx_soft_pause {
1815 uint64_t u64; 5434 uint64_t u64;
1816 struct cvmx_gmxx_txx_soft_pause_s { 5435 struct cvmx_gmxx_txx_soft_pause_s {
5436#ifdef __BIG_ENDIAN_BITFIELD
1817 uint64_t reserved_16_63:48; 5437 uint64_t reserved_16_63:48;
1818 uint64_t time:16; 5438 uint64_t time:16;
5439#else
5440 uint64_t time:16;
5441 uint64_t reserved_16_63:48;
5442#endif
1819 } s; 5443 } s;
1820 struct cvmx_gmxx_txx_soft_pause_s cn30xx; 5444 struct cvmx_gmxx_txx_soft_pause_s cn30xx;
1821 struct cvmx_gmxx_txx_soft_pause_s cn31xx; 5445 struct cvmx_gmxx_txx_soft_pause_s cn31xx;
@@ -1828,13 +5452,25 @@ union cvmx_gmxx_txx_soft_pause {
1828 struct cvmx_gmxx_txx_soft_pause_s cn56xxp1; 5452 struct cvmx_gmxx_txx_soft_pause_s cn56xxp1;
1829 struct cvmx_gmxx_txx_soft_pause_s cn58xx; 5453 struct cvmx_gmxx_txx_soft_pause_s cn58xx;
1830 struct cvmx_gmxx_txx_soft_pause_s cn58xxp1; 5454 struct cvmx_gmxx_txx_soft_pause_s cn58xxp1;
5455 struct cvmx_gmxx_txx_soft_pause_s cn61xx;
5456 struct cvmx_gmxx_txx_soft_pause_s cn63xx;
5457 struct cvmx_gmxx_txx_soft_pause_s cn63xxp1;
5458 struct cvmx_gmxx_txx_soft_pause_s cn66xx;
5459 struct cvmx_gmxx_txx_soft_pause_s cn68xx;
5460 struct cvmx_gmxx_txx_soft_pause_s cn68xxp1;
5461 struct cvmx_gmxx_txx_soft_pause_s cnf71xx;
1831}; 5462};
1832 5463
1833union cvmx_gmxx_txx_stat0 { 5464union cvmx_gmxx_txx_stat0 {
1834 uint64_t u64; 5465 uint64_t u64;
1835 struct cvmx_gmxx_txx_stat0_s { 5466 struct cvmx_gmxx_txx_stat0_s {
5467#ifdef __BIG_ENDIAN_BITFIELD
1836 uint64_t xsdef:32; 5468 uint64_t xsdef:32;
1837 uint64_t xscol:32; 5469 uint64_t xscol:32;
5470#else
5471 uint64_t xscol:32;
5472 uint64_t xsdef:32;
5473#endif
1838 } s; 5474 } s;
1839 struct cvmx_gmxx_txx_stat0_s cn30xx; 5475 struct cvmx_gmxx_txx_stat0_s cn30xx;
1840 struct cvmx_gmxx_txx_stat0_s cn31xx; 5476 struct cvmx_gmxx_txx_stat0_s cn31xx;
@@ -1847,13 +5483,25 @@ union cvmx_gmxx_txx_stat0 {
1847 struct cvmx_gmxx_txx_stat0_s cn56xxp1; 5483 struct cvmx_gmxx_txx_stat0_s cn56xxp1;
1848 struct cvmx_gmxx_txx_stat0_s cn58xx; 5484 struct cvmx_gmxx_txx_stat0_s cn58xx;
1849 struct cvmx_gmxx_txx_stat0_s cn58xxp1; 5485 struct cvmx_gmxx_txx_stat0_s cn58xxp1;
5486 struct cvmx_gmxx_txx_stat0_s cn61xx;
5487 struct cvmx_gmxx_txx_stat0_s cn63xx;
5488 struct cvmx_gmxx_txx_stat0_s cn63xxp1;
5489 struct cvmx_gmxx_txx_stat0_s cn66xx;
5490 struct cvmx_gmxx_txx_stat0_s cn68xx;
5491 struct cvmx_gmxx_txx_stat0_s cn68xxp1;
5492 struct cvmx_gmxx_txx_stat0_s cnf71xx;
1850}; 5493};
1851 5494
1852union cvmx_gmxx_txx_stat1 { 5495union cvmx_gmxx_txx_stat1 {
1853 uint64_t u64; 5496 uint64_t u64;
1854 struct cvmx_gmxx_txx_stat1_s { 5497 struct cvmx_gmxx_txx_stat1_s {
5498#ifdef __BIG_ENDIAN_BITFIELD
1855 uint64_t scol:32; 5499 uint64_t scol:32;
1856 uint64_t mcol:32; 5500 uint64_t mcol:32;
5501#else
5502 uint64_t mcol:32;
5503 uint64_t scol:32;
5504#endif
1857 } s; 5505 } s;
1858 struct cvmx_gmxx_txx_stat1_s cn30xx; 5506 struct cvmx_gmxx_txx_stat1_s cn30xx;
1859 struct cvmx_gmxx_txx_stat1_s cn31xx; 5507 struct cvmx_gmxx_txx_stat1_s cn31xx;
@@ -1866,13 +5514,25 @@ union cvmx_gmxx_txx_stat1 {
1866 struct cvmx_gmxx_txx_stat1_s cn56xxp1; 5514 struct cvmx_gmxx_txx_stat1_s cn56xxp1;
1867 struct cvmx_gmxx_txx_stat1_s cn58xx; 5515 struct cvmx_gmxx_txx_stat1_s cn58xx;
1868 struct cvmx_gmxx_txx_stat1_s cn58xxp1; 5516 struct cvmx_gmxx_txx_stat1_s cn58xxp1;
5517 struct cvmx_gmxx_txx_stat1_s cn61xx;
5518 struct cvmx_gmxx_txx_stat1_s cn63xx;
5519 struct cvmx_gmxx_txx_stat1_s cn63xxp1;
5520 struct cvmx_gmxx_txx_stat1_s cn66xx;
5521 struct cvmx_gmxx_txx_stat1_s cn68xx;
5522 struct cvmx_gmxx_txx_stat1_s cn68xxp1;
5523 struct cvmx_gmxx_txx_stat1_s cnf71xx;
1869}; 5524};
1870 5525
1871union cvmx_gmxx_txx_stat2 { 5526union cvmx_gmxx_txx_stat2 {
1872 uint64_t u64; 5527 uint64_t u64;
1873 struct cvmx_gmxx_txx_stat2_s { 5528 struct cvmx_gmxx_txx_stat2_s {
5529#ifdef __BIG_ENDIAN_BITFIELD
1874 uint64_t reserved_48_63:16; 5530 uint64_t reserved_48_63:16;
1875 uint64_t octs:48; 5531 uint64_t octs:48;
5532#else
5533 uint64_t octs:48;
5534 uint64_t reserved_48_63:16;
5535#endif
1876 } s; 5536 } s;
1877 struct cvmx_gmxx_txx_stat2_s cn30xx; 5537 struct cvmx_gmxx_txx_stat2_s cn30xx;
1878 struct cvmx_gmxx_txx_stat2_s cn31xx; 5538 struct cvmx_gmxx_txx_stat2_s cn31xx;
@@ -1885,13 +5545,25 @@ union cvmx_gmxx_txx_stat2 {
1885 struct cvmx_gmxx_txx_stat2_s cn56xxp1; 5545 struct cvmx_gmxx_txx_stat2_s cn56xxp1;
1886 struct cvmx_gmxx_txx_stat2_s cn58xx; 5546 struct cvmx_gmxx_txx_stat2_s cn58xx;
1887 struct cvmx_gmxx_txx_stat2_s cn58xxp1; 5547 struct cvmx_gmxx_txx_stat2_s cn58xxp1;
5548 struct cvmx_gmxx_txx_stat2_s cn61xx;
5549 struct cvmx_gmxx_txx_stat2_s cn63xx;
5550 struct cvmx_gmxx_txx_stat2_s cn63xxp1;
5551 struct cvmx_gmxx_txx_stat2_s cn66xx;
5552 struct cvmx_gmxx_txx_stat2_s cn68xx;
5553 struct cvmx_gmxx_txx_stat2_s cn68xxp1;
5554 struct cvmx_gmxx_txx_stat2_s cnf71xx;
1888}; 5555};
1889 5556
1890union cvmx_gmxx_txx_stat3 { 5557union cvmx_gmxx_txx_stat3 {
1891 uint64_t u64; 5558 uint64_t u64;
1892 struct cvmx_gmxx_txx_stat3_s { 5559 struct cvmx_gmxx_txx_stat3_s {
5560#ifdef __BIG_ENDIAN_BITFIELD
1893 uint64_t reserved_32_63:32; 5561 uint64_t reserved_32_63:32;
1894 uint64_t pkts:32; 5562 uint64_t pkts:32;
5563#else
5564 uint64_t pkts:32;
5565 uint64_t reserved_32_63:32;
5566#endif
1895 } s; 5567 } s;
1896 struct cvmx_gmxx_txx_stat3_s cn30xx; 5568 struct cvmx_gmxx_txx_stat3_s cn30xx;
1897 struct cvmx_gmxx_txx_stat3_s cn31xx; 5569 struct cvmx_gmxx_txx_stat3_s cn31xx;
@@ -1904,13 +5576,25 @@ union cvmx_gmxx_txx_stat3 {
1904 struct cvmx_gmxx_txx_stat3_s cn56xxp1; 5576 struct cvmx_gmxx_txx_stat3_s cn56xxp1;
1905 struct cvmx_gmxx_txx_stat3_s cn58xx; 5577 struct cvmx_gmxx_txx_stat3_s cn58xx;
1906 struct cvmx_gmxx_txx_stat3_s cn58xxp1; 5578 struct cvmx_gmxx_txx_stat3_s cn58xxp1;
5579 struct cvmx_gmxx_txx_stat3_s cn61xx;
5580 struct cvmx_gmxx_txx_stat3_s cn63xx;
5581 struct cvmx_gmxx_txx_stat3_s cn63xxp1;
5582 struct cvmx_gmxx_txx_stat3_s cn66xx;
5583 struct cvmx_gmxx_txx_stat3_s cn68xx;
5584 struct cvmx_gmxx_txx_stat3_s cn68xxp1;
5585 struct cvmx_gmxx_txx_stat3_s cnf71xx;
1907}; 5586};
1908 5587
1909union cvmx_gmxx_txx_stat4 { 5588union cvmx_gmxx_txx_stat4 {
1910 uint64_t u64; 5589 uint64_t u64;
1911 struct cvmx_gmxx_txx_stat4_s { 5590 struct cvmx_gmxx_txx_stat4_s {
5591#ifdef __BIG_ENDIAN_BITFIELD
1912 uint64_t hist1:32; 5592 uint64_t hist1:32;
1913 uint64_t hist0:32; 5593 uint64_t hist0:32;
5594#else
5595 uint64_t hist0:32;
5596 uint64_t hist1:32;
5597#endif
1914 } s; 5598 } s;
1915 struct cvmx_gmxx_txx_stat4_s cn30xx; 5599 struct cvmx_gmxx_txx_stat4_s cn30xx;
1916 struct cvmx_gmxx_txx_stat4_s cn31xx; 5600 struct cvmx_gmxx_txx_stat4_s cn31xx;
@@ -1923,13 +5607,25 @@ union cvmx_gmxx_txx_stat4 {
1923 struct cvmx_gmxx_txx_stat4_s cn56xxp1; 5607 struct cvmx_gmxx_txx_stat4_s cn56xxp1;
1924 struct cvmx_gmxx_txx_stat4_s cn58xx; 5608 struct cvmx_gmxx_txx_stat4_s cn58xx;
1925 struct cvmx_gmxx_txx_stat4_s cn58xxp1; 5609 struct cvmx_gmxx_txx_stat4_s cn58xxp1;
5610 struct cvmx_gmxx_txx_stat4_s cn61xx;
5611 struct cvmx_gmxx_txx_stat4_s cn63xx;
5612 struct cvmx_gmxx_txx_stat4_s cn63xxp1;
5613 struct cvmx_gmxx_txx_stat4_s cn66xx;
5614 struct cvmx_gmxx_txx_stat4_s cn68xx;
5615 struct cvmx_gmxx_txx_stat4_s cn68xxp1;
5616 struct cvmx_gmxx_txx_stat4_s cnf71xx;
1926}; 5617};
1927 5618
1928union cvmx_gmxx_txx_stat5 { 5619union cvmx_gmxx_txx_stat5 {
1929 uint64_t u64; 5620 uint64_t u64;
1930 struct cvmx_gmxx_txx_stat5_s { 5621 struct cvmx_gmxx_txx_stat5_s {
5622#ifdef __BIG_ENDIAN_BITFIELD
1931 uint64_t hist3:32; 5623 uint64_t hist3:32;
1932 uint64_t hist2:32; 5624 uint64_t hist2:32;
5625#else
5626 uint64_t hist2:32;
5627 uint64_t hist3:32;
5628#endif
1933 } s; 5629 } s;
1934 struct cvmx_gmxx_txx_stat5_s cn30xx; 5630 struct cvmx_gmxx_txx_stat5_s cn30xx;
1935 struct cvmx_gmxx_txx_stat5_s cn31xx; 5631 struct cvmx_gmxx_txx_stat5_s cn31xx;
@@ -1942,13 +5638,25 @@ union cvmx_gmxx_txx_stat5 {
1942 struct cvmx_gmxx_txx_stat5_s cn56xxp1; 5638 struct cvmx_gmxx_txx_stat5_s cn56xxp1;
1943 struct cvmx_gmxx_txx_stat5_s cn58xx; 5639 struct cvmx_gmxx_txx_stat5_s cn58xx;
1944 struct cvmx_gmxx_txx_stat5_s cn58xxp1; 5640 struct cvmx_gmxx_txx_stat5_s cn58xxp1;
5641 struct cvmx_gmxx_txx_stat5_s cn61xx;
5642 struct cvmx_gmxx_txx_stat5_s cn63xx;
5643 struct cvmx_gmxx_txx_stat5_s cn63xxp1;
5644 struct cvmx_gmxx_txx_stat5_s cn66xx;
5645 struct cvmx_gmxx_txx_stat5_s cn68xx;
5646 struct cvmx_gmxx_txx_stat5_s cn68xxp1;
5647 struct cvmx_gmxx_txx_stat5_s cnf71xx;
1945}; 5648};
1946 5649
1947union cvmx_gmxx_txx_stat6 { 5650union cvmx_gmxx_txx_stat6 {
1948 uint64_t u64; 5651 uint64_t u64;
1949 struct cvmx_gmxx_txx_stat6_s { 5652 struct cvmx_gmxx_txx_stat6_s {
5653#ifdef __BIG_ENDIAN_BITFIELD
1950 uint64_t hist5:32; 5654 uint64_t hist5:32;
1951 uint64_t hist4:32; 5655 uint64_t hist4:32;
5656#else
5657 uint64_t hist4:32;
5658 uint64_t hist5:32;
5659#endif
1952 } s; 5660 } s;
1953 struct cvmx_gmxx_txx_stat6_s cn30xx; 5661 struct cvmx_gmxx_txx_stat6_s cn30xx;
1954 struct cvmx_gmxx_txx_stat6_s cn31xx; 5662 struct cvmx_gmxx_txx_stat6_s cn31xx;
@@ -1961,13 +5669,25 @@ union cvmx_gmxx_txx_stat6 {
1961 struct cvmx_gmxx_txx_stat6_s cn56xxp1; 5669 struct cvmx_gmxx_txx_stat6_s cn56xxp1;
1962 struct cvmx_gmxx_txx_stat6_s cn58xx; 5670 struct cvmx_gmxx_txx_stat6_s cn58xx;
1963 struct cvmx_gmxx_txx_stat6_s cn58xxp1; 5671 struct cvmx_gmxx_txx_stat6_s cn58xxp1;
5672 struct cvmx_gmxx_txx_stat6_s cn61xx;
5673 struct cvmx_gmxx_txx_stat6_s cn63xx;
5674 struct cvmx_gmxx_txx_stat6_s cn63xxp1;
5675 struct cvmx_gmxx_txx_stat6_s cn66xx;
5676 struct cvmx_gmxx_txx_stat6_s cn68xx;
5677 struct cvmx_gmxx_txx_stat6_s cn68xxp1;
5678 struct cvmx_gmxx_txx_stat6_s cnf71xx;
1964}; 5679};
1965 5680
1966union cvmx_gmxx_txx_stat7 { 5681union cvmx_gmxx_txx_stat7 {
1967 uint64_t u64; 5682 uint64_t u64;
1968 struct cvmx_gmxx_txx_stat7_s { 5683 struct cvmx_gmxx_txx_stat7_s {
5684#ifdef __BIG_ENDIAN_BITFIELD
1969 uint64_t hist7:32; 5685 uint64_t hist7:32;
1970 uint64_t hist6:32; 5686 uint64_t hist6:32;
5687#else
5688 uint64_t hist6:32;
5689 uint64_t hist7:32;
5690#endif
1971 } s; 5691 } s;
1972 struct cvmx_gmxx_txx_stat7_s cn30xx; 5692 struct cvmx_gmxx_txx_stat7_s cn30xx;
1973 struct cvmx_gmxx_txx_stat7_s cn31xx; 5693 struct cvmx_gmxx_txx_stat7_s cn31xx;
@@ -1980,13 +5700,25 @@ union cvmx_gmxx_txx_stat7 {
1980 struct cvmx_gmxx_txx_stat7_s cn56xxp1; 5700 struct cvmx_gmxx_txx_stat7_s cn56xxp1;
1981 struct cvmx_gmxx_txx_stat7_s cn58xx; 5701 struct cvmx_gmxx_txx_stat7_s cn58xx;
1982 struct cvmx_gmxx_txx_stat7_s cn58xxp1; 5702 struct cvmx_gmxx_txx_stat7_s cn58xxp1;
5703 struct cvmx_gmxx_txx_stat7_s cn61xx;
5704 struct cvmx_gmxx_txx_stat7_s cn63xx;
5705 struct cvmx_gmxx_txx_stat7_s cn63xxp1;
5706 struct cvmx_gmxx_txx_stat7_s cn66xx;
5707 struct cvmx_gmxx_txx_stat7_s cn68xx;
5708 struct cvmx_gmxx_txx_stat7_s cn68xxp1;
5709 struct cvmx_gmxx_txx_stat7_s cnf71xx;
1983}; 5710};
1984 5711
1985union cvmx_gmxx_txx_stat8 { 5712union cvmx_gmxx_txx_stat8 {
1986 uint64_t u64; 5713 uint64_t u64;
1987 struct cvmx_gmxx_txx_stat8_s { 5714 struct cvmx_gmxx_txx_stat8_s {
5715#ifdef __BIG_ENDIAN_BITFIELD
1988 uint64_t mcst:32; 5716 uint64_t mcst:32;
1989 uint64_t bcst:32; 5717 uint64_t bcst:32;
5718#else
5719 uint64_t bcst:32;
5720 uint64_t mcst:32;
5721#endif
1990 } s; 5722 } s;
1991 struct cvmx_gmxx_txx_stat8_s cn30xx; 5723 struct cvmx_gmxx_txx_stat8_s cn30xx;
1992 struct cvmx_gmxx_txx_stat8_s cn31xx; 5724 struct cvmx_gmxx_txx_stat8_s cn31xx;
@@ -1999,13 +5731,25 @@ union cvmx_gmxx_txx_stat8 {
1999 struct cvmx_gmxx_txx_stat8_s cn56xxp1; 5731 struct cvmx_gmxx_txx_stat8_s cn56xxp1;
2000 struct cvmx_gmxx_txx_stat8_s cn58xx; 5732 struct cvmx_gmxx_txx_stat8_s cn58xx;
2001 struct cvmx_gmxx_txx_stat8_s cn58xxp1; 5733 struct cvmx_gmxx_txx_stat8_s cn58xxp1;
5734 struct cvmx_gmxx_txx_stat8_s cn61xx;
5735 struct cvmx_gmxx_txx_stat8_s cn63xx;
5736 struct cvmx_gmxx_txx_stat8_s cn63xxp1;
5737 struct cvmx_gmxx_txx_stat8_s cn66xx;
5738 struct cvmx_gmxx_txx_stat8_s cn68xx;
5739 struct cvmx_gmxx_txx_stat8_s cn68xxp1;
5740 struct cvmx_gmxx_txx_stat8_s cnf71xx;
2002}; 5741};
2003 5742
2004union cvmx_gmxx_txx_stat9 { 5743union cvmx_gmxx_txx_stat9 {
2005 uint64_t u64; 5744 uint64_t u64;
2006 struct cvmx_gmxx_txx_stat9_s { 5745 struct cvmx_gmxx_txx_stat9_s {
5746#ifdef __BIG_ENDIAN_BITFIELD
2007 uint64_t undflw:32; 5747 uint64_t undflw:32;
2008 uint64_t ctl:32; 5748 uint64_t ctl:32;
5749#else
5750 uint64_t ctl:32;
5751 uint64_t undflw:32;
5752#endif
2009 } s; 5753 } s;
2010 struct cvmx_gmxx_txx_stat9_s cn30xx; 5754 struct cvmx_gmxx_txx_stat9_s cn30xx;
2011 struct cvmx_gmxx_txx_stat9_s cn31xx; 5755 struct cvmx_gmxx_txx_stat9_s cn31xx;
@@ -2018,13 +5762,25 @@ union cvmx_gmxx_txx_stat9 {
2018 struct cvmx_gmxx_txx_stat9_s cn56xxp1; 5762 struct cvmx_gmxx_txx_stat9_s cn56xxp1;
2019 struct cvmx_gmxx_txx_stat9_s cn58xx; 5763 struct cvmx_gmxx_txx_stat9_s cn58xx;
2020 struct cvmx_gmxx_txx_stat9_s cn58xxp1; 5764 struct cvmx_gmxx_txx_stat9_s cn58xxp1;
5765 struct cvmx_gmxx_txx_stat9_s cn61xx;
5766 struct cvmx_gmxx_txx_stat9_s cn63xx;
5767 struct cvmx_gmxx_txx_stat9_s cn63xxp1;
5768 struct cvmx_gmxx_txx_stat9_s cn66xx;
5769 struct cvmx_gmxx_txx_stat9_s cn68xx;
5770 struct cvmx_gmxx_txx_stat9_s cn68xxp1;
5771 struct cvmx_gmxx_txx_stat9_s cnf71xx;
2021}; 5772};
2022 5773
2023union cvmx_gmxx_txx_stats_ctl { 5774union cvmx_gmxx_txx_stats_ctl {
2024 uint64_t u64; 5775 uint64_t u64;
2025 struct cvmx_gmxx_txx_stats_ctl_s { 5776 struct cvmx_gmxx_txx_stats_ctl_s {
5777#ifdef __BIG_ENDIAN_BITFIELD
2026 uint64_t reserved_1_63:63; 5778 uint64_t reserved_1_63:63;
2027 uint64_t rd_clr:1; 5779 uint64_t rd_clr:1;
5780#else
5781 uint64_t rd_clr:1;
5782 uint64_t reserved_1_63:63;
5783#endif
2028 } s; 5784 } s;
2029 struct cvmx_gmxx_txx_stats_ctl_s cn30xx; 5785 struct cvmx_gmxx_txx_stats_ctl_s cn30xx;
2030 struct cvmx_gmxx_txx_stats_ctl_s cn31xx; 5786 struct cvmx_gmxx_txx_stats_ctl_s cn31xx;
@@ -2037,39 +5793,81 @@ union cvmx_gmxx_txx_stats_ctl {
2037 struct cvmx_gmxx_txx_stats_ctl_s cn56xxp1; 5793 struct cvmx_gmxx_txx_stats_ctl_s cn56xxp1;
2038 struct cvmx_gmxx_txx_stats_ctl_s cn58xx; 5794 struct cvmx_gmxx_txx_stats_ctl_s cn58xx;
2039 struct cvmx_gmxx_txx_stats_ctl_s cn58xxp1; 5795 struct cvmx_gmxx_txx_stats_ctl_s cn58xxp1;
5796 struct cvmx_gmxx_txx_stats_ctl_s cn61xx;
5797 struct cvmx_gmxx_txx_stats_ctl_s cn63xx;
5798 struct cvmx_gmxx_txx_stats_ctl_s cn63xxp1;
5799 struct cvmx_gmxx_txx_stats_ctl_s cn66xx;
5800 struct cvmx_gmxx_txx_stats_ctl_s cn68xx;
5801 struct cvmx_gmxx_txx_stats_ctl_s cn68xxp1;
5802 struct cvmx_gmxx_txx_stats_ctl_s cnf71xx;
2040}; 5803};
2041 5804
2042union cvmx_gmxx_txx_thresh { 5805union cvmx_gmxx_txx_thresh {
2043 uint64_t u64; 5806 uint64_t u64;
2044 struct cvmx_gmxx_txx_thresh_s { 5807 struct cvmx_gmxx_txx_thresh_s {
2045 uint64_t reserved_9_63:55; 5808#ifdef __BIG_ENDIAN_BITFIELD
2046 uint64_t cnt:9; 5809 uint64_t reserved_10_63:54;
5810 uint64_t cnt:10;
5811#else
5812 uint64_t cnt:10;
5813 uint64_t reserved_10_63:54;
5814#endif
2047 } s; 5815 } s;
2048 struct cvmx_gmxx_txx_thresh_cn30xx { 5816 struct cvmx_gmxx_txx_thresh_cn30xx {
5817#ifdef __BIG_ENDIAN_BITFIELD
2049 uint64_t reserved_7_63:57; 5818 uint64_t reserved_7_63:57;
2050 uint64_t cnt:7; 5819 uint64_t cnt:7;
5820#else
5821 uint64_t cnt:7;
5822 uint64_t reserved_7_63:57;
5823#endif
2051 } cn30xx; 5824 } cn30xx;
2052 struct cvmx_gmxx_txx_thresh_cn30xx cn31xx; 5825 struct cvmx_gmxx_txx_thresh_cn30xx cn31xx;
2053 struct cvmx_gmxx_txx_thresh_s cn38xx; 5826 struct cvmx_gmxx_txx_thresh_cn38xx {
2054 struct cvmx_gmxx_txx_thresh_s cn38xxp2; 5827#ifdef __BIG_ENDIAN_BITFIELD
5828 uint64_t reserved_9_63:55;
5829 uint64_t cnt:9;
5830#else
5831 uint64_t cnt:9;
5832 uint64_t reserved_9_63:55;
5833#endif
5834 } cn38xx;
5835 struct cvmx_gmxx_txx_thresh_cn38xx cn38xxp2;
2055 struct cvmx_gmxx_txx_thresh_cn30xx cn50xx; 5836 struct cvmx_gmxx_txx_thresh_cn30xx cn50xx;
2056 struct cvmx_gmxx_txx_thresh_s cn52xx; 5837 struct cvmx_gmxx_txx_thresh_cn38xx cn52xx;
2057 struct cvmx_gmxx_txx_thresh_s cn52xxp1; 5838 struct cvmx_gmxx_txx_thresh_cn38xx cn52xxp1;
2058 struct cvmx_gmxx_txx_thresh_s cn56xx; 5839 struct cvmx_gmxx_txx_thresh_cn38xx cn56xx;
2059 struct cvmx_gmxx_txx_thresh_s cn56xxp1; 5840 struct cvmx_gmxx_txx_thresh_cn38xx cn56xxp1;
2060 struct cvmx_gmxx_txx_thresh_s cn58xx; 5841 struct cvmx_gmxx_txx_thresh_cn38xx cn58xx;
2061 struct cvmx_gmxx_txx_thresh_s cn58xxp1; 5842 struct cvmx_gmxx_txx_thresh_cn38xx cn58xxp1;
5843 struct cvmx_gmxx_txx_thresh_cn38xx cn61xx;
5844 struct cvmx_gmxx_txx_thresh_cn38xx cn63xx;
5845 struct cvmx_gmxx_txx_thresh_cn38xx cn63xxp1;
5846 struct cvmx_gmxx_txx_thresh_cn38xx cn66xx;
5847 struct cvmx_gmxx_txx_thresh_s cn68xx;
5848 struct cvmx_gmxx_txx_thresh_s cn68xxp1;
5849 struct cvmx_gmxx_txx_thresh_cn38xx cnf71xx;
2062}; 5850};
2063 5851
2064union cvmx_gmxx_tx_bp { 5852union cvmx_gmxx_tx_bp {
2065 uint64_t u64; 5853 uint64_t u64;
2066 struct cvmx_gmxx_tx_bp_s { 5854 struct cvmx_gmxx_tx_bp_s {
5855#ifdef __BIG_ENDIAN_BITFIELD
2067 uint64_t reserved_4_63:60; 5856 uint64_t reserved_4_63:60;
2068 uint64_t bp:4; 5857 uint64_t bp:4;
5858#else
5859 uint64_t bp:4;
5860 uint64_t reserved_4_63:60;
5861#endif
2069 } s; 5862 } s;
2070 struct cvmx_gmxx_tx_bp_cn30xx { 5863 struct cvmx_gmxx_tx_bp_cn30xx {
5864#ifdef __BIG_ENDIAN_BITFIELD
2071 uint64_t reserved_3_63:61; 5865 uint64_t reserved_3_63:61;
2072 uint64_t bp:3; 5866 uint64_t bp:3;
5867#else
5868 uint64_t bp:3;
5869 uint64_t reserved_3_63:61;
5870#endif
2073 } cn30xx; 5871 } cn30xx;
2074 struct cvmx_gmxx_tx_bp_cn30xx cn31xx; 5872 struct cvmx_gmxx_tx_bp_cn30xx cn31xx;
2075 struct cvmx_gmxx_tx_bp_s cn38xx; 5873 struct cvmx_gmxx_tx_bp_s cn38xx;
@@ -2081,13 +5879,33 @@ union cvmx_gmxx_tx_bp {
2081 struct cvmx_gmxx_tx_bp_s cn56xxp1; 5879 struct cvmx_gmxx_tx_bp_s cn56xxp1;
2082 struct cvmx_gmxx_tx_bp_s cn58xx; 5880 struct cvmx_gmxx_tx_bp_s cn58xx;
2083 struct cvmx_gmxx_tx_bp_s cn58xxp1; 5881 struct cvmx_gmxx_tx_bp_s cn58xxp1;
5882 struct cvmx_gmxx_tx_bp_s cn61xx;
5883 struct cvmx_gmxx_tx_bp_s cn63xx;
5884 struct cvmx_gmxx_tx_bp_s cn63xxp1;
5885 struct cvmx_gmxx_tx_bp_s cn66xx;
5886 struct cvmx_gmxx_tx_bp_s cn68xx;
5887 struct cvmx_gmxx_tx_bp_s cn68xxp1;
5888 struct cvmx_gmxx_tx_bp_cnf71xx {
5889#ifdef __BIG_ENDIAN_BITFIELD
5890 uint64_t reserved_2_63:62;
5891 uint64_t bp:2;
5892#else
5893 uint64_t bp:2;
5894 uint64_t reserved_2_63:62;
5895#endif
5896 } cnf71xx;
2084}; 5897};
2085 5898
2086union cvmx_gmxx_tx_clk_mskx { 5899union cvmx_gmxx_tx_clk_mskx {
2087 uint64_t u64; 5900 uint64_t u64;
2088 struct cvmx_gmxx_tx_clk_mskx_s { 5901 struct cvmx_gmxx_tx_clk_mskx_s {
5902#ifdef __BIG_ENDIAN_BITFIELD
2089 uint64_t reserved_1_63:63; 5903 uint64_t reserved_1_63:63;
2090 uint64_t msk:1; 5904 uint64_t msk:1;
5905#else
5906 uint64_t msk:1;
5907 uint64_t reserved_1_63:63;
5908#endif
2091 } s; 5909 } s;
2092 struct cvmx_gmxx_tx_clk_mskx_s cn30xx; 5910 struct cvmx_gmxx_tx_clk_mskx_s cn30xx;
2093 struct cvmx_gmxx_tx_clk_mskx_s cn50xx; 5911 struct cvmx_gmxx_tx_clk_mskx_s cn50xx;
@@ -2096,8 +5914,13 @@ union cvmx_gmxx_tx_clk_mskx {
2096union cvmx_gmxx_tx_col_attempt { 5914union cvmx_gmxx_tx_col_attempt {
2097 uint64_t u64; 5915 uint64_t u64;
2098 struct cvmx_gmxx_tx_col_attempt_s { 5916 struct cvmx_gmxx_tx_col_attempt_s {
5917#ifdef __BIG_ENDIAN_BITFIELD
2099 uint64_t reserved_5_63:59; 5918 uint64_t reserved_5_63:59;
2100 uint64_t limit:5; 5919 uint64_t limit:5;
5920#else
5921 uint64_t limit:5;
5922 uint64_t reserved_5_63:59;
5923#endif
2101 } s; 5924 } s;
2102 struct cvmx_gmxx_tx_col_attempt_s cn30xx; 5925 struct cvmx_gmxx_tx_col_attempt_s cn30xx;
2103 struct cvmx_gmxx_tx_col_attempt_s cn31xx; 5926 struct cvmx_gmxx_tx_col_attempt_s cn31xx;
@@ -2110,17 +5933,34 @@ union cvmx_gmxx_tx_col_attempt {
2110 struct cvmx_gmxx_tx_col_attempt_s cn56xxp1; 5933 struct cvmx_gmxx_tx_col_attempt_s cn56xxp1;
2111 struct cvmx_gmxx_tx_col_attempt_s cn58xx; 5934 struct cvmx_gmxx_tx_col_attempt_s cn58xx;
2112 struct cvmx_gmxx_tx_col_attempt_s cn58xxp1; 5935 struct cvmx_gmxx_tx_col_attempt_s cn58xxp1;
5936 struct cvmx_gmxx_tx_col_attempt_s cn61xx;
5937 struct cvmx_gmxx_tx_col_attempt_s cn63xx;
5938 struct cvmx_gmxx_tx_col_attempt_s cn63xxp1;
5939 struct cvmx_gmxx_tx_col_attempt_s cn66xx;
5940 struct cvmx_gmxx_tx_col_attempt_s cn68xx;
5941 struct cvmx_gmxx_tx_col_attempt_s cn68xxp1;
5942 struct cvmx_gmxx_tx_col_attempt_s cnf71xx;
2113}; 5943};
2114 5944
2115union cvmx_gmxx_tx_corrupt { 5945union cvmx_gmxx_tx_corrupt {
2116 uint64_t u64; 5946 uint64_t u64;
2117 struct cvmx_gmxx_tx_corrupt_s { 5947 struct cvmx_gmxx_tx_corrupt_s {
5948#ifdef __BIG_ENDIAN_BITFIELD
2118 uint64_t reserved_4_63:60; 5949 uint64_t reserved_4_63:60;
2119 uint64_t corrupt:4; 5950 uint64_t corrupt:4;
5951#else
5952 uint64_t corrupt:4;
5953 uint64_t reserved_4_63:60;
5954#endif
2120 } s; 5955 } s;
2121 struct cvmx_gmxx_tx_corrupt_cn30xx { 5956 struct cvmx_gmxx_tx_corrupt_cn30xx {
5957#ifdef __BIG_ENDIAN_BITFIELD
2122 uint64_t reserved_3_63:61; 5958 uint64_t reserved_3_63:61;
2123 uint64_t corrupt:3; 5959 uint64_t corrupt:3;
5960#else
5961 uint64_t corrupt:3;
5962 uint64_t reserved_3_63:61;
5963#endif
2124 } cn30xx; 5964 } cn30xx;
2125 struct cvmx_gmxx_tx_corrupt_cn30xx cn31xx; 5965 struct cvmx_gmxx_tx_corrupt_cn30xx cn31xx;
2126 struct cvmx_gmxx_tx_corrupt_s cn38xx; 5966 struct cvmx_gmxx_tx_corrupt_s cn38xx;
@@ -2132,36 +5972,81 @@ union cvmx_gmxx_tx_corrupt {
2132 struct cvmx_gmxx_tx_corrupt_s cn56xxp1; 5972 struct cvmx_gmxx_tx_corrupt_s cn56xxp1;
2133 struct cvmx_gmxx_tx_corrupt_s cn58xx; 5973 struct cvmx_gmxx_tx_corrupt_s cn58xx;
2134 struct cvmx_gmxx_tx_corrupt_s cn58xxp1; 5974 struct cvmx_gmxx_tx_corrupt_s cn58xxp1;
5975 struct cvmx_gmxx_tx_corrupt_s cn61xx;
5976 struct cvmx_gmxx_tx_corrupt_s cn63xx;
5977 struct cvmx_gmxx_tx_corrupt_s cn63xxp1;
5978 struct cvmx_gmxx_tx_corrupt_s cn66xx;
5979 struct cvmx_gmxx_tx_corrupt_s cn68xx;
5980 struct cvmx_gmxx_tx_corrupt_s cn68xxp1;
5981 struct cvmx_gmxx_tx_corrupt_cnf71xx {
5982#ifdef __BIG_ENDIAN_BITFIELD
5983 uint64_t reserved_2_63:62;
5984 uint64_t corrupt:2;
5985#else
5986 uint64_t corrupt:2;
5987 uint64_t reserved_2_63:62;
5988#endif
5989 } cnf71xx;
2135}; 5990};
2136 5991
2137union cvmx_gmxx_tx_hg2_reg1 { 5992union cvmx_gmxx_tx_hg2_reg1 {
2138 uint64_t u64; 5993 uint64_t u64;
2139 struct cvmx_gmxx_tx_hg2_reg1_s { 5994 struct cvmx_gmxx_tx_hg2_reg1_s {
5995#ifdef __BIG_ENDIAN_BITFIELD
2140 uint64_t reserved_16_63:48; 5996 uint64_t reserved_16_63:48;
2141 uint64_t tx_xof:16; 5997 uint64_t tx_xof:16;
5998#else
5999 uint64_t tx_xof:16;
6000 uint64_t reserved_16_63:48;
6001#endif
2142 } s; 6002 } s;
2143 struct cvmx_gmxx_tx_hg2_reg1_s cn52xx; 6003 struct cvmx_gmxx_tx_hg2_reg1_s cn52xx;
2144 struct cvmx_gmxx_tx_hg2_reg1_s cn52xxp1; 6004 struct cvmx_gmxx_tx_hg2_reg1_s cn52xxp1;
2145 struct cvmx_gmxx_tx_hg2_reg1_s cn56xx; 6005 struct cvmx_gmxx_tx_hg2_reg1_s cn56xx;
6006 struct cvmx_gmxx_tx_hg2_reg1_s cn61xx;
6007 struct cvmx_gmxx_tx_hg2_reg1_s cn63xx;
6008 struct cvmx_gmxx_tx_hg2_reg1_s cn63xxp1;
6009 struct cvmx_gmxx_tx_hg2_reg1_s cn66xx;
6010 struct cvmx_gmxx_tx_hg2_reg1_s cn68xx;
6011 struct cvmx_gmxx_tx_hg2_reg1_s cn68xxp1;
6012 struct cvmx_gmxx_tx_hg2_reg1_s cnf71xx;
2146}; 6013};
2147 6014
2148union cvmx_gmxx_tx_hg2_reg2 { 6015union cvmx_gmxx_tx_hg2_reg2 {
2149 uint64_t u64; 6016 uint64_t u64;
2150 struct cvmx_gmxx_tx_hg2_reg2_s { 6017 struct cvmx_gmxx_tx_hg2_reg2_s {
6018#ifdef __BIG_ENDIAN_BITFIELD
2151 uint64_t reserved_16_63:48; 6019 uint64_t reserved_16_63:48;
2152 uint64_t tx_xon:16; 6020 uint64_t tx_xon:16;
6021#else
6022 uint64_t tx_xon:16;
6023 uint64_t reserved_16_63:48;
6024#endif
2153 } s; 6025 } s;
2154 struct cvmx_gmxx_tx_hg2_reg2_s cn52xx; 6026 struct cvmx_gmxx_tx_hg2_reg2_s cn52xx;
2155 struct cvmx_gmxx_tx_hg2_reg2_s cn52xxp1; 6027 struct cvmx_gmxx_tx_hg2_reg2_s cn52xxp1;
2156 struct cvmx_gmxx_tx_hg2_reg2_s cn56xx; 6028 struct cvmx_gmxx_tx_hg2_reg2_s cn56xx;
6029 struct cvmx_gmxx_tx_hg2_reg2_s cn61xx;
6030 struct cvmx_gmxx_tx_hg2_reg2_s cn63xx;
6031 struct cvmx_gmxx_tx_hg2_reg2_s cn63xxp1;
6032 struct cvmx_gmxx_tx_hg2_reg2_s cn66xx;
6033 struct cvmx_gmxx_tx_hg2_reg2_s cn68xx;
6034 struct cvmx_gmxx_tx_hg2_reg2_s cn68xxp1;
6035 struct cvmx_gmxx_tx_hg2_reg2_s cnf71xx;
2157}; 6036};
2158 6037
2159union cvmx_gmxx_tx_ifg { 6038union cvmx_gmxx_tx_ifg {
2160 uint64_t u64; 6039 uint64_t u64;
2161 struct cvmx_gmxx_tx_ifg_s { 6040 struct cvmx_gmxx_tx_ifg_s {
6041#ifdef __BIG_ENDIAN_BITFIELD
2162 uint64_t reserved_8_63:56; 6042 uint64_t reserved_8_63:56;
2163 uint64_t ifg2:4; 6043 uint64_t ifg2:4;
2164 uint64_t ifg1:4; 6044 uint64_t ifg1:4;
6045#else
6046 uint64_t ifg1:4;
6047 uint64_t ifg2:4;
6048 uint64_t reserved_8_63:56;
6049#endif
2165 } s; 6050 } s;
2166 struct cvmx_gmxx_tx_ifg_s cn30xx; 6051 struct cvmx_gmxx_tx_ifg_s cn30xx;
2167 struct cvmx_gmxx_tx_ifg_s cn31xx; 6052 struct cvmx_gmxx_tx_ifg_s cn31xx;
@@ -2174,21 +6059,44 @@ union cvmx_gmxx_tx_ifg {
2174 struct cvmx_gmxx_tx_ifg_s cn56xxp1; 6059 struct cvmx_gmxx_tx_ifg_s cn56xxp1;
2175 struct cvmx_gmxx_tx_ifg_s cn58xx; 6060 struct cvmx_gmxx_tx_ifg_s cn58xx;
2176 struct cvmx_gmxx_tx_ifg_s cn58xxp1; 6061 struct cvmx_gmxx_tx_ifg_s cn58xxp1;
6062 struct cvmx_gmxx_tx_ifg_s cn61xx;
6063 struct cvmx_gmxx_tx_ifg_s cn63xx;
6064 struct cvmx_gmxx_tx_ifg_s cn63xxp1;
6065 struct cvmx_gmxx_tx_ifg_s cn66xx;
6066 struct cvmx_gmxx_tx_ifg_s cn68xx;
6067 struct cvmx_gmxx_tx_ifg_s cn68xxp1;
6068 struct cvmx_gmxx_tx_ifg_s cnf71xx;
2177}; 6069};
2178 6070
2179union cvmx_gmxx_tx_int_en { 6071union cvmx_gmxx_tx_int_en {
2180 uint64_t u64; 6072 uint64_t u64;
2181 struct cvmx_gmxx_tx_int_en_s { 6073 struct cvmx_gmxx_tx_int_en_s {
2182 uint64_t reserved_20_63:44; 6074#ifdef __BIG_ENDIAN_BITFIELD
6075 uint64_t reserved_25_63:39;
6076 uint64_t xchange:1;
6077 uint64_t ptp_lost:4;
2183 uint64_t late_col:4; 6078 uint64_t late_col:4;
2184 uint64_t xsdef:4; 6079 uint64_t xsdef:4;
2185 uint64_t xscol:4; 6080 uint64_t xscol:4;
2186 uint64_t reserved_6_7:2; 6081 uint64_t reserved_6_7:2;
2187 uint64_t undflw:4; 6082 uint64_t undflw:4;
2188 uint64_t ncb_nxa:1; 6083 uint64_t reserved_1_1:1;
6084 uint64_t pko_nxa:1;
6085#else
2189 uint64_t pko_nxa:1; 6086 uint64_t pko_nxa:1;
6087 uint64_t reserved_1_1:1;
6088 uint64_t undflw:4;
6089 uint64_t reserved_6_7:2;
6090 uint64_t xscol:4;
6091 uint64_t xsdef:4;
6092 uint64_t late_col:4;
6093 uint64_t ptp_lost:4;
6094 uint64_t xchange:1;
6095 uint64_t reserved_25_63:39;
6096#endif
2190 } s; 6097 } s;
2191 struct cvmx_gmxx_tx_int_en_cn30xx { 6098 struct cvmx_gmxx_tx_int_en_cn30xx {
6099#ifdef __BIG_ENDIAN_BITFIELD
2192 uint64_t reserved_19_63:45; 6100 uint64_t reserved_19_63:45;
2193 uint64_t late_col:3; 6101 uint64_t late_col:3;
2194 uint64_t reserved_15_15:1; 6102 uint64_t reserved_15_15:1;
@@ -2199,8 +6107,21 @@ union cvmx_gmxx_tx_int_en {
2199 uint64_t undflw:3; 6107 uint64_t undflw:3;
2200 uint64_t reserved_1_1:1; 6108 uint64_t reserved_1_1:1;
2201 uint64_t pko_nxa:1; 6109 uint64_t pko_nxa:1;
6110#else
6111 uint64_t pko_nxa:1;
6112 uint64_t reserved_1_1:1;
6113 uint64_t undflw:3;
6114 uint64_t reserved_5_7:3;
6115 uint64_t xscol:3;
6116 uint64_t reserved_11_11:1;
6117 uint64_t xsdef:3;
6118 uint64_t reserved_15_15:1;
6119 uint64_t late_col:3;
6120 uint64_t reserved_19_63:45;
6121#endif
2202 } cn30xx; 6122 } cn30xx;
2203 struct cvmx_gmxx_tx_int_en_cn31xx { 6123 struct cvmx_gmxx_tx_int_en_cn31xx {
6124#ifdef __BIG_ENDIAN_BITFIELD
2204 uint64_t reserved_15_63:49; 6125 uint64_t reserved_15_63:49;
2205 uint64_t xsdef:3; 6126 uint64_t xsdef:3;
2206 uint64_t reserved_11_11:1; 6127 uint64_t reserved_11_11:1;
@@ -2209,9 +6130,40 @@ union cvmx_gmxx_tx_int_en {
2209 uint64_t undflw:3; 6130 uint64_t undflw:3;
2210 uint64_t reserved_1_1:1; 6131 uint64_t reserved_1_1:1;
2211 uint64_t pko_nxa:1; 6132 uint64_t pko_nxa:1;
6133#else
6134 uint64_t pko_nxa:1;
6135 uint64_t reserved_1_1:1;
6136 uint64_t undflw:3;
6137 uint64_t reserved_5_7:3;
6138 uint64_t xscol:3;
6139 uint64_t reserved_11_11:1;
6140 uint64_t xsdef:3;
6141 uint64_t reserved_15_63:49;
6142#endif
2212 } cn31xx; 6143 } cn31xx;
2213 struct cvmx_gmxx_tx_int_en_s cn38xx; 6144 struct cvmx_gmxx_tx_int_en_cn38xx {
6145#ifdef __BIG_ENDIAN_BITFIELD
6146 uint64_t reserved_20_63:44;
6147 uint64_t late_col:4;
6148 uint64_t xsdef:4;
6149 uint64_t xscol:4;
6150 uint64_t reserved_6_7:2;
6151 uint64_t undflw:4;
6152 uint64_t ncb_nxa:1;
6153 uint64_t pko_nxa:1;
6154#else
6155 uint64_t pko_nxa:1;
6156 uint64_t ncb_nxa:1;
6157 uint64_t undflw:4;
6158 uint64_t reserved_6_7:2;
6159 uint64_t xscol:4;
6160 uint64_t xsdef:4;
6161 uint64_t late_col:4;
6162 uint64_t reserved_20_63:44;
6163#endif
6164 } cn38xx;
2214 struct cvmx_gmxx_tx_int_en_cn38xxp2 { 6165 struct cvmx_gmxx_tx_int_en_cn38xxp2 {
6166#ifdef __BIG_ENDIAN_BITFIELD
2215 uint64_t reserved_16_63:48; 6167 uint64_t reserved_16_63:48;
2216 uint64_t xsdef:4; 6168 uint64_t xsdef:4;
2217 uint64_t xscol:4; 6169 uint64_t xscol:4;
@@ -2219,9 +6171,19 @@ union cvmx_gmxx_tx_int_en {
2219 uint64_t undflw:4; 6171 uint64_t undflw:4;
2220 uint64_t ncb_nxa:1; 6172 uint64_t ncb_nxa:1;
2221 uint64_t pko_nxa:1; 6173 uint64_t pko_nxa:1;
6174#else
6175 uint64_t pko_nxa:1;
6176 uint64_t ncb_nxa:1;
6177 uint64_t undflw:4;
6178 uint64_t reserved_6_7:2;
6179 uint64_t xscol:4;
6180 uint64_t xsdef:4;
6181 uint64_t reserved_16_63:48;
6182#endif
2222 } cn38xxp2; 6183 } cn38xxp2;
2223 struct cvmx_gmxx_tx_int_en_cn30xx cn50xx; 6184 struct cvmx_gmxx_tx_int_en_cn30xx cn50xx;
2224 struct cvmx_gmxx_tx_int_en_cn52xx { 6185 struct cvmx_gmxx_tx_int_en_cn52xx {
6186#ifdef __BIG_ENDIAN_BITFIELD
2225 uint64_t reserved_20_63:44; 6187 uint64_t reserved_20_63:44;
2226 uint64_t late_col:4; 6188 uint64_t late_col:4;
2227 uint64_t xsdef:4; 6189 uint64_t xsdef:4;
@@ -2230,27 +6192,138 @@ union cvmx_gmxx_tx_int_en {
2230 uint64_t undflw:4; 6192 uint64_t undflw:4;
2231 uint64_t reserved_1_1:1; 6193 uint64_t reserved_1_1:1;
2232 uint64_t pko_nxa:1; 6194 uint64_t pko_nxa:1;
6195#else
6196 uint64_t pko_nxa:1;
6197 uint64_t reserved_1_1:1;
6198 uint64_t undflw:4;
6199 uint64_t reserved_6_7:2;
6200 uint64_t xscol:4;
6201 uint64_t xsdef:4;
6202 uint64_t late_col:4;
6203 uint64_t reserved_20_63:44;
6204#endif
2233 } cn52xx; 6205 } cn52xx;
2234 struct cvmx_gmxx_tx_int_en_cn52xx cn52xxp1; 6206 struct cvmx_gmxx_tx_int_en_cn52xx cn52xxp1;
2235 struct cvmx_gmxx_tx_int_en_cn52xx cn56xx; 6207 struct cvmx_gmxx_tx_int_en_cn52xx cn56xx;
2236 struct cvmx_gmxx_tx_int_en_cn52xx cn56xxp1; 6208 struct cvmx_gmxx_tx_int_en_cn52xx cn56xxp1;
2237 struct cvmx_gmxx_tx_int_en_s cn58xx; 6209 struct cvmx_gmxx_tx_int_en_cn38xx cn58xx;
2238 struct cvmx_gmxx_tx_int_en_s cn58xxp1; 6210 struct cvmx_gmxx_tx_int_en_cn38xx cn58xxp1;
6211 struct cvmx_gmxx_tx_int_en_s cn61xx;
6212 struct cvmx_gmxx_tx_int_en_cn63xx {
6213#ifdef __BIG_ENDIAN_BITFIELD
6214 uint64_t reserved_24_63:40;
6215 uint64_t ptp_lost:4;
6216 uint64_t late_col:4;
6217 uint64_t xsdef:4;
6218 uint64_t xscol:4;
6219 uint64_t reserved_6_7:2;
6220 uint64_t undflw:4;
6221 uint64_t reserved_1_1:1;
6222 uint64_t pko_nxa:1;
6223#else
6224 uint64_t pko_nxa:1;
6225 uint64_t reserved_1_1:1;
6226 uint64_t undflw:4;
6227 uint64_t reserved_6_7:2;
6228 uint64_t xscol:4;
6229 uint64_t xsdef:4;
6230 uint64_t late_col:4;
6231 uint64_t ptp_lost:4;
6232 uint64_t reserved_24_63:40;
6233#endif
6234 } cn63xx;
6235 struct cvmx_gmxx_tx_int_en_cn63xx cn63xxp1;
6236 struct cvmx_gmxx_tx_int_en_s cn66xx;
6237 struct cvmx_gmxx_tx_int_en_cn68xx {
6238#ifdef __BIG_ENDIAN_BITFIELD
6239 uint64_t reserved_25_63:39;
6240 uint64_t xchange:1;
6241 uint64_t ptp_lost:4;
6242 uint64_t late_col:4;
6243 uint64_t xsdef:4;
6244 uint64_t xscol:4;
6245 uint64_t reserved_6_7:2;
6246 uint64_t undflw:4;
6247 uint64_t pko_nxp:1;
6248 uint64_t pko_nxa:1;
6249#else
6250 uint64_t pko_nxa:1;
6251 uint64_t pko_nxp:1;
6252 uint64_t undflw:4;
6253 uint64_t reserved_6_7:2;
6254 uint64_t xscol:4;
6255 uint64_t xsdef:4;
6256 uint64_t late_col:4;
6257 uint64_t ptp_lost:4;
6258 uint64_t xchange:1;
6259 uint64_t reserved_25_63:39;
6260#endif
6261 } cn68xx;
6262 struct cvmx_gmxx_tx_int_en_cn68xx cn68xxp1;
6263 struct cvmx_gmxx_tx_int_en_cnf71xx {
6264#ifdef __BIG_ENDIAN_BITFIELD
6265 uint64_t reserved_25_63:39;
6266 uint64_t xchange:1;
6267 uint64_t reserved_22_23:2;
6268 uint64_t ptp_lost:2;
6269 uint64_t reserved_18_19:2;
6270 uint64_t late_col:2;
6271 uint64_t reserved_14_15:2;
6272 uint64_t xsdef:2;
6273 uint64_t reserved_10_11:2;
6274 uint64_t xscol:2;
6275 uint64_t reserved_4_7:4;
6276 uint64_t undflw:2;
6277 uint64_t reserved_1_1:1;
6278 uint64_t pko_nxa:1;
6279#else
6280 uint64_t pko_nxa:1;
6281 uint64_t reserved_1_1:1;
6282 uint64_t undflw:2;
6283 uint64_t reserved_4_7:4;
6284 uint64_t xscol:2;
6285 uint64_t reserved_10_11:2;
6286 uint64_t xsdef:2;
6287 uint64_t reserved_14_15:2;
6288 uint64_t late_col:2;
6289 uint64_t reserved_18_19:2;
6290 uint64_t ptp_lost:2;
6291 uint64_t reserved_22_23:2;
6292 uint64_t xchange:1;
6293 uint64_t reserved_25_63:39;
6294#endif
6295 } cnf71xx;
2239}; 6296};
2240 6297
2241union cvmx_gmxx_tx_int_reg { 6298union cvmx_gmxx_tx_int_reg {
2242 uint64_t u64; 6299 uint64_t u64;
2243 struct cvmx_gmxx_tx_int_reg_s { 6300 struct cvmx_gmxx_tx_int_reg_s {
2244 uint64_t reserved_20_63:44; 6301#ifdef __BIG_ENDIAN_BITFIELD
6302 uint64_t reserved_25_63:39;
6303 uint64_t xchange:1;
6304 uint64_t ptp_lost:4;
2245 uint64_t late_col:4; 6305 uint64_t late_col:4;
2246 uint64_t xsdef:4; 6306 uint64_t xsdef:4;
2247 uint64_t xscol:4; 6307 uint64_t xscol:4;
2248 uint64_t reserved_6_7:2; 6308 uint64_t reserved_6_7:2;
2249 uint64_t undflw:4; 6309 uint64_t undflw:4;
2250 uint64_t ncb_nxa:1; 6310 uint64_t reserved_1_1:1;
2251 uint64_t pko_nxa:1; 6311 uint64_t pko_nxa:1;
6312#else
6313 uint64_t pko_nxa:1;
6314 uint64_t reserved_1_1:1;
6315 uint64_t undflw:4;
6316 uint64_t reserved_6_7:2;
6317 uint64_t xscol:4;
6318 uint64_t xsdef:4;
6319 uint64_t late_col:4;
6320 uint64_t ptp_lost:4;
6321 uint64_t xchange:1;
6322 uint64_t reserved_25_63:39;
6323#endif
2252 } s; 6324 } s;
2253 struct cvmx_gmxx_tx_int_reg_cn30xx { 6325 struct cvmx_gmxx_tx_int_reg_cn30xx {
6326#ifdef __BIG_ENDIAN_BITFIELD
2254 uint64_t reserved_19_63:45; 6327 uint64_t reserved_19_63:45;
2255 uint64_t late_col:3; 6328 uint64_t late_col:3;
2256 uint64_t reserved_15_15:1; 6329 uint64_t reserved_15_15:1;
@@ -2261,8 +6334,21 @@ union cvmx_gmxx_tx_int_reg {
2261 uint64_t undflw:3; 6334 uint64_t undflw:3;
2262 uint64_t reserved_1_1:1; 6335 uint64_t reserved_1_1:1;
2263 uint64_t pko_nxa:1; 6336 uint64_t pko_nxa:1;
6337#else
6338 uint64_t pko_nxa:1;
6339 uint64_t reserved_1_1:1;
6340 uint64_t undflw:3;
6341 uint64_t reserved_5_7:3;
6342 uint64_t xscol:3;
6343 uint64_t reserved_11_11:1;
6344 uint64_t xsdef:3;
6345 uint64_t reserved_15_15:1;
6346 uint64_t late_col:3;
6347 uint64_t reserved_19_63:45;
6348#endif
2264 } cn30xx; 6349 } cn30xx;
2265 struct cvmx_gmxx_tx_int_reg_cn31xx { 6350 struct cvmx_gmxx_tx_int_reg_cn31xx {
6351#ifdef __BIG_ENDIAN_BITFIELD
2266 uint64_t reserved_15_63:49; 6352 uint64_t reserved_15_63:49;
2267 uint64_t xsdef:3; 6353 uint64_t xsdef:3;
2268 uint64_t reserved_11_11:1; 6354 uint64_t reserved_11_11:1;
@@ -2271,9 +6357,40 @@ union cvmx_gmxx_tx_int_reg {
2271 uint64_t undflw:3; 6357 uint64_t undflw:3;
2272 uint64_t reserved_1_1:1; 6358 uint64_t reserved_1_1:1;
2273 uint64_t pko_nxa:1; 6359 uint64_t pko_nxa:1;
6360#else
6361 uint64_t pko_nxa:1;
6362 uint64_t reserved_1_1:1;
6363 uint64_t undflw:3;
6364 uint64_t reserved_5_7:3;
6365 uint64_t xscol:3;
6366 uint64_t reserved_11_11:1;
6367 uint64_t xsdef:3;
6368 uint64_t reserved_15_63:49;
6369#endif
2274 } cn31xx; 6370 } cn31xx;
2275 struct cvmx_gmxx_tx_int_reg_s cn38xx; 6371 struct cvmx_gmxx_tx_int_reg_cn38xx {
6372#ifdef __BIG_ENDIAN_BITFIELD
6373 uint64_t reserved_20_63:44;
6374 uint64_t late_col:4;
6375 uint64_t xsdef:4;
6376 uint64_t xscol:4;
6377 uint64_t reserved_6_7:2;
6378 uint64_t undflw:4;
6379 uint64_t ncb_nxa:1;
6380 uint64_t pko_nxa:1;
6381#else
6382 uint64_t pko_nxa:1;
6383 uint64_t ncb_nxa:1;
6384 uint64_t undflw:4;
6385 uint64_t reserved_6_7:2;
6386 uint64_t xscol:4;
6387 uint64_t xsdef:4;
6388 uint64_t late_col:4;
6389 uint64_t reserved_20_63:44;
6390#endif
6391 } cn38xx;
2276 struct cvmx_gmxx_tx_int_reg_cn38xxp2 { 6392 struct cvmx_gmxx_tx_int_reg_cn38xxp2 {
6393#ifdef __BIG_ENDIAN_BITFIELD
2277 uint64_t reserved_16_63:48; 6394 uint64_t reserved_16_63:48;
2278 uint64_t xsdef:4; 6395 uint64_t xsdef:4;
2279 uint64_t xscol:4; 6396 uint64_t xscol:4;
@@ -2281,9 +6398,19 @@ union cvmx_gmxx_tx_int_reg {
2281 uint64_t undflw:4; 6398 uint64_t undflw:4;
2282 uint64_t ncb_nxa:1; 6399 uint64_t ncb_nxa:1;
2283 uint64_t pko_nxa:1; 6400 uint64_t pko_nxa:1;
6401#else
6402 uint64_t pko_nxa:1;
6403 uint64_t ncb_nxa:1;
6404 uint64_t undflw:4;
6405 uint64_t reserved_6_7:2;
6406 uint64_t xscol:4;
6407 uint64_t xsdef:4;
6408 uint64_t reserved_16_63:48;
6409#endif
2284 } cn38xxp2; 6410 } cn38xxp2;
2285 struct cvmx_gmxx_tx_int_reg_cn30xx cn50xx; 6411 struct cvmx_gmxx_tx_int_reg_cn30xx cn50xx;
2286 struct cvmx_gmxx_tx_int_reg_cn52xx { 6412 struct cvmx_gmxx_tx_int_reg_cn52xx {
6413#ifdef __BIG_ENDIAN_BITFIELD
2287 uint64_t reserved_20_63:44; 6414 uint64_t reserved_20_63:44;
2288 uint64_t late_col:4; 6415 uint64_t late_col:4;
2289 uint64_t xsdef:4; 6416 uint64_t xsdef:4;
@@ -2292,19 +6419,119 @@ union cvmx_gmxx_tx_int_reg {
2292 uint64_t undflw:4; 6419 uint64_t undflw:4;
2293 uint64_t reserved_1_1:1; 6420 uint64_t reserved_1_1:1;
2294 uint64_t pko_nxa:1; 6421 uint64_t pko_nxa:1;
6422#else
6423 uint64_t pko_nxa:1;
6424 uint64_t reserved_1_1:1;
6425 uint64_t undflw:4;
6426 uint64_t reserved_6_7:2;
6427 uint64_t xscol:4;
6428 uint64_t xsdef:4;
6429 uint64_t late_col:4;
6430 uint64_t reserved_20_63:44;
6431#endif
2295 } cn52xx; 6432 } cn52xx;
2296 struct cvmx_gmxx_tx_int_reg_cn52xx cn52xxp1; 6433 struct cvmx_gmxx_tx_int_reg_cn52xx cn52xxp1;
2297 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xx; 6434 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xx;
2298 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xxp1; 6435 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xxp1;
2299 struct cvmx_gmxx_tx_int_reg_s cn58xx; 6436 struct cvmx_gmxx_tx_int_reg_cn38xx cn58xx;
2300 struct cvmx_gmxx_tx_int_reg_s cn58xxp1; 6437 struct cvmx_gmxx_tx_int_reg_cn38xx cn58xxp1;
6438 struct cvmx_gmxx_tx_int_reg_s cn61xx;
6439 struct cvmx_gmxx_tx_int_reg_cn63xx {
6440#ifdef __BIG_ENDIAN_BITFIELD
6441 uint64_t reserved_24_63:40;
6442 uint64_t ptp_lost:4;
6443 uint64_t late_col:4;
6444 uint64_t xsdef:4;
6445 uint64_t xscol:4;
6446 uint64_t reserved_6_7:2;
6447 uint64_t undflw:4;
6448 uint64_t reserved_1_1:1;
6449 uint64_t pko_nxa:1;
6450#else
6451 uint64_t pko_nxa:1;
6452 uint64_t reserved_1_1:1;
6453 uint64_t undflw:4;
6454 uint64_t reserved_6_7:2;
6455 uint64_t xscol:4;
6456 uint64_t xsdef:4;
6457 uint64_t late_col:4;
6458 uint64_t ptp_lost:4;
6459 uint64_t reserved_24_63:40;
6460#endif
6461 } cn63xx;
6462 struct cvmx_gmxx_tx_int_reg_cn63xx cn63xxp1;
6463 struct cvmx_gmxx_tx_int_reg_s cn66xx;
6464 struct cvmx_gmxx_tx_int_reg_cn68xx {
6465#ifdef __BIG_ENDIAN_BITFIELD
6466 uint64_t reserved_25_63:39;
6467 uint64_t xchange:1;
6468 uint64_t ptp_lost:4;
6469 uint64_t late_col:4;
6470 uint64_t xsdef:4;
6471 uint64_t xscol:4;
6472 uint64_t reserved_6_7:2;
6473 uint64_t undflw:4;
6474 uint64_t pko_nxp:1;
6475 uint64_t pko_nxa:1;
6476#else
6477 uint64_t pko_nxa:1;
6478 uint64_t pko_nxp:1;
6479 uint64_t undflw:4;
6480 uint64_t reserved_6_7:2;
6481 uint64_t xscol:4;
6482 uint64_t xsdef:4;
6483 uint64_t late_col:4;
6484 uint64_t ptp_lost:4;
6485 uint64_t xchange:1;
6486 uint64_t reserved_25_63:39;
6487#endif
6488 } cn68xx;
6489 struct cvmx_gmxx_tx_int_reg_cn68xx cn68xxp1;
6490 struct cvmx_gmxx_tx_int_reg_cnf71xx {
6491#ifdef __BIG_ENDIAN_BITFIELD
6492 uint64_t reserved_25_63:39;
6493 uint64_t xchange:1;
6494 uint64_t reserved_22_23:2;
6495 uint64_t ptp_lost:2;
6496 uint64_t reserved_18_19:2;
6497 uint64_t late_col:2;
6498 uint64_t reserved_14_15:2;
6499 uint64_t xsdef:2;
6500 uint64_t reserved_10_11:2;
6501 uint64_t xscol:2;
6502 uint64_t reserved_4_7:4;
6503 uint64_t undflw:2;
6504 uint64_t reserved_1_1:1;
6505 uint64_t pko_nxa:1;
6506#else
6507 uint64_t pko_nxa:1;
6508 uint64_t reserved_1_1:1;
6509 uint64_t undflw:2;
6510 uint64_t reserved_4_7:4;
6511 uint64_t xscol:2;
6512 uint64_t reserved_10_11:2;
6513 uint64_t xsdef:2;
6514 uint64_t reserved_14_15:2;
6515 uint64_t late_col:2;
6516 uint64_t reserved_18_19:2;
6517 uint64_t ptp_lost:2;
6518 uint64_t reserved_22_23:2;
6519 uint64_t xchange:1;
6520 uint64_t reserved_25_63:39;
6521#endif
6522 } cnf71xx;
2301}; 6523};
2302 6524
2303union cvmx_gmxx_tx_jam { 6525union cvmx_gmxx_tx_jam {
2304 uint64_t u64; 6526 uint64_t u64;
2305 struct cvmx_gmxx_tx_jam_s { 6527 struct cvmx_gmxx_tx_jam_s {
6528#ifdef __BIG_ENDIAN_BITFIELD
2306 uint64_t reserved_8_63:56; 6529 uint64_t reserved_8_63:56;
2307 uint64_t jam:8; 6530 uint64_t jam:8;
6531#else
6532 uint64_t jam:8;
6533 uint64_t reserved_8_63:56;
6534#endif
2308 } s; 6535 } s;
2309 struct cvmx_gmxx_tx_jam_s cn30xx; 6536 struct cvmx_gmxx_tx_jam_s cn30xx;
2310 struct cvmx_gmxx_tx_jam_s cn31xx; 6537 struct cvmx_gmxx_tx_jam_s cn31xx;
@@ -2317,13 +6544,25 @@ union cvmx_gmxx_tx_jam {
2317 struct cvmx_gmxx_tx_jam_s cn56xxp1; 6544 struct cvmx_gmxx_tx_jam_s cn56xxp1;
2318 struct cvmx_gmxx_tx_jam_s cn58xx; 6545 struct cvmx_gmxx_tx_jam_s cn58xx;
2319 struct cvmx_gmxx_tx_jam_s cn58xxp1; 6546 struct cvmx_gmxx_tx_jam_s cn58xxp1;
6547 struct cvmx_gmxx_tx_jam_s cn61xx;
6548 struct cvmx_gmxx_tx_jam_s cn63xx;
6549 struct cvmx_gmxx_tx_jam_s cn63xxp1;
6550 struct cvmx_gmxx_tx_jam_s cn66xx;
6551 struct cvmx_gmxx_tx_jam_s cn68xx;
6552 struct cvmx_gmxx_tx_jam_s cn68xxp1;
6553 struct cvmx_gmxx_tx_jam_s cnf71xx;
2320}; 6554};
2321 6555
2322union cvmx_gmxx_tx_lfsr { 6556union cvmx_gmxx_tx_lfsr {
2323 uint64_t u64; 6557 uint64_t u64;
2324 struct cvmx_gmxx_tx_lfsr_s { 6558 struct cvmx_gmxx_tx_lfsr_s {
6559#ifdef __BIG_ENDIAN_BITFIELD
2325 uint64_t reserved_16_63:48; 6560 uint64_t reserved_16_63:48;
2326 uint64_t lfsr:16; 6561 uint64_t lfsr:16;
6562#else
6563 uint64_t lfsr:16;
6564 uint64_t reserved_16_63:48;
6565#endif
2327 } s; 6566 } s;
2328 struct cvmx_gmxx_tx_lfsr_s cn30xx; 6567 struct cvmx_gmxx_tx_lfsr_s cn30xx;
2329 struct cvmx_gmxx_tx_lfsr_s cn31xx; 6568 struct cvmx_gmxx_tx_lfsr_s cn31xx;
@@ -2336,32 +6575,64 @@ union cvmx_gmxx_tx_lfsr {
2336 struct cvmx_gmxx_tx_lfsr_s cn56xxp1; 6575 struct cvmx_gmxx_tx_lfsr_s cn56xxp1;
2337 struct cvmx_gmxx_tx_lfsr_s cn58xx; 6576 struct cvmx_gmxx_tx_lfsr_s cn58xx;
2338 struct cvmx_gmxx_tx_lfsr_s cn58xxp1; 6577 struct cvmx_gmxx_tx_lfsr_s cn58xxp1;
6578 struct cvmx_gmxx_tx_lfsr_s cn61xx;
6579 struct cvmx_gmxx_tx_lfsr_s cn63xx;
6580 struct cvmx_gmxx_tx_lfsr_s cn63xxp1;
6581 struct cvmx_gmxx_tx_lfsr_s cn66xx;
6582 struct cvmx_gmxx_tx_lfsr_s cn68xx;
6583 struct cvmx_gmxx_tx_lfsr_s cn68xxp1;
6584 struct cvmx_gmxx_tx_lfsr_s cnf71xx;
2339}; 6585};
2340 6586
2341union cvmx_gmxx_tx_ovr_bp { 6587union cvmx_gmxx_tx_ovr_bp {
2342 uint64_t u64; 6588 uint64_t u64;
2343 struct cvmx_gmxx_tx_ovr_bp_s { 6589 struct cvmx_gmxx_tx_ovr_bp_s {
6590#ifdef __BIG_ENDIAN_BITFIELD
2344 uint64_t reserved_48_63:16; 6591 uint64_t reserved_48_63:16;
2345 uint64_t tx_prt_bp:16; 6592 uint64_t tx_prt_bp:16;
2346 uint64_t reserved_12_31:20; 6593 uint64_t reserved_12_31:20;
2347 uint64_t en:4; 6594 uint64_t en:4;
2348 uint64_t bp:4; 6595 uint64_t bp:4;
2349 uint64_t ign_full:4; 6596 uint64_t ign_full:4;
6597#else
6598 uint64_t ign_full:4;
6599 uint64_t bp:4;
6600 uint64_t en:4;
6601 uint64_t reserved_12_31:20;
6602 uint64_t tx_prt_bp:16;
6603 uint64_t reserved_48_63:16;
6604#endif
2350 } s; 6605 } s;
2351 struct cvmx_gmxx_tx_ovr_bp_cn30xx { 6606 struct cvmx_gmxx_tx_ovr_bp_cn30xx {
6607#ifdef __BIG_ENDIAN_BITFIELD
2352 uint64_t reserved_11_63:53; 6608 uint64_t reserved_11_63:53;
2353 uint64_t en:3; 6609 uint64_t en:3;
2354 uint64_t reserved_7_7:1; 6610 uint64_t reserved_7_7:1;
2355 uint64_t bp:3; 6611 uint64_t bp:3;
2356 uint64_t reserved_3_3:1; 6612 uint64_t reserved_3_3:1;
2357 uint64_t ign_full:3; 6613 uint64_t ign_full:3;
6614#else
6615 uint64_t ign_full:3;
6616 uint64_t reserved_3_3:1;
6617 uint64_t bp:3;
6618 uint64_t reserved_7_7:1;
6619 uint64_t en:3;
6620 uint64_t reserved_11_63:53;
6621#endif
2358 } cn30xx; 6622 } cn30xx;
2359 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn31xx; 6623 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn31xx;
2360 struct cvmx_gmxx_tx_ovr_bp_cn38xx { 6624 struct cvmx_gmxx_tx_ovr_bp_cn38xx {
6625#ifdef __BIG_ENDIAN_BITFIELD
2361 uint64_t reserved_12_63:52; 6626 uint64_t reserved_12_63:52;
2362 uint64_t en:4; 6627 uint64_t en:4;
2363 uint64_t bp:4; 6628 uint64_t bp:4;
2364 uint64_t ign_full:4; 6629 uint64_t ign_full:4;
6630#else
6631 uint64_t ign_full:4;
6632 uint64_t bp:4;
6633 uint64_t en:4;
6634 uint64_t reserved_12_63:52;
6635#endif
2365 } cn38xx; 6636 } cn38xx;
2366 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn38xxp2; 6637 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn38xxp2;
2367 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn50xx; 6638 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn50xx;
@@ -2371,13 +6642,45 @@ union cvmx_gmxx_tx_ovr_bp {
2371 struct cvmx_gmxx_tx_ovr_bp_s cn56xxp1; 6642 struct cvmx_gmxx_tx_ovr_bp_s cn56xxp1;
2372 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xx; 6643 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xx;
2373 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xxp1; 6644 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xxp1;
6645 struct cvmx_gmxx_tx_ovr_bp_s cn61xx;
6646 struct cvmx_gmxx_tx_ovr_bp_s cn63xx;
6647 struct cvmx_gmxx_tx_ovr_bp_s cn63xxp1;
6648 struct cvmx_gmxx_tx_ovr_bp_s cn66xx;
6649 struct cvmx_gmxx_tx_ovr_bp_s cn68xx;
6650 struct cvmx_gmxx_tx_ovr_bp_s cn68xxp1;
6651 struct cvmx_gmxx_tx_ovr_bp_cnf71xx {
6652#ifdef __BIG_ENDIAN_BITFIELD
6653 uint64_t reserved_48_63:16;
6654 uint64_t tx_prt_bp:16;
6655 uint64_t reserved_10_31:22;
6656 uint64_t en:2;
6657 uint64_t reserved_6_7:2;
6658 uint64_t bp:2;
6659 uint64_t reserved_2_3:2;
6660 uint64_t ign_full:2;
6661#else
6662 uint64_t ign_full:2;
6663 uint64_t reserved_2_3:2;
6664 uint64_t bp:2;
6665 uint64_t reserved_6_7:2;
6666 uint64_t en:2;
6667 uint64_t reserved_10_31:22;
6668 uint64_t tx_prt_bp:16;
6669 uint64_t reserved_48_63:16;
6670#endif
6671 } cnf71xx;
2374}; 6672};
2375 6673
2376union cvmx_gmxx_tx_pause_pkt_dmac { 6674union cvmx_gmxx_tx_pause_pkt_dmac {
2377 uint64_t u64; 6675 uint64_t u64;
2378 struct cvmx_gmxx_tx_pause_pkt_dmac_s { 6676 struct cvmx_gmxx_tx_pause_pkt_dmac_s {
6677#ifdef __BIG_ENDIAN_BITFIELD
2379 uint64_t reserved_48_63:16; 6678 uint64_t reserved_48_63:16;
2380 uint64_t dmac:48; 6679 uint64_t dmac:48;
6680#else
6681 uint64_t dmac:48;
6682 uint64_t reserved_48_63:16;
6683#endif
2381 } s; 6684 } s;
2382 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn30xx; 6685 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn30xx;
2383 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn31xx; 6686 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn31xx;
@@ -2390,13 +6693,25 @@ union cvmx_gmxx_tx_pause_pkt_dmac {
2390 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xxp1; 6693 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xxp1;
2391 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xx; 6694 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xx;
2392 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xxp1; 6695 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xxp1;
6696 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn61xx;
6697 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn63xx;
6698 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn63xxp1;
6699 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn66xx;
6700 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn68xx;
6701 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn68xxp1;
6702 struct cvmx_gmxx_tx_pause_pkt_dmac_s cnf71xx;
2393}; 6703};
2394 6704
2395union cvmx_gmxx_tx_pause_pkt_type { 6705union cvmx_gmxx_tx_pause_pkt_type {
2396 uint64_t u64; 6706 uint64_t u64;
2397 struct cvmx_gmxx_tx_pause_pkt_type_s { 6707 struct cvmx_gmxx_tx_pause_pkt_type_s {
6708#ifdef __BIG_ENDIAN_BITFIELD
2398 uint64_t reserved_16_63:48; 6709 uint64_t reserved_16_63:48;
2399 uint64_t type:16; 6710 uint64_t type:16;
6711#else
6712 uint64_t type:16;
6713 uint64_t reserved_16_63:48;
6714#endif
2400 } s; 6715 } s;
2401 struct cvmx_gmxx_tx_pause_pkt_type_s cn30xx; 6716 struct cvmx_gmxx_tx_pause_pkt_type_s cn30xx;
2402 struct cvmx_gmxx_tx_pause_pkt_type_s cn31xx; 6717 struct cvmx_gmxx_tx_pause_pkt_type_s cn31xx;
@@ -2409,13 +6724,25 @@ union cvmx_gmxx_tx_pause_pkt_type {
2409 struct cvmx_gmxx_tx_pause_pkt_type_s cn56xxp1; 6724 struct cvmx_gmxx_tx_pause_pkt_type_s cn56xxp1;
2410 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xx; 6725 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xx;
2411 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xxp1; 6726 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xxp1;
6727 struct cvmx_gmxx_tx_pause_pkt_type_s cn61xx;
6728 struct cvmx_gmxx_tx_pause_pkt_type_s cn63xx;
6729 struct cvmx_gmxx_tx_pause_pkt_type_s cn63xxp1;
6730 struct cvmx_gmxx_tx_pause_pkt_type_s cn66xx;
6731 struct cvmx_gmxx_tx_pause_pkt_type_s cn68xx;
6732 struct cvmx_gmxx_tx_pause_pkt_type_s cn68xxp1;
6733 struct cvmx_gmxx_tx_pause_pkt_type_s cnf71xx;
2412}; 6734};
2413 6735
2414union cvmx_gmxx_tx_prts { 6736union cvmx_gmxx_tx_prts {
2415 uint64_t u64; 6737 uint64_t u64;
2416 struct cvmx_gmxx_tx_prts_s { 6738 struct cvmx_gmxx_tx_prts_s {
6739#ifdef __BIG_ENDIAN_BITFIELD
2417 uint64_t reserved_5_63:59; 6740 uint64_t reserved_5_63:59;
2418 uint64_t prts:5; 6741 uint64_t prts:5;
6742#else
6743 uint64_t prts:5;
6744 uint64_t reserved_5_63:59;
6745#endif
2419 } s; 6746 } s;
2420 struct cvmx_gmxx_tx_prts_s cn30xx; 6747 struct cvmx_gmxx_tx_prts_s cn30xx;
2421 struct cvmx_gmxx_tx_prts_s cn31xx; 6748 struct cvmx_gmxx_tx_prts_s cn31xx;
@@ -2428,14 +6755,27 @@ union cvmx_gmxx_tx_prts {
2428 struct cvmx_gmxx_tx_prts_s cn56xxp1; 6755 struct cvmx_gmxx_tx_prts_s cn56xxp1;
2429 struct cvmx_gmxx_tx_prts_s cn58xx; 6756 struct cvmx_gmxx_tx_prts_s cn58xx;
2430 struct cvmx_gmxx_tx_prts_s cn58xxp1; 6757 struct cvmx_gmxx_tx_prts_s cn58xxp1;
6758 struct cvmx_gmxx_tx_prts_s cn61xx;
6759 struct cvmx_gmxx_tx_prts_s cn63xx;
6760 struct cvmx_gmxx_tx_prts_s cn63xxp1;
6761 struct cvmx_gmxx_tx_prts_s cn66xx;
6762 struct cvmx_gmxx_tx_prts_s cn68xx;
6763 struct cvmx_gmxx_tx_prts_s cn68xxp1;
6764 struct cvmx_gmxx_tx_prts_s cnf71xx;
2431}; 6765};
2432 6766
2433union cvmx_gmxx_tx_spi_ctl { 6767union cvmx_gmxx_tx_spi_ctl {
2434 uint64_t u64; 6768 uint64_t u64;
2435 struct cvmx_gmxx_tx_spi_ctl_s { 6769 struct cvmx_gmxx_tx_spi_ctl_s {
6770#ifdef __BIG_ENDIAN_BITFIELD
2436 uint64_t reserved_2_63:62; 6771 uint64_t reserved_2_63:62;
2437 uint64_t tpa_clr:1; 6772 uint64_t tpa_clr:1;
2438 uint64_t cont_pkt:1; 6773 uint64_t cont_pkt:1;
6774#else
6775 uint64_t cont_pkt:1;
6776 uint64_t tpa_clr:1;
6777 uint64_t reserved_2_63:62;
6778#endif
2439 } s; 6779 } s;
2440 struct cvmx_gmxx_tx_spi_ctl_s cn38xx; 6780 struct cvmx_gmxx_tx_spi_ctl_s cn38xx;
2441 struct cvmx_gmxx_tx_spi_ctl_s cn38xxp2; 6781 struct cvmx_gmxx_tx_spi_ctl_s cn38xxp2;
@@ -2446,8 +6786,13 @@ union cvmx_gmxx_tx_spi_ctl {
2446union cvmx_gmxx_tx_spi_drain { 6786union cvmx_gmxx_tx_spi_drain {
2447 uint64_t u64; 6787 uint64_t u64;
2448 struct cvmx_gmxx_tx_spi_drain_s { 6788 struct cvmx_gmxx_tx_spi_drain_s {
6789#ifdef __BIG_ENDIAN_BITFIELD
2449 uint64_t reserved_16_63:48; 6790 uint64_t reserved_16_63:48;
2450 uint64_t drain:16; 6791 uint64_t drain:16;
6792#else
6793 uint64_t drain:16;
6794 uint64_t reserved_16_63:48;
6795#endif
2451 } s; 6796 } s;
2452 struct cvmx_gmxx_tx_spi_drain_s cn38xx; 6797 struct cvmx_gmxx_tx_spi_drain_s cn38xx;
2453 struct cvmx_gmxx_tx_spi_drain_s cn58xx; 6798 struct cvmx_gmxx_tx_spi_drain_s cn58xx;
@@ -2457,15 +6802,28 @@ union cvmx_gmxx_tx_spi_drain {
2457union cvmx_gmxx_tx_spi_max { 6802union cvmx_gmxx_tx_spi_max {
2458 uint64_t u64; 6803 uint64_t u64;
2459 struct cvmx_gmxx_tx_spi_max_s { 6804 struct cvmx_gmxx_tx_spi_max_s {
6805#ifdef __BIG_ENDIAN_BITFIELD
2460 uint64_t reserved_23_63:41; 6806 uint64_t reserved_23_63:41;
2461 uint64_t slice:7; 6807 uint64_t slice:7;
2462 uint64_t max2:8; 6808 uint64_t max2:8;
2463 uint64_t max1:8; 6809 uint64_t max1:8;
6810#else
6811 uint64_t max1:8;
6812 uint64_t max2:8;
6813 uint64_t slice:7;
6814 uint64_t reserved_23_63:41;
6815#endif
2464 } s; 6816 } s;
2465 struct cvmx_gmxx_tx_spi_max_cn38xx { 6817 struct cvmx_gmxx_tx_spi_max_cn38xx {
6818#ifdef __BIG_ENDIAN_BITFIELD
2466 uint64_t reserved_16_63:48; 6819 uint64_t reserved_16_63:48;
2467 uint64_t max2:8; 6820 uint64_t max2:8;
2468 uint64_t max1:8; 6821 uint64_t max1:8;
6822#else
6823 uint64_t max1:8;
6824 uint64_t max2:8;
6825 uint64_t reserved_16_63:48;
6826#endif
2469 } cn38xx; 6827 } cn38xx;
2470 struct cvmx_gmxx_tx_spi_max_cn38xx cn38xxp2; 6828 struct cvmx_gmxx_tx_spi_max_cn38xx cn38xxp2;
2471 struct cvmx_gmxx_tx_spi_max_s cn58xx; 6829 struct cvmx_gmxx_tx_spi_max_s cn58xx;
@@ -2475,8 +6833,13 @@ union cvmx_gmxx_tx_spi_max {
2475union cvmx_gmxx_tx_spi_roundx { 6833union cvmx_gmxx_tx_spi_roundx {
2476 uint64_t u64; 6834 uint64_t u64;
2477 struct cvmx_gmxx_tx_spi_roundx_s { 6835 struct cvmx_gmxx_tx_spi_roundx_s {
6836#ifdef __BIG_ENDIAN_BITFIELD
2478 uint64_t reserved_16_63:48; 6837 uint64_t reserved_16_63:48;
2479 uint64_t round:16; 6838 uint64_t round:16;
6839#else
6840 uint64_t round:16;
6841 uint64_t reserved_16_63:48;
6842#endif
2480 } s; 6843 } s;
2481 struct cvmx_gmxx_tx_spi_roundx_s cn58xx; 6844 struct cvmx_gmxx_tx_spi_roundx_s cn58xx;
2482 struct cvmx_gmxx_tx_spi_roundx_s cn58xxp1; 6845 struct cvmx_gmxx_tx_spi_roundx_s cn58xxp1;
@@ -2485,8 +6848,13 @@ union cvmx_gmxx_tx_spi_roundx {
2485union cvmx_gmxx_tx_spi_thresh { 6848union cvmx_gmxx_tx_spi_thresh {
2486 uint64_t u64; 6849 uint64_t u64;
2487 struct cvmx_gmxx_tx_spi_thresh_s { 6850 struct cvmx_gmxx_tx_spi_thresh_s {
6851#ifdef __BIG_ENDIAN_BITFIELD
2488 uint64_t reserved_6_63:58; 6852 uint64_t reserved_6_63:58;
2489 uint64_t thresh:6; 6853 uint64_t thresh:6;
6854#else
6855 uint64_t thresh:6;
6856 uint64_t reserved_6_63:58;
6857#endif
2490 } s; 6858 } s;
2491 struct cvmx_gmxx_tx_spi_thresh_s cn38xx; 6859 struct cvmx_gmxx_tx_spi_thresh_s cn38xx;
2492 struct cvmx_gmxx_tx_spi_thresh_s cn38xxp2; 6860 struct cvmx_gmxx_tx_spi_thresh_s cn38xxp2;
@@ -2497,6 +6865,7 @@ union cvmx_gmxx_tx_spi_thresh {
2497union cvmx_gmxx_tx_xaui_ctl { 6865union cvmx_gmxx_tx_xaui_ctl {
2498 uint64_t u64; 6866 uint64_t u64;
2499 struct cvmx_gmxx_tx_xaui_ctl_s { 6867 struct cvmx_gmxx_tx_xaui_ctl_s {
6868#ifdef __BIG_ENDIAN_BITFIELD
2500 uint64_t reserved_11_63:53; 6869 uint64_t reserved_11_63:53;
2501 uint64_t hg_pause_hgi:2; 6870 uint64_t hg_pause_hgi:2;
2502 uint64_t hg_en:1; 6871 uint64_t hg_en:1;
@@ -2506,24 +6875,55 @@ union cvmx_gmxx_tx_xaui_ctl {
2506 uint64_t reserved_2_3:2; 6875 uint64_t reserved_2_3:2;
2507 uint64_t uni_en:1; 6876 uint64_t uni_en:1;
2508 uint64_t dic_en:1; 6877 uint64_t dic_en:1;
6878#else
6879 uint64_t dic_en:1;
6880 uint64_t uni_en:1;
6881 uint64_t reserved_2_3:2;
6882 uint64_t ls:2;
6883 uint64_t ls_byp:1;
6884 uint64_t reserved_7_7:1;
6885 uint64_t hg_en:1;
6886 uint64_t hg_pause_hgi:2;
6887 uint64_t reserved_11_63:53;
6888#endif
2509 } s; 6889 } s;
2510 struct cvmx_gmxx_tx_xaui_ctl_s cn52xx; 6890 struct cvmx_gmxx_tx_xaui_ctl_s cn52xx;
2511 struct cvmx_gmxx_tx_xaui_ctl_s cn52xxp1; 6891 struct cvmx_gmxx_tx_xaui_ctl_s cn52xxp1;
2512 struct cvmx_gmxx_tx_xaui_ctl_s cn56xx; 6892 struct cvmx_gmxx_tx_xaui_ctl_s cn56xx;
2513 struct cvmx_gmxx_tx_xaui_ctl_s cn56xxp1; 6893 struct cvmx_gmxx_tx_xaui_ctl_s cn56xxp1;
6894 struct cvmx_gmxx_tx_xaui_ctl_s cn61xx;
6895 struct cvmx_gmxx_tx_xaui_ctl_s cn63xx;
6896 struct cvmx_gmxx_tx_xaui_ctl_s cn63xxp1;
6897 struct cvmx_gmxx_tx_xaui_ctl_s cn66xx;
6898 struct cvmx_gmxx_tx_xaui_ctl_s cn68xx;
6899 struct cvmx_gmxx_tx_xaui_ctl_s cn68xxp1;
6900 struct cvmx_gmxx_tx_xaui_ctl_s cnf71xx;
2514}; 6901};
2515 6902
2516union cvmx_gmxx_xaui_ext_loopback { 6903union cvmx_gmxx_xaui_ext_loopback {
2517 uint64_t u64; 6904 uint64_t u64;
2518 struct cvmx_gmxx_xaui_ext_loopback_s { 6905 struct cvmx_gmxx_xaui_ext_loopback_s {
6906#ifdef __BIG_ENDIAN_BITFIELD
2519 uint64_t reserved_5_63:59; 6907 uint64_t reserved_5_63:59;
2520 uint64_t en:1; 6908 uint64_t en:1;
2521 uint64_t thresh:4; 6909 uint64_t thresh:4;
6910#else
6911 uint64_t thresh:4;
6912 uint64_t en:1;
6913 uint64_t reserved_5_63:59;
6914#endif
2522 } s; 6915 } s;
2523 struct cvmx_gmxx_xaui_ext_loopback_s cn52xx; 6916 struct cvmx_gmxx_xaui_ext_loopback_s cn52xx;
2524 struct cvmx_gmxx_xaui_ext_loopback_s cn52xxp1; 6917 struct cvmx_gmxx_xaui_ext_loopback_s cn52xxp1;
2525 struct cvmx_gmxx_xaui_ext_loopback_s cn56xx; 6918 struct cvmx_gmxx_xaui_ext_loopback_s cn56xx;
2526 struct cvmx_gmxx_xaui_ext_loopback_s cn56xxp1; 6919 struct cvmx_gmxx_xaui_ext_loopback_s cn56xxp1;
6920 struct cvmx_gmxx_xaui_ext_loopback_s cn61xx;
6921 struct cvmx_gmxx_xaui_ext_loopback_s cn63xx;
6922 struct cvmx_gmxx_xaui_ext_loopback_s cn63xxp1;
6923 struct cvmx_gmxx_xaui_ext_loopback_s cn66xx;
6924 struct cvmx_gmxx_xaui_ext_loopback_s cn68xx;
6925 struct cvmx_gmxx_xaui_ext_loopback_s cn68xxp1;
6926 struct cvmx_gmxx_xaui_ext_loopback_s cnf71xx;
2527}; 6927};
2528 6928
2529#endif 6929#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-gpio-defs.h b/arch/mips/include/asm/octeon/cvmx-gpio-defs.h
index 395564e8d1f0..4719fcfa8865 100644
--- a/arch/mips/include/asm/octeon/cvmx-gpio-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-gpio-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -34,7 +34,10 @@
34#define CVMX_GPIO_CLK_QLMX(offset) (CVMX_ADD_IO_SEG(0x00010700000008E0ull) + ((offset) & 1) * 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)) 35#define CVMX_GPIO_DBG_ENA (CVMX_ADD_IO_SEG(0x00010700000008A0ull))
36#define CVMX_GPIO_INT_CLR (CVMX_ADD_IO_SEG(0x0001070000000898ull)) 36#define CVMX_GPIO_INT_CLR (CVMX_ADD_IO_SEG(0x0001070000000898ull))
37#define CVMX_GPIO_MULTI_CAST (CVMX_ADD_IO_SEG(0x00010700000008B0ull))
38#define CVMX_GPIO_PIN_ENA (CVMX_ADD_IO_SEG(0x00010700000008B8ull))
37#define CVMX_GPIO_RX_DAT (CVMX_ADD_IO_SEG(0x0001070000000880ull)) 39#define CVMX_GPIO_RX_DAT (CVMX_ADD_IO_SEG(0x0001070000000880ull))
40#define CVMX_GPIO_TIM_CTL (CVMX_ADD_IO_SEG(0x00010700000008A0ull))
38#define CVMX_GPIO_TX_CLR (CVMX_ADD_IO_SEG(0x0001070000000890ull)) 41#define CVMX_GPIO_TX_CLR (CVMX_ADD_IO_SEG(0x0001070000000890ull))
39#define CVMX_GPIO_TX_SET (CVMX_ADD_IO_SEG(0x0001070000000888ull)) 42#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) 43#define CVMX_GPIO_XBIT_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000900ull) + ((offset) & 31) * 8 - 8*16)
@@ -42,6 +45,7 @@
42union cvmx_gpio_bit_cfgx { 45union cvmx_gpio_bit_cfgx {
43 uint64_t u64; 46 uint64_t u64;
44 struct cvmx_gpio_bit_cfgx_s { 47 struct cvmx_gpio_bit_cfgx_s {
48#ifdef __BIG_ENDIAN_BITFIELD
45 uint64_t reserved_17_63:47; 49 uint64_t reserved_17_63:47;
46 uint64_t synce_sel:2; 50 uint64_t synce_sel:2;
47 uint64_t clk_gen:1; 51 uint64_t clk_gen:1;
@@ -52,8 +56,21 @@ union cvmx_gpio_bit_cfgx {
52 uint64_t int_en:1; 56 uint64_t int_en:1;
53 uint64_t rx_xor:1; 57 uint64_t rx_xor:1;
54 uint64_t tx_oe:1; 58 uint64_t tx_oe:1;
59#else
60 uint64_t tx_oe:1;
61 uint64_t rx_xor:1;
62 uint64_t int_en:1;
63 uint64_t int_type:1;
64 uint64_t fil_cnt:4;
65 uint64_t fil_sel:4;
66 uint64_t clk_sel:2;
67 uint64_t clk_gen:1;
68 uint64_t synce_sel:2;
69 uint64_t reserved_17_63:47;
70#endif
55 } s; 71 } s;
56 struct cvmx_gpio_bit_cfgx_cn30xx { 72 struct cvmx_gpio_bit_cfgx_cn30xx {
73#ifdef __BIG_ENDIAN_BITFIELD
57 uint64_t reserved_12_63:52; 74 uint64_t reserved_12_63:52;
58 uint64_t fil_sel:4; 75 uint64_t fil_sel:4;
59 uint64_t fil_cnt:4; 76 uint64_t fil_cnt:4;
@@ -61,12 +78,22 @@ union cvmx_gpio_bit_cfgx {
61 uint64_t int_en:1; 78 uint64_t int_en:1;
62 uint64_t rx_xor:1; 79 uint64_t rx_xor:1;
63 uint64_t tx_oe:1; 80 uint64_t tx_oe:1;
81#else
82 uint64_t tx_oe:1;
83 uint64_t rx_xor:1;
84 uint64_t int_en:1;
85 uint64_t int_type:1;
86 uint64_t fil_cnt:4;
87 uint64_t fil_sel:4;
88 uint64_t reserved_12_63:52;
89#endif
64 } cn30xx; 90 } cn30xx;
65 struct cvmx_gpio_bit_cfgx_cn30xx cn31xx; 91 struct cvmx_gpio_bit_cfgx_cn30xx cn31xx;
66 struct cvmx_gpio_bit_cfgx_cn30xx cn38xx; 92 struct cvmx_gpio_bit_cfgx_cn30xx cn38xx;
67 struct cvmx_gpio_bit_cfgx_cn30xx cn38xxp2; 93 struct cvmx_gpio_bit_cfgx_cn30xx cn38xxp2;
68 struct cvmx_gpio_bit_cfgx_cn30xx cn50xx; 94 struct cvmx_gpio_bit_cfgx_cn30xx cn50xx;
69 struct cvmx_gpio_bit_cfgx_cn52xx { 95 struct cvmx_gpio_bit_cfgx_cn52xx {
96#ifdef __BIG_ENDIAN_BITFIELD
70 uint64_t reserved_15_63:49; 97 uint64_t reserved_15_63:49;
71 uint64_t clk_gen:1; 98 uint64_t clk_gen:1;
72 uint64_t clk_sel:2; 99 uint64_t clk_sel:2;
@@ -76,22 +103,44 @@ union cvmx_gpio_bit_cfgx {
76 uint64_t int_en:1; 103 uint64_t int_en:1;
77 uint64_t rx_xor:1; 104 uint64_t rx_xor:1;
78 uint64_t tx_oe:1; 105 uint64_t tx_oe:1;
106#else
107 uint64_t tx_oe:1;
108 uint64_t rx_xor:1;
109 uint64_t int_en:1;
110 uint64_t int_type:1;
111 uint64_t fil_cnt:4;
112 uint64_t fil_sel:4;
113 uint64_t clk_sel:2;
114 uint64_t clk_gen:1;
115 uint64_t reserved_15_63:49;
116#endif
79 } cn52xx; 117 } cn52xx;
80 struct cvmx_gpio_bit_cfgx_cn52xx cn52xxp1; 118 struct cvmx_gpio_bit_cfgx_cn52xx cn52xxp1;
81 struct cvmx_gpio_bit_cfgx_cn52xx cn56xx; 119 struct cvmx_gpio_bit_cfgx_cn52xx cn56xx;
82 struct cvmx_gpio_bit_cfgx_cn52xx cn56xxp1; 120 struct cvmx_gpio_bit_cfgx_cn52xx cn56xxp1;
83 struct cvmx_gpio_bit_cfgx_cn30xx cn58xx; 121 struct cvmx_gpio_bit_cfgx_cn30xx cn58xx;
84 struct cvmx_gpio_bit_cfgx_cn30xx cn58xxp1; 122 struct cvmx_gpio_bit_cfgx_cn30xx cn58xxp1;
123 struct cvmx_gpio_bit_cfgx_s cn61xx;
85 struct cvmx_gpio_bit_cfgx_s cn63xx; 124 struct cvmx_gpio_bit_cfgx_s cn63xx;
86 struct cvmx_gpio_bit_cfgx_s cn63xxp1; 125 struct cvmx_gpio_bit_cfgx_s cn63xxp1;
126 struct cvmx_gpio_bit_cfgx_s cn66xx;
127 struct cvmx_gpio_bit_cfgx_s cn68xx;
128 struct cvmx_gpio_bit_cfgx_s cn68xxp1;
129 struct cvmx_gpio_bit_cfgx_s cnf71xx;
87}; 130};
88 131
89union cvmx_gpio_boot_ena { 132union cvmx_gpio_boot_ena {
90 uint64_t u64; 133 uint64_t u64;
91 struct cvmx_gpio_boot_ena_s { 134 struct cvmx_gpio_boot_ena_s {
135#ifdef __BIG_ENDIAN_BITFIELD
92 uint64_t reserved_12_63:52; 136 uint64_t reserved_12_63:52;
93 uint64_t boot_ena:4; 137 uint64_t boot_ena:4;
94 uint64_t reserved_0_7:8; 138 uint64_t reserved_0_7:8;
139#else
140 uint64_t reserved_0_7:8;
141 uint64_t boot_ena:4;
142 uint64_t reserved_12_63:52;
143#endif
95 } s; 144 } s;
96 struct cvmx_gpio_boot_ena_s cn30xx; 145 struct cvmx_gpio_boot_ena_s cn30xx;
97 struct cvmx_gpio_boot_ena_s cn31xx; 146 struct cvmx_gpio_boot_ena_s cn31xx;
@@ -101,33 +150,87 @@ union cvmx_gpio_boot_ena {
101union cvmx_gpio_clk_genx { 150union cvmx_gpio_clk_genx {
102 uint64_t u64; 151 uint64_t u64;
103 struct cvmx_gpio_clk_genx_s { 152 struct cvmx_gpio_clk_genx_s {
153#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_32_63:32; 154 uint64_t reserved_32_63:32;
105 uint64_t n:32; 155 uint64_t n:32;
156#else
157 uint64_t n:32;
158 uint64_t reserved_32_63:32;
159#endif
106 } s; 160 } s;
107 struct cvmx_gpio_clk_genx_s cn52xx; 161 struct cvmx_gpio_clk_genx_s cn52xx;
108 struct cvmx_gpio_clk_genx_s cn52xxp1; 162 struct cvmx_gpio_clk_genx_s cn52xxp1;
109 struct cvmx_gpio_clk_genx_s cn56xx; 163 struct cvmx_gpio_clk_genx_s cn56xx;
110 struct cvmx_gpio_clk_genx_s cn56xxp1; 164 struct cvmx_gpio_clk_genx_s cn56xxp1;
165 struct cvmx_gpio_clk_genx_s cn61xx;
111 struct cvmx_gpio_clk_genx_s cn63xx; 166 struct cvmx_gpio_clk_genx_s cn63xx;
112 struct cvmx_gpio_clk_genx_s cn63xxp1; 167 struct cvmx_gpio_clk_genx_s cn63xxp1;
168 struct cvmx_gpio_clk_genx_s cn66xx;
169 struct cvmx_gpio_clk_genx_s cn68xx;
170 struct cvmx_gpio_clk_genx_s cn68xxp1;
171 struct cvmx_gpio_clk_genx_s cnf71xx;
113}; 172};
114 173
115union cvmx_gpio_clk_qlmx { 174union cvmx_gpio_clk_qlmx {
116 uint64_t u64; 175 uint64_t u64;
117 struct cvmx_gpio_clk_qlmx_s { 176 struct cvmx_gpio_clk_qlmx_s {
118 uint64_t reserved_3_63:61; 177#ifdef __BIG_ENDIAN_BITFIELD
178 uint64_t reserved_11_63:53;
179 uint64_t qlm_sel:3;
180 uint64_t reserved_3_7:5;
119 uint64_t div:1; 181 uint64_t div:1;
120 uint64_t lane_sel:2; 182 uint64_t lane_sel:2;
183#else
184 uint64_t lane_sel:2;
185 uint64_t div:1;
186 uint64_t reserved_3_7:5;
187 uint64_t qlm_sel:3;
188 uint64_t reserved_11_63:53;
189#endif
121 } s; 190 } s;
122 struct cvmx_gpio_clk_qlmx_s cn63xx; 191 struct cvmx_gpio_clk_qlmx_cn61xx {
123 struct cvmx_gpio_clk_qlmx_s cn63xxp1; 192#ifdef __BIG_ENDIAN_BITFIELD
193 uint64_t reserved_10_63:54;
194 uint64_t qlm_sel:2;
195 uint64_t reserved_3_7:5;
196 uint64_t div:1;
197 uint64_t lane_sel:2;
198#else
199 uint64_t lane_sel:2;
200 uint64_t div:1;
201 uint64_t reserved_3_7:5;
202 uint64_t qlm_sel:2;
203 uint64_t reserved_10_63:54;
204#endif
205 } cn61xx;
206 struct cvmx_gpio_clk_qlmx_cn63xx {
207#ifdef __BIG_ENDIAN_BITFIELD
208 uint64_t reserved_3_63:61;
209 uint64_t div:1;
210 uint64_t lane_sel:2;
211#else
212 uint64_t lane_sel:2;
213 uint64_t div:1;
214 uint64_t reserved_3_63:61;
215#endif
216 } cn63xx;
217 struct cvmx_gpio_clk_qlmx_cn63xx cn63xxp1;
218 struct cvmx_gpio_clk_qlmx_cn61xx cn66xx;
219 struct cvmx_gpio_clk_qlmx_s cn68xx;
220 struct cvmx_gpio_clk_qlmx_s cn68xxp1;
221 struct cvmx_gpio_clk_qlmx_cn61xx cnf71xx;
124}; 222};
125 223
126union cvmx_gpio_dbg_ena { 224union cvmx_gpio_dbg_ena {
127 uint64_t u64; 225 uint64_t u64;
128 struct cvmx_gpio_dbg_ena_s { 226 struct cvmx_gpio_dbg_ena_s {
227#ifdef __BIG_ENDIAN_BITFIELD
129 uint64_t reserved_21_63:43; 228 uint64_t reserved_21_63:43;
130 uint64_t dbg_ena:21; 229 uint64_t dbg_ena:21;
230#else
231 uint64_t dbg_ena:21;
232 uint64_t reserved_21_63:43;
233#endif
131 } s; 234 } s;
132 struct cvmx_gpio_dbg_ena_s cn30xx; 235 struct cvmx_gpio_dbg_ena_s cn30xx;
133 struct cvmx_gpio_dbg_ena_s cn31xx; 236 struct cvmx_gpio_dbg_ena_s cn31xx;
@@ -137,8 +240,13 @@ union cvmx_gpio_dbg_ena {
137union cvmx_gpio_int_clr { 240union cvmx_gpio_int_clr {
138 uint64_t u64; 241 uint64_t u64;
139 struct cvmx_gpio_int_clr_s { 242 struct cvmx_gpio_int_clr_s {
243#ifdef __BIG_ENDIAN_BITFIELD
140 uint64_t reserved_16_63:48; 244 uint64_t reserved_16_63:48;
141 uint64_t type:16; 245 uint64_t type:16;
246#else
247 uint64_t type:16;
248 uint64_t reserved_16_63:48;
249#endif
142 } s; 250 } s;
143 struct cvmx_gpio_int_clr_s cn30xx; 251 struct cvmx_gpio_int_clr_s cn30xx;
144 struct cvmx_gpio_int_clr_s cn31xx; 252 struct cvmx_gpio_int_clr_s cn31xx;
@@ -151,21 +259,69 @@ union cvmx_gpio_int_clr {
151 struct cvmx_gpio_int_clr_s cn56xxp1; 259 struct cvmx_gpio_int_clr_s cn56xxp1;
152 struct cvmx_gpio_int_clr_s cn58xx; 260 struct cvmx_gpio_int_clr_s cn58xx;
153 struct cvmx_gpio_int_clr_s cn58xxp1; 261 struct cvmx_gpio_int_clr_s cn58xxp1;
262 struct cvmx_gpio_int_clr_s cn61xx;
154 struct cvmx_gpio_int_clr_s cn63xx; 263 struct cvmx_gpio_int_clr_s cn63xx;
155 struct cvmx_gpio_int_clr_s cn63xxp1; 264 struct cvmx_gpio_int_clr_s cn63xxp1;
265 struct cvmx_gpio_int_clr_s cn66xx;
266 struct cvmx_gpio_int_clr_s cn68xx;
267 struct cvmx_gpio_int_clr_s cn68xxp1;
268 struct cvmx_gpio_int_clr_s cnf71xx;
269};
270
271union cvmx_gpio_multi_cast {
272 uint64_t u64;
273 struct cvmx_gpio_multi_cast_s {
274#ifdef __BIG_ENDIAN_BITFIELD
275 uint64_t reserved_1_63:63;
276 uint64_t en:1;
277#else
278 uint64_t en:1;
279 uint64_t reserved_1_63:63;
280#endif
281 } s;
282 struct cvmx_gpio_multi_cast_s cn61xx;
283 struct cvmx_gpio_multi_cast_s cnf71xx;
284};
285
286union cvmx_gpio_pin_ena {
287 uint64_t u64;
288 struct cvmx_gpio_pin_ena_s {
289#ifdef __BIG_ENDIAN_BITFIELD
290 uint64_t reserved_20_63:44;
291 uint64_t ena19:1;
292 uint64_t ena18:1;
293 uint64_t reserved_0_17:18;
294#else
295 uint64_t reserved_0_17:18;
296 uint64_t ena18:1;
297 uint64_t ena19:1;
298 uint64_t reserved_20_63:44;
299#endif
300 } s;
301 struct cvmx_gpio_pin_ena_s cn66xx;
156}; 302};
157 303
158union cvmx_gpio_rx_dat { 304union cvmx_gpio_rx_dat {
159 uint64_t u64; 305 uint64_t u64;
160 struct cvmx_gpio_rx_dat_s { 306 struct cvmx_gpio_rx_dat_s {
307#ifdef __BIG_ENDIAN_BITFIELD
161 uint64_t reserved_24_63:40; 308 uint64_t reserved_24_63:40;
162 uint64_t dat:24; 309 uint64_t dat:24;
310#else
311 uint64_t dat:24;
312 uint64_t reserved_24_63:40;
313#endif
163 } s; 314 } s;
164 struct cvmx_gpio_rx_dat_s cn30xx; 315 struct cvmx_gpio_rx_dat_s cn30xx;
165 struct cvmx_gpio_rx_dat_s cn31xx; 316 struct cvmx_gpio_rx_dat_s cn31xx;
166 struct cvmx_gpio_rx_dat_cn38xx { 317 struct cvmx_gpio_rx_dat_cn38xx {
318#ifdef __BIG_ENDIAN_BITFIELD
167 uint64_t reserved_16_63:48; 319 uint64_t reserved_16_63:48;
168 uint64_t dat:16; 320 uint64_t dat:16;
321#else
322 uint64_t dat:16;
323 uint64_t reserved_16_63:48;
324#endif
169 } cn38xx; 325 } cn38xx;
170 struct cvmx_gpio_rx_dat_cn38xx cn38xxp2; 326 struct cvmx_gpio_rx_dat_cn38xx cn38xxp2;
171 struct cvmx_gpio_rx_dat_s cn50xx; 327 struct cvmx_gpio_rx_dat_s cn50xx;
@@ -175,21 +331,59 @@ union cvmx_gpio_rx_dat {
175 struct cvmx_gpio_rx_dat_cn38xx cn56xxp1; 331 struct cvmx_gpio_rx_dat_cn38xx cn56xxp1;
176 struct cvmx_gpio_rx_dat_cn38xx cn58xx; 332 struct cvmx_gpio_rx_dat_cn38xx cn58xx;
177 struct cvmx_gpio_rx_dat_cn38xx cn58xxp1; 333 struct cvmx_gpio_rx_dat_cn38xx cn58xxp1;
334 struct cvmx_gpio_rx_dat_cn61xx {
335#ifdef __BIG_ENDIAN_BITFIELD
336 uint64_t reserved_20_63:44;
337 uint64_t dat:20;
338#else
339 uint64_t dat:20;
340 uint64_t reserved_20_63:44;
341#endif
342 } cn61xx;
178 struct cvmx_gpio_rx_dat_cn38xx cn63xx; 343 struct cvmx_gpio_rx_dat_cn38xx cn63xx;
179 struct cvmx_gpio_rx_dat_cn38xx cn63xxp1; 344 struct cvmx_gpio_rx_dat_cn38xx cn63xxp1;
345 struct cvmx_gpio_rx_dat_cn61xx cn66xx;
346 struct cvmx_gpio_rx_dat_cn38xx cn68xx;
347 struct cvmx_gpio_rx_dat_cn38xx cn68xxp1;
348 struct cvmx_gpio_rx_dat_cn61xx cnf71xx;
349};
350
351union cvmx_gpio_tim_ctl {
352 uint64_t u64;
353 struct cvmx_gpio_tim_ctl_s {
354#ifdef __BIG_ENDIAN_BITFIELD
355 uint64_t reserved_4_63:60;
356 uint64_t sel:4;
357#else
358 uint64_t sel:4;
359 uint64_t reserved_4_63:60;
360#endif
361 } s;
362 struct cvmx_gpio_tim_ctl_s cn68xx;
363 struct cvmx_gpio_tim_ctl_s cn68xxp1;
180}; 364};
181 365
182union cvmx_gpio_tx_clr { 366union cvmx_gpio_tx_clr {
183 uint64_t u64; 367 uint64_t u64;
184 struct cvmx_gpio_tx_clr_s { 368 struct cvmx_gpio_tx_clr_s {
369#ifdef __BIG_ENDIAN_BITFIELD
185 uint64_t reserved_24_63:40; 370 uint64_t reserved_24_63:40;
186 uint64_t clr:24; 371 uint64_t clr:24;
372#else
373 uint64_t clr:24;
374 uint64_t reserved_24_63:40;
375#endif
187 } s; 376 } s;
188 struct cvmx_gpio_tx_clr_s cn30xx; 377 struct cvmx_gpio_tx_clr_s cn30xx;
189 struct cvmx_gpio_tx_clr_s cn31xx; 378 struct cvmx_gpio_tx_clr_s cn31xx;
190 struct cvmx_gpio_tx_clr_cn38xx { 379 struct cvmx_gpio_tx_clr_cn38xx {
380#ifdef __BIG_ENDIAN_BITFIELD
191 uint64_t reserved_16_63:48; 381 uint64_t reserved_16_63:48;
192 uint64_t clr:16; 382 uint64_t clr:16;
383#else
384 uint64_t clr:16;
385 uint64_t reserved_16_63:48;
386#endif
193 } cn38xx; 387 } cn38xx;
194 struct cvmx_gpio_tx_clr_cn38xx cn38xxp2; 388 struct cvmx_gpio_tx_clr_cn38xx cn38xxp2;
195 struct cvmx_gpio_tx_clr_s cn50xx; 389 struct cvmx_gpio_tx_clr_s cn50xx;
@@ -199,21 +393,44 @@ union cvmx_gpio_tx_clr {
199 struct cvmx_gpio_tx_clr_cn38xx cn56xxp1; 393 struct cvmx_gpio_tx_clr_cn38xx cn56xxp1;
200 struct cvmx_gpio_tx_clr_cn38xx cn58xx; 394 struct cvmx_gpio_tx_clr_cn38xx cn58xx;
201 struct cvmx_gpio_tx_clr_cn38xx cn58xxp1; 395 struct cvmx_gpio_tx_clr_cn38xx cn58xxp1;
396 struct cvmx_gpio_tx_clr_cn61xx {
397#ifdef __BIG_ENDIAN_BITFIELD
398 uint64_t reserved_20_63:44;
399 uint64_t clr:20;
400#else
401 uint64_t clr:20;
402 uint64_t reserved_20_63:44;
403#endif
404 } cn61xx;
202 struct cvmx_gpio_tx_clr_cn38xx cn63xx; 405 struct cvmx_gpio_tx_clr_cn38xx cn63xx;
203 struct cvmx_gpio_tx_clr_cn38xx cn63xxp1; 406 struct cvmx_gpio_tx_clr_cn38xx cn63xxp1;
407 struct cvmx_gpio_tx_clr_cn61xx cn66xx;
408 struct cvmx_gpio_tx_clr_cn38xx cn68xx;
409 struct cvmx_gpio_tx_clr_cn38xx cn68xxp1;
410 struct cvmx_gpio_tx_clr_cn61xx cnf71xx;
204}; 411};
205 412
206union cvmx_gpio_tx_set { 413union cvmx_gpio_tx_set {
207 uint64_t u64; 414 uint64_t u64;
208 struct cvmx_gpio_tx_set_s { 415 struct cvmx_gpio_tx_set_s {
416#ifdef __BIG_ENDIAN_BITFIELD
209 uint64_t reserved_24_63:40; 417 uint64_t reserved_24_63:40;
210 uint64_t set:24; 418 uint64_t set:24;
419#else
420 uint64_t set:24;
421 uint64_t reserved_24_63:40;
422#endif
211 } s; 423 } s;
212 struct cvmx_gpio_tx_set_s cn30xx; 424 struct cvmx_gpio_tx_set_s cn30xx;
213 struct cvmx_gpio_tx_set_s cn31xx; 425 struct cvmx_gpio_tx_set_s cn31xx;
214 struct cvmx_gpio_tx_set_cn38xx { 426 struct cvmx_gpio_tx_set_cn38xx {
427#ifdef __BIG_ENDIAN_BITFIELD
215 uint64_t reserved_16_63:48; 428 uint64_t reserved_16_63:48;
216 uint64_t set:16; 429 uint64_t set:16;
430#else
431 uint64_t set:16;
432 uint64_t reserved_16_63:48;
433#endif
217 } cn38xx; 434 } cn38xx;
218 struct cvmx_gpio_tx_set_cn38xx cn38xxp2; 435 struct cvmx_gpio_tx_set_cn38xx cn38xxp2;
219 struct cvmx_gpio_tx_set_s cn50xx; 436 struct cvmx_gpio_tx_set_s cn50xx;
@@ -223,23 +440,72 @@ union cvmx_gpio_tx_set {
223 struct cvmx_gpio_tx_set_cn38xx cn56xxp1; 440 struct cvmx_gpio_tx_set_cn38xx cn56xxp1;
224 struct cvmx_gpio_tx_set_cn38xx cn58xx; 441 struct cvmx_gpio_tx_set_cn38xx cn58xx;
225 struct cvmx_gpio_tx_set_cn38xx cn58xxp1; 442 struct cvmx_gpio_tx_set_cn38xx cn58xxp1;
443 struct cvmx_gpio_tx_set_cn61xx {
444#ifdef __BIG_ENDIAN_BITFIELD
445 uint64_t reserved_20_63:44;
446 uint64_t set:20;
447#else
448 uint64_t set:20;
449 uint64_t reserved_20_63:44;
450#endif
451 } cn61xx;
226 struct cvmx_gpio_tx_set_cn38xx cn63xx; 452 struct cvmx_gpio_tx_set_cn38xx cn63xx;
227 struct cvmx_gpio_tx_set_cn38xx cn63xxp1; 453 struct cvmx_gpio_tx_set_cn38xx cn63xxp1;
454 struct cvmx_gpio_tx_set_cn61xx cn66xx;
455 struct cvmx_gpio_tx_set_cn38xx cn68xx;
456 struct cvmx_gpio_tx_set_cn38xx cn68xxp1;
457 struct cvmx_gpio_tx_set_cn61xx cnf71xx;
228}; 458};
229 459
230union cvmx_gpio_xbit_cfgx { 460union cvmx_gpio_xbit_cfgx {
231 uint64_t u64; 461 uint64_t u64;
232 struct cvmx_gpio_xbit_cfgx_s { 462 struct cvmx_gpio_xbit_cfgx_s {
463#ifdef __BIG_ENDIAN_BITFIELD
464 uint64_t reserved_17_63:47;
465 uint64_t synce_sel:2;
466 uint64_t clk_gen:1;
467 uint64_t clk_sel:2;
468 uint64_t fil_sel:4;
469 uint64_t fil_cnt:4;
470 uint64_t int_type:1;
471 uint64_t int_en:1;
472 uint64_t rx_xor:1;
473 uint64_t tx_oe:1;
474#else
475 uint64_t tx_oe:1;
476 uint64_t rx_xor:1;
477 uint64_t int_en:1;
478 uint64_t int_type:1;
479 uint64_t fil_cnt:4;
480 uint64_t fil_sel:4;
481 uint64_t clk_sel:2;
482 uint64_t clk_gen:1;
483 uint64_t synce_sel:2;
484 uint64_t reserved_17_63:47;
485#endif
486 } s;
487 struct cvmx_gpio_xbit_cfgx_cn30xx {
488#ifdef __BIG_ENDIAN_BITFIELD
233 uint64_t reserved_12_63:52; 489 uint64_t reserved_12_63:52;
234 uint64_t fil_sel:4; 490 uint64_t fil_sel:4;
235 uint64_t fil_cnt:4; 491 uint64_t fil_cnt:4;
236 uint64_t reserved_2_3:2; 492 uint64_t reserved_2_3:2;
237 uint64_t rx_xor:1; 493 uint64_t rx_xor:1;
238 uint64_t tx_oe:1; 494 uint64_t tx_oe:1;
239 } s; 495#else
240 struct cvmx_gpio_xbit_cfgx_s cn30xx; 496 uint64_t tx_oe:1;
241 struct cvmx_gpio_xbit_cfgx_s cn31xx; 497 uint64_t rx_xor:1;
242 struct cvmx_gpio_xbit_cfgx_s cn50xx; 498 uint64_t reserved_2_3:2;
499 uint64_t fil_cnt:4;
500 uint64_t fil_sel:4;
501 uint64_t reserved_12_63:52;
502#endif
503 } cn30xx;
504 struct cvmx_gpio_xbit_cfgx_cn30xx cn31xx;
505 struct cvmx_gpio_xbit_cfgx_cn30xx cn50xx;
506 struct cvmx_gpio_xbit_cfgx_s cn61xx;
507 struct cvmx_gpio_xbit_cfgx_s cn66xx;
508 struct cvmx_gpio_xbit_cfgx_s cnf71xx;
243}; 509};
244 510
245#endif 511#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-iob-defs.h b/arch/mips/include/asm/octeon/cvmx-iob-defs.h
index d7d856c2483d..7936f816e93e 100644
--- a/arch/mips/include/asm/octeon/cvmx-iob-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-iob-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -51,10 +51,86 @@
51#define CVMX_IOB_P2C_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000018ull)) 51#define CVMX_IOB_P2C_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000018ull))
52#define CVMX_IOB_PKT_ERR (CVMX_ADD_IO_SEG(0x00011800F0000068ull)) 52#define CVMX_IOB_PKT_ERR (CVMX_ADD_IO_SEG(0x00011800F0000068ull))
53#define CVMX_IOB_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00000B0ull)) 53#define CVMX_IOB_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00000B0ull))
54#define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull))
55#define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull))
56#define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull))
57#define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull))
58#define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull))
59#define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull))
60#define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull))
61#define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull))
62#define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull))
63#define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull))
64#define CVMX_IOB_TO_NCB_DID_98_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B10ull))
54 65
55union cvmx_iob_bist_status { 66union cvmx_iob_bist_status {
56 uint64_t u64; 67 uint64_t u64;
57 struct cvmx_iob_bist_status_s { 68 struct cvmx_iob_bist_status_s {
69#ifdef __BIG_ENDIAN_BITFIELD
70 uint64_t reserved_2_63:62;
71 uint64_t ibd:1;
72 uint64_t icd:1;
73#else
74 uint64_t icd:1;
75 uint64_t ibd:1;
76 uint64_t reserved_2_63:62;
77#endif
78 } s;
79 struct cvmx_iob_bist_status_cn30xx {
80#ifdef __BIG_ENDIAN_BITFIELD
81 uint64_t reserved_18_63:46;
82 uint64_t icnrcb:1;
83 uint64_t icr0:1;
84 uint64_t icr1:1;
85 uint64_t icnr1:1;
86 uint64_t icnr0:1;
87 uint64_t ibdr0:1;
88 uint64_t ibdr1:1;
89 uint64_t ibr0:1;
90 uint64_t ibr1:1;
91 uint64_t icnrt:1;
92 uint64_t ibrq0:1;
93 uint64_t ibrq1:1;
94 uint64_t icrn0:1;
95 uint64_t icrn1:1;
96 uint64_t icrp0:1;
97 uint64_t icrp1:1;
98 uint64_t ibd:1;
99 uint64_t icd:1;
100#else
101 uint64_t icd:1;
102 uint64_t ibd:1;
103 uint64_t icrp1:1;
104 uint64_t icrp0:1;
105 uint64_t icrn1:1;
106 uint64_t icrn0:1;
107 uint64_t ibrq1:1;
108 uint64_t ibrq0:1;
109 uint64_t icnrt:1;
110 uint64_t ibr1:1;
111 uint64_t ibr0:1;
112 uint64_t ibdr1:1;
113 uint64_t ibdr0:1;
114 uint64_t icnr0:1;
115 uint64_t icnr1:1;
116 uint64_t icr1:1;
117 uint64_t icr0:1;
118 uint64_t icnrcb:1;
119 uint64_t reserved_18_63:46;
120#endif
121 } cn30xx;
122 struct cvmx_iob_bist_status_cn30xx cn31xx;
123 struct cvmx_iob_bist_status_cn30xx cn38xx;
124 struct cvmx_iob_bist_status_cn30xx cn38xxp2;
125 struct cvmx_iob_bist_status_cn30xx cn50xx;
126 struct cvmx_iob_bist_status_cn30xx cn52xx;
127 struct cvmx_iob_bist_status_cn30xx cn52xxp1;
128 struct cvmx_iob_bist_status_cn30xx cn56xx;
129 struct cvmx_iob_bist_status_cn30xx cn56xxp1;
130 struct cvmx_iob_bist_status_cn30xx cn58xx;
131 struct cvmx_iob_bist_status_cn30xx cn58xxp1;
132 struct cvmx_iob_bist_status_cn61xx {
133#ifdef __BIG_ENDIAN_BITFIELD
58 uint64_t reserved_23_63:41; 134 uint64_t reserved_23_63:41;
59 uint64_t xmdfif:1; 135 uint64_t xmdfif:1;
60 uint64_t xmcfif:1; 136 uint64_t xmcfif:1;
@@ -79,16 +155,48 @@ union cvmx_iob_bist_status {
79 uint64_t icrp1:1; 155 uint64_t icrp1:1;
80 uint64_t ibd:1; 156 uint64_t ibd:1;
81 uint64_t icd:1; 157 uint64_t icd:1;
82 } s; 158#else
83 struct cvmx_iob_bist_status_cn30xx { 159 uint64_t icd:1;
160 uint64_t ibd:1;
161 uint64_t icrp1:1;
162 uint64_t icrp0:1;
163 uint64_t icrn1:1;
164 uint64_t icrn0:1;
165 uint64_t ibrq1:1;
166 uint64_t ibrq0:1;
167 uint64_t icnrt:1;
168 uint64_t ibr1:1;
169 uint64_t ibr0:1;
170 uint64_t ibdr1:1;
171 uint64_t ibdr0:1;
172 uint64_t icnr0:1;
173 uint64_t icnr1:1;
174 uint64_t icr1:1;
175 uint64_t icr0:1;
176 uint64_t icnrcb:1;
177 uint64_t iocfif:1;
178 uint64_t rsdfif:1;
179 uint64_t iorfif:1;
180 uint64_t xmcfif:1;
181 uint64_t xmdfif:1;
182 uint64_t reserved_23_63:41;
183#endif
184 } cn61xx;
185 struct cvmx_iob_bist_status_cn61xx cn63xx;
186 struct cvmx_iob_bist_status_cn61xx cn63xxp1;
187 struct cvmx_iob_bist_status_cn61xx cn66xx;
188 struct cvmx_iob_bist_status_cn68xx {
189#ifdef __BIG_ENDIAN_BITFIELD
84 uint64_t reserved_18_63:46; 190 uint64_t reserved_18_63:46;
191 uint64_t xmdfif:1;
192 uint64_t xmcfif:1;
193 uint64_t iorfif:1;
194 uint64_t rsdfif:1;
195 uint64_t iocfif:1;
85 uint64_t icnrcb:1; 196 uint64_t icnrcb:1;
86 uint64_t icr0:1; 197 uint64_t icr0:1;
87 uint64_t icr1:1; 198 uint64_t icr1:1;
88 uint64_t icnr1:1;
89 uint64_t icnr0:1; 199 uint64_t icnr0:1;
90 uint64_t ibdr0:1;
91 uint64_t ibdr1:1;
92 uint64_t ibr0:1; 200 uint64_t ibr0:1;
93 uint64_t ibr1:1; 201 uint64_t ibr1:1;
94 uint64_t icnrt:1; 202 uint64_t icnrt:1;
@@ -96,50 +204,82 @@ union cvmx_iob_bist_status {
96 uint64_t ibrq1:1; 204 uint64_t ibrq1:1;
97 uint64_t icrn0:1; 205 uint64_t icrn0:1;
98 uint64_t icrn1:1; 206 uint64_t icrn1:1;
99 uint64_t icrp0:1;
100 uint64_t icrp1:1;
101 uint64_t ibd:1; 207 uint64_t ibd:1;
102 uint64_t icd:1; 208 uint64_t icd:1;
103 } cn30xx; 209#else
104 struct cvmx_iob_bist_status_cn30xx cn31xx; 210 uint64_t icd:1;
105 struct cvmx_iob_bist_status_cn30xx cn38xx; 211 uint64_t ibd:1;
106 struct cvmx_iob_bist_status_cn30xx cn38xxp2; 212 uint64_t icrn1:1;
107 struct cvmx_iob_bist_status_cn30xx cn50xx; 213 uint64_t icrn0:1;
108 struct cvmx_iob_bist_status_cn30xx cn52xx; 214 uint64_t ibrq1:1;
109 struct cvmx_iob_bist_status_cn30xx cn52xxp1; 215 uint64_t ibrq0:1;
110 struct cvmx_iob_bist_status_cn30xx cn56xx; 216 uint64_t icnrt:1;
111 struct cvmx_iob_bist_status_cn30xx cn56xxp1; 217 uint64_t ibr1:1;
112 struct cvmx_iob_bist_status_cn30xx cn58xx; 218 uint64_t ibr0:1;
113 struct cvmx_iob_bist_status_cn30xx cn58xxp1; 219 uint64_t icnr0:1;
114 struct cvmx_iob_bist_status_s cn63xx; 220 uint64_t icr1:1;
115 struct cvmx_iob_bist_status_s cn63xxp1; 221 uint64_t icr0:1;
222 uint64_t icnrcb:1;
223 uint64_t iocfif:1;
224 uint64_t rsdfif:1;
225 uint64_t iorfif:1;
226 uint64_t xmcfif:1;
227 uint64_t xmdfif:1;
228 uint64_t reserved_18_63:46;
229#endif
230 } cn68xx;
231 struct cvmx_iob_bist_status_cn68xx cn68xxp1;
232 struct cvmx_iob_bist_status_cn61xx cnf71xx;
116}; 233};
117 234
118union cvmx_iob_ctl_status { 235union cvmx_iob_ctl_status {
119 uint64_t u64; 236 uint64_t u64;
120 struct cvmx_iob_ctl_status_s { 237 struct cvmx_iob_ctl_status_s {
121 uint64_t reserved_10_63:54; 238#ifdef __BIG_ENDIAN_BITFIELD
239 uint64_t reserved_11_63:53;
240 uint64_t fif_dly:1;
122 uint64_t xmc_per:4; 241 uint64_t xmc_per:4;
123 uint64_t rr_mode:1; 242 uint64_t reserved_5_5:1;
124 uint64_t outb_mat:1; 243 uint64_t outb_mat:1;
125 uint64_t inb_mat:1; 244 uint64_t inb_mat:1;
126 uint64_t pko_enb:1; 245 uint64_t pko_enb:1;
127 uint64_t dwb_enb:1; 246 uint64_t dwb_enb:1;
128 uint64_t fau_end:1; 247 uint64_t fau_end:1;
248#else
249 uint64_t fau_end:1;
250 uint64_t dwb_enb:1;
251 uint64_t pko_enb:1;
252 uint64_t inb_mat:1;
253 uint64_t outb_mat:1;
254 uint64_t reserved_5_5:1;
255 uint64_t xmc_per:4;
256 uint64_t fif_dly:1;
257 uint64_t reserved_11_63:53;
258#endif
129 } s; 259 } s;
130 struct cvmx_iob_ctl_status_cn30xx { 260 struct cvmx_iob_ctl_status_cn30xx {
261#ifdef __BIG_ENDIAN_BITFIELD
131 uint64_t reserved_5_63:59; 262 uint64_t reserved_5_63:59;
132 uint64_t outb_mat:1; 263 uint64_t outb_mat:1;
133 uint64_t inb_mat:1; 264 uint64_t inb_mat:1;
134 uint64_t pko_enb:1; 265 uint64_t pko_enb:1;
135 uint64_t dwb_enb:1; 266 uint64_t dwb_enb:1;
136 uint64_t fau_end:1; 267 uint64_t fau_end:1;
268#else
269 uint64_t fau_end:1;
270 uint64_t dwb_enb:1;
271 uint64_t pko_enb:1;
272 uint64_t inb_mat:1;
273 uint64_t outb_mat:1;
274 uint64_t reserved_5_63:59;
275#endif
137 } cn30xx; 276 } cn30xx;
138 struct cvmx_iob_ctl_status_cn30xx cn31xx; 277 struct cvmx_iob_ctl_status_cn30xx cn31xx;
139 struct cvmx_iob_ctl_status_cn30xx cn38xx; 278 struct cvmx_iob_ctl_status_cn30xx cn38xx;
140 struct cvmx_iob_ctl_status_cn30xx cn38xxp2; 279 struct cvmx_iob_ctl_status_cn30xx cn38xxp2;
141 struct cvmx_iob_ctl_status_cn30xx cn50xx; 280 struct cvmx_iob_ctl_status_cn30xx cn50xx;
142 struct cvmx_iob_ctl_status_cn52xx { 281 struct cvmx_iob_ctl_status_cn52xx {
282#ifdef __BIG_ENDIAN_BITFIELD
143 uint64_t reserved_6_63:58; 283 uint64_t reserved_6_63:58;
144 uint64_t rr_mode:1; 284 uint64_t rr_mode:1;
145 uint64_t outb_mat:1; 285 uint64_t outb_mat:1;
@@ -147,22 +287,106 @@ union cvmx_iob_ctl_status {
147 uint64_t pko_enb:1; 287 uint64_t pko_enb:1;
148 uint64_t dwb_enb:1; 288 uint64_t dwb_enb:1;
149 uint64_t fau_end:1; 289 uint64_t fau_end:1;
290#else
291 uint64_t fau_end:1;
292 uint64_t dwb_enb:1;
293 uint64_t pko_enb:1;
294 uint64_t inb_mat:1;
295 uint64_t outb_mat:1;
296 uint64_t rr_mode:1;
297 uint64_t reserved_6_63:58;
298#endif
150 } cn52xx; 299 } cn52xx;
151 struct cvmx_iob_ctl_status_cn30xx cn52xxp1; 300 struct cvmx_iob_ctl_status_cn30xx cn52xxp1;
152 struct cvmx_iob_ctl_status_cn30xx cn56xx; 301 struct cvmx_iob_ctl_status_cn30xx cn56xx;
153 struct cvmx_iob_ctl_status_cn30xx cn56xxp1; 302 struct cvmx_iob_ctl_status_cn30xx cn56xxp1;
154 struct cvmx_iob_ctl_status_cn30xx cn58xx; 303 struct cvmx_iob_ctl_status_cn30xx cn58xx;
155 struct cvmx_iob_ctl_status_cn30xx cn58xxp1; 304 struct cvmx_iob_ctl_status_cn30xx cn58xxp1;
156 struct cvmx_iob_ctl_status_s cn63xx; 305 struct cvmx_iob_ctl_status_cn61xx {
157 struct cvmx_iob_ctl_status_s cn63xxp1; 306#ifdef __BIG_ENDIAN_BITFIELD
307 uint64_t reserved_11_63:53;
308 uint64_t fif_dly:1;
309 uint64_t xmc_per:4;
310 uint64_t rr_mode:1;
311 uint64_t outb_mat:1;
312 uint64_t inb_mat:1;
313 uint64_t pko_enb:1;
314 uint64_t dwb_enb:1;
315 uint64_t fau_end:1;
316#else
317 uint64_t fau_end:1;
318 uint64_t dwb_enb:1;
319 uint64_t pko_enb:1;
320 uint64_t inb_mat:1;
321 uint64_t outb_mat:1;
322 uint64_t rr_mode:1;
323 uint64_t xmc_per:4;
324 uint64_t fif_dly:1;
325 uint64_t reserved_11_63:53;
326#endif
327 } cn61xx;
328 struct cvmx_iob_ctl_status_cn63xx {
329#ifdef __BIG_ENDIAN_BITFIELD
330 uint64_t reserved_10_63:54;
331 uint64_t xmc_per:4;
332 uint64_t rr_mode:1;
333 uint64_t outb_mat:1;
334 uint64_t inb_mat:1;
335 uint64_t pko_enb:1;
336 uint64_t dwb_enb:1;
337 uint64_t fau_end:1;
338#else
339 uint64_t fau_end:1;
340 uint64_t dwb_enb:1;
341 uint64_t pko_enb:1;
342 uint64_t inb_mat:1;
343 uint64_t outb_mat:1;
344 uint64_t rr_mode:1;
345 uint64_t xmc_per:4;
346 uint64_t reserved_10_63:54;
347#endif
348 } cn63xx;
349 struct cvmx_iob_ctl_status_cn63xx cn63xxp1;
350 struct cvmx_iob_ctl_status_cn61xx cn66xx;
351 struct cvmx_iob_ctl_status_cn68xx {
352#ifdef __BIG_ENDIAN_BITFIELD
353 uint64_t reserved_11_63:53;
354 uint64_t fif_dly:1;
355 uint64_t xmc_per:4;
356 uint64_t rsvr5:1;
357 uint64_t outb_mat:1;
358 uint64_t inb_mat:1;
359 uint64_t pko_enb:1;
360 uint64_t dwb_enb:1;
361 uint64_t fau_end:1;
362#else
363 uint64_t fau_end:1;
364 uint64_t dwb_enb:1;
365 uint64_t pko_enb:1;
366 uint64_t inb_mat:1;
367 uint64_t outb_mat:1;
368 uint64_t rsvr5:1;
369 uint64_t xmc_per:4;
370 uint64_t fif_dly:1;
371 uint64_t reserved_11_63:53;
372#endif
373 } cn68xx;
374 struct cvmx_iob_ctl_status_cn68xx cn68xxp1;
375 struct cvmx_iob_ctl_status_cn61xx cnf71xx;
158}; 376};
159 377
160union cvmx_iob_dwb_pri_cnt { 378union cvmx_iob_dwb_pri_cnt {
161 uint64_t u64; 379 uint64_t u64;
162 struct cvmx_iob_dwb_pri_cnt_s { 380 struct cvmx_iob_dwb_pri_cnt_s {
381#ifdef __BIG_ENDIAN_BITFIELD
163 uint64_t reserved_16_63:48; 382 uint64_t reserved_16_63:48;
164 uint64_t cnt_enb:1; 383 uint64_t cnt_enb:1;
165 uint64_t cnt_val:15; 384 uint64_t cnt_val:15;
385#else
386 uint64_t cnt_val:15;
387 uint64_t cnt_enb:1;
388 uint64_t reserved_16_63:48;
389#endif
166 } s; 390 } s;
167 struct cvmx_iob_dwb_pri_cnt_s cn38xx; 391 struct cvmx_iob_dwb_pri_cnt_s cn38xx;
168 struct cvmx_iob_dwb_pri_cnt_s cn38xxp2; 392 struct cvmx_iob_dwb_pri_cnt_s cn38xxp2;
@@ -172,16 +396,25 @@ union cvmx_iob_dwb_pri_cnt {
172 struct cvmx_iob_dwb_pri_cnt_s cn56xxp1; 396 struct cvmx_iob_dwb_pri_cnt_s cn56xxp1;
173 struct cvmx_iob_dwb_pri_cnt_s cn58xx; 397 struct cvmx_iob_dwb_pri_cnt_s cn58xx;
174 struct cvmx_iob_dwb_pri_cnt_s cn58xxp1; 398 struct cvmx_iob_dwb_pri_cnt_s cn58xxp1;
399 struct cvmx_iob_dwb_pri_cnt_s cn61xx;
175 struct cvmx_iob_dwb_pri_cnt_s cn63xx; 400 struct cvmx_iob_dwb_pri_cnt_s cn63xx;
176 struct cvmx_iob_dwb_pri_cnt_s cn63xxp1; 401 struct cvmx_iob_dwb_pri_cnt_s cn63xxp1;
402 struct cvmx_iob_dwb_pri_cnt_s cn66xx;
403 struct cvmx_iob_dwb_pri_cnt_s cnf71xx;
177}; 404};
178 405
179union cvmx_iob_fau_timeout { 406union cvmx_iob_fau_timeout {
180 uint64_t u64; 407 uint64_t u64;
181 struct cvmx_iob_fau_timeout_s { 408 struct cvmx_iob_fau_timeout_s {
409#ifdef __BIG_ENDIAN_BITFIELD
182 uint64_t reserved_13_63:51; 410 uint64_t reserved_13_63:51;
183 uint64_t tout_enb:1; 411 uint64_t tout_enb:1;
184 uint64_t tout_val:12; 412 uint64_t tout_val:12;
413#else
414 uint64_t tout_val:12;
415 uint64_t tout_enb:1;
416 uint64_t reserved_13_63:51;
417#endif
185 } s; 418 } s;
186 struct cvmx_iob_fau_timeout_s cn30xx; 419 struct cvmx_iob_fau_timeout_s cn30xx;
187 struct cvmx_iob_fau_timeout_s cn31xx; 420 struct cvmx_iob_fau_timeout_s cn31xx;
@@ -194,16 +427,27 @@ union cvmx_iob_fau_timeout {
194 struct cvmx_iob_fau_timeout_s cn56xxp1; 427 struct cvmx_iob_fau_timeout_s cn56xxp1;
195 struct cvmx_iob_fau_timeout_s cn58xx; 428 struct cvmx_iob_fau_timeout_s cn58xx;
196 struct cvmx_iob_fau_timeout_s cn58xxp1; 429 struct cvmx_iob_fau_timeout_s cn58xxp1;
430 struct cvmx_iob_fau_timeout_s cn61xx;
197 struct cvmx_iob_fau_timeout_s cn63xx; 431 struct cvmx_iob_fau_timeout_s cn63xx;
198 struct cvmx_iob_fau_timeout_s cn63xxp1; 432 struct cvmx_iob_fau_timeout_s cn63xxp1;
433 struct cvmx_iob_fau_timeout_s cn66xx;
434 struct cvmx_iob_fau_timeout_s cn68xx;
435 struct cvmx_iob_fau_timeout_s cn68xxp1;
436 struct cvmx_iob_fau_timeout_s cnf71xx;
199}; 437};
200 438
201union cvmx_iob_i2c_pri_cnt { 439union cvmx_iob_i2c_pri_cnt {
202 uint64_t u64; 440 uint64_t u64;
203 struct cvmx_iob_i2c_pri_cnt_s { 441 struct cvmx_iob_i2c_pri_cnt_s {
442#ifdef __BIG_ENDIAN_BITFIELD
204 uint64_t reserved_16_63:48; 443 uint64_t reserved_16_63:48;
205 uint64_t cnt_enb:1; 444 uint64_t cnt_enb:1;
206 uint64_t cnt_val:15; 445 uint64_t cnt_val:15;
446#else
447 uint64_t cnt_val:15;
448 uint64_t cnt_enb:1;
449 uint64_t reserved_16_63:48;
450#endif
207 } s; 451 } s;
208 struct cvmx_iob_i2c_pri_cnt_s cn38xx; 452 struct cvmx_iob_i2c_pri_cnt_s cn38xx;
209 struct cvmx_iob_i2c_pri_cnt_s cn38xxp2; 453 struct cvmx_iob_i2c_pri_cnt_s cn38xxp2;
@@ -213,18 +457,29 @@ union cvmx_iob_i2c_pri_cnt {
213 struct cvmx_iob_i2c_pri_cnt_s cn56xxp1; 457 struct cvmx_iob_i2c_pri_cnt_s cn56xxp1;
214 struct cvmx_iob_i2c_pri_cnt_s cn58xx; 458 struct cvmx_iob_i2c_pri_cnt_s cn58xx;
215 struct cvmx_iob_i2c_pri_cnt_s cn58xxp1; 459 struct cvmx_iob_i2c_pri_cnt_s cn58xxp1;
460 struct cvmx_iob_i2c_pri_cnt_s cn61xx;
216 struct cvmx_iob_i2c_pri_cnt_s cn63xx; 461 struct cvmx_iob_i2c_pri_cnt_s cn63xx;
217 struct cvmx_iob_i2c_pri_cnt_s cn63xxp1; 462 struct cvmx_iob_i2c_pri_cnt_s cn63xxp1;
463 struct cvmx_iob_i2c_pri_cnt_s cn66xx;
464 struct cvmx_iob_i2c_pri_cnt_s cnf71xx;
218}; 465};
219 466
220union cvmx_iob_inb_control_match { 467union cvmx_iob_inb_control_match {
221 uint64_t u64; 468 uint64_t u64;
222 struct cvmx_iob_inb_control_match_s { 469 struct cvmx_iob_inb_control_match_s {
470#ifdef __BIG_ENDIAN_BITFIELD
223 uint64_t reserved_29_63:35; 471 uint64_t reserved_29_63:35;
224 uint64_t mask:8; 472 uint64_t mask:8;
225 uint64_t opc:4; 473 uint64_t opc:4;
226 uint64_t dst:9; 474 uint64_t dst:9;
227 uint64_t src:8; 475 uint64_t src:8;
476#else
477 uint64_t src:8;
478 uint64_t dst:9;
479 uint64_t opc:4;
480 uint64_t mask:8;
481 uint64_t reserved_29_63:35;
482#endif
228 } s; 483 } s;
229 struct cvmx_iob_inb_control_match_s cn30xx; 484 struct cvmx_iob_inb_control_match_s cn30xx;
230 struct cvmx_iob_inb_control_match_s cn31xx; 485 struct cvmx_iob_inb_control_match_s cn31xx;
@@ -237,18 +492,31 @@ union cvmx_iob_inb_control_match {
237 struct cvmx_iob_inb_control_match_s cn56xxp1; 492 struct cvmx_iob_inb_control_match_s cn56xxp1;
238 struct cvmx_iob_inb_control_match_s cn58xx; 493 struct cvmx_iob_inb_control_match_s cn58xx;
239 struct cvmx_iob_inb_control_match_s cn58xxp1; 494 struct cvmx_iob_inb_control_match_s cn58xxp1;
495 struct cvmx_iob_inb_control_match_s cn61xx;
240 struct cvmx_iob_inb_control_match_s cn63xx; 496 struct cvmx_iob_inb_control_match_s cn63xx;
241 struct cvmx_iob_inb_control_match_s cn63xxp1; 497 struct cvmx_iob_inb_control_match_s cn63xxp1;
498 struct cvmx_iob_inb_control_match_s cn66xx;
499 struct cvmx_iob_inb_control_match_s cn68xx;
500 struct cvmx_iob_inb_control_match_s cn68xxp1;
501 struct cvmx_iob_inb_control_match_s cnf71xx;
242}; 502};
243 503
244union cvmx_iob_inb_control_match_enb { 504union cvmx_iob_inb_control_match_enb {
245 uint64_t u64; 505 uint64_t u64;
246 struct cvmx_iob_inb_control_match_enb_s { 506 struct cvmx_iob_inb_control_match_enb_s {
507#ifdef __BIG_ENDIAN_BITFIELD
247 uint64_t reserved_29_63:35; 508 uint64_t reserved_29_63:35;
248 uint64_t mask:8; 509 uint64_t mask:8;
249 uint64_t opc:4; 510 uint64_t opc:4;
250 uint64_t dst:9; 511 uint64_t dst:9;
251 uint64_t src:8; 512 uint64_t src:8;
513#else
514 uint64_t src:8;
515 uint64_t dst:9;
516 uint64_t opc:4;
517 uint64_t mask:8;
518 uint64_t reserved_29_63:35;
519#endif
252 } s; 520 } s;
253 struct cvmx_iob_inb_control_match_enb_s cn30xx; 521 struct cvmx_iob_inb_control_match_enb_s cn30xx;
254 struct cvmx_iob_inb_control_match_enb_s cn31xx; 522 struct cvmx_iob_inb_control_match_enb_s cn31xx;
@@ -261,14 +529,23 @@ union cvmx_iob_inb_control_match_enb {
261 struct cvmx_iob_inb_control_match_enb_s cn56xxp1; 529 struct cvmx_iob_inb_control_match_enb_s cn56xxp1;
262 struct cvmx_iob_inb_control_match_enb_s cn58xx; 530 struct cvmx_iob_inb_control_match_enb_s cn58xx;
263 struct cvmx_iob_inb_control_match_enb_s cn58xxp1; 531 struct cvmx_iob_inb_control_match_enb_s cn58xxp1;
532 struct cvmx_iob_inb_control_match_enb_s cn61xx;
264 struct cvmx_iob_inb_control_match_enb_s cn63xx; 533 struct cvmx_iob_inb_control_match_enb_s cn63xx;
265 struct cvmx_iob_inb_control_match_enb_s cn63xxp1; 534 struct cvmx_iob_inb_control_match_enb_s cn63xxp1;
535 struct cvmx_iob_inb_control_match_enb_s cn66xx;
536 struct cvmx_iob_inb_control_match_enb_s cn68xx;
537 struct cvmx_iob_inb_control_match_enb_s cn68xxp1;
538 struct cvmx_iob_inb_control_match_enb_s cnf71xx;
266}; 539};
267 540
268union cvmx_iob_inb_data_match { 541union cvmx_iob_inb_data_match {
269 uint64_t u64; 542 uint64_t u64;
270 struct cvmx_iob_inb_data_match_s { 543 struct cvmx_iob_inb_data_match_s {
544#ifdef __BIG_ENDIAN_BITFIELD
545 uint64_t data:64;
546#else
271 uint64_t data:64; 547 uint64_t data:64;
548#endif
272 } s; 549 } s;
273 struct cvmx_iob_inb_data_match_s cn30xx; 550 struct cvmx_iob_inb_data_match_s cn30xx;
274 struct cvmx_iob_inb_data_match_s cn31xx; 551 struct cvmx_iob_inb_data_match_s cn31xx;
@@ -281,14 +558,23 @@ union cvmx_iob_inb_data_match {
281 struct cvmx_iob_inb_data_match_s cn56xxp1; 558 struct cvmx_iob_inb_data_match_s cn56xxp1;
282 struct cvmx_iob_inb_data_match_s cn58xx; 559 struct cvmx_iob_inb_data_match_s cn58xx;
283 struct cvmx_iob_inb_data_match_s cn58xxp1; 560 struct cvmx_iob_inb_data_match_s cn58xxp1;
561 struct cvmx_iob_inb_data_match_s cn61xx;
284 struct cvmx_iob_inb_data_match_s cn63xx; 562 struct cvmx_iob_inb_data_match_s cn63xx;
285 struct cvmx_iob_inb_data_match_s cn63xxp1; 563 struct cvmx_iob_inb_data_match_s cn63xxp1;
564 struct cvmx_iob_inb_data_match_s cn66xx;
565 struct cvmx_iob_inb_data_match_s cn68xx;
566 struct cvmx_iob_inb_data_match_s cn68xxp1;
567 struct cvmx_iob_inb_data_match_s cnf71xx;
286}; 568};
287 569
288union cvmx_iob_inb_data_match_enb { 570union cvmx_iob_inb_data_match_enb {
289 uint64_t u64; 571 uint64_t u64;
290 struct cvmx_iob_inb_data_match_enb_s { 572 struct cvmx_iob_inb_data_match_enb_s {
573#ifdef __BIG_ENDIAN_BITFIELD
291 uint64_t data:64; 574 uint64_t data:64;
575#else
576 uint64_t data:64;
577#endif
292 } s; 578 } s;
293 struct cvmx_iob_inb_data_match_enb_s cn30xx; 579 struct cvmx_iob_inb_data_match_enb_s cn30xx;
294 struct cvmx_iob_inb_data_match_enb_s cn31xx; 580 struct cvmx_iob_inb_data_match_enb_s cn31xx;
@@ -301,13 +587,19 @@ union cvmx_iob_inb_data_match_enb {
301 struct cvmx_iob_inb_data_match_enb_s cn56xxp1; 587 struct cvmx_iob_inb_data_match_enb_s cn56xxp1;
302 struct cvmx_iob_inb_data_match_enb_s cn58xx; 588 struct cvmx_iob_inb_data_match_enb_s cn58xx;
303 struct cvmx_iob_inb_data_match_enb_s cn58xxp1; 589 struct cvmx_iob_inb_data_match_enb_s cn58xxp1;
590 struct cvmx_iob_inb_data_match_enb_s cn61xx;
304 struct cvmx_iob_inb_data_match_enb_s cn63xx; 591 struct cvmx_iob_inb_data_match_enb_s cn63xx;
305 struct cvmx_iob_inb_data_match_enb_s cn63xxp1; 592 struct cvmx_iob_inb_data_match_enb_s cn63xxp1;
593 struct cvmx_iob_inb_data_match_enb_s cn66xx;
594 struct cvmx_iob_inb_data_match_enb_s cn68xx;
595 struct cvmx_iob_inb_data_match_enb_s cn68xxp1;
596 struct cvmx_iob_inb_data_match_enb_s cnf71xx;
306}; 597};
307 598
308union cvmx_iob_int_enb { 599union cvmx_iob_int_enb {
309 uint64_t u64; 600 uint64_t u64;
310 struct cvmx_iob_int_enb_s { 601 struct cvmx_iob_int_enb_s {
602#ifdef __BIG_ENDIAN_BITFIELD
311 uint64_t reserved_6_63:58; 603 uint64_t reserved_6_63:58;
312 uint64_t p_dat:1; 604 uint64_t p_dat:1;
313 uint64_t np_dat:1; 605 uint64_t np_dat:1;
@@ -315,13 +607,30 @@ union cvmx_iob_int_enb {
315 uint64_t p_sop:1; 607 uint64_t p_sop:1;
316 uint64_t np_eop:1; 608 uint64_t np_eop:1;
317 uint64_t np_sop:1; 609 uint64_t np_sop:1;
610#else
611 uint64_t np_sop:1;
612 uint64_t np_eop:1;
613 uint64_t p_sop:1;
614 uint64_t p_eop:1;
615 uint64_t np_dat:1;
616 uint64_t p_dat:1;
617 uint64_t reserved_6_63:58;
618#endif
318 } s; 619 } s;
319 struct cvmx_iob_int_enb_cn30xx { 620 struct cvmx_iob_int_enb_cn30xx {
621#ifdef __BIG_ENDIAN_BITFIELD
320 uint64_t reserved_4_63:60; 622 uint64_t reserved_4_63:60;
321 uint64_t p_eop:1; 623 uint64_t p_eop:1;
322 uint64_t p_sop:1; 624 uint64_t p_sop:1;
323 uint64_t np_eop:1; 625 uint64_t np_eop:1;
324 uint64_t np_sop:1; 626 uint64_t np_sop:1;
627#else
628 uint64_t np_sop:1;
629 uint64_t np_eop:1;
630 uint64_t p_sop:1;
631 uint64_t p_eop:1;
632 uint64_t reserved_4_63:60;
633#endif
325 } cn30xx; 634 } cn30xx;
326 struct cvmx_iob_int_enb_cn30xx cn31xx; 635 struct cvmx_iob_int_enb_cn30xx cn31xx;
327 struct cvmx_iob_int_enb_cn30xx cn38xx; 636 struct cvmx_iob_int_enb_cn30xx cn38xx;
@@ -333,13 +642,25 @@ union cvmx_iob_int_enb {
333 struct cvmx_iob_int_enb_s cn56xxp1; 642 struct cvmx_iob_int_enb_s cn56xxp1;
334 struct cvmx_iob_int_enb_s cn58xx; 643 struct cvmx_iob_int_enb_s cn58xx;
335 struct cvmx_iob_int_enb_s cn58xxp1; 644 struct cvmx_iob_int_enb_s cn58xxp1;
645 struct cvmx_iob_int_enb_s cn61xx;
336 struct cvmx_iob_int_enb_s cn63xx; 646 struct cvmx_iob_int_enb_s cn63xx;
337 struct cvmx_iob_int_enb_s cn63xxp1; 647 struct cvmx_iob_int_enb_s cn63xxp1;
648 struct cvmx_iob_int_enb_s cn66xx;
649 struct cvmx_iob_int_enb_cn68xx {
650#ifdef __BIG_ENDIAN_BITFIELD
651 uint64_t reserved_0_63:64;
652#else
653 uint64_t reserved_0_63:64;
654#endif
655 } cn68xx;
656 struct cvmx_iob_int_enb_cn68xx cn68xxp1;
657 struct cvmx_iob_int_enb_s cnf71xx;
338}; 658};
339 659
340union cvmx_iob_int_sum { 660union cvmx_iob_int_sum {
341 uint64_t u64; 661 uint64_t u64;
342 struct cvmx_iob_int_sum_s { 662 struct cvmx_iob_int_sum_s {
663#ifdef __BIG_ENDIAN_BITFIELD
343 uint64_t reserved_6_63:58; 664 uint64_t reserved_6_63:58;
344 uint64_t p_dat:1; 665 uint64_t p_dat:1;
345 uint64_t np_dat:1; 666 uint64_t np_dat:1;
@@ -347,13 +668,30 @@ union cvmx_iob_int_sum {
347 uint64_t p_sop:1; 668 uint64_t p_sop:1;
348 uint64_t np_eop:1; 669 uint64_t np_eop:1;
349 uint64_t np_sop:1; 670 uint64_t np_sop:1;
671#else
672 uint64_t np_sop:1;
673 uint64_t np_eop:1;
674 uint64_t p_sop:1;
675 uint64_t p_eop:1;
676 uint64_t np_dat:1;
677 uint64_t p_dat:1;
678 uint64_t reserved_6_63:58;
679#endif
350 } s; 680 } s;
351 struct cvmx_iob_int_sum_cn30xx { 681 struct cvmx_iob_int_sum_cn30xx {
682#ifdef __BIG_ENDIAN_BITFIELD
352 uint64_t reserved_4_63:60; 683 uint64_t reserved_4_63:60;
353 uint64_t p_eop:1; 684 uint64_t p_eop:1;
354 uint64_t p_sop:1; 685 uint64_t p_sop:1;
355 uint64_t np_eop:1; 686 uint64_t np_eop:1;
356 uint64_t np_sop:1; 687 uint64_t np_sop:1;
688#else
689 uint64_t np_sop:1;
690 uint64_t np_eop:1;
691 uint64_t p_sop:1;
692 uint64_t p_eop:1;
693 uint64_t reserved_4_63:60;
694#endif
357 } cn30xx; 695 } cn30xx;
358 struct cvmx_iob_int_sum_cn30xx cn31xx; 696 struct cvmx_iob_int_sum_cn30xx cn31xx;
359 struct cvmx_iob_int_sum_cn30xx cn38xx; 697 struct cvmx_iob_int_sum_cn30xx cn38xx;
@@ -365,16 +703,33 @@ union cvmx_iob_int_sum {
365 struct cvmx_iob_int_sum_s cn56xxp1; 703 struct cvmx_iob_int_sum_s cn56xxp1;
366 struct cvmx_iob_int_sum_s cn58xx; 704 struct cvmx_iob_int_sum_s cn58xx;
367 struct cvmx_iob_int_sum_s cn58xxp1; 705 struct cvmx_iob_int_sum_s cn58xxp1;
706 struct cvmx_iob_int_sum_s cn61xx;
368 struct cvmx_iob_int_sum_s cn63xx; 707 struct cvmx_iob_int_sum_s cn63xx;
369 struct cvmx_iob_int_sum_s cn63xxp1; 708 struct cvmx_iob_int_sum_s cn63xxp1;
709 struct cvmx_iob_int_sum_s cn66xx;
710 struct cvmx_iob_int_sum_cn68xx {
711#ifdef __BIG_ENDIAN_BITFIELD
712 uint64_t reserved_0_63:64;
713#else
714 uint64_t reserved_0_63:64;
715#endif
716 } cn68xx;
717 struct cvmx_iob_int_sum_cn68xx cn68xxp1;
718 struct cvmx_iob_int_sum_s cnf71xx;
370}; 719};
371 720
372union cvmx_iob_n2c_l2c_pri_cnt { 721union cvmx_iob_n2c_l2c_pri_cnt {
373 uint64_t u64; 722 uint64_t u64;
374 struct cvmx_iob_n2c_l2c_pri_cnt_s { 723 struct cvmx_iob_n2c_l2c_pri_cnt_s {
724#ifdef __BIG_ENDIAN_BITFIELD
375 uint64_t reserved_16_63:48; 725 uint64_t reserved_16_63:48;
376 uint64_t cnt_enb:1; 726 uint64_t cnt_enb:1;
377 uint64_t cnt_val:15; 727 uint64_t cnt_val:15;
728#else
729 uint64_t cnt_val:15;
730 uint64_t cnt_enb:1;
731 uint64_t reserved_16_63:48;
732#endif
378 } s; 733 } s;
379 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx; 734 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx;
380 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2; 735 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2;
@@ -384,16 +739,25 @@ union cvmx_iob_n2c_l2c_pri_cnt {
384 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1; 739 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1;
385 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx; 740 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx;
386 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1; 741 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1;
742 struct cvmx_iob_n2c_l2c_pri_cnt_s cn61xx;
387 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xx; 743 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xx;
388 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xxp1; 744 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xxp1;
745 struct cvmx_iob_n2c_l2c_pri_cnt_s cn66xx;
746 struct cvmx_iob_n2c_l2c_pri_cnt_s cnf71xx;
389}; 747};
390 748
391union cvmx_iob_n2c_rsp_pri_cnt { 749union cvmx_iob_n2c_rsp_pri_cnt {
392 uint64_t u64; 750 uint64_t u64;
393 struct cvmx_iob_n2c_rsp_pri_cnt_s { 751 struct cvmx_iob_n2c_rsp_pri_cnt_s {
752#ifdef __BIG_ENDIAN_BITFIELD
394 uint64_t reserved_16_63:48; 753 uint64_t reserved_16_63:48;
395 uint64_t cnt_enb:1; 754 uint64_t cnt_enb:1;
396 uint64_t cnt_val:15; 755 uint64_t cnt_val:15;
756#else
757 uint64_t cnt_val:15;
758 uint64_t cnt_enb:1;
759 uint64_t reserved_16_63:48;
760#endif
397 } s; 761 } s;
398 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx; 762 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx;
399 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2; 763 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2;
@@ -403,16 +767,25 @@ union cvmx_iob_n2c_rsp_pri_cnt {
403 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1; 767 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1;
404 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx; 768 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx;
405 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1; 769 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1;
770 struct cvmx_iob_n2c_rsp_pri_cnt_s cn61xx;
406 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xx; 771 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xx;
407 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xxp1; 772 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xxp1;
773 struct cvmx_iob_n2c_rsp_pri_cnt_s cn66xx;
774 struct cvmx_iob_n2c_rsp_pri_cnt_s cnf71xx;
408}; 775};
409 776
410union cvmx_iob_outb_com_pri_cnt { 777union cvmx_iob_outb_com_pri_cnt {
411 uint64_t u64; 778 uint64_t u64;
412 struct cvmx_iob_outb_com_pri_cnt_s { 779 struct cvmx_iob_outb_com_pri_cnt_s {
780#ifdef __BIG_ENDIAN_BITFIELD
413 uint64_t reserved_16_63:48; 781 uint64_t reserved_16_63:48;
414 uint64_t cnt_enb:1; 782 uint64_t cnt_enb:1;
415 uint64_t cnt_val:15; 783 uint64_t cnt_val:15;
784#else
785 uint64_t cnt_val:15;
786 uint64_t cnt_enb:1;
787 uint64_t reserved_16_63:48;
788#endif
416 } s; 789 } s;
417 struct cvmx_iob_outb_com_pri_cnt_s cn38xx; 790 struct cvmx_iob_outb_com_pri_cnt_s cn38xx;
418 struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2; 791 struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2;
@@ -422,18 +795,31 @@ union cvmx_iob_outb_com_pri_cnt {
422 struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1; 795 struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1;
423 struct cvmx_iob_outb_com_pri_cnt_s cn58xx; 796 struct cvmx_iob_outb_com_pri_cnt_s cn58xx;
424 struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1; 797 struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1;
798 struct cvmx_iob_outb_com_pri_cnt_s cn61xx;
425 struct cvmx_iob_outb_com_pri_cnt_s cn63xx; 799 struct cvmx_iob_outb_com_pri_cnt_s cn63xx;
426 struct cvmx_iob_outb_com_pri_cnt_s cn63xxp1; 800 struct cvmx_iob_outb_com_pri_cnt_s cn63xxp1;
801 struct cvmx_iob_outb_com_pri_cnt_s cn66xx;
802 struct cvmx_iob_outb_com_pri_cnt_s cn68xx;
803 struct cvmx_iob_outb_com_pri_cnt_s cn68xxp1;
804 struct cvmx_iob_outb_com_pri_cnt_s cnf71xx;
427}; 805};
428 806
429union cvmx_iob_outb_control_match { 807union cvmx_iob_outb_control_match {
430 uint64_t u64; 808 uint64_t u64;
431 struct cvmx_iob_outb_control_match_s { 809 struct cvmx_iob_outb_control_match_s {
810#ifdef __BIG_ENDIAN_BITFIELD
432 uint64_t reserved_26_63:38; 811 uint64_t reserved_26_63:38;
433 uint64_t mask:8; 812 uint64_t mask:8;
434 uint64_t eot:1; 813 uint64_t eot:1;
435 uint64_t dst:8; 814 uint64_t dst:8;
436 uint64_t src:9; 815 uint64_t src:9;
816#else
817 uint64_t src:9;
818 uint64_t dst:8;
819 uint64_t eot:1;
820 uint64_t mask:8;
821 uint64_t reserved_26_63:38;
822#endif
437 } s; 823 } s;
438 struct cvmx_iob_outb_control_match_s cn30xx; 824 struct cvmx_iob_outb_control_match_s cn30xx;
439 struct cvmx_iob_outb_control_match_s cn31xx; 825 struct cvmx_iob_outb_control_match_s cn31xx;
@@ -446,18 +832,31 @@ union cvmx_iob_outb_control_match {
446 struct cvmx_iob_outb_control_match_s cn56xxp1; 832 struct cvmx_iob_outb_control_match_s cn56xxp1;
447 struct cvmx_iob_outb_control_match_s cn58xx; 833 struct cvmx_iob_outb_control_match_s cn58xx;
448 struct cvmx_iob_outb_control_match_s cn58xxp1; 834 struct cvmx_iob_outb_control_match_s cn58xxp1;
835 struct cvmx_iob_outb_control_match_s cn61xx;
449 struct cvmx_iob_outb_control_match_s cn63xx; 836 struct cvmx_iob_outb_control_match_s cn63xx;
450 struct cvmx_iob_outb_control_match_s cn63xxp1; 837 struct cvmx_iob_outb_control_match_s cn63xxp1;
838 struct cvmx_iob_outb_control_match_s cn66xx;
839 struct cvmx_iob_outb_control_match_s cn68xx;
840 struct cvmx_iob_outb_control_match_s cn68xxp1;
841 struct cvmx_iob_outb_control_match_s cnf71xx;
451}; 842};
452 843
453union cvmx_iob_outb_control_match_enb { 844union cvmx_iob_outb_control_match_enb {
454 uint64_t u64; 845 uint64_t u64;
455 struct cvmx_iob_outb_control_match_enb_s { 846 struct cvmx_iob_outb_control_match_enb_s {
847#ifdef __BIG_ENDIAN_BITFIELD
456 uint64_t reserved_26_63:38; 848 uint64_t reserved_26_63:38;
457 uint64_t mask:8; 849 uint64_t mask:8;
458 uint64_t eot:1; 850 uint64_t eot:1;
459 uint64_t dst:8; 851 uint64_t dst:8;
460 uint64_t src:9; 852 uint64_t src:9;
853#else
854 uint64_t src:9;
855 uint64_t dst:8;
856 uint64_t eot:1;
857 uint64_t mask:8;
858 uint64_t reserved_26_63:38;
859#endif
461 } s; 860 } s;
462 struct cvmx_iob_outb_control_match_enb_s cn30xx; 861 struct cvmx_iob_outb_control_match_enb_s cn30xx;
463 struct cvmx_iob_outb_control_match_enb_s cn31xx; 862 struct cvmx_iob_outb_control_match_enb_s cn31xx;
@@ -470,14 +869,23 @@ union cvmx_iob_outb_control_match_enb {
470 struct cvmx_iob_outb_control_match_enb_s cn56xxp1; 869 struct cvmx_iob_outb_control_match_enb_s cn56xxp1;
471 struct cvmx_iob_outb_control_match_enb_s cn58xx; 870 struct cvmx_iob_outb_control_match_enb_s cn58xx;
472 struct cvmx_iob_outb_control_match_enb_s cn58xxp1; 871 struct cvmx_iob_outb_control_match_enb_s cn58xxp1;
872 struct cvmx_iob_outb_control_match_enb_s cn61xx;
473 struct cvmx_iob_outb_control_match_enb_s cn63xx; 873 struct cvmx_iob_outb_control_match_enb_s cn63xx;
474 struct cvmx_iob_outb_control_match_enb_s cn63xxp1; 874 struct cvmx_iob_outb_control_match_enb_s cn63xxp1;
875 struct cvmx_iob_outb_control_match_enb_s cn66xx;
876 struct cvmx_iob_outb_control_match_enb_s cn68xx;
877 struct cvmx_iob_outb_control_match_enb_s cn68xxp1;
878 struct cvmx_iob_outb_control_match_enb_s cnf71xx;
475}; 879};
476 880
477union cvmx_iob_outb_data_match { 881union cvmx_iob_outb_data_match {
478 uint64_t u64; 882 uint64_t u64;
479 struct cvmx_iob_outb_data_match_s { 883 struct cvmx_iob_outb_data_match_s {
884#ifdef __BIG_ENDIAN_BITFIELD
480 uint64_t data:64; 885 uint64_t data:64;
886#else
887 uint64_t data:64;
888#endif
481 } s; 889 } s;
482 struct cvmx_iob_outb_data_match_s cn30xx; 890 struct cvmx_iob_outb_data_match_s cn30xx;
483 struct cvmx_iob_outb_data_match_s cn31xx; 891 struct cvmx_iob_outb_data_match_s cn31xx;
@@ -490,14 +898,23 @@ union cvmx_iob_outb_data_match {
490 struct cvmx_iob_outb_data_match_s cn56xxp1; 898 struct cvmx_iob_outb_data_match_s cn56xxp1;
491 struct cvmx_iob_outb_data_match_s cn58xx; 899 struct cvmx_iob_outb_data_match_s cn58xx;
492 struct cvmx_iob_outb_data_match_s cn58xxp1; 900 struct cvmx_iob_outb_data_match_s cn58xxp1;
901 struct cvmx_iob_outb_data_match_s cn61xx;
493 struct cvmx_iob_outb_data_match_s cn63xx; 902 struct cvmx_iob_outb_data_match_s cn63xx;
494 struct cvmx_iob_outb_data_match_s cn63xxp1; 903 struct cvmx_iob_outb_data_match_s cn63xxp1;
904 struct cvmx_iob_outb_data_match_s cn66xx;
905 struct cvmx_iob_outb_data_match_s cn68xx;
906 struct cvmx_iob_outb_data_match_s cn68xxp1;
907 struct cvmx_iob_outb_data_match_s cnf71xx;
495}; 908};
496 909
497union cvmx_iob_outb_data_match_enb { 910union cvmx_iob_outb_data_match_enb {
498 uint64_t u64; 911 uint64_t u64;
499 struct cvmx_iob_outb_data_match_enb_s { 912 struct cvmx_iob_outb_data_match_enb_s {
913#ifdef __BIG_ENDIAN_BITFIELD
914 uint64_t data:64;
915#else
500 uint64_t data:64; 916 uint64_t data:64;
917#endif
501 } s; 918 } s;
502 struct cvmx_iob_outb_data_match_enb_s cn30xx; 919 struct cvmx_iob_outb_data_match_enb_s cn30xx;
503 struct cvmx_iob_outb_data_match_enb_s cn31xx; 920 struct cvmx_iob_outb_data_match_enb_s cn31xx;
@@ -510,16 +927,27 @@ union cvmx_iob_outb_data_match_enb {
510 struct cvmx_iob_outb_data_match_enb_s cn56xxp1; 927 struct cvmx_iob_outb_data_match_enb_s cn56xxp1;
511 struct cvmx_iob_outb_data_match_enb_s cn58xx; 928 struct cvmx_iob_outb_data_match_enb_s cn58xx;
512 struct cvmx_iob_outb_data_match_enb_s cn58xxp1; 929 struct cvmx_iob_outb_data_match_enb_s cn58xxp1;
930 struct cvmx_iob_outb_data_match_enb_s cn61xx;
513 struct cvmx_iob_outb_data_match_enb_s cn63xx; 931 struct cvmx_iob_outb_data_match_enb_s cn63xx;
514 struct cvmx_iob_outb_data_match_enb_s cn63xxp1; 932 struct cvmx_iob_outb_data_match_enb_s cn63xxp1;
933 struct cvmx_iob_outb_data_match_enb_s cn66xx;
934 struct cvmx_iob_outb_data_match_enb_s cn68xx;
935 struct cvmx_iob_outb_data_match_enb_s cn68xxp1;
936 struct cvmx_iob_outb_data_match_enb_s cnf71xx;
515}; 937};
516 938
517union cvmx_iob_outb_fpa_pri_cnt { 939union cvmx_iob_outb_fpa_pri_cnt {
518 uint64_t u64; 940 uint64_t u64;
519 struct cvmx_iob_outb_fpa_pri_cnt_s { 941 struct cvmx_iob_outb_fpa_pri_cnt_s {
942#ifdef __BIG_ENDIAN_BITFIELD
520 uint64_t reserved_16_63:48; 943 uint64_t reserved_16_63:48;
521 uint64_t cnt_enb:1; 944 uint64_t cnt_enb:1;
522 uint64_t cnt_val:15; 945 uint64_t cnt_val:15;
946#else
947 uint64_t cnt_val:15;
948 uint64_t cnt_enb:1;
949 uint64_t reserved_16_63:48;
950#endif
523 } s; 951 } s;
524 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx; 952 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx;
525 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2; 953 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2;
@@ -529,16 +957,27 @@ union cvmx_iob_outb_fpa_pri_cnt {
529 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1; 957 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1;
530 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx; 958 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx;
531 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1; 959 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1;
960 struct cvmx_iob_outb_fpa_pri_cnt_s cn61xx;
532 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xx; 961 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xx;
533 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xxp1; 962 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xxp1;
963 struct cvmx_iob_outb_fpa_pri_cnt_s cn66xx;
964 struct cvmx_iob_outb_fpa_pri_cnt_s cn68xx;
965 struct cvmx_iob_outb_fpa_pri_cnt_s cn68xxp1;
966 struct cvmx_iob_outb_fpa_pri_cnt_s cnf71xx;
534}; 967};
535 968
536union cvmx_iob_outb_req_pri_cnt { 969union cvmx_iob_outb_req_pri_cnt {
537 uint64_t u64; 970 uint64_t u64;
538 struct cvmx_iob_outb_req_pri_cnt_s { 971 struct cvmx_iob_outb_req_pri_cnt_s {
972#ifdef __BIG_ENDIAN_BITFIELD
539 uint64_t reserved_16_63:48; 973 uint64_t reserved_16_63:48;
540 uint64_t cnt_enb:1; 974 uint64_t cnt_enb:1;
541 uint64_t cnt_val:15; 975 uint64_t cnt_val:15;
976#else
977 uint64_t cnt_val:15;
978 uint64_t cnt_enb:1;
979 uint64_t reserved_16_63:48;
980#endif
542 } s; 981 } s;
543 struct cvmx_iob_outb_req_pri_cnt_s cn38xx; 982 struct cvmx_iob_outb_req_pri_cnt_s cn38xx;
544 struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2; 983 struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2;
@@ -548,16 +987,27 @@ union cvmx_iob_outb_req_pri_cnt {
548 struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1; 987 struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1;
549 struct cvmx_iob_outb_req_pri_cnt_s cn58xx; 988 struct cvmx_iob_outb_req_pri_cnt_s cn58xx;
550 struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1; 989 struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1;
990 struct cvmx_iob_outb_req_pri_cnt_s cn61xx;
551 struct cvmx_iob_outb_req_pri_cnt_s cn63xx; 991 struct cvmx_iob_outb_req_pri_cnt_s cn63xx;
552 struct cvmx_iob_outb_req_pri_cnt_s cn63xxp1; 992 struct cvmx_iob_outb_req_pri_cnt_s cn63xxp1;
993 struct cvmx_iob_outb_req_pri_cnt_s cn66xx;
994 struct cvmx_iob_outb_req_pri_cnt_s cn68xx;
995 struct cvmx_iob_outb_req_pri_cnt_s cn68xxp1;
996 struct cvmx_iob_outb_req_pri_cnt_s cnf71xx;
553}; 997};
554 998
555union cvmx_iob_p2c_req_pri_cnt { 999union cvmx_iob_p2c_req_pri_cnt {
556 uint64_t u64; 1000 uint64_t u64;
557 struct cvmx_iob_p2c_req_pri_cnt_s { 1001 struct cvmx_iob_p2c_req_pri_cnt_s {
1002#ifdef __BIG_ENDIAN_BITFIELD
558 uint64_t reserved_16_63:48; 1003 uint64_t reserved_16_63:48;
559 uint64_t cnt_enb:1; 1004 uint64_t cnt_enb:1;
560 uint64_t cnt_val:15; 1005 uint64_t cnt_val:15;
1006#else
1007 uint64_t cnt_val:15;
1008 uint64_t cnt_enb:1;
1009 uint64_t reserved_16_63:48;
1010#endif
561 } s; 1011 } s;
562 struct cvmx_iob_p2c_req_pri_cnt_s cn38xx; 1012 struct cvmx_iob_p2c_req_pri_cnt_s cn38xx;
563 struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2; 1013 struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2;
@@ -567,20 +1017,34 @@ union cvmx_iob_p2c_req_pri_cnt {
567 struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1; 1017 struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1;
568 struct cvmx_iob_p2c_req_pri_cnt_s cn58xx; 1018 struct cvmx_iob_p2c_req_pri_cnt_s cn58xx;
569 struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1; 1019 struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1;
1020 struct cvmx_iob_p2c_req_pri_cnt_s cn61xx;
570 struct cvmx_iob_p2c_req_pri_cnt_s cn63xx; 1021 struct cvmx_iob_p2c_req_pri_cnt_s cn63xx;
571 struct cvmx_iob_p2c_req_pri_cnt_s cn63xxp1; 1022 struct cvmx_iob_p2c_req_pri_cnt_s cn63xxp1;
1023 struct cvmx_iob_p2c_req_pri_cnt_s cn66xx;
1024 struct cvmx_iob_p2c_req_pri_cnt_s cnf71xx;
572}; 1025};
573 1026
574union cvmx_iob_pkt_err { 1027union cvmx_iob_pkt_err {
575 uint64_t u64; 1028 uint64_t u64;
576 struct cvmx_iob_pkt_err_s { 1029 struct cvmx_iob_pkt_err_s {
1030#ifdef __BIG_ENDIAN_BITFIELD
577 uint64_t reserved_12_63:52; 1031 uint64_t reserved_12_63:52;
578 uint64_t vport:6; 1032 uint64_t vport:6;
579 uint64_t port:6; 1033 uint64_t port:6;
1034#else
1035 uint64_t port:6;
1036 uint64_t vport:6;
1037 uint64_t reserved_12_63:52;
1038#endif
580 } s; 1039 } s;
581 struct cvmx_iob_pkt_err_cn30xx { 1040 struct cvmx_iob_pkt_err_cn30xx {
1041#ifdef __BIG_ENDIAN_BITFIELD
582 uint64_t reserved_6_63:58; 1042 uint64_t reserved_6_63:58;
583 uint64_t port:6; 1043 uint64_t port:6;
1044#else
1045 uint64_t port:6;
1046 uint64_t reserved_6_63:58;
1047#endif
584 } cn30xx; 1048 } cn30xx;
585 struct cvmx_iob_pkt_err_cn30xx cn31xx; 1049 struct cvmx_iob_pkt_err_cn30xx cn31xx;
586 struct cvmx_iob_pkt_err_cn30xx cn38xx; 1050 struct cvmx_iob_pkt_err_cn30xx cn38xx;
@@ -592,21 +1056,223 @@ union cvmx_iob_pkt_err {
592 struct cvmx_iob_pkt_err_cn30xx cn56xxp1; 1056 struct cvmx_iob_pkt_err_cn30xx cn56xxp1;
593 struct cvmx_iob_pkt_err_cn30xx cn58xx; 1057 struct cvmx_iob_pkt_err_cn30xx cn58xx;
594 struct cvmx_iob_pkt_err_cn30xx cn58xxp1; 1058 struct cvmx_iob_pkt_err_cn30xx cn58xxp1;
1059 struct cvmx_iob_pkt_err_s cn61xx;
595 struct cvmx_iob_pkt_err_s cn63xx; 1060 struct cvmx_iob_pkt_err_s cn63xx;
596 struct cvmx_iob_pkt_err_s cn63xxp1; 1061 struct cvmx_iob_pkt_err_s cn63xxp1;
1062 struct cvmx_iob_pkt_err_s cn66xx;
1063 struct cvmx_iob_pkt_err_s cnf71xx;
597}; 1064};
598 1065
599union cvmx_iob_to_cmb_credits { 1066union cvmx_iob_to_cmb_credits {
600 uint64_t u64; 1067 uint64_t u64;
601 struct cvmx_iob_to_cmb_credits_s { 1068 struct cvmx_iob_to_cmb_credits_s {
1069#ifdef __BIG_ENDIAN_BITFIELD
1070 uint64_t reserved_6_63:58;
1071 uint64_t ncb_rd:3;
1072 uint64_t ncb_wr:3;
1073#else
1074 uint64_t ncb_wr:3;
1075 uint64_t ncb_rd:3;
1076 uint64_t reserved_6_63:58;
1077#endif
1078 } s;
1079 struct cvmx_iob_to_cmb_credits_cn52xx {
1080#ifdef __BIG_ENDIAN_BITFIELD
602 uint64_t reserved_9_63:55; 1081 uint64_t reserved_9_63:55;
603 uint64_t pko_rd:3; 1082 uint64_t pko_rd:3;
604 uint64_t ncb_rd:3; 1083 uint64_t ncb_rd:3;
605 uint64_t ncb_wr:3; 1084 uint64_t ncb_wr:3;
1085#else
1086 uint64_t ncb_wr:3;
1087 uint64_t ncb_rd:3;
1088 uint64_t pko_rd:3;
1089 uint64_t reserved_9_63:55;
1090#endif
1091 } cn52xx;
1092 struct cvmx_iob_to_cmb_credits_cn52xx cn61xx;
1093 struct cvmx_iob_to_cmb_credits_cn52xx cn63xx;
1094 struct cvmx_iob_to_cmb_credits_cn52xx cn63xxp1;
1095 struct cvmx_iob_to_cmb_credits_cn52xx cn66xx;
1096 struct cvmx_iob_to_cmb_credits_cn68xx {
1097#ifdef __BIG_ENDIAN_BITFIELD
1098 uint64_t reserved_9_63:55;
1099 uint64_t dwb:3;
1100 uint64_t ncb_rd:3;
1101 uint64_t ncb_wr:3;
1102#else
1103 uint64_t ncb_wr:3;
1104 uint64_t ncb_rd:3;
1105 uint64_t dwb:3;
1106 uint64_t reserved_9_63:55;
1107#endif
1108 } cn68xx;
1109 struct cvmx_iob_to_cmb_credits_cn68xx cn68xxp1;
1110 struct cvmx_iob_to_cmb_credits_cn52xx cnf71xx;
1111};
1112
1113union cvmx_iob_to_ncb_did_00_credits {
1114 uint64_t u64;
1115 struct cvmx_iob_to_ncb_did_00_credits_s {
1116#ifdef __BIG_ENDIAN_BITFIELD
1117 uint64_t reserved_7_63:57;
1118 uint64_t crd:7;
1119#else
1120 uint64_t crd:7;
1121 uint64_t reserved_7_63:57;
1122#endif
1123 } s;
1124 struct cvmx_iob_to_ncb_did_00_credits_s cn68xx;
1125 struct cvmx_iob_to_ncb_did_00_credits_s cn68xxp1;
1126};
1127
1128union cvmx_iob_to_ncb_did_111_credits {
1129 uint64_t u64;
1130 struct cvmx_iob_to_ncb_did_111_credits_s {
1131#ifdef __BIG_ENDIAN_BITFIELD
1132 uint64_t reserved_7_63:57;
1133 uint64_t crd:7;
1134#else
1135 uint64_t crd:7;
1136 uint64_t reserved_7_63:57;
1137#endif
1138 } s;
1139 struct cvmx_iob_to_ncb_did_111_credits_s cn68xx;
1140 struct cvmx_iob_to_ncb_did_111_credits_s cn68xxp1;
1141};
1142
1143union cvmx_iob_to_ncb_did_223_credits {
1144 uint64_t u64;
1145 struct cvmx_iob_to_ncb_did_223_credits_s {
1146#ifdef __BIG_ENDIAN_BITFIELD
1147 uint64_t reserved_7_63:57;
1148 uint64_t crd:7;
1149#else
1150 uint64_t crd:7;
1151 uint64_t reserved_7_63:57;
1152#endif
1153 } s;
1154 struct cvmx_iob_to_ncb_did_223_credits_s cn68xx;
1155 struct cvmx_iob_to_ncb_did_223_credits_s cn68xxp1;
1156};
1157
1158union cvmx_iob_to_ncb_did_24_credits {
1159 uint64_t u64;
1160 struct cvmx_iob_to_ncb_did_24_credits_s {
1161#ifdef __BIG_ENDIAN_BITFIELD
1162 uint64_t reserved_7_63:57;
1163 uint64_t crd:7;
1164#else
1165 uint64_t crd:7;
1166 uint64_t reserved_7_63:57;
1167#endif
1168 } s;
1169 struct cvmx_iob_to_ncb_did_24_credits_s cn68xx;
1170 struct cvmx_iob_to_ncb_did_24_credits_s cn68xxp1;
1171};
1172
1173union cvmx_iob_to_ncb_did_32_credits {
1174 uint64_t u64;
1175 struct cvmx_iob_to_ncb_did_32_credits_s {
1176#ifdef __BIG_ENDIAN_BITFIELD
1177 uint64_t reserved_7_63:57;
1178 uint64_t crd:7;
1179#else
1180 uint64_t crd:7;
1181 uint64_t reserved_7_63:57;
1182#endif
1183 } s;
1184 struct cvmx_iob_to_ncb_did_32_credits_s cn68xx;
1185 struct cvmx_iob_to_ncb_did_32_credits_s cn68xxp1;
1186};
1187
1188union cvmx_iob_to_ncb_did_40_credits {
1189 uint64_t u64;
1190 struct cvmx_iob_to_ncb_did_40_credits_s {
1191#ifdef __BIG_ENDIAN_BITFIELD
1192 uint64_t reserved_7_63:57;
1193 uint64_t crd:7;
1194#else
1195 uint64_t crd:7;
1196 uint64_t reserved_7_63:57;
1197#endif
1198 } s;
1199 struct cvmx_iob_to_ncb_did_40_credits_s cn68xx;
1200 struct cvmx_iob_to_ncb_did_40_credits_s cn68xxp1;
1201};
1202
1203union cvmx_iob_to_ncb_did_55_credits {
1204 uint64_t u64;
1205 struct cvmx_iob_to_ncb_did_55_credits_s {
1206#ifdef __BIG_ENDIAN_BITFIELD
1207 uint64_t reserved_7_63:57;
1208 uint64_t crd:7;
1209#else
1210 uint64_t crd:7;
1211 uint64_t reserved_7_63:57;
1212#endif
1213 } s;
1214 struct cvmx_iob_to_ncb_did_55_credits_s cn68xx;
1215 struct cvmx_iob_to_ncb_did_55_credits_s cn68xxp1;
1216};
1217
1218union cvmx_iob_to_ncb_did_64_credits {
1219 uint64_t u64;
1220 struct cvmx_iob_to_ncb_did_64_credits_s {
1221#ifdef __BIG_ENDIAN_BITFIELD
1222 uint64_t reserved_7_63:57;
1223 uint64_t crd:7;
1224#else
1225 uint64_t crd:7;
1226 uint64_t reserved_7_63:57;
1227#endif
1228 } s;
1229 struct cvmx_iob_to_ncb_did_64_credits_s cn68xx;
1230 struct cvmx_iob_to_ncb_did_64_credits_s cn68xxp1;
1231};
1232
1233union cvmx_iob_to_ncb_did_79_credits {
1234 uint64_t u64;
1235 struct cvmx_iob_to_ncb_did_79_credits_s {
1236#ifdef __BIG_ENDIAN_BITFIELD
1237 uint64_t reserved_7_63:57;
1238 uint64_t crd:7;
1239#else
1240 uint64_t crd:7;
1241 uint64_t reserved_7_63:57;
1242#endif
1243 } s;
1244 struct cvmx_iob_to_ncb_did_79_credits_s cn68xx;
1245 struct cvmx_iob_to_ncb_did_79_credits_s cn68xxp1;
1246};
1247
1248union cvmx_iob_to_ncb_did_96_credits {
1249 uint64_t u64;
1250 struct cvmx_iob_to_ncb_did_96_credits_s {
1251#ifdef __BIG_ENDIAN_BITFIELD
1252 uint64_t reserved_7_63:57;
1253 uint64_t crd:7;
1254#else
1255 uint64_t crd:7;
1256 uint64_t reserved_7_63:57;
1257#endif
1258 } s;
1259 struct cvmx_iob_to_ncb_did_96_credits_s cn68xx;
1260 struct cvmx_iob_to_ncb_did_96_credits_s cn68xxp1;
1261};
1262
1263union cvmx_iob_to_ncb_did_98_credits {
1264 uint64_t u64;
1265 struct cvmx_iob_to_ncb_did_98_credits_s {
1266#ifdef __BIG_ENDIAN_BITFIELD
1267 uint64_t reserved_7_63:57;
1268 uint64_t crd:7;
1269#else
1270 uint64_t crd:7;
1271 uint64_t reserved_7_63:57;
1272#endif
606 } s; 1273 } s;
607 struct cvmx_iob_to_cmb_credits_s cn52xx; 1274 struct cvmx_iob_to_ncb_did_98_credits_s cn68xx;
608 struct cvmx_iob_to_cmb_credits_s cn63xx; 1275 struct cvmx_iob_to_ncb_did_98_credits_s cn68xxp1;
609 struct cvmx_iob_to_cmb_credits_s cn63xxp1;
610}; 1276};
611 1277
612#endif 1278#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-ipd-defs.h b/arch/mips/include/asm/octeon/cvmx-ipd-defs.h
index e0a5bfe88d04..1193f73bb74a 100644
--- a/arch/mips/include/asm/octeon/cvmx-ipd-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-ipd-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -32,23 +32,37 @@
32#define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull)) 32#define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull))
33#define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull)) 33#define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull))
34#define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull)) 34#define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull))
35#define CVMX_IPD_BPIDX_MBUF_TH(offset) (CVMX_ADD_IO_SEG(0x00014F0000002000ull) + ((offset) & 63) * 8)
36#define CVMX_IPD_BPID_BP_COUNTERX(offset) (CVMX_ADD_IO_SEG(0x00014F0000003000ull) + ((offset) & 63) * 8)
35#define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull)) 37#define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull))
36#define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull)) 38#define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull))
39#define CVMX_IPD_CREDITS (CVMX_ADD_IO_SEG(0x00014F0000004410ull))
37#define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull)) 40#define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull))
41#define CVMX_IPD_ECC_CTL (CVMX_ADD_IO_SEG(0x00014F0000004408ull))
42#define CVMX_IPD_FREE_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000780ull))
43#define CVMX_IPD_FREE_PTR_VALUE (CVMX_ADD_IO_SEG(0x00014F0000000788ull))
44#define CVMX_IPD_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000790ull))
38#define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull)) 45#define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull))
39#define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull)) 46#define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull))
47#define CVMX_IPD_NEXT_PKT_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A0ull))
48#define CVMX_IPD_NEXT_WQE_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A8ull))
40#define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull)) 49#define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull))
50#define CVMX_IPD_ON_BP_DROP_PKTX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004100ull))
41#define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull)) 51#define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull))
52#define CVMX_IPD_PKT_ERR (CVMX_ADD_IO_SEG(0x00014F00000003F0ull))
42#define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull)) 53#define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull))
43#define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8) 54#define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8)
44#define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36) 55#define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36)
45#define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40) 56#define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40)
46#define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36) 57#define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36)
47#define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40) 58#define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40)
59#define CVMX_IPD_PORT_BP_COUNTERS4_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000410ull) + ((offset) & 63) * 8 - 8*44)
48#define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8) 60#define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8)
61#define CVMX_IPD_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000798ull))
49#define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8) 62#define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8)
50#define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8) 63#define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8)
51#define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8) 64#define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8)
65#define CVMX_IPD_PORT_SOPX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004400ull))
52#define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull)) 66#define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull))
53#define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull)) 67#define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull))
54#define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull)) 68#define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull))
@@ -63,6 +77,8 @@
63#define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7) 77#define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
64#define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8) 78#define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8)
65#define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull)) 79#define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull))
80#define CVMX_IPD_RED_BPID_ENABLEX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004200ull))
81#define CVMX_IPD_RED_DELAY (CVMX_ADD_IO_SEG(0x00014F0000004300ull))
66#define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull)) 82#define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull))
67#define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull)) 83#define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull))
68#define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0) 84#define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
@@ -74,6 +90,7 @@
74#define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6) 90#define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
75#define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7) 91#define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
76#define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8) 92#define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8)
93#define CVMX_IPD_REQ_WGT (CVMX_ADD_IO_SEG(0x00014F0000004418ull))
77#define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull)) 94#define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull))
78#define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull)) 95#define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull))
79#define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull)) 96#define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull))
@@ -83,8 +100,13 @@
83union cvmx_ipd_1st_mbuff_skip { 100union cvmx_ipd_1st_mbuff_skip {
84 uint64_t u64; 101 uint64_t u64;
85 struct cvmx_ipd_1st_mbuff_skip_s { 102 struct cvmx_ipd_1st_mbuff_skip_s {
103#ifdef __BIG_ENDIAN_BITFIELD
86 uint64_t reserved_6_63:58; 104 uint64_t reserved_6_63:58;
87 uint64_t skip_sz:6; 105 uint64_t skip_sz:6;
106#else
107 uint64_t skip_sz:6;
108 uint64_t reserved_6_63:58;
109#endif
88 } s; 110 } s;
89 struct cvmx_ipd_1st_mbuff_skip_s cn30xx; 111 struct cvmx_ipd_1st_mbuff_skip_s cn30xx;
90 struct cvmx_ipd_1st_mbuff_skip_s cn31xx; 112 struct cvmx_ipd_1st_mbuff_skip_s cn31xx;
@@ -97,15 +119,25 @@ union cvmx_ipd_1st_mbuff_skip {
97 struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1; 119 struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1;
98 struct cvmx_ipd_1st_mbuff_skip_s cn58xx; 120 struct cvmx_ipd_1st_mbuff_skip_s cn58xx;
99 struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1; 121 struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1;
122 struct cvmx_ipd_1st_mbuff_skip_s cn61xx;
100 struct cvmx_ipd_1st_mbuff_skip_s cn63xx; 123 struct cvmx_ipd_1st_mbuff_skip_s cn63xx;
101 struct cvmx_ipd_1st_mbuff_skip_s cn63xxp1; 124 struct cvmx_ipd_1st_mbuff_skip_s cn63xxp1;
125 struct cvmx_ipd_1st_mbuff_skip_s cn66xx;
126 struct cvmx_ipd_1st_mbuff_skip_s cn68xx;
127 struct cvmx_ipd_1st_mbuff_skip_s cn68xxp1;
128 struct cvmx_ipd_1st_mbuff_skip_s cnf71xx;
102}; 129};
103 130
104union cvmx_ipd_1st_next_ptr_back { 131union cvmx_ipd_1st_next_ptr_back {
105 uint64_t u64; 132 uint64_t u64;
106 struct cvmx_ipd_1st_next_ptr_back_s { 133 struct cvmx_ipd_1st_next_ptr_back_s {
134#ifdef __BIG_ENDIAN_BITFIELD
107 uint64_t reserved_4_63:60; 135 uint64_t reserved_4_63:60;
108 uint64_t back:4; 136 uint64_t back:4;
137#else
138 uint64_t back:4;
139 uint64_t reserved_4_63:60;
140#endif
109 } s; 141 } s;
110 struct cvmx_ipd_1st_next_ptr_back_s cn30xx; 142 struct cvmx_ipd_1st_next_ptr_back_s cn30xx;
111 struct cvmx_ipd_1st_next_ptr_back_s cn31xx; 143 struct cvmx_ipd_1st_next_ptr_back_s cn31xx;
@@ -118,15 +150,25 @@ union cvmx_ipd_1st_next_ptr_back {
118 struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1; 150 struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1;
119 struct cvmx_ipd_1st_next_ptr_back_s cn58xx; 151 struct cvmx_ipd_1st_next_ptr_back_s cn58xx;
120 struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1; 152 struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1;
153 struct cvmx_ipd_1st_next_ptr_back_s cn61xx;
121 struct cvmx_ipd_1st_next_ptr_back_s cn63xx; 154 struct cvmx_ipd_1st_next_ptr_back_s cn63xx;
122 struct cvmx_ipd_1st_next_ptr_back_s cn63xxp1; 155 struct cvmx_ipd_1st_next_ptr_back_s cn63xxp1;
156 struct cvmx_ipd_1st_next_ptr_back_s cn66xx;
157 struct cvmx_ipd_1st_next_ptr_back_s cn68xx;
158 struct cvmx_ipd_1st_next_ptr_back_s cn68xxp1;
159 struct cvmx_ipd_1st_next_ptr_back_s cnf71xx;
123}; 160};
124 161
125union cvmx_ipd_2nd_next_ptr_back { 162union cvmx_ipd_2nd_next_ptr_back {
126 uint64_t u64; 163 uint64_t u64;
127 struct cvmx_ipd_2nd_next_ptr_back_s { 164 struct cvmx_ipd_2nd_next_ptr_back_s {
165#ifdef __BIG_ENDIAN_BITFIELD
128 uint64_t reserved_4_63:60; 166 uint64_t reserved_4_63:60;
129 uint64_t back:4; 167 uint64_t back:4;
168#else
169 uint64_t back:4;
170 uint64_t reserved_4_63:60;
171#endif
130 } s; 172 } s;
131 struct cvmx_ipd_2nd_next_ptr_back_s cn30xx; 173 struct cvmx_ipd_2nd_next_ptr_back_s cn30xx;
132 struct cvmx_ipd_2nd_next_ptr_back_s cn31xx; 174 struct cvmx_ipd_2nd_next_ptr_back_s cn31xx;
@@ -139,14 +181,25 @@ union cvmx_ipd_2nd_next_ptr_back {
139 struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1; 181 struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1;
140 struct cvmx_ipd_2nd_next_ptr_back_s cn58xx; 182 struct cvmx_ipd_2nd_next_ptr_back_s cn58xx;
141 struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1; 183 struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1;
184 struct cvmx_ipd_2nd_next_ptr_back_s cn61xx;
142 struct cvmx_ipd_2nd_next_ptr_back_s cn63xx; 185 struct cvmx_ipd_2nd_next_ptr_back_s cn63xx;
143 struct cvmx_ipd_2nd_next_ptr_back_s cn63xxp1; 186 struct cvmx_ipd_2nd_next_ptr_back_s cn63xxp1;
187 struct cvmx_ipd_2nd_next_ptr_back_s cn66xx;
188 struct cvmx_ipd_2nd_next_ptr_back_s cn68xx;
189 struct cvmx_ipd_2nd_next_ptr_back_s cn68xxp1;
190 struct cvmx_ipd_2nd_next_ptr_back_s cnf71xx;
144}; 191};
145 192
146union cvmx_ipd_bist_status { 193union cvmx_ipd_bist_status {
147 uint64_t u64; 194 uint64_t u64;
148 struct cvmx_ipd_bist_status_s { 195 struct cvmx_ipd_bist_status_s {
149 uint64_t reserved_18_63:46; 196#ifdef __BIG_ENDIAN_BITFIELD
197 uint64_t reserved_23_63:41;
198 uint64_t iiwo1:1;
199 uint64_t iiwo0:1;
200 uint64_t iio1:1;
201 uint64_t iio0:1;
202 uint64_t pbm4:1;
150 uint64_t csr_mem:1; 203 uint64_t csr_mem:1;
151 uint64_t csr_ncmd:1; 204 uint64_t csr_ncmd:1;
152 uint64_t pwq_wqed:1; 205 uint64_t pwq_wqed:1;
@@ -165,8 +218,35 @@ union cvmx_ipd_bist_status {
165 uint64_t ipd_old:1; 218 uint64_t ipd_old:1;
166 uint64_t ipd_new:1; 219 uint64_t ipd_new:1;
167 uint64_t pwp:1; 220 uint64_t pwp:1;
221#else
222 uint64_t pwp:1;
223 uint64_t ipd_new:1;
224 uint64_t ipd_old:1;
225 uint64_t prc_off:1;
226 uint64_t pwq0:1;
227 uint64_t pwq1:1;
228 uint64_t pbm_word:1;
229 uint64_t pbm0:1;
230 uint64_t pbm1:1;
231 uint64_t pbm2:1;
232 uint64_t pbm3:1;
233 uint64_t ipq_pbe0:1;
234 uint64_t ipq_pbe1:1;
235 uint64_t pwq_pow:1;
236 uint64_t pwq_wp1:1;
237 uint64_t pwq_wqed:1;
238 uint64_t csr_ncmd:1;
239 uint64_t csr_mem:1;
240 uint64_t pbm4:1;
241 uint64_t iio0:1;
242 uint64_t iio1:1;
243 uint64_t iiwo0:1;
244 uint64_t iiwo1:1;
245 uint64_t reserved_23_63:41;
246#endif
168 } s; 247 } s;
169 struct cvmx_ipd_bist_status_cn30xx { 248 struct cvmx_ipd_bist_status_cn30xx {
249#ifdef __BIG_ENDIAN_BITFIELD
170 uint64_t reserved_16_63:48; 250 uint64_t reserved_16_63:48;
171 uint64_t pwq_wqed:1; 251 uint64_t pwq_wqed:1;
172 uint64_t pwq_wp1:1; 252 uint64_t pwq_wp1:1;
@@ -184,52 +264,180 @@ union cvmx_ipd_bist_status {
184 uint64_t ipd_old:1; 264 uint64_t ipd_old:1;
185 uint64_t ipd_new:1; 265 uint64_t ipd_new:1;
186 uint64_t pwp:1; 266 uint64_t pwp:1;
267#else
268 uint64_t pwp:1;
269 uint64_t ipd_new:1;
270 uint64_t ipd_old:1;
271 uint64_t prc_off:1;
272 uint64_t pwq0:1;
273 uint64_t pwq1:1;
274 uint64_t pbm_word:1;
275 uint64_t pbm0:1;
276 uint64_t pbm1:1;
277 uint64_t pbm2:1;
278 uint64_t pbm3:1;
279 uint64_t ipq_pbe0:1;
280 uint64_t ipq_pbe1:1;
281 uint64_t pwq_pow:1;
282 uint64_t pwq_wp1:1;
283 uint64_t pwq_wqed:1;
284 uint64_t reserved_16_63:48;
285#endif
187 } cn30xx; 286 } cn30xx;
188 struct cvmx_ipd_bist_status_cn30xx cn31xx; 287 struct cvmx_ipd_bist_status_cn30xx cn31xx;
189 struct cvmx_ipd_bist_status_cn30xx cn38xx; 288 struct cvmx_ipd_bist_status_cn30xx cn38xx;
190 struct cvmx_ipd_bist_status_cn30xx cn38xxp2; 289 struct cvmx_ipd_bist_status_cn30xx cn38xxp2;
191 struct cvmx_ipd_bist_status_cn30xx cn50xx; 290 struct cvmx_ipd_bist_status_cn30xx cn50xx;
192 struct cvmx_ipd_bist_status_s cn52xx; 291 struct cvmx_ipd_bist_status_cn52xx {
193 struct cvmx_ipd_bist_status_s cn52xxp1; 292#ifdef __BIG_ENDIAN_BITFIELD
194 struct cvmx_ipd_bist_status_s cn56xx; 293 uint64_t reserved_18_63:46;
195 struct cvmx_ipd_bist_status_s cn56xxp1; 294 uint64_t csr_mem:1;
295 uint64_t csr_ncmd:1;
296 uint64_t pwq_wqed:1;
297 uint64_t pwq_wp1:1;
298 uint64_t pwq_pow:1;
299 uint64_t ipq_pbe1:1;
300 uint64_t ipq_pbe0:1;
301 uint64_t pbm3:1;
302 uint64_t pbm2:1;
303 uint64_t pbm1:1;
304 uint64_t pbm0:1;
305 uint64_t pbm_word:1;
306 uint64_t pwq1:1;
307 uint64_t pwq0:1;
308 uint64_t prc_off:1;
309 uint64_t ipd_old:1;
310 uint64_t ipd_new:1;
311 uint64_t pwp:1;
312#else
313 uint64_t pwp:1;
314 uint64_t ipd_new:1;
315 uint64_t ipd_old:1;
316 uint64_t prc_off:1;
317 uint64_t pwq0:1;
318 uint64_t pwq1:1;
319 uint64_t pbm_word:1;
320 uint64_t pbm0:1;
321 uint64_t pbm1:1;
322 uint64_t pbm2:1;
323 uint64_t pbm3:1;
324 uint64_t ipq_pbe0:1;
325 uint64_t ipq_pbe1:1;
326 uint64_t pwq_pow:1;
327 uint64_t pwq_wp1:1;
328 uint64_t pwq_wqed:1;
329 uint64_t csr_ncmd:1;
330 uint64_t csr_mem:1;
331 uint64_t reserved_18_63:46;
332#endif
333 } cn52xx;
334 struct cvmx_ipd_bist_status_cn52xx cn52xxp1;
335 struct cvmx_ipd_bist_status_cn52xx cn56xx;
336 struct cvmx_ipd_bist_status_cn52xx cn56xxp1;
196 struct cvmx_ipd_bist_status_cn30xx cn58xx; 337 struct cvmx_ipd_bist_status_cn30xx cn58xx;
197 struct cvmx_ipd_bist_status_cn30xx cn58xxp1; 338 struct cvmx_ipd_bist_status_cn30xx cn58xxp1;
198 struct cvmx_ipd_bist_status_s cn63xx; 339 struct cvmx_ipd_bist_status_cn52xx cn61xx;
199 struct cvmx_ipd_bist_status_s cn63xxp1; 340 struct cvmx_ipd_bist_status_cn52xx cn63xx;
341 struct cvmx_ipd_bist_status_cn52xx cn63xxp1;
342 struct cvmx_ipd_bist_status_cn52xx cn66xx;
343 struct cvmx_ipd_bist_status_s cn68xx;
344 struct cvmx_ipd_bist_status_s cn68xxp1;
345 struct cvmx_ipd_bist_status_cn52xx cnf71xx;
200}; 346};
201 347
202union cvmx_ipd_bp_prt_red_end { 348union cvmx_ipd_bp_prt_red_end {
203 uint64_t u64; 349 uint64_t u64;
204 struct cvmx_ipd_bp_prt_red_end_s { 350 struct cvmx_ipd_bp_prt_red_end_s {
205 uint64_t reserved_44_63:20; 351#ifdef __BIG_ENDIAN_BITFIELD
206 uint64_t prt_enb:44; 352 uint64_t reserved_48_63:16;
353 uint64_t prt_enb:48;
354#else
355 uint64_t prt_enb:48;
356 uint64_t reserved_48_63:16;
357#endif
207 } s; 358 } s;
208 struct cvmx_ipd_bp_prt_red_end_cn30xx { 359 struct cvmx_ipd_bp_prt_red_end_cn30xx {
360#ifdef __BIG_ENDIAN_BITFIELD
209 uint64_t reserved_36_63:28; 361 uint64_t reserved_36_63:28;
210 uint64_t prt_enb:36; 362 uint64_t prt_enb:36;
363#else
364 uint64_t prt_enb:36;
365 uint64_t reserved_36_63:28;
366#endif
211 } cn30xx; 367 } cn30xx;
212 struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx; 368 struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx;
213 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx; 369 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx;
214 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2; 370 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2;
215 struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx; 371 struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx;
216 struct cvmx_ipd_bp_prt_red_end_cn52xx { 372 struct cvmx_ipd_bp_prt_red_end_cn52xx {
373#ifdef __BIG_ENDIAN_BITFIELD
217 uint64_t reserved_40_63:24; 374 uint64_t reserved_40_63:24;
218 uint64_t prt_enb:40; 375 uint64_t prt_enb:40;
376#else
377 uint64_t prt_enb:40;
378 uint64_t reserved_40_63:24;
379#endif
219 } cn52xx; 380 } cn52xx;
220 struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1; 381 struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1;
221 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx; 382 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx;
222 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1; 383 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1;
223 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx; 384 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx;
224 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1; 385 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1;
225 struct cvmx_ipd_bp_prt_red_end_s cn63xx; 386 struct cvmx_ipd_bp_prt_red_end_s cn61xx;
226 struct cvmx_ipd_bp_prt_red_end_s cn63xxp1; 387 struct cvmx_ipd_bp_prt_red_end_cn63xx {
388#ifdef __BIG_ENDIAN_BITFIELD
389 uint64_t reserved_44_63:20;
390 uint64_t prt_enb:44;
391#else
392 uint64_t prt_enb:44;
393 uint64_t reserved_44_63:20;
394#endif
395 } cn63xx;
396 struct cvmx_ipd_bp_prt_red_end_cn63xx cn63xxp1;
397 struct cvmx_ipd_bp_prt_red_end_s cn66xx;
398 struct cvmx_ipd_bp_prt_red_end_s cnf71xx;
399};
400
401union cvmx_ipd_bpidx_mbuf_th {
402 uint64_t u64;
403 struct cvmx_ipd_bpidx_mbuf_th_s {
404#ifdef __BIG_ENDIAN_BITFIELD
405 uint64_t reserved_18_63:46;
406 uint64_t bp_enb:1;
407 uint64_t page_cnt:17;
408#else
409 uint64_t page_cnt:17;
410 uint64_t bp_enb:1;
411 uint64_t reserved_18_63:46;
412#endif
413 } s;
414 struct cvmx_ipd_bpidx_mbuf_th_s cn68xx;
415 struct cvmx_ipd_bpidx_mbuf_th_s cn68xxp1;
416};
417
418union cvmx_ipd_bpid_bp_counterx {
419 uint64_t u64;
420 struct cvmx_ipd_bpid_bp_counterx_s {
421#ifdef __BIG_ENDIAN_BITFIELD
422 uint64_t reserved_25_63:39;
423 uint64_t cnt_val:25;
424#else
425 uint64_t cnt_val:25;
426 uint64_t reserved_25_63:39;
427#endif
428 } s;
429 struct cvmx_ipd_bpid_bp_counterx_s cn68xx;
430 struct cvmx_ipd_bpid_bp_counterx_s cn68xxp1;
227}; 431};
228 432
229union cvmx_ipd_clk_count { 433union cvmx_ipd_clk_count {
230 uint64_t u64; 434 uint64_t u64;
231 struct cvmx_ipd_clk_count_s { 435 struct cvmx_ipd_clk_count_s {
436#ifdef __BIG_ENDIAN_BITFIELD
232 uint64_t clk_cnt:64; 437 uint64_t clk_cnt:64;
438#else
439 uint64_t clk_cnt:64;
440#endif
233 } s; 441 } s;
234 struct cvmx_ipd_clk_count_s cn30xx; 442 struct cvmx_ipd_clk_count_s cn30xx;
235 struct cvmx_ipd_clk_count_s cn31xx; 443 struct cvmx_ipd_clk_count_s cn31xx;
@@ -242,13 +450,36 @@ union cvmx_ipd_clk_count {
242 struct cvmx_ipd_clk_count_s cn56xxp1; 450 struct cvmx_ipd_clk_count_s cn56xxp1;
243 struct cvmx_ipd_clk_count_s cn58xx; 451 struct cvmx_ipd_clk_count_s cn58xx;
244 struct cvmx_ipd_clk_count_s cn58xxp1; 452 struct cvmx_ipd_clk_count_s cn58xxp1;
453 struct cvmx_ipd_clk_count_s cn61xx;
245 struct cvmx_ipd_clk_count_s cn63xx; 454 struct cvmx_ipd_clk_count_s cn63xx;
246 struct cvmx_ipd_clk_count_s cn63xxp1; 455 struct cvmx_ipd_clk_count_s cn63xxp1;
456 struct cvmx_ipd_clk_count_s cn66xx;
457 struct cvmx_ipd_clk_count_s cn68xx;
458 struct cvmx_ipd_clk_count_s cn68xxp1;
459 struct cvmx_ipd_clk_count_s cnf71xx;
460};
461
462union cvmx_ipd_credits {
463 uint64_t u64;
464 struct cvmx_ipd_credits_s {
465#ifdef __BIG_ENDIAN_BITFIELD
466 uint64_t reserved_16_63:48;
467 uint64_t iob_wrc:8;
468 uint64_t iob_wr:8;
469#else
470 uint64_t iob_wr:8;
471 uint64_t iob_wrc:8;
472 uint64_t reserved_16_63:48;
473#endif
474 } s;
475 struct cvmx_ipd_credits_s cn68xx;
476 struct cvmx_ipd_credits_s cn68xxp1;
247}; 477};
248 478
249union cvmx_ipd_ctl_status { 479union cvmx_ipd_ctl_status {
250 uint64_t u64; 480 uint64_t u64;
251 struct cvmx_ipd_ctl_status_s { 481 struct cvmx_ipd_ctl_status_s {
482#ifdef __BIG_ENDIAN_BITFIELD
252 uint64_t reserved_18_63:46; 483 uint64_t reserved_18_63:46;
253 uint64_t use_sop:1; 484 uint64_t use_sop:1;
254 uint64_t rst_done:1; 485 uint64_t rst_done:1;
@@ -267,8 +498,29 @@ union cvmx_ipd_ctl_status {
267 uint64_t pbp_en:1; 498 uint64_t pbp_en:1;
268 uint64_t opc_mode:2; 499 uint64_t opc_mode:2;
269 uint64_t ipd_en:1; 500 uint64_t ipd_en:1;
501#else
502 uint64_t ipd_en:1;
503 uint64_t opc_mode:2;
504 uint64_t pbp_en:1;
505 uint64_t wqe_lend:1;
506 uint64_t pkt_lend:1;
507 uint64_t naddbuf:1;
508 uint64_t addpkt:1;
509 uint64_t reset:1;
510 uint64_t len_m8:1;
511 uint64_t pkt_off:1;
512 uint64_t ipd_full:1;
513 uint64_t pq_nabuf:1;
514 uint64_t pq_apkt:1;
515 uint64_t no_wptr:1;
516 uint64_t clken:1;
517 uint64_t rst_done:1;
518 uint64_t use_sop:1;
519 uint64_t reserved_18_63:46;
520#endif
270 } s; 521 } s;
271 struct cvmx_ipd_ctl_status_cn30xx { 522 struct cvmx_ipd_ctl_status_cn30xx {
523#ifdef __BIG_ENDIAN_BITFIELD
272 uint64_t reserved_10_63:54; 524 uint64_t reserved_10_63:54;
273 uint64_t len_m8:1; 525 uint64_t len_m8:1;
274 uint64_t reset:1; 526 uint64_t reset:1;
@@ -279,10 +531,23 @@ union cvmx_ipd_ctl_status {
279 uint64_t pbp_en:1; 531 uint64_t pbp_en:1;
280 uint64_t opc_mode:2; 532 uint64_t opc_mode:2;
281 uint64_t ipd_en:1; 533 uint64_t ipd_en:1;
534#else
535 uint64_t ipd_en:1;
536 uint64_t opc_mode:2;
537 uint64_t pbp_en:1;
538 uint64_t wqe_lend:1;
539 uint64_t pkt_lend:1;
540 uint64_t naddbuf:1;
541 uint64_t addpkt:1;
542 uint64_t reset:1;
543 uint64_t len_m8:1;
544 uint64_t reserved_10_63:54;
545#endif
282 } cn30xx; 546 } cn30xx;
283 struct cvmx_ipd_ctl_status_cn30xx cn31xx; 547 struct cvmx_ipd_ctl_status_cn30xx cn31xx;
284 struct cvmx_ipd_ctl_status_cn30xx cn38xx; 548 struct cvmx_ipd_ctl_status_cn30xx cn38xx;
285 struct cvmx_ipd_ctl_status_cn38xxp2 { 549 struct cvmx_ipd_ctl_status_cn38xxp2 {
550#ifdef __BIG_ENDIAN_BITFIELD
286 uint64_t reserved_9_63:55; 551 uint64_t reserved_9_63:55;
287 uint64_t reset:1; 552 uint64_t reset:1;
288 uint64_t addpkt:1; 553 uint64_t addpkt:1;
@@ -292,8 +557,20 @@ union cvmx_ipd_ctl_status {
292 uint64_t pbp_en:1; 557 uint64_t pbp_en:1;
293 uint64_t opc_mode:2; 558 uint64_t opc_mode:2;
294 uint64_t ipd_en:1; 559 uint64_t ipd_en:1;
560#else
561 uint64_t ipd_en:1;
562 uint64_t opc_mode:2;
563 uint64_t pbp_en:1;
564 uint64_t wqe_lend:1;
565 uint64_t pkt_lend:1;
566 uint64_t naddbuf:1;
567 uint64_t addpkt:1;
568 uint64_t reset:1;
569 uint64_t reserved_9_63:55;
570#endif
295 } cn38xxp2; 571 } cn38xxp2;
296 struct cvmx_ipd_ctl_status_cn50xx { 572 struct cvmx_ipd_ctl_status_cn50xx {
573#ifdef __BIG_ENDIAN_BITFIELD
297 uint64_t reserved_15_63:49; 574 uint64_t reserved_15_63:49;
298 uint64_t no_wptr:1; 575 uint64_t no_wptr:1;
299 uint64_t pq_apkt:1; 576 uint64_t pq_apkt:1;
@@ -309,12 +586,30 @@ union cvmx_ipd_ctl_status {
309 uint64_t pbp_en:1; 586 uint64_t pbp_en:1;
310 uint64_t opc_mode:2; 587 uint64_t opc_mode:2;
311 uint64_t ipd_en:1; 588 uint64_t ipd_en:1;
589#else
590 uint64_t ipd_en:1;
591 uint64_t opc_mode:2;
592 uint64_t pbp_en:1;
593 uint64_t wqe_lend:1;
594 uint64_t pkt_lend:1;
595 uint64_t naddbuf:1;
596 uint64_t addpkt:1;
597 uint64_t reset:1;
598 uint64_t len_m8:1;
599 uint64_t pkt_off:1;
600 uint64_t ipd_full:1;
601 uint64_t pq_nabuf:1;
602 uint64_t pq_apkt:1;
603 uint64_t no_wptr:1;
604 uint64_t reserved_15_63:49;
605#endif
312 } cn50xx; 606 } cn50xx;
313 struct cvmx_ipd_ctl_status_cn50xx cn52xx; 607 struct cvmx_ipd_ctl_status_cn50xx cn52xx;
314 struct cvmx_ipd_ctl_status_cn50xx cn52xxp1; 608 struct cvmx_ipd_ctl_status_cn50xx cn52xxp1;
315 struct cvmx_ipd_ctl_status_cn50xx cn56xx; 609 struct cvmx_ipd_ctl_status_cn50xx cn56xx;
316 struct cvmx_ipd_ctl_status_cn50xx cn56xxp1; 610 struct cvmx_ipd_ctl_status_cn50xx cn56xxp1;
317 struct cvmx_ipd_ctl_status_cn58xx { 611 struct cvmx_ipd_ctl_status_cn58xx {
612#ifdef __BIG_ENDIAN_BITFIELD
318 uint64_t reserved_12_63:52; 613 uint64_t reserved_12_63:52;
319 uint64_t ipd_full:1; 614 uint64_t ipd_full:1;
320 uint64_t pkt_off:1; 615 uint64_t pkt_off:1;
@@ -327,10 +622,26 @@ union cvmx_ipd_ctl_status {
327 uint64_t pbp_en:1; 622 uint64_t pbp_en:1;
328 uint64_t opc_mode:2; 623 uint64_t opc_mode:2;
329 uint64_t ipd_en:1; 624 uint64_t ipd_en:1;
625#else
626 uint64_t ipd_en:1;
627 uint64_t opc_mode:2;
628 uint64_t pbp_en:1;
629 uint64_t wqe_lend:1;
630 uint64_t pkt_lend:1;
631 uint64_t naddbuf:1;
632 uint64_t addpkt:1;
633 uint64_t reset:1;
634 uint64_t len_m8:1;
635 uint64_t pkt_off:1;
636 uint64_t ipd_full:1;
637 uint64_t reserved_12_63:52;
638#endif
330 } cn58xx; 639 } cn58xx;
331 struct cvmx_ipd_ctl_status_cn58xx cn58xxp1; 640 struct cvmx_ipd_ctl_status_cn58xx cn58xxp1;
641 struct cvmx_ipd_ctl_status_s cn61xx;
332 struct cvmx_ipd_ctl_status_s cn63xx; 642 struct cvmx_ipd_ctl_status_s cn63xx;
333 struct cvmx_ipd_ctl_status_cn63xxp1 { 643 struct cvmx_ipd_ctl_status_cn63xxp1 {
644#ifdef __BIG_ENDIAN_BITFIELD
334 uint64_t reserved_16_63:48; 645 uint64_t reserved_16_63:48;
335 uint64_t clken:1; 646 uint64_t clken:1;
336 uint64_t no_wptr:1; 647 uint64_t no_wptr:1;
@@ -347,13 +658,129 @@ union cvmx_ipd_ctl_status {
347 uint64_t pbp_en:1; 658 uint64_t pbp_en:1;
348 uint64_t opc_mode:2; 659 uint64_t opc_mode:2;
349 uint64_t ipd_en:1; 660 uint64_t ipd_en:1;
661#else
662 uint64_t ipd_en:1;
663 uint64_t opc_mode:2;
664 uint64_t pbp_en:1;
665 uint64_t wqe_lend:1;
666 uint64_t pkt_lend:1;
667 uint64_t naddbuf:1;
668 uint64_t addpkt:1;
669 uint64_t reset:1;
670 uint64_t len_m8:1;
671 uint64_t pkt_off:1;
672 uint64_t ipd_full:1;
673 uint64_t pq_nabuf:1;
674 uint64_t pq_apkt:1;
675 uint64_t no_wptr:1;
676 uint64_t clken:1;
677 uint64_t reserved_16_63:48;
678#endif
350 } cn63xxp1; 679 } cn63xxp1;
680 struct cvmx_ipd_ctl_status_s cn66xx;
681 struct cvmx_ipd_ctl_status_s cn68xx;
682 struct cvmx_ipd_ctl_status_s cn68xxp1;
683 struct cvmx_ipd_ctl_status_s cnf71xx;
684};
685
686union cvmx_ipd_ecc_ctl {
687 uint64_t u64;
688 struct cvmx_ipd_ecc_ctl_s {
689#ifdef __BIG_ENDIAN_BITFIELD
690 uint64_t reserved_8_63:56;
691 uint64_t pm3_syn:2;
692 uint64_t pm2_syn:2;
693 uint64_t pm1_syn:2;
694 uint64_t pm0_syn:2;
695#else
696 uint64_t pm0_syn:2;
697 uint64_t pm1_syn:2;
698 uint64_t pm2_syn:2;
699 uint64_t pm3_syn:2;
700 uint64_t reserved_8_63:56;
701#endif
702 } s;
703 struct cvmx_ipd_ecc_ctl_s cn68xx;
704 struct cvmx_ipd_ecc_ctl_s cn68xxp1;
705};
706
707union cvmx_ipd_free_ptr_fifo_ctl {
708 uint64_t u64;
709 struct cvmx_ipd_free_ptr_fifo_ctl_s {
710#ifdef __BIG_ENDIAN_BITFIELD
711 uint64_t reserved_32_63:32;
712 uint64_t max_cnts:7;
713 uint64_t wraddr:8;
714 uint64_t praddr:8;
715 uint64_t cena:1;
716 uint64_t raddr:8;
717#else
718 uint64_t raddr:8;
719 uint64_t cena:1;
720 uint64_t praddr:8;
721 uint64_t wraddr:8;
722 uint64_t max_cnts:7;
723 uint64_t reserved_32_63:32;
724#endif
725 } s;
726 struct cvmx_ipd_free_ptr_fifo_ctl_s cn68xx;
727 struct cvmx_ipd_free_ptr_fifo_ctl_s cn68xxp1;
728};
729
730union cvmx_ipd_free_ptr_value {
731 uint64_t u64;
732 struct cvmx_ipd_free_ptr_value_s {
733#ifdef __BIG_ENDIAN_BITFIELD
734 uint64_t reserved_33_63:31;
735 uint64_t ptr:33;
736#else
737 uint64_t ptr:33;
738 uint64_t reserved_33_63:31;
739#endif
740 } s;
741 struct cvmx_ipd_free_ptr_value_s cn68xx;
742 struct cvmx_ipd_free_ptr_value_s cn68xxp1;
743};
744
745union cvmx_ipd_hold_ptr_fifo_ctl {
746 uint64_t u64;
747 struct cvmx_ipd_hold_ptr_fifo_ctl_s {
748#ifdef __BIG_ENDIAN_BITFIELD
749 uint64_t reserved_43_63:21;
750 uint64_t ptr:33;
751 uint64_t max_pkt:3;
752 uint64_t praddr:3;
753 uint64_t cena:1;
754 uint64_t raddr:3;
755#else
756 uint64_t raddr:3;
757 uint64_t cena:1;
758 uint64_t praddr:3;
759 uint64_t max_pkt:3;
760 uint64_t ptr:33;
761 uint64_t reserved_43_63:21;
762#endif
763 } s;
764 struct cvmx_ipd_hold_ptr_fifo_ctl_s cn68xx;
765 struct cvmx_ipd_hold_ptr_fifo_ctl_s cn68xxp1;
351}; 766};
352 767
353union cvmx_ipd_int_enb { 768union cvmx_ipd_int_enb {
354 uint64_t u64; 769 uint64_t u64;
355 struct cvmx_ipd_int_enb_s { 770 struct cvmx_ipd_int_enb_s {
356 uint64_t reserved_12_63:52; 771#ifdef __BIG_ENDIAN_BITFIELD
772 uint64_t reserved_23_63:41;
773 uint64_t pw3_dbe:1;
774 uint64_t pw3_sbe:1;
775 uint64_t pw2_dbe:1;
776 uint64_t pw2_sbe:1;
777 uint64_t pw1_dbe:1;
778 uint64_t pw1_sbe:1;
779 uint64_t pw0_dbe:1;
780 uint64_t pw0_sbe:1;
781 uint64_t dat:1;
782 uint64_t eop:1;
783 uint64_t sop:1;
357 uint64_t pq_sub:1; 784 uint64_t pq_sub:1;
358 uint64_t pq_add:1; 785 uint64_t pq_add:1;
359 uint64_t bc_ovr:1; 786 uint64_t bc_ovr:1;
@@ -366,17 +793,53 @@ union cvmx_ipd_int_enb {
366 uint64_t prc_par2:1; 793 uint64_t prc_par2:1;
367 uint64_t prc_par1:1; 794 uint64_t prc_par1:1;
368 uint64_t prc_par0:1; 795 uint64_t prc_par0:1;
796#else
797 uint64_t prc_par0:1;
798 uint64_t prc_par1:1;
799 uint64_t prc_par2:1;
800 uint64_t prc_par3:1;
801 uint64_t bp_sub:1;
802 uint64_t dc_ovr:1;
803 uint64_t cc_ovr:1;
804 uint64_t c_coll:1;
805 uint64_t d_coll:1;
806 uint64_t bc_ovr:1;
807 uint64_t pq_add:1;
808 uint64_t pq_sub:1;
809 uint64_t sop:1;
810 uint64_t eop:1;
811 uint64_t dat:1;
812 uint64_t pw0_sbe:1;
813 uint64_t pw0_dbe:1;
814 uint64_t pw1_sbe:1;
815 uint64_t pw1_dbe:1;
816 uint64_t pw2_sbe:1;
817 uint64_t pw2_dbe:1;
818 uint64_t pw3_sbe:1;
819 uint64_t pw3_dbe:1;
820 uint64_t reserved_23_63:41;
821#endif
369 } s; 822 } s;
370 struct cvmx_ipd_int_enb_cn30xx { 823 struct cvmx_ipd_int_enb_cn30xx {
824#ifdef __BIG_ENDIAN_BITFIELD
371 uint64_t reserved_5_63:59; 825 uint64_t reserved_5_63:59;
372 uint64_t bp_sub:1; 826 uint64_t bp_sub:1;
373 uint64_t prc_par3:1; 827 uint64_t prc_par3:1;
374 uint64_t prc_par2:1; 828 uint64_t prc_par2:1;
375 uint64_t prc_par1:1; 829 uint64_t prc_par1:1;
376 uint64_t prc_par0:1; 830 uint64_t prc_par0:1;
831#else
832 uint64_t prc_par0:1;
833 uint64_t prc_par1:1;
834 uint64_t prc_par2:1;
835 uint64_t prc_par3:1;
836 uint64_t bp_sub:1;
837 uint64_t reserved_5_63:59;
838#endif
377 } cn30xx; 839 } cn30xx;
378 struct cvmx_ipd_int_enb_cn30xx cn31xx; 840 struct cvmx_ipd_int_enb_cn30xx cn31xx;
379 struct cvmx_ipd_int_enb_cn38xx { 841 struct cvmx_ipd_int_enb_cn38xx {
842#ifdef __BIG_ENDIAN_BITFIELD
380 uint64_t reserved_10_63:54; 843 uint64_t reserved_10_63:54;
381 uint64_t bc_ovr:1; 844 uint64_t bc_ovr:1;
382 uint64_t d_coll:1; 845 uint64_t d_coll:1;
@@ -388,23 +851,83 @@ union cvmx_ipd_int_enb {
388 uint64_t prc_par2:1; 851 uint64_t prc_par2:1;
389 uint64_t prc_par1:1; 852 uint64_t prc_par1:1;
390 uint64_t prc_par0:1; 853 uint64_t prc_par0:1;
854#else
855 uint64_t prc_par0:1;
856 uint64_t prc_par1:1;
857 uint64_t prc_par2:1;
858 uint64_t prc_par3:1;
859 uint64_t bp_sub:1;
860 uint64_t dc_ovr:1;
861 uint64_t cc_ovr:1;
862 uint64_t c_coll:1;
863 uint64_t d_coll:1;
864 uint64_t bc_ovr:1;
865 uint64_t reserved_10_63:54;
866#endif
391 } cn38xx; 867 } cn38xx;
392 struct cvmx_ipd_int_enb_cn30xx cn38xxp2; 868 struct cvmx_ipd_int_enb_cn30xx cn38xxp2;
393 struct cvmx_ipd_int_enb_cn38xx cn50xx; 869 struct cvmx_ipd_int_enb_cn38xx cn50xx;
394 struct cvmx_ipd_int_enb_s cn52xx; 870 struct cvmx_ipd_int_enb_cn52xx {
395 struct cvmx_ipd_int_enb_s cn52xxp1; 871#ifdef __BIG_ENDIAN_BITFIELD
396 struct cvmx_ipd_int_enb_s cn56xx; 872 uint64_t reserved_12_63:52;
397 struct cvmx_ipd_int_enb_s cn56xxp1; 873 uint64_t pq_sub:1;
874 uint64_t pq_add:1;
875 uint64_t bc_ovr:1;
876 uint64_t d_coll:1;
877 uint64_t c_coll:1;
878 uint64_t cc_ovr:1;
879 uint64_t dc_ovr:1;
880 uint64_t bp_sub:1;
881 uint64_t prc_par3:1;
882 uint64_t prc_par2:1;
883 uint64_t prc_par1:1;
884 uint64_t prc_par0:1;
885#else
886 uint64_t prc_par0:1;
887 uint64_t prc_par1:1;
888 uint64_t prc_par2:1;
889 uint64_t prc_par3:1;
890 uint64_t bp_sub:1;
891 uint64_t dc_ovr:1;
892 uint64_t cc_ovr:1;
893 uint64_t c_coll:1;
894 uint64_t d_coll:1;
895 uint64_t bc_ovr:1;
896 uint64_t pq_add:1;
897 uint64_t pq_sub:1;
898 uint64_t reserved_12_63:52;
899#endif
900 } cn52xx;
901 struct cvmx_ipd_int_enb_cn52xx cn52xxp1;
902 struct cvmx_ipd_int_enb_cn52xx cn56xx;
903 struct cvmx_ipd_int_enb_cn52xx cn56xxp1;
398 struct cvmx_ipd_int_enb_cn38xx cn58xx; 904 struct cvmx_ipd_int_enb_cn38xx cn58xx;
399 struct cvmx_ipd_int_enb_cn38xx cn58xxp1; 905 struct cvmx_ipd_int_enb_cn38xx cn58xxp1;
400 struct cvmx_ipd_int_enb_s cn63xx; 906 struct cvmx_ipd_int_enb_cn52xx cn61xx;
401 struct cvmx_ipd_int_enb_s cn63xxp1; 907 struct cvmx_ipd_int_enb_cn52xx cn63xx;
908 struct cvmx_ipd_int_enb_cn52xx cn63xxp1;
909 struct cvmx_ipd_int_enb_cn52xx cn66xx;
910 struct cvmx_ipd_int_enb_s cn68xx;
911 struct cvmx_ipd_int_enb_s cn68xxp1;
912 struct cvmx_ipd_int_enb_cn52xx cnf71xx;
402}; 913};
403 914
404union cvmx_ipd_int_sum { 915union cvmx_ipd_int_sum {
405 uint64_t u64; 916 uint64_t u64;
406 struct cvmx_ipd_int_sum_s { 917 struct cvmx_ipd_int_sum_s {
407 uint64_t reserved_12_63:52; 918#ifdef __BIG_ENDIAN_BITFIELD
919 uint64_t reserved_23_63:41;
920 uint64_t pw3_dbe:1;
921 uint64_t pw3_sbe:1;
922 uint64_t pw2_dbe:1;
923 uint64_t pw2_sbe:1;
924 uint64_t pw1_dbe:1;
925 uint64_t pw1_sbe:1;
926 uint64_t pw0_dbe:1;
927 uint64_t pw0_sbe:1;
928 uint64_t dat:1;
929 uint64_t eop:1;
930 uint64_t sop:1;
408 uint64_t pq_sub:1; 931 uint64_t pq_sub:1;
409 uint64_t pq_add:1; 932 uint64_t pq_add:1;
410 uint64_t bc_ovr:1; 933 uint64_t bc_ovr:1;
@@ -417,17 +940,53 @@ union cvmx_ipd_int_sum {
417 uint64_t prc_par2:1; 940 uint64_t prc_par2:1;
418 uint64_t prc_par1:1; 941 uint64_t prc_par1:1;
419 uint64_t prc_par0:1; 942 uint64_t prc_par0:1;
943#else
944 uint64_t prc_par0:1;
945 uint64_t prc_par1:1;
946 uint64_t prc_par2:1;
947 uint64_t prc_par3:1;
948 uint64_t bp_sub:1;
949 uint64_t dc_ovr:1;
950 uint64_t cc_ovr:1;
951 uint64_t c_coll:1;
952 uint64_t d_coll:1;
953 uint64_t bc_ovr:1;
954 uint64_t pq_add:1;
955 uint64_t pq_sub:1;
956 uint64_t sop:1;
957 uint64_t eop:1;
958 uint64_t dat:1;
959 uint64_t pw0_sbe:1;
960 uint64_t pw0_dbe:1;
961 uint64_t pw1_sbe:1;
962 uint64_t pw1_dbe:1;
963 uint64_t pw2_sbe:1;
964 uint64_t pw2_dbe:1;
965 uint64_t pw3_sbe:1;
966 uint64_t pw3_dbe:1;
967 uint64_t reserved_23_63:41;
968#endif
420 } s; 969 } s;
421 struct cvmx_ipd_int_sum_cn30xx { 970 struct cvmx_ipd_int_sum_cn30xx {
971#ifdef __BIG_ENDIAN_BITFIELD
422 uint64_t reserved_5_63:59; 972 uint64_t reserved_5_63:59;
423 uint64_t bp_sub:1; 973 uint64_t bp_sub:1;
424 uint64_t prc_par3:1; 974 uint64_t prc_par3:1;
425 uint64_t prc_par2:1; 975 uint64_t prc_par2:1;
426 uint64_t prc_par1:1; 976 uint64_t prc_par1:1;
427 uint64_t prc_par0:1; 977 uint64_t prc_par0:1;
978#else
979 uint64_t prc_par0:1;
980 uint64_t prc_par1:1;
981 uint64_t prc_par2:1;
982 uint64_t prc_par3:1;
983 uint64_t bp_sub:1;
984 uint64_t reserved_5_63:59;
985#endif
428 } cn30xx; 986 } cn30xx;
429 struct cvmx_ipd_int_sum_cn30xx cn31xx; 987 struct cvmx_ipd_int_sum_cn30xx cn31xx;
430 struct cvmx_ipd_int_sum_cn38xx { 988 struct cvmx_ipd_int_sum_cn38xx {
989#ifdef __BIG_ENDIAN_BITFIELD
431 uint64_t reserved_10_63:54; 990 uint64_t reserved_10_63:54;
432 uint64_t bc_ovr:1; 991 uint64_t bc_ovr:1;
433 uint64_t d_coll:1; 992 uint64_t d_coll:1;
@@ -439,24 +998,107 @@ union cvmx_ipd_int_sum {
439 uint64_t prc_par2:1; 998 uint64_t prc_par2:1;
440 uint64_t prc_par1:1; 999 uint64_t prc_par1:1;
441 uint64_t prc_par0:1; 1000 uint64_t prc_par0:1;
1001#else
1002 uint64_t prc_par0:1;
1003 uint64_t prc_par1:1;
1004 uint64_t prc_par2:1;
1005 uint64_t prc_par3:1;
1006 uint64_t bp_sub:1;
1007 uint64_t dc_ovr:1;
1008 uint64_t cc_ovr:1;
1009 uint64_t c_coll:1;
1010 uint64_t d_coll:1;
1011 uint64_t bc_ovr:1;
1012 uint64_t reserved_10_63:54;
1013#endif
442 } cn38xx; 1014 } cn38xx;
443 struct cvmx_ipd_int_sum_cn30xx cn38xxp2; 1015 struct cvmx_ipd_int_sum_cn30xx cn38xxp2;
444 struct cvmx_ipd_int_sum_cn38xx cn50xx; 1016 struct cvmx_ipd_int_sum_cn38xx cn50xx;
445 struct cvmx_ipd_int_sum_s cn52xx; 1017 struct cvmx_ipd_int_sum_cn52xx {
446 struct cvmx_ipd_int_sum_s cn52xxp1; 1018#ifdef __BIG_ENDIAN_BITFIELD
447 struct cvmx_ipd_int_sum_s cn56xx; 1019 uint64_t reserved_12_63:52;
448 struct cvmx_ipd_int_sum_s cn56xxp1; 1020 uint64_t pq_sub:1;
1021 uint64_t pq_add:1;
1022 uint64_t bc_ovr:1;
1023 uint64_t d_coll:1;
1024 uint64_t c_coll:1;
1025 uint64_t cc_ovr:1;
1026 uint64_t dc_ovr:1;
1027 uint64_t bp_sub:1;
1028 uint64_t prc_par3:1;
1029 uint64_t prc_par2:1;
1030 uint64_t prc_par1:1;
1031 uint64_t prc_par0:1;
1032#else
1033 uint64_t prc_par0:1;
1034 uint64_t prc_par1:1;
1035 uint64_t prc_par2:1;
1036 uint64_t prc_par3:1;
1037 uint64_t bp_sub:1;
1038 uint64_t dc_ovr:1;
1039 uint64_t cc_ovr:1;
1040 uint64_t c_coll:1;
1041 uint64_t d_coll:1;
1042 uint64_t bc_ovr:1;
1043 uint64_t pq_add:1;
1044 uint64_t pq_sub:1;
1045 uint64_t reserved_12_63:52;
1046#endif
1047 } cn52xx;
1048 struct cvmx_ipd_int_sum_cn52xx cn52xxp1;
1049 struct cvmx_ipd_int_sum_cn52xx cn56xx;
1050 struct cvmx_ipd_int_sum_cn52xx cn56xxp1;
449 struct cvmx_ipd_int_sum_cn38xx cn58xx; 1051 struct cvmx_ipd_int_sum_cn38xx cn58xx;
450 struct cvmx_ipd_int_sum_cn38xx cn58xxp1; 1052 struct cvmx_ipd_int_sum_cn38xx cn58xxp1;
451 struct cvmx_ipd_int_sum_s cn63xx; 1053 struct cvmx_ipd_int_sum_cn52xx cn61xx;
452 struct cvmx_ipd_int_sum_s cn63xxp1; 1054 struct cvmx_ipd_int_sum_cn52xx cn63xx;
1055 struct cvmx_ipd_int_sum_cn52xx cn63xxp1;
1056 struct cvmx_ipd_int_sum_cn52xx cn66xx;
1057 struct cvmx_ipd_int_sum_s cn68xx;
1058 struct cvmx_ipd_int_sum_s cn68xxp1;
1059 struct cvmx_ipd_int_sum_cn52xx cnf71xx;
1060};
1061
1062union cvmx_ipd_next_pkt_ptr {
1063 uint64_t u64;
1064 struct cvmx_ipd_next_pkt_ptr_s {
1065#ifdef __BIG_ENDIAN_BITFIELD
1066 uint64_t reserved_33_63:31;
1067 uint64_t ptr:33;
1068#else
1069 uint64_t ptr:33;
1070 uint64_t reserved_33_63:31;
1071#endif
1072 } s;
1073 struct cvmx_ipd_next_pkt_ptr_s cn68xx;
1074 struct cvmx_ipd_next_pkt_ptr_s cn68xxp1;
1075};
1076
1077union cvmx_ipd_next_wqe_ptr {
1078 uint64_t u64;
1079 struct cvmx_ipd_next_wqe_ptr_s {
1080#ifdef __BIG_ENDIAN_BITFIELD
1081 uint64_t reserved_33_63:31;
1082 uint64_t ptr:33;
1083#else
1084 uint64_t ptr:33;
1085 uint64_t reserved_33_63:31;
1086#endif
1087 } s;
1088 struct cvmx_ipd_next_wqe_ptr_s cn68xx;
1089 struct cvmx_ipd_next_wqe_ptr_s cn68xxp1;
453}; 1090};
454 1091
455union cvmx_ipd_not_1st_mbuff_skip { 1092union cvmx_ipd_not_1st_mbuff_skip {
456 uint64_t u64; 1093 uint64_t u64;
457 struct cvmx_ipd_not_1st_mbuff_skip_s { 1094 struct cvmx_ipd_not_1st_mbuff_skip_s {
1095#ifdef __BIG_ENDIAN_BITFIELD
458 uint64_t reserved_6_63:58; 1096 uint64_t reserved_6_63:58;
459 uint64_t skip_sz:6; 1097 uint64_t skip_sz:6;
1098#else
1099 uint64_t skip_sz:6;
1100 uint64_t reserved_6_63:58;
1101#endif
460 } s; 1102 } s;
461 struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx; 1103 struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx;
462 struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx; 1104 struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx;
@@ -469,15 +1111,38 @@ union cvmx_ipd_not_1st_mbuff_skip {
469 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1; 1111 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1;
470 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx; 1112 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx;
471 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1; 1113 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1;
1114 struct cvmx_ipd_not_1st_mbuff_skip_s cn61xx;
472 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx; 1115 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx;
473 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xxp1; 1116 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xxp1;
1117 struct cvmx_ipd_not_1st_mbuff_skip_s cn66xx;
1118 struct cvmx_ipd_not_1st_mbuff_skip_s cn68xx;
1119 struct cvmx_ipd_not_1st_mbuff_skip_s cn68xxp1;
1120 struct cvmx_ipd_not_1st_mbuff_skip_s cnf71xx;
1121};
1122
1123union cvmx_ipd_on_bp_drop_pktx {
1124 uint64_t u64;
1125 struct cvmx_ipd_on_bp_drop_pktx_s {
1126#ifdef __BIG_ENDIAN_BITFIELD
1127 uint64_t prt_enb:64;
1128#else
1129 uint64_t prt_enb:64;
1130#endif
1131 } s;
1132 struct cvmx_ipd_on_bp_drop_pktx_s cn68xx;
1133 struct cvmx_ipd_on_bp_drop_pktx_s cn68xxp1;
474}; 1134};
475 1135
476union cvmx_ipd_packet_mbuff_size { 1136union cvmx_ipd_packet_mbuff_size {
477 uint64_t u64; 1137 uint64_t u64;
478 struct cvmx_ipd_packet_mbuff_size_s { 1138 struct cvmx_ipd_packet_mbuff_size_s {
1139#ifdef __BIG_ENDIAN_BITFIELD
479 uint64_t reserved_12_63:52; 1140 uint64_t reserved_12_63:52;
480 uint64_t mb_size:12; 1141 uint64_t mb_size:12;
1142#else
1143 uint64_t mb_size:12;
1144 uint64_t reserved_12_63:52;
1145#endif
481 } s; 1146 } s;
482 struct cvmx_ipd_packet_mbuff_size_s cn30xx; 1147 struct cvmx_ipd_packet_mbuff_size_s cn30xx;
483 struct cvmx_ipd_packet_mbuff_size_s cn31xx; 1148 struct cvmx_ipd_packet_mbuff_size_s cn31xx;
@@ -490,15 +1155,40 @@ union cvmx_ipd_packet_mbuff_size {
490 struct cvmx_ipd_packet_mbuff_size_s cn56xxp1; 1155 struct cvmx_ipd_packet_mbuff_size_s cn56xxp1;
491 struct cvmx_ipd_packet_mbuff_size_s cn58xx; 1156 struct cvmx_ipd_packet_mbuff_size_s cn58xx;
492 struct cvmx_ipd_packet_mbuff_size_s cn58xxp1; 1157 struct cvmx_ipd_packet_mbuff_size_s cn58xxp1;
1158 struct cvmx_ipd_packet_mbuff_size_s cn61xx;
493 struct cvmx_ipd_packet_mbuff_size_s cn63xx; 1159 struct cvmx_ipd_packet_mbuff_size_s cn63xx;
494 struct cvmx_ipd_packet_mbuff_size_s cn63xxp1; 1160 struct cvmx_ipd_packet_mbuff_size_s cn63xxp1;
1161 struct cvmx_ipd_packet_mbuff_size_s cn66xx;
1162 struct cvmx_ipd_packet_mbuff_size_s cn68xx;
1163 struct cvmx_ipd_packet_mbuff_size_s cn68xxp1;
1164 struct cvmx_ipd_packet_mbuff_size_s cnf71xx;
1165};
1166
1167union cvmx_ipd_pkt_err {
1168 uint64_t u64;
1169 struct cvmx_ipd_pkt_err_s {
1170#ifdef __BIG_ENDIAN_BITFIELD
1171 uint64_t reserved_6_63:58;
1172 uint64_t reasm:6;
1173#else
1174 uint64_t reasm:6;
1175 uint64_t reserved_6_63:58;
1176#endif
1177 } s;
1178 struct cvmx_ipd_pkt_err_s cn68xx;
1179 struct cvmx_ipd_pkt_err_s cn68xxp1;
495}; 1180};
496 1181
497union cvmx_ipd_pkt_ptr_valid { 1182union cvmx_ipd_pkt_ptr_valid {
498 uint64_t u64; 1183 uint64_t u64;
499 struct cvmx_ipd_pkt_ptr_valid_s { 1184 struct cvmx_ipd_pkt_ptr_valid_s {
1185#ifdef __BIG_ENDIAN_BITFIELD
500 uint64_t reserved_29_63:35; 1186 uint64_t reserved_29_63:35;
501 uint64_t ptr:29; 1187 uint64_t ptr:29;
1188#else
1189 uint64_t ptr:29;
1190 uint64_t reserved_29_63:35;
1191#endif
502 } s; 1192 } s;
503 struct cvmx_ipd_pkt_ptr_valid_s cn30xx; 1193 struct cvmx_ipd_pkt_ptr_valid_s cn30xx;
504 struct cvmx_ipd_pkt_ptr_valid_s cn31xx; 1194 struct cvmx_ipd_pkt_ptr_valid_s cn31xx;
@@ -510,16 +1200,25 @@ union cvmx_ipd_pkt_ptr_valid {
510 struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1; 1200 struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1;
511 struct cvmx_ipd_pkt_ptr_valid_s cn58xx; 1201 struct cvmx_ipd_pkt_ptr_valid_s cn58xx;
512 struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1; 1202 struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1;
1203 struct cvmx_ipd_pkt_ptr_valid_s cn61xx;
513 struct cvmx_ipd_pkt_ptr_valid_s cn63xx; 1204 struct cvmx_ipd_pkt_ptr_valid_s cn63xx;
514 struct cvmx_ipd_pkt_ptr_valid_s cn63xxp1; 1205 struct cvmx_ipd_pkt_ptr_valid_s cn63xxp1;
1206 struct cvmx_ipd_pkt_ptr_valid_s cn66xx;
1207 struct cvmx_ipd_pkt_ptr_valid_s cnf71xx;
515}; 1208};
516 1209
517union cvmx_ipd_portx_bp_page_cnt { 1210union cvmx_ipd_portx_bp_page_cnt {
518 uint64_t u64; 1211 uint64_t u64;
519 struct cvmx_ipd_portx_bp_page_cnt_s { 1212 struct cvmx_ipd_portx_bp_page_cnt_s {
1213#ifdef __BIG_ENDIAN_BITFIELD
520 uint64_t reserved_18_63:46; 1214 uint64_t reserved_18_63:46;
521 uint64_t bp_enb:1; 1215 uint64_t bp_enb:1;
522 uint64_t page_cnt:17; 1216 uint64_t page_cnt:17;
1217#else
1218 uint64_t page_cnt:17;
1219 uint64_t bp_enb:1;
1220 uint64_t reserved_18_63:46;
1221#endif
523 } s; 1222 } s;
524 struct cvmx_ipd_portx_bp_page_cnt_s cn30xx; 1223 struct cvmx_ipd_portx_bp_page_cnt_s cn30xx;
525 struct cvmx_ipd_portx_bp_page_cnt_s cn31xx; 1224 struct cvmx_ipd_portx_bp_page_cnt_s cn31xx;
@@ -532,65 +1231,123 @@ union cvmx_ipd_portx_bp_page_cnt {
532 struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1; 1231 struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1;
533 struct cvmx_ipd_portx_bp_page_cnt_s cn58xx; 1232 struct cvmx_ipd_portx_bp_page_cnt_s cn58xx;
534 struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1; 1233 struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1;
1234 struct cvmx_ipd_portx_bp_page_cnt_s cn61xx;
535 struct cvmx_ipd_portx_bp_page_cnt_s cn63xx; 1235 struct cvmx_ipd_portx_bp_page_cnt_s cn63xx;
536 struct cvmx_ipd_portx_bp_page_cnt_s cn63xxp1; 1236 struct cvmx_ipd_portx_bp_page_cnt_s cn63xxp1;
1237 struct cvmx_ipd_portx_bp_page_cnt_s cn66xx;
1238 struct cvmx_ipd_portx_bp_page_cnt_s cnf71xx;
537}; 1239};
538 1240
539union cvmx_ipd_portx_bp_page_cnt2 { 1241union cvmx_ipd_portx_bp_page_cnt2 {
540 uint64_t u64; 1242 uint64_t u64;
541 struct cvmx_ipd_portx_bp_page_cnt2_s { 1243 struct cvmx_ipd_portx_bp_page_cnt2_s {
1244#ifdef __BIG_ENDIAN_BITFIELD
542 uint64_t reserved_18_63:46; 1245 uint64_t reserved_18_63:46;
543 uint64_t bp_enb:1; 1246 uint64_t bp_enb:1;
544 uint64_t page_cnt:17; 1247 uint64_t page_cnt:17;
1248#else
1249 uint64_t page_cnt:17;
1250 uint64_t bp_enb:1;
1251 uint64_t reserved_18_63:46;
1252#endif
545 } s; 1253 } s;
546 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx; 1254 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx;
547 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1; 1255 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1;
548 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx; 1256 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx;
549 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1; 1257 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1;
1258 struct cvmx_ipd_portx_bp_page_cnt2_s cn61xx;
550 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx; 1259 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx;
551 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xxp1; 1260 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xxp1;
1261 struct cvmx_ipd_portx_bp_page_cnt2_s cn66xx;
1262 struct cvmx_ipd_portx_bp_page_cnt2_s cnf71xx;
552}; 1263};
553 1264
554union cvmx_ipd_portx_bp_page_cnt3 { 1265union cvmx_ipd_portx_bp_page_cnt3 {
555 uint64_t u64; 1266 uint64_t u64;
556 struct cvmx_ipd_portx_bp_page_cnt3_s { 1267 struct cvmx_ipd_portx_bp_page_cnt3_s {
1268#ifdef __BIG_ENDIAN_BITFIELD
557 uint64_t reserved_18_63:46; 1269 uint64_t reserved_18_63:46;
558 uint64_t bp_enb:1; 1270 uint64_t bp_enb:1;
559 uint64_t page_cnt:17; 1271 uint64_t page_cnt:17;
1272#else
1273 uint64_t page_cnt:17;
1274 uint64_t bp_enb:1;
1275 uint64_t reserved_18_63:46;
1276#endif
560 } s; 1277 } s;
1278 struct cvmx_ipd_portx_bp_page_cnt3_s cn61xx;
561 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx; 1279 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx;
562 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xxp1; 1280 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xxp1;
1281 struct cvmx_ipd_portx_bp_page_cnt3_s cn66xx;
1282 struct cvmx_ipd_portx_bp_page_cnt3_s cnf71xx;
563}; 1283};
564 1284
565union cvmx_ipd_port_bp_counters2_pairx { 1285union cvmx_ipd_port_bp_counters2_pairx {
566 uint64_t u64; 1286 uint64_t u64;
567 struct cvmx_ipd_port_bp_counters2_pairx_s { 1287 struct cvmx_ipd_port_bp_counters2_pairx_s {
1288#ifdef __BIG_ENDIAN_BITFIELD
568 uint64_t reserved_25_63:39; 1289 uint64_t reserved_25_63:39;
569 uint64_t cnt_val:25; 1290 uint64_t cnt_val:25;
1291#else
1292 uint64_t cnt_val:25;
1293 uint64_t reserved_25_63:39;
1294#endif
570 } s; 1295 } s;
571 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx; 1296 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx;
572 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1; 1297 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1;
573 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx; 1298 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx;
574 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1; 1299 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1;
1300 struct cvmx_ipd_port_bp_counters2_pairx_s cn61xx;
575 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx; 1301 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx;
576 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xxp1; 1302 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xxp1;
1303 struct cvmx_ipd_port_bp_counters2_pairx_s cn66xx;
1304 struct cvmx_ipd_port_bp_counters2_pairx_s cnf71xx;
577}; 1305};
578 1306
579union cvmx_ipd_port_bp_counters3_pairx { 1307union cvmx_ipd_port_bp_counters3_pairx {
580 uint64_t u64; 1308 uint64_t u64;
581 struct cvmx_ipd_port_bp_counters3_pairx_s { 1309 struct cvmx_ipd_port_bp_counters3_pairx_s {
1310#ifdef __BIG_ENDIAN_BITFIELD
582 uint64_t reserved_25_63:39; 1311 uint64_t reserved_25_63:39;
583 uint64_t cnt_val:25; 1312 uint64_t cnt_val:25;
1313#else
1314 uint64_t cnt_val:25;
1315 uint64_t reserved_25_63:39;
1316#endif
584 } s; 1317 } s;
1318 struct cvmx_ipd_port_bp_counters3_pairx_s cn61xx;
585 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx; 1319 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx;
586 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xxp1; 1320 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xxp1;
1321 struct cvmx_ipd_port_bp_counters3_pairx_s cn66xx;
1322 struct cvmx_ipd_port_bp_counters3_pairx_s cnf71xx;
1323};
1324
1325union cvmx_ipd_port_bp_counters4_pairx {
1326 uint64_t u64;
1327 struct cvmx_ipd_port_bp_counters4_pairx_s {
1328#ifdef __BIG_ENDIAN_BITFIELD
1329 uint64_t reserved_25_63:39;
1330 uint64_t cnt_val:25;
1331#else
1332 uint64_t cnt_val:25;
1333 uint64_t reserved_25_63:39;
1334#endif
1335 } s;
1336 struct cvmx_ipd_port_bp_counters4_pairx_s cn61xx;
1337 struct cvmx_ipd_port_bp_counters4_pairx_s cn66xx;
1338 struct cvmx_ipd_port_bp_counters4_pairx_s cnf71xx;
587}; 1339};
588 1340
589union cvmx_ipd_port_bp_counters_pairx { 1341union cvmx_ipd_port_bp_counters_pairx {
590 uint64_t u64; 1342 uint64_t u64;
591 struct cvmx_ipd_port_bp_counters_pairx_s { 1343 struct cvmx_ipd_port_bp_counters_pairx_s {
1344#ifdef __BIG_ENDIAN_BITFIELD
592 uint64_t reserved_25_63:39; 1345 uint64_t reserved_25_63:39;
593 uint64_t cnt_val:25; 1346 uint64_t cnt_val:25;
1347#else
1348 uint64_t cnt_val:25;
1349 uint64_t reserved_25_63:39;
1350#endif
594 } s; 1351 } s;
595 struct cvmx_ipd_port_bp_counters_pairx_s cn30xx; 1352 struct cvmx_ipd_port_bp_counters_pairx_s cn30xx;
596 struct cvmx_ipd_port_bp_counters_pairx_s cn31xx; 1353 struct cvmx_ipd_port_bp_counters_pairx_s cn31xx;
@@ -603,59 +1360,133 @@ union cvmx_ipd_port_bp_counters_pairx {
603 struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1; 1360 struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1;
604 struct cvmx_ipd_port_bp_counters_pairx_s cn58xx; 1361 struct cvmx_ipd_port_bp_counters_pairx_s cn58xx;
605 struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1; 1362 struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1;
1363 struct cvmx_ipd_port_bp_counters_pairx_s cn61xx;
606 struct cvmx_ipd_port_bp_counters_pairx_s cn63xx; 1364 struct cvmx_ipd_port_bp_counters_pairx_s cn63xx;
607 struct cvmx_ipd_port_bp_counters_pairx_s cn63xxp1; 1365 struct cvmx_ipd_port_bp_counters_pairx_s cn63xxp1;
1366 struct cvmx_ipd_port_bp_counters_pairx_s cn66xx;
1367 struct cvmx_ipd_port_bp_counters_pairx_s cnf71xx;
1368};
1369
1370union cvmx_ipd_port_ptr_fifo_ctl {
1371 uint64_t u64;
1372 struct cvmx_ipd_port_ptr_fifo_ctl_s {
1373#ifdef __BIG_ENDIAN_BITFIELD
1374 uint64_t reserved_48_63:16;
1375 uint64_t ptr:33;
1376 uint64_t max_pkt:7;
1377 uint64_t cena:1;
1378 uint64_t raddr:7;
1379#else
1380 uint64_t raddr:7;
1381 uint64_t cena:1;
1382 uint64_t max_pkt:7;
1383 uint64_t ptr:33;
1384 uint64_t reserved_48_63:16;
1385#endif
1386 } s;
1387 struct cvmx_ipd_port_ptr_fifo_ctl_s cn68xx;
1388 struct cvmx_ipd_port_ptr_fifo_ctl_s cn68xxp1;
608}; 1389};
609 1390
610union cvmx_ipd_port_qos_x_cnt { 1391union cvmx_ipd_port_qos_x_cnt {
611 uint64_t u64; 1392 uint64_t u64;
612 struct cvmx_ipd_port_qos_x_cnt_s { 1393 struct cvmx_ipd_port_qos_x_cnt_s {
1394#ifdef __BIG_ENDIAN_BITFIELD
613 uint64_t wmark:32; 1395 uint64_t wmark:32;
614 uint64_t cnt:32; 1396 uint64_t cnt:32;
1397#else
1398 uint64_t cnt:32;
1399 uint64_t wmark:32;
1400#endif
615 } s; 1401 } s;
616 struct cvmx_ipd_port_qos_x_cnt_s cn52xx; 1402 struct cvmx_ipd_port_qos_x_cnt_s cn52xx;
617 struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1; 1403 struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1;
618 struct cvmx_ipd_port_qos_x_cnt_s cn56xx; 1404 struct cvmx_ipd_port_qos_x_cnt_s cn56xx;
619 struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1; 1405 struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1;
1406 struct cvmx_ipd_port_qos_x_cnt_s cn61xx;
620 struct cvmx_ipd_port_qos_x_cnt_s cn63xx; 1407 struct cvmx_ipd_port_qos_x_cnt_s cn63xx;
621 struct cvmx_ipd_port_qos_x_cnt_s cn63xxp1; 1408 struct cvmx_ipd_port_qos_x_cnt_s cn63xxp1;
1409 struct cvmx_ipd_port_qos_x_cnt_s cn66xx;
1410 struct cvmx_ipd_port_qos_x_cnt_s cn68xx;
1411 struct cvmx_ipd_port_qos_x_cnt_s cn68xxp1;
1412 struct cvmx_ipd_port_qos_x_cnt_s cnf71xx;
622}; 1413};
623 1414
624union cvmx_ipd_port_qos_intx { 1415union cvmx_ipd_port_qos_intx {
625 uint64_t u64; 1416 uint64_t u64;
626 struct cvmx_ipd_port_qos_intx_s { 1417 struct cvmx_ipd_port_qos_intx_s {
1418#ifdef __BIG_ENDIAN_BITFIELD
1419 uint64_t intr:64;
1420#else
627 uint64_t intr:64; 1421 uint64_t intr:64;
1422#endif
628 } s; 1423 } s;
629 struct cvmx_ipd_port_qos_intx_s cn52xx; 1424 struct cvmx_ipd_port_qos_intx_s cn52xx;
630 struct cvmx_ipd_port_qos_intx_s cn52xxp1; 1425 struct cvmx_ipd_port_qos_intx_s cn52xxp1;
631 struct cvmx_ipd_port_qos_intx_s cn56xx; 1426 struct cvmx_ipd_port_qos_intx_s cn56xx;
632 struct cvmx_ipd_port_qos_intx_s cn56xxp1; 1427 struct cvmx_ipd_port_qos_intx_s cn56xxp1;
1428 struct cvmx_ipd_port_qos_intx_s cn61xx;
633 struct cvmx_ipd_port_qos_intx_s cn63xx; 1429 struct cvmx_ipd_port_qos_intx_s cn63xx;
634 struct cvmx_ipd_port_qos_intx_s cn63xxp1; 1430 struct cvmx_ipd_port_qos_intx_s cn63xxp1;
1431 struct cvmx_ipd_port_qos_intx_s cn66xx;
1432 struct cvmx_ipd_port_qos_intx_s cn68xx;
1433 struct cvmx_ipd_port_qos_intx_s cn68xxp1;
1434 struct cvmx_ipd_port_qos_intx_s cnf71xx;
635}; 1435};
636 1436
637union cvmx_ipd_port_qos_int_enbx { 1437union cvmx_ipd_port_qos_int_enbx {
638 uint64_t u64; 1438 uint64_t u64;
639 struct cvmx_ipd_port_qos_int_enbx_s { 1439 struct cvmx_ipd_port_qos_int_enbx_s {
1440#ifdef __BIG_ENDIAN_BITFIELD
1441 uint64_t enb:64;
1442#else
640 uint64_t enb:64; 1443 uint64_t enb:64;
1444#endif
641 } s; 1445 } s;
642 struct cvmx_ipd_port_qos_int_enbx_s cn52xx; 1446 struct cvmx_ipd_port_qos_int_enbx_s cn52xx;
643 struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1; 1447 struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1;
644 struct cvmx_ipd_port_qos_int_enbx_s cn56xx; 1448 struct cvmx_ipd_port_qos_int_enbx_s cn56xx;
645 struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1; 1449 struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1;
1450 struct cvmx_ipd_port_qos_int_enbx_s cn61xx;
646 struct cvmx_ipd_port_qos_int_enbx_s cn63xx; 1451 struct cvmx_ipd_port_qos_int_enbx_s cn63xx;
647 struct cvmx_ipd_port_qos_int_enbx_s cn63xxp1; 1452 struct cvmx_ipd_port_qos_int_enbx_s cn63xxp1;
1453 struct cvmx_ipd_port_qos_int_enbx_s cn66xx;
1454 struct cvmx_ipd_port_qos_int_enbx_s cn68xx;
1455 struct cvmx_ipd_port_qos_int_enbx_s cn68xxp1;
1456 struct cvmx_ipd_port_qos_int_enbx_s cnf71xx;
1457};
1458
1459union cvmx_ipd_port_sopx {
1460 uint64_t u64;
1461 struct cvmx_ipd_port_sopx_s {
1462#ifdef __BIG_ENDIAN_BITFIELD
1463 uint64_t sop:64;
1464#else
1465 uint64_t sop:64;
1466#endif
1467 } s;
1468 struct cvmx_ipd_port_sopx_s cn68xx;
1469 struct cvmx_ipd_port_sopx_s cn68xxp1;
648}; 1470};
649 1471
650union cvmx_ipd_prc_hold_ptr_fifo_ctl { 1472union cvmx_ipd_prc_hold_ptr_fifo_ctl {
651 uint64_t u64; 1473 uint64_t u64;
652 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s { 1474 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s {
1475#ifdef __BIG_ENDIAN_BITFIELD
653 uint64_t reserved_39_63:25; 1476 uint64_t reserved_39_63:25;
654 uint64_t max_pkt:3; 1477 uint64_t max_pkt:3;
655 uint64_t praddr:3; 1478 uint64_t praddr:3;
656 uint64_t ptr:29; 1479 uint64_t ptr:29;
657 uint64_t cena:1; 1480 uint64_t cena:1;
658 uint64_t raddr:3; 1481 uint64_t raddr:3;
1482#else
1483 uint64_t raddr:3;
1484 uint64_t cena:1;
1485 uint64_t ptr:29;
1486 uint64_t praddr:3;
1487 uint64_t max_pkt:3;
1488 uint64_t reserved_39_63:25;
1489#endif
659 } s; 1490 } s;
660 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx; 1491 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx;
661 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx; 1492 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx;
@@ -667,18 +1498,29 @@ union cvmx_ipd_prc_hold_ptr_fifo_ctl {
667 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1; 1498 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1;
668 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx; 1499 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx;
669 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1; 1500 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1;
1501 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn61xx;
670 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx; 1502 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx;
671 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xxp1; 1503 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xxp1;
1504 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn66xx;
1505 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cnf71xx;
672}; 1506};
673 1507
674union cvmx_ipd_prc_port_ptr_fifo_ctl { 1508union cvmx_ipd_prc_port_ptr_fifo_ctl {
675 uint64_t u64; 1509 uint64_t u64;
676 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s { 1510 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s {
1511#ifdef __BIG_ENDIAN_BITFIELD
677 uint64_t reserved_44_63:20; 1512 uint64_t reserved_44_63:20;
678 uint64_t max_pkt:7; 1513 uint64_t max_pkt:7;
679 uint64_t ptr:29; 1514 uint64_t ptr:29;
680 uint64_t cena:1; 1515 uint64_t cena:1;
681 uint64_t raddr:7; 1516 uint64_t raddr:7;
1517#else
1518 uint64_t raddr:7;
1519 uint64_t cena:1;
1520 uint64_t ptr:29;
1521 uint64_t max_pkt:7;
1522 uint64_t reserved_44_63:20;
1523#endif
682 } s; 1524 } s;
683 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx; 1525 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx;
684 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx; 1526 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx;
@@ -690,19 +1532,31 @@ union cvmx_ipd_prc_port_ptr_fifo_ctl {
690 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1; 1532 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1;
691 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx; 1533 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx;
692 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1; 1534 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1;
1535 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn61xx;
693 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx; 1536 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx;
694 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xxp1; 1537 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xxp1;
1538 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn66xx;
1539 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cnf71xx;
695}; 1540};
696 1541
697union cvmx_ipd_ptr_count { 1542union cvmx_ipd_ptr_count {
698 uint64_t u64; 1543 uint64_t u64;
699 struct cvmx_ipd_ptr_count_s { 1544 struct cvmx_ipd_ptr_count_s {
1545#ifdef __BIG_ENDIAN_BITFIELD
700 uint64_t reserved_19_63:45; 1546 uint64_t reserved_19_63:45;
701 uint64_t pktv_cnt:1; 1547 uint64_t pktv_cnt:1;
702 uint64_t wqev_cnt:1; 1548 uint64_t wqev_cnt:1;
703 uint64_t pfif_cnt:3; 1549 uint64_t pfif_cnt:3;
704 uint64_t pkt_pcnt:7; 1550 uint64_t pkt_pcnt:7;
705 uint64_t wqe_pcnt:7; 1551 uint64_t wqe_pcnt:7;
1552#else
1553 uint64_t wqe_pcnt:7;
1554 uint64_t pkt_pcnt:7;
1555 uint64_t pfif_cnt:3;
1556 uint64_t wqev_cnt:1;
1557 uint64_t pktv_cnt:1;
1558 uint64_t reserved_19_63:45;
1559#endif
706 } s; 1560 } s;
707 struct cvmx_ipd_ptr_count_s cn30xx; 1561 struct cvmx_ipd_ptr_count_s cn30xx;
708 struct cvmx_ipd_ptr_count_s cn31xx; 1562 struct cvmx_ipd_ptr_count_s cn31xx;
@@ -715,13 +1569,19 @@ union cvmx_ipd_ptr_count {
715 struct cvmx_ipd_ptr_count_s cn56xxp1; 1569 struct cvmx_ipd_ptr_count_s cn56xxp1;
716 struct cvmx_ipd_ptr_count_s cn58xx; 1570 struct cvmx_ipd_ptr_count_s cn58xx;
717 struct cvmx_ipd_ptr_count_s cn58xxp1; 1571 struct cvmx_ipd_ptr_count_s cn58xxp1;
1572 struct cvmx_ipd_ptr_count_s cn61xx;
718 struct cvmx_ipd_ptr_count_s cn63xx; 1573 struct cvmx_ipd_ptr_count_s cn63xx;
719 struct cvmx_ipd_ptr_count_s cn63xxp1; 1574 struct cvmx_ipd_ptr_count_s cn63xxp1;
1575 struct cvmx_ipd_ptr_count_s cn66xx;
1576 struct cvmx_ipd_ptr_count_s cn68xx;
1577 struct cvmx_ipd_ptr_count_s cn68xxp1;
1578 struct cvmx_ipd_ptr_count_s cnf71xx;
720}; 1579};
721 1580
722union cvmx_ipd_pwp_ptr_fifo_ctl { 1581union cvmx_ipd_pwp_ptr_fifo_ctl {
723 uint64_t u64; 1582 uint64_t u64;
724 struct cvmx_ipd_pwp_ptr_fifo_ctl_s { 1583 struct cvmx_ipd_pwp_ptr_fifo_ctl_s {
1584#ifdef __BIG_ENDIAN_BITFIELD
725 uint64_t reserved_61_63:3; 1585 uint64_t reserved_61_63:3;
726 uint64_t max_cnts:7; 1586 uint64_t max_cnts:7;
727 uint64_t wraddr:8; 1587 uint64_t wraddr:8;
@@ -729,6 +1589,15 @@ union cvmx_ipd_pwp_ptr_fifo_ctl {
729 uint64_t ptr:29; 1589 uint64_t ptr:29;
730 uint64_t cena:1; 1590 uint64_t cena:1;
731 uint64_t raddr:8; 1591 uint64_t raddr:8;
1592#else
1593 uint64_t raddr:8;
1594 uint64_t cena:1;
1595 uint64_t ptr:29;
1596 uint64_t praddr:8;
1597 uint64_t wraddr:8;
1598 uint64_t max_cnts:7;
1599 uint64_t reserved_61_63:3;
1600#endif
732 } s; 1601 } s;
733 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx; 1602 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx;
734 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx; 1603 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx;
@@ -740,15 +1609,23 @@ union cvmx_ipd_pwp_ptr_fifo_ctl {
740 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1; 1609 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1;
741 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx; 1610 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx;
742 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1; 1611 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1;
1612 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn61xx;
743 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx; 1613 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx;
744 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xxp1; 1614 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xxp1;
1615 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn66xx;
1616 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cnf71xx;
745}; 1617};
746 1618
747union cvmx_ipd_qosx_red_marks { 1619union cvmx_ipd_qosx_red_marks {
748 uint64_t u64; 1620 uint64_t u64;
749 struct cvmx_ipd_qosx_red_marks_s { 1621 struct cvmx_ipd_qosx_red_marks_s {
1622#ifdef __BIG_ENDIAN_BITFIELD
750 uint64_t drop:32; 1623 uint64_t drop:32;
751 uint64_t pass:32; 1624 uint64_t pass:32;
1625#else
1626 uint64_t pass:32;
1627 uint64_t drop:32;
1628#endif
752 } s; 1629 } s;
753 struct cvmx_ipd_qosx_red_marks_s cn30xx; 1630 struct cvmx_ipd_qosx_red_marks_s cn30xx;
754 struct cvmx_ipd_qosx_red_marks_s cn31xx; 1631 struct cvmx_ipd_qosx_red_marks_s cn31xx;
@@ -761,15 +1638,25 @@ union cvmx_ipd_qosx_red_marks {
761 struct cvmx_ipd_qosx_red_marks_s cn56xxp1; 1638 struct cvmx_ipd_qosx_red_marks_s cn56xxp1;
762 struct cvmx_ipd_qosx_red_marks_s cn58xx; 1639 struct cvmx_ipd_qosx_red_marks_s cn58xx;
763 struct cvmx_ipd_qosx_red_marks_s cn58xxp1; 1640 struct cvmx_ipd_qosx_red_marks_s cn58xxp1;
1641 struct cvmx_ipd_qosx_red_marks_s cn61xx;
764 struct cvmx_ipd_qosx_red_marks_s cn63xx; 1642 struct cvmx_ipd_qosx_red_marks_s cn63xx;
765 struct cvmx_ipd_qosx_red_marks_s cn63xxp1; 1643 struct cvmx_ipd_qosx_red_marks_s cn63xxp1;
1644 struct cvmx_ipd_qosx_red_marks_s cn66xx;
1645 struct cvmx_ipd_qosx_red_marks_s cn68xx;
1646 struct cvmx_ipd_qosx_red_marks_s cn68xxp1;
1647 struct cvmx_ipd_qosx_red_marks_s cnf71xx;
766}; 1648};
767 1649
768union cvmx_ipd_que0_free_page_cnt { 1650union cvmx_ipd_que0_free_page_cnt {
769 uint64_t u64; 1651 uint64_t u64;
770 struct cvmx_ipd_que0_free_page_cnt_s { 1652 struct cvmx_ipd_que0_free_page_cnt_s {
1653#ifdef __BIG_ENDIAN_BITFIELD
771 uint64_t reserved_32_63:32; 1654 uint64_t reserved_32_63:32;
772 uint64_t q0_pcnt:32; 1655 uint64_t q0_pcnt:32;
1656#else
1657 uint64_t q0_pcnt:32;
1658 uint64_t reserved_32_63:32;
1659#endif
773 } s; 1660 } s;
774 struct cvmx_ipd_que0_free_page_cnt_s cn30xx; 1661 struct cvmx_ipd_que0_free_page_cnt_s cn30xx;
775 struct cvmx_ipd_que0_free_page_cnt_s cn31xx; 1662 struct cvmx_ipd_que0_free_page_cnt_s cn31xx;
@@ -782,16 +1669,57 @@ union cvmx_ipd_que0_free_page_cnt {
782 struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1; 1669 struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1;
783 struct cvmx_ipd_que0_free_page_cnt_s cn58xx; 1670 struct cvmx_ipd_que0_free_page_cnt_s cn58xx;
784 struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1; 1671 struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1;
1672 struct cvmx_ipd_que0_free_page_cnt_s cn61xx;
785 struct cvmx_ipd_que0_free_page_cnt_s cn63xx; 1673 struct cvmx_ipd_que0_free_page_cnt_s cn63xx;
786 struct cvmx_ipd_que0_free_page_cnt_s cn63xxp1; 1674 struct cvmx_ipd_que0_free_page_cnt_s cn63xxp1;
1675 struct cvmx_ipd_que0_free_page_cnt_s cn66xx;
1676 struct cvmx_ipd_que0_free_page_cnt_s cn68xx;
1677 struct cvmx_ipd_que0_free_page_cnt_s cn68xxp1;
1678 struct cvmx_ipd_que0_free_page_cnt_s cnf71xx;
1679};
1680
1681union cvmx_ipd_red_bpid_enablex {
1682 uint64_t u64;
1683 struct cvmx_ipd_red_bpid_enablex_s {
1684#ifdef __BIG_ENDIAN_BITFIELD
1685 uint64_t prt_enb:64;
1686#else
1687 uint64_t prt_enb:64;
1688#endif
1689 } s;
1690 struct cvmx_ipd_red_bpid_enablex_s cn68xx;
1691 struct cvmx_ipd_red_bpid_enablex_s cn68xxp1;
1692};
1693
1694union cvmx_ipd_red_delay {
1695 uint64_t u64;
1696 struct cvmx_ipd_red_delay_s {
1697#ifdef __BIG_ENDIAN_BITFIELD
1698 uint64_t reserved_28_63:36;
1699 uint64_t prb_dly:14;
1700 uint64_t avg_dly:14;
1701#else
1702 uint64_t avg_dly:14;
1703 uint64_t prb_dly:14;
1704 uint64_t reserved_28_63:36;
1705#endif
1706 } s;
1707 struct cvmx_ipd_red_delay_s cn68xx;
1708 struct cvmx_ipd_red_delay_s cn68xxp1;
787}; 1709};
788 1710
789union cvmx_ipd_red_port_enable { 1711union cvmx_ipd_red_port_enable {
790 uint64_t u64; 1712 uint64_t u64;
791 struct cvmx_ipd_red_port_enable_s { 1713 struct cvmx_ipd_red_port_enable_s {
1714#ifdef __BIG_ENDIAN_BITFIELD
792 uint64_t prb_dly:14; 1715 uint64_t prb_dly:14;
793 uint64_t avg_dly:14; 1716 uint64_t avg_dly:14;
794 uint64_t prt_enb:36; 1717 uint64_t prt_enb:36;
1718#else
1719 uint64_t prt_enb:36;
1720 uint64_t avg_dly:14;
1721 uint64_t prb_dly:14;
1722#endif
795 } s; 1723 } s;
796 struct cvmx_ipd_red_port_enable_s cn30xx; 1724 struct cvmx_ipd_red_port_enable_s cn30xx;
797 struct cvmx_ipd_red_port_enable_s cn31xx; 1725 struct cvmx_ipd_red_port_enable_s cn31xx;
@@ -804,35 +1732,67 @@ union cvmx_ipd_red_port_enable {
804 struct cvmx_ipd_red_port_enable_s cn56xxp1; 1732 struct cvmx_ipd_red_port_enable_s cn56xxp1;
805 struct cvmx_ipd_red_port_enable_s cn58xx; 1733 struct cvmx_ipd_red_port_enable_s cn58xx;
806 struct cvmx_ipd_red_port_enable_s cn58xxp1; 1734 struct cvmx_ipd_red_port_enable_s cn58xxp1;
1735 struct cvmx_ipd_red_port_enable_s cn61xx;
807 struct cvmx_ipd_red_port_enable_s cn63xx; 1736 struct cvmx_ipd_red_port_enable_s cn63xx;
808 struct cvmx_ipd_red_port_enable_s cn63xxp1; 1737 struct cvmx_ipd_red_port_enable_s cn63xxp1;
1738 struct cvmx_ipd_red_port_enable_s cn66xx;
1739 struct cvmx_ipd_red_port_enable_s cnf71xx;
809}; 1740};
810 1741
811union cvmx_ipd_red_port_enable2 { 1742union cvmx_ipd_red_port_enable2 {
812 uint64_t u64; 1743 uint64_t u64;
813 struct cvmx_ipd_red_port_enable2_s { 1744 struct cvmx_ipd_red_port_enable2_s {
814 uint64_t reserved_8_63:56; 1745#ifdef __BIG_ENDIAN_BITFIELD
815 uint64_t prt_enb:8; 1746 uint64_t reserved_12_63:52;
1747 uint64_t prt_enb:12;
1748#else
1749 uint64_t prt_enb:12;
1750 uint64_t reserved_12_63:52;
1751#endif
816 } s; 1752 } s;
817 struct cvmx_ipd_red_port_enable2_cn52xx { 1753 struct cvmx_ipd_red_port_enable2_cn52xx {
1754#ifdef __BIG_ENDIAN_BITFIELD
818 uint64_t reserved_4_63:60; 1755 uint64_t reserved_4_63:60;
819 uint64_t prt_enb:4; 1756 uint64_t prt_enb:4;
1757#else
1758 uint64_t prt_enb:4;
1759 uint64_t reserved_4_63:60;
1760#endif
820 } cn52xx; 1761 } cn52xx;
821 struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1; 1762 struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1;
822 struct cvmx_ipd_red_port_enable2_cn52xx cn56xx; 1763 struct cvmx_ipd_red_port_enable2_cn52xx cn56xx;
823 struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1; 1764 struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1;
824 struct cvmx_ipd_red_port_enable2_s cn63xx; 1765 struct cvmx_ipd_red_port_enable2_s cn61xx;
825 struct cvmx_ipd_red_port_enable2_s cn63xxp1; 1766 struct cvmx_ipd_red_port_enable2_cn63xx {
1767#ifdef __BIG_ENDIAN_BITFIELD
1768 uint64_t reserved_8_63:56;
1769 uint64_t prt_enb:8;
1770#else
1771 uint64_t prt_enb:8;
1772 uint64_t reserved_8_63:56;
1773#endif
1774 } cn63xx;
1775 struct cvmx_ipd_red_port_enable2_cn63xx cn63xxp1;
1776 struct cvmx_ipd_red_port_enable2_s cn66xx;
1777 struct cvmx_ipd_red_port_enable2_s cnf71xx;
826}; 1778};
827 1779
828union cvmx_ipd_red_quex_param { 1780union cvmx_ipd_red_quex_param {
829 uint64_t u64; 1781 uint64_t u64;
830 struct cvmx_ipd_red_quex_param_s { 1782 struct cvmx_ipd_red_quex_param_s {
1783#ifdef __BIG_ENDIAN_BITFIELD
831 uint64_t reserved_49_63:15; 1784 uint64_t reserved_49_63:15;
832 uint64_t use_pcnt:1; 1785 uint64_t use_pcnt:1;
833 uint64_t new_con:8; 1786 uint64_t new_con:8;
834 uint64_t avg_con:8; 1787 uint64_t avg_con:8;
835 uint64_t prb_con:32; 1788 uint64_t prb_con:32;
1789#else
1790 uint64_t prb_con:32;
1791 uint64_t avg_con:8;
1792 uint64_t new_con:8;
1793 uint64_t use_pcnt:1;
1794 uint64_t reserved_49_63:15;
1795#endif
836 } s; 1796 } s;
837 struct cvmx_ipd_red_quex_param_s cn30xx; 1797 struct cvmx_ipd_red_quex_param_s cn30xx;
838 struct cvmx_ipd_red_quex_param_s cn31xx; 1798 struct cvmx_ipd_red_quex_param_s cn31xx;
@@ -845,16 +1805,53 @@ union cvmx_ipd_red_quex_param {
845 struct cvmx_ipd_red_quex_param_s cn56xxp1; 1805 struct cvmx_ipd_red_quex_param_s cn56xxp1;
846 struct cvmx_ipd_red_quex_param_s cn58xx; 1806 struct cvmx_ipd_red_quex_param_s cn58xx;
847 struct cvmx_ipd_red_quex_param_s cn58xxp1; 1807 struct cvmx_ipd_red_quex_param_s cn58xxp1;
1808 struct cvmx_ipd_red_quex_param_s cn61xx;
848 struct cvmx_ipd_red_quex_param_s cn63xx; 1809 struct cvmx_ipd_red_quex_param_s cn63xx;
849 struct cvmx_ipd_red_quex_param_s cn63xxp1; 1810 struct cvmx_ipd_red_quex_param_s cn63xxp1;
1811 struct cvmx_ipd_red_quex_param_s cn66xx;
1812 struct cvmx_ipd_red_quex_param_s cn68xx;
1813 struct cvmx_ipd_red_quex_param_s cn68xxp1;
1814 struct cvmx_ipd_red_quex_param_s cnf71xx;
1815};
1816
1817union cvmx_ipd_req_wgt {
1818 uint64_t u64;
1819 struct cvmx_ipd_req_wgt_s {
1820#ifdef __BIG_ENDIAN_BITFIELD
1821 uint64_t wgt7:8;
1822 uint64_t wgt6:8;
1823 uint64_t wgt5:8;
1824 uint64_t wgt4:8;
1825 uint64_t wgt3:8;
1826 uint64_t wgt2:8;
1827 uint64_t wgt1:8;
1828 uint64_t wgt0:8;
1829#else
1830 uint64_t wgt0:8;
1831 uint64_t wgt1:8;
1832 uint64_t wgt2:8;
1833 uint64_t wgt3:8;
1834 uint64_t wgt4:8;
1835 uint64_t wgt5:8;
1836 uint64_t wgt6:8;
1837 uint64_t wgt7:8;
1838#endif
1839 } s;
1840 struct cvmx_ipd_req_wgt_s cn68xx;
850}; 1841};
851 1842
852union cvmx_ipd_sub_port_bp_page_cnt { 1843union cvmx_ipd_sub_port_bp_page_cnt {
853 uint64_t u64; 1844 uint64_t u64;
854 struct cvmx_ipd_sub_port_bp_page_cnt_s { 1845 struct cvmx_ipd_sub_port_bp_page_cnt_s {
1846#ifdef __BIG_ENDIAN_BITFIELD
855 uint64_t reserved_31_63:33; 1847 uint64_t reserved_31_63:33;
856 uint64_t port:6; 1848 uint64_t port:6;
857 uint64_t page_cnt:25; 1849 uint64_t page_cnt:25;
1850#else
1851 uint64_t page_cnt:25;
1852 uint64_t port:6;
1853 uint64_t reserved_31_63:33;
1854#endif
858 } s; 1855 } s;
859 struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx; 1856 struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx;
860 struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx; 1857 struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx;
@@ -867,26 +1864,48 @@ union cvmx_ipd_sub_port_bp_page_cnt {
867 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1; 1864 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1;
868 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx; 1865 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx;
869 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1; 1866 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1;
1867 struct cvmx_ipd_sub_port_bp_page_cnt_s cn61xx;
870 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx; 1868 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx;
871 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xxp1; 1869 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xxp1;
1870 struct cvmx_ipd_sub_port_bp_page_cnt_s cn66xx;
1871 struct cvmx_ipd_sub_port_bp_page_cnt_s cn68xx;
1872 struct cvmx_ipd_sub_port_bp_page_cnt_s cn68xxp1;
1873 struct cvmx_ipd_sub_port_bp_page_cnt_s cnf71xx;
872}; 1874};
873 1875
874union cvmx_ipd_sub_port_fcs { 1876union cvmx_ipd_sub_port_fcs {
875 uint64_t u64; 1877 uint64_t u64;
876 struct cvmx_ipd_sub_port_fcs_s { 1878 struct cvmx_ipd_sub_port_fcs_s {
1879#ifdef __BIG_ENDIAN_BITFIELD
877 uint64_t reserved_40_63:24; 1880 uint64_t reserved_40_63:24;
878 uint64_t port_bit2:4; 1881 uint64_t port_bit2:4;
879 uint64_t reserved_32_35:4; 1882 uint64_t reserved_32_35:4;
880 uint64_t port_bit:32; 1883 uint64_t port_bit:32;
1884#else
1885 uint64_t port_bit:32;
1886 uint64_t reserved_32_35:4;
1887 uint64_t port_bit2:4;
1888 uint64_t reserved_40_63:24;
1889#endif
881 } s; 1890 } s;
882 struct cvmx_ipd_sub_port_fcs_cn30xx { 1891 struct cvmx_ipd_sub_port_fcs_cn30xx {
1892#ifdef __BIG_ENDIAN_BITFIELD
883 uint64_t reserved_3_63:61; 1893 uint64_t reserved_3_63:61;
884 uint64_t port_bit:3; 1894 uint64_t port_bit:3;
1895#else
1896 uint64_t port_bit:3;
1897 uint64_t reserved_3_63:61;
1898#endif
885 } cn30xx; 1899 } cn30xx;
886 struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx; 1900 struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx;
887 struct cvmx_ipd_sub_port_fcs_cn38xx { 1901 struct cvmx_ipd_sub_port_fcs_cn38xx {
1902#ifdef __BIG_ENDIAN_BITFIELD
888 uint64_t reserved_32_63:32; 1903 uint64_t reserved_32_63:32;
889 uint64_t port_bit:32; 1904 uint64_t port_bit:32;
1905#else
1906 uint64_t port_bit:32;
1907 uint64_t reserved_32_63:32;
1908#endif
890 } cn38xx; 1909 } cn38xx;
891 struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2; 1910 struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2;
892 struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx; 1911 struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx;
@@ -896,30 +1915,49 @@ union cvmx_ipd_sub_port_fcs {
896 struct cvmx_ipd_sub_port_fcs_s cn56xxp1; 1915 struct cvmx_ipd_sub_port_fcs_s cn56xxp1;
897 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx; 1916 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx;
898 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1; 1917 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1;
1918 struct cvmx_ipd_sub_port_fcs_s cn61xx;
899 struct cvmx_ipd_sub_port_fcs_s cn63xx; 1919 struct cvmx_ipd_sub_port_fcs_s cn63xx;
900 struct cvmx_ipd_sub_port_fcs_s cn63xxp1; 1920 struct cvmx_ipd_sub_port_fcs_s cn63xxp1;
1921 struct cvmx_ipd_sub_port_fcs_s cn66xx;
1922 struct cvmx_ipd_sub_port_fcs_s cnf71xx;
901}; 1923};
902 1924
903union cvmx_ipd_sub_port_qos_cnt { 1925union cvmx_ipd_sub_port_qos_cnt {
904 uint64_t u64; 1926 uint64_t u64;
905 struct cvmx_ipd_sub_port_qos_cnt_s { 1927 struct cvmx_ipd_sub_port_qos_cnt_s {
1928#ifdef __BIG_ENDIAN_BITFIELD
906 uint64_t reserved_41_63:23; 1929 uint64_t reserved_41_63:23;
907 uint64_t port_qos:9; 1930 uint64_t port_qos:9;
908 uint64_t cnt:32; 1931 uint64_t cnt:32;
1932#else
1933 uint64_t cnt:32;
1934 uint64_t port_qos:9;
1935 uint64_t reserved_41_63:23;
1936#endif
909 } s; 1937 } s;
910 struct cvmx_ipd_sub_port_qos_cnt_s cn52xx; 1938 struct cvmx_ipd_sub_port_qos_cnt_s cn52xx;
911 struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1; 1939 struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1;
912 struct cvmx_ipd_sub_port_qos_cnt_s cn56xx; 1940 struct cvmx_ipd_sub_port_qos_cnt_s cn56xx;
913 struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1; 1941 struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1;
1942 struct cvmx_ipd_sub_port_qos_cnt_s cn61xx;
914 struct cvmx_ipd_sub_port_qos_cnt_s cn63xx; 1943 struct cvmx_ipd_sub_port_qos_cnt_s cn63xx;
915 struct cvmx_ipd_sub_port_qos_cnt_s cn63xxp1; 1944 struct cvmx_ipd_sub_port_qos_cnt_s cn63xxp1;
1945 struct cvmx_ipd_sub_port_qos_cnt_s cn66xx;
1946 struct cvmx_ipd_sub_port_qos_cnt_s cn68xx;
1947 struct cvmx_ipd_sub_port_qos_cnt_s cn68xxp1;
1948 struct cvmx_ipd_sub_port_qos_cnt_s cnf71xx;
916}; 1949};
917 1950
918union cvmx_ipd_wqe_fpa_queue { 1951union cvmx_ipd_wqe_fpa_queue {
919 uint64_t u64; 1952 uint64_t u64;
920 struct cvmx_ipd_wqe_fpa_queue_s { 1953 struct cvmx_ipd_wqe_fpa_queue_s {
1954#ifdef __BIG_ENDIAN_BITFIELD
921 uint64_t reserved_3_63:61; 1955 uint64_t reserved_3_63:61;
922 uint64_t wqe_pool:3; 1956 uint64_t wqe_pool:3;
1957#else
1958 uint64_t wqe_pool:3;
1959 uint64_t reserved_3_63:61;
1960#endif
923 } s; 1961 } s;
924 struct cvmx_ipd_wqe_fpa_queue_s cn30xx; 1962 struct cvmx_ipd_wqe_fpa_queue_s cn30xx;
925 struct cvmx_ipd_wqe_fpa_queue_s cn31xx; 1963 struct cvmx_ipd_wqe_fpa_queue_s cn31xx;
@@ -932,15 +1970,25 @@ union cvmx_ipd_wqe_fpa_queue {
932 struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1; 1970 struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1;
933 struct cvmx_ipd_wqe_fpa_queue_s cn58xx; 1971 struct cvmx_ipd_wqe_fpa_queue_s cn58xx;
934 struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1; 1972 struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1;
1973 struct cvmx_ipd_wqe_fpa_queue_s cn61xx;
935 struct cvmx_ipd_wqe_fpa_queue_s cn63xx; 1974 struct cvmx_ipd_wqe_fpa_queue_s cn63xx;
936 struct cvmx_ipd_wqe_fpa_queue_s cn63xxp1; 1975 struct cvmx_ipd_wqe_fpa_queue_s cn63xxp1;
1976 struct cvmx_ipd_wqe_fpa_queue_s cn66xx;
1977 struct cvmx_ipd_wqe_fpa_queue_s cn68xx;
1978 struct cvmx_ipd_wqe_fpa_queue_s cn68xxp1;
1979 struct cvmx_ipd_wqe_fpa_queue_s cnf71xx;
937}; 1980};
938 1981
939union cvmx_ipd_wqe_ptr_valid { 1982union cvmx_ipd_wqe_ptr_valid {
940 uint64_t u64; 1983 uint64_t u64;
941 struct cvmx_ipd_wqe_ptr_valid_s { 1984 struct cvmx_ipd_wqe_ptr_valid_s {
1985#ifdef __BIG_ENDIAN_BITFIELD
942 uint64_t reserved_29_63:35; 1986 uint64_t reserved_29_63:35;
943 uint64_t ptr:29; 1987 uint64_t ptr:29;
1988#else
1989 uint64_t ptr:29;
1990 uint64_t reserved_29_63:35;
1991#endif
944 } s; 1992 } s;
945 struct cvmx_ipd_wqe_ptr_valid_s cn30xx; 1993 struct cvmx_ipd_wqe_ptr_valid_s cn30xx;
946 struct cvmx_ipd_wqe_ptr_valid_s cn31xx; 1994 struct cvmx_ipd_wqe_ptr_valid_s cn31xx;
@@ -952,8 +2000,11 @@ union cvmx_ipd_wqe_ptr_valid {
952 struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1; 2000 struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1;
953 struct cvmx_ipd_wqe_ptr_valid_s cn58xx; 2001 struct cvmx_ipd_wqe_ptr_valid_s cn58xx;
954 struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1; 2002 struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1;
2003 struct cvmx_ipd_wqe_ptr_valid_s cn61xx;
955 struct cvmx_ipd_wqe_ptr_valid_s cn63xx; 2004 struct cvmx_ipd_wqe_ptr_valid_s cn63xx;
956 struct cvmx_ipd_wqe_ptr_valid_s cn63xxp1; 2005 struct cvmx_ipd_wqe_ptr_valid_s cn63xxp1;
2006 struct cvmx_ipd_wqe_ptr_valid_s cn66xx;
2007 struct cvmx_ipd_wqe_ptr_valid_s cnf71xx;
957}; 2008};
958 2009
959#endif 2010#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-l2c-defs.h b/arch/mips/include/asm/octeon/cvmx-l2c-defs.h
index 7a50a0beb472..10262cb6ff50 100644
--- a/arch/mips/include/asm/octeon/cvmx-l2c-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-l2c-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -33,18 +33,18 @@
33#define CVMX_L2C_BST0 (CVMX_ADD_IO_SEG(0x00011800800007F8ull)) 33#define CVMX_L2C_BST0 (CVMX_ADD_IO_SEG(0x00011800800007F8ull))
34#define CVMX_L2C_BST1 (CVMX_ADD_IO_SEG(0x00011800800007F0ull)) 34#define CVMX_L2C_BST1 (CVMX_ADD_IO_SEG(0x00011800800007F0ull))
35#define CVMX_L2C_BST2 (CVMX_ADD_IO_SEG(0x00011800800007E8ull)) 35#define CVMX_L2C_BST2 (CVMX_ADD_IO_SEG(0x00011800800007E8ull))
36#define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull)) 36#define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull) + ((block_id) & 3) * 0x40000ull)
37#define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull)) 37#define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull) + ((block_id) & 3) * 0x40000ull)
38#define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull)) 38#define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull) + ((block_id) & 3) * 0x40000ull)
39#define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull)) 39#define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull))
40#define CVMX_L2C_COP0_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080940000ull) + ((offset) & 16383) * 8) 40#define CVMX_L2C_COP0_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080940000ull) + ((offset) & 16383) * 8)
41#define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull)) 41#define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull))
42#define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull)) 42#define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull))
43#define CVMX_L2C_DUT (CVMX_ADD_IO_SEG(0x0001180080000050ull)) 43#define CVMX_L2C_DUT (CVMX_ADD_IO_SEG(0x0001180080000050ull))
44#define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 2047) * 8) 44#define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 8191) * 8)
45#define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull)) 45#define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull) + ((block_id) & 3) * 0x40000ull)
46#define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull)) 46#define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull) + ((block_id) & 3) * 0x40000ull)
47#define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull)) 47#define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull) + ((block_id) & 3) * 0x40000ull)
48#define CVMX_L2C_ERR_XMC (CVMX_ADD_IO_SEG(0x00011800808007D8ull)) 48#define CVMX_L2C_ERR_XMC (CVMX_ADD_IO_SEG(0x00011800808007D8ull))
49#define CVMX_L2C_GRPWRR0 (CVMX_ADD_IO_SEG(0x00011800800000C8ull)) 49#define CVMX_L2C_GRPWRR0 (CVMX_ADD_IO_SEG(0x00011800800000C8ull))
50#define CVMX_L2C_GRPWRR1 (CVMX_ADD_IO_SEG(0x00011800800000D0ull)) 50#define CVMX_L2C_GRPWRR1 (CVMX_ADD_IO_SEG(0x00011800800000D0ull))
@@ -71,54 +71,119 @@
71#define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull)) 71#define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull))
72#define CVMX_L2C_PFCX(offset) (CVMX_ADD_IO_SEG(0x0001180080000098ull) + ((offset) & 3) * 8) 72#define CVMX_L2C_PFCX(offset) (CVMX_ADD_IO_SEG(0x0001180080000098ull) + ((offset) & 3) * 8)
73#define CVMX_L2C_PPGRP (CVMX_ADD_IO_SEG(0x00011800800000C0ull)) 73#define CVMX_L2C_PPGRP (CVMX_ADD_IO_SEG(0x00011800800000C0ull))
74#define CVMX_L2C_QOS_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080880200ull)) 74#define CVMX_L2C_QOS_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080880200ull) + ((offset) & 1) * 8)
75#define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 7) * 8) 75#define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 31) * 8)
76#define CVMX_L2C_QOS_WGT (CVMX_ADD_IO_SEG(0x0001180080800008ull)) 76#define CVMX_L2C_QOS_WGT (CVMX_ADD_IO_SEG(0x0001180080800008ull))
77#define CVMX_L2C_RSCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800410ull)) 77#define CVMX_L2C_RSCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800410ull) + ((offset) & 3) * 64)
78#define CVMX_L2C_RSDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800418ull)) 78#define CVMX_L2C_RSDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800418ull) + ((offset) & 3) * 64)
79#define CVMX_L2C_SPAR0 (CVMX_ADD_IO_SEG(0x0001180080000068ull)) 79#define CVMX_L2C_SPAR0 (CVMX_ADD_IO_SEG(0x0001180080000068ull))
80#define CVMX_L2C_SPAR1 (CVMX_ADD_IO_SEG(0x0001180080000070ull)) 80#define CVMX_L2C_SPAR1 (CVMX_ADD_IO_SEG(0x0001180080000070ull))
81#define CVMX_L2C_SPAR2 (CVMX_ADD_IO_SEG(0x0001180080000078ull)) 81#define CVMX_L2C_SPAR2 (CVMX_ADD_IO_SEG(0x0001180080000078ull))
82#define CVMX_L2C_SPAR3 (CVMX_ADD_IO_SEG(0x0001180080000080ull)) 82#define CVMX_L2C_SPAR3 (CVMX_ADD_IO_SEG(0x0001180080000080ull))
83#define CVMX_L2C_SPAR4 (CVMX_ADD_IO_SEG(0x0001180080000088ull)) 83#define CVMX_L2C_SPAR4 (CVMX_ADD_IO_SEG(0x0001180080000088ull))
84#define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull)) 84#define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull) + ((block_id) & 3) * 0x40000ull)
85#define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull)) 85#define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull) + ((block_id) & 3) * 0x40000ull)
86#define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull)) 86#define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull) + ((block_id) & 3) * 0x40000ull)
87#define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull)) 87#define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull) + ((block_id) & 3) * 0x40000ull)
88#define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull)) 88#define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull) + ((block_id) & 3) * 0x40000ull)
89#define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull)) 89#define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull) + ((block_id) & 3) * 0x40000ull)
90#define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull)) 90#define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull) + ((block_id) & 3) * 0x40000ull)
91#define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull)) 91#define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull) + ((block_id) & 3) * 0x40000ull)
92#define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull)) 92#define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull) + ((block_id) & 3) * 0x40000ull)
93#define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull)) 93#define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull) + ((block_id) & 3) * 0x40000ull)
94#define CVMX_L2C_VER_ID (CVMX_ADD_IO_SEG(0x00011800808007E0ull)) 94#define CVMX_L2C_VER_ID (CVMX_ADD_IO_SEG(0x00011800808007E0ull))
95#define CVMX_L2C_VER_IOB (CVMX_ADD_IO_SEG(0x00011800808007F0ull)) 95#define CVMX_L2C_VER_IOB (CVMX_ADD_IO_SEG(0x00011800808007F0ull))
96#define CVMX_L2C_VER_MSC (CVMX_ADD_IO_SEG(0x00011800808007D0ull)) 96#define CVMX_L2C_VER_MSC (CVMX_ADD_IO_SEG(0x00011800808007D0ull))
97#define CVMX_L2C_VER_PP (CVMX_ADD_IO_SEG(0x00011800808007E8ull)) 97#define CVMX_L2C_VER_PP (CVMX_ADD_IO_SEG(0x00011800808007E8ull))
98#define CVMX_L2C_VIRTID_IOBX(block_id) (CVMX_ADD_IO_SEG(0x00011800808C0200ull)) 98#define CVMX_L2C_VIRTID_IOBX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0200ull) + ((offset) & 1) * 8)
99#define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 7) * 8) 99#define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 31) * 8)
100#define CVMX_L2C_VRT_CTL (CVMX_ADD_IO_SEG(0x0001180080800010ull)) 100#define CVMX_L2C_VRT_CTL (CVMX_ADD_IO_SEG(0x0001180080800010ull))
101#define CVMX_L2C_VRT_MEMX(offset) (CVMX_ADD_IO_SEG(0x0001180080900000ull) + ((offset) & 1023) * 8) 101#define CVMX_L2C_VRT_MEMX(offset) (CVMX_ADD_IO_SEG(0x0001180080900000ull) + ((offset) & 1023) * 8)
102#define CVMX_L2C_WPAR_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080840200ull)) 102#define CVMX_L2C_WPAR_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080840200ull) + ((offset) & 1) * 8)
103#define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 7) * 8) 103#define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 31) * 8)
104#define CVMX_L2C_XMCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800400ull)) 104#define CVMX_L2C_XMCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800400ull) + ((offset) & 3) * 64)
105#define CVMX_L2C_XMC_CMD (CVMX_ADD_IO_SEG(0x0001180080800028ull)) 105#define CVMX_L2C_XMC_CMD (CVMX_ADD_IO_SEG(0x0001180080800028ull))
106#define CVMX_L2C_XMDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800408ull)) 106#define CVMX_L2C_XMDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800408ull) + ((offset) & 3) * 64)
107 107
108union cvmx_l2c_big_ctl { 108union cvmx_l2c_big_ctl {
109 uint64_t u64; 109 uint64_t u64;
110 struct cvmx_l2c_big_ctl_s { 110 struct cvmx_l2c_big_ctl_s {
111#ifdef __BIG_ENDIAN_BITFIELD
111 uint64_t reserved_8_63:56; 112 uint64_t reserved_8_63:56;
112 uint64_t maxdram:4; 113 uint64_t maxdram:4;
113 uint64_t reserved_1_3:3; 114 uint64_t reserved_1_3:3;
114 uint64_t disable:1; 115 uint64_t disable:1;
116#else
117 uint64_t disable:1;
118 uint64_t reserved_1_3:3;
119 uint64_t maxdram:4;
120 uint64_t reserved_8_63:56;
121#endif
115 } s; 122 } s;
123 struct cvmx_l2c_big_ctl_s cn61xx;
116 struct cvmx_l2c_big_ctl_s cn63xx; 124 struct cvmx_l2c_big_ctl_s cn63xx;
125 struct cvmx_l2c_big_ctl_s cn66xx;
126 struct cvmx_l2c_big_ctl_s cn68xx;
127 struct cvmx_l2c_big_ctl_s cn68xxp1;
128 struct cvmx_l2c_big_ctl_s cnf71xx;
117}; 129};
118 130
119union cvmx_l2c_bst { 131union cvmx_l2c_bst {
120 uint64_t u64; 132 uint64_t u64;
121 struct cvmx_l2c_bst_s { 133 struct cvmx_l2c_bst_s {
134#ifdef __BIG_ENDIAN_BITFIELD
135 uint64_t dutfl:32;
136 uint64_t rbffl:4;
137 uint64_t xbffl:4;
138 uint64_t tdpfl:4;
139 uint64_t ioccmdfl:4;
140 uint64_t iocdatfl:4;
141 uint64_t dutresfl:4;
142 uint64_t vrtfl:4;
143 uint64_t tdffl:4;
144#else
145 uint64_t tdffl:4;
146 uint64_t vrtfl:4;
147 uint64_t dutresfl:4;
148 uint64_t iocdatfl:4;
149 uint64_t ioccmdfl:4;
150 uint64_t tdpfl:4;
151 uint64_t xbffl:4;
152 uint64_t rbffl:4;
153 uint64_t dutfl:32;
154#endif
155 } s;
156 struct cvmx_l2c_bst_cn61xx {
157#ifdef __BIG_ENDIAN_BITFIELD
158 uint64_t reserved_36_63:28;
159 uint64_t dutfl:4;
160 uint64_t reserved_17_31:15;
161 uint64_t ioccmdfl:1;
162 uint64_t reserved_13_15:3;
163 uint64_t iocdatfl:1;
164 uint64_t reserved_9_11:3;
165 uint64_t dutresfl:1;
166 uint64_t reserved_5_7:3;
167 uint64_t vrtfl:1;
168 uint64_t reserved_1_3:3;
169 uint64_t tdffl:1;
170#else
171 uint64_t tdffl:1;
172 uint64_t reserved_1_3:3;
173 uint64_t vrtfl:1;
174 uint64_t reserved_5_7:3;
175 uint64_t dutresfl:1;
176 uint64_t reserved_9_11:3;
177 uint64_t iocdatfl:1;
178 uint64_t reserved_13_15:3;
179 uint64_t ioccmdfl:1;
180 uint64_t reserved_17_31:15;
181 uint64_t dutfl:4;
182 uint64_t reserved_36_63:28;
183#endif
184 } cn61xx;
185 struct cvmx_l2c_bst_cn63xx {
186#ifdef __BIG_ENDIAN_BITFIELD
122 uint64_t reserved_38_63:26; 187 uint64_t reserved_38_63:26;
123 uint64_t dutfl:6; 188 uint64_t dutfl:6;
124 uint64_t reserved_17_31:15; 189 uint64_t reserved_17_31:15;
@@ -131,14 +196,60 @@ union cvmx_l2c_bst {
131 uint64_t vrtfl:1; 196 uint64_t vrtfl:1;
132 uint64_t reserved_1_3:3; 197 uint64_t reserved_1_3:3;
133 uint64_t tdffl:1; 198 uint64_t tdffl:1;
134 } s; 199#else
135 struct cvmx_l2c_bst_s cn63xx; 200 uint64_t tdffl:1;
136 struct cvmx_l2c_bst_s cn63xxp1; 201 uint64_t reserved_1_3:3;
202 uint64_t vrtfl:1;
203 uint64_t reserved_5_7:3;
204 uint64_t dutresfl:1;
205 uint64_t reserved_9_11:3;
206 uint64_t iocdatfl:1;
207 uint64_t reserved_13_15:3;
208 uint64_t ioccmdfl:1;
209 uint64_t reserved_17_31:15;
210 uint64_t dutfl:6;
211 uint64_t reserved_38_63:26;
212#endif
213 } cn63xx;
214 struct cvmx_l2c_bst_cn63xx cn63xxp1;
215 struct cvmx_l2c_bst_cn66xx {
216#ifdef __BIG_ENDIAN_BITFIELD
217 uint64_t reserved_42_63:22;
218 uint64_t dutfl:10;
219 uint64_t reserved_17_31:15;
220 uint64_t ioccmdfl:1;
221 uint64_t reserved_13_15:3;
222 uint64_t iocdatfl:1;
223 uint64_t reserved_9_11:3;
224 uint64_t dutresfl:1;
225 uint64_t reserved_5_7:3;
226 uint64_t vrtfl:1;
227 uint64_t reserved_1_3:3;
228 uint64_t tdffl:1;
229#else
230 uint64_t tdffl:1;
231 uint64_t reserved_1_3:3;
232 uint64_t vrtfl:1;
233 uint64_t reserved_5_7:3;
234 uint64_t dutresfl:1;
235 uint64_t reserved_9_11:3;
236 uint64_t iocdatfl:1;
237 uint64_t reserved_13_15:3;
238 uint64_t ioccmdfl:1;
239 uint64_t reserved_17_31:15;
240 uint64_t dutfl:10;
241 uint64_t reserved_42_63:22;
242#endif
243 } cn66xx;
244 struct cvmx_l2c_bst_s cn68xx;
245 struct cvmx_l2c_bst_s cn68xxp1;
246 struct cvmx_l2c_bst_cn61xx cnf71xx;
137}; 247};
138 248
139union cvmx_l2c_bst0 { 249union cvmx_l2c_bst0 {
140 uint64_t u64; 250 uint64_t u64;
141 struct cvmx_l2c_bst0_s { 251 struct cvmx_l2c_bst0_s {
252#ifdef __BIG_ENDIAN_BITFIELD
142 uint64_t reserved_24_63:40; 253 uint64_t reserved_24_63:40;
143 uint64_t dtbnk:1; 254 uint64_t dtbnk:1;
144 uint64_t wlb_msk:4; 255 uint64_t wlb_msk:4;
@@ -146,8 +257,18 @@ union cvmx_l2c_bst0 {
146 uint64_t dt:1; 257 uint64_t dt:1;
147 uint64_t stin_msk:1; 258 uint64_t stin_msk:1;
148 uint64_t wlb_dat:4; 259 uint64_t wlb_dat:4;
260#else
261 uint64_t wlb_dat:4;
262 uint64_t stin_msk:1;
263 uint64_t dt:1;
264 uint64_t dtcnt:13;
265 uint64_t wlb_msk:4;
266 uint64_t dtbnk:1;
267 uint64_t reserved_24_63:40;
268#endif
149 } s; 269 } s;
150 struct cvmx_l2c_bst0_cn30xx { 270 struct cvmx_l2c_bst0_cn30xx {
271#ifdef __BIG_ENDIAN_BITFIELD
151 uint64_t reserved_23_63:41; 272 uint64_t reserved_23_63:41;
152 uint64_t wlb_msk:4; 273 uint64_t wlb_msk:4;
153 uint64_t reserved_15_18:4; 274 uint64_t reserved_15_18:4;
@@ -155,8 +276,18 @@ union cvmx_l2c_bst0 {
155 uint64_t dt:1; 276 uint64_t dt:1;
156 uint64_t reserved_4_4:1; 277 uint64_t reserved_4_4:1;
157 uint64_t wlb_dat:4; 278 uint64_t wlb_dat:4;
279#else
280 uint64_t wlb_dat:4;
281 uint64_t reserved_4_4:1;
282 uint64_t dt:1;
283 uint64_t dtcnt:9;
284 uint64_t reserved_15_18:4;
285 uint64_t wlb_msk:4;
286 uint64_t reserved_23_63:41;
287#endif
158 } cn30xx; 288 } cn30xx;
159 struct cvmx_l2c_bst0_cn31xx { 289 struct cvmx_l2c_bst0_cn31xx {
290#ifdef __BIG_ENDIAN_BITFIELD
160 uint64_t reserved_23_63:41; 291 uint64_t reserved_23_63:41;
161 uint64_t wlb_msk:4; 292 uint64_t wlb_msk:4;
162 uint64_t reserved_16_18:3; 293 uint64_t reserved_16_18:3;
@@ -164,16 +295,34 @@ union cvmx_l2c_bst0 {
164 uint64_t dt:1; 295 uint64_t dt:1;
165 uint64_t stin_msk:1; 296 uint64_t stin_msk:1;
166 uint64_t wlb_dat:4; 297 uint64_t wlb_dat:4;
298#else
299 uint64_t wlb_dat:4;
300 uint64_t stin_msk:1;
301 uint64_t dt:1;
302 uint64_t dtcnt:10;
303 uint64_t reserved_16_18:3;
304 uint64_t wlb_msk:4;
305 uint64_t reserved_23_63:41;
306#endif
167 } cn31xx; 307 } cn31xx;
168 struct cvmx_l2c_bst0_cn38xx { 308 struct cvmx_l2c_bst0_cn38xx {
309#ifdef __BIG_ENDIAN_BITFIELD
169 uint64_t reserved_19_63:45; 310 uint64_t reserved_19_63:45;
170 uint64_t dtcnt:13; 311 uint64_t dtcnt:13;
171 uint64_t dt:1; 312 uint64_t dt:1;
172 uint64_t stin_msk:1; 313 uint64_t stin_msk:1;
173 uint64_t wlb_dat:4; 314 uint64_t wlb_dat:4;
315#else
316 uint64_t wlb_dat:4;
317 uint64_t stin_msk:1;
318 uint64_t dt:1;
319 uint64_t dtcnt:13;
320 uint64_t reserved_19_63:45;
321#endif
174 } cn38xx; 322 } cn38xx;
175 struct cvmx_l2c_bst0_cn38xx cn38xxp2; 323 struct cvmx_l2c_bst0_cn38xx cn38xxp2;
176 struct cvmx_l2c_bst0_cn50xx { 324 struct cvmx_l2c_bst0_cn50xx {
325#ifdef __BIG_ENDIAN_BITFIELD
177 uint64_t reserved_24_63:40; 326 uint64_t reserved_24_63:40;
178 uint64_t dtbnk:1; 327 uint64_t dtbnk:1;
179 uint64_t wlb_msk:4; 328 uint64_t wlb_msk:4;
@@ -182,6 +331,16 @@ union cvmx_l2c_bst0 {
182 uint64_t dt:1; 331 uint64_t dt:1;
183 uint64_t stin_msk:1; 332 uint64_t stin_msk:1;
184 uint64_t wlb_dat:4; 333 uint64_t wlb_dat:4;
334#else
335 uint64_t wlb_dat:4;
336 uint64_t stin_msk:1;
337 uint64_t dt:1;
338 uint64_t dtcnt:10;
339 uint64_t reserved_16_18:3;
340 uint64_t wlb_msk:4;
341 uint64_t dtbnk:1;
342 uint64_t reserved_24_63:40;
343#endif
185 } cn50xx; 344 } cn50xx;
186 struct cvmx_l2c_bst0_cn50xx cn52xx; 345 struct cvmx_l2c_bst0_cn50xx cn52xx;
187 struct cvmx_l2c_bst0_cn50xx cn52xxp1; 346 struct cvmx_l2c_bst0_cn50xx cn52xxp1;
@@ -194,28 +353,51 @@ union cvmx_l2c_bst0 {
194union cvmx_l2c_bst1 { 353union cvmx_l2c_bst1 {
195 uint64_t u64; 354 uint64_t u64;
196 struct cvmx_l2c_bst1_s { 355 struct cvmx_l2c_bst1_s {
356#ifdef __BIG_ENDIAN_BITFIELD
197 uint64_t reserved_9_63:55; 357 uint64_t reserved_9_63:55;
198 uint64_t l2t:9; 358 uint64_t l2t:9;
359#else
360 uint64_t l2t:9;
361 uint64_t reserved_9_63:55;
362#endif
199 } s; 363 } s;
200 struct cvmx_l2c_bst1_cn30xx { 364 struct cvmx_l2c_bst1_cn30xx {
365#ifdef __BIG_ENDIAN_BITFIELD
201 uint64_t reserved_16_63:48; 366 uint64_t reserved_16_63:48;
202 uint64_t vwdf:4; 367 uint64_t vwdf:4;
203 uint64_t lrf:2; 368 uint64_t lrf:2;
204 uint64_t vab_vwcf:1; 369 uint64_t vab_vwcf:1;
205 uint64_t reserved_5_8:4; 370 uint64_t reserved_5_8:4;
206 uint64_t l2t:5; 371 uint64_t l2t:5;
372#else
373 uint64_t l2t:5;
374 uint64_t reserved_5_8:4;
375 uint64_t vab_vwcf:1;
376 uint64_t lrf:2;
377 uint64_t vwdf:4;
378 uint64_t reserved_16_63:48;
379#endif
207 } cn30xx; 380 } cn30xx;
208 struct cvmx_l2c_bst1_cn30xx cn31xx; 381 struct cvmx_l2c_bst1_cn30xx cn31xx;
209 struct cvmx_l2c_bst1_cn38xx { 382 struct cvmx_l2c_bst1_cn38xx {
383#ifdef __BIG_ENDIAN_BITFIELD
210 uint64_t reserved_16_63:48; 384 uint64_t reserved_16_63:48;
211 uint64_t vwdf:4; 385 uint64_t vwdf:4;
212 uint64_t lrf:2; 386 uint64_t lrf:2;
213 uint64_t vab_vwcf:1; 387 uint64_t vab_vwcf:1;
214 uint64_t l2t:9; 388 uint64_t l2t:9;
389#else
390 uint64_t l2t:9;
391 uint64_t vab_vwcf:1;
392 uint64_t lrf:2;
393 uint64_t vwdf:4;
394 uint64_t reserved_16_63:48;
395#endif
215 } cn38xx; 396 } cn38xx;
216 struct cvmx_l2c_bst1_cn38xx cn38xxp2; 397 struct cvmx_l2c_bst1_cn38xx cn38xxp2;
217 struct cvmx_l2c_bst1_cn38xx cn50xx; 398 struct cvmx_l2c_bst1_cn38xx cn50xx;
218 struct cvmx_l2c_bst1_cn52xx { 399 struct cvmx_l2c_bst1_cn52xx {
400#ifdef __BIG_ENDIAN_BITFIELD
219 uint64_t reserved_19_63:45; 401 uint64_t reserved_19_63:45;
220 uint64_t plc2:1; 402 uint64_t plc2:1;
221 uint64_t plc1:1; 403 uint64_t plc1:1;
@@ -225,9 +407,21 @@ union cvmx_l2c_bst1 {
225 uint64_t ilc:1; 407 uint64_t ilc:1;
226 uint64_t vab_vwcf:1; 408 uint64_t vab_vwcf:1;
227 uint64_t l2t:9; 409 uint64_t l2t:9;
410#else
411 uint64_t l2t:9;
412 uint64_t vab_vwcf:1;
413 uint64_t ilc:1;
414 uint64_t reserved_11_11:1;
415 uint64_t vwdf:4;
416 uint64_t plc0:1;
417 uint64_t plc1:1;
418 uint64_t plc2:1;
419 uint64_t reserved_19_63:45;
420#endif
228 } cn52xx; 421 } cn52xx;
229 struct cvmx_l2c_bst1_cn52xx cn52xxp1; 422 struct cvmx_l2c_bst1_cn52xx cn52xxp1;
230 struct cvmx_l2c_bst1_cn56xx { 423 struct cvmx_l2c_bst1_cn56xx {
424#ifdef __BIG_ENDIAN_BITFIELD
231 uint64_t reserved_24_63:40; 425 uint64_t reserved_24_63:40;
232 uint64_t plc2:1; 426 uint64_t plc2:1;
233 uint64_t plc1:1; 427 uint64_t plc1:1;
@@ -239,6 +433,19 @@ union cvmx_l2c_bst1 {
239 uint64_t reserved_10_10:1; 433 uint64_t reserved_10_10:1;
240 uint64_t vab_vwcf0:1; 434 uint64_t vab_vwcf0:1;
241 uint64_t l2t:9; 435 uint64_t l2t:9;
436#else
437 uint64_t l2t:9;
438 uint64_t vab_vwcf0:1;
439 uint64_t reserved_10_10:1;
440 uint64_t vab_vwcf1:1;
441 uint64_t vwdf0:4;
442 uint64_t vwdf1:4;
443 uint64_t ilc:1;
444 uint64_t plc0:1;
445 uint64_t plc1:1;
446 uint64_t plc2:1;
447 uint64_t reserved_24_63:40;
448#endif
242 } cn56xx; 449 } cn56xx;
243 struct cvmx_l2c_bst1_cn56xx cn56xxp1; 450 struct cvmx_l2c_bst1_cn56xx cn56xxp1;
244 struct cvmx_l2c_bst1_cn38xx cn58xx; 451 struct cvmx_l2c_bst1_cn38xx cn58xx;
@@ -248,6 +455,7 @@ union cvmx_l2c_bst1 {
248union cvmx_l2c_bst2 { 455union cvmx_l2c_bst2 {
249 uint64_t u64; 456 uint64_t u64;
250 struct cvmx_l2c_bst2_s { 457 struct cvmx_l2c_bst2_s {
458#ifdef __BIG_ENDIAN_BITFIELD
251 uint64_t reserved_16_63:48; 459 uint64_t reserved_16_63:48;
252 uint64_t mrb:4; 460 uint64_t mrb:4;
253 uint64_t reserved_4_11:8; 461 uint64_t reserved_4_11:8;
@@ -255,8 +463,18 @@ union cvmx_l2c_bst2 {
255 uint64_t picbst:1; 463 uint64_t picbst:1;
256 uint64_t xrdmsk:1; 464 uint64_t xrdmsk:1;
257 uint64_t xrddat:1; 465 uint64_t xrddat:1;
466#else
467 uint64_t xrddat:1;
468 uint64_t xrdmsk:1;
469 uint64_t picbst:1;
470 uint64_t ipcbst:1;
471 uint64_t reserved_4_11:8;
472 uint64_t mrb:4;
473 uint64_t reserved_16_63:48;
474#endif
258 } s; 475 } s;
259 struct cvmx_l2c_bst2_cn30xx { 476 struct cvmx_l2c_bst2_cn30xx {
477#ifdef __BIG_ENDIAN_BITFIELD
260 uint64_t reserved_16_63:48; 478 uint64_t reserved_16_63:48;
261 uint64_t mrb:4; 479 uint64_t mrb:4;
262 uint64_t rmdf:4; 480 uint64_t rmdf:4;
@@ -265,9 +483,20 @@ union cvmx_l2c_bst2 {
265 uint64_t reserved_2_2:1; 483 uint64_t reserved_2_2:1;
266 uint64_t xrdmsk:1; 484 uint64_t xrdmsk:1;
267 uint64_t xrddat:1; 485 uint64_t xrddat:1;
486#else
487 uint64_t xrddat:1;
488 uint64_t xrdmsk:1;
489 uint64_t reserved_2_2:1;
490 uint64_t ipcbst:1;
491 uint64_t reserved_4_7:4;
492 uint64_t rmdf:4;
493 uint64_t mrb:4;
494 uint64_t reserved_16_63:48;
495#endif
268 } cn30xx; 496 } cn30xx;
269 struct cvmx_l2c_bst2_cn30xx cn31xx; 497 struct cvmx_l2c_bst2_cn30xx cn31xx;
270 struct cvmx_l2c_bst2_cn38xx { 498 struct cvmx_l2c_bst2_cn38xx {
499#ifdef __BIG_ENDIAN_BITFIELD
271 uint64_t reserved_16_63:48; 500 uint64_t reserved_16_63:48;
272 uint64_t mrb:4; 501 uint64_t mrb:4;
273 uint64_t rmdf:4; 502 uint64_t rmdf:4;
@@ -276,12 +505,23 @@ union cvmx_l2c_bst2 {
276 uint64_t picbst:1; 505 uint64_t picbst:1;
277 uint64_t xrdmsk:1; 506 uint64_t xrdmsk:1;
278 uint64_t xrddat:1; 507 uint64_t xrddat:1;
508#else
509 uint64_t xrddat:1;
510 uint64_t xrdmsk:1;
511 uint64_t picbst:1;
512 uint64_t ipcbst:1;
513 uint64_t rhdf:4;
514 uint64_t rmdf:4;
515 uint64_t mrb:4;
516 uint64_t reserved_16_63:48;
517#endif
279 } cn38xx; 518 } cn38xx;
280 struct cvmx_l2c_bst2_cn38xx cn38xxp2; 519 struct cvmx_l2c_bst2_cn38xx cn38xxp2;
281 struct cvmx_l2c_bst2_cn30xx cn50xx; 520 struct cvmx_l2c_bst2_cn30xx cn50xx;
282 struct cvmx_l2c_bst2_cn30xx cn52xx; 521 struct cvmx_l2c_bst2_cn30xx cn52xx;
283 struct cvmx_l2c_bst2_cn30xx cn52xxp1; 522 struct cvmx_l2c_bst2_cn30xx cn52xxp1;
284 struct cvmx_l2c_bst2_cn56xx { 523 struct cvmx_l2c_bst2_cn56xx {
524#ifdef __BIG_ENDIAN_BITFIELD
285 uint64_t reserved_16_63:48; 525 uint64_t reserved_16_63:48;
286 uint64_t mrb:4; 526 uint64_t mrb:4;
287 uint64_t rmdb:4; 527 uint64_t rmdb:4;
@@ -290,6 +530,16 @@ union cvmx_l2c_bst2 {
290 uint64_t picbst:1; 530 uint64_t picbst:1;
291 uint64_t xrdmsk:1; 531 uint64_t xrdmsk:1;
292 uint64_t xrddat:1; 532 uint64_t xrddat:1;
533#else
534 uint64_t xrddat:1;
535 uint64_t xrdmsk:1;
536 uint64_t picbst:1;
537 uint64_t ipcbst:1;
538 uint64_t rhdb:4;
539 uint64_t rmdb:4;
540 uint64_t mrb:4;
541 uint64_t reserved_16_63:48;
542#endif
293 } cn56xx; 543 } cn56xx;
294 struct cvmx_l2c_bst2_cn56xx cn56xxp1; 544 struct cvmx_l2c_bst2_cn56xx cn56xxp1;
295 struct cvmx_l2c_bst2_cn56xx cn58xx; 545 struct cvmx_l2c_bst2_cn56xx cn58xx;
@@ -299,48 +549,93 @@ union cvmx_l2c_bst2 {
299union cvmx_l2c_bst_memx { 549union cvmx_l2c_bst_memx {
300 uint64_t u64; 550 uint64_t u64;
301 struct cvmx_l2c_bst_memx_s { 551 struct cvmx_l2c_bst_memx_s {
552#ifdef __BIG_ENDIAN_BITFIELD
302 uint64_t start_bist:1; 553 uint64_t start_bist:1;
303 uint64_t clear_bist:1; 554 uint64_t clear_bist:1;
304 uint64_t reserved_5_61:57; 555 uint64_t reserved_5_61:57;
305 uint64_t rdffl:1; 556 uint64_t rdffl:1;
306 uint64_t vbffl:4; 557 uint64_t vbffl:4;
558#else
559 uint64_t vbffl:4;
560 uint64_t rdffl:1;
561 uint64_t reserved_5_61:57;
562 uint64_t clear_bist:1;
563 uint64_t start_bist:1;
564#endif
307 } s; 565 } s;
566 struct cvmx_l2c_bst_memx_s cn61xx;
308 struct cvmx_l2c_bst_memx_s cn63xx; 567 struct cvmx_l2c_bst_memx_s cn63xx;
309 struct cvmx_l2c_bst_memx_s cn63xxp1; 568 struct cvmx_l2c_bst_memx_s cn63xxp1;
569 struct cvmx_l2c_bst_memx_s cn66xx;
570 struct cvmx_l2c_bst_memx_s cn68xx;
571 struct cvmx_l2c_bst_memx_s cn68xxp1;
572 struct cvmx_l2c_bst_memx_s cnf71xx;
310}; 573};
311 574
312union cvmx_l2c_bst_tdtx { 575union cvmx_l2c_bst_tdtx {
313 uint64_t u64; 576 uint64_t u64;
314 struct cvmx_l2c_bst_tdtx_s { 577 struct cvmx_l2c_bst_tdtx_s {
578#ifdef __BIG_ENDIAN_BITFIELD
315 uint64_t reserved_32_63:32; 579 uint64_t reserved_32_63:32;
316 uint64_t fbfrspfl:8; 580 uint64_t fbfrspfl:8;
317 uint64_t sbffl:8; 581 uint64_t sbffl:8;
318 uint64_t fbffl:8; 582 uint64_t fbffl:8;
319 uint64_t l2dfl:8; 583 uint64_t l2dfl:8;
584#else
585 uint64_t l2dfl:8;
586 uint64_t fbffl:8;
587 uint64_t sbffl:8;
588 uint64_t fbfrspfl:8;
589 uint64_t reserved_32_63:32;
590#endif
320 } s; 591 } s;
592 struct cvmx_l2c_bst_tdtx_s cn61xx;
321 struct cvmx_l2c_bst_tdtx_s cn63xx; 593 struct cvmx_l2c_bst_tdtx_s cn63xx;
322 struct cvmx_l2c_bst_tdtx_cn63xxp1 { 594 struct cvmx_l2c_bst_tdtx_cn63xxp1 {
595#ifdef __BIG_ENDIAN_BITFIELD
323 uint64_t reserved_24_63:40; 596 uint64_t reserved_24_63:40;
324 uint64_t sbffl:8; 597 uint64_t sbffl:8;
325 uint64_t fbffl:8; 598 uint64_t fbffl:8;
326 uint64_t l2dfl:8; 599 uint64_t l2dfl:8;
600#else
601 uint64_t l2dfl:8;
602 uint64_t fbffl:8;
603 uint64_t sbffl:8;
604 uint64_t reserved_24_63:40;
605#endif
327 } cn63xxp1; 606 } cn63xxp1;
607 struct cvmx_l2c_bst_tdtx_s cn66xx;
608 struct cvmx_l2c_bst_tdtx_s cn68xx;
609 struct cvmx_l2c_bst_tdtx_s cn68xxp1;
610 struct cvmx_l2c_bst_tdtx_s cnf71xx;
328}; 611};
329 612
330union cvmx_l2c_bst_ttgx { 613union cvmx_l2c_bst_ttgx {
331 uint64_t u64; 614 uint64_t u64;
332 struct cvmx_l2c_bst_ttgx_s { 615 struct cvmx_l2c_bst_ttgx_s {
616#ifdef __BIG_ENDIAN_BITFIELD
333 uint64_t reserved_17_63:47; 617 uint64_t reserved_17_63:47;
334 uint64_t lrufl:1; 618 uint64_t lrufl:1;
335 uint64_t tagfl:16; 619 uint64_t tagfl:16;
620#else
621 uint64_t tagfl:16;
622 uint64_t lrufl:1;
623 uint64_t reserved_17_63:47;
624#endif
336 } s; 625 } s;
626 struct cvmx_l2c_bst_ttgx_s cn61xx;
337 struct cvmx_l2c_bst_ttgx_s cn63xx; 627 struct cvmx_l2c_bst_ttgx_s cn63xx;
338 struct cvmx_l2c_bst_ttgx_s cn63xxp1; 628 struct cvmx_l2c_bst_ttgx_s cn63xxp1;
629 struct cvmx_l2c_bst_ttgx_s cn66xx;
630 struct cvmx_l2c_bst_ttgx_s cn68xx;
631 struct cvmx_l2c_bst_ttgx_s cn68xxp1;
632 struct cvmx_l2c_bst_ttgx_s cnf71xx;
339}; 633};
340 634
341union cvmx_l2c_cfg { 635union cvmx_l2c_cfg {
342 uint64_t u64; 636 uint64_t u64;
343 struct cvmx_l2c_cfg_s { 637 struct cvmx_l2c_cfg_s {
638#ifdef __BIG_ENDIAN_BITFIELD
344 uint64_t reserved_20_63:44; 639 uint64_t reserved_20_63:44;
345 uint64_t bstrun:1; 640 uint64_t bstrun:1;
346 uint64_t lbist:1; 641 uint64_t lbist:1;
@@ -356,8 +651,26 @@ union cvmx_l2c_cfg {
356 uint64_t rsp_arb_mode:1; 651 uint64_t rsp_arb_mode:1;
357 uint64_t rfb_arb_mode:1; 652 uint64_t rfb_arb_mode:1;
358 uint64_t lrf_arb_mode:1; 653 uint64_t lrf_arb_mode:1;
654#else
655 uint64_t lrf_arb_mode:1;
656 uint64_t rfb_arb_mode:1;
657 uint64_t rsp_arb_mode:1;
658 uint64_t mwf_crd:4;
659 uint64_t idxalias:1;
660 uint64_t fpen:1;
661 uint64_t fpempty:1;
662 uint64_t fpexp:4;
663 uint64_t dfill_dis:1;
664 uint64_t dpres0:1;
665 uint64_t dpres1:1;
666 uint64_t xor_bank:1;
667 uint64_t lbist:1;
668 uint64_t bstrun:1;
669 uint64_t reserved_20_63:44;
670#endif
359 } s; 671 } s;
360 struct cvmx_l2c_cfg_cn30xx { 672 struct cvmx_l2c_cfg_cn30xx {
673#ifdef __BIG_ENDIAN_BITFIELD
361 uint64_t reserved_14_63:50; 674 uint64_t reserved_14_63:50;
362 uint64_t fpexp:4; 675 uint64_t fpexp:4;
363 uint64_t fpempty:1; 676 uint64_t fpempty:1;
@@ -367,11 +680,23 @@ union cvmx_l2c_cfg {
367 uint64_t rsp_arb_mode:1; 680 uint64_t rsp_arb_mode:1;
368 uint64_t rfb_arb_mode:1; 681 uint64_t rfb_arb_mode:1;
369 uint64_t lrf_arb_mode:1; 682 uint64_t lrf_arb_mode:1;
683#else
684 uint64_t lrf_arb_mode:1;
685 uint64_t rfb_arb_mode:1;
686 uint64_t rsp_arb_mode:1;
687 uint64_t mwf_crd:4;
688 uint64_t idxalias:1;
689 uint64_t fpen:1;
690 uint64_t fpempty:1;
691 uint64_t fpexp:4;
692 uint64_t reserved_14_63:50;
693#endif
370 } cn30xx; 694 } cn30xx;
371 struct cvmx_l2c_cfg_cn30xx cn31xx; 695 struct cvmx_l2c_cfg_cn30xx cn31xx;
372 struct cvmx_l2c_cfg_cn30xx cn38xx; 696 struct cvmx_l2c_cfg_cn30xx cn38xx;
373 struct cvmx_l2c_cfg_cn30xx cn38xxp2; 697 struct cvmx_l2c_cfg_cn30xx cn38xxp2;
374 struct cvmx_l2c_cfg_cn50xx { 698 struct cvmx_l2c_cfg_cn50xx {
699#ifdef __BIG_ENDIAN_BITFIELD
375 uint64_t reserved_20_63:44; 700 uint64_t reserved_20_63:44;
376 uint64_t bstrun:1; 701 uint64_t bstrun:1;
377 uint64_t lbist:1; 702 uint64_t lbist:1;
@@ -384,12 +709,27 @@ union cvmx_l2c_cfg {
384 uint64_t rsp_arb_mode:1; 709 uint64_t rsp_arb_mode:1;
385 uint64_t rfb_arb_mode:1; 710 uint64_t rfb_arb_mode:1;
386 uint64_t lrf_arb_mode:1; 711 uint64_t lrf_arb_mode:1;
712#else
713 uint64_t lrf_arb_mode:1;
714 uint64_t rfb_arb_mode:1;
715 uint64_t rsp_arb_mode:1;
716 uint64_t mwf_crd:4;
717 uint64_t idxalias:1;
718 uint64_t fpen:1;
719 uint64_t fpempty:1;
720 uint64_t fpexp:4;
721 uint64_t reserved_14_17:4;
722 uint64_t lbist:1;
723 uint64_t bstrun:1;
724 uint64_t reserved_20_63:44;
725#endif
387 } cn50xx; 726 } cn50xx;
388 struct cvmx_l2c_cfg_cn50xx cn52xx; 727 struct cvmx_l2c_cfg_cn50xx cn52xx;
389 struct cvmx_l2c_cfg_cn50xx cn52xxp1; 728 struct cvmx_l2c_cfg_cn50xx cn52xxp1;
390 struct cvmx_l2c_cfg_s cn56xx; 729 struct cvmx_l2c_cfg_s cn56xx;
391 struct cvmx_l2c_cfg_s cn56xxp1; 730 struct cvmx_l2c_cfg_s cn56xxp1;
392 struct cvmx_l2c_cfg_cn58xx { 731 struct cvmx_l2c_cfg_cn58xx {
732#ifdef __BIG_ENDIAN_BITFIELD
393 uint64_t reserved_20_63:44; 733 uint64_t reserved_20_63:44;
394 uint64_t bstrun:1; 734 uint64_t bstrun:1;
395 uint64_t lbist:1; 735 uint64_t lbist:1;
@@ -403,8 +743,24 @@ union cvmx_l2c_cfg {
403 uint64_t rsp_arb_mode:1; 743 uint64_t rsp_arb_mode:1;
404 uint64_t rfb_arb_mode:1; 744 uint64_t rfb_arb_mode:1;
405 uint64_t lrf_arb_mode:1; 745 uint64_t lrf_arb_mode:1;
746#else
747 uint64_t lrf_arb_mode:1;
748 uint64_t rfb_arb_mode:1;
749 uint64_t rsp_arb_mode:1;
750 uint64_t mwf_crd:4;
751 uint64_t idxalias:1;
752 uint64_t fpen:1;
753 uint64_t fpempty:1;
754 uint64_t fpexp:4;
755 uint64_t dfill_dis:1;
756 uint64_t reserved_15_17:3;
757 uint64_t lbist:1;
758 uint64_t bstrun:1;
759 uint64_t reserved_20_63:44;
760#endif
406 } cn58xx; 761 } cn58xx;
407 struct cvmx_l2c_cfg_cn58xxp1 { 762 struct cvmx_l2c_cfg_cn58xxp1 {
763#ifdef __BIG_ENDIAN_BITFIELD
408 uint64_t reserved_15_63:49; 764 uint64_t reserved_15_63:49;
409 uint64_t dfill_dis:1; 765 uint64_t dfill_dis:1;
410 uint64_t fpexp:4; 766 uint64_t fpexp:4;
@@ -415,22 +771,46 @@ union cvmx_l2c_cfg {
415 uint64_t rsp_arb_mode:1; 771 uint64_t rsp_arb_mode:1;
416 uint64_t rfb_arb_mode:1; 772 uint64_t rfb_arb_mode:1;
417 uint64_t lrf_arb_mode:1; 773 uint64_t lrf_arb_mode:1;
774#else
775 uint64_t lrf_arb_mode:1;
776 uint64_t rfb_arb_mode:1;
777 uint64_t rsp_arb_mode:1;
778 uint64_t mwf_crd:4;
779 uint64_t idxalias:1;
780 uint64_t fpen:1;
781 uint64_t fpempty:1;
782 uint64_t fpexp:4;
783 uint64_t dfill_dis:1;
784 uint64_t reserved_15_63:49;
785#endif
418 } cn58xxp1; 786 } cn58xxp1;
419}; 787};
420 788
421union cvmx_l2c_cop0_mapx { 789union cvmx_l2c_cop0_mapx {
422 uint64_t u64; 790 uint64_t u64;
423 struct cvmx_l2c_cop0_mapx_s { 791 struct cvmx_l2c_cop0_mapx_s {
792#ifdef __BIG_ENDIAN_BITFIELD
424 uint64_t data:64; 793 uint64_t data:64;
794#else
795 uint64_t data:64;
796#endif
425 } s; 797 } s;
798 struct cvmx_l2c_cop0_mapx_s cn61xx;
426 struct cvmx_l2c_cop0_mapx_s cn63xx; 799 struct cvmx_l2c_cop0_mapx_s cn63xx;
427 struct cvmx_l2c_cop0_mapx_s cn63xxp1; 800 struct cvmx_l2c_cop0_mapx_s cn63xxp1;
801 struct cvmx_l2c_cop0_mapx_s cn66xx;
802 struct cvmx_l2c_cop0_mapx_s cn68xx;
803 struct cvmx_l2c_cop0_mapx_s cn68xxp1;
804 struct cvmx_l2c_cop0_mapx_s cnf71xx;
428}; 805};
429 806
430union cvmx_l2c_ctl { 807union cvmx_l2c_ctl {
431 uint64_t u64; 808 uint64_t u64;
432 struct cvmx_l2c_ctl_s { 809 struct cvmx_l2c_ctl_s {
433 uint64_t reserved_28_63:36; 810#ifdef __BIG_ENDIAN_BITFIELD
811 uint64_t reserved_30_63:34;
812 uint64_t sepcmt:1;
813 uint64_t rdf_fast:1;
434 uint64_t disstgl2i:1; 814 uint64_t disstgl2i:1;
435 uint64_t l2dfsbe:1; 815 uint64_t l2dfsbe:1;
436 uint64_t l2dfdbe:1; 816 uint64_t l2dfdbe:1;
@@ -444,9 +824,95 @@ union cvmx_l2c_ctl {
444 uint64_t vab_thresh:4; 824 uint64_t vab_thresh:4;
445 uint64_t disecc:1; 825 uint64_t disecc:1;
446 uint64_t disidxalias:1; 826 uint64_t disidxalias:1;
827#else
828 uint64_t disidxalias:1;
829 uint64_t disecc:1;
830 uint64_t vab_thresh:4;
831 uint64_t ef_cnt:7;
832 uint64_t ef_ena:1;
833 uint64_t xmc_arb_mode:1;
834 uint64_t rsp_arb_mode:1;
835 uint64_t maxlfb:4;
836 uint64_t maxvab:4;
837 uint64_t discclk:1;
838 uint64_t l2dfdbe:1;
839 uint64_t l2dfsbe:1;
840 uint64_t disstgl2i:1;
841 uint64_t rdf_fast:1;
842 uint64_t sepcmt:1;
843 uint64_t reserved_30_63:34;
844#endif
447 } s; 845 } s;
448 struct cvmx_l2c_ctl_s cn63xx; 846 struct cvmx_l2c_ctl_cn61xx {
847#ifdef __BIG_ENDIAN_BITFIELD
848 uint64_t reserved_29_63:35;
849 uint64_t rdf_fast:1;
850 uint64_t disstgl2i:1;
851 uint64_t l2dfsbe:1;
852 uint64_t l2dfdbe:1;
853 uint64_t discclk:1;
854 uint64_t maxvab:4;
855 uint64_t maxlfb:4;
856 uint64_t rsp_arb_mode:1;
857 uint64_t xmc_arb_mode:1;
858 uint64_t ef_ena:1;
859 uint64_t ef_cnt:7;
860 uint64_t vab_thresh:4;
861 uint64_t disecc:1;
862 uint64_t disidxalias:1;
863#else
864 uint64_t disidxalias:1;
865 uint64_t disecc:1;
866 uint64_t vab_thresh:4;
867 uint64_t ef_cnt:7;
868 uint64_t ef_ena:1;
869 uint64_t xmc_arb_mode:1;
870 uint64_t rsp_arb_mode:1;
871 uint64_t maxlfb:4;
872 uint64_t maxvab:4;
873 uint64_t discclk:1;
874 uint64_t l2dfdbe:1;
875 uint64_t l2dfsbe:1;
876 uint64_t disstgl2i:1;
877 uint64_t rdf_fast:1;
878 uint64_t reserved_29_63:35;
879#endif
880 } cn61xx;
881 struct cvmx_l2c_ctl_cn63xx {
882#ifdef __BIG_ENDIAN_BITFIELD
883 uint64_t reserved_28_63:36;
884 uint64_t disstgl2i:1;
885 uint64_t l2dfsbe:1;
886 uint64_t l2dfdbe:1;
887 uint64_t discclk:1;
888 uint64_t maxvab:4;
889 uint64_t maxlfb:4;
890 uint64_t rsp_arb_mode:1;
891 uint64_t xmc_arb_mode:1;
892 uint64_t ef_ena:1;
893 uint64_t ef_cnt:7;
894 uint64_t vab_thresh:4;
895 uint64_t disecc:1;
896 uint64_t disidxalias:1;
897#else
898 uint64_t disidxalias:1;
899 uint64_t disecc:1;
900 uint64_t vab_thresh:4;
901 uint64_t ef_cnt:7;
902 uint64_t ef_ena:1;
903 uint64_t xmc_arb_mode:1;
904 uint64_t rsp_arb_mode:1;
905 uint64_t maxlfb:4;
906 uint64_t maxvab:4;
907 uint64_t discclk:1;
908 uint64_t l2dfdbe:1;
909 uint64_t l2dfsbe:1;
910 uint64_t disstgl2i:1;
911 uint64_t reserved_28_63:36;
912#endif
913 } cn63xx;
449 struct cvmx_l2c_ctl_cn63xxp1 { 914 struct cvmx_l2c_ctl_cn63xxp1 {
915#ifdef __BIG_ENDIAN_BITFIELD
450 uint64_t reserved_25_63:39; 916 uint64_t reserved_25_63:39;
451 uint64_t discclk:1; 917 uint64_t discclk:1;
452 uint64_t maxvab:4; 918 uint64_t maxvab:4;
@@ -458,12 +924,30 @@ union cvmx_l2c_ctl {
458 uint64_t vab_thresh:4; 924 uint64_t vab_thresh:4;
459 uint64_t disecc:1; 925 uint64_t disecc:1;
460 uint64_t disidxalias:1; 926 uint64_t disidxalias:1;
927#else
928 uint64_t disidxalias:1;
929 uint64_t disecc:1;
930 uint64_t vab_thresh:4;
931 uint64_t ef_cnt:7;
932 uint64_t ef_ena:1;
933 uint64_t xmc_arb_mode:1;
934 uint64_t rsp_arb_mode:1;
935 uint64_t maxlfb:4;
936 uint64_t maxvab:4;
937 uint64_t discclk:1;
938 uint64_t reserved_25_63:39;
939#endif
461 } cn63xxp1; 940 } cn63xxp1;
941 struct cvmx_l2c_ctl_cn61xx cn66xx;
942 struct cvmx_l2c_ctl_s cn68xx;
943 struct cvmx_l2c_ctl_cn63xx cn68xxp1;
944 struct cvmx_l2c_ctl_cn61xx cnf71xx;
462}; 945};
463 946
464union cvmx_l2c_dbg { 947union cvmx_l2c_dbg {
465 uint64_t u64; 948 uint64_t u64;
466 struct cvmx_l2c_dbg_s { 949 struct cvmx_l2c_dbg_s {
950#ifdef __BIG_ENDIAN_BITFIELD
467 uint64_t reserved_15_63:49; 951 uint64_t reserved_15_63:49;
468 uint64_t lfb_enum:4; 952 uint64_t lfb_enum:4;
469 uint64_t lfb_dmp:1; 953 uint64_t lfb_dmp:1;
@@ -472,8 +956,19 @@ union cvmx_l2c_dbg {
472 uint64_t finv:1; 956 uint64_t finv:1;
473 uint64_t l2d:1; 957 uint64_t l2d:1;
474 uint64_t l2t:1; 958 uint64_t l2t:1;
959#else
960 uint64_t l2t:1;
961 uint64_t l2d:1;
962 uint64_t finv:1;
963 uint64_t set:3;
964 uint64_t ppnum:4;
965 uint64_t lfb_dmp:1;
966 uint64_t lfb_enum:4;
967 uint64_t reserved_15_63:49;
968#endif
475 } s; 969 } s;
476 struct cvmx_l2c_dbg_cn30xx { 970 struct cvmx_l2c_dbg_cn30xx {
971#ifdef __BIG_ENDIAN_BITFIELD
477 uint64_t reserved_13_63:51; 972 uint64_t reserved_13_63:51;
478 uint64_t lfb_enum:2; 973 uint64_t lfb_enum:2;
479 uint64_t lfb_dmp:1; 974 uint64_t lfb_dmp:1;
@@ -484,8 +979,21 @@ union cvmx_l2c_dbg {
484 uint64_t finv:1; 979 uint64_t finv:1;
485 uint64_t l2d:1; 980 uint64_t l2d:1;
486 uint64_t l2t:1; 981 uint64_t l2t:1;
982#else
983 uint64_t l2t:1;
984 uint64_t l2d:1;
985 uint64_t finv:1;
986 uint64_t set:2;
987 uint64_t reserved_5_5:1;
988 uint64_t ppnum:1;
989 uint64_t reserved_7_9:3;
990 uint64_t lfb_dmp:1;
991 uint64_t lfb_enum:2;
992 uint64_t reserved_13_63:51;
993#endif
487 } cn30xx; 994 } cn30xx;
488 struct cvmx_l2c_dbg_cn31xx { 995 struct cvmx_l2c_dbg_cn31xx {
996#ifdef __BIG_ENDIAN_BITFIELD
489 uint64_t reserved_14_63:50; 997 uint64_t reserved_14_63:50;
490 uint64_t lfb_enum:3; 998 uint64_t lfb_enum:3;
491 uint64_t lfb_dmp:1; 999 uint64_t lfb_dmp:1;
@@ -496,10 +1004,23 @@ union cvmx_l2c_dbg {
496 uint64_t finv:1; 1004 uint64_t finv:1;
497 uint64_t l2d:1; 1005 uint64_t l2d:1;
498 uint64_t l2t:1; 1006 uint64_t l2t:1;
1007#else
1008 uint64_t l2t:1;
1009 uint64_t l2d:1;
1010 uint64_t finv:1;
1011 uint64_t set:2;
1012 uint64_t reserved_5_5:1;
1013 uint64_t ppnum:1;
1014 uint64_t reserved_7_9:3;
1015 uint64_t lfb_dmp:1;
1016 uint64_t lfb_enum:3;
1017 uint64_t reserved_14_63:50;
1018#endif
499 } cn31xx; 1019 } cn31xx;
500 struct cvmx_l2c_dbg_s cn38xx; 1020 struct cvmx_l2c_dbg_s cn38xx;
501 struct cvmx_l2c_dbg_s cn38xxp2; 1021 struct cvmx_l2c_dbg_s cn38xxp2;
502 struct cvmx_l2c_dbg_cn50xx { 1022 struct cvmx_l2c_dbg_cn50xx {
1023#ifdef __BIG_ENDIAN_BITFIELD
503 uint64_t reserved_14_63:50; 1024 uint64_t reserved_14_63:50;
504 uint64_t lfb_enum:3; 1025 uint64_t lfb_enum:3;
505 uint64_t lfb_dmp:1; 1026 uint64_t lfb_dmp:1;
@@ -509,8 +1030,20 @@ union cvmx_l2c_dbg {
509 uint64_t finv:1; 1030 uint64_t finv:1;
510 uint64_t l2d:1; 1031 uint64_t l2d:1;
511 uint64_t l2t:1; 1032 uint64_t l2t:1;
1033#else
1034 uint64_t l2t:1;
1035 uint64_t l2d:1;
1036 uint64_t finv:1;
1037 uint64_t set:3;
1038 uint64_t ppnum:1;
1039 uint64_t reserved_7_9:3;
1040 uint64_t lfb_dmp:1;
1041 uint64_t lfb_enum:3;
1042 uint64_t reserved_14_63:50;
1043#endif
512 } cn50xx; 1044 } cn50xx;
513 struct cvmx_l2c_dbg_cn52xx { 1045 struct cvmx_l2c_dbg_cn52xx {
1046#ifdef __BIG_ENDIAN_BITFIELD
514 uint64_t reserved_14_63:50; 1047 uint64_t reserved_14_63:50;
515 uint64_t lfb_enum:3; 1048 uint64_t lfb_enum:3;
516 uint64_t lfb_dmp:1; 1049 uint64_t lfb_dmp:1;
@@ -520,6 +1053,17 @@ union cvmx_l2c_dbg {
520 uint64_t finv:1; 1053 uint64_t finv:1;
521 uint64_t l2d:1; 1054 uint64_t l2d:1;
522 uint64_t l2t:1; 1055 uint64_t l2t:1;
1056#else
1057 uint64_t l2t:1;
1058 uint64_t l2d:1;
1059 uint64_t finv:1;
1060 uint64_t set:3;
1061 uint64_t ppnum:2;
1062 uint64_t reserved_8_9:2;
1063 uint64_t lfb_dmp:1;
1064 uint64_t lfb_enum:3;
1065 uint64_t reserved_14_63:50;
1066#endif
523 } cn52xx; 1067 } cn52xx;
524 struct cvmx_l2c_dbg_cn52xx cn52xxp1; 1068 struct cvmx_l2c_dbg_cn52xx cn52xxp1;
525 struct cvmx_l2c_dbg_s cn56xx; 1069 struct cvmx_l2c_dbg_s cn56xx;
@@ -531,11 +1075,19 @@ union cvmx_l2c_dbg {
531union cvmx_l2c_dut { 1075union cvmx_l2c_dut {
532 uint64_t u64; 1076 uint64_t u64;
533 struct cvmx_l2c_dut_s { 1077 struct cvmx_l2c_dut_s {
1078#ifdef __BIG_ENDIAN_BITFIELD
534 uint64_t reserved_32_63:32; 1079 uint64_t reserved_32_63:32;
535 uint64_t dtena:1; 1080 uint64_t dtena:1;
536 uint64_t reserved_30_30:1; 1081 uint64_t reserved_30_30:1;
537 uint64_t dt_vld:1; 1082 uint64_t dt_vld:1;
538 uint64_t dt_tag:29; 1083 uint64_t dt_tag:29;
1084#else
1085 uint64_t dt_tag:29;
1086 uint64_t dt_vld:1;
1087 uint64_t reserved_30_30:1;
1088 uint64_t dtena:1;
1089 uint64_t reserved_32_63:32;
1090#endif
539 } s; 1091 } s;
540 struct cvmx_l2c_dut_s cn30xx; 1092 struct cvmx_l2c_dut_s cn30xx;
541 struct cvmx_l2c_dut_s cn31xx; 1093 struct cvmx_l2c_dut_s cn31xx;
@@ -553,18 +1105,77 @@ union cvmx_l2c_dut {
553union cvmx_l2c_dut_mapx { 1105union cvmx_l2c_dut_mapx {
554 uint64_t u64; 1106 uint64_t u64;
555 struct cvmx_l2c_dut_mapx_s { 1107 struct cvmx_l2c_dut_mapx_s {
1108#ifdef __BIG_ENDIAN_BITFIELD
556 uint64_t reserved_38_63:26; 1109 uint64_t reserved_38_63:26;
557 uint64_t tag:28; 1110 uint64_t tag:28;
558 uint64_t reserved_1_9:9; 1111 uint64_t reserved_1_9:9;
559 uint64_t valid:1; 1112 uint64_t valid:1;
1113#else
1114 uint64_t valid:1;
1115 uint64_t reserved_1_9:9;
1116 uint64_t tag:28;
1117 uint64_t reserved_38_63:26;
1118#endif
560 } s; 1119 } s;
1120 struct cvmx_l2c_dut_mapx_s cn61xx;
561 struct cvmx_l2c_dut_mapx_s cn63xx; 1121 struct cvmx_l2c_dut_mapx_s cn63xx;
562 struct cvmx_l2c_dut_mapx_s cn63xxp1; 1122 struct cvmx_l2c_dut_mapx_s cn63xxp1;
1123 struct cvmx_l2c_dut_mapx_s cn66xx;
1124 struct cvmx_l2c_dut_mapx_s cn68xx;
1125 struct cvmx_l2c_dut_mapx_s cn68xxp1;
1126 struct cvmx_l2c_dut_mapx_s cnf71xx;
563}; 1127};
564 1128
565union cvmx_l2c_err_tdtx { 1129union cvmx_l2c_err_tdtx {
566 uint64_t u64; 1130 uint64_t u64;
567 struct cvmx_l2c_err_tdtx_s { 1131 struct cvmx_l2c_err_tdtx_s {
1132#ifdef __BIG_ENDIAN_BITFIELD
1133 uint64_t dbe:1;
1134 uint64_t sbe:1;
1135 uint64_t vdbe:1;
1136 uint64_t vsbe:1;
1137 uint64_t syn:10;
1138 uint64_t reserved_22_49:28;
1139 uint64_t wayidx:18;
1140 uint64_t reserved_2_3:2;
1141 uint64_t type:2;
1142#else
1143 uint64_t type:2;
1144 uint64_t reserved_2_3:2;
1145 uint64_t wayidx:18;
1146 uint64_t reserved_22_49:28;
1147 uint64_t syn:10;
1148 uint64_t vsbe:1;
1149 uint64_t vdbe:1;
1150 uint64_t sbe:1;
1151 uint64_t dbe:1;
1152#endif
1153 } s;
1154 struct cvmx_l2c_err_tdtx_cn61xx {
1155#ifdef __BIG_ENDIAN_BITFIELD
1156 uint64_t dbe:1;
1157 uint64_t sbe:1;
1158 uint64_t vdbe:1;
1159 uint64_t vsbe:1;
1160 uint64_t syn:10;
1161 uint64_t reserved_20_49:30;
1162 uint64_t wayidx:16;
1163 uint64_t reserved_2_3:2;
1164 uint64_t type:2;
1165#else
1166 uint64_t type:2;
1167 uint64_t reserved_2_3:2;
1168 uint64_t wayidx:16;
1169 uint64_t reserved_20_49:30;
1170 uint64_t syn:10;
1171 uint64_t vsbe:1;
1172 uint64_t vdbe:1;
1173 uint64_t sbe:1;
1174 uint64_t dbe:1;
1175#endif
1176 } cn61xx;
1177 struct cvmx_l2c_err_tdtx_cn63xx {
1178#ifdef __BIG_ENDIAN_BITFIELD
568 uint64_t dbe:1; 1179 uint64_t dbe:1;
569 uint64_t sbe:1; 1180 uint64_t sbe:1;
570 uint64_t vdbe:1; 1181 uint64_t vdbe:1;
@@ -574,14 +1185,75 @@ union cvmx_l2c_err_tdtx {
574 uint64_t wayidx:17; 1185 uint64_t wayidx:17;
575 uint64_t reserved_2_3:2; 1186 uint64_t reserved_2_3:2;
576 uint64_t type:2; 1187 uint64_t type:2;
577 } s; 1188#else
578 struct cvmx_l2c_err_tdtx_s cn63xx; 1189 uint64_t type:2;
579 struct cvmx_l2c_err_tdtx_s cn63xxp1; 1190 uint64_t reserved_2_3:2;
1191 uint64_t wayidx:17;
1192 uint64_t reserved_21_49:29;
1193 uint64_t syn:10;
1194 uint64_t vsbe:1;
1195 uint64_t vdbe:1;
1196 uint64_t sbe:1;
1197 uint64_t dbe:1;
1198#endif
1199 } cn63xx;
1200 struct cvmx_l2c_err_tdtx_cn63xx cn63xxp1;
1201 struct cvmx_l2c_err_tdtx_cn63xx cn66xx;
1202 struct cvmx_l2c_err_tdtx_s cn68xx;
1203 struct cvmx_l2c_err_tdtx_s cn68xxp1;
1204 struct cvmx_l2c_err_tdtx_cn61xx cnf71xx;
580}; 1205};
581 1206
582union cvmx_l2c_err_ttgx { 1207union cvmx_l2c_err_ttgx {
583 uint64_t u64; 1208 uint64_t u64;
584 struct cvmx_l2c_err_ttgx_s { 1209 struct cvmx_l2c_err_ttgx_s {
1210#ifdef __BIG_ENDIAN_BITFIELD
1211 uint64_t dbe:1;
1212 uint64_t sbe:1;
1213 uint64_t noway:1;
1214 uint64_t reserved_56_60:5;
1215 uint64_t syn:6;
1216 uint64_t reserved_22_49:28;
1217 uint64_t wayidx:15;
1218 uint64_t reserved_2_6:5;
1219 uint64_t type:2;
1220#else
1221 uint64_t type:2;
1222 uint64_t reserved_2_6:5;
1223 uint64_t wayidx:15;
1224 uint64_t reserved_22_49:28;
1225 uint64_t syn:6;
1226 uint64_t reserved_56_60:5;
1227 uint64_t noway:1;
1228 uint64_t sbe:1;
1229 uint64_t dbe:1;
1230#endif
1231 } s;
1232 struct cvmx_l2c_err_ttgx_cn61xx {
1233#ifdef __BIG_ENDIAN_BITFIELD
1234 uint64_t dbe:1;
1235 uint64_t sbe:1;
1236 uint64_t noway:1;
1237 uint64_t reserved_56_60:5;
1238 uint64_t syn:6;
1239 uint64_t reserved_20_49:30;
1240 uint64_t wayidx:13;
1241 uint64_t reserved_2_6:5;
1242 uint64_t type:2;
1243#else
1244 uint64_t type:2;
1245 uint64_t reserved_2_6:5;
1246 uint64_t wayidx:13;
1247 uint64_t reserved_20_49:30;
1248 uint64_t syn:6;
1249 uint64_t reserved_56_60:5;
1250 uint64_t noway:1;
1251 uint64_t sbe:1;
1252 uint64_t dbe:1;
1253#endif
1254 } cn61xx;
1255 struct cvmx_l2c_err_ttgx_cn63xx {
1256#ifdef __BIG_ENDIAN_BITFIELD
585 uint64_t dbe:1; 1257 uint64_t dbe:1;
586 uint64_t sbe:1; 1258 uint64_t sbe:1;
587 uint64_t noway:1; 1259 uint64_t noway:1;
@@ -591,43 +1263,117 @@ union cvmx_l2c_err_ttgx {
591 uint64_t wayidx:14; 1263 uint64_t wayidx:14;
592 uint64_t reserved_2_6:5; 1264 uint64_t reserved_2_6:5;
593 uint64_t type:2; 1265 uint64_t type:2;
594 } s; 1266#else
595 struct cvmx_l2c_err_ttgx_s cn63xx; 1267 uint64_t type:2;
596 struct cvmx_l2c_err_ttgx_s cn63xxp1; 1268 uint64_t reserved_2_6:5;
1269 uint64_t wayidx:14;
1270 uint64_t reserved_21_49:29;
1271 uint64_t syn:6;
1272 uint64_t reserved_56_60:5;
1273 uint64_t noway:1;
1274 uint64_t sbe:1;
1275 uint64_t dbe:1;
1276#endif
1277 } cn63xx;
1278 struct cvmx_l2c_err_ttgx_cn63xx cn63xxp1;
1279 struct cvmx_l2c_err_ttgx_cn63xx cn66xx;
1280 struct cvmx_l2c_err_ttgx_s cn68xx;
1281 struct cvmx_l2c_err_ttgx_s cn68xxp1;
1282 struct cvmx_l2c_err_ttgx_cn61xx cnf71xx;
597}; 1283};
598 1284
599union cvmx_l2c_err_vbfx { 1285union cvmx_l2c_err_vbfx {
600 uint64_t u64; 1286 uint64_t u64;
601 struct cvmx_l2c_err_vbfx_s { 1287 struct cvmx_l2c_err_vbfx_s {
1288#ifdef __BIG_ENDIAN_BITFIELD
602 uint64_t reserved_62_63:2; 1289 uint64_t reserved_62_63:2;
603 uint64_t vdbe:1; 1290 uint64_t vdbe:1;
604 uint64_t vsbe:1; 1291 uint64_t vsbe:1;
605 uint64_t vsyn:10; 1292 uint64_t vsyn:10;
606 uint64_t reserved_2_49:48; 1293 uint64_t reserved_2_49:48;
607 uint64_t type:2; 1294 uint64_t type:2;
1295#else
1296 uint64_t type:2;
1297 uint64_t reserved_2_49:48;
1298 uint64_t vsyn:10;
1299 uint64_t vsbe:1;
1300 uint64_t vdbe:1;
1301 uint64_t reserved_62_63:2;
1302#endif
608 } s; 1303 } s;
1304 struct cvmx_l2c_err_vbfx_s cn61xx;
609 struct cvmx_l2c_err_vbfx_s cn63xx; 1305 struct cvmx_l2c_err_vbfx_s cn63xx;
610 struct cvmx_l2c_err_vbfx_s cn63xxp1; 1306 struct cvmx_l2c_err_vbfx_s cn63xxp1;
1307 struct cvmx_l2c_err_vbfx_s cn66xx;
1308 struct cvmx_l2c_err_vbfx_s cn68xx;
1309 struct cvmx_l2c_err_vbfx_s cn68xxp1;
1310 struct cvmx_l2c_err_vbfx_s cnf71xx;
611}; 1311};
612 1312
613union cvmx_l2c_err_xmc { 1313union cvmx_l2c_err_xmc {
614 uint64_t u64; 1314 uint64_t u64;
615 struct cvmx_l2c_err_xmc_s { 1315 struct cvmx_l2c_err_xmc_s {
1316#ifdef __BIG_ENDIAN_BITFIELD
1317 uint64_t cmd:6;
1318 uint64_t reserved_54_57:4;
1319 uint64_t sid:6;
1320 uint64_t reserved_38_47:10;
1321 uint64_t addr:38;
1322#else
1323 uint64_t addr:38;
1324 uint64_t reserved_38_47:10;
1325 uint64_t sid:6;
1326 uint64_t reserved_54_57:4;
1327 uint64_t cmd:6;
1328#endif
1329 } s;
1330 struct cvmx_l2c_err_xmc_cn61xx {
1331#ifdef __BIG_ENDIAN_BITFIELD
616 uint64_t cmd:6; 1332 uint64_t cmd:6;
617 uint64_t reserved_52_57:6; 1333 uint64_t reserved_52_57:6;
618 uint64_t sid:4; 1334 uint64_t sid:4;
619 uint64_t reserved_38_47:10; 1335 uint64_t reserved_38_47:10;
620 uint64_t addr:38; 1336 uint64_t addr:38;
621 } s; 1337#else
622 struct cvmx_l2c_err_xmc_s cn63xx; 1338 uint64_t addr:38;
623 struct cvmx_l2c_err_xmc_s cn63xxp1; 1339 uint64_t reserved_38_47:10;
1340 uint64_t sid:4;
1341 uint64_t reserved_52_57:6;
1342 uint64_t cmd:6;
1343#endif
1344 } cn61xx;
1345 struct cvmx_l2c_err_xmc_cn61xx cn63xx;
1346 struct cvmx_l2c_err_xmc_cn61xx cn63xxp1;
1347 struct cvmx_l2c_err_xmc_cn66xx {
1348#ifdef __BIG_ENDIAN_BITFIELD
1349 uint64_t cmd:6;
1350 uint64_t reserved_53_57:5;
1351 uint64_t sid:5;
1352 uint64_t reserved_38_47:10;
1353 uint64_t addr:38;
1354#else
1355 uint64_t addr:38;
1356 uint64_t reserved_38_47:10;
1357 uint64_t sid:5;
1358 uint64_t reserved_53_57:5;
1359 uint64_t cmd:6;
1360#endif
1361 } cn66xx;
1362 struct cvmx_l2c_err_xmc_s cn68xx;
1363 struct cvmx_l2c_err_xmc_s cn68xxp1;
1364 struct cvmx_l2c_err_xmc_cn61xx cnf71xx;
624}; 1365};
625 1366
626union cvmx_l2c_grpwrr0 { 1367union cvmx_l2c_grpwrr0 {
627 uint64_t u64; 1368 uint64_t u64;
628 struct cvmx_l2c_grpwrr0_s { 1369 struct cvmx_l2c_grpwrr0_s {
1370#ifdef __BIG_ENDIAN_BITFIELD
629 uint64_t plc1rmsk:32; 1371 uint64_t plc1rmsk:32;
630 uint64_t plc0rmsk:32; 1372 uint64_t plc0rmsk:32;
1373#else
1374 uint64_t plc0rmsk:32;
1375 uint64_t plc1rmsk:32;
1376#endif
631 } s; 1377 } s;
632 struct cvmx_l2c_grpwrr0_s cn52xx; 1378 struct cvmx_l2c_grpwrr0_s cn52xx;
633 struct cvmx_l2c_grpwrr0_s cn52xxp1; 1379 struct cvmx_l2c_grpwrr0_s cn52xxp1;
@@ -638,8 +1384,13 @@ union cvmx_l2c_grpwrr0 {
638union cvmx_l2c_grpwrr1 { 1384union cvmx_l2c_grpwrr1 {
639 uint64_t u64; 1385 uint64_t u64;
640 struct cvmx_l2c_grpwrr1_s { 1386 struct cvmx_l2c_grpwrr1_s {
1387#ifdef __BIG_ENDIAN_BITFIELD
641 uint64_t ilcrmsk:32; 1388 uint64_t ilcrmsk:32;
642 uint64_t plc2rmsk:32; 1389 uint64_t plc2rmsk:32;
1390#else
1391 uint64_t plc2rmsk:32;
1392 uint64_t ilcrmsk:32;
1393#endif
643 } s; 1394 } s;
644 struct cvmx_l2c_grpwrr1_s cn52xx; 1395 struct cvmx_l2c_grpwrr1_s cn52xx;
645 struct cvmx_l2c_grpwrr1_s cn52xxp1; 1396 struct cvmx_l2c_grpwrr1_s cn52xxp1;
@@ -650,6 +1401,7 @@ union cvmx_l2c_grpwrr1 {
650union cvmx_l2c_int_en { 1401union cvmx_l2c_int_en {
651 uint64_t u64; 1402 uint64_t u64;
652 struct cvmx_l2c_int_en_s { 1403 struct cvmx_l2c_int_en_s {
1404#ifdef __BIG_ENDIAN_BITFIELD
653 uint64_t reserved_9_63:55; 1405 uint64_t reserved_9_63:55;
654 uint64_t lck2ena:1; 1406 uint64_t lck2ena:1;
655 uint64_t lckena:1; 1407 uint64_t lckena:1;
@@ -660,6 +1412,18 @@ union cvmx_l2c_int_en {
660 uint64_t oob3en:1; 1412 uint64_t oob3en:1;
661 uint64_t oob2en:1; 1413 uint64_t oob2en:1;
662 uint64_t oob1en:1; 1414 uint64_t oob1en:1;
1415#else
1416 uint64_t oob1en:1;
1417 uint64_t oob2en:1;
1418 uint64_t oob3en:1;
1419 uint64_t l2tsecen:1;
1420 uint64_t l2tdeden:1;
1421 uint64_t l2dsecen:1;
1422 uint64_t l2ddeden:1;
1423 uint64_t lckena:1;
1424 uint64_t lck2ena:1;
1425 uint64_t reserved_9_63:55;
1426#endif
663 } s; 1427 } s;
664 struct cvmx_l2c_int_en_s cn52xx; 1428 struct cvmx_l2c_int_en_s cn52xx;
665 struct cvmx_l2c_int_en_s cn52xxp1; 1429 struct cvmx_l2c_int_en_s cn52xxp1;
@@ -670,6 +1434,7 @@ union cvmx_l2c_int_en {
670union cvmx_l2c_int_ena { 1434union cvmx_l2c_int_ena {
671 uint64_t u64; 1435 uint64_t u64;
672 struct cvmx_l2c_int_ena_s { 1436 struct cvmx_l2c_int_ena_s {
1437#ifdef __BIG_ENDIAN_BITFIELD
673 uint64_t reserved_8_63:56; 1438 uint64_t reserved_8_63:56;
674 uint64_t bigrd:1; 1439 uint64_t bigrd:1;
675 uint64_t bigwr:1; 1440 uint64_t bigwr:1;
@@ -679,9 +1444,22 @@ union cvmx_l2c_int_ena {
679 uint64_t vrtwr:1; 1444 uint64_t vrtwr:1;
680 uint64_t holewr:1; 1445 uint64_t holewr:1;
681 uint64_t holerd:1; 1446 uint64_t holerd:1;
1447#else
1448 uint64_t holerd:1;
1449 uint64_t holewr:1;
1450 uint64_t vrtwr:1;
1451 uint64_t vrtidrng:1;
1452 uint64_t vrtadrng:1;
1453 uint64_t vrtpe:1;
1454 uint64_t bigwr:1;
1455 uint64_t bigrd:1;
1456 uint64_t reserved_8_63:56;
1457#endif
682 } s; 1458 } s;
1459 struct cvmx_l2c_int_ena_s cn61xx;
683 struct cvmx_l2c_int_ena_s cn63xx; 1460 struct cvmx_l2c_int_ena_s cn63xx;
684 struct cvmx_l2c_int_ena_cn63xxp1 { 1461 struct cvmx_l2c_int_ena_cn63xxp1 {
1462#ifdef __BIG_ENDIAN_BITFIELD
685 uint64_t reserved_6_63:58; 1463 uint64_t reserved_6_63:58;
686 uint64_t vrtpe:1; 1464 uint64_t vrtpe:1;
687 uint64_t vrtadrng:1; 1465 uint64_t vrtadrng:1;
@@ -689,13 +1467,30 @@ union cvmx_l2c_int_ena {
689 uint64_t vrtwr:1; 1467 uint64_t vrtwr:1;
690 uint64_t holewr:1; 1468 uint64_t holewr:1;
691 uint64_t holerd:1; 1469 uint64_t holerd:1;
1470#else
1471 uint64_t holerd:1;
1472 uint64_t holewr:1;
1473 uint64_t vrtwr:1;
1474 uint64_t vrtidrng:1;
1475 uint64_t vrtadrng:1;
1476 uint64_t vrtpe:1;
1477 uint64_t reserved_6_63:58;
1478#endif
692 } cn63xxp1; 1479 } cn63xxp1;
1480 struct cvmx_l2c_int_ena_s cn66xx;
1481 struct cvmx_l2c_int_ena_s cn68xx;
1482 struct cvmx_l2c_int_ena_s cn68xxp1;
1483 struct cvmx_l2c_int_ena_s cnf71xx;
693}; 1484};
694 1485
695union cvmx_l2c_int_reg { 1486union cvmx_l2c_int_reg {
696 uint64_t u64; 1487 uint64_t u64;
697 struct cvmx_l2c_int_reg_s { 1488 struct cvmx_l2c_int_reg_s {
698 uint64_t reserved_17_63:47; 1489#ifdef __BIG_ENDIAN_BITFIELD
1490 uint64_t reserved_20_63:44;
1491 uint64_t tad3:1;
1492 uint64_t tad2:1;
1493 uint64_t tad1:1;
699 uint64_t tad0:1; 1494 uint64_t tad0:1;
700 uint64_t reserved_8_15:8; 1495 uint64_t reserved_8_15:8;
701 uint64_t bigrd:1; 1496 uint64_t bigrd:1;
@@ -706,9 +1501,53 @@ union cvmx_l2c_int_reg {
706 uint64_t vrtwr:1; 1501 uint64_t vrtwr:1;
707 uint64_t holewr:1; 1502 uint64_t holewr:1;
708 uint64_t holerd:1; 1503 uint64_t holerd:1;
1504#else
1505 uint64_t holerd:1;
1506 uint64_t holewr:1;
1507 uint64_t vrtwr:1;
1508 uint64_t vrtidrng:1;
1509 uint64_t vrtadrng:1;
1510 uint64_t vrtpe:1;
1511 uint64_t bigwr:1;
1512 uint64_t bigrd:1;
1513 uint64_t reserved_8_15:8;
1514 uint64_t tad0:1;
1515 uint64_t tad1:1;
1516 uint64_t tad2:1;
1517 uint64_t tad3:1;
1518 uint64_t reserved_20_63:44;
1519#endif
709 } s; 1520 } s;
710 struct cvmx_l2c_int_reg_s cn63xx; 1521 struct cvmx_l2c_int_reg_cn61xx {
1522#ifdef __BIG_ENDIAN_BITFIELD
1523 uint64_t reserved_17_63:47;
1524 uint64_t tad0:1;
1525 uint64_t reserved_8_15:8;
1526 uint64_t bigrd:1;
1527 uint64_t bigwr:1;
1528 uint64_t vrtpe:1;
1529 uint64_t vrtadrng:1;
1530 uint64_t vrtidrng:1;
1531 uint64_t vrtwr:1;
1532 uint64_t holewr:1;
1533 uint64_t holerd:1;
1534#else
1535 uint64_t holerd:1;
1536 uint64_t holewr:1;
1537 uint64_t vrtwr:1;
1538 uint64_t vrtidrng:1;
1539 uint64_t vrtadrng:1;
1540 uint64_t vrtpe:1;
1541 uint64_t bigwr:1;
1542 uint64_t bigrd:1;
1543 uint64_t reserved_8_15:8;
1544 uint64_t tad0:1;
1545 uint64_t reserved_17_63:47;
1546#endif
1547 } cn61xx;
1548 struct cvmx_l2c_int_reg_cn61xx cn63xx;
711 struct cvmx_l2c_int_reg_cn63xxp1 { 1549 struct cvmx_l2c_int_reg_cn63xxp1 {
1550#ifdef __BIG_ENDIAN_BITFIELD
712 uint64_t reserved_17_63:47; 1551 uint64_t reserved_17_63:47;
713 uint64_t tad0:1; 1552 uint64_t tad0:1;
714 uint64_t reserved_6_15:10; 1553 uint64_t reserved_6_15:10;
@@ -718,12 +1557,28 @@ union cvmx_l2c_int_reg {
718 uint64_t vrtwr:1; 1557 uint64_t vrtwr:1;
719 uint64_t holewr:1; 1558 uint64_t holewr:1;
720 uint64_t holerd:1; 1559 uint64_t holerd:1;
1560#else
1561 uint64_t holerd:1;
1562 uint64_t holewr:1;
1563 uint64_t vrtwr:1;
1564 uint64_t vrtidrng:1;
1565 uint64_t vrtadrng:1;
1566 uint64_t vrtpe:1;
1567 uint64_t reserved_6_15:10;
1568 uint64_t tad0:1;
1569 uint64_t reserved_17_63:47;
1570#endif
721 } cn63xxp1; 1571 } cn63xxp1;
1572 struct cvmx_l2c_int_reg_cn61xx cn66xx;
1573 struct cvmx_l2c_int_reg_s cn68xx;
1574 struct cvmx_l2c_int_reg_s cn68xxp1;
1575 struct cvmx_l2c_int_reg_cn61xx cnf71xx;
722}; 1576};
723 1577
724union cvmx_l2c_int_stat { 1578union cvmx_l2c_int_stat {
725 uint64_t u64; 1579 uint64_t u64;
726 struct cvmx_l2c_int_stat_s { 1580 struct cvmx_l2c_int_stat_s {
1581#ifdef __BIG_ENDIAN_BITFIELD
727 uint64_t reserved_9_63:55; 1582 uint64_t reserved_9_63:55;
728 uint64_t lck2:1; 1583 uint64_t lck2:1;
729 uint64_t lck:1; 1584 uint64_t lck:1;
@@ -734,6 +1589,18 @@ union cvmx_l2c_int_stat {
734 uint64_t oob3:1; 1589 uint64_t oob3:1;
735 uint64_t oob2:1; 1590 uint64_t oob2:1;
736 uint64_t oob1:1; 1591 uint64_t oob1:1;
1592#else
1593 uint64_t oob1:1;
1594 uint64_t oob2:1;
1595 uint64_t oob3:1;
1596 uint64_t l2tsec:1;
1597 uint64_t l2tded:1;
1598 uint64_t l2dsec:1;
1599 uint64_t l2dded:1;
1600 uint64_t lck:1;
1601 uint64_t lck2:1;
1602 uint64_t reserved_9_63:55;
1603#endif
737 } s; 1604 } s;
738 struct cvmx_l2c_int_stat_s cn52xx; 1605 struct cvmx_l2c_int_stat_s cn52xx;
739 struct cvmx_l2c_int_stat_s cn52xxp1; 1606 struct cvmx_l2c_int_stat_s cn52xxp1;
@@ -744,28 +1611,53 @@ union cvmx_l2c_int_stat {
744union cvmx_l2c_iocx_pfc { 1611union cvmx_l2c_iocx_pfc {
745 uint64_t u64; 1612 uint64_t u64;
746 struct cvmx_l2c_iocx_pfc_s { 1613 struct cvmx_l2c_iocx_pfc_s {
1614#ifdef __BIG_ENDIAN_BITFIELD
1615 uint64_t count:64;
1616#else
747 uint64_t count:64; 1617 uint64_t count:64;
1618#endif
748 } s; 1619 } s;
1620 struct cvmx_l2c_iocx_pfc_s cn61xx;
749 struct cvmx_l2c_iocx_pfc_s cn63xx; 1621 struct cvmx_l2c_iocx_pfc_s cn63xx;
750 struct cvmx_l2c_iocx_pfc_s cn63xxp1; 1622 struct cvmx_l2c_iocx_pfc_s cn63xxp1;
1623 struct cvmx_l2c_iocx_pfc_s cn66xx;
1624 struct cvmx_l2c_iocx_pfc_s cn68xx;
1625 struct cvmx_l2c_iocx_pfc_s cn68xxp1;
1626 struct cvmx_l2c_iocx_pfc_s cnf71xx;
751}; 1627};
752 1628
753union cvmx_l2c_iorx_pfc { 1629union cvmx_l2c_iorx_pfc {
754 uint64_t u64; 1630 uint64_t u64;
755 struct cvmx_l2c_iorx_pfc_s { 1631 struct cvmx_l2c_iorx_pfc_s {
1632#ifdef __BIG_ENDIAN_BITFIELD
1633 uint64_t count:64;
1634#else
756 uint64_t count:64; 1635 uint64_t count:64;
1636#endif
757 } s; 1637 } s;
1638 struct cvmx_l2c_iorx_pfc_s cn61xx;
758 struct cvmx_l2c_iorx_pfc_s cn63xx; 1639 struct cvmx_l2c_iorx_pfc_s cn63xx;
759 struct cvmx_l2c_iorx_pfc_s cn63xxp1; 1640 struct cvmx_l2c_iorx_pfc_s cn63xxp1;
1641 struct cvmx_l2c_iorx_pfc_s cn66xx;
1642 struct cvmx_l2c_iorx_pfc_s cn68xx;
1643 struct cvmx_l2c_iorx_pfc_s cn68xxp1;
1644 struct cvmx_l2c_iorx_pfc_s cnf71xx;
760}; 1645};
761 1646
762union cvmx_l2c_lckbase { 1647union cvmx_l2c_lckbase {
763 uint64_t u64; 1648 uint64_t u64;
764 struct cvmx_l2c_lckbase_s { 1649 struct cvmx_l2c_lckbase_s {
1650#ifdef __BIG_ENDIAN_BITFIELD
765 uint64_t reserved_31_63:33; 1651 uint64_t reserved_31_63:33;
766 uint64_t lck_base:27; 1652 uint64_t lck_base:27;
767 uint64_t reserved_1_3:3; 1653 uint64_t reserved_1_3:3;
768 uint64_t lck_ena:1; 1654 uint64_t lck_ena:1;
1655#else
1656 uint64_t lck_ena:1;
1657 uint64_t reserved_1_3:3;
1658 uint64_t lck_base:27;
1659 uint64_t reserved_31_63:33;
1660#endif
769 } s; 1661 } s;
770 struct cvmx_l2c_lckbase_s cn30xx; 1662 struct cvmx_l2c_lckbase_s cn30xx;
771 struct cvmx_l2c_lckbase_s cn31xx; 1663 struct cvmx_l2c_lckbase_s cn31xx;
@@ -783,8 +1675,13 @@ union cvmx_l2c_lckbase {
783union cvmx_l2c_lckoff { 1675union cvmx_l2c_lckoff {
784 uint64_t u64; 1676 uint64_t u64;
785 struct cvmx_l2c_lckoff_s { 1677 struct cvmx_l2c_lckoff_s {
1678#ifdef __BIG_ENDIAN_BITFIELD
786 uint64_t reserved_10_63:54; 1679 uint64_t reserved_10_63:54;
787 uint64_t lck_offset:10; 1680 uint64_t lck_offset:10;
1681#else
1682 uint64_t lck_offset:10;
1683 uint64_t reserved_10_63:54;
1684#endif
788 } s; 1685 } s;
789 struct cvmx_l2c_lckoff_s cn30xx; 1686 struct cvmx_l2c_lckoff_s cn30xx;
790 struct cvmx_l2c_lckoff_s cn31xx; 1687 struct cvmx_l2c_lckoff_s cn31xx;
@@ -802,6 +1699,7 @@ union cvmx_l2c_lckoff {
802union cvmx_l2c_lfb0 { 1699union cvmx_l2c_lfb0 {
803 uint64_t u64; 1700 uint64_t u64;
804 struct cvmx_l2c_lfb0_s { 1701 struct cvmx_l2c_lfb0_s {
1702#ifdef __BIG_ENDIAN_BITFIELD
805 uint64_t reserved_32_63:32; 1703 uint64_t reserved_32_63:32;
806 uint64_t stcpnd:1; 1704 uint64_t stcpnd:1;
807 uint64_t stpnd:1; 1705 uint64_t stpnd:1;
@@ -816,8 +1714,25 @@ union cvmx_l2c_lfb0 {
816 uint64_t sid:9; 1714 uint64_t sid:9;
817 uint64_t cmd:4; 1715 uint64_t cmd:4;
818 uint64_t vld:1; 1716 uint64_t vld:1;
1717#else
1718 uint64_t vld:1;
1719 uint64_t cmd:4;
1720 uint64_t sid:9;
1721 uint64_t vabnum:4;
1722 uint64_t set:3;
1723 uint64_t ihd:1;
1724 uint64_t itl:1;
1725 uint64_t inxt:4;
1726 uint64_t vam:1;
1727 uint64_t stcfl:1;
1728 uint64_t stinv:1;
1729 uint64_t stpnd:1;
1730 uint64_t stcpnd:1;
1731 uint64_t reserved_32_63:32;
1732#endif
819 } s; 1733 } s;
820 struct cvmx_l2c_lfb0_cn30xx { 1734 struct cvmx_l2c_lfb0_cn30xx {
1735#ifdef __BIG_ENDIAN_BITFIELD
821 uint64_t reserved_32_63:32; 1736 uint64_t reserved_32_63:32;
822 uint64_t stcpnd:1; 1737 uint64_t stcpnd:1;
823 uint64_t stpnd:1; 1738 uint64_t stpnd:1;
@@ -835,8 +1750,28 @@ union cvmx_l2c_lfb0 {
835 uint64_t sid:9; 1750 uint64_t sid:9;
836 uint64_t cmd:4; 1751 uint64_t cmd:4;
837 uint64_t vld:1; 1752 uint64_t vld:1;
1753#else
1754 uint64_t vld:1;
1755 uint64_t cmd:4;
1756 uint64_t sid:9;
1757 uint64_t vabnum:2;
1758 uint64_t reserved_16_17:2;
1759 uint64_t set:2;
1760 uint64_t reserved_20_20:1;
1761 uint64_t ihd:1;
1762 uint64_t itl:1;
1763 uint64_t inxt:2;
1764 uint64_t reserved_25_26:2;
1765 uint64_t vam:1;
1766 uint64_t stcfl:1;
1767 uint64_t stinv:1;
1768 uint64_t stpnd:1;
1769 uint64_t stcpnd:1;
1770 uint64_t reserved_32_63:32;
1771#endif
838 } cn30xx; 1772 } cn30xx;
839 struct cvmx_l2c_lfb0_cn31xx { 1773 struct cvmx_l2c_lfb0_cn31xx {
1774#ifdef __BIG_ENDIAN_BITFIELD
840 uint64_t reserved_32_63:32; 1775 uint64_t reserved_32_63:32;
841 uint64_t stcpnd:1; 1776 uint64_t stcpnd:1;
842 uint64_t stpnd:1; 1777 uint64_t stpnd:1;
@@ -854,10 +1789,30 @@ union cvmx_l2c_lfb0 {
854 uint64_t sid:9; 1789 uint64_t sid:9;
855 uint64_t cmd:4; 1790 uint64_t cmd:4;
856 uint64_t vld:1; 1791 uint64_t vld:1;
1792#else
1793 uint64_t vld:1;
1794 uint64_t cmd:4;
1795 uint64_t sid:9;
1796 uint64_t vabnum:3;
1797 uint64_t reserved_17_17:1;
1798 uint64_t set:2;
1799 uint64_t reserved_20_20:1;
1800 uint64_t ihd:1;
1801 uint64_t itl:1;
1802 uint64_t inxt:3;
1803 uint64_t reserved_26_26:1;
1804 uint64_t vam:1;
1805 uint64_t stcfl:1;
1806 uint64_t stinv:1;
1807 uint64_t stpnd:1;
1808 uint64_t stcpnd:1;
1809 uint64_t reserved_32_63:32;
1810#endif
857 } cn31xx; 1811 } cn31xx;
858 struct cvmx_l2c_lfb0_s cn38xx; 1812 struct cvmx_l2c_lfb0_s cn38xx;
859 struct cvmx_l2c_lfb0_s cn38xxp2; 1813 struct cvmx_l2c_lfb0_s cn38xxp2;
860 struct cvmx_l2c_lfb0_cn50xx { 1814 struct cvmx_l2c_lfb0_cn50xx {
1815#ifdef __BIG_ENDIAN_BITFIELD
861 uint64_t reserved_32_63:32; 1816 uint64_t reserved_32_63:32;
862 uint64_t stcpnd:1; 1817 uint64_t stcpnd:1;
863 uint64_t stpnd:1; 1818 uint64_t stpnd:1;
@@ -874,6 +1829,24 @@ union cvmx_l2c_lfb0 {
874 uint64_t sid:9; 1829 uint64_t sid:9;
875 uint64_t cmd:4; 1830 uint64_t cmd:4;
876 uint64_t vld:1; 1831 uint64_t vld:1;
1832#else
1833 uint64_t vld:1;
1834 uint64_t cmd:4;
1835 uint64_t sid:9;
1836 uint64_t vabnum:3;
1837 uint64_t reserved_17_17:1;
1838 uint64_t set:3;
1839 uint64_t ihd:1;
1840 uint64_t itl:1;
1841 uint64_t inxt:3;
1842 uint64_t reserved_26_26:1;
1843 uint64_t vam:1;
1844 uint64_t stcfl:1;
1845 uint64_t stinv:1;
1846 uint64_t stpnd:1;
1847 uint64_t stcpnd:1;
1848 uint64_t reserved_32_63:32;
1849#endif
877 } cn50xx; 1850 } cn50xx;
878 struct cvmx_l2c_lfb0_cn50xx cn52xx; 1851 struct cvmx_l2c_lfb0_cn50xx cn52xx;
879 struct cvmx_l2c_lfb0_cn50xx cn52xxp1; 1852 struct cvmx_l2c_lfb0_cn50xx cn52xxp1;
@@ -886,6 +1859,7 @@ union cvmx_l2c_lfb0 {
886union cvmx_l2c_lfb1 { 1859union cvmx_l2c_lfb1 {
887 uint64_t u64; 1860 uint64_t u64;
888 struct cvmx_l2c_lfb1_s { 1861 struct cvmx_l2c_lfb1_s {
1862#ifdef __BIG_ENDIAN_BITFIELD
889 uint64_t reserved_19_63:45; 1863 uint64_t reserved_19_63:45;
890 uint64_t dsgoing:1; 1864 uint64_t dsgoing:1;
891 uint64_t bid:2; 1865 uint64_t bid:2;
@@ -905,6 +1879,27 @@ union cvmx_l2c_lfb1 {
905 uint64_t prbrty:1; 1879 uint64_t prbrty:1;
906 uint64_t wtprb:1; 1880 uint64_t wtprb:1;
907 uint64_t vld:1; 1881 uint64_t vld:1;
1882#else
1883 uint64_t vld:1;
1884 uint64_t wtprb:1;
1885 uint64_t prbrty:1;
1886 uint64_t wtmfl:1;
1887 uint64_t wtvtm:1;
1888 uint64_t wtstrsc:1;
1889 uint64_t wtstrsp:1;
1890 uint64_t wtstdt:1;
1891 uint64_t wtrda:1;
1892 uint64_t wtstm:1;
1893 uint64_t wtwrm:1;
1894 uint64_t wtwhf:1;
1895 uint64_t wtwhp:1;
1896 uint64_t wtdq:1;
1897 uint64_t wtdw:1;
1898 uint64_t wtrsp:1;
1899 uint64_t bid:2;
1900 uint64_t dsgoing:1;
1901 uint64_t reserved_19_63:45;
1902#endif
908 } s; 1903 } s;
909 struct cvmx_l2c_lfb1_s cn30xx; 1904 struct cvmx_l2c_lfb1_s cn30xx;
910 struct cvmx_l2c_lfb1_s cn31xx; 1905 struct cvmx_l2c_lfb1_s cn31xx;
@@ -922,35 +1917,69 @@ union cvmx_l2c_lfb1 {
922union cvmx_l2c_lfb2 { 1917union cvmx_l2c_lfb2 {
923 uint64_t u64; 1918 uint64_t u64;
924 struct cvmx_l2c_lfb2_s { 1919 struct cvmx_l2c_lfb2_s {
1920#ifdef __BIG_ENDIAN_BITFIELD
925 uint64_t reserved_0_63:64; 1921 uint64_t reserved_0_63:64;
1922#else
1923 uint64_t reserved_0_63:64;
1924#endif
926 } s; 1925 } s;
927 struct cvmx_l2c_lfb2_cn30xx { 1926 struct cvmx_l2c_lfb2_cn30xx {
1927#ifdef __BIG_ENDIAN_BITFIELD
928 uint64_t reserved_27_63:37; 1928 uint64_t reserved_27_63:37;
929 uint64_t lfb_tag:19; 1929 uint64_t lfb_tag:19;
930 uint64_t lfb_idx:8; 1930 uint64_t lfb_idx:8;
1931#else
1932 uint64_t lfb_idx:8;
1933 uint64_t lfb_tag:19;
1934 uint64_t reserved_27_63:37;
1935#endif
931 } cn30xx; 1936 } cn30xx;
932 struct cvmx_l2c_lfb2_cn31xx { 1937 struct cvmx_l2c_lfb2_cn31xx {
1938#ifdef __BIG_ENDIAN_BITFIELD
933 uint64_t reserved_27_63:37; 1939 uint64_t reserved_27_63:37;
934 uint64_t lfb_tag:17; 1940 uint64_t lfb_tag:17;
935 uint64_t lfb_idx:10; 1941 uint64_t lfb_idx:10;
1942#else
1943 uint64_t lfb_idx:10;
1944 uint64_t lfb_tag:17;
1945 uint64_t reserved_27_63:37;
1946#endif
936 } cn31xx; 1947 } cn31xx;
937 struct cvmx_l2c_lfb2_cn31xx cn38xx; 1948 struct cvmx_l2c_lfb2_cn31xx cn38xx;
938 struct cvmx_l2c_lfb2_cn31xx cn38xxp2; 1949 struct cvmx_l2c_lfb2_cn31xx cn38xxp2;
939 struct cvmx_l2c_lfb2_cn50xx { 1950 struct cvmx_l2c_lfb2_cn50xx {
1951#ifdef __BIG_ENDIAN_BITFIELD
940 uint64_t reserved_27_63:37; 1952 uint64_t reserved_27_63:37;
941 uint64_t lfb_tag:20; 1953 uint64_t lfb_tag:20;
942 uint64_t lfb_idx:7; 1954 uint64_t lfb_idx:7;
1955#else
1956 uint64_t lfb_idx:7;
1957 uint64_t lfb_tag:20;
1958 uint64_t reserved_27_63:37;
1959#endif
943 } cn50xx; 1960 } cn50xx;
944 struct cvmx_l2c_lfb2_cn52xx { 1961 struct cvmx_l2c_lfb2_cn52xx {
1962#ifdef __BIG_ENDIAN_BITFIELD
945 uint64_t reserved_27_63:37; 1963 uint64_t reserved_27_63:37;
946 uint64_t lfb_tag:18; 1964 uint64_t lfb_tag:18;
947 uint64_t lfb_idx:9; 1965 uint64_t lfb_idx:9;
1966#else
1967 uint64_t lfb_idx:9;
1968 uint64_t lfb_tag:18;
1969 uint64_t reserved_27_63:37;
1970#endif
948 } cn52xx; 1971 } cn52xx;
949 struct cvmx_l2c_lfb2_cn52xx cn52xxp1; 1972 struct cvmx_l2c_lfb2_cn52xx cn52xxp1;
950 struct cvmx_l2c_lfb2_cn56xx { 1973 struct cvmx_l2c_lfb2_cn56xx {
1974#ifdef __BIG_ENDIAN_BITFIELD
951 uint64_t reserved_27_63:37; 1975 uint64_t reserved_27_63:37;
952 uint64_t lfb_tag:16; 1976 uint64_t lfb_tag:16;
953 uint64_t lfb_idx:11; 1977 uint64_t lfb_idx:11;
1978#else
1979 uint64_t lfb_idx:11;
1980 uint64_t lfb_tag:16;
1981 uint64_t reserved_27_63:37;
1982#endif
954 } cn56xx; 1983 } cn56xx;
955 struct cvmx_l2c_lfb2_cn56xx cn56xxp1; 1984 struct cvmx_l2c_lfb2_cn56xx cn56xxp1;
956 struct cvmx_l2c_lfb2_cn56xx cn58xx; 1985 struct cvmx_l2c_lfb2_cn56xx cn58xx;
@@ -960,21 +1989,41 @@ union cvmx_l2c_lfb2 {
960union cvmx_l2c_lfb3 { 1989union cvmx_l2c_lfb3 {
961 uint64_t u64; 1990 uint64_t u64;
962 struct cvmx_l2c_lfb3_s { 1991 struct cvmx_l2c_lfb3_s {
1992#ifdef __BIG_ENDIAN_BITFIELD
963 uint64_t reserved_5_63:59; 1993 uint64_t reserved_5_63:59;
964 uint64_t stpartdis:1; 1994 uint64_t stpartdis:1;
965 uint64_t lfb_hwm:4; 1995 uint64_t lfb_hwm:4;
1996#else
1997 uint64_t lfb_hwm:4;
1998 uint64_t stpartdis:1;
1999 uint64_t reserved_5_63:59;
2000#endif
966 } s; 2001 } s;
967 struct cvmx_l2c_lfb3_cn30xx { 2002 struct cvmx_l2c_lfb3_cn30xx {
2003#ifdef __BIG_ENDIAN_BITFIELD
968 uint64_t reserved_5_63:59; 2004 uint64_t reserved_5_63:59;
969 uint64_t stpartdis:1; 2005 uint64_t stpartdis:1;
970 uint64_t reserved_2_3:2; 2006 uint64_t reserved_2_3:2;
971 uint64_t lfb_hwm:2; 2007 uint64_t lfb_hwm:2;
2008#else
2009 uint64_t lfb_hwm:2;
2010 uint64_t reserved_2_3:2;
2011 uint64_t stpartdis:1;
2012 uint64_t reserved_5_63:59;
2013#endif
972 } cn30xx; 2014 } cn30xx;
973 struct cvmx_l2c_lfb3_cn31xx { 2015 struct cvmx_l2c_lfb3_cn31xx {
2016#ifdef __BIG_ENDIAN_BITFIELD
974 uint64_t reserved_5_63:59; 2017 uint64_t reserved_5_63:59;
975 uint64_t stpartdis:1; 2018 uint64_t stpartdis:1;
976 uint64_t reserved_3_3:1; 2019 uint64_t reserved_3_3:1;
977 uint64_t lfb_hwm:3; 2020 uint64_t lfb_hwm:3;
2021#else
2022 uint64_t lfb_hwm:3;
2023 uint64_t reserved_3_3:1;
2024 uint64_t stpartdis:1;
2025 uint64_t reserved_5_63:59;
2026#endif
978 } cn31xx; 2027 } cn31xx;
979 struct cvmx_l2c_lfb3_s cn38xx; 2028 struct cvmx_l2c_lfb3_s cn38xx;
980 struct cvmx_l2c_lfb3_s cn38xxp2; 2029 struct cvmx_l2c_lfb3_s cn38xxp2;
@@ -990,9 +2039,15 @@ union cvmx_l2c_lfb3 {
990union cvmx_l2c_oob { 2039union cvmx_l2c_oob {
991 uint64_t u64; 2040 uint64_t u64;
992 struct cvmx_l2c_oob_s { 2041 struct cvmx_l2c_oob_s {
2042#ifdef __BIG_ENDIAN_BITFIELD
993 uint64_t reserved_2_63:62; 2043 uint64_t reserved_2_63:62;
994 uint64_t dwbena:1; 2044 uint64_t dwbena:1;
995 uint64_t stena:1; 2045 uint64_t stena:1;
2046#else
2047 uint64_t stena:1;
2048 uint64_t dwbena:1;
2049 uint64_t reserved_2_63:62;
2050#endif
996 } s; 2051 } s;
997 struct cvmx_l2c_oob_s cn52xx; 2052 struct cvmx_l2c_oob_s cn52xx;
998 struct cvmx_l2c_oob_s cn52xxp1; 2053 struct cvmx_l2c_oob_s cn52xxp1;
@@ -1003,12 +2058,21 @@ union cvmx_l2c_oob {
1003union cvmx_l2c_oob1 { 2058union cvmx_l2c_oob1 {
1004 uint64_t u64; 2059 uint64_t u64;
1005 struct cvmx_l2c_oob1_s { 2060 struct cvmx_l2c_oob1_s {
2061#ifdef __BIG_ENDIAN_BITFIELD
1006 uint64_t fadr:27; 2062 uint64_t fadr:27;
1007 uint64_t fsrc:1; 2063 uint64_t fsrc:1;
1008 uint64_t reserved_34_35:2; 2064 uint64_t reserved_34_35:2;
1009 uint64_t sadr:14; 2065 uint64_t sadr:14;
1010 uint64_t reserved_14_19:6; 2066 uint64_t reserved_14_19:6;
1011 uint64_t size:14; 2067 uint64_t size:14;
2068#else
2069 uint64_t size:14;
2070 uint64_t reserved_14_19:6;
2071 uint64_t sadr:14;
2072 uint64_t reserved_34_35:2;
2073 uint64_t fsrc:1;
2074 uint64_t fadr:27;
2075#endif
1012 } s; 2076 } s;
1013 struct cvmx_l2c_oob1_s cn52xx; 2077 struct cvmx_l2c_oob1_s cn52xx;
1014 struct cvmx_l2c_oob1_s cn52xxp1; 2078 struct cvmx_l2c_oob1_s cn52xxp1;
@@ -1019,12 +2083,21 @@ union cvmx_l2c_oob1 {
1019union cvmx_l2c_oob2 { 2083union cvmx_l2c_oob2 {
1020 uint64_t u64; 2084 uint64_t u64;
1021 struct cvmx_l2c_oob2_s { 2085 struct cvmx_l2c_oob2_s {
2086#ifdef __BIG_ENDIAN_BITFIELD
1022 uint64_t fadr:27; 2087 uint64_t fadr:27;
1023 uint64_t fsrc:1; 2088 uint64_t fsrc:1;
1024 uint64_t reserved_34_35:2; 2089 uint64_t reserved_34_35:2;
1025 uint64_t sadr:14; 2090 uint64_t sadr:14;
1026 uint64_t reserved_14_19:6; 2091 uint64_t reserved_14_19:6;
1027 uint64_t size:14; 2092 uint64_t size:14;
2093#else
2094 uint64_t size:14;
2095 uint64_t reserved_14_19:6;
2096 uint64_t sadr:14;
2097 uint64_t reserved_34_35:2;
2098 uint64_t fsrc:1;
2099 uint64_t fadr:27;
2100#endif
1028 } s; 2101 } s;
1029 struct cvmx_l2c_oob2_s cn52xx; 2102 struct cvmx_l2c_oob2_s cn52xx;
1030 struct cvmx_l2c_oob2_s cn52xxp1; 2103 struct cvmx_l2c_oob2_s cn52xxp1;
@@ -1035,12 +2108,21 @@ union cvmx_l2c_oob2 {
1035union cvmx_l2c_oob3 { 2108union cvmx_l2c_oob3 {
1036 uint64_t u64; 2109 uint64_t u64;
1037 struct cvmx_l2c_oob3_s { 2110 struct cvmx_l2c_oob3_s {
2111#ifdef __BIG_ENDIAN_BITFIELD
1038 uint64_t fadr:27; 2112 uint64_t fadr:27;
1039 uint64_t fsrc:1; 2113 uint64_t fsrc:1;
1040 uint64_t reserved_34_35:2; 2114 uint64_t reserved_34_35:2;
1041 uint64_t sadr:14; 2115 uint64_t sadr:14;
1042 uint64_t reserved_14_19:6; 2116 uint64_t reserved_14_19:6;
1043 uint64_t size:14; 2117 uint64_t size:14;
2118#else
2119 uint64_t size:14;
2120 uint64_t reserved_14_19:6;
2121 uint64_t sadr:14;
2122 uint64_t reserved_34_35:2;
2123 uint64_t fsrc:1;
2124 uint64_t fadr:27;
2125#endif
1044 } s; 2126 } s;
1045 struct cvmx_l2c_oob3_s cn52xx; 2127 struct cvmx_l2c_oob3_s cn52xx;
1046 struct cvmx_l2c_oob3_s cn52xxp1; 2128 struct cvmx_l2c_oob3_s cn52xxp1;
@@ -1051,8 +2133,13 @@ union cvmx_l2c_oob3 {
1051union cvmx_l2c_pfcx { 2133union cvmx_l2c_pfcx {
1052 uint64_t u64; 2134 uint64_t u64;
1053 struct cvmx_l2c_pfcx_s { 2135 struct cvmx_l2c_pfcx_s {
2136#ifdef __BIG_ENDIAN_BITFIELD
1054 uint64_t reserved_36_63:28; 2137 uint64_t reserved_36_63:28;
1055 uint64_t pfcnt0:36; 2138 uint64_t pfcnt0:36;
2139#else
2140 uint64_t pfcnt0:36;
2141 uint64_t reserved_36_63:28;
2142#endif
1056 } s; 2143 } s;
1057 struct cvmx_l2c_pfcx_s cn30xx; 2144 struct cvmx_l2c_pfcx_s cn30xx;
1058 struct cvmx_l2c_pfcx_s cn31xx; 2145 struct cvmx_l2c_pfcx_s cn31xx;
@@ -1070,6 +2157,7 @@ union cvmx_l2c_pfcx {
1070union cvmx_l2c_pfctl { 2157union cvmx_l2c_pfctl {
1071 uint64_t u64; 2158 uint64_t u64;
1072 struct cvmx_l2c_pfctl_s { 2159 struct cvmx_l2c_pfctl_s {
2160#ifdef __BIG_ENDIAN_BITFIELD
1073 uint64_t reserved_36_63:28; 2161 uint64_t reserved_36_63:28;
1074 uint64_t cnt3rdclr:1; 2162 uint64_t cnt3rdclr:1;
1075 uint64_t cnt2rdclr:1; 2163 uint64_t cnt2rdclr:1;
@@ -1087,6 +2175,25 @@ union cvmx_l2c_pfctl {
1087 uint64_t cnt0ena:1; 2175 uint64_t cnt0ena:1;
1088 uint64_t cnt0clr:1; 2176 uint64_t cnt0clr:1;
1089 uint64_t cnt0sel:6; 2177 uint64_t cnt0sel:6;
2178#else
2179 uint64_t cnt0sel:6;
2180 uint64_t cnt0clr:1;
2181 uint64_t cnt0ena:1;
2182 uint64_t cnt1sel:6;
2183 uint64_t cnt1clr:1;
2184 uint64_t cnt1ena:1;
2185 uint64_t cnt2sel:6;
2186 uint64_t cnt2clr:1;
2187 uint64_t cnt2ena:1;
2188 uint64_t cnt3sel:6;
2189 uint64_t cnt3clr:1;
2190 uint64_t cnt3ena:1;
2191 uint64_t cnt0rdclr:1;
2192 uint64_t cnt1rdclr:1;
2193 uint64_t cnt2rdclr:1;
2194 uint64_t cnt3rdclr:1;
2195 uint64_t reserved_36_63:28;
2196#endif
1090 } s; 2197 } s;
1091 struct cvmx_l2c_pfctl_s cn30xx; 2198 struct cvmx_l2c_pfctl_s cn30xx;
1092 struct cvmx_l2c_pfctl_s cn31xx; 2199 struct cvmx_l2c_pfctl_s cn31xx;
@@ -1104,6 +2211,7 @@ union cvmx_l2c_pfctl {
1104union cvmx_l2c_ppgrp { 2211union cvmx_l2c_ppgrp {
1105 uint64_t u64; 2212 uint64_t u64;
1106 struct cvmx_l2c_ppgrp_s { 2213 struct cvmx_l2c_ppgrp_s {
2214#ifdef __BIG_ENDIAN_BITFIELD
1107 uint64_t reserved_24_63:40; 2215 uint64_t reserved_24_63:40;
1108 uint64_t pp11grp:2; 2216 uint64_t pp11grp:2;
1109 uint64_t pp10grp:2; 2217 uint64_t pp10grp:2;
@@ -1117,13 +2225,36 @@ union cvmx_l2c_ppgrp {
1117 uint64_t pp2grp:2; 2225 uint64_t pp2grp:2;
1118 uint64_t pp1grp:2; 2226 uint64_t pp1grp:2;
1119 uint64_t pp0grp:2; 2227 uint64_t pp0grp:2;
2228#else
2229 uint64_t pp0grp:2;
2230 uint64_t pp1grp:2;
2231 uint64_t pp2grp:2;
2232 uint64_t pp3grp:2;
2233 uint64_t pp4grp:2;
2234 uint64_t pp5grp:2;
2235 uint64_t pp6grp:2;
2236 uint64_t pp7grp:2;
2237 uint64_t pp8grp:2;
2238 uint64_t pp9grp:2;
2239 uint64_t pp10grp:2;
2240 uint64_t pp11grp:2;
2241 uint64_t reserved_24_63:40;
2242#endif
1120 } s; 2243 } s;
1121 struct cvmx_l2c_ppgrp_cn52xx { 2244 struct cvmx_l2c_ppgrp_cn52xx {
2245#ifdef __BIG_ENDIAN_BITFIELD
1122 uint64_t reserved_8_63:56; 2246 uint64_t reserved_8_63:56;
1123 uint64_t pp3grp:2; 2247 uint64_t pp3grp:2;
1124 uint64_t pp2grp:2; 2248 uint64_t pp2grp:2;
1125 uint64_t pp1grp:2; 2249 uint64_t pp1grp:2;
1126 uint64_t pp0grp:2; 2250 uint64_t pp0grp:2;
2251#else
2252 uint64_t pp0grp:2;
2253 uint64_t pp1grp:2;
2254 uint64_t pp2grp:2;
2255 uint64_t pp3grp:2;
2256 uint64_t reserved_8_63:56;
2257#endif
1127 } cn52xx; 2258 } cn52xx;
1128 struct cvmx_l2c_ppgrp_cn52xx cn52xxp1; 2259 struct cvmx_l2c_ppgrp_cn52xx cn52xxp1;
1129 struct cvmx_l2c_ppgrp_s cn56xx; 2260 struct cvmx_l2c_ppgrp_s cn56xx;
@@ -1133,81 +2264,200 @@ union cvmx_l2c_ppgrp {
1133union cvmx_l2c_qos_iobx { 2264union cvmx_l2c_qos_iobx {
1134 uint64_t u64; 2265 uint64_t u64;
1135 struct cvmx_l2c_qos_iobx_s { 2266 struct cvmx_l2c_qos_iobx_s {
2267#ifdef __BIG_ENDIAN_BITFIELD
2268 uint64_t reserved_7_63:57;
2269 uint64_t dwblvl:3;
2270 uint64_t reserved_3_3:1;
2271 uint64_t lvl:3;
2272#else
2273 uint64_t lvl:3;
2274 uint64_t reserved_3_3:1;
2275 uint64_t dwblvl:3;
2276 uint64_t reserved_7_63:57;
2277#endif
2278 } s;
2279 struct cvmx_l2c_qos_iobx_cn61xx {
2280#ifdef __BIG_ENDIAN_BITFIELD
1136 uint64_t reserved_6_63:58; 2281 uint64_t reserved_6_63:58;
1137 uint64_t dwblvl:2; 2282 uint64_t dwblvl:2;
1138 uint64_t reserved_2_3:2; 2283 uint64_t reserved_2_3:2;
1139 uint64_t lvl:2; 2284 uint64_t lvl:2;
1140 } s; 2285#else
1141 struct cvmx_l2c_qos_iobx_s cn63xx; 2286 uint64_t lvl:2;
1142 struct cvmx_l2c_qos_iobx_s cn63xxp1; 2287 uint64_t reserved_2_3:2;
2288 uint64_t dwblvl:2;
2289 uint64_t reserved_6_63:58;
2290#endif
2291 } cn61xx;
2292 struct cvmx_l2c_qos_iobx_cn61xx cn63xx;
2293 struct cvmx_l2c_qos_iobx_cn61xx cn63xxp1;
2294 struct cvmx_l2c_qos_iobx_cn61xx cn66xx;
2295 struct cvmx_l2c_qos_iobx_s cn68xx;
2296 struct cvmx_l2c_qos_iobx_s cn68xxp1;
2297 struct cvmx_l2c_qos_iobx_cn61xx cnf71xx;
1143}; 2298};
1144 2299
1145union cvmx_l2c_qos_ppx { 2300union cvmx_l2c_qos_ppx {
1146 uint64_t u64; 2301 uint64_t u64;
1147 struct cvmx_l2c_qos_ppx_s { 2302 struct cvmx_l2c_qos_ppx_s {
2303#ifdef __BIG_ENDIAN_BITFIELD
2304 uint64_t reserved_3_63:61;
2305 uint64_t lvl:3;
2306#else
2307 uint64_t lvl:3;
2308 uint64_t reserved_3_63:61;
2309#endif
2310 } s;
2311 struct cvmx_l2c_qos_ppx_cn61xx {
2312#ifdef __BIG_ENDIAN_BITFIELD
1148 uint64_t reserved_2_63:62; 2313 uint64_t reserved_2_63:62;
1149 uint64_t lvl:2; 2314 uint64_t lvl:2;
1150 } s; 2315#else
1151 struct cvmx_l2c_qos_ppx_s cn63xx; 2316 uint64_t lvl:2;
1152 struct cvmx_l2c_qos_ppx_s cn63xxp1; 2317 uint64_t reserved_2_63:62;
2318#endif
2319 } cn61xx;
2320 struct cvmx_l2c_qos_ppx_cn61xx cn63xx;
2321 struct cvmx_l2c_qos_ppx_cn61xx cn63xxp1;
2322 struct cvmx_l2c_qos_ppx_cn61xx cn66xx;
2323 struct cvmx_l2c_qos_ppx_s cn68xx;
2324 struct cvmx_l2c_qos_ppx_s cn68xxp1;
2325 struct cvmx_l2c_qos_ppx_cn61xx cnf71xx;
1153}; 2326};
1154 2327
1155union cvmx_l2c_qos_wgt { 2328union cvmx_l2c_qos_wgt {
1156 uint64_t u64; 2329 uint64_t u64;
1157 struct cvmx_l2c_qos_wgt_s { 2330 struct cvmx_l2c_qos_wgt_s {
1158 uint64_t reserved_32_63:32; 2331#ifdef __BIG_ENDIAN_BITFIELD
2332 uint64_t wgt7:8;
2333 uint64_t wgt6:8;
2334 uint64_t wgt5:8;
2335 uint64_t wgt4:8;
1159 uint64_t wgt3:8; 2336 uint64_t wgt3:8;
1160 uint64_t wgt2:8; 2337 uint64_t wgt2:8;
1161 uint64_t wgt1:8; 2338 uint64_t wgt1:8;
1162 uint64_t wgt0:8; 2339 uint64_t wgt0:8;
2340#else
2341 uint64_t wgt0:8;
2342 uint64_t wgt1:8;
2343 uint64_t wgt2:8;
2344 uint64_t wgt3:8;
2345 uint64_t wgt4:8;
2346 uint64_t wgt5:8;
2347 uint64_t wgt6:8;
2348 uint64_t wgt7:8;
2349#endif
1163 } s; 2350 } s;
1164 struct cvmx_l2c_qos_wgt_s cn63xx; 2351 struct cvmx_l2c_qos_wgt_cn61xx {
1165 struct cvmx_l2c_qos_wgt_s cn63xxp1; 2352#ifdef __BIG_ENDIAN_BITFIELD
2353 uint64_t reserved_32_63:32;
2354 uint64_t wgt3:8;
2355 uint64_t wgt2:8;
2356 uint64_t wgt1:8;
2357 uint64_t wgt0:8;
2358#else
2359 uint64_t wgt0:8;
2360 uint64_t wgt1:8;
2361 uint64_t wgt2:8;
2362 uint64_t wgt3:8;
2363 uint64_t reserved_32_63:32;
2364#endif
2365 } cn61xx;
2366 struct cvmx_l2c_qos_wgt_cn61xx cn63xx;
2367 struct cvmx_l2c_qos_wgt_cn61xx cn63xxp1;
2368 struct cvmx_l2c_qos_wgt_cn61xx cn66xx;
2369 struct cvmx_l2c_qos_wgt_s cn68xx;
2370 struct cvmx_l2c_qos_wgt_s cn68xxp1;
2371 struct cvmx_l2c_qos_wgt_cn61xx cnf71xx;
1166}; 2372};
1167 2373
1168union cvmx_l2c_rscx_pfc { 2374union cvmx_l2c_rscx_pfc {
1169 uint64_t u64; 2375 uint64_t u64;
1170 struct cvmx_l2c_rscx_pfc_s { 2376 struct cvmx_l2c_rscx_pfc_s {
2377#ifdef __BIG_ENDIAN_BITFIELD
1171 uint64_t count:64; 2378 uint64_t count:64;
2379#else
2380 uint64_t count:64;
2381#endif
1172 } s; 2382 } s;
2383 struct cvmx_l2c_rscx_pfc_s cn61xx;
1173 struct cvmx_l2c_rscx_pfc_s cn63xx; 2384 struct cvmx_l2c_rscx_pfc_s cn63xx;
1174 struct cvmx_l2c_rscx_pfc_s cn63xxp1; 2385 struct cvmx_l2c_rscx_pfc_s cn63xxp1;
2386 struct cvmx_l2c_rscx_pfc_s cn66xx;
2387 struct cvmx_l2c_rscx_pfc_s cn68xx;
2388 struct cvmx_l2c_rscx_pfc_s cn68xxp1;
2389 struct cvmx_l2c_rscx_pfc_s cnf71xx;
1175}; 2390};
1176 2391
1177union cvmx_l2c_rsdx_pfc { 2392union cvmx_l2c_rsdx_pfc {
1178 uint64_t u64; 2393 uint64_t u64;
1179 struct cvmx_l2c_rsdx_pfc_s { 2394 struct cvmx_l2c_rsdx_pfc_s {
2395#ifdef __BIG_ENDIAN_BITFIELD
1180 uint64_t count:64; 2396 uint64_t count:64;
2397#else
2398 uint64_t count:64;
2399#endif
1181 } s; 2400 } s;
2401 struct cvmx_l2c_rsdx_pfc_s cn61xx;
1182 struct cvmx_l2c_rsdx_pfc_s cn63xx; 2402 struct cvmx_l2c_rsdx_pfc_s cn63xx;
1183 struct cvmx_l2c_rsdx_pfc_s cn63xxp1; 2403 struct cvmx_l2c_rsdx_pfc_s cn63xxp1;
2404 struct cvmx_l2c_rsdx_pfc_s cn66xx;
2405 struct cvmx_l2c_rsdx_pfc_s cn68xx;
2406 struct cvmx_l2c_rsdx_pfc_s cn68xxp1;
2407 struct cvmx_l2c_rsdx_pfc_s cnf71xx;
1184}; 2408};
1185 2409
1186union cvmx_l2c_spar0 { 2410union cvmx_l2c_spar0 {
1187 uint64_t u64; 2411 uint64_t u64;
1188 struct cvmx_l2c_spar0_s { 2412 struct cvmx_l2c_spar0_s {
2413#ifdef __BIG_ENDIAN_BITFIELD
1189 uint64_t reserved_32_63:32; 2414 uint64_t reserved_32_63:32;
1190 uint64_t umsk3:8; 2415 uint64_t umsk3:8;
1191 uint64_t umsk2:8; 2416 uint64_t umsk2:8;
1192 uint64_t umsk1:8; 2417 uint64_t umsk1:8;
1193 uint64_t umsk0:8; 2418 uint64_t umsk0:8;
2419#else
2420 uint64_t umsk0:8;
2421 uint64_t umsk1:8;
2422 uint64_t umsk2:8;
2423 uint64_t umsk3:8;
2424 uint64_t reserved_32_63:32;
2425#endif
1194 } s; 2426 } s;
1195 struct cvmx_l2c_spar0_cn30xx { 2427 struct cvmx_l2c_spar0_cn30xx {
2428#ifdef __BIG_ENDIAN_BITFIELD
1196 uint64_t reserved_4_63:60; 2429 uint64_t reserved_4_63:60;
1197 uint64_t umsk0:4; 2430 uint64_t umsk0:4;
2431#else
2432 uint64_t umsk0:4;
2433 uint64_t reserved_4_63:60;
2434#endif
1198 } cn30xx; 2435 } cn30xx;
1199 struct cvmx_l2c_spar0_cn31xx { 2436 struct cvmx_l2c_spar0_cn31xx {
2437#ifdef __BIG_ENDIAN_BITFIELD
1200 uint64_t reserved_12_63:52; 2438 uint64_t reserved_12_63:52;
1201 uint64_t umsk1:4; 2439 uint64_t umsk1:4;
1202 uint64_t reserved_4_7:4; 2440 uint64_t reserved_4_7:4;
1203 uint64_t umsk0:4; 2441 uint64_t umsk0:4;
2442#else
2443 uint64_t umsk0:4;
2444 uint64_t reserved_4_7:4;
2445 uint64_t umsk1:4;
2446 uint64_t reserved_12_63:52;
2447#endif
1204 } cn31xx; 2448 } cn31xx;
1205 struct cvmx_l2c_spar0_s cn38xx; 2449 struct cvmx_l2c_spar0_s cn38xx;
1206 struct cvmx_l2c_spar0_s cn38xxp2; 2450 struct cvmx_l2c_spar0_s cn38xxp2;
1207 struct cvmx_l2c_spar0_cn50xx { 2451 struct cvmx_l2c_spar0_cn50xx {
2452#ifdef __BIG_ENDIAN_BITFIELD
1208 uint64_t reserved_16_63:48; 2453 uint64_t reserved_16_63:48;
1209 uint64_t umsk1:8; 2454 uint64_t umsk1:8;
1210 uint64_t umsk0:8; 2455 uint64_t umsk0:8;
2456#else
2457 uint64_t umsk0:8;
2458 uint64_t umsk1:8;
2459 uint64_t reserved_16_63:48;
2460#endif
1211 } cn50xx; 2461 } cn50xx;
1212 struct cvmx_l2c_spar0_s cn52xx; 2462 struct cvmx_l2c_spar0_s cn52xx;
1213 struct cvmx_l2c_spar0_s cn52xxp1; 2463 struct cvmx_l2c_spar0_s cn52xxp1;
@@ -1220,11 +2470,19 @@ union cvmx_l2c_spar0 {
1220union cvmx_l2c_spar1 { 2470union cvmx_l2c_spar1 {
1221 uint64_t u64; 2471 uint64_t u64;
1222 struct cvmx_l2c_spar1_s { 2472 struct cvmx_l2c_spar1_s {
2473#ifdef __BIG_ENDIAN_BITFIELD
1223 uint64_t reserved_32_63:32; 2474 uint64_t reserved_32_63:32;
1224 uint64_t umsk7:8; 2475 uint64_t umsk7:8;
1225 uint64_t umsk6:8; 2476 uint64_t umsk6:8;
1226 uint64_t umsk5:8; 2477 uint64_t umsk5:8;
1227 uint64_t umsk4:8; 2478 uint64_t umsk4:8;
2479#else
2480 uint64_t umsk4:8;
2481 uint64_t umsk5:8;
2482 uint64_t umsk6:8;
2483 uint64_t umsk7:8;
2484 uint64_t reserved_32_63:32;
2485#endif
1228 } s; 2486 } s;
1229 struct cvmx_l2c_spar1_s cn38xx; 2487 struct cvmx_l2c_spar1_s cn38xx;
1230 struct cvmx_l2c_spar1_s cn38xxp2; 2488 struct cvmx_l2c_spar1_s cn38xxp2;
@@ -1237,11 +2495,19 @@ union cvmx_l2c_spar1 {
1237union cvmx_l2c_spar2 { 2495union cvmx_l2c_spar2 {
1238 uint64_t u64; 2496 uint64_t u64;
1239 struct cvmx_l2c_spar2_s { 2497 struct cvmx_l2c_spar2_s {
2498#ifdef __BIG_ENDIAN_BITFIELD
1240 uint64_t reserved_32_63:32; 2499 uint64_t reserved_32_63:32;
1241 uint64_t umsk11:8; 2500 uint64_t umsk11:8;
1242 uint64_t umsk10:8; 2501 uint64_t umsk10:8;
1243 uint64_t umsk9:8; 2502 uint64_t umsk9:8;
1244 uint64_t umsk8:8; 2503 uint64_t umsk8:8;
2504#else
2505 uint64_t umsk8:8;
2506 uint64_t umsk9:8;
2507 uint64_t umsk10:8;
2508 uint64_t umsk11:8;
2509 uint64_t reserved_32_63:32;
2510#endif
1245 } s; 2511 } s;
1246 struct cvmx_l2c_spar2_s cn38xx; 2512 struct cvmx_l2c_spar2_s cn38xx;
1247 struct cvmx_l2c_spar2_s cn38xxp2; 2513 struct cvmx_l2c_spar2_s cn38xxp2;
@@ -1254,11 +2520,19 @@ union cvmx_l2c_spar2 {
1254union cvmx_l2c_spar3 { 2520union cvmx_l2c_spar3 {
1255 uint64_t u64; 2521 uint64_t u64;
1256 struct cvmx_l2c_spar3_s { 2522 struct cvmx_l2c_spar3_s {
2523#ifdef __BIG_ENDIAN_BITFIELD
1257 uint64_t reserved_32_63:32; 2524 uint64_t reserved_32_63:32;
1258 uint64_t umsk15:8; 2525 uint64_t umsk15:8;
1259 uint64_t umsk14:8; 2526 uint64_t umsk14:8;
1260 uint64_t umsk13:8; 2527 uint64_t umsk13:8;
1261 uint64_t umsk12:8; 2528 uint64_t umsk12:8;
2529#else
2530 uint64_t umsk12:8;
2531 uint64_t umsk13:8;
2532 uint64_t umsk14:8;
2533 uint64_t umsk15:8;
2534 uint64_t reserved_32_63:32;
2535#endif
1262 } s; 2536 } s;
1263 struct cvmx_l2c_spar3_s cn38xx; 2537 struct cvmx_l2c_spar3_s cn38xx;
1264 struct cvmx_l2c_spar3_s cn38xxp2; 2538 struct cvmx_l2c_spar3_s cn38xxp2;
@@ -1269,12 +2543,22 @@ union cvmx_l2c_spar3 {
1269union cvmx_l2c_spar4 { 2543union cvmx_l2c_spar4 {
1270 uint64_t u64; 2544 uint64_t u64;
1271 struct cvmx_l2c_spar4_s { 2545 struct cvmx_l2c_spar4_s {
2546#ifdef __BIG_ENDIAN_BITFIELD
1272 uint64_t reserved_8_63:56; 2547 uint64_t reserved_8_63:56;
1273 uint64_t umskiob:8; 2548 uint64_t umskiob:8;
2549#else
2550 uint64_t umskiob:8;
2551 uint64_t reserved_8_63:56;
2552#endif
1274 } s; 2553 } s;
1275 struct cvmx_l2c_spar4_cn30xx { 2554 struct cvmx_l2c_spar4_cn30xx {
2555#ifdef __BIG_ENDIAN_BITFIELD
1276 uint64_t reserved_4_63:60; 2556 uint64_t reserved_4_63:60;
1277 uint64_t umskiob:4; 2557 uint64_t umskiob:4;
2558#else
2559 uint64_t umskiob:4;
2560 uint64_t reserved_4_63:60;
2561#endif
1278 } cn30xx; 2562 } cn30xx;
1279 struct cvmx_l2c_spar4_cn30xx cn31xx; 2563 struct cvmx_l2c_spar4_cn30xx cn31xx;
1280 struct cvmx_l2c_spar4_s cn38xx; 2564 struct cvmx_l2c_spar4_s cn38xx;
@@ -1291,6 +2575,7 @@ union cvmx_l2c_spar4 {
1291union cvmx_l2c_tadx_ecc0 { 2575union cvmx_l2c_tadx_ecc0 {
1292 uint64_t u64; 2576 uint64_t u64;
1293 struct cvmx_l2c_tadx_ecc0_s { 2577 struct cvmx_l2c_tadx_ecc0_s {
2578#ifdef __BIG_ENDIAN_BITFIELD
1294 uint64_t reserved_58_63:6; 2579 uint64_t reserved_58_63:6;
1295 uint64_t ow3ecc:10; 2580 uint64_t ow3ecc:10;
1296 uint64_t reserved_42_47:6; 2581 uint64_t reserved_42_47:6;
@@ -1299,14 +2584,30 @@ union cvmx_l2c_tadx_ecc0 {
1299 uint64_t ow1ecc:10; 2584 uint64_t ow1ecc:10;
1300 uint64_t reserved_10_15:6; 2585 uint64_t reserved_10_15:6;
1301 uint64_t ow0ecc:10; 2586 uint64_t ow0ecc:10;
2587#else
2588 uint64_t ow0ecc:10;
2589 uint64_t reserved_10_15:6;
2590 uint64_t ow1ecc:10;
2591 uint64_t reserved_26_31:6;
2592 uint64_t ow2ecc:10;
2593 uint64_t reserved_42_47:6;
2594 uint64_t ow3ecc:10;
2595 uint64_t reserved_58_63:6;
2596#endif
1302 } s; 2597 } s;
2598 struct cvmx_l2c_tadx_ecc0_s cn61xx;
1303 struct cvmx_l2c_tadx_ecc0_s cn63xx; 2599 struct cvmx_l2c_tadx_ecc0_s cn63xx;
1304 struct cvmx_l2c_tadx_ecc0_s cn63xxp1; 2600 struct cvmx_l2c_tadx_ecc0_s cn63xxp1;
2601 struct cvmx_l2c_tadx_ecc0_s cn66xx;
2602 struct cvmx_l2c_tadx_ecc0_s cn68xx;
2603 struct cvmx_l2c_tadx_ecc0_s cn68xxp1;
2604 struct cvmx_l2c_tadx_ecc0_s cnf71xx;
1305}; 2605};
1306 2606
1307union cvmx_l2c_tadx_ecc1 { 2607union cvmx_l2c_tadx_ecc1 {
1308 uint64_t u64; 2608 uint64_t u64;
1309 struct cvmx_l2c_tadx_ecc1_s { 2609 struct cvmx_l2c_tadx_ecc1_s {
2610#ifdef __BIG_ENDIAN_BITFIELD
1310 uint64_t reserved_58_63:6; 2611 uint64_t reserved_58_63:6;
1311 uint64_t ow7ecc:10; 2612 uint64_t ow7ecc:10;
1312 uint64_t reserved_42_47:6; 2613 uint64_t reserved_42_47:6;
@@ -1315,14 +2616,30 @@ union cvmx_l2c_tadx_ecc1 {
1315 uint64_t ow5ecc:10; 2616 uint64_t ow5ecc:10;
1316 uint64_t reserved_10_15:6; 2617 uint64_t reserved_10_15:6;
1317 uint64_t ow4ecc:10; 2618 uint64_t ow4ecc:10;
2619#else
2620 uint64_t ow4ecc:10;
2621 uint64_t reserved_10_15:6;
2622 uint64_t ow5ecc:10;
2623 uint64_t reserved_26_31:6;
2624 uint64_t ow6ecc:10;
2625 uint64_t reserved_42_47:6;
2626 uint64_t ow7ecc:10;
2627 uint64_t reserved_58_63:6;
2628#endif
1318 } s; 2629 } s;
2630 struct cvmx_l2c_tadx_ecc1_s cn61xx;
1319 struct cvmx_l2c_tadx_ecc1_s cn63xx; 2631 struct cvmx_l2c_tadx_ecc1_s cn63xx;
1320 struct cvmx_l2c_tadx_ecc1_s cn63xxp1; 2632 struct cvmx_l2c_tadx_ecc1_s cn63xxp1;
2633 struct cvmx_l2c_tadx_ecc1_s cn66xx;
2634 struct cvmx_l2c_tadx_ecc1_s cn68xx;
2635 struct cvmx_l2c_tadx_ecc1_s cn68xxp1;
2636 struct cvmx_l2c_tadx_ecc1_s cnf71xx;
1321}; 2637};
1322 2638
1323union cvmx_l2c_tadx_ien { 2639union cvmx_l2c_tadx_ien {
1324 uint64_t u64; 2640 uint64_t u64;
1325 struct cvmx_l2c_tadx_ien_s { 2641 struct cvmx_l2c_tadx_ien_s {
2642#ifdef __BIG_ENDIAN_BITFIELD
1326 uint64_t reserved_9_63:55; 2643 uint64_t reserved_9_63:55;
1327 uint64_t wrdislmc:1; 2644 uint64_t wrdislmc:1;
1328 uint64_t rddislmc:1; 2645 uint64_t rddislmc:1;
@@ -1333,9 +2650,23 @@ union cvmx_l2c_tadx_ien {
1333 uint64_t tagsbe:1; 2650 uint64_t tagsbe:1;
1334 uint64_t l2ddbe:1; 2651 uint64_t l2ddbe:1;
1335 uint64_t l2dsbe:1; 2652 uint64_t l2dsbe:1;
2653#else
2654 uint64_t l2dsbe:1;
2655 uint64_t l2ddbe:1;
2656 uint64_t tagsbe:1;
2657 uint64_t tagdbe:1;
2658 uint64_t vbfsbe:1;
2659 uint64_t vbfdbe:1;
2660 uint64_t noway:1;
2661 uint64_t rddislmc:1;
2662 uint64_t wrdislmc:1;
2663 uint64_t reserved_9_63:55;
2664#endif
1336 } s; 2665 } s;
2666 struct cvmx_l2c_tadx_ien_s cn61xx;
1337 struct cvmx_l2c_tadx_ien_s cn63xx; 2667 struct cvmx_l2c_tadx_ien_s cn63xx;
1338 struct cvmx_l2c_tadx_ien_cn63xxp1 { 2668 struct cvmx_l2c_tadx_ien_cn63xxp1 {
2669#ifdef __BIG_ENDIAN_BITFIELD
1339 uint64_t reserved_7_63:57; 2670 uint64_t reserved_7_63:57;
1340 uint64_t noway:1; 2671 uint64_t noway:1;
1341 uint64_t vbfdbe:1; 2672 uint64_t vbfdbe:1;
@@ -1344,12 +2675,27 @@ union cvmx_l2c_tadx_ien {
1344 uint64_t tagsbe:1; 2675 uint64_t tagsbe:1;
1345 uint64_t l2ddbe:1; 2676 uint64_t l2ddbe:1;
1346 uint64_t l2dsbe:1; 2677 uint64_t l2dsbe:1;
2678#else
2679 uint64_t l2dsbe:1;
2680 uint64_t l2ddbe:1;
2681 uint64_t tagsbe:1;
2682 uint64_t tagdbe:1;
2683 uint64_t vbfsbe:1;
2684 uint64_t vbfdbe:1;
2685 uint64_t noway:1;
2686 uint64_t reserved_7_63:57;
2687#endif
1347 } cn63xxp1; 2688 } cn63xxp1;
2689 struct cvmx_l2c_tadx_ien_s cn66xx;
2690 struct cvmx_l2c_tadx_ien_s cn68xx;
2691 struct cvmx_l2c_tadx_ien_s cn68xxp1;
2692 struct cvmx_l2c_tadx_ien_s cnf71xx;
1348}; 2693};
1349 2694
1350union cvmx_l2c_tadx_int { 2695union cvmx_l2c_tadx_int {
1351 uint64_t u64; 2696 uint64_t u64;
1352 struct cvmx_l2c_tadx_int_s { 2697 struct cvmx_l2c_tadx_int_s {
2698#ifdef __BIG_ENDIAN_BITFIELD
1353 uint64_t reserved_9_63:55; 2699 uint64_t reserved_9_63:55;
1354 uint64_t wrdislmc:1; 2700 uint64_t wrdislmc:1;
1355 uint64_t rddislmc:1; 2701 uint64_t rddislmc:1;
@@ -1360,62 +2706,129 @@ union cvmx_l2c_tadx_int {
1360 uint64_t tagsbe:1; 2706 uint64_t tagsbe:1;
1361 uint64_t l2ddbe:1; 2707 uint64_t l2ddbe:1;
1362 uint64_t l2dsbe:1; 2708 uint64_t l2dsbe:1;
2709#else
2710 uint64_t l2dsbe:1;
2711 uint64_t l2ddbe:1;
2712 uint64_t tagsbe:1;
2713 uint64_t tagdbe:1;
2714 uint64_t vbfsbe:1;
2715 uint64_t vbfdbe:1;
2716 uint64_t noway:1;
2717 uint64_t rddislmc:1;
2718 uint64_t wrdislmc:1;
2719 uint64_t reserved_9_63:55;
2720#endif
1363 } s; 2721 } s;
2722 struct cvmx_l2c_tadx_int_s cn61xx;
1364 struct cvmx_l2c_tadx_int_s cn63xx; 2723 struct cvmx_l2c_tadx_int_s cn63xx;
2724 struct cvmx_l2c_tadx_int_s cn66xx;
2725 struct cvmx_l2c_tadx_int_s cn68xx;
2726 struct cvmx_l2c_tadx_int_s cn68xxp1;
2727 struct cvmx_l2c_tadx_int_s cnf71xx;
1365}; 2728};
1366 2729
1367union cvmx_l2c_tadx_pfc0 { 2730union cvmx_l2c_tadx_pfc0 {
1368 uint64_t u64; 2731 uint64_t u64;
1369 struct cvmx_l2c_tadx_pfc0_s { 2732 struct cvmx_l2c_tadx_pfc0_s {
2733#ifdef __BIG_ENDIAN_BITFIELD
1370 uint64_t count:64; 2734 uint64_t count:64;
2735#else
2736 uint64_t count:64;
2737#endif
1371 } s; 2738 } s;
2739 struct cvmx_l2c_tadx_pfc0_s cn61xx;
1372 struct cvmx_l2c_tadx_pfc0_s cn63xx; 2740 struct cvmx_l2c_tadx_pfc0_s cn63xx;
1373 struct cvmx_l2c_tadx_pfc0_s cn63xxp1; 2741 struct cvmx_l2c_tadx_pfc0_s cn63xxp1;
2742 struct cvmx_l2c_tadx_pfc0_s cn66xx;
2743 struct cvmx_l2c_tadx_pfc0_s cn68xx;
2744 struct cvmx_l2c_tadx_pfc0_s cn68xxp1;
2745 struct cvmx_l2c_tadx_pfc0_s cnf71xx;
1374}; 2746};
1375 2747
1376union cvmx_l2c_tadx_pfc1 { 2748union cvmx_l2c_tadx_pfc1 {
1377 uint64_t u64; 2749 uint64_t u64;
1378 struct cvmx_l2c_tadx_pfc1_s { 2750 struct cvmx_l2c_tadx_pfc1_s {
2751#ifdef __BIG_ENDIAN_BITFIELD
1379 uint64_t count:64; 2752 uint64_t count:64;
2753#else
2754 uint64_t count:64;
2755#endif
1380 } s; 2756 } s;
2757 struct cvmx_l2c_tadx_pfc1_s cn61xx;
1381 struct cvmx_l2c_tadx_pfc1_s cn63xx; 2758 struct cvmx_l2c_tadx_pfc1_s cn63xx;
1382 struct cvmx_l2c_tadx_pfc1_s cn63xxp1; 2759 struct cvmx_l2c_tadx_pfc1_s cn63xxp1;
2760 struct cvmx_l2c_tadx_pfc1_s cn66xx;
2761 struct cvmx_l2c_tadx_pfc1_s cn68xx;
2762 struct cvmx_l2c_tadx_pfc1_s cn68xxp1;
2763 struct cvmx_l2c_tadx_pfc1_s cnf71xx;
1383}; 2764};
1384 2765
1385union cvmx_l2c_tadx_pfc2 { 2766union cvmx_l2c_tadx_pfc2 {
1386 uint64_t u64; 2767 uint64_t u64;
1387 struct cvmx_l2c_tadx_pfc2_s { 2768 struct cvmx_l2c_tadx_pfc2_s {
2769#ifdef __BIG_ENDIAN_BITFIELD
1388 uint64_t count:64; 2770 uint64_t count:64;
2771#else
2772 uint64_t count:64;
2773#endif
1389 } s; 2774 } s;
2775 struct cvmx_l2c_tadx_pfc2_s cn61xx;
1390 struct cvmx_l2c_tadx_pfc2_s cn63xx; 2776 struct cvmx_l2c_tadx_pfc2_s cn63xx;
1391 struct cvmx_l2c_tadx_pfc2_s cn63xxp1; 2777 struct cvmx_l2c_tadx_pfc2_s cn63xxp1;
2778 struct cvmx_l2c_tadx_pfc2_s cn66xx;
2779 struct cvmx_l2c_tadx_pfc2_s cn68xx;
2780 struct cvmx_l2c_tadx_pfc2_s cn68xxp1;
2781 struct cvmx_l2c_tadx_pfc2_s cnf71xx;
1392}; 2782};
1393 2783
1394union cvmx_l2c_tadx_pfc3 { 2784union cvmx_l2c_tadx_pfc3 {
1395 uint64_t u64; 2785 uint64_t u64;
1396 struct cvmx_l2c_tadx_pfc3_s { 2786 struct cvmx_l2c_tadx_pfc3_s {
2787#ifdef __BIG_ENDIAN_BITFIELD
1397 uint64_t count:64; 2788 uint64_t count:64;
2789#else
2790 uint64_t count:64;
2791#endif
1398 } s; 2792 } s;
2793 struct cvmx_l2c_tadx_pfc3_s cn61xx;
1399 struct cvmx_l2c_tadx_pfc3_s cn63xx; 2794 struct cvmx_l2c_tadx_pfc3_s cn63xx;
1400 struct cvmx_l2c_tadx_pfc3_s cn63xxp1; 2795 struct cvmx_l2c_tadx_pfc3_s cn63xxp1;
2796 struct cvmx_l2c_tadx_pfc3_s cn66xx;
2797 struct cvmx_l2c_tadx_pfc3_s cn68xx;
2798 struct cvmx_l2c_tadx_pfc3_s cn68xxp1;
2799 struct cvmx_l2c_tadx_pfc3_s cnf71xx;
1401}; 2800};
1402 2801
1403union cvmx_l2c_tadx_prf { 2802union cvmx_l2c_tadx_prf {
1404 uint64_t u64; 2803 uint64_t u64;
1405 struct cvmx_l2c_tadx_prf_s { 2804 struct cvmx_l2c_tadx_prf_s {
2805#ifdef __BIG_ENDIAN_BITFIELD
1406 uint64_t reserved_32_63:32; 2806 uint64_t reserved_32_63:32;
1407 uint64_t cnt3sel:8; 2807 uint64_t cnt3sel:8;
1408 uint64_t cnt2sel:8; 2808 uint64_t cnt2sel:8;
1409 uint64_t cnt1sel:8; 2809 uint64_t cnt1sel:8;
1410 uint64_t cnt0sel:8; 2810 uint64_t cnt0sel:8;
2811#else
2812 uint64_t cnt0sel:8;
2813 uint64_t cnt1sel:8;
2814 uint64_t cnt2sel:8;
2815 uint64_t cnt3sel:8;
2816 uint64_t reserved_32_63:32;
2817#endif
1411 } s; 2818 } s;
2819 struct cvmx_l2c_tadx_prf_s cn61xx;
1412 struct cvmx_l2c_tadx_prf_s cn63xx; 2820 struct cvmx_l2c_tadx_prf_s cn63xx;
1413 struct cvmx_l2c_tadx_prf_s cn63xxp1; 2821 struct cvmx_l2c_tadx_prf_s cn63xxp1;
2822 struct cvmx_l2c_tadx_prf_s cn66xx;
2823 struct cvmx_l2c_tadx_prf_s cn68xx;
2824 struct cvmx_l2c_tadx_prf_s cn68xxp1;
2825 struct cvmx_l2c_tadx_prf_s cnf71xx;
1414}; 2826};
1415 2827
1416union cvmx_l2c_tadx_tag { 2828union cvmx_l2c_tadx_tag {
1417 uint64_t u64; 2829 uint64_t u64;
1418 struct cvmx_l2c_tadx_tag_s { 2830 struct cvmx_l2c_tadx_tag_s {
2831#ifdef __BIG_ENDIAN_BITFIELD
1419 uint64_t reserved_46_63:18; 2832 uint64_t reserved_46_63:18;
1420 uint64_t ecc:6; 2833 uint64_t ecc:6;
1421 uint64_t reserved_36_39:4; 2834 uint64_t reserved_36_39:4;
@@ -1425,145 +2838,330 @@ union cvmx_l2c_tadx_tag {
1425 uint64_t valid:1; 2838 uint64_t valid:1;
1426 uint64_t dirty:1; 2839 uint64_t dirty:1;
1427 uint64_t lock:1; 2840 uint64_t lock:1;
2841#else
2842 uint64_t lock:1;
2843 uint64_t dirty:1;
2844 uint64_t valid:1;
2845 uint64_t use:1;
2846 uint64_t reserved_4_16:13;
2847 uint64_t tag:19;
2848 uint64_t reserved_36_39:4;
2849 uint64_t ecc:6;
2850 uint64_t reserved_46_63:18;
2851#endif
1428 } s; 2852 } s;
2853 struct cvmx_l2c_tadx_tag_s cn61xx;
1429 struct cvmx_l2c_tadx_tag_s cn63xx; 2854 struct cvmx_l2c_tadx_tag_s cn63xx;
1430 struct cvmx_l2c_tadx_tag_s cn63xxp1; 2855 struct cvmx_l2c_tadx_tag_s cn63xxp1;
2856 struct cvmx_l2c_tadx_tag_s cn66xx;
2857 struct cvmx_l2c_tadx_tag_s cn68xx;
2858 struct cvmx_l2c_tadx_tag_s cn68xxp1;
2859 struct cvmx_l2c_tadx_tag_s cnf71xx;
1431}; 2860};
1432 2861
1433union cvmx_l2c_ver_id { 2862union cvmx_l2c_ver_id {
1434 uint64_t u64; 2863 uint64_t u64;
1435 struct cvmx_l2c_ver_id_s { 2864 struct cvmx_l2c_ver_id_s {
2865#ifdef __BIG_ENDIAN_BITFIELD
1436 uint64_t mask:64; 2866 uint64_t mask:64;
2867#else
2868 uint64_t mask:64;
2869#endif
1437 } s; 2870 } s;
2871 struct cvmx_l2c_ver_id_s cn61xx;
1438 struct cvmx_l2c_ver_id_s cn63xx; 2872 struct cvmx_l2c_ver_id_s cn63xx;
1439 struct cvmx_l2c_ver_id_s cn63xxp1; 2873 struct cvmx_l2c_ver_id_s cn63xxp1;
2874 struct cvmx_l2c_ver_id_s cn66xx;
2875 struct cvmx_l2c_ver_id_s cn68xx;
2876 struct cvmx_l2c_ver_id_s cn68xxp1;
2877 struct cvmx_l2c_ver_id_s cnf71xx;
1440}; 2878};
1441 2879
1442union cvmx_l2c_ver_iob { 2880union cvmx_l2c_ver_iob {
1443 uint64_t u64; 2881 uint64_t u64;
1444 struct cvmx_l2c_ver_iob_s { 2882 struct cvmx_l2c_ver_iob_s {
2883#ifdef __BIG_ENDIAN_BITFIELD
2884 uint64_t reserved_2_63:62;
2885 uint64_t mask:2;
2886#else
2887 uint64_t mask:2;
2888 uint64_t reserved_2_63:62;
2889#endif
2890 } s;
2891 struct cvmx_l2c_ver_iob_cn61xx {
2892#ifdef __BIG_ENDIAN_BITFIELD
1445 uint64_t reserved_1_63:63; 2893 uint64_t reserved_1_63:63;
1446 uint64_t mask:1; 2894 uint64_t mask:1;
1447 } s; 2895#else
1448 struct cvmx_l2c_ver_iob_s cn63xx; 2896 uint64_t mask:1;
1449 struct cvmx_l2c_ver_iob_s cn63xxp1; 2897 uint64_t reserved_1_63:63;
2898#endif
2899 } cn61xx;
2900 struct cvmx_l2c_ver_iob_cn61xx cn63xx;
2901 struct cvmx_l2c_ver_iob_cn61xx cn63xxp1;
2902 struct cvmx_l2c_ver_iob_cn61xx cn66xx;
2903 struct cvmx_l2c_ver_iob_s cn68xx;
2904 struct cvmx_l2c_ver_iob_s cn68xxp1;
2905 struct cvmx_l2c_ver_iob_cn61xx cnf71xx;
1450}; 2906};
1451 2907
1452union cvmx_l2c_ver_msc { 2908union cvmx_l2c_ver_msc {
1453 uint64_t u64; 2909 uint64_t u64;
1454 struct cvmx_l2c_ver_msc_s { 2910 struct cvmx_l2c_ver_msc_s {
2911#ifdef __BIG_ENDIAN_BITFIELD
1455 uint64_t reserved_2_63:62; 2912 uint64_t reserved_2_63:62;
1456 uint64_t invl2:1; 2913 uint64_t invl2:1;
1457 uint64_t dwb:1; 2914 uint64_t dwb:1;
2915#else
2916 uint64_t dwb:1;
2917 uint64_t invl2:1;
2918 uint64_t reserved_2_63:62;
2919#endif
1458 } s; 2920 } s;
2921 struct cvmx_l2c_ver_msc_s cn61xx;
1459 struct cvmx_l2c_ver_msc_s cn63xx; 2922 struct cvmx_l2c_ver_msc_s cn63xx;
2923 struct cvmx_l2c_ver_msc_s cn66xx;
2924 struct cvmx_l2c_ver_msc_s cn68xx;
2925 struct cvmx_l2c_ver_msc_s cn68xxp1;
2926 struct cvmx_l2c_ver_msc_s cnf71xx;
1460}; 2927};
1461 2928
1462union cvmx_l2c_ver_pp { 2929union cvmx_l2c_ver_pp {
1463 uint64_t u64; 2930 uint64_t u64;
1464 struct cvmx_l2c_ver_pp_s { 2931 struct cvmx_l2c_ver_pp_s {
2932#ifdef __BIG_ENDIAN_BITFIELD
2933 uint64_t reserved_32_63:32;
2934 uint64_t mask:32;
2935#else
2936 uint64_t mask:32;
2937 uint64_t reserved_32_63:32;
2938#endif
2939 } s;
2940 struct cvmx_l2c_ver_pp_cn61xx {
2941#ifdef __BIG_ENDIAN_BITFIELD
2942 uint64_t reserved_4_63:60;
2943 uint64_t mask:4;
2944#else
2945 uint64_t mask:4;
2946 uint64_t reserved_4_63:60;
2947#endif
2948 } cn61xx;
2949 struct cvmx_l2c_ver_pp_cn63xx {
2950#ifdef __BIG_ENDIAN_BITFIELD
1465 uint64_t reserved_6_63:58; 2951 uint64_t reserved_6_63:58;
1466 uint64_t mask:6; 2952 uint64_t mask:6;
1467 } s; 2953#else
1468 struct cvmx_l2c_ver_pp_s cn63xx; 2954 uint64_t mask:6;
1469 struct cvmx_l2c_ver_pp_s cn63xxp1; 2955 uint64_t reserved_6_63:58;
2956#endif
2957 } cn63xx;
2958 struct cvmx_l2c_ver_pp_cn63xx cn63xxp1;
2959 struct cvmx_l2c_ver_pp_cn66xx {
2960#ifdef __BIG_ENDIAN_BITFIELD
2961 uint64_t reserved_10_63:54;
2962 uint64_t mask:10;
2963#else
2964 uint64_t mask:10;
2965 uint64_t reserved_10_63:54;
2966#endif
2967 } cn66xx;
2968 struct cvmx_l2c_ver_pp_s cn68xx;
2969 struct cvmx_l2c_ver_pp_s cn68xxp1;
2970 struct cvmx_l2c_ver_pp_cn61xx cnf71xx;
1470}; 2971};
1471 2972
1472union cvmx_l2c_virtid_iobx { 2973union cvmx_l2c_virtid_iobx {
1473 uint64_t u64; 2974 uint64_t u64;
1474 struct cvmx_l2c_virtid_iobx_s { 2975 struct cvmx_l2c_virtid_iobx_s {
2976#ifdef __BIG_ENDIAN_BITFIELD
1475 uint64_t reserved_14_63:50; 2977 uint64_t reserved_14_63:50;
1476 uint64_t dwbid:6; 2978 uint64_t dwbid:6;
1477 uint64_t reserved_6_7:2; 2979 uint64_t reserved_6_7:2;
1478 uint64_t id:6; 2980 uint64_t id:6;
2981#else
2982 uint64_t id:6;
2983 uint64_t reserved_6_7:2;
2984 uint64_t dwbid:6;
2985 uint64_t reserved_14_63:50;
2986#endif
1479 } s; 2987 } s;
2988 struct cvmx_l2c_virtid_iobx_s cn61xx;
1480 struct cvmx_l2c_virtid_iobx_s cn63xx; 2989 struct cvmx_l2c_virtid_iobx_s cn63xx;
1481 struct cvmx_l2c_virtid_iobx_s cn63xxp1; 2990 struct cvmx_l2c_virtid_iobx_s cn63xxp1;
2991 struct cvmx_l2c_virtid_iobx_s cn66xx;
2992 struct cvmx_l2c_virtid_iobx_s cn68xx;
2993 struct cvmx_l2c_virtid_iobx_s cn68xxp1;
2994 struct cvmx_l2c_virtid_iobx_s cnf71xx;
1482}; 2995};
1483 2996
1484union cvmx_l2c_virtid_ppx { 2997union cvmx_l2c_virtid_ppx {
1485 uint64_t u64; 2998 uint64_t u64;
1486 struct cvmx_l2c_virtid_ppx_s { 2999 struct cvmx_l2c_virtid_ppx_s {
3000#ifdef __BIG_ENDIAN_BITFIELD
1487 uint64_t reserved_6_63:58; 3001 uint64_t reserved_6_63:58;
1488 uint64_t id:6; 3002 uint64_t id:6;
3003#else
3004 uint64_t id:6;
3005 uint64_t reserved_6_63:58;
3006#endif
1489 } s; 3007 } s;
3008 struct cvmx_l2c_virtid_ppx_s cn61xx;
1490 struct cvmx_l2c_virtid_ppx_s cn63xx; 3009 struct cvmx_l2c_virtid_ppx_s cn63xx;
1491 struct cvmx_l2c_virtid_ppx_s cn63xxp1; 3010 struct cvmx_l2c_virtid_ppx_s cn63xxp1;
3011 struct cvmx_l2c_virtid_ppx_s cn66xx;
3012 struct cvmx_l2c_virtid_ppx_s cn68xx;
3013 struct cvmx_l2c_virtid_ppx_s cn68xxp1;
3014 struct cvmx_l2c_virtid_ppx_s cnf71xx;
1492}; 3015};
1493 3016
1494union cvmx_l2c_vrt_ctl { 3017union cvmx_l2c_vrt_ctl {
1495 uint64_t u64; 3018 uint64_t u64;
1496 struct cvmx_l2c_vrt_ctl_s { 3019 struct cvmx_l2c_vrt_ctl_s {
3020#ifdef __BIG_ENDIAN_BITFIELD
1497 uint64_t reserved_9_63:55; 3021 uint64_t reserved_9_63:55;
1498 uint64_t ooberr:1; 3022 uint64_t ooberr:1;
1499 uint64_t reserved_7_7:1; 3023 uint64_t reserved_7_7:1;
1500 uint64_t memsz:3; 3024 uint64_t memsz:3;
1501 uint64_t numid:3; 3025 uint64_t numid:3;
1502 uint64_t enable:1; 3026 uint64_t enable:1;
3027#else
3028 uint64_t enable:1;
3029 uint64_t numid:3;
3030 uint64_t memsz:3;
3031 uint64_t reserved_7_7:1;
3032 uint64_t ooberr:1;
3033 uint64_t reserved_9_63:55;
3034#endif
1503 } s; 3035 } s;
3036 struct cvmx_l2c_vrt_ctl_s cn61xx;
1504 struct cvmx_l2c_vrt_ctl_s cn63xx; 3037 struct cvmx_l2c_vrt_ctl_s cn63xx;
1505 struct cvmx_l2c_vrt_ctl_s cn63xxp1; 3038 struct cvmx_l2c_vrt_ctl_s cn63xxp1;
3039 struct cvmx_l2c_vrt_ctl_s cn66xx;
3040 struct cvmx_l2c_vrt_ctl_s cn68xx;
3041 struct cvmx_l2c_vrt_ctl_s cn68xxp1;
3042 struct cvmx_l2c_vrt_ctl_s cnf71xx;
1506}; 3043};
1507 3044
1508union cvmx_l2c_vrt_memx { 3045union cvmx_l2c_vrt_memx {
1509 uint64_t u64; 3046 uint64_t u64;
1510 struct cvmx_l2c_vrt_memx_s { 3047 struct cvmx_l2c_vrt_memx_s {
3048#ifdef __BIG_ENDIAN_BITFIELD
1511 uint64_t reserved_36_63:28; 3049 uint64_t reserved_36_63:28;
1512 uint64_t parity:4; 3050 uint64_t parity:4;
1513 uint64_t data:32; 3051 uint64_t data:32;
3052#else
3053 uint64_t data:32;
3054 uint64_t parity:4;
3055 uint64_t reserved_36_63:28;
3056#endif
1514 } s; 3057 } s;
3058 struct cvmx_l2c_vrt_memx_s cn61xx;
1515 struct cvmx_l2c_vrt_memx_s cn63xx; 3059 struct cvmx_l2c_vrt_memx_s cn63xx;
1516 struct cvmx_l2c_vrt_memx_s cn63xxp1; 3060 struct cvmx_l2c_vrt_memx_s cn63xxp1;
3061 struct cvmx_l2c_vrt_memx_s cn66xx;
3062 struct cvmx_l2c_vrt_memx_s cn68xx;
3063 struct cvmx_l2c_vrt_memx_s cn68xxp1;
3064 struct cvmx_l2c_vrt_memx_s cnf71xx;
1517}; 3065};
1518 3066
1519union cvmx_l2c_wpar_iobx { 3067union cvmx_l2c_wpar_iobx {
1520 uint64_t u64; 3068 uint64_t u64;
1521 struct cvmx_l2c_wpar_iobx_s { 3069 struct cvmx_l2c_wpar_iobx_s {
3070#ifdef __BIG_ENDIAN_BITFIELD
1522 uint64_t reserved_16_63:48; 3071 uint64_t reserved_16_63:48;
1523 uint64_t mask:16; 3072 uint64_t mask:16;
3073#else
3074 uint64_t mask:16;
3075 uint64_t reserved_16_63:48;
3076#endif
1524 } s; 3077 } s;
3078 struct cvmx_l2c_wpar_iobx_s cn61xx;
1525 struct cvmx_l2c_wpar_iobx_s cn63xx; 3079 struct cvmx_l2c_wpar_iobx_s cn63xx;
1526 struct cvmx_l2c_wpar_iobx_s cn63xxp1; 3080 struct cvmx_l2c_wpar_iobx_s cn63xxp1;
3081 struct cvmx_l2c_wpar_iobx_s cn66xx;
3082 struct cvmx_l2c_wpar_iobx_s cn68xx;
3083 struct cvmx_l2c_wpar_iobx_s cn68xxp1;
3084 struct cvmx_l2c_wpar_iobx_s cnf71xx;
1527}; 3085};
1528 3086
1529union cvmx_l2c_wpar_ppx { 3087union cvmx_l2c_wpar_ppx {
1530 uint64_t u64; 3088 uint64_t u64;
1531 struct cvmx_l2c_wpar_ppx_s { 3089 struct cvmx_l2c_wpar_ppx_s {
3090#ifdef __BIG_ENDIAN_BITFIELD
1532 uint64_t reserved_16_63:48; 3091 uint64_t reserved_16_63:48;
1533 uint64_t mask:16; 3092 uint64_t mask:16;
3093#else
3094 uint64_t mask:16;
3095 uint64_t reserved_16_63:48;
3096#endif
1534 } s; 3097 } s;
3098 struct cvmx_l2c_wpar_ppx_s cn61xx;
1535 struct cvmx_l2c_wpar_ppx_s cn63xx; 3099 struct cvmx_l2c_wpar_ppx_s cn63xx;
1536 struct cvmx_l2c_wpar_ppx_s cn63xxp1; 3100 struct cvmx_l2c_wpar_ppx_s cn63xxp1;
3101 struct cvmx_l2c_wpar_ppx_s cn66xx;
3102 struct cvmx_l2c_wpar_ppx_s cn68xx;
3103 struct cvmx_l2c_wpar_ppx_s cn68xxp1;
3104 struct cvmx_l2c_wpar_ppx_s cnf71xx;
1537}; 3105};
1538 3106
1539union cvmx_l2c_xmcx_pfc { 3107union cvmx_l2c_xmcx_pfc {
1540 uint64_t u64; 3108 uint64_t u64;
1541 struct cvmx_l2c_xmcx_pfc_s { 3109 struct cvmx_l2c_xmcx_pfc_s {
3110#ifdef __BIG_ENDIAN_BITFIELD
3111 uint64_t count:64;
3112#else
1542 uint64_t count:64; 3113 uint64_t count:64;
3114#endif
1543 } s; 3115 } s;
3116 struct cvmx_l2c_xmcx_pfc_s cn61xx;
1544 struct cvmx_l2c_xmcx_pfc_s cn63xx; 3117 struct cvmx_l2c_xmcx_pfc_s cn63xx;
1545 struct cvmx_l2c_xmcx_pfc_s cn63xxp1; 3118 struct cvmx_l2c_xmcx_pfc_s cn63xxp1;
3119 struct cvmx_l2c_xmcx_pfc_s cn66xx;
3120 struct cvmx_l2c_xmcx_pfc_s cn68xx;
3121 struct cvmx_l2c_xmcx_pfc_s cn68xxp1;
3122 struct cvmx_l2c_xmcx_pfc_s cnf71xx;
1546}; 3123};
1547 3124
1548union cvmx_l2c_xmc_cmd { 3125union cvmx_l2c_xmc_cmd {
1549 uint64_t u64; 3126 uint64_t u64;
1550 struct cvmx_l2c_xmc_cmd_s { 3127 struct cvmx_l2c_xmc_cmd_s {
3128#ifdef __BIG_ENDIAN_BITFIELD
1551 uint64_t inuse:1; 3129 uint64_t inuse:1;
1552 uint64_t cmd:6; 3130 uint64_t cmd:6;
1553 uint64_t reserved_38_56:19; 3131 uint64_t reserved_38_56:19;
1554 uint64_t addr:38; 3132 uint64_t addr:38;
3133#else
3134 uint64_t addr:38;
3135 uint64_t reserved_38_56:19;
3136 uint64_t cmd:6;
3137 uint64_t inuse:1;
3138#endif
1555 } s; 3139 } s;
3140 struct cvmx_l2c_xmc_cmd_s cn61xx;
1556 struct cvmx_l2c_xmc_cmd_s cn63xx; 3141 struct cvmx_l2c_xmc_cmd_s cn63xx;
1557 struct cvmx_l2c_xmc_cmd_s cn63xxp1; 3142 struct cvmx_l2c_xmc_cmd_s cn63xxp1;
3143 struct cvmx_l2c_xmc_cmd_s cn66xx;
3144 struct cvmx_l2c_xmc_cmd_s cn68xx;
3145 struct cvmx_l2c_xmc_cmd_s cn68xxp1;
3146 struct cvmx_l2c_xmc_cmd_s cnf71xx;
1558}; 3147};
1559 3148
1560union cvmx_l2c_xmdx_pfc { 3149union cvmx_l2c_xmdx_pfc {
1561 uint64_t u64; 3150 uint64_t u64;
1562 struct cvmx_l2c_xmdx_pfc_s { 3151 struct cvmx_l2c_xmdx_pfc_s {
3152#ifdef __BIG_ENDIAN_BITFIELD
1563 uint64_t count:64; 3153 uint64_t count:64;
3154#else
3155 uint64_t count:64;
3156#endif
1564 } s; 3157 } s;
3158 struct cvmx_l2c_xmdx_pfc_s cn61xx;
1565 struct cvmx_l2c_xmdx_pfc_s cn63xx; 3159 struct cvmx_l2c_xmdx_pfc_s cn63xx;
1566 struct cvmx_l2c_xmdx_pfc_s cn63xxp1; 3160 struct cvmx_l2c_xmdx_pfc_s cn63xxp1;
3161 struct cvmx_l2c_xmdx_pfc_s cn66xx;
3162 struct cvmx_l2c_xmdx_pfc_s cn68xx;
3163 struct cvmx_l2c_xmdx_pfc_s cn68xxp1;
3164 struct cvmx_l2c_xmdx_pfc_s cnf71xx;
1567}; 3165};
1568 3166
1569#endif 3167#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-l2d-defs.h b/arch/mips/include/asm/octeon/cvmx-l2d-defs.h
index 60543e0e77fc..11a456215638 100644
--- a/arch/mips/include/asm/octeon/cvmx-l2d-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-l2d-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -44,9 +44,15 @@
44union cvmx_l2d_bst0 { 44union cvmx_l2d_bst0 {
45 uint64_t u64; 45 uint64_t u64;
46 struct cvmx_l2d_bst0_s { 46 struct cvmx_l2d_bst0_s {
47#ifdef __BIG_ENDIAN_BITFIELD
47 uint64_t reserved_35_63:29; 48 uint64_t reserved_35_63:29;
48 uint64_t ftl:1; 49 uint64_t ftl:1;
49 uint64_t q0stat:34; 50 uint64_t q0stat:34;
51#else
52 uint64_t q0stat:34;
53 uint64_t ftl:1;
54 uint64_t reserved_35_63:29;
55#endif
50 } s; 56 } s;
51 struct cvmx_l2d_bst0_s cn30xx; 57 struct cvmx_l2d_bst0_s cn30xx;
52 struct cvmx_l2d_bst0_s cn31xx; 58 struct cvmx_l2d_bst0_s cn31xx;
@@ -64,8 +70,13 @@ union cvmx_l2d_bst0 {
64union cvmx_l2d_bst1 { 70union cvmx_l2d_bst1 {
65 uint64_t u64; 71 uint64_t u64;
66 struct cvmx_l2d_bst1_s { 72 struct cvmx_l2d_bst1_s {
73#ifdef __BIG_ENDIAN_BITFIELD
67 uint64_t reserved_34_63:30; 74 uint64_t reserved_34_63:30;
68 uint64_t q1stat:34; 75 uint64_t q1stat:34;
76#else
77 uint64_t q1stat:34;
78 uint64_t reserved_34_63:30;
79#endif
69 } s; 80 } s;
70 struct cvmx_l2d_bst1_s cn30xx; 81 struct cvmx_l2d_bst1_s cn30xx;
71 struct cvmx_l2d_bst1_s cn31xx; 82 struct cvmx_l2d_bst1_s cn31xx;
@@ -83,8 +94,13 @@ union cvmx_l2d_bst1 {
83union cvmx_l2d_bst2 { 94union cvmx_l2d_bst2 {
84 uint64_t u64; 95 uint64_t u64;
85 struct cvmx_l2d_bst2_s { 96 struct cvmx_l2d_bst2_s {
97#ifdef __BIG_ENDIAN_BITFIELD
86 uint64_t reserved_34_63:30; 98 uint64_t reserved_34_63:30;
87 uint64_t q2stat:34; 99 uint64_t q2stat:34;
100#else
101 uint64_t q2stat:34;
102 uint64_t reserved_34_63:30;
103#endif
88 } s; 104 } s;
89 struct cvmx_l2d_bst2_s cn30xx; 105 struct cvmx_l2d_bst2_s cn30xx;
90 struct cvmx_l2d_bst2_s cn31xx; 106 struct cvmx_l2d_bst2_s cn31xx;
@@ -102,8 +118,13 @@ union cvmx_l2d_bst2 {
102union cvmx_l2d_bst3 { 118union cvmx_l2d_bst3 {
103 uint64_t u64; 119 uint64_t u64;
104 struct cvmx_l2d_bst3_s { 120 struct cvmx_l2d_bst3_s {
121#ifdef __BIG_ENDIAN_BITFIELD
105 uint64_t reserved_34_63:30; 122 uint64_t reserved_34_63:30;
106 uint64_t q3stat:34; 123 uint64_t q3stat:34;
124#else
125 uint64_t q3stat:34;
126 uint64_t reserved_34_63:30;
127#endif
107 } s; 128 } s;
108 struct cvmx_l2d_bst3_s cn30xx; 129 struct cvmx_l2d_bst3_s cn30xx;
109 struct cvmx_l2d_bst3_s cn31xx; 130 struct cvmx_l2d_bst3_s cn31xx;
@@ -121,6 +142,7 @@ union cvmx_l2d_bst3 {
121union cvmx_l2d_err { 142union cvmx_l2d_err {
122 uint64_t u64; 143 uint64_t u64;
123 struct cvmx_l2d_err_s { 144 struct cvmx_l2d_err_s {
145#ifdef __BIG_ENDIAN_BITFIELD
124 uint64_t reserved_6_63:58; 146 uint64_t reserved_6_63:58;
125 uint64_t bmhclsel:1; 147 uint64_t bmhclsel:1;
126 uint64_t ded_err:1; 148 uint64_t ded_err:1;
@@ -128,6 +150,15 @@ union cvmx_l2d_err {
128 uint64_t ded_intena:1; 150 uint64_t ded_intena:1;
129 uint64_t sec_intena:1; 151 uint64_t sec_intena:1;
130 uint64_t ecc_ena:1; 152 uint64_t ecc_ena:1;
153#else
154 uint64_t ecc_ena:1;
155 uint64_t sec_intena:1;
156 uint64_t ded_intena:1;
157 uint64_t sec_err:1;
158 uint64_t ded_err:1;
159 uint64_t bmhclsel:1;
160 uint64_t reserved_6_63:58;
161#endif
131 } s; 162 } s;
132 struct cvmx_l2d_err_s cn30xx; 163 struct cvmx_l2d_err_s cn30xx;
133 struct cvmx_l2d_err_s cn31xx; 164 struct cvmx_l2d_err_s cn31xx;
@@ -145,48 +176,97 @@ union cvmx_l2d_err {
145union cvmx_l2d_fadr { 176union cvmx_l2d_fadr {
146 uint64_t u64; 177 uint64_t u64;
147 struct cvmx_l2d_fadr_s { 178 struct cvmx_l2d_fadr_s {
179#ifdef __BIG_ENDIAN_BITFIELD
148 uint64_t reserved_19_63:45; 180 uint64_t reserved_19_63:45;
149 uint64_t fadru:1; 181 uint64_t fadru:1;
150 uint64_t fowmsk:4; 182 uint64_t fowmsk:4;
151 uint64_t fset:3; 183 uint64_t fset:3;
152 uint64_t fadr:11; 184 uint64_t fadr:11;
185#else
186 uint64_t fadr:11;
187 uint64_t fset:3;
188 uint64_t fowmsk:4;
189 uint64_t fadru:1;
190 uint64_t reserved_19_63:45;
191#endif
153 } s; 192 } s;
154 struct cvmx_l2d_fadr_cn30xx { 193 struct cvmx_l2d_fadr_cn30xx {
194#ifdef __BIG_ENDIAN_BITFIELD
155 uint64_t reserved_18_63:46; 195 uint64_t reserved_18_63:46;
156 uint64_t fowmsk:4; 196 uint64_t fowmsk:4;
157 uint64_t reserved_13_13:1; 197 uint64_t reserved_13_13:1;
158 uint64_t fset:2; 198 uint64_t fset:2;
159 uint64_t reserved_9_10:2; 199 uint64_t reserved_9_10:2;
160 uint64_t fadr:9; 200 uint64_t fadr:9;
201#else
202 uint64_t fadr:9;
203 uint64_t reserved_9_10:2;
204 uint64_t fset:2;
205 uint64_t reserved_13_13:1;
206 uint64_t fowmsk:4;
207 uint64_t reserved_18_63:46;
208#endif
161 } cn30xx; 209 } cn30xx;
162 struct cvmx_l2d_fadr_cn31xx { 210 struct cvmx_l2d_fadr_cn31xx {
211#ifdef __BIG_ENDIAN_BITFIELD
163 uint64_t reserved_18_63:46; 212 uint64_t reserved_18_63:46;
164 uint64_t fowmsk:4; 213 uint64_t fowmsk:4;
165 uint64_t reserved_13_13:1; 214 uint64_t reserved_13_13:1;
166 uint64_t fset:2; 215 uint64_t fset:2;
167 uint64_t reserved_10_10:1; 216 uint64_t reserved_10_10:1;
168 uint64_t fadr:10; 217 uint64_t fadr:10;
218#else
219 uint64_t fadr:10;
220 uint64_t reserved_10_10:1;
221 uint64_t fset:2;
222 uint64_t reserved_13_13:1;
223 uint64_t fowmsk:4;
224 uint64_t reserved_18_63:46;
225#endif
169 } cn31xx; 226 } cn31xx;
170 struct cvmx_l2d_fadr_cn38xx { 227 struct cvmx_l2d_fadr_cn38xx {
228#ifdef __BIG_ENDIAN_BITFIELD
171 uint64_t reserved_18_63:46; 229 uint64_t reserved_18_63:46;
172 uint64_t fowmsk:4; 230 uint64_t fowmsk:4;
173 uint64_t fset:3; 231 uint64_t fset:3;
174 uint64_t fadr:11; 232 uint64_t fadr:11;
233#else
234 uint64_t fadr:11;
235 uint64_t fset:3;
236 uint64_t fowmsk:4;
237 uint64_t reserved_18_63:46;
238#endif
175 } cn38xx; 239 } cn38xx;
176 struct cvmx_l2d_fadr_cn38xx cn38xxp2; 240 struct cvmx_l2d_fadr_cn38xx cn38xxp2;
177 struct cvmx_l2d_fadr_cn50xx { 241 struct cvmx_l2d_fadr_cn50xx {
242#ifdef __BIG_ENDIAN_BITFIELD
178 uint64_t reserved_18_63:46; 243 uint64_t reserved_18_63:46;
179 uint64_t fowmsk:4; 244 uint64_t fowmsk:4;
180 uint64_t fset:3; 245 uint64_t fset:3;
181 uint64_t reserved_8_10:3; 246 uint64_t reserved_8_10:3;
182 uint64_t fadr:8; 247 uint64_t fadr:8;
248#else
249 uint64_t fadr:8;
250 uint64_t reserved_8_10:3;
251 uint64_t fset:3;
252 uint64_t fowmsk:4;
253 uint64_t reserved_18_63:46;
254#endif
183 } cn50xx; 255 } cn50xx;
184 struct cvmx_l2d_fadr_cn52xx { 256 struct cvmx_l2d_fadr_cn52xx {
257#ifdef __BIG_ENDIAN_BITFIELD
185 uint64_t reserved_18_63:46; 258 uint64_t reserved_18_63:46;
186 uint64_t fowmsk:4; 259 uint64_t fowmsk:4;
187 uint64_t fset:3; 260 uint64_t fset:3;
188 uint64_t reserved_10_10:1; 261 uint64_t reserved_10_10:1;
189 uint64_t fadr:10; 262 uint64_t fadr:10;
263#else
264 uint64_t fadr:10;
265 uint64_t reserved_10_10:1;
266 uint64_t fset:3;
267 uint64_t fowmsk:4;
268 uint64_t reserved_18_63:46;
269#endif
190 } cn52xx; 270 } cn52xx;
191 struct cvmx_l2d_fadr_cn52xx cn52xxp1; 271 struct cvmx_l2d_fadr_cn52xx cn52xxp1;
192 struct cvmx_l2d_fadr_s cn56xx; 272 struct cvmx_l2d_fadr_s cn56xx;
@@ -198,9 +278,15 @@ union cvmx_l2d_fadr {
198union cvmx_l2d_fsyn0 { 278union cvmx_l2d_fsyn0 {
199 uint64_t u64; 279 uint64_t u64;
200 struct cvmx_l2d_fsyn0_s { 280 struct cvmx_l2d_fsyn0_s {
281#ifdef __BIG_ENDIAN_BITFIELD
201 uint64_t reserved_20_63:44; 282 uint64_t reserved_20_63:44;
202 uint64_t fsyn_ow1:10; 283 uint64_t fsyn_ow1:10;
203 uint64_t fsyn_ow0:10; 284 uint64_t fsyn_ow0:10;
285#else
286 uint64_t fsyn_ow0:10;
287 uint64_t fsyn_ow1:10;
288 uint64_t reserved_20_63:44;
289#endif
204 } s; 290 } s;
205 struct cvmx_l2d_fsyn0_s cn30xx; 291 struct cvmx_l2d_fsyn0_s cn30xx;
206 struct cvmx_l2d_fsyn0_s cn31xx; 292 struct cvmx_l2d_fsyn0_s cn31xx;
@@ -218,9 +304,15 @@ union cvmx_l2d_fsyn0 {
218union cvmx_l2d_fsyn1 { 304union cvmx_l2d_fsyn1 {
219 uint64_t u64; 305 uint64_t u64;
220 struct cvmx_l2d_fsyn1_s { 306 struct cvmx_l2d_fsyn1_s {
307#ifdef __BIG_ENDIAN_BITFIELD
221 uint64_t reserved_20_63:44; 308 uint64_t reserved_20_63:44;
222 uint64_t fsyn_ow3:10; 309 uint64_t fsyn_ow3:10;
223 uint64_t fsyn_ow2:10; 310 uint64_t fsyn_ow2:10;
311#else
312 uint64_t fsyn_ow2:10;
313 uint64_t fsyn_ow3:10;
314 uint64_t reserved_20_63:44;
315#endif
224 } s; 316 } s;
225 struct cvmx_l2d_fsyn1_s cn30xx; 317 struct cvmx_l2d_fsyn1_s cn30xx;
226 struct cvmx_l2d_fsyn1_s cn31xx; 318 struct cvmx_l2d_fsyn1_s cn31xx;
@@ -238,8 +330,13 @@ union cvmx_l2d_fsyn1 {
238union cvmx_l2d_fus0 { 330union cvmx_l2d_fus0 {
239 uint64_t u64; 331 uint64_t u64;
240 struct cvmx_l2d_fus0_s { 332 struct cvmx_l2d_fus0_s {
333#ifdef __BIG_ENDIAN_BITFIELD
241 uint64_t reserved_34_63:30; 334 uint64_t reserved_34_63:30;
242 uint64_t q0fus:34; 335 uint64_t q0fus:34;
336#else
337 uint64_t q0fus:34;
338 uint64_t reserved_34_63:30;
339#endif
243 } s; 340 } s;
244 struct cvmx_l2d_fus0_s cn30xx; 341 struct cvmx_l2d_fus0_s cn30xx;
245 struct cvmx_l2d_fus0_s cn31xx; 342 struct cvmx_l2d_fus0_s cn31xx;
@@ -257,8 +354,13 @@ union cvmx_l2d_fus0 {
257union cvmx_l2d_fus1 { 354union cvmx_l2d_fus1 {
258 uint64_t u64; 355 uint64_t u64;
259 struct cvmx_l2d_fus1_s { 356 struct cvmx_l2d_fus1_s {
357#ifdef __BIG_ENDIAN_BITFIELD
260 uint64_t reserved_34_63:30; 358 uint64_t reserved_34_63:30;
261 uint64_t q1fus:34; 359 uint64_t q1fus:34;
360#else
361 uint64_t q1fus:34;
362 uint64_t reserved_34_63:30;
363#endif
262 } s; 364 } s;
263 struct cvmx_l2d_fus1_s cn30xx; 365 struct cvmx_l2d_fus1_s cn30xx;
264 struct cvmx_l2d_fus1_s cn31xx; 366 struct cvmx_l2d_fus1_s cn31xx;
@@ -276,8 +378,13 @@ union cvmx_l2d_fus1 {
276union cvmx_l2d_fus2 { 378union cvmx_l2d_fus2 {
277 uint64_t u64; 379 uint64_t u64;
278 struct cvmx_l2d_fus2_s { 380 struct cvmx_l2d_fus2_s {
381#ifdef __BIG_ENDIAN_BITFIELD
279 uint64_t reserved_34_63:30; 382 uint64_t reserved_34_63:30;
280 uint64_t q2fus:34; 383 uint64_t q2fus:34;
384#else
385 uint64_t q2fus:34;
386 uint64_t reserved_34_63:30;
387#endif
281 } s; 388 } s;
282 struct cvmx_l2d_fus2_s cn30xx; 389 struct cvmx_l2d_fus2_s cn30xx;
283 struct cvmx_l2d_fus2_s cn31xx; 390 struct cvmx_l2d_fus2_s cn31xx;
@@ -295,61 +402,123 @@ union cvmx_l2d_fus2 {
295union cvmx_l2d_fus3 { 402union cvmx_l2d_fus3 {
296 uint64_t u64; 403 uint64_t u64;
297 struct cvmx_l2d_fus3_s { 404 struct cvmx_l2d_fus3_s {
405#ifdef __BIG_ENDIAN_BITFIELD
298 uint64_t reserved_40_63:24; 406 uint64_t reserved_40_63:24;
299 uint64_t ema_ctl:3; 407 uint64_t ema_ctl:3;
300 uint64_t reserved_34_36:3; 408 uint64_t reserved_34_36:3;
301 uint64_t q3fus:34; 409 uint64_t q3fus:34;
410#else
411 uint64_t q3fus:34;
412 uint64_t reserved_34_36:3;
413 uint64_t ema_ctl:3;
414 uint64_t reserved_40_63:24;
415#endif
302 } s; 416 } s;
303 struct cvmx_l2d_fus3_cn30xx { 417 struct cvmx_l2d_fus3_cn30xx {
418#ifdef __BIG_ENDIAN_BITFIELD
304 uint64_t reserved_35_63:29; 419 uint64_t reserved_35_63:29;
305 uint64_t crip_64k:1; 420 uint64_t crip_64k:1;
306 uint64_t q3fus:34; 421 uint64_t q3fus:34;
422#else
423 uint64_t q3fus:34;
424 uint64_t crip_64k:1;
425 uint64_t reserved_35_63:29;
426#endif
307 } cn30xx; 427 } cn30xx;
308 struct cvmx_l2d_fus3_cn31xx { 428 struct cvmx_l2d_fus3_cn31xx {
429#ifdef __BIG_ENDIAN_BITFIELD
309 uint64_t reserved_35_63:29; 430 uint64_t reserved_35_63:29;
310 uint64_t crip_128k:1; 431 uint64_t crip_128k:1;
311 uint64_t q3fus:34; 432 uint64_t q3fus:34;
433#else
434 uint64_t q3fus:34;
435 uint64_t crip_128k:1;
436 uint64_t reserved_35_63:29;
437#endif
312 } cn31xx; 438 } cn31xx;
313 struct cvmx_l2d_fus3_cn38xx { 439 struct cvmx_l2d_fus3_cn38xx {
440#ifdef __BIG_ENDIAN_BITFIELD
314 uint64_t reserved_36_63:28; 441 uint64_t reserved_36_63:28;
315 uint64_t crip_256k:1; 442 uint64_t crip_256k:1;
316 uint64_t crip_512k:1; 443 uint64_t crip_512k:1;
317 uint64_t q3fus:34; 444 uint64_t q3fus:34;
445#else
446 uint64_t q3fus:34;
447 uint64_t crip_512k:1;
448 uint64_t crip_256k:1;
449 uint64_t reserved_36_63:28;
450#endif
318 } cn38xx; 451 } cn38xx;
319 struct cvmx_l2d_fus3_cn38xx cn38xxp2; 452 struct cvmx_l2d_fus3_cn38xx cn38xxp2;
320 struct cvmx_l2d_fus3_cn50xx { 453 struct cvmx_l2d_fus3_cn50xx {
454#ifdef __BIG_ENDIAN_BITFIELD
321 uint64_t reserved_40_63:24; 455 uint64_t reserved_40_63:24;
322 uint64_t ema_ctl:3; 456 uint64_t ema_ctl:3;
323 uint64_t reserved_36_36:1; 457 uint64_t reserved_36_36:1;
324 uint64_t crip_32k:1; 458 uint64_t crip_32k:1;
325 uint64_t crip_64k:1; 459 uint64_t crip_64k:1;
326 uint64_t q3fus:34; 460 uint64_t q3fus:34;
461#else
462 uint64_t q3fus:34;
463 uint64_t crip_64k:1;
464 uint64_t crip_32k:1;
465 uint64_t reserved_36_36:1;
466 uint64_t ema_ctl:3;
467 uint64_t reserved_40_63:24;
468#endif
327 } cn50xx; 469 } cn50xx;
328 struct cvmx_l2d_fus3_cn52xx { 470 struct cvmx_l2d_fus3_cn52xx {
471#ifdef __BIG_ENDIAN_BITFIELD
329 uint64_t reserved_40_63:24; 472 uint64_t reserved_40_63:24;
330 uint64_t ema_ctl:3; 473 uint64_t ema_ctl:3;
331 uint64_t reserved_36_36:1; 474 uint64_t reserved_36_36:1;
332 uint64_t crip_128k:1; 475 uint64_t crip_128k:1;
333 uint64_t crip_256k:1; 476 uint64_t crip_256k:1;
334 uint64_t q3fus:34; 477 uint64_t q3fus:34;
478#else
479 uint64_t q3fus:34;
480 uint64_t crip_256k:1;
481 uint64_t crip_128k:1;
482 uint64_t reserved_36_36:1;
483 uint64_t ema_ctl:3;
484 uint64_t reserved_40_63:24;
485#endif
335 } cn52xx; 486 } cn52xx;
336 struct cvmx_l2d_fus3_cn52xx cn52xxp1; 487 struct cvmx_l2d_fus3_cn52xx cn52xxp1;
337 struct cvmx_l2d_fus3_cn56xx { 488 struct cvmx_l2d_fus3_cn56xx {
489#ifdef __BIG_ENDIAN_BITFIELD
338 uint64_t reserved_40_63:24; 490 uint64_t reserved_40_63:24;
339 uint64_t ema_ctl:3; 491 uint64_t ema_ctl:3;
340 uint64_t reserved_36_36:1; 492 uint64_t reserved_36_36:1;
341 uint64_t crip_512k:1; 493 uint64_t crip_512k:1;
342 uint64_t crip_1024k:1; 494 uint64_t crip_1024k:1;
343 uint64_t q3fus:34; 495 uint64_t q3fus:34;
496#else
497 uint64_t q3fus:34;
498 uint64_t crip_1024k:1;
499 uint64_t crip_512k:1;
500 uint64_t reserved_36_36:1;
501 uint64_t ema_ctl:3;
502 uint64_t reserved_40_63:24;
503#endif
344 } cn56xx; 504 } cn56xx;
345 struct cvmx_l2d_fus3_cn56xx cn56xxp1; 505 struct cvmx_l2d_fus3_cn56xx cn56xxp1;
346 struct cvmx_l2d_fus3_cn58xx { 506 struct cvmx_l2d_fus3_cn58xx {
507#ifdef __BIG_ENDIAN_BITFIELD
347 uint64_t reserved_39_63:25; 508 uint64_t reserved_39_63:25;
348 uint64_t ema_ctl:2; 509 uint64_t ema_ctl:2;
349 uint64_t reserved_36_36:1; 510 uint64_t reserved_36_36:1;
350 uint64_t crip_512k:1; 511 uint64_t crip_512k:1;
351 uint64_t crip_1024k:1; 512 uint64_t crip_1024k:1;
352 uint64_t q3fus:34; 513 uint64_t q3fus:34;
514#else
515 uint64_t q3fus:34;
516 uint64_t crip_1024k:1;
517 uint64_t crip_512k:1;
518 uint64_t reserved_36_36:1;
519 uint64_t ema_ctl:2;
520 uint64_t reserved_39_63:25;
521#endif
353 } cn58xx; 522 } cn58xx;
354 struct cvmx_l2d_fus3_cn58xx cn58xxp1; 523 struct cvmx_l2d_fus3_cn58xx cn58xxp1;
355}; 524};
diff --git a/arch/mips/include/asm/octeon/cvmx-l2t-defs.h b/arch/mips/include/asm/octeon/cvmx-l2t-defs.h
index 873968f55eeb..83ce22c080e6 100644
--- a/arch/mips/include/asm/octeon/cvmx-l2t-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-l2t-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -33,6 +33,7 @@
33union cvmx_l2t_err { 33union cvmx_l2t_err {
34 uint64_t u64; 34 uint64_t u64;
35 struct cvmx_l2t_err_s { 35 struct cvmx_l2t_err_s {
36#ifdef __BIG_ENDIAN_BITFIELD
36 uint64_t reserved_29_63:35; 37 uint64_t reserved_29_63:35;
37 uint64_t fadru:1; 38 uint64_t fadru:1;
38 uint64_t lck_intena2:1; 39 uint64_t lck_intena2:1;
@@ -47,8 +48,25 @@ union cvmx_l2t_err {
47 uint64_t ded_intena:1; 48 uint64_t ded_intena:1;
48 uint64_t sec_intena:1; 49 uint64_t sec_intena:1;
49 uint64_t ecc_ena:1; 50 uint64_t ecc_ena:1;
51#else
52 uint64_t ecc_ena:1;
53 uint64_t sec_intena:1;
54 uint64_t ded_intena:1;
55 uint64_t sec_err:1;
56 uint64_t ded_err:1;
57 uint64_t fsyn:6;
58 uint64_t fadr:10;
59 uint64_t fset:3;
60 uint64_t lckerr:1;
61 uint64_t lck_intena:1;
62 uint64_t lckerr2:1;
63 uint64_t lck_intena2:1;
64 uint64_t fadru:1;
65 uint64_t reserved_29_63:35;
66#endif
50 } s; 67 } s;
51 struct cvmx_l2t_err_cn30xx { 68 struct cvmx_l2t_err_cn30xx {
69#ifdef __BIG_ENDIAN_BITFIELD
52 uint64_t reserved_28_63:36; 70 uint64_t reserved_28_63:36;
53 uint64_t lck_intena2:1; 71 uint64_t lck_intena2:1;
54 uint64_t lckerr2:1; 72 uint64_t lckerr2:1;
@@ -64,8 +82,26 @@ union cvmx_l2t_err {
64 uint64_t ded_intena:1; 82 uint64_t ded_intena:1;
65 uint64_t sec_intena:1; 83 uint64_t sec_intena:1;
66 uint64_t ecc_ena:1; 84 uint64_t ecc_ena:1;
85#else
86 uint64_t ecc_ena:1;
87 uint64_t sec_intena:1;
88 uint64_t ded_intena:1;
89 uint64_t sec_err:1;
90 uint64_t ded_err:1;
91 uint64_t fsyn:6;
92 uint64_t fadr:8;
93 uint64_t reserved_19_20:2;
94 uint64_t fset:2;
95 uint64_t reserved_23_23:1;
96 uint64_t lckerr:1;
97 uint64_t lck_intena:1;
98 uint64_t lckerr2:1;
99 uint64_t lck_intena2:1;
100 uint64_t reserved_28_63:36;
101#endif
67 } cn30xx; 102 } cn30xx;
68 struct cvmx_l2t_err_cn31xx { 103 struct cvmx_l2t_err_cn31xx {
104#ifdef __BIG_ENDIAN_BITFIELD
69 uint64_t reserved_28_63:36; 105 uint64_t reserved_28_63:36;
70 uint64_t lck_intena2:1; 106 uint64_t lck_intena2:1;
71 uint64_t lckerr2:1; 107 uint64_t lckerr2:1;
@@ -81,8 +117,26 @@ union cvmx_l2t_err {
81 uint64_t ded_intena:1; 117 uint64_t ded_intena:1;
82 uint64_t sec_intena:1; 118 uint64_t sec_intena:1;
83 uint64_t ecc_ena:1; 119 uint64_t ecc_ena:1;
120#else
121 uint64_t ecc_ena:1;
122 uint64_t sec_intena:1;
123 uint64_t ded_intena:1;
124 uint64_t sec_err:1;
125 uint64_t ded_err:1;
126 uint64_t fsyn:6;
127 uint64_t fadr:9;
128 uint64_t reserved_20_20:1;
129 uint64_t fset:2;
130 uint64_t reserved_23_23:1;
131 uint64_t lckerr:1;
132 uint64_t lck_intena:1;
133 uint64_t lckerr2:1;
134 uint64_t lck_intena2:1;
135 uint64_t reserved_28_63:36;
136#endif
84 } cn31xx; 137 } cn31xx;
85 struct cvmx_l2t_err_cn38xx { 138 struct cvmx_l2t_err_cn38xx {
139#ifdef __BIG_ENDIAN_BITFIELD
86 uint64_t reserved_28_63:36; 140 uint64_t reserved_28_63:36;
87 uint64_t lck_intena2:1; 141 uint64_t lck_intena2:1;
88 uint64_t lckerr2:1; 142 uint64_t lckerr2:1;
@@ -96,9 +150,25 @@ union cvmx_l2t_err {
96 uint64_t ded_intena:1; 150 uint64_t ded_intena:1;
97 uint64_t sec_intena:1; 151 uint64_t sec_intena:1;
98 uint64_t ecc_ena:1; 152 uint64_t ecc_ena:1;
153#else
154 uint64_t ecc_ena:1;
155 uint64_t sec_intena:1;
156 uint64_t ded_intena:1;
157 uint64_t sec_err:1;
158 uint64_t ded_err:1;
159 uint64_t fsyn:6;
160 uint64_t fadr:10;
161 uint64_t fset:3;
162 uint64_t lckerr:1;
163 uint64_t lck_intena:1;
164 uint64_t lckerr2:1;
165 uint64_t lck_intena2:1;
166 uint64_t reserved_28_63:36;
167#endif
99 } cn38xx; 168 } cn38xx;
100 struct cvmx_l2t_err_cn38xx cn38xxp2; 169 struct cvmx_l2t_err_cn38xx cn38xxp2;
101 struct cvmx_l2t_err_cn50xx { 170 struct cvmx_l2t_err_cn50xx {
171#ifdef __BIG_ENDIAN_BITFIELD
102 uint64_t reserved_28_63:36; 172 uint64_t reserved_28_63:36;
103 uint64_t lck_intena2:1; 173 uint64_t lck_intena2:1;
104 uint64_t lckerr2:1; 174 uint64_t lckerr2:1;
@@ -113,8 +183,25 @@ union cvmx_l2t_err {
113 uint64_t ded_intena:1; 183 uint64_t ded_intena:1;
114 uint64_t sec_intena:1; 184 uint64_t sec_intena:1;
115 uint64_t ecc_ena:1; 185 uint64_t ecc_ena:1;
186#else
187 uint64_t ecc_ena:1;
188 uint64_t sec_intena:1;
189 uint64_t ded_intena:1;
190 uint64_t sec_err:1;
191 uint64_t ded_err:1;
192 uint64_t fsyn:6;
193 uint64_t fadr:7;
194 uint64_t reserved_18_20:3;
195 uint64_t fset:3;
196 uint64_t lckerr:1;
197 uint64_t lck_intena:1;
198 uint64_t lckerr2:1;
199 uint64_t lck_intena2:1;
200 uint64_t reserved_28_63:36;
201#endif
116 } cn50xx; 202 } cn50xx;
117 struct cvmx_l2t_err_cn52xx { 203 struct cvmx_l2t_err_cn52xx {
204#ifdef __BIG_ENDIAN_BITFIELD
118 uint64_t reserved_28_63:36; 205 uint64_t reserved_28_63:36;
119 uint64_t lck_intena2:1; 206 uint64_t lck_intena2:1;
120 uint64_t lckerr2:1; 207 uint64_t lckerr2:1;
@@ -129,6 +216,22 @@ union cvmx_l2t_err {
129 uint64_t ded_intena:1; 216 uint64_t ded_intena:1;
130 uint64_t sec_intena:1; 217 uint64_t sec_intena:1;
131 uint64_t ecc_ena:1; 218 uint64_t ecc_ena:1;
219#else
220 uint64_t ecc_ena:1;
221 uint64_t sec_intena:1;
222 uint64_t ded_intena:1;
223 uint64_t sec_err:1;
224 uint64_t ded_err:1;
225 uint64_t fsyn:6;
226 uint64_t fadr:9;
227 uint64_t reserved_20_20:1;
228 uint64_t fset:3;
229 uint64_t lckerr:1;
230 uint64_t lck_intena:1;
231 uint64_t lckerr2:1;
232 uint64_t lck_intena2:1;
233 uint64_t reserved_28_63:36;
234#endif
132 } cn52xx; 235 } cn52xx;
133 struct cvmx_l2t_err_cn52xx cn52xxp1; 236 struct cvmx_l2t_err_cn52xx cn52xxp1;
134 struct cvmx_l2t_err_s cn56xx; 237 struct cvmx_l2t_err_s cn56xx;
diff --git a/arch/mips/include/asm/octeon/cvmx-led-defs.h b/arch/mips/include/asm/octeon/cvmx-led-defs.h
index e25173bb8bb7..d36d42b8307b 100644
--- a/arch/mips/include/asm/octeon/cvmx-led-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-led-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -45,8 +45,13 @@
45union cvmx_led_blink { 45union cvmx_led_blink {
46 uint64_t u64; 46 uint64_t u64;
47 struct cvmx_led_blink_s { 47 struct cvmx_led_blink_s {
48#ifdef __BIG_ENDIAN_BITFIELD
48 uint64_t reserved_8_63:56; 49 uint64_t reserved_8_63:56;
49 uint64_t rate:8; 50 uint64_t rate:8;
51#else
52 uint64_t rate:8;
53 uint64_t reserved_8_63:56;
54#endif
50 } s; 55 } s;
51 struct cvmx_led_blink_s cn38xx; 56 struct cvmx_led_blink_s cn38xx;
52 struct cvmx_led_blink_s cn38xxp2; 57 struct cvmx_led_blink_s cn38xxp2;
@@ -59,8 +64,13 @@ union cvmx_led_blink {
59union cvmx_led_clk_phase { 64union cvmx_led_clk_phase {
60 uint64_t u64; 65 uint64_t u64;
61 struct cvmx_led_clk_phase_s { 66 struct cvmx_led_clk_phase_s {
67#ifdef __BIG_ENDIAN_BITFIELD
62 uint64_t reserved_7_63:57; 68 uint64_t reserved_7_63:57;
63 uint64_t phase:7; 69 uint64_t phase:7;
70#else
71 uint64_t phase:7;
72 uint64_t reserved_7_63:57;
73#endif
64 } s; 74 } s;
65 struct cvmx_led_clk_phase_s cn38xx; 75 struct cvmx_led_clk_phase_s cn38xx;
66 struct cvmx_led_clk_phase_s cn38xxp2; 76 struct cvmx_led_clk_phase_s cn38xxp2;
@@ -73,8 +83,13 @@ union cvmx_led_clk_phase {
73union cvmx_led_cylon { 83union cvmx_led_cylon {
74 uint64_t u64; 84 uint64_t u64;
75 struct cvmx_led_cylon_s { 85 struct cvmx_led_cylon_s {
86#ifdef __BIG_ENDIAN_BITFIELD
76 uint64_t reserved_16_63:48; 87 uint64_t reserved_16_63:48;
77 uint64_t rate:16; 88 uint64_t rate:16;
89#else
90 uint64_t rate:16;
91 uint64_t reserved_16_63:48;
92#endif
78 } s; 93 } s;
79 struct cvmx_led_cylon_s cn38xx; 94 struct cvmx_led_cylon_s cn38xx;
80 struct cvmx_led_cylon_s cn38xxp2; 95 struct cvmx_led_cylon_s cn38xxp2;
@@ -87,8 +102,13 @@ union cvmx_led_cylon {
87union cvmx_led_dbg { 102union cvmx_led_dbg {
88 uint64_t u64; 103 uint64_t u64;
89 struct cvmx_led_dbg_s { 104 struct cvmx_led_dbg_s {
105#ifdef __BIG_ENDIAN_BITFIELD
90 uint64_t reserved_1_63:63; 106 uint64_t reserved_1_63:63;
91 uint64_t dbg_en:1; 107 uint64_t dbg_en:1;
108#else
109 uint64_t dbg_en:1;
110 uint64_t reserved_1_63:63;
111#endif
92 } s; 112 } s;
93 struct cvmx_led_dbg_s cn38xx; 113 struct cvmx_led_dbg_s cn38xx;
94 struct cvmx_led_dbg_s cn38xxp2; 114 struct cvmx_led_dbg_s cn38xxp2;
@@ -101,8 +121,13 @@ union cvmx_led_dbg {
101union cvmx_led_en { 121union cvmx_led_en {
102 uint64_t u64; 122 uint64_t u64;
103 struct cvmx_led_en_s { 123 struct cvmx_led_en_s {
124#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_1_63:63; 125 uint64_t reserved_1_63:63;
105 uint64_t en:1; 126 uint64_t en:1;
127#else
128 uint64_t en:1;
129 uint64_t reserved_1_63:63;
130#endif
106 } s; 131 } s;
107 struct cvmx_led_en_s cn38xx; 132 struct cvmx_led_en_s cn38xx;
108 struct cvmx_led_en_s cn38xxp2; 133 struct cvmx_led_en_s cn38xxp2;
@@ -115,8 +140,13 @@ union cvmx_led_en {
115union cvmx_led_polarity { 140union cvmx_led_polarity {
116 uint64_t u64; 141 uint64_t u64;
117 struct cvmx_led_polarity_s { 142 struct cvmx_led_polarity_s {
143#ifdef __BIG_ENDIAN_BITFIELD
118 uint64_t reserved_1_63:63; 144 uint64_t reserved_1_63:63;
119 uint64_t polarity:1; 145 uint64_t polarity:1;
146#else
147 uint64_t polarity:1;
148 uint64_t reserved_1_63:63;
149#endif
120 } s; 150 } s;
121 struct cvmx_led_polarity_s cn38xx; 151 struct cvmx_led_polarity_s cn38xx;
122 struct cvmx_led_polarity_s cn38xxp2; 152 struct cvmx_led_polarity_s cn38xxp2;
@@ -129,8 +159,13 @@ union cvmx_led_polarity {
129union cvmx_led_prt { 159union cvmx_led_prt {
130 uint64_t u64; 160 uint64_t u64;
131 struct cvmx_led_prt_s { 161 struct cvmx_led_prt_s {
162#ifdef __BIG_ENDIAN_BITFIELD
132 uint64_t reserved_8_63:56; 163 uint64_t reserved_8_63:56;
133 uint64_t prt_en:8; 164 uint64_t prt_en:8;
165#else
166 uint64_t prt_en:8;
167 uint64_t reserved_8_63:56;
168#endif
134 } s; 169 } s;
135 struct cvmx_led_prt_s cn38xx; 170 struct cvmx_led_prt_s cn38xx;
136 struct cvmx_led_prt_s cn38xxp2; 171 struct cvmx_led_prt_s cn38xxp2;
@@ -143,8 +178,13 @@ union cvmx_led_prt {
143union cvmx_led_prt_fmt { 178union cvmx_led_prt_fmt {
144 uint64_t u64; 179 uint64_t u64;
145 struct cvmx_led_prt_fmt_s { 180 struct cvmx_led_prt_fmt_s {
181#ifdef __BIG_ENDIAN_BITFIELD
146 uint64_t reserved_4_63:60; 182 uint64_t reserved_4_63:60;
147 uint64_t format:4; 183 uint64_t format:4;
184#else
185 uint64_t format:4;
186 uint64_t reserved_4_63:60;
187#endif
148 } s; 188 } s;
149 struct cvmx_led_prt_fmt_s cn38xx; 189 struct cvmx_led_prt_fmt_s cn38xx;
150 struct cvmx_led_prt_fmt_s cn38xxp2; 190 struct cvmx_led_prt_fmt_s cn38xxp2;
@@ -157,8 +197,13 @@ union cvmx_led_prt_fmt {
157union cvmx_led_prt_statusx { 197union cvmx_led_prt_statusx {
158 uint64_t u64; 198 uint64_t u64;
159 struct cvmx_led_prt_statusx_s { 199 struct cvmx_led_prt_statusx_s {
200#ifdef __BIG_ENDIAN_BITFIELD
160 uint64_t reserved_6_63:58; 201 uint64_t reserved_6_63:58;
161 uint64_t status:6; 202 uint64_t status:6;
203#else
204 uint64_t status:6;
205 uint64_t reserved_6_63:58;
206#endif
162 } s; 207 } s;
163 struct cvmx_led_prt_statusx_s cn38xx; 208 struct cvmx_led_prt_statusx_s cn38xx;
164 struct cvmx_led_prt_statusx_s cn38xxp2; 209 struct cvmx_led_prt_statusx_s cn38xxp2;
@@ -171,8 +216,13 @@ union cvmx_led_prt_statusx {
171union cvmx_led_udd_cntx { 216union cvmx_led_udd_cntx {
172 uint64_t u64; 217 uint64_t u64;
173 struct cvmx_led_udd_cntx_s { 218 struct cvmx_led_udd_cntx_s {
219#ifdef __BIG_ENDIAN_BITFIELD
174 uint64_t reserved_6_63:58; 220 uint64_t reserved_6_63:58;
175 uint64_t cnt:6; 221 uint64_t cnt:6;
222#else
223 uint64_t cnt:6;
224 uint64_t reserved_6_63:58;
225#endif
176 } s; 226 } s;
177 struct cvmx_led_udd_cntx_s cn38xx; 227 struct cvmx_led_udd_cntx_s cn38xx;
178 struct cvmx_led_udd_cntx_s cn38xxp2; 228 struct cvmx_led_udd_cntx_s cn38xxp2;
@@ -185,8 +235,13 @@ union cvmx_led_udd_cntx {
185union cvmx_led_udd_datx { 235union cvmx_led_udd_datx {
186 uint64_t u64; 236 uint64_t u64;
187 struct cvmx_led_udd_datx_s { 237 struct cvmx_led_udd_datx_s {
238#ifdef __BIG_ENDIAN_BITFIELD
188 uint64_t reserved_32_63:32; 239 uint64_t reserved_32_63:32;
189 uint64_t dat:32; 240 uint64_t dat:32;
241#else
242 uint64_t dat:32;
243 uint64_t reserved_32_63:32;
244#endif
190 } s; 245 } s;
191 struct cvmx_led_udd_datx_s cn38xx; 246 struct cvmx_led_udd_datx_s cn38xx;
192 struct cvmx_led_udd_datx_s cn38xxp2; 247 struct cvmx_led_udd_datx_s cn38xxp2;
@@ -199,8 +254,13 @@ union cvmx_led_udd_datx {
199union cvmx_led_udd_dat_clrx { 254union cvmx_led_udd_dat_clrx {
200 uint64_t u64; 255 uint64_t u64;
201 struct cvmx_led_udd_dat_clrx_s { 256 struct cvmx_led_udd_dat_clrx_s {
257#ifdef __BIG_ENDIAN_BITFIELD
202 uint64_t reserved_32_63:32; 258 uint64_t reserved_32_63:32;
203 uint64_t clr:32; 259 uint64_t clr:32;
260#else
261 uint64_t clr:32;
262 uint64_t reserved_32_63:32;
263#endif
204 } s; 264 } s;
205 struct cvmx_led_udd_dat_clrx_s cn38xx; 265 struct cvmx_led_udd_dat_clrx_s cn38xx;
206 struct cvmx_led_udd_dat_clrx_s cn38xxp2; 266 struct cvmx_led_udd_dat_clrx_s cn38xxp2;
@@ -213,8 +273,13 @@ union cvmx_led_udd_dat_clrx {
213union cvmx_led_udd_dat_setx { 273union cvmx_led_udd_dat_setx {
214 uint64_t u64; 274 uint64_t u64;
215 struct cvmx_led_udd_dat_setx_s { 275 struct cvmx_led_udd_dat_setx_s {
276#ifdef __BIG_ENDIAN_BITFIELD
216 uint64_t reserved_32_63:32; 277 uint64_t reserved_32_63:32;
217 uint64_t set:32; 278 uint64_t set:32;
279#else
280 uint64_t set:32;
281 uint64_t reserved_32_63:32;
282#endif
218 } s; 283 } s;
219 struct cvmx_led_udd_dat_setx_s cn38xx; 284 struct cvmx_led_udd_dat_setx_s cn38xx;
220 struct cvmx_led_udd_dat_setx_s cn38xxp2; 285 struct cvmx_led_udd_dat_setx_s cn38xxp2;
diff --git a/arch/mips/include/asm/octeon/cvmx-mio-defs.h b/arch/mips/include/asm/octeon/cvmx-mio-defs.h
index b1774126736d..bb0ae338a460 100644
--- a/arch/mips/include/asm/octeon/cvmx-mio-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-mio-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -94,6 +94,7 @@
94#define CVMX_MIO_PTP_CLOCK_HI (CVMX_ADD_IO_SEG(0x0001070000000F10ull)) 94#define CVMX_MIO_PTP_CLOCK_HI (CVMX_ADD_IO_SEG(0x0001070000000F10ull))
95#define CVMX_MIO_PTP_CLOCK_LO (CVMX_ADD_IO_SEG(0x0001070000000F08ull)) 95#define CVMX_MIO_PTP_CLOCK_LO (CVMX_ADD_IO_SEG(0x0001070000000F08ull))
96#define CVMX_MIO_PTP_EVT_CNT (CVMX_ADD_IO_SEG(0x0001070000000F28ull)) 96#define CVMX_MIO_PTP_EVT_CNT (CVMX_ADD_IO_SEG(0x0001070000000F28ull))
97#define CVMX_MIO_PTP_PHY_1PPS_IN (CVMX_ADD_IO_SEG(0x0001070000000F70ull))
97#define CVMX_MIO_PTP_PPS_HI_INCR (CVMX_ADD_IO_SEG(0x0001070000000F60ull)) 98#define CVMX_MIO_PTP_PPS_HI_INCR (CVMX_ADD_IO_SEG(0x0001070000000F60ull))
98#define CVMX_MIO_PTP_PPS_LO_INCR (CVMX_ADD_IO_SEG(0x0001070000000F68ull)) 99#define CVMX_MIO_PTP_PPS_LO_INCR (CVMX_ADD_IO_SEG(0x0001070000000F68ull))
99#define CVMX_MIO_PTP_PPS_THRESH_HI (CVMX_ADD_IO_SEG(0x0001070000000F58ull)) 100#define CVMX_MIO_PTP_PPS_THRESH_HI (CVMX_ADD_IO_SEG(0x0001070000000F58ull))
@@ -166,24 +167,44 @@
166union cvmx_mio_boot_bist_stat { 167union cvmx_mio_boot_bist_stat {
167 uint64_t u64; 168 uint64_t u64;
168 struct cvmx_mio_boot_bist_stat_s { 169 struct cvmx_mio_boot_bist_stat_s {
170#ifdef __BIG_ENDIAN_BITFIELD
169 uint64_t reserved_0_63:64; 171 uint64_t reserved_0_63:64;
172#else
173 uint64_t reserved_0_63:64;
174#endif
170 } s; 175 } s;
171 struct cvmx_mio_boot_bist_stat_cn30xx { 176 struct cvmx_mio_boot_bist_stat_cn30xx {
177#ifdef __BIG_ENDIAN_BITFIELD
172 uint64_t reserved_4_63:60; 178 uint64_t reserved_4_63:60;
173 uint64_t ncbo_1:1; 179 uint64_t ncbo_1:1;
174 uint64_t ncbo_0:1; 180 uint64_t ncbo_0:1;
175 uint64_t loc:1; 181 uint64_t loc:1;
176 uint64_t ncbi:1; 182 uint64_t ncbi:1;
183#else
184 uint64_t ncbi:1;
185 uint64_t loc:1;
186 uint64_t ncbo_0:1;
187 uint64_t ncbo_1:1;
188 uint64_t reserved_4_63:60;
189#endif
177 } cn30xx; 190 } cn30xx;
178 struct cvmx_mio_boot_bist_stat_cn30xx cn31xx; 191 struct cvmx_mio_boot_bist_stat_cn30xx cn31xx;
179 struct cvmx_mio_boot_bist_stat_cn38xx { 192 struct cvmx_mio_boot_bist_stat_cn38xx {
193#ifdef __BIG_ENDIAN_BITFIELD
180 uint64_t reserved_3_63:61; 194 uint64_t reserved_3_63:61;
181 uint64_t ncbo_0:1; 195 uint64_t ncbo_0:1;
182 uint64_t loc:1; 196 uint64_t loc:1;
183 uint64_t ncbi:1; 197 uint64_t ncbi:1;
198#else
199 uint64_t ncbi:1;
200 uint64_t loc:1;
201 uint64_t ncbo_0:1;
202 uint64_t reserved_3_63:61;
203#endif
184 } cn38xx; 204 } cn38xx;
185 struct cvmx_mio_boot_bist_stat_cn38xx cn38xxp2; 205 struct cvmx_mio_boot_bist_stat_cn38xx cn38xxp2;
186 struct cvmx_mio_boot_bist_stat_cn50xx { 206 struct cvmx_mio_boot_bist_stat_cn50xx {
207#ifdef __BIG_ENDIAN_BITFIELD
187 uint64_t reserved_6_63:58; 208 uint64_t reserved_6_63:58;
188 uint64_t pcm_1:1; 209 uint64_t pcm_1:1;
189 uint64_t pcm_0:1; 210 uint64_t pcm_0:1;
@@ -191,72 +212,132 @@ union cvmx_mio_boot_bist_stat {
191 uint64_t ncbo_0:1; 212 uint64_t ncbo_0:1;
192 uint64_t loc:1; 213 uint64_t loc:1;
193 uint64_t ncbi:1; 214 uint64_t ncbi:1;
215#else
216 uint64_t ncbi:1;
217 uint64_t loc:1;
218 uint64_t ncbo_0:1;
219 uint64_t ncbo_1:1;
220 uint64_t pcm_0:1;
221 uint64_t pcm_1:1;
222 uint64_t reserved_6_63:58;
223#endif
194 } cn50xx; 224 } cn50xx;
195 struct cvmx_mio_boot_bist_stat_cn52xx { 225 struct cvmx_mio_boot_bist_stat_cn52xx {
226#ifdef __BIG_ENDIAN_BITFIELD
196 uint64_t reserved_6_63:58; 227 uint64_t reserved_6_63:58;
197 uint64_t ndf:2; 228 uint64_t ndf:2;
198 uint64_t ncbo_0:1; 229 uint64_t ncbo_0:1;
199 uint64_t dma:1; 230 uint64_t dma:1;
200 uint64_t loc:1; 231 uint64_t loc:1;
201 uint64_t ncbi:1; 232 uint64_t ncbi:1;
233#else
234 uint64_t ncbi:1;
235 uint64_t loc:1;
236 uint64_t dma:1;
237 uint64_t ncbo_0:1;
238 uint64_t ndf:2;
239 uint64_t reserved_6_63:58;
240#endif
202 } cn52xx; 241 } cn52xx;
203 struct cvmx_mio_boot_bist_stat_cn52xxp1 { 242 struct cvmx_mio_boot_bist_stat_cn52xxp1 {
243#ifdef __BIG_ENDIAN_BITFIELD
204 uint64_t reserved_4_63:60; 244 uint64_t reserved_4_63:60;
205 uint64_t ncbo_0:1; 245 uint64_t ncbo_0:1;
206 uint64_t dma:1; 246 uint64_t dma:1;
207 uint64_t loc:1; 247 uint64_t loc:1;
208 uint64_t ncbi:1; 248 uint64_t ncbi:1;
249#else
250 uint64_t ncbi:1;
251 uint64_t loc:1;
252 uint64_t dma:1;
253 uint64_t ncbo_0:1;
254 uint64_t reserved_4_63:60;
255#endif
209 } cn52xxp1; 256 } cn52xxp1;
210 struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xx; 257 struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xx;
211 struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xxp1; 258 struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xxp1;
212 struct cvmx_mio_boot_bist_stat_cn38xx cn58xx; 259 struct cvmx_mio_boot_bist_stat_cn38xx cn58xx;
213 struct cvmx_mio_boot_bist_stat_cn38xx cn58xxp1; 260 struct cvmx_mio_boot_bist_stat_cn38xx cn58xxp1;
214 struct cvmx_mio_boot_bist_stat_cn61xx { 261 struct cvmx_mio_boot_bist_stat_cn61xx {
262#ifdef __BIG_ENDIAN_BITFIELD
215 uint64_t reserved_12_63:52; 263 uint64_t reserved_12_63:52;
216 uint64_t stat:12; 264 uint64_t stat:12;
265#else
266 uint64_t stat:12;
267 uint64_t reserved_12_63:52;
268#endif
217 } cn61xx; 269 } cn61xx;
218 struct cvmx_mio_boot_bist_stat_cn63xx { 270 struct cvmx_mio_boot_bist_stat_cn63xx {
271#ifdef __BIG_ENDIAN_BITFIELD
219 uint64_t reserved_9_63:55; 272 uint64_t reserved_9_63:55;
220 uint64_t stat:9; 273 uint64_t stat:9;
274#else
275 uint64_t stat:9;
276 uint64_t reserved_9_63:55;
277#endif
221 } cn63xx; 278 } cn63xx;
222 struct cvmx_mio_boot_bist_stat_cn63xx cn63xxp1; 279 struct cvmx_mio_boot_bist_stat_cn63xx cn63xxp1;
223 struct cvmx_mio_boot_bist_stat_cn66xx { 280 struct cvmx_mio_boot_bist_stat_cn66xx {
281#ifdef __BIG_ENDIAN_BITFIELD
224 uint64_t reserved_10_63:54; 282 uint64_t reserved_10_63:54;
225 uint64_t stat:10; 283 uint64_t stat:10;
284#else
285 uint64_t stat:10;
286 uint64_t reserved_10_63:54;
287#endif
226 } cn66xx; 288 } cn66xx;
227 struct cvmx_mio_boot_bist_stat_cn66xx cn68xx; 289 struct cvmx_mio_boot_bist_stat_cn66xx cn68xx;
228 struct cvmx_mio_boot_bist_stat_cn66xx cn68xxp1; 290 struct cvmx_mio_boot_bist_stat_cn66xx cn68xxp1;
291 struct cvmx_mio_boot_bist_stat_cn61xx cnf71xx;
229}; 292};
230 293
231union cvmx_mio_boot_comp { 294union cvmx_mio_boot_comp {
232 uint64_t u64; 295 uint64_t u64;
233 struct cvmx_mio_boot_comp_s { 296 struct cvmx_mio_boot_comp_s {
297#ifdef __BIG_ENDIAN_BITFIELD
234 uint64_t reserved_0_63:64; 298 uint64_t reserved_0_63:64;
299#else
300 uint64_t reserved_0_63:64;
301#endif
235 } s; 302 } s;
236 struct cvmx_mio_boot_comp_cn50xx { 303 struct cvmx_mio_boot_comp_cn50xx {
304#ifdef __BIG_ENDIAN_BITFIELD
237 uint64_t reserved_10_63:54; 305 uint64_t reserved_10_63:54;
238 uint64_t pctl:5; 306 uint64_t pctl:5;
239 uint64_t nctl:5; 307 uint64_t nctl:5;
308#else
309 uint64_t nctl:5;
310 uint64_t pctl:5;
311 uint64_t reserved_10_63:54;
312#endif
240 } cn50xx; 313 } cn50xx;
241 struct cvmx_mio_boot_comp_cn50xx cn52xx; 314 struct cvmx_mio_boot_comp_cn50xx cn52xx;
242 struct cvmx_mio_boot_comp_cn50xx cn52xxp1; 315 struct cvmx_mio_boot_comp_cn50xx cn52xxp1;
243 struct cvmx_mio_boot_comp_cn50xx cn56xx; 316 struct cvmx_mio_boot_comp_cn50xx cn56xx;
244 struct cvmx_mio_boot_comp_cn50xx cn56xxp1; 317 struct cvmx_mio_boot_comp_cn50xx cn56xxp1;
245 struct cvmx_mio_boot_comp_cn61xx { 318 struct cvmx_mio_boot_comp_cn61xx {
319#ifdef __BIG_ENDIAN_BITFIELD
246 uint64_t reserved_12_63:52; 320 uint64_t reserved_12_63:52;
247 uint64_t pctl:6; 321 uint64_t pctl:6;
248 uint64_t nctl:6; 322 uint64_t nctl:6;
323#else
324 uint64_t nctl:6;
325 uint64_t pctl:6;
326 uint64_t reserved_12_63:52;
327#endif
249 } cn61xx; 328 } cn61xx;
250 struct cvmx_mio_boot_comp_cn61xx cn63xx; 329 struct cvmx_mio_boot_comp_cn61xx cn63xx;
251 struct cvmx_mio_boot_comp_cn61xx cn63xxp1; 330 struct cvmx_mio_boot_comp_cn61xx cn63xxp1;
252 struct cvmx_mio_boot_comp_cn61xx cn66xx; 331 struct cvmx_mio_boot_comp_cn61xx cn66xx;
253 struct cvmx_mio_boot_comp_cn61xx cn68xx; 332 struct cvmx_mio_boot_comp_cn61xx cn68xx;
254 struct cvmx_mio_boot_comp_cn61xx cn68xxp1; 333 struct cvmx_mio_boot_comp_cn61xx cn68xxp1;
334 struct cvmx_mio_boot_comp_cn61xx cnf71xx;
255}; 335};
256 336
257union cvmx_mio_boot_dma_cfgx { 337union cvmx_mio_boot_dma_cfgx {
258 uint64_t u64; 338 uint64_t u64;
259 struct cvmx_mio_boot_dma_cfgx_s { 339 struct cvmx_mio_boot_dma_cfgx_s {
340#ifdef __BIG_ENDIAN_BITFIELD
260 uint64_t en:1; 341 uint64_t en:1;
261 uint64_t rw:1; 342 uint64_t rw:1;
262 uint64_t clr:1; 343 uint64_t clr:1;
@@ -267,6 +348,18 @@ union cvmx_mio_boot_dma_cfgx {
267 uint64_t endian:1; 348 uint64_t endian:1;
268 uint64_t size:20; 349 uint64_t size:20;
269 uint64_t adr:36; 350 uint64_t adr:36;
351#else
352 uint64_t adr:36;
353 uint64_t size:20;
354 uint64_t endian:1;
355 uint64_t swap8:1;
356 uint64_t swap16:1;
357 uint64_t swap32:1;
358 uint64_t reserved_60_60:1;
359 uint64_t clr:1;
360 uint64_t rw:1;
361 uint64_t en:1;
362#endif
270 } s; 363 } s;
271 struct cvmx_mio_boot_dma_cfgx_s cn52xx; 364 struct cvmx_mio_boot_dma_cfgx_s cn52xx;
272 struct cvmx_mio_boot_dma_cfgx_s cn52xxp1; 365 struct cvmx_mio_boot_dma_cfgx_s cn52xxp1;
@@ -278,14 +371,21 @@ union cvmx_mio_boot_dma_cfgx {
278 struct cvmx_mio_boot_dma_cfgx_s cn66xx; 371 struct cvmx_mio_boot_dma_cfgx_s cn66xx;
279 struct cvmx_mio_boot_dma_cfgx_s cn68xx; 372 struct cvmx_mio_boot_dma_cfgx_s cn68xx;
280 struct cvmx_mio_boot_dma_cfgx_s cn68xxp1; 373 struct cvmx_mio_boot_dma_cfgx_s cn68xxp1;
374 struct cvmx_mio_boot_dma_cfgx_s cnf71xx;
281}; 375};
282 376
283union cvmx_mio_boot_dma_intx { 377union cvmx_mio_boot_dma_intx {
284 uint64_t u64; 378 uint64_t u64;
285 struct cvmx_mio_boot_dma_intx_s { 379 struct cvmx_mio_boot_dma_intx_s {
380#ifdef __BIG_ENDIAN_BITFIELD
286 uint64_t reserved_2_63:62; 381 uint64_t reserved_2_63:62;
287 uint64_t dmarq:1; 382 uint64_t dmarq:1;
288 uint64_t done:1; 383 uint64_t done:1;
384#else
385 uint64_t done:1;
386 uint64_t dmarq:1;
387 uint64_t reserved_2_63:62;
388#endif
289 } s; 389 } s;
290 struct cvmx_mio_boot_dma_intx_s cn52xx; 390 struct cvmx_mio_boot_dma_intx_s cn52xx;
291 struct cvmx_mio_boot_dma_intx_s cn52xxp1; 391 struct cvmx_mio_boot_dma_intx_s cn52xxp1;
@@ -297,14 +397,21 @@ union cvmx_mio_boot_dma_intx {
297 struct cvmx_mio_boot_dma_intx_s cn66xx; 397 struct cvmx_mio_boot_dma_intx_s cn66xx;
298 struct cvmx_mio_boot_dma_intx_s cn68xx; 398 struct cvmx_mio_boot_dma_intx_s cn68xx;
299 struct cvmx_mio_boot_dma_intx_s cn68xxp1; 399 struct cvmx_mio_boot_dma_intx_s cn68xxp1;
400 struct cvmx_mio_boot_dma_intx_s cnf71xx;
300}; 401};
301 402
302union cvmx_mio_boot_dma_int_enx { 403union cvmx_mio_boot_dma_int_enx {
303 uint64_t u64; 404 uint64_t u64;
304 struct cvmx_mio_boot_dma_int_enx_s { 405 struct cvmx_mio_boot_dma_int_enx_s {
406#ifdef __BIG_ENDIAN_BITFIELD
305 uint64_t reserved_2_63:62; 407 uint64_t reserved_2_63:62;
306 uint64_t dmarq:1; 408 uint64_t dmarq:1;
307 uint64_t done:1; 409 uint64_t done:1;
410#else
411 uint64_t done:1;
412 uint64_t dmarq:1;
413 uint64_t reserved_2_63:62;
414#endif
308 } s; 415 } s;
309 struct cvmx_mio_boot_dma_int_enx_s cn52xx; 416 struct cvmx_mio_boot_dma_int_enx_s cn52xx;
310 struct cvmx_mio_boot_dma_int_enx_s cn52xxp1; 417 struct cvmx_mio_boot_dma_int_enx_s cn52xxp1;
@@ -316,11 +423,13 @@ union cvmx_mio_boot_dma_int_enx {
316 struct cvmx_mio_boot_dma_int_enx_s cn66xx; 423 struct cvmx_mio_boot_dma_int_enx_s cn66xx;
317 struct cvmx_mio_boot_dma_int_enx_s cn68xx; 424 struct cvmx_mio_boot_dma_int_enx_s cn68xx;
318 struct cvmx_mio_boot_dma_int_enx_s cn68xxp1; 425 struct cvmx_mio_boot_dma_int_enx_s cn68xxp1;
426 struct cvmx_mio_boot_dma_int_enx_s cnf71xx;
319}; 427};
320 428
321union cvmx_mio_boot_dma_timx { 429union cvmx_mio_boot_dma_timx {
322 uint64_t u64; 430 uint64_t u64;
323 struct cvmx_mio_boot_dma_timx_s { 431 struct cvmx_mio_boot_dma_timx_s {
432#ifdef __BIG_ENDIAN_BITFIELD
324 uint64_t dmack_pi:1; 433 uint64_t dmack_pi:1;
325 uint64_t dmarq_pi:1; 434 uint64_t dmarq_pi:1;
326 uint64_t tim_mult:2; 435 uint64_t tim_mult:2;
@@ -336,6 +445,23 @@ union cvmx_mio_boot_dma_timx {
336 uint64_t oe_a:6; 445 uint64_t oe_a:6;
337 uint64_t dmack_s:6; 446 uint64_t dmack_s:6;
338 uint64_t dmarq:6; 447 uint64_t dmarq:6;
448#else
449 uint64_t dmarq:6;
450 uint64_t dmack_s:6;
451 uint64_t oe_a:6;
452 uint64_t oe_n:6;
453 uint64_t we_a:6;
454 uint64_t we_n:6;
455 uint64_t dmack_h:6;
456 uint64_t pause:6;
457 uint64_t reserved_48_54:7;
458 uint64_t width:1;
459 uint64_t ddr:1;
460 uint64_t rd_dly:3;
461 uint64_t tim_mult:2;
462 uint64_t dmarq_pi:1;
463 uint64_t dmack_pi:1;
464#endif
339 } s; 465 } s;
340 struct cvmx_mio_boot_dma_timx_s cn52xx; 466 struct cvmx_mio_boot_dma_timx_s cn52xx;
341 struct cvmx_mio_boot_dma_timx_s cn52xxp1; 467 struct cvmx_mio_boot_dma_timx_s cn52xxp1;
@@ -347,14 +473,21 @@ union cvmx_mio_boot_dma_timx {
347 struct cvmx_mio_boot_dma_timx_s cn66xx; 473 struct cvmx_mio_boot_dma_timx_s cn66xx;
348 struct cvmx_mio_boot_dma_timx_s cn68xx; 474 struct cvmx_mio_boot_dma_timx_s cn68xx;
349 struct cvmx_mio_boot_dma_timx_s cn68xxp1; 475 struct cvmx_mio_boot_dma_timx_s cn68xxp1;
476 struct cvmx_mio_boot_dma_timx_s cnf71xx;
350}; 477};
351 478
352union cvmx_mio_boot_err { 479union cvmx_mio_boot_err {
353 uint64_t u64; 480 uint64_t u64;
354 struct cvmx_mio_boot_err_s { 481 struct cvmx_mio_boot_err_s {
482#ifdef __BIG_ENDIAN_BITFIELD
355 uint64_t reserved_2_63:62; 483 uint64_t reserved_2_63:62;
356 uint64_t wait_err:1; 484 uint64_t wait_err:1;
357 uint64_t adr_err:1; 485 uint64_t adr_err:1;
486#else
487 uint64_t adr_err:1;
488 uint64_t wait_err:1;
489 uint64_t reserved_2_63:62;
490#endif
358 } s; 491 } s;
359 struct cvmx_mio_boot_err_s cn30xx; 492 struct cvmx_mio_boot_err_s cn30xx;
360 struct cvmx_mio_boot_err_s cn31xx; 493 struct cvmx_mio_boot_err_s cn31xx;
@@ -373,14 +506,21 @@ union cvmx_mio_boot_err {
373 struct cvmx_mio_boot_err_s cn66xx; 506 struct cvmx_mio_boot_err_s cn66xx;
374 struct cvmx_mio_boot_err_s cn68xx; 507 struct cvmx_mio_boot_err_s cn68xx;
375 struct cvmx_mio_boot_err_s cn68xxp1; 508 struct cvmx_mio_boot_err_s cn68xxp1;
509 struct cvmx_mio_boot_err_s cnf71xx;
376}; 510};
377 511
378union cvmx_mio_boot_int { 512union cvmx_mio_boot_int {
379 uint64_t u64; 513 uint64_t u64;
380 struct cvmx_mio_boot_int_s { 514 struct cvmx_mio_boot_int_s {
515#ifdef __BIG_ENDIAN_BITFIELD
381 uint64_t reserved_2_63:62; 516 uint64_t reserved_2_63:62;
382 uint64_t wait_int:1; 517 uint64_t wait_int:1;
383 uint64_t adr_int:1; 518 uint64_t adr_int:1;
519#else
520 uint64_t adr_int:1;
521 uint64_t wait_int:1;
522 uint64_t reserved_2_63:62;
523#endif
384 } s; 524 } s;
385 struct cvmx_mio_boot_int_s cn30xx; 525 struct cvmx_mio_boot_int_s cn30xx;
386 struct cvmx_mio_boot_int_s cn31xx; 526 struct cvmx_mio_boot_int_s cn31xx;
@@ -399,14 +539,21 @@ union cvmx_mio_boot_int {
399 struct cvmx_mio_boot_int_s cn66xx; 539 struct cvmx_mio_boot_int_s cn66xx;
400 struct cvmx_mio_boot_int_s cn68xx; 540 struct cvmx_mio_boot_int_s cn68xx;
401 struct cvmx_mio_boot_int_s cn68xxp1; 541 struct cvmx_mio_boot_int_s cn68xxp1;
542 struct cvmx_mio_boot_int_s cnf71xx;
402}; 543};
403 544
404union cvmx_mio_boot_loc_adr { 545union cvmx_mio_boot_loc_adr {
405 uint64_t u64; 546 uint64_t u64;
406 struct cvmx_mio_boot_loc_adr_s { 547 struct cvmx_mio_boot_loc_adr_s {
548#ifdef __BIG_ENDIAN_BITFIELD
407 uint64_t reserved_8_63:56; 549 uint64_t reserved_8_63:56;
408 uint64_t adr:5; 550 uint64_t adr:5;
409 uint64_t reserved_0_2:3; 551 uint64_t reserved_0_2:3;
552#else
553 uint64_t reserved_0_2:3;
554 uint64_t adr:5;
555 uint64_t reserved_8_63:56;
556#endif
410 } s; 557 } s;
411 struct cvmx_mio_boot_loc_adr_s cn30xx; 558 struct cvmx_mio_boot_loc_adr_s cn30xx;
412 struct cvmx_mio_boot_loc_adr_s cn31xx; 559 struct cvmx_mio_boot_loc_adr_s cn31xx;
@@ -425,16 +572,25 @@ union cvmx_mio_boot_loc_adr {
425 struct cvmx_mio_boot_loc_adr_s cn66xx; 572 struct cvmx_mio_boot_loc_adr_s cn66xx;
426 struct cvmx_mio_boot_loc_adr_s cn68xx; 573 struct cvmx_mio_boot_loc_adr_s cn68xx;
427 struct cvmx_mio_boot_loc_adr_s cn68xxp1; 574 struct cvmx_mio_boot_loc_adr_s cn68xxp1;
575 struct cvmx_mio_boot_loc_adr_s cnf71xx;
428}; 576};
429 577
430union cvmx_mio_boot_loc_cfgx { 578union cvmx_mio_boot_loc_cfgx {
431 uint64_t u64; 579 uint64_t u64;
432 struct cvmx_mio_boot_loc_cfgx_s { 580 struct cvmx_mio_boot_loc_cfgx_s {
581#ifdef __BIG_ENDIAN_BITFIELD
433 uint64_t reserved_32_63:32; 582 uint64_t reserved_32_63:32;
434 uint64_t en:1; 583 uint64_t en:1;
435 uint64_t reserved_28_30:3; 584 uint64_t reserved_28_30:3;
436 uint64_t base:25; 585 uint64_t base:25;
437 uint64_t reserved_0_2:3; 586 uint64_t reserved_0_2:3;
587#else
588 uint64_t reserved_0_2:3;
589 uint64_t base:25;
590 uint64_t reserved_28_30:3;
591 uint64_t en:1;
592 uint64_t reserved_32_63:32;
593#endif
438 } s; 594 } s;
439 struct cvmx_mio_boot_loc_cfgx_s cn30xx; 595 struct cvmx_mio_boot_loc_cfgx_s cn30xx;
440 struct cvmx_mio_boot_loc_cfgx_s cn31xx; 596 struct cvmx_mio_boot_loc_cfgx_s cn31xx;
@@ -453,12 +609,17 @@ union cvmx_mio_boot_loc_cfgx {
453 struct cvmx_mio_boot_loc_cfgx_s cn66xx; 609 struct cvmx_mio_boot_loc_cfgx_s cn66xx;
454 struct cvmx_mio_boot_loc_cfgx_s cn68xx; 610 struct cvmx_mio_boot_loc_cfgx_s cn68xx;
455 struct cvmx_mio_boot_loc_cfgx_s cn68xxp1; 611 struct cvmx_mio_boot_loc_cfgx_s cn68xxp1;
612 struct cvmx_mio_boot_loc_cfgx_s cnf71xx;
456}; 613};
457 614
458union cvmx_mio_boot_loc_dat { 615union cvmx_mio_boot_loc_dat {
459 uint64_t u64; 616 uint64_t u64;
460 struct cvmx_mio_boot_loc_dat_s { 617 struct cvmx_mio_boot_loc_dat_s {
618#ifdef __BIG_ENDIAN_BITFIELD
461 uint64_t data:64; 619 uint64_t data:64;
620#else
621 uint64_t data:64;
622#endif
462 } s; 623 } s;
463 struct cvmx_mio_boot_loc_dat_s cn30xx; 624 struct cvmx_mio_boot_loc_dat_s cn30xx;
464 struct cvmx_mio_boot_loc_dat_s cn31xx; 625 struct cvmx_mio_boot_loc_dat_s cn31xx;
@@ -477,11 +638,13 @@ union cvmx_mio_boot_loc_dat {
477 struct cvmx_mio_boot_loc_dat_s cn66xx; 638 struct cvmx_mio_boot_loc_dat_s cn66xx;
478 struct cvmx_mio_boot_loc_dat_s cn68xx; 639 struct cvmx_mio_boot_loc_dat_s cn68xx;
479 struct cvmx_mio_boot_loc_dat_s cn68xxp1; 640 struct cvmx_mio_boot_loc_dat_s cn68xxp1;
641 struct cvmx_mio_boot_loc_dat_s cnf71xx;
480}; 642};
481 643
482union cvmx_mio_boot_pin_defs { 644union cvmx_mio_boot_pin_defs {
483 uint64_t u64; 645 uint64_t u64;
484 struct cvmx_mio_boot_pin_defs_s { 646 struct cvmx_mio_boot_pin_defs_s {
647#ifdef __BIG_ENDIAN_BITFIELD
485 uint64_t reserved_32_63:32; 648 uint64_t reserved_32_63:32;
486 uint64_t user1:16; 649 uint64_t user1:16;
487 uint64_t ale:1; 650 uint64_t ale:1;
@@ -492,8 +655,21 @@ union cvmx_mio_boot_pin_defs {
492 uint64_t term:2; 655 uint64_t term:2;
493 uint64_t nand:1; 656 uint64_t nand:1;
494 uint64_t user0:8; 657 uint64_t user0:8;
658#else
659 uint64_t user0:8;
660 uint64_t nand:1;
661 uint64_t term:2;
662 uint64_t dmack_p0:1;
663 uint64_t dmack_p1:1;
664 uint64_t dmack_p2:1;
665 uint64_t width:1;
666 uint64_t ale:1;
667 uint64_t user1:16;
668 uint64_t reserved_32_63:32;
669#endif
495 } s; 670 } s;
496 struct cvmx_mio_boot_pin_defs_cn52xx { 671 struct cvmx_mio_boot_pin_defs_cn52xx {
672#ifdef __BIG_ENDIAN_BITFIELD
497 uint64_t reserved_16_63:48; 673 uint64_t reserved_16_63:48;
498 uint64_t ale:1; 674 uint64_t ale:1;
499 uint64_t width:1; 675 uint64_t width:1;
@@ -503,8 +679,20 @@ union cvmx_mio_boot_pin_defs {
503 uint64_t term:2; 679 uint64_t term:2;
504 uint64_t nand:1; 680 uint64_t nand:1;
505 uint64_t reserved_0_7:8; 681 uint64_t reserved_0_7:8;
682#else
683 uint64_t reserved_0_7:8;
684 uint64_t nand:1;
685 uint64_t term:2;
686 uint64_t dmack_p0:1;
687 uint64_t dmack_p1:1;
688 uint64_t reserved_13_13:1;
689 uint64_t width:1;
690 uint64_t ale:1;
691 uint64_t reserved_16_63:48;
692#endif
506 } cn52xx; 693 } cn52xx;
507 struct cvmx_mio_boot_pin_defs_cn56xx { 694 struct cvmx_mio_boot_pin_defs_cn56xx {
695#ifdef __BIG_ENDIAN_BITFIELD
508 uint64_t reserved_16_63:48; 696 uint64_t reserved_16_63:48;
509 uint64_t ale:1; 697 uint64_t ale:1;
510 uint64_t width:1; 698 uint64_t width:1;
@@ -513,8 +701,19 @@ union cvmx_mio_boot_pin_defs {
513 uint64_t dmack_p0:1; 701 uint64_t dmack_p0:1;
514 uint64_t term:2; 702 uint64_t term:2;
515 uint64_t reserved_0_8:9; 703 uint64_t reserved_0_8:9;
704#else
705 uint64_t reserved_0_8:9;
706 uint64_t term:2;
707 uint64_t dmack_p0:1;
708 uint64_t dmack_p1:1;
709 uint64_t dmack_p2:1;
710 uint64_t width:1;
711 uint64_t ale:1;
712 uint64_t reserved_16_63:48;
713#endif
516 } cn56xx; 714 } cn56xx;
517 struct cvmx_mio_boot_pin_defs_cn61xx { 715 struct cvmx_mio_boot_pin_defs_cn61xx {
716#ifdef __BIG_ENDIAN_BITFIELD
518 uint64_t reserved_32_63:32; 717 uint64_t reserved_32_63:32;
519 uint64_t user1:16; 718 uint64_t user1:16;
520 uint64_t ale:1; 719 uint64_t ale:1;
@@ -525,17 +724,31 @@ union cvmx_mio_boot_pin_defs {
525 uint64_t term:2; 724 uint64_t term:2;
526 uint64_t nand:1; 725 uint64_t nand:1;
527 uint64_t user0:8; 726 uint64_t user0:8;
727#else
728 uint64_t user0:8;
729 uint64_t nand:1;
730 uint64_t term:2;
731 uint64_t dmack_p0:1;
732 uint64_t dmack_p1:1;
733 uint64_t reserved_13_13:1;
734 uint64_t width:1;
735 uint64_t ale:1;
736 uint64_t user1:16;
737 uint64_t reserved_32_63:32;
738#endif
528 } cn61xx; 739 } cn61xx;
529 struct cvmx_mio_boot_pin_defs_cn52xx cn63xx; 740 struct cvmx_mio_boot_pin_defs_cn52xx cn63xx;
530 struct cvmx_mio_boot_pin_defs_cn52xx cn63xxp1; 741 struct cvmx_mio_boot_pin_defs_cn52xx cn63xxp1;
531 struct cvmx_mio_boot_pin_defs_cn52xx cn66xx; 742 struct cvmx_mio_boot_pin_defs_cn52xx cn66xx;
532 struct cvmx_mio_boot_pin_defs_cn52xx cn68xx; 743 struct cvmx_mio_boot_pin_defs_cn52xx cn68xx;
533 struct cvmx_mio_boot_pin_defs_cn52xx cn68xxp1; 744 struct cvmx_mio_boot_pin_defs_cn52xx cn68xxp1;
745 struct cvmx_mio_boot_pin_defs_cn61xx cnf71xx;
534}; 746};
535 747
536union cvmx_mio_boot_reg_cfgx { 748union cvmx_mio_boot_reg_cfgx {
537 uint64_t u64; 749 uint64_t u64;
538 struct cvmx_mio_boot_reg_cfgx_s { 750 struct cvmx_mio_boot_reg_cfgx_s {
751#ifdef __BIG_ENDIAN_BITFIELD
539 uint64_t reserved_44_63:20; 752 uint64_t reserved_44_63:20;
540 uint64_t dmack:2; 753 uint64_t dmack:2;
541 uint64_t tim_mult:2; 754 uint64_t tim_mult:2;
@@ -549,8 +762,24 @@ union cvmx_mio_boot_reg_cfgx {
549 uint64_t width:1; 762 uint64_t width:1;
550 uint64_t size:12; 763 uint64_t size:12;
551 uint64_t base:16; 764 uint64_t base:16;
765#else
766 uint64_t base:16;
767 uint64_t size:12;
768 uint64_t width:1;
769 uint64_t ale:1;
770 uint64_t orbit:1;
771 uint64_t en:1;
772 uint64_t oe_ext:2;
773 uint64_t we_ext:2;
774 uint64_t sam:1;
775 uint64_t rd_dly:3;
776 uint64_t tim_mult:2;
777 uint64_t dmack:2;
778 uint64_t reserved_44_63:20;
779#endif
552 } s; 780 } s;
553 struct cvmx_mio_boot_reg_cfgx_cn30xx { 781 struct cvmx_mio_boot_reg_cfgx_cn30xx {
782#ifdef __BIG_ENDIAN_BITFIELD
554 uint64_t reserved_37_63:27; 783 uint64_t reserved_37_63:27;
555 uint64_t sam:1; 784 uint64_t sam:1;
556 uint64_t we_ext:2; 785 uint64_t we_ext:2;
@@ -561,18 +790,40 @@ union cvmx_mio_boot_reg_cfgx {
561 uint64_t width:1; 790 uint64_t width:1;
562 uint64_t size:12; 791 uint64_t size:12;
563 uint64_t base:16; 792 uint64_t base:16;
793#else
794 uint64_t base:16;
795 uint64_t size:12;
796 uint64_t width:1;
797 uint64_t ale:1;
798 uint64_t orbit:1;
799 uint64_t en:1;
800 uint64_t oe_ext:2;
801 uint64_t we_ext:2;
802 uint64_t sam:1;
803 uint64_t reserved_37_63:27;
804#endif
564 } cn30xx; 805 } cn30xx;
565 struct cvmx_mio_boot_reg_cfgx_cn30xx cn31xx; 806 struct cvmx_mio_boot_reg_cfgx_cn30xx cn31xx;
566 struct cvmx_mio_boot_reg_cfgx_cn38xx { 807 struct cvmx_mio_boot_reg_cfgx_cn38xx {
808#ifdef __BIG_ENDIAN_BITFIELD
567 uint64_t reserved_32_63:32; 809 uint64_t reserved_32_63:32;
568 uint64_t en:1; 810 uint64_t en:1;
569 uint64_t orbit:1; 811 uint64_t orbit:1;
570 uint64_t reserved_28_29:2; 812 uint64_t reserved_28_29:2;
571 uint64_t size:12; 813 uint64_t size:12;
572 uint64_t base:16; 814 uint64_t base:16;
815#else
816 uint64_t base:16;
817 uint64_t size:12;
818 uint64_t reserved_28_29:2;
819 uint64_t orbit:1;
820 uint64_t en:1;
821 uint64_t reserved_32_63:32;
822#endif
573 } cn38xx; 823 } cn38xx;
574 struct cvmx_mio_boot_reg_cfgx_cn38xx cn38xxp2; 824 struct cvmx_mio_boot_reg_cfgx_cn38xx cn38xxp2;
575 struct cvmx_mio_boot_reg_cfgx_cn50xx { 825 struct cvmx_mio_boot_reg_cfgx_cn50xx {
826#ifdef __BIG_ENDIAN_BITFIELD
576 uint64_t reserved_42_63:22; 827 uint64_t reserved_42_63:22;
577 uint64_t tim_mult:2; 828 uint64_t tim_mult:2;
578 uint64_t rd_dly:3; 829 uint64_t rd_dly:3;
@@ -585,6 +836,20 @@ union cvmx_mio_boot_reg_cfgx {
585 uint64_t width:1; 836 uint64_t width:1;
586 uint64_t size:12; 837 uint64_t size:12;
587 uint64_t base:16; 838 uint64_t base:16;
839#else
840 uint64_t base:16;
841 uint64_t size:12;
842 uint64_t width:1;
843 uint64_t ale:1;
844 uint64_t orbit:1;
845 uint64_t en:1;
846 uint64_t oe_ext:2;
847 uint64_t we_ext:2;
848 uint64_t sam:1;
849 uint64_t rd_dly:3;
850 uint64_t tim_mult:2;
851 uint64_t reserved_42_63:22;
852#endif
588 } cn50xx; 853 } cn50xx;
589 struct cvmx_mio_boot_reg_cfgx_s cn52xx; 854 struct cvmx_mio_boot_reg_cfgx_s cn52xx;
590 struct cvmx_mio_boot_reg_cfgx_s cn52xxp1; 855 struct cvmx_mio_boot_reg_cfgx_s cn52xxp1;
@@ -598,11 +863,13 @@ union cvmx_mio_boot_reg_cfgx {
598 struct cvmx_mio_boot_reg_cfgx_s cn66xx; 863 struct cvmx_mio_boot_reg_cfgx_s cn66xx;
599 struct cvmx_mio_boot_reg_cfgx_s cn68xx; 864 struct cvmx_mio_boot_reg_cfgx_s cn68xx;
600 struct cvmx_mio_boot_reg_cfgx_s cn68xxp1; 865 struct cvmx_mio_boot_reg_cfgx_s cn68xxp1;
866 struct cvmx_mio_boot_reg_cfgx_s cnf71xx;
601}; 867};
602 868
603union cvmx_mio_boot_reg_timx { 869union cvmx_mio_boot_reg_timx {
604 uint64_t u64; 870 uint64_t u64;
605 struct cvmx_mio_boot_reg_timx_s { 871 struct cvmx_mio_boot_reg_timx_s {
872#ifdef __BIG_ENDIAN_BITFIELD
606 uint64_t pagem:1; 873 uint64_t pagem:1;
607 uint64_t waitm:1; 874 uint64_t waitm:1;
608 uint64_t pages:2; 875 uint64_t pages:2;
@@ -616,10 +883,26 @@ union cvmx_mio_boot_reg_timx {
616 uint64_t oe:6; 883 uint64_t oe:6;
617 uint64_t ce:6; 884 uint64_t ce:6;
618 uint64_t adr:6; 885 uint64_t adr:6;
886#else
887 uint64_t adr:6;
888 uint64_t ce:6;
889 uint64_t oe:6;
890 uint64_t we:6;
891 uint64_t rd_hld:6;
892 uint64_t wr_hld:6;
893 uint64_t pause:6;
894 uint64_t wait:6;
895 uint64_t page:6;
896 uint64_t ale:6;
897 uint64_t pages:2;
898 uint64_t waitm:1;
899 uint64_t pagem:1;
900#endif
619 } s; 901 } s;
620 struct cvmx_mio_boot_reg_timx_s cn30xx; 902 struct cvmx_mio_boot_reg_timx_s cn30xx;
621 struct cvmx_mio_boot_reg_timx_s cn31xx; 903 struct cvmx_mio_boot_reg_timx_s cn31xx;
622 struct cvmx_mio_boot_reg_timx_cn38xx { 904 struct cvmx_mio_boot_reg_timx_cn38xx {
905#ifdef __BIG_ENDIAN_BITFIELD
623 uint64_t pagem:1; 906 uint64_t pagem:1;
624 uint64_t waitm:1; 907 uint64_t waitm:1;
625 uint64_t pages:2; 908 uint64_t pages:2;
@@ -633,6 +916,21 @@ union cvmx_mio_boot_reg_timx {
633 uint64_t oe:6; 916 uint64_t oe:6;
634 uint64_t ce:6; 917 uint64_t ce:6;
635 uint64_t adr:6; 918 uint64_t adr:6;
919#else
920 uint64_t adr:6;
921 uint64_t ce:6;
922 uint64_t oe:6;
923 uint64_t we:6;
924 uint64_t rd_hld:6;
925 uint64_t wr_hld:6;
926 uint64_t pause:6;
927 uint64_t wait:6;
928 uint64_t page:6;
929 uint64_t reserved_54_59:6;
930 uint64_t pages:2;
931 uint64_t waitm:1;
932 uint64_t pagem:1;
933#endif
636 } cn38xx; 934 } cn38xx;
637 struct cvmx_mio_boot_reg_timx_cn38xx cn38xxp2; 935 struct cvmx_mio_boot_reg_timx_cn38xx cn38xxp2;
638 struct cvmx_mio_boot_reg_timx_s cn50xx; 936 struct cvmx_mio_boot_reg_timx_s cn50xx;
@@ -648,23 +946,40 @@ union cvmx_mio_boot_reg_timx {
648 struct cvmx_mio_boot_reg_timx_s cn66xx; 946 struct cvmx_mio_boot_reg_timx_s cn66xx;
649 struct cvmx_mio_boot_reg_timx_s cn68xx; 947 struct cvmx_mio_boot_reg_timx_s cn68xx;
650 struct cvmx_mio_boot_reg_timx_s cn68xxp1; 948 struct cvmx_mio_boot_reg_timx_s cn68xxp1;
949 struct cvmx_mio_boot_reg_timx_s cnf71xx;
651}; 950};
652 951
653union cvmx_mio_boot_thr { 952union cvmx_mio_boot_thr {
654 uint64_t u64; 953 uint64_t u64;
655 struct cvmx_mio_boot_thr_s { 954 struct cvmx_mio_boot_thr_s {
955#ifdef __BIG_ENDIAN_BITFIELD
656 uint64_t reserved_22_63:42; 956 uint64_t reserved_22_63:42;
657 uint64_t dma_thr:6; 957 uint64_t dma_thr:6;
658 uint64_t reserved_14_15:2; 958 uint64_t reserved_14_15:2;
659 uint64_t fif_cnt:6; 959 uint64_t fif_cnt:6;
660 uint64_t reserved_6_7:2; 960 uint64_t reserved_6_7:2;
661 uint64_t fif_thr:6; 961 uint64_t fif_thr:6;
962#else
963 uint64_t fif_thr:6;
964 uint64_t reserved_6_7:2;
965 uint64_t fif_cnt:6;
966 uint64_t reserved_14_15:2;
967 uint64_t dma_thr:6;
968 uint64_t reserved_22_63:42;
969#endif
662 } s; 970 } s;
663 struct cvmx_mio_boot_thr_cn30xx { 971 struct cvmx_mio_boot_thr_cn30xx {
972#ifdef __BIG_ENDIAN_BITFIELD
664 uint64_t reserved_14_63:50; 973 uint64_t reserved_14_63:50;
665 uint64_t fif_cnt:6; 974 uint64_t fif_cnt:6;
666 uint64_t reserved_6_7:2; 975 uint64_t reserved_6_7:2;
667 uint64_t fif_thr:6; 976 uint64_t fif_thr:6;
977#else
978 uint64_t fif_thr:6;
979 uint64_t reserved_6_7:2;
980 uint64_t fif_cnt:6;
981 uint64_t reserved_14_63:50;
982#endif
668 } cn30xx; 983 } cn30xx;
669 struct cvmx_mio_boot_thr_cn30xx cn31xx; 984 struct cvmx_mio_boot_thr_cn30xx cn31xx;
670 struct cvmx_mio_boot_thr_cn30xx cn38xx; 985 struct cvmx_mio_boot_thr_cn30xx cn38xx;
@@ -682,42 +997,66 @@ union cvmx_mio_boot_thr {
682 struct cvmx_mio_boot_thr_s cn66xx; 997 struct cvmx_mio_boot_thr_s cn66xx;
683 struct cvmx_mio_boot_thr_s cn68xx; 998 struct cvmx_mio_boot_thr_s cn68xx;
684 struct cvmx_mio_boot_thr_s cn68xxp1; 999 struct cvmx_mio_boot_thr_s cn68xxp1;
1000 struct cvmx_mio_boot_thr_s cnf71xx;
685}; 1001};
686 1002
687union cvmx_mio_emm_buf_dat { 1003union cvmx_mio_emm_buf_dat {
688 uint64_t u64; 1004 uint64_t u64;
689 struct cvmx_mio_emm_buf_dat_s { 1005 struct cvmx_mio_emm_buf_dat_s {
1006#ifdef __BIG_ENDIAN_BITFIELD
690 uint64_t dat:64; 1007 uint64_t dat:64;
1008#else
1009 uint64_t dat:64;
1010#endif
691 } s; 1011 } s;
692 struct cvmx_mio_emm_buf_dat_s cn61xx; 1012 struct cvmx_mio_emm_buf_dat_s cn61xx;
1013 struct cvmx_mio_emm_buf_dat_s cnf71xx;
693}; 1014};
694 1015
695union cvmx_mio_emm_buf_idx { 1016union cvmx_mio_emm_buf_idx {
696 uint64_t u64; 1017 uint64_t u64;
697 struct cvmx_mio_emm_buf_idx_s { 1018 struct cvmx_mio_emm_buf_idx_s {
1019#ifdef __BIG_ENDIAN_BITFIELD
698 uint64_t reserved_17_63:47; 1020 uint64_t reserved_17_63:47;
699 uint64_t inc:1; 1021 uint64_t inc:1;
700 uint64_t reserved_7_15:9; 1022 uint64_t reserved_7_15:9;
701 uint64_t buf_num:1; 1023 uint64_t buf_num:1;
702 uint64_t offset:6; 1024 uint64_t offset:6;
1025#else
1026 uint64_t offset:6;
1027 uint64_t buf_num:1;
1028 uint64_t reserved_7_15:9;
1029 uint64_t inc:1;
1030 uint64_t reserved_17_63:47;
1031#endif
703 } s; 1032 } s;
704 struct cvmx_mio_emm_buf_idx_s cn61xx; 1033 struct cvmx_mio_emm_buf_idx_s cn61xx;
1034 struct cvmx_mio_emm_buf_idx_s cnf71xx;
705}; 1035};
706 1036
707union cvmx_mio_emm_cfg { 1037union cvmx_mio_emm_cfg {
708 uint64_t u64; 1038 uint64_t u64;
709 struct cvmx_mio_emm_cfg_s { 1039 struct cvmx_mio_emm_cfg_s {
1040#ifdef __BIG_ENDIAN_BITFIELD
710 uint64_t reserved_17_63:47; 1041 uint64_t reserved_17_63:47;
711 uint64_t boot_fail:1; 1042 uint64_t boot_fail:1;
712 uint64_t reserved_4_15:12; 1043 uint64_t reserved_4_15:12;
713 uint64_t bus_ena:4; 1044 uint64_t bus_ena:4;
1045#else
1046 uint64_t bus_ena:4;
1047 uint64_t reserved_4_15:12;
1048 uint64_t boot_fail:1;
1049 uint64_t reserved_17_63:47;
1050#endif
714 } s; 1051 } s;
715 struct cvmx_mio_emm_cfg_s cn61xx; 1052 struct cvmx_mio_emm_cfg_s cn61xx;
1053 struct cvmx_mio_emm_cfg_s cnf71xx;
716}; 1054};
717 1055
718union cvmx_mio_emm_cmd { 1056union cvmx_mio_emm_cmd {
719 uint64_t u64; 1057 uint64_t u64;
720 struct cvmx_mio_emm_cmd_s { 1058 struct cvmx_mio_emm_cmd_s {
1059#ifdef __BIG_ENDIAN_BITFIELD
721 uint64_t reserved_62_63:2; 1060 uint64_t reserved_62_63:2;
722 uint64_t bus_id:2; 1061 uint64_t bus_id:2;
723 uint64_t cmd_val:1; 1062 uint64_t cmd_val:1;
@@ -729,13 +1068,28 @@ union cvmx_mio_emm_cmd {
729 uint64_t rtype_xor:3; 1068 uint64_t rtype_xor:3;
730 uint64_t cmd_idx:6; 1069 uint64_t cmd_idx:6;
731 uint64_t arg:32; 1070 uint64_t arg:32;
1071#else
1072 uint64_t arg:32;
1073 uint64_t cmd_idx:6;
1074 uint64_t rtype_xor:3;
1075 uint64_t ctype_xor:2;
1076 uint64_t reserved_43_48:6;
1077 uint64_t offset:6;
1078 uint64_t dbuf:1;
1079 uint64_t reserved_56_58:3;
1080 uint64_t cmd_val:1;
1081 uint64_t bus_id:2;
1082 uint64_t reserved_62_63:2;
1083#endif
732 } s; 1084 } s;
733 struct cvmx_mio_emm_cmd_s cn61xx; 1085 struct cvmx_mio_emm_cmd_s cn61xx;
1086 struct cvmx_mio_emm_cmd_s cnf71xx;
734}; 1087};
735 1088
736union cvmx_mio_emm_dma { 1089union cvmx_mio_emm_dma {
737 uint64_t u64; 1090 uint64_t u64;
738 struct cvmx_mio_emm_dma_s { 1091 struct cvmx_mio_emm_dma_s {
1092#ifdef __BIG_ENDIAN_BITFIELD
739 uint64_t reserved_62_63:2; 1093 uint64_t reserved_62_63:2;
740 uint64_t bus_id:2; 1094 uint64_t bus_id:2;
741 uint64_t dma_val:1; 1095 uint64_t dma_val:1;
@@ -747,13 +1101,28 @@ union cvmx_mio_emm_dma {
747 uint64_t multi:1; 1101 uint64_t multi:1;
748 uint64_t block_cnt:16; 1102 uint64_t block_cnt:16;
749 uint64_t card_addr:32; 1103 uint64_t card_addr:32;
1104#else
1105 uint64_t card_addr:32;
1106 uint64_t block_cnt:16;
1107 uint64_t multi:1;
1108 uint64_t rw:1;
1109 uint64_t rel_wr:1;
1110 uint64_t thres:6;
1111 uint64_t dat_null:1;
1112 uint64_t sector:1;
1113 uint64_t dma_val:1;
1114 uint64_t bus_id:2;
1115 uint64_t reserved_62_63:2;
1116#endif
750 } s; 1117 } s;
751 struct cvmx_mio_emm_dma_s cn61xx; 1118 struct cvmx_mio_emm_dma_s cn61xx;
1119 struct cvmx_mio_emm_dma_s cnf71xx;
752}; 1120};
753 1121
754union cvmx_mio_emm_int { 1122union cvmx_mio_emm_int {
755 uint64_t u64; 1123 uint64_t u64;
756 struct cvmx_mio_emm_int_s { 1124 struct cvmx_mio_emm_int_s {
1125#ifdef __BIG_ENDIAN_BITFIELD
757 uint64_t reserved_7_63:57; 1126 uint64_t reserved_7_63:57;
758 uint64_t switch_err:1; 1127 uint64_t switch_err:1;
759 uint64_t switch_done:1; 1128 uint64_t switch_done:1;
@@ -762,13 +1131,25 @@ union cvmx_mio_emm_int {
762 uint64_t dma_done:1; 1131 uint64_t dma_done:1;
763 uint64_t cmd_done:1; 1132 uint64_t cmd_done:1;
764 uint64_t buf_done:1; 1133 uint64_t buf_done:1;
1134#else
1135 uint64_t buf_done:1;
1136 uint64_t cmd_done:1;
1137 uint64_t dma_done:1;
1138 uint64_t cmd_err:1;
1139 uint64_t dma_err:1;
1140 uint64_t switch_done:1;
1141 uint64_t switch_err:1;
1142 uint64_t reserved_7_63:57;
1143#endif
765 } s; 1144 } s;
766 struct cvmx_mio_emm_int_s cn61xx; 1145 struct cvmx_mio_emm_int_s cn61xx;
1146 struct cvmx_mio_emm_int_s cnf71xx;
767}; 1147};
768 1148
769union cvmx_mio_emm_int_en { 1149union cvmx_mio_emm_int_en {
770 uint64_t u64; 1150 uint64_t u64;
771 struct cvmx_mio_emm_int_en_s { 1151 struct cvmx_mio_emm_int_en_s {
1152#ifdef __BIG_ENDIAN_BITFIELD
772 uint64_t reserved_7_63:57; 1153 uint64_t reserved_7_63:57;
773 uint64_t switch_err:1; 1154 uint64_t switch_err:1;
774 uint64_t switch_done:1; 1155 uint64_t switch_done:1;
@@ -777,13 +1158,25 @@ union cvmx_mio_emm_int_en {
777 uint64_t dma_done:1; 1158 uint64_t dma_done:1;
778 uint64_t cmd_done:1; 1159 uint64_t cmd_done:1;
779 uint64_t buf_done:1; 1160 uint64_t buf_done:1;
1161#else
1162 uint64_t buf_done:1;
1163 uint64_t cmd_done:1;
1164 uint64_t dma_done:1;
1165 uint64_t cmd_err:1;
1166 uint64_t dma_err:1;
1167 uint64_t switch_done:1;
1168 uint64_t switch_err:1;
1169 uint64_t reserved_7_63:57;
1170#endif
780 } s; 1171 } s;
781 struct cvmx_mio_emm_int_en_s cn61xx; 1172 struct cvmx_mio_emm_int_en_s cn61xx;
1173 struct cvmx_mio_emm_int_en_s cnf71xx;
782}; 1174};
783 1175
784union cvmx_mio_emm_modex { 1176union cvmx_mio_emm_modex {
785 uint64_t u64; 1177 uint64_t u64;
786 struct cvmx_mio_emm_modex_s { 1178 struct cvmx_mio_emm_modex_s {
1179#ifdef __BIG_ENDIAN_BITFIELD
787 uint64_t reserved_49_63:15; 1180 uint64_t reserved_49_63:15;
788 uint64_t hs_timing:1; 1181 uint64_t hs_timing:1;
789 uint64_t reserved_43_47:5; 1182 uint64_t reserved_43_47:5;
@@ -792,38 +1185,66 @@ union cvmx_mio_emm_modex {
792 uint64_t power_class:4; 1185 uint64_t power_class:4;
793 uint64_t clk_hi:16; 1186 uint64_t clk_hi:16;
794 uint64_t clk_lo:16; 1187 uint64_t clk_lo:16;
1188#else
1189 uint64_t clk_lo:16;
1190 uint64_t clk_hi:16;
1191 uint64_t power_class:4;
1192 uint64_t reserved_36_39:4;
1193 uint64_t bus_width:3;
1194 uint64_t reserved_43_47:5;
1195 uint64_t hs_timing:1;
1196 uint64_t reserved_49_63:15;
1197#endif
795 } s; 1198 } s;
796 struct cvmx_mio_emm_modex_s cn61xx; 1199 struct cvmx_mio_emm_modex_s cn61xx;
1200 struct cvmx_mio_emm_modex_s cnf71xx;
797}; 1201};
798 1202
799union cvmx_mio_emm_rca { 1203union cvmx_mio_emm_rca {
800 uint64_t u64; 1204 uint64_t u64;
801 struct cvmx_mio_emm_rca_s { 1205 struct cvmx_mio_emm_rca_s {
1206#ifdef __BIG_ENDIAN_BITFIELD
802 uint64_t reserved_16_63:48; 1207 uint64_t reserved_16_63:48;
803 uint64_t card_rca:16; 1208 uint64_t card_rca:16;
1209#else
1210 uint64_t card_rca:16;
1211 uint64_t reserved_16_63:48;
1212#endif
804 } s; 1213 } s;
805 struct cvmx_mio_emm_rca_s cn61xx; 1214 struct cvmx_mio_emm_rca_s cn61xx;
1215 struct cvmx_mio_emm_rca_s cnf71xx;
806}; 1216};
807 1217
808union cvmx_mio_emm_rsp_hi { 1218union cvmx_mio_emm_rsp_hi {
809 uint64_t u64; 1219 uint64_t u64;
810 struct cvmx_mio_emm_rsp_hi_s { 1220 struct cvmx_mio_emm_rsp_hi_s {
1221#ifdef __BIG_ENDIAN_BITFIELD
1222 uint64_t dat:64;
1223#else
811 uint64_t dat:64; 1224 uint64_t dat:64;
1225#endif
812 } s; 1226 } s;
813 struct cvmx_mio_emm_rsp_hi_s cn61xx; 1227 struct cvmx_mio_emm_rsp_hi_s cn61xx;
1228 struct cvmx_mio_emm_rsp_hi_s cnf71xx;
814}; 1229};
815 1230
816union cvmx_mio_emm_rsp_lo { 1231union cvmx_mio_emm_rsp_lo {
817 uint64_t u64; 1232 uint64_t u64;
818 struct cvmx_mio_emm_rsp_lo_s { 1233 struct cvmx_mio_emm_rsp_lo_s {
1234#ifdef __BIG_ENDIAN_BITFIELD
819 uint64_t dat:64; 1235 uint64_t dat:64;
1236#else
1237 uint64_t dat:64;
1238#endif
820 } s; 1239 } s;
821 struct cvmx_mio_emm_rsp_lo_s cn61xx; 1240 struct cvmx_mio_emm_rsp_lo_s cn61xx;
1241 struct cvmx_mio_emm_rsp_lo_s cnf71xx;
822}; 1242};
823 1243
824union cvmx_mio_emm_rsp_sts { 1244union cvmx_mio_emm_rsp_sts {
825 uint64_t u64; 1245 uint64_t u64;
826 struct cvmx_mio_emm_rsp_sts_s { 1246 struct cvmx_mio_emm_rsp_sts_s {
1247#ifdef __BIG_ENDIAN_BITFIELD
827 uint64_t reserved_62_63:2; 1248 uint64_t reserved_62_63:2;
828 uint64_t bus_id:2; 1249 uint64_t bus_id:2;
829 uint64_t cmd_val:1; 1250 uint64_t cmd_val:1;
@@ -849,33 +1270,76 @@ union cvmx_mio_emm_rsp_sts {
849 uint64_t cmd_type:2; 1270 uint64_t cmd_type:2;
850 uint64_t cmd_idx:6; 1271 uint64_t cmd_idx:6;
851 uint64_t cmd_done:1; 1272 uint64_t cmd_done:1;
1273#else
1274 uint64_t cmd_done:1;
1275 uint64_t cmd_idx:6;
1276 uint64_t cmd_type:2;
1277 uint64_t rsp_type:3;
1278 uint64_t rsp_val:1;
1279 uint64_t rsp_bad_sts:1;
1280 uint64_t rsp_crc_err:1;
1281 uint64_t rsp_timeout:1;
1282 uint64_t stp_val:1;
1283 uint64_t stp_bad_sts:1;
1284 uint64_t stp_crc_err:1;
1285 uint64_t stp_timeout:1;
1286 uint64_t rsp_busybit:1;
1287 uint64_t blk_crc_err:1;
1288 uint64_t blk_timeout:1;
1289 uint64_t dbuf:1;
1290 uint64_t reserved_24_27:4;
1291 uint64_t dbuf_err:1;
1292 uint64_t reserved_29_55:27;
1293 uint64_t dma_pend:1;
1294 uint64_t dma_val:1;
1295 uint64_t switch_val:1;
1296 uint64_t cmd_val:1;
1297 uint64_t bus_id:2;
1298 uint64_t reserved_62_63:2;
1299#endif
852 } s; 1300 } s;
853 struct cvmx_mio_emm_rsp_sts_s cn61xx; 1301 struct cvmx_mio_emm_rsp_sts_s cn61xx;
1302 struct cvmx_mio_emm_rsp_sts_s cnf71xx;
854}; 1303};
855 1304
856union cvmx_mio_emm_sample { 1305union cvmx_mio_emm_sample {
857 uint64_t u64; 1306 uint64_t u64;
858 struct cvmx_mio_emm_sample_s { 1307 struct cvmx_mio_emm_sample_s {
1308#ifdef __BIG_ENDIAN_BITFIELD
859 uint64_t reserved_26_63:38; 1309 uint64_t reserved_26_63:38;
860 uint64_t cmd_cnt:10; 1310 uint64_t cmd_cnt:10;
861 uint64_t reserved_10_15:6; 1311 uint64_t reserved_10_15:6;
862 uint64_t dat_cnt:10; 1312 uint64_t dat_cnt:10;
1313#else
1314 uint64_t dat_cnt:10;
1315 uint64_t reserved_10_15:6;
1316 uint64_t cmd_cnt:10;
1317 uint64_t reserved_26_63:38;
1318#endif
863 } s; 1319 } s;
864 struct cvmx_mio_emm_sample_s cn61xx; 1320 struct cvmx_mio_emm_sample_s cn61xx;
1321 struct cvmx_mio_emm_sample_s cnf71xx;
865}; 1322};
866 1323
867union cvmx_mio_emm_sts_mask { 1324union cvmx_mio_emm_sts_mask {
868 uint64_t u64; 1325 uint64_t u64;
869 struct cvmx_mio_emm_sts_mask_s { 1326 struct cvmx_mio_emm_sts_mask_s {
1327#ifdef __BIG_ENDIAN_BITFIELD
870 uint64_t reserved_32_63:32; 1328 uint64_t reserved_32_63:32;
871 uint64_t sts_msk:32; 1329 uint64_t sts_msk:32;
1330#else
1331 uint64_t sts_msk:32;
1332 uint64_t reserved_32_63:32;
1333#endif
872 } s; 1334 } s;
873 struct cvmx_mio_emm_sts_mask_s cn61xx; 1335 struct cvmx_mio_emm_sts_mask_s cn61xx;
1336 struct cvmx_mio_emm_sts_mask_s cnf71xx;
874}; 1337};
875 1338
876union cvmx_mio_emm_switch { 1339union cvmx_mio_emm_switch {
877 uint64_t u64; 1340 uint64_t u64;
878 struct cvmx_mio_emm_switch_s { 1341 struct cvmx_mio_emm_switch_s {
1342#ifdef __BIG_ENDIAN_BITFIELD
879 uint64_t reserved_62_63:2; 1343 uint64_t reserved_62_63:2;
880 uint64_t bus_id:2; 1344 uint64_t bus_id:2;
881 uint64_t switch_exe:1; 1345 uint64_t switch_exe:1;
@@ -890,23 +1354,50 @@ union cvmx_mio_emm_switch {
890 uint64_t power_class:4; 1354 uint64_t power_class:4;
891 uint64_t clk_hi:16; 1355 uint64_t clk_hi:16;
892 uint64_t clk_lo:16; 1356 uint64_t clk_lo:16;
1357#else
1358 uint64_t clk_lo:16;
1359 uint64_t clk_hi:16;
1360 uint64_t power_class:4;
1361 uint64_t reserved_36_39:4;
1362 uint64_t bus_width:3;
1363 uint64_t reserved_43_47:5;
1364 uint64_t hs_timing:1;
1365 uint64_t reserved_49_55:7;
1366 uint64_t switch_err2:1;
1367 uint64_t switch_err1:1;
1368 uint64_t switch_err0:1;
1369 uint64_t switch_exe:1;
1370 uint64_t bus_id:2;
1371 uint64_t reserved_62_63:2;
1372#endif
893 } s; 1373 } s;
894 struct cvmx_mio_emm_switch_s cn61xx; 1374 struct cvmx_mio_emm_switch_s cn61xx;
1375 struct cvmx_mio_emm_switch_s cnf71xx;
895}; 1376};
896 1377
897union cvmx_mio_emm_wdog { 1378union cvmx_mio_emm_wdog {
898 uint64_t u64; 1379 uint64_t u64;
899 struct cvmx_mio_emm_wdog_s { 1380 struct cvmx_mio_emm_wdog_s {
1381#ifdef __BIG_ENDIAN_BITFIELD
900 uint64_t reserved_26_63:38; 1382 uint64_t reserved_26_63:38;
901 uint64_t clk_cnt:26; 1383 uint64_t clk_cnt:26;
1384#else
1385 uint64_t clk_cnt:26;
1386 uint64_t reserved_26_63:38;
1387#endif
902 } s; 1388 } s;
903 struct cvmx_mio_emm_wdog_s cn61xx; 1389 struct cvmx_mio_emm_wdog_s cn61xx;
1390 struct cvmx_mio_emm_wdog_s cnf71xx;
904}; 1391};
905 1392
906union cvmx_mio_fus_bnk_datx { 1393union cvmx_mio_fus_bnk_datx {
907 uint64_t u64; 1394 uint64_t u64;
908 struct cvmx_mio_fus_bnk_datx_s { 1395 struct cvmx_mio_fus_bnk_datx_s {
1396#ifdef __BIG_ENDIAN_BITFIELD
1397 uint64_t dat:64;
1398#else
909 uint64_t dat:64; 1399 uint64_t dat:64;
1400#endif
910 } s; 1401 } s;
911 struct cvmx_mio_fus_bnk_datx_s cn50xx; 1402 struct cvmx_mio_fus_bnk_datx_s cn50xx;
912 struct cvmx_mio_fus_bnk_datx_s cn52xx; 1403 struct cvmx_mio_fus_bnk_datx_s cn52xx;
@@ -921,13 +1412,19 @@ union cvmx_mio_fus_bnk_datx {
921 struct cvmx_mio_fus_bnk_datx_s cn66xx; 1412 struct cvmx_mio_fus_bnk_datx_s cn66xx;
922 struct cvmx_mio_fus_bnk_datx_s cn68xx; 1413 struct cvmx_mio_fus_bnk_datx_s cn68xx;
923 struct cvmx_mio_fus_bnk_datx_s cn68xxp1; 1414 struct cvmx_mio_fus_bnk_datx_s cn68xxp1;
1415 struct cvmx_mio_fus_bnk_datx_s cnf71xx;
924}; 1416};
925 1417
926union cvmx_mio_fus_dat0 { 1418union cvmx_mio_fus_dat0 {
927 uint64_t u64; 1419 uint64_t u64;
928 struct cvmx_mio_fus_dat0_s { 1420 struct cvmx_mio_fus_dat0_s {
1421#ifdef __BIG_ENDIAN_BITFIELD
929 uint64_t reserved_32_63:32; 1422 uint64_t reserved_32_63:32;
930 uint64_t man_info:32; 1423 uint64_t man_info:32;
1424#else
1425 uint64_t man_info:32;
1426 uint64_t reserved_32_63:32;
1427#endif
931 } s; 1428 } s;
932 struct cvmx_mio_fus_dat0_s cn30xx; 1429 struct cvmx_mio_fus_dat0_s cn30xx;
933 struct cvmx_mio_fus_dat0_s cn31xx; 1430 struct cvmx_mio_fus_dat0_s cn31xx;
@@ -946,13 +1443,19 @@ union cvmx_mio_fus_dat0 {
946 struct cvmx_mio_fus_dat0_s cn66xx; 1443 struct cvmx_mio_fus_dat0_s cn66xx;
947 struct cvmx_mio_fus_dat0_s cn68xx; 1444 struct cvmx_mio_fus_dat0_s cn68xx;
948 struct cvmx_mio_fus_dat0_s cn68xxp1; 1445 struct cvmx_mio_fus_dat0_s cn68xxp1;
1446 struct cvmx_mio_fus_dat0_s cnf71xx;
949}; 1447};
950 1448
951union cvmx_mio_fus_dat1 { 1449union cvmx_mio_fus_dat1 {
952 uint64_t u64; 1450 uint64_t u64;
953 struct cvmx_mio_fus_dat1_s { 1451 struct cvmx_mio_fus_dat1_s {
1452#ifdef __BIG_ENDIAN_BITFIELD
954 uint64_t reserved_32_63:32; 1453 uint64_t reserved_32_63:32;
955 uint64_t man_info:32; 1454 uint64_t man_info:32;
1455#else
1456 uint64_t man_info:32;
1457 uint64_t reserved_32_63:32;
1458#endif
956 } s; 1459 } s;
957 struct cvmx_mio_fus_dat1_s cn30xx; 1460 struct cvmx_mio_fus_dat1_s cn30xx;
958 struct cvmx_mio_fus_dat1_s cn31xx; 1461 struct cvmx_mio_fus_dat1_s cn31xx;
@@ -971,11 +1474,13 @@ union cvmx_mio_fus_dat1 {
971 struct cvmx_mio_fus_dat1_s cn66xx; 1474 struct cvmx_mio_fus_dat1_s cn66xx;
972 struct cvmx_mio_fus_dat1_s cn68xx; 1475 struct cvmx_mio_fus_dat1_s cn68xx;
973 struct cvmx_mio_fus_dat1_s cn68xxp1; 1476 struct cvmx_mio_fus_dat1_s cn68xxp1;
1477 struct cvmx_mio_fus_dat1_s cnf71xx;
974}; 1478};
975 1479
976union cvmx_mio_fus_dat2 { 1480union cvmx_mio_fus_dat2 {
977 uint64_t u64; 1481 uint64_t u64;
978 struct cvmx_mio_fus_dat2_s { 1482 struct cvmx_mio_fus_dat2_s {
1483#ifdef __BIG_ENDIAN_BITFIELD
979 uint64_t reserved_48_63:16; 1484 uint64_t reserved_48_63:16;
980 uint64_t fus118:1; 1485 uint64_t fus118:1;
981 uint64_t rom_info:10; 1486 uint64_t rom_info:10;
@@ -992,8 +1497,27 @@ union cvmx_mio_fus_dat2 {
992 uint64_t bist_dis:1; 1497 uint64_t bist_dis:1;
993 uint64_t chip_id:8; 1498 uint64_t chip_id:8;
994 uint64_t reserved_0_15:16; 1499 uint64_t reserved_0_15:16;
1500#else
1501 uint64_t reserved_0_15:16;
1502 uint64_t chip_id:8;
1503 uint64_t bist_dis:1;
1504 uint64_t rst_sht:1;
1505 uint64_t nocrypto:1;
1506 uint64_t nomul:1;
1507 uint64_t nodfa_cp2:1;
1508 uint64_t nokasu:1;
1509 uint64_t reserved_30_31:2;
1510 uint64_t raid_en:1;
1511 uint64_t fus318:1;
1512 uint64_t dorm_crypto:1;
1513 uint64_t power_limit:2;
1514 uint64_t rom_info:10;
1515 uint64_t fus118:1;
1516 uint64_t reserved_48_63:16;
1517#endif
995 } s; 1518 } s;
996 struct cvmx_mio_fus_dat2_cn30xx { 1519 struct cvmx_mio_fus_dat2_cn30xx {
1520#ifdef __BIG_ENDIAN_BITFIELD
997 uint64_t reserved_29_63:35; 1521 uint64_t reserved_29_63:35;
998 uint64_t nodfa_cp2:1; 1522 uint64_t nodfa_cp2:1;
999 uint64_t nomul:1; 1523 uint64_t nomul:1;
@@ -1004,8 +1528,21 @@ union cvmx_mio_fus_dat2 {
1004 uint64_t pll_off:4; 1528 uint64_t pll_off:4;
1005 uint64_t reserved_1_11:11; 1529 uint64_t reserved_1_11:11;
1006 uint64_t pp_dis:1; 1530 uint64_t pp_dis:1;
1531#else
1532 uint64_t pp_dis:1;
1533 uint64_t reserved_1_11:11;
1534 uint64_t pll_off:4;
1535 uint64_t chip_id:8;
1536 uint64_t bist_dis:1;
1537 uint64_t rst_sht:1;
1538 uint64_t nocrypto:1;
1539 uint64_t nomul:1;
1540 uint64_t nodfa_cp2:1;
1541 uint64_t reserved_29_63:35;
1542#endif
1007 } cn30xx; 1543 } cn30xx;
1008 struct cvmx_mio_fus_dat2_cn31xx { 1544 struct cvmx_mio_fus_dat2_cn31xx {
1545#ifdef __BIG_ENDIAN_BITFIELD
1009 uint64_t reserved_29_63:35; 1546 uint64_t reserved_29_63:35;
1010 uint64_t nodfa_cp2:1; 1547 uint64_t nodfa_cp2:1;
1011 uint64_t nomul:1; 1548 uint64_t nomul:1;
@@ -1016,8 +1553,21 @@ union cvmx_mio_fus_dat2 {
1016 uint64_t pll_off:4; 1553 uint64_t pll_off:4;
1017 uint64_t reserved_2_11:10; 1554 uint64_t reserved_2_11:10;
1018 uint64_t pp_dis:2; 1555 uint64_t pp_dis:2;
1556#else
1557 uint64_t pp_dis:2;
1558 uint64_t reserved_2_11:10;
1559 uint64_t pll_off:4;
1560 uint64_t chip_id:8;
1561 uint64_t bist_dis:1;
1562 uint64_t rst_sht:1;
1563 uint64_t nocrypto:1;
1564 uint64_t nomul:1;
1565 uint64_t nodfa_cp2:1;
1566 uint64_t reserved_29_63:35;
1567#endif
1019 } cn31xx; 1568 } cn31xx;
1020 struct cvmx_mio_fus_dat2_cn38xx { 1569 struct cvmx_mio_fus_dat2_cn38xx {
1570#ifdef __BIG_ENDIAN_BITFIELD
1021 uint64_t reserved_29_63:35; 1571 uint64_t reserved_29_63:35;
1022 uint64_t nodfa_cp2:1; 1572 uint64_t nodfa_cp2:1;
1023 uint64_t nomul:1; 1573 uint64_t nomul:1;
@@ -1026,9 +1576,20 @@ union cvmx_mio_fus_dat2 {
1026 uint64_t bist_dis:1; 1576 uint64_t bist_dis:1;
1027 uint64_t chip_id:8; 1577 uint64_t chip_id:8;
1028 uint64_t pp_dis:16; 1578 uint64_t pp_dis:16;
1579#else
1580 uint64_t pp_dis:16;
1581 uint64_t chip_id:8;
1582 uint64_t bist_dis:1;
1583 uint64_t rst_sht:1;
1584 uint64_t nocrypto:1;
1585 uint64_t nomul:1;
1586 uint64_t nodfa_cp2:1;
1587 uint64_t reserved_29_63:35;
1588#endif
1029 } cn38xx; 1589 } cn38xx;
1030 struct cvmx_mio_fus_dat2_cn38xx cn38xxp2; 1590 struct cvmx_mio_fus_dat2_cn38xx cn38xxp2;
1031 struct cvmx_mio_fus_dat2_cn50xx { 1591 struct cvmx_mio_fus_dat2_cn50xx {
1592#ifdef __BIG_ENDIAN_BITFIELD
1032 uint64_t reserved_34_63:30; 1593 uint64_t reserved_34_63:30;
1033 uint64_t fus318:1; 1594 uint64_t fus318:1;
1034 uint64_t raid_en:1; 1595 uint64_t raid_en:1;
@@ -1042,8 +1603,24 @@ union cvmx_mio_fus_dat2 {
1042 uint64_t chip_id:8; 1603 uint64_t chip_id:8;
1043 uint64_t reserved_2_15:14; 1604 uint64_t reserved_2_15:14;
1044 uint64_t pp_dis:2; 1605 uint64_t pp_dis:2;
1606#else
1607 uint64_t pp_dis:2;
1608 uint64_t reserved_2_15:14;
1609 uint64_t chip_id:8;
1610 uint64_t bist_dis:1;
1611 uint64_t rst_sht:1;
1612 uint64_t nocrypto:1;
1613 uint64_t nomul:1;
1614 uint64_t nodfa_cp2:1;
1615 uint64_t nokasu:1;
1616 uint64_t reserved_30_31:2;
1617 uint64_t raid_en:1;
1618 uint64_t fus318:1;
1619 uint64_t reserved_34_63:30;
1620#endif
1045 } cn50xx; 1621 } cn50xx;
1046 struct cvmx_mio_fus_dat2_cn52xx { 1622 struct cvmx_mio_fus_dat2_cn52xx {
1623#ifdef __BIG_ENDIAN_BITFIELD
1047 uint64_t reserved_34_63:30; 1624 uint64_t reserved_34_63:30;
1048 uint64_t fus318:1; 1625 uint64_t fus318:1;
1049 uint64_t raid_en:1; 1626 uint64_t raid_en:1;
@@ -1057,9 +1634,25 @@ union cvmx_mio_fus_dat2 {
1057 uint64_t chip_id:8; 1634 uint64_t chip_id:8;
1058 uint64_t reserved_4_15:12; 1635 uint64_t reserved_4_15:12;
1059 uint64_t pp_dis:4; 1636 uint64_t pp_dis:4;
1637#else
1638 uint64_t pp_dis:4;
1639 uint64_t reserved_4_15:12;
1640 uint64_t chip_id:8;
1641 uint64_t bist_dis:1;
1642 uint64_t rst_sht:1;
1643 uint64_t nocrypto:1;
1644 uint64_t nomul:1;
1645 uint64_t nodfa_cp2:1;
1646 uint64_t nokasu:1;
1647 uint64_t reserved_30_31:2;
1648 uint64_t raid_en:1;
1649 uint64_t fus318:1;
1650 uint64_t reserved_34_63:30;
1651#endif
1060 } cn52xx; 1652 } cn52xx;
1061 struct cvmx_mio_fus_dat2_cn52xx cn52xxp1; 1653 struct cvmx_mio_fus_dat2_cn52xx cn52xxp1;
1062 struct cvmx_mio_fus_dat2_cn56xx { 1654 struct cvmx_mio_fus_dat2_cn56xx {
1655#ifdef __BIG_ENDIAN_BITFIELD
1063 uint64_t reserved_34_63:30; 1656 uint64_t reserved_34_63:30;
1064 uint64_t fus318:1; 1657 uint64_t fus318:1;
1065 uint64_t raid_en:1; 1658 uint64_t raid_en:1;
@@ -1073,9 +1666,25 @@ union cvmx_mio_fus_dat2 {
1073 uint64_t chip_id:8; 1666 uint64_t chip_id:8;
1074 uint64_t reserved_12_15:4; 1667 uint64_t reserved_12_15:4;
1075 uint64_t pp_dis:12; 1668 uint64_t pp_dis:12;
1669#else
1670 uint64_t pp_dis:12;
1671 uint64_t reserved_12_15:4;
1672 uint64_t chip_id:8;
1673 uint64_t bist_dis:1;
1674 uint64_t rst_sht:1;
1675 uint64_t nocrypto:1;
1676 uint64_t nomul:1;
1677 uint64_t nodfa_cp2:1;
1678 uint64_t nokasu:1;
1679 uint64_t reserved_30_31:2;
1680 uint64_t raid_en:1;
1681 uint64_t fus318:1;
1682 uint64_t reserved_34_63:30;
1683#endif
1076 } cn56xx; 1684 } cn56xx;
1077 struct cvmx_mio_fus_dat2_cn56xx cn56xxp1; 1685 struct cvmx_mio_fus_dat2_cn56xx cn56xxp1;
1078 struct cvmx_mio_fus_dat2_cn58xx { 1686 struct cvmx_mio_fus_dat2_cn58xx {
1687#ifdef __BIG_ENDIAN_BITFIELD
1079 uint64_t reserved_30_63:34; 1688 uint64_t reserved_30_63:34;
1080 uint64_t nokasu:1; 1689 uint64_t nokasu:1;
1081 uint64_t nodfa_cp2:1; 1690 uint64_t nodfa_cp2:1;
@@ -1085,9 +1694,21 @@ union cvmx_mio_fus_dat2 {
1085 uint64_t bist_dis:1; 1694 uint64_t bist_dis:1;
1086 uint64_t chip_id:8; 1695 uint64_t chip_id:8;
1087 uint64_t pp_dis:16; 1696 uint64_t pp_dis:16;
1697#else
1698 uint64_t pp_dis:16;
1699 uint64_t chip_id:8;
1700 uint64_t bist_dis:1;
1701 uint64_t rst_sht:1;
1702 uint64_t nocrypto:1;
1703 uint64_t nomul:1;
1704 uint64_t nodfa_cp2:1;
1705 uint64_t nokasu:1;
1706 uint64_t reserved_30_63:34;
1707#endif
1088 } cn58xx; 1708 } cn58xx;
1089 struct cvmx_mio_fus_dat2_cn58xx cn58xxp1; 1709 struct cvmx_mio_fus_dat2_cn58xx cn58xxp1;
1090 struct cvmx_mio_fus_dat2_cn61xx { 1710 struct cvmx_mio_fus_dat2_cn61xx {
1711#ifdef __BIG_ENDIAN_BITFIELD
1091 uint64_t reserved_48_63:16; 1712 uint64_t reserved_48_63:16;
1092 uint64_t fus118:1; 1713 uint64_t fus118:1;
1093 uint64_t rom_info:10; 1714 uint64_t rom_info:10;
@@ -1103,8 +1724,26 @@ union cvmx_mio_fus_dat2 {
1103 uint64_t chip_id:8; 1724 uint64_t chip_id:8;
1104 uint64_t reserved_4_15:12; 1725 uint64_t reserved_4_15:12;
1105 uint64_t pp_dis:4; 1726 uint64_t pp_dis:4;
1727#else
1728 uint64_t pp_dis:4;
1729 uint64_t reserved_4_15:12;
1730 uint64_t chip_id:8;
1731 uint64_t reserved_24_25:2;
1732 uint64_t nocrypto:1;
1733 uint64_t nomul:1;
1734 uint64_t nodfa_cp2:1;
1735 uint64_t reserved_29_31:3;
1736 uint64_t raid_en:1;
1737 uint64_t fus318:1;
1738 uint64_t dorm_crypto:1;
1739 uint64_t power_limit:2;
1740 uint64_t rom_info:10;
1741 uint64_t fus118:1;
1742 uint64_t reserved_48_63:16;
1743#endif
1106 } cn61xx; 1744 } cn61xx;
1107 struct cvmx_mio_fus_dat2_cn63xx { 1745 struct cvmx_mio_fus_dat2_cn63xx {
1746#ifdef __BIG_ENDIAN_BITFIELD
1108 uint64_t reserved_35_63:29; 1747 uint64_t reserved_35_63:29;
1109 uint64_t dorm_crypto:1; 1748 uint64_t dorm_crypto:1;
1110 uint64_t fus318:1; 1749 uint64_t fus318:1;
@@ -1117,9 +1756,24 @@ union cvmx_mio_fus_dat2 {
1117 uint64_t chip_id:8; 1756 uint64_t chip_id:8;
1118 uint64_t reserved_6_15:10; 1757 uint64_t reserved_6_15:10;
1119 uint64_t pp_dis:6; 1758 uint64_t pp_dis:6;
1759#else
1760 uint64_t pp_dis:6;
1761 uint64_t reserved_6_15:10;
1762 uint64_t chip_id:8;
1763 uint64_t reserved_24_25:2;
1764 uint64_t nocrypto:1;
1765 uint64_t nomul:1;
1766 uint64_t nodfa_cp2:1;
1767 uint64_t reserved_29_31:3;
1768 uint64_t raid_en:1;
1769 uint64_t fus318:1;
1770 uint64_t dorm_crypto:1;
1771 uint64_t reserved_35_63:29;
1772#endif
1120 } cn63xx; 1773 } cn63xx;
1121 struct cvmx_mio_fus_dat2_cn63xx cn63xxp1; 1774 struct cvmx_mio_fus_dat2_cn63xx cn63xxp1;
1122 struct cvmx_mio_fus_dat2_cn66xx { 1775 struct cvmx_mio_fus_dat2_cn66xx {
1776#ifdef __BIG_ENDIAN_BITFIELD
1123 uint64_t reserved_48_63:16; 1777 uint64_t reserved_48_63:16;
1124 uint64_t fus118:1; 1778 uint64_t fus118:1;
1125 uint64_t rom_info:10; 1779 uint64_t rom_info:10;
@@ -1135,8 +1789,26 @@ union cvmx_mio_fus_dat2 {
1135 uint64_t chip_id:8; 1789 uint64_t chip_id:8;
1136 uint64_t reserved_10_15:6; 1790 uint64_t reserved_10_15:6;
1137 uint64_t pp_dis:10; 1791 uint64_t pp_dis:10;
1792#else
1793 uint64_t pp_dis:10;
1794 uint64_t reserved_10_15:6;
1795 uint64_t chip_id:8;
1796 uint64_t reserved_24_25:2;
1797 uint64_t nocrypto:1;
1798 uint64_t nomul:1;
1799 uint64_t nodfa_cp2:1;
1800 uint64_t reserved_29_31:3;
1801 uint64_t raid_en:1;
1802 uint64_t fus318:1;
1803 uint64_t dorm_crypto:1;
1804 uint64_t power_limit:2;
1805 uint64_t rom_info:10;
1806 uint64_t fus118:1;
1807 uint64_t reserved_48_63:16;
1808#endif
1138 } cn66xx; 1809 } cn66xx;
1139 struct cvmx_mio_fus_dat2_cn68xx { 1810 struct cvmx_mio_fus_dat2_cn68xx {
1811#ifdef __BIG_ENDIAN_BITFIELD
1140 uint64_t reserved_37_63:27; 1812 uint64_t reserved_37_63:27;
1141 uint64_t power_limit:2; 1813 uint64_t power_limit:2;
1142 uint64_t dorm_crypto:1; 1814 uint64_t dorm_crypto:1;
@@ -1149,13 +1821,29 @@ union cvmx_mio_fus_dat2 {
1149 uint64_t reserved_24_25:2; 1821 uint64_t reserved_24_25:2;
1150 uint64_t chip_id:8; 1822 uint64_t chip_id:8;
1151 uint64_t reserved_0_15:16; 1823 uint64_t reserved_0_15:16;
1824#else
1825 uint64_t reserved_0_15:16;
1826 uint64_t chip_id:8;
1827 uint64_t reserved_24_25:2;
1828 uint64_t nocrypto:1;
1829 uint64_t nomul:1;
1830 uint64_t nodfa_cp2:1;
1831 uint64_t reserved_29_31:3;
1832 uint64_t raid_en:1;
1833 uint64_t fus318:1;
1834 uint64_t dorm_crypto:1;
1835 uint64_t power_limit:2;
1836 uint64_t reserved_37_63:27;
1837#endif
1152 } cn68xx; 1838 } cn68xx;
1153 struct cvmx_mio_fus_dat2_cn68xx cn68xxp1; 1839 struct cvmx_mio_fus_dat2_cn68xx cn68xxp1;
1840 struct cvmx_mio_fus_dat2_cn61xx cnf71xx;
1154}; 1841};
1155 1842
1156union cvmx_mio_fus_dat3 { 1843union cvmx_mio_fus_dat3 {
1157 uint64_t u64; 1844 uint64_t u64;
1158 struct cvmx_mio_fus_dat3_s { 1845 struct cvmx_mio_fus_dat3_s {
1846#ifdef __BIG_ENDIAN_BITFIELD
1159 uint64_t reserved_58_63:6; 1847 uint64_t reserved_58_63:6;
1160 uint64_t pll_ctl:10; 1848 uint64_t pll_ctl:10;
1161 uint64_t dfa_info_dte:3; 1849 uint64_t dfa_info_dte:3;
@@ -1174,8 +1862,29 @@ union cvmx_mio_fus_dat3 {
1174 uint64_t nozip:1; 1862 uint64_t nozip:1;
1175 uint64_t nodfa_dte:1; 1863 uint64_t nodfa_dte:1;
1176 uint64_t icache:24; 1864 uint64_t icache:24;
1865#else
1866 uint64_t icache:24;
1867 uint64_t nodfa_dte:1;
1868 uint64_t nozip:1;
1869 uint64_t efus_ign:1;
1870 uint64_t efus_lck:1;
1871 uint64_t bar2_en:1;
1872 uint64_t reserved_29_30:2;
1873 uint64_t pll_div4:1;
1874 uint64_t l2c_crip:3;
1875 uint64_t pll_half_dis:1;
1876 uint64_t efus_lck_man:1;
1877 uint64_t efus_lck_rsv:1;
1878 uint64_t ema:2;
1879 uint64_t reserved_40_40:1;
1880 uint64_t dfa_info_clm:4;
1881 uint64_t dfa_info_dte:3;
1882 uint64_t pll_ctl:10;
1883 uint64_t reserved_58_63:6;
1884#endif
1177 } s; 1885 } s;
1178 struct cvmx_mio_fus_dat3_cn30xx { 1886 struct cvmx_mio_fus_dat3_cn30xx {
1887#ifdef __BIG_ENDIAN_BITFIELD
1179 uint64_t reserved_32_63:32; 1888 uint64_t reserved_32_63:32;
1180 uint64_t pll_div4:1; 1889 uint64_t pll_div4:1;
1181 uint64_t reserved_29_30:2; 1890 uint64_t reserved_29_30:2;
@@ -1185,8 +1894,20 @@ union cvmx_mio_fus_dat3 {
1185 uint64_t nozip:1; 1894 uint64_t nozip:1;
1186 uint64_t nodfa_dte:1; 1895 uint64_t nodfa_dte:1;
1187 uint64_t icache:24; 1896 uint64_t icache:24;
1897#else
1898 uint64_t icache:24;
1899 uint64_t nodfa_dte:1;
1900 uint64_t nozip:1;
1901 uint64_t efus_ign:1;
1902 uint64_t efus_lck:1;
1903 uint64_t bar2_en:1;
1904 uint64_t reserved_29_30:2;
1905 uint64_t pll_div4:1;
1906 uint64_t reserved_32_63:32;
1907#endif
1188 } cn30xx; 1908 } cn30xx;
1189 struct cvmx_mio_fus_dat3_cn31xx { 1909 struct cvmx_mio_fus_dat3_cn31xx {
1910#ifdef __BIG_ENDIAN_BITFIELD
1190 uint64_t reserved_32_63:32; 1911 uint64_t reserved_32_63:32;
1191 uint64_t pll_div4:1; 1912 uint64_t pll_div4:1;
1192 uint64_t zip_crip:2; 1913 uint64_t zip_crip:2;
@@ -1196,8 +1917,20 @@ union cvmx_mio_fus_dat3 {
1196 uint64_t nozip:1; 1917 uint64_t nozip:1;
1197 uint64_t nodfa_dte:1; 1918 uint64_t nodfa_dte:1;
1198 uint64_t icache:24; 1919 uint64_t icache:24;
1920#else
1921 uint64_t icache:24;
1922 uint64_t nodfa_dte:1;
1923 uint64_t nozip:1;
1924 uint64_t efus_ign:1;
1925 uint64_t efus_lck:1;
1926 uint64_t bar2_en:1;
1927 uint64_t zip_crip:2;
1928 uint64_t pll_div4:1;
1929 uint64_t reserved_32_63:32;
1930#endif
1199 } cn31xx; 1931 } cn31xx;
1200 struct cvmx_mio_fus_dat3_cn38xx { 1932 struct cvmx_mio_fus_dat3_cn38xx {
1933#ifdef __BIG_ENDIAN_BITFIELD
1201 uint64_t reserved_31_63:33; 1934 uint64_t reserved_31_63:33;
1202 uint64_t zip_crip:2; 1935 uint64_t zip_crip:2;
1203 uint64_t bar2_en:1; 1936 uint64_t bar2_en:1;
@@ -1206,8 +1939,19 @@ union cvmx_mio_fus_dat3 {
1206 uint64_t nozip:1; 1939 uint64_t nozip:1;
1207 uint64_t nodfa_dte:1; 1940 uint64_t nodfa_dte:1;
1208 uint64_t icache:24; 1941 uint64_t icache:24;
1942#else
1943 uint64_t icache:24;
1944 uint64_t nodfa_dte:1;
1945 uint64_t nozip:1;
1946 uint64_t efus_ign:1;
1947 uint64_t efus_lck:1;
1948 uint64_t bar2_en:1;
1949 uint64_t zip_crip:2;
1950 uint64_t reserved_31_63:33;
1951#endif
1209 } cn38xx; 1952 } cn38xx;
1210 struct cvmx_mio_fus_dat3_cn38xxp2 { 1953 struct cvmx_mio_fus_dat3_cn38xxp2 {
1954#ifdef __BIG_ENDIAN_BITFIELD
1211 uint64_t reserved_29_63:35; 1955 uint64_t reserved_29_63:35;
1212 uint64_t bar2_en:1; 1956 uint64_t bar2_en:1;
1213 uint64_t efus_lck:1; 1957 uint64_t efus_lck:1;
@@ -1215,6 +1959,15 @@ union cvmx_mio_fus_dat3 {
1215 uint64_t nozip:1; 1959 uint64_t nozip:1;
1216 uint64_t nodfa_dte:1; 1960 uint64_t nodfa_dte:1;
1217 uint64_t icache:24; 1961 uint64_t icache:24;
1962#else
1963 uint64_t icache:24;
1964 uint64_t nodfa_dte:1;
1965 uint64_t nozip:1;
1966 uint64_t efus_ign:1;
1967 uint64_t efus_lck:1;
1968 uint64_t bar2_en:1;
1969 uint64_t reserved_29_63:35;
1970#endif
1218 } cn38xxp2; 1971 } cn38xxp2;
1219 struct cvmx_mio_fus_dat3_cn38xx cn50xx; 1972 struct cvmx_mio_fus_dat3_cn38xx cn50xx;
1220 struct cvmx_mio_fus_dat3_cn38xx cn52xx; 1973 struct cvmx_mio_fus_dat3_cn38xx cn52xx;
@@ -1224,6 +1977,7 @@ union cvmx_mio_fus_dat3 {
1224 struct cvmx_mio_fus_dat3_cn38xx cn58xx; 1977 struct cvmx_mio_fus_dat3_cn38xx cn58xx;
1225 struct cvmx_mio_fus_dat3_cn38xx cn58xxp1; 1978 struct cvmx_mio_fus_dat3_cn38xx cn58xxp1;
1226 struct cvmx_mio_fus_dat3_cn61xx { 1979 struct cvmx_mio_fus_dat3_cn61xx {
1980#ifdef __BIG_ENDIAN_BITFIELD
1227 uint64_t reserved_58_63:6; 1981 uint64_t reserved_58_63:6;
1228 uint64_t pll_ctl:10; 1982 uint64_t pll_ctl:10;
1229 uint64_t dfa_info_dte:3; 1983 uint64_t dfa_info_dte:3;
@@ -1242,21 +1996,49 @@ union cvmx_mio_fus_dat3 {
1242 uint64_t nozip:1; 1996 uint64_t nozip:1;
1243 uint64_t nodfa_dte:1; 1997 uint64_t nodfa_dte:1;
1244 uint64_t reserved_0_23:24; 1998 uint64_t reserved_0_23:24;
1999#else
2000 uint64_t reserved_0_23:24;
2001 uint64_t nodfa_dte:1;
2002 uint64_t nozip:1;
2003 uint64_t efus_ign:1;
2004 uint64_t efus_lck:1;
2005 uint64_t bar2_en:1;
2006 uint64_t zip_info:2;
2007 uint64_t reserved_31_31:1;
2008 uint64_t l2c_crip:3;
2009 uint64_t pll_half_dis:1;
2010 uint64_t efus_lck_man:1;
2011 uint64_t efus_lck_rsv:1;
2012 uint64_t ema:2;
2013 uint64_t reserved_40_40:1;
2014 uint64_t dfa_info_clm:4;
2015 uint64_t dfa_info_dte:3;
2016 uint64_t pll_ctl:10;
2017 uint64_t reserved_58_63:6;
2018#endif
1245 } cn61xx; 2019 } cn61xx;
1246 struct cvmx_mio_fus_dat3_cn61xx cn63xx; 2020 struct cvmx_mio_fus_dat3_cn61xx cn63xx;
1247 struct cvmx_mio_fus_dat3_cn61xx cn63xxp1; 2021 struct cvmx_mio_fus_dat3_cn61xx cn63xxp1;
1248 struct cvmx_mio_fus_dat3_cn61xx cn66xx; 2022 struct cvmx_mio_fus_dat3_cn61xx cn66xx;
1249 struct cvmx_mio_fus_dat3_cn61xx cn68xx; 2023 struct cvmx_mio_fus_dat3_cn61xx cn68xx;
1250 struct cvmx_mio_fus_dat3_cn61xx cn68xxp1; 2024 struct cvmx_mio_fus_dat3_cn61xx cn68xxp1;
2025 struct cvmx_mio_fus_dat3_cn61xx cnf71xx;
1251}; 2026};
1252 2027
1253union cvmx_mio_fus_ema { 2028union cvmx_mio_fus_ema {
1254 uint64_t u64; 2029 uint64_t u64;
1255 struct cvmx_mio_fus_ema_s { 2030 struct cvmx_mio_fus_ema_s {
2031#ifdef __BIG_ENDIAN_BITFIELD
1256 uint64_t reserved_7_63:57; 2032 uint64_t reserved_7_63:57;
1257 uint64_t eff_ema:3; 2033 uint64_t eff_ema:3;
1258 uint64_t reserved_3_3:1; 2034 uint64_t reserved_3_3:1;
1259 uint64_t ema:3; 2035 uint64_t ema:3;
2036#else
2037 uint64_t ema:3;
2038 uint64_t reserved_3_3:1;
2039 uint64_t eff_ema:3;
2040 uint64_t reserved_7_63:57;
2041#endif
1260 } s; 2042 } s;
1261 struct cvmx_mio_fus_ema_s cn50xx; 2043 struct cvmx_mio_fus_ema_s cn50xx;
1262 struct cvmx_mio_fus_ema_s cn52xx; 2044 struct cvmx_mio_fus_ema_s cn52xx;
@@ -1264,8 +2046,13 @@ union cvmx_mio_fus_ema {
1264 struct cvmx_mio_fus_ema_s cn56xx; 2046 struct cvmx_mio_fus_ema_s cn56xx;
1265 struct cvmx_mio_fus_ema_s cn56xxp1; 2047 struct cvmx_mio_fus_ema_s cn56xxp1;
1266 struct cvmx_mio_fus_ema_cn58xx { 2048 struct cvmx_mio_fus_ema_cn58xx {
2049#ifdef __BIG_ENDIAN_BITFIELD
1267 uint64_t reserved_2_63:62; 2050 uint64_t reserved_2_63:62;
1268 uint64_t ema:2; 2051 uint64_t ema:2;
2052#else
2053 uint64_t ema:2;
2054 uint64_t reserved_2_63:62;
2055#endif
1269 } cn58xx; 2056 } cn58xx;
1270 struct cvmx_mio_fus_ema_cn58xx cn58xxp1; 2057 struct cvmx_mio_fus_ema_cn58xx cn58xxp1;
1271 struct cvmx_mio_fus_ema_s cn61xx; 2058 struct cvmx_mio_fus_ema_s cn61xx;
@@ -1274,12 +2061,17 @@ union cvmx_mio_fus_ema {
1274 struct cvmx_mio_fus_ema_s cn66xx; 2061 struct cvmx_mio_fus_ema_s cn66xx;
1275 struct cvmx_mio_fus_ema_s cn68xx; 2062 struct cvmx_mio_fus_ema_s cn68xx;
1276 struct cvmx_mio_fus_ema_s cn68xxp1; 2063 struct cvmx_mio_fus_ema_s cn68xxp1;
2064 struct cvmx_mio_fus_ema_s cnf71xx;
1277}; 2065};
1278 2066
1279union cvmx_mio_fus_pdf { 2067union cvmx_mio_fus_pdf {
1280 uint64_t u64; 2068 uint64_t u64;
1281 struct cvmx_mio_fus_pdf_s { 2069 struct cvmx_mio_fus_pdf_s {
2070#ifdef __BIG_ENDIAN_BITFIELD
2071 uint64_t pdf:64;
2072#else
1282 uint64_t pdf:64; 2073 uint64_t pdf:64;
2074#endif
1283 } s; 2075 } s;
1284 struct cvmx_mio_fus_pdf_s cn50xx; 2076 struct cvmx_mio_fus_pdf_s cn50xx;
1285 struct cvmx_mio_fus_pdf_s cn52xx; 2077 struct cvmx_mio_fus_pdf_s cn52xx;
@@ -1293,11 +2085,13 @@ union cvmx_mio_fus_pdf {
1293 struct cvmx_mio_fus_pdf_s cn66xx; 2085 struct cvmx_mio_fus_pdf_s cn66xx;
1294 struct cvmx_mio_fus_pdf_s cn68xx; 2086 struct cvmx_mio_fus_pdf_s cn68xx;
1295 struct cvmx_mio_fus_pdf_s cn68xxp1; 2087 struct cvmx_mio_fus_pdf_s cn68xxp1;
2088 struct cvmx_mio_fus_pdf_s cnf71xx;
1296}; 2089};
1297 2090
1298union cvmx_mio_fus_pll { 2091union cvmx_mio_fus_pll {
1299 uint64_t u64; 2092 uint64_t u64;
1300 struct cvmx_mio_fus_pll_s { 2093 struct cvmx_mio_fus_pll_s {
2094#ifdef __BIG_ENDIAN_BITFIELD
1301 uint64_t reserved_48_63:16; 2095 uint64_t reserved_48_63:16;
1302 uint64_t rclk_align_r:8; 2096 uint64_t rclk_align_r:8;
1303 uint64_t rclk_align_l:8; 2097 uint64_t rclk_align_l:8;
@@ -1308,11 +2102,29 @@ union cvmx_mio_fus_pll {
1308 uint64_t pnr_cout_sel:2; 2102 uint64_t pnr_cout_sel:2;
1309 uint64_t rfslip:1; 2103 uint64_t rfslip:1;
1310 uint64_t fbslip:1; 2104 uint64_t fbslip:1;
2105#else
2106 uint64_t fbslip:1;
2107 uint64_t rfslip:1;
2108 uint64_t pnr_cout_sel:2;
2109 uint64_t pnr_cout_rst:1;
2110 uint64_t c_cout_sel:2;
2111 uint64_t c_cout_rst:1;
2112 uint64_t reserved_8_31:24;
2113 uint64_t rclk_align_l:8;
2114 uint64_t rclk_align_r:8;
2115 uint64_t reserved_48_63:16;
2116#endif
1311 } s; 2117 } s;
1312 struct cvmx_mio_fus_pll_cn50xx { 2118 struct cvmx_mio_fus_pll_cn50xx {
2119#ifdef __BIG_ENDIAN_BITFIELD
1313 uint64_t reserved_2_63:62; 2120 uint64_t reserved_2_63:62;
1314 uint64_t rfslip:1; 2121 uint64_t rfslip:1;
1315 uint64_t fbslip:1; 2122 uint64_t fbslip:1;
2123#else
2124 uint64_t fbslip:1;
2125 uint64_t rfslip:1;
2126 uint64_t reserved_2_63:62;
2127#endif
1316 } cn50xx; 2128 } cn50xx;
1317 struct cvmx_mio_fus_pll_cn50xx cn52xx; 2129 struct cvmx_mio_fus_pll_cn50xx cn52xx;
1318 struct cvmx_mio_fus_pll_cn50xx cn52xxp1; 2130 struct cvmx_mio_fus_pll_cn50xx cn52xxp1;
@@ -1321,6 +2133,7 @@ union cvmx_mio_fus_pll {
1321 struct cvmx_mio_fus_pll_cn50xx cn58xx; 2133 struct cvmx_mio_fus_pll_cn50xx cn58xx;
1322 struct cvmx_mio_fus_pll_cn50xx cn58xxp1; 2134 struct cvmx_mio_fus_pll_cn50xx cn58xxp1;
1323 struct cvmx_mio_fus_pll_cn61xx { 2135 struct cvmx_mio_fus_pll_cn61xx {
2136#ifdef __BIG_ENDIAN_BITFIELD
1324 uint64_t reserved_8_63:56; 2137 uint64_t reserved_8_63:56;
1325 uint64_t c_cout_rst:1; 2138 uint64_t c_cout_rst:1;
1326 uint64_t c_cout_sel:2; 2139 uint64_t c_cout_sel:2;
@@ -1328,24 +2141,45 @@ union cvmx_mio_fus_pll {
1328 uint64_t pnr_cout_sel:2; 2141 uint64_t pnr_cout_sel:2;
1329 uint64_t rfslip:1; 2142 uint64_t rfslip:1;
1330 uint64_t fbslip:1; 2143 uint64_t fbslip:1;
2144#else
2145 uint64_t fbslip:1;
2146 uint64_t rfslip:1;
2147 uint64_t pnr_cout_sel:2;
2148 uint64_t pnr_cout_rst:1;
2149 uint64_t c_cout_sel:2;
2150 uint64_t c_cout_rst:1;
2151 uint64_t reserved_8_63:56;
2152#endif
1331 } cn61xx; 2153 } cn61xx;
1332 struct cvmx_mio_fus_pll_cn61xx cn63xx; 2154 struct cvmx_mio_fus_pll_cn61xx cn63xx;
1333 struct cvmx_mio_fus_pll_cn61xx cn63xxp1; 2155 struct cvmx_mio_fus_pll_cn61xx cn63xxp1;
1334 struct cvmx_mio_fus_pll_cn61xx cn66xx; 2156 struct cvmx_mio_fus_pll_cn61xx cn66xx;
1335 struct cvmx_mio_fus_pll_s cn68xx; 2157 struct cvmx_mio_fus_pll_s cn68xx;
1336 struct cvmx_mio_fus_pll_s cn68xxp1; 2158 struct cvmx_mio_fus_pll_s cn68xxp1;
2159 struct cvmx_mio_fus_pll_cn61xx cnf71xx;
1337}; 2160};
1338 2161
1339union cvmx_mio_fus_prog { 2162union cvmx_mio_fus_prog {
1340 uint64_t u64; 2163 uint64_t u64;
1341 struct cvmx_mio_fus_prog_s { 2164 struct cvmx_mio_fus_prog_s {
2165#ifdef __BIG_ENDIAN_BITFIELD
1342 uint64_t reserved_2_63:62; 2166 uint64_t reserved_2_63:62;
1343 uint64_t soft:1; 2167 uint64_t soft:1;
1344 uint64_t prog:1; 2168 uint64_t prog:1;
2169#else
2170 uint64_t prog:1;
2171 uint64_t soft:1;
2172 uint64_t reserved_2_63:62;
2173#endif
1345 } s; 2174 } s;
1346 struct cvmx_mio_fus_prog_cn30xx { 2175 struct cvmx_mio_fus_prog_cn30xx {
2176#ifdef __BIG_ENDIAN_BITFIELD
1347 uint64_t reserved_1_63:63; 2177 uint64_t reserved_1_63:63;
1348 uint64_t prog:1; 2178 uint64_t prog:1;
2179#else
2180 uint64_t prog:1;
2181 uint64_t reserved_1_63:63;
2182#endif
1349 } cn30xx; 2183 } cn30xx;
1350 struct cvmx_mio_fus_prog_cn30xx cn31xx; 2184 struct cvmx_mio_fus_prog_cn30xx cn31xx;
1351 struct cvmx_mio_fus_prog_cn30xx cn38xx; 2185 struct cvmx_mio_fus_prog_cn30xx cn38xx;
@@ -1363,25 +2197,44 @@ union cvmx_mio_fus_prog {
1363 struct cvmx_mio_fus_prog_s cn66xx; 2197 struct cvmx_mio_fus_prog_s cn66xx;
1364 struct cvmx_mio_fus_prog_s cn68xx; 2198 struct cvmx_mio_fus_prog_s cn68xx;
1365 struct cvmx_mio_fus_prog_s cn68xxp1; 2199 struct cvmx_mio_fus_prog_s cn68xxp1;
2200 struct cvmx_mio_fus_prog_s cnf71xx;
1366}; 2201};
1367 2202
1368union cvmx_mio_fus_prog_times { 2203union cvmx_mio_fus_prog_times {
1369 uint64_t u64; 2204 uint64_t u64;
1370 struct cvmx_mio_fus_prog_times_s { 2205 struct cvmx_mio_fus_prog_times_s {
2206#ifdef __BIG_ENDIAN_BITFIELD
1371 uint64_t reserved_35_63:29; 2207 uint64_t reserved_35_63:29;
1372 uint64_t vgate_pin:1; 2208 uint64_t vgate_pin:1;
1373 uint64_t fsrc_pin:1; 2209 uint64_t fsrc_pin:1;
1374 uint64_t prog_pin:1; 2210 uint64_t prog_pin:1;
1375 uint64_t reserved_6_31:26; 2211 uint64_t reserved_6_31:26;
1376 uint64_t setup:6; 2212 uint64_t setup:6;
2213#else
2214 uint64_t setup:6;
2215 uint64_t reserved_6_31:26;
2216 uint64_t prog_pin:1;
2217 uint64_t fsrc_pin:1;
2218 uint64_t vgate_pin:1;
2219 uint64_t reserved_35_63:29;
2220#endif
1377 } s; 2221 } s;
1378 struct cvmx_mio_fus_prog_times_cn50xx { 2222 struct cvmx_mio_fus_prog_times_cn50xx {
2223#ifdef __BIG_ENDIAN_BITFIELD
1379 uint64_t reserved_33_63:31; 2224 uint64_t reserved_33_63:31;
1380 uint64_t prog_pin:1; 2225 uint64_t prog_pin:1;
1381 uint64_t out:8; 2226 uint64_t out:8;
1382 uint64_t sclk_lo:4; 2227 uint64_t sclk_lo:4;
1383 uint64_t sclk_hi:12; 2228 uint64_t sclk_hi:12;
1384 uint64_t setup:8; 2229 uint64_t setup:8;
2230#else
2231 uint64_t setup:8;
2232 uint64_t sclk_hi:12;
2233 uint64_t sclk_lo:4;
2234 uint64_t out:8;
2235 uint64_t prog_pin:1;
2236 uint64_t reserved_33_63:31;
2237#endif
1385 } cn50xx; 2238 } cn50xx;
1386 struct cvmx_mio_fus_prog_times_cn50xx cn52xx; 2239 struct cvmx_mio_fus_prog_times_cn50xx cn52xx;
1387 struct cvmx_mio_fus_prog_times_cn50xx cn52xxp1; 2240 struct cvmx_mio_fus_prog_times_cn50xx cn52xxp1;
@@ -1390,6 +2243,7 @@ union cvmx_mio_fus_prog_times {
1390 struct cvmx_mio_fus_prog_times_cn50xx cn58xx; 2243 struct cvmx_mio_fus_prog_times_cn50xx cn58xx;
1391 struct cvmx_mio_fus_prog_times_cn50xx cn58xxp1; 2244 struct cvmx_mio_fus_prog_times_cn50xx cn58xxp1;
1392 struct cvmx_mio_fus_prog_times_cn61xx { 2245 struct cvmx_mio_fus_prog_times_cn61xx {
2246#ifdef __BIG_ENDIAN_BITFIELD
1393 uint64_t reserved_35_63:29; 2247 uint64_t reserved_35_63:29;
1394 uint64_t vgate_pin:1; 2248 uint64_t vgate_pin:1;
1395 uint64_t fsrc_pin:1; 2249 uint64_t fsrc_pin:1;
@@ -1398,17 +2252,29 @@ union cvmx_mio_fus_prog_times {
1398 uint64_t sclk_lo:4; 2252 uint64_t sclk_lo:4;
1399 uint64_t sclk_hi:15; 2253 uint64_t sclk_hi:15;
1400 uint64_t setup:6; 2254 uint64_t setup:6;
2255#else
2256 uint64_t setup:6;
2257 uint64_t sclk_hi:15;
2258 uint64_t sclk_lo:4;
2259 uint64_t out:7;
2260 uint64_t prog_pin:1;
2261 uint64_t fsrc_pin:1;
2262 uint64_t vgate_pin:1;
2263 uint64_t reserved_35_63:29;
2264#endif
1401 } cn61xx; 2265 } cn61xx;
1402 struct cvmx_mio_fus_prog_times_cn61xx cn63xx; 2266 struct cvmx_mio_fus_prog_times_cn61xx cn63xx;
1403 struct cvmx_mio_fus_prog_times_cn61xx cn63xxp1; 2267 struct cvmx_mio_fus_prog_times_cn61xx cn63xxp1;
1404 struct cvmx_mio_fus_prog_times_cn61xx cn66xx; 2268 struct cvmx_mio_fus_prog_times_cn61xx cn66xx;
1405 struct cvmx_mio_fus_prog_times_cn61xx cn68xx; 2269 struct cvmx_mio_fus_prog_times_cn61xx cn68xx;
1406 struct cvmx_mio_fus_prog_times_cn61xx cn68xxp1; 2270 struct cvmx_mio_fus_prog_times_cn61xx cn68xxp1;
2271 struct cvmx_mio_fus_prog_times_cn61xx cnf71xx;
1407}; 2272};
1408 2273
1409union cvmx_mio_fus_rcmd { 2274union cvmx_mio_fus_rcmd {
1410 uint64_t u64; 2275 uint64_t u64;
1411 struct cvmx_mio_fus_rcmd_s { 2276 struct cvmx_mio_fus_rcmd_s {
2277#ifdef __BIG_ENDIAN_BITFIELD
1412 uint64_t reserved_24_63:40; 2278 uint64_t reserved_24_63:40;
1413 uint64_t dat:8; 2279 uint64_t dat:8;
1414 uint64_t reserved_13_15:3; 2280 uint64_t reserved_13_15:3;
@@ -1416,8 +2282,18 @@ union cvmx_mio_fus_rcmd {
1416 uint64_t reserved_9_11:3; 2282 uint64_t reserved_9_11:3;
1417 uint64_t efuse:1; 2283 uint64_t efuse:1;
1418 uint64_t addr:8; 2284 uint64_t addr:8;
2285#else
2286 uint64_t addr:8;
2287 uint64_t efuse:1;
2288 uint64_t reserved_9_11:3;
2289 uint64_t pend:1;
2290 uint64_t reserved_13_15:3;
2291 uint64_t dat:8;
2292 uint64_t reserved_24_63:40;
2293#endif
1419 } s; 2294 } s;
1420 struct cvmx_mio_fus_rcmd_cn30xx { 2295 struct cvmx_mio_fus_rcmd_cn30xx {
2296#ifdef __BIG_ENDIAN_BITFIELD
1421 uint64_t reserved_24_63:40; 2297 uint64_t reserved_24_63:40;
1422 uint64_t dat:8; 2298 uint64_t dat:8;
1423 uint64_t reserved_13_15:3; 2299 uint64_t reserved_13_15:3;
@@ -1426,6 +2302,16 @@ union cvmx_mio_fus_rcmd {
1426 uint64_t efuse:1; 2302 uint64_t efuse:1;
1427 uint64_t reserved_7_7:1; 2303 uint64_t reserved_7_7:1;
1428 uint64_t addr:7; 2304 uint64_t addr:7;
2305#else
2306 uint64_t addr:7;
2307 uint64_t reserved_7_7:1;
2308 uint64_t efuse:1;
2309 uint64_t reserved_9_11:3;
2310 uint64_t pend:1;
2311 uint64_t reserved_13_15:3;
2312 uint64_t dat:8;
2313 uint64_t reserved_24_63:40;
2314#endif
1429 } cn30xx; 2315 } cn30xx;
1430 struct cvmx_mio_fus_rcmd_cn30xx cn31xx; 2316 struct cvmx_mio_fus_rcmd_cn30xx cn31xx;
1431 struct cvmx_mio_fus_rcmd_cn30xx cn38xx; 2317 struct cvmx_mio_fus_rcmd_cn30xx cn38xx;
@@ -1443,17 +2329,27 @@ union cvmx_mio_fus_rcmd {
1443 struct cvmx_mio_fus_rcmd_s cn66xx; 2329 struct cvmx_mio_fus_rcmd_s cn66xx;
1444 struct cvmx_mio_fus_rcmd_s cn68xx; 2330 struct cvmx_mio_fus_rcmd_s cn68xx;
1445 struct cvmx_mio_fus_rcmd_s cn68xxp1; 2331 struct cvmx_mio_fus_rcmd_s cn68xxp1;
2332 struct cvmx_mio_fus_rcmd_s cnf71xx;
1446}; 2333};
1447 2334
1448union cvmx_mio_fus_read_times { 2335union cvmx_mio_fus_read_times {
1449 uint64_t u64; 2336 uint64_t u64;
1450 struct cvmx_mio_fus_read_times_s { 2337 struct cvmx_mio_fus_read_times_s {
2338#ifdef __BIG_ENDIAN_BITFIELD
1451 uint64_t reserved_26_63:38; 2339 uint64_t reserved_26_63:38;
1452 uint64_t sch:4; 2340 uint64_t sch:4;
1453 uint64_t fsh:4; 2341 uint64_t fsh:4;
1454 uint64_t prh:4; 2342 uint64_t prh:4;
1455 uint64_t sdh:4; 2343 uint64_t sdh:4;
1456 uint64_t setup:10; 2344 uint64_t setup:10;
2345#else
2346 uint64_t setup:10;
2347 uint64_t sdh:4;
2348 uint64_t prh:4;
2349 uint64_t fsh:4;
2350 uint64_t sch:4;
2351 uint64_t reserved_26_63:38;
2352#endif
1457 } s; 2353 } s;
1458 struct cvmx_mio_fus_read_times_s cn61xx; 2354 struct cvmx_mio_fus_read_times_s cn61xx;
1459 struct cvmx_mio_fus_read_times_s cn63xx; 2355 struct cvmx_mio_fus_read_times_s cn63xx;
@@ -1461,16 +2357,25 @@ union cvmx_mio_fus_read_times {
1461 struct cvmx_mio_fus_read_times_s cn66xx; 2357 struct cvmx_mio_fus_read_times_s cn66xx;
1462 struct cvmx_mio_fus_read_times_s cn68xx; 2358 struct cvmx_mio_fus_read_times_s cn68xx;
1463 struct cvmx_mio_fus_read_times_s cn68xxp1; 2359 struct cvmx_mio_fus_read_times_s cn68xxp1;
2360 struct cvmx_mio_fus_read_times_s cnf71xx;
1464}; 2361};
1465 2362
1466union cvmx_mio_fus_repair_res0 { 2363union cvmx_mio_fus_repair_res0 {
1467 uint64_t u64; 2364 uint64_t u64;
1468 struct cvmx_mio_fus_repair_res0_s { 2365 struct cvmx_mio_fus_repair_res0_s {
2366#ifdef __BIG_ENDIAN_BITFIELD
1469 uint64_t reserved_55_63:9; 2367 uint64_t reserved_55_63:9;
1470 uint64_t too_many:1; 2368 uint64_t too_many:1;
1471 uint64_t repair2:18; 2369 uint64_t repair2:18;
1472 uint64_t repair1:18; 2370 uint64_t repair1:18;
1473 uint64_t repair0:18; 2371 uint64_t repair0:18;
2372#else
2373 uint64_t repair0:18;
2374 uint64_t repair1:18;
2375 uint64_t repair2:18;
2376 uint64_t too_many:1;
2377 uint64_t reserved_55_63:9;
2378#endif
1474 } s; 2379 } s;
1475 struct cvmx_mio_fus_repair_res0_s cn61xx; 2380 struct cvmx_mio_fus_repair_res0_s cn61xx;
1476 struct cvmx_mio_fus_repair_res0_s cn63xx; 2381 struct cvmx_mio_fus_repair_res0_s cn63xx;
@@ -1478,15 +2383,23 @@ union cvmx_mio_fus_repair_res0 {
1478 struct cvmx_mio_fus_repair_res0_s cn66xx; 2383 struct cvmx_mio_fus_repair_res0_s cn66xx;
1479 struct cvmx_mio_fus_repair_res0_s cn68xx; 2384 struct cvmx_mio_fus_repair_res0_s cn68xx;
1480 struct cvmx_mio_fus_repair_res0_s cn68xxp1; 2385 struct cvmx_mio_fus_repair_res0_s cn68xxp1;
2386 struct cvmx_mio_fus_repair_res0_s cnf71xx;
1481}; 2387};
1482 2388
1483union cvmx_mio_fus_repair_res1 { 2389union cvmx_mio_fus_repair_res1 {
1484 uint64_t u64; 2390 uint64_t u64;
1485 struct cvmx_mio_fus_repair_res1_s { 2391 struct cvmx_mio_fus_repair_res1_s {
2392#ifdef __BIG_ENDIAN_BITFIELD
1486 uint64_t reserved_54_63:10; 2393 uint64_t reserved_54_63:10;
1487 uint64_t repair5:18; 2394 uint64_t repair5:18;
1488 uint64_t repair4:18; 2395 uint64_t repair4:18;
1489 uint64_t repair3:18; 2396 uint64_t repair3:18;
2397#else
2398 uint64_t repair3:18;
2399 uint64_t repair4:18;
2400 uint64_t repair5:18;
2401 uint64_t reserved_54_63:10;
2402#endif
1490 } s; 2403 } s;
1491 struct cvmx_mio_fus_repair_res1_s cn61xx; 2404 struct cvmx_mio_fus_repair_res1_s cn61xx;
1492 struct cvmx_mio_fus_repair_res1_s cn63xx; 2405 struct cvmx_mio_fus_repair_res1_s cn63xx;
@@ -1494,13 +2407,19 @@ union cvmx_mio_fus_repair_res1 {
1494 struct cvmx_mio_fus_repair_res1_s cn66xx; 2407 struct cvmx_mio_fus_repair_res1_s cn66xx;
1495 struct cvmx_mio_fus_repair_res1_s cn68xx; 2408 struct cvmx_mio_fus_repair_res1_s cn68xx;
1496 struct cvmx_mio_fus_repair_res1_s cn68xxp1; 2409 struct cvmx_mio_fus_repair_res1_s cn68xxp1;
2410 struct cvmx_mio_fus_repair_res1_s cnf71xx;
1497}; 2411};
1498 2412
1499union cvmx_mio_fus_repair_res2 { 2413union cvmx_mio_fus_repair_res2 {
1500 uint64_t u64; 2414 uint64_t u64;
1501 struct cvmx_mio_fus_repair_res2_s { 2415 struct cvmx_mio_fus_repair_res2_s {
2416#ifdef __BIG_ENDIAN_BITFIELD
1502 uint64_t reserved_18_63:46; 2417 uint64_t reserved_18_63:46;
1503 uint64_t repair6:18; 2418 uint64_t repair6:18;
2419#else
2420 uint64_t repair6:18;
2421 uint64_t reserved_18_63:46;
2422#endif
1504 } s; 2423 } s;
1505 struct cvmx_mio_fus_repair_res2_s cn61xx; 2424 struct cvmx_mio_fus_repair_res2_s cn61xx;
1506 struct cvmx_mio_fus_repair_res2_s cn63xx; 2425 struct cvmx_mio_fus_repair_res2_s cn63xx;
@@ -1508,15 +2427,23 @@ union cvmx_mio_fus_repair_res2 {
1508 struct cvmx_mio_fus_repair_res2_s cn66xx; 2427 struct cvmx_mio_fus_repair_res2_s cn66xx;
1509 struct cvmx_mio_fus_repair_res2_s cn68xx; 2428 struct cvmx_mio_fus_repair_res2_s cn68xx;
1510 struct cvmx_mio_fus_repair_res2_s cn68xxp1; 2429 struct cvmx_mio_fus_repair_res2_s cn68xxp1;
2430 struct cvmx_mio_fus_repair_res2_s cnf71xx;
1511}; 2431};
1512 2432
1513union cvmx_mio_fus_spr_repair_res { 2433union cvmx_mio_fus_spr_repair_res {
1514 uint64_t u64; 2434 uint64_t u64;
1515 struct cvmx_mio_fus_spr_repair_res_s { 2435 struct cvmx_mio_fus_spr_repair_res_s {
2436#ifdef __BIG_ENDIAN_BITFIELD
1516 uint64_t reserved_42_63:22; 2437 uint64_t reserved_42_63:22;
1517 uint64_t repair2:14; 2438 uint64_t repair2:14;
1518 uint64_t repair1:14; 2439 uint64_t repair1:14;
1519 uint64_t repair0:14; 2440 uint64_t repair0:14;
2441#else
2442 uint64_t repair0:14;
2443 uint64_t repair1:14;
2444 uint64_t repair2:14;
2445 uint64_t reserved_42_63:22;
2446#endif
1520 } s; 2447 } s;
1521 struct cvmx_mio_fus_spr_repair_res_s cn30xx; 2448 struct cvmx_mio_fus_spr_repair_res_s cn30xx;
1522 struct cvmx_mio_fus_spr_repair_res_s cn31xx; 2449 struct cvmx_mio_fus_spr_repair_res_s cn31xx;
@@ -1534,13 +2461,19 @@ union cvmx_mio_fus_spr_repair_res {
1534 struct cvmx_mio_fus_spr_repair_res_s cn66xx; 2461 struct cvmx_mio_fus_spr_repair_res_s cn66xx;
1535 struct cvmx_mio_fus_spr_repair_res_s cn68xx; 2462 struct cvmx_mio_fus_spr_repair_res_s cn68xx;
1536 struct cvmx_mio_fus_spr_repair_res_s cn68xxp1; 2463 struct cvmx_mio_fus_spr_repair_res_s cn68xxp1;
2464 struct cvmx_mio_fus_spr_repair_res_s cnf71xx;
1537}; 2465};
1538 2466
1539union cvmx_mio_fus_spr_repair_sum { 2467union cvmx_mio_fus_spr_repair_sum {
1540 uint64_t u64; 2468 uint64_t u64;
1541 struct cvmx_mio_fus_spr_repair_sum_s { 2469 struct cvmx_mio_fus_spr_repair_sum_s {
2470#ifdef __BIG_ENDIAN_BITFIELD
1542 uint64_t reserved_1_63:63; 2471 uint64_t reserved_1_63:63;
1543 uint64_t too_many:1; 2472 uint64_t too_many:1;
2473#else
2474 uint64_t too_many:1;
2475 uint64_t reserved_1_63:63;
2476#endif
1544 } s; 2477 } s;
1545 struct cvmx_mio_fus_spr_repair_sum_s cn30xx; 2478 struct cvmx_mio_fus_spr_repair_sum_s cn30xx;
1546 struct cvmx_mio_fus_spr_repair_sum_s cn31xx; 2479 struct cvmx_mio_fus_spr_repair_sum_s cn31xx;
@@ -1558,23 +2491,35 @@ union cvmx_mio_fus_spr_repair_sum {
1558 struct cvmx_mio_fus_spr_repair_sum_s cn66xx; 2491 struct cvmx_mio_fus_spr_repair_sum_s cn66xx;
1559 struct cvmx_mio_fus_spr_repair_sum_s cn68xx; 2492 struct cvmx_mio_fus_spr_repair_sum_s cn68xx;
1560 struct cvmx_mio_fus_spr_repair_sum_s cn68xxp1; 2493 struct cvmx_mio_fus_spr_repair_sum_s cn68xxp1;
2494 struct cvmx_mio_fus_spr_repair_sum_s cnf71xx;
1561}; 2495};
1562 2496
1563union cvmx_mio_fus_tgg { 2497union cvmx_mio_fus_tgg {
1564 uint64_t u64; 2498 uint64_t u64;
1565 struct cvmx_mio_fus_tgg_s { 2499 struct cvmx_mio_fus_tgg_s {
2500#ifdef __BIG_ENDIAN_BITFIELD
1566 uint64_t val:1; 2501 uint64_t val:1;
1567 uint64_t dat:63; 2502 uint64_t dat:63;
2503#else
2504 uint64_t dat:63;
2505 uint64_t val:1;
2506#endif
1568 } s; 2507 } s;
1569 struct cvmx_mio_fus_tgg_s cn61xx; 2508 struct cvmx_mio_fus_tgg_s cn61xx;
1570 struct cvmx_mio_fus_tgg_s cn66xx; 2509 struct cvmx_mio_fus_tgg_s cn66xx;
2510 struct cvmx_mio_fus_tgg_s cnf71xx;
1571}; 2511};
1572 2512
1573union cvmx_mio_fus_unlock { 2513union cvmx_mio_fus_unlock {
1574 uint64_t u64; 2514 uint64_t u64;
1575 struct cvmx_mio_fus_unlock_s { 2515 struct cvmx_mio_fus_unlock_s {
2516#ifdef __BIG_ENDIAN_BITFIELD
1576 uint64_t reserved_24_63:40; 2517 uint64_t reserved_24_63:40;
1577 uint64_t key:24; 2518 uint64_t key:24;
2519#else
2520 uint64_t key:24;
2521 uint64_t reserved_24_63:40;
2522#endif
1578 } s; 2523 } s;
1579 struct cvmx_mio_fus_unlock_s cn30xx; 2524 struct cvmx_mio_fus_unlock_s cn30xx;
1580 struct cvmx_mio_fus_unlock_s cn31xx; 2525 struct cvmx_mio_fus_unlock_s cn31xx;
@@ -1583,20 +2528,35 @@ union cvmx_mio_fus_unlock {
1583union cvmx_mio_fus_wadr { 2528union cvmx_mio_fus_wadr {
1584 uint64_t u64; 2529 uint64_t u64;
1585 struct cvmx_mio_fus_wadr_s { 2530 struct cvmx_mio_fus_wadr_s {
2531#ifdef __BIG_ENDIAN_BITFIELD
1586 uint64_t reserved_10_63:54; 2532 uint64_t reserved_10_63:54;
1587 uint64_t addr:10; 2533 uint64_t addr:10;
2534#else
2535 uint64_t addr:10;
2536 uint64_t reserved_10_63:54;
2537#endif
1588 } s; 2538 } s;
1589 struct cvmx_mio_fus_wadr_s cn30xx; 2539 struct cvmx_mio_fus_wadr_s cn30xx;
1590 struct cvmx_mio_fus_wadr_s cn31xx; 2540 struct cvmx_mio_fus_wadr_s cn31xx;
1591 struct cvmx_mio_fus_wadr_s cn38xx; 2541 struct cvmx_mio_fus_wadr_s cn38xx;
1592 struct cvmx_mio_fus_wadr_s cn38xxp2; 2542 struct cvmx_mio_fus_wadr_s cn38xxp2;
1593 struct cvmx_mio_fus_wadr_cn50xx { 2543 struct cvmx_mio_fus_wadr_cn50xx {
2544#ifdef __BIG_ENDIAN_BITFIELD
1594 uint64_t reserved_2_63:62; 2545 uint64_t reserved_2_63:62;
1595 uint64_t addr:2; 2546 uint64_t addr:2;
2547#else
2548 uint64_t addr:2;
2549 uint64_t reserved_2_63:62;
2550#endif
1596 } cn50xx; 2551 } cn50xx;
1597 struct cvmx_mio_fus_wadr_cn52xx { 2552 struct cvmx_mio_fus_wadr_cn52xx {
2553#ifdef __BIG_ENDIAN_BITFIELD
1598 uint64_t reserved_3_63:61; 2554 uint64_t reserved_3_63:61;
1599 uint64_t addr:3; 2555 uint64_t addr:3;
2556#else
2557 uint64_t addr:3;
2558 uint64_t reserved_3_63:61;
2559#endif
1600 } cn52xx; 2560 } cn52xx;
1601 struct cvmx_mio_fus_wadr_cn52xx cn52xxp1; 2561 struct cvmx_mio_fus_wadr_cn52xx cn52xxp1;
1602 struct cvmx_mio_fus_wadr_cn52xx cn56xx; 2562 struct cvmx_mio_fus_wadr_cn52xx cn56xx;
@@ -1604,22 +2564,34 @@ union cvmx_mio_fus_wadr {
1604 struct cvmx_mio_fus_wadr_cn50xx cn58xx; 2564 struct cvmx_mio_fus_wadr_cn50xx cn58xx;
1605 struct cvmx_mio_fus_wadr_cn50xx cn58xxp1; 2565 struct cvmx_mio_fus_wadr_cn50xx cn58xxp1;
1606 struct cvmx_mio_fus_wadr_cn61xx { 2566 struct cvmx_mio_fus_wadr_cn61xx {
2567#ifdef __BIG_ENDIAN_BITFIELD
1607 uint64_t reserved_4_63:60; 2568 uint64_t reserved_4_63:60;
1608 uint64_t addr:4; 2569 uint64_t addr:4;
2570#else
2571 uint64_t addr:4;
2572 uint64_t reserved_4_63:60;
2573#endif
1609 } cn61xx; 2574 } cn61xx;
1610 struct cvmx_mio_fus_wadr_cn61xx cn63xx; 2575 struct cvmx_mio_fus_wadr_cn61xx cn63xx;
1611 struct cvmx_mio_fus_wadr_cn61xx cn63xxp1; 2576 struct cvmx_mio_fus_wadr_cn61xx cn63xxp1;
1612 struct cvmx_mio_fus_wadr_cn61xx cn66xx; 2577 struct cvmx_mio_fus_wadr_cn61xx cn66xx;
1613 struct cvmx_mio_fus_wadr_cn61xx cn68xx; 2578 struct cvmx_mio_fus_wadr_cn61xx cn68xx;
1614 struct cvmx_mio_fus_wadr_cn61xx cn68xxp1; 2579 struct cvmx_mio_fus_wadr_cn61xx cn68xxp1;
2580 struct cvmx_mio_fus_wadr_cn61xx cnf71xx;
1615}; 2581};
1616 2582
1617union cvmx_mio_gpio_comp { 2583union cvmx_mio_gpio_comp {
1618 uint64_t u64; 2584 uint64_t u64;
1619 struct cvmx_mio_gpio_comp_s { 2585 struct cvmx_mio_gpio_comp_s {
2586#ifdef __BIG_ENDIAN_BITFIELD
1620 uint64_t reserved_12_63:52; 2587 uint64_t reserved_12_63:52;
1621 uint64_t pctl:6; 2588 uint64_t pctl:6;
1622 uint64_t nctl:6; 2589 uint64_t nctl:6;
2590#else
2591 uint64_t nctl:6;
2592 uint64_t pctl:6;
2593 uint64_t reserved_12_63:52;
2594#endif
1623 } s; 2595 } s;
1624 struct cvmx_mio_gpio_comp_s cn61xx; 2596 struct cvmx_mio_gpio_comp_s cn61xx;
1625 struct cvmx_mio_gpio_comp_s cn63xx; 2597 struct cvmx_mio_gpio_comp_s cn63xx;
@@ -1627,11 +2599,13 @@ union cvmx_mio_gpio_comp {
1627 struct cvmx_mio_gpio_comp_s cn66xx; 2599 struct cvmx_mio_gpio_comp_s cn66xx;
1628 struct cvmx_mio_gpio_comp_s cn68xx; 2600 struct cvmx_mio_gpio_comp_s cn68xx;
1629 struct cvmx_mio_gpio_comp_s cn68xxp1; 2601 struct cvmx_mio_gpio_comp_s cn68xxp1;
2602 struct cvmx_mio_gpio_comp_s cnf71xx;
1630}; 2603};
1631 2604
1632union cvmx_mio_ndf_dma_cfg { 2605union cvmx_mio_ndf_dma_cfg {
1633 uint64_t u64; 2606 uint64_t u64;
1634 struct cvmx_mio_ndf_dma_cfg_s { 2607 struct cvmx_mio_ndf_dma_cfg_s {
2608#ifdef __BIG_ENDIAN_BITFIELD
1635 uint64_t en:1; 2609 uint64_t en:1;
1636 uint64_t rw:1; 2610 uint64_t rw:1;
1637 uint64_t clr:1; 2611 uint64_t clr:1;
@@ -1642,6 +2616,18 @@ union cvmx_mio_ndf_dma_cfg {
1642 uint64_t endian:1; 2616 uint64_t endian:1;
1643 uint64_t size:20; 2617 uint64_t size:20;
1644 uint64_t adr:36; 2618 uint64_t adr:36;
2619#else
2620 uint64_t adr:36;
2621 uint64_t size:20;
2622 uint64_t endian:1;
2623 uint64_t swap8:1;
2624 uint64_t swap16:1;
2625 uint64_t swap32:1;
2626 uint64_t reserved_60_60:1;
2627 uint64_t clr:1;
2628 uint64_t rw:1;
2629 uint64_t en:1;
2630#endif
1645 } s; 2631 } s;
1646 struct cvmx_mio_ndf_dma_cfg_s cn52xx; 2632 struct cvmx_mio_ndf_dma_cfg_s cn52xx;
1647 struct cvmx_mio_ndf_dma_cfg_s cn61xx; 2633 struct cvmx_mio_ndf_dma_cfg_s cn61xx;
@@ -1650,13 +2636,19 @@ union cvmx_mio_ndf_dma_cfg {
1650 struct cvmx_mio_ndf_dma_cfg_s cn66xx; 2636 struct cvmx_mio_ndf_dma_cfg_s cn66xx;
1651 struct cvmx_mio_ndf_dma_cfg_s cn68xx; 2637 struct cvmx_mio_ndf_dma_cfg_s cn68xx;
1652 struct cvmx_mio_ndf_dma_cfg_s cn68xxp1; 2638 struct cvmx_mio_ndf_dma_cfg_s cn68xxp1;
2639 struct cvmx_mio_ndf_dma_cfg_s cnf71xx;
1653}; 2640};
1654 2641
1655union cvmx_mio_ndf_dma_int { 2642union cvmx_mio_ndf_dma_int {
1656 uint64_t u64; 2643 uint64_t u64;
1657 struct cvmx_mio_ndf_dma_int_s { 2644 struct cvmx_mio_ndf_dma_int_s {
2645#ifdef __BIG_ENDIAN_BITFIELD
1658 uint64_t reserved_1_63:63; 2646 uint64_t reserved_1_63:63;
1659 uint64_t done:1; 2647 uint64_t done:1;
2648#else
2649 uint64_t done:1;
2650 uint64_t reserved_1_63:63;
2651#endif
1660 } s; 2652 } s;
1661 struct cvmx_mio_ndf_dma_int_s cn52xx; 2653 struct cvmx_mio_ndf_dma_int_s cn52xx;
1662 struct cvmx_mio_ndf_dma_int_s cn61xx; 2654 struct cvmx_mio_ndf_dma_int_s cn61xx;
@@ -1665,13 +2657,19 @@ union cvmx_mio_ndf_dma_int {
1665 struct cvmx_mio_ndf_dma_int_s cn66xx; 2657 struct cvmx_mio_ndf_dma_int_s cn66xx;
1666 struct cvmx_mio_ndf_dma_int_s cn68xx; 2658 struct cvmx_mio_ndf_dma_int_s cn68xx;
1667 struct cvmx_mio_ndf_dma_int_s cn68xxp1; 2659 struct cvmx_mio_ndf_dma_int_s cn68xxp1;
2660 struct cvmx_mio_ndf_dma_int_s cnf71xx;
1668}; 2661};
1669 2662
1670union cvmx_mio_ndf_dma_int_en { 2663union cvmx_mio_ndf_dma_int_en {
1671 uint64_t u64; 2664 uint64_t u64;
1672 struct cvmx_mio_ndf_dma_int_en_s { 2665 struct cvmx_mio_ndf_dma_int_en_s {
2666#ifdef __BIG_ENDIAN_BITFIELD
1673 uint64_t reserved_1_63:63; 2667 uint64_t reserved_1_63:63;
1674 uint64_t done:1; 2668 uint64_t done:1;
2669#else
2670 uint64_t done:1;
2671 uint64_t reserved_1_63:63;
2672#endif
1675 } s; 2673 } s;
1676 struct cvmx_mio_ndf_dma_int_en_s cn52xx; 2674 struct cvmx_mio_ndf_dma_int_en_s cn52xx;
1677 struct cvmx_mio_ndf_dma_int_en_s cn61xx; 2675 struct cvmx_mio_ndf_dma_int_en_s cn61xx;
@@ -1680,13 +2678,19 @@ union cvmx_mio_ndf_dma_int_en {
1680 struct cvmx_mio_ndf_dma_int_en_s cn66xx; 2678 struct cvmx_mio_ndf_dma_int_en_s cn66xx;
1681 struct cvmx_mio_ndf_dma_int_en_s cn68xx; 2679 struct cvmx_mio_ndf_dma_int_en_s cn68xx;
1682 struct cvmx_mio_ndf_dma_int_en_s cn68xxp1; 2680 struct cvmx_mio_ndf_dma_int_en_s cn68xxp1;
2681 struct cvmx_mio_ndf_dma_int_en_s cnf71xx;
1683}; 2682};
1684 2683
1685union cvmx_mio_pll_ctl { 2684union cvmx_mio_pll_ctl {
1686 uint64_t u64; 2685 uint64_t u64;
1687 struct cvmx_mio_pll_ctl_s { 2686 struct cvmx_mio_pll_ctl_s {
2687#ifdef __BIG_ENDIAN_BITFIELD
1688 uint64_t reserved_5_63:59; 2688 uint64_t reserved_5_63:59;
1689 uint64_t bw_ctl:5; 2689 uint64_t bw_ctl:5;
2690#else
2691 uint64_t bw_ctl:5;
2692 uint64_t reserved_5_63:59;
2693#endif
1690 } s; 2694 } s;
1691 struct cvmx_mio_pll_ctl_s cn30xx; 2695 struct cvmx_mio_pll_ctl_s cn30xx;
1692 struct cvmx_mio_pll_ctl_s cn31xx; 2696 struct cvmx_mio_pll_ctl_s cn31xx;
@@ -1695,8 +2699,13 @@ union cvmx_mio_pll_ctl {
1695union cvmx_mio_pll_setting { 2699union cvmx_mio_pll_setting {
1696 uint64_t u64; 2700 uint64_t u64;
1697 struct cvmx_mio_pll_setting_s { 2701 struct cvmx_mio_pll_setting_s {
2702#ifdef __BIG_ENDIAN_BITFIELD
1698 uint64_t reserved_17_63:47; 2703 uint64_t reserved_17_63:47;
1699 uint64_t setting:17; 2704 uint64_t setting:17;
2705#else
2706 uint64_t setting:17;
2707 uint64_t reserved_17_63:47;
2708#endif
1700 } s; 2709 } s;
1701 struct cvmx_mio_pll_setting_s cn30xx; 2710 struct cvmx_mio_pll_setting_s cn30xx;
1702 struct cvmx_mio_pll_setting_s cn31xx; 2711 struct cvmx_mio_pll_setting_s cn31xx;
@@ -1705,49 +2714,73 @@ union cvmx_mio_pll_setting {
1705union cvmx_mio_ptp_ckout_hi_incr { 2714union cvmx_mio_ptp_ckout_hi_incr {
1706 uint64_t u64; 2715 uint64_t u64;
1707 struct cvmx_mio_ptp_ckout_hi_incr_s { 2716 struct cvmx_mio_ptp_ckout_hi_incr_s {
2717#ifdef __BIG_ENDIAN_BITFIELD
1708 uint64_t nanosec:32; 2718 uint64_t nanosec:32;
1709 uint64_t frnanosec:32; 2719 uint64_t frnanosec:32;
2720#else
2721 uint64_t frnanosec:32;
2722 uint64_t nanosec:32;
2723#endif
1710 } s; 2724 } s;
1711 struct cvmx_mio_ptp_ckout_hi_incr_s cn61xx; 2725 struct cvmx_mio_ptp_ckout_hi_incr_s cn61xx;
1712 struct cvmx_mio_ptp_ckout_hi_incr_s cn66xx; 2726 struct cvmx_mio_ptp_ckout_hi_incr_s cn66xx;
1713 struct cvmx_mio_ptp_ckout_hi_incr_s cn68xx; 2727 struct cvmx_mio_ptp_ckout_hi_incr_s cn68xx;
2728 struct cvmx_mio_ptp_ckout_hi_incr_s cnf71xx;
1714}; 2729};
1715 2730
1716union cvmx_mio_ptp_ckout_lo_incr { 2731union cvmx_mio_ptp_ckout_lo_incr {
1717 uint64_t u64; 2732 uint64_t u64;
1718 struct cvmx_mio_ptp_ckout_lo_incr_s { 2733 struct cvmx_mio_ptp_ckout_lo_incr_s {
2734#ifdef __BIG_ENDIAN_BITFIELD
1719 uint64_t nanosec:32; 2735 uint64_t nanosec:32;
1720 uint64_t frnanosec:32; 2736 uint64_t frnanosec:32;
2737#else
2738 uint64_t frnanosec:32;
2739 uint64_t nanosec:32;
2740#endif
1721 } s; 2741 } s;
1722 struct cvmx_mio_ptp_ckout_lo_incr_s cn61xx; 2742 struct cvmx_mio_ptp_ckout_lo_incr_s cn61xx;
1723 struct cvmx_mio_ptp_ckout_lo_incr_s cn66xx; 2743 struct cvmx_mio_ptp_ckout_lo_incr_s cn66xx;
1724 struct cvmx_mio_ptp_ckout_lo_incr_s cn68xx; 2744 struct cvmx_mio_ptp_ckout_lo_incr_s cn68xx;
2745 struct cvmx_mio_ptp_ckout_lo_incr_s cnf71xx;
1725}; 2746};
1726 2747
1727union cvmx_mio_ptp_ckout_thresh_hi { 2748union cvmx_mio_ptp_ckout_thresh_hi {
1728 uint64_t u64; 2749 uint64_t u64;
1729 struct cvmx_mio_ptp_ckout_thresh_hi_s { 2750 struct cvmx_mio_ptp_ckout_thresh_hi_s {
2751#ifdef __BIG_ENDIAN_BITFIELD
2752 uint64_t nanosec:64;
2753#else
1730 uint64_t nanosec:64; 2754 uint64_t nanosec:64;
2755#endif
1731 } s; 2756 } s;
1732 struct cvmx_mio_ptp_ckout_thresh_hi_s cn61xx; 2757 struct cvmx_mio_ptp_ckout_thresh_hi_s cn61xx;
1733 struct cvmx_mio_ptp_ckout_thresh_hi_s cn66xx; 2758 struct cvmx_mio_ptp_ckout_thresh_hi_s cn66xx;
1734 struct cvmx_mio_ptp_ckout_thresh_hi_s cn68xx; 2759 struct cvmx_mio_ptp_ckout_thresh_hi_s cn68xx;
2760 struct cvmx_mio_ptp_ckout_thresh_hi_s cnf71xx;
1735}; 2761};
1736 2762
1737union cvmx_mio_ptp_ckout_thresh_lo { 2763union cvmx_mio_ptp_ckout_thresh_lo {
1738 uint64_t u64; 2764 uint64_t u64;
1739 struct cvmx_mio_ptp_ckout_thresh_lo_s { 2765 struct cvmx_mio_ptp_ckout_thresh_lo_s {
2766#ifdef __BIG_ENDIAN_BITFIELD
1740 uint64_t reserved_32_63:32; 2767 uint64_t reserved_32_63:32;
1741 uint64_t frnanosec:32; 2768 uint64_t frnanosec:32;
2769#else
2770 uint64_t frnanosec:32;
2771 uint64_t reserved_32_63:32;
2772#endif
1742 } s; 2773 } s;
1743 struct cvmx_mio_ptp_ckout_thresh_lo_s cn61xx; 2774 struct cvmx_mio_ptp_ckout_thresh_lo_s cn61xx;
1744 struct cvmx_mio_ptp_ckout_thresh_lo_s cn66xx; 2775 struct cvmx_mio_ptp_ckout_thresh_lo_s cn66xx;
1745 struct cvmx_mio_ptp_ckout_thresh_lo_s cn68xx; 2776 struct cvmx_mio_ptp_ckout_thresh_lo_s cn68xx;
2777 struct cvmx_mio_ptp_ckout_thresh_lo_s cnf71xx;
1746}; 2778};
1747 2779
1748union cvmx_mio_ptp_clock_cfg { 2780union cvmx_mio_ptp_clock_cfg {
1749 uint64_t u64; 2781 uint64_t u64;
1750 struct cvmx_mio_ptp_clock_cfg_s { 2782 struct cvmx_mio_ptp_clock_cfg_s {
2783#ifdef __BIG_ENDIAN_BITFIELD
1751 uint64_t reserved_42_63:22; 2784 uint64_t reserved_42_63:22;
1752 uint64_t pps:1; 2785 uint64_t pps:1;
1753 uint64_t ckout:1; 2786 uint64_t ckout:1;
@@ -1768,9 +2801,32 @@ union cvmx_mio_ptp_clock_cfg {
1768 uint64_t ext_clk_in:6; 2801 uint64_t ext_clk_in:6;
1769 uint64_t ext_clk_en:1; 2802 uint64_t ext_clk_en:1;
1770 uint64_t ptp_en:1; 2803 uint64_t ptp_en:1;
2804#else
2805 uint64_t ptp_en:1;
2806 uint64_t ext_clk_en:1;
2807 uint64_t ext_clk_in:6;
2808 uint64_t tstmp_en:1;
2809 uint64_t tstmp_edge:1;
2810 uint64_t tstmp_in:6;
2811 uint64_t evcnt_en:1;
2812 uint64_t evcnt_edge:1;
2813 uint64_t evcnt_in:6;
2814 uint64_t ckout_en:1;
2815 uint64_t ckout_inv:1;
2816 uint64_t ckout_out:4;
2817 uint64_t pps_en:1;
2818 uint64_t pps_inv:1;
2819 uint64_t pps_out:5;
2820 uint64_t ckout_out4:1;
2821 uint64_t ext_clk_edge:2;
2822 uint64_t ckout:1;
2823 uint64_t pps:1;
2824 uint64_t reserved_42_63:22;
2825#endif
1771 } s; 2826 } s;
1772 struct cvmx_mio_ptp_clock_cfg_s cn61xx; 2827 struct cvmx_mio_ptp_clock_cfg_s cn61xx;
1773 struct cvmx_mio_ptp_clock_cfg_cn63xx { 2828 struct cvmx_mio_ptp_clock_cfg_cn63xx {
2829#ifdef __BIG_ENDIAN_BITFIELD
1774 uint64_t reserved_24_63:40; 2830 uint64_t reserved_24_63:40;
1775 uint64_t evcnt_in:6; 2831 uint64_t evcnt_in:6;
1776 uint64_t evcnt_edge:1; 2832 uint64_t evcnt_edge:1;
@@ -1781,9 +2837,22 @@ union cvmx_mio_ptp_clock_cfg {
1781 uint64_t ext_clk_in:6; 2837 uint64_t ext_clk_in:6;
1782 uint64_t ext_clk_en:1; 2838 uint64_t ext_clk_en:1;
1783 uint64_t ptp_en:1; 2839 uint64_t ptp_en:1;
2840#else
2841 uint64_t ptp_en:1;
2842 uint64_t ext_clk_en:1;
2843 uint64_t ext_clk_in:6;
2844 uint64_t tstmp_en:1;
2845 uint64_t tstmp_edge:1;
2846 uint64_t tstmp_in:6;
2847 uint64_t evcnt_en:1;
2848 uint64_t evcnt_edge:1;
2849 uint64_t evcnt_in:6;
2850 uint64_t reserved_24_63:40;
2851#endif
1784 } cn63xx; 2852 } cn63xx;
1785 struct cvmx_mio_ptp_clock_cfg_cn63xx cn63xxp1; 2853 struct cvmx_mio_ptp_clock_cfg_cn63xx cn63xxp1;
1786 struct cvmx_mio_ptp_clock_cfg_cn66xx { 2854 struct cvmx_mio_ptp_clock_cfg_cn66xx {
2855#ifdef __BIG_ENDIAN_BITFIELD
1787 uint64_t reserved_40_63:24; 2856 uint64_t reserved_40_63:24;
1788 uint64_t ext_clk_edge:2; 2857 uint64_t ext_clk_edge:2;
1789 uint64_t ckout_out4:1; 2858 uint64_t ckout_out4:1;
@@ -1802,16 +2871,42 @@ union cvmx_mio_ptp_clock_cfg {
1802 uint64_t ext_clk_in:6; 2871 uint64_t ext_clk_in:6;
1803 uint64_t ext_clk_en:1; 2872 uint64_t ext_clk_en:1;
1804 uint64_t ptp_en:1; 2873 uint64_t ptp_en:1;
2874#else
2875 uint64_t ptp_en:1;
2876 uint64_t ext_clk_en:1;
2877 uint64_t ext_clk_in:6;
2878 uint64_t tstmp_en:1;
2879 uint64_t tstmp_edge:1;
2880 uint64_t tstmp_in:6;
2881 uint64_t evcnt_en:1;
2882 uint64_t evcnt_edge:1;
2883 uint64_t evcnt_in:6;
2884 uint64_t ckout_en:1;
2885 uint64_t ckout_inv:1;
2886 uint64_t ckout_out:4;
2887 uint64_t pps_en:1;
2888 uint64_t pps_inv:1;
2889 uint64_t pps_out:5;
2890 uint64_t ckout_out4:1;
2891 uint64_t ext_clk_edge:2;
2892 uint64_t reserved_40_63:24;
2893#endif
1805 } cn66xx; 2894 } cn66xx;
1806 struct cvmx_mio_ptp_clock_cfg_s cn68xx; 2895 struct cvmx_mio_ptp_clock_cfg_s cn68xx;
1807 struct cvmx_mio_ptp_clock_cfg_cn63xx cn68xxp1; 2896 struct cvmx_mio_ptp_clock_cfg_cn63xx cn68xxp1;
2897 struct cvmx_mio_ptp_clock_cfg_s cnf71xx;
1808}; 2898};
1809 2899
1810union cvmx_mio_ptp_clock_comp { 2900union cvmx_mio_ptp_clock_comp {
1811 uint64_t u64; 2901 uint64_t u64;
1812 struct cvmx_mio_ptp_clock_comp_s { 2902 struct cvmx_mio_ptp_clock_comp_s {
2903#ifdef __BIG_ENDIAN_BITFIELD
1813 uint64_t nanosec:32; 2904 uint64_t nanosec:32;
1814 uint64_t frnanosec:32; 2905 uint64_t frnanosec:32;
2906#else
2907 uint64_t frnanosec:32;
2908 uint64_t nanosec:32;
2909#endif
1815 } s; 2910 } s;
1816 struct cvmx_mio_ptp_clock_comp_s cn61xx; 2911 struct cvmx_mio_ptp_clock_comp_s cn61xx;
1817 struct cvmx_mio_ptp_clock_comp_s cn63xx; 2912 struct cvmx_mio_ptp_clock_comp_s cn63xx;
@@ -1819,12 +2914,17 @@ union cvmx_mio_ptp_clock_comp {
1819 struct cvmx_mio_ptp_clock_comp_s cn66xx; 2914 struct cvmx_mio_ptp_clock_comp_s cn66xx;
1820 struct cvmx_mio_ptp_clock_comp_s cn68xx; 2915 struct cvmx_mio_ptp_clock_comp_s cn68xx;
1821 struct cvmx_mio_ptp_clock_comp_s cn68xxp1; 2916 struct cvmx_mio_ptp_clock_comp_s cn68xxp1;
2917 struct cvmx_mio_ptp_clock_comp_s cnf71xx;
1822}; 2918};
1823 2919
1824union cvmx_mio_ptp_clock_hi { 2920union cvmx_mio_ptp_clock_hi {
1825 uint64_t u64; 2921 uint64_t u64;
1826 struct cvmx_mio_ptp_clock_hi_s { 2922 struct cvmx_mio_ptp_clock_hi_s {
2923#ifdef __BIG_ENDIAN_BITFIELD
2924 uint64_t nanosec:64;
2925#else
1827 uint64_t nanosec:64; 2926 uint64_t nanosec:64;
2927#endif
1828 } s; 2928 } s;
1829 struct cvmx_mio_ptp_clock_hi_s cn61xx; 2929 struct cvmx_mio_ptp_clock_hi_s cn61xx;
1830 struct cvmx_mio_ptp_clock_hi_s cn63xx; 2930 struct cvmx_mio_ptp_clock_hi_s cn63xx;
@@ -1832,13 +2932,19 @@ union cvmx_mio_ptp_clock_hi {
1832 struct cvmx_mio_ptp_clock_hi_s cn66xx; 2932 struct cvmx_mio_ptp_clock_hi_s cn66xx;
1833 struct cvmx_mio_ptp_clock_hi_s cn68xx; 2933 struct cvmx_mio_ptp_clock_hi_s cn68xx;
1834 struct cvmx_mio_ptp_clock_hi_s cn68xxp1; 2934 struct cvmx_mio_ptp_clock_hi_s cn68xxp1;
2935 struct cvmx_mio_ptp_clock_hi_s cnf71xx;
1835}; 2936};
1836 2937
1837union cvmx_mio_ptp_clock_lo { 2938union cvmx_mio_ptp_clock_lo {
1838 uint64_t u64; 2939 uint64_t u64;
1839 struct cvmx_mio_ptp_clock_lo_s { 2940 struct cvmx_mio_ptp_clock_lo_s {
2941#ifdef __BIG_ENDIAN_BITFIELD
1840 uint64_t reserved_32_63:32; 2942 uint64_t reserved_32_63:32;
1841 uint64_t frnanosec:32; 2943 uint64_t frnanosec:32;
2944#else
2945 uint64_t frnanosec:32;
2946 uint64_t reserved_32_63:32;
2947#endif
1842 } s; 2948 } s;
1843 struct cvmx_mio_ptp_clock_lo_s cn61xx; 2949 struct cvmx_mio_ptp_clock_lo_s cn61xx;
1844 struct cvmx_mio_ptp_clock_lo_s cn63xx; 2950 struct cvmx_mio_ptp_clock_lo_s cn63xx;
@@ -1846,12 +2952,17 @@ union cvmx_mio_ptp_clock_lo {
1846 struct cvmx_mio_ptp_clock_lo_s cn66xx; 2952 struct cvmx_mio_ptp_clock_lo_s cn66xx;
1847 struct cvmx_mio_ptp_clock_lo_s cn68xx; 2953 struct cvmx_mio_ptp_clock_lo_s cn68xx;
1848 struct cvmx_mio_ptp_clock_lo_s cn68xxp1; 2954 struct cvmx_mio_ptp_clock_lo_s cn68xxp1;
2955 struct cvmx_mio_ptp_clock_lo_s cnf71xx;
1849}; 2956};
1850 2957
1851union cvmx_mio_ptp_evt_cnt { 2958union cvmx_mio_ptp_evt_cnt {
1852 uint64_t u64; 2959 uint64_t u64;
1853 struct cvmx_mio_ptp_evt_cnt_s { 2960 struct cvmx_mio_ptp_evt_cnt_s {
2961#ifdef __BIG_ENDIAN_BITFIELD
2962 uint64_t cntr:64;
2963#else
1854 uint64_t cntr:64; 2964 uint64_t cntr:64;
2965#endif
1855 } s; 2966 } s;
1856 struct cvmx_mio_ptp_evt_cnt_s cn61xx; 2967 struct cvmx_mio_ptp_evt_cnt_s cn61xx;
1857 struct cvmx_mio_ptp_evt_cnt_s cn63xx; 2968 struct cvmx_mio_ptp_evt_cnt_s cn63xx;
@@ -1859,55 +2970,97 @@ union cvmx_mio_ptp_evt_cnt {
1859 struct cvmx_mio_ptp_evt_cnt_s cn66xx; 2970 struct cvmx_mio_ptp_evt_cnt_s cn66xx;
1860 struct cvmx_mio_ptp_evt_cnt_s cn68xx; 2971 struct cvmx_mio_ptp_evt_cnt_s cn68xx;
1861 struct cvmx_mio_ptp_evt_cnt_s cn68xxp1; 2972 struct cvmx_mio_ptp_evt_cnt_s cn68xxp1;
2973 struct cvmx_mio_ptp_evt_cnt_s cnf71xx;
2974};
2975
2976union cvmx_mio_ptp_phy_1pps_in {
2977 uint64_t u64;
2978 struct cvmx_mio_ptp_phy_1pps_in_s {
2979#ifdef __BIG_ENDIAN_BITFIELD
2980 uint64_t reserved_5_63:59;
2981 uint64_t sel:5;
2982#else
2983 uint64_t sel:5;
2984 uint64_t reserved_5_63:59;
2985#endif
2986 } s;
2987 struct cvmx_mio_ptp_phy_1pps_in_s cnf71xx;
1862}; 2988};
1863 2989
1864union cvmx_mio_ptp_pps_hi_incr { 2990union cvmx_mio_ptp_pps_hi_incr {
1865 uint64_t u64; 2991 uint64_t u64;
1866 struct cvmx_mio_ptp_pps_hi_incr_s { 2992 struct cvmx_mio_ptp_pps_hi_incr_s {
2993#ifdef __BIG_ENDIAN_BITFIELD
1867 uint64_t nanosec:32; 2994 uint64_t nanosec:32;
1868 uint64_t frnanosec:32; 2995 uint64_t frnanosec:32;
2996#else
2997 uint64_t frnanosec:32;
2998 uint64_t nanosec:32;
2999#endif
1869 } s; 3000 } s;
1870 struct cvmx_mio_ptp_pps_hi_incr_s cn61xx; 3001 struct cvmx_mio_ptp_pps_hi_incr_s cn61xx;
1871 struct cvmx_mio_ptp_pps_hi_incr_s cn66xx; 3002 struct cvmx_mio_ptp_pps_hi_incr_s cn66xx;
1872 struct cvmx_mio_ptp_pps_hi_incr_s cn68xx; 3003 struct cvmx_mio_ptp_pps_hi_incr_s cn68xx;
3004 struct cvmx_mio_ptp_pps_hi_incr_s cnf71xx;
1873}; 3005};
1874 3006
1875union cvmx_mio_ptp_pps_lo_incr { 3007union cvmx_mio_ptp_pps_lo_incr {
1876 uint64_t u64; 3008 uint64_t u64;
1877 struct cvmx_mio_ptp_pps_lo_incr_s { 3009 struct cvmx_mio_ptp_pps_lo_incr_s {
3010#ifdef __BIG_ENDIAN_BITFIELD
1878 uint64_t nanosec:32; 3011 uint64_t nanosec:32;
1879 uint64_t frnanosec:32; 3012 uint64_t frnanosec:32;
3013#else
3014 uint64_t frnanosec:32;
3015 uint64_t nanosec:32;
3016#endif
1880 } s; 3017 } s;
1881 struct cvmx_mio_ptp_pps_lo_incr_s cn61xx; 3018 struct cvmx_mio_ptp_pps_lo_incr_s cn61xx;
1882 struct cvmx_mio_ptp_pps_lo_incr_s cn66xx; 3019 struct cvmx_mio_ptp_pps_lo_incr_s cn66xx;
1883 struct cvmx_mio_ptp_pps_lo_incr_s cn68xx; 3020 struct cvmx_mio_ptp_pps_lo_incr_s cn68xx;
3021 struct cvmx_mio_ptp_pps_lo_incr_s cnf71xx;
1884}; 3022};
1885 3023
1886union cvmx_mio_ptp_pps_thresh_hi { 3024union cvmx_mio_ptp_pps_thresh_hi {
1887 uint64_t u64; 3025 uint64_t u64;
1888 struct cvmx_mio_ptp_pps_thresh_hi_s { 3026 struct cvmx_mio_ptp_pps_thresh_hi_s {
3027#ifdef __BIG_ENDIAN_BITFIELD
3028 uint64_t nanosec:64;
3029#else
1889 uint64_t nanosec:64; 3030 uint64_t nanosec:64;
3031#endif
1890 } s; 3032 } s;
1891 struct cvmx_mio_ptp_pps_thresh_hi_s cn61xx; 3033 struct cvmx_mio_ptp_pps_thresh_hi_s cn61xx;
1892 struct cvmx_mio_ptp_pps_thresh_hi_s cn66xx; 3034 struct cvmx_mio_ptp_pps_thresh_hi_s cn66xx;
1893 struct cvmx_mio_ptp_pps_thresh_hi_s cn68xx; 3035 struct cvmx_mio_ptp_pps_thresh_hi_s cn68xx;
3036 struct cvmx_mio_ptp_pps_thresh_hi_s cnf71xx;
1894}; 3037};
1895 3038
1896union cvmx_mio_ptp_pps_thresh_lo { 3039union cvmx_mio_ptp_pps_thresh_lo {
1897 uint64_t u64; 3040 uint64_t u64;
1898 struct cvmx_mio_ptp_pps_thresh_lo_s { 3041 struct cvmx_mio_ptp_pps_thresh_lo_s {
3042#ifdef __BIG_ENDIAN_BITFIELD
1899 uint64_t reserved_32_63:32; 3043 uint64_t reserved_32_63:32;
1900 uint64_t frnanosec:32; 3044 uint64_t frnanosec:32;
3045#else
3046 uint64_t frnanosec:32;
3047 uint64_t reserved_32_63:32;
3048#endif
1901 } s; 3049 } s;
1902 struct cvmx_mio_ptp_pps_thresh_lo_s cn61xx; 3050 struct cvmx_mio_ptp_pps_thresh_lo_s cn61xx;
1903 struct cvmx_mio_ptp_pps_thresh_lo_s cn66xx; 3051 struct cvmx_mio_ptp_pps_thresh_lo_s cn66xx;
1904 struct cvmx_mio_ptp_pps_thresh_lo_s cn68xx; 3052 struct cvmx_mio_ptp_pps_thresh_lo_s cn68xx;
3053 struct cvmx_mio_ptp_pps_thresh_lo_s cnf71xx;
1905}; 3054};
1906 3055
1907union cvmx_mio_ptp_timestamp { 3056union cvmx_mio_ptp_timestamp {
1908 uint64_t u64; 3057 uint64_t u64;
1909 struct cvmx_mio_ptp_timestamp_s { 3058 struct cvmx_mio_ptp_timestamp_s {
3059#ifdef __BIG_ENDIAN_BITFIELD
1910 uint64_t nanosec:64; 3060 uint64_t nanosec:64;
3061#else
3062 uint64_t nanosec:64;
3063#endif
1911 } s; 3064 } s;
1912 struct cvmx_mio_ptp_timestamp_s cn61xx; 3065 struct cvmx_mio_ptp_timestamp_s cn61xx;
1913 struct cvmx_mio_ptp_timestamp_s cn63xx; 3066 struct cvmx_mio_ptp_timestamp_s cn63xx;
@@ -1915,35 +3068,79 @@ union cvmx_mio_ptp_timestamp {
1915 struct cvmx_mio_ptp_timestamp_s cn66xx; 3068 struct cvmx_mio_ptp_timestamp_s cn66xx;
1916 struct cvmx_mio_ptp_timestamp_s cn68xx; 3069 struct cvmx_mio_ptp_timestamp_s cn68xx;
1917 struct cvmx_mio_ptp_timestamp_s cn68xxp1; 3070 struct cvmx_mio_ptp_timestamp_s cn68xxp1;
3071 struct cvmx_mio_ptp_timestamp_s cnf71xx;
1918}; 3072};
1919 3073
1920union cvmx_mio_qlmx_cfg { 3074union cvmx_mio_qlmx_cfg {
1921 uint64_t u64; 3075 uint64_t u64;
1922 struct cvmx_mio_qlmx_cfg_s { 3076 struct cvmx_mio_qlmx_cfg_s {
1923 uint64_t reserved_12_63:52; 3077#ifdef __BIG_ENDIAN_BITFIELD
3078 uint64_t reserved_15_63:49;
3079 uint64_t prtmode:1;
3080 uint64_t reserved_12_13:2;
1924 uint64_t qlm_spd:4; 3081 uint64_t qlm_spd:4;
1925 uint64_t reserved_4_7:4; 3082 uint64_t reserved_4_7:4;
1926 uint64_t qlm_cfg:4; 3083 uint64_t qlm_cfg:4;
3084#else
3085 uint64_t qlm_cfg:4;
3086 uint64_t reserved_4_7:4;
3087 uint64_t qlm_spd:4;
3088 uint64_t reserved_12_13:2;
3089 uint64_t prtmode:1;
3090 uint64_t reserved_15_63:49;
3091#endif
1927 } s; 3092 } s;
1928 struct cvmx_mio_qlmx_cfg_cn61xx { 3093 struct cvmx_mio_qlmx_cfg_cn61xx {
1929 uint64_t reserved_12_63:52; 3094#ifdef __BIG_ENDIAN_BITFIELD
3095 uint64_t reserved_15_63:49;
3096 uint64_t prtmode:1;
3097 uint64_t reserved_12_13:2;
1930 uint64_t qlm_spd:4; 3098 uint64_t qlm_spd:4;
1931 uint64_t reserved_2_7:6; 3099 uint64_t reserved_2_7:6;
1932 uint64_t qlm_cfg:2; 3100 uint64_t qlm_cfg:2;
3101#else
3102 uint64_t qlm_cfg:2;
3103 uint64_t reserved_2_7:6;
3104 uint64_t qlm_spd:4;
3105 uint64_t reserved_12_13:2;
3106 uint64_t prtmode:1;
3107 uint64_t reserved_15_63:49;
3108#endif
1933 } cn61xx; 3109 } cn61xx;
1934 struct cvmx_mio_qlmx_cfg_s cn66xx; 3110 struct cvmx_mio_qlmx_cfg_cn66xx {
3111#ifdef __BIG_ENDIAN_BITFIELD
3112 uint64_t reserved_12_63:52;
3113 uint64_t qlm_spd:4;
3114 uint64_t reserved_4_7:4;
3115 uint64_t qlm_cfg:4;
3116#else
3117 uint64_t qlm_cfg:4;
3118 uint64_t reserved_4_7:4;
3119 uint64_t qlm_spd:4;
3120 uint64_t reserved_12_63:52;
3121#endif
3122 } cn66xx;
1935 struct cvmx_mio_qlmx_cfg_cn68xx { 3123 struct cvmx_mio_qlmx_cfg_cn68xx {
3124#ifdef __BIG_ENDIAN_BITFIELD
1936 uint64_t reserved_12_63:52; 3125 uint64_t reserved_12_63:52;
1937 uint64_t qlm_spd:4; 3126 uint64_t qlm_spd:4;
1938 uint64_t reserved_3_7:5; 3127 uint64_t reserved_3_7:5;
1939 uint64_t qlm_cfg:3; 3128 uint64_t qlm_cfg:3;
3129#else
3130 uint64_t qlm_cfg:3;
3131 uint64_t reserved_3_7:5;
3132 uint64_t qlm_spd:4;
3133 uint64_t reserved_12_63:52;
3134#endif
1940 } cn68xx; 3135 } cn68xx;
1941 struct cvmx_mio_qlmx_cfg_cn68xx cn68xxp1; 3136 struct cvmx_mio_qlmx_cfg_cn68xx cn68xxp1;
3137 struct cvmx_mio_qlmx_cfg_cn61xx cnf71xx;
1942}; 3138};
1943 3139
1944union cvmx_mio_rst_boot { 3140union cvmx_mio_rst_boot {
1945 uint64_t u64; 3141 uint64_t u64;
1946 struct cvmx_mio_rst_boot_s { 3142 struct cvmx_mio_rst_boot_s {
3143#ifdef __BIG_ENDIAN_BITFIELD
1947 uint64_t chipkill:1; 3144 uint64_t chipkill:1;
1948 uint64_t jtcsrdis:1; 3145 uint64_t jtcsrdis:1;
1949 uint64_t ejtagdis:1; 3146 uint64_t ejtagdis:1;
@@ -1963,8 +3160,30 @@ union cvmx_mio_rst_boot {
1963 uint64_t lboot:10; 3160 uint64_t lboot:10;
1964 uint64_t rboot:1; 3161 uint64_t rboot:1;
1965 uint64_t rboot_pin:1; 3162 uint64_t rboot_pin:1;
3163#else
3164 uint64_t rboot_pin:1;
3165 uint64_t rboot:1;
3166 uint64_t lboot:10;
3167 uint64_t qlm0_spd:4;
3168 uint64_t qlm1_spd:4;
3169 uint64_t qlm2_spd:4;
3170 uint64_t pnr_mul:6;
3171 uint64_t c_mul:6;
3172 uint64_t qlm3_spd:4;
3173 uint64_t qlm4_spd:4;
3174 uint64_t reserved_44_47:4;
3175 uint64_t lboot_ext:2;
3176 uint64_t reserved_50_57:8;
3177 uint64_t jt_tstmode:1;
3178 uint64_t ckill_ppdis:1;
3179 uint64_t romen:1;
3180 uint64_t ejtagdis:1;
3181 uint64_t jtcsrdis:1;
3182 uint64_t chipkill:1;
3183#endif
1966 } s; 3184 } s;
1967 struct cvmx_mio_rst_boot_cn61xx { 3185 struct cvmx_mio_rst_boot_cn61xx {
3186#ifdef __BIG_ENDIAN_BITFIELD
1968 uint64_t chipkill:1; 3187 uint64_t chipkill:1;
1969 uint64_t jtcsrdis:1; 3188 uint64_t jtcsrdis:1;
1970 uint64_t ejtagdis:1; 3189 uint64_t ejtagdis:1;
@@ -1982,8 +3201,28 @@ union cvmx_mio_rst_boot {
1982 uint64_t lboot:10; 3201 uint64_t lboot:10;
1983 uint64_t rboot:1; 3202 uint64_t rboot:1;
1984 uint64_t rboot_pin:1; 3203 uint64_t rboot_pin:1;
3204#else
3205 uint64_t rboot_pin:1;
3206 uint64_t rboot:1;
3207 uint64_t lboot:10;
3208 uint64_t qlm0_spd:4;
3209 uint64_t qlm1_spd:4;
3210 uint64_t qlm2_spd:4;
3211 uint64_t pnr_mul:6;
3212 uint64_t c_mul:6;
3213 uint64_t reserved_36_47:12;
3214 uint64_t lboot_ext:2;
3215 uint64_t reserved_50_57:8;
3216 uint64_t jt_tstmode:1;
3217 uint64_t ckill_ppdis:1;
3218 uint64_t romen:1;
3219 uint64_t ejtagdis:1;
3220 uint64_t jtcsrdis:1;
3221 uint64_t chipkill:1;
3222#endif
1985 } cn61xx; 3223 } cn61xx;
1986 struct cvmx_mio_rst_boot_cn63xx { 3224 struct cvmx_mio_rst_boot_cn63xx {
3225#ifdef __BIG_ENDIAN_BITFIELD
1987 uint64_t reserved_36_63:28; 3226 uint64_t reserved_36_63:28;
1988 uint64_t c_mul:6; 3227 uint64_t c_mul:6;
1989 uint64_t pnr_mul:6; 3228 uint64_t pnr_mul:6;
@@ -1993,9 +3232,21 @@ union cvmx_mio_rst_boot {
1993 uint64_t lboot:10; 3232 uint64_t lboot:10;
1994 uint64_t rboot:1; 3233 uint64_t rboot:1;
1995 uint64_t rboot_pin:1; 3234 uint64_t rboot_pin:1;
3235#else
3236 uint64_t rboot_pin:1;
3237 uint64_t rboot:1;
3238 uint64_t lboot:10;
3239 uint64_t qlm0_spd:4;
3240 uint64_t qlm1_spd:4;
3241 uint64_t qlm2_spd:4;
3242 uint64_t pnr_mul:6;
3243 uint64_t c_mul:6;
3244 uint64_t reserved_36_63:28;
3245#endif
1996 } cn63xx; 3246 } cn63xx;
1997 struct cvmx_mio_rst_boot_cn63xx cn63xxp1; 3247 struct cvmx_mio_rst_boot_cn63xx cn63xxp1;
1998 struct cvmx_mio_rst_boot_cn66xx { 3248 struct cvmx_mio_rst_boot_cn66xx {
3249#ifdef __BIG_ENDIAN_BITFIELD
1999 uint64_t chipkill:1; 3250 uint64_t chipkill:1;
2000 uint64_t jtcsrdis:1; 3251 uint64_t jtcsrdis:1;
2001 uint64_t ejtagdis:1; 3252 uint64_t ejtagdis:1;
@@ -2012,8 +3263,27 @@ union cvmx_mio_rst_boot {
2012 uint64_t lboot:10; 3263 uint64_t lboot:10;
2013 uint64_t rboot:1; 3264 uint64_t rboot:1;
2014 uint64_t rboot_pin:1; 3265 uint64_t rboot_pin:1;
3266#else
3267 uint64_t rboot_pin:1;
3268 uint64_t rboot:1;
3269 uint64_t lboot:10;
3270 uint64_t qlm0_spd:4;
3271 uint64_t qlm1_spd:4;
3272 uint64_t qlm2_spd:4;
3273 uint64_t pnr_mul:6;
3274 uint64_t c_mul:6;
3275 uint64_t reserved_36_47:12;
3276 uint64_t lboot_ext:2;
3277 uint64_t reserved_50_58:9;
3278 uint64_t ckill_ppdis:1;
3279 uint64_t romen:1;
3280 uint64_t ejtagdis:1;
3281 uint64_t jtcsrdis:1;
3282 uint64_t chipkill:1;
3283#endif
2015 } cn66xx; 3284 } cn66xx;
2016 struct cvmx_mio_rst_boot_cn68xx { 3285 struct cvmx_mio_rst_boot_cn68xx {
3286#ifdef __BIG_ENDIAN_BITFIELD
2017 uint64_t reserved_59_63:5; 3287 uint64_t reserved_59_63:5;
2018 uint64_t jt_tstmode:1; 3288 uint64_t jt_tstmode:1;
2019 uint64_t reserved_44_57:14; 3289 uint64_t reserved_44_57:14;
@@ -2027,8 +3297,24 @@ union cvmx_mio_rst_boot {
2027 uint64_t lboot:10; 3297 uint64_t lboot:10;
2028 uint64_t rboot:1; 3298 uint64_t rboot:1;
2029 uint64_t rboot_pin:1; 3299 uint64_t rboot_pin:1;
3300#else
3301 uint64_t rboot_pin:1;
3302 uint64_t rboot:1;
3303 uint64_t lboot:10;
3304 uint64_t qlm0_spd:4;
3305 uint64_t qlm1_spd:4;
3306 uint64_t qlm2_spd:4;
3307 uint64_t pnr_mul:6;
3308 uint64_t c_mul:6;
3309 uint64_t qlm3_spd:4;
3310 uint64_t qlm4_spd:4;
3311 uint64_t reserved_44_57:14;
3312 uint64_t jt_tstmode:1;
3313 uint64_t reserved_59_63:5;
3314#endif
2030 } cn68xx; 3315 } cn68xx;
2031 struct cvmx_mio_rst_boot_cn68xxp1 { 3316 struct cvmx_mio_rst_boot_cn68xxp1 {
3317#ifdef __BIG_ENDIAN_BITFIELD
2032 uint64_t reserved_44_63:20; 3318 uint64_t reserved_44_63:20;
2033 uint64_t qlm4_spd:4; 3319 uint64_t qlm4_spd:4;
2034 uint64_t qlm3_spd:4; 3320 uint64_t qlm3_spd:4;
@@ -2040,55 +3326,107 @@ union cvmx_mio_rst_boot {
2040 uint64_t lboot:10; 3326 uint64_t lboot:10;
2041 uint64_t rboot:1; 3327 uint64_t rboot:1;
2042 uint64_t rboot_pin:1; 3328 uint64_t rboot_pin:1;
3329#else
3330 uint64_t rboot_pin:1;
3331 uint64_t rboot:1;
3332 uint64_t lboot:10;
3333 uint64_t qlm0_spd:4;
3334 uint64_t qlm1_spd:4;
3335 uint64_t qlm2_spd:4;
3336 uint64_t pnr_mul:6;
3337 uint64_t c_mul:6;
3338 uint64_t qlm3_spd:4;
3339 uint64_t qlm4_spd:4;
3340 uint64_t reserved_44_63:20;
3341#endif
2043 } cn68xxp1; 3342 } cn68xxp1;
3343 struct cvmx_mio_rst_boot_cn61xx cnf71xx;
2044}; 3344};
2045 3345
2046union cvmx_mio_rst_cfg { 3346union cvmx_mio_rst_cfg {
2047 uint64_t u64; 3347 uint64_t u64;
2048 struct cvmx_mio_rst_cfg_s { 3348 struct cvmx_mio_rst_cfg_s {
3349#ifdef __BIG_ENDIAN_BITFIELD
2049 uint64_t reserved_3_63:61; 3350 uint64_t reserved_3_63:61;
2050 uint64_t cntl_clr_bist:1; 3351 uint64_t cntl_clr_bist:1;
2051 uint64_t warm_clr_bist:1; 3352 uint64_t warm_clr_bist:1;
2052 uint64_t soft_clr_bist:1; 3353 uint64_t soft_clr_bist:1;
3354#else
3355 uint64_t soft_clr_bist:1;
3356 uint64_t warm_clr_bist:1;
3357 uint64_t cntl_clr_bist:1;
3358 uint64_t reserved_3_63:61;
3359#endif
2053 } s; 3360 } s;
2054 struct cvmx_mio_rst_cfg_cn61xx { 3361 struct cvmx_mio_rst_cfg_cn61xx {
3362#ifdef __BIG_ENDIAN_BITFIELD
2055 uint64_t bist_delay:58; 3363 uint64_t bist_delay:58;
2056 uint64_t reserved_3_5:3; 3364 uint64_t reserved_3_5:3;
2057 uint64_t cntl_clr_bist:1; 3365 uint64_t cntl_clr_bist:1;
2058 uint64_t warm_clr_bist:1; 3366 uint64_t warm_clr_bist:1;
2059 uint64_t soft_clr_bist:1; 3367 uint64_t soft_clr_bist:1;
3368#else
3369 uint64_t soft_clr_bist:1;
3370 uint64_t warm_clr_bist:1;
3371 uint64_t cntl_clr_bist:1;
3372 uint64_t reserved_3_5:3;
3373 uint64_t bist_delay:58;
3374#endif
2060 } cn61xx; 3375 } cn61xx;
2061 struct cvmx_mio_rst_cfg_cn61xx cn63xx; 3376 struct cvmx_mio_rst_cfg_cn61xx cn63xx;
2062 struct cvmx_mio_rst_cfg_cn63xxp1 { 3377 struct cvmx_mio_rst_cfg_cn63xxp1 {
3378#ifdef __BIG_ENDIAN_BITFIELD
2063 uint64_t bist_delay:58; 3379 uint64_t bist_delay:58;
2064 uint64_t reserved_2_5:4; 3380 uint64_t reserved_2_5:4;
2065 uint64_t warm_clr_bist:1; 3381 uint64_t warm_clr_bist:1;
2066 uint64_t soft_clr_bist:1; 3382 uint64_t soft_clr_bist:1;
3383#else
3384 uint64_t soft_clr_bist:1;
3385 uint64_t warm_clr_bist:1;
3386 uint64_t reserved_2_5:4;
3387 uint64_t bist_delay:58;
3388#endif
2067 } cn63xxp1; 3389 } cn63xxp1;
2068 struct cvmx_mio_rst_cfg_cn61xx cn66xx; 3390 struct cvmx_mio_rst_cfg_cn61xx cn66xx;
2069 struct cvmx_mio_rst_cfg_cn68xx { 3391 struct cvmx_mio_rst_cfg_cn68xx {
3392#ifdef __BIG_ENDIAN_BITFIELD
2070 uint64_t bist_delay:56; 3393 uint64_t bist_delay:56;
2071 uint64_t reserved_3_7:5; 3394 uint64_t reserved_3_7:5;
2072 uint64_t cntl_clr_bist:1; 3395 uint64_t cntl_clr_bist:1;
2073 uint64_t warm_clr_bist:1; 3396 uint64_t warm_clr_bist:1;
2074 uint64_t soft_clr_bist:1; 3397 uint64_t soft_clr_bist:1;
3398#else
3399 uint64_t soft_clr_bist:1;
3400 uint64_t warm_clr_bist:1;
3401 uint64_t cntl_clr_bist:1;
3402 uint64_t reserved_3_7:5;
3403 uint64_t bist_delay:56;
3404#endif
2075 } cn68xx; 3405 } cn68xx;
2076 struct cvmx_mio_rst_cfg_cn68xx cn68xxp1; 3406 struct cvmx_mio_rst_cfg_cn68xx cn68xxp1;
3407 struct cvmx_mio_rst_cfg_cn61xx cnf71xx;
2077}; 3408};
2078 3409
2079union cvmx_mio_rst_ckill { 3410union cvmx_mio_rst_ckill {
2080 uint64_t u64; 3411 uint64_t u64;
2081 struct cvmx_mio_rst_ckill_s { 3412 struct cvmx_mio_rst_ckill_s {
3413#ifdef __BIG_ENDIAN_BITFIELD
2082 uint64_t reserved_47_63:17; 3414 uint64_t reserved_47_63:17;
2083 uint64_t timer:47; 3415 uint64_t timer:47;
3416#else
3417 uint64_t timer:47;
3418 uint64_t reserved_47_63:17;
3419#endif
2084 } s; 3420 } s;
2085 struct cvmx_mio_rst_ckill_s cn61xx; 3421 struct cvmx_mio_rst_ckill_s cn61xx;
2086 struct cvmx_mio_rst_ckill_s cn66xx; 3422 struct cvmx_mio_rst_ckill_s cn66xx;
3423 struct cvmx_mio_rst_ckill_s cnf71xx;
2087}; 3424};
2088 3425
2089union cvmx_mio_rst_cntlx { 3426union cvmx_mio_rst_cntlx {
2090 uint64_t u64; 3427 uint64_t u64;
2091 struct cvmx_mio_rst_cntlx_s { 3428 struct cvmx_mio_rst_cntlx_s {
3429#ifdef __BIG_ENDIAN_BITFIELD
2092 uint64_t reserved_13_63:51; 3430 uint64_t reserved_13_63:51;
2093 uint64_t in_rev_ln:1; 3431 uint64_t in_rev_ln:1;
2094 uint64_t rev_lanes:1; 3432 uint64_t rev_lanes:1;
@@ -2102,9 +3440,25 @@ union cvmx_mio_rst_cntlx {
2102 uint64_t rst_rcv:1; 3440 uint64_t rst_rcv:1;
2103 uint64_t rst_chip:1; 3441 uint64_t rst_chip:1;
2104 uint64_t rst_val:1; 3442 uint64_t rst_val:1;
3443#else
3444 uint64_t rst_val:1;
3445 uint64_t rst_chip:1;
3446 uint64_t rst_rcv:1;
3447 uint64_t rst_drv:1;
3448 uint64_t prtmode:2;
3449 uint64_t host_mode:1;
3450 uint64_t rst_link:1;
3451 uint64_t rst_done:1;
3452 uint64_t prst_link:1;
3453 uint64_t gen1_only:1;
3454 uint64_t rev_lanes:1;
3455 uint64_t in_rev_ln:1;
3456 uint64_t reserved_13_63:51;
3457#endif
2105 } s; 3458 } s;
2106 struct cvmx_mio_rst_cntlx_s cn61xx; 3459 struct cvmx_mio_rst_cntlx_s cn61xx;
2107 struct cvmx_mio_rst_cntlx_cn66xx { 3460 struct cvmx_mio_rst_cntlx_cn66xx {
3461#ifdef __BIG_ENDIAN_BITFIELD
2108 uint64_t reserved_10_63:54; 3462 uint64_t reserved_10_63:54;
2109 uint64_t prst_link:1; 3463 uint64_t prst_link:1;
2110 uint64_t rst_done:1; 3464 uint64_t rst_done:1;
@@ -2115,13 +3469,27 @@ union cvmx_mio_rst_cntlx {
2115 uint64_t rst_rcv:1; 3469 uint64_t rst_rcv:1;
2116 uint64_t rst_chip:1; 3470 uint64_t rst_chip:1;
2117 uint64_t rst_val:1; 3471 uint64_t rst_val:1;
3472#else
3473 uint64_t rst_val:1;
3474 uint64_t rst_chip:1;
3475 uint64_t rst_rcv:1;
3476 uint64_t rst_drv:1;
3477 uint64_t prtmode:2;
3478 uint64_t host_mode:1;
3479 uint64_t rst_link:1;
3480 uint64_t rst_done:1;
3481 uint64_t prst_link:1;
3482 uint64_t reserved_10_63:54;
3483#endif
2118 } cn66xx; 3484 } cn66xx;
2119 struct cvmx_mio_rst_cntlx_cn66xx cn68xx; 3485 struct cvmx_mio_rst_cntlx_cn66xx cn68xx;
3486 struct cvmx_mio_rst_cntlx_s cnf71xx;
2120}; 3487};
2121 3488
2122union cvmx_mio_rst_ctlx { 3489union cvmx_mio_rst_ctlx {
2123 uint64_t u64; 3490 uint64_t u64;
2124 struct cvmx_mio_rst_ctlx_s { 3491 struct cvmx_mio_rst_ctlx_s {
3492#ifdef __BIG_ENDIAN_BITFIELD
2125 uint64_t reserved_13_63:51; 3493 uint64_t reserved_13_63:51;
2126 uint64_t in_rev_ln:1; 3494 uint64_t in_rev_ln:1;
2127 uint64_t rev_lanes:1; 3495 uint64_t rev_lanes:1;
@@ -2135,9 +3503,25 @@ union cvmx_mio_rst_ctlx {
2135 uint64_t rst_rcv:1; 3503 uint64_t rst_rcv:1;
2136 uint64_t rst_chip:1; 3504 uint64_t rst_chip:1;
2137 uint64_t rst_val:1; 3505 uint64_t rst_val:1;
3506#else
3507 uint64_t rst_val:1;
3508 uint64_t rst_chip:1;
3509 uint64_t rst_rcv:1;
3510 uint64_t rst_drv:1;
3511 uint64_t prtmode:2;
3512 uint64_t host_mode:1;
3513 uint64_t rst_link:1;
3514 uint64_t rst_done:1;
3515 uint64_t prst_link:1;
3516 uint64_t gen1_only:1;
3517 uint64_t rev_lanes:1;
3518 uint64_t in_rev_ln:1;
3519 uint64_t reserved_13_63:51;
3520#endif
2138 } s; 3521 } s;
2139 struct cvmx_mio_rst_ctlx_s cn61xx; 3522 struct cvmx_mio_rst_ctlx_s cn61xx;
2140 struct cvmx_mio_rst_ctlx_cn63xx { 3523 struct cvmx_mio_rst_ctlx_cn63xx {
3524#ifdef __BIG_ENDIAN_BITFIELD
2141 uint64_t reserved_10_63:54; 3525 uint64_t reserved_10_63:54;
2142 uint64_t prst_link:1; 3526 uint64_t prst_link:1;
2143 uint64_t rst_done:1; 3527 uint64_t rst_done:1;
@@ -2148,8 +3532,21 @@ union cvmx_mio_rst_ctlx {
2148 uint64_t rst_rcv:1; 3532 uint64_t rst_rcv:1;
2149 uint64_t rst_chip:1; 3533 uint64_t rst_chip:1;
2150 uint64_t rst_val:1; 3534 uint64_t rst_val:1;
3535#else
3536 uint64_t rst_val:1;
3537 uint64_t rst_chip:1;
3538 uint64_t rst_rcv:1;
3539 uint64_t rst_drv:1;
3540 uint64_t prtmode:2;
3541 uint64_t host_mode:1;
3542 uint64_t rst_link:1;
3543 uint64_t rst_done:1;
3544 uint64_t prst_link:1;
3545 uint64_t reserved_10_63:54;
3546#endif
2151 } cn63xx; 3547 } cn63xx;
2152 struct cvmx_mio_rst_ctlx_cn63xxp1 { 3548 struct cvmx_mio_rst_ctlx_cn63xxp1 {
3549#ifdef __BIG_ENDIAN_BITFIELD
2153 uint64_t reserved_9_63:55; 3550 uint64_t reserved_9_63:55;
2154 uint64_t rst_done:1; 3551 uint64_t rst_done:1;
2155 uint64_t rst_link:1; 3552 uint64_t rst_link:1;
@@ -2159,18 +3556,36 @@ union cvmx_mio_rst_ctlx {
2159 uint64_t rst_rcv:1; 3556 uint64_t rst_rcv:1;
2160 uint64_t rst_chip:1; 3557 uint64_t rst_chip:1;
2161 uint64_t rst_val:1; 3558 uint64_t rst_val:1;
3559#else
3560 uint64_t rst_val:1;
3561 uint64_t rst_chip:1;
3562 uint64_t rst_rcv:1;
3563 uint64_t rst_drv:1;
3564 uint64_t prtmode:2;
3565 uint64_t host_mode:1;
3566 uint64_t rst_link:1;
3567 uint64_t rst_done:1;
3568 uint64_t reserved_9_63:55;
3569#endif
2162 } cn63xxp1; 3570 } cn63xxp1;
2163 struct cvmx_mio_rst_ctlx_cn63xx cn66xx; 3571 struct cvmx_mio_rst_ctlx_cn63xx cn66xx;
2164 struct cvmx_mio_rst_ctlx_cn63xx cn68xx; 3572 struct cvmx_mio_rst_ctlx_cn63xx cn68xx;
2165 struct cvmx_mio_rst_ctlx_cn63xx cn68xxp1; 3573 struct cvmx_mio_rst_ctlx_cn63xx cn68xxp1;
3574 struct cvmx_mio_rst_ctlx_s cnf71xx;
2166}; 3575};
2167 3576
2168union cvmx_mio_rst_delay { 3577union cvmx_mio_rst_delay {
2169 uint64_t u64; 3578 uint64_t u64;
2170 struct cvmx_mio_rst_delay_s { 3579 struct cvmx_mio_rst_delay_s {
3580#ifdef __BIG_ENDIAN_BITFIELD
2171 uint64_t reserved_32_63:32; 3581 uint64_t reserved_32_63:32;
2172 uint64_t warm_rst_dly:16; 3582 uint64_t warm_rst_dly:16;
2173 uint64_t soft_rst_dly:16; 3583 uint64_t soft_rst_dly:16;
3584#else
3585 uint64_t soft_rst_dly:16;
3586 uint64_t warm_rst_dly:16;
3587 uint64_t reserved_32_63:32;
3588#endif
2174 } s; 3589 } s;
2175 struct cvmx_mio_rst_delay_s cn61xx; 3590 struct cvmx_mio_rst_delay_s cn61xx;
2176 struct cvmx_mio_rst_delay_s cn63xx; 3591 struct cvmx_mio_rst_delay_s cn63xx;
@@ -2178,11 +3593,13 @@ union cvmx_mio_rst_delay {
2178 struct cvmx_mio_rst_delay_s cn66xx; 3593 struct cvmx_mio_rst_delay_s cn66xx;
2179 struct cvmx_mio_rst_delay_s cn68xx; 3594 struct cvmx_mio_rst_delay_s cn68xx;
2180 struct cvmx_mio_rst_delay_s cn68xxp1; 3595 struct cvmx_mio_rst_delay_s cn68xxp1;
3596 struct cvmx_mio_rst_delay_s cnf71xx;
2181}; 3597};
2182 3598
2183union cvmx_mio_rst_int { 3599union cvmx_mio_rst_int {
2184 uint64_t u64; 3600 uint64_t u64;
2185 struct cvmx_mio_rst_int_s { 3601 struct cvmx_mio_rst_int_s {
3602#ifdef __BIG_ENDIAN_BITFIELD
2186 uint64_t reserved_10_63:54; 3603 uint64_t reserved_10_63:54;
2187 uint64_t perst1:1; 3604 uint64_t perst1:1;
2188 uint64_t perst0:1; 3605 uint64_t perst0:1;
@@ -2191,25 +3608,46 @@ union cvmx_mio_rst_int {
2191 uint64_t rst_link2:1; 3608 uint64_t rst_link2:1;
2192 uint64_t rst_link1:1; 3609 uint64_t rst_link1:1;
2193 uint64_t rst_link0:1; 3610 uint64_t rst_link0:1;
3611#else
3612 uint64_t rst_link0:1;
3613 uint64_t rst_link1:1;
3614 uint64_t rst_link2:1;
3615 uint64_t rst_link3:1;
3616 uint64_t reserved_4_7:4;
3617 uint64_t perst0:1;
3618 uint64_t perst1:1;
3619 uint64_t reserved_10_63:54;
3620#endif
2194 } s; 3621 } s;
2195 struct cvmx_mio_rst_int_cn61xx { 3622 struct cvmx_mio_rst_int_cn61xx {
3623#ifdef __BIG_ENDIAN_BITFIELD
2196 uint64_t reserved_10_63:54; 3624 uint64_t reserved_10_63:54;
2197 uint64_t perst1:1; 3625 uint64_t perst1:1;
2198 uint64_t perst0:1; 3626 uint64_t perst0:1;
2199 uint64_t reserved_2_7:6; 3627 uint64_t reserved_2_7:6;
2200 uint64_t rst_link1:1; 3628 uint64_t rst_link1:1;
2201 uint64_t rst_link0:1; 3629 uint64_t rst_link0:1;
3630#else
3631 uint64_t rst_link0:1;
3632 uint64_t rst_link1:1;
3633 uint64_t reserved_2_7:6;
3634 uint64_t perst0:1;
3635 uint64_t perst1:1;
3636 uint64_t reserved_10_63:54;
3637#endif
2202 } cn61xx; 3638 } cn61xx;
2203 struct cvmx_mio_rst_int_cn61xx cn63xx; 3639 struct cvmx_mio_rst_int_cn61xx cn63xx;
2204 struct cvmx_mio_rst_int_cn61xx cn63xxp1; 3640 struct cvmx_mio_rst_int_cn61xx cn63xxp1;
2205 struct cvmx_mio_rst_int_s cn66xx; 3641 struct cvmx_mio_rst_int_s cn66xx;
2206 struct cvmx_mio_rst_int_cn61xx cn68xx; 3642 struct cvmx_mio_rst_int_cn61xx cn68xx;
2207 struct cvmx_mio_rst_int_cn61xx cn68xxp1; 3643 struct cvmx_mio_rst_int_cn61xx cn68xxp1;
3644 struct cvmx_mio_rst_int_cn61xx cnf71xx;
2208}; 3645};
2209 3646
2210union cvmx_mio_rst_int_en { 3647union cvmx_mio_rst_int_en {
2211 uint64_t u64; 3648 uint64_t u64;
2212 struct cvmx_mio_rst_int_en_s { 3649 struct cvmx_mio_rst_int_en_s {
3650#ifdef __BIG_ENDIAN_BITFIELD
2213 uint64_t reserved_10_63:54; 3651 uint64_t reserved_10_63:54;
2214 uint64_t perst1:1; 3652 uint64_t perst1:1;
2215 uint64_t perst0:1; 3653 uint64_t perst0:1;
@@ -2218,25 +3656,46 @@ union cvmx_mio_rst_int_en {
2218 uint64_t rst_link2:1; 3656 uint64_t rst_link2:1;
2219 uint64_t rst_link1:1; 3657 uint64_t rst_link1:1;
2220 uint64_t rst_link0:1; 3658 uint64_t rst_link0:1;
3659#else
3660 uint64_t rst_link0:1;
3661 uint64_t rst_link1:1;
3662 uint64_t rst_link2:1;
3663 uint64_t rst_link3:1;
3664 uint64_t reserved_4_7:4;
3665 uint64_t perst0:1;
3666 uint64_t perst1:1;
3667 uint64_t reserved_10_63:54;
3668#endif
2221 } s; 3669 } s;
2222 struct cvmx_mio_rst_int_en_cn61xx { 3670 struct cvmx_mio_rst_int_en_cn61xx {
3671#ifdef __BIG_ENDIAN_BITFIELD
2223 uint64_t reserved_10_63:54; 3672 uint64_t reserved_10_63:54;
2224 uint64_t perst1:1; 3673 uint64_t perst1:1;
2225 uint64_t perst0:1; 3674 uint64_t perst0:1;
2226 uint64_t reserved_2_7:6; 3675 uint64_t reserved_2_7:6;
2227 uint64_t rst_link1:1; 3676 uint64_t rst_link1:1;
2228 uint64_t rst_link0:1; 3677 uint64_t rst_link0:1;
3678#else
3679 uint64_t rst_link0:1;
3680 uint64_t rst_link1:1;
3681 uint64_t reserved_2_7:6;
3682 uint64_t perst0:1;
3683 uint64_t perst1:1;
3684 uint64_t reserved_10_63:54;
3685#endif
2229 } cn61xx; 3686 } cn61xx;
2230 struct cvmx_mio_rst_int_en_cn61xx cn63xx; 3687 struct cvmx_mio_rst_int_en_cn61xx cn63xx;
2231 struct cvmx_mio_rst_int_en_cn61xx cn63xxp1; 3688 struct cvmx_mio_rst_int_en_cn61xx cn63xxp1;
2232 struct cvmx_mio_rst_int_en_s cn66xx; 3689 struct cvmx_mio_rst_int_en_s cn66xx;
2233 struct cvmx_mio_rst_int_en_cn61xx cn68xx; 3690 struct cvmx_mio_rst_int_en_cn61xx cn68xx;
2234 struct cvmx_mio_rst_int_en_cn61xx cn68xxp1; 3691 struct cvmx_mio_rst_int_en_cn61xx cn68xxp1;
3692 struct cvmx_mio_rst_int_en_cn61xx cnf71xx;
2235}; 3693};
2236 3694
2237union cvmx_mio_twsx_int { 3695union cvmx_mio_twsx_int {
2238 uint64_t u64; 3696 uint64_t u64;
2239 struct cvmx_mio_twsx_int_s { 3697 struct cvmx_mio_twsx_int_s {
3698#ifdef __BIG_ENDIAN_BITFIELD
2240 uint64_t reserved_12_63:52; 3699 uint64_t reserved_12_63:52;
2241 uint64_t scl:1; 3700 uint64_t scl:1;
2242 uint64_t sda:1; 3701 uint64_t sda:1;
@@ -2250,11 +3709,27 @@ union cvmx_mio_twsx_int {
2250 uint64_t core_int:1; 3709 uint64_t core_int:1;
2251 uint64_t ts_int:1; 3710 uint64_t ts_int:1;
2252 uint64_t st_int:1; 3711 uint64_t st_int:1;
3712#else
3713 uint64_t st_int:1;
3714 uint64_t ts_int:1;
3715 uint64_t core_int:1;
3716 uint64_t reserved_3_3:1;
3717 uint64_t st_en:1;
3718 uint64_t ts_en:1;
3719 uint64_t core_en:1;
3720 uint64_t reserved_7_7:1;
3721 uint64_t sda_ovr:1;
3722 uint64_t scl_ovr:1;
3723 uint64_t sda:1;
3724 uint64_t scl:1;
3725 uint64_t reserved_12_63:52;
3726#endif
2253 } s; 3727 } s;
2254 struct cvmx_mio_twsx_int_s cn30xx; 3728 struct cvmx_mio_twsx_int_s cn30xx;
2255 struct cvmx_mio_twsx_int_s cn31xx; 3729 struct cvmx_mio_twsx_int_s cn31xx;
2256 struct cvmx_mio_twsx_int_s cn38xx; 3730 struct cvmx_mio_twsx_int_s cn38xx;
2257 struct cvmx_mio_twsx_int_cn38xxp2 { 3731 struct cvmx_mio_twsx_int_cn38xxp2 {
3732#ifdef __BIG_ENDIAN_BITFIELD
2258 uint64_t reserved_7_63:57; 3733 uint64_t reserved_7_63:57;
2259 uint64_t core_en:1; 3734 uint64_t core_en:1;
2260 uint64_t ts_en:1; 3735 uint64_t ts_en:1;
@@ -2263,6 +3738,16 @@ union cvmx_mio_twsx_int {
2263 uint64_t core_int:1; 3738 uint64_t core_int:1;
2264 uint64_t ts_int:1; 3739 uint64_t ts_int:1;
2265 uint64_t st_int:1; 3740 uint64_t st_int:1;
3741#else
3742 uint64_t st_int:1;
3743 uint64_t ts_int:1;
3744 uint64_t core_int:1;
3745 uint64_t reserved_3_3:1;
3746 uint64_t st_en:1;
3747 uint64_t ts_en:1;
3748 uint64_t core_en:1;
3749 uint64_t reserved_7_63:57;
3750#endif
2266 } cn38xxp2; 3751 } cn38xxp2;
2267 struct cvmx_mio_twsx_int_s cn50xx; 3752 struct cvmx_mio_twsx_int_s cn50xx;
2268 struct cvmx_mio_twsx_int_s cn52xx; 3753 struct cvmx_mio_twsx_int_s cn52xx;
@@ -2277,11 +3762,13 @@ union cvmx_mio_twsx_int {
2277 struct cvmx_mio_twsx_int_s cn66xx; 3762 struct cvmx_mio_twsx_int_s cn66xx;
2278 struct cvmx_mio_twsx_int_s cn68xx; 3763 struct cvmx_mio_twsx_int_s cn68xx;
2279 struct cvmx_mio_twsx_int_s cn68xxp1; 3764 struct cvmx_mio_twsx_int_s cn68xxp1;
3765 struct cvmx_mio_twsx_int_s cnf71xx;
2280}; 3766};
2281 3767
2282union cvmx_mio_twsx_sw_twsi { 3768union cvmx_mio_twsx_sw_twsi {
2283 uint64_t u64; 3769 uint64_t u64;
2284 struct cvmx_mio_twsx_sw_twsi_s { 3770 struct cvmx_mio_twsx_sw_twsi_s {
3771#ifdef __BIG_ENDIAN_BITFIELD
2285 uint64_t v:1; 3772 uint64_t v:1;
2286 uint64_t slonly:1; 3773 uint64_t slonly:1;
2287 uint64_t eia:1; 3774 uint64_t eia:1;
@@ -2294,6 +3781,20 @@ union cvmx_mio_twsx_sw_twsi {
2294 uint64_t ia:5; 3781 uint64_t ia:5;
2295 uint64_t eop_ia:3; 3782 uint64_t eop_ia:3;
2296 uint64_t d:32; 3783 uint64_t d:32;
3784#else
3785 uint64_t d:32;
3786 uint64_t eop_ia:3;
3787 uint64_t ia:5;
3788 uint64_t a:10;
3789 uint64_t scr:2;
3790 uint64_t size:3;
3791 uint64_t sovr:1;
3792 uint64_t r:1;
3793 uint64_t op:4;
3794 uint64_t eia:1;
3795 uint64_t slonly:1;
3796 uint64_t v:1;
3797#endif
2297 } s; 3798 } s;
2298 struct cvmx_mio_twsx_sw_twsi_s cn30xx; 3799 struct cvmx_mio_twsx_sw_twsi_s cn30xx;
2299 struct cvmx_mio_twsx_sw_twsi_s cn31xx; 3800 struct cvmx_mio_twsx_sw_twsi_s cn31xx;
@@ -2312,14 +3813,21 @@ union cvmx_mio_twsx_sw_twsi {
2312 struct cvmx_mio_twsx_sw_twsi_s cn66xx; 3813 struct cvmx_mio_twsx_sw_twsi_s cn66xx;
2313 struct cvmx_mio_twsx_sw_twsi_s cn68xx; 3814 struct cvmx_mio_twsx_sw_twsi_s cn68xx;
2314 struct cvmx_mio_twsx_sw_twsi_s cn68xxp1; 3815 struct cvmx_mio_twsx_sw_twsi_s cn68xxp1;
3816 struct cvmx_mio_twsx_sw_twsi_s cnf71xx;
2315}; 3817};
2316 3818
2317union cvmx_mio_twsx_sw_twsi_ext { 3819union cvmx_mio_twsx_sw_twsi_ext {
2318 uint64_t u64; 3820 uint64_t u64;
2319 struct cvmx_mio_twsx_sw_twsi_ext_s { 3821 struct cvmx_mio_twsx_sw_twsi_ext_s {
3822#ifdef __BIG_ENDIAN_BITFIELD
2320 uint64_t reserved_40_63:24; 3823 uint64_t reserved_40_63:24;
2321 uint64_t ia:8; 3824 uint64_t ia:8;
2322 uint64_t d:32; 3825 uint64_t d:32;
3826#else
3827 uint64_t d:32;
3828 uint64_t ia:8;
3829 uint64_t reserved_40_63:24;
3830#endif
2323 } s; 3831 } s;
2324 struct cvmx_mio_twsx_sw_twsi_ext_s cn30xx; 3832 struct cvmx_mio_twsx_sw_twsi_ext_s cn30xx;
2325 struct cvmx_mio_twsx_sw_twsi_ext_s cn31xx; 3833 struct cvmx_mio_twsx_sw_twsi_ext_s cn31xx;
@@ -2338,14 +3846,21 @@ union cvmx_mio_twsx_sw_twsi_ext {
2338 struct cvmx_mio_twsx_sw_twsi_ext_s cn66xx; 3846 struct cvmx_mio_twsx_sw_twsi_ext_s cn66xx;
2339 struct cvmx_mio_twsx_sw_twsi_ext_s cn68xx; 3847 struct cvmx_mio_twsx_sw_twsi_ext_s cn68xx;
2340 struct cvmx_mio_twsx_sw_twsi_ext_s cn68xxp1; 3848 struct cvmx_mio_twsx_sw_twsi_ext_s cn68xxp1;
3849 struct cvmx_mio_twsx_sw_twsi_ext_s cnf71xx;
2341}; 3850};
2342 3851
2343union cvmx_mio_twsx_twsi_sw { 3852union cvmx_mio_twsx_twsi_sw {
2344 uint64_t u64; 3853 uint64_t u64;
2345 struct cvmx_mio_twsx_twsi_sw_s { 3854 struct cvmx_mio_twsx_twsi_sw_s {
3855#ifdef __BIG_ENDIAN_BITFIELD
2346 uint64_t v:2; 3856 uint64_t v:2;
2347 uint64_t reserved_32_61:30; 3857 uint64_t reserved_32_61:30;
2348 uint64_t d:32; 3858 uint64_t d:32;
3859#else
3860 uint64_t d:32;
3861 uint64_t reserved_32_61:30;
3862 uint64_t v:2;
3863#endif
2349 } s; 3864 } s;
2350 struct cvmx_mio_twsx_twsi_sw_s cn30xx; 3865 struct cvmx_mio_twsx_twsi_sw_s cn30xx;
2351 struct cvmx_mio_twsx_twsi_sw_s cn31xx; 3866 struct cvmx_mio_twsx_twsi_sw_s cn31xx;
@@ -2364,13 +3879,19 @@ union cvmx_mio_twsx_twsi_sw {
2364 struct cvmx_mio_twsx_twsi_sw_s cn66xx; 3879 struct cvmx_mio_twsx_twsi_sw_s cn66xx;
2365 struct cvmx_mio_twsx_twsi_sw_s cn68xx; 3880 struct cvmx_mio_twsx_twsi_sw_s cn68xx;
2366 struct cvmx_mio_twsx_twsi_sw_s cn68xxp1; 3881 struct cvmx_mio_twsx_twsi_sw_s cn68xxp1;
3882 struct cvmx_mio_twsx_twsi_sw_s cnf71xx;
2367}; 3883};
2368 3884
2369union cvmx_mio_uartx_dlh { 3885union cvmx_mio_uartx_dlh {
2370 uint64_t u64; 3886 uint64_t u64;
2371 struct cvmx_mio_uartx_dlh_s { 3887 struct cvmx_mio_uartx_dlh_s {
3888#ifdef __BIG_ENDIAN_BITFIELD
2372 uint64_t reserved_8_63:56; 3889 uint64_t reserved_8_63:56;
2373 uint64_t dlh:8; 3890 uint64_t dlh:8;
3891#else
3892 uint64_t dlh:8;
3893 uint64_t reserved_8_63:56;
3894#endif
2374 } s; 3895 } s;
2375 struct cvmx_mio_uartx_dlh_s cn30xx; 3896 struct cvmx_mio_uartx_dlh_s cn30xx;
2376 struct cvmx_mio_uartx_dlh_s cn31xx; 3897 struct cvmx_mio_uartx_dlh_s cn31xx;
@@ -2389,13 +3910,19 @@ union cvmx_mio_uartx_dlh {
2389 struct cvmx_mio_uartx_dlh_s cn66xx; 3910 struct cvmx_mio_uartx_dlh_s cn66xx;
2390 struct cvmx_mio_uartx_dlh_s cn68xx; 3911 struct cvmx_mio_uartx_dlh_s cn68xx;
2391 struct cvmx_mio_uartx_dlh_s cn68xxp1; 3912 struct cvmx_mio_uartx_dlh_s cn68xxp1;
3913 struct cvmx_mio_uartx_dlh_s cnf71xx;
2392}; 3914};
2393 3915
2394union cvmx_mio_uartx_dll { 3916union cvmx_mio_uartx_dll {
2395 uint64_t u64; 3917 uint64_t u64;
2396 struct cvmx_mio_uartx_dll_s { 3918 struct cvmx_mio_uartx_dll_s {
3919#ifdef __BIG_ENDIAN_BITFIELD
2397 uint64_t reserved_8_63:56; 3920 uint64_t reserved_8_63:56;
2398 uint64_t dll:8; 3921 uint64_t dll:8;
3922#else
3923 uint64_t dll:8;
3924 uint64_t reserved_8_63:56;
3925#endif
2399 } s; 3926 } s;
2400 struct cvmx_mio_uartx_dll_s cn30xx; 3927 struct cvmx_mio_uartx_dll_s cn30xx;
2401 struct cvmx_mio_uartx_dll_s cn31xx; 3928 struct cvmx_mio_uartx_dll_s cn31xx;
@@ -2414,13 +3941,19 @@ union cvmx_mio_uartx_dll {
2414 struct cvmx_mio_uartx_dll_s cn66xx; 3941 struct cvmx_mio_uartx_dll_s cn66xx;
2415 struct cvmx_mio_uartx_dll_s cn68xx; 3942 struct cvmx_mio_uartx_dll_s cn68xx;
2416 struct cvmx_mio_uartx_dll_s cn68xxp1; 3943 struct cvmx_mio_uartx_dll_s cn68xxp1;
3944 struct cvmx_mio_uartx_dll_s cnf71xx;
2417}; 3945};
2418 3946
2419union cvmx_mio_uartx_far { 3947union cvmx_mio_uartx_far {
2420 uint64_t u64; 3948 uint64_t u64;
2421 struct cvmx_mio_uartx_far_s { 3949 struct cvmx_mio_uartx_far_s {
3950#ifdef __BIG_ENDIAN_BITFIELD
2422 uint64_t reserved_1_63:63; 3951 uint64_t reserved_1_63:63;
2423 uint64_t far:1; 3952 uint64_t far:1;
3953#else
3954 uint64_t far:1;
3955 uint64_t reserved_1_63:63;
3956#endif
2424 } s; 3957 } s;
2425 struct cvmx_mio_uartx_far_s cn30xx; 3958 struct cvmx_mio_uartx_far_s cn30xx;
2426 struct cvmx_mio_uartx_far_s cn31xx; 3959 struct cvmx_mio_uartx_far_s cn31xx;
@@ -2439,11 +3972,13 @@ union cvmx_mio_uartx_far {
2439 struct cvmx_mio_uartx_far_s cn66xx; 3972 struct cvmx_mio_uartx_far_s cn66xx;
2440 struct cvmx_mio_uartx_far_s cn68xx; 3973 struct cvmx_mio_uartx_far_s cn68xx;
2441 struct cvmx_mio_uartx_far_s cn68xxp1; 3974 struct cvmx_mio_uartx_far_s cn68xxp1;
3975 struct cvmx_mio_uartx_far_s cnf71xx;
2442}; 3976};
2443 3977
2444union cvmx_mio_uartx_fcr { 3978union cvmx_mio_uartx_fcr {
2445 uint64_t u64; 3979 uint64_t u64;
2446 struct cvmx_mio_uartx_fcr_s { 3980 struct cvmx_mio_uartx_fcr_s {
3981#ifdef __BIG_ENDIAN_BITFIELD
2447 uint64_t reserved_8_63:56; 3982 uint64_t reserved_8_63:56;
2448 uint64_t rxtrig:2; 3983 uint64_t rxtrig:2;
2449 uint64_t txtrig:2; 3984 uint64_t txtrig:2;
@@ -2451,6 +3986,15 @@ union cvmx_mio_uartx_fcr {
2451 uint64_t txfr:1; 3986 uint64_t txfr:1;
2452 uint64_t rxfr:1; 3987 uint64_t rxfr:1;
2453 uint64_t en:1; 3988 uint64_t en:1;
3989#else
3990 uint64_t en:1;
3991 uint64_t rxfr:1;
3992 uint64_t txfr:1;
3993 uint64_t reserved_3_3:1;
3994 uint64_t txtrig:2;
3995 uint64_t rxtrig:2;
3996 uint64_t reserved_8_63:56;
3997#endif
2454 } s; 3998 } s;
2455 struct cvmx_mio_uartx_fcr_s cn30xx; 3999 struct cvmx_mio_uartx_fcr_s cn30xx;
2456 struct cvmx_mio_uartx_fcr_s cn31xx; 4000 struct cvmx_mio_uartx_fcr_s cn31xx;
@@ -2469,13 +4013,19 @@ union cvmx_mio_uartx_fcr {
2469 struct cvmx_mio_uartx_fcr_s cn66xx; 4013 struct cvmx_mio_uartx_fcr_s cn66xx;
2470 struct cvmx_mio_uartx_fcr_s cn68xx; 4014 struct cvmx_mio_uartx_fcr_s cn68xx;
2471 struct cvmx_mio_uartx_fcr_s cn68xxp1; 4015 struct cvmx_mio_uartx_fcr_s cn68xxp1;
4016 struct cvmx_mio_uartx_fcr_s cnf71xx;
2472}; 4017};
2473 4018
2474union cvmx_mio_uartx_htx { 4019union cvmx_mio_uartx_htx {
2475 uint64_t u64; 4020 uint64_t u64;
2476 struct cvmx_mio_uartx_htx_s { 4021 struct cvmx_mio_uartx_htx_s {
4022#ifdef __BIG_ENDIAN_BITFIELD
2477 uint64_t reserved_1_63:63; 4023 uint64_t reserved_1_63:63;
2478 uint64_t htx:1; 4024 uint64_t htx:1;
4025#else
4026 uint64_t htx:1;
4027 uint64_t reserved_1_63:63;
4028#endif
2479 } s; 4029 } s;
2480 struct cvmx_mio_uartx_htx_s cn30xx; 4030 struct cvmx_mio_uartx_htx_s cn30xx;
2481 struct cvmx_mio_uartx_htx_s cn31xx; 4031 struct cvmx_mio_uartx_htx_s cn31xx;
@@ -2494,11 +4044,13 @@ union cvmx_mio_uartx_htx {
2494 struct cvmx_mio_uartx_htx_s cn66xx; 4044 struct cvmx_mio_uartx_htx_s cn66xx;
2495 struct cvmx_mio_uartx_htx_s cn68xx; 4045 struct cvmx_mio_uartx_htx_s cn68xx;
2496 struct cvmx_mio_uartx_htx_s cn68xxp1; 4046 struct cvmx_mio_uartx_htx_s cn68xxp1;
4047 struct cvmx_mio_uartx_htx_s cnf71xx;
2497}; 4048};
2498 4049
2499union cvmx_mio_uartx_ier { 4050union cvmx_mio_uartx_ier {
2500 uint64_t u64; 4051 uint64_t u64;
2501 struct cvmx_mio_uartx_ier_s { 4052 struct cvmx_mio_uartx_ier_s {
4053#ifdef __BIG_ENDIAN_BITFIELD
2502 uint64_t reserved_8_63:56; 4054 uint64_t reserved_8_63:56;
2503 uint64_t ptime:1; 4055 uint64_t ptime:1;
2504 uint64_t reserved_4_6:3; 4056 uint64_t reserved_4_6:3;
@@ -2506,6 +4058,15 @@ union cvmx_mio_uartx_ier {
2506 uint64_t elsi:1; 4058 uint64_t elsi:1;
2507 uint64_t etbei:1; 4059 uint64_t etbei:1;
2508 uint64_t erbfi:1; 4060 uint64_t erbfi:1;
4061#else
4062 uint64_t erbfi:1;
4063 uint64_t etbei:1;
4064 uint64_t elsi:1;
4065 uint64_t edssi:1;
4066 uint64_t reserved_4_6:3;
4067 uint64_t ptime:1;
4068 uint64_t reserved_8_63:56;
4069#endif
2509 } s; 4070 } s;
2510 struct cvmx_mio_uartx_ier_s cn30xx; 4071 struct cvmx_mio_uartx_ier_s cn30xx;
2511 struct cvmx_mio_uartx_ier_s cn31xx; 4072 struct cvmx_mio_uartx_ier_s cn31xx;
@@ -2524,15 +4085,23 @@ union cvmx_mio_uartx_ier {
2524 struct cvmx_mio_uartx_ier_s cn66xx; 4085 struct cvmx_mio_uartx_ier_s cn66xx;
2525 struct cvmx_mio_uartx_ier_s cn68xx; 4086 struct cvmx_mio_uartx_ier_s cn68xx;
2526 struct cvmx_mio_uartx_ier_s cn68xxp1; 4087 struct cvmx_mio_uartx_ier_s cn68xxp1;
4088 struct cvmx_mio_uartx_ier_s cnf71xx;
2527}; 4089};
2528 4090
2529union cvmx_mio_uartx_iir { 4091union cvmx_mio_uartx_iir {
2530 uint64_t u64; 4092 uint64_t u64;
2531 struct cvmx_mio_uartx_iir_s { 4093 struct cvmx_mio_uartx_iir_s {
4094#ifdef __BIG_ENDIAN_BITFIELD
2532 uint64_t reserved_8_63:56; 4095 uint64_t reserved_8_63:56;
2533 uint64_t fen:2; 4096 uint64_t fen:2;
2534 uint64_t reserved_4_5:2; 4097 uint64_t reserved_4_5:2;
2535 uint64_t iid:4; 4098 uint64_t iid:4;
4099#else
4100 uint64_t iid:4;
4101 uint64_t reserved_4_5:2;
4102 uint64_t fen:2;
4103 uint64_t reserved_8_63:56;
4104#endif
2536 } s; 4105 } s;
2537 struct cvmx_mio_uartx_iir_s cn30xx; 4106 struct cvmx_mio_uartx_iir_s cn30xx;
2538 struct cvmx_mio_uartx_iir_s cn31xx; 4107 struct cvmx_mio_uartx_iir_s cn31xx;
@@ -2551,11 +4120,13 @@ union cvmx_mio_uartx_iir {
2551 struct cvmx_mio_uartx_iir_s cn66xx; 4120 struct cvmx_mio_uartx_iir_s cn66xx;
2552 struct cvmx_mio_uartx_iir_s cn68xx; 4121 struct cvmx_mio_uartx_iir_s cn68xx;
2553 struct cvmx_mio_uartx_iir_s cn68xxp1; 4122 struct cvmx_mio_uartx_iir_s cn68xxp1;
4123 struct cvmx_mio_uartx_iir_s cnf71xx;
2554}; 4124};
2555 4125
2556union cvmx_mio_uartx_lcr { 4126union cvmx_mio_uartx_lcr {
2557 uint64_t u64; 4127 uint64_t u64;
2558 struct cvmx_mio_uartx_lcr_s { 4128 struct cvmx_mio_uartx_lcr_s {
4129#ifdef __BIG_ENDIAN_BITFIELD
2559 uint64_t reserved_8_63:56; 4130 uint64_t reserved_8_63:56;
2560 uint64_t dlab:1; 4131 uint64_t dlab:1;
2561 uint64_t brk:1; 4132 uint64_t brk:1;
@@ -2564,6 +4135,16 @@ union cvmx_mio_uartx_lcr {
2564 uint64_t pen:1; 4135 uint64_t pen:1;
2565 uint64_t stop:1; 4136 uint64_t stop:1;
2566 uint64_t cls:2; 4137 uint64_t cls:2;
4138#else
4139 uint64_t cls:2;
4140 uint64_t stop:1;
4141 uint64_t pen:1;
4142 uint64_t eps:1;
4143 uint64_t reserved_5_5:1;
4144 uint64_t brk:1;
4145 uint64_t dlab:1;
4146 uint64_t reserved_8_63:56;
4147#endif
2567 } s; 4148 } s;
2568 struct cvmx_mio_uartx_lcr_s cn30xx; 4149 struct cvmx_mio_uartx_lcr_s cn30xx;
2569 struct cvmx_mio_uartx_lcr_s cn31xx; 4150 struct cvmx_mio_uartx_lcr_s cn31xx;
@@ -2582,11 +4163,13 @@ union cvmx_mio_uartx_lcr {
2582 struct cvmx_mio_uartx_lcr_s cn66xx; 4163 struct cvmx_mio_uartx_lcr_s cn66xx;
2583 struct cvmx_mio_uartx_lcr_s cn68xx; 4164 struct cvmx_mio_uartx_lcr_s cn68xx;
2584 struct cvmx_mio_uartx_lcr_s cn68xxp1; 4165 struct cvmx_mio_uartx_lcr_s cn68xxp1;
4166 struct cvmx_mio_uartx_lcr_s cnf71xx;
2585}; 4167};
2586 4168
2587union cvmx_mio_uartx_lsr { 4169union cvmx_mio_uartx_lsr {
2588 uint64_t u64; 4170 uint64_t u64;
2589 struct cvmx_mio_uartx_lsr_s { 4171 struct cvmx_mio_uartx_lsr_s {
4172#ifdef __BIG_ENDIAN_BITFIELD
2590 uint64_t reserved_8_63:56; 4173 uint64_t reserved_8_63:56;
2591 uint64_t ferr:1; 4174 uint64_t ferr:1;
2592 uint64_t temt:1; 4175 uint64_t temt:1;
@@ -2596,6 +4179,17 @@ union cvmx_mio_uartx_lsr {
2596 uint64_t pe:1; 4179 uint64_t pe:1;
2597 uint64_t oe:1; 4180 uint64_t oe:1;
2598 uint64_t dr:1; 4181 uint64_t dr:1;
4182#else
4183 uint64_t dr:1;
4184 uint64_t oe:1;
4185 uint64_t pe:1;
4186 uint64_t fe:1;
4187 uint64_t bi:1;
4188 uint64_t thre:1;
4189 uint64_t temt:1;
4190 uint64_t ferr:1;
4191 uint64_t reserved_8_63:56;
4192#endif
2599 } s; 4193 } s;
2600 struct cvmx_mio_uartx_lsr_s cn30xx; 4194 struct cvmx_mio_uartx_lsr_s cn30xx;
2601 struct cvmx_mio_uartx_lsr_s cn31xx; 4195 struct cvmx_mio_uartx_lsr_s cn31xx;
@@ -2614,11 +4208,13 @@ union cvmx_mio_uartx_lsr {
2614 struct cvmx_mio_uartx_lsr_s cn66xx; 4208 struct cvmx_mio_uartx_lsr_s cn66xx;
2615 struct cvmx_mio_uartx_lsr_s cn68xx; 4209 struct cvmx_mio_uartx_lsr_s cn68xx;
2616 struct cvmx_mio_uartx_lsr_s cn68xxp1; 4210 struct cvmx_mio_uartx_lsr_s cn68xxp1;
4211 struct cvmx_mio_uartx_lsr_s cnf71xx;
2617}; 4212};
2618 4213
2619union cvmx_mio_uartx_mcr { 4214union cvmx_mio_uartx_mcr {
2620 uint64_t u64; 4215 uint64_t u64;
2621 struct cvmx_mio_uartx_mcr_s { 4216 struct cvmx_mio_uartx_mcr_s {
4217#ifdef __BIG_ENDIAN_BITFIELD
2622 uint64_t reserved_6_63:58; 4218 uint64_t reserved_6_63:58;
2623 uint64_t afce:1; 4219 uint64_t afce:1;
2624 uint64_t loop:1; 4220 uint64_t loop:1;
@@ -2626,6 +4222,15 @@ union cvmx_mio_uartx_mcr {
2626 uint64_t out1:1; 4222 uint64_t out1:1;
2627 uint64_t rts:1; 4223 uint64_t rts:1;
2628 uint64_t dtr:1; 4224 uint64_t dtr:1;
4225#else
4226 uint64_t dtr:1;
4227 uint64_t rts:1;
4228 uint64_t out1:1;
4229 uint64_t out2:1;
4230 uint64_t loop:1;
4231 uint64_t afce:1;
4232 uint64_t reserved_6_63:58;
4233#endif
2629 } s; 4234 } s;
2630 struct cvmx_mio_uartx_mcr_s cn30xx; 4235 struct cvmx_mio_uartx_mcr_s cn30xx;
2631 struct cvmx_mio_uartx_mcr_s cn31xx; 4236 struct cvmx_mio_uartx_mcr_s cn31xx;
@@ -2644,11 +4249,13 @@ union cvmx_mio_uartx_mcr {
2644 struct cvmx_mio_uartx_mcr_s cn66xx; 4249 struct cvmx_mio_uartx_mcr_s cn66xx;
2645 struct cvmx_mio_uartx_mcr_s cn68xx; 4250 struct cvmx_mio_uartx_mcr_s cn68xx;
2646 struct cvmx_mio_uartx_mcr_s cn68xxp1; 4251 struct cvmx_mio_uartx_mcr_s cn68xxp1;
4252 struct cvmx_mio_uartx_mcr_s cnf71xx;
2647}; 4253};
2648 4254
2649union cvmx_mio_uartx_msr { 4255union cvmx_mio_uartx_msr {
2650 uint64_t u64; 4256 uint64_t u64;
2651 struct cvmx_mio_uartx_msr_s { 4257 struct cvmx_mio_uartx_msr_s {
4258#ifdef __BIG_ENDIAN_BITFIELD
2652 uint64_t reserved_8_63:56; 4259 uint64_t reserved_8_63:56;
2653 uint64_t dcd:1; 4260 uint64_t dcd:1;
2654 uint64_t ri:1; 4261 uint64_t ri:1;
@@ -2658,6 +4265,17 @@ union cvmx_mio_uartx_msr {
2658 uint64_t teri:1; 4265 uint64_t teri:1;
2659 uint64_t ddsr:1; 4266 uint64_t ddsr:1;
2660 uint64_t dcts:1; 4267 uint64_t dcts:1;
4268#else
4269 uint64_t dcts:1;
4270 uint64_t ddsr:1;
4271 uint64_t teri:1;
4272 uint64_t ddcd:1;
4273 uint64_t cts:1;
4274 uint64_t dsr:1;
4275 uint64_t ri:1;
4276 uint64_t dcd:1;
4277 uint64_t reserved_8_63:56;
4278#endif
2661 } s; 4279 } s;
2662 struct cvmx_mio_uartx_msr_s cn30xx; 4280 struct cvmx_mio_uartx_msr_s cn30xx;
2663 struct cvmx_mio_uartx_msr_s cn31xx; 4281 struct cvmx_mio_uartx_msr_s cn31xx;
@@ -2676,13 +4294,19 @@ union cvmx_mio_uartx_msr {
2676 struct cvmx_mio_uartx_msr_s cn66xx; 4294 struct cvmx_mio_uartx_msr_s cn66xx;
2677 struct cvmx_mio_uartx_msr_s cn68xx; 4295 struct cvmx_mio_uartx_msr_s cn68xx;
2678 struct cvmx_mio_uartx_msr_s cn68xxp1; 4296 struct cvmx_mio_uartx_msr_s cn68xxp1;
4297 struct cvmx_mio_uartx_msr_s cnf71xx;
2679}; 4298};
2680 4299
2681union cvmx_mio_uartx_rbr { 4300union cvmx_mio_uartx_rbr {
2682 uint64_t u64; 4301 uint64_t u64;
2683 struct cvmx_mio_uartx_rbr_s { 4302 struct cvmx_mio_uartx_rbr_s {
4303#ifdef __BIG_ENDIAN_BITFIELD
2684 uint64_t reserved_8_63:56; 4304 uint64_t reserved_8_63:56;
2685 uint64_t rbr:8; 4305 uint64_t rbr:8;
4306#else
4307 uint64_t rbr:8;
4308 uint64_t reserved_8_63:56;
4309#endif
2686 } s; 4310 } s;
2687 struct cvmx_mio_uartx_rbr_s cn30xx; 4311 struct cvmx_mio_uartx_rbr_s cn30xx;
2688 struct cvmx_mio_uartx_rbr_s cn31xx; 4312 struct cvmx_mio_uartx_rbr_s cn31xx;
@@ -2701,13 +4325,19 @@ union cvmx_mio_uartx_rbr {
2701 struct cvmx_mio_uartx_rbr_s cn66xx; 4325 struct cvmx_mio_uartx_rbr_s cn66xx;
2702 struct cvmx_mio_uartx_rbr_s cn68xx; 4326 struct cvmx_mio_uartx_rbr_s cn68xx;
2703 struct cvmx_mio_uartx_rbr_s cn68xxp1; 4327 struct cvmx_mio_uartx_rbr_s cn68xxp1;
4328 struct cvmx_mio_uartx_rbr_s cnf71xx;
2704}; 4329};
2705 4330
2706union cvmx_mio_uartx_rfl { 4331union cvmx_mio_uartx_rfl {
2707 uint64_t u64; 4332 uint64_t u64;
2708 struct cvmx_mio_uartx_rfl_s { 4333 struct cvmx_mio_uartx_rfl_s {
4334#ifdef __BIG_ENDIAN_BITFIELD
2709 uint64_t reserved_7_63:57; 4335 uint64_t reserved_7_63:57;
2710 uint64_t rfl:7; 4336 uint64_t rfl:7;
4337#else
4338 uint64_t rfl:7;
4339 uint64_t reserved_7_63:57;
4340#endif
2711 } s; 4341 } s;
2712 struct cvmx_mio_uartx_rfl_s cn30xx; 4342 struct cvmx_mio_uartx_rfl_s cn30xx;
2713 struct cvmx_mio_uartx_rfl_s cn31xx; 4343 struct cvmx_mio_uartx_rfl_s cn31xx;
@@ -2726,15 +4356,23 @@ union cvmx_mio_uartx_rfl {
2726 struct cvmx_mio_uartx_rfl_s cn66xx; 4356 struct cvmx_mio_uartx_rfl_s cn66xx;
2727 struct cvmx_mio_uartx_rfl_s cn68xx; 4357 struct cvmx_mio_uartx_rfl_s cn68xx;
2728 struct cvmx_mio_uartx_rfl_s cn68xxp1; 4358 struct cvmx_mio_uartx_rfl_s cn68xxp1;
4359 struct cvmx_mio_uartx_rfl_s cnf71xx;
2729}; 4360};
2730 4361
2731union cvmx_mio_uartx_rfw { 4362union cvmx_mio_uartx_rfw {
2732 uint64_t u64; 4363 uint64_t u64;
2733 struct cvmx_mio_uartx_rfw_s { 4364 struct cvmx_mio_uartx_rfw_s {
4365#ifdef __BIG_ENDIAN_BITFIELD
2734 uint64_t reserved_10_63:54; 4366 uint64_t reserved_10_63:54;
2735 uint64_t rffe:1; 4367 uint64_t rffe:1;
2736 uint64_t rfpe:1; 4368 uint64_t rfpe:1;
2737 uint64_t rfwd:8; 4369 uint64_t rfwd:8;
4370#else
4371 uint64_t rfwd:8;
4372 uint64_t rfpe:1;
4373 uint64_t rffe:1;
4374 uint64_t reserved_10_63:54;
4375#endif
2738 } s; 4376 } s;
2739 struct cvmx_mio_uartx_rfw_s cn30xx; 4377 struct cvmx_mio_uartx_rfw_s cn30xx;
2740 struct cvmx_mio_uartx_rfw_s cn31xx; 4378 struct cvmx_mio_uartx_rfw_s cn31xx;
@@ -2753,13 +4391,19 @@ union cvmx_mio_uartx_rfw {
2753 struct cvmx_mio_uartx_rfw_s cn66xx; 4391 struct cvmx_mio_uartx_rfw_s cn66xx;
2754 struct cvmx_mio_uartx_rfw_s cn68xx; 4392 struct cvmx_mio_uartx_rfw_s cn68xx;
2755 struct cvmx_mio_uartx_rfw_s cn68xxp1; 4393 struct cvmx_mio_uartx_rfw_s cn68xxp1;
4394 struct cvmx_mio_uartx_rfw_s cnf71xx;
2756}; 4395};
2757 4396
2758union cvmx_mio_uartx_sbcr { 4397union cvmx_mio_uartx_sbcr {
2759 uint64_t u64; 4398 uint64_t u64;
2760 struct cvmx_mio_uartx_sbcr_s { 4399 struct cvmx_mio_uartx_sbcr_s {
4400#ifdef __BIG_ENDIAN_BITFIELD
2761 uint64_t reserved_1_63:63; 4401 uint64_t reserved_1_63:63;
2762 uint64_t sbcr:1; 4402 uint64_t sbcr:1;
4403#else
4404 uint64_t sbcr:1;
4405 uint64_t reserved_1_63:63;
4406#endif
2763 } s; 4407 } s;
2764 struct cvmx_mio_uartx_sbcr_s cn30xx; 4408 struct cvmx_mio_uartx_sbcr_s cn30xx;
2765 struct cvmx_mio_uartx_sbcr_s cn31xx; 4409 struct cvmx_mio_uartx_sbcr_s cn31xx;
@@ -2778,13 +4422,19 @@ union cvmx_mio_uartx_sbcr {
2778 struct cvmx_mio_uartx_sbcr_s cn66xx; 4422 struct cvmx_mio_uartx_sbcr_s cn66xx;
2779 struct cvmx_mio_uartx_sbcr_s cn68xx; 4423 struct cvmx_mio_uartx_sbcr_s cn68xx;
2780 struct cvmx_mio_uartx_sbcr_s cn68xxp1; 4424 struct cvmx_mio_uartx_sbcr_s cn68xxp1;
4425 struct cvmx_mio_uartx_sbcr_s cnf71xx;
2781}; 4426};
2782 4427
2783union cvmx_mio_uartx_scr { 4428union cvmx_mio_uartx_scr {
2784 uint64_t u64; 4429 uint64_t u64;
2785 struct cvmx_mio_uartx_scr_s { 4430 struct cvmx_mio_uartx_scr_s {
4431#ifdef __BIG_ENDIAN_BITFIELD
2786 uint64_t reserved_8_63:56; 4432 uint64_t reserved_8_63:56;
2787 uint64_t scr:8; 4433 uint64_t scr:8;
4434#else
4435 uint64_t scr:8;
4436 uint64_t reserved_8_63:56;
4437#endif
2788 } s; 4438 } s;
2789 struct cvmx_mio_uartx_scr_s cn30xx; 4439 struct cvmx_mio_uartx_scr_s cn30xx;
2790 struct cvmx_mio_uartx_scr_s cn31xx; 4440 struct cvmx_mio_uartx_scr_s cn31xx;
@@ -2803,13 +4453,19 @@ union cvmx_mio_uartx_scr {
2803 struct cvmx_mio_uartx_scr_s cn66xx; 4453 struct cvmx_mio_uartx_scr_s cn66xx;
2804 struct cvmx_mio_uartx_scr_s cn68xx; 4454 struct cvmx_mio_uartx_scr_s cn68xx;
2805 struct cvmx_mio_uartx_scr_s cn68xxp1; 4455 struct cvmx_mio_uartx_scr_s cn68xxp1;
4456 struct cvmx_mio_uartx_scr_s cnf71xx;
2806}; 4457};
2807 4458
2808union cvmx_mio_uartx_sfe { 4459union cvmx_mio_uartx_sfe {
2809 uint64_t u64; 4460 uint64_t u64;
2810 struct cvmx_mio_uartx_sfe_s { 4461 struct cvmx_mio_uartx_sfe_s {
4462#ifdef __BIG_ENDIAN_BITFIELD
2811 uint64_t reserved_1_63:63; 4463 uint64_t reserved_1_63:63;
2812 uint64_t sfe:1; 4464 uint64_t sfe:1;
4465#else
4466 uint64_t sfe:1;
4467 uint64_t reserved_1_63:63;
4468#endif
2813 } s; 4469 } s;
2814 struct cvmx_mio_uartx_sfe_s cn30xx; 4470 struct cvmx_mio_uartx_sfe_s cn30xx;
2815 struct cvmx_mio_uartx_sfe_s cn31xx; 4471 struct cvmx_mio_uartx_sfe_s cn31xx;
@@ -2828,15 +4484,23 @@ union cvmx_mio_uartx_sfe {
2828 struct cvmx_mio_uartx_sfe_s cn66xx; 4484 struct cvmx_mio_uartx_sfe_s cn66xx;
2829 struct cvmx_mio_uartx_sfe_s cn68xx; 4485 struct cvmx_mio_uartx_sfe_s cn68xx;
2830 struct cvmx_mio_uartx_sfe_s cn68xxp1; 4486 struct cvmx_mio_uartx_sfe_s cn68xxp1;
4487 struct cvmx_mio_uartx_sfe_s cnf71xx;
2831}; 4488};
2832 4489
2833union cvmx_mio_uartx_srr { 4490union cvmx_mio_uartx_srr {
2834 uint64_t u64; 4491 uint64_t u64;
2835 struct cvmx_mio_uartx_srr_s { 4492 struct cvmx_mio_uartx_srr_s {
4493#ifdef __BIG_ENDIAN_BITFIELD
2836 uint64_t reserved_3_63:61; 4494 uint64_t reserved_3_63:61;
2837 uint64_t stfr:1; 4495 uint64_t stfr:1;
2838 uint64_t srfr:1; 4496 uint64_t srfr:1;
2839 uint64_t usr:1; 4497 uint64_t usr:1;
4498#else
4499 uint64_t usr:1;
4500 uint64_t srfr:1;
4501 uint64_t stfr:1;
4502 uint64_t reserved_3_63:61;
4503#endif
2840 } s; 4504 } s;
2841 struct cvmx_mio_uartx_srr_s cn30xx; 4505 struct cvmx_mio_uartx_srr_s cn30xx;
2842 struct cvmx_mio_uartx_srr_s cn31xx; 4506 struct cvmx_mio_uartx_srr_s cn31xx;
@@ -2855,13 +4519,19 @@ union cvmx_mio_uartx_srr {
2855 struct cvmx_mio_uartx_srr_s cn66xx; 4519 struct cvmx_mio_uartx_srr_s cn66xx;
2856 struct cvmx_mio_uartx_srr_s cn68xx; 4520 struct cvmx_mio_uartx_srr_s cn68xx;
2857 struct cvmx_mio_uartx_srr_s cn68xxp1; 4521 struct cvmx_mio_uartx_srr_s cn68xxp1;
4522 struct cvmx_mio_uartx_srr_s cnf71xx;
2858}; 4523};
2859 4524
2860union cvmx_mio_uartx_srt { 4525union cvmx_mio_uartx_srt {
2861 uint64_t u64; 4526 uint64_t u64;
2862 struct cvmx_mio_uartx_srt_s { 4527 struct cvmx_mio_uartx_srt_s {
4528#ifdef __BIG_ENDIAN_BITFIELD
2863 uint64_t reserved_2_63:62; 4529 uint64_t reserved_2_63:62;
2864 uint64_t srt:2; 4530 uint64_t srt:2;
4531#else
4532 uint64_t srt:2;
4533 uint64_t reserved_2_63:62;
4534#endif
2865 } s; 4535 } s;
2866 struct cvmx_mio_uartx_srt_s cn30xx; 4536 struct cvmx_mio_uartx_srt_s cn30xx;
2867 struct cvmx_mio_uartx_srt_s cn31xx; 4537 struct cvmx_mio_uartx_srt_s cn31xx;
@@ -2880,13 +4550,19 @@ union cvmx_mio_uartx_srt {
2880 struct cvmx_mio_uartx_srt_s cn66xx; 4550 struct cvmx_mio_uartx_srt_s cn66xx;
2881 struct cvmx_mio_uartx_srt_s cn68xx; 4551 struct cvmx_mio_uartx_srt_s cn68xx;
2882 struct cvmx_mio_uartx_srt_s cn68xxp1; 4552 struct cvmx_mio_uartx_srt_s cn68xxp1;
4553 struct cvmx_mio_uartx_srt_s cnf71xx;
2883}; 4554};
2884 4555
2885union cvmx_mio_uartx_srts { 4556union cvmx_mio_uartx_srts {
2886 uint64_t u64; 4557 uint64_t u64;
2887 struct cvmx_mio_uartx_srts_s { 4558 struct cvmx_mio_uartx_srts_s {
4559#ifdef __BIG_ENDIAN_BITFIELD
2888 uint64_t reserved_1_63:63; 4560 uint64_t reserved_1_63:63;
2889 uint64_t srts:1; 4561 uint64_t srts:1;
4562#else
4563 uint64_t srts:1;
4564 uint64_t reserved_1_63:63;
4565#endif
2890 } s; 4566 } s;
2891 struct cvmx_mio_uartx_srts_s cn30xx; 4567 struct cvmx_mio_uartx_srts_s cn30xx;
2892 struct cvmx_mio_uartx_srts_s cn31xx; 4568 struct cvmx_mio_uartx_srts_s cn31xx;
@@ -2905,13 +4581,19 @@ union cvmx_mio_uartx_srts {
2905 struct cvmx_mio_uartx_srts_s cn66xx; 4581 struct cvmx_mio_uartx_srts_s cn66xx;
2906 struct cvmx_mio_uartx_srts_s cn68xx; 4582 struct cvmx_mio_uartx_srts_s cn68xx;
2907 struct cvmx_mio_uartx_srts_s cn68xxp1; 4583 struct cvmx_mio_uartx_srts_s cn68xxp1;
4584 struct cvmx_mio_uartx_srts_s cnf71xx;
2908}; 4585};
2909 4586
2910union cvmx_mio_uartx_stt { 4587union cvmx_mio_uartx_stt {
2911 uint64_t u64; 4588 uint64_t u64;
2912 struct cvmx_mio_uartx_stt_s { 4589 struct cvmx_mio_uartx_stt_s {
4590#ifdef __BIG_ENDIAN_BITFIELD
2913 uint64_t reserved_2_63:62; 4591 uint64_t reserved_2_63:62;
2914 uint64_t stt:2; 4592 uint64_t stt:2;
4593#else
4594 uint64_t stt:2;
4595 uint64_t reserved_2_63:62;
4596#endif
2915 } s; 4597 } s;
2916 struct cvmx_mio_uartx_stt_s cn30xx; 4598 struct cvmx_mio_uartx_stt_s cn30xx;
2917 struct cvmx_mio_uartx_stt_s cn31xx; 4599 struct cvmx_mio_uartx_stt_s cn31xx;
@@ -2930,13 +4612,19 @@ union cvmx_mio_uartx_stt {
2930 struct cvmx_mio_uartx_stt_s cn66xx; 4612 struct cvmx_mio_uartx_stt_s cn66xx;
2931 struct cvmx_mio_uartx_stt_s cn68xx; 4613 struct cvmx_mio_uartx_stt_s cn68xx;
2932 struct cvmx_mio_uartx_stt_s cn68xxp1; 4614 struct cvmx_mio_uartx_stt_s cn68xxp1;
4615 struct cvmx_mio_uartx_stt_s cnf71xx;
2933}; 4616};
2934 4617
2935union cvmx_mio_uartx_tfl { 4618union cvmx_mio_uartx_tfl {
2936 uint64_t u64; 4619 uint64_t u64;
2937 struct cvmx_mio_uartx_tfl_s { 4620 struct cvmx_mio_uartx_tfl_s {
4621#ifdef __BIG_ENDIAN_BITFIELD
2938 uint64_t reserved_7_63:57; 4622 uint64_t reserved_7_63:57;
2939 uint64_t tfl:7; 4623 uint64_t tfl:7;
4624#else
4625 uint64_t tfl:7;
4626 uint64_t reserved_7_63:57;
4627#endif
2940 } s; 4628 } s;
2941 struct cvmx_mio_uartx_tfl_s cn30xx; 4629 struct cvmx_mio_uartx_tfl_s cn30xx;
2942 struct cvmx_mio_uartx_tfl_s cn31xx; 4630 struct cvmx_mio_uartx_tfl_s cn31xx;
@@ -2955,13 +4643,19 @@ union cvmx_mio_uartx_tfl {
2955 struct cvmx_mio_uartx_tfl_s cn66xx; 4643 struct cvmx_mio_uartx_tfl_s cn66xx;
2956 struct cvmx_mio_uartx_tfl_s cn68xx; 4644 struct cvmx_mio_uartx_tfl_s cn68xx;
2957 struct cvmx_mio_uartx_tfl_s cn68xxp1; 4645 struct cvmx_mio_uartx_tfl_s cn68xxp1;
4646 struct cvmx_mio_uartx_tfl_s cnf71xx;
2958}; 4647};
2959 4648
2960union cvmx_mio_uartx_tfr { 4649union cvmx_mio_uartx_tfr {
2961 uint64_t u64; 4650 uint64_t u64;
2962 struct cvmx_mio_uartx_tfr_s { 4651 struct cvmx_mio_uartx_tfr_s {
4652#ifdef __BIG_ENDIAN_BITFIELD
2963 uint64_t reserved_8_63:56; 4653 uint64_t reserved_8_63:56;
2964 uint64_t tfr:8; 4654 uint64_t tfr:8;
4655#else
4656 uint64_t tfr:8;
4657 uint64_t reserved_8_63:56;
4658#endif
2965 } s; 4659 } s;
2966 struct cvmx_mio_uartx_tfr_s cn30xx; 4660 struct cvmx_mio_uartx_tfr_s cn30xx;
2967 struct cvmx_mio_uartx_tfr_s cn31xx; 4661 struct cvmx_mio_uartx_tfr_s cn31xx;
@@ -2980,13 +4674,19 @@ union cvmx_mio_uartx_tfr {
2980 struct cvmx_mio_uartx_tfr_s cn66xx; 4674 struct cvmx_mio_uartx_tfr_s cn66xx;
2981 struct cvmx_mio_uartx_tfr_s cn68xx; 4675 struct cvmx_mio_uartx_tfr_s cn68xx;
2982 struct cvmx_mio_uartx_tfr_s cn68xxp1; 4676 struct cvmx_mio_uartx_tfr_s cn68xxp1;
4677 struct cvmx_mio_uartx_tfr_s cnf71xx;
2983}; 4678};
2984 4679
2985union cvmx_mio_uartx_thr { 4680union cvmx_mio_uartx_thr {
2986 uint64_t u64; 4681 uint64_t u64;
2987 struct cvmx_mio_uartx_thr_s { 4682 struct cvmx_mio_uartx_thr_s {
4683#ifdef __BIG_ENDIAN_BITFIELD
2988 uint64_t reserved_8_63:56; 4684 uint64_t reserved_8_63:56;
2989 uint64_t thr:8; 4685 uint64_t thr:8;
4686#else
4687 uint64_t thr:8;
4688 uint64_t reserved_8_63:56;
4689#endif
2990 } s; 4690 } s;
2991 struct cvmx_mio_uartx_thr_s cn30xx; 4691 struct cvmx_mio_uartx_thr_s cn30xx;
2992 struct cvmx_mio_uartx_thr_s cn31xx; 4692 struct cvmx_mio_uartx_thr_s cn31xx;
@@ -3005,17 +4705,27 @@ union cvmx_mio_uartx_thr {
3005 struct cvmx_mio_uartx_thr_s cn66xx; 4705 struct cvmx_mio_uartx_thr_s cn66xx;
3006 struct cvmx_mio_uartx_thr_s cn68xx; 4706 struct cvmx_mio_uartx_thr_s cn68xx;
3007 struct cvmx_mio_uartx_thr_s cn68xxp1; 4707 struct cvmx_mio_uartx_thr_s cn68xxp1;
4708 struct cvmx_mio_uartx_thr_s cnf71xx;
3008}; 4709};
3009 4710
3010union cvmx_mio_uartx_usr { 4711union cvmx_mio_uartx_usr {
3011 uint64_t u64; 4712 uint64_t u64;
3012 struct cvmx_mio_uartx_usr_s { 4713 struct cvmx_mio_uartx_usr_s {
4714#ifdef __BIG_ENDIAN_BITFIELD
3013 uint64_t reserved_5_63:59; 4715 uint64_t reserved_5_63:59;
3014 uint64_t rff:1; 4716 uint64_t rff:1;
3015 uint64_t rfne:1; 4717 uint64_t rfne:1;
3016 uint64_t tfe:1; 4718 uint64_t tfe:1;
3017 uint64_t tfnf:1; 4719 uint64_t tfnf:1;
3018 uint64_t busy:1; 4720 uint64_t busy:1;
4721#else
4722 uint64_t busy:1;
4723 uint64_t tfnf:1;
4724 uint64_t tfe:1;
4725 uint64_t rfne:1;
4726 uint64_t rff:1;
4727 uint64_t reserved_5_63:59;
4728#endif
3019 } s; 4729 } s;
3020 struct cvmx_mio_uartx_usr_s cn30xx; 4730 struct cvmx_mio_uartx_usr_s cn30xx;
3021 struct cvmx_mio_uartx_usr_s cn31xx; 4731 struct cvmx_mio_uartx_usr_s cn31xx;
@@ -3034,13 +4744,19 @@ union cvmx_mio_uartx_usr {
3034 struct cvmx_mio_uartx_usr_s cn66xx; 4744 struct cvmx_mio_uartx_usr_s cn66xx;
3035 struct cvmx_mio_uartx_usr_s cn68xx; 4745 struct cvmx_mio_uartx_usr_s cn68xx;
3036 struct cvmx_mio_uartx_usr_s cn68xxp1; 4746 struct cvmx_mio_uartx_usr_s cn68xxp1;
4747 struct cvmx_mio_uartx_usr_s cnf71xx;
3037}; 4748};
3038 4749
3039union cvmx_mio_uart2_dlh { 4750union cvmx_mio_uart2_dlh {
3040 uint64_t u64; 4751 uint64_t u64;
3041 struct cvmx_mio_uart2_dlh_s { 4752 struct cvmx_mio_uart2_dlh_s {
4753#ifdef __BIG_ENDIAN_BITFIELD
3042 uint64_t reserved_8_63:56; 4754 uint64_t reserved_8_63:56;
3043 uint64_t dlh:8; 4755 uint64_t dlh:8;
4756#else
4757 uint64_t dlh:8;
4758 uint64_t reserved_8_63:56;
4759#endif
3044 } s; 4760 } s;
3045 struct cvmx_mio_uart2_dlh_s cn52xx; 4761 struct cvmx_mio_uart2_dlh_s cn52xx;
3046 struct cvmx_mio_uart2_dlh_s cn52xxp1; 4762 struct cvmx_mio_uart2_dlh_s cn52xxp1;
@@ -3049,8 +4765,13 @@ union cvmx_mio_uart2_dlh {
3049union cvmx_mio_uart2_dll { 4765union cvmx_mio_uart2_dll {
3050 uint64_t u64; 4766 uint64_t u64;
3051 struct cvmx_mio_uart2_dll_s { 4767 struct cvmx_mio_uart2_dll_s {
4768#ifdef __BIG_ENDIAN_BITFIELD
3052 uint64_t reserved_8_63:56; 4769 uint64_t reserved_8_63:56;
3053 uint64_t dll:8; 4770 uint64_t dll:8;
4771#else
4772 uint64_t dll:8;
4773 uint64_t reserved_8_63:56;
4774#endif
3054 } s; 4775 } s;
3055 struct cvmx_mio_uart2_dll_s cn52xx; 4776 struct cvmx_mio_uart2_dll_s cn52xx;
3056 struct cvmx_mio_uart2_dll_s cn52xxp1; 4777 struct cvmx_mio_uart2_dll_s cn52xxp1;
@@ -3059,8 +4780,13 @@ union cvmx_mio_uart2_dll {
3059union cvmx_mio_uart2_far { 4780union cvmx_mio_uart2_far {
3060 uint64_t u64; 4781 uint64_t u64;
3061 struct cvmx_mio_uart2_far_s { 4782 struct cvmx_mio_uart2_far_s {
4783#ifdef __BIG_ENDIAN_BITFIELD
3062 uint64_t reserved_1_63:63; 4784 uint64_t reserved_1_63:63;
3063 uint64_t far:1; 4785 uint64_t far:1;
4786#else
4787 uint64_t far:1;
4788 uint64_t reserved_1_63:63;
4789#endif
3064 } s; 4790 } s;
3065 struct cvmx_mio_uart2_far_s cn52xx; 4791 struct cvmx_mio_uart2_far_s cn52xx;
3066 struct cvmx_mio_uart2_far_s cn52xxp1; 4792 struct cvmx_mio_uart2_far_s cn52xxp1;
@@ -3069,6 +4795,7 @@ union cvmx_mio_uart2_far {
3069union cvmx_mio_uart2_fcr { 4795union cvmx_mio_uart2_fcr {
3070 uint64_t u64; 4796 uint64_t u64;
3071 struct cvmx_mio_uart2_fcr_s { 4797 struct cvmx_mio_uart2_fcr_s {
4798#ifdef __BIG_ENDIAN_BITFIELD
3072 uint64_t reserved_8_63:56; 4799 uint64_t reserved_8_63:56;
3073 uint64_t rxtrig:2; 4800 uint64_t rxtrig:2;
3074 uint64_t txtrig:2; 4801 uint64_t txtrig:2;
@@ -3076,6 +4803,15 @@ union cvmx_mio_uart2_fcr {
3076 uint64_t txfr:1; 4803 uint64_t txfr:1;
3077 uint64_t rxfr:1; 4804 uint64_t rxfr:1;
3078 uint64_t en:1; 4805 uint64_t en:1;
4806#else
4807 uint64_t en:1;
4808 uint64_t rxfr:1;
4809 uint64_t txfr:1;
4810 uint64_t reserved_3_3:1;
4811 uint64_t txtrig:2;
4812 uint64_t rxtrig:2;
4813 uint64_t reserved_8_63:56;
4814#endif
3079 } s; 4815 } s;
3080 struct cvmx_mio_uart2_fcr_s cn52xx; 4816 struct cvmx_mio_uart2_fcr_s cn52xx;
3081 struct cvmx_mio_uart2_fcr_s cn52xxp1; 4817 struct cvmx_mio_uart2_fcr_s cn52xxp1;
@@ -3084,8 +4820,13 @@ union cvmx_mio_uart2_fcr {
3084union cvmx_mio_uart2_htx { 4820union cvmx_mio_uart2_htx {
3085 uint64_t u64; 4821 uint64_t u64;
3086 struct cvmx_mio_uart2_htx_s { 4822 struct cvmx_mio_uart2_htx_s {
4823#ifdef __BIG_ENDIAN_BITFIELD
3087 uint64_t reserved_1_63:63; 4824 uint64_t reserved_1_63:63;
3088 uint64_t htx:1; 4825 uint64_t htx:1;
4826#else
4827 uint64_t htx:1;
4828 uint64_t reserved_1_63:63;
4829#endif
3089 } s; 4830 } s;
3090 struct cvmx_mio_uart2_htx_s cn52xx; 4831 struct cvmx_mio_uart2_htx_s cn52xx;
3091 struct cvmx_mio_uart2_htx_s cn52xxp1; 4832 struct cvmx_mio_uart2_htx_s cn52xxp1;
@@ -3094,6 +4835,7 @@ union cvmx_mio_uart2_htx {
3094union cvmx_mio_uart2_ier { 4835union cvmx_mio_uart2_ier {
3095 uint64_t u64; 4836 uint64_t u64;
3096 struct cvmx_mio_uart2_ier_s { 4837 struct cvmx_mio_uart2_ier_s {
4838#ifdef __BIG_ENDIAN_BITFIELD
3097 uint64_t reserved_8_63:56; 4839 uint64_t reserved_8_63:56;
3098 uint64_t ptime:1; 4840 uint64_t ptime:1;
3099 uint64_t reserved_4_6:3; 4841 uint64_t reserved_4_6:3;
@@ -3101,6 +4843,15 @@ union cvmx_mio_uart2_ier {
3101 uint64_t elsi:1; 4843 uint64_t elsi:1;
3102 uint64_t etbei:1; 4844 uint64_t etbei:1;
3103 uint64_t erbfi:1; 4845 uint64_t erbfi:1;
4846#else
4847 uint64_t erbfi:1;
4848 uint64_t etbei:1;
4849 uint64_t elsi:1;
4850 uint64_t edssi:1;
4851 uint64_t reserved_4_6:3;
4852 uint64_t ptime:1;
4853 uint64_t reserved_8_63:56;
4854#endif
3104 } s; 4855 } s;
3105 struct cvmx_mio_uart2_ier_s cn52xx; 4856 struct cvmx_mio_uart2_ier_s cn52xx;
3106 struct cvmx_mio_uart2_ier_s cn52xxp1; 4857 struct cvmx_mio_uart2_ier_s cn52xxp1;
@@ -3109,10 +4860,17 @@ union cvmx_mio_uart2_ier {
3109union cvmx_mio_uart2_iir { 4860union cvmx_mio_uart2_iir {
3110 uint64_t u64; 4861 uint64_t u64;
3111 struct cvmx_mio_uart2_iir_s { 4862 struct cvmx_mio_uart2_iir_s {
4863#ifdef __BIG_ENDIAN_BITFIELD
3112 uint64_t reserved_8_63:56; 4864 uint64_t reserved_8_63:56;
3113 uint64_t fen:2; 4865 uint64_t fen:2;
3114 uint64_t reserved_4_5:2; 4866 uint64_t reserved_4_5:2;
3115 uint64_t iid:4; 4867 uint64_t iid:4;
4868#else
4869 uint64_t iid:4;
4870 uint64_t reserved_4_5:2;
4871 uint64_t fen:2;
4872 uint64_t reserved_8_63:56;
4873#endif
3116 } s; 4874 } s;
3117 struct cvmx_mio_uart2_iir_s cn52xx; 4875 struct cvmx_mio_uart2_iir_s cn52xx;
3118 struct cvmx_mio_uart2_iir_s cn52xxp1; 4876 struct cvmx_mio_uart2_iir_s cn52xxp1;
@@ -3121,6 +4879,7 @@ union cvmx_mio_uart2_iir {
3121union cvmx_mio_uart2_lcr { 4879union cvmx_mio_uart2_lcr {
3122 uint64_t u64; 4880 uint64_t u64;
3123 struct cvmx_mio_uart2_lcr_s { 4881 struct cvmx_mio_uart2_lcr_s {
4882#ifdef __BIG_ENDIAN_BITFIELD
3124 uint64_t reserved_8_63:56; 4883 uint64_t reserved_8_63:56;
3125 uint64_t dlab:1; 4884 uint64_t dlab:1;
3126 uint64_t brk:1; 4885 uint64_t brk:1;
@@ -3129,6 +4888,16 @@ union cvmx_mio_uart2_lcr {
3129 uint64_t pen:1; 4888 uint64_t pen:1;
3130 uint64_t stop:1; 4889 uint64_t stop:1;
3131 uint64_t cls:2; 4890 uint64_t cls:2;
4891#else
4892 uint64_t cls:2;
4893 uint64_t stop:1;
4894 uint64_t pen:1;
4895 uint64_t eps:1;
4896 uint64_t reserved_5_5:1;
4897 uint64_t brk:1;
4898 uint64_t dlab:1;
4899 uint64_t reserved_8_63:56;
4900#endif
3132 } s; 4901 } s;
3133 struct cvmx_mio_uart2_lcr_s cn52xx; 4902 struct cvmx_mio_uart2_lcr_s cn52xx;
3134 struct cvmx_mio_uart2_lcr_s cn52xxp1; 4903 struct cvmx_mio_uart2_lcr_s cn52xxp1;
@@ -3137,6 +4906,7 @@ union cvmx_mio_uart2_lcr {
3137union cvmx_mio_uart2_lsr { 4906union cvmx_mio_uart2_lsr {
3138 uint64_t u64; 4907 uint64_t u64;
3139 struct cvmx_mio_uart2_lsr_s { 4908 struct cvmx_mio_uart2_lsr_s {
4909#ifdef __BIG_ENDIAN_BITFIELD
3140 uint64_t reserved_8_63:56; 4910 uint64_t reserved_8_63:56;
3141 uint64_t ferr:1; 4911 uint64_t ferr:1;
3142 uint64_t temt:1; 4912 uint64_t temt:1;
@@ -3146,6 +4916,17 @@ union cvmx_mio_uart2_lsr {
3146 uint64_t pe:1; 4916 uint64_t pe:1;
3147 uint64_t oe:1; 4917 uint64_t oe:1;
3148 uint64_t dr:1; 4918 uint64_t dr:1;
4919#else
4920 uint64_t dr:1;
4921 uint64_t oe:1;
4922 uint64_t pe:1;
4923 uint64_t fe:1;
4924 uint64_t bi:1;
4925 uint64_t thre:1;
4926 uint64_t temt:1;
4927 uint64_t ferr:1;
4928 uint64_t reserved_8_63:56;
4929#endif
3149 } s; 4930 } s;
3150 struct cvmx_mio_uart2_lsr_s cn52xx; 4931 struct cvmx_mio_uart2_lsr_s cn52xx;
3151 struct cvmx_mio_uart2_lsr_s cn52xxp1; 4932 struct cvmx_mio_uart2_lsr_s cn52xxp1;
@@ -3154,6 +4935,7 @@ union cvmx_mio_uart2_lsr {
3154union cvmx_mio_uart2_mcr { 4935union cvmx_mio_uart2_mcr {
3155 uint64_t u64; 4936 uint64_t u64;
3156 struct cvmx_mio_uart2_mcr_s { 4937 struct cvmx_mio_uart2_mcr_s {
4938#ifdef __BIG_ENDIAN_BITFIELD
3157 uint64_t reserved_6_63:58; 4939 uint64_t reserved_6_63:58;
3158 uint64_t afce:1; 4940 uint64_t afce:1;
3159 uint64_t loop:1; 4941 uint64_t loop:1;
@@ -3161,6 +4943,15 @@ union cvmx_mio_uart2_mcr {
3161 uint64_t out1:1; 4943 uint64_t out1:1;
3162 uint64_t rts:1; 4944 uint64_t rts:1;
3163 uint64_t dtr:1; 4945 uint64_t dtr:1;
4946#else
4947 uint64_t dtr:1;
4948 uint64_t rts:1;
4949 uint64_t out1:1;
4950 uint64_t out2:1;
4951 uint64_t loop:1;
4952 uint64_t afce:1;
4953 uint64_t reserved_6_63:58;
4954#endif
3164 } s; 4955 } s;
3165 struct cvmx_mio_uart2_mcr_s cn52xx; 4956 struct cvmx_mio_uart2_mcr_s cn52xx;
3166 struct cvmx_mio_uart2_mcr_s cn52xxp1; 4957 struct cvmx_mio_uart2_mcr_s cn52xxp1;
@@ -3169,6 +4960,7 @@ union cvmx_mio_uart2_mcr {
3169union cvmx_mio_uart2_msr { 4960union cvmx_mio_uart2_msr {
3170 uint64_t u64; 4961 uint64_t u64;
3171 struct cvmx_mio_uart2_msr_s { 4962 struct cvmx_mio_uart2_msr_s {
4963#ifdef __BIG_ENDIAN_BITFIELD
3172 uint64_t reserved_8_63:56; 4964 uint64_t reserved_8_63:56;
3173 uint64_t dcd:1; 4965 uint64_t dcd:1;
3174 uint64_t ri:1; 4966 uint64_t ri:1;
@@ -3178,6 +4970,17 @@ union cvmx_mio_uart2_msr {
3178 uint64_t teri:1; 4970 uint64_t teri:1;
3179 uint64_t ddsr:1; 4971 uint64_t ddsr:1;
3180 uint64_t dcts:1; 4972 uint64_t dcts:1;
4973#else
4974 uint64_t dcts:1;
4975 uint64_t ddsr:1;
4976 uint64_t teri:1;
4977 uint64_t ddcd:1;
4978 uint64_t cts:1;
4979 uint64_t dsr:1;
4980 uint64_t ri:1;
4981 uint64_t dcd:1;
4982 uint64_t reserved_8_63:56;
4983#endif
3181 } s; 4984 } s;
3182 struct cvmx_mio_uart2_msr_s cn52xx; 4985 struct cvmx_mio_uart2_msr_s cn52xx;
3183 struct cvmx_mio_uart2_msr_s cn52xxp1; 4986 struct cvmx_mio_uart2_msr_s cn52xxp1;
@@ -3186,8 +4989,13 @@ union cvmx_mio_uart2_msr {
3186union cvmx_mio_uart2_rbr { 4989union cvmx_mio_uart2_rbr {
3187 uint64_t u64; 4990 uint64_t u64;
3188 struct cvmx_mio_uart2_rbr_s { 4991 struct cvmx_mio_uart2_rbr_s {
4992#ifdef __BIG_ENDIAN_BITFIELD
3189 uint64_t reserved_8_63:56; 4993 uint64_t reserved_8_63:56;
3190 uint64_t rbr:8; 4994 uint64_t rbr:8;
4995#else
4996 uint64_t rbr:8;
4997 uint64_t reserved_8_63:56;
4998#endif
3191 } s; 4999 } s;
3192 struct cvmx_mio_uart2_rbr_s cn52xx; 5000 struct cvmx_mio_uart2_rbr_s cn52xx;
3193 struct cvmx_mio_uart2_rbr_s cn52xxp1; 5001 struct cvmx_mio_uart2_rbr_s cn52xxp1;
@@ -3196,8 +5004,13 @@ union cvmx_mio_uart2_rbr {
3196union cvmx_mio_uart2_rfl { 5004union cvmx_mio_uart2_rfl {
3197 uint64_t u64; 5005 uint64_t u64;
3198 struct cvmx_mio_uart2_rfl_s { 5006 struct cvmx_mio_uart2_rfl_s {
5007#ifdef __BIG_ENDIAN_BITFIELD
3199 uint64_t reserved_7_63:57; 5008 uint64_t reserved_7_63:57;
3200 uint64_t rfl:7; 5009 uint64_t rfl:7;
5010#else
5011 uint64_t rfl:7;
5012 uint64_t reserved_7_63:57;
5013#endif
3201 } s; 5014 } s;
3202 struct cvmx_mio_uart2_rfl_s cn52xx; 5015 struct cvmx_mio_uart2_rfl_s cn52xx;
3203 struct cvmx_mio_uart2_rfl_s cn52xxp1; 5016 struct cvmx_mio_uart2_rfl_s cn52xxp1;
@@ -3206,10 +5019,17 @@ union cvmx_mio_uart2_rfl {
3206union cvmx_mio_uart2_rfw { 5019union cvmx_mio_uart2_rfw {
3207 uint64_t u64; 5020 uint64_t u64;
3208 struct cvmx_mio_uart2_rfw_s { 5021 struct cvmx_mio_uart2_rfw_s {
5022#ifdef __BIG_ENDIAN_BITFIELD
3209 uint64_t reserved_10_63:54; 5023 uint64_t reserved_10_63:54;
3210 uint64_t rffe:1; 5024 uint64_t rffe:1;
3211 uint64_t rfpe:1; 5025 uint64_t rfpe:1;
3212 uint64_t rfwd:8; 5026 uint64_t rfwd:8;
5027#else
5028 uint64_t rfwd:8;
5029 uint64_t rfpe:1;
5030 uint64_t rffe:1;
5031 uint64_t reserved_10_63:54;
5032#endif
3213 } s; 5033 } s;
3214 struct cvmx_mio_uart2_rfw_s cn52xx; 5034 struct cvmx_mio_uart2_rfw_s cn52xx;
3215 struct cvmx_mio_uart2_rfw_s cn52xxp1; 5035 struct cvmx_mio_uart2_rfw_s cn52xxp1;
@@ -3218,8 +5038,13 @@ union cvmx_mio_uart2_rfw {
3218union cvmx_mio_uart2_sbcr { 5038union cvmx_mio_uart2_sbcr {
3219 uint64_t u64; 5039 uint64_t u64;
3220 struct cvmx_mio_uart2_sbcr_s { 5040 struct cvmx_mio_uart2_sbcr_s {
5041#ifdef __BIG_ENDIAN_BITFIELD
3221 uint64_t reserved_1_63:63; 5042 uint64_t reserved_1_63:63;
3222 uint64_t sbcr:1; 5043 uint64_t sbcr:1;
5044#else
5045 uint64_t sbcr:1;
5046 uint64_t reserved_1_63:63;
5047#endif
3223 } s; 5048 } s;
3224 struct cvmx_mio_uart2_sbcr_s cn52xx; 5049 struct cvmx_mio_uart2_sbcr_s cn52xx;
3225 struct cvmx_mio_uart2_sbcr_s cn52xxp1; 5050 struct cvmx_mio_uart2_sbcr_s cn52xxp1;
@@ -3228,8 +5053,13 @@ union cvmx_mio_uart2_sbcr {
3228union cvmx_mio_uart2_scr { 5053union cvmx_mio_uart2_scr {
3229 uint64_t u64; 5054 uint64_t u64;
3230 struct cvmx_mio_uart2_scr_s { 5055 struct cvmx_mio_uart2_scr_s {
5056#ifdef __BIG_ENDIAN_BITFIELD
3231 uint64_t reserved_8_63:56; 5057 uint64_t reserved_8_63:56;
3232 uint64_t scr:8; 5058 uint64_t scr:8;
5059#else
5060 uint64_t scr:8;
5061 uint64_t reserved_8_63:56;
5062#endif
3233 } s; 5063 } s;
3234 struct cvmx_mio_uart2_scr_s cn52xx; 5064 struct cvmx_mio_uart2_scr_s cn52xx;
3235 struct cvmx_mio_uart2_scr_s cn52xxp1; 5065 struct cvmx_mio_uart2_scr_s cn52xxp1;
@@ -3238,8 +5068,13 @@ union cvmx_mio_uart2_scr {
3238union cvmx_mio_uart2_sfe { 5068union cvmx_mio_uart2_sfe {
3239 uint64_t u64; 5069 uint64_t u64;
3240 struct cvmx_mio_uart2_sfe_s { 5070 struct cvmx_mio_uart2_sfe_s {
5071#ifdef __BIG_ENDIAN_BITFIELD
3241 uint64_t reserved_1_63:63; 5072 uint64_t reserved_1_63:63;
3242 uint64_t sfe:1; 5073 uint64_t sfe:1;
5074#else
5075 uint64_t sfe:1;
5076 uint64_t reserved_1_63:63;
5077#endif
3243 } s; 5078 } s;
3244 struct cvmx_mio_uart2_sfe_s cn52xx; 5079 struct cvmx_mio_uart2_sfe_s cn52xx;
3245 struct cvmx_mio_uart2_sfe_s cn52xxp1; 5080 struct cvmx_mio_uart2_sfe_s cn52xxp1;
@@ -3248,10 +5083,17 @@ union cvmx_mio_uart2_sfe {
3248union cvmx_mio_uart2_srr { 5083union cvmx_mio_uart2_srr {
3249 uint64_t u64; 5084 uint64_t u64;
3250 struct cvmx_mio_uart2_srr_s { 5085 struct cvmx_mio_uart2_srr_s {
5086#ifdef __BIG_ENDIAN_BITFIELD
3251 uint64_t reserved_3_63:61; 5087 uint64_t reserved_3_63:61;
3252 uint64_t stfr:1; 5088 uint64_t stfr:1;
3253 uint64_t srfr:1; 5089 uint64_t srfr:1;
3254 uint64_t usr:1; 5090 uint64_t usr:1;
5091#else
5092 uint64_t usr:1;
5093 uint64_t srfr:1;
5094 uint64_t stfr:1;
5095 uint64_t reserved_3_63:61;
5096#endif
3255 } s; 5097 } s;
3256 struct cvmx_mio_uart2_srr_s cn52xx; 5098 struct cvmx_mio_uart2_srr_s cn52xx;
3257 struct cvmx_mio_uart2_srr_s cn52xxp1; 5099 struct cvmx_mio_uart2_srr_s cn52xxp1;
@@ -3260,8 +5102,13 @@ union cvmx_mio_uart2_srr {
3260union cvmx_mio_uart2_srt { 5102union cvmx_mio_uart2_srt {
3261 uint64_t u64; 5103 uint64_t u64;
3262 struct cvmx_mio_uart2_srt_s { 5104 struct cvmx_mio_uart2_srt_s {
5105#ifdef __BIG_ENDIAN_BITFIELD
3263 uint64_t reserved_2_63:62; 5106 uint64_t reserved_2_63:62;
3264 uint64_t srt:2; 5107 uint64_t srt:2;
5108#else
5109 uint64_t srt:2;
5110 uint64_t reserved_2_63:62;
5111#endif
3265 } s; 5112 } s;
3266 struct cvmx_mio_uart2_srt_s cn52xx; 5113 struct cvmx_mio_uart2_srt_s cn52xx;
3267 struct cvmx_mio_uart2_srt_s cn52xxp1; 5114 struct cvmx_mio_uart2_srt_s cn52xxp1;
@@ -3270,8 +5117,13 @@ union cvmx_mio_uart2_srt {
3270union cvmx_mio_uart2_srts { 5117union cvmx_mio_uart2_srts {
3271 uint64_t u64; 5118 uint64_t u64;
3272 struct cvmx_mio_uart2_srts_s { 5119 struct cvmx_mio_uart2_srts_s {
5120#ifdef __BIG_ENDIAN_BITFIELD
3273 uint64_t reserved_1_63:63; 5121 uint64_t reserved_1_63:63;
3274 uint64_t srts:1; 5122 uint64_t srts:1;
5123#else
5124 uint64_t srts:1;
5125 uint64_t reserved_1_63:63;
5126#endif
3275 } s; 5127 } s;
3276 struct cvmx_mio_uart2_srts_s cn52xx; 5128 struct cvmx_mio_uart2_srts_s cn52xx;
3277 struct cvmx_mio_uart2_srts_s cn52xxp1; 5129 struct cvmx_mio_uart2_srts_s cn52xxp1;
@@ -3280,8 +5132,13 @@ union cvmx_mio_uart2_srts {
3280union cvmx_mio_uart2_stt { 5132union cvmx_mio_uart2_stt {
3281 uint64_t u64; 5133 uint64_t u64;
3282 struct cvmx_mio_uart2_stt_s { 5134 struct cvmx_mio_uart2_stt_s {
5135#ifdef __BIG_ENDIAN_BITFIELD
3283 uint64_t reserved_2_63:62; 5136 uint64_t reserved_2_63:62;
3284 uint64_t stt:2; 5137 uint64_t stt:2;
5138#else
5139 uint64_t stt:2;
5140 uint64_t reserved_2_63:62;
5141#endif
3285 } s; 5142 } s;
3286 struct cvmx_mio_uart2_stt_s cn52xx; 5143 struct cvmx_mio_uart2_stt_s cn52xx;
3287 struct cvmx_mio_uart2_stt_s cn52xxp1; 5144 struct cvmx_mio_uart2_stt_s cn52xxp1;
@@ -3290,8 +5147,13 @@ union cvmx_mio_uart2_stt {
3290union cvmx_mio_uart2_tfl { 5147union cvmx_mio_uart2_tfl {
3291 uint64_t u64; 5148 uint64_t u64;
3292 struct cvmx_mio_uart2_tfl_s { 5149 struct cvmx_mio_uart2_tfl_s {
5150#ifdef __BIG_ENDIAN_BITFIELD
3293 uint64_t reserved_7_63:57; 5151 uint64_t reserved_7_63:57;
3294 uint64_t tfl:7; 5152 uint64_t tfl:7;
5153#else
5154 uint64_t tfl:7;
5155 uint64_t reserved_7_63:57;
5156#endif
3295 } s; 5157 } s;
3296 struct cvmx_mio_uart2_tfl_s cn52xx; 5158 struct cvmx_mio_uart2_tfl_s cn52xx;
3297 struct cvmx_mio_uart2_tfl_s cn52xxp1; 5159 struct cvmx_mio_uart2_tfl_s cn52xxp1;
@@ -3300,8 +5162,13 @@ union cvmx_mio_uart2_tfl {
3300union cvmx_mio_uart2_tfr { 5162union cvmx_mio_uart2_tfr {
3301 uint64_t u64; 5163 uint64_t u64;
3302 struct cvmx_mio_uart2_tfr_s { 5164 struct cvmx_mio_uart2_tfr_s {
5165#ifdef __BIG_ENDIAN_BITFIELD
3303 uint64_t reserved_8_63:56; 5166 uint64_t reserved_8_63:56;
3304 uint64_t tfr:8; 5167 uint64_t tfr:8;
5168#else
5169 uint64_t tfr:8;
5170 uint64_t reserved_8_63:56;
5171#endif
3305 } s; 5172 } s;
3306 struct cvmx_mio_uart2_tfr_s cn52xx; 5173 struct cvmx_mio_uart2_tfr_s cn52xx;
3307 struct cvmx_mio_uart2_tfr_s cn52xxp1; 5174 struct cvmx_mio_uart2_tfr_s cn52xxp1;
@@ -3310,8 +5177,13 @@ union cvmx_mio_uart2_tfr {
3310union cvmx_mio_uart2_thr { 5177union cvmx_mio_uart2_thr {
3311 uint64_t u64; 5178 uint64_t u64;
3312 struct cvmx_mio_uart2_thr_s { 5179 struct cvmx_mio_uart2_thr_s {
5180#ifdef __BIG_ENDIAN_BITFIELD
3313 uint64_t reserved_8_63:56; 5181 uint64_t reserved_8_63:56;
3314 uint64_t thr:8; 5182 uint64_t thr:8;
5183#else
5184 uint64_t thr:8;
5185 uint64_t reserved_8_63:56;
5186#endif
3315 } s; 5187 } s;
3316 struct cvmx_mio_uart2_thr_s cn52xx; 5188 struct cvmx_mio_uart2_thr_s cn52xx;
3317 struct cvmx_mio_uart2_thr_s cn52xxp1; 5189 struct cvmx_mio_uart2_thr_s cn52xxp1;
@@ -3320,12 +5192,21 @@ union cvmx_mio_uart2_thr {
3320union cvmx_mio_uart2_usr { 5192union cvmx_mio_uart2_usr {
3321 uint64_t u64; 5193 uint64_t u64;
3322 struct cvmx_mio_uart2_usr_s { 5194 struct cvmx_mio_uart2_usr_s {
5195#ifdef __BIG_ENDIAN_BITFIELD
3323 uint64_t reserved_5_63:59; 5196 uint64_t reserved_5_63:59;
3324 uint64_t rff:1; 5197 uint64_t rff:1;
3325 uint64_t rfne:1; 5198 uint64_t rfne:1;
3326 uint64_t tfe:1; 5199 uint64_t tfe:1;
3327 uint64_t tfnf:1; 5200 uint64_t tfnf:1;
3328 uint64_t busy:1; 5201 uint64_t busy:1;
5202#else
5203 uint64_t busy:1;
5204 uint64_t tfnf:1;
5205 uint64_t tfe:1;
5206 uint64_t rfne:1;
5207 uint64_t rff:1;
5208 uint64_t reserved_5_63:59;
5209#endif
3329 } s; 5210 } s;
3330 struct cvmx_mio_uart2_usr_s cn52xx; 5211 struct cvmx_mio_uart2_usr_s cn52xx;
3331 struct cvmx_mio_uart2_usr_s cn52xxp1; 5212 struct cvmx_mio_uart2_usr_s cn52xxp1;
diff --git a/arch/mips/include/asm/octeon/cvmx-mixx-defs.h b/arch/mips/include/asm/octeon/cvmx-mixx-defs.h
index 7057c447e69e..3155e6019dc8 100644
--- a/arch/mips/include/asm/octeon/cvmx-mixx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-mixx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -47,6 +47,7 @@
47union cvmx_mixx_bist { 47union cvmx_mixx_bist {
48 uint64_t u64; 48 uint64_t u64;
49 struct cvmx_mixx_bist_s { 49 struct cvmx_mixx_bist_s {
50#ifdef __BIG_ENDIAN_BITFIELD
50 uint64_t reserved_6_63:58; 51 uint64_t reserved_6_63:58;
51 uint64_t opfdat:1; 52 uint64_t opfdat:1;
52 uint64_t mrgdat:1; 53 uint64_t mrgdat:1;
@@ -54,24 +55,46 @@ union cvmx_mixx_bist {
54 uint64_t ipfdat:1; 55 uint64_t ipfdat:1;
55 uint64_t irfdat:1; 56 uint64_t irfdat:1;
56 uint64_t orfdat:1; 57 uint64_t orfdat:1;
58#else
59 uint64_t orfdat:1;
60 uint64_t irfdat:1;
61 uint64_t ipfdat:1;
62 uint64_t mrqdat:1;
63 uint64_t mrgdat:1;
64 uint64_t opfdat:1;
65 uint64_t reserved_6_63:58;
66#endif
57 } s; 67 } s;
58 struct cvmx_mixx_bist_cn52xx { 68 struct cvmx_mixx_bist_cn52xx {
69#ifdef __BIG_ENDIAN_BITFIELD
59 uint64_t reserved_4_63:60; 70 uint64_t reserved_4_63:60;
60 uint64_t mrqdat:1; 71 uint64_t mrqdat:1;
61 uint64_t ipfdat:1; 72 uint64_t ipfdat:1;
62 uint64_t irfdat:1; 73 uint64_t irfdat:1;
63 uint64_t orfdat:1; 74 uint64_t orfdat:1;
75#else
76 uint64_t orfdat:1;
77 uint64_t irfdat:1;
78 uint64_t ipfdat:1;
79 uint64_t mrqdat:1;
80 uint64_t reserved_4_63:60;
81#endif
64 } cn52xx; 82 } cn52xx;
65 struct cvmx_mixx_bist_cn52xx cn52xxp1; 83 struct cvmx_mixx_bist_cn52xx cn52xxp1;
66 struct cvmx_mixx_bist_cn52xx cn56xx; 84 struct cvmx_mixx_bist_cn52xx cn56xx;
67 struct cvmx_mixx_bist_cn52xx cn56xxp1; 85 struct cvmx_mixx_bist_cn52xx cn56xxp1;
86 struct cvmx_mixx_bist_s cn61xx;
68 struct cvmx_mixx_bist_s cn63xx; 87 struct cvmx_mixx_bist_s cn63xx;
69 struct cvmx_mixx_bist_s cn63xxp1; 88 struct cvmx_mixx_bist_s cn63xxp1;
89 struct cvmx_mixx_bist_s cn66xx;
90 struct cvmx_mixx_bist_s cn68xx;
91 struct cvmx_mixx_bist_s cn68xxp1;
70}; 92};
71 93
72union cvmx_mixx_ctl { 94union cvmx_mixx_ctl {
73 uint64_t u64; 95 uint64_t u64;
74 struct cvmx_mixx_ctl_s { 96 struct cvmx_mixx_ctl_s {
97#ifdef __BIG_ENDIAN_BITFIELD
75 uint64_t reserved_12_63:52; 98 uint64_t reserved_12_63:52;
76 uint64_t ts_thresh:4; 99 uint64_t ts_thresh:4;
77 uint64_t crc_strip:1; 100 uint64_t crc_strip:1;
@@ -81,8 +104,20 @@ union cvmx_mixx_ctl {
81 uint64_t lendian:1; 104 uint64_t lendian:1;
82 uint64_t nbtarb:1; 105 uint64_t nbtarb:1;
83 uint64_t mrq_hwm:2; 106 uint64_t mrq_hwm:2;
107#else
108 uint64_t mrq_hwm:2;
109 uint64_t nbtarb:1;
110 uint64_t lendian:1;
111 uint64_t reset:1;
112 uint64_t en:1;
113 uint64_t busy:1;
114 uint64_t crc_strip:1;
115 uint64_t ts_thresh:4;
116 uint64_t reserved_12_63:52;
117#endif
84 } s; 118 } s;
85 struct cvmx_mixx_ctl_cn52xx { 119 struct cvmx_mixx_ctl_cn52xx {
120#ifdef __BIG_ENDIAN_BITFIELD
86 uint64_t reserved_8_63:56; 121 uint64_t reserved_8_63:56;
87 uint64_t crc_strip:1; 122 uint64_t crc_strip:1;
88 uint64_t busy:1; 123 uint64_t busy:1;
@@ -91,17 +126,32 @@ union cvmx_mixx_ctl {
91 uint64_t lendian:1; 126 uint64_t lendian:1;
92 uint64_t nbtarb:1; 127 uint64_t nbtarb:1;
93 uint64_t mrq_hwm:2; 128 uint64_t mrq_hwm:2;
129#else
130 uint64_t mrq_hwm:2;
131 uint64_t nbtarb:1;
132 uint64_t lendian:1;
133 uint64_t reset:1;
134 uint64_t en:1;
135 uint64_t busy:1;
136 uint64_t crc_strip:1;
137 uint64_t reserved_8_63:56;
138#endif
94 } cn52xx; 139 } cn52xx;
95 struct cvmx_mixx_ctl_cn52xx cn52xxp1; 140 struct cvmx_mixx_ctl_cn52xx cn52xxp1;
96 struct cvmx_mixx_ctl_cn52xx cn56xx; 141 struct cvmx_mixx_ctl_cn52xx cn56xx;
97 struct cvmx_mixx_ctl_cn52xx cn56xxp1; 142 struct cvmx_mixx_ctl_cn52xx cn56xxp1;
143 struct cvmx_mixx_ctl_s cn61xx;
98 struct cvmx_mixx_ctl_s cn63xx; 144 struct cvmx_mixx_ctl_s cn63xx;
99 struct cvmx_mixx_ctl_s cn63xxp1; 145 struct cvmx_mixx_ctl_s cn63xxp1;
146 struct cvmx_mixx_ctl_s cn66xx;
147 struct cvmx_mixx_ctl_s cn68xx;
148 struct cvmx_mixx_ctl_s cn68xxp1;
100}; 149};
101 150
102union cvmx_mixx_intena { 151union cvmx_mixx_intena {
103 uint64_t u64; 152 uint64_t u64;
104 struct cvmx_mixx_intena_s { 153 struct cvmx_mixx_intena_s {
154#ifdef __BIG_ENDIAN_BITFIELD
105 uint64_t reserved_8_63:56; 155 uint64_t reserved_8_63:56;
106 uint64_t tsena:1; 156 uint64_t tsena:1;
107 uint64_t orunena:1; 157 uint64_t orunena:1;
@@ -111,8 +161,20 @@ union cvmx_mixx_intena {
111 uint64_t othena:1; 161 uint64_t othena:1;
112 uint64_t ivfena:1; 162 uint64_t ivfena:1;
113 uint64_t ovfena:1; 163 uint64_t ovfena:1;
164#else
165 uint64_t ovfena:1;
166 uint64_t ivfena:1;
167 uint64_t othena:1;
168 uint64_t ithena:1;
169 uint64_t data_drpena:1;
170 uint64_t irunena:1;
171 uint64_t orunena:1;
172 uint64_t tsena:1;
173 uint64_t reserved_8_63:56;
174#endif
114 } s; 175 } s;
115 struct cvmx_mixx_intena_cn52xx { 176 struct cvmx_mixx_intena_cn52xx {
177#ifdef __BIG_ENDIAN_BITFIELD
116 uint64_t reserved_7_63:57; 178 uint64_t reserved_7_63:57;
117 uint64_t orunena:1; 179 uint64_t orunena:1;
118 uint64_t irunena:1; 180 uint64_t irunena:1;
@@ -121,84 +183,148 @@ union cvmx_mixx_intena {
121 uint64_t othena:1; 183 uint64_t othena:1;
122 uint64_t ivfena:1; 184 uint64_t ivfena:1;
123 uint64_t ovfena:1; 185 uint64_t ovfena:1;
186#else
187 uint64_t ovfena:1;
188 uint64_t ivfena:1;
189 uint64_t othena:1;
190 uint64_t ithena:1;
191 uint64_t data_drpena:1;
192 uint64_t irunena:1;
193 uint64_t orunena:1;
194 uint64_t reserved_7_63:57;
195#endif
124 } cn52xx; 196 } cn52xx;
125 struct cvmx_mixx_intena_cn52xx cn52xxp1; 197 struct cvmx_mixx_intena_cn52xx cn52xxp1;
126 struct cvmx_mixx_intena_cn52xx cn56xx; 198 struct cvmx_mixx_intena_cn52xx cn56xx;
127 struct cvmx_mixx_intena_cn52xx cn56xxp1; 199 struct cvmx_mixx_intena_cn52xx cn56xxp1;
200 struct cvmx_mixx_intena_s cn61xx;
128 struct cvmx_mixx_intena_s cn63xx; 201 struct cvmx_mixx_intena_s cn63xx;
129 struct cvmx_mixx_intena_s cn63xxp1; 202 struct cvmx_mixx_intena_s cn63xxp1;
203 struct cvmx_mixx_intena_s cn66xx;
204 struct cvmx_mixx_intena_s cn68xx;
205 struct cvmx_mixx_intena_s cn68xxp1;
130}; 206};
131 207
132union cvmx_mixx_ircnt { 208union cvmx_mixx_ircnt {
133 uint64_t u64; 209 uint64_t u64;
134 struct cvmx_mixx_ircnt_s { 210 struct cvmx_mixx_ircnt_s {
211#ifdef __BIG_ENDIAN_BITFIELD
135 uint64_t reserved_20_63:44; 212 uint64_t reserved_20_63:44;
136 uint64_t ircnt:20; 213 uint64_t ircnt:20;
214#else
215 uint64_t ircnt:20;
216 uint64_t reserved_20_63:44;
217#endif
137 } s; 218 } s;
138 struct cvmx_mixx_ircnt_s cn52xx; 219 struct cvmx_mixx_ircnt_s cn52xx;
139 struct cvmx_mixx_ircnt_s cn52xxp1; 220 struct cvmx_mixx_ircnt_s cn52xxp1;
140 struct cvmx_mixx_ircnt_s cn56xx; 221 struct cvmx_mixx_ircnt_s cn56xx;
141 struct cvmx_mixx_ircnt_s cn56xxp1; 222 struct cvmx_mixx_ircnt_s cn56xxp1;
223 struct cvmx_mixx_ircnt_s cn61xx;
142 struct cvmx_mixx_ircnt_s cn63xx; 224 struct cvmx_mixx_ircnt_s cn63xx;
143 struct cvmx_mixx_ircnt_s cn63xxp1; 225 struct cvmx_mixx_ircnt_s cn63xxp1;
226 struct cvmx_mixx_ircnt_s cn66xx;
227 struct cvmx_mixx_ircnt_s cn68xx;
228 struct cvmx_mixx_ircnt_s cn68xxp1;
144}; 229};
145 230
146union cvmx_mixx_irhwm { 231union cvmx_mixx_irhwm {
147 uint64_t u64; 232 uint64_t u64;
148 struct cvmx_mixx_irhwm_s { 233 struct cvmx_mixx_irhwm_s {
234#ifdef __BIG_ENDIAN_BITFIELD
149 uint64_t reserved_40_63:24; 235 uint64_t reserved_40_63:24;
150 uint64_t ibplwm:20; 236 uint64_t ibplwm:20;
151 uint64_t irhwm:20; 237 uint64_t irhwm:20;
238#else
239 uint64_t irhwm:20;
240 uint64_t ibplwm:20;
241 uint64_t reserved_40_63:24;
242#endif
152 } s; 243 } s;
153 struct cvmx_mixx_irhwm_s cn52xx; 244 struct cvmx_mixx_irhwm_s cn52xx;
154 struct cvmx_mixx_irhwm_s cn52xxp1; 245 struct cvmx_mixx_irhwm_s cn52xxp1;
155 struct cvmx_mixx_irhwm_s cn56xx; 246 struct cvmx_mixx_irhwm_s cn56xx;
156 struct cvmx_mixx_irhwm_s cn56xxp1; 247 struct cvmx_mixx_irhwm_s cn56xxp1;
248 struct cvmx_mixx_irhwm_s cn61xx;
157 struct cvmx_mixx_irhwm_s cn63xx; 249 struct cvmx_mixx_irhwm_s cn63xx;
158 struct cvmx_mixx_irhwm_s cn63xxp1; 250 struct cvmx_mixx_irhwm_s cn63xxp1;
251 struct cvmx_mixx_irhwm_s cn66xx;
252 struct cvmx_mixx_irhwm_s cn68xx;
253 struct cvmx_mixx_irhwm_s cn68xxp1;
159}; 254};
160 255
161union cvmx_mixx_iring1 { 256union cvmx_mixx_iring1 {
162 uint64_t u64; 257 uint64_t u64;
163 struct cvmx_mixx_iring1_s { 258 struct cvmx_mixx_iring1_s {
259#ifdef __BIG_ENDIAN_BITFIELD
164 uint64_t reserved_60_63:4; 260 uint64_t reserved_60_63:4;
165 uint64_t isize:20; 261 uint64_t isize:20;
166 uint64_t ibase:37; 262 uint64_t ibase:37;
167 uint64_t reserved_0_2:3; 263 uint64_t reserved_0_2:3;
264#else
265 uint64_t reserved_0_2:3;
266 uint64_t ibase:37;
267 uint64_t isize:20;
268 uint64_t reserved_60_63:4;
269#endif
168 } s; 270 } s;
169 struct cvmx_mixx_iring1_cn52xx { 271 struct cvmx_mixx_iring1_cn52xx {
272#ifdef __BIG_ENDIAN_BITFIELD
170 uint64_t reserved_60_63:4; 273 uint64_t reserved_60_63:4;
171 uint64_t isize:20; 274 uint64_t isize:20;
172 uint64_t reserved_36_39:4; 275 uint64_t reserved_36_39:4;
173 uint64_t ibase:33; 276 uint64_t ibase:33;
174 uint64_t reserved_0_2:3; 277 uint64_t reserved_0_2:3;
278#else
279 uint64_t reserved_0_2:3;
280 uint64_t ibase:33;
281 uint64_t reserved_36_39:4;
282 uint64_t isize:20;
283 uint64_t reserved_60_63:4;
284#endif
175 } cn52xx; 285 } cn52xx;
176 struct cvmx_mixx_iring1_cn52xx cn52xxp1; 286 struct cvmx_mixx_iring1_cn52xx cn52xxp1;
177 struct cvmx_mixx_iring1_cn52xx cn56xx; 287 struct cvmx_mixx_iring1_cn52xx cn56xx;
178 struct cvmx_mixx_iring1_cn52xx cn56xxp1; 288 struct cvmx_mixx_iring1_cn52xx cn56xxp1;
289 struct cvmx_mixx_iring1_s cn61xx;
179 struct cvmx_mixx_iring1_s cn63xx; 290 struct cvmx_mixx_iring1_s cn63xx;
180 struct cvmx_mixx_iring1_s cn63xxp1; 291 struct cvmx_mixx_iring1_s cn63xxp1;
292 struct cvmx_mixx_iring1_s cn66xx;
293 struct cvmx_mixx_iring1_s cn68xx;
294 struct cvmx_mixx_iring1_s cn68xxp1;
181}; 295};
182 296
183union cvmx_mixx_iring2 { 297union cvmx_mixx_iring2 {
184 uint64_t u64; 298 uint64_t u64;
185 struct cvmx_mixx_iring2_s { 299 struct cvmx_mixx_iring2_s {
300#ifdef __BIG_ENDIAN_BITFIELD
186 uint64_t reserved_52_63:12; 301 uint64_t reserved_52_63:12;
187 uint64_t itlptr:20; 302 uint64_t itlptr:20;
188 uint64_t reserved_20_31:12; 303 uint64_t reserved_20_31:12;
189 uint64_t idbell:20; 304 uint64_t idbell:20;
305#else
306 uint64_t idbell:20;
307 uint64_t reserved_20_31:12;
308 uint64_t itlptr:20;
309 uint64_t reserved_52_63:12;
310#endif
190 } s; 311 } s;
191 struct cvmx_mixx_iring2_s cn52xx; 312 struct cvmx_mixx_iring2_s cn52xx;
192 struct cvmx_mixx_iring2_s cn52xxp1; 313 struct cvmx_mixx_iring2_s cn52xxp1;
193 struct cvmx_mixx_iring2_s cn56xx; 314 struct cvmx_mixx_iring2_s cn56xx;
194 struct cvmx_mixx_iring2_s cn56xxp1; 315 struct cvmx_mixx_iring2_s cn56xxp1;
316 struct cvmx_mixx_iring2_s cn61xx;
195 struct cvmx_mixx_iring2_s cn63xx; 317 struct cvmx_mixx_iring2_s cn63xx;
196 struct cvmx_mixx_iring2_s cn63xxp1; 318 struct cvmx_mixx_iring2_s cn63xxp1;
319 struct cvmx_mixx_iring2_s cn66xx;
320 struct cvmx_mixx_iring2_s cn68xx;
321 struct cvmx_mixx_iring2_s cn68xxp1;
197}; 322};
198 323
199union cvmx_mixx_isr { 324union cvmx_mixx_isr {
200 uint64_t u64; 325 uint64_t u64;
201 struct cvmx_mixx_isr_s { 326 struct cvmx_mixx_isr_s {
327#ifdef __BIG_ENDIAN_BITFIELD
202 uint64_t reserved_8_63:56; 328 uint64_t reserved_8_63:56;
203 uint64_t ts:1; 329 uint64_t ts:1;
204 uint64_t orun:1; 330 uint64_t orun:1;
@@ -208,8 +334,20 @@ union cvmx_mixx_isr {
208 uint64_t orthresh:1; 334 uint64_t orthresh:1;
209 uint64_t idblovf:1; 335 uint64_t idblovf:1;
210 uint64_t odblovf:1; 336 uint64_t odblovf:1;
337#else
338 uint64_t odblovf:1;
339 uint64_t idblovf:1;
340 uint64_t orthresh:1;
341 uint64_t irthresh:1;
342 uint64_t data_drp:1;
343 uint64_t irun:1;
344 uint64_t orun:1;
345 uint64_t ts:1;
346 uint64_t reserved_8_63:56;
347#endif
211 } s; 348 } s;
212 struct cvmx_mixx_isr_cn52xx { 349 struct cvmx_mixx_isr_cn52xx {
350#ifdef __BIG_ENDIAN_BITFIELD
213 uint64_t reserved_7_63:57; 351 uint64_t reserved_7_63:57;
214 uint64_t orun:1; 352 uint64_t orun:1;
215 uint64_t irun:1; 353 uint64_t irun:1;
@@ -218,117 +356,211 @@ union cvmx_mixx_isr {
218 uint64_t orthresh:1; 356 uint64_t orthresh:1;
219 uint64_t idblovf:1; 357 uint64_t idblovf:1;
220 uint64_t odblovf:1; 358 uint64_t odblovf:1;
359#else
360 uint64_t odblovf:1;
361 uint64_t idblovf:1;
362 uint64_t orthresh:1;
363 uint64_t irthresh:1;
364 uint64_t data_drp:1;
365 uint64_t irun:1;
366 uint64_t orun:1;
367 uint64_t reserved_7_63:57;
368#endif
221 } cn52xx; 369 } cn52xx;
222 struct cvmx_mixx_isr_cn52xx cn52xxp1; 370 struct cvmx_mixx_isr_cn52xx cn52xxp1;
223 struct cvmx_mixx_isr_cn52xx cn56xx; 371 struct cvmx_mixx_isr_cn52xx cn56xx;
224 struct cvmx_mixx_isr_cn52xx cn56xxp1; 372 struct cvmx_mixx_isr_cn52xx cn56xxp1;
373 struct cvmx_mixx_isr_s cn61xx;
225 struct cvmx_mixx_isr_s cn63xx; 374 struct cvmx_mixx_isr_s cn63xx;
226 struct cvmx_mixx_isr_s cn63xxp1; 375 struct cvmx_mixx_isr_s cn63xxp1;
376 struct cvmx_mixx_isr_s cn66xx;
377 struct cvmx_mixx_isr_s cn68xx;
378 struct cvmx_mixx_isr_s cn68xxp1;
227}; 379};
228 380
229union cvmx_mixx_orcnt { 381union cvmx_mixx_orcnt {
230 uint64_t u64; 382 uint64_t u64;
231 struct cvmx_mixx_orcnt_s { 383 struct cvmx_mixx_orcnt_s {
384#ifdef __BIG_ENDIAN_BITFIELD
232 uint64_t reserved_20_63:44; 385 uint64_t reserved_20_63:44;
233 uint64_t orcnt:20; 386 uint64_t orcnt:20;
387#else
388 uint64_t orcnt:20;
389 uint64_t reserved_20_63:44;
390#endif
234 } s; 391 } s;
235 struct cvmx_mixx_orcnt_s cn52xx; 392 struct cvmx_mixx_orcnt_s cn52xx;
236 struct cvmx_mixx_orcnt_s cn52xxp1; 393 struct cvmx_mixx_orcnt_s cn52xxp1;
237 struct cvmx_mixx_orcnt_s cn56xx; 394 struct cvmx_mixx_orcnt_s cn56xx;
238 struct cvmx_mixx_orcnt_s cn56xxp1; 395 struct cvmx_mixx_orcnt_s cn56xxp1;
396 struct cvmx_mixx_orcnt_s cn61xx;
239 struct cvmx_mixx_orcnt_s cn63xx; 397 struct cvmx_mixx_orcnt_s cn63xx;
240 struct cvmx_mixx_orcnt_s cn63xxp1; 398 struct cvmx_mixx_orcnt_s cn63xxp1;
399 struct cvmx_mixx_orcnt_s cn66xx;
400 struct cvmx_mixx_orcnt_s cn68xx;
401 struct cvmx_mixx_orcnt_s cn68xxp1;
241}; 402};
242 403
243union cvmx_mixx_orhwm { 404union cvmx_mixx_orhwm {
244 uint64_t u64; 405 uint64_t u64;
245 struct cvmx_mixx_orhwm_s { 406 struct cvmx_mixx_orhwm_s {
407#ifdef __BIG_ENDIAN_BITFIELD
246 uint64_t reserved_20_63:44; 408 uint64_t reserved_20_63:44;
247 uint64_t orhwm:20; 409 uint64_t orhwm:20;
410#else
411 uint64_t orhwm:20;
412 uint64_t reserved_20_63:44;
413#endif
248 } s; 414 } s;
249 struct cvmx_mixx_orhwm_s cn52xx; 415 struct cvmx_mixx_orhwm_s cn52xx;
250 struct cvmx_mixx_orhwm_s cn52xxp1; 416 struct cvmx_mixx_orhwm_s cn52xxp1;
251 struct cvmx_mixx_orhwm_s cn56xx; 417 struct cvmx_mixx_orhwm_s cn56xx;
252 struct cvmx_mixx_orhwm_s cn56xxp1; 418 struct cvmx_mixx_orhwm_s cn56xxp1;
419 struct cvmx_mixx_orhwm_s cn61xx;
253 struct cvmx_mixx_orhwm_s cn63xx; 420 struct cvmx_mixx_orhwm_s cn63xx;
254 struct cvmx_mixx_orhwm_s cn63xxp1; 421 struct cvmx_mixx_orhwm_s cn63xxp1;
422 struct cvmx_mixx_orhwm_s cn66xx;
423 struct cvmx_mixx_orhwm_s cn68xx;
424 struct cvmx_mixx_orhwm_s cn68xxp1;
255}; 425};
256 426
257union cvmx_mixx_oring1 { 427union cvmx_mixx_oring1 {
258 uint64_t u64; 428 uint64_t u64;
259 struct cvmx_mixx_oring1_s { 429 struct cvmx_mixx_oring1_s {
430#ifdef __BIG_ENDIAN_BITFIELD
260 uint64_t reserved_60_63:4; 431 uint64_t reserved_60_63:4;
261 uint64_t osize:20; 432 uint64_t osize:20;
262 uint64_t obase:37; 433 uint64_t obase:37;
263 uint64_t reserved_0_2:3; 434 uint64_t reserved_0_2:3;
435#else
436 uint64_t reserved_0_2:3;
437 uint64_t obase:37;
438 uint64_t osize:20;
439 uint64_t reserved_60_63:4;
440#endif
264 } s; 441 } s;
265 struct cvmx_mixx_oring1_cn52xx { 442 struct cvmx_mixx_oring1_cn52xx {
443#ifdef __BIG_ENDIAN_BITFIELD
266 uint64_t reserved_60_63:4; 444 uint64_t reserved_60_63:4;
267 uint64_t osize:20; 445 uint64_t osize:20;
268 uint64_t reserved_36_39:4; 446 uint64_t reserved_36_39:4;
269 uint64_t obase:33; 447 uint64_t obase:33;
270 uint64_t reserved_0_2:3; 448 uint64_t reserved_0_2:3;
449#else
450 uint64_t reserved_0_2:3;
451 uint64_t obase:33;
452 uint64_t reserved_36_39:4;
453 uint64_t osize:20;
454 uint64_t reserved_60_63:4;
455#endif
271 } cn52xx; 456 } cn52xx;
272 struct cvmx_mixx_oring1_cn52xx cn52xxp1; 457 struct cvmx_mixx_oring1_cn52xx cn52xxp1;
273 struct cvmx_mixx_oring1_cn52xx cn56xx; 458 struct cvmx_mixx_oring1_cn52xx cn56xx;
274 struct cvmx_mixx_oring1_cn52xx cn56xxp1; 459 struct cvmx_mixx_oring1_cn52xx cn56xxp1;
460 struct cvmx_mixx_oring1_s cn61xx;
275 struct cvmx_mixx_oring1_s cn63xx; 461 struct cvmx_mixx_oring1_s cn63xx;
276 struct cvmx_mixx_oring1_s cn63xxp1; 462 struct cvmx_mixx_oring1_s cn63xxp1;
463 struct cvmx_mixx_oring1_s cn66xx;
464 struct cvmx_mixx_oring1_s cn68xx;
465 struct cvmx_mixx_oring1_s cn68xxp1;
277}; 466};
278 467
279union cvmx_mixx_oring2 { 468union cvmx_mixx_oring2 {
280 uint64_t u64; 469 uint64_t u64;
281 struct cvmx_mixx_oring2_s { 470 struct cvmx_mixx_oring2_s {
471#ifdef __BIG_ENDIAN_BITFIELD
282 uint64_t reserved_52_63:12; 472 uint64_t reserved_52_63:12;
283 uint64_t otlptr:20; 473 uint64_t otlptr:20;
284 uint64_t reserved_20_31:12; 474 uint64_t reserved_20_31:12;
285 uint64_t odbell:20; 475 uint64_t odbell:20;
476#else
477 uint64_t odbell:20;
478 uint64_t reserved_20_31:12;
479 uint64_t otlptr:20;
480 uint64_t reserved_52_63:12;
481#endif
286 } s; 482 } s;
287 struct cvmx_mixx_oring2_s cn52xx; 483 struct cvmx_mixx_oring2_s cn52xx;
288 struct cvmx_mixx_oring2_s cn52xxp1; 484 struct cvmx_mixx_oring2_s cn52xxp1;
289 struct cvmx_mixx_oring2_s cn56xx; 485 struct cvmx_mixx_oring2_s cn56xx;
290 struct cvmx_mixx_oring2_s cn56xxp1; 486 struct cvmx_mixx_oring2_s cn56xxp1;
487 struct cvmx_mixx_oring2_s cn61xx;
291 struct cvmx_mixx_oring2_s cn63xx; 488 struct cvmx_mixx_oring2_s cn63xx;
292 struct cvmx_mixx_oring2_s cn63xxp1; 489 struct cvmx_mixx_oring2_s cn63xxp1;
490 struct cvmx_mixx_oring2_s cn66xx;
491 struct cvmx_mixx_oring2_s cn68xx;
492 struct cvmx_mixx_oring2_s cn68xxp1;
293}; 493};
294 494
295union cvmx_mixx_remcnt { 495union cvmx_mixx_remcnt {
296 uint64_t u64; 496 uint64_t u64;
297 struct cvmx_mixx_remcnt_s { 497 struct cvmx_mixx_remcnt_s {
498#ifdef __BIG_ENDIAN_BITFIELD
298 uint64_t reserved_52_63:12; 499 uint64_t reserved_52_63:12;
299 uint64_t iremcnt:20; 500 uint64_t iremcnt:20;
300 uint64_t reserved_20_31:12; 501 uint64_t reserved_20_31:12;
301 uint64_t oremcnt:20; 502 uint64_t oremcnt:20;
503#else
504 uint64_t oremcnt:20;
505 uint64_t reserved_20_31:12;
506 uint64_t iremcnt:20;
507 uint64_t reserved_52_63:12;
508#endif
302 } s; 509 } s;
303 struct cvmx_mixx_remcnt_s cn52xx; 510 struct cvmx_mixx_remcnt_s cn52xx;
304 struct cvmx_mixx_remcnt_s cn52xxp1; 511 struct cvmx_mixx_remcnt_s cn52xxp1;
305 struct cvmx_mixx_remcnt_s cn56xx; 512 struct cvmx_mixx_remcnt_s cn56xx;
306 struct cvmx_mixx_remcnt_s cn56xxp1; 513 struct cvmx_mixx_remcnt_s cn56xxp1;
514 struct cvmx_mixx_remcnt_s cn61xx;
307 struct cvmx_mixx_remcnt_s cn63xx; 515 struct cvmx_mixx_remcnt_s cn63xx;
308 struct cvmx_mixx_remcnt_s cn63xxp1; 516 struct cvmx_mixx_remcnt_s cn63xxp1;
517 struct cvmx_mixx_remcnt_s cn66xx;
518 struct cvmx_mixx_remcnt_s cn68xx;
519 struct cvmx_mixx_remcnt_s cn68xxp1;
309}; 520};
310 521
311union cvmx_mixx_tsctl { 522union cvmx_mixx_tsctl {
312 uint64_t u64; 523 uint64_t u64;
313 struct cvmx_mixx_tsctl_s { 524 struct cvmx_mixx_tsctl_s {
525#ifdef __BIG_ENDIAN_BITFIELD
314 uint64_t reserved_21_63:43; 526 uint64_t reserved_21_63:43;
315 uint64_t tsavl:5; 527 uint64_t tsavl:5;
316 uint64_t reserved_13_15:3; 528 uint64_t reserved_13_15:3;
317 uint64_t tstot:5; 529 uint64_t tstot:5;
318 uint64_t reserved_5_7:3; 530 uint64_t reserved_5_7:3;
319 uint64_t tscnt:5; 531 uint64_t tscnt:5;
532#else
533 uint64_t tscnt:5;
534 uint64_t reserved_5_7:3;
535 uint64_t tstot:5;
536 uint64_t reserved_13_15:3;
537 uint64_t tsavl:5;
538 uint64_t reserved_21_63:43;
539#endif
320 } s; 540 } s;
541 struct cvmx_mixx_tsctl_s cn61xx;
321 struct cvmx_mixx_tsctl_s cn63xx; 542 struct cvmx_mixx_tsctl_s cn63xx;
322 struct cvmx_mixx_tsctl_s cn63xxp1; 543 struct cvmx_mixx_tsctl_s cn63xxp1;
544 struct cvmx_mixx_tsctl_s cn66xx;
545 struct cvmx_mixx_tsctl_s cn68xx;
546 struct cvmx_mixx_tsctl_s cn68xxp1;
323}; 547};
324 548
325union cvmx_mixx_tstamp { 549union cvmx_mixx_tstamp {
326 uint64_t u64; 550 uint64_t u64;
327 struct cvmx_mixx_tstamp_s { 551 struct cvmx_mixx_tstamp_s {
552#ifdef __BIG_ENDIAN_BITFIELD
328 uint64_t tstamp:64; 553 uint64_t tstamp:64;
554#else
555 uint64_t tstamp:64;
556#endif
329 } s; 557 } s;
558 struct cvmx_mixx_tstamp_s cn61xx;
330 struct cvmx_mixx_tstamp_s cn63xx; 559 struct cvmx_mixx_tstamp_s cn63xx;
331 struct cvmx_mixx_tstamp_s cn63xxp1; 560 struct cvmx_mixx_tstamp_s cn63xxp1;
561 struct cvmx_mixx_tstamp_s cn66xx;
562 struct cvmx_mixx_tstamp_s cn68xx;
563 struct cvmx_mixx_tstamp_s cn68xxp1;
332}; 564};
333 565
334#endif 566#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-mpi-defs.h b/arch/mips/include/asm/octeon/cvmx-mpi-defs.h
new file mode 100644
index 000000000000..4615b102625b
--- /dev/null
+++ b/arch/mips/include/asm/octeon/cvmx-mpi-defs.h
@@ -0,0 +1,328 @@
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2012 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_MPI_DEFS_H__
29#define __CVMX_MPI_DEFS_H__
30
31#define CVMX_MPI_CFG (CVMX_ADD_IO_SEG(0x0001070000001000ull))
32#define CVMX_MPI_DATX(offset) (CVMX_ADD_IO_SEG(0x0001070000001080ull) + ((offset) & 15) * 8)
33#define CVMX_MPI_STS (CVMX_ADD_IO_SEG(0x0001070000001008ull))
34#define CVMX_MPI_TX (CVMX_ADD_IO_SEG(0x0001070000001010ull))
35
36union cvmx_mpi_cfg {
37 uint64_t u64;
38 struct cvmx_mpi_cfg_s {
39#ifdef __BIG_ENDIAN_BITFIELD
40 uint64_t reserved_29_63:35;
41 uint64_t clkdiv:13;
42 uint64_t csena3:1;
43 uint64_t csena2:1;
44 uint64_t csena1:1;
45 uint64_t csena0:1;
46 uint64_t cslate:1;
47 uint64_t tritx:1;
48 uint64_t idleclks:2;
49 uint64_t cshi:1;
50 uint64_t csena:1;
51 uint64_t int_ena:1;
52 uint64_t lsbfirst:1;
53 uint64_t wireor:1;
54 uint64_t clk_cont:1;
55 uint64_t idlelo:1;
56 uint64_t enable:1;
57#else
58 uint64_t enable:1;
59 uint64_t idlelo:1;
60 uint64_t clk_cont:1;
61 uint64_t wireor:1;
62 uint64_t lsbfirst:1;
63 uint64_t int_ena:1;
64 uint64_t csena:1;
65 uint64_t cshi:1;
66 uint64_t idleclks:2;
67 uint64_t tritx:1;
68 uint64_t cslate:1;
69 uint64_t csena0:1;
70 uint64_t csena1:1;
71 uint64_t csena2:1;
72 uint64_t csena3:1;
73 uint64_t clkdiv:13;
74 uint64_t reserved_29_63:35;
75#endif
76 } s;
77 struct cvmx_mpi_cfg_cn30xx {
78#ifdef __BIG_ENDIAN_BITFIELD
79 uint64_t reserved_29_63:35;
80 uint64_t clkdiv:13;
81 uint64_t reserved_12_15:4;
82 uint64_t cslate:1;
83 uint64_t tritx:1;
84 uint64_t idleclks:2;
85 uint64_t cshi:1;
86 uint64_t csena:1;
87 uint64_t int_ena:1;
88 uint64_t lsbfirst:1;
89 uint64_t wireor:1;
90 uint64_t clk_cont:1;
91 uint64_t idlelo:1;
92 uint64_t enable:1;
93#else
94 uint64_t enable:1;
95 uint64_t idlelo:1;
96 uint64_t clk_cont:1;
97 uint64_t wireor:1;
98 uint64_t lsbfirst:1;
99 uint64_t int_ena:1;
100 uint64_t csena:1;
101 uint64_t cshi:1;
102 uint64_t idleclks:2;
103 uint64_t tritx:1;
104 uint64_t cslate:1;
105 uint64_t reserved_12_15:4;
106 uint64_t clkdiv:13;
107 uint64_t reserved_29_63:35;
108#endif
109 } cn30xx;
110 struct cvmx_mpi_cfg_cn31xx {
111#ifdef __BIG_ENDIAN_BITFIELD
112 uint64_t reserved_29_63:35;
113 uint64_t clkdiv:13;
114 uint64_t reserved_11_15:5;
115 uint64_t tritx:1;
116 uint64_t idleclks:2;
117 uint64_t cshi:1;
118 uint64_t csena:1;
119 uint64_t int_ena:1;
120 uint64_t lsbfirst:1;
121 uint64_t wireor:1;
122 uint64_t clk_cont:1;
123 uint64_t idlelo:1;
124 uint64_t enable:1;
125#else
126 uint64_t enable:1;
127 uint64_t idlelo:1;
128 uint64_t clk_cont:1;
129 uint64_t wireor:1;
130 uint64_t lsbfirst:1;
131 uint64_t int_ena:1;
132 uint64_t csena:1;
133 uint64_t cshi:1;
134 uint64_t idleclks:2;
135 uint64_t tritx:1;
136 uint64_t reserved_11_15:5;
137 uint64_t clkdiv:13;
138 uint64_t reserved_29_63:35;
139#endif
140 } cn31xx;
141 struct cvmx_mpi_cfg_cn30xx cn50xx;
142 struct cvmx_mpi_cfg_cn61xx {
143#ifdef __BIG_ENDIAN_BITFIELD
144 uint64_t reserved_29_63:35;
145 uint64_t clkdiv:13;
146 uint64_t reserved_14_15:2;
147 uint64_t csena1:1;
148 uint64_t csena0:1;
149 uint64_t cslate:1;
150 uint64_t tritx:1;
151 uint64_t idleclks:2;
152 uint64_t cshi:1;
153 uint64_t reserved_6_6:1;
154 uint64_t int_ena:1;
155 uint64_t lsbfirst:1;
156 uint64_t wireor:1;
157 uint64_t clk_cont:1;
158 uint64_t idlelo:1;
159 uint64_t enable:1;
160#else
161 uint64_t enable:1;
162 uint64_t idlelo:1;
163 uint64_t clk_cont:1;
164 uint64_t wireor:1;
165 uint64_t lsbfirst:1;
166 uint64_t int_ena:1;
167 uint64_t reserved_6_6:1;
168 uint64_t cshi:1;
169 uint64_t idleclks:2;
170 uint64_t tritx:1;
171 uint64_t cslate:1;
172 uint64_t csena0:1;
173 uint64_t csena1:1;
174 uint64_t reserved_14_15:2;
175 uint64_t clkdiv:13;
176 uint64_t reserved_29_63:35;
177#endif
178 } cn61xx;
179 struct cvmx_mpi_cfg_cn66xx {
180#ifdef __BIG_ENDIAN_BITFIELD
181 uint64_t reserved_29_63:35;
182 uint64_t clkdiv:13;
183 uint64_t csena3:1;
184 uint64_t csena2:1;
185 uint64_t reserved_12_13:2;
186 uint64_t cslate:1;
187 uint64_t tritx:1;
188 uint64_t idleclks:2;
189 uint64_t cshi:1;
190 uint64_t reserved_6_6:1;
191 uint64_t int_ena:1;
192 uint64_t lsbfirst:1;
193 uint64_t wireor:1;
194 uint64_t clk_cont:1;
195 uint64_t idlelo:1;
196 uint64_t enable:1;
197#else
198 uint64_t enable:1;
199 uint64_t idlelo:1;
200 uint64_t clk_cont:1;
201 uint64_t wireor:1;
202 uint64_t lsbfirst:1;
203 uint64_t int_ena:1;
204 uint64_t reserved_6_6:1;
205 uint64_t cshi:1;
206 uint64_t idleclks:2;
207 uint64_t tritx:1;
208 uint64_t cslate:1;
209 uint64_t reserved_12_13:2;
210 uint64_t csena2:1;
211 uint64_t csena3:1;
212 uint64_t clkdiv:13;
213 uint64_t reserved_29_63:35;
214#endif
215 } cn66xx;
216 struct cvmx_mpi_cfg_cn61xx cnf71xx;
217};
218
219union cvmx_mpi_datx {
220 uint64_t u64;
221 struct cvmx_mpi_datx_s {
222#ifdef __BIG_ENDIAN_BITFIELD
223 uint64_t reserved_8_63:56;
224 uint64_t data:8;
225#else
226 uint64_t data:8;
227 uint64_t reserved_8_63:56;
228#endif
229 } s;
230 struct cvmx_mpi_datx_s cn30xx;
231 struct cvmx_mpi_datx_s cn31xx;
232 struct cvmx_mpi_datx_s cn50xx;
233 struct cvmx_mpi_datx_s cn61xx;
234 struct cvmx_mpi_datx_s cn66xx;
235 struct cvmx_mpi_datx_s cnf71xx;
236};
237
238union cvmx_mpi_sts {
239 uint64_t u64;
240 struct cvmx_mpi_sts_s {
241#ifdef __BIG_ENDIAN_BITFIELD
242 uint64_t reserved_13_63:51;
243 uint64_t rxnum:5;
244 uint64_t reserved_1_7:7;
245 uint64_t busy:1;
246#else
247 uint64_t busy:1;
248 uint64_t reserved_1_7:7;
249 uint64_t rxnum:5;
250 uint64_t reserved_13_63:51;
251#endif
252 } s;
253 struct cvmx_mpi_sts_s cn30xx;
254 struct cvmx_mpi_sts_s cn31xx;
255 struct cvmx_mpi_sts_s cn50xx;
256 struct cvmx_mpi_sts_s cn61xx;
257 struct cvmx_mpi_sts_s cn66xx;
258 struct cvmx_mpi_sts_s cnf71xx;
259};
260
261union cvmx_mpi_tx {
262 uint64_t u64;
263 struct cvmx_mpi_tx_s {
264#ifdef __BIG_ENDIAN_BITFIELD
265 uint64_t reserved_22_63:42;
266 uint64_t csid:2;
267 uint64_t reserved_17_19:3;
268 uint64_t leavecs:1;
269 uint64_t reserved_13_15:3;
270 uint64_t txnum:5;
271 uint64_t reserved_5_7:3;
272 uint64_t totnum:5;
273#else
274 uint64_t totnum:5;
275 uint64_t reserved_5_7:3;
276 uint64_t txnum:5;
277 uint64_t reserved_13_15:3;
278 uint64_t leavecs:1;
279 uint64_t reserved_17_19:3;
280 uint64_t csid:2;
281 uint64_t reserved_22_63:42;
282#endif
283 } s;
284 struct cvmx_mpi_tx_cn30xx {
285#ifdef __BIG_ENDIAN_BITFIELD
286 uint64_t reserved_17_63:47;
287 uint64_t leavecs:1;
288 uint64_t reserved_13_15:3;
289 uint64_t txnum:5;
290 uint64_t reserved_5_7:3;
291 uint64_t totnum:5;
292#else
293 uint64_t totnum:5;
294 uint64_t reserved_5_7:3;
295 uint64_t txnum:5;
296 uint64_t reserved_13_15:3;
297 uint64_t leavecs:1;
298 uint64_t reserved_17_63:47;
299#endif
300 } cn30xx;
301 struct cvmx_mpi_tx_cn30xx cn31xx;
302 struct cvmx_mpi_tx_cn30xx cn50xx;
303 struct cvmx_mpi_tx_cn61xx {
304#ifdef __BIG_ENDIAN_BITFIELD
305 uint64_t reserved_21_63:43;
306 uint64_t csid:1;
307 uint64_t reserved_17_19:3;
308 uint64_t leavecs:1;
309 uint64_t reserved_13_15:3;
310 uint64_t txnum:5;
311 uint64_t reserved_5_7:3;
312 uint64_t totnum:5;
313#else
314 uint64_t totnum:5;
315 uint64_t reserved_5_7:3;
316 uint64_t txnum:5;
317 uint64_t reserved_13_15:3;
318 uint64_t leavecs:1;
319 uint64_t reserved_17_19:3;
320 uint64_t csid:1;
321 uint64_t reserved_21_63:43;
322#endif
323 } cn61xx;
324 struct cvmx_mpi_tx_s cn66xx;
325 struct cvmx_mpi_tx_cn61xx cnf71xx;
326};
327
328#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-npei-defs.h b/arch/mips/include/asm/octeon/cvmx-npei-defs.h
index a3075f733ca5..58114d414356 100644
--- a/arch/mips/include/asm/octeon/cvmx-npei-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-npei-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2011 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -140,11 +140,19 @@
140union cvmx_npei_bar1_indexx { 140union cvmx_npei_bar1_indexx {
141 uint32_t u32; 141 uint32_t u32;
142 struct cvmx_npei_bar1_indexx_s { 142 struct cvmx_npei_bar1_indexx_s {
143#ifdef __BIG_ENDIAN_BITFIELD
143 uint32_t reserved_18_31:14; 144 uint32_t reserved_18_31:14;
144 uint32_t addr_idx:14; 145 uint32_t addr_idx:14;
145 uint32_t ca:1; 146 uint32_t ca:1;
146 uint32_t end_swp:2; 147 uint32_t end_swp:2;
147 uint32_t addr_v:1; 148 uint32_t addr_v:1;
149#else
150 uint32_t addr_v:1;
151 uint32_t end_swp:2;
152 uint32_t ca:1;
153 uint32_t addr_idx:14;
154 uint32_t reserved_18_31:14;
155#endif
148 } s; 156 } s;
149 struct cvmx_npei_bar1_indexx_s cn52xx; 157 struct cvmx_npei_bar1_indexx_s cn52xx;
150 struct cvmx_npei_bar1_indexx_s cn52xxp1; 158 struct cvmx_npei_bar1_indexx_s cn52xxp1;
@@ -155,6 +163,7 @@ union cvmx_npei_bar1_indexx {
155union cvmx_npei_bist_status { 163union cvmx_npei_bist_status {
156 uint64_t u64; 164 uint64_t u64;
157 struct cvmx_npei_bist_status_s { 165 struct cvmx_npei_bist_status_s {
166#ifdef __BIG_ENDIAN_BITFIELD
158 uint64_t pkt_rdf:1; 167 uint64_t pkt_rdf:1;
159 uint64_t reserved_60_62:3; 168 uint64_t reserved_60_62:3;
160 uint64_t pcr_gim:1; 169 uint64_t pcr_gim:1;
@@ -204,8 +213,60 @@ union cvmx_npei_bist_status {
204 uint64_t reserved_2_2:1; 213 uint64_t reserved_2_2:1;
205 uint64_t msi:1; 214 uint64_t msi:1;
206 uint64_t ncb_cmd:1; 215 uint64_t ncb_cmd:1;
216#else
217 uint64_t ncb_cmd:1;
218 uint64_t msi:1;
219 uint64_t reserved_2_2:1;
220 uint64_t dif3:1;
221 uint64_t dif2:1;
222 uint64_t dif1:1;
223 uint64_t dif0:1;
224 uint64_t csm1:1;
225 uint64_t csm0:1;
226 uint64_t p2n1_p1:1;
227 uint64_t p2n1_p0:1;
228 uint64_t p2n1_n:1;
229 uint64_t p2n1_c1:1;
230 uint64_t p2n1_c0:1;
231 uint64_t p2n0_p1:1;
232 uint64_t p2n0_p0:1;
233 uint64_t p2n0_n:1;
234 uint64_t p2n0_c1:1;
235 uint64_t p2n0_c0:1;
236 uint64_t p2n0_co:1;
237 uint64_t p2n0_no:1;
238 uint64_t p2n0_po:1;
239 uint64_t p2n1_co:1;
240 uint64_t p2n1_no:1;
241 uint64_t p2n1_po:1;
242 uint64_t cpl_p1:1;
243 uint64_t cpl_p0:1;
244 uint64_t n2p1_o:1;
245 uint64_t n2p1_c:1;
246 uint64_t n2p0_o:1;
247 uint64_t n2p0_c:1;
248 uint64_t reserved_31_31:1;
249 uint64_t d3_pst:1;
250 uint64_t d2_pst:1;
251 uint64_t d1_pst:1;
252 uint64_t d0_pst:1;
253 uint64_t reserved_36_47:12;
254 uint64_t pkt_slm:1;
255 uint64_t pkt_ind:1;
256 uint64_t reserved_50_52:3;
257 uint64_t pcsr_sl:1;
258 uint64_t pcsr_id:1;
259 uint64_t pcsr_cnt:1;
260 uint64_t pcsr_im:1;
261 uint64_t pcsr_int:1;
262 uint64_t pkt_pif:1;
263 uint64_t pcr_gim:1;
264 uint64_t reserved_60_62:3;
265 uint64_t pkt_rdf:1;
266#endif
207 } s; 267 } s;
208 struct cvmx_npei_bist_status_cn52xx { 268 struct cvmx_npei_bist_status_cn52xx {
269#ifdef __BIG_ENDIAN_BITFIELD
209 uint64_t pkt_rdf:1; 270 uint64_t pkt_rdf:1;
210 uint64_t reserved_60_62:3; 271 uint64_t reserved_60_62:3;
211 uint64_t pcr_gim:1; 272 uint64_t pcr_gim:1;
@@ -264,8 +325,69 @@ union cvmx_npei_bist_status {
264 uint64_t dif4:1; 325 uint64_t dif4:1;
265 uint64_t msi:1; 326 uint64_t msi:1;
266 uint64_t ncb_cmd:1; 327 uint64_t ncb_cmd:1;
328#else
329 uint64_t ncb_cmd:1;
330 uint64_t msi:1;
331 uint64_t dif4:1;
332 uint64_t dif3:1;
333 uint64_t dif2:1;
334 uint64_t dif1:1;
335 uint64_t dif0:1;
336 uint64_t csm1:1;
337 uint64_t csm0:1;
338 uint64_t p2n1_p1:1;
339 uint64_t p2n1_p0:1;
340 uint64_t p2n1_n:1;
341 uint64_t p2n1_c1:1;
342 uint64_t p2n1_c0:1;
343 uint64_t p2n0_p1:1;
344 uint64_t p2n0_p0:1;
345 uint64_t p2n0_n:1;
346 uint64_t p2n0_c1:1;
347 uint64_t p2n0_c0:1;
348 uint64_t p2n0_co:1;
349 uint64_t p2n0_no:1;
350 uint64_t p2n0_po:1;
351 uint64_t p2n1_co:1;
352 uint64_t p2n1_no:1;
353 uint64_t p2n1_po:1;
354 uint64_t cpl_p1:1;
355 uint64_t cpl_p0:1;
356 uint64_t n2p1_o:1;
357 uint64_t n2p1_c:1;
358 uint64_t n2p0_o:1;
359 uint64_t n2p0_c:1;
360 uint64_t d4_pst:1;
361 uint64_t d3_pst:1;
362 uint64_t d2_pst:1;
363 uint64_t d1_pst:1;
364 uint64_t d0_pst:1;
365 uint64_t reserved_36_39:4;
366 uint64_t ds_mem:1;
367 uint64_t d4_mem:1;
368 uint64_t d3_mem:1;
369 uint64_t d2_mem:1;
370 uint64_t d1_mem:1;
371 uint64_t d0_mem:1;
372 uint64_t pkt_pop1:1;
373 uint64_t pkt_pop0:1;
374 uint64_t reserved_48_49:2;
375 uint64_t pkt_pof:1;
376 uint64_t pkt_pfm:1;
377 uint64_t pkt_imem:1;
378 uint64_t pcsr_sl:1;
379 uint64_t pcsr_id:1;
380 uint64_t pcsr_cnt:1;
381 uint64_t pcsr_im:1;
382 uint64_t pcsr_int:1;
383 uint64_t pkt_pif:1;
384 uint64_t pcr_gim:1;
385 uint64_t reserved_60_62:3;
386 uint64_t pkt_rdf:1;
387#endif
267 } cn52xx; 388 } cn52xx;
268 struct cvmx_npei_bist_status_cn52xxp1 { 389 struct cvmx_npei_bist_status_cn52xxp1 {
390#ifdef __BIG_ENDIAN_BITFIELD
269 uint64_t reserved_46_63:18; 391 uint64_t reserved_46_63:18;
270 uint64_t d0_mem0:1; 392 uint64_t d0_mem0:1;
271 uint64_t d1_mem1:1; 393 uint64_t d1_mem1:1;
@@ -313,9 +435,59 @@ union cvmx_npei_bist_status {
313 uint64_t dr3_mem:1; 435 uint64_t dr3_mem:1;
314 uint64_t msi:1; 436 uint64_t msi:1;
315 uint64_t ncb_cmd:1; 437 uint64_t ncb_cmd:1;
438#else
439 uint64_t ncb_cmd:1;
440 uint64_t msi:1;
441 uint64_t dr3_mem:1;
442 uint64_t dif3:1;
443 uint64_t dif2:1;
444 uint64_t dif1:1;
445 uint64_t dif0:1;
446 uint64_t csm1:1;
447 uint64_t csm0:1;
448 uint64_t p2n1_p1:1;
449 uint64_t p2n1_p0:1;
450 uint64_t p2n1_n:1;
451 uint64_t p2n1_c1:1;
452 uint64_t p2n1_c0:1;
453 uint64_t p2n0_p1:1;
454 uint64_t p2n0_p0:1;
455 uint64_t p2n0_n:1;
456 uint64_t p2n0_c1:1;
457 uint64_t p2n0_c0:1;
458 uint64_t p2n0_co:1;
459 uint64_t p2n0_no:1;
460 uint64_t p2n0_po:1;
461 uint64_t p2n1_co:1;
462 uint64_t p2n1_no:1;
463 uint64_t p2n1_po:1;
464 uint64_t cpl_p1:1;
465 uint64_t cpl_p0:1;
466 uint64_t n2p1_o:1;
467 uint64_t n2p1_c:1;
468 uint64_t n2p0_o:1;
469 uint64_t n2p0_c:1;
470 uint64_t dr2_mem:1;
471 uint64_t d3_pst:1;
472 uint64_t d2_pst:1;
473 uint64_t d1_pst:1;
474 uint64_t d0_pst:1;
475 uint64_t dr1_mem:1;
476 uint64_t d3_mem:1;
477 uint64_t d2_mem:1;
478 uint64_t d1_mem:1;
479 uint64_t d0_mem:1;
480 uint64_t dr0_mem:1;
481 uint64_t d3_mem3:1;
482 uint64_t d2_mem2:1;
483 uint64_t d1_mem1:1;
484 uint64_t d0_mem0:1;
485 uint64_t reserved_46_63:18;
486#endif
316 } cn52xxp1; 487 } cn52xxp1;
317 struct cvmx_npei_bist_status_cn52xx cn56xx; 488 struct cvmx_npei_bist_status_cn52xx cn56xx;
318 struct cvmx_npei_bist_status_cn56xxp1 { 489 struct cvmx_npei_bist_status_cn56xxp1 {
490#ifdef __BIG_ENDIAN_BITFIELD
319 uint64_t reserved_58_63:6; 491 uint64_t reserved_58_63:6;
320 uint64_t pcsr_int:1; 492 uint64_t pcsr_int:1;
321 uint64_t pcsr_im:1; 493 uint64_t pcsr_im:1;
@@ -375,12 +547,74 @@ union cvmx_npei_bist_status {
375 uint64_t dif4:1; 547 uint64_t dif4:1;
376 uint64_t msi:1; 548 uint64_t msi:1;
377 uint64_t ncb_cmd:1; 549 uint64_t ncb_cmd:1;
550#else
551 uint64_t ncb_cmd:1;
552 uint64_t msi:1;
553 uint64_t dif4:1;
554 uint64_t dif3:1;
555 uint64_t dif2:1;
556 uint64_t dif1:1;
557 uint64_t dif0:1;
558 uint64_t csm1:1;
559 uint64_t csm0:1;
560 uint64_t p2n1_p1:1;
561 uint64_t p2n1_p0:1;
562 uint64_t p2n1_n:1;
563 uint64_t p2n1_c1:1;
564 uint64_t p2n1_c0:1;
565 uint64_t p2n0_p1:1;
566 uint64_t p2n0_p0:1;
567 uint64_t p2n0_n:1;
568 uint64_t p2n0_c1:1;
569 uint64_t p2n0_c0:1;
570 uint64_t p2n0_co:1;
571 uint64_t p2n0_no:1;
572 uint64_t p2n0_po:1;
573 uint64_t p2n1_co:1;
574 uint64_t p2n1_no:1;
575 uint64_t p2n1_po:1;
576 uint64_t cpl_p1:1;
577 uint64_t cpl_p0:1;
578 uint64_t n2p1_o:1;
579 uint64_t n2p1_c:1;
580 uint64_t n2p0_o:1;
581 uint64_t n2p0_c:1;
582 uint64_t d4_pst:1;
583 uint64_t d3_pst:1;
584 uint64_t d2_pst:1;
585 uint64_t d1_pst:1;
586 uint64_t d0_pst:1;
587 uint64_t d4_mem:1;
588 uint64_t d3_mem:1;
589 uint64_t d2_mem:1;
590 uint64_t d1_mem:1;
591 uint64_t d0_mem:1;
592 uint64_t pkt_s1:1;
593 uint64_t pkt_s0:1;
594 uint64_t pkt_i1:1;
595 uint64_t pkt_i0:1;
596 uint64_t pkt_out:1;
597 uint64_t pkt_oif:1;
598 uint64_t pkt_odf:1;
599 uint64_t pkt_slm:1;
600 uint64_t pkt_ind:1;
601 uint64_t pkt_cntm:1;
602 uint64_t pkt_imem:1;
603 uint64_t pkt_pout:1;
604 uint64_t pcsr_sl:1;
605 uint64_t pcsr_id:1;
606 uint64_t pcsr_cnt:1;
607 uint64_t pcsr_im:1;
608 uint64_t pcsr_int:1;
609 uint64_t reserved_58_63:6;
610#endif
378 } cn56xxp1; 611 } cn56xxp1;
379}; 612};
380 613
381union cvmx_npei_bist_status2 { 614union cvmx_npei_bist_status2 {
382 uint64_t u64; 615 uint64_t u64;
383 struct cvmx_npei_bist_status2_s { 616 struct cvmx_npei_bist_status2_s {
617#ifdef __BIG_ENDIAN_BITFIELD
384 uint64_t reserved_14_63:50; 618 uint64_t reserved_14_63:50;
385 uint64_t prd_tag:1; 619 uint64_t prd_tag:1;
386 uint64_t prd_st0:1; 620 uint64_t prd_st0:1;
@@ -396,6 +630,23 @@ union cvmx_npei_bist_status2 {
396 uint64_t pkt_gd:1; 630 uint64_t pkt_gd:1;
397 uint64_t pkt_gl:1; 631 uint64_t pkt_gl:1;
398 uint64_t pkt_blk:1; 632 uint64_t pkt_blk:1;
633#else
634 uint64_t pkt_blk:1;
635 uint64_t pkt_gl:1;
636 uint64_t pkt_gd:1;
637 uint64_t psc_p1:1;
638 uint64_t psc_p0:1;
639 uint64_t pkt_rd:1;
640 uint64_t nwe_wr1:1;
641 uint64_t nwe_wr0:1;
642 uint64_t nwe_st:1;
643 uint64_t nrd_st:1;
644 uint64_t prd_err:1;
645 uint64_t prd_st1:1;
646 uint64_t prd_st0:1;
647 uint64_t prd_tag:1;
648 uint64_t reserved_14_63:50;
649#endif
399 } s; 650 } s;
400 struct cvmx_npei_bist_status2_s cn52xx; 651 struct cvmx_npei_bist_status2_s cn52xx;
401 struct cvmx_npei_bist_status2_s cn56xx; 652 struct cvmx_npei_bist_status2_s cn56xx;
@@ -404,6 +655,7 @@ union cvmx_npei_bist_status2 {
404union cvmx_npei_ctl_port0 { 655union cvmx_npei_ctl_port0 {
405 uint64_t u64; 656 uint64_t u64;
406 struct cvmx_npei_ctl_port0_s { 657 struct cvmx_npei_ctl_port0_s {
658#ifdef __BIG_ENDIAN_BITFIELD
407 uint64_t reserved_21_63:43; 659 uint64_t reserved_21_63:43;
408 uint64_t waitl_com:1; 660 uint64_t waitl_com:1;
409 uint64_t intd:1; 661 uint64_t intd:1;
@@ -421,6 +673,25 @@ union cvmx_npei_ctl_port0 {
421 uint64_t bar2_esx:2; 673 uint64_t bar2_esx:2;
422 uint64_t bar2_cax:1; 674 uint64_t bar2_cax:1;
423 uint64_t wait_com:1; 675 uint64_t wait_com:1;
676#else
677 uint64_t wait_com:1;
678 uint64_t bar2_cax:1;
679 uint64_t bar2_esx:2;
680 uint64_t bar2_enb:1;
681 uint64_t ptlp_ro:1;
682 uint64_t reserved_6_6:1;
683 uint64_t ctlp_ro:1;
684 uint64_t inta_map:2;
685 uint64_t intb_map:2;
686 uint64_t intc_map:2;
687 uint64_t intd_map:2;
688 uint64_t inta:1;
689 uint64_t intb:1;
690 uint64_t intc:1;
691 uint64_t intd:1;
692 uint64_t waitl_com:1;
693 uint64_t reserved_21_63:43;
694#endif
424 } s; 695 } s;
425 struct cvmx_npei_ctl_port0_s cn52xx; 696 struct cvmx_npei_ctl_port0_s cn52xx;
426 struct cvmx_npei_ctl_port0_s cn52xxp1; 697 struct cvmx_npei_ctl_port0_s cn52xxp1;
@@ -431,6 +702,7 @@ union cvmx_npei_ctl_port0 {
431union cvmx_npei_ctl_port1 { 702union cvmx_npei_ctl_port1 {
432 uint64_t u64; 703 uint64_t u64;
433 struct cvmx_npei_ctl_port1_s { 704 struct cvmx_npei_ctl_port1_s {
705#ifdef __BIG_ENDIAN_BITFIELD
434 uint64_t reserved_21_63:43; 706 uint64_t reserved_21_63:43;
435 uint64_t waitl_com:1; 707 uint64_t waitl_com:1;
436 uint64_t intd:1; 708 uint64_t intd:1;
@@ -448,6 +720,25 @@ union cvmx_npei_ctl_port1 {
448 uint64_t bar2_esx:2; 720 uint64_t bar2_esx:2;
449 uint64_t bar2_cax:1; 721 uint64_t bar2_cax:1;
450 uint64_t wait_com:1; 722 uint64_t wait_com:1;
723#else
724 uint64_t wait_com:1;
725 uint64_t bar2_cax:1;
726 uint64_t bar2_esx:2;
727 uint64_t bar2_enb:1;
728 uint64_t ptlp_ro:1;
729 uint64_t reserved_6_6:1;
730 uint64_t ctlp_ro:1;
731 uint64_t inta_map:2;
732 uint64_t intb_map:2;
733 uint64_t intc_map:2;
734 uint64_t intd_map:2;
735 uint64_t inta:1;
736 uint64_t intb:1;
737 uint64_t intc:1;
738 uint64_t intd:1;
739 uint64_t waitl_com:1;
740 uint64_t reserved_21_63:43;
741#endif
451 } s; 742 } s;
452 struct cvmx_npei_ctl_port1_s cn52xx; 743 struct cvmx_npei_ctl_port1_s cn52xx;
453 struct cvmx_npei_ctl_port1_s cn52xxp1; 744 struct cvmx_npei_ctl_port1_s cn52xxp1;
@@ -458,6 +749,7 @@ union cvmx_npei_ctl_port1 {
458union cvmx_npei_ctl_status { 749union cvmx_npei_ctl_status {
459 uint64_t u64; 750 uint64_t u64;
460 struct cvmx_npei_ctl_status_s { 751 struct cvmx_npei_ctl_status_s {
752#ifdef __BIG_ENDIAN_BITFIELD
461 uint64_t reserved_44_63:20; 753 uint64_t reserved_44_63:20;
462 uint64_t p1_ntags:6; 754 uint64_t p1_ntags:6;
463 uint64_t p0_ntags:6; 755 uint64_t p0_ntags:6;
@@ -468,9 +760,22 @@ union cvmx_npei_ctl_status {
468 uint64_t pkt_bp:4; 760 uint64_t pkt_bp:4;
469 uint64_t host_mode:1; 761 uint64_t host_mode:1;
470 uint64_t chip_rev:8; 762 uint64_t chip_rev:8;
763#else
764 uint64_t chip_rev:8;
765 uint64_t host_mode:1;
766 uint64_t pkt_bp:4;
767 uint64_t arb:1;
768 uint64_t lnk_rst:1;
769 uint64_t ring_en:1;
770 uint64_t cfg_rtry:16;
771 uint64_t p0_ntags:6;
772 uint64_t p1_ntags:6;
773 uint64_t reserved_44_63:20;
774#endif
471 } s; 775 } s;
472 struct cvmx_npei_ctl_status_s cn52xx; 776 struct cvmx_npei_ctl_status_s cn52xx;
473 struct cvmx_npei_ctl_status_cn52xxp1 { 777 struct cvmx_npei_ctl_status_cn52xxp1 {
778#ifdef __BIG_ENDIAN_BITFIELD
474 uint64_t reserved_44_63:20; 779 uint64_t reserved_44_63:20;
475 uint64_t p1_ntags:6; 780 uint64_t p1_ntags:6;
476 uint64_t p0_ntags:6; 781 uint64_t p0_ntags:6;
@@ -481,21 +786,43 @@ union cvmx_npei_ctl_status {
481 uint64_t reserved_9_12:4; 786 uint64_t reserved_9_12:4;
482 uint64_t host_mode:1; 787 uint64_t host_mode:1;
483 uint64_t chip_rev:8; 788 uint64_t chip_rev:8;
789#else
790 uint64_t chip_rev:8;
791 uint64_t host_mode:1;
792 uint64_t reserved_9_12:4;
793 uint64_t arb:1;
794 uint64_t lnk_rst:1;
795 uint64_t reserved_15_15:1;
796 uint64_t cfg_rtry:16;
797 uint64_t p0_ntags:6;
798 uint64_t p1_ntags:6;
799 uint64_t reserved_44_63:20;
800#endif
484 } cn52xxp1; 801 } cn52xxp1;
485 struct cvmx_npei_ctl_status_s cn56xx; 802 struct cvmx_npei_ctl_status_s cn56xx;
486 struct cvmx_npei_ctl_status_cn56xxp1 { 803 struct cvmx_npei_ctl_status_cn56xxp1 {
804#ifdef __BIG_ENDIAN_BITFIELD
487 uint64_t reserved_15_63:49; 805 uint64_t reserved_15_63:49;
488 uint64_t lnk_rst:1; 806 uint64_t lnk_rst:1;
489 uint64_t arb:1; 807 uint64_t arb:1;
490 uint64_t pkt_bp:4; 808 uint64_t pkt_bp:4;
491 uint64_t host_mode:1; 809 uint64_t host_mode:1;
492 uint64_t chip_rev:8; 810 uint64_t chip_rev:8;
811#else
812 uint64_t chip_rev:8;
813 uint64_t host_mode:1;
814 uint64_t pkt_bp:4;
815 uint64_t arb:1;
816 uint64_t lnk_rst:1;
817 uint64_t reserved_15_63:49;
818#endif
493 } cn56xxp1; 819 } cn56xxp1;
494}; 820};
495 821
496union cvmx_npei_ctl_status2 { 822union cvmx_npei_ctl_status2 {
497 uint64_t u64; 823 uint64_t u64;
498 struct cvmx_npei_ctl_status2_s { 824 struct cvmx_npei_ctl_status2_s {
825#ifdef __BIG_ENDIAN_BITFIELD
499 uint64_t reserved_16_63:48; 826 uint64_t reserved_16_63:48;
500 uint64_t mps:1; 827 uint64_t mps:1;
501 uint64_t mrrs:3; 828 uint64_t mrrs:3;
@@ -507,6 +834,19 @@ union cvmx_npei_ctl_status2 {
507 uint64_t c1_b0_d:1; 834 uint64_t c1_b0_d:1;
508 uint64_t c0_wi_d:1; 835 uint64_t c0_wi_d:1;
509 uint64_t c0_b0_d:1; 836 uint64_t c0_b0_d:1;
837#else
838 uint64_t c0_b0_d:1;
839 uint64_t c0_wi_d:1;
840 uint64_t c1_b0_d:1;
841 uint64_t c1_wi_d:1;
842 uint64_t c0_b1_s:3;
843 uint64_t c1_b1_s:3;
844 uint64_t c0_w_flt:1;
845 uint64_t c1_w_flt:1;
846 uint64_t mrrs:3;
847 uint64_t mps:1;
848 uint64_t reserved_16_63:48;
849#endif
510 } s; 850 } s;
511 struct cvmx_npei_ctl_status2_s cn52xx; 851 struct cvmx_npei_ctl_status2_s cn52xx;
512 struct cvmx_npei_ctl_status2_s cn52xxp1; 852 struct cvmx_npei_ctl_status2_s cn52xxp1;
@@ -517,11 +857,19 @@ union cvmx_npei_ctl_status2 {
517union cvmx_npei_data_out_cnt { 857union cvmx_npei_data_out_cnt {
518 uint64_t u64; 858 uint64_t u64;
519 struct cvmx_npei_data_out_cnt_s { 859 struct cvmx_npei_data_out_cnt_s {
860#ifdef __BIG_ENDIAN_BITFIELD
520 uint64_t reserved_44_63:20; 861 uint64_t reserved_44_63:20;
521 uint64_t p1_ucnt:16; 862 uint64_t p1_ucnt:16;
522 uint64_t p1_fcnt:6; 863 uint64_t p1_fcnt:6;
523 uint64_t p0_ucnt:16; 864 uint64_t p0_ucnt:16;
524 uint64_t p0_fcnt:6; 865 uint64_t p0_fcnt:6;
866#else
867 uint64_t p0_fcnt:6;
868 uint64_t p0_ucnt:16;
869 uint64_t p1_fcnt:6;
870 uint64_t p1_ucnt:16;
871 uint64_t reserved_44_63:20;
872#endif
525 } s; 873 } s;
526 struct cvmx_npei_data_out_cnt_s cn52xx; 874 struct cvmx_npei_data_out_cnt_s cn52xx;
527 struct cvmx_npei_data_out_cnt_s cn52xxp1; 875 struct cvmx_npei_data_out_cnt_s cn52xxp1;
@@ -532,6 +880,7 @@ union cvmx_npei_data_out_cnt {
532union cvmx_npei_dbg_data { 880union cvmx_npei_dbg_data {
533 uint64_t u64; 881 uint64_t u64;
534 struct cvmx_npei_dbg_data_s { 882 struct cvmx_npei_dbg_data_s {
883#ifdef __BIG_ENDIAN_BITFIELD
535 uint64_t reserved_28_63:36; 884 uint64_t reserved_28_63:36;
536 uint64_t qlm0_rev_lanes:1; 885 uint64_t qlm0_rev_lanes:1;
537 uint64_t reserved_25_26:2; 886 uint64_t reserved_25_26:2;
@@ -539,8 +888,18 @@ union cvmx_npei_dbg_data {
539 uint64_t c_mul:5; 888 uint64_t c_mul:5;
540 uint64_t dsel_ext:1; 889 uint64_t dsel_ext:1;
541 uint64_t data:17; 890 uint64_t data:17;
891#else
892 uint64_t data:17;
893 uint64_t dsel_ext:1;
894 uint64_t c_mul:5;
895 uint64_t qlm1_spd:2;
896 uint64_t reserved_25_26:2;
897 uint64_t qlm0_rev_lanes:1;
898 uint64_t reserved_28_63:36;
899#endif
542 } s; 900 } s;
543 struct cvmx_npei_dbg_data_cn52xx { 901 struct cvmx_npei_dbg_data_cn52xx {
902#ifdef __BIG_ENDIAN_BITFIELD
544 uint64_t reserved_29_63:35; 903 uint64_t reserved_29_63:35;
545 uint64_t qlm0_link_width:1; 904 uint64_t qlm0_link_width:1;
546 uint64_t qlm0_rev_lanes:1; 905 uint64_t qlm0_rev_lanes:1;
@@ -549,9 +908,20 @@ union cvmx_npei_dbg_data {
549 uint64_t c_mul:5; 908 uint64_t c_mul:5;
550 uint64_t dsel_ext:1; 909 uint64_t dsel_ext:1;
551 uint64_t data:17; 910 uint64_t data:17;
911#else
912 uint64_t data:17;
913 uint64_t dsel_ext:1;
914 uint64_t c_mul:5;
915 uint64_t qlm1_spd:2;
916 uint64_t qlm1_mode:2;
917 uint64_t qlm0_rev_lanes:1;
918 uint64_t qlm0_link_width:1;
919 uint64_t reserved_29_63:35;
920#endif
552 } cn52xx; 921 } cn52xx;
553 struct cvmx_npei_dbg_data_cn52xx cn52xxp1; 922 struct cvmx_npei_dbg_data_cn52xx cn52xxp1;
554 struct cvmx_npei_dbg_data_cn56xx { 923 struct cvmx_npei_dbg_data_cn56xx {
924#ifdef __BIG_ENDIAN_BITFIELD
555 uint64_t reserved_29_63:35; 925 uint64_t reserved_29_63:35;
556 uint64_t qlm2_rev_lanes:1; 926 uint64_t qlm2_rev_lanes:1;
557 uint64_t qlm0_rev_lanes:1; 927 uint64_t qlm0_rev_lanes:1;
@@ -560,6 +930,16 @@ union cvmx_npei_dbg_data {
560 uint64_t c_mul:5; 930 uint64_t c_mul:5;
561 uint64_t dsel_ext:1; 931 uint64_t dsel_ext:1;
562 uint64_t data:17; 932 uint64_t data:17;
933#else
934 uint64_t data:17;
935 uint64_t dsel_ext:1;
936 uint64_t c_mul:5;
937 uint64_t qlm1_spd:2;
938 uint64_t qlm3_spd:2;
939 uint64_t qlm0_rev_lanes:1;
940 uint64_t qlm2_rev_lanes:1;
941 uint64_t reserved_29_63:35;
942#endif
563 } cn56xx; 943 } cn56xx;
564 struct cvmx_npei_dbg_data_cn56xx cn56xxp1; 944 struct cvmx_npei_dbg_data_cn56xx cn56xxp1;
565}; 945};
@@ -567,8 +947,13 @@ union cvmx_npei_dbg_data {
567union cvmx_npei_dbg_select { 947union cvmx_npei_dbg_select {
568 uint64_t u64; 948 uint64_t u64;
569 struct cvmx_npei_dbg_select_s { 949 struct cvmx_npei_dbg_select_s {
950#ifdef __BIG_ENDIAN_BITFIELD
570 uint64_t reserved_16_63:48; 951 uint64_t reserved_16_63:48;
571 uint64_t dbg_sel:16; 952 uint64_t dbg_sel:16;
953#else
954 uint64_t dbg_sel:16;
955 uint64_t reserved_16_63:48;
956#endif
572 } s; 957 } s;
573 struct cvmx_npei_dbg_select_s cn52xx; 958 struct cvmx_npei_dbg_select_s cn52xx;
574 struct cvmx_npei_dbg_select_s cn52xxp1; 959 struct cvmx_npei_dbg_select_s cn52xxp1;
@@ -579,9 +964,15 @@ union cvmx_npei_dbg_select {
579union cvmx_npei_dmax_counts { 964union cvmx_npei_dmax_counts {
580 uint64_t u64; 965 uint64_t u64;
581 struct cvmx_npei_dmax_counts_s { 966 struct cvmx_npei_dmax_counts_s {
967#ifdef __BIG_ENDIAN_BITFIELD
582 uint64_t reserved_39_63:25; 968 uint64_t reserved_39_63:25;
583 uint64_t fcnt:7; 969 uint64_t fcnt:7;
584 uint64_t dbell:32; 970 uint64_t dbell:32;
971#else
972 uint64_t dbell:32;
973 uint64_t fcnt:7;
974 uint64_t reserved_39_63:25;
975#endif
585 } s; 976 } s;
586 struct cvmx_npei_dmax_counts_s cn52xx; 977 struct cvmx_npei_dmax_counts_s cn52xx;
587 struct cvmx_npei_dmax_counts_s cn52xxp1; 978 struct cvmx_npei_dmax_counts_s cn52xxp1;
@@ -592,8 +983,13 @@ union cvmx_npei_dmax_counts {
592union cvmx_npei_dmax_dbell { 983union cvmx_npei_dmax_dbell {
593 uint32_t u32; 984 uint32_t u32;
594 struct cvmx_npei_dmax_dbell_s { 985 struct cvmx_npei_dmax_dbell_s {
986#ifdef __BIG_ENDIAN_BITFIELD
595 uint32_t reserved_16_31:16; 987 uint32_t reserved_16_31:16;
596 uint32_t dbell:16; 988 uint32_t dbell:16;
989#else
990 uint32_t dbell:16;
991 uint32_t reserved_16_31:16;
992#endif
597 } s; 993 } s;
598 struct cvmx_npei_dmax_dbell_s cn52xx; 994 struct cvmx_npei_dmax_dbell_s cn52xx;
599 struct cvmx_npei_dmax_dbell_s cn52xxp1; 995 struct cvmx_npei_dmax_dbell_s cn52xxp1;
@@ -604,16 +1000,29 @@ union cvmx_npei_dmax_dbell {
604union cvmx_npei_dmax_ibuff_saddr { 1000union cvmx_npei_dmax_ibuff_saddr {
605 uint64_t u64; 1001 uint64_t u64;
606 struct cvmx_npei_dmax_ibuff_saddr_s { 1002 struct cvmx_npei_dmax_ibuff_saddr_s {
1003#ifdef __BIG_ENDIAN_BITFIELD
607 uint64_t reserved_37_63:27; 1004 uint64_t reserved_37_63:27;
608 uint64_t idle:1; 1005 uint64_t idle:1;
609 uint64_t saddr:29; 1006 uint64_t saddr:29;
610 uint64_t reserved_0_6:7; 1007 uint64_t reserved_0_6:7;
1008#else
1009 uint64_t reserved_0_6:7;
1010 uint64_t saddr:29;
1011 uint64_t idle:1;
1012 uint64_t reserved_37_63:27;
1013#endif
611 } s; 1014 } s;
612 struct cvmx_npei_dmax_ibuff_saddr_s cn52xx; 1015 struct cvmx_npei_dmax_ibuff_saddr_s cn52xx;
613 struct cvmx_npei_dmax_ibuff_saddr_cn52xxp1 { 1016 struct cvmx_npei_dmax_ibuff_saddr_cn52xxp1 {
1017#ifdef __BIG_ENDIAN_BITFIELD
614 uint64_t reserved_36_63:28; 1018 uint64_t reserved_36_63:28;
615 uint64_t saddr:29; 1019 uint64_t saddr:29;
616 uint64_t reserved_0_6:7; 1020 uint64_t reserved_0_6:7;
1021#else
1022 uint64_t reserved_0_6:7;
1023 uint64_t saddr:29;
1024 uint64_t reserved_36_63:28;
1025#endif
617 } cn52xxp1; 1026 } cn52xxp1;
618 struct cvmx_npei_dmax_ibuff_saddr_s cn56xx; 1027 struct cvmx_npei_dmax_ibuff_saddr_s cn56xx;
619 struct cvmx_npei_dmax_ibuff_saddr_cn52xxp1 cn56xxp1; 1028 struct cvmx_npei_dmax_ibuff_saddr_cn52xxp1 cn56xxp1;
@@ -622,8 +1031,13 @@ union cvmx_npei_dmax_ibuff_saddr {
622union cvmx_npei_dmax_naddr { 1031union cvmx_npei_dmax_naddr {
623 uint64_t u64; 1032 uint64_t u64;
624 struct cvmx_npei_dmax_naddr_s { 1033 struct cvmx_npei_dmax_naddr_s {
1034#ifdef __BIG_ENDIAN_BITFIELD
625 uint64_t reserved_36_63:28; 1035 uint64_t reserved_36_63:28;
626 uint64_t addr:36; 1036 uint64_t addr:36;
1037#else
1038 uint64_t addr:36;
1039 uint64_t reserved_36_63:28;
1040#endif
627 } s; 1041 } s;
628 struct cvmx_npei_dmax_naddr_s cn52xx; 1042 struct cvmx_npei_dmax_naddr_s cn52xx;
629 struct cvmx_npei_dmax_naddr_s cn52xxp1; 1043 struct cvmx_npei_dmax_naddr_s cn52xxp1;
@@ -634,8 +1048,13 @@ union cvmx_npei_dmax_naddr {
634union cvmx_npei_dma0_int_level { 1048union cvmx_npei_dma0_int_level {
635 uint64_t u64; 1049 uint64_t u64;
636 struct cvmx_npei_dma0_int_level_s { 1050 struct cvmx_npei_dma0_int_level_s {
1051#ifdef __BIG_ENDIAN_BITFIELD
637 uint64_t time:32; 1052 uint64_t time:32;
638 uint64_t cnt:32; 1053 uint64_t cnt:32;
1054#else
1055 uint64_t cnt:32;
1056 uint64_t time:32;
1057#endif
639 } s; 1058 } s;
640 struct cvmx_npei_dma0_int_level_s cn52xx; 1059 struct cvmx_npei_dma0_int_level_s cn52xx;
641 struct cvmx_npei_dma0_int_level_s cn52xxp1; 1060 struct cvmx_npei_dma0_int_level_s cn52xxp1;
@@ -646,8 +1065,13 @@ union cvmx_npei_dma0_int_level {
646union cvmx_npei_dma1_int_level { 1065union cvmx_npei_dma1_int_level {
647 uint64_t u64; 1066 uint64_t u64;
648 struct cvmx_npei_dma1_int_level_s { 1067 struct cvmx_npei_dma1_int_level_s {
1068#ifdef __BIG_ENDIAN_BITFIELD
649 uint64_t time:32; 1069 uint64_t time:32;
650 uint64_t cnt:32; 1070 uint64_t cnt:32;
1071#else
1072 uint64_t cnt:32;
1073 uint64_t time:32;
1074#endif
651 } s; 1075 } s;
652 struct cvmx_npei_dma1_int_level_s cn52xx; 1076 struct cvmx_npei_dma1_int_level_s cn52xx;
653 struct cvmx_npei_dma1_int_level_s cn52xxp1; 1077 struct cvmx_npei_dma1_int_level_s cn52xxp1;
@@ -658,8 +1082,13 @@ union cvmx_npei_dma1_int_level {
658union cvmx_npei_dma_cnts { 1082union cvmx_npei_dma_cnts {
659 uint64_t u64; 1083 uint64_t u64;
660 struct cvmx_npei_dma_cnts_s { 1084 struct cvmx_npei_dma_cnts_s {
1085#ifdef __BIG_ENDIAN_BITFIELD
661 uint64_t dma1:32; 1086 uint64_t dma1:32;
662 uint64_t dma0:32; 1087 uint64_t dma0:32;
1088#else
1089 uint64_t dma0:32;
1090 uint64_t dma1:32;
1091#endif
663 } s; 1092 } s;
664 struct cvmx_npei_dma_cnts_s cn52xx; 1093 struct cvmx_npei_dma_cnts_s cn52xx;
665 struct cvmx_npei_dma_cnts_s cn52xxp1; 1094 struct cvmx_npei_dma_cnts_s cn52xxp1;
@@ -670,6 +1099,7 @@ union cvmx_npei_dma_cnts {
670union cvmx_npei_dma_control { 1099union cvmx_npei_dma_control {
671 uint64_t u64; 1100 uint64_t u64;
672 struct cvmx_npei_dma_control_s { 1101 struct cvmx_npei_dma_control_s {
1102#ifdef __BIG_ENDIAN_BITFIELD
673 uint64_t reserved_40_63:24; 1103 uint64_t reserved_40_63:24;
674 uint64_t p_32b_m:1; 1104 uint64_t p_32b_m:1;
675 uint64_t dma4_enb:1; 1105 uint64_t dma4_enb:1;
@@ -687,9 +1117,29 @@ union cvmx_npei_dma_control {
687 uint64_t o_es:2; 1117 uint64_t o_es:2;
688 uint64_t o_mode:1; 1118 uint64_t o_mode:1;
689 uint64_t csize:14; 1119 uint64_t csize:14;
1120#else
1121 uint64_t csize:14;
1122 uint64_t o_mode:1;
1123 uint64_t o_es:2;
1124 uint64_t o_ns:1;
1125 uint64_t o_ro:1;
1126 uint64_t o_add1:1;
1127 uint64_t fpa_que:3;
1128 uint64_t dwb_ichk:9;
1129 uint64_t dwb_denb:1;
1130 uint64_t b0_lend:1;
1131 uint64_t dma0_enb:1;
1132 uint64_t dma1_enb:1;
1133 uint64_t dma2_enb:1;
1134 uint64_t dma3_enb:1;
1135 uint64_t dma4_enb:1;
1136 uint64_t p_32b_m:1;
1137 uint64_t reserved_40_63:24;
1138#endif
690 } s; 1139 } s;
691 struct cvmx_npei_dma_control_s cn52xx; 1140 struct cvmx_npei_dma_control_s cn52xx;
692 struct cvmx_npei_dma_control_cn52xxp1 { 1141 struct cvmx_npei_dma_control_cn52xxp1 {
1142#ifdef __BIG_ENDIAN_BITFIELD
693 uint64_t reserved_38_63:26; 1143 uint64_t reserved_38_63:26;
694 uint64_t dma3_enb:1; 1144 uint64_t dma3_enb:1;
695 uint64_t dma2_enb:1; 1145 uint64_t dma2_enb:1;
@@ -705,9 +1155,27 @@ union cvmx_npei_dma_control {
705 uint64_t o_es:2; 1155 uint64_t o_es:2;
706 uint64_t o_mode:1; 1156 uint64_t o_mode:1;
707 uint64_t csize:14; 1157 uint64_t csize:14;
1158#else
1159 uint64_t csize:14;
1160 uint64_t o_mode:1;
1161 uint64_t o_es:2;
1162 uint64_t o_ns:1;
1163 uint64_t o_ro:1;
1164 uint64_t o_add1:1;
1165 uint64_t fpa_que:3;
1166 uint64_t dwb_ichk:9;
1167 uint64_t dwb_denb:1;
1168 uint64_t b0_lend:1;
1169 uint64_t dma0_enb:1;
1170 uint64_t dma1_enb:1;
1171 uint64_t dma2_enb:1;
1172 uint64_t dma3_enb:1;
1173 uint64_t reserved_38_63:26;
1174#endif
708 } cn52xxp1; 1175 } cn52xxp1;
709 struct cvmx_npei_dma_control_s cn56xx; 1176 struct cvmx_npei_dma_control_s cn56xx;
710 struct cvmx_npei_dma_control_cn56xxp1 { 1177 struct cvmx_npei_dma_control_cn56xxp1 {
1178#ifdef __BIG_ENDIAN_BITFIELD
711 uint64_t reserved_39_63:25; 1179 uint64_t reserved_39_63:25;
712 uint64_t dma4_enb:1; 1180 uint64_t dma4_enb:1;
713 uint64_t dma3_enb:1; 1181 uint64_t dma3_enb:1;
@@ -724,12 +1192,31 @@ union cvmx_npei_dma_control {
724 uint64_t o_es:2; 1192 uint64_t o_es:2;
725 uint64_t o_mode:1; 1193 uint64_t o_mode:1;
726 uint64_t csize:14; 1194 uint64_t csize:14;
1195#else
1196 uint64_t csize:14;
1197 uint64_t o_mode:1;
1198 uint64_t o_es:2;
1199 uint64_t o_ns:1;
1200 uint64_t o_ro:1;
1201 uint64_t o_add1:1;
1202 uint64_t fpa_que:3;
1203 uint64_t dwb_ichk:9;
1204 uint64_t dwb_denb:1;
1205 uint64_t b0_lend:1;
1206 uint64_t dma0_enb:1;
1207 uint64_t dma1_enb:1;
1208 uint64_t dma2_enb:1;
1209 uint64_t dma3_enb:1;
1210 uint64_t dma4_enb:1;
1211 uint64_t reserved_39_63:25;
1212#endif
727 } cn56xxp1; 1213 } cn56xxp1;
728}; 1214};
729 1215
730union cvmx_npei_dma_pcie_req_num { 1216union cvmx_npei_dma_pcie_req_num {
731 uint64_t u64; 1217 uint64_t u64;
732 struct cvmx_npei_dma_pcie_req_num_s { 1218 struct cvmx_npei_dma_pcie_req_num_s {
1219#ifdef __BIG_ENDIAN_BITFIELD
733 uint64_t dma_arb:1; 1220 uint64_t dma_arb:1;
734 uint64_t reserved_53_62:10; 1221 uint64_t reserved_53_62:10;
735 uint64_t pkt_cnt:5; 1222 uint64_t pkt_cnt:5;
@@ -745,6 +1232,23 @@ union cvmx_npei_dma_pcie_req_num {
745 uint64_t dma0_cnt:5; 1232 uint64_t dma0_cnt:5;
746 uint64_t reserved_5_7:3; 1233 uint64_t reserved_5_7:3;
747 uint64_t dma_cnt:5; 1234 uint64_t dma_cnt:5;
1235#else
1236 uint64_t dma_cnt:5;
1237 uint64_t reserved_5_7:3;
1238 uint64_t dma0_cnt:5;
1239 uint64_t reserved_13_15:3;
1240 uint64_t dma1_cnt:5;
1241 uint64_t reserved_21_23:3;
1242 uint64_t dma2_cnt:5;
1243 uint64_t reserved_29_31:3;
1244 uint64_t dma3_cnt:5;
1245 uint64_t reserved_37_39:3;
1246 uint64_t dma4_cnt:5;
1247 uint64_t reserved_45_47:3;
1248 uint64_t pkt_cnt:5;
1249 uint64_t reserved_53_62:10;
1250 uint64_t dma_arb:1;
1251#endif
748 } s; 1252 } s;
749 struct cvmx_npei_dma_pcie_req_num_s cn52xx; 1253 struct cvmx_npei_dma_pcie_req_num_s cn52xx;
750 struct cvmx_npei_dma_pcie_req_num_s cn56xx; 1254 struct cvmx_npei_dma_pcie_req_num_s cn56xx;
@@ -753,12 +1257,21 @@ union cvmx_npei_dma_pcie_req_num {
753union cvmx_npei_dma_state1 { 1257union cvmx_npei_dma_state1 {
754 uint64_t u64; 1258 uint64_t u64;
755 struct cvmx_npei_dma_state1_s { 1259 struct cvmx_npei_dma_state1_s {
1260#ifdef __BIG_ENDIAN_BITFIELD
756 uint64_t reserved_40_63:24; 1261 uint64_t reserved_40_63:24;
757 uint64_t d4_dwe:8; 1262 uint64_t d4_dwe:8;
758 uint64_t d3_dwe:8; 1263 uint64_t d3_dwe:8;
759 uint64_t d2_dwe:8; 1264 uint64_t d2_dwe:8;
760 uint64_t d1_dwe:8; 1265 uint64_t d1_dwe:8;
761 uint64_t d0_dwe:8; 1266 uint64_t d0_dwe:8;
1267#else
1268 uint64_t d0_dwe:8;
1269 uint64_t d1_dwe:8;
1270 uint64_t d2_dwe:8;
1271 uint64_t d3_dwe:8;
1272 uint64_t d4_dwe:8;
1273 uint64_t reserved_40_63:24;
1274#endif
762 } s; 1275 } s;
763 struct cvmx_npei_dma_state1_s cn52xx; 1276 struct cvmx_npei_dma_state1_s cn52xx;
764}; 1277};
@@ -766,6 +1279,7 @@ union cvmx_npei_dma_state1 {
766union cvmx_npei_dma_state1_p1 { 1279union cvmx_npei_dma_state1_p1 {
767 uint64_t u64; 1280 uint64_t u64;
768 struct cvmx_npei_dma_state1_p1_s { 1281 struct cvmx_npei_dma_state1_p1_s {
1282#ifdef __BIG_ENDIAN_BITFIELD
769 uint64_t reserved_60_63:4; 1283 uint64_t reserved_60_63:4;
770 uint64_t d0_difst:7; 1284 uint64_t d0_difst:7;
771 uint64_t d1_difst:7; 1285 uint64_t d1_difst:7;
@@ -777,8 +1291,22 @@ union cvmx_npei_dma_state1_p1 {
777 uint64_t d2_reqst:5; 1291 uint64_t d2_reqst:5;
778 uint64_t d3_reqst:5; 1292 uint64_t d3_reqst:5;
779 uint64_t d4_reqst:5; 1293 uint64_t d4_reqst:5;
1294#else
1295 uint64_t d4_reqst:5;
1296 uint64_t d3_reqst:5;
1297 uint64_t d2_reqst:5;
1298 uint64_t d1_reqst:5;
1299 uint64_t d0_reqst:5;
1300 uint64_t d4_difst:7;
1301 uint64_t d3_difst:7;
1302 uint64_t d2_difst:7;
1303 uint64_t d1_difst:7;
1304 uint64_t d0_difst:7;
1305 uint64_t reserved_60_63:4;
1306#endif
780 } s; 1307 } s;
781 struct cvmx_npei_dma_state1_p1_cn52xxp1 { 1308 struct cvmx_npei_dma_state1_p1_cn52xxp1 {
1309#ifdef __BIG_ENDIAN_BITFIELD
782 uint64_t reserved_60_63:4; 1310 uint64_t reserved_60_63:4;
783 uint64_t d0_difst:7; 1311 uint64_t d0_difst:7;
784 uint64_t d1_difst:7; 1312 uint64_t d1_difst:7;
@@ -790,6 +1318,19 @@ union cvmx_npei_dma_state1_p1 {
790 uint64_t d2_reqst:5; 1318 uint64_t d2_reqst:5;
791 uint64_t d3_reqst:5; 1319 uint64_t d3_reqst:5;
792 uint64_t reserved_0_4:5; 1320 uint64_t reserved_0_4:5;
1321#else
1322 uint64_t reserved_0_4:5;
1323 uint64_t d3_reqst:5;
1324 uint64_t d2_reqst:5;
1325 uint64_t d1_reqst:5;
1326 uint64_t d0_reqst:5;
1327 uint64_t reserved_25_31:7;
1328 uint64_t d3_difst:7;
1329 uint64_t d2_difst:7;
1330 uint64_t d1_difst:7;
1331 uint64_t d0_difst:7;
1332 uint64_t reserved_60_63:4;
1333#endif
793 } cn52xxp1; 1334 } cn52xxp1;
794 struct cvmx_npei_dma_state1_p1_s cn56xxp1; 1335 struct cvmx_npei_dma_state1_p1_s cn56xxp1;
795}; 1336};
@@ -797,12 +1338,21 @@ union cvmx_npei_dma_state1_p1 {
797union cvmx_npei_dma_state2 { 1338union cvmx_npei_dma_state2 {
798 uint64_t u64; 1339 uint64_t u64;
799 struct cvmx_npei_dma_state2_s { 1340 struct cvmx_npei_dma_state2_s {
1341#ifdef __BIG_ENDIAN_BITFIELD
800 uint64_t reserved_28_63:36; 1342 uint64_t reserved_28_63:36;
801 uint64_t ndwe:4; 1343 uint64_t ndwe:4;
802 uint64_t reserved_21_23:3; 1344 uint64_t reserved_21_23:3;
803 uint64_t ndre:5; 1345 uint64_t ndre:5;
804 uint64_t reserved_10_15:6; 1346 uint64_t reserved_10_15:6;
805 uint64_t prd:10; 1347 uint64_t prd:10;
1348#else
1349 uint64_t prd:10;
1350 uint64_t reserved_10_15:6;
1351 uint64_t ndre:5;
1352 uint64_t reserved_21_23:3;
1353 uint64_t ndwe:4;
1354 uint64_t reserved_28_63:36;
1355#endif
806 } s; 1356 } s;
807 struct cvmx_npei_dma_state2_s cn52xx; 1357 struct cvmx_npei_dma_state2_s cn52xx;
808}; 1358};
@@ -810,20 +1360,38 @@ union cvmx_npei_dma_state2 {
810union cvmx_npei_dma_state2_p1 { 1360union cvmx_npei_dma_state2_p1 {
811 uint64_t u64; 1361 uint64_t u64;
812 struct cvmx_npei_dma_state2_p1_s { 1362 struct cvmx_npei_dma_state2_p1_s {
1363#ifdef __BIG_ENDIAN_BITFIELD
813 uint64_t reserved_45_63:19; 1364 uint64_t reserved_45_63:19;
814 uint64_t d0_dffst:9; 1365 uint64_t d0_dffst:9;
815 uint64_t d1_dffst:9; 1366 uint64_t d1_dffst:9;
816 uint64_t d2_dffst:9; 1367 uint64_t d2_dffst:9;
817 uint64_t d3_dffst:9; 1368 uint64_t d3_dffst:9;
818 uint64_t d4_dffst:9; 1369 uint64_t d4_dffst:9;
1370#else
1371 uint64_t d4_dffst:9;
1372 uint64_t d3_dffst:9;
1373 uint64_t d2_dffst:9;
1374 uint64_t d1_dffst:9;
1375 uint64_t d0_dffst:9;
1376 uint64_t reserved_45_63:19;
1377#endif
819 } s; 1378 } s;
820 struct cvmx_npei_dma_state2_p1_cn52xxp1 { 1379 struct cvmx_npei_dma_state2_p1_cn52xxp1 {
1380#ifdef __BIG_ENDIAN_BITFIELD
821 uint64_t reserved_45_63:19; 1381 uint64_t reserved_45_63:19;
822 uint64_t d0_dffst:9; 1382 uint64_t d0_dffst:9;
823 uint64_t d1_dffst:9; 1383 uint64_t d1_dffst:9;
824 uint64_t d2_dffst:9; 1384 uint64_t d2_dffst:9;
825 uint64_t d3_dffst:9; 1385 uint64_t d3_dffst:9;
826 uint64_t reserved_0_8:9; 1386 uint64_t reserved_0_8:9;
1387#else
1388 uint64_t reserved_0_8:9;
1389 uint64_t d3_dffst:9;
1390 uint64_t d2_dffst:9;
1391 uint64_t d1_dffst:9;
1392 uint64_t d0_dffst:9;
1393 uint64_t reserved_45_63:19;
1394#endif
827 } cn52xxp1; 1395 } cn52xxp1;
828 struct cvmx_npei_dma_state2_p1_s cn56xxp1; 1396 struct cvmx_npei_dma_state2_p1_s cn56xxp1;
829}; 1397};
@@ -831,11 +1399,19 @@ union cvmx_npei_dma_state2_p1 {
831union cvmx_npei_dma_state3_p1 { 1399union cvmx_npei_dma_state3_p1 {
832 uint64_t u64; 1400 uint64_t u64;
833 struct cvmx_npei_dma_state3_p1_s { 1401 struct cvmx_npei_dma_state3_p1_s {
1402#ifdef __BIG_ENDIAN_BITFIELD
834 uint64_t reserved_60_63:4; 1403 uint64_t reserved_60_63:4;
835 uint64_t d0_drest:15; 1404 uint64_t d0_drest:15;
836 uint64_t d1_drest:15; 1405 uint64_t d1_drest:15;
837 uint64_t d2_drest:15; 1406 uint64_t d2_drest:15;
838 uint64_t d3_drest:15; 1407 uint64_t d3_drest:15;
1408#else
1409 uint64_t d3_drest:15;
1410 uint64_t d2_drest:15;
1411 uint64_t d1_drest:15;
1412 uint64_t d0_drest:15;
1413 uint64_t reserved_60_63:4;
1414#endif
839 } s; 1415 } s;
840 struct cvmx_npei_dma_state3_p1_s cn52xxp1; 1416 struct cvmx_npei_dma_state3_p1_s cn52xxp1;
841 struct cvmx_npei_dma_state3_p1_s cn56xxp1; 1417 struct cvmx_npei_dma_state3_p1_s cn56xxp1;
@@ -844,11 +1420,19 @@ union cvmx_npei_dma_state3_p1 {
844union cvmx_npei_dma_state4_p1 { 1420union cvmx_npei_dma_state4_p1 {
845 uint64_t u64; 1421 uint64_t u64;
846 struct cvmx_npei_dma_state4_p1_s { 1422 struct cvmx_npei_dma_state4_p1_s {
1423#ifdef __BIG_ENDIAN_BITFIELD
847 uint64_t reserved_52_63:12; 1424 uint64_t reserved_52_63:12;
848 uint64_t d0_dwest:13; 1425 uint64_t d0_dwest:13;
849 uint64_t d1_dwest:13; 1426 uint64_t d1_dwest:13;
850 uint64_t d2_dwest:13; 1427 uint64_t d2_dwest:13;
851 uint64_t d3_dwest:13; 1428 uint64_t d3_dwest:13;
1429#else
1430 uint64_t d3_dwest:13;
1431 uint64_t d2_dwest:13;
1432 uint64_t d1_dwest:13;
1433 uint64_t d0_dwest:13;
1434 uint64_t reserved_52_63:12;
1435#endif
852 } s; 1436 } s;
853 struct cvmx_npei_dma_state4_p1_s cn52xxp1; 1437 struct cvmx_npei_dma_state4_p1_s cn52xxp1;
854 struct cvmx_npei_dma_state4_p1_s cn56xxp1; 1438 struct cvmx_npei_dma_state4_p1_s cn56xxp1;
@@ -857,9 +1441,15 @@ union cvmx_npei_dma_state4_p1 {
857union cvmx_npei_dma_state5_p1 { 1441union cvmx_npei_dma_state5_p1 {
858 uint64_t u64; 1442 uint64_t u64;
859 struct cvmx_npei_dma_state5_p1_s { 1443 struct cvmx_npei_dma_state5_p1_s {
1444#ifdef __BIG_ENDIAN_BITFIELD
860 uint64_t reserved_28_63:36; 1445 uint64_t reserved_28_63:36;
861 uint64_t d4_drest:15; 1446 uint64_t d4_drest:15;
862 uint64_t d4_dwest:13; 1447 uint64_t d4_dwest:13;
1448#else
1449 uint64_t d4_dwest:13;
1450 uint64_t d4_drest:15;
1451 uint64_t reserved_28_63:36;
1452#endif
863 } s; 1453 } s;
864 struct cvmx_npei_dma_state5_p1_s cn56xxp1; 1454 struct cvmx_npei_dma_state5_p1_s cn56xxp1;
865}; 1455};
@@ -867,6 +1457,7 @@ union cvmx_npei_dma_state5_p1 {
867union cvmx_npei_int_a_enb { 1457union cvmx_npei_int_a_enb {
868 uint64_t u64; 1458 uint64_t u64;
869 struct cvmx_npei_int_a_enb_s { 1459 struct cvmx_npei_int_a_enb_s {
1460#ifdef __BIG_ENDIAN_BITFIELD
870 uint64_t reserved_10_63:54; 1461 uint64_t reserved_10_63:54;
871 uint64_t pout_err:1; 1462 uint64_t pout_err:1;
872 uint64_t pin_bp:1; 1463 uint64_t pin_bp:1;
@@ -878,12 +1469,31 @@ union cvmx_npei_int_a_enb {
878 uint64_t pins_err:1; 1469 uint64_t pins_err:1;
879 uint64_t dma1_cpl:1; 1470 uint64_t dma1_cpl:1;
880 uint64_t dma0_cpl:1; 1471 uint64_t dma0_cpl:1;
1472#else
1473 uint64_t dma0_cpl:1;
1474 uint64_t dma1_cpl:1;
1475 uint64_t pins_err:1;
1476 uint64_t pop_err:1;
1477 uint64_t pdi_err:1;
1478 uint64_t pgl_err:1;
1479 uint64_t p0_rdlk:1;
1480 uint64_t p1_rdlk:1;
1481 uint64_t pin_bp:1;
1482 uint64_t pout_err:1;
1483 uint64_t reserved_10_63:54;
1484#endif
881 } s; 1485 } s;
882 struct cvmx_npei_int_a_enb_s cn52xx; 1486 struct cvmx_npei_int_a_enb_s cn52xx;
883 struct cvmx_npei_int_a_enb_cn52xxp1 { 1487 struct cvmx_npei_int_a_enb_cn52xxp1 {
1488#ifdef __BIG_ENDIAN_BITFIELD
884 uint64_t reserved_2_63:62; 1489 uint64_t reserved_2_63:62;
885 uint64_t dma1_cpl:1; 1490 uint64_t dma1_cpl:1;
886 uint64_t dma0_cpl:1; 1491 uint64_t dma0_cpl:1;
1492#else
1493 uint64_t dma0_cpl:1;
1494 uint64_t dma1_cpl:1;
1495 uint64_t reserved_2_63:62;
1496#endif
887 } cn52xxp1; 1497 } cn52xxp1;
888 struct cvmx_npei_int_a_enb_s cn56xx; 1498 struct cvmx_npei_int_a_enb_s cn56xx;
889}; 1499};
@@ -891,6 +1501,7 @@ union cvmx_npei_int_a_enb {
891union cvmx_npei_int_a_enb2 { 1501union cvmx_npei_int_a_enb2 {
892 uint64_t u64; 1502 uint64_t u64;
893 struct cvmx_npei_int_a_enb2_s { 1503 struct cvmx_npei_int_a_enb2_s {
1504#ifdef __BIG_ENDIAN_BITFIELD
894 uint64_t reserved_10_63:54; 1505 uint64_t reserved_10_63:54;
895 uint64_t pout_err:1; 1506 uint64_t pout_err:1;
896 uint64_t pin_bp:1; 1507 uint64_t pin_bp:1;
@@ -902,12 +1513,31 @@ union cvmx_npei_int_a_enb2 {
902 uint64_t pins_err:1; 1513 uint64_t pins_err:1;
903 uint64_t dma1_cpl:1; 1514 uint64_t dma1_cpl:1;
904 uint64_t dma0_cpl:1; 1515 uint64_t dma0_cpl:1;
1516#else
1517 uint64_t dma0_cpl:1;
1518 uint64_t dma1_cpl:1;
1519 uint64_t pins_err:1;
1520 uint64_t pop_err:1;
1521 uint64_t pdi_err:1;
1522 uint64_t pgl_err:1;
1523 uint64_t p0_rdlk:1;
1524 uint64_t p1_rdlk:1;
1525 uint64_t pin_bp:1;
1526 uint64_t pout_err:1;
1527 uint64_t reserved_10_63:54;
1528#endif
905 } s; 1529 } s;
906 struct cvmx_npei_int_a_enb2_s cn52xx; 1530 struct cvmx_npei_int_a_enb2_s cn52xx;
907 struct cvmx_npei_int_a_enb2_cn52xxp1 { 1531 struct cvmx_npei_int_a_enb2_cn52xxp1 {
1532#ifdef __BIG_ENDIAN_BITFIELD
908 uint64_t reserved_2_63:62; 1533 uint64_t reserved_2_63:62;
909 uint64_t dma1_cpl:1; 1534 uint64_t dma1_cpl:1;
910 uint64_t dma0_cpl:1; 1535 uint64_t dma0_cpl:1;
1536#else
1537 uint64_t dma0_cpl:1;
1538 uint64_t dma1_cpl:1;
1539 uint64_t reserved_2_63:62;
1540#endif
911 } cn52xxp1; 1541 } cn52xxp1;
912 struct cvmx_npei_int_a_enb2_s cn56xx; 1542 struct cvmx_npei_int_a_enb2_s cn56xx;
913}; 1543};
@@ -915,6 +1545,7 @@ union cvmx_npei_int_a_enb2 {
915union cvmx_npei_int_a_sum { 1545union cvmx_npei_int_a_sum {
916 uint64_t u64; 1546 uint64_t u64;
917 struct cvmx_npei_int_a_sum_s { 1547 struct cvmx_npei_int_a_sum_s {
1548#ifdef __BIG_ENDIAN_BITFIELD
918 uint64_t reserved_10_63:54; 1549 uint64_t reserved_10_63:54;
919 uint64_t pout_err:1; 1550 uint64_t pout_err:1;
920 uint64_t pin_bp:1; 1551 uint64_t pin_bp:1;
@@ -926,12 +1557,31 @@ union cvmx_npei_int_a_sum {
926 uint64_t pins_err:1; 1557 uint64_t pins_err:1;
927 uint64_t dma1_cpl:1; 1558 uint64_t dma1_cpl:1;
928 uint64_t dma0_cpl:1; 1559 uint64_t dma0_cpl:1;
1560#else
1561 uint64_t dma0_cpl:1;
1562 uint64_t dma1_cpl:1;
1563 uint64_t pins_err:1;
1564 uint64_t pop_err:1;
1565 uint64_t pdi_err:1;
1566 uint64_t pgl_err:1;
1567 uint64_t p0_rdlk:1;
1568 uint64_t p1_rdlk:1;
1569 uint64_t pin_bp:1;
1570 uint64_t pout_err:1;
1571 uint64_t reserved_10_63:54;
1572#endif
929 } s; 1573 } s;
930 struct cvmx_npei_int_a_sum_s cn52xx; 1574 struct cvmx_npei_int_a_sum_s cn52xx;
931 struct cvmx_npei_int_a_sum_cn52xxp1 { 1575 struct cvmx_npei_int_a_sum_cn52xxp1 {
1576#ifdef __BIG_ENDIAN_BITFIELD
932 uint64_t reserved_2_63:62; 1577 uint64_t reserved_2_63:62;
933 uint64_t dma1_cpl:1; 1578 uint64_t dma1_cpl:1;
934 uint64_t dma0_cpl:1; 1579 uint64_t dma0_cpl:1;
1580#else
1581 uint64_t dma0_cpl:1;
1582 uint64_t dma1_cpl:1;
1583 uint64_t reserved_2_63:62;
1584#endif
935 } cn52xxp1; 1585 } cn52xxp1;
936 struct cvmx_npei_int_a_sum_s cn56xx; 1586 struct cvmx_npei_int_a_sum_s cn56xx;
937}; 1587};
@@ -939,6 +1589,7 @@ union cvmx_npei_int_a_sum {
939union cvmx_npei_int_enb { 1589union cvmx_npei_int_enb {
940 uint64_t u64; 1590 uint64_t u64;
941 struct cvmx_npei_int_enb_s { 1591 struct cvmx_npei_int_enb_s {
1592#ifdef __BIG_ENDIAN_BITFIELD
942 uint64_t mio_inta:1; 1593 uint64_t mio_inta:1;
943 uint64_t reserved_62_62:1; 1594 uint64_t reserved_62_62:1;
944 uint64_t int_a:1; 1595 uint64_t int_a:1;
@@ -1003,9 +1654,76 @@ union cvmx_npei_int_enb {
1003 uint64_t bar0_to:1; 1654 uint64_t bar0_to:1;
1004 uint64_t rml_wto:1; 1655 uint64_t rml_wto:1;
1005 uint64_t rml_rto:1; 1656 uint64_t rml_rto:1;
1657#else
1658 uint64_t rml_rto:1;
1659 uint64_t rml_wto:1;
1660 uint64_t bar0_to:1;
1661 uint64_t iob2big:1;
1662 uint64_t dma0dbo:1;
1663 uint64_t dma1dbo:1;
1664 uint64_t dma2dbo:1;
1665 uint64_t dma3dbo:1;
1666 uint64_t dma4dbo:1;
1667 uint64_t dma0fi:1;
1668 uint64_t dma1fi:1;
1669 uint64_t dcnt0:1;
1670 uint64_t dcnt1:1;
1671 uint64_t dtime0:1;
1672 uint64_t dtime1:1;
1673 uint64_t psldbof:1;
1674 uint64_t pidbof:1;
1675 uint64_t pcnt:1;
1676 uint64_t ptime:1;
1677 uint64_t c0_aeri:1;
1678 uint64_t crs0_er:1;
1679 uint64_t c0_se:1;
1680 uint64_t crs0_dr:1;
1681 uint64_t c0_wake:1;
1682 uint64_t c0_pmei:1;
1683 uint64_t c0_hpint:1;
1684 uint64_t c1_aeri:1;
1685 uint64_t crs1_er:1;
1686 uint64_t c1_se:1;
1687 uint64_t crs1_dr:1;
1688 uint64_t c1_wake:1;
1689 uint64_t c1_pmei:1;
1690 uint64_t c1_hpint:1;
1691 uint64_t c0_up_b0:1;
1692 uint64_t c0_up_b1:1;
1693 uint64_t c0_up_b2:1;
1694 uint64_t c0_up_wi:1;
1695 uint64_t c0_up_bx:1;
1696 uint64_t c0_un_b0:1;
1697 uint64_t c0_un_b1:1;
1698 uint64_t c0_un_b2:1;
1699 uint64_t c0_un_wi:1;
1700 uint64_t c0_un_bx:1;
1701 uint64_t c1_up_b0:1;
1702 uint64_t c1_up_b1:1;
1703 uint64_t c1_up_b2:1;
1704 uint64_t c1_up_wi:1;
1705 uint64_t c1_up_bx:1;
1706 uint64_t c1_un_b0:1;
1707 uint64_t c1_un_b1:1;
1708 uint64_t c1_un_b2:1;
1709 uint64_t c1_un_wi:1;
1710 uint64_t c1_un_bx:1;
1711 uint64_t c0_un_wf:1;
1712 uint64_t c1_un_wf:1;
1713 uint64_t c0_up_wf:1;
1714 uint64_t c1_up_wf:1;
1715 uint64_t c0_exc:1;
1716 uint64_t c1_exc:1;
1717 uint64_t c0_ldwn:1;
1718 uint64_t c1_ldwn:1;
1719 uint64_t int_a:1;
1720 uint64_t reserved_62_62:1;
1721 uint64_t mio_inta:1;
1722#endif
1006 } s; 1723 } s;
1007 struct cvmx_npei_int_enb_s cn52xx; 1724 struct cvmx_npei_int_enb_s cn52xx;
1008 struct cvmx_npei_int_enb_cn52xxp1 { 1725 struct cvmx_npei_int_enb_cn52xxp1 {
1726#ifdef __BIG_ENDIAN_BITFIELD
1009 uint64_t mio_inta:1; 1727 uint64_t mio_inta:1;
1010 uint64_t reserved_62_62:1; 1728 uint64_t reserved_62_62:1;
1011 uint64_t int_a:1; 1729 uint64_t int_a:1;
@@ -1070,9 +1788,76 @@ union cvmx_npei_int_enb {
1070 uint64_t bar0_to:1; 1788 uint64_t bar0_to:1;
1071 uint64_t rml_wto:1; 1789 uint64_t rml_wto:1;
1072 uint64_t rml_rto:1; 1790 uint64_t rml_rto:1;
1791#else
1792 uint64_t rml_rto:1;
1793 uint64_t rml_wto:1;
1794 uint64_t bar0_to:1;
1795 uint64_t iob2big:1;
1796 uint64_t dma0dbo:1;
1797 uint64_t dma1dbo:1;
1798 uint64_t dma2dbo:1;
1799 uint64_t dma3dbo:1;
1800 uint64_t reserved_8_8:1;
1801 uint64_t dma0fi:1;
1802 uint64_t dma1fi:1;
1803 uint64_t dcnt0:1;
1804 uint64_t dcnt1:1;
1805 uint64_t dtime0:1;
1806 uint64_t dtime1:1;
1807 uint64_t psldbof:1;
1808 uint64_t pidbof:1;
1809 uint64_t pcnt:1;
1810 uint64_t ptime:1;
1811 uint64_t c0_aeri:1;
1812 uint64_t crs0_er:1;
1813 uint64_t c0_se:1;
1814 uint64_t crs0_dr:1;
1815 uint64_t c0_wake:1;
1816 uint64_t c0_pmei:1;
1817 uint64_t c0_hpint:1;
1818 uint64_t c1_aeri:1;
1819 uint64_t crs1_er:1;
1820 uint64_t c1_se:1;
1821 uint64_t crs1_dr:1;
1822 uint64_t c1_wake:1;
1823 uint64_t c1_pmei:1;
1824 uint64_t c1_hpint:1;
1825 uint64_t c0_up_b0:1;
1826 uint64_t c0_up_b1:1;
1827 uint64_t c0_up_b2:1;
1828 uint64_t c0_up_wi:1;
1829 uint64_t c0_up_bx:1;
1830 uint64_t c0_un_b0:1;
1831 uint64_t c0_un_b1:1;
1832 uint64_t c0_un_b2:1;
1833 uint64_t c0_un_wi:1;
1834 uint64_t c0_un_bx:1;
1835 uint64_t c1_up_b0:1;
1836 uint64_t c1_up_b1:1;
1837 uint64_t c1_up_b2:1;
1838 uint64_t c1_up_wi:1;
1839 uint64_t c1_up_bx:1;
1840 uint64_t c1_un_b0:1;
1841 uint64_t c1_un_b1:1;
1842 uint64_t c1_un_b2:1;
1843 uint64_t c1_un_wi:1;
1844 uint64_t c1_un_bx:1;
1845 uint64_t c0_un_wf:1;
1846 uint64_t c1_un_wf:1;
1847 uint64_t c0_up_wf:1;
1848 uint64_t c1_up_wf:1;
1849 uint64_t c0_exc:1;
1850 uint64_t c1_exc:1;
1851 uint64_t c0_ldwn:1;
1852 uint64_t c1_ldwn:1;
1853 uint64_t int_a:1;
1854 uint64_t reserved_62_62:1;
1855 uint64_t mio_inta:1;
1856#endif
1073 } cn52xxp1; 1857 } cn52xxp1;
1074 struct cvmx_npei_int_enb_s cn56xx; 1858 struct cvmx_npei_int_enb_s cn56xx;
1075 struct cvmx_npei_int_enb_cn56xxp1 { 1859 struct cvmx_npei_int_enb_cn56xxp1 {
1860#ifdef __BIG_ENDIAN_BITFIELD
1076 uint64_t mio_inta:1; 1861 uint64_t mio_inta:1;
1077 uint64_t reserved_61_62:2; 1862 uint64_t reserved_61_62:2;
1078 uint64_t c1_ldwn:1; 1863 uint64_t c1_ldwn:1;
@@ -1136,12 +1921,78 @@ union cvmx_npei_int_enb {
1136 uint64_t bar0_to:1; 1921 uint64_t bar0_to:1;
1137 uint64_t rml_wto:1; 1922 uint64_t rml_wto:1;
1138 uint64_t rml_rto:1; 1923 uint64_t rml_rto:1;
1924#else
1925 uint64_t rml_rto:1;
1926 uint64_t rml_wto:1;
1927 uint64_t bar0_to:1;
1928 uint64_t iob2big:1;
1929 uint64_t dma0dbo:1;
1930 uint64_t dma1dbo:1;
1931 uint64_t dma2dbo:1;
1932 uint64_t dma3dbo:1;
1933 uint64_t dma4dbo:1;
1934 uint64_t dma0fi:1;
1935 uint64_t dma1fi:1;
1936 uint64_t dcnt0:1;
1937 uint64_t dcnt1:1;
1938 uint64_t dtime0:1;
1939 uint64_t dtime1:1;
1940 uint64_t psldbof:1;
1941 uint64_t pidbof:1;
1942 uint64_t pcnt:1;
1943 uint64_t ptime:1;
1944 uint64_t c0_aeri:1;
1945 uint64_t reserved_20_20:1;
1946 uint64_t c0_se:1;
1947 uint64_t reserved_22_22:1;
1948 uint64_t c0_wake:1;
1949 uint64_t c0_pmei:1;
1950 uint64_t c0_hpint:1;
1951 uint64_t c1_aeri:1;
1952 uint64_t reserved_27_27:1;
1953 uint64_t c1_se:1;
1954 uint64_t reserved_29_29:1;
1955 uint64_t c1_wake:1;
1956 uint64_t c1_pmei:1;
1957 uint64_t c1_hpint:1;
1958 uint64_t c0_up_b0:1;
1959 uint64_t c0_up_b1:1;
1960 uint64_t c0_up_b2:1;
1961 uint64_t c0_up_wi:1;
1962 uint64_t c0_up_bx:1;
1963 uint64_t c0_un_b0:1;
1964 uint64_t c0_un_b1:1;
1965 uint64_t c0_un_b2:1;
1966 uint64_t c0_un_wi:1;
1967 uint64_t c0_un_bx:1;
1968 uint64_t c1_up_b0:1;
1969 uint64_t c1_up_b1:1;
1970 uint64_t c1_up_b2:1;
1971 uint64_t c1_up_wi:1;
1972 uint64_t c1_up_bx:1;
1973 uint64_t c1_un_b0:1;
1974 uint64_t c1_un_b1:1;
1975 uint64_t c1_un_b2:1;
1976 uint64_t c1_un_wi:1;
1977 uint64_t c1_un_bx:1;
1978 uint64_t c0_un_wf:1;
1979 uint64_t c1_un_wf:1;
1980 uint64_t c0_up_wf:1;
1981 uint64_t c1_up_wf:1;
1982 uint64_t c0_exc:1;
1983 uint64_t c1_exc:1;
1984 uint64_t c0_ldwn:1;
1985 uint64_t c1_ldwn:1;
1986 uint64_t reserved_61_62:2;
1987 uint64_t mio_inta:1;
1988#endif
1139 } cn56xxp1; 1989 } cn56xxp1;
1140}; 1990};
1141 1991
1142union cvmx_npei_int_enb2 { 1992union cvmx_npei_int_enb2 {
1143 uint64_t u64; 1993 uint64_t u64;
1144 struct cvmx_npei_int_enb2_s { 1994 struct cvmx_npei_int_enb2_s {
1995#ifdef __BIG_ENDIAN_BITFIELD
1145 uint64_t reserved_62_63:2; 1996 uint64_t reserved_62_63:2;
1146 uint64_t int_a:1; 1997 uint64_t int_a:1;
1147 uint64_t c1_ldwn:1; 1998 uint64_t c1_ldwn:1;
@@ -1205,9 +2056,75 @@ union cvmx_npei_int_enb2 {
1205 uint64_t bar0_to:1; 2056 uint64_t bar0_to:1;
1206 uint64_t rml_wto:1; 2057 uint64_t rml_wto:1;
1207 uint64_t rml_rto:1; 2058 uint64_t rml_rto:1;
2059#else
2060 uint64_t rml_rto:1;
2061 uint64_t rml_wto:1;
2062 uint64_t bar0_to:1;
2063 uint64_t iob2big:1;
2064 uint64_t dma0dbo:1;
2065 uint64_t dma1dbo:1;
2066 uint64_t dma2dbo:1;
2067 uint64_t dma3dbo:1;
2068 uint64_t dma4dbo:1;
2069 uint64_t dma0fi:1;
2070 uint64_t dma1fi:1;
2071 uint64_t dcnt0:1;
2072 uint64_t dcnt1:1;
2073 uint64_t dtime0:1;
2074 uint64_t dtime1:1;
2075 uint64_t psldbof:1;
2076 uint64_t pidbof:1;
2077 uint64_t pcnt:1;
2078 uint64_t ptime:1;
2079 uint64_t c0_aeri:1;
2080 uint64_t crs0_er:1;
2081 uint64_t c0_se:1;
2082 uint64_t crs0_dr:1;
2083 uint64_t c0_wake:1;
2084 uint64_t c0_pmei:1;
2085 uint64_t c0_hpint:1;
2086 uint64_t c1_aeri:1;
2087 uint64_t crs1_er:1;
2088 uint64_t c1_se:1;
2089 uint64_t crs1_dr:1;
2090 uint64_t c1_wake:1;
2091 uint64_t c1_pmei:1;
2092 uint64_t c1_hpint:1;
2093 uint64_t c0_up_b0:1;
2094 uint64_t c0_up_b1:1;
2095 uint64_t c0_up_b2:1;
2096 uint64_t c0_up_wi:1;
2097 uint64_t c0_up_bx:1;
2098 uint64_t c0_un_b0:1;
2099 uint64_t c0_un_b1:1;
2100 uint64_t c0_un_b2:1;
2101 uint64_t c0_un_wi:1;
2102 uint64_t c0_un_bx:1;
2103 uint64_t c1_up_b0:1;
2104 uint64_t c1_up_b1:1;
2105 uint64_t c1_up_b2:1;
2106 uint64_t c1_up_wi:1;
2107 uint64_t c1_up_bx:1;
2108 uint64_t c1_un_b0:1;
2109 uint64_t c1_un_b1:1;
2110 uint64_t c1_un_b2:1;
2111 uint64_t c1_un_wi:1;
2112 uint64_t c1_un_bx:1;
2113 uint64_t c0_un_wf:1;
2114 uint64_t c1_un_wf:1;
2115 uint64_t c0_up_wf:1;
2116 uint64_t c1_up_wf:1;
2117 uint64_t c0_exc:1;
2118 uint64_t c1_exc:1;
2119 uint64_t c0_ldwn:1;
2120 uint64_t c1_ldwn:1;
2121 uint64_t int_a:1;
2122 uint64_t reserved_62_63:2;
2123#endif
1208 } s; 2124 } s;
1209 struct cvmx_npei_int_enb2_s cn52xx; 2125 struct cvmx_npei_int_enb2_s cn52xx;
1210 struct cvmx_npei_int_enb2_cn52xxp1 { 2126 struct cvmx_npei_int_enb2_cn52xxp1 {
2127#ifdef __BIG_ENDIAN_BITFIELD
1211 uint64_t reserved_62_63:2; 2128 uint64_t reserved_62_63:2;
1212 uint64_t int_a:1; 2129 uint64_t int_a:1;
1213 uint64_t c1_ldwn:1; 2130 uint64_t c1_ldwn:1;
@@ -1271,9 +2188,75 @@ union cvmx_npei_int_enb2 {
1271 uint64_t bar0_to:1; 2188 uint64_t bar0_to:1;
1272 uint64_t rml_wto:1; 2189 uint64_t rml_wto:1;
1273 uint64_t rml_rto:1; 2190 uint64_t rml_rto:1;
2191#else
2192 uint64_t rml_rto:1;
2193 uint64_t rml_wto:1;
2194 uint64_t bar0_to:1;
2195 uint64_t iob2big:1;
2196 uint64_t dma0dbo:1;
2197 uint64_t dma1dbo:1;
2198 uint64_t dma2dbo:1;
2199 uint64_t dma3dbo:1;
2200 uint64_t reserved_8_8:1;
2201 uint64_t dma0fi:1;
2202 uint64_t dma1fi:1;
2203 uint64_t dcnt0:1;
2204 uint64_t dcnt1:1;
2205 uint64_t dtime0:1;
2206 uint64_t dtime1:1;
2207 uint64_t psldbof:1;
2208 uint64_t pidbof:1;
2209 uint64_t pcnt:1;
2210 uint64_t ptime:1;
2211 uint64_t c0_aeri:1;
2212 uint64_t crs0_er:1;
2213 uint64_t c0_se:1;
2214 uint64_t crs0_dr:1;
2215 uint64_t c0_wake:1;
2216 uint64_t c0_pmei:1;
2217 uint64_t c0_hpint:1;
2218 uint64_t c1_aeri:1;
2219 uint64_t crs1_er:1;
2220 uint64_t c1_se:1;
2221 uint64_t crs1_dr:1;
2222 uint64_t c1_wake:1;
2223 uint64_t c1_pmei:1;
2224 uint64_t c1_hpint:1;
2225 uint64_t c0_up_b0:1;
2226 uint64_t c0_up_b1:1;
2227 uint64_t c0_up_b2:1;
2228 uint64_t c0_up_wi:1;
2229 uint64_t c0_up_bx:1;
2230 uint64_t c0_un_b0:1;
2231 uint64_t c0_un_b1:1;
2232 uint64_t c0_un_b2:1;
2233 uint64_t c0_un_wi:1;
2234 uint64_t c0_un_bx:1;
2235 uint64_t c1_up_b0:1;
2236 uint64_t c1_up_b1:1;
2237 uint64_t c1_up_b2:1;
2238 uint64_t c1_up_wi:1;
2239 uint64_t c1_up_bx:1;
2240 uint64_t c1_un_b0:1;
2241 uint64_t c1_un_b1:1;
2242 uint64_t c1_un_b2:1;
2243 uint64_t c1_un_wi:1;
2244 uint64_t c1_un_bx:1;
2245 uint64_t c0_un_wf:1;
2246 uint64_t c1_un_wf:1;
2247 uint64_t c0_up_wf:1;
2248 uint64_t c1_up_wf:1;
2249 uint64_t c0_exc:1;
2250 uint64_t c1_exc:1;
2251 uint64_t c0_ldwn:1;
2252 uint64_t c1_ldwn:1;
2253 uint64_t int_a:1;
2254 uint64_t reserved_62_63:2;
2255#endif
1274 } cn52xxp1; 2256 } cn52xxp1;
1275 struct cvmx_npei_int_enb2_s cn56xx; 2257 struct cvmx_npei_int_enb2_s cn56xx;
1276 struct cvmx_npei_int_enb2_cn56xxp1 { 2258 struct cvmx_npei_int_enb2_cn56xxp1 {
2259#ifdef __BIG_ENDIAN_BITFIELD
1277 uint64_t reserved_61_63:3; 2260 uint64_t reserved_61_63:3;
1278 uint64_t c1_ldwn:1; 2261 uint64_t c1_ldwn:1;
1279 uint64_t c0_ldwn:1; 2262 uint64_t c0_ldwn:1;
@@ -1336,15 +2319,85 @@ union cvmx_npei_int_enb2 {
1336 uint64_t bar0_to:1; 2319 uint64_t bar0_to:1;
1337 uint64_t rml_wto:1; 2320 uint64_t rml_wto:1;
1338 uint64_t rml_rto:1; 2321 uint64_t rml_rto:1;
2322#else
2323 uint64_t rml_rto:1;
2324 uint64_t rml_wto:1;
2325 uint64_t bar0_to:1;
2326 uint64_t iob2big:1;
2327 uint64_t dma0dbo:1;
2328 uint64_t dma1dbo:1;
2329 uint64_t dma2dbo:1;
2330 uint64_t dma3dbo:1;
2331 uint64_t dma4dbo:1;
2332 uint64_t dma0fi:1;
2333 uint64_t dma1fi:1;
2334 uint64_t dcnt0:1;
2335 uint64_t dcnt1:1;
2336 uint64_t dtime0:1;
2337 uint64_t dtime1:1;
2338 uint64_t psldbof:1;
2339 uint64_t pidbof:1;
2340 uint64_t pcnt:1;
2341 uint64_t ptime:1;
2342 uint64_t c0_aeri:1;
2343 uint64_t reserved_20_20:1;
2344 uint64_t c0_se:1;
2345 uint64_t reserved_22_22:1;
2346 uint64_t c0_wake:1;
2347 uint64_t c0_pmei:1;
2348 uint64_t c0_hpint:1;
2349 uint64_t c1_aeri:1;
2350 uint64_t reserved_27_27:1;
2351 uint64_t c1_se:1;
2352 uint64_t reserved_29_29:1;
2353 uint64_t c1_wake:1;
2354 uint64_t c1_pmei:1;
2355 uint64_t c1_hpint:1;
2356 uint64_t c0_up_b0:1;
2357 uint64_t c0_up_b1:1;
2358 uint64_t c0_up_b2:1;
2359 uint64_t c0_up_wi:1;
2360 uint64_t c0_up_bx:1;
2361 uint64_t c0_un_b0:1;
2362 uint64_t c0_un_b1:1;
2363 uint64_t c0_un_b2:1;
2364 uint64_t c0_un_wi:1;
2365 uint64_t c0_un_bx:1;
2366 uint64_t c1_up_b0:1;
2367 uint64_t c1_up_b1:1;
2368 uint64_t c1_up_b2:1;
2369 uint64_t c1_up_wi:1;
2370 uint64_t c1_up_bx:1;
2371 uint64_t c1_un_b0:1;
2372 uint64_t c1_un_b1:1;
2373 uint64_t c1_un_b2:1;
2374 uint64_t c1_un_wi:1;
2375 uint64_t c1_un_bx:1;
2376 uint64_t c0_un_wf:1;
2377 uint64_t c1_un_wf:1;
2378 uint64_t c0_up_wf:1;
2379 uint64_t c1_up_wf:1;
2380 uint64_t c0_exc:1;
2381 uint64_t c1_exc:1;
2382 uint64_t c0_ldwn:1;
2383 uint64_t c1_ldwn:1;
2384 uint64_t reserved_61_63:3;
2385#endif
1339 } cn56xxp1; 2386 } cn56xxp1;
1340}; 2387};
1341 2388
1342union cvmx_npei_int_info { 2389union cvmx_npei_int_info {
1343 uint64_t u64; 2390 uint64_t u64;
1344 struct cvmx_npei_int_info_s { 2391 struct cvmx_npei_int_info_s {
2392#ifdef __BIG_ENDIAN_BITFIELD
1345 uint64_t reserved_12_63:52; 2393 uint64_t reserved_12_63:52;
1346 uint64_t pidbof:6; 2394 uint64_t pidbof:6;
1347 uint64_t psldbof:6; 2395 uint64_t psldbof:6;
2396#else
2397 uint64_t psldbof:6;
2398 uint64_t pidbof:6;
2399 uint64_t reserved_12_63:52;
2400#endif
1348 } s; 2401 } s;
1349 struct cvmx_npei_int_info_s cn52xx; 2402 struct cvmx_npei_int_info_s cn52xx;
1350 struct cvmx_npei_int_info_s cn56xx; 2403 struct cvmx_npei_int_info_s cn56xx;
@@ -1354,6 +2407,7 @@ union cvmx_npei_int_info {
1354union cvmx_npei_int_sum { 2407union cvmx_npei_int_sum {
1355 uint64_t u64; 2408 uint64_t u64;
1356 struct cvmx_npei_int_sum_s { 2409 struct cvmx_npei_int_sum_s {
2410#ifdef __BIG_ENDIAN_BITFIELD
1357 uint64_t mio_inta:1; 2411 uint64_t mio_inta:1;
1358 uint64_t reserved_62_62:1; 2412 uint64_t reserved_62_62:1;
1359 uint64_t int_a:1; 2413 uint64_t int_a:1;
@@ -1418,9 +2472,76 @@ union cvmx_npei_int_sum {
1418 uint64_t bar0_to:1; 2472 uint64_t bar0_to:1;
1419 uint64_t rml_wto:1; 2473 uint64_t rml_wto:1;
1420 uint64_t rml_rto:1; 2474 uint64_t rml_rto:1;
2475#else
2476 uint64_t rml_rto:1;
2477 uint64_t rml_wto:1;
2478 uint64_t bar0_to:1;
2479 uint64_t iob2big:1;
2480 uint64_t dma0dbo:1;
2481 uint64_t dma1dbo:1;
2482 uint64_t dma2dbo:1;
2483 uint64_t dma3dbo:1;
2484 uint64_t dma4dbo:1;
2485 uint64_t dma0fi:1;
2486 uint64_t dma1fi:1;
2487 uint64_t dcnt0:1;
2488 uint64_t dcnt1:1;
2489 uint64_t dtime0:1;
2490 uint64_t dtime1:1;
2491 uint64_t psldbof:1;
2492 uint64_t pidbof:1;
2493 uint64_t pcnt:1;
2494 uint64_t ptime:1;
2495 uint64_t c0_aeri:1;
2496 uint64_t crs0_er:1;
2497 uint64_t c0_se:1;
2498 uint64_t crs0_dr:1;
2499 uint64_t c0_wake:1;
2500 uint64_t c0_pmei:1;
2501 uint64_t c0_hpint:1;
2502 uint64_t c1_aeri:1;
2503 uint64_t crs1_er:1;
2504 uint64_t c1_se:1;
2505 uint64_t crs1_dr:1;
2506 uint64_t c1_wake:1;
2507 uint64_t c1_pmei:1;
2508 uint64_t c1_hpint:1;
2509 uint64_t c0_up_b0:1;
2510 uint64_t c0_up_b1:1;
2511 uint64_t c0_up_b2:1;
2512 uint64_t c0_up_wi:1;
2513 uint64_t c0_up_bx:1;
2514 uint64_t c0_un_b0:1;
2515 uint64_t c0_un_b1:1;
2516 uint64_t c0_un_b2:1;
2517 uint64_t c0_un_wi:1;
2518 uint64_t c0_un_bx:1;
2519 uint64_t c1_up_b0:1;
2520 uint64_t c1_up_b1:1;
2521 uint64_t c1_up_b2:1;
2522 uint64_t c1_up_wi:1;
2523 uint64_t c1_up_bx:1;
2524 uint64_t c1_un_b0:1;
2525 uint64_t c1_un_b1:1;
2526 uint64_t c1_un_b2:1;
2527 uint64_t c1_un_wi:1;
2528 uint64_t c1_un_bx:1;
2529 uint64_t c0_un_wf:1;
2530 uint64_t c1_un_wf:1;
2531 uint64_t c0_up_wf:1;
2532 uint64_t c1_up_wf:1;
2533 uint64_t c0_exc:1;
2534 uint64_t c1_exc:1;
2535 uint64_t c0_ldwn:1;
2536 uint64_t c1_ldwn:1;
2537 uint64_t int_a:1;
2538 uint64_t reserved_62_62:1;
2539 uint64_t mio_inta:1;
2540#endif
1421 } s; 2541 } s;
1422 struct cvmx_npei_int_sum_s cn52xx; 2542 struct cvmx_npei_int_sum_s cn52xx;
1423 struct cvmx_npei_int_sum_cn52xxp1 { 2543 struct cvmx_npei_int_sum_cn52xxp1 {
2544#ifdef __BIG_ENDIAN_BITFIELD
1424 uint64_t mio_inta:1; 2545 uint64_t mio_inta:1;
1425 uint64_t reserved_62_62:1; 2546 uint64_t reserved_62_62:1;
1426 uint64_t int_a:1; 2547 uint64_t int_a:1;
@@ -1482,9 +2603,73 @@ union cvmx_npei_int_sum {
1482 uint64_t bar0_to:1; 2603 uint64_t bar0_to:1;
1483 uint64_t rml_wto:1; 2604 uint64_t rml_wto:1;
1484 uint64_t rml_rto:1; 2605 uint64_t rml_rto:1;
2606#else
2607 uint64_t rml_rto:1;
2608 uint64_t rml_wto:1;
2609 uint64_t bar0_to:1;
2610 uint64_t iob2big:1;
2611 uint64_t dma0dbo:1;
2612 uint64_t dma1dbo:1;
2613 uint64_t dma2dbo:1;
2614 uint64_t dma3dbo:1;
2615 uint64_t reserved_8_8:1;
2616 uint64_t dma0fi:1;
2617 uint64_t dma1fi:1;
2618 uint64_t dcnt0:1;
2619 uint64_t dcnt1:1;
2620 uint64_t dtime0:1;
2621 uint64_t dtime1:1;
2622 uint64_t reserved_15_18:4;
2623 uint64_t c0_aeri:1;
2624 uint64_t crs0_er:1;
2625 uint64_t c0_se:1;
2626 uint64_t crs0_dr:1;
2627 uint64_t c0_wake:1;
2628 uint64_t c0_pmei:1;
2629 uint64_t c0_hpint:1;
2630 uint64_t c1_aeri:1;
2631 uint64_t crs1_er:1;
2632 uint64_t c1_se:1;
2633 uint64_t crs1_dr:1;
2634 uint64_t c1_wake:1;
2635 uint64_t c1_pmei:1;
2636 uint64_t c1_hpint:1;
2637 uint64_t c0_up_b0:1;
2638 uint64_t c0_up_b1:1;
2639 uint64_t c0_up_b2:1;
2640 uint64_t c0_up_wi:1;
2641 uint64_t c0_up_bx:1;
2642 uint64_t c0_un_b0:1;
2643 uint64_t c0_un_b1:1;
2644 uint64_t c0_un_b2:1;
2645 uint64_t c0_un_wi:1;
2646 uint64_t c0_un_bx:1;
2647 uint64_t c1_up_b0:1;
2648 uint64_t c1_up_b1:1;
2649 uint64_t c1_up_b2:1;
2650 uint64_t c1_up_wi:1;
2651 uint64_t c1_up_bx:1;
2652 uint64_t c1_un_b0:1;
2653 uint64_t c1_un_b1:1;
2654 uint64_t c1_un_b2:1;
2655 uint64_t c1_un_wi:1;
2656 uint64_t c1_un_bx:1;
2657 uint64_t c0_un_wf:1;
2658 uint64_t c1_un_wf:1;
2659 uint64_t c0_up_wf:1;
2660 uint64_t c1_up_wf:1;
2661 uint64_t c0_exc:1;
2662 uint64_t c1_exc:1;
2663 uint64_t c0_ldwn:1;
2664 uint64_t c1_ldwn:1;
2665 uint64_t int_a:1;
2666 uint64_t reserved_62_62:1;
2667 uint64_t mio_inta:1;
2668#endif
1485 } cn52xxp1; 2669 } cn52xxp1;
1486 struct cvmx_npei_int_sum_s cn56xx; 2670 struct cvmx_npei_int_sum_s cn56xx;
1487 struct cvmx_npei_int_sum_cn56xxp1 { 2671 struct cvmx_npei_int_sum_cn56xxp1 {
2672#ifdef __BIG_ENDIAN_BITFIELD
1488 uint64_t mio_inta:1; 2673 uint64_t mio_inta:1;
1489 uint64_t reserved_61_62:2; 2674 uint64_t reserved_61_62:2;
1490 uint64_t c1_ldwn:1; 2675 uint64_t c1_ldwn:1;
@@ -1545,12 +2730,75 @@ union cvmx_npei_int_sum {
1545 uint64_t bar0_to:1; 2730 uint64_t bar0_to:1;
1546 uint64_t rml_wto:1; 2731 uint64_t rml_wto:1;
1547 uint64_t rml_rto:1; 2732 uint64_t rml_rto:1;
2733#else
2734 uint64_t rml_rto:1;
2735 uint64_t rml_wto:1;
2736 uint64_t bar0_to:1;
2737 uint64_t iob2big:1;
2738 uint64_t dma0dbo:1;
2739 uint64_t dma1dbo:1;
2740 uint64_t dma2dbo:1;
2741 uint64_t dma3dbo:1;
2742 uint64_t dma4dbo:1;
2743 uint64_t dma0fi:1;
2744 uint64_t dma1fi:1;
2745 uint64_t dcnt0:1;
2746 uint64_t dcnt1:1;
2747 uint64_t dtime0:1;
2748 uint64_t dtime1:1;
2749 uint64_t reserved_15_18:4;
2750 uint64_t c0_aeri:1;
2751 uint64_t reserved_20_20:1;
2752 uint64_t c0_se:1;
2753 uint64_t reserved_22_22:1;
2754 uint64_t c0_wake:1;
2755 uint64_t c0_pmei:1;
2756 uint64_t c0_hpint:1;
2757 uint64_t c1_aeri:1;
2758 uint64_t reserved_27_27:1;
2759 uint64_t c1_se:1;
2760 uint64_t reserved_29_29:1;
2761 uint64_t c1_wake:1;
2762 uint64_t c1_pmei:1;
2763 uint64_t c1_hpint:1;
2764 uint64_t c0_up_b0:1;
2765 uint64_t c0_up_b1:1;
2766 uint64_t c0_up_b2:1;
2767 uint64_t c0_up_wi:1;
2768 uint64_t c0_up_bx:1;
2769 uint64_t c0_un_b0:1;
2770 uint64_t c0_un_b1:1;
2771 uint64_t c0_un_b2:1;
2772 uint64_t c0_un_wi:1;
2773 uint64_t c0_un_bx:1;
2774 uint64_t c1_up_b0:1;
2775 uint64_t c1_up_b1:1;
2776 uint64_t c1_up_b2:1;
2777 uint64_t c1_up_wi:1;
2778 uint64_t c1_up_bx:1;
2779 uint64_t c1_un_b0:1;
2780 uint64_t c1_un_b1:1;
2781 uint64_t c1_un_b2:1;
2782 uint64_t c1_un_wi:1;
2783 uint64_t c1_un_bx:1;
2784 uint64_t c0_un_wf:1;
2785 uint64_t c1_un_wf:1;
2786 uint64_t c0_up_wf:1;
2787 uint64_t c1_up_wf:1;
2788 uint64_t c0_exc:1;
2789 uint64_t c1_exc:1;
2790 uint64_t c0_ldwn:1;
2791 uint64_t c1_ldwn:1;
2792 uint64_t reserved_61_62:2;
2793 uint64_t mio_inta:1;
2794#endif
1548 } cn56xxp1; 2795 } cn56xxp1;
1549}; 2796};
1550 2797
1551union cvmx_npei_int_sum2 { 2798union cvmx_npei_int_sum2 {
1552 uint64_t u64; 2799 uint64_t u64;
1553 struct cvmx_npei_int_sum2_s { 2800 struct cvmx_npei_int_sum2_s {
2801#ifdef __BIG_ENDIAN_BITFIELD
1554 uint64_t mio_inta:1; 2802 uint64_t mio_inta:1;
1555 uint64_t reserved_62_62:1; 2803 uint64_t reserved_62_62:1;
1556 uint64_t int_a:1; 2804 uint64_t int_a:1;
@@ -1612,6 +2860,69 @@ union cvmx_npei_int_sum2 {
1612 uint64_t bar0_to:1; 2860 uint64_t bar0_to:1;
1613 uint64_t rml_wto:1; 2861 uint64_t rml_wto:1;
1614 uint64_t rml_rto:1; 2862 uint64_t rml_rto:1;
2863#else
2864 uint64_t rml_rto:1;
2865 uint64_t rml_wto:1;
2866 uint64_t bar0_to:1;
2867 uint64_t iob2big:1;
2868 uint64_t dma0dbo:1;
2869 uint64_t dma1dbo:1;
2870 uint64_t dma2dbo:1;
2871 uint64_t dma3dbo:1;
2872 uint64_t reserved_8_8:1;
2873 uint64_t dma0fi:1;
2874 uint64_t dma1fi:1;
2875 uint64_t dcnt0:1;
2876 uint64_t dcnt1:1;
2877 uint64_t dtime0:1;
2878 uint64_t dtime1:1;
2879 uint64_t reserved_15_18:4;
2880 uint64_t c0_aeri:1;
2881 uint64_t crs0_er:1;
2882 uint64_t c0_se:1;
2883 uint64_t crs0_dr:1;
2884 uint64_t c0_wake:1;
2885 uint64_t c0_pmei:1;
2886 uint64_t c0_hpint:1;
2887 uint64_t c1_aeri:1;
2888 uint64_t crs1_er:1;
2889 uint64_t c1_se:1;
2890 uint64_t crs1_dr:1;
2891 uint64_t c1_wake:1;
2892 uint64_t c1_pmei:1;
2893 uint64_t c1_hpint:1;
2894 uint64_t c0_up_b0:1;
2895 uint64_t c0_up_b1:1;
2896 uint64_t c0_up_b2:1;
2897 uint64_t c0_up_wi:1;
2898 uint64_t c0_up_bx:1;
2899 uint64_t c0_un_b0:1;
2900 uint64_t c0_un_b1:1;
2901 uint64_t c0_un_b2:1;
2902 uint64_t c0_un_wi:1;
2903 uint64_t c0_un_bx:1;
2904 uint64_t c1_up_b0:1;
2905 uint64_t c1_up_b1:1;
2906 uint64_t c1_up_b2:1;
2907 uint64_t c1_up_wi:1;
2908 uint64_t c1_up_bx:1;
2909 uint64_t c1_un_b0:1;
2910 uint64_t c1_un_b1:1;
2911 uint64_t c1_un_b2:1;
2912 uint64_t c1_un_wi:1;
2913 uint64_t c1_un_bx:1;
2914 uint64_t c0_un_wf:1;
2915 uint64_t c1_un_wf:1;
2916 uint64_t c0_up_wf:1;
2917 uint64_t c1_up_wf:1;
2918 uint64_t c0_exc:1;
2919 uint64_t c1_exc:1;
2920 uint64_t c0_ldwn:1;
2921 uint64_t c1_ldwn:1;
2922 uint64_t int_a:1;
2923 uint64_t reserved_62_62:1;
2924 uint64_t mio_inta:1;
2925#endif
1615 } s; 2926 } s;
1616 struct cvmx_npei_int_sum2_s cn52xx; 2927 struct cvmx_npei_int_sum2_s cn52xx;
1617 struct cvmx_npei_int_sum2_s cn52xxp1; 2928 struct cvmx_npei_int_sum2_s cn52xxp1;
@@ -1621,7 +2932,11 @@ union cvmx_npei_int_sum2 {
1621union cvmx_npei_last_win_rdata0 { 2932union cvmx_npei_last_win_rdata0 {
1622 uint64_t u64; 2933 uint64_t u64;
1623 struct cvmx_npei_last_win_rdata0_s { 2934 struct cvmx_npei_last_win_rdata0_s {
2935#ifdef __BIG_ENDIAN_BITFIELD
1624 uint64_t data:64; 2936 uint64_t data:64;
2937#else
2938 uint64_t data:64;
2939#endif
1625 } s; 2940 } s;
1626 struct cvmx_npei_last_win_rdata0_s cn52xx; 2941 struct cvmx_npei_last_win_rdata0_s cn52xx;
1627 struct cvmx_npei_last_win_rdata0_s cn52xxp1; 2942 struct cvmx_npei_last_win_rdata0_s cn52xxp1;
@@ -1632,7 +2947,11 @@ union cvmx_npei_last_win_rdata0 {
1632union cvmx_npei_last_win_rdata1 { 2947union cvmx_npei_last_win_rdata1 {
1633 uint64_t u64; 2948 uint64_t u64;
1634 struct cvmx_npei_last_win_rdata1_s { 2949 struct cvmx_npei_last_win_rdata1_s {
2950#ifdef __BIG_ENDIAN_BITFIELD
2951 uint64_t data:64;
2952#else
1635 uint64_t data:64; 2953 uint64_t data:64;
2954#endif
1636 } s; 2955 } s;
1637 struct cvmx_npei_last_win_rdata1_s cn52xx; 2956 struct cvmx_npei_last_win_rdata1_s cn52xx;
1638 struct cvmx_npei_last_win_rdata1_s cn52xxp1; 2957 struct cvmx_npei_last_win_rdata1_s cn52xxp1;
@@ -1643,9 +2962,15 @@ union cvmx_npei_last_win_rdata1 {
1643union cvmx_npei_mem_access_ctl { 2962union cvmx_npei_mem_access_ctl {
1644 uint64_t u64; 2963 uint64_t u64;
1645 struct cvmx_npei_mem_access_ctl_s { 2964 struct cvmx_npei_mem_access_ctl_s {
2965#ifdef __BIG_ENDIAN_BITFIELD
1646 uint64_t reserved_14_63:50; 2966 uint64_t reserved_14_63:50;
1647 uint64_t max_word:4; 2967 uint64_t max_word:4;
1648 uint64_t timer:10; 2968 uint64_t timer:10;
2969#else
2970 uint64_t timer:10;
2971 uint64_t max_word:4;
2972 uint64_t reserved_14_63:50;
2973#endif
1649 } s; 2974 } s;
1650 struct cvmx_npei_mem_access_ctl_s cn52xx; 2975 struct cvmx_npei_mem_access_ctl_s cn52xx;
1651 struct cvmx_npei_mem_access_ctl_s cn52xxp1; 2976 struct cvmx_npei_mem_access_ctl_s cn52xxp1;
@@ -1656,6 +2981,7 @@ union cvmx_npei_mem_access_ctl {
1656union cvmx_npei_mem_access_subidx { 2981union cvmx_npei_mem_access_subidx {
1657 uint64_t u64; 2982 uint64_t u64;
1658 struct cvmx_npei_mem_access_subidx_s { 2983 struct cvmx_npei_mem_access_subidx_s {
2984#ifdef __BIG_ENDIAN_BITFIELD
1659 uint64_t reserved_42_63:22; 2985 uint64_t reserved_42_63:22;
1660 uint64_t zero:1; 2986 uint64_t zero:1;
1661 uint64_t port:2; 2987 uint64_t port:2;
@@ -1667,6 +2993,19 @@ union cvmx_npei_mem_access_subidx {
1667 uint64_t ror:1; 2993 uint64_t ror:1;
1668 uint64_t row:1; 2994 uint64_t row:1;
1669 uint64_t ba:30; 2995 uint64_t ba:30;
2996#else
2997 uint64_t ba:30;
2998 uint64_t row:1;
2999 uint64_t ror:1;
3000 uint64_t nsw:1;
3001 uint64_t nsr:1;
3002 uint64_t esw:2;
3003 uint64_t esr:2;
3004 uint64_t nmerge:1;
3005 uint64_t port:2;
3006 uint64_t zero:1;
3007 uint64_t reserved_42_63:22;
3008#endif
1670 } s; 3009 } s;
1671 struct cvmx_npei_mem_access_subidx_s cn52xx; 3010 struct cvmx_npei_mem_access_subidx_s cn52xx;
1672 struct cvmx_npei_mem_access_subidx_s cn52xxp1; 3011 struct cvmx_npei_mem_access_subidx_s cn52xxp1;
@@ -1677,7 +3016,11 @@ union cvmx_npei_mem_access_subidx {
1677union cvmx_npei_msi_enb0 { 3016union cvmx_npei_msi_enb0 {
1678 uint64_t u64; 3017 uint64_t u64;
1679 struct cvmx_npei_msi_enb0_s { 3018 struct cvmx_npei_msi_enb0_s {
3019#ifdef __BIG_ENDIAN_BITFIELD
1680 uint64_t enb:64; 3020 uint64_t enb:64;
3021#else
3022 uint64_t enb:64;
3023#endif
1681 } s; 3024 } s;
1682 struct cvmx_npei_msi_enb0_s cn52xx; 3025 struct cvmx_npei_msi_enb0_s cn52xx;
1683 struct cvmx_npei_msi_enb0_s cn52xxp1; 3026 struct cvmx_npei_msi_enb0_s cn52xxp1;
@@ -1688,7 +3031,11 @@ union cvmx_npei_msi_enb0 {
1688union cvmx_npei_msi_enb1 { 3031union cvmx_npei_msi_enb1 {
1689 uint64_t u64; 3032 uint64_t u64;
1690 struct cvmx_npei_msi_enb1_s { 3033 struct cvmx_npei_msi_enb1_s {
3034#ifdef __BIG_ENDIAN_BITFIELD
3035 uint64_t enb:64;
3036#else
1691 uint64_t enb:64; 3037 uint64_t enb:64;
3038#endif
1692 } s; 3039 } s;
1693 struct cvmx_npei_msi_enb1_s cn52xx; 3040 struct cvmx_npei_msi_enb1_s cn52xx;
1694 struct cvmx_npei_msi_enb1_s cn52xxp1; 3041 struct cvmx_npei_msi_enb1_s cn52xxp1;
@@ -1699,7 +3046,11 @@ union cvmx_npei_msi_enb1 {
1699union cvmx_npei_msi_enb2 { 3046union cvmx_npei_msi_enb2 {
1700 uint64_t u64; 3047 uint64_t u64;
1701 struct cvmx_npei_msi_enb2_s { 3048 struct cvmx_npei_msi_enb2_s {
3049#ifdef __BIG_ENDIAN_BITFIELD
3050 uint64_t enb:64;
3051#else
1702 uint64_t enb:64; 3052 uint64_t enb:64;
3053#endif
1703 } s; 3054 } s;
1704 struct cvmx_npei_msi_enb2_s cn52xx; 3055 struct cvmx_npei_msi_enb2_s cn52xx;
1705 struct cvmx_npei_msi_enb2_s cn52xxp1; 3056 struct cvmx_npei_msi_enb2_s cn52xxp1;
@@ -1710,7 +3061,11 @@ union cvmx_npei_msi_enb2 {
1710union cvmx_npei_msi_enb3 { 3061union cvmx_npei_msi_enb3 {
1711 uint64_t u64; 3062 uint64_t u64;
1712 struct cvmx_npei_msi_enb3_s { 3063 struct cvmx_npei_msi_enb3_s {
3064#ifdef __BIG_ENDIAN_BITFIELD
1713 uint64_t enb:64; 3065 uint64_t enb:64;
3066#else
3067 uint64_t enb:64;
3068#endif
1714 } s; 3069 } s;
1715 struct cvmx_npei_msi_enb3_s cn52xx; 3070 struct cvmx_npei_msi_enb3_s cn52xx;
1716 struct cvmx_npei_msi_enb3_s cn52xxp1; 3071 struct cvmx_npei_msi_enb3_s cn52xxp1;
@@ -1721,7 +3076,11 @@ union cvmx_npei_msi_enb3 {
1721union cvmx_npei_msi_rcv0 { 3076union cvmx_npei_msi_rcv0 {
1722 uint64_t u64; 3077 uint64_t u64;
1723 struct cvmx_npei_msi_rcv0_s { 3078 struct cvmx_npei_msi_rcv0_s {
3079#ifdef __BIG_ENDIAN_BITFIELD
1724 uint64_t intr:64; 3080 uint64_t intr:64;
3081#else
3082 uint64_t intr:64;
3083#endif
1725 } s; 3084 } s;
1726 struct cvmx_npei_msi_rcv0_s cn52xx; 3085 struct cvmx_npei_msi_rcv0_s cn52xx;
1727 struct cvmx_npei_msi_rcv0_s cn52xxp1; 3086 struct cvmx_npei_msi_rcv0_s cn52xxp1;
@@ -1732,7 +3091,11 @@ union cvmx_npei_msi_rcv0 {
1732union cvmx_npei_msi_rcv1 { 3091union cvmx_npei_msi_rcv1 {
1733 uint64_t u64; 3092 uint64_t u64;
1734 struct cvmx_npei_msi_rcv1_s { 3093 struct cvmx_npei_msi_rcv1_s {
3094#ifdef __BIG_ENDIAN_BITFIELD
3095 uint64_t intr:64;
3096#else
1735 uint64_t intr:64; 3097 uint64_t intr:64;
3098#endif
1736 } s; 3099 } s;
1737 struct cvmx_npei_msi_rcv1_s cn52xx; 3100 struct cvmx_npei_msi_rcv1_s cn52xx;
1738 struct cvmx_npei_msi_rcv1_s cn52xxp1; 3101 struct cvmx_npei_msi_rcv1_s cn52xxp1;
@@ -1743,7 +3106,11 @@ union cvmx_npei_msi_rcv1 {
1743union cvmx_npei_msi_rcv2 { 3106union cvmx_npei_msi_rcv2 {
1744 uint64_t u64; 3107 uint64_t u64;
1745 struct cvmx_npei_msi_rcv2_s { 3108 struct cvmx_npei_msi_rcv2_s {
3109#ifdef __BIG_ENDIAN_BITFIELD
3110 uint64_t intr:64;
3111#else
1746 uint64_t intr:64; 3112 uint64_t intr:64;
3113#endif
1747 } s; 3114 } s;
1748 struct cvmx_npei_msi_rcv2_s cn52xx; 3115 struct cvmx_npei_msi_rcv2_s cn52xx;
1749 struct cvmx_npei_msi_rcv2_s cn52xxp1; 3116 struct cvmx_npei_msi_rcv2_s cn52xxp1;
@@ -1754,7 +3121,11 @@ union cvmx_npei_msi_rcv2 {
1754union cvmx_npei_msi_rcv3 { 3121union cvmx_npei_msi_rcv3 {
1755 uint64_t u64; 3122 uint64_t u64;
1756 struct cvmx_npei_msi_rcv3_s { 3123 struct cvmx_npei_msi_rcv3_s {
3124#ifdef __BIG_ENDIAN_BITFIELD
1757 uint64_t intr:64; 3125 uint64_t intr:64;
3126#else
3127 uint64_t intr:64;
3128#endif
1758 } s; 3129 } s;
1759 struct cvmx_npei_msi_rcv3_s cn52xx; 3130 struct cvmx_npei_msi_rcv3_s cn52xx;
1760 struct cvmx_npei_msi_rcv3_s cn52xxp1; 3131 struct cvmx_npei_msi_rcv3_s cn52xxp1;
@@ -1765,9 +3136,15 @@ union cvmx_npei_msi_rcv3 {
1765union cvmx_npei_msi_rd_map { 3136union cvmx_npei_msi_rd_map {
1766 uint64_t u64; 3137 uint64_t u64;
1767 struct cvmx_npei_msi_rd_map_s { 3138 struct cvmx_npei_msi_rd_map_s {
3139#ifdef __BIG_ENDIAN_BITFIELD
1768 uint64_t reserved_16_63:48; 3140 uint64_t reserved_16_63:48;
1769 uint64_t rd_int:8; 3141 uint64_t rd_int:8;
1770 uint64_t msi_int:8; 3142 uint64_t msi_int:8;
3143#else
3144 uint64_t msi_int:8;
3145 uint64_t rd_int:8;
3146 uint64_t reserved_16_63:48;
3147#endif
1771 } s; 3148 } s;
1772 struct cvmx_npei_msi_rd_map_s cn52xx; 3149 struct cvmx_npei_msi_rd_map_s cn52xx;
1773 struct cvmx_npei_msi_rd_map_s cn52xxp1; 3150 struct cvmx_npei_msi_rd_map_s cn52xxp1;
@@ -1778,7 +3155,11 @@ union cvmx_npei_msi_rd_map {
1778union cvmx_npei_msi_w1c_enb0 { 3155union cvmx_npei_msi_w1c_enb0 {
1779 uint64_t u64; 3156 uint64_t u64;
1780 struct cvmx_npei_msi_w1c_enb0_s { 3157 struct cvmx_npei_msi_w1c_enb0_s {
3158#ifdef __BIG_ENDIAN_BITFIELD
1781 uint64_t clr:64; 3159 uint64_t clr:64;
3160#else
3161 uint64_t clr:64;
3162#endif
1782 } s; 3163 } s;
1783 struct cvmx_npei_msi_w1c_enb0_s cn52xx; 3164 struct cvmx_npei_msi_w1c_enb0_s cn52xx;
1784 struct cvmx_npei_msi_w1c_enb0_s cn56xx; 3165 struct cvmx_npei_msi_w1c_enb0_s cn56xx;
@@ -1787,7 +3168,11 @@ union cvmx_npei_msi_w1c_enb0 {
1787union cvmx_npei_msi_w1c_enb1 { 3168union cvmx_npei_msi_w1c_enb1 {
1788 uint64_t u64; 3169 uint64_t u64;
1789 struct cvmx_npei_msi_w1c_enb1_s { 3170 struct cvmx_npei_msi_w1c_enb1_s {
3171#ifdef __BIG_ENDIAN_BITFIELD
3172 uint64_t clr:64;
3173#else
1790 uint64_t clr:64; 3174 uint64_t clr:64;
3175#endif
1791 } s; 3176 } s;
1792 struct cvmx_npei_msi_w1c_enb1_s cn52xx; 3177 struct cvmx_npei_msi_w1c_enb1_s cn52xx;
1793 struct cvmx_npei_msi_w1c_enb1_s cn56xx; 3178 struct cvmx_npei_msi_w1c_enb1_s cn56xx;
@@ -1796,7 +3181,11 @@ union cvmx_npei_msi_w1c_enb1 {
1796union cvmx_npei_msi_w1c_enb2 { 3181union cvmx_npei_msi_w1c_enb2 {
1797 uint64_t u64; 3182 uint64_t u64;
1798 struct cvmx_npei_msi_w1c_enb2_s { 3183 struct cvmx_npei_msi_w1c_enb2_s {
3184#ifdef __BIG_ENDIAN_BITFIELD
3185 uint64_t clr:64;
3186#else
1799 uint64_t clr:64; 3187 uint64_t clr:64;
3188#endif
1800 } s; 3189 } s;
1801 struct cvmx_npei_msi_w1c_enb2_s cn52xx; 3190 struct cvmx_npei_msi_w1c_enb2_s cn52xx;
1802 struct cvmx_npei_msi_w1c_enb2_s cn56xx; 3191 struct cvmx_npei_msi_w1c_enb2_s cn56xx;
@@ -1805,7 +3194,11 @@ union cvmx_npei_msi_w1c_enb2 {
1805union cvmx_npei_msi_w1c_enb3 { 3194union cvmx_npei_msi_w1c_enb3 {
1806 uint64_t u64; 3195 uint64_t u64;
1807 struct cvmx_npei_msi_w1c_enb3_s { 3196 struct cvmx_npei_msi_w1c_enb3_s {
3197#ifdef __BIG_ENDIAN_BITFIELD
1808 uint64_t clr:64; 3198 uint64_t clr:64;
3199#else
3200 uint64_t clr:64;
3201#endif
1809 } s; 3202 } s;
1810 struct cvmx_npei_msi_w1c_enb3_s cn52xx; 3203 struct cvmx_npei_msi_w1c_enb3_s cn52xx;
1811 struct cvmx_npei_msi_w1c_enb3_s cn56xx; 3204 struct cvmx_npei_msi_w1c_enb3_s cn56xx;
@@ -1814,7 +3207,11 @@ union cvmx_npei_msi_w1c_enb3 {
1814union cvmx_npei_msi_w1s_enb0 { 3207union cvmx_npei_msi_w1s_enb0 {
1815 uint64_t u64; 3208 uint64_t u64;
1816 struct cvmx_npei_msi_w1s_enb0_s { 3209 struct cvmx_npei_msi_w1s_enb0_s {
3210#ifdef __BIG_ENDIAN_BITFIELD
3211 uint64_t set:64;
3212#else
1817 uint64_t set:64; 3213 uint64_t set:64;
3214#endif
1818 } s; 3215 } s;
1819 struct cvmx_npei_msi_w1s_enb0_s cn52xx; 3216 struct cvmx_npei_msi_w1s_enb0_s cn52xx;
1820 struct cvmx_npei_msi_w1s_enb0_s cn56xx; 3217 struct cvmx_npei_msi_w1s_enb0_s cn56xx;
@@ -1823,7 +3220,11 @@ union cvmx_npei_msi_w1s_enb0 {
1823union cvmx_npei_msi_w1s_enb1 { 3220union cvmx_npei_msi_w1s_enb1 {
1824 uint64_t u64; 3221 uint64_t u64;
1825 struct cvmx_npei_msi_w1s_enb1_s { 3222 struct cvmx_npei_msi_w1s_enb1_s {
3223#ifdef __BIG_ENDIAN_BITFIELD
3224 uint64_t set:64;
3225#else
1826 uint64_t set:64; 3226 uint64_t set:64;
3227#endif
1827 } s; 3228 } s;
1828 struct cvmx_npei_msi_w1s_enb1_s cn52xx; 3229 struct cvmx_npei_msi_w1s_enb1_s cn52xx;
1829 struct cvmx_npei_msi_w1s_enb1_s cn56xx; 3230 struct cvmx_npei_msi_w1s_enb1_s cn56xx;
@@ -1832,7 +3233,11 @@ union cvmx_npei_msi_w1s_enb1 {
1832union cvmx_npei_msi_w1s_enb2 { 3233union cvmx_npei_msi_w1s_enb2 {
1833 uint64_t u64; 3234 uint64_t u64;
1834 struct cvmx_npei_msi_w1s_enb2_s { 3235 struct cvmx_npei_msi_w1s_enb2_s {
3236#ifdef __BIG_ENDIAN_BITFIELD
3237 uint64_t set:64;
3238#else
1835 uint64_t set:64; 3239 uint64_t set:64;
3240#endif
1836 } s; 3241 } s;
1837 struct cvmx_npei_msi_w1s_enb2_s cn52xx; 3242 struct cvmx_npei_msi_w1s_enb2_s cn52xx;
1838 struct cvmx_npei_msi_w1s_enb2_s cn56xx; 3243 struct cvmx_npei_msi_w1s_enb2_s cn56xx;
@@ -1841,7 +3246,11 @@ union cvmx_npei_msi_w1s_enb2 {
1841union cvmx_npei_msi_w1s_enb3 { 3246union cvmx_npei_msi_w1s_enb3 {
1842 uint64_t u64; 3247 uint64_t u64;
1843 struct cvmx_npei_msi_w1s_enb3_s { 3248 struct cvmx_npei_msi_w1s_enb3_s {
3249#ifdef __BIG_ENDIAN_BITFIELD
1844 uint64_t set:64; 3250 uint64_t set:64;
3251#else
3252 uint64_t set:64;
3253#endif
1845 } s; 3254 } s;
1846 struct cvmx_npei_msi_w1s_enb3_s cn52xx; 3255 struct cvmx_npei_msi_w1s_enb3_s cn52xx;
1847 struct cvmx_npei_msi_w1s_enb3_s cn56xx; 3256 struct cvmx_npei_msi_w1s_enb3_s cn56xx;
@@ -1850,9 +3259,15 @@ union cvmx_npei_msi_w1s_enb3 {
1850union cvmx_npei_msi_wr_map { 3259union cvmx_npei_msi_wr_map {
1851 uint64_t u64; 3260 uint64_t u64;
1852 struct cvmx_npei_msi_wr_map_s { 3261 struct cvmx_npei_msi_wr_map_s {
3262#ifdef __BIG_ENDIAN_BITFIELD
1853 uint64_t reserved_16_63:48; 3263 uint64_t reserved_16_63:48;
1854 uint64_t ciu_int:8; 3264 uint64_t ciu_int:8;
1855 uint64_t msi_int:8; 3265 uint64_t msi_int:8;
3266#else
3267 uint64_t msi_int:8;
3268 uint64_t ciu_int:8;
3269 uint64_t reserved_16_63:48;
3270#endif
1856 } s; 3271 } s;
1857 struct cvmx_npei_msi_wr_map_s cn52xx; 3272 struct cvmx_npei_msi_wr_map_s cn52xx;
1858 struct cvmx_npei_msi_wr_map_s cn52xxp1; 3273 struct cvmx_npei_msi_wr_map_s cn52xxp1;
@@ -1863,6 +3278,7 @@ union cvmx_npei_msi_wr_map {
1863union cvmx_npei_pcie_credit_cnt { 3278union cvmx_npei_pcie_credit_cnt {
1864 uint64_t u64; 3279 uint64_t u64;
1865 struct cvmx_npei_pcie_credit_cnt_s { 3280 struct cvmx_npei_pcie_credit_cnt_s {
3281#ifdef __BIG_ENDIAN_BITFIELD
1866 uint64_t reserved_48_63:16; 3282 uint64_t reserved_48_63:16;
1867 uint64_t p1_ccnt:8; 3283 uint64_t p1_ccnt:8;
1868 uint64_t p1_ncnt:8; 3284 uint64_t p1_ncnt:8;
@@ -1870,6 +3286,15 @@ union cvmx_npei_pcie_credit_cnt {
1870 uint64_t p0_ccnt:8; 3286 uint64_t p0_ccnt:8;
1871 uint64_t p0_ncnt:8; 3287 uint64_t p0_ncnt:8;
1872 uint64_t p0_pcnt:8; 3288 uint64_t p0_pcnt:8;
3289#else
3290 uint64_t p0_pcnt:8;
3291 uint64_t p0_ncnt:8;
3292 uint64_t p0_ccnt:8;
3293 uint64_t p1_pcnt:8;
3294 uint64_t p1_ncnt:8;
3295 uint64_t p1_ccnt:8;
3296 uint64_t reserved_48_63:16;
3297#endif
1873 } s; 3298 } s;
1874 struct cvmx_npei_pcie_credit_cnt_s cn52xx; 3299 struct cvmx_npei_pcie_credit_cnt_s cn52xx;
1875 struct cvmx_npei_pcie_credit_cnt_s cn56xx; 3300 struct cvmx_npei_pcie_credit_cnt_s cn56xx;
@@ -1878,8 +3303,13 @@ union cvmx_npei_pcie_credit_cnt {
1878union cvmx_npei_pcie_msi_rcv { 3303union cvmx_npei_pcie_msi_rcv {
1879 uint64_t u64; 3304 uint64_t u64;
1880 struct cvmx_npei_pcie_msi_rcv_s { 3305 struct cvmx_npei_pcie_msi_rcv_s {
3306#ifdef __BIG_ENDIAN_BITFIELD
1881 uint64_t reserved_8_63:56; 3307 uint64_t reserved_8_63:56;
1882 uint64_t intr:8; 3308 uint64_t intr:8;
3309#else
3310 uint64_t intr:8;
3311 uint64_t reserved_8_63:56;
3312#endif
1883 } s; 3313 } s;
1884 struct cvmx_npei_pcie_msi_rcv_s cn52xx; 3314 struct cvmx_npei_pcie_msi_rcv_s cn52xx;
1885 struct cvmx_npei_pcie_msi_rcv_s cn52xxp1; 3315 struct cvmx_npei_pcie_msi_rcv_s cn52xxp1;
@@ -1890,9 +3320,15 @@ union cvmx_npei_pcie_msi_rcv {
1890union cvmx_npei_pcie_msi_rcv_b1 { 3320union cvmx_npei_pcie_msi_rcv_b1 {
1891 uint64_t u64; 3321 uint64_t u64;
1892 struct cvmx_npei_pcie_msi_rcv_b1_s { 3322 struct cvmx_npei_pcie_msi_rcv_b1_s {
3323#ifdef __BIG_ENDIAN_BITFIELD
1893 uint64_t reserved_16_63:48; 3324 uint64_t reserved_16_63:48;
1894 uint64_t intr:8; 3325 uint64_t intr:8;
1895 uint64_t reserved_0_7:8; 3326 uint64_t reserved_0_7:8;
3327#else
3328 uint64_t reserved_0_7:8;
3329 uint64_t intr:8;
3330 uint64_t reserved_16_63:48;
3331#endif
1896 } s; 3332 } s;
1897 struct cvmx_npei_pcie_msi_rcv_b1_s cn52xx; 3333 struct cvmx_npei_pcie_msi_rcv_b1_s cn52xx;
1898 struct cvmx_npei_pcie_msi_rcv_b1_s cn52xxp1; 3334 struct cvmx_npei_pcie_msi_rcv_b1_s cn52xxp1;
@@ -1903,9 +3339,15 @@ union cvmx_npei_pcie_msi_rcv_b1 {
1903union cvmx_npei_pcie_msi_rcv_b2 { 3339union cvmx_npei_pcie_msi_rcv_b2 {
1904 uint64_t u64; 3340 uint64_t u64;
1905 struct cvmx_npei_pcie_msi_rcv_b2_s { 3341 struct cvmx_npei_pcie_msi_rcv_b2_s {
3342#ifdef __BIG_ENDIAN_BITFIELD
1906 uint64_t reserved_24_63:40; 3343 uint64_t reserved_24_63:40;
1907 uint64_t intr:8; 3344 uint64_t intr:8;
1908 uint64_t reserved_0_15:16; 3345 uint64_t reserved_0_15:16;
3346#else
3347 uint64_t reserved_0_15:16;
3348 uint64_t intr:8;
3349 uint64_t reserved_24_63:40;
3350#endif
1909 } s; 3351 } s;
1910 struct cvmx_npei_pcie_msi_rcv_b2_s cn52xx; 3352 struct cvmx_npei_pcie_msi_rcv_b2_s cn52xx;
1911 struct cvmx_npei_pcie_msi_rcv_b2_s cn52xxp1; 3353 struct cvmx_npei_pcie_msi_rcv_b2_s cn52xxp1;
@@ -1916,9 +3358,15 @@ union cvmx_npei_pcie_msi_rcv_b2 {
1916union cvmx_npei_pcie_msi_rcv_b3 { 3358union cvmx_npei_pcie_msi_rcv_b3 {
1917 uint64_t u64; 3359 uint64_t u64;
1918 struct cvmx_npei_pcie_msi_rcv_b3_s { 3360 struct cvmx_npei_pcie_msi_rcv_b3_s {
3361#ifdef __BIG_ENDIAN_BITFIELD
1919 uint64_t reserved_32_63:32; 3362 uint64_t reserved_32_63:32;
1920 uint64_t intr:8; 3363 uint64_t intr:8;
1921 uint64_t reserved_0_23:24; 3364 uint64_t reserved_0_23:24;
3365#else
3366 uint64_t reserved_0_23:24;
3367 uint64_t intr:8;
3368 uint64_t reserved_32_63:32;
3369#endif
1922 } s; 3370 } s;
1923 struct cvmx_npei_pcie_msi_rcv_b3_s cn52xx; 3371 struct cvmx_npei_pcie_msi_rcv_b3_s cn52xx;
1924 struct cvmx_npei_pcie_msi_rcv_b3_s cn52xxp1; 3372 struct cvmx_npei_pcie_msi_rcv_b3_s cn52xxp1;
@@ -1929,9 +3377,15 @@ union cvmx_npei_pcie_msi_rcv_b3 {
1929union cvmx_npei_pktx_cnts { 3377union cvmx_npei_pktx_cnts {
1930 uint64_t u64; 3378 uint64_t u64;
1931 struct cvmx_npei_pktx_cnts_s { 3379 struct cvmx_npei_pktx_cnts_s {
3380#ifdef __BIG_ENDIAN_BITFIELD
1932 uint64_t reserved_54_63:10; 3381 uint64_t reserved_54_63:10;
1933 uint64_t timer:22; 3382 uint64_t timer:22;
1934 uint64_t cnt:32; 3383 uint64_t cnt:32;
3384#else
3385 uint64_t cnt:32;
3386 uint64_t timer:22;
3387 uint64_t reserved_54_63:10;
3388#endif
1935 } s; 3389 } s;
1936 struct cvmx_npei_pktx_cnts_s cn52xx; 3390 struct cvmx_npei_pktx_cnts_s cn52xx;
1937 struct cvmx_npei_pktx_cnts_s cn56xx; 3391 struct cvmx_npei_pktx_cnts_s cn56xx;
@@ -1940,8 +3394,13 @@ union cvmx_npei_pktx_cnts {
1940union cvmx_npei_pktx_in_bp { 3394union cvmx_npei_pktx_in_bp {
1941 uint64_t u64; 3395 uint64_t u64;
1942 struct cvmx_npei_pktx_in_bp_s { 3396 struct cvmx_npei_pktx_in_bp_s {
3397#ifdef __BIG_ENDIAN_BITFIELD
1943 uint64_t wmark:32; 3398 uint64_t wmark:32;
1944 uint64_t cnt:32; 3399 uint64_t cnt:32;
3400#else
3401 uint64_t cnt:32;
3402 uint64_t wmark:32;
3403#endif
1945 } s; 3404 } s;
1946 struct cvmx_npei_pktx_in_bp_s cn52xx; 3405 struct cvmx_npei_pktx_in_bp_s cn52xx;
1947 struct cvmx_npei_pktx_in_bp_s cn56xx; 3406 struct cvmx_npei_pktx_in_bp_s cn56xx;
@@ -1950,8 +3409,13 @@ union cvmx_npei_pktx_in_bp {
1950union cvmx_npei_pktx_instr_baddr { 3409union cvmx_npei_pktx_instr_baddr {
1951 uint64_t u64; 3410 uint64_t u64;
1952 struct cvmx_npei_pktx_instr_baddr_s { 3411 struct cvmx_npei_pktx_instr_baddr_s {
3412#ifdef __BIG_ENDIAN_BITFIELD
1953 uint64_t addr:61; 3413 uint64_t addr:61;
1954 uint64_t reserved_0_2:3; 3414 uint64_t reserved_0_2:3;
3415#else
3416 uint64_t reserved_0_2:3;
3417 uint64_t addr:61;
3418#endif
1955 } s; 3419 } s;
1956 struct cvmx_npei_pktx_instr_baddr_s cn52xx; 3420 struct cvmx_npei_pktx_instr_baddr_s cn52xx;
1957 struct cvmx_npei_pktx_instr_baddr_s cn56xx; 3421 struct cvmx_npei_pktx_instr_baddr_s cn56xx;
@@ -1960,8 +3424,13 @@ union cvmx_npei_pktx_instr_baddr {
1960union cvmx_npei_pktx_instr_baoff_dbell { 3424union cvmx_npei_pktx_instr_baoff_dbell {
1961 uint64_t u64; 3425 uint64_t u64;
1962 struct cvmx_npei_pktx_instr_baoff_dbell_s { 3426 struct cvmx_npei_pktx_instr_baoff_dbell_s {
3427#ifdef __BIG_ENDIAN_BITFIELD
1963 uint64_t aoff:32; 3428 uint64_t aoff:32;
1964 uint64_t dbell:32; 3429 uint64_t dbell:32;
3430#else
3431 uint64_t dbell:32;
3432 uint64_t aoff:32;
3433#endif
1965 } s; 3434 } s;
1966 struct cvmx_npei_pktx_instr_baoff_dbell_s cn52xx; 3435 struct cvmx_npei_pktx_instr_baoff_dbell_s cn52xx;
1967 struct cvmx_npei_pktx_instr_baoff_dbell_s cn56xx; 3436 struct cvmx_npei_pktx_instr_baoff_dbell_s cn56xx;
@@ -1970,11 +3439,19 @@ union cvmx_npei_pktx_instr_baoff_dbell {
1970union cvmx_npei_pktx_instr_fifo_rsize { 3439union cvmx_npei_pktx_instr_fifo_rsize {
1971 uint64_t u64; 3440 uint64_t u64;
1972 struct cvmx_npei_pktx_instr_fifo_rsize_s { 3441 struct cvmx_npei_pktx_instr_fifo_rsize_s {
3442#ifdef __BIG_ENDIAN_BITFIELD
1973 uint64_t max:9; 3443 uint64_t max:9;
1974 uint64_t rrp:9; 3444 uint64_t rrp:9;
1975 uint64_t wrp:9; 3445 uint64_t wrp:9;
1976 uint64_t fcnt:5; 3446 uint64_t fcnt:5;
1977 uint64_t rsize:32; 3447 uint64_t rsize:32;
3448#else
3449 uint64_t rsize:32;
3450 uint64_t fcnt:5;
3451 uint64_t wrp:9;
3452 uint64_t rrp:9;
3453 uint64_t max:9;
3454#endif
1978 } s; 3455 } s;
1979 struct cvmx_npei_pktx_instr_fifo_rsize_s cn52xx; 3456 struct cvmx_npei_pktx_instr_fifo_rsize_s cn52xx;
1980 struct cvmx_npei_pktx_instr_fifo_rsize_s cn56xx; 3457 struct cvmx_npei_pktx_instr_fifo_rsize_s cn56xx;
@@ -1983,6 +3460,7 @@ union cvmx_npei_pktx_instr_fifo_rsize {
1983union cvmx_npei_pktx_instr_header { 3460union cvmx_npei_pktx_instr_header {
1984 uint64_t u64; 3461 uint64_t u64;
1985 struct cvmx_npei_pktx_instr_header_s { 3462 struct cvmx_npei_pktx_instr_header_s {
3463#ifdef __BIG_ENDIAN_BITFIELD
1986 uint64_t reserved_44_63:20; 3464 uint64_t reserved_44_63:20;
1987 uint64_t pbp:1; 3465 uint64_t pbp:1;
1988 uint64_t reserved_38_42:5; 3466 uint64_t reserved_38_42:5;
@@ -1996,6 +3474,21 @@ union cvmx_npei_pktx_instr_header {
1996 uint64_t reserved_13_13:1; 3474 uint64_t reserved_13_13:1;
1997 uint64_t skp_len:7; 3475 uint64_t skp_len:7;
1998 uint64_t reserved_0_5:6; 3476 uint64_t reserved_0_5:6;
3477#else
3478 uint64_t reserved_0_5:6;
3479 uint64_t skp_len:7;
3480 uint64_t reserved_13_13:1;
3481 uint64_t par_mode:2;
3482 uint64_t reserved_16_20:5;
3483 uint64_t use_ihdr:1;
3484 uint64_t reserved_22_27:6;
3485 uint64_t rskp_len:7;
3486 uint64_t reserved_35_35:1;
3487 uint64_t rparmode:2;
3488 uint64_t reserved_38_42:5;
3489 uint64_t pbp:1;
3490 uint64_t reserved_44_63:20;
3491#endif
1999 } s; 3492 } s;
2000 struct cvmx_npei_pktx_instr_header_s cn52xx; 3493 struct cvmx_npei_pktx_instr_header_s cn52xx;
2001 struct cvmx_npei_pktx_instr_header_s cn56xx; 3494 struct cvmx_npei_pktx_instr_header_s cn56xx;
@@ -2004,8 +3497,13 @@ union cvmx_npei_pktx_instr_header {
2004union cvmx_npei_pktx_slist_baddr { 3497union cvmx_npei_pktx_slist_baddr {
2005 uint64_t u64; 3498 uint64_t u64;
2006 struct cvmx_npei_pktx_slist_baddr_s { 3499 struct cvmx_npei_pktx_slist_baddr_s {
3500#ifdef __BIG_ENDIAN_BITFIELD
2007 uint64_t addr:60; 3501 uint64_t addr:60;
2008 uint64_t reserved_0_3:4; 3502 uint64_t reserved_0_3:4;
3503#else
3504 uint64_t reserved_0_3:4;
3505 uint64_t addr:60;
3506#endif
2009 } s; 3507 } s;
2010 struct cvmx_npei_pktx_slist_baddr_s cn52xx; 3508 struct cvmx_npei_pktx_slist_baddr_s cn52xx;
2011 struct cvmx_npei_pktx_slist_baddr_s cn56xx; 3509 struct cvmx_npei_pktx_slist_baddr_s cn56xx;
@@ -2014,8 +3512,13 @@ union cvmx_npei_pktx_slist_baddr {
2014union cvmx_npei_pktx_slist_baoff_dbell { 3512union cvmx_npei_pktx_slist_baoff_dbell {
2015 uint64_t u64; 3513 uint64_t u64;
2016 struct cvmx_npei_pktx_slist_baoff_dbell_s { 3514 struct cvmx_npei_pktx_slist_baoff_dbell_s {
3515#ifdef __BIG_ENDIAN_BITFIELD
2017 uint64_t aoff:32; 3516 uint64_t aoff:32;
2018 uint64_t dbell:32; 3517 uint64_t dbell:32;
3518#else
3519 uint64_t dbell:32;
3520 uint64_t aoff:32;
3521#endif
2019 } s; 3522 } s;
2020 struct cvmx_npei_pktx_slist_baoff_dbell_s cn52xx; 3523 struct cvmx_npei_pktx_slist_baoff_dbell_s cn52xx;
2021 struct cvmx_npei_pktx_slist_baoff_dbell_s cn56xx; 3524 struct cvmx_npei_pktx_slist_baoff_dbell_s cn56xx;
@@ -2024,8 +3527,13 @@ union cvmx_npei_pktx_slist_baoff_dbell {
2024union cvmx_npei_pktx_slist_fifo_rsize { 3527union cvmx_npei_pktx_slist_fifo_rsize {
2025 uint64_t u64; 3528 uint64_t u64;
2026 struct cvmx_npei_pktx_slist_fifo_rsize_s { 3529 struct cvmx_npei_pktx_slist_fifo_rsize_s {
3530#ifdef __BIG_ENDIAN_BITFIELD
2027 uint64_t reserved_32_63:32; 3531 uint64_t reserved_32_63:32;
2028 uint64_t rsize:32; 3532 uint64_t rsize:32;
3533#else
3534 uint64_t rsize:32;
3535 uint64_t reserved_32_63:32;
3536#endif
2029 } s; 3537 } s;
2030 struct cvmx_npei_pktx_slist_fifo_rsize_s cn52xx; 3538 struct cvmx_npei_pktx_slist_fifo_rsize_s cn52xx;
2031 struct cvmx_npei_pktx_slist_fifo_rsize_s cn56xx; 3539 struct cvmx_npei_pktx_slist_fifo_rsize_s cn56xx;
@@ -2034,8 +3542,13 @@ union cvmx_npei_pktx_slist_fifo_rsize {
2034union cvmx_npei_pkt_cnt_int { 3542union cvmx_npei_pkt_cnt_int {
2035 uint64_t u64; 3543 uint64_t u64;
2036 struct cvmx_npei_pkt_cnt_int_s { 3544 struct cvmx_npei_pkt_cnt_int_s {
3545#ifdef __BIG_ENDIAN_BITFIELD
2037 uint64_t reserved_32_63:32; 3546 uint64_t reserved_32_63:32;
2038 uint64_t port:32; 3547 uint64_t port:32;
3548#else
3549 uint64_t port:32;
3550 uint64_t reserved_32_63:32;
3551#endif
2039 } s; 3552 } s;
2040 struct cvmx_npei_pkt_cnt_int_s cn52xx; 3553 struct cvmx_npei_pkt_cnt_int_s cn52xx;
2041 struct cvmx_npei_pkt_cnt_int_s cn56xx; 3554 struct cvmx_npei_pkt_cnt_int_s cn56xx;
@@ -2044,8 +3557,13 @@ union cvmx_npei_pkt_cnt_int {
2044union cvmx_npei_pkt_cnt_int_enb { 3557union cvmx_npei_pkt_cnt_int_enb {
2045 uint64_t u64; 3558 uint64_t u64;
2046 struct cvmx_npei_pkt_cnt_int_enb_s { 3559 struct cvmx_npei_pkt_cnt_int_enb_s {
3560#ifdef __BIG_ENDIAN_BITFIELD
2047 uint64_t reserved_32_63:32; 3561 uint64_t reserved_32_63:32;
2048 uint64_t port:32; 3562 uint64_t port:32;
3563#else
3564 uint64_t port:32;
3565 uint64_t reserved_32_63:32;
3566#endif
2049 } s; 3567 } s;
2050 struct cvmx_npei_pkt_cnt_int_enb_s cn52xx; 3568 struct cvmx_npei_pkt_cnt_int_enb_s cn52xx;
2051 struct cvmx_npei_pkt_cnt_int_enb_s cn56xx; 3569 struct cvmx_npei_pkt_cnt_int_enb_s cn56xx;
@@ -2054,7 +3572,11 @@ union cvmx_npei_pkt_cnt_int_enb {
2054union cvmx_npei_pkt_data_out_es { 3572union cvmx_npei_pkt_data_out_es {
2055 uint64_t u64; 3573 uint64_t u64;
2056 struct cvmx_npei_pkt_data_out_es_s { 3574 struct cvmx_npei_pkt_data_out_es_s {
3575#ifdef __BIG_ENDIAN_BITFIELD
3576 uint64_t es:64;
3577#else
2057 uint64_t es:64; 3578 uint64_t es:64;
3579#endif
2058 } s; 3580 } s;
2059 struct cvmx_npei_pkt_data_out_es_s cn52xx; 3581 struct cvmx_npei_pkt_data_out_es_s cn52xx;
2060 struct cvmx_npei_pkt_data_out_es_s cn56xx; 3582 struct cvmx_npei_pkt_data_out_es_s cn56xx;
@@ -2063,8 +3585,13 @@ union cvmx_npei_pkt_data_out_es {
2063union cvmx_npei_pkt_data_out_ns { 3585union cvmx_npei_pkt_data_out_ns {
2064 uint64_t u64; 3586 uint64_t u64;
2065 struct cvmx_npei_pkt_data_out_ns_s { 3587 struct cvmx_npei_pkt_data_out_ns_s {
3588#ifdef __BIG_ENDIAN_BITFIELD
2066 uint64_t reserved_32_63:32; 3589 uint64_t reserved_32_63:32;
2067 uint64_t nsr:32; 3590 uint64_t nsr:32;
3591#else
3592 uint64_t nsr:32;
3593 uint64_t reserved_32_63:32;
3594#endif
2068 } s; 3595 } s;
2069 struct cvmx_npei_pkt_data_out_ns_s cn52xx; 3596 struct cvmx_npei_pkt_data_out_ns_s cn52xx;
2070 struct cvmx_npei_pkt_data_out_ns_s cn56xx; 3597 struct cvmx_npei_pkt_data_out_ns_s cn56xx;
@@ -2073,8 +3600,13 @@ union cvmx_npei_pkt_data_out_ns {
2073union cvmx_npei_pkt_data_out_ror { 3600union cvmx_npei_pkt_data_out_ror {
2074 uint64_t u64; 3601 uint64_t u64;
2075 struct cvmx_npei_pkt_data_out_ror_s { 3602 struct cvmx_npei_pkt_data_out_ror_s {
3603#ifdef __BIG_ENDIAN_BITFIELD
2076 uint64_t reserved_32_63:32; 3604 uint64_t reserved_32_63:32;
2077 uint64_t ror:32; 3605 uint64_t ror:32;
3606#else
3607 uint64_t ror:32;
3608 uint64_t reserved_32_63:32;
3609#endif
2078 } s; 3610 } s;
2079 struct cvmx_npei_pkt_data_out_ror_s cn52xx; 3611 struct cvmx_npei_pkt_data_out_ror_s cn52xx;
2080 struct cvmx_npei_pkt_data_out_ror_s cn56xx; 3612 struct cvmx_npei_pkt_data_out_ror_s cn56xx;
@@ -2083,8 +3615,13 @@ union cvmx_npei_pkt_data_out_ror {
2083union cvmx_npei_pkt_dpaddr { 3615union cvmx_npei_pkt_dpaddr {
2084 uint64_t u64; 3616 uint64_t u64;
2085 struct cvmx_npei_pkt_dpaddr_s { 3617 struct cvmx_npei_pkt_dpaddr_s {
3618#ifdef __BIG_ENDIAN_BITFIELD
2086 uint64_t reserved_32_63:32; 3619 uint64_t reserved_32_63:32;
2087 uint64_t dptr:32; 3620 uint64_t dptr:32;
3621#else
3622 uint64_t dptr:32;
3623 uint64_t reserved_32_63:32;
3624#endif
2088 } s; 3625 } s;
2089 struct cvmx_npei_pkt_dpaddr_s cn52xx; 3626 struct cvmx_npei_pkt_dpaddr_s cn52xx;
2090 struct cvmx_npei_pkt_dpaddr_s cn56xx; 3627 struct cvmx_npei_pkt_dpaddr_s cn56xx;
@@ -2093,8 +3630,13 @@ union cvmx_npei_pkt_dpaddr {
2093union cvmx_npei_pkt_in_bp { 3630union cvmx_npei_pkt_in_bp {
2094 uint64_t u64; 3631 uint64_t u64;
2095 struct cvmx_npei_pkt_in_bp_s { 3632 struct cvmx_npei_pkt_in_bp_s {
3633#ifdef __BIG_ENDIAN_BITFIELD
2096 uint64_t reserved_32_63:32; 3634 uint64_t reserved_32_63:32;
2097 uint64_t bp:32; 3635 uint64_t bp:32;
3636#else
3637 uint64_t bp:32;
3638 uint64_t reserved_32_63:32;
3639#endif
2098 } s; 3640 } s;
2099 struct cvmx_npei_pkt_in_bp_s cn52xx; 3641 struct cvmx_npei_pkt_in_bp_s cn52xx;
2100 struct cvmx_npei_pkt_in_bp_s cn56xx; 3642 struct cvmx_npei_pkt_in_bp_s cn56xx;
@@ -2103,8 +3645,13 @@ union cvmx_npei_pkt_in_bp {
2103union cvmx_npei_pkt_in_donex_cnts { 3645union cvmx_npei_pkt_in_donex_cnts {
2104 uint64_t u64; 3646 uint64_t u64;
2105 struct cvmx_npei_pkt_in_donex_cnts_s { 3647 struct cvmx_npei_pkt_in_donex_cnts_s {
3648#ifdef __BIG_ENDIAN_BITFIELD
2106 uint64_t reserved_32_63:32; 3649 uint64_t reserved_32_63:32;
2107 uint64_t cnt:32; 3650 uint64_t cnt:32;
3651#else
3652 uint64_t cnt:32;
3653 uint64_t reserved_32_63:32;
3654#endif
2108 } s; 3655 } s;
2109 struct cvmx_npei_pkt_in_donex_cnts_s cn52xx; 3656 struct cvmx_npei_pkt_in_donex_cnts_s cn52xx;
2110 struct cvmx_npei_pkt_in_donex_cnts_s cn56xx; 3657 struct cvmx_npei_pkt_in_donex_cnts_s cn56xx;
@@ -2113,8 +3660,13 @@ union cvmx_npei_pkt_in_donex_cnts {
2113union cvmx_npei_pkt_in_instr_counts { 3660union cvmx_npei_pkt_in_instr_counts {
2114 uint64_t u64; 3661 uint64_t u64;
2115 struct cvmx_npei_pkt_in_instr_counts_s { 3662 struct cvmx_npei_pkt_in_instr_counts_s {
3663#ifdef __BIG_ENDIAN_BITFIELD
2116 uint64_t wr_cnt:32; 3664 uint64_t wr_cnt:32;
2117 uint64_t rd_cnt:32; 3665 uint64_t rd_cnt:32;
3666#else
3667 uint64_t rd_cnt:32;
3668 uint64_t wr_cnt:32;
3669#endif
2118 } s; 3670 } s;
2119 struct cvmx_npei_pkt_in_instr_counts_s cn52xx; 3671 struct cvmx_npei_pkt_in_instr_counts_s cn52xx;
2120 struct cvmx_npei_pkt_in_instr_counts_s cn56xx; 3672 struct cvmx_npei_pkt_in_instr_counts_s cn56xx;
@@ -2123,7 +3675,11 @@ union cvmx_npei_pkt_in_instr_counts {
2123union cvmx_npei_pkt_in_pcie_port { 3675union cvmx_npei_pkt_in_pcie_port {
2124 uint64_t u64; 3676 uint64_t u64;
2125 struct cvmx_npei_pkt_in_pcie_port_s { 3677 struct cvmx_npei_pkt_in_pcie_port_s {
3678#ifdef __BIG_ENDIAN_BITFIELD
3679 uint64_t pp:64;
3680#else
2126 uint64_t pp:64; 3681 uint64_t pp:64;
3682#endif
2127 } s; 3683 } s;
2128 struct cvmx_npei_pkt_in_pcie_port_s cn52xx; 3684 struct cvmx_npei_pkt_in_pcie_port_s cn52xx;
2129 struct cvmx_npei_pkt_in_pcie_port_s cn56xx; 3685 struct cvmx_npei_pkt_in_pcie_port_s cn56xx;
@@ -2132,6 +3688,7 @@ union cvmx_npei_pkt_in_pcie_port {
2132union cvmx_npei_pkt_input_control { 3688union cvmx_npei_pkt_input_control {
2133 uint64_t u64; 3689 uint64_t u64;
2134 struct cvmx_npei_pkt_input_control_s { 3690 struct cvmx_npei_pkt_input_control_s {
3691#ifdef __BIG_ENDIAN_BITFIELD
2135 uint64_t reserved_23_63:41; 3692 uint64_t reserved_23_63:41;
2136 uint64_t pkt_rr:1; 3693 uint64_t pkt_rr:1;
2137 uint64_t pbp_dhi:13; 3694 uint64_t pbp_dhi:13;
@@ -2142,6 +3699,18 @@ union cvmx_npei_pkt_input_control {
2142 uint64_t nsr:1; 3699 uint64_t nsr:1;
2143 uint64_t esr:2; 3700 uint64_t esr:2;
2144 uint64_t ror:1; 3701 uint64_t ror:1;
3702#else
3703 uint64_t ror:1;
3704 uint64_t esr:2;
3705 uint64_t nsr:1;
3706 uint64_t use_csr:1;
3707 uint64_t d_ror:1;
3708 uint64_t d_esr:2;
3709 uint64_t d_nsr:1;
3710 uint64_t pbp_dhi:13;
3711 uint64_t pkt_rr:1;
3712 uint64_t reserved_23_63:41;
3713#endif
2145 } s; 3714 } s;
2146 struct cvmx_npei_pkt_input_control_s cn52xx; 3715 struct cvmx_npei_pkt_input_control_s cn52xx;
2147 struct cvmx_npei_pkt_input_control_s cn56xx; 3716 struct cvmx_npei_pkt_input_control_s cn56xx;
@@ -2150,8 +3719,13 @@ union cvmx_npei_pkt_input_control {
2150union cvmx_npei_pkt_instr_enb { 3719union cvmx_npei_pkt_instr_enb {
2151 uint64_t u64; 3720 uint64_t u64;
2152 struct cvmx_npei_pkt_instr_enb_s { 3721 struct cvmx_npei_pkt_instr_enb_s {
3722#ifdef __BIG_ENDIAN_BITFIELD
2153 uint64_t reserved_32_63:32; 3723 uint64_t reserved_32_63:32;
2154 uint64_t enb:32; 3724 uint64_t enb:32;
3725#else
3726 uint64_t enb:32;
3727 uint64_t reserved_32_63:32;
3728#endif
2155 } s; 3729 } s;
2156 struct cvmx_npei_pkt_instr_enb_s cn52xx; 3730 struct cvmx_npei_pkt_instr_enb_s cn52xx;
2157 struct cvmx_npei_pkt_instr_enb_s cn56xx; 3731 struct cvmx_npei_pkt_instr_enb_s cn56xx;
@@ -2160,7 +3734,11 @@ union cvmx_npei_pkt_instr_enb {
2160union cvmx_npei_pkt_instr_rd_size { 3734union cvmx_npei_pkt_instr_rd_size {
2161 uint64_t u64; 3735 uint64_t u64;
2162 struct cvmx_npei_pkt_instr_rd_size_s { 3736 struct cvmx_npei_pkt_instr_rd_size_s {
3737#ifdef __BIG_ENDIAN_BITFIELD
2163 uint64_t rdsize:64; 3738 uint64_t rdsize:64;
3739#else
3740 uint64_t rdsize:64;
3741#endif
2164 } s; 3742 } s;
2165 struct cvmx_npei_pkt_instr_rd_size_s cn52xx; 3743 struct cvmx_npei_pkt_instr_rd_size_s cn52xx;
2166 struct cvmx_npei_pkt_instr_rd_size_s cn56xx; 3744 struct cvmx_npei_pkt_instr_rd_size_s cn56xx;
@@ -2169,8 +3747,13 @@ union cvmx_npei_pkt_instr_rd_size {
2169union cvmx_npei_pkt_instr_size { 3747union cvmx_npei_pkt_instr_size {
2170 uint64_t u64; 3748 uint64_t u64;
2171 struct cvmx_npei_pkt_instr_size_s { 3749 struct cvmx_npei_pkt_instr_size_s {
3750#ifdef __BIG_ENDIAN_BITFIELD
2172 uint64_t reserved_32_63:32; 3751 uint64_t reserved_32_63:32;
2173 uint64_t is_64b:32; 3752 uint64_t is_64b:32;
3753#else
3754 uint64_t is_64b:32;
3755 uint64_t reserved_32_63:32;
3756#endif
2174 } s; 3757 } s;
2175 struct cvmx_npei_pkt_instr_size_s cn52xx; 3758 struct cvmx_npei_pkt_instr_size_s cn52xx;
2176 struct cvmx_npei_pkt_instr_size_s cn56xx; 3759 struct cvmx_npei_pkt_instr_size_s cn56xx;
@@ -2179,9 +3762,15 @@ union cvmx_npei_pkt_instr_size {
2179union cvmx_npei_pkt_int_levels { 3762union cvmx_npei_pkt_int_levels {
2180 uint64_t u64; 3763 uint64_t u64;
2181 struct cvmx_npei_pkt_int_levels_s { 3764 struct cvmx_npei_pkt_int_levels_s {
3765#ifdef __BIG_ENDIAN_BITFIELD
2182 uint64_t reserved_54_63:10; 3766 uint64_t reserved_54_63:10;
2183 uint64_t time:22; 3767 uint64_t time:22;
2184 uint64_t cnt:32; 3768 uint64_t cnt:32;
3769#else
3770 uint64_t cnt:32;
3771 uint64_t time:22;
3772 uint64_t reserved_54_63:10;
3773#endif
2185 } s; 3774 } s;
2186 struct cvmx_npei_pkt_int_levels_s cn52xx; 3775 struct cvmx_npei_pkt_int_levels_s cn52xx;
2187 struct cvmx_npei_pkt_int_levels_s cn56xx; 3776 struct cvmx_npei_pkt_int_levels_s cn56xx;
@@ -2190,8 +3779,13 @@ union cvmx_npei_pkt_int_levels {
2190union cvmx_npei_pkt_iptr { 3779union cvmx_npei_pkt_iptr {
2191 uint64_t u64; 3780 uint64_t u64;
2192 struct cvmx_npei_pkt_iptr_s { 3781 struct cvmx_npei_pkt_iptr_s {
3782#ifdef __BIG_ENDIAN_BITFIELD
2193 uint64_t reserved_32_63:32; 3783 uint64_t reserved_32_63:32;
2194 uint64_t iptr:32; 3784 uint64_t iptr:32;
3785#else
3786 uint64_t iptr:32;
3787 uint64_t reserved_32_63:32;
3788#endif
2195 } s; 3789 } s;
2196 struct cvmx_npei_pkt_iptr_s cn52xx; 3790 struct cvmx_npei_pkt_iptr_s cn52xx;
2197 struct cvmx_npei_pkt_iptr_s cn56xx; 3791 struct cvmx_npei_pkt_iptr_s cn56xx;
@@ -2200,8 +3794,13 @@ union cvmx_npei_pkt_iptr {
2200union cvmx_npei_pkt_out_bmode { 3794union cvmx_npei_pkt_out_bmode {
2201 uint64_t u64; 3795 uint64_t u64;
2202 struct cvmx_npei_pkt_out_bmode_s { 3796 struct cvmx_npei_pkt_out_bmode_s {
3797#ifdef __BIG_ENDIAN_BITFIELD
2203 uint64_t reserved_32_63:32; 3798 uint64_t reserved_32_63:32;
2204 uint64_t bmode:32; 3799 uint64_t bmode:32;
3800#else
3801 uint64_t bmode:32;
3802 uint64_t reserved_32_63:32;
3803#endif
2205 } s; 3804 } s;
2206 struct cvmx_npei_pkt_out_bmode_s cn52xx; 3805 struct cvmx_npei_pkt_out_bmode_s cn52xx;
2207 struct cvmx_npei_pkt_out_bmode_s cn56xx; 3806 struct cvmx_npei_pkt_out_bmode_s cn56xx;
@@ -2210,8 +3809,13 @@ union cvmx_npei_pkt_out_bmode {
2210union cvmx_npei_pkt_out_enb { 3809union cvmx_npei_pkt_out_enb {
2211 uint64_t u64; 3810 uint64_t u64;
2212 struct cvmx_npei_pkt_out_enb_s { 3811 struct cvmx_npei_pkt_out_enb_s {
3812#ifdef __BIG_ENDIAN_BITFIELD
2213 uint64_t reserved_32_63:32; 3813 uint64_t reserved_32_63:32;
2214 uint64_t enb:32; 3814 uint64_t enb:32;
3815#else
3816 uint64_t enb:32;
3817 uint64_t reserved_32_63:32;
3818#endif
2215 } s; 3819 } s;
2216 struct cvmx_npei_pkt_out_enb_s cn52xx; 3820 struct cvmx_npei_pkt_out_enb_s cn52xx;
2217 struct cvmx_npei_pkt_out_enb_s cn56xx; 3821 struct cvmx_npei_pkt_out_enb_s cn56xx;
@@ -2220,8 +3824,13 @@ union cvmx_npei_pkt_out_enb {
2220union cvmx_npei_pkt_output_wmark { 3824union cvmx_npei_pkt_output_wmark {
2221 uint64_t u64; 3825 uint64_t u64;
2222 struct cvmx_npei_pkt_output_wmark_s { 3826 struct cvmx_npei_pkt_output_wmark_s {
3827#ifdef __BIG_ENDIAN_BITFIELD
2223 uint64_t reserved_32_63:32; 3828 uint64_t reserved_32_63:32;
2224 uint64_t wmark:32; 3829 uint64_t wmark:32;
3830#else
3831 uint64_t wmark:32;
3832 uint64_t reserved_32_63:32;
3833#endif
2225 } s; 3834 } s;
2226 struct cvmx_npei_pkt_output_wmark_s cn52xx; 3835 struct cvmx_npei_pkt_output_wmark_s cn52xx;
2227 struct cvmx_npei_pkt_output_wmark_s cn56xx; 3836 struct cvmx_npei_pkt_output_wmark_s cn56xx;
@@ -2230,7 +3839,11 @@ union cvmx_npei_pkt_output_wmark {
2230union cvmx_npei_pkt_pcie_port { 3839union cvmx_npei_pkt_pcie_port {
2231 uint64_t u64; 3840 uint64_t u64;
2232 struct cvmx_npei_pkt_pcie_port_s { 3841 struct cvmx_npei_pkt_pcie_port_s {
3842#ifdef __BIG_ENDIAN_BITFIELD
2233 uint64_t pp:64; 3843 uint64_t pp:64;
3844#else
3845 uint64_t pp:64;
3846#endif
2234 } s; 3847 } s;
2235 struct cvmx_npei_pkt_pcie_port_s cn52xx; 3848 struct cvmx_npei_pkt_pcie_port_s cn52xx;
2236 struct cvmx_npei_pkt_pcie_port_s cn56xx; 3849 struct cvmx_npei_pkt_pcie_port_s cn56xx;
@@ -2239,8 +3852,13 @@ union cvmx_npei_pkt_pcie_port {
2239union cvmx_npei_pkt_port_in_rst { 3852union cvmx_npei_pkt_port_in_rst {
2240 uint64_t u64; 3853 uint64_t u64;
2241 struct cvmx_npei_pkt_port_in_rst_s { 3854 struct cvmx_npei_pkt_port_in_rst_s {
3855#ifdef __BIG_ENDIAN_BITFIELD
2242 uint64_t in_rst:32; 3856 uint64_t in_rst:32;
2243 uint64_t out_rst:32; 3857 uint64_t out_rst:32;
3858#else
3859 uint64_t out_rst:32;
3860 uint64_t in_rst:32;
3861#endif
2244 } s; 3862 } s;
2245 struct cvmx_npei_pkt_port_in_rst_s cn52xx; 3863 struct cvmx_npei_pkt_port_in_rst_s cn52xx;
2246 struct cvmx_npei_pkt_port_in_rst_s cn56xx; 3864 struct cvmx_npei_pkt_port_in_rst_s cn56xx;
@@ -2249,7 +3867,11 @@ union cvmx_npei_pkt_port_in_rst {
2249union cvmx_npei_pkt_slist_es { 3867union cvmx_npei_pkt_slist_es {
2250 uint64_t u64; 3868 uint64_t u64;
2251 struct cvmx_npei_pkt_slist_es_s { 3869 struct cvmx_npei_pkt_slist_es_s {
3870#ifdef __BIG_ENDIAN_BITFIELD
2252 uint64_t es:64; 3871 uint64_t es:64;
3872#else
3873 uint64_t es:64;
3874#endif
2253 } s; 3875 } s;
2254 struct cvmx_npei_pkt_slist_es_s cn52xx; 3876 struct cvmx_npei_pkt_slist_es_s cn52xx;
2255 struct cvmx_npei_pkt_slist_es_s cn56xx; 3877 struct cvmx_npei_pkt_slist_es_s cn56xx;
@@ -2258,9 +3880,15 @@ union cvmx_npei_pkt_slist_es {
2258union cvmx_npei_pkt_slist_id_size { 3880union cvmx_npei_pkt_slist_id_size {
2259 uint64_t u64; 3881 uint64_t u64;
2260 struct cvmx_npei_pkt_slist_id_size_s { 3882 struct cvmx_npei_pkt_slist_id_size_s {
3883#ifdef __BIG_ENDIAN_BITFIELD
2261 uint64_t reserved_23_63:41; 3884 uint64_t reserved_23_63:41;
2262 uint64_t isize:7; 3885 uint64_t isize:7;
2263 uint64_t bsize:16; 3886 uint64_t bsize:16;
3887#else
3888 uint64_t bsize:16;
3889 uint64_t isize:7;
3890 uint64_t reserved_23_63:41;
3891#endif
2264 } s; 3892 } s;
2265 struct cvmx_npei_pkt_slist_id_size_s cn52xx; 3893 struct cvmx_npei_pkt_slist_id_size_s cn52xx;
2266 struct cvmx_npei_pkt_slist_id_size_s cn56xx; 3894 struct cvmx_npei_pkt_slist_id_size_s cn56xx;
@@ -2269,8 +3897,13 @@ union cvmx_npei_pkt_slist_id_size {
2269union cvmx_npei_pkt_slist_ns { 3897union cvmx_npei_pkt_slist_ns {
2270 uint64_t u64; 3898 uint64_t u64;
2271 struct cvmx_npei_pkt_slist_ns_s { 3899 struct cvmx_npei_pkt_slist_ns_s {
3900#ifdef __BIG_ENDIAN_BITFIELD
2272 uint64_t reserved_32_63:32; 3901 uint64_t reserved_32_63:32;
2273 uint64_t nsr:32; 3902 uint64_t nsr:32;
3903#else
3904 uint64_t nsr:32;
3905 uint64_t reserved_32_63:32;
3906#endif
2274 } s; 3907 } s;
2275 struct cvmx_npei_pkt_slist_ns_s cn52xx; 3908 struct cvmx_npei_pkt_slist_ns_s cn52xx;
2276 struct cvmx_npei_pkt_slist_ns_s cn56xx; 3909 struct cvmx_npei_pkt_slist_ns_s cn56xx;
@@ -2279,8 +3912,13 @@ union cvmx_npei_pkt_slist_ns {
2279union cvmx_npei_pkt_slist_ror { 3912union cvmx_npei_pkt_slist_ror {
2280 uint64_t u64; 3913 uint64_t u64;
2281 struct cvmx_npei_pkt_slist_ror_s { 3914 struct cvmx_npei_pkt_slist_ror_s {
3915#ifdef __BIG_ENDIAN_BITFIELD
2282 uint64_t reserved_32_63:32; 3916 uint64_t reserved_32_63:32;
2283 uint64_t ror:32; 3917 uint64_t ror:32;
3918#else
3919 uint64_t ror:32;
3920 uint64_t reserved_32_63:32;
3921#endif
2284 } s; 3922 } s;
2285 struct cvmx_npei_pkt_slist_ror_s cn52xx; 3923 struct cvmx_npei_pkt_slist_ror_s cn52xx;
2286 struct cvmx_npei_pkt_slist_ror_s cn56xx; 3924 struct cvmx_npei_pkt_slist_ror_s cn56xx;
@@ -2289,8 +3927,13 @@ union cvmx_npei_pkt_slist_ror {
2289union cvmx_npei_pkt_time_int { 3927union cvmx_npei_pkt_time_int {
2290 uint64_t u64; 3928 uint64_t u64;
2291 struct cvmx_npei_pkt_time_int_s { 3929 struct cvmx_npei_pkt_time_int_s {
3930#ifdef __BIG_ENDIAN_BITFIELD
2292 uint64_t reserved_32_63:32; 3931 uint64_t reserved_32_63:32;
2293 uint64_t port:32; 3932 uint64_t port:32;
3933#else
3934 uint64_t port:32;
3935 uint64_t reserved_32_63:32;
3936#endif
2294 } s; 3937 } s;
2295 struct cvmx_npei_pkt_time_int_s cn52xx; 3938 struct cvmx_npei_pkt_time_int_s cn52xx;
2296 struct cvmx_npei_pkt_time_int_s cn56xx; 3939 struct cvmx_npei_pkt_time_int_s cn56xx;
@@ -2299,8 +3942,13 @@ union cvmx_npei_pkt_time_int {
2299union cvmx_npei_pkt_time_int_enb { 3942union cvmx_npei_pkt_time_int_enb {
2300 uint64_t u64; 3943 uint64_t u64;
2301 struct cvmx_npei_pkt_time_int_enb_s { 3944 struct cvmx_npei_pkt_time_int_enb_s {
3945#ifdef __BIG_ENDIAN_BITFIELD
2302 uint64_t reserved_32_63:32; 3946 uint64_t reserved_32_63:32;
2303 uint64_t port:32; 3947 uint64_t port:32;
3948#else
3949 uint64_t port:32;
3950 uint64_t reserved_32_63:32;
3951#endif
2304 } s; 3952 } s;
2305 struct cvmx_npei_pkt_time_int_enb_s cn52xx; 3953 struct cvmx_npei_pkt_time_int_enb_s cn52xx;
2306 struct cvmx_npei_pkt_time_int_enb_s cn56xx; 3954 struct cvmx_npei_pkt_time_int_enb_s cn56xx;
@@ -2309,6 +3957,7 @@ union cvmx_npei_pkt_time_int_enb {
2309union cvmx_npei_rsl_int_blocks { 3957union cvmx_npei_rsl_int_blocks {
2310 uint64_t u64; 3958 uint64_t u64;
2311 struct cvmx_npei_rsl_int_blocks_s { 3959 struct cvmx_npei_rsl_int_blocks_s {
3960#ifdef __BIG_ENDIAN_BITFIELD
2312 uint64_t reserved_31_63:33; 3961 uint64_t reserved_31_63:33;
2313 uint64_t iob:1; 3962 uint64_t iob:1;
2314 uint64_t lmc1:1; 3963 uint64_t lmc1:1;
@@ -2338,6 +3987,37 @@ union cvmx_npei_rsl_int_blocks {
2338 uint64_t gmx1:1; 3987 uint64_t gmx1:1;
2339 uint64_t gmx0:1; 3988 uint64_t gmx0:1;
2340 uint64_t mio:1; 3989 uint64_t mio:1;
3990#else
3991 uint64_t mio:1;
3992 uint64_t gmx0:1;
3993 uint64_t gmx1:1;
3994 uint64_t npei:1;
3995 uint64_t key:1;
3996 uint64_t fpa:1;
3997 uint64_t dfa:1;
3998 uint64_t zip:1;
3999 uint64_t reserved_8_8:1;
4000 uint64_t ipd:1;
4001 uint64_t pko:1;
4002 uint64_t tim:1;
4003 uint64_t pow:1;
4004 uint64_t usb:1;
4005 uint64_t rad:1;
4006 uint64_t usb1:1;
4007 uint64_t l2c:1;
4008 uint64_t lmc0:1;
4009 uint64_t spx0:1;
4010 uint64_t spx1:1;
4011 uint64_t pip:1;
4012 uint64_t reserved_21_21:1;
4013 uint64_t asxpcs0:1;
4014 uint64_t asxpcs1:1;
4015 uint64_t reserved_24_27:4;
4016 uint64_t agl:1;
4017 uint64_t lmc1:1;
4018 uint64_t iob:1;
4019 uint64_t reserved_31_63:33;
4020#endif
2341 } s; 4021 } s;
2342 struct cvmx_npei_rsl_int_blocks_s cn52xx; 4022 struct cvmx_npei_rsl_int_blocks_s cn52xx;
2343 struct cvmx_npei_rsl_int_blocks_s cn52xxp1; 4023 struct cvmx_npei_rsl_int_blocks_s cn52xxp1;
@@ -2348,7 +4028,11 @@ union cvmx_npei_rsl_int_blocks {
2348union cvmx_npei_scratch_1 { 4028union cvmx_npei_scratch_1 {
2349 uint64_t u64; 4029 uint64_t u64;
2350 struct cvmx_npei_scratch_1_s { 4030 struct cvmx_npei_scratch_1_s {
4031#ifdef __BIG_ENDIAN_BITFIELD
4032 uint64_t data:64;
4033#else
2351 uint64_t data:64; 4034 uint64_t data:64;
4035#endif
2352 } s; 4036 } s;
2353 struct cvmx_npei_scratch_1_s cn52xx; 4037 struct cvmx_npei_scratch_1_s cn52xx;
2354 struct cvmx_npei_scratch_1_s cn52xxp1; 4038 struct cvmx_npei_scratch_1_s cn52xxp1;
@@ -2359,10 +4043,17 @@ union cvmx_npei_scratch_1 {
2359union cvmx_npei_state1 { 4043union cvmx_npei_state1 {
2360 uint64_t u64; 4044 uint64_t u64;
2361 struct cvmx_npei_state1_s { 4045 struct cvmx_npei_state1_s {
4046#ifdef __BIG_ENDIAN_BITFIELD
2362 uint64_t cpl1:12; 4047 uint64_t cpl1:12;
2363 uint64_t cpl0:12; 4048 uint64_t cpl0:12;
2364 uint64_t arb:1; 4049 uint64_t arb:1;
2365 uint64_t csr:39; 4050 uint64_t csr:39;
4051#else
4052 uint64_t csr:39;
4053 uint64_t arb:1;
4054 uint64_t cpl0:12;
4055 uint64_t cpl1:12;
4056#endif
2366 } s; 4057 } s;
2367 struct cvmx_npei_state1_s cn52xx; 4058 struct cvmx_npei_state1_s cn52xx;
2368 struct cvmx_npei_state1_s cn52xxp1; 4059 struct cvmx_npei_state1_s cn52xxp1;
@@ -2373,6 +4064,7 @@ union cvmx_npei_state1 {
2373union cvmx_npei_state2 { 4064union cvmx_npei_state2 {
2374 uint64_t u64; 4065 uint64_t u64;
2375 struct cvmx_npei_state2_s { 4066 struct cvmx_npei_state2_s {
4067#ifdef __BIG_ENDIAN_BITFIELD
2376 uint64_t reserved_48_63:16; 4068 uint64_t reserved_48_63:16;
2377 uint64_t npei:1; 4069 uint64_t npei:1;
2378 uint64_t rac:1; 4070 uint64_t rac:1;
@@ -2380,6 +4072,15 @@ union cvmx_npei_state2 {
2380 uint64_t csm0:15; 4072 uint64_t csm0:15;
2381 uint64_t nnp0:8; 4073 uint64_t nnp0:8;
2382 uint64_t nnd:8; 4074 uint64_t nnd:8;
4075#else
4076 uint64_t nnd:8;
4077 uint64_t nnp0:8;
4078 uint64_t csm0:15;
4079 uint64_t csm1:15;
4080 uint64_t rac:1;
4081 uint64_t npei:1;
4082 uint64_t reserved_48_63:16;
4083#endif
2383 } s; 4084 } s;
2384 struct cvmx_npei_state2_s cn52xx; 4085 struct cvmx_npei_state2_s cn52xx;
2385 struct cvmx_npei_state2_s cn52xxp1; 4086 struct cvmx_npei_state2_s cn52xxp1;
@@ -2390,11 +4091,19 @@ union cvmx_npei_state2 {
2390union cvmx_npei_state3 { 4091union cvmx_npei_state3 {
2391 uint64_t u64; 4092 uint64_t u64;
2392 struct cvmx_npei_state3_s { 4093 struct cvmx_npei_state3_s {
4094#ifdef __BIG_ENDIAN_BITFIELD
2393 uint64_t reserved_56_63:8; 4095 uint64_t reserved_56_63:8;
2394 uint64_t psm1:15; 4096 uint64_t psm1:15;
2395 uint64_t psm0:15; 4097 uint64_t psm0:15;
2396 uint64_t nsm1:13; 4098 uint64_t nsm1:13;
2397 uint64_t nsm0:13; 4099 uint64_t nsm0:13;
4100#else
4101 uint64_t nsm0:13;
4102 uint64_t nsm1:13;
4103 uint64_t psm0:15;
4104 uint64_t psm1:15;
4105 uint64_t reserved_56_63:8;
4106#endif
2398 } s; 4107 } s;
2399 struct cvmx_npei_state3_s cn52xx; 4108 struct cvmx_npei_state3_s cn52xx;
2400 struct cvmx_npei_state3_s cn52xxp1; 4109 struct cvmx_npei_state3_s cn52xxp1;
@@ -2405,10 +4114,17 @@ union cvmx_npei_state3 {
2405union cvmx_npei_win_rd_addr { 4114union cvmx_npei_win_rd_addr {
2406 uint64_t u64; 4115 uint64_t u64;
2407 struct cvmx_npei_win_rd_addr_s { 4116 struct cvmx_npei_win_rd_addr_s {
4117#ifdef __BIG_ENDIAN_BITFIELD
2408 uint64_t reserved_51_63:13; 4118 uint64_t reserved_51_63:13;
2409 uint64_t ld_cmd:2; 4119 uint64_t ld_cmd:2;
2410 uint64_t iobit:1; 4120 uint64_t iobit:1;
2411 uint64_t rd_addr:48; 4121 uint64_t rd_addr:48;
4122#else
4123 uint64_t rd_addr:48;
4124 uint64_t iobit:1;
4125 uint64_t ld_cmd:2;
4126 uint64_t reserved_51_63:13;
4127#endif
2412 } s; 4128 } s;
2413 struct cvmx_npei_win_rd_addr_s cn52xx; 4129 struct cvmx_npei_win_rd_addr_s cn52xx;
2414 struct cvmx_npei_win_rd_addr_s cn52xxp1; 4130 struct cvmx_npei_win_rd_addr_s cn52xxp1;
@@ -2419,7 +4135,11 @@ union cvmx_npei_win_rd_addr {
2419union cvmx_npei_win_rd_data { 4135union cvmx_npei_win_rd_data {
2420 uint64_t u64; 4136 uint64_t u64;
2421 struct cvmx_npei_win_rd_data_s { 4137 struct cvmx_npei_win_rd_data_s {
4138#ifdef __BIG_ENDIAN_BITFIELD
4139 uint64_t rd_data:64;
4140#else
2422 uint64_t rd_data:64; 4141 uint64_t rd_data:64;
4142#endif
2423 } s; 4143 } s;
2424 struct cvmx_npei_win_rd_data_s cn52xx; 4144 struct cvmx_npei_win_rd_data_s cn52xx;
2425 struct cvmx_npei_win_rd_data_s cn52xxp1; 4145 struct cvmx_npei_win_rd_data_s cn52xxp1;
@@ -2430,10 +4150,17 @@ union cvmx_npei_win_rd_data {
2430union cvmx_npei_win_wr_addr { 4150union cvmx_npei_win_wr_addr {
2431 uint64_t u64; 4151 uint64_t u64;
2432 struct cvmx_npei_win_wr_addr_s { 4152 struct cvmx_npei_win_wr_addr_s {
4153#ifdef __BIG_ENDIAN_BITFIELD
2433 uint64_t reserved_49_63:15; 4154 uint64_t reserved_49_63:15;
2434 uint64_t iobit:1; 4155 uint64_t iobit:1;
2435 uint64_t wr_addr:46; 4156 uint64_t wr_addr:46;
2436 uint64_t reserved_0_1:2; 4157 uint64_t reserved_0_1:2;
4158#else
4159 uint64_t reserved_0_1:2;
4160 uint64_t wr_addr:46;
4161 uint64_t iobit:1;
4162 uint64_t reserved_49_63:15;
4163#endif
2437 } s; 4164 } s;
2438 struct cvmx_npei_win_wr_addr_s cn52xx; 4165 struct cvmx_npei_win_wr_addr_s cn52xx;
2439 struct cvmx_npei_win_wr_addr_s cn52xxp1; 4166 struct cvmx_npei_win_wr_addr_s cn52xxp1;
@@ -2444,7 +4171,11 @@ union cvmx_npei_win_wr_addr {
2444union cvmx_npei_win_wr_data { 4171union cvmx_npei_win_wr_data {
2445 uint64_t u64; 4172 uint64_t u64;
2446 struct cvmx_npei_win_wr_data_s { 4173 struct cvmx_npei_win_wr_data_s {
4174#ifdef __BIG_ENDIAN_BITFIELD
2447 uint64_t wr_data:64; 4175 uint64_t wr_data:64;
4176#else
4177 uint64_t wr_data:64;
4178#endif
2448 } s; 4179 } s;
2449 struct cvmx_npei_win_wr_data_s cn52xx; 4180 struct cvmx_npei_win_wr_data_s cn52xx;
2450 struct cvmx_npei_win_wr_data_s cn52xxp1; 4181 struct cvmx_npei_win_wr_data_s cn52xxp1;
@@ -2455,8 +4186,13 @@ union cvmx_npei_win_wr_data {
2455union cvmx_npei_win_wr_mask { 4186union cvmx_npei_win_wr_mask {
2456 uint64_t u64; 4187 uint64_t u64;
2457 struct cvmx_npei_win_wr_mask_s { 4188 struct cvmx_npei_win_wr_mask_s {
4189#ifdef __BIG_ENDIAN_BITFIELD
2458 uint64_t reserved_8_63:56; 4190 uint64_t reserved_8_63:56;
2459 uint64_t wr_mask:8; 4191 uint64_t wr_mask:8;
4192#else
4193 uint64_t wr_mask:8;
4194 uint64_t reserved_8_63:56;
4195#endif
2460 } s; 4196 } s;
2461 struct cvmx_npei_win_wr_mask_s cn52xx; 4197 struct cvmx_npei_win_wr_mask_s cn52xx;
2462 struct cvmx_npei_win_wr_mask_s cn52xxp1; 4198 struct cvmx_npei_win_wr_mask_s cn52xxp1;
@@ -2467,8 +4203,13 @@ union cvmx_npei_win_wr_mask {
2467union cvmx_npei_window_ctl { 4203union cvmx_npei_window_ctl {
2468 uint64_t u64; 4204 uint64_t u64;
2469 struct cvmx_npei_window_ctl_s { 4205 struct cvmx_npei_window_ctl_s {
4206#ifdef __BIG_ENDIAN_BITFIELD
2470 uint64_t reserved_32_63:32; 4207 uint64_t reserved_32_63:32;
2471 uint64_t time:32; 4208 uint64_t time:32;
4209#else
4210 uint64_t time:32;
4211 uint64_t reserved_32_63:32;
4212#endif
2472 } s; 4213 } s;
2473 struct cvmx_npei_window_ctl_s cn52xx; 4214 struct cvmx_npei_window_ctl_s cn52xx;
2474 struct cvmx_npei_window_ctl_s cn52xxp1; 4215 struct cvmx_npei_window_ctl_s cn52xxp1;
diff --git a/arch/mips/include/asm/octeon/cvmx-npi-defs.h b/arch/mips/include/asm/octeon/cvmx-npi-defs.h
index f089c780060f..129bb250e534 100644
--- a/arch/mips/include/asm/octeon/cvmx-npi-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-npi-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -152,8 +152,13 @@
152union cvmx_npi_base_addr_inputx { 152union cvmx_npi_base_addr_inputx {
153 uint64_t u64; 153 uint64_t u64;
154 struct cvmx_npi_base_addr_inputx_s { 154 struct cvmx_npi_base_addr_inputx_s {
155#ifdef __BIG_ENDIAN_BITFIELD
155 uint64_t baddr:61; 156 uint64_t baddr:61;
156 uint64_t reserved_0_2:3; 157 uint64_t reserved_0_2:3;
158#else
159 uint64_t reserved_0_2:3;
160 uint64_t baddr:61;
161#endif
157 } s; 162 } s;
158 struct cvmx_npi_base_addr_inputx_s cn30xx; 163 struct cvmx_npi_base_addr_inputx_s cn30xx;
159 struct cvmx_npi_base_addr_inputx_s cn31xx; 164 struct cvmx_npi_base_addr_inputx_s cn31xx;
@@ -167,8 +172,13 @@ union cvmx_npi_base_addr_inputx {
167union cvmx_npi_base_addr_outputx { 172union cvmx_npi_base_addr_outputx {
168 uint64_t u64; 173 uint64_t u64;
169 struct cvmx_npi_base_addr_outputx_s { 174 struct cvmx_npi_base_addr_outputx_s {
175#ifdef __BIG_ENDIAN_BITFIELD
170 uint64_t baddr:61; 176 uint64_t baddr:61;
171 uint64_t reserved_0_2:3; 177 uint64_t reserved_0_2:3;
178#else
179 uint64_t reserved_0_2:3;
180 uint64_t baddr:61;
181#endif
172 } s; 182 } s;
173 struct cvmx_npi_base_addr_outputx_s cn30xx; 183 struct cvmx_npi_base_addr_outputx_s cn30xx;
174 struct cvmx_npi_base_addr_outputx_s cn31xx; 184 struct cvmx_npi_base_addr_outputx_s cn31xx;
@@ -182,6 +192,7 @@ union cvmx_npi_base_addr_outputx {
182union cvmx_npi_bist_status { 192union cvmx_npi_bist_status {
183 uint64_t u64; 193 uint64_t u64;
184 struct cvmx_npi_bist_status_s { 194 struct cvmx_npi_bist_status_s {
195#ifdef __BIG_ENDIAN_BITFIELD
185 uint64_t reserved_20_63:44; 196 uint64_t reserved_20_63:44;
186 uint64_t csr_bs:1; 197 uint64_t csr_bs:1;
187 uint64_t dif_bs:1; 198 uint64_t dif_bs:1;
@@ -203,8 +214,32 @@ union cvmx_npi_bist_status {
203 uint64_t dob_bs:1; 214 uint64_t dob_bs:1;
204 uint64_t pdf_bs:1; 215 uint64_t pdf_bs:1;
205 uint64_t dpi_bs:1; 216 uint64_t dpi_bs:1;
217#else
218 uint64_t dpi_bs:1;
219 uint64_t pdf_bs:1;
220 uint64_t dob_bs:1;
221 uint64_t nus_bs:1;
222 uint64_t pos_bs:1;
223 uint64_t pof3_bs:1;
224 uint64_t pof2_bs:1;
225 uint64_t pof1_bs:1;
226 uint64_t pof0_bs:1;
227 uint64_t pig_bs:1;
228 uint64_t pgf_bs:1;
229 uint64_t rdnl_bs:1;
230 uint64_t pcad_bs:1;
231 uint64_t pcac_bs:1;
232 uint64_t rdn_bs:1;
233 uint64_t pcn_bs:1;
234 uint64_t pcnc_bs:1;
235 uint64_t rdp_bs:1;
236 uint64_t dif_bs:1;
237 uint64_t csr_bs:1;
238 uint64_t reserved_20_63:44;
239#endif
206 } s; 240 } s;
207 struct cvmx_npi_bist_status_cn30xx { 241 struct cvmx_npi_bist_status_cn30xx {
242#ifdef __BIG_ENDIAN_BITFIELD
208 uint64_t reserved_20_63:44; 243 uint64_t reserved_20_63:44;
209 uint64_t csr_bs:1; 244 uint64_t csr_bs:1;
210 uint64_t dif_bs:1; 245 uint64_t dif_bs:1;
@@ -224,11 +259,33 @@ union cvmx_npi_bist_status {
224 uint64_t dob_bs:1; 259 uint64_t dob_bs:1;
225 uint64_t pdf_bs:1; 260 uint64_t pdf_bs:1;
226 uint64_t dpi_bs:1; 261 uint64_t dpi_bs:1;
262#else
263 uint64_t dpi_bs:1;
264 uint64_t pdf_bs:1;
265 uint64_t dob_bs:1;
266 uint64_t nus_bs:1;
267 uint64_t pos_bs:1;
268 uint64_t reserved_5_7:3;
269 uint64_t pof0_bs:1;
270 uint64_t pig_bs:1;
271 uint64_t pgf_bs:1;
272 uint64_t rdnl_bs:1;
273 uint64_t pcad_bs:1;
274 uint64_t pcac_bs:1;
275 uint64_t rdn_bs:1;
276 uint64_t pcn_bs:1;
277 uint64_t pcnc_bs:1;
278 uint64_t rdp_bs:1;
279 uint64_t dif_bs:1;
280 uint64_t csr_bs:1;
281 uint64_t reserved_20_63:44;
282#endif
227 } cn30xx; 283 } cn30xx;
228 struct cvmx_npi_bist_status_s cn31xx; 284 struct cvmx_npi_bist_status_s cn31xx;
229 struct cvmx_npi_bist_status_s cn38xx; 285 struct cvmx_npi_bist_status_s cn38xx;
230 struct cvmx_npi_bist_status_s cn38xxp2; 286 struct cvmx_npi_bist_status_s cn38xxp2;
231 struct cvmx_npi_bist_status_cn50xx { 287 struct cvmx_npi_bist_status_cn50xx {
288#ifdef __BIG_ENDIAN_BITFIELD
232 uint64_t reserved_20_63:44; 289 uint64_t reserved_20_63:44;
233 uint64_t csr_bs:1; 290 uint64_t csr_bs:1;
234 uint64_t dif_bs:1; 291 uint64_t dif_bs:1;
@@ -249,6 +306,28 @@ union cvmx_npi_bist_status {
249 uint64_t dob_bs:1; 306 uint64_t dob_bs:1;
250 uint64_t pdf_bs:1; 307 uint64_t pdf_bs:1;
251 uint64_t dpi_bs:1; 308 uint64_t dpi_bs:1;
309#else
310 uint64_t dpi_bs:1;
311 uint64_t pdf_bs:1;
312 uint64_t dob_bs:1;
313 uint64_t nus_bs:1;
314 uint64_t pos_bs:1;
315 uint64_t reserved_5_6:2;
316 uint64_t pof1_bs:1;
317 uint64_t pof0_bs:1;
318 uint64_t pig_bs:1;
319 uint64_t pgf_bs:1;
320 uint64_t rdnl_bs:1;
321 uint64_t pcad_bs:1;
322 uint64_t pcac_bs:1;
323 uint64_t rdn_bs:1;
324 uint64_t pcn_bs:1;
325 uint64_t pcnc_bs:1;
326 uint64_t rdp_bs:1;
327 uint64_t dif_bs:1;
328 uint64_t csr_bs:1;
329 uint64_t reserved_20_63:44;
330#endif
252 } cn50xx; 331 } cn50xx;
253 struct cvmx_npi_bist_status_s cn58xx; 332 struct cvmx_npi_bist_status_s cn58xx;
254 struct cvmx_npi_bist_status_s cn58xxp1; 333 struct cvmx_npi_bist_status_s cn58xxp1;
@@ -257,9 +336,15 @@ union cvmx_npi_bist_status {
257union cvmx_npi_buff_size_outputx { 336union cvmx_npi_buff_size_outputx {
258 uint64_t u64; 337 uint64_t u64;
259 struct cvmx_npi_buff_size_outputx_s { 338 struct cvmx_npi_buff_size_outputx_s {
339#ifdef __BIG_ENDIAN_BITFIELD
260 uint64_t reserved_23_63:41; 340 uint64_t reserved_23_63:41;
261 uint64_t isize:7; 341 uint64_t isize:7;
262 uint64_t bsize:16; 342 uint64_t bsize:16;
343#else
344 uint64_t bsize:16;
345 uint64_t isize:7;
346 uint64_t reserved_23_63:41;
347#endif
263 } s; 348 } s;
264 struct cvmx_npi_buff_size_outputx_s cn30xx; 349 struct cvmx_npi_buff_size_outputx_s cn30xx;
265 struct cvmx_npi_buff_size_outputx_s cn31xx; 350 struct cvmx_npi_buff_size_outputx_s cn31xx;
@@ -273,9 +358,15 @@ union cvmx_npi_buff_size_outputx {
273union cvmx_npi_comp_ctl { 358union cvmx_npi_comp_ctl {
274 uint64_t u64; 359 uint64_t u64;
275 struct cvmx_npi_comp_ctl_s { 360 struct cvmx_npi_comp_ctl_s {
361#ifdef __BIG_ENDIAN_BITFIELD
276 uint64_t reserved_10_63:54; 362 uint64_t reserved_10_63:54;
277 uint64_t pctl:5; 363 uint64_t pctl:5;
278 uint64_t nctl:5; 364 uint64_t nctl:5;
365#else
366 uint64_t nctl:5;
367 uint64_t pctl:5;
368 uint64_t reserved_10_63:54;
369#endif
279 } s; 370 } s;
280 struct cvmx_npi_comp_ctl_s cn50xx; 371 struct cvmx_npi_comp_ctl_s cn50xx;
281 struct cvmx_npi_comp_ctl_s cn58xx; 372 struct cvmx_npi_comp_ctl_s cn58xx;
@@ -285,6 +376,7 @@ union cvmx_npi_comp_ctl {
285union cvmx_npi_ctl_status { 376union cvmx_npi_ctl_status {
286 uint64_t u64; 377 uint64_t u64;
287 struct cvmx_npi_ctl_status_s { 378 struct cvmx_npi_ctl_status_s {
379#ifdef __BIG_ENDIAN_BITFIELD
288 uint64_t reserved_63_63:1; 380 uint64_t reserved_63_63:1;
289 uint64_t chip_rev:8; 381 uint64_t chip_rev:8;
290 uint64_t dis_pniw:1; 382 uint64_t dis_pniw:1;
@@ -306,8 +398,32 @@ union cvmx_npi_ctl_status {
306 uint64_t max_word:5; 398 uint64_t max_word:5;
307 uint64_t reserved_10_31:22; 399 uint64_t reserved_10_31:22;
308 uint64_t timer:10; 400 uint64_t timer:10;
401#else
402 uint64_t timer:10;
403 uint64_t reserved_10_31:22;
404 uint64_t max_word:5;
405 uint64_t reserved_37_39:3;
406 uint64_t wait_com:1;
407 uint64_t pci_wdis:1;
408 uint64_t ins0_64b:1;
409 uint64_t ins1_64b:1;
410 uint64_t ins2_64b:1;
411 uint64_t ins3_64b:1;
412 uint64_t ins0_enb:1;
413 uint64_t ins1_enb:1;
414 uint64_t ins2_enb:1;
415 uint64_t ins3_enb:1;
416 uint64_t out0_enb:1;
417 uint64_t out1_enb:1;
418 uint64_t out2_enb:1;
419 uint64_t out3_enb:1;
420 uint64_t dis_pniw:1;
421 uint64_t chip_rev:8;
422 uint64_t reserved_63_63:1;
423#endif
309 } s; 424 } s;
310 struct cvmx_npi_ctl_status_cn30xx { 425 struct cvmx_npi_ctl_status_cn30xx {
426#ifdef __BIG_ENDIAN_BITFIELD
311 uint64_t reserved_63_63:1; 427 uint64_t reserved_63_63:1;
312 uint64_t chip_rev:8; 428 uint64_t chip_rev:8;
313 uint64_t dis_pniw:1; 429 uint64_t dis_pniw:1;
@@ -323,8 +439,26 @@ union cvmx_npi_ctl_status {
323 uint64_t max_word:5; 439 uint64_t max_word:5;
324 uint64_t reserved_10_31:22; 440 uint64_t reserved_10_31:22;
325 uint64_t timer:10; 441 uint64_t timer:10;
442#else
443 uint64_t timer:10;
444 uint64_t reserved_10_31:22;
445 uint64_t max_word:5;
446 uint64_t reserved_37_39:3;
447 uint64_t wait_com:1;
448 uint64_t pci_wdis:1;
449 uint64_t ins0_64b:1;
450 uint64_t reserved_43_45:3;
451 uint64_t ins0_enb:1;
452 uint64_t reserved_47_49:3;
453 uint64_t out0_enb:1;
454 uint64_t reserved_51_53:3;
455 uint64_t dis_pniw:1;
456 uint64_t chip_rev:8;
457 uint64_t reserved_63_63:1;
458#endif
326 } cn30xx; 459 } cn30xx;
327 struct cvmx_npi_ctl_status_cn31xx { 460 struct cvmx_npi_ctl_status_cn31xx {
461#ifdef __BIG_ENDIAN_BITFIELD
328 uint64_t reserved_63_63:1; 462 uint64_t reserved_63_63:1;
329 uint64_t chip_rev:8; 463 uint64_t chip_rev:8;
330 uint64_t dis_pniw:1; 464 uint64_t dis_pniw:1;
@@ -343,6 +477,26 @@ union cvmx_npi_ctl_status {
343 uint64_t max_word:5; 477 uint64_t max_word:5;
344 uint64_t reserved_10_31:22; 478 uint64_t reserved_10_31:22;
345 uint64_t timer:10; 479 uint64_t timer:10;
480#else
481 uint64_t timer:10;
482 uint64_t reserved_10_31:22;
483 uint64_t max_word:5;
484 uint64_t reserved_37_39:3;
485 uint64_t wait_com:1;
486 uint64_t pci_wdis:1;
487 uint64_t ins0_64b:1;
488 uint64_t ins1_64b:1;
489 uint64_t reserved_44_45:2;
490 uint64_t ins0_enb:1;
491 uint64_t ins1_enb:1;
492 uint64_t reserved_48_49:2;
493 uint64_t out0_enb:1;
494 uint64_t out1_enb:1;
495 uint64_t reserved_52_53:2;
496 uint64_t dis_pniw:1;
497 uint64_t chip_rev:8;
498 uint64_t reserved_63_63:1;
499#endif
346 } cn31xx; 500 } cn31xx;
347 struct cvmx_npi_ctl_status_s cn38xx; 501 struct cvmx_npi_ctl_status_s cn38xx;
348 struct cvmx_npi_ctl_status_s cn38xxp2; 502 struct cvmx_npi_ctl_status_s cn38xxp2;
@@ -354,8 +508,13 @@ union cvmx_npi_ctl_status {
354union cvmx_npi_dbg_select { 508union cvmx_npi_dbg_select {
355 uint64_t u64; 509 uint64_t u64;
356 struct cvmx_npi_dbg_select_s { 510 struct cvmx_npi_dbg_select_s {
511#ifdef __BIG_ENDIAN_BITFIELD
357 uint64_t reserved_16_63:48; 512 uint64_t reserved_16_63:48;
358 uint64_t dbg_sel:16; 513 uint64_t dbg_sel:16;
514#else
515 uint64_t dbg_sel:16;
516 uint64_t reserved_16_63:48;
517#endif
359 } s; 518 } s;
360 struct cvmx_npi_dbg_select_s cn30xx; 519 struct cvmx_npi_dbg_select_s cn30xx;
361 struct cvmx_npi_dbg_select_s cn31xx; 520 struct cvmx_npi_dbg_select_s cn31xx;
@@ -369,6 +528,7 @@ union cvmx_npi_dbg_select {
369union cvmx_npi_dma_control { 528union cvmx_npi_dma_control {
370 uint64_t u64; 529 uint64_t u64;
371 struct cvmx_npi_dma_control_s { 530 struct cvmx_npi_dma_control_s {
531#ifdef __BIG_ENDIAN_BITFIELD
372 uint64_t reserved_36_63:28; 532 uint64_t reserved_36_63:28;
373 uint64_t b0_lend:1; 533 uint64_t b0_lend:1;
374 uint64_t dwb_denb:1; 534 uint64_t dwb_denb:1;
@@ -382,6 +542,21 @@ union cvmx_npi_dma_control {
382 uint64_t hp_enb:1; 542 uint64_t hp_enb:1;
383 uint64_t lp_enb:1; 543 uint64_t lp_enb:1;
384 uint64_t csize:14; 544 uint64_t csize:14;
545#else
546 uint64_t csize:14;
547 uint64_t lp_enb:1;
548 uint64_t hp_enb:1;
549 uint64_t o_mode:1;
550 uint64_t o_es:2;
551 uint64_t o_ns:1;
552 uint64_t o_ro:1;
553 uint64_t o_add1:1;
554 uint64_t fpa_que:3;
555 uint64_t dwb_ichk:9;
556 uint64_t dwb_denb:1;
557 uint64_t b0_lend:1;
558 uint64_t reserved_36_63:28;
559#endif
385 } s; 560 } s;
386 struct cvmx_npi_dma_control_s cn30xx; 561 struct cvmx_npi_dma_control_s cn30xx;
387 struct cvmx_npi_dma_control_s cn31xx; 562 struct cvmx_npi_dma_control_s cn31xx;
@@ -395,9 +570,15 @@ union cvmx_npi_dma_control {
395union cvmx_npi_dma_highp_counts { 570union cvmx_npi_dma_highp_counts {
396 uint64_t u64; 571 uint64_t u64;
397 struct cvmx_npi_dma_highp_counts_s { 572 struct cvmx_npi_dma_highp_counts_s {
573#ifdef __BIG_ENDIAN_BITFIELD
398 uint64_t reserved_39_63:25; 574 uint64_t reserved_39_63:25;
399 uint64_t fcnt:7; 575 uint64_t fcnt:7;
400 uint64_t dbell:32; 576 uint64_t dbell:32;
577#else
578 uint64_t dbell:32;
579 uint64_t fcnt:7;
580 uint64_t reserved_39_63:25;
581#endif
401 } s; 582 } s;
402 struct cvmx_npi_dma_highp_counts_s cn30xx; 583 struct cvmx_npi_dma_highp_counts_s cn30xx;
403 struct cvmx_npi_dma_highp_counts_s cn31xx; 584 struct cvmx_npi_dma_highp_counts_s cn31xx;
@@ -411,9 +592,15 @@ union cvmx_npi_dma_highp_counts {
411union cvmx_npi_dma_highp_naddr { 592union cvmx_npi_dma_highp_naddr {
412 uint64_t u64; 593 uint64_t u64;
413 struct cvmx_npi_dma_highp_naddr_s { 594 struct cvmx_npi_dma_highp_naddr_s {
595#ifdef __BIG_ENDIAN_BITFIELD
414 uint64_t reserved_40_63:24; 596 uint64_t reserved_40_63:24;
415 uint64_t state:4; 597 uint64_t state:4;
416 uint64_t addr:36; 598 uint64_t addr:36;
599#else
600 uint64_t addr:36;
601 uint64_t state:4;
602 uint64_t reserved_40_63:24;
603#endif
417 } s; 604 } s;
418 struct cvmx_npi_dma_highp_naddr_s cn30xx; 605 struct cvmx_npi_dma_highp_naddr_s cn30xx;
419 struct cvmx_npi_dma_highp_naddr_s cn31xx; 606 struct cvmx_npi_dma_highp_naddr_s cn31xx;
@@ -427,9 +614,15 @@ union cvmx_npi_dma_highp_naddr {
427union cvmx_npi_dma_lowp_counts { 614union cvmx_npi_dma_lowp_counts {
428 uint64_t u64; 615 uint64_t u64;
429 struct cvmx_npi_dma_lowp_counts_s { 616 struct cvmx_npi_dma_lowp_counts_s {
617#ifdef __BIG_ENDIAN_BITFIELD
430 uint64_t reserved_39_63:25; 618 uint64_t reserved_39_63:25;
431 uint64_t fcnt:7; 619 uint64_t fcnt:7;
432 uint64_t dbell:32; 620 uint64_t dbell:32;
621#else
622 uint64_t dbell:32;
623 uint64_t fcnt:7;
624 uint64_t reserved_39_63:25;
625#endif
433 } s; 626 } s;
434 struct cvmx_npi_dma_lowp_counts_s cn30xx; 627 struct cvmx_npi_dma_lowp_counts_s cn30xx;
435 struct cvmx_npi_dma_lowp_counts_s cn31xx; 628 struct cvmx_npi_dma_lowp_counts_s cn31xx;
@@ -443,9 +636,15 @@ union cvmx_npi_dma_lowp_counts {
443union cvmx_npi_dma_lowp_naddr { 636union cvmx_npi_dma_lowp_naddr {
444 uint64_t u64; 637 uint64_t u64;
445 struct cvmx_npi_dma_lowp_naddr_s { 638 struct cvmx_npi_dma_lowp_naddr_s {
639#ifdef __BIG_ENDIAN_BITFIELD
446 uint64_t reserved_40_63:24; 640 uint64_t reserved_40_63:24;
447 uint64_t state:4; 641 uint64_t state:4;
448 uint64_t addr:36; 642 uint64_t addr:36;
643#else
644 uint64_t addr:36;
645 uint64_t state:4;
646 uint64_t reserved_40_63:24;
647#endif
449 } s; 648 } s;
450 struct cvmx_npi_dma_lowp_naddr_s cn30xx; 649 struct cvmx_npi_dma_lowp_naddr_s cn30xx;
451 struct cvmx_npi_dma_lowp_naddr_s cn31xx; 650 struct cvmx_npi_dma_lowp_naddr_s cn31xx;
@@ -459,8 +658,13 @@ union cvmx_npi_dma_lowp_naddr {
459union cvmx_npi_highp_dbell { 658union cvmx_npi_highp_dbell {
460 uint64_t u64; 659 uint64_t u64;
461 struct cvmx_npi_highp_dbell_s { 660 struct cvmx_npi_highp_dbell_s {
661#ifdef __BIG_ENDIAN_BITFIELD
462 uint64_t reserved_16_63:48; 662 uint64_t reserved_16_63:48;
463 uint64_t dbell:16; 663 uint64_t dbell:16;
664#else
665 uint64_t dbell:16;
666 uint64_t reserved_16_63:48;
667#endif
464 } s; 668 } s;
465 struct cvmx_npi_highp_dbell_s cn30xx; 669 struct cvmx_npi_highp_dbell_s cn30xx;
466 struct cvmx_npi_highp_dbell_s cn31xx; 670 struct cvmx_npi_highp_dbell_s cn31xx;
@@ -474,8 +678,13 @@ union cvmx_npi_highp_dbell {
474union cvmx_npi_highp_ibuff_saddr { 678union cvmx_npi_highp_ibuff_saddr {
475 uint64_t u64; 679 uint64_t u64;
476 struct cvmx_npi_highp_ibuff_saddr_s { 680 struct cvmx_npi_highp_ibuff_saddr_s {
681#ifdef __BIG_ENDIAN_BITFIELD
477 uint64_t reserved_36_63:28; 682 uint64_t reserved_36_63:28;
478 uint64_t saddr:36; 683 uint64_t saddr:36;
684#else
685 uint64_t saddr:36;
686 uint64_t reserved_36_63:28;
687#endif
479 } s; 688 } s;
480 struct cvmx_npi_highp_ibuff_saddr_s cn30xx; 689 struct cvmx_npi_highp_ibuff_saddr_s cn30xx;
481 struct cvmx_npi_highp_ibuff_saddr_s cn31xx; 690 struct cvmx_npi_highp_ibuff_saddr_s cn31xx;
@@ -489,6 +698,7 @@ union cvmx_npi_highp_ibuff_saddr {
489union cvmx_npi_input_control { 698union cvmx_npi_input_control {
490 uint64_t u64; 699 uint64_t u64;
491 struct cvmx_npi_input_control_s { 700 struct cvmx_npi_input_control_s {
701#ifdef __BIG_ENDIAN_BITFIELD
492 uint64_t reserved_23_63:41; 702 uint64_t reserved_23_63:41;
493 uint64_t pkt_rr:1; 703 uint64_t pkt_rr:1;
494 uint64_t pbp_dhi:13; 704 uint64_t pbp_dhi:13;
@@ -499,8 +709,21 @@ union cvmx_npi_input_control {
499 uint64_t nsr:1; 709 uint64_t nsr:1;
500 uint64_t esr:2; 710 uint64_t esr:2;
501 uint64_t ror:1; 711 uint64_t ror:1;
712#else
713 uint64_t ror:1;
714 uint64_t esr:2;
715 uint64_t nsr:1;
716 uint64_t use_csr:1;
717 uint64_t d_ror:1;
718 uint64_t d_esr:2;
719 uint64_t d_nsr:1;
720 uint64_t pbp_dhi:13;
721 uint64_t pkt_rr:1;
722 uint64_t reserved_23_63:41;
723#endif
502 } s; 724 } s;
503 struct cvmx_npi_input_control_cn30xx { 725 struct cvmx_npi_input_control_cn30xx {
726#ifdef __BIG_ENDIAN_BITFIELD
504 uint64_t reserved_22_63:42; 727 uint64_t reserved_22_63:42;
505 uint64_t pbp_dhi:13; 728 uint64_t pbp_dhi:13;
506 uint64_t d_nsr:1; 729 uint64_t d_nsr:1;
@@ -510,6 +733,17 @@ union cvmx_npi_input_control {
510 uint64_t nsr:1; 733 uint64_t nsr:1;
511 uint64_t esr:2; 734 uint64_t esr:2;
512 uint64_t ror:1; 735 uint64_t ror:1;
736#else
737 uint64_t ror:1;
738 uint64_t esr:2;
739 uint64_t nsr:1;
740 uint64_t use_csr:1;
741 uint64_t d_ror:1;
742 uint64_t d_esr:2;
743 uint64_t d_nsr:1;
744 uint64_t pbp_dhi:13;
745 uint64_t reserved_22_63:42;
746#endif
513 } cn30xx; 747 } cn30xx;
514 struct cvmx_npi_input_control_cn30xx cn31xx; 748 struct cvmx_npi_input_control_cn30xx cn31xx;
515 struct cvmx_npi_input_control_s cn38xx; 749 struct cvmx_npi_input_control_s cn38xx;
@@ -522,6 +756,7 @@ union cvmx_npi_input_control {
522union cvmx_npi_int_enb { 756union cvmx_npi_int_enb {
523 uint64_t u64; 757 uint64_t u64;
524 struct cvmx_npi_int_enb_s { 758 struct cvmx_npi_int_enb_s {
759#ifdef __BIG_ENDIAN_BITFIELD
525 uint64_t reserved_62_63:2; 760 uint64_t reserved_62_63:2;
526 uint64_t q1_a_f:1; 761 uint64_t q1_a_f:1;
527 uint64_t q1_s_e:1; 762 uint64_t q1_s_e:1;
@@ -585,8 +820,74 @@ union cvmx_npi_int_enb {
585 uint64_t pci_rsl:1; 820 uint64_t pci_rsl:1;
586 uint64_t rml_wto:1; 821 uint64_t rml_wto:1;
587 uint64_t rml_rto:1; 822 uint64_t rml_rto:1;
823#else
824 uint64_t rml_rto:1;
825 uint64_t rml_wto:1;
826 uint64_t pci_rsl:1;
827 uint64_t po0_2sml:1;
828 uint64_t po1_2sml:1;
829 uint64_t po2_2sml:1;
830 uint64_t po3_2sml:1;
831 uint64_t i0_rtout:1;
832 uint64_t i1_rtout:1;
833 uint64_t i2_rtout:1;
834 uint64_t i3_rtout:1;
835 uint64_t i0_overf:1;
836 uint64_t i1_overf:1;
837 uint64_t i2_overf:1;
838 uint64_t i3_overf:1;
839 uint64_t p0_rtout:1;
840 uint64_t p1_rtout:1;
841 uint64_t p2_rtout:1;
842 uint64_t p3_rtout:1;
843 uint64_t p0_perr:1;
844 uint64_t p1_perr:1;
845 uint64_t p2_perr:1;
846 uint64_t p3_perr:1;
847 uint64_t g0_rtout:1;
848 uint64_t g1_rtout:1;
849 uint64_t g2_rtout:1;
850 uint64_t g3_rtout:1;
851 uint64_t p0_pperr:1;
852 uint64_t p1_pperr:1;
853 uint64_t p2_pperr:1;
854 uint64_t p3_pperr:1;
855 uint64_t p0_ptout:1;
856 uint64_t p1_ptout:1;
857 uint64_t p2_ptout:1;
858 uint64_t p3_ptout:1;
859 uint64_t i0_pperr:1;
860 uint64_t i1_pperr:1;
861 uint64_t i2_pperr:1;
862 uint64_t i3_pperr:1;
863 uint64_t win_rto:1;
864 uint64_t p_dperr:1;
865 uint64_t iobdma:1;
866 uint64_t fcr_s_e:1;
867 uint64_t fcr_a_f:1;
868 uint64_t pcr_s_e:1;
869 uint64_t pcr_a_f:1;
870 uint64_t q2_s_e:1;
871 uint64_t q2_a_f:1;
872 uint64_t q3_s_e:1;
873 uint64_t q3_a_f:1;
874 uint64_t com_s_e:1;
875 uint64_t com_a_f:1;
876 uint64_t pnc_s_e:1;
877 uint64_t pnc_a_f:1;
878 uint64_t rwx_s_e:1;
879 uint64_t rdx_s_e:1;
880 uint64_t pcf_p_e:1;
881 uint64_t pcf_p_f:1;
882 uint64_t pdf_p_e:1;
883 uint64_t pdf_p_f:1;
884 uint64_t q1_s_e:1;
885 uint64_t q1_a_f:1;
886 uint64_t reserved_62_63:2;
887#endif
588 } s; 888 } s;
589 struct cvmx_npi_int_enb_cn30xx { 889 struct cvmx_npi_int_enb_cn30xx {
890#ifdef __BIG_ENDIAN_BITFIELD
590 uint64_t reserved_62_63:2; 891 uint64_t reserved_62_63:2;
591 uint64_t q1_a_f:1; 892 uint64_t q1_a_f:1;
592 uint64_t q1_s_e:1; 893 uint64_t q1_s_e:1;
@@ -632,8 +933,56 @@ union cvmx_npi_int_enb {
632 uint64_t pci_rsl:1; 933 uint64_t pci_rsl:1;
633 uint64_t rml_wto:1; 934 uint64_t rml_wto:1;
634 uint64_t rml_rto:1; 935 uint64_t rml_rto:1;
936#else
937 uint64_t rml_rto:1;
938 uint64_t rml_wto:1;
939 uint64_t pci_rsl:1;
940 uint64_t po0_2sml:1;
941 uint64_t reserved_4_6:3;
942 uint64_t i0_rtout:1;
943 uint64_t reserved_8_10:3;
944 uint64_t i0_overf:1;
945 uint64_t reserved_12_14:3;
946 uint64_t p0_rtout:1;
947 uint64_t reserved_16_18:3;
948 uint64_t p0_perr:1;
949 uint64_t reserved_20_22:3;
950 uint64_t g0_rtout:1;
951 uint64_t reserved_24_26:3;
952 uint64_t p0_pperr:1;
953 uint64_t reserved_28_30:3;
954 uint64_t p0_ptout:1;
955 uint64_t reserved_32_34:3;
956 uint64_t i0_pperr:1;
957 uint64_t reserved_36_38:3;
958 uint64_t win_rto:1;
959 uint64_t p_dperr:1;
960 uint64_t iobdma:1;
961 uint64_t fcr_s_e:1;
962 uint64_t fcr_a_f:1;
963 uint64_t pcr_s_e:1;
964 uint64_t pcr_a_f:1;
965 uint64_t q2_s_e:1;
966 uint64_t q2_a_f:1;
967 uint64_t q3_s_e:1;
968 uint64_t q3_a_f:1;
969 uint64_t com_s_e:1;
970 uint64_t com_a_f:1;
971 uint64_t pnc_s_e:1;
972 uint64_t pnc_a_f:1;
973 uint64_t rwx_s_e:1;
974 uint64_t rdx_s_e:1;
975 uint64_t pcf_p_e:1;
976 uint64_t pcf_p_f:1;
977 uint64_t pdf_p_e:1;
978 uint64_t pdf_p_f:1;
979 uint64_t q1_s_e:1;
980 uint64_t q1_a_f:1;
981 uint64_t reserved_62_63:2;
982#endif
635 } cn30xx; 983 } cn30xx;
636 struct cvmx_npi_int_enb_cn31xx { 984 struct cvmx_npi_int_enb_cn31xx {
985#ifdef __BIG_ENDIAN_BITFIELD
637 uint64_t reserved_62_63:2; 986 uint64_t reserved_62_63:2;
638 uint64_t q1_a_f:1; 987 uint64_t q1_a_f:1;
639 uint64_t q1_s_e:1; 988 uint64_t q1_s_e:1;
@@ -688,9 +1037,66 @@ union cvmx_npi_int_enb {
688 uint64_t pci_rsl:1; 1037 uint64_t pci_rsl:1;
689 uint64_t rml_wto:1; 1038 uint64_t rml_wto:1;
690 uint64_t rml_rto:1; 1039 uint64_t rml_rto:1;
1040#else
1041 uint64_t rml_rto:1;
1042 uint64_t rml_wto:1;
1043 uint64_t pci_rsl:1;
1044 uint64_t po0_2sml:1;
1045 uint64_t po1_2sml:1;
1046 uint64_t reserved_5_6:2;
1047 uint64_t i0_rtout:1;
1048 uint64_t i1_rtout:1;
1049 uint64_t reserved_9_10:2;
1050 uint64_t i0_overf:1;
1051 uint64_t i1_overf:1;
1052 uint64_t reserved_13_14:2;
1053 uint64_t p0_rtout:1;
1054 uint64_t p1_rtout:1;
1055 uint64_t reserved_17_18:2;
1056 uint64_t p0_perr:1;
1057 uint64_t p1_perr:1;
1058 uint64_t reserved_21_22:2;
1059 uint64_t g0_rtout:1;
1060 uint64_t g1_rtout:1;
1061 uint64_t reserved_25_26:2;
1062 uint64_t p0_pperr:1;
1063 uint64_t p1_pperr:1;
1064 uint64_t reserved_29_30:2;
1065 uint64_t p0_ptout:1;
1066 uint64_t p1_ptout:1;
1067 uint64_t reserved_33_34:2;
1068 uint64_t i0_pperr:1;
1069 uint64_t i1_pperr:1;
1070 uint64_t reserved_37_38:2;
1071 uint64_t win_rto:1;
1072 uint64_t p_dperr:1;
1073 uint64_t iobdma:1;
1074 uint64_t fcr_s_e:1;
1075 uint64_t fcr_a_f:1;
1076 uint64_t pcr_s_e:1;
1077 uint64_t pcr_a_f:1;
1078 uint64_t q2_s_e:1;
1079 uint64_t q2_a_f:1;
1080 uint64_t q3_s_e:1;
1081 uint64_t q3_a_f:1;
1082 uint64_t com_s_e:1;
1083 uint64_t com_a_f:1;
1084 uint64_t pnc_s_e:1;
1085 uint64_t pnc_a_f:1;
1086 uint64_t rwx_s_e:1;
1087 uint64_t rdx_s_e:1;
1088 uint64_t pcf_p_e:1;
1089 uint64_t pcf_p_f:1;
1090 uint64_t pdf_p_e:1;
1091 uint64_t pdf_p_f:1;
1092 uint64_t q1_s_e:1;
1093 uint64_t q1_a_f:1;
1094 uint64_t reserved_62_63:2;
1095#endif
691 } cn31xx; 1096 } cn31xx;
692 struct cvmx_npi_int_enb_s cn38xx; 1097 struct cvmx_npi_int_enb_s cn38xx;
693 struct cvmx_npi_int_enb_cn38xxp2 { 1098 struct cvmx_npi_int_enb_cn38xxp2 {
1099#ifdef __BIG_ENDIAN_BITFIELD
694 uint64_t reserved_42_63:22; 1100 uint64_t reserved_42_63:22;
695 uint64_t iobdma:1; 1101 uint64_t iobdma:1;
696 uint64_t p_dperr:1; 1102 uint64_t p_dperr:1;
@@ -734,6 +1140,51 @@ union cvmx_npi_int_enb {
734 uint64_t pci_rsl:1; 1140 uint64_t pci_rsl:1;
735 uint64_t rml_wto:1; 1141 uint64_t rml_wto:1;
736 uint64_t rml_rto:1; 1142 uint64_t rml_rto:1;
1143#else
1144 uint64_t rml_rto:1;
1145 uint64_t rml_wto:1;
1146 uint64_t pci_rsl:1;
1147 uint64_t po0_2sml:1;
1148 uint64_t po1_2sml:1;
1149 uint64_t po2_2sml:1;
1150 uint64_t po3_2sml:1;
1151 uint64_t i0_rtout:1;
1152 uint64_t i1_rtout:1;
1153 uint64_t i2_rtout:1;
1154 uint64_t i3_rtout:1;
1155 uint64_t i0_overf:1;
1156 uint64_t i1_overf:1;
1157 uint64_t i2_overf:1;
1158 uint64_t i3_overf:1;
1159 uint64_t p0_rtout:1;
1160 uint64_t p1_rtout:1;
1161 uint64_t p2_rtout:1;
1162 uint64_t p3_rtout:1;
1163 uint64_t p0_perr:1;
1164 uint64_t p1_perr:1;
1165 uint64_t p2_perr:1;
1166 uint64_t p3_perr:1;
1167 uint64_t g0_rtout:1;
1168 uint64_t g1_rtout:1;
1169 uint64_t g2_rtout:1;
1170 uint64_t g3_rtout:1;
1171 uint64_t p0_pperr:1;
1172 uint64_t p1_pperr:1;
1173 uint64_t p2_pperr:1;
1174 uint64_t p3_pperr:1;
1175 uint64_t p0_ptout:1;
1176 uint64_t p1_ptout:1;
1177 uint64_t p2_ptout:1;
1178 uint64_t p3_ptout:1;
1179 uint64_t i0_pperr:1;
1180 uint64_t i1_pperr:1;
1181 uint64_t i2_pperr:1;
1182 uint64_t i3_pperr:1;
1183 uint64_t win_rto:1;
1184 uint64_t p_dperr:1;
1185 uint64_t iobdma:1;
1186 uint64_t reserved_42_63:22;
1187#endif
737 } cn38xxp2; 1188 } cn38xxp2;
738 struct cvmx_npi_int_enb_cn31xx cn50xx; 1189 struct cvmx_npi_int_enb_cn31xx cn50xx;
739 struct cvmx_npi_int_enb_s cn58xx; 1190 struct cvmx_npi_int_enb_s cn58xx;
@@ -743,6 +1194,7 @@ union cvmx_npi_int_enb {
743union cvmx_npi_int_sum { 1194union cvmx_npi_int_sum {
744 uint64_t u64; 1195 uint64_t u64;
745 struct cvmx_npi_int_sum_s { 1196 struct cvmx_npi_int_sum_s {
1197#ifdef __BIG_ENDIAN_BITFIELD
746 uint64_t reserved_62_63:2; 1198 uint64_t reserved_62_63:2;
747 uint64_t q1_a_f:1; 1199 uint64_t q1_a_f:1;
748 uint64_t q1_s_e:1; 1200 uint64_t q1_s_e:1;
@@ -806,8 +1258,74 @@ union cvmx_npi_int_sum {
806 uint64_t pci_rsl:1; 1258 uint64_t pci_rsl:1;
807 uint64_t rml_wto:1; 1259 uint64_t rml_wto:1;
808 uint64_t rml_rto:1; 1260 uint64_t rml_rto:1;
1261#else
1262 uint64_t rml_rto:1;
1263 uint64_t rml_wto:1;
1264 uint64_t pci_rsl:1;
1265 uint64_t po0_2sml:1;
1266 uint64_t po1_2sml:1;
1267 uint64_t po2_2sml:1;
1268 uint64_t po3_2sml:1;
1269 uint64_t i0_rtout:1;
1270 uint64_t i1_rtout:1;
1271 uint64_t i2_rtout:1;
1272 uint64_t i3_rtout:1;
1273 uint64_t i0_overf:1;
1274 uint64_t i1_overf:1;
1275 uint64_t i2_overf:1;
1276 uint64_t i3_overf:1;
1277 uint64_t p0_rtout:1;
1278 uint64_t p1_rtout:1;
1279 uint64_t p2_rtout:1;
1280 uint64_t p3_rtout:1;
1281 uint64_t p0_perr:1;
1282 uint64_t p1_perr:1;
1283 uint64_t p2_perr:1;
1284 uint64_t p3_perr:1;
1285 uint64_t g0_rtout:1;
1286 uint64_t g1_rtout:1;
1287 uint64_t g2_rtout:1;
1288 uint64_t g3_rtout:1;
1289 uint64_t p0_pperr:1;
1290 uint64_t p1_pperr:1;
1291 uint64_t p2_pperr:1;
1292 uint64_t p3_pperr:1;
1293 uint64_t p0_ptout:1;
1294 uint64_t p1_ptout:1;
1295 uint64_t p2_ptout:1;
1296 uint64_t p3_ptout:1;
1297 uint64_t i0_pperr:1;
1298 uint64_t i1_pperr:1;
1299 uint64_t i2_pperr:1;
1300 uint64_t i3_pperr:1;
1301 uint64_t win_rto:1;
1302 uint64_t p_dperr:1;
1303 uint64_t iobdma:1;
1304 uint64_t fcr_s_e:1;
1305 uint64_t fcr_a_f:1;
1306 uint64_t pcr_s_e:1;
1307 uint64_t pcr_a_f:1;
1308 uint64_t q2_s_e:1;
1309 uint64_t q2_a_f:1;
1310 uint64_t q3_s_e:1;
1311 uint64_t q3_a_f:1;
1312 uint64_t com_s_e:1;
1313 uint64_t com_a_f:1;
1314 uint64_t pnc_s_e:1;
1315 uint64_t pnc_a_f:1;
1316 uint64_t rwx_s_e:1;
1317 uint64_t rdx_s_e:1;
1318 uint64_t pcf_p_e:1;
1319 uint64_t pcf_p_f:1;
1320 uint64_t pdf_p_e:1;
1321 uint64_t pdf_p_f:1;
1322 uint64_t q1_s_e:1;
1323 uint64_t q1_a_f:1;
1324 uint64_t reserved_62_63:2;
1325#endif
809 } s; 1326 } s;
810 struct cvmx_npi_int_sum_cn30xx { 1327 struct cvmx_npi_int_sum_cn30xx {
1328#ifdef __BIG_ENDIAN_BITFIELD
811 uint64_t reserved_62_63:2; 1329 uint64_t reserved_62_63:2;
812 uint64_t q1_a_f:1; 1330 uint64_t q1_a_f:1;
813 uint64_t q1_s_e:1; 1331 uint64_t q1_s_e:1;
@@ -853,8 +1371,56 @@ union cvmx_npi_int_sum {
853 uint64_t pci_rsl:1; 1371 uint64_t pci_rsl:1;
854 uint64_t rml_wto:1; 1372 uint64_t rml_wto:1;
855 uint64_t rml_rto:1; 1373 uint64_t rml_rto:1;
1374#else
1375 uint64_t rml_rto:1;
1376 uint64_t rml_wto:1;
1377 uint64_t pci_rsl:1;
1378 uint64_t po0_2sml:1;
1379 uint64_t reserved_4_6:3;
1380 uint64_t i0_rtout:1;
1381 uint64_t reserved_8_10:3;
1382 uint64_t i0_overf:1;
1383 uint64_t reserved_12_14:3;
1384 uint64_t p0_rtout:1;
1385 uint64_t reserved_16_18:3;
1386 uint64_t p0_perr:1;
1387 uint64_t reserved_20_22:3;
1388 uint64_t g0_rtout:1;
1389 uint64_t reserved_24_26:3;
1390 uint64_t p0_pperr:1;
1391 uint64_t reserved_28_30:3;
1392 uint64_t p0_ptout:1;
1393 uint64_t reserved_32_34:3;
1394 uint64_t i0_pperr:1;
1395 uint64_t reserved_36_38:3;
1396 uint64_t win_rto:1;
1397 uint64_t p_dperr:1;
1398 uint64_t iobdma:1;
1399 uint64_t fcr_s_e:1;
1400 uint64_t fcr_a_f:1;
1401 uint64_t pcr_s_e:1;
1402 uint64_t pcr_a_f:1;
1403 uint64_t q2_s_e:1;
1404 uint64_t q2_a_f:1;
1405 uint64_t q3_s_e:1;
1406 uint64_t q3_a_f:1;
1407 uint64_t com_s_e:1;
1408 uint64_t com_a_f:1;
1409 uint64_t pnc_s_e:1;
1410 uint64_t pnc_a_f:1;
1411 uint64_t rwx_s_e:1;
1412 uint64_t rdx_s_e:1;
1413 uint64_t pcf_p_e:1;
1414 uint64_t pcf_p_f:1;
1415 uint64_t pdf_p_e:1;
1416 uint64_t pdf_p_f:1;
1417 uint64_t q1_s_e:1;
1418 uint64_t q1_a_f:1;
1419 uint64_t reserved_62_63:2;
1420#endif
856 } cn30xx; 1421 } cn30xx;
857 struct cvmx_npi_int_sum_cn31xx { 1422 struct cvmx_npi_int_sum_cn31xx {
1423#ifdef __BIG_ENDIAN_BITFIELD
858 uint64_t reserved_62_63:2; 1424 uint64_t reserved_62_63:2;
859 uint64_t q1_a_f:1; 1425 uint64_t q1_a_f:1;
860 uint64_t q1_s_e:1; 1426 uint64_t q1_s_e:1;
@@ -909,9 +1475,66 @@ union cvmx_npi_int_sum {
909 uint64_t pci_rsl:1; 1475 uint64_t pci_rsl:1;
910 uint64_t rml_wto:1; 1476 uint64_t rml_wto:1;
911 uint64_t rml_rto:1; 1477 uint64_t rml_rto:1;
1478#else
1479 uint64_t rml_rto:1;
1480 uint64_t rml_wto:1;
1481 uint64_t pci_rsl:1;
1482 uint64_t po0_2sml:1;
1483 uint64_t po1_2sml:1;
1484 uint64_t reserved_5_6:2;
1485 uint64_t i0_rtout:1;
1486 uint64_t i1_rtout:1;
1487 uint64_t reserved_9_10:2;
1488 uint64_t i0_overf:1;
1489 uint64_t i1_overf:1;
1490 uint64_t reserved_13_14:2;
1491 uint64_t p0_rtout:1;
1492 uint64_t p1_rtout:1;
1493 uint64_t reserved_17_18:2;
1494 uint64_t p0_perr:1;
1495 uint64_t p1_perr:1;
1496 uint64_t reserved_21_22:2;
1497 uint64_t g0_rtout:1;
1498 uint64_t g1_rtout:1;
1499 uint64_t reserved_25_26:2;
1500 uint64_t p0_pperr:1;
1501 uint64_t p1_pperr:1;
1502 uint64_t reserved_29_30:2;
1503 uint64_t p0_ptout:1;
1504 uint64_t p1_ptout:1;
1505 uint64_t reserved_33_34:2;
1506 uint64_t i0_pperr:1;
1507 uint64_t i1_pperr:1;
1508 uint64_t reserved_37_38:2;
1509 uint64_t win_rto:1;
1510 uint64_t p_dperr:1;
1511 uint64_t iobdma:1;
1512 uint64_t fcr_s_e:1;
1513 uint64_t fcr_a_f:1;
1514 uint64_t pcr_s_e:1;
1515 uint64_t pcr_a_f:1;
1516 uint64_t q2_s_e:1;
1517 uint64_t q2_a_f:1;
1518 uint64_t q3_s_e:1;
1519 uint64_t q3_a_f:1;
1520 uint64_t com_s_e:1;
1521 uint64_t com_a_f:1;
1522 uint64_t pnc_s_e:1;
1523 uint64_t pnc_a_f:1;
1524 uint64_t rwx_s_e:1;
1525 uint64_t rdx_s_e:1;
1526 uint64_t pcf_p_e:1;
1527 uint64_t pcf_p_f:1;
1528 uint64_t pdf_p_e:1;
1529 uint64_t pdf_p_f:1;
1530 uint64_t q1_s_e:1;
1531 uint64_t q1_a_f:1;
1532 uint64_t reserved_62_63:2;
1533#endif
912 } cn31xx; 1534 } cn31xx;
913 struct cvmx_npi_int_sum_s cn38xx; 1535 struct cvmx_npi_int_sum_s cn38xx;
914 struct cvmx_npi_int_sum_cn38xxp2 { 1536 struct cvmx_npi_int_sum_cn38xxp2 {
1537#ifdef __BIG_ENDIAN_BITFIELD
915 uint64_t reserved_42_63:22; 1538 uint64_t reserved_42_63:22;
916 uint64_t iobdma:1; 1539 uint64_t iobdma:1;
917 uint64_t p_dperr:1; 1540 uint64_t p_dperr:1;
@@ -955,6 +1578,51 @@ union cvmx_npi_int_sum {
955 uint64_t pci_rsl:1; 1578 uint64_t pci_rsl:1;
956 uint64_t rml_wto:1; 1579 uint64_t rml_wto:1;
957 uint64_t rml_rto:1; 1580 uint64_t rml_rto:1;
1581#else
1582 uint64_t rml_rto:1;
1583 uint64_t rml_wto:1;
1584 uint64_t pci_rsl:1;
1585 uint64_t po0_2sml:1;
1586 uint64_t po1_2sml:1;
1587 uint64_t po2_2sml:1;
1588 uint64_t po3_2sml:1;
1589 uint64_t i0_rtout:1;
1590 uint64_t i1_rtout:1;
1591 uint64_t i2_rtout:1;
1592 uint64_t i3_rtout:1;
1593 uint64_t i0_overf:1;
1594 uint64_t i1_overf:1;
1595 uint64_t i2_overf:1;
1596 uint64_t i3_overf:1;
1597 uint64_t p0_rtout:1;
1598 uint64_t p1_rtout:1;
1599 uint64_t p2_rtout:1;
1600 uint64_t p3_rtout:1;
1601 uint64_t p0_perr:1;
1602 uint64_t p1_perr:1;
1603 uint64_t p2_perr:1;
1604 uint64_t p3_perr:1;
1605 uint64_t g0_rtout:1;
1606 uint64_t g1_rtout:1;
1607 uint64_t g2_rtout:1;
1608 uint64_t g3_rtout:1;
1609 uint64_t p0_pperr:1;
1610 uint64_t p1_pperr:1;
1611 uint64_t p2_pperr:1;
1612 uint64_t p3_pperr:1;
1613 uint64_t p0_ptout:1;
1614 uint64_t p1_ptout:1;
1615 uint64_t p2_ptout:1;
1616 uint64_t p3_ptout:1;
1617 uint64_t i0_pperr:1;
1618 uint64_t i1_pperr:1;
1619 uint64_t i2_pperr:1;
1620 uint64_t i3_pperr:1;
1621 uint64_t win_rto:1;
1622 uint64_t p_dperr:1;
1623 uint64_t iobdma:1;
1624 uint64_t reserved_42_63:22;
1625#endif
958 } cn38xxp2; 1626 } cn38xxp2;
959 struct cvmx_npi_int_sum_cn31xx cn50xx; 1627 struct cvmx_npi_int_sum_cn31xx cn50xx;
960 struct cvmx_npi_int_sum_s cn58xx; 1628 struct cvmx_npi_int_sum_s cn58xx;
@@ -964,8 +1632,13 @@ union cvmx_npi_int_sum {
964union cvmx_npi_lowp_dbell { 1632union cvmx_npi_lowp_dbell {
965 uint64_t u64; 1633 uint64_t u64;
966 struct cvmx_npi_lowp_dbell_s { 1634 struct cvmx_npi_lowp_dbell_s {
1635#ifdef __BIG_ENDIAN_BITFIELD
967 uint64_t reserved_16_63:48; 1636 uint64_t reserved_16_63:48;
968 uint64_t dbell:16; 1637 uint64_t dbell:16;
1638#else
1639 uint64_t dbell:16;
1640 uint64_t reserved_16_63:48;
1641#endif
969 } s; 1642 } s;
970 struct cvmx_npi_lowp_dbell_s cn30xx; 1643 struct cvmx_npi_lowp_dbell_s cn30xx;
971 struct cvmx_npi_lowp_dbell_s cn31xx; 1644 struct cvmx_npi_lowp_dbell_s cn31xx;
@@ -979,8 +1652,13 @@ union cvmx_npi_lowp_dbell {
979union cvmx_npi_lowp_ibuff_saddr { 1652union cvmx_npi_lowp_ibuff_saddr {
980 uint64_t u64; 1653 uint64_t u64;
981 struct cvmx_npi_lowp_ibuff_saddr_s { 1654 struct cvmx_npi_lowp_ibuff_saddr_s {
1655#ifdef __BIG_ENDIAN_BITFIELD
982 uint64_t reserved_36_63:28; 1656 uint64_t reserved_36_63:28;
983 uint64_t saddr:36; 1657 uint64_t saddr:36;
1658#else
1659 uint64_t saddr:36;
1660 uint64_t reserved_36_63:28;
1661#endif
984 } s; 1662 } s;
985 struct cvmx_npi_lowp_ibuff_saddr_s cn30xx; 1663 struct cvmx_npi_lowp_ibuff_saddr_s cn30xx;
986 struct cvmx_npi_lowp_ibuff_saddr_s cn31xx; 1664 struct cvmx_npi_lowp_ibuff_saddr_s cn31xx;
@@ -994,6 +1672,7 @@ union cvmx_npi_lowp_ibuff_saddr {
994union cvmx_npi_mem_access_subidx { 1672union cvmx_npi_mem_access_subidx {
995 uint64_t u64; 1673 uint64_t u64;
996 struct cvmx_npi_mem_access_subidx_s { 1674 struct cvmx_npi_mem_access_subidx_s {
1675#ifdef __BIG_ENDIAN_BITFIELD
997 uint64_t reserved_38_63:26; 1676 uint64_t reserved_38_63:26;
998 uint64_t shortl:1; 1677 uint64_t shortl:1;
999 uint64_t nmerge:1; 1678 uint64_t nmerge:1;
@@ -1004,9 +1683,22 @@ union cvmx_npi_mem_access_subidx {
1004 uint64_t ror:1; 1683 uint64_t ror:1;
1005 uint64_t row:1; 1684 uint64_t row:1;
1006 uint64_t ba:28; 1685 uint64_t ba:28;
1686#else
1687 uint64_t ba:28;
1688 uint64_t row:1;
1689 uint64_t ror:1;
1690 uint64_t nsw:1;
1691 uint64_t nsr:1;
1692 uint64_t esw:2;
1693 uint64_t esr:2;
1694 uint64_t nmerge:1;
1695 uint64_t shortl:1;
1696 uint64_t reserved_38_63:26;
1697#endif
1007 } s; 1698 } s;
1008 struct cvmx_npi_mem_access_subidx_s cn30xx; 1699 struct cvmx_npi_mem_access_subidx_s cn30xx;
1009 struct cvmx_npi_mem_access_subidx_cn31xx { 1700 struct cvmx_npi_mem_access_subidx_cn31xx {
1701#ifdef __BIG_ENDIAN_BITFIELD
1010 uint64_t reserved_36_63:28; 1702 uint64_t reserved_36_63:28;
1011 uint64_t esr:2; 1703 uint64_t esr:2;
1012 uint64_t esw:2; 1704 uint64_t esw:2;
@@ -1015,6 +1707,16 @@ union cvmx_npi_mem_access_subidx {
1015 uint64_t ror:1; 1707 uint64_t ror:1;
1016 uint64_t row:1; 1708 uint64_t row:1;
1017 uint64_t ba:28; 1709 uint64_t ba:28;
1710#else
1711 uint64_t ba:28;
1712 uint64_t row:1;
1713 uint64_t ror:1;
1714 uint64_t nsw:1;
1715 uint64_t nsr:1;
1716 uint64_t esw:2;
1717 uint64_t esr:2;
1718 uint64_t reserved_36_63:28;
1719#endif
1018 } cn31xx; 1720 } cn31xx;
1019 struct cvmx_npi_mem_access_subidx_s cn38xx; 1721 struct cvmx_npi_mem_access_subidx_s cn38xx;
1020 struct cvmx_npi_mem_access_subidx_cn31xx cn38xxp2; 1722 struct cvmx_npi_mem_access_subidx_cn31xx cn38xxp2;
@@ -1026,7 +1728,11 @@ union cvmx_npi_mem_access_subidx {
1026union cvmx_npi_msi_rcv { 1728union cvmx_npi_msi_rcv {
1027 uint64_t u64; 1729 uint64_t u64;
1028 struct cvmx_npi_msi_rcv_s { 1730 struct cvmx_npi_msi_rcv_s {
1731#ifdef __BIG_ENDIAN_BITFIELD
1732 uint64_t int_vec:64;
1733#else
1029 uint64_t int_vec:64; 1734 uint64_t int_vec:64;
1735#endif
1030 } s; 1736 } s;
1031 struct cvmx_npi_msi_rcv_s cn30xx; 1737 struct cvmx_npi_msi_rcv_s cn30xx;
1032 struct cvmx_npi_msi_rcv_s cn31xx; 1738 struct cvmx_npi_msi_rcv_s cn31xx;
@@ -1040,8 +1746,13 @@ union cvmx_npi_msi_rcv {
1040union cvmx_npi_num_desc_outputx { 1746union cvmx_npi_num_desc_outputx {
1041 uint64_t u64; 1747 uint64_t u64;
1042 struct cvmx_npi_num_desc_outputx_s { 1748 struct cvmx_npi_num_desc_outputx_s {
1749#ifdef __BIG_ENDIAN_BITFIELD
1043 uint64_t reserved_32_63:32; 1750 uint64_t reserved_32_63:32;
1044 uint64_t size:32; 1751 uint64_t size:32;
1752#else
1753 uint64_t size:32;
1754 uint64_t reserved_32_63:32;
1755#endif
1045 } s; 1756 } s;
1046 struct cvmx_npi_num_desc_outputx_s cn30xx; 1757 struct cvmx_npi_num_desc_outputx_s cn30xx;
1047 struct cvmx_npi_num_desc_outputx_s cn31xx; 1758 struct cvmx_npi_num_desc_outputx_s cn31xx;
@@ -1055,6 +1766,7 @@ union cvmx_npi_num_desc_outputx {
1055union cvmx_npi_output_control { 1766union cvmx_npi_output_control {
1056 uint64_t u64; 1767 uint64_t u64;
1057 struct cvmx_npi_output_control_s { 1768 struct cvmx_npi_output_control_s {
1769#ifdef __BIG_ENDIAN_BITFIELD
1058 uint64_t reserved_49_63:15; 1770 uint64_t reserved_49_63:15;
1059 uint64_t pkt_rr:1; 1771 uint64_t pkt_rr:1;
1060 uint64_t p3_bmode:1; 1772 uint64_t p3_bmode:1;
@@ -1094,8 +1806,50 @@ union cvmx_npi_output_control {
1094 uint64_t esr_sl0:2; 1806 uint64_t esr_sl0:2;
1095 uint64_t nsr_sl0:1; 1807 uint64_t nsr_sl0:1;
1096 uint64_t ror_sl0:1; 1808 uint64_t ror_sl0:1;
1809#else
1810 uint64_t ror_sl0:1;
1811 uint64_t nsr_sl0:1;
1812 uint64_t esr_sl0:2;
1813 uint64_t ror_sl1:1;
1814 uint64_t nsr_sl1:1;
1815 uint64_t esr_sl1:2;
1816 uint64_t ror_sl2:1;
1817 uint64_t nsr_sl2:1;
1818 uint64_t esr_sl2:2;
1819 uint64_t ror_sl3:1;
1820 uint64_t nsr_sl3:1;
1821 uint64_t esr_sl3:2;
1822 uint64_t iptr_o0:1;
1823 uint64_t iptr_o1:1;
1824 uint64_t iptr_o2:1;
1825 uint64_t iptr_o3:1;
1826 uint64_t reserved_20_23:4;
1827 uint64_t o0_csrm:1;
1828 uint64_t o1_csrm:1;
1829 uint64_t o2_csrm:1;
1830 uint64_t o3_csrm:1;
1831 uint64_t o0_ro:1;
1832 uint64_t o0_ns:1;
1833 uint64_t o0_es:2;
1834 uint64_t o1_ro:1;
1835 uint64_t o1_ns:1;
1836 uint64_t o1_es:2;
1837 uint64_t o2_ro:1;
1838 uint64_t o2_ns:1;
1839 uint64_t o2_es:2;
1840 uint64_t o3_ro:1;
1841 uint64_t o3_ns:1;
1842 uint64_t o3_es:2;
1843 uint64_t p0_bmode:1;
1844 uint64_t p1_bmode:1;
1845 uint64_t p2_bmode:1;
1846 uint64_t p3_bmode:1;
1847 uint64_t pkt_rr:1;
1848 uint64_t reserved_49_63:15;
1849#endif
1097 } s; 1850 } s;
1098 struct cvmx_npi_output_control_cn30xx { 1851 struct cvmx_npi_output_control_cn30xx {
1852#ifdef __BIG_ENDIAN_BITFIELD
1099 uint64_t reserved_45_63:19; 1853 uint64_t reserved_45_63:19;
1100 uint64_t p0_bmode:1; 1854 uint64_t p0_bmode:1;
1101 uint64_t reserved_32_43:12; 1855 uint64_t reserved_32_43:12;
@@ -1110,8 +1864,25 @@ union cvmx_npi_output_control {
1110 uint64_t esr_sl0:2; 1864 uint64_t esr_sl0:2;
1111 uint64_t nsr_sl0:1; 1865 uint64_t nsr_sl0:1;
1112 uint64_t ror_sl0:1; 1866 uint64_t ror_sl0:1;
1867#else
1868 uint64_t ror_sl0:1;
1869 uint64_t nsr_sl0:1;
1870 uint64_t esr_sl0:2;
1871 uint64_t reserved_4_15:12;
1872 uint64_t iptr_o0:1;
1873 uint64_t reserved_17_23:7;
1874 uint64_t o0_csrm:1;
1875 uint64_t reserved_25_27:3;
1876 uint64_t o0_ro:1;
1877 uint64_t o0_ns:1;
1878 uint64_t o0_es:2;
1879 uint64_t reserved_32_43:12;
1880 uint64_t p0_bmode:1;
1881 uint64_t reserved_45_63:19;
1882#endif
1113 } cn30xx; 1883 } cn30xx;
1114 struct cvmx_npi_output_control_cn31xx { 1884 struct cvmx_npi_output_control_cn31xx {
1885#ifdef __BIG_ENDIAN_BITFIELD
1115 uint64_t reserved_46_63:18; 1886 uint64_t reserved_46_63:18;
1116 uint64_t p1_bmode:1; 1887 uint64_t p1_bmode:1;
1117 uint64_t p0_bmode:1; 1888 uint64_t p0_bmode:1;
@@ -1135,9 +1906,35 @@ union cvmx_npi_output_control {
1135 uint64_t esr_sl0:2; 1906 uint64_t esr_sl0:2;
1136 uint64_t nsr_sl0:1; 1907 uint64_t nsr_sl0:1;
1137 uint64_t ror_sl0:1; 1908 uint64_t ror_sl0:1;
1909#else
1910 uint64_t ror_sl0:1;
1911 uint64_t nsr_sl0:1;
1912 uint64_t esr_sl0:2;
1913 uint64_t ror_sl1:1;
1914 uint64_t nsr_sl1:1;
1915 uint64_t esr_sl1:2;
1916 uint64_t reserved_8_15:8;
1917 uint64_t iptr_o0:1;
1918 uint64_t iptr_o1:1;
1919 uint64_t reserved_18_23:6;
1920 uint64_t o0_csrm:1;
1921 uint64_t o1_csrm:1;
1922 uint64_t reserved_26_27:2;
1923 uint64_t o0_ro:1;
1924 uint64_t o0_ns:1;
1925 uint64_t o0_es:2;
1926 uint64_t o1_ro:1;
1927 uint64_t o1_ns:1;
1928 uint64_t o1_es:2;
1929 uint64_t reserved_36_43:8;
1930 uint64_t p0_bmode:1;
1931 uint64_t p1_bmode:1;
1932 uint64_t reserved_46_63:18;
1933#endif
1138 } cn31xx; 1934 } cn31xx;
1139 struct cvmx_npi_output_control_s cn38xx; 1935 struct cvmx_npi_output_control_s cn38xx;
1140 struct cvmx_npi_output_control_cn38xxp2 { 1936 struct cvmx_npi_output_control_cn38xxp2 {
1937#ifdef __BIG_ENDIAN_BITFIELD
1141 uint64_t reserved_48_63:16; 1938 uint64_t reserved_48_63:16;
1142 uint64_t p3_bmode:1; 1939 uint64_t p3_bmode:1;
1143 uint64_t p2_bmode:1; 1940 uint64_t p2_bmode:1;
@@ -1176,8 +1973,49 @@ union cvmx_npi_output_control {
1176 uint64_t esr_sl0:2; 1973 uint64_t esr_sl0:2;
1177 uint64_t nsr_sl0:1; 1974 uint64_t nsr_sl0:1;
1178 uint64_t ror_sl0:1; 1975 uint64_t ror_sl0:1;
1976#else
1977 uint64_t ror_sl0:1;
1978 uint64_t nsr_sl0:1;
1979 uint64_t esr_sl0:2;
1980 uint64_t ror_sl1:1;
1981 uint64_t nsr_sl1:1;
1982 uint64_t esr_sl1:2;
1983 uint64_t ror_sl2:1;
1984 uint64_t nsr_sl2:1;
1985 uint64_t esr_sl2:2;
1986 uint64_t ror_sl3:1;
1987 uint64_t nsr_sl3:1;
1988 uint64_t esr_sl3:2;
1989 uint64_t iptr_o0:1;
1990 uint64_t iptr_o1:1;
1991 uint64_t iptr_o2:1;
1992 uint64_t iptr_o3:1;
1993 uint64_t reserved_20_23:4;
1994 uint64_t o0_csrm:1;
1995 uint64_t o1_csrm:1;
1996 uint64_t o2_csrm:1;
1997 uint64_t o3_csrm:1;
1998 uint64_t o0_ro:1;
1999 uint64_t o0_ns:1;
2000 uint64_t o0_es:2;
2001 uint64_t o1_ro:1;
2002 uint64_t o1_ns:1;
2003 uint64_t o1_es:2;
2004 uint64_t o2_ro:1;
2005 uint64_t o2_ns:1;
2006 uint64_t o2_es:2;
2007 uint64_t o3_ro:1;
2008 uint64_t o3_ns:1;
2009 uint64_t o3_es:2;
2010 uint64_t p0_bmode:1;
2011 uint64_t p1_bmode:1;
2012 uint64_t p2_bmode:1;
2013 uint64_t p3_bmode:1;
2014 uint64_t reserved_48_63:16;
2015#endif
1179 } cn38xxp2; 2016 } cn38xxp2;
1180 struct cvmx_npi_output_control_cn50xx { 2017 struct cvmx_npi_output_control_cn50xx {
2018#ifdef __BIG_ENDIAN_BITFIELD
1181 uint64_t reserved_49_63:15; 2019 uint64_t reserved_49_63:15;
1182 uint64_t pkt_rr:1; 2020 uint64_t pkt_rr:1;
1183 uint64_t reserved_46_47:2; 2021 uint64_t reserved_46_47:2;
@@ -1203,6 +2041,33 @@ union cvmx_npi_output_control {
1203 uint64_t esr_sl0:2; 2041 uint64_t esr_sl0:2;
1204 uint64_t nsr_sl0:1; 2042 uint64_t nsr_sl0:1;
1205 uint64_t ror_sl0:1; 2043 uint64_t ror_sl0:1;
2044#else
2045 uint64_t ror_sl0:1;
2046 uint64_t nsr_sl0:1;
2047 uint64_t esr_sl0:2;
2048 uint64_t ror_sl1:1;
2049 uint64_t nsr_sl1:1;
2050 uint64_t esr_sl1:2;
2051 uint64_t reserved_8_15:8;
2052 uint64_t iptr_o0:1;
2053 uint64_t iptr_o1:1;
2054 uint64_t reserved_18_23:6;
2055 uint64_t o0_csrm:1;
2056 uint64_t o1_csrm:1;
2057 uint64_t reserved_26_27:2;
2058 uint64_t o0_ro:1;
2059 uint64_t o0_ns:1;
2060 uint64_t o0_es:2;
2061 uint64_t o1_ro:1;
2062 uint64_t o1_ns:1;
2063 uint64_t o1_es:2;
2064 uint64_t reserved_36_43:8;
2065 uint64_t p0_bmode:1;
2066 uint64_t p1_bmode:1;
2067 uint64_t reserved_46_47:2;
2068 uint64_t pkt_rr:1;
2069 uint64_t reserved_49_63:15;
2070#endif
1206 } cn50xx; 2071 } cn50xx;
1207 struct cvmx_npi_output_control_s cn58xx; 2072 struct cvmx_npi_output_control_s cn58xx;
1208 struct cvmx_npi_output_control_s cn58xxp1; 2073 struct cvmx_npi_output_control_s cn58xxp1;
@@ -1211,9 +2076,15 @@ union cvmx_npi_output_control {
1211union cvmx_npi_px_dbpair_addr { 2076union cvmx_npi_px_dbpair_addr {
1212 uint64_t u64; 2077 uint64_t u64;
1213 struct cvmx_npi_px_dbpair_addr_s { 2078 struct cvmx_npi_px_dbpair_addr_s {
2079#ifdef __BIG_ENDIAN_BITFIELD
1214 uint64_t reserved_63_63:1; 2080 uint64_t reserved_63_63:1;
1215 uint64_t state:2; 2081 uint64_t state:2;
1216 uint64_t naddr:61; 2082 uint64_t naddr:61;
2083#else
2084 uint64_t naddr:61;
2085 uint64_t state:2;
2086 uint64_t reserved_63_63:1;
2087#endif
1217 } s; 2088 } s;
1218 struct cvmx_npi_px_dbpair_addr_s cn30xx; 2089 struct cvmx_npi_px_dbpair_addr_s cn30xx;
1219 struct cvmx_npi_px_dbpair_addr_s cn31xx; 2090 struct cvmx_npi_px_dbpair_addr_s cn31xx;
@@ -1227,8 +2098,13 @@ union cvmx_npi_px_dbpair_addr {
1227union cvmx_npi_px_instr_addr { 2098union cvmx_npi_px_instr_addr {
1228 uint64_t u64; 2099 uint64_t u64;
1229 struct cvmx_npi_px_instr_addr_s { 2100 struct cvmx_npi_px_instr_addr_s {
2101#ifdef __BIG_ENDIAN_BITFIELD
1230 uint64_t state:3; 2102 uint64_t state:3;
1231 uint64_t naddr:61; 2103 uint64_t naddr:61;
2104#else
2105 uint64_t naddr:61;
2106 uint64_t state:3;
2107#endif
1232 } s; 2108 } s;
1233 struct cvmx_npi_px_instr_addr_s cn30xx; 2109 struct cvmx_npi_px_instr_addr_s cn30xx;
1234 struct cvmx_npi_px_instr_addr_s cn31xx; 2110 struct cvmx_npi_px_instr_addr_s cn31xx;
@@ -1242,9 +2118,15 @@ union cvmx_npi_px_instr_addr {
1242union cvmx_npi_px_instr_cnts { 2118union cvmx_npi_px_instr_cnts {
1243 uint64_t u64; 2119 uint64_t u64;
1244 struct cvmx_npi_px_instr_cnts_s { 2120 struct cvmx_npi_px_instr_cnts_s {
2121#ifdef __BIG_ENDIAN_BITFIELD
1245 uint64_t reserved_38_63:26; 2122 uint64_t reserved_38_63:26;
1246 uint64_t fcnt:6; 2123 uint64_t fcnt:6;
1247 uint64_t avail:32; 2124 uint64_t avail:32;
2125#else
2126 uint64_t avail:32;
2127 uint64_t fcnt:6;
2128 uint64_t reserved_38_63:26;
2129#endif
1248 } s; 2130 } s;
1249 struct cvmx_npi_px_instr_cnts_s cn30xx; 2131 struct cvmx_npi_px_instr_cnts_s cn30xx;
1250 struct cvmx_npi_px_instr_cnts_s cn31xx; 2132 struct cvmx_npi_px_instr_cnts_s cn31xx;
@@ -1258,9 +2140,15 @@ union cvmx_npi_px_instr_cnts {
1258union cvmx_npi_px_pair_cnts { 2140union cvmx_npi_px_pair_cnts {
1259 uint64_t u64; 2141 uint64_t u64;
1260 struct cvmx_npi_px_pair_cnts_s { 2142 struct cvmx_npi_px_pair_cnts_s {
2143#ifdef __BIG_ENDIAN_BITFIELD
1261 uint64_t reserved_37_63:27; 2144 uint64_t reserved_37_63:27;
1262 uint64_t fcnt:5; 2145 uint64_t fcnt:5;
1263 uint64_t avail:32; 2146 uint64_t avail:32;
2147#else
2148 uint64_t avail:32;
2149 uint64_t fcnt:5;
2150 uint64_t reserved_37_63:27;
2151#endif
1264 } s; 2152 } s;
1265 struct cvmx_npi_px_pair_cnts_s cn30xx; 2153 struct cvmx_npi_px_pair_cnts_s cn30xx;
1266 struct cvmx_npi_px_pair_cnts_s cn31xx; 2154 struct cvmx_npi_px_pair_cnts_s cn31xx;
@@ -1274,9 +2162,15 @@ union cvmx_npi_px_pair_cnts {
1274union cvmx_npi_pci_burst_size { 2162union cvmx_npi_pci_burst_size {
1275 uint64_t u64; 2163 uint64_t u64;
1276 struct cvmx_npi_pci_burst_size_s { 2164 struct cvmx_npi_pci_burst_size_s {
2165#ifdef __BIG_ENDIAN_BITFIELD
1277 uint64_t reserved_14_63:50; 2166 uint64_t reserved_14_63:50;
1278 uint64_t wr_brst:7; 2167 uint64_t wr_brst:7;
1279 uint64_t rd_brst:7; 2168 uint64_t rd_brst:7;
2169#else
2170 uint64_t rd_brst:7;
2171 uint64_t wr_brst:7;
2172 uint64_t reserved_14_63:50;
2173#endif
1280 } s; 2174 } s;
1281 struct cvmx_npi_pci_burst_size_s cn30xx; 2175 struct cvmx_npi_pci_burst_size_s cn30xx;
1282 struct cvmx_npi_pci_burst_size_s cn31xx; 2176 struct cvmx_npi_pci_burst_size_s cn31xx;
@@ -1290,6 +2184,7 @@ union cvmx_npi_pci_burst_size {
1290union cvmx_npi_pci_int_arb_cfg { 2184union cvmx_npi_pci_int_arb_cfg {
1291 uint64_t u64; 2185 uint64_t u64;
1292 struct cvmx_npi_pci_int_arb_cfg_s { 2186 struct cvmx_npi_pci_int_arb_cfg_s {
2187#ifdef __BIG_ENDIAN_BITFIELD
1293 uint64_t reserved_13_63:51; 2188 uint64_t reserved_13_63:51;
1294 uint64_t hostmode:1; 2189 uint64_t hostmode:1;
1295 uint64_t pci_ovr:4; 2190 uint64_t pci_ovr:4;
@@ -1297,12 +2192,28 @@ union cvmx_npi_pci_int_arb_cfg {
1297 uint64_t en:1; 2192 uint64_t en:1;
1298 uint64_t park_mod:1; 2193 uint64_t park_mod:1;
1299 uint64_t park_dev:3; 2194 uint64_t park_dev:3;
2195#else
2196 uint64_t park_dev:3;
2197 uint64_t park_mod:1;
2198 uint64_t en:1;
2199 uint64_t reserved_5_7:3;
2200 uint64_t pci_ovr:4;
2201 uint64_t hostmode:1;
2202 uint64_t reserved_13_63:51;
2203#endif
1300 } s; 2204 } s;
1301 struct cvmx_npi_pci_int_arb_cfg_cn30xx { 2205 struct cvmx_npi_pci_int_arb_cfg_cn30xx {
2206#ifdef __BIG_ENDIAN_BITFIELD
1302 uint64_t reserved_5_63:59; 2207 uint64_t reserved_5_63:59;
1303 uint64_t en:1; 2208 uint64_t en:1;
1304 uint64_t park_mod:1; 2209 uint64_t park_mod:1;
1305 uint64_t park_dev:3; 2210 uint64_t park_dev:3;
2211#else
2212 uint64_t park_dev:3;
2213 uint64_t park_mod:1;
2214 uint64_t en:1;
2215 uint64_t reserved_5_63:59;
2216#endif
1306 } cn30xx; 2217 } cn30xx;
1307 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn31xx; 2218 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn31xx;
1308 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xx; 2219 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xx;
@@ -1315,8 +2226,13 @@ union cvmx_npi_pci_int_arb_cfg {
1315union cvmx_npi_pci_read_cmd { 2226union cvmx_npi_pci_read_cmd {
1316 uint64_t u64; 2227 uint64_t u64;
1317 struct cvmx_npi_pci_read_cmd_s { 2228 struct cvmx_npi_pci_read_cmd_s {
2229#ifdef __BIG_ENDIAN_BITFIELD
1318 uint64_t reserved_11_63:53; 2230 uint64_t reserved_11_63:53;
1319 uint64_t cmd_size:11; 2231 uint64_t cmd_size:11;
2232#else
2233 uint64_t cmd_size:11;
2234 uint64_t reserved_11_63:53;
2235#endif
1320 } s; 2236 } s;
1321 struct cvmx_npi_pci_read_cmd_s cn30xx; 2237 struct cvmx_npi_pci_read_cmd_s cn30xx;
1322 struct cvmx_npi_pci_read_cmd_s cn31xx; 2238 struct cvmx_npi_pci_read_cmd_s cn31xx;
@@ -1330,6 +2246,7 @@ union cvmx_npi_pci_read_cmd {
1330union cvmx_npi_port32_instr_hdr { 2246union cvmx_npi_port32_instr_hdr {
1331 uint64_t u64; 2247 uint64_t u64;
1332 struct cvmx_npi_port32_instr_hdr_s { 2248 struct cvmx_npi_port32_instr_hdr_s {
2249#ifdef __BIG_ENDIAN_BITFIELD
1333 uint64_t reserved_44_63:20; 2250 uint64_t reserved_44_63:20;
1334 uint64_t pbp:1; 2251 uint64_t pbp:1;
1335 uint64_t rsv_f:5; 2252 uint64_t rsv_f:5;
@@ -1343,6 +2260,21 @@ union cvmx_npi_port32_instr_hdr {
1343 uint64_t rsv_b:1; 2260 uint64_t rsv_b:1;
1344 uint64_t skp_len:7; 2261 uint64_t skp_len:7;
1345 uint64_t rsv_a:6; 2262 uint64_t rsv_a:6;
2263#else
2264 uint64_t rsv_a:6;
2265 uint64_t skp_len:7;
2266 uint64_t rsv_b:1;
2267 uint64_t par_mode:2;
2268 uint64_t rsv_c:5;
2269 uint64_t use_ihdr:1;
2270 uint64_t rsv_d:6;
2271 uint64_t rskp_len:7;
2272 uint64_t rsv_e:1;
2273 uint64_t rparmode:2;
2274 uint64_t rsv_f:5;
2275 uint64_t pbp:1;
2276 uint64_t reserved_44_63:20;
2277#endif
1346 } s; 2278 } s;
1347 struct cvmx_npi_port32_instr_hdr_s cn30xx; 2279 struct cvmx_npi_port32_instr_hdr_s cn30xx;
1348 struct cvmx_npi_port32_instr_hdr_s cn31xx; 2280 struct cvmx_npi_port32_instr_hdr_s cn31xx;
@@ -1356,6 +2288,7 @@ union cvmx_npi_port32_instr_hdr {
1356union cvmx_npi_port33_instr_hdr { 2288union cvmx_npi_port33_instr_hdr {
1357 uint64_t u64; 2289 uint64_t u64;
1358 struct cvmx_npi_port33_instr_hdr_s { 2290 struct cvmx_npi_port33_instr_hdr_s {
2291#ifdef __BIG_ENDIAN_BITFIELD
1359 uint64_t reserved_44_63:20; 2292 uint64_t reserved_44_63:20;
1360 uint64_t pbp:1; 2293 uint64_t pbp:1;
1361 uint64_t rsv_f:5; 2294 uint64_t rsv_f:5;
@@ -1369,6 +2302,21 @@ union cvmx_npi_port33_instr_hdr {
1369 uint64_t rsv_b:1; 2302 uint64_t rsv_b:1;
1370 uint64_t skp_len:7; 2303 uint64_t skp_len:7;
1371 uint64_t rsv_a:6; 2304 uint64_t rsv_a:6;
2305#else
2306 uint64_t rsv_a:6;
2307 uint64_t skp_len:7;
2308 uint64_t rsv_b:1;
2309 uint64_t par_mode:2;
2310 uint64_t rsv_c:5;
2311 uint64_t use_ihdr:1;
2312 uint64_t rsv_d:6;
2313 uint64_t rskp_len:7;
2314 uint64_t rsv_e:1;
2315 uint64_t rparmode:2;
2316 uint64_t rsv_f:5;
2317 uint64_t pbp:1;
2318 uint64_t reserved_44_63:20;
2319#endif
1372 } s; 2320 } s;
1373 struct cvmx_npi_port33_instr_hdr_s cn31xx; 2321 struct cvmx_npi_port33_instr_hdr_s cn31xx;
1374 struct cvmx_npi_port33_instr_hdr_s cn38xx; 2322 struct cvmx_npi_port33_instr_hdr_s cn38xx;
@@ -1381,6 +2329,7 @@ union cvmx_npi_port33_instr_hdr {
1381union cvmx_npi_port34_instr_hdr { 2329union cvmx_npi_port34_instr_hdr {
1382 uint64_t u64; 2330 uint64_t u64;
1383 struct cvmx_npi_port34_instr_hdr_s { 2331 struct cvmx_npi_port34_instr_hdr_s {
2332#ifdef __BIG_ENDIAN_BITFIELD
1384 uint64_t reserved_44_63:20; 2333 uint64_t reserved_44_63:20;
1385 uint64_t pbp:1; 2334 uint64_t pbp:1;
1386 uint64_t rsv_f:5; 2335 uint64_t rsv_f:5;
@@ -1394,6 +2343,21 @@ union cvmx_npi_port34_instr_hdr {
1394 uint64_t rsv_b:1; 2343 uint64_t rsv_b:1;
1395 uint64_t skp_len:7; 2344 uint64_t skp_len:7;
1396 uint64_t rsv_a:6; 2345 uint64_t rsv_a:6;
2346#else
2347 uint64_t rsv_a:6;
2348 uint64_t skp_len:7;
2349 uint64_t rsv_b:1;
2350 uint64_t par_mode:2;
2351 uint64_t rsv_c:5;
2352 uint64_t use_ihdr:1;
2353 uint64_t rsv_d:6;
2354 uint64_t rskp_len:7;
2355 uint64_t rsv_e:1;
2356 uint64_t rparmode:2;
2357 uint64_t rsv_f:5;
2358 uint64_t pbp:1;
2359 uint64_t reserved_44_63:20;
2360#endif
1397 } s; 2361 } s;
1398 struct cvmx_npi_port34_instr_hdr_s cn38xx; 2362 struct cvmx_npi_port34_instr_hdr_s cn38xx;
1399 struct cvmx_npi_port34_instr_hdr_s cn38xxp2; 2363 struct cvmx_npi_port34_instr_hdr_s cn38xxp2;
@@ -1404,6 +2368,7 @@ union cvmx_npi_port34_instr_hdr {
1404union cvmx_npi_port35_instr_hdr { 2368union cvmx_npi_port35_instr_hdr {
1405 uint64_t u64; 2369 uint64_t u64;
1406 struct cvmx_npi_port35_instr_hdr_s { 2370 struct cvmx_npi_port35_instr_hdr_s {
2371#ifdef __BIG_ENDIAN_BITFIELD
1407 uint64_t reserved_44_63:20; 2372 uint64_t reserved_44_63:20;
1408 uint64_t pbp:1; 2373 uint64_t pbp:1;
1409 uint64_t rsv_f:5; 2374 uint64_t rsv_f:5;
@@ -1417,6 +2382,21 @@ union cvmx_npi_port35_instr_hdr {
1417 uint64_t rsv_b:1; 2382 uint64_t rsv_b:1;
1418 uint64_t skp_len:7; 2383 uint64_t skp_len:7;
1419 uint64_t rsv_a:6; 2384 uint64_t rsv_a:6;
2385#else
2386 uint64_t rsv_a:6;
2387 uint64_t skp_len:7;
2388 uint64_t rsv_b:1;
2389 uint64_t par_mode:2;
2390 uint64_t rsv_c:5;
2391 uint64_t use_ihdr:1;
2392 uint64_t rsv_d:6;
2393 uint64_t rskp_len:7;
2394 uint64_t rsv_e:1;
2395 uint64_t rparmode:2;
2396 uint64_t rsv_f:5;
2397 uint64_t pbp:1;
2398 uint64_t reserved_44_63:20;
2399#endif
1420 } s; 2400 } s;
1421 struct cvmx_npi_port35_instr_hdr_s cn38xx; 2401 struct cvmx_npi_port35_instr_hdr_s cn38xx;
1422 struct cvmx_npi_port35_instr_hdr_s cn38xxp2; 2402 struct cvmx_npi_port35_instr_hdr_s cn38xxp2;
@@ -1427,9 +2407,15 @@ union cvmx_npi_port35_instr_hdr {
1427union cvmx_npi_port_bp_control { 2407union cvmx_npi_port_bp_control {
1428 uint64_t u64; 2408 uint64_t u64;
1429 struct cvmx_npi_port_bp_control_s { 2409 struct cvmx_npi_port_bp_control_s {
2410#ifdef __BIG_ENDIAN_BITFIELD
1430 uint64_t reserved_8_63:56; 2411 uint64_t reserved_8_63:56;
1431 uint64_t bp_on:4; 2412 uint64_t bp_on:4;
1432 uint64_t enb:4; 2413 uint64_t enb:4;
2414#else
2415 uint64_t enb:4;
2416 uint64_t bp_on:4;
2417 uint64_t reserved_8_63:56;
2418#endif
1433 } s; 2419 } s;
1434 struct cvmx_npi_port_bp_control_s cn30xx; 2420 struct cvmx_npi_port_bp_control_s cn30xx;
1435 struct cvmx_npi_port_bp_control_s cn31xx; 2421 struct cvmx_npi_port_bp_control_s cn31xx;
@@ -1443,6 +2429,7 @@ union cvmx_npi_port_bp_control {
1443union cvmx_npi_rsl_int_blocks { 2429union cvmx_npi_rsl_int_blocks {
1444 uint64_t u64; 2430 uint64_t u64;
1445 struct cvmx_npi_rsl_int_blocks_s { 2431 struct cvmx_npi_rsl_int_blocks_s {
2432#ifdef __BIG_ENDIAN_BITFIELD
1446 uint64_t reserved_32_63:32; 2433 uint64_t reserved_32_63:32;
1447 uint64_t rint_31:1; 2434 uint64_t rint_31:1;
1448 uint64_t iob:1; 2435 uint64_t iob:1;
@@ -1474,8 +2461,42 @@ union cvmx_npi_rsl_int_blocks {
1474 uint64_t gmx1:1; 2461 uint64_t gmx1:1;
1475 uint64_t gmx0:1; 2462 uint64_t gmx0:1;
1476 uint64_t mio:1; 2463 uint64_t mio:1;
2464#else
2465 uint64_t mio:1;
2466 uint64_t gmx0:1;
2467 uint64_t gmx1:1;
2468 uint64_t npi:1;
2469 uint64_t key:1;
2470 uint64_t fpa:1;
2471 uint64_t dfa:1;
2472 uint64_t zip:1;
2473 uint64_t rint_8:1;
2474 uint64_t ipd:1;
2475 uint64_t pko:1;
2476 uint64_t tim:1;
2477 uint64_t pow:1;
2478 uint64_t reserved_13_14:2;
2479 uint64_t rint_15:1;
2480 uint64_t l2c:1;
2481 uint64_t lmc:1;
2482 uint64_t spx0:1;
2483 uint64_t spx1:1;
2484 uint64_t pip:1;
2485 uint64_t rint_21:1;
2486 uint64_t asx0:1;
2487 uint64_t asx1:1;
2488 uint64_t rint_24:1;
2489 uint64_t rint_25:1;
2490 uint64_t rint_26:1;
2491 uint64_t rint_27:1;
2492 uint64_t reserved_28_29:2;
2493 uint64_t iob:1;
2494 uint64_t rint_31:1;
2495 uint64_t reserved_32_63:32;
2496#endif
1477 } s; 2497 } s;
1478 struct cvmx_npi_rsl_int_blocks_cn30xx { 2498 struct cvmx_npi_rsl_int_blocks_cn30xx {
2499#ifdef __BIG_ENDIAN_BITFIELD
1479 uint64_t reserved_32_63:32; 2500 uint64_t reserved_32_63:32;
1480 uint64_t rint_31:1; 2501 uint64_t rint_31:1;
1481 uint64_t iob:1; 2502 uint64_t iob:1;
@@ -1509,9 +2530,45 @@ union cvmx_npi_rsl_int_blocks {
1509 uint64_t gmx1:1; 2530 uint64_t gmx1:1;
1510 uint64_t gmx0:1; 2531 uint64_t gmx0:1;
1511 uint64_t mio:1; 2532 uint64_t mio:1;
2533#else
2534 uint64_t mio:1;
2535 uint64_t gmx0:1;
2536 uint64_t gmx1:1;
2537 uint64_t npi:1;
2538 uint64_t key:1;
2539 uint64_t fpa:1;
2540 uint64_t dfa:1;
2541 uint64_t zip:1;
2542 uint64_t rint_8:1;
2543 uint64_t ipd:1;
2544 uint64_t pko:1;
2545 uint64_t tim:1;
2546 uint64_t pow:1;
2547 uint64_t usb:1;
2548 uint64_t rint_14:1;
2549 uint64_t rint_15:1;
2550 uint64_t l2c:1;
2551 uint64_t lmc:1;
2552 uint64_t spx0:1;
2553 uint64_t spx1:1;
2554 uint64_t pip:1;
2555 uint64_t rint_21:1;
2556 uint64_t asx0:1;
2557 uint64_t asx1:1;
2558 uint64_t rint_24:1;
2559 uint64_t rint_25:1;
2560 uint64_t rint_26:1;
2561 uint64_t rint_27:1;
2562 uint64_t rint_28:1;
2563 uint64_t rint_29:1;
2564 uint64_t iob:1;
2565 uint64_t rint_31:1;
2566 uint64_t reserved_32_63:32;
2567#endif
1512 } cn30xx; 2568 } cn30xx;
1513 struct cvmx_npi_rsl_int_blocks_cn30xx cn31xx; 2569 struct cvmx_npi_rsl_int_blocks_cn30xx cn31xx;
1514 struct cvmx_npi_rsl_int_blocks_cn38xx { 2570 struct cvmx_npi_rsl_int_blocks_cn38xx {
2571#ifdef __BIG_ENDIAN_BITFIELD
1515 uint64_t reserved_32_63:32; 2572 uint64_t reserved_32_63:32;
1516 uint64_t rint_31:1; 2573 uint64_t rint_31:1;
1517 uint64_t iob:1; 2574 uint64_t iob:1;
@@ -1545,9 +2602,45 @@ union cvmx_npi_rsl_int_blocks {
1545 uint64_t gmx1:1; 2602 uint64_t gmx1:1;
1546 uint64_t gmx0:1; 2603 uint64_t gmx0:1;
1547 uint64_t mio:1; 2604 uint64_t mio:1;
2605#else
2606 uint64_t mio:1;
2607 uint64_t gmx0:1;
2608 uint64_t gmx1:1;
2609 uint64_t npi:1;
2610 uint64_t key:1;
2611 uint64_t fpa:1;
2612 uint64_t dfa:1;
2613 uint64_t zip:1;
2614 uint64_t rint_8:1;
2615 uint64_t ipd:1;
2616 uint64_t pko:1;
2617 uint64_t tim:1;
2618 uint64_t pow:1;
2619 uint64_t rint_13:1;
2620 uint64_t rint_14:1;
2621 uint64_t rint_15:1;
2622 uint64_t l2c:1;
2623 uint64_t lmc:1;
2624 uint64_t spx0:1;
2625 uint64_t spx1:1;
2626 uint64_t pip:1;
2627 uint64_t rint_21:1;
2628 uint64_t asx0:1;
2629 uint64_t asx1:1;
2630 uint64_t rint_24:1;
2631 uint64_t rint_25:1;
2632 uint64_t rint_26:1;
2633 uint64_t rint_27:1;
2634 uint64_t rint_28:1;
2635 uint64_t rint_29:1;
2636 uint64_t iob:1;
2637 uint64_t rint_31:1;
2638 uint64_t reserved_32_63:32;
2639#endif
1548 } cn38xx; 2640 } cn38xx;
1549 struct cvmx_npi_rsl_int_blocks_cn38xx cn38xxp2; 2641 struct cvmx_npi_rsl_int_blocks_cn38xx cn38xxp2;
1550 struct cvmx_npi_rsl_int_blocks_cn50xx { 2642 struct cvmx_npi_rsl_int_blocks_cn50xx {
2643#ifdef __BIG_ENDIAN_BITFIELD
1551 uint64_t reserved_31_63:33; 2644 uint64_t reserved_31_63:33;
1552 uint64_t iob:1; 2645 uint64_t iob:1;
1553 uint64_t lmc1:1; 2646 uint64_t lmc1:1;
@@ -1577,6 +2670,37 @@ union cvmx_npi_rsl_int_blocks {
1577 uint64_t gmx1:1; 2670 uint64_t gmx1:1;
1578 uint64_t gmx0:1; 2671 uint64_t gmx0:1;
1579 uint64_t mio:1; 2672 uint64_t mio:1;
2673#else
2674 uint64_t mio:1;
2675 uint64_t gmx0:1;
2676 uint64_t gmx1:1;
2677 uint64_t npi:1;
2678 uint64_t key:1;
2679 uint64_t fpa:1;
2680 uint64_t dfa:1;
2681 uint64_t zip:1;
2682 uint64_t reserved_8_8:1;
2683 uint64_t ipd:1;
2684 uint64_t pko:1;
2685 uint64_t tim:1;
2686 uint64_t pow:1;
2687 uint64_t usb:1;
2688 uint64_t rad:1;
2689 uint64_t reserved_15_15:1;
2690 uint64_t l2c:1;
2691 uint64_t lmc:1;
2692 uint64_t spx0:1;
2693 uint64_t spx1:1;
2694 uint64_t pip:1;
2695 uint64_t reserved_21_21:1;
2696 uint64_t asx0:1;
2697 uint64_t asx1:1;
2698 uint64_t reserved_24_27:4;
2699 uint64_t agl:1;
2700 uint64_t lmc1:1;
2701 uint64_t iob:1;
2702 uint64_t reserved_31_63:33;
2703#endif
1580 } cn50xx; 2704 } cn50xx;
1581 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xx; 2705 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xx;
1582 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xxp1; 2706 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xxp1;
@@ -1585,8 +2709,13 @@ union cvmx_npi_rsl_int_blocks {
1585union cvmx_npi_size_inputx { 2709union cvmx_npi_size_inputx {
1586 uint64_t u64; 2710 uint64_t u64;
1587 struct cvmx_npi_size_inputx_s { 2711 struct cvmx_npi_size_inputx_s {
2712#ifdef __BIG_ENDIAN_BITFIELD
1588 uint64_t reserved_32_63:32; 2713 uint64_t reserved_32_63:32;
1589 uint64_t size:32; 2714 uint64_t size:32;
2715#else
2716 uint64_t size:32;
2717 uint64_t reserved_32_63:32;
2718#endif
1590 } s; 2719 } s;
1591 struct cvmx_npi_size_inputx_s cn30xx; 2720 struct cvmx_npi_size_inputx_s cn30xx;
1592 struct cvmx_npi_size_inputx_s cn31xx; 2721 struct cvmx_npi_size_inputx_s cn31xx;
@@ -1600,8 +2729,13 @@ union cvmx_npi_size_inputx {
1600union cvmx_npi_win_read_to { 2729union cvmx_npi_win_read_to {
1601 uint64_t u64; 2730 uint64_t u64;
1602 struct cvmx_npi_win_read_to_s { 2731 struct cvmx_npi_win_read_to_s {
2732#ifdef __BIG_ENDIAN_BITFIELD
1603 uint64_t reserved_32_63:32; 2733 uint64_t reserved_32_63:32;
1604 uint64_t time:32; 2734 uint64_t time:32;
2735#else
2736 uint64_t time:32;
2737 uint64_t reserved_32_63:32;
2738#endif
1605 } s; 2739 } s;
1606 struct cvmx_npi_win_read_to_s cn30xx; 2740 struct cvmx_npi_win_read_to_s cn30xx;
1607 struct cvmx_npi_win_read_to_s cn31xx; 2741 struct cvmx_npi_win_read_to_s cn31xx;
diff --git a/arch/mips/include/asm/octeon/cvmx-pci-defs.h b/arch/mips/include/asm/octeon/cvmx-pci-defs.h
index 6ff6d9d357ba..25d603f18298 100644
--- a/arch/mips/include/asm/octeon/cvmx-pci-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pci-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -117,11 +117,19 @@
117union cvmx_pci_bar1_indexx { 117union cvmx_pci_bar1_indexx {
118 uint32_t u32; 118 uint32_t u32;
119 struct cvmx_pci_bar1_indexx_s { 119 struct cvmx_pci_bar1_indexx_s {
120#ifdef __BIG_ENDIAN_BITFIELD
120 uint32_t reserved_18_31:14; 121 uint32_t reserved_18_31:14;
121 uint32_t addr_idx:14; 122 uint32_t addr_idx:14;
122 uint32_t ca:1; 123 uint32_t ca:1;
123 uint32_t end_swp:2; 124 uint32_t end_swp:2;
124 uint32_t addr_v:1; 125 uint32_t addr_v:1;
126#else
127 uint32_t addr_v:1;
128 uint32_t end_swp:2;
129 uint32_t ca:1;
130 uint32_t addr_idx:14;
131 uint32_t reserved_18_31:14;
132#endif
125 } s; 133 } s;
126 struct cvmx_pci_bar1_indexx_s cn30xx; 134 struct cvmx_pci_bar1_indexx_s cn30xx;
127 struct cvmx_pci_bar1_indexx_s cn31xx; 135 struct cvmx_pci_bar1_indexx_s cn31xx;
@@ -135,6 +143,7 @@ union cvmx_pci_bar1_indexx {
135union cvmx_pci_bist_reg { 143union cvmx_pci_bist_reg {
136 uint64_t u64; 144 uint64_t u64;
137 struct cvmx_pci_bist_reg_s { 145 struct cvmx_pci_bist_reg_s {
146#ifdef __BIG_ENDIAN_BITFIELD
138 uint64_t reserved_10_63:54; 147 uint64_t reserved_10_63:54;
139 uint64_t rsp_bs:1; 148 uint64_t rsp_bs:1;
140 uint64_t dma0_bs:1; 149 uint64_t dma0_bs:1;
@@ -146,6 +155,19 @@ union cvmx_pci_bist_reg {
146 uint64_t csr2n_bs:1; 155 uint64_t csr2n_bs:1;
147 uint64_t dat2n_bs:1; 156 uint64_t dat2n_bs:1;
148 uint64_t dbg2n_bs:1; 157 uint64_t dbg2n_bs:1;
158#else
159 uint64_t dbg2n_bs:1;
160 uint64_t dat2n_bs:1;
161 uint64_t csr2n_bs:1;
162 uint64_t rsp2p_bs:1;
163 uint64_t csrr_bs:1;
164 uint64_t csr2p_bs:1;
165 uint64_t cmd_bs:1;
166 uint64_t cmd0_bs:1;
167 uint64_t dma0_bs:1;
168 uint64_t rsp_bs:1;
169 uint64_t reserved_10_63:54;
170#endif
149 } s; 171 } s;
150 struct cvmx_pci_bist_reg_s cn50xx; 172 struct cvmx_pci_bist_reg_s cn50xx;
151}; 173};
@@ -153,8 +175,13 @@ union cvmx_pci_bist_reg {
153union cvmx_pci_cfg00 { 175union cvmx_pci_cfg00 {
154 uint32_t u32; 176 uint32_t u32;
155 struct cvmx_pci_cfg00_s { 177 struct cvmx_pci_cfg00_s {
178#ifdef __BIG_ENDIAN_BITFIELD
156 uint32_t devid:16; 179 uint32_t devid:16;
157 uint32_t vendid:16; 180 uint32_t vendid:16;
181#else
182 uint32_t vendid:16;
183 uint32_t devid:16;
184#endif
158 } s; 185 } s;
159 struct cvmx_pci_cfg00_s cn30xx; 186 struct cvmx_pci_cfg00_s cn30xx;
160 struct cvmx_pci_cfg00_s cn31xx; 187 struct cvmx_pci_cfg00_s cn31xx;
@@ -168,6 +195,7 @@ union cvmx_pci_cfg00 {
168union cvmx_pci_cfg01 { 195union cvmx_pci_cfg01 {
169 uint32_t u32; 196 uint32_t u32;
170 struct cvmx_pci_cfg01_s { 197 struct cvmx_pci_cfg01_s {
198#ifdef __BIG_ENDIAN_BITFIELD
171 uint32_t dpe:1; 199 uint32_t dpe:1;
172 uint32_t sse:1; 200 uint32_t sse:1;
173 uint32_t rma:1; 201 uint32_t rma:1;
@@ -192,6 +220,32 @@ union cvmx_pci_cfg01 {
192 uint32_t me:1; 220 uint32_t me:1;
193 uint32_t msae:1; 221 uint32_t msae:1;
194 uint32_t isae:1; 222 uint32_t isae:1;
223#else
224 uint32_t isae:1;
225 uint32_t msae:1;
226 uint32_t me:1;
227 uint32_t scse:1;
228 uint32_t mwice:1;
229 uint32_t vps:1;
230 uint32_t pee:1;
231 uint32_t ads:1;
232 uint32_t see:1;
233 uint32_t fbbe:1;
234 uint32_t i_dis:1;
235 uint32_t reserved_11_18:8;
236 uint32_t i_stat:1;
237 uint32_t cle:1;
238 uint32_t m66:1;
239 uint32_t reserved_22_22:1;
240 uint32_t fbb:1;
241 uint32_t mdpe:1;
242 uint32_t devt:2;
243 uint32_t sta:1;
244 uint32_t rta:1;
245 uint32_t rma:1;
246 uint32_t sse:1;
247 uint32_t dpe:1;
248#endif
195 } s; 249 } s;
196 struct cvmx_pci_cfg01_s cn30xx; 250 struct cvmx_pci_cfg01_s cn30xx;
197 struct cvmx_pci_cfg01_s cn31xx; 251 struct cvmx_pci_cfg01_s cn31xx;
@@ -205,8 +259,13 @@ union cvmx_pci_cfg01 {
205union cvmx_pci_cfg02 { 259union cvmx_pci_cfg02 {
206 uint32_t u32; 260 uint32_t u32;
207 struct cvmx_pci_cfg02_s { 261 struct cvmx_pci_cfg02_s {
262#ifdef __BIG_ENDIAN_BITFIELD
208 uint32_t cc:24; 263 uint32_t cc:24;
209 uint32_t rid:8; 264 uint32_t rid:8;
265#else
266 uint32_t rid:8;
267 uint32_t cc:24;
268#endif
210 } s; 269 } s;
211 struct cvmx_pci_cfg02_s cn30xx; 270 struct cvmx_pci_cfg02_s cn30xx;
212 struct cvmx_pci_cfg02_s cn31xx; 271 struct cvmx_pci_cfg02_s cn31xx;
@@ -220,6 +279,7 @@ union cvmx_pci_cfg02 {
220union cvmx_pci_cfg03 { 279union cvmx_pci_cfg03 {
221 uint32_t u32; 280 uint32_t u32;
222 struct cvmx_pci_cfg03_s { 281 struct cvmx_pci_cfg03_s {
282#ifdef __BIG_ENDIAN_BITFIELD
223 uint32_t bcap:1; 283 uint32_t bcap:1;
224 uint32_t brb:1; 284 uint32_t brb:1;
225 uint32_t reserved_28_29:2; 285 uint32_t reserved_28_29:2;
@@ -227,6 +287,15 @@ union cvmx_pci_cfg03 {
227 uint32_t ht:8; 287 uint32_t ht:8;
228 uint32_t lt:8; 288 uint32_t lt:8;
229 uint32_t cls:8; 289 uint32_t cls:8;
290#else
291 uint32_t cls:8;
292 uint32_t lt:8;
293 uint32_t ht:8;
294 uint32_t bcod:4;
295 uint32_t reserved_28_29:2;
296 uint32_t brb:1;
297 uint32_t bcap:1;
298#endif
230 } s; 299 } s;
231 struct cvmx_pci_cfg03_s cn30xx; 300 struct cvmx_pci_cfg03_s cn30xx;
232 struct cvmx_pci_cfg03_s cn31xx; 301 struct cvmx_pci_cfg03_s cn31xx;
@@ -240,11 +309,19 @@ union cvmx_pci_cfg03 {
240union cvmx_pci_cfg04 { 309union cvmx_pci_cfg04 {
241 uint32_t u32; 310 uint32_t u32;
242 struct cvmx_pci_cfg04_s { 311 struct cvmx_pci_cfg04_s {
312#ifdef __BIG_ENDIAN_BITFIELD
243 uint32_t lbase:20; 313 uint32_t lbase:20;
244 uint32_t lbasez:8; 314 uint32_t lbasez:8;
245 uint32_t pf:1; 315 uint32_t pf:1;
246 uint32_t typ:2; 316 uint32_t typ:2;
247 uint32_t mspc:1; 317 uint32_t mspc:1;
318#else
319 uint32_t mspc:1;
320 uint32_t typ:2;
321 uint32_t pf:1;
322 uint32_t lbasez:8;
323 uint32_t lbase:20;
324#endif
248 } s; 325 } s;
249 struct cvmx_pci_cfg04_s cn30xx; 326 struct cvmx_pci_cfg04_s cn30xx;
250 struct cvmx_pci_cfg04_s cn31xx; 327 struct cvmx_pci_cfg04_s cn31xx;
@@ -258,7 +335,11 @@ union cvmx_pci_cfg04 {
258union cvmx_pci_cfg05 { 335union cvmx_pci_cfg05 {
259 uint32_t u32; 336 uint32_t u32;
260 struct cvmx_pci_cfg05_s { 337 struct cvmx_pci_cfg05_s {
338#ifdef __BIG_ENDIAN_BITFIELD
339 uint32_t hbase:32;
340#else
261 uint32_t hbase:32; 341 uint32_t hbase:32;
342#endif
262 } s; 343 } s;
263 struct cvmx_pci_cfg05_s cn30xx; 344 struct cvmx_pci_cfg05_s cn30xx;
264 struct cvmx_pci_cfg05_s cn31xx; 345 struct cvmx_pci_cfg05_s cn31xx;
@@ -272,11 +353,19 @@ union cvmx_pci_cfg05 {
272union cvmx_pci_cfg06 { 353union cvmx_pci_cfg06 {
273 uint32_t u32; 354 uint32_t u32;
274 struct cvmx_pci_cfg06_s { 355 struct cvmx_pci_cfg06_s {
356#ifdef __BIG_ENDIAN_BITFIELD
275 uint32_t lbase:5; 357 uint32_t lbase:5;
276 uint32_t lbasez:23; 358 uint32_t lbasez:23;
277 uint32_t pf:1; 359 uint32_t pf:1;
278 uint32_t typ:2; 360 uint32_t typ:2;
279 uint32_t mspc:1; 361 uint32_t mspc:1;
362#else
363 uint32_t mspc:1;
364 uint32_t typ:2;
365 uint32_t pf:1;
366 uint32_t lbasez:23;
367 uint32_t lbase:5;
368#endif
280 } s; 369 } s;
281 struct cvmx_pci_cfg06_s cn30xx; 370 struct cvmx_pci_cfg06_s cn30xx;
282 struct cvmx_pci_cfg06_s cn31xx; 371 struct cvmx_pci_cfg06_s cn31xx;
@@ -290,7 +379,11 @@ union cvmx_pci_cfg06 {
290union cvmx_pci_cfg07 { 379union cvmx_pci_cfg07 {
291 uint32_t u32; 380 uint32_t u32;
292 struct cvmx_pci_cfg07_s { 381 struct cvmx_pci_cfg07_s {
382#ifdef __BIG_ENDIAN_BITFIELD
383 uint32_t hbase:32;
384#else
293 uint32_t hbase:32; 385 uint32_t hbase:32;
386#endif
294 } s; 387 } s;
295 struct cvmx_pci_cfg07_s cn30xx; 388 struct cvmx_pci_cfg07_s cn30xx;
296 struct cvmx_pci_cfg07_s cn31xx; 389 struct cvmx_pci_cfg07_s cn31xx;
@@ -304,10 +397,17 @@ union cvmx_pci_cfg07 {
304union cvmx_pci_cfg08 { 397union cvmx_pci_cfg08 {
305 uint32_t u32; 398 uint32_t u32;
306 struct cvmx_pci_cfg08_s { 399 struct cvmx_pci_cfg08_s {
400#ifdef __BIG_ENDIAN_BITFIELD
307 uint32_t lbasez:28; 401 uint32_t lbasez:28;
308 uint32_t pf:1; 402 uint32_t pf:1;
309 uint32_t typ:2; 403 uint32_t typ:2;
310 uint32_t mspc:1; 404 uint32_t mspc:1;
405#else
406 uint32_t mspc:1;
407 uint32_t typ:2;
408 uint32_t pf:1;
409 uint32_t lbasez:28;
410#endif
311 } s; 411 } s;
312 struct cvmx_pci_cfg08_s cn30xx; 412 struct cvmx_pci_cfg08_s cn30xx;
313 struct cvmx_pci_cfg08_s cn31xx; 413 struct cvmx_pci_cfg08_s cn31xx;
@@ -321,8 +421,13 @@ union cvmx_pci_cfg08 {
321union cvmx_pci_cfg09 { 421union cvmx_pci_cfg09 {
322 uint32_t u32; 422 uint32_t u32;
323 struct cvmx_pci_cfg09_s { 423 struct cvmx_pci_cfg09_s {
424#ifdef __BIG_ENDIAN_BITFIELD
324 uint32_t hbase:25; 425 uint32_t hbase:25;
325 uint32_t hbasez:7; 426 uint32_t hbasez:7;
427#else
428 uint32_t hbasez:7;
429 uint32_t hbase:25;
430#endif
326 } s; 431 } s;
327 struct cvmx_pci_cfg09_s cn30xx; 432 struct cvmx_pci_cfg09_s cn30xx;
328 struct cvmx_pci_cfg09_s cn31xx; 433 struct cvmx_pci_cfg09_s cn31xx;
@@ -336,7 +441,11 @@ union cvmx_pci_cfg09 {
336union cvmx_pci_cfg10 { 441union cvmx_pci_cfg10 {
337 uint32_t u32; 442 uint32_t u32;
338 struct cvmx_pci_cfg10_s { 443 struct cvmx_pci_cfg10_s {
444#ifdef __BIG_ENDIAN_BITFIELD
445 uint32_t cisp:32;
446#else
339 uint32_t cisp:32; 447 uint32_t cisp:32;
448#endif
340 } s; 449 } s;
341 struct cvmx_pci_cfg10_s cn30xx; 450 struct cvmx_pci_cfg10_s cn30xx;
342 struct cvmx_pci_cfg10_s cn31xx; 451 struct cvmx_pci_cfg10_s cn31xx;
@@ -350,8 +459,13 @@ union cvmx_pci_cfg10 {
350union cvmx_pci_cfg11 { 459union cvmx_pci_cfg11 {
351 uint32_t u32; 460 uint32_t u32;
352 struct cvmx_pci_cfg11_s { 461 struct cvmx_pci_cfg11_s {
462#ifdef __BIG_ENDIAN_BITFIELD
353 uint32_t ssid:16; 463 uint32_t ssid:16;
354 uint32_t ssvid:16; 464 uint32_t ssvid:16;
465#else
466 uint32_t ssvid:16;
467 uint32_t ssid:16;
468#endif
355 } s; 469 } s;
356 struct cvmx_pci_cfg11_s cn30xx; 470 struct cvmx_pci_cfg11_s cn30xx;
357 struct cvmx_pci_cfg11_s cn31xx; 471 struct cvmx_pci_cfg11_s cn31xx;
@@ -365,10 +479,17 @@ union cvmx_pci_cfg11 {
365union cvmx_pci_cfg12 { 479union cvmx_pci_cfg12 {
366 uint32_t u32; 480 uint32_t u32;
367 struct cvmx_pci_cfg12_s { 481 struct cvmx_pci_cfg12_s {
482#ifdef __BIG_ENDIAN_BITFIELD
368 uint32_t erbar:16; 483 uint32_t erbar:16;
369 uint32_t erbarz:5; 484 uint32_t erbarz:5;
370 uint32_t reserved_1_10:10; 485 uint32_t reserved_1_10:10;
371 uint32_t erbar_en:1; 486 uint32_t erbar_en:1;
487#else
488 uint32_t erbar_en:1;
489 uint32_t reserved_1_10:10;
490 uint32_t erbarz:5;
491 uint32_t erbar:16;
492#endif
372 } s; 493 } s;
373 struct cvmx_pci_cfg12_s cn30xx; 494 struct cvmx_pci_cfg12_s cn30xx;
374 struct cvmx_pci_cfg12_s cn31xx; 495 struct cvmx_pci_cfg12_s cn31xx;
@@ -382,8 +503,13 @@ union cvmx_pci_cfg12 {
382union cvmx_pci_cfg13 { 503union cvmx_pci_cfg13 {
383 uint32_t u32; 504 uint32_t u32;
384 struct cvmx_pci_cfg13_s { 505 struct cvmx_pci_cfg13_s {
506#ifdef __BIG_ENDIAN_BITFIELD
385 uint32_t reserved_8_31:24; 507 uint32_t reserved_8_31:24;
386 uint32_t cp:8; 508 uint32_t cp:8;
509#else
510 uint32_t cp:8;
511 uint32_t reserved_8_31:24;
512#endif
387 } s; 513 } s;
388 struct cvmx_pci_cfg13_s cn30xx; 514 struct cvmx_pci_cfg13_s cn30xx;
389 struct cvmx_pci_cfg13_s cn31xx; 515 struct cvmx_pci_cfg13_s cn31xx;
@@ -397,10 +523,17 @@ union cvmx_pci_cfg13 {
397union cvmx_pci_cfg15 { 523union cvmx_pci_cfg15 {
398 uint32_t u32; 524 uint32_t u32;
399 struct cvmx_pci_cfg15_s { 525 struct cvmx_pci_cfg15_s {
526#ifdef __BIG_ENDIAN_BITFIELD
400 uint32_t ml:8; 527 uint32_t ml:8;
401 uint32_t mg:8; 528 uint32_t mg:8;
402 uint32_t inta:8; 529 uint32_t inta:8;
403 uint32_t il:8; 530 uint32_t il:8;
531#else
532 uint32_t il:8;
533 uint32_t inta:8;
534 uint32_t mg:8;
535 uint32_t ml:8;
536#endif
404 } s; 537 } s;
405 struct cvmx_pci_cfg15_s cn30xx; 538 struct cvmx_pci_cfg15_s cn30xx;
406 struct cvmx_pci_cfg15_s cn31xx; 539 struct cvmx_pci_cfg15_s cn31xx;
@@ -414,6 +547,7 @@ union cvmx_pci_cfg15 {
414union cvmx_pci_cfg16 { 547union cvmx_pci_cfg16 {
415 uint32_t u32; 548 uint32_t u32;
416 struct cvmx_pci_cfg16_s { 549 struct cvmx_pci_cfg16_s {
550#ifdef __BIG_ENDIAN_BITFIELD
417 uint32_t trdnpr:1; 551 uint32_t trdnpr:1;
418 uint32_t trdard:1; 552 uint32_t trdard:1;
419 uint32_t rdsati:1; 553 uint32_t rdsati:1;
@@ -430,6 +564,24 @@ union cvmx_pci_cfg16 {
430 uint32_t reserved_2_2:1; 564 uint32_t reserved_2_2:1;
431 uint32_t tswc:1; 565 uint32_t tswc:1;
432 uint32_t mltd:1; 566 uint32_t mltd:1;
567#else
568 uint32_t mltd:1;
569 uint32_t tswc:1;
570 uint32_t reserved_2_2:1;
571 uint32_t dppmr:1;
572 uint32_t pbe:12;
573 uint32_t tilt:4;
574 uint32_t tslte:3;
575 uint32_t tmae:1;
576 uint32_t twtae:1;
577 uint32_t twsen:1;
578 uint32_t twsei:1;
579 uint32_t trtae:1;
580 uint32_t trdrs:1;
581 uint32_t rdsati:1;
582 uint32_t trdard:1;
583 uint32_t trdnpr:1;
584#endif
433 } s; 585 } s;
434 struct cvmx_pci_cfg16_s cn30xx; 586 struct cvmx_pci_cfg16_s cn30xx;
435 struct cvmx_pci_cfg16_s cn31xx; 587 struct cvmx_pci_cfg16_s cn31xx;
@@ -443,7 +595,11 @@ union cvmx_pci_cfg16 {
443union cvmx_pci_cfg17 { 595union cvmx_pci_cfg17 {
444 uint32_t u32; 596 uint32_t u32;
445 struct cvmx_pci_cfg17_s { 597 struct cvmx_pci_cfg17_s {
598#ifdef __BIG_ENDIAN_BITFIELD
446 uint32_t tscme:32; 599 uint32_t tscme:32;
600#else
601 uint32_t tscme:32;
602#endif
447 } s; 603 } s;
448 struct cvmx_pci_cfg17_s cn30xx; 604 struct cvmx_pci_cfg17_s cn30xx;
449 struct cvmx_pci_cfg17_s cn31xx; 605 struct cvmx_pci_cfg17_s cn31xx;
@@ -457,7 +613,11 @@ union cvmx_pci_cfg17 {
457union cvmx_pci_cfg18 { 613union cvmx_pci_cfg18 {
458 uint32_t u32; 614 uint32_t u32;
459 struct cvmx_pci_cfg18_s { 615 struct cvmx_pci_cfg18_s {
616#ifdef __BIG_ENDIAN_BITFIELD
617 uint32_t tdsrps:32;
618#else
460 uint32_t tdsrps:32; 619 uint32_t tdsrps:32;
620#endif
461 } s; 621 } s;
462 struct cvmx_pci_cfg18_s cn30xx; 622 struct cvmx_pci_cfg18_s cn30xx;
463 struct cvmx_pci_cfg18_s cn31xx; 623 struct cvmx_pci_cfg18_s cn31xx;
@@ -471,6 +631,7 @@ union cvmx_pci_cfg18 {
471union cvmx_pci_cfg19 { 631union cvmx_pci_cfg19 {
472 uint32_t u32; 632 uint32_t u32;
473 struct cvmx_pci_cfg19_s { 633 struct cvmx_pci_cfg19_s {
634#ifdef __BIG_ENDIAN_BITFIELD
474 uint32_t mrbcm:1; 635 uint32_t mrbcm:1;
475 uint32_t mrbci:1; 636 uint32_t mrbci:1;
476 uint32_t mdwe:1; 637 uint32_t mdwe:1;
@@ -489,6 +650,26 @@ union cvmx_pci_cfg19 {
489 uint32_t reserved_6_6:1; 650 uint32_t reserved_6_6:1;
490 uint32_t tidomc:1; 651 uint32_t tidomc:1;
491 uint32_t tdomc:5; 652 uint32_t tdomc:5;
653#else
654 uint32_t tdomc:5;
655 uint32_t tidomc:1;
656 uint32_t reserved_6_6:1;
657 uint32_t tibde:1;
658 uint32_t tibcd:1;
659 uint32_t reserved_9_10:2;
660 uint32_t tmapes:1;
661 uint32_t tmdpes:1;
662 uint32_t tmse:1;
663 uint32_t tmei:1;
664 uint32_t teci:1;
665 uint32_t tmes:8;
666 uint32_t mdrrmc:3;
667 uint32_t mdrimc:1;
668 uint32_t mdre:1;
669 uint32_t mdwe:1;
670 uint32_t mrbci:1;
671 uint32_t mrbcm:1;
672#endif
492 } s; 673 } s;
493 struct cvmx_pci_cfg19_s cn30xx; 674 struct cvmx_pci_cfg19_s cn30xx;
494 struct cvmx_pci_cfg19_s cn31xx; 675 struct cvmx_pci_cfg19_s cn31xx;
@@ -502,7 +683,11 @@ union cvmx_pci_cfg19 {
502union cvmx_pci_cfg20 { 683union cvmx_pci_cfg20 {
503 uint32_t u32; 684 uint32_t u32;
504 struct cvmx_pci_cfg20_s { 685 struct cvmx_pci_cfg20_s {
686#ifdef __BIG_ENDIAN_BITFIELD
505 uint32_t mdsp:32; 687 uint32_t mdsp:32;
688#else
689 uint32_t mdsp:32;
690#endif
506 } s; 691 } s;
507 struct cvmx_pci_cfg20_s cn30xx; 692 struct cvmx_pci_cfg20_s cn30xx;
508 struct cvmx_pci_cfg20_s cn31xx; 693 struct cvmx_pci_cfg20_s cn31xx;
@@ -516,7 +701,11 @@ union cvmx_pci_cfg20 {
516union cvmx_pci_cfg21 { 701union cvmx_pci_cfg21 {
517 uint32_t u32; 702 uint32_t u32;
518 struct cvmx_pci_cfg21_s { 703 struct cvmx_pci_cfg21_s {
704#ifdef __BIG_ENDIAN_BITFIELD
705 uint32_t scmre:32;
706#else
519 uint32_t scmre:32; 707 uint32_t scmre:32;
708#endif
520 } s; 709 } s;
521 struct cvmx_pci_cfg21_s cn30xx; 710 struct cvmx_pci_cfg21_s cn30xx;
522 struct cvmx_pci_cfg21_s cn31xx; 711 struct cvmx_pci_cfg21_s cn31xx;
@@ -530,6 +719,7 @@ union cvmx_pci_cfg21 {
530union cvmx_pci_cfg22 { 719union cvmx_pci_cfg22 {
531 uint32_t u32; 720 uint32_t u32;
532 struct cvmx_pci_cfg22_s { 721 struct cvmx_pci_cfg22_s {
722#ifdef __BIG_ENDIAN_BITFIELD
533 uint32_t mac:7; 723 uint32_t mac:7;
534 uint32_t reserved_19_24:6; 724 uint32_t reserved_19_24:6;
535 uint32_t flush:1; 725 uint32_t flush:1;
@@ -537,6 +727,15 @@ union cvmx_pci_cfg22 {
537 uint32_t mtta:1; 727 uint32_t mtta:1;
538 uint32_t mrv:8; 728 uint32_t mrv:8;
539 uint32_t mttv:8; 729 uint32_t mttv:8;
730#else
731 uint32_t mttv:8;
732 uint32_t mrv:8;
733 uint32_t mtta:1;
734 uint32_t mra:1;
735 uint32_t flush:1;
736 uint32_t reserved_19_24:6;
737 uint32_t mac:7;
738#endif
540 } s; 739 } s;
541 struct cvmx_pci_cfg22_s cn30xx; 740 struct cvmx_pci_cfg22_s cn30xx;
542 struct cvmx_pci_cfg22_s cn31xx; 741 struct cvmx_pci_cfg22_s cn31xx;
@@ -550,6 +749,7 @@ union cvmx_pci_cfg22 {
550union cvmx_pci_cfg56 { 749union cvmx_pci_cfg56 {
551 uint32_t u32; 750 uint32_t u32;
552 struct cvmx_pci_cfg56_s { 751 struct cvmx_pci_cfg56_s {
752#ifdef __BIG_ENDIAN_BITFIELD
553 uint32_t reserved_23_31:9; 753 uint32_t reserved_23_31:9;
554 uint32_t most:3; 754 uint32_t most:3;
555 uint32_t mmbc:2; 755 uint32_t mmbc:2;
@@ -557,6 +757,15 @@ union cvmx_pci_cfg56 {
557 uint32_t dpere:1; 757 uint32_t dpere:1;
558 uint32_t ncp:8; 758 uint32_t ncp:8;
559 uint32_t pxcid:8; 759 uint32_t pxcid:8;
760#else
761 uint32_t pxcid:8;
762 uint32_t ncp:8;
763 uint32_t dpere:1;
764 uint32_t roe:1;
765 uint32_t mmbc:2;
766 uint32_t most:3;
767 uint32_t reserved_23_31:9;
768#endif
560 } s; 769 } s;
561 struct cvmx_pci_cfg56_s cn30xx; 770 struct cvmx_pci_cfg56_s cn30xx;
562 struct cvmx_pci_cfg56_s cn31xx; 771 struct cvmx_pci_cfg56_s cn31xx;
@@ -570,6 +779,7 @@ union cvmx_pci_cfg56 {
570union cvmx_pci_cfg57 { 779union cvmx_pci_cfg57 {
571 uint32_t u32; 780 uint32_t u32;
572 struct cvmx_pci_cfg57_s { 781 struct cvmx_pci_cfg57_s {
782#ifdef __BIG_ENDIAN_BITFIELD
573 uint32_t reserved_30_31:2; 783 uint32_t reserved_30_31:2;
574 uint32_t scemr:1; 784 uint32_t scemr:1;
575 uint32_t mcrsd:3; 785 uint32_t mcrsd:3;
@@ -583,6 +793,21 @@ union cvmx_pci_cfg57 {
583 uint32_t bn:8; 793 uint32_t bn:8;
584 uint32_t dn:5; 794 uint32_t dn:5;
585 uint32_t fn:3; 795 uint32_t fn:3;
796#else
797 uint32_t fn:3;
798 uint32_t dn:5;
799 uint32_t bn:8;
800 uint32_t w64:1;
801 uint32_t m133:1;
802 uint32_t scd:1;
803 uint32_t usc:1;
804 uint32_t dc:1;
805 uint32_t mmrbcd:2;
806 uint32_t mostd:3;
807 uint32_t mcrsd:3;
808 uint32_t scemr:1;
809 uint32_t reserved_30_31:2;
810#endif
586 } s; 811 } s;
587 struct cvmx_pci_cfg57_s cn30xx; 812 struct cvmx_pci_cfg57_s cn30xx;
588 struct cvmx_pci_cfg57_s cn31xx; 813 struct cvmx_pci_cfg57_s cn31xx;
@@ -596,6 +821,7 @@ union cvmx_pci_cfg57 {
596union cvmx_pci_cfg58 { 821union cvmx_pci_cfg58 {
597 uint32_t u32; 822 uint32_t u32;
598 struct cvmx_pci_cfg58_s { 823 struct cvmx_pci_cfg58_s {
824#ifdef __BIG_ENDIAN_BITFIELD
599 uint32_t pmes:5; 825 uint32_t pmes:5;
600 uint32_t d2s:1; 826 uint32_t d2s:1;
601 uint32_t d1s:1; 827 uint32_t d1s:1;
@@ -606,6 +832,18 @@ union cvmx_pci_cfg58 {
606 uint32_t pcimiv:3; 832 uint32_t pcimiv:3;
607 uint32_t ncp:8; 833 uint32_t ncp:8;
608 uint32_t pmcid:8; 834 uint32_t pmcid:8;
835#else
836 uint32_t pmcid:8;
837 uint32_t ncp:8;
838 uint32_t pcimiv:3;
839 uint32_t pmec:1;
840 uint32_t reserved_20_20:1;
841 uint32_t dsi:1;
842 uint32_t auxc:3;
843 uint32_t d1s:1;
844 uint32_t d2s:1;
845 uint32_t pmes:5;
846#endif
609 } s; 847 } s;
610 struct cvmx_pci_cfg58_s cn30xx; 848 struct cvmx_pci_cfg58_s cn30xx;
611 struct cvmx_pci_cfg58_s cn31xx; 849 struct cvmx_pci_cfg58_s cn31xx;
@@ -619,6 +857,7 @@ union cvmx_pci_cfg58 {
619union cvmx_pci_cfg59 { 857union cvmx_pci_cfg59 {
620 uint32_t u32; 858 uint32_t u32;
621 struct cvmx_pci_cfg59_s { 859 struct cvmx_pci_cfg59_s {
860#ifdef __BIG_ENDIAN_BITFIELD
622 uint32_t pmdia:8; 861 uint32_t pmdia:8;
623 uint32_t bpccen:1; 862 uint32_t bpccen:1;
624 uint32_t bd3h:1; 863 uint32_t bd3h:1;
@@ -629,6 +868,18 @@ union cvmx_pci_cfg59 {
629 uint32_t pmeens:1; 868 uint32_t pmeens:1;
630 uint32_t reserved_2_7:6; 869 uint32_t reserved_2_7:6;
631 uint32_t ps:2; 870 uint32_t ps:2;
871#else
872 uint32_t ps:2;
873 uint32_t reserved_2_7:6;
874 uint32_t pmeens:1;
875 uint32_t pmds:4;
876 uint32_t pmedsia:2;
877 uint32_t pmess:1;
878 uint32_t reserved_16_21:6;
879 uint32_t bd3h:1;
880 uint32_t bpccen:1;
881 uint32_t pmdia:8;
882#endif
632 } s; 883 } s;
633 struct cvmx_pci_cfg59_s cn30xx; 884 struct cvmx_pci_cfg59_s cn30xx;
634 struct cvmx_pci_cfg59_s cn31xx; 885 struct cvmx_pci_cfg59_s cn31xx;
@@ -642,6 +893,7 @@ union cvmx_pci_cfg59 {
642union cvmx_pci_cfg60 { 893union cvmx_pci_cfg60 {
643 uint32_t u32; 894 uint32_t u32;
644 struct cvmx_pci_cfg60_s { 895 struct cvmx_pci_cfg60_s {
896#ifdef __BIG_ENDIAN_BITFIELD
645 uint32_t reserved_24_31:8; 897 uint32_t reserved_24_31:8;
646 uint32_t m64:1; 898 uint32_t m64:1;
647 uint32_t mme:3; 899 uint32_t mme:3;
@@ -649,6 +901,15 @@ union cvmx_pci_cfg60 {
649 uint32_t msien:1; 901 uint32_t msien:1;
650 uint32_t ncp:8; 902 uint32_t ncp:8;
651 uint32_t msicid:8; 903 uint32_t msicid:8;
904#else
905 uint32_t msicid:8;
906 uint32_t ncp:8;
907 uint32_t msien:1;
908 uint32_t mmc:3;
909 uint32_t mme:3;
910 uint32_t m64:1;
911 uint32_t reserved_24_31:8;
912#endif
652 } s; 913 } s;
653 struct cvmx_pci_cfg60_s cn30xx; 914 struct cvmx_pci_cfg60_s cn30xx;
654 struct cvmx_pci_cfg60_s cn31xx; 915 struct cvmx_pci_cfg60_s cn31xx;
@@ -662,8 +923,13 @@ union cvmx_pci_cfg60 {
662union cvmx_pci_cfg61 { 923union cvmx_pci_cfg61 {
663 uint32_t u32; 924 uint32_t u32;
664 struct cvmx_pci_cfg61_s { 925 struct cvmx_pci_cfg61_s {
926#ifdef __BIG_ENDIAN_BITFIELD
665 uint32_t msi31t2:30; 927 uint32_t msi31t2:30;
666 uint32_t reserved_0_1:2; 928 uint32_t reserved_0_1:2;
929#else
930 uint32_t reserved_0_1:2;
931 uint32_t msi31t2:30;
932#endif
667 } s; 933 } s;
668 struct cvmx_pci_cfg61_s cn30xx; 934 struct cvmx_pci_cfg61_s cn30xx;
669 struct cvmx_pci_cfg61_s cn31xx; 935 struct cvmx_pci_cfg61_s cn31xx;
@@ -677,7 +943,11 @@ union cvmx_pci_cfg61 {
677union cvmx_pci_cfg62 { 943union cvmx_pci_cfg62 {
678 uint32_t u32; 944 uint32_t u32;
679 struct cvmx_pci_cfg62_s { 945 struct cvmx_pci_cfg62_s {
946#ifdef __BIG_ENDIAN_BITFIELD
680 uint32_t msi:32; 947 uint32_t msi:32;
948#else
949 uint32_t msi:32;
950#endif
681 } s; 951 } s;
682 struct cvmx_pci_cfg62_s cn30xx; 952 struct cvmx_pci_cfg62_s cn30xx;
683 struct cvmx_pci_cfg62_s cn31xx; 953 struct cvmx_pci_cfg62_s cn31xx;
@@ -691,8 +961,13 @@ union cvmx_pci_cfg62 {
691union cvmx_pci_cfg63 { 961union cvmx_pci_cfg63 {
692 uint32_t u32; 962 uint32_t u32;
693 struct cvmx_pci_cfg63_s { 963 struct cvmx_pci_cfg63_s {
964#ifdef __BIG_ENDIAN_BITFIELD
694 uint32_t reserved_16_31:16; 965 uint32_t reserved_16_31:16;
695 uint32_t msimd:16; 966 uint32_t msimd:16;
967#else
968 uint32_t msimd:16;
969 uint32_t reserved_16_31:16;
970#endif
696 } s; 971 } s;
697 struct cvmx_pci_cfg63_s cn30xx; 972 struct cvmx_pci_cfg63_s cn30xx;
698 struct cvmx_pci_cfg63_s cn31xx; 973 struct cvmx_pci_cfg63_s cn31xx;
@@ -706,12 +981,21 @@ union cvmx_pci_cfg63 {
706union cvmx_pci_cnt_reg { 981union cvmx_pci_cnt_reg {
707 uint64_t u64; 982 uint64_t u64;
708 struct cvmx_pci_cnt_reg_s { 983 struct cvmx_pci_cnt_reg_s {
984#ifdef __BIG_ENDIAN_BITFIELD
709 uint64_t reserved_38_63:26; 985 uint64_t reserved_38_63:26;
710 uint64_t hm_pcix:1; 986 uint64_t hm_pcix:1;
711 uint64_t hm_speed:2; 987 uint64_t hm_speed:2;
712 uint64_t ap_pcix:1; 988 uint64_t ap_pcix:1;
713 uint64_t ap_speed:2; 989 uint64_t ap_speed:2;
714 uint64_t pcicnt:32; 990 uint64_t pcicnt:32;
991#else
992 uint64_t pcicnt:32;
993 uint64_t ap_speed:2;
994 uint64_t ap_pcix:1;
995 uint64_t hm_speed:2;
996 uint64_t hm_pcix:1;
997 uint64_t reserved_38_63:26;
998#endif
715 } s; 999 } s;
716 struct cvmx_pci_cnt_reg_s cn50xx; 1000 struct cvmx_pci_cnt_reg_s cn50xx;
717 struct cvmx_pci_cnt_reg_s cn58xx; 1001 struct cvmx_pci_cnt_reg_s cn58xx;
@@ -721,6 +1005,7 @@ union cvmx_pci_cnt_reg {
721union cvmx_pci_ctl_status_2 { 1005union cvmx_pci_ctl_status_2 {
722 uint32_t u32; 1006 uint32_t u32;
723 struct cvmx_pci_ctl_status_2_s { 1007 struct cvmx_pci_ctl_status_2_s {
1008#ifdef __BIG_ENDIAN_BITFIELD
724 uint32_t reserved_29_31:3; 1009 uint32_t reserved_29_31:3;
725 uint32_t bb1_hole:3; 1010 uint32_t bb1_hole:3;
726 uint32_t bb1_siz:1; 1011 uint32_t bb1_siz:1;
@@ -743,9 +1028,34 @@ union cvmx_pci_ctl_status_2 {
743 uint32_t bar2_enb:1; 1028 uint32_t bar2_enb:1;
744 uint32_t bar2_esx:2; 1029 uint32_t bar2_esx:2;
745 uint32_t bar2_cax:1; 1030 uint32_t bar2_cax:1;
1031#else
1032 uint32_t bar2_cax:1;
1033 uint32_t bar2_esx:2;
1034 uint32_t bar2_enb:1;
1035 uint32_t tsr_hwm:3;
1036 uint32_t pmo_fpc:3;
1037 uint32_t pmo_amod:1;
1038 uint32_t b12_bist:1;
1039 uint32_t ap_64ad:1;
1040 uint32_t ap_pcix:1;
1041 uint32_t reserved_14_14:1;
1042 uint32_t en_wfilt:1;
1043 uint32_t scm:1;
1044 uint32_t scmtyp:1;
1045 uint32_t bar2pres:1;
1046 uint32_t erst_n:1;
1047 uint32_t bb0:1;
1048 uint32_t bb1:1;
1049 uint32_t bb_es:2;
1050 uint32_t bb_ca:1;
1051 uint32_t bb1_siz:1;
1052 uint32_t bb1_hole:3;
1053 uint32_t reserved_29_31:3;
1054#endif
746 } s; 1055 } s;
747 struct cvmx_pci_ctl_status_2_s cn30xx; 1056 struct cvmx_pci_ctl_status_2_s cn30xx;
748 struct cvmx_pci_ctl_status_2_cn31xx { 1057 struct cvmx_pci_ctl_status_2_cn31xx {
1058#ifdef __BIG_ENDIAN_BITFIELD
749 uint32_t reserved_20_31:12; 1059 uint32_t reserved_20_31:12;
750 uint32_t erst_n:1; 1060 uint32_t erst_n:1;
751 uint32_t bar2pres:1; 1061 uint32_t bar2pres:1;
@@ -762,6 +1072,24 @@ union cvmx_pci_ctl_status_2 {
762 uint32_t bar2_enb:1; 1072 uint32_t bar2_enb:1;
763 uint32_t bar2_esx:2; 1073 uint32_t bar2_esx:2;
764 uint32_t bar2_cax:1; 1074 uint32_t bar2_cax:1;
1075#else
1076 uint32_t bar2_cax:1;
1077 uint32_t bar2_esx:2;
1078 uint32_t bar2_enb:1;
1079 uint32_t tsr_hwm:3;
1080 uint32_t pmo_fpc:3;
1081 uint32_t pmo_amod:1;
1082 uint32_t b12_bist:1;
1083 uint32_t ap_64ad:1;
1084 uint32_t ap_pcix:1;
1085 uint32_t reserved_14_14:1;
1086 uint32_t en_wfilt:1;
1087 uint32_t scm:1;
1088 uint32_t scmtyp:1;
1089 uint32_t bar2pres:1;
1090 uint32_t erst_n:1;
1091 uint32_t reserved_20_31:12;
1092#endif
765 } cn31xx; 1093 } cn31xx;
766 struct cvmx_pci_ctl_status_2_s cn38xx; 1094 struct cvmx_pci_ctl_status_2_s cn38xx;
767 struct cvmx_pci_ctl_status_2_cn31xx cn38xxp2; 1095 struct cvmx_pci_ctl_status_2_cn31xx cn38xxp2;
@@ -773,8 +1101,13 @@ union cvmx_pci_ctl_status_2 {
773union cvmx_pci_dbellx { 1101union cvmx_pci_dbellx {
774 uint32_t u32; 1102 uint32_t u32;
775 struct cvmx_pci_dbellx_s { 1103 struct cvmx_pci_dbellx_s {
1104#ifdef __BIG_ENDIAN_BITFIELD
776 uint32_t reserved_16_31:16; 1105 uint32_t reserved_16_31:16;
777 uint32_t inc_val:16; 1106 uint32_t inc_val:16;
1107#else
1108 uint32_t inc_val:16;
1109 uint32_t reserved_16_31:16;
1110#endif
778 } s; 1111 } s;
779 struct cvmx_pci_dbellx_s cn30xx; 1112 struct cvmx_pci_dbellx_s cn30xx;
780 struct cvmx_pci_dbellx_s cn31xx; 1113 struct cvmx_pci_dbellx_s cn31xx;
@@ -788,7 +1121,11 @@ union cvmx_pci_dbellx {
788union cvmx_pci_dma_cntx { 1121union cvmx_pci_dma_cntx {
789 uint32_t u32; 1122 uint32_t u32;
790 struct cvmx_pci_dma_cntx_s { 1123 struct cvmx_pci_dma_cntx_s {
1124#ifdef __BIG_ENDIAN_BITFIELD
1125 uint32_t dma_cnt:32;
1126#else
791 uint32_t dma_cnt:32; 1127 uint32_t dma_cnt:32;
1128#endif
792 } s; 1129 } s;
793 struct cvmx_pci_dma_cntx_s cn30xx; 1130 struct cvmx_pci_dma_cntx_s cn30xx;
794 struct cvmx_pci_dma_cntx_s cn31xx; 1131 struct cvmx_pci_dma_cntx_s cn31xx;
@@ -802,7 +1139,11 @@ union cvmx_pci_dma_cntx {
802union cvmx_pci_dma_int_levx { 1139union cvmx_pci_dma_int_levx {
803 uint32_t u32; 1140 uint32_t u32;
804 struct cvmx_pci_dma_int_levx_s { 1141 struct cvmx_pci_dma_int_levx_s {
1142#ifdef __BIG_ENDIAN_BITFIELD
805 uint32_t pkt_cnt:32; 1143 uint32_t pkt_cnt:32;
1144#else
1145 uint32_t pkt_cnt:32;
1146#endif
806 } s; 1147 } s;
807 struct cvmx_pci_dma_int_levx_s cn30xx; 1148 struct cvmx_pci_dma_int_levx_s cn30xx;
808 struct cvmx_pci_dma_int_levx_s cn31xx; 1149 struct cvmx_pci_dma_int_levx_s cn31xx;
@@ -816,7 +1157,11 @@ union cvmx_pci_dma_int_levx {
816union cvmx_pci_dma_timex { 1157union cvmx_pci_dma_timex {
817 uint32_t u32; 1158 uint32_t u32;
818 struct cvmx_pci_dma_timex_s { 1159 struct cvmx_pci_dma_timex_s {
1160#ifdef __BIG_ENDIAN_BITFIELD
1161 uint32_t dma_time:32;
1162#else
819 uint32_t dma_time:32; 1163 uint32_t dma_time:32;
1164#endif
820 } s; 1165 } s;
821 struct cvmx_pci_dma_timex_s cn30xx; 1166 struct cvmx_pci_dma_timex_s cn30xx;
822 struct cvmx_pci_dma_timex_s cn31xx; 1167 struct cvmx_pci_dma_timex_s cn31xx;
@@ -830,7 +1175,11 @@ union cvmx_pci_dma_timex {
830union cvmx_pci_instr_countx { 1175union cvmx_pci_instr_countx {
831 uint32_t u32; 1176 uint32_t u32;
832 struct cvmx_pci_instr_countx_s { 1177 struct cvmx_pci_instr_countx_s {
1178#ifdef __BIG_ENDIAN_BITFIELD
1179 uint32_t icnt:32;
1180#else
833 uint32_t icnt:32; 1181 uint32_t icnt:32;
1182#endif
834 } s; 1183 } s;
835 struct cvmx_pci_instr_countx_s cn30xx; 1184 struct cvmx_pci_instr_countx_s cn30xx;
836 struct cvmx_pci_instr_countx_s cn31xx; 1185 struct cvmx_pci_instr_countx_s cn31xx;
@@ -844,6 +1193,7 @@ union cvmx_pci_instr_countx {
844union cvmx_pci_int_enb { 1193union cvmx_pci_int_enb {
845 uint64_t u64; 1194 uint64_t u64;
846 struct cvmx_pci_int_enb_s { 1195 struct cvmx_pci_int_enb_s {
1196#ifdef __BIG_ENDIAN_BITFIELD
847 uint64_t reserved_34_63:30; 1197 uint64_t reserved_34_63:30;
848 uint64_t ill_rd:1; 1198 uint64_t ill_rd:1;
849 uint64_t ill_wr:1; 1199 uint64_t ill_wr:1;
@@ -879,8 +1229,46 @@ union cvmx_pci_int_enb {
879 uint64_t imr_wtto:1; 1229 uint64_t imr_wtto:1;
880 uint64_t imr_wabt:1; 1230 uint64_t imr_wabt:1;
881 uint64_t itr_wabt:1; 1231 uint64_t itr_wabt:1;
1232#else
1233 uint64_t itr_wabt:1;
1234 uint64_t imr_wabt:1;
1235 uint64_t imr_wtto:1;
1236 uint64_t itr_abt:1;
1237 uint64_t imr_abt:1;
1238 uint64_t imr_tto:1;
1239 uint64_t imsi_per:1;
1240 uint64_t imsi_tabt:1;
1241 uint64_t imsi_mabt:1;
1242 uint64_t imsc_msg:1;
1243 uint64_t itsr_abt:1;
1244 uint64_t iserr:1;
1245 uint64_t iaperr:1;
1246 uint64_t idperr:1;
1247 uint64_t ill_rwr:1;
1248 uint64_t ill_rrd:1;
1249 uint64_t irsl_int:1;
1250 uint64_t ipcnt0:1;
1251 uint64_t ipcnt1:1;
1252 uint64_t ipcnt2:1;
1253 uint64_t ipcnt3:1;
1254 uint64_t iptime0:1;
1255 uint64_t iptime1:1;
1256 uint64_t iptime2:1;
1257 uint64_t iptime3:1;
1258 uint64_t idcnt0:1;
1259 uint64_t idcnt1:1;
1260 uint64_t idtime0:1;
1261 uint64_t idtime1:1;
1262 uint64_t dma0_fi:1;
1263 uint64_t dma1_fi:1;
1264 uint64_t win_wr:1;
1265 uint64_t ill_wr:1;
1266 uint64_t ill_rd:1;
1267 uint64_t reserved_34_63:30;
1268#endif
882 } s; 1269 } s;
883 struct cvmx_pci_int_enb_cn30xx { 1270 struct cvmx_pci_int_enb_cn30xx {
1271#ifdef __BIG_ENDIAN_BITFIELD
884 uint64_t reserved_34_63:30; 1272 uint64_t reserved_34_63:30;
885 uint64_t ill_rd:1; 1273 uint64_t ill_rd:1;
886 uint64_t ill_wr:1; 1274 uint64_t ill_wr:1;
@@ -912,8 +1300,42 @@ union cvmx_pci_int_enb {
912 uint64_t imr_wtto:1; 1300 uint64_t imr_wtto:1;
913 uint64_t imr_wabt:1; 1301 uint64_t imr_wabt:1;
914 uint64_t itr_wabt:1; 1302 uint64_t itr_wabt:1;
1303#else
1304 uint64_t itr_wabt:1;
1305 uint64_t imr_wabt:1;
1306 uint64_t imr_wtto:1;
1307 uint64_t itr_abt:1;
1308 uint64_t imr_abt:1;
1309 uint64_t imr_tto:1;
1310 uint64_t imsi_per:1;
1311 uint64_t imsi_tabt:1;
1312 uint64_t imsi_mabt:1;
1313 uint64_t imsc_msg:1;
1314 uint64_t itsr_abt:1;
1315 uint64_t iserr:1;
1316 uint64_t iaperr:1;
1317 uint64_t idperr:1;
1318 uint64_t ill_rwr:1;
1319 uint64_t ill_rrd:1;
1320 uint64_t irsl_int:1;
1321 uint64_t ipcnt0:1;
1322 uint64_t reserved_18_20:3;
1323 uint64_t iptime0:1;
1324 uint64_t reserved_22_24:3;
1325 uint64_t idcnt0:1;
1326 uint64_t idcnt1:1;
1327 uint64_t idtime0:1;
1328 uint64_t idtime1:1;
1329 uint64_t dma0_fi:1;
1330 uint64_t dma1_fi:1;
1331 uint64_t win_wr:1;
1332 uint64_t ill_wr:1;
1333 uint64_t ill_rd:1;
1334 uint64_t reserved_34_63:30;
1335#endif
915 } cn30xx; 1336 } cn30xx;
916 struct cvmx_pci_int_enb_cn31xx { 1337 struct cvmx_pci_int_enb_cn31xx {
1338#ifdef __BIG_ENDIAN_BITFIELD
917 uint64_t reserved_34_63:30; 1339 uint64_t reserved_34_63:30;
918 uint64_t ill_rd:1; 1340 uint64_t ill_rd:1;
919 uint64_t ill_wr:1; 1341 uint64_t ill_wr:1;
@@ -947,6 +1369,41 @@ union cvmx_pci_int_enb {
947 uint64_t imr_wtto:1; 1369 uint64_t imr_wtto:1;
948 uint64_t imr_wabt:1; 1370 uint64_t imr_wabt:1;
949 uint64_t itr_wabt:1; 1371 uint64_t itr_wabt:1;
1372#else
1373 uint64_t itr_wabt:1;
1374 uint64_t imr_wabt:1;
1375 uint64_t imr_wtto:1;
1376 uint64_t itr_abt:1;
1377 uint64_t imr_abt:1;
1378 uint64_t imr_tto:1;
1379 uint64_t imsi_per:1;
1380 uint64_t imsi_tabt:1;
1381 uint64_t imsi_mabt:1;
1382 uint64_t imsc_msg:1;
1383 uint64_t itsr_abt:1;
1384 uint64_t iserr:1;
1385 uint64_t iaperr:1;
1386 uint64_t idperr:1;
1387 uint64_t ill_rwr:1;
1388 uint64_t ill_rrd:1;
1389 uint64_t irsl_int:1;
1390 uint64_t ipcnt0:1;
1391 uint64_t ipcnt1:1;
1392 uint64_t reserved_19_20:2;
1393 uint64_t iptime0:1;
1394 uint64_t iptime1:1;
1395 uint64_t reserved_23_24:2;
1396 uint64_t idcnt0:1;
1397 uint64_t idcnt1:1;
1398 uint64_t idtime0:1;
1399 uint64_t idtime1:1;
1400 uint64_t dma0_fi:1;
1401 uint64_t dma1_fi:1;
1402 uint64_t win_wr:1;
1403 uint64_t ill_wr:1;
1404 uint64_t ill_rd:1;
1405 uint64_t reserved_34_63:30;
1406#endif
950 } cn31xx; 1407 } cn31xx;
951 struct cvmx_pci_int_enb_s cn38xx; 1408 struct cvmx_pci_int_enb_s cn38xx;
952 struct cvmx_pci_int_enb_s cn38xxp2; 1409 struct cvmx_pci_int_enb_s cn38xxp2;
@@ -958,6 +1415,7 @@ union cvmx_pci_int_enb {
958union cvmx_pci_int_enb2 { 1415union cvmx_pci_int_enb2 {
959 uint64_t u64; 1416 uint64_t u64;
960 struct cvmx_pci_int_enb2_s { 1417 struct cvmx_pci_int_enb2_s {
1418#ifdef __BIG_ENDIAN_BITFIELD
961 uint64_t reserved_34_63:30; 1419 uint64_t reserved_34_63:30;
962 uint64_t ill_rd:1; 1420 uint64_t ill_rd:1;
963 uint64_t ill_wr:1; 1421 uint64_t ill_wr:1;
@@ -993,8 +1451,46 @@ union cvmx_pci_int_enb2 {
993 uint64_t rmr_wtto:1; 1451 uint64_t rmr_wtto:1;
994 uint64_t rmr_wabt:1; 1452 uint64_t rmr_wabt:1;
995 uint64_t rtr_wabt:1; 1453 uint64_t rtr_wabt:1;
1454#else
1455 uint64_t rtr_wabt:1;
1456 uint64_t rmr_wabt:1;
1457 uint64_t rmr_wtto:1;
1458 uint64_t rtr_abt:1;
1459 uint64_t rmr_abt:1;
1460 uint64_t rmr_tto:1;
1461 uint64_t rmsi_per:1;
1462 uint64_t rmsi_tabt:1;
1463 uint64_t rmsi_mabt:1;
1464 uint64_t rmsc_msg:1;
1465 uint64_t rtsr_abt:1;
1466 uint64_t rserr:1;
1467 uint64_t raperr:1;
1468 uint64_t rdperr:1;
1469 uint64_t ill_rwr:1;
1470 uint64_t ill_rrd:1;
1471 uint64_t rrsl_int:1;
1472 uint64_t rpcnt0:1;
1473 uint64_t rpcnt1:1;
1474 uint64_t rpcnt2:1;
1475 uint64_t rpcnt3:1;
1476 uint64_t rptime0:1;
1477 uint64_t rptime1:1;
1478 uint64_t rptime2:1;
1479 uint64_t rptime3:1;
1480 uint64_t rdcnt0:1;
1481 uint64_t rdcnt1:1;
1482 uint64_t rdtime0:1;
1483 uint64_t rdtime1:1;
1484 uint64_t dma0_fi:1;
1485 uint64_t dma1_fi:1;
1486 uint64_t win_wr:1;
1487 uint64_t ill_wr:1;
1488 uint64_t ill_rd:1;
1489 uint64_t reserved_34_63:30;
1490#endif
996 } s; 1491 } s;
997 struct cvmx_pci_int_enb2_cn30xx { 1492 struct cvmx_pci_int_enb2_cn30xx {
1493#ifdef __BIG_ENDIAN_BITFIELD
998 uint64_t reserved_34_63:30; 1494 uint64_t reserved_34_63:30;
999 uint64_t ill_rd:1; 1495 uint64_t ill_rd:1;
1000 uint64_t ill_wr:1; 1496 uint64_t ill_wr:1;
@@ -1026,8 +1522,42 @@ union cvmx_pci_int_enb2 {
1026 uint64_t rmr_wtto:1; 1522 uint64_t rmr_wtto:1;
1027 uint64_t rmr_wabt:1; 1523 uint64_t rmr_wabt:1;
1028 uint64_t rtr_wabt:1; 1524 uint64_t rtr_wabt:1;
1525#else
1526 uint64_t rtr_wabt:1;
1527 uint64_t rmr_wabt:1;
1528 uint64_t rmr_wtto:1;
1529 uint64_t rtr_abt:1;
1530 uint64_t rmr_abt:1;
1531 uint64_t rmr_tto:1;
1532 uint64_t rmsi_per:1;
1533 uint64_t rmsi_tabt:1;
1534 uint64_t rmsi_mabt:1;
1535 uint64_t rmsc_msg:1;
1536 uint64_t rtsr_abt:1;
1537 uint64_t rserr:1;
1538 uint64_t raperr:1;
1539 uint64_t rdperr:1;
1540 uint64_t ill_rwr:1;
1541 uint64_t ill_rrd:1;
1542 uint64_t rrsl_int:1;
1543 uint64_t rpcnt0:1;
1544 uint64_t reserved_18_20:3;
1545 uint64_t rptime0:1;
1546 uint64_t reserved_22_24:3;
1547 uint64_t rdcnt0:1;
1548 uint64_t rdcnt1:1;
1549 uint64_t rdtime0:1;
1550 uint64_t rdtime1:1;
1551 uint64_t dma0_fi:1;
1552 uint64_t dma1_fi:1;
1553 uint64_t win_wr:1;
1554 uint64_t ill_wr:1;
1555 uint64_t ill_rd:1;
1556 uint64_t reserved_34_63:30;
1557#endif
1029 } cn30xx; 1558 } cn30xx;
1030 struct cvmx_pci_int_enb2_cn31xx { 1559 struct cvmx_pci_int_enb2_cn31xx {
1560#ifdef __BIG_ENDIAN_BITFIELD
1031 uint64_t reserved_34_63:30; 1561 uint64_t reserved_34_63:30;
1032 uint64_t ill_rd:1; 1562 uint64_t ill_rd:1;
1033 uint64_t ill_wr:1; 1563 uint64_t ill_wr:1;
@@ -1061,6 +1591,41 @@ union cvmx_pci_int_enb2 {
1061 uint64_t rmr_wtto:1; 1591 uint64_t rmr_wtto:1;
1062 uint64_t rmr_wabt:1; 1592 uint64_t rmr_wabt:1;
1063 uint64_t rtr_wabt:1; 1593 uint64_t rtr_wabt:1;
1594#else
1595 uint64_t rtr_wabt:1;
1596 uint64_t rmr_wabt:1;
1597 uint64_t rmr_wtto:1;
1598 uint64_t rtr_abt:1;
1599 uint64_t rmr_abt:1;
1600 uint64_t rmr_tto:1;
1601 uint64_t rmsi_per:1;
1602 uint64_t rmsi_tabt:1;
1603 uint64_t rmsi_mabt:1;
1604 uint64_t rmsc_msg:1;
1605 uint64_t rtsr_abt:1;
1606 uint64_t rserr:1;
1607 uint64_t raperr:1;
1608 uint64_t rdperr:1;
1609 uint64_t ill_rwr:1;
1610 uint64_t ill_rrd:1;
1611 uint64_t rrsl_int:1;
1612 uint64_t rpcnt0:1;
1613 uint64_t rpcnt1:1;
1614 uint64_t reserved_19_20:2;
1615 uint64_t rptime0:1;
1616 uint64_t rptime1:1;
1617 uint64_t reserved_23_24:2;
1618 uint64_t rdcnt0:1;
1619 uint64_t rdcnt1:1;
1620 uint64_t rdtime0:1;
1621 uint64_t rdtime1:1;
1622 uint64_t dma0_fi:1;
1623 uint64_t dma1_fi:1;
1624 uint64_t win_wr:1;
1625 uint64_t ill_wr:1;
1626 uint64_t ill_rd:1;
1627 uint64_t reserved_34_63:30;
1628#endif
1064 } cn31xx; 1629 } cn31xx;
1065 struct cvmx_pci_int_enb2_s cn38xx; 1630 struct cvmx_pci_int_enb2_s cn38xx;
1066 struct cvmx_pci_int_enb2_s cn38xxp2; 1631 struct cvmx_pci_int_enb2_s cn38xxp2;
@@ -1072,6 +1637,7 @@ union cvmx_pci_int_enb2 {
1072union cvmx_pci_int_sum { 1637union cvmx_pci_int_sum {
1073 uint64_t u64; 1638 uint64_t u64;
1074 struct cvmx_pci_int_sum_s { 1639 struct cvmx_pci_int_sum_s {
1640#ifdef __BIG_ENDIAN_BITFIELD
1075 uint64_t reserved_34_63:30; 1641 uint64_t reserved_34_63:30;
1076 uint64_t ill_rd:1; 1642 uint64_t ill_rd:1;
1077 uint64_t ill_wr:1; 1643 uint64_t ill_wr:1;
@@ -1107,8 +1673,46 @@ union cvmx_pci_int_sum {
1107 uint64_t mr_wtto:1; 1673 uint64_t mr_wtto:1;
1108 uint64_t mr_wabt:1; 1674 uint64_t mr_wabt:1;
1109 uint64_t tr_wabt:1; 1675 uint64_t tr_wabt:1;
1676#else
1677 uint64_t tr_wabt:1;
1678 uint64_t mr_wabt:1;
1679 uint64_t mr_wtto:1;
1680 uint64_t tr_abt:1;
1681 uint64_t mr_abt:1;
1682 uint64_t mr_tto:1;
1683 uint64_t msi_per:1;
1684 uint64_t msi_tabt:1;
1685 uint64_t msi_mabt:1;
1686 uint64_t msc_msg:1;
1687 uint64_t tsr_abt:1;
1688 uint64_t serr:1;
1689 uint64_t aperr:1;
1690 uint64_t dperr:1;
1691 uint64_t ill_rwr:1;
1692 uint64_t ill_rrd:1;
1693 uint64_t rsl_int:1;
1694 uint64_t pcnt0:1;
1695 uint64_t pcnt1:1;
1696 uint64_t pcnt2:1;
1697 uint64_t pcnt3:1;
1698 uint64_t ptime0:1;
1699 uint64_t ptime1:1;
1700 uint64_t ptime2:1;
1701 uint64_t ptime3:1;
1702 uint64_t dcnt0:1;
1703 uint64_t dcnt1:1;
1704 uint64_t dtime0:1;
1705 uint64_t dtime1:1;
1706 uint64_t dma0_fi:1;
1707 uint64_t dma1_fi:1;
1708 uint64_t win_wr:1;
1709 uint64_t ill_wr:1;
1710 uint64_t ill_rd:1;
1711 uint64_t reserved_34_63:30;
1712#endif
1110 } s; 1713 } s;
1111 struct cvmx_pci_int_sum_cn30xx { 1714 struct cvmx_pci_int_sum_cn30xx {
1715#ifdef __BIG_ENDIAN_BITFIELD
1112 uint64_t reserved_34_63:30; 1716 uint64_t reserved_34_63:30;
1113 uint64_t ill_rd:1; 1717 uint64_t ill_rd:1;
1114 uint64_t ill_wr:1; 1718 uint64_t ill_wr:1;
@@ -1140,8 +1744,42 @@ union cvmx_pci_int_sum {
1140 uint64_t mr_wtto:1; 1744 uint64_t mr_wtto:1;
1141 uint64_t mr_wabt:1; 1745 uint64_t mr_wabt:1;
1142 uint64_t tr_wabt:1; 1746 uint64_t tr_wabt:1;
1747#else
1748 uint64_t tr_wabt:1;
1749 uint64_t mr_wabt:1;
1750 uint64_t mr_wtto:1;
1751 uint64_t tr_abt:1;
1752 uint64_t mr_abt:1;
1753 uint64_t mr_tto:1;
1754 uint64_t msi_per:1;
1755 uint64_t msi_tabt:1;
1756 uint64_t msi_mabt:1;
1757 uint64_t msc_msg:1;
1758 uint64_t tsr_abt:1;
1759 uint64_t serr:1;
1760 uint64_t aperr:1;
1761 uint64_t dperr:1;
1762 uint64_t ill_rwr:1;
1763 uint64_t ill_rrd:1;
1764 uint64_t rsl_int:1;
1765 uint64_t pcnt0:1;
1766 uint64_t reserved_18_20:3;
1767 uint64_t ptime0:1;
1768 uint64_t reserved_22_24:3;
1769 uint64_t dcnt0:1;
1770 uint64_t dcnt1:1;
1771 uint64_t dtime0:1;
1772 uint64_t dtime1:1;
1773 uint64_t dma0_fi:1;
1774 uint64_t dma1_fi:1;
1775 uint64_t win_wr:1;
1776 uint64_t ill_wr:1;
1777 uint64_t ill_rd:1;
1778 uint64_t reserved_34_63:30;
1779#endif
1143 } cn30xx; 1780 } cn30xx;
1144 struct cvmx_pci_int_sum_cn31xx { 1781 struct cvmx_pci_int_sum_cn31xx {
1782#ifdef __BIG_ENDIAN_BITFIELD
1145 uint64_t reserved_34_63:30; 1783 uint64_t reserved_34_63:30;
1146 uint64_t ill_rd:1; 1784 uint64_t ill_rd:1;
1147 uint64_t ill_wr:1; 1785 uint64_t ill_wr:1;
@@ -1175,6 +1813,41 @@ union cvmx_pci_int_sum {
1175 uint64_t mr_wtto:1; 1813 uint64_t mr_wtto:1;
1176 uint64_t mr_wabt:1; 1814 uint64_t mr_wabt:1;
1177 uint64_t tr_wabt:1; 1815 uint64_t tr_wabt:1;
1816#else
1817 uint64_t tr_wabt:1;
1818 uint64_t mr_wabt:1;
1819 uint64_t mr_wtto:1;
1820 uint64_t tr_abt:1;
1821 uint64_t mr_abt:1;
1822 uint64_t mr_tto:1;
1823 uint64_t msi_per:1;
1824 uint64_t msi_tabt:1;
1825 uint64_t msi_mabt:1;
1826 uint64_t msc_msg:1;
1827 uint64_t tsr_abt:1;
1828 uint64_t serr:1;
1829 uint64_t aperr:1;
1830 uint64_t dperr:1;
1831 uint64_t ill_rwr:1;
1832 uint64_t ill_rrd:1;
1833 uint64_t rsl_int:1;
1834 uint64_t pcnt0:1;
1835 uint64_t pcnt1:1;
1836 uint64_t reserved_19_20:2;
1837 uint64_t ptime0:1;
1838 uint64_t ptime1:1;
1839 uint64_t reserved_23_24:2;
1840 uint64_t dcnt0:1;
1841 uint64_t dcnt1:1;
1842 uint64_t dtime0:1;
1843 uint64_t dtime1:1;
1844 uint64_t dma0_fi:1;
1845 uint64_t dma1_fi:1;
1846 uint64_t win_wr:1;
1847 uint64_t ill_wr:1;
1848 uint64_t ill_rd:1;
1849 uint64_t reserved_34_63:30;
1850#endif
1178 } cn31xx; 1851 } cn31xx;
1179 struct cvmx_pci_int_sum_s cn38xx; 1852 struct cvmx_pci_int_sum_s cn38xx;
1180 struct cvmx_pci_int_sum_s cn38xxp2; 1853 struct cvmx_pci_int_sum_s cn38xxp2;
@@ -1186,6 +1859,7 @@ union cvmx_pci_int_sum {
1186union cvmx_pci_int_sum2 { 1859union cvmx_pci_int_sum2 {
1187 uint64_t u64; 1860 uint64_t u64;
1188 struct cvmx_pci_int_sum2_s { 1861 struct cvmx_pci_int_sum2_s {
1862#ifdef __BIG_ENDIAN_BITFIELD
1189 uint64_t reserved_34_63:30; 1863 uint64_t reserved_34_63:30;
1190 uint64_t ill_rd:1; 1864 uint64_t ill_rd:1;
1191 uint64_t ill_wr:1; 1865 uint64_t ill_wr:1;
@@ -1221,8 +1895,46 @@ union cvmx_pci_int_sum2 {
1221 uint64_t mr_wtto:1; 1895 uint64_t mr_wtto:1;
1222 uint64_t mr_wabt:1; 1896 uint64_t mr_wabt:1;
1223 uint64_t tr_wabt:1; 1897 uint64_t tr_wabt:1;
1898#else
1899 uint64_t tr_wabt:1;
1900 uint64_t mr_wabt:1;
1901 uint64_t mr_wtto:1;
1902 uint64_t tr_abt:1;
1903 uint64_t mr_abt:1;
1904 uint64_t mr_tto:1;
1905 uint64_t msi_per:1;
1906 uint64_t msi_tabt:1;
1907 uint64_t msi_mabt:1;
1908 uint64_t msc_msg:1;
1909 uint64_t tsr_abt:1;
1910 uint64_t serr:1;
1911 uint64_t aperr:1;
1912 uint64_t dperr:1;
1913 uint64_t ill_rwr:1;
1914 uint64_t ill_rrd:1;
1915 uint64_t rsl_int:1;
1916 uint64_t pcnt0:1;
1917 uint64_t pcnt1:1;
1918 uint64_t pcnt2:1;
1919 uint64_t pcnt3:1;
1920 uint64_t ptime0:1;
1921 uint64_t ptime1:1;
1922 uint64_t ptime2:1;
1923 uint64_t ptime3:1;
1924 uint64_t dcnt0:1;
1925 uint64_t dcnt1:1;
1926 uint64_t dtime0:1;
1927 uint64_t dtime1:1;
1928 uint64_t dma0_fi:1;
1929 uint64_t dma1_fi:1;
1930 uint64_t win_wr:1;
1931 uint64_t ill_wr:1;
1932 uint64_t ill_rd:1;
1933 uint64_t reserved_34_63:30;
1934#endif
1224 } s; 1935 } s;
1225 struct cvmx_pci_int_sum2_cn30xx { 1936 struct cvmx_pci_int_sum2_cn30xx {
1937#ifdef __BIG_ENDIAN_BITFIELD
1226 uint64_t reserved_34_63:30; 1938 uint64_t reserved_34_63:30;
1227 uint64_t ill_rd:1; 1939 uint64_t ill_rd:1;
1228 uint64_t ill_wr:1; 1940 uint64_t ill_wr:1;
@@ -1254,8 +1966,42 @@ union cvmx_pci_int_sum2 {
1254 uint64_t mr_wtto:1; 1966 uint64_t mr_wtto:1;
1255 uint64_t mr_wabt:1; 1967 uint64_t mr_wabt:1;
1256 uint64_t tr_wabt:1; 1968 uint64_t tr_wabt:1;
1969#else
1970 uint64_t tr_wabt:1;
1971 uint64_t mr_wabt:1;
1972 uint64_t mr_wtto:1;
1973 uint64_t tr_abt:1;
1974 uint64_t mr_abt:1;
1975 uint64_t mr_tto:1;
1976 uint64_t msi_per:1;
1977 uint64_t msi_tabt:1;
1978 uint64_t msi_mabt:1;
1979 uint64_t msc_msg:1;
1980 uint64_t tsr_abt:1;
1981 uint64_t serr:1;
1982 uint64_t aperr:1;
1983 uint64_t dperr:1;
1984 uint64_t ill_rwr:1;
1985 uint64_t ill_rrd:1;
1986 uint64_t rsl_int:1;
1987 uint64_t pcnt0:1;
1988 uint64_t reserved_18_20:3;
1989 uint64_t ptime0:1;
1990 uint64_t reserved_22_24:3;
1991 uint64_t dcnt0:1;
1992 uint64_t dcnt1:1;
1993 uint64_t dtime0:1;
1994 uint64_t dtime1:1;
1995 uint64_t dma0_fi:1;
1996 uint64_t dma1_fi:1;
1997 uint64_t win_wr:1;
1998 uint64_t ill_wr:1;
1999 uint64_t ill_rd:1;
2000 uint64_t reserved_34_63:30;
2001#endif
1257 } cn30xx; 2002 } cn30xx;
1258 struct cvmx_pci_int_sum2_cn31xx { 2003 struct cvmx_pci_int_sum2_cn31xx {
2004#ifdef __BIG_ENDIAN_BITFIELD
1259 uint64_t reserved_34_63:30; 2005 uint64_t reserved_34_63:30;
1260 uint64_t ill_rd:1; 2006 uint64_t ill_rd:1;
1261 uint64_t ill_wr:1; 2007 uint64_t ill_wr:1;
@@ -1289,6 +2035,41 @@ union cvmx_pci_int_sum2 {
1289 uint64_t mr_wtto:1; 2035 uint64_t mr_wtto:1;
1290 uint64_t mr_wabt:1; 2036 uint64_t mr_wabt:1;
1291 uint64_t tr_wabt:1; 2037 uint64_t tr_wabt:1;
2038#else
2039 uint64_t tr_wabt:1;
2040 uint64_t mr_wabt:1;
2041 uint64_t mr_wtto:1;
2042 uint64_t tr_abt:1;
2043 uint64_t mr_abt:1;
2044 uint64_t mr_tto:1;
2045 uint64_t msi_per:1;
2046 uint64_t msi_tabt:1;
2047 uint64_t msi_mabt:1;
2048 uint64_t msc_msg:1;
2049 uint64_t tsr_abt:1;
2050 uint64_t serr:1;
2051 uint64_t aperr:1;
2052 uint64_t dperr:1;
2053 uint64_t ill_rwr:1;
2054 uint64_t ill_rrd:1;
2055 uint64_t rsl_int:1;
2056 uint64_t pcnt0:1;
2057 uint64_t pcnt1:1;
2058 uint64_t reserved_19_20:2;
2059 uint64_t ptime0:1;
2060 uint64_t ptime1:1;
2061 uint64_t reserved_23_24:2;
2062 uint64_t dcnt0:1;
2063 uint64_t dcnt1:1;
2064 uint64_t dtime0:1;
2065 uint64_t dtime1:1;
2066 uint64_t dma0_fi:1;
2067 uint64_t dma1_fi:1;
2068 uint64_t win_wr:1;
2069 uint64_t ill_wr:1;
2070 uint64_t ill_rd:1;
2071 uint64_t reserved_34_63:30;
2072#endif
1292 } cn31xx; 2073 } cn31xx;
1293 struct cvmx_pci_int_sum2_s cn38xx; 2074 struct cvmx_pci_int_sum2_s cn38xx;
1294 struct cvmx_pci_int_sum2_s cn38xxp2; 2075 struct cvmx_pci_int_sum2_s cn38xxp2;
@@ -1300,8 +2081,13 @@ union cvmx_pci_int_sum2 {
1300union cvmx_pci_msi_rcv { 2081union cvmx_pci_msi_rcv {
1301 uint32_t u32; 2082 uint32_t u32;
1302 struct cvmx_pci_msi_rcv_s { 2083 struct cvmx_pci_msi_rcv_s {
2084#ifdef __BIG_ENDIAN_BITFIELD
1303 uint32_t reserved_6_31:26; 2085 uint32_t reserved_6_31:26;
1304 uint32_t intr:6; 2086 uint32_t intr:6;
2087#else
2088 uint32_t intr:6;
2089 uint32_t reserved_6_31:26;
2090#endif
1305 } s; 2091 } s;
1306 struct cvmx_pci_msi_rcv_s cn30xx; 2092 struct cvmx_pci_msi_rcv_s cn30xx;
1307 struct cvmx_pci_msi_rcv_s cn31xx; 2093 struct cvmx_pci_msi_rcv_s cn31xx;
@@ -1315,8 +2101,13 @@ union cvmx_pci_msi_rcv {
1315union cvmx_pci_pkt_creditsx { 2101union cvmx_pci_pkt_creditsx {
1316 uint32_t u32; 2102 uint32_t u32;
1317 struct cvmx_pci_pkt_creditsx_s { 2103 struct cvmx_pci_pkt_creditsx_s {
2104#ifdef __BIG_ENDIAN_BITFIELD
1318 uint32_t pkt_cnt:16; 2105 uint32_t pkt_cnt:16;
1319 uint32_t ptr_cnt:16; 2106 uint32_t ptr_cnt:16;
2107#else
2108 uint32_t ptr_cnt:16;
2109 uint32_t pkt_cnt:16;
2110#endif
1320 } s; 2111 } s;
1321 struct cvmx_pci_pkt_creditsx_s cn30xx; 2112 struct cvmx_pci_pkt_creditsx_s cn30xx;
1322 struct cvmx_pci_pkt_creditsx_s cn31xx; 2113 struct cvmx_pci_pkt_creditsx_s cn31xx;
@@ -1330,7 +2121,11 @@ union cvmx_pci_pkt_creditsx {
1330union cvmx_pci_pkts_sentx { 2121union cvmx_pci_pkts_sentx {
1331 uint32_t u32; 2122 uint32_t u32;
1332 struct cvmx_pci_pkts_sentx_s { 2123 struct cvmx_pci_pkts_sentx_s {
2124#ifdef __BIG_ENDIAN_BITFIELD
1333 uint32_t pkt_cnt:32; 2125 uint32_t pkt_cnt:32;
2126#else
2127 uint32_t pkt_cnt:32;
2128#endif
1334 } s; 2129 } s;
1335 struct cvmx_pci_pkts_sentx_s cn30xx; 2130 struct cvmx_pci_pkts_sentx_s cn30xx;
1336 struct cvmx_pci_pkts_sentx_s cn31xx; 2131 struct cvmx_pci_pkts_sentx_s cn31xx;
@@ -1344,7 +2139,11 @@ union cvmx_pci_pkts_sentx {
1344union cvmx_pci_pkts_sent_int_levx { 2139union cvmx_pci_pkts_sent_int_levx {
1345 uint32_t u32; 2140 uint32_t u32;
1346 struct cvmx_pci_pkts_sent_int_levx_s { 2141 struct cvmx_pci_pkts_sent_int_levx_s {
2142#ifdef __BIG_ENDIAN_BITFIELD
2143 uint32_t pkt_cnt:32;
2144#else
1347 uint32_t pkt_cnt:32; 2145 uint32_t pkt_cnt:32;
2146#endif
1348 } s; 2147 } s;
1349 struct cvmx_pci_pkts_sent_int_levx_s cn30xx; 2148 struct cvmx_pci_pkts_sent_int_levx_s cn30xx;
1350 struct cvmx_pci_pkts_sent_int_levx_s cn31xx; 2149 struct cvmx_pci_pkts_sent_int_levx_s cn31xx;
@@ -1358,7 +2157,11 @@ union cvmx_pci_pkts_sent_int_levx {
1358union cvmx_pci_pkts_sent_timex { 2157union cvmx_pci_pkts_sent_timex {
1359 uint32_t u32; 2158 uint32_t u32;
1360 struct cvmx_pci_pkts_sent_timex_s { 2159 struct cvmx_pci_pkts_sent_timex_s {
2160#ifdef __BIG_ENDIAN_BITFIELD
2161 uint32_t pkt_time:32;
2162#else
1361 uint32_t pkt_time:32; 2163 uint32_t pkt_time:32;
2164#endif
1362 } s; 2165 } s;
1363 struct cvmx_pci_pkts_sent_timex_s cn30xx; 2166 struct cvmx_pci_pkts_sent_timex_s cn30xx;
1364 struct cvmx_pci_pkts_sent_timex_s cn31xx; 2167 struct cvmx_pci_pkts_sent_timex_s cn31xx;
@@ -1372,9 +2175,15 @@ union cvmx_pci_pkts_sent_timex {
1372union cvmx_pci_read_cmd_6 { 2175union cvmx_pci_read_cmd_6 {
1373 uint32_t u32; 2176 uint32_t u32;
1374 struct cvmx_pci_read_cmd_6_s { 2177 struct cvmx_pci_read_cmd_6_s {
2178#ifdef __BIG_ENDIAN_BITFIELD
1375 uint32_t reserved_9_31:23; 2179 uint32_t reserved_9_31:23;
1376 uint32_t min_data:6; 2180 uint32_t min_data:6;
1377 uint32_t prefetch:3; 2181 uint32_t prefetch:3;
2182#else
2183 uint32_t prefetch:3;
2184 uint32_t min_data:6;
2185 uint32_t reserved_9_31:23;
2186#endif
1378 } s; 2187 } s;
1379 struct cvmx_pci_read_cmd_6_s cn30xx; 2188 struct cvmx_pci_read_cmd_6_s cn30xx;
1380 struct cvmx_pci_read_cmd_6_s cn31xx; 2189 struct cvmx_pci_read_cmd_6_s cn31xx;
@@ -1388,9 +2197,15 @@ union cvmx_pci_read_cmd_6 {
1388union cvmx_pci_read_cmd_c { 2197union cvmx_pci_read_cmd_c {
1389 uint32_t u32; 2198 uint32_t u32;
1390 struct cvmx_pci_read_cmd_c_s { 2199 struct cvmx_pci_read_cmd_c_s {
2200#ifdef __BIG_ENDIAN_BITFIELD
1391 uint32_t reserved_9_31:23; 2201 uint32_t reserved_9_31:23;
1392 uint32_t min_data:6; 2202 uint32_t min_data:6;
1393 uint32_t prefetch:3; 2203 uint32_t prefetch:3;
2204#else
2205 uint32_t prefetch:3;
2206 uint32_t min_data:6;
2207 uint32_t reserved_9_31:23;
2208#endif
1394 } s; 2209 } s;
1395 struct cvmx_pci_read_cmd_c_s cn30xx; 2210 struct cvmx_pci_read_cmd_c_s cn30xx;
1396 struct cvmx_pci_read_cmd_c_s cn31xx; 2211 struct cvmx_pci_read_cmd_c_s cn31xx;
@@ -1404,9 +2219,15 @@ union cvmx_pci_read_cmd_c {
1404union cvmx_pci_read_cmd_e { 2219union cvmx_pci_read_cmd_e {
1405 uint32_t u32; 2220 uint32_t u32;
1406 struct cvmx_pci_read_cmd_e_s { 2221 struct cvmx_pci_read_cmd_e_s {
2222#ifdef __BIG_ENDIAN_BITFIELD
1407 uint32_t reserved_9_31:23; 2223 uint32_t reserved_9_31:23;
1408 uint32_t min_data:6; 2224 uint32_t min_data:6;
1409 uint32_t prefetch:3; 2225 uint32_t prefetch:3;
2226#else
2227 uint32_t prefetch:3;
2228 uint32_t min_data:6;
2229 uint32_t reserved_9_31:23;
2230#endif
1410 } s; 2231 } s;
1411 struct cvmx_pci_read_cmd_e_s cn30xx; 2232 struct cvmx_pci_read_cmd_e_s cn30xx;
1412 struct cvmx_pci_read_cmd_e_s cn31xx; 2233 struct cvmx_pci_read_cmd_e_s cn31xx;
@@ -1420,9 +2241,15 @@ union cvmx_pci_read_cmd_e {
1420union cvmx_pci_read_timeout { 2241union cvmx_pci_read_timeout {
1421 uint64_t u64; 2242 uint64_t u64;
1422 struct cvmx_pci_read_timeout_s { 2243 struct cvmx_pci_read_timeout_s {
2244#ifdef __BIG_ENDIAN_BITFIELD
1423 uint64_t reserved_32_63:32; 2245 uint64_t reserved_32_63:32;
1424 uint64_t enb:1; 2246 uint64_t enb:1;
1425 uint64_t cnt:31; 2247 uint64_t cnt:31;
2248#else
2249 uint64_t cnt:31;
2250 uint64_t enb:1;
2251 uint64_t reserved_32_63:32;
2252#endif
1426 } s; 2253 } s;
1427 struct cvmx_pci_read_timeout_s cn30xx; 2254 struct cvmx_pci_read_timeout_s cn30xx;
1428 struct cvmx_pci_read_timeout_s cn31xx; 2255 struct cvmx_pci_read_timeout_s cn31xx;
@@ -1436,8 +2263,13 @@ union cvmx_pci_read_timeout {
1436union cvmx_pci_scm_reg { 2263union cvmx_pci_scm_reg {
1437 uint64_t u64; 2264 uint64_t u64;
1438 struct cvmx_pci_scm_reg_s { 2265 struct cvmx_pci_scm_reg_s {
2266#ifdef __BIG_ENDIAN_BITFIELD
1439 uint64_t reserved_32_63:32; 2267 uint64_t reserved_32_63:32;
1440 uint64_t scm:32; 2268 uint64_t scm:32;
2269#else
2270 uint64_t scm:32;
2271 uint64_t reserved_32_63:32;
2272#endif
1441 } s; 2273 } s;
1442 struct cvmx_pci_scm_reg_s cn30xx; 2274 struct cvmx_pci_scm_reg_s cn30xx;
1443 struct cvmx_pci_scm_reg_s cn31xx; 2275 struct cvmx_pci_scm_reg_s cn31xx;
@@ -1451,8 +2283,13 @@ union cvmx_pci_scm_reg {
1451union cvmx_pci_tsr_reg { 2283union cvmx_pci_tsr_reg {
1452 uint64_t u64; 2284 uint64_t u64;
1453 struct cvmx_pci_tsr_reg_s { 2285 struct cvmx_pci_tsr_reg_s {
2286#ifdef __BIG_ENDIAN_BITFIELD
1454 uint64_t reserved_36_63:28; 2287 uint64_t reserved_36_63:28;
1455 uint64_t tsr:36; 2288 uint64_t tsr:36;
2289#else
2290 uint64_t tsr:36;
2291 uint64_t reserved_36_63:28;
2292#endif
1456 } s; 2293 } s;
1457 struct cvmx_pci_tsr_reg_s cn30xx; 2294 struct cvmx_pci_tsr_reg_s cn30xx;
1458 struct cvmx_pci_tsr_reg_s cn31xx; 2295 struct cvmx_pci_tsr_reg_s cn31xx;
@@ -1466,22 +2303,42 @@ union cvmx_pci_tsr_reg {
1466union cvmx_pci_win_rd_addr { 2303union cvmx_pci_win_rd_addr {
1467 uint64_t u64; 2304 uint64_t u64;
1468 struct cvmx_pci_win_rd_addr_s { 2305 struct cvmx_pci_win_rd_addr_s {
2306#ifdef __BIG_ENDIAN_BITFIELD
1469 uint64_t reserved_49_63:15; 2307 uint64_t reserved_49_63:15;
1470 uint64_t iobit:1; 2308 uint64_t iobit:1;
1471 uint64_t reserved_0_47:48; 2309 uint64_t reserved_0_47:48;
2310#else
2311 uint64_t reserved_0_47:48;
2312 uint64_t iobit:1;
2313 uint64_t reserved_49_63:15;
2314#endif
1472 } s; 2315 } s;
1473 struct cvmx_pci_win_rd_addr_cn30xx { 2316 struct cvmx_pci_win_rd_addr_cn30xx {
2317#ifdef __BIG_ENDIAN_BITFIELD
1474 uint64_t reserved_49_63:15; 2318 uint64_t reserved_49_63:15;
1475 uint64_t iobit:1; 2319 uint64_t iobit:1;
1476 uint64_t rd_addr:46; 2320 uint64_t rd_addr:46;
1477 uint64_t reserved_0_1:2; 2321 uint64_t reserved_0_1:2;
2322#else
2323 uint64_t reserved_0_1:2;
2324 uint64_t rd_addr:46;
2325 uint64_t iobit:1;
2326 uint64_t reserved_49_63:15;
2327#endif
1478 } cn30xx; 2328 } cn30xx;
1479 struct cvmx_pci_win_rd_addr_cn30xx cn31xx; 2329 struct cvmx_pci_win_rd_addr_cn30xx cn31xx;
1480 struct cvmx_pci_win_rd_addr_cn38xx { 2330 struct cvmx_pci_win_rd_addr_cn38xx {
2331#ifdef __BIG_ENDIAN_BITFIELD
1481 uint64_t reserved_49_63:15; 2332 uint64_t reserved_49_63:15;
1482 uint64_t iobit:1; 2333 uint64_t iobit:1;
1483 uint64_t rd_addr:45; 2334 uint64_t rd_addr:45;
1484 uint64_t reserved_0_2:3; 2335 uint64_t reserved_0_2:3;
2336#else
2337 uint64_t reserved_0_2:3;
2338 uint64_t rd_addr:45;
2339 uint64_t iobit:1;
2340 uint64_t reserved_49_63:15;
2341#endif
1485 } cn38xx; 2342 } cn38xx;
1486 struct cvmx_pci_win_rd_addr_cn38xx cn38xxp2; 2343 struct cvmx_pci_win_rd_addr_cn38xx cn38xxp2;
1487 struct cvmx_pci_win_rd_addr_cn30xx cn50xx; 2344 struct cvmx_pci_win_rd_addr_cn30xx cn50xx;
@@ -1492,7 +2349,11 @@ union cvmx_pci_win_rd_addr {
1492union cvmx_pci_win_rd_data { 2349union cvmx_pci_win_rd_data {
1493 uint64_t u64; 2350 uint64_t u64;
1494 struct cvmx_pci_win_rd_data_s { 2351 struct cvmx_pci_win_rd_data_s {
2352#ifdef __BIG_ENDIAN_BITFIELD
2353 uint64_t rd_data:64;
2354#else
1495 uint64_t rd_data:64; 2355 uint64_t rd_data:64;
2356#endif
1496 } s; 2357 } s;
1497 struct cvmx_pci_win_rd_data_s cn30xx; 2358 struct cvmx_pci_win_rd_data_s cn30xx;
1498 struct cvmx_pci_win_rd_data_s cn31xx; 2359 struct cvmx_pci_win_rd_data_s cn31xx;
@@ -1506,10 +2367,17 @@ union cvmx_pci_win_rd_data {
1506union cvmx_pci_win_wr_addr { 2367union cvmx_pci_win_wr_addr {
1507 uint64_t u64; 2368 uint64_t u64;
1508 struct cvmx_pci_win_wr_addr_s { 2369 struct cvmx_pci_win_wr_addr_s {
2370#ifdef __BIG_ENDIAN_BITFIELD
1509 uint64_t reserved_49_63:15; 2371 uint64_t reserved_49_63:15;
1510 uint64_t iobit:1; 2372 uint64_t iobit:1;
1511 uint64_t wr_addr:45; 2373 uint64_t wr_addr:45;
1512 uint64_t reserved_0_2:3; 2374 uint64_t reserved_0_2:3;
2375#else
2376 uint64_t reserved_0_2:3;
2377 uint64_t wr_addr:45;
2378 uint64_t iobit:1;
2379 uint64_t reserved_49_63:15;
2380#endif
1513 } s; 2381 } s;
1514 struct cvmx_pci_win_wr_addr_s cn30xx; 2382 struct cvmx_pci_win_wr_addr_s cn30xx;
1515 struct cvmx_pci_win_wr_addr_s cn31xx; 2383 struct cvmx_pci_win_wr_addr_s cn31xx;
@@ -1523,7 +2391,11 @@ union cvmx_pci_win_wr_addr {
1523union cvmx_pci_win_wr_data { 2391union cvmx_pci_win_wr_data {
1524 uint64_t u64; 2392 uint64_t u64;
1525 struct cvmx_pci_win_wr_data_s { 2393 struct cvmx_pci_win_wr_data_s {
2394#ifdef __BIG_ENDIAN_BITFIELD
1526 uint64_t wr_data:64; 2395 uint64_t wr_data:64;
2396#else
2397 uint64_t wr_data:64;
2398#endif
1527 } s; 2399 } s;
1528 struct cvmx_pci_win_wr_data_s cn30xx; 2400 struct cvmx_pci_win_wr_data_s cn30xx;
1529 struct cvmx_pci_win_wr_data_s cn31xx; 2401 struct cvmx_pci_win_wr_data_s cn31xx;
@@ -1537,8 +2409,13 @@ union cvmx_pci_win_wr_data {
1537union cvmx_pci_win_wr_mask { 2409union cvmx_pci_win_wr_mask {
1538 uint64_t u64; 2410 uint64_t u64;
1539 struct cvmx_pci_win_wr_mask_s { 2411 struct cvmx_pci_win_wr_mask_s {
2412#ifdef __BIG_ENDIAN_BITFIELD
1540 uint64_t reserved_8_63:56; 2413 uint64_t reserved_8_63:56;
1541 uint64_t wr_mask:8; 2414 uint64_t wr_mask:8;
2415#else
2416 uint64_t wr_mask:8;
2417 uint64_t reserved_8_63:56;
2418#endif
1542 } s; 2419 } s;
1543 struct cvmx_pci_win_wr_mask_s cn30xx; 2420 struct cvmx_pci_win_wr_mask_s cn30xx;
1544 struct cvmx_pci_win_wr_mask_s cn31xx; 2421 struct cvmx_pci_win_wr_mask_s cn31xx;
diff --git a/arch/mips/include/asm/octeon/cvmx-pciercx-defs.h b/arch/mips/include/asm/octeon/cvmx-pciercx-defs.h
index 7b1dc8b74e5b..4bce393391e2 100644
--- a/arch/mips/include/asm/octeon/cvmx-pciercx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pciercx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2011 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -109,8 +109,13 @@
109union cvmx_pciercx_cfg000 { 109union cvmx_pciercx_cfg000 {
110 uint32_t u32; 110 uint32_t u32;
111 struct cvmx_pciercx_cfg000_s { 111 struct cvmx_pciercx_cfg000_s {
112#ifdef __BIG_ENDIAN_BITFIELD
112 uint32_t devid:16; 113 uint32_t devid:16;
113 uint32_t vendid:16; 114 uint32_t vendid:16;
115#else
116 uint32_t vendid:16;
117 uint32_t devid:16;
118#endif
114 } s; 119 } s;
115 struct cvmx_pciercx_cfg000_s cn52xx; 120 struct cvmx_pciercx_cfg000_s cn52xx;
116 struct cvmx_pciercx_cfg000_s cn52xxp1; 121 struct cvmx_pciercx_cfg000_s cn52xxp1;
@@ -122,11 +127,13 @@ union cvmx_pciercx_cfg000 {
122 struct cvmx_pciercx_cfg000_s cn66xx; 127 struct cvmx_pciercx_cfg000_s cn66xx;
123 struct cvmx_pciercx_cfg000_s cn68xx; 128 struct cvmx_pciercx_cfg000_s cn68xx;
124 struct cvmx_pciercx_cfg000_s cn68xxp1; 129 struct cvmx_pciercx_cfg000_s cn68xxp1;
130 struct cvmx_pciercx_cfg000_s cnf71xx;
125}; 131};
126 132
127union cvmx_pciercx_cfg001 { 133union cvmx_pciercx_cfg001 {
128 uint32_t u32; 134 uint32_t u32;
129 struct cvmx_pciercx_cfg001_s { 135 struct cvmx_pciercx_cfg001_s {
136#ifdef __BIG_ENDIAN_BITFIELD
130 uint32_t dpe:1; 137 uint32_t dpe:1;
131 uint32_t sse:1; 138 uint32_t sse:1;
132 uint32_t rma:1; 139 uint32_t rma:1;
@@ -151,6 +158,32 @@ union cvmx_pciercx_cfg001 {
151 uint32_t me:1; 158 uint32_t me:1;
152 uint32_t msae:1; 159 uint32_t msae:1;
153 uint32_t isae:1; 160 uint32_t isae:1;
161#else
162 uint32_t isae:1;
163 uint32_t msae:1;
164 uint32_t me:1;
165 uint32_t scse:1;
166 uint32_t mwice:1;
167 uint32_t vps:1;
168 uint32_t per:1;
169 uint32_t ids_wcc:1;
170 uint32_t see:1;
171 uint32_t fbbe:1;
172 uint32_t i_dis:1;
173 uint32_t reserved_11_18:8;
174 uint32_t i_stat:1;
175 uint32_t cl:1;
176 uint32_t m66:1;
177 uint32_t reserved_22_22:1;
178 uint32_t fbb:1;
179 uint32_t mdpe:1;
180 uint32_t devt:2;
181 uint32_t sta:1;
182 uint32_t rta:1;
183 uint32_t rma:1;
184 uint32_t sse:1;
185 uint32_t dpe:1;
186#endif
154 } s; 187 } s;
155 struct cvmx_pciercx_cfg001_s cn52xx; 188 struct cvmx_pciercx_cfg001_s cn52xx;
156 struct cvmx_pciercx_cfg001_s cn52xxp1; 189 struct cvmx_pciercx_cfg001_s cn52xxp1;
@@ -162,15 +195,23 @@ union cvmx_pciercx_cfg001 {
162 struct cvmx_pciercx_cfg001_s cn66xx; 195 struct cvmx_pciercx_cfg001_s cn66xx;
163 struct cvmx_pciercx_cfg001_s cn68xx; 196 struct cvmx_pciercx_cfg001_s cn68xx;
164 struct cvmx_pciercx_cfg001_s cn68xxp1; 197 struct cvmx_pciercx_cfg001_s cn68xxp1;
198 struct cvmx_pciercx_cfg001_s cnf71xx;
165}; 199};
166 200
167union cvmx_pciercx_cfg002 { 201union cvmx_pciercx_cfg002 {
168 uint32_t u32; 202 uint32_t u32;
169 struct cvmx_pciercx_cfg002_s { 203 struct cvmx_pciercx_cfg002_s {
204#ifdef __BIG_ENDIAN_BITFIELD
170 uint32_t bcc:8; 205 uint32_t bcc:8;
171 uint32_t sc:8; 206 uint32_t sc:8;
172 uint32_t pi:8; 207 uint32_t pi:8;
173 uint32_t rid:8; 208 uint32_t rid:8;
209#else
210 uint32_t rid:8;
211 uint32_t pi:8;
212 uint32_t sc:8;
213 uint32_t bcc:8;
214#endif
174 } s; 215 } s;
175 struct cvmx_pciercx_cfg002_s cn52xx; 216 struct cvmx_pciercx_cfg002_s cn52xx;
176 struct cvmx_pciercx_cfg002_s cn52xxp1; 217 struct cvmx_pciercx_cfg002_s cn52xxp1;
@@ -182,16 +223,25 @@ union cvmx_pciercx_cfg002 {
182 struct cvmx_pciercx_cfg002_s cn66xx; 223 struct cvmx_pciercx_cfg002_s cn66xx;
183 struct cvmx_pciercx_cfg002_s cn68xx; 224 struct cvmx_pciercx_cfg002_s cn68xx;
184 struct cvmx_pciercx_cfg002_s cn68xxp1; 225 struct cvmx_pciercx_cfg002_s cn68xxp1;
226 struct cvmx_pciercx_cfg002_s cnf71xx;
185}; 227};
186 228
187union cvmx_pciercx_cfg003 { 229union cvmx_pciercx_cfg003 {
188 uint32_t u32; 230 uint32_t u32;
189 struct cvmx_pciercx_cfg003_s { 231 struct cvmx_pciercx_cfg003_s {
232#ifdef __BIG_ENDIAN_BITFIELD
190 uint32_t bist:8; 233 uint32_t bist:8;
191 uint32_t mfd:1; 234 uint32_t mfd:1;
192 uint32_t chf:7; 235 uint32_t chf:7;
193 uint32_t lt:8; 236 uint32_t lt:8;
194 uint32_t cls:8; 237 uint32_t cls:8;
238#else
239 uint32_t cls:8;
240 uint32_t lt:8;
241 uint32_t chf:7;
242 uint32_t mfd:1;
243 uint32_t bist:8;
244#endif
195 } s; 245 } s;
196 struct cvmx_pciercx_cfg003_s cn52xx; 246 struct cvmx_pciercx_cfg003_s cn52xx;
197 struct cvmx_pciercx_cfg003_s cn52xxp1; 247 struct cvmx_pciercx_cfg003_s cn52xxp1;
@@ -203,12 +253,17 @@ union cvmx_pciercx_cfg003 {
203 struct cvmx_pciercx_cfg003_s cn66xx; 253 struct cvmx_pciercx_cfg003_s cn66xx;
204 struct cvmx_pciercx_cfg003_s cn68xx; 254 struct cvmx_pciercx_cfg003_s cn68xx;
205 struct cvmx_pciercx_cfg003_s cn68xxp1; 255 struct cvmx_pciercx_cfg003_s cn68xxp1;
256 struct cvmx_pciercx_cfg003_s cnf71xx;
206}; 257};
207 258
208union cvmx_pciercx_cfg004 { 259union cvmx_pciercx_cfg004 {
209 uint32_t u32; 260 uint32_t u32;
210 struct cvmx_pciercx_cfg004_s { 261 struct cvmx_pciercx_cfg004_s {
262#ifdef __BIG_ENDIAN_BITFIELD
263 uint32_t reserved_0_31:32;
264#else
211 uint32_t reserved_0_31:32; 265 uint32_t reserved_0_31:32;
266#endif
212 } s; 267 } s;
213 struct cvmx_pciercx_cfg004_s cn52xx; 268 struct cvmx_pciercx_cfg004_s cn52xx;
214 struct cvmx_pciercx_cfg004_s cn52xxp1; 269 struct cvmx_pciercx_cfg004_s cn52xxp1;
@@ -220,12 +275,17 @@ union cvmx_pciercx_cfg004 {
220 struct cvmx_pciercx_cfg004_s cn66xx; 275 struct cvmx_pciercx_cfg004_s cn66xx;
221 struct cvmx_pciercx_cfg004_s cn68xx; 276 struct cvmx_pciercx_cfg004_s cn68xx;
222 struct cvmx_pciercx_cfg004_s cn68xxp1; 277 struct cvmx_pciercx_cfg004_s cn68xxp1;
278 struct cvmx_pciercx_cfg004_s cnf71xx;
223}; 279};
224 280
225union cvmx_pciercx_cfg005 { 281union cvmx_pciercx_cfg005 {
226 uint32_t u32; 282 uint32_t u32;
227 struct cvmx_pciercx_cfg005_s { 283 struct cvmx_pciercx_cfg005_s {
284#ifdef __BIG_ENDIAN_BITFIELD
285 uint32_t reserved_0_31:32;
286#else
228 uint32_t reserved_0_31:32; 287 uint32_t reserved_0_31:32;
288#endif
229 } s; 289 } s;
230 struct cvmx_pciercx_cfg005_s cn52xx; 290 struct cvmx_pciercx_cfg005_s cn52xx;
231 struct cvmx_pciercx_cfg005_s cn52xxp1; 291 struct cvmx_pciercx_cfg005_s cn52xxp1;
@@ -237,15 +297,23 @@ union cvmx_pciercx_cfg005 {
237 struct cvmx_pciercx_cfg005_s cn66xx; 297 struct cvmx_pciercx_cfg005_s cn66xx;
238 struct cvmx_pciercx_cfg005_s cn68xx; 298 struct cvmx_pciercx_cfg005_s cn68xx;
239 struct cvmx_pciercx_cfg005_s cn68xxp1; 299 struct cvmx_pciercx_cfg005_s cn68xxp1;
300 struct cvmx_pciercx_cfg005_s cnf71xx;
240}; 301};
241 302
242union cvmx_pciercx_cfg006 { 303union cvmx_pciercx_cfg006 {
243 uint32_t u32; 304 uint32_t u32;
244 struct cvmx_pciercx_cfg006_s { 305 struct cvmx_pciercx_cfg006_s {
306#ifdef __BIG_ENDIAN_BITFIELD
245 uint32_t slt:8; 307 uint32_t slt:8;
246 uint32_t subbnum:8; 308 uint32_t subbnum:8;
247 uint32_t sbnum:8; 309 uint32_t sbnum:8;
248 uint32_t pbnum:8; 310 uint32_t pbnum:8;
311#else
312 uint32_t pbnum:8;
313 uint32_t sbnum:8;
314 uint32_t subbnum:8;
315 uint32_t slt:8;
316#endif
249 } s; 317 } s;
250 struct cvmx_pciercx_cfg006_s cn52xx; 318 struct cvmx_pciercx_cfg006_s cn52xx;
251 struct cvmx_pciercx_cfg006_s cn52xxp1; 319 struct cvmx_pciercx_cfg006_s cn52xxp1;
@@ -257,11 +325,13 @@ union cvmx_pciercx_cfg006 {
257 struct cvmx_pciercx_cfg006_s cn66xx; 325 struct cvmx_pciercx_cfg006_s cn66xx;
258 struct cvmx_pciercx_cfg006_s cn68xx; 326 struct cvmx_pciercx_cfg006_s cn68xx;
259 struct cvmx_pciercx_cfg006_s cn68xxp1; 327 struct cvmx_pciercx_cfg006_s cn68xxp1;
328 struct cvmx_pciercx_cfg006_s cnf71xx;
260}; 329};
261 330
262union cvmx_pciercx_cfg007 { 331union cvmx_pciercx_cfg007 {
263 uint32_t u32; 332 uint32_t u32;
264 struct cvmx_pciercx_cfg007_s { 333 struct cvmx_pciercx_cfg007_s {
334#ifdef __BIG_ENDIAN_BITFIELD
265 uint32_t dpe:1; 335 uint32_t dpe:1;
266 uint32_t sse:1; 336 uint32_t sse:1;
267 uint32_t rma:1; 337 uint32_t rma:1;
@@ -279,6 +349,25 @@ union cvmx_pciercx_cfg007 {
279 uint32_t lio_base:4; 349 uint32_t lio_base:4;
280 uint32_t reserved_1_3:3; 350 uint32_t reserved_1_3:3;
281 uint32_t io32a:1; 351 uint32_t io32a:1;
352#else
353 uint32_t io32a:1;
354 uint32_t reserved_1_3:3;
355 uint32_t lio_base:4;
356 uint32_t io32b:1;
357 uint32_t reserved_9_11:3;
358 uint32_t lio_limi:4;
359 uint32_t reserved_16_20:5;
360 uint32_t m66:1;
361 uint32_t reserved_22_22:1;
362 uint32_t fbb:1;
363 uint32_t mdpe:1;
364 uint32_t devt:2;
365 uint32_t sta:1;
366 uint32_t rta:1;
367 uint32_t rma:1;
368 uint32_t sse:1;
369 uint32_t dpe:1;
370#endif
282 } s; 371 } s;
283 struct cvmx_pciercx_cfg007_s cn52xx; 372 struct cvmx_pciercx_cfg007_s cn52xx;
284 struct cvmx_pciercx_cfg007_s cn52xxp1; 373 struct cvmx_pciercx_cfg007_s cn52xxp1;
@@ -290,15 +379,23 @@ union cvmx_pciercx_cfg007 {
290 struct cvmx_pciercx_cfg007_s cn66xx; 379 struct cvmx_pciercx_cfg007_s cn66xx;
291 struct cvmx_pciercx_cfg007_s cn68xx; 380 struct cvmx_pciercx_cfg007_s cn68xx;
292 struct cvmx_pciercx_cfg007_s cn68xxp1; 381 struct cvmx_pciercx_cfg007_s cn68xxp1;
382 struct cvmx_pciercx_cfg007_s cnf71xx;
293}; 383};
294 384
295union cvmx_pciercx_cfg008 { 385union cvmx_pciercx_cfg008 {
296 uint32_t u32; 386 uint32_t u32;
297 struct cvmx_pciercx_cfg008_s { 387 struct cvmx_pciercx_cfg008_s {
388#ifdef __BIG_ENDIAN_BITFIELD
298 uint32_t ml_addr:12; 389 uint32_t ml_addr:12;
299 uint32_t reserved_16_19:4; 390 uint32_t reserved_16_19:4;
300 uint32_t mb_addr:12; 391 uint32_t mb_addr:12;
301 uint32_t reserved_0_3:4; 392 uint32_t reserved_0_3:4;
393#else
394 uint32_t reserved_0_3:4;
395 uint32_t mb_addr:12;
396 uint32_t reserved_16_19:4;
397 uint32_t ml_addr:12;
398#endif
302 } s; 399 } s;
303 struct cvmx_pciercx_cfg008_s cn52xx; 400 struct cvmx_pciercx_cfg008_s cn52xx;
304 struct cvmx_pciercx_cfg008_s cn52xxp1; 401 struct cvmx_pciercx_cfg008_s cn52xxp1;
@@ -310,17 +407,27 @@ union cvmx_pciercx_cfg008 {
310 struct cvmx_pciercx_cfg008_s cn66xx; 407 struct cvmx_pciercx_cfg008_s cn66xx;
311 struct cvmx_pciercx_cfg008_s cn68xx; 408 struct cvmx_pciercx_cfg008_s cn68xx;
312 struct cvmx_pciercx_cfg008_s cn68xxp1; 409 struct cvmx_pciercx_cfg008_s cn68xxp1;
410 struct cvmx_pciercx_cfg008_s cnf71xx;
313}; 411};
314 412
315union cvmx_pciercx_cfg009 { 413union cvmx_pciercx_cfg009 {
316 uint32_t u32; 414 uint32_t u32;
317 struct cvmx_pciercx_cfg009_s { 415 struct cvmx_pciercx_cfg009_s {
416#ifdef __BIG_ENDIAN_BITFIELD
318 uint32_t lmem_limit:12; 417 uint32_t lmem_limit:12;
319 uint32_t reserved_17_19:3; 418 uint32_t reserved_17_19:3;
320 uint32_t mem64b:1; 419 uint32_t mem64b:1;
321 uint32_t lmem_base:12; 420 uint32_t lmem_base:12;
322 uint32_t reserved_1_3:3; 421 uint32_t reserved_1_3:3;
323 uint32_t mem64a:1; 422 uint32_t mem64a:1;
423#else
424 uint32_t mem64a:1;
425 uint32_t reserved_1_3:3;
426 uint32_t lmem_base:12;
427 uint32_t mem64b:1;
428 uint32_t reserved_17_19:3;
429 uint32_t lmem_limit:12;
430#endif
324 } s; 431 } s;
325 struct cvmx_pciercx_cfg009_s cn52xx; 432 struct cvmx_pciercx_cfg009_s cn52xx;
326 struct cvmx_pciercx_cfg009_s cn52xxp1; 433 struct cvmx_pciercx_cfg009_s cn52xxp1;
@@ -332,12 +439,17 @@ union cvmx_pciercx_cfg009 {
332 struct cvmx_pciercx_cfg009_s cn66xx; 439 struct cvmx_pciercx_cfg009_s cn66xx;
333 struct cvmx_pciercx_cfg009_s cn68xx; 440 struct cvmx_pciercx_cfg009_s cn68xx;
334 struct cvmx_pciercx_cfg009_s cn68xxp1; 441 struct cvmx_pciercx_cfg009_s cn68xxp1;
442 struct cvmx_pciercx_cfg009_s cnf71xx;
335}; 443};
336 444
337union cvmx_pciercx_cfg010 { 445union cvmx_pciercx_cfg010 {
338 uint32_t u32; 446 uint32_t u32;
339 struct cvmx_pciercx_cfg010_s { 447 struct cvmx_pciercx_cfg010_s {
448#ifdef __BIG_ENDIAN_BITFIELD
340 uint32_t umem_base:32; 449 uint32_t umem_base:32;
450#else
451 uint32_t umem_base:32;
452#endif
341 } s; 453 } s;
342 struct cvmx_pciercx_cfg010_s cn52xx; 454 struct cvmx_pciercx_cfg010_s cn52xx;
343 struct cvmx_pciercx_cfg010_s cn52xxp1; 455 struct cvmx_pciercx_cfg010_s cn52xxp1;
@@ -349,12 +461,17 @@ union cvmx_pciercx_cfg010 {
349 struct cvmx_pciercx_cfg010_s cn66xx; 461 struct cvmx_pciercx_cfg010_s cn66xx;
350 struct cvmx_pciercx_cfg010_s cn68xx; 462 struct cvmx_pciercx_cfg010_s cn68xx;
351 struct cvmx_pciercx_cfg010_s cn68xxp1; 463 struct cvmx_pciercx_cfg010_s cn68xxp1;
464 struct cvmx_pciercx_cfg010_s cnf71xx;
352}; 465};
353 466
354union cvmx_pciercx_cfg011 { 467union cvmx_pciercx_cfg011 {
355 uint32_t u32; 468 uint32_t u32;
356 struct cvmx_pciercx_cfg011_s { 469 struct cvmx_pciercx_cfg011_s {
470#ifdef __BIG_ENDIAN_BITFIELD
357 uint32_t umem_limit:32; 471 uint32_t umem_limit:32;
472#else
473 uint32_t umem_limit:32;
474#endif
358 } s; 475 } s;
359 struct cvmx_pciercx_cfg011_s cn52xx; 476 struct cvmx_pciercx_cfg011_s cn52xx;
360 struct cvmx_pciercx_cfg011_s cn52xxp1; 477 struct cvmx_pciercx_cfg011_s cn52xxp1;
@@ -366,13 +483,19 @@ union cvmx_pciercx_cfg011 {
366 struct cvmx_pciercx_cfg011_s cn66xx; 483 struct cvmx_pciercx_cfg011_s cn66xx;
367 struct cvmx_pciercx_cfg011_s cn68xx; 484 struct cvmx_pciercx_cfg011_s cn68xx;
368 struct cvmx_pciercx_cfg011_s cn68xxp1; 485 struct cvmx_pciercx_cfg011_s cn68xxp1;
486 struct cvmx_pciercx_cfg011_s cnf71xx;
369}; 487};
370 488
371union cvmx_pciercx_cfg012 { 489union cvmx_pciercx_cfg012 {
372 uint32_t u32; 490 uint32_t u32;
373 struct cvmx_pciercx_cfg012_s { 491 struct cvmx_pciercx_cfg012_s {
492#ifdef __BIG_ENDIAN_BITFIELD
374 uint32_t uio_limit:16; 493 uint32_t uio_limit:16;
375 uint32_t uio_base:16; 494 uint32_t uio_base:16;
495#else
496 uint32_t uio_base:16;
497 uint32_t uio_limit:16;
498#endif
376 } s; 499 } s;
377 struct cvmx_pciercx_cfg012_s cn52xx; 500 struct cvmx_pciercx_cfg012_s cn52xx;
378 struct cvmx_pciercx_cfg012_s cn52xxp1; 501 struct cvmx_pciercx_cfg012_s cn52xxp1;
@@ -384,13 +507,19 @@ union cvmx_pciercx_cfg012 {
384 struct cvmx_pciercx_cfg012_s cn66xx; 507 struct cvmx_pciercx_cfg012_s cn66xx;
385 struct cvmx_pciercx_cfg012_s cn68xx; 508 struct cvmx_pciercx_cfg012_s cn68xx;
386 struct cvmx_pciercx_cfg012_s cn68xxp1; 509 struct cvmx_pciercx_cfg012_s cn68xxp1;
510 struct cvmx_pciercx_cfg012_s cnf71xx;
387}; 511};
388 512
389union cvmx_pciercx_cfg013 { 513union cvmx_pciercx_cfg013 {
390 uint32_t u32; 514 uint32_t u32;
391 struct cvmx_pciercx_cfg013_s { 515 struct cvmx_pciercx_cfg013_s {
516#ifdef __BIG_ENDIAN_BITFIELD
392 uint32_t reserved_8_31:24; 517 uint32_t reserved_8_31:24;
393 uint32_t cp:8; 518 uint32_t cp:8;
519#else
520 uint32_t cp:8;
521 uint32_t reserved_8_31:24;
522#endif
394 } s; 523 } s;
395 struct cvmx_pciercx_cfg013_s cn52xx; 524 struct cvmx_pciercx_cfg013_s cn52xx;
396 struct cvmx_pciercx_cfg013_s cn52xxp1; 525 struct cvmx_pciercx_cfg013_s cn52xxp1;
@@ -402,12 +531,17 @@ union cvmx_pciercx_cfg013 {
402 struct cvmx_pciercx_cfg013_s cn66xx; 531 struct cvmx_pciercx_cfg013_s cn66xx;
403 struct cvmx_pciercx_cfg013_s cn68xx; 532 struct cvmx_pciercx_cfg013_s cn68xx;
404 struct cvmx_pciercx_cfg013_s cn68xxp1; 533 struct cvmx_pciercx_cfg013_s cn68xxp1;
534 struct cvmx_pciercx_cfg013_s cnf71xx;
405}; 535};
406 536
407union cvmx_pciercx_cfg014 { 537union cvmx_pciercx_cfg014 {
408 uint32_t u32; 538 uint32_t u32;
409 struct cvmx_pciercx_cfg014_s { 539 struct cvmx_pciercx_cfg014_s {
540#ifdef __BIG_ENDIAN_BITFIELD
541 uint32_t reserved_0_31:32;
542#else
410 uint32_t reserved_0_31:32; 543 uint32_t reserved_0_31:32;
544#endif
411 } s; 545 } s;
412 struct cvmx_pciercx_cfg014_s cn52xx; 546 struct cvmx_pciercx_cfg014_s cn52xx;
413 struct cvmx_pciercx_cfg014_s cn52xxp1; 547 struct cvmx_pciercx_cfg014_s cn52xxp1;
@@ -419,11 +553,13 @@ union cvmx_pciercx_cfg014 {
419 struct cvmx_pciercx_cfg014_s cn66xx; 553 struct cvmx_pciercx_cfg014_s cn66xx;
420 struct cvmx_pciercx_cfg014_s cn68xx; 554 struct cvmx_pciercx_cfg014_s cn68xx;
421 struct cvmx_pciercx_cfg014_s cn68xxp1; 555 struct cvmx_pciercx_cfg014_s cn68xxp1;
556 struct cvmx_pciercx_cfg014_s cnf71xx;
422}; 557};
423 558
424union cvmx_pciercx_cfg015 { 559union cvmx_pciercx_cfg015 {
425 uint32_t u32; 560 uint32_t u32;
426 struct cvmx_pciercx_cfg015_s { 561 struct cvmx_pciercx_cfg015_s {
562#ifdef __BIG_ENDIAN_BITFIELD
427 uint32_t reserved_28_31:4; 563 uint32_t reserved_28_31:4;
428 uint32_t dtsees:1; 564 uint32_t dtsees:1;
429 uint32_t dts:1; 565 uint32_t dts:1;
@@ -439,6 +575,23 @@ union cvmx_pciercx_cfg015 {
439 uint32_t pere:1; 575 uint32_t pere:1;
440 uint32_t inta:8; 576 uint32_t inta:8;
441 uint32_t il:8; 577 uint32_t il:8;
578#else
579 uint32_t il:8;
580 uint32_t inta:8;
581 uint32_t pere:1;
582 uint32_t see:1;
583 uint32_t isae:1;
584 uint32_t vgae:1;
585 uint32_t vga16d:1;
586 uint32_t mam:1;
587 uint32_t sbrst:1;
588 uint32_t fbbe:1;
589 uint32_t pdt:1;
590 uint32_t sdt:1;
591 uint32_t dts:1;
592 uint32_t dtsees:1;
593 uint32_t reserved_28_31:4;
594#endif
442 } s; 595 } s;
443 struct cvmx_pciercx_cfg015_s cn52xx; 596 struct cvmx_pciercx_cfg015_s cn52xx;
444 struct cvmx_pciercx_cfg015_s cn52xxp1; 597 struct cvmx_pciercx_cfg015_s cn52xxp1;
@@ -450,11 +603,13 @@ union cvmx_pciercx_cfg015 {
450 struct cvmx_pciercx_cfg015_s cn66xx; 603 struct cvmx_pciercx_cfg015_s cn66xx;
451 struct cvmx_pciercx_cfg015_s cn68xx; 604 struct cvmx_pciercx_cfg015_s cn68xx;
452 struct cvmx_pciercx_cfg015_s cn68xxp1; 605 struct cvmx_pciercx_cfg015_s cn68xxp1;
606 struct cvmx_pciercx_cfg015_s cnf71xx;
453}; 607};
454 608
455union cvmx_pciercx_cfg016 { 609union cvmx_pciercx_cfg016 {
456 uint32_t u32; 610 uint32_t u32;
457 struct cvmx_pciercx_cfg016_s { 611 struct cvmx_pciercx_cfg016_s {
612#ifdef __BIG_ENDIAN_BITFIELD
458 uint32_t pmes:5; 613 uint32_t pmes:5;
459 uint32_t d2s:1; 614 uint32_t d2s:1;
460 uint32_t d1s:1; 615 uint32_t d1s:1;
@@ -465,6 +620,18 @@ union cvmx_pciercx_cfg016 {
465 uint32_t pmsv:3; 620 uint32_t pmsv:3;
466 uint32_t ncp:8; 621 uint32_t ncp:8;
467 uint32_t pmcid:8; 622 uint32_t pmcid:8;
623#else
624 uint32_t pmcid:8;
625 uint32_t ncp:8;
626 uint32_t pmsv:3;
627 uint32_t pme_clock:1;
628 uint32_t reserved_20_20:1;
629 uint32_t dsi:1;
630 uint32_t auxc:3;
631 uint32_t d1s:1;
632 uint32_t d2s:1;
633 uint32_t pmes:5;
634#endif
468 } s; 635 } s;
469 struct cvmx_pciercx_cfg016_s cn52xx; 636 struct cvmx_pciercx_cfg016_s cn52xx;
470 struct cvmx_pciercx_cfg016_s cn52xxp1; 637 struct cvmx_pciercx_cfg016_s cn52xxp1;
@@ -476,11 +643,13 @@ union cvmx_pciercx_cfg016 {
476 struct cvmx_pciercx_cfg016_s cn66xx; 643 struct cvmx_pciercx_cfg016_s cn66xx;
477 struct cvmx_pciercx_cfg016_s cn68xx; 644 struct cvmx_pciercx_cfg016_s cn68xx;
478 struct cvmx_pciercx_cfg016_s cn68xxp1; 645 struct cvmx_pciercx_cfg016_s cn68xxp1;
646 struct cvmx_pciercx_cfg016_s cnf71xx;
479}; 647};
480 648
481union cvmx_pciercx_cfg017 { 649union cvmx_pciercx_cfg017 {
482 uint32_t u32; 650 uint32_t u32;
483 struct cvmx_pciercx_cfg017_s { 651 struct cvmx_pciercx_cfg017_s {
652#ifdef __BIG_ENDIAN_BITFIELD
484 uint32_t pmdia:8; 653 uint32_t pmdia:8;
485 uint32_t bpccee:1; 654 uint32_t bpccee:1;
486 uint32_t bd3h:1; 655 uint32_t bd3h:1;
@@ -493,6 +662,20 @@ union cvmx_pciercx_cfg017 {
493 uint32_t nsr:1; 662 uint32_t nsr:1;
494 uint32_t reserved_2_2:1; 663 uint32_t reserved_2_2:1;
495 uint32_t ps:2; 664 uint32_t ps:2;
665#else
666 uint32_t ps:2;
667 uint32_t reserved_2_2:1;
668 uint32_t nsr:1;
669 uint32_t reserved_4_7:4;
670 uint32_t pmeens:1;
671 uint32_t pmds:4;
672 uint32_t pmedsia:2;
673 uint32_t pmess:1;
674 uint32_t reserved_16_21:6;
675 uint32_t bd3h:1;
676 uint32_t bpccee:1;
677 uint32_t pmdia:8;
678#endif
496 } s; 679 } s;
497 struct cvmx_pciercx_cfg017_s cn52xx; 680 struct cvmx_pciercx_cfg017_s cn52xx;
498 struct cvmx_pciercx_cfg017_s cn52xxp1; 681 struct cvmx_pciercx_cfg017_s cn52xxp1;
@@ -504,11 +687,13 @@ union cvmx_pciercx_cfg017 {
504 struct cvmx_pciercx_cfg017_s cn66xx; 687 struct cvmx_pciercx_cfg017_s cn66xx;
505 struct cvmx_pciercx_cfg017_s cn68xx; 688 struct cvmx_pciercx_cfg017_s cn68xx;
506 struct cvmx_pciercx_cfg017_s cn68xxp1; 689 struct cvmx_pciercx_cfg017_s cn68xxp1;
690 struct cvmx_pciercx_cfg017_s cnf71xx;
507}; 691};
508 692
509union cvmx_pciercx_cfg020 { 693union cvmx_pciercx_cfg020 {
510 uint32_t u32; 694 uint32_t u32;
511 struct cvmx_pciercx_cfg020_s { 695 struct cvmx_pciercx_cfg020_s {
696#ifdef __BIG_ENDIAN_BITFIELD
512 uint32_t reserved_25_31:7; 697 uint32_t reserved_25_31:7;
513 uint32_t pvm:1; 698 uint32_t pvm:1;
514 uint32_t m64:1; 699 uint32_t m64:1;
@@ -517,8 +702,19 @@ union cvmx_pciercx_cfg020 {
517 uint32_t msien:1; 702 uint32_t msien:1;
518 uint32_t ncp:8; 703 uint32_t ncp:8;
519 uint32_t msicid:8; 704 uint32_t msicid:8;
705#else
706 uint32_t msicid:8;
707 uint32_t ncp:8;
708 uint32_t msien:1;
709 uint32_t mmc:3;
710 uint32_t mme:3;
711 uint32_t m64:1;
712 uint32_t pvm:1;
713 uint32_t reserved_25_31:7;
714#endif
520 } s; 715 } s;
521 struct cvmx_pciercx_cfg020_cn52xx { 716 struct cvmx_pciercx_cfg020_cn52xx {
717#ifdef __BIG_ENDIAN_BITFIELD
522 uint32_t reserved_24_31:8; 718 uint32_t reserved_24_31:8;
523 uint32_t m64:1; 719 uint32_t m64:1;
524 uint32_t mme:3; 720 uint32_t mme:3;
@@ -526,6 +722,15 @@ union cvmx_pciercx_cfg020 {
526 uint32_t msien:1; 722 uint32_t msien:1;
527 uint32_t ncp:8; 723 uint32_t ncp:8;
528 uint32_t msicid:8; 724 uint32_t msicid:8;
725#else
726 uint32_t msicid:8;
727 uint32_t ncp:8;
728 uint32_t msien:1;
729 uint32_t mmc:3;
730 uint32_t mme:3;
731 uint32_t m64:1;
732 uint32_t reserved_24_31:8;
733#endif
529 } cn52xx; 734 } cn52xx;
530 struct cvmx_pciercx_cfg020_cn52xx cn52xxp1; 735 struct cvmx_pciercx_cfg020_cn52xx cn52xxp1;
531 struct cvmx_pciercx_cfg020_cn52xx cn56xx; 736 struct cvmx_pciercx_cfg020_cn52xx cn56xx;
@@ -536,13 +741,19 @@ union cvmx_pciercx_cfg020 {
536 struct cvmx_pciercx_cfg020_cn52xx cn66xx; 741 struct cvmx_pciercx_cfg020_cn52xx cn66xx;
537 struct cvmx_pciercx_cfg020_cn52xx cn68xx; 742 struct cvmx_pciercx_cfg020_cn52xx cn68xx;
538 struct cvmx_pciercx_cfg020_cn52xx cn68xxp1; 743 struct cvmx_pciercx_cfg020_cn52xx cn68xxp1;
744 struct cvmx_pciercx_cfg020_s cnf71xx;
539}; 745};
540 746
541union cvmx_pciercx_cfg021 { 747union cvmx_pciercx_cfg021 {
542 uint32_t u32; 748 uint32_t u32;
543 struct cvmx_pciercx_cfg021_s { 749 struct cvmx_pciercx_cfg021_s {
750#ifdef __BIG_ENDIAN_BITFIELD
544 uint32_t lmsi:30; 751 uint32_t lmsi:30;
545 uint32_t reserved_0_1:2; 752 uint32_t reserved_0_1:2;
753#else
754 uint32_t reserved_0_1:2;
755 uint32_t lmsi:30;
756#endif
546 } s; 757 } s;
547 struct cvmx_pciercx_cfg021_s cn52xx; 758 struct cvmx_pciercx_cfg021_s cn52xx;
548 struct cvmx_pciercx_cfg021_s cn52xxp1; 759 struct cvmx_pciercx_cfg021_s cn52xxp1;
@@ -554,12 +765,17 @@ union cvmx_pciercx_cfg021 {
554 struct cvmx_pciercx_cfg021_s cn66xx; 765 struct cvmx_pciercx_cfg021_s cn66xx;
555 struct cvmx_pciercx_cfg021_s cn68xx; 766 struct cvmx_pciercx_cfg021_s cn68xx;
556 struct cvmx_pciercx_cfg021_s cn68xxp1; 767 struct cvmx_pciercx_cfg021_s cn68xxp1;
768 struct cvmx_pciercx_cfg021_s cnf71xx;
557}; 769};
558 770
559union cvmx_pciercx_cfg022 { 771union cvmx_pciercx_cfg022 {
560 uint32_t u32; 772 uint32_t u32;
561 struct cvmx_pciercx_cfg022_s { 773 struct cvmx_pciercx_cfg022_s {
774#ifdef __BIG_ENDIAN_BITFIELD
562 uint32_t umsi:32; 775 uint32_t umsi:32;
776#else
777 uint32_t umsi:32;
778#endif
563 } s; 779 } s;
564 struct cvmx_pciercx_cfg022_s cn52xx; 780 struct cvmx_pciercx_cfg022_s cn52xx;
565 struct cvmx_pciercx_cfg022_s cn52xxp1; 781 struct cvmx_pciercx_cfg022_s cn52xxp1;
@@ -571,13 +787,19 @@ union cvmx_pciercx_cfg022 {
571 struct cvmx_pciercx_cfg022_s cn66xx; 787 struct cvmx_pciercx_cfg022_s cn66xx;
572 struct cvmx_pciercx_cfg022_s cn68xx; 788 struct cvmx_pciercx_cfg022_s cn68xx;
573 struct cvmx_pciercx_cfg022_s cn68xxp1; 789 struct cvmx_pciercx_cfg022_s cn68xxp1;
790 struct cvmx_pciercx_cfg022_s cnf71xx;
574}; 791};
575 792
576union cvmx_pciercx_cfg023 { 793union cvmx_pciercx_cfg023 {
577 uint32_t u32; 794 uint32_t u32;
578 struct cvmx_pciercx_cfg023_s { 795 struct cvmx_pciercx_cfg023_s {
796#ifdef __BIG_ENDIAN_BITFIELD
579 uint32_t reserved_16_31:16; 797 uint32_t reserved_16_31:16;
580 uint32_t msimd:16; 798 uint32_t msimd:16;
799#else
800 uint32_t msimd:16;
801 uint32_t reserved_16_31:16;
802#endif
581 } s; 803 } s;
582 struct cvmx_pciercx_cfg023_s cn52xx; 804 struct cvmx_pciercx_cfg023_s cn52xx;
583 struct cvmx_pciercx_cfg023_s cn52xxp1; 805 struct cvmx_pciercx_cfg023_s cn52xxp1;
@@ -589,11 +811,13 @@ union cvmx_pciercx_cfg023 {
589 struct cvmx_pciercx_cfg023_s cn66xx; 811 struct cvmx_pciercx_cfg023_s cn66xx;
590 struct cvmx_pciercx_cfg023_s cn68xx; 812 struct cvmx_pciercx_cfg023_s cn68xx;
591 struct cvmx_pciercx_cfg023_s cn68xxp1; 813 struct cvmx_pciercx_cfg023_s cn68xxp1;
814 struct cvmx_pciercx_cfg023_s cnf71xx;
592}; 815};
593 816
594union cvmx_pciercx_cfg028 { 817union cvmx_pciercx_cfg028 {
595 uint32_t u32; 818 uint32_t u32;
596 struct cvmx_pciercx_cfg028_s { 819 struct cvmx_pciercx_cfg028_s {
820#ifdef __BIG_ENDIAN_BITFIELD
597 uint32_t reserved_30_31:2; 821 uint32_t reserved_30_31:2;
598 uint32_t imn:5; 822 uint32_t imn:5;
599 uint32_t si:1; 823 uint32_t si:1;
@@ -601,6 +825,15 @@ union cvmx_pciercx_cfg028 {
601 uint32_t pciecv:4; 825 uint32_t pciecv:4;
602 uint32_t ncp:8; 826 uint32_t ncp:8;
603 uint32_t pcieid:8; 827 uint32_t pcieid:8;
828#else
829 uint32_t pcieid:8;
830 uint32_t ncp:8;
831 uint32_t pciecv:4;
832 uint32_t dpt:4;
833 uint32_t si:1;
834 uint32_t imn:5;
835 uint32_t reserved_30_31:2;
836#endif
604 } s; 837 } s;
605 struct cvmx_pciercx_cfg028_s cn52xx; 838 struct cvmx_pciercx_cfg028_s cn52xx;
606 struct cvmx_pciercx_cfg028_s cn52xxp1; 839 struct cvmx_pciercx_cfg028_s cn52xxp1;
@@ -612,11 +845,13 @@ union cvmx_pciercx_cfg028 {
612 struct cvmx_pciercx_cfg028_s cn66xx; 845 struct cvmx_pciercx_cfg028_s cn66xx;
613 struct cvmx_pciercx_cfg028_s cn68xx; 846 struct cvmx_pciercx_cfg028_s cn68xx;
614 struct cvmx_pciercx_cfg028_s cn68xxp1; 847 struct cvmx_pciercx_cfg028_s cn68xxp1;
848 struct cvmx_pciercx_cfg028_s cnf71xx;
615}; 849};
616 850
617union cvmx_pciercx_cfg029 { 851union cvmx_pciercx_cfg029 {
618 uint32_t u32; 852 uint32_t u32;
619 struct cvmx_pciercx_cfg029_s { 853 struct cvmx_pciercx_cfg029_s {
854#ifdef __BIG_ENDIAN_BITFIELD
620 uint32_t reserved_28_31:4; 855 uint32_t reserved_28_31:4;
621 uint32_t cspls:2; 856 uint32_t cspls:2;
622 uint32_t csplv:8; 857 uint32_t csplv:8;
@@ -628,6 +863,19 @@ union cvmx_pciercx_cfg029 {
628 uint32_t etfs:1; 863 uint32_t etfs:1;
629 uint32_t pfs:2; 864 uint32_t pfs:2;
630 uint32_t mpss:3; 865 uint32_t mpss:3;
866#else
867 uint32_t mpss:3;
868 uint32_t pfs:2;
869 uint32_t etfs:1;
870 uint32_t el0al:3;
871 uint32_t el1al:3;
872 uint32_t reserved_12_14:3;
873 uint32_t rber:1;
874 uint32_t reserved_16_17:2;
875 uint32_t csplv:8;
876 uint32_t cspls:2;
877 uint32_t reserved_28_31:4;
878#endif
631 } s; 879 } s;
632 struct cvmx_pciercx_cfg029_s cn52xx; 880 struct cvmx_pciercx_cfg029_s cn52xx;
633 struct cvmx_pciercx_cfg029_s cn52xxp1; 881 struct cvmx_pciercx_cfg029_s cn52xxp1;
@@ -639,11 +887,13 @@ union cvmx_pciercx_cfg029 {
639 struct cvmx_pciercx_cfg029_s cn66xx; 887 struct cvmx_pciercx_cfg029_s cn66xx;
640 struct cvmx_pciercx_cfg029_s cn68xx; 888 struct cvmx_pciercx_cfg029_s cn68xx;
641 struct cvmx_pciercx_cfg029_s cn68xxp1; 889 struct cvmx_pciercx_cfg029_s cn68xxp1;
890 struct cvmx_pciercx_cfg029_s cnf71xx;
642}; 891};
643 892
644union cvmx_pciercx_cfg030 { 893union cvmx_pciercx_cfg030 {
645 uint32_t u32; 894 uint32_t u32;
646 struct cvmx_pciercx_cfg030_s { 895 struct cvmx_pciercx_cfg030_s {
896#ifdef __BIG_ENDIAN_BITFIELD
647 uint32_t reserved_22_31:10; 897 uint32_t reserved_22_31:10;
648 uint32_t tp:1; 898 uint32_t tp:1;
649 uint32_t ap_d:1; 899 uint32_t ap_d:1;
@@ -663,6 +913,27 @@ union cvmx_pciercx_cfg030 {
663 uint32_t fe_en:1; 913 uint32_t fe_en:1;
664 uint32_t nfe_en:1; 914 uint32_t nfe_en:1;
665 uint32_t ce_en:1; 915 uint32_t ce_en:1;
916#else
917 uint32_t ce_en:1;
918 uint32_t nfe_en:1;
919 uint32_t fe_en:1;
920 uint32_t ur_en:1;
921 uint32_t ro_en:1;
922 uint32_t mps:3;
923 uint32_t etf_en:1;
924 uint32_t pf_en:1;
925 uint32_t ap_en:1;
926 uint32_t ns_en:1;
927 uint32_t mrrs:3;
928 uint32_t reserved_15_15:1;
929 uint32_t ce_d:1;
930 uint32_t nfe_d:1;
931 uint32_t fe_d:1;
932 uint32_t ur_d:1;
933 uint32_t ap_d:1;
934 uint32_t tp:1;
935 uint32_t reserved_22_31:10;
936#endif
666 } s; 937 } s;
667 struct cvmx_pciercx_cfg030_s cn52xx; 938 struct cvmx_pciercx_cfg030_s cn52xx;
668 struct cvmx_pciercx_cfg030_s cn52xxp1; 939 struct cvmx_pciercx_cfg030_s cn52xxp1;
@@ -674,11 +945,13 @@ union cvmx_pciercx_cfg030 {
674 struct cvmx_pciercx_cfg030_s cn66xx; 945 struct cvmx_pciercx_cfg030_s cn66xx;
675 struct cvmx_pciercx_cfg030_s cn68xx; 946 struct cvmx_pciercx_cfg030_s cn68xx;
676 struct cvmx_pciercx_cfg030_s cn68xxp1; 947 struct cvmx_pciercx_cfg030_s cn68xxp1;
948 struct cvmx_pciercx_cfg030_s cnf71xx;
677}; 949};
678 950
679union cvmx_pciercx_cfg031 { 951union cvmx_pciercx_cfg031 {
680 uint32_t u32; 952 uint32_t u32;
681 struct cvmx_pciercx_cfg031_s { 953 struct cvmx_pciercx_cfg031_s {
954#ifdef __BIG_ENDIAN_BITFIELD
682 uint32_t pnum:8; 955 uint32_t pnum:8;
683 uint32_t reserved_23_23:1; 956 uint32_t reserved_23_23:1;
684 uint32_t aspm:1; 957 uint32_t aspm:1;
@@ -691,8 +964,23 @@ union cvmx_pciercx_cfg031 {
691 uint32_t aslpms:2; 964 uint32_t aslpms:2;
692 uint32_t mlw:6; 965 uint32_t mlw:6;
693 uint32_t mls:4; 966 uint32_t mls:4;
967#else
968 uint32_t mls:4;
969 uint32_t mlw:6;
970 uint32_t aslpms:2;
971 uint32_t l0el:3;
972 uint32_t l1el:3;
973 uint32_t cpm:1;
974 uint32_t sderc:1;
975 uint32_t dllarc:1;
976 uint32_t lbnc:1;
977 uint32_t aspm:1;
978 uint32_t reserved_23_23:1;
979 uint32_t pnum:8;
980#endif
694 } s; 981 } s;
695 struct cvmx_pciercx_cfg031_cn52xx { 982 struct cvmx_pciercx_cfg031_cn52xx {
983#ifdef __BIG_ENDIAN_BITFIELD
696 uint32_t pnum:8; 984 uint32_t pnum:8;
697 uint32_t reserved_22_23:2; 985 uint32_t reserved_22_23:2;
698 uint32_t lbnc:1; 986 uint32_t lbnc:1;
@@ -704,6 +992,19 @@ union cvmx_pciercx_cfg031 {
704 uint32_t aslpms:2; 992 uint32_t aslpms:2;
705 uint32_t mlw:6; 993 uint32_t mlw:6;
706 uint32_t mls:4; 994 uint32_t mls:4;
995#else
996 uint32_t mls:4;
997 uint32_t mlw:6;
998 uint32_t aslpms:2;
999 uint32_t l0el:3;
1000 uint32_t l1el:3;
1001 uint32_t cpm:1;
1002 uint32_t sderc:1;
1003 uint32_t dllarc:1;
1004 uint32_t lbnc:1;
1005 uint32_t reserved_22_23:2;
1006 uint32_t pnum:8;
1007#endif
707 } cn52xx; 1008 } cn52xx;
708 struct cvmx_pciercx_cfg031_cn52xx cn52xxp1; 1009 struct cvmx_pciercx_cfg031_cn52xx cn52xxp1;
709 struct cvmx_pciercx_cfg031_cn52xx cn56xx; 1010 struct cvmx_pciercx_cfg031_cn52xx cn56xx;
@@ -714,11 +1015,13 @@ union cvmx_pciercx_cfg031 {
714 struct cvmx_pciercx_cfg031_s cn66xx; 1015 struct cvmx_pciercx_cfg031_s cn66xx;
715 struct cvmx_pciercx_cfg031_s cn68xx; 1016 struct cvmx_pciercx_cfg031_s cn68xx;
716 struct cvmx_pciercx_cfg031_cn52xx cn68xxp1; 1017 struct cvmx_pciercx_cfg031_cn52xx cn68xxp1;
1018 struct cvmx_pciercx_cfg031_s cnf71xx;
717}; 1019};
718 1020
719union cvmx_pciercx_cfg032 { 1021union cvmx_pciercx_cfg032 {
720 uint32_t u32; 1022 uint32_t u32;
721 struct cvmx_pciercx_cfg032_s { 1023 struct cvmx_pciercx_cfg032_s {
1024#ifdef __BIG_ENDIAN_BITFIELD
722 uint32_t lab:1; 1025 uint32_t lab:1;
723 uint32_t lbm:1; 1026 uint32_t lbm:1;
724 uint32_t dlla:1; 1027 uint32_t dlla:1;
@@ -739,6 +1042,28 @@ union cvmx_pciercx_cfg032 {
739 uint32_t rcb:1; 1042 uint32_t rcb:1;
740 uint32_t reserved_2_2:1; 1043 uint32_t reserved_2_2:1;
741 uint32_t aslpc:2; 1044 uint32_t aslpc:2;
1045#else
1046 uint32_t aslpc:2;
1047 uint32_t reserved_2_2:1;
1048 uint32_t rcb:1;
1049 uint32_t ld:1;
1050 uint32_t rl:1;
1051 uint32_t ccc:1;
1052 uint32_t es:1;
1053 uint32_t ecpm:1;
1054 uint32_t hawd:1;
1055 uint32_t lbm_int_enb:1;
1056 uint32_t lab_int_enb:1;
1057 uint32_t reserved_12_15:4;
1058 uint32_t ls:4;
1059 uint32_t nlw:6;
1060 uint32_t reserved_26_26:1;
1061 uint32_t lt:1;
1062 uint32_t scc:1;
1063 uint32_t dlla:1;
1064 uint32_t lbm:1;
1065 uint32_t lab:1;
1066#endif
742 } s; 1067 } s;
743 struct cvmx_pciercx_cfg032_s cn52xx; 1068 struct cvmx_pciercx_cfg032_s cn52xx;
744 struct cvmx_pciercx_cfg032_s cn52xxp1; 1069 struct cvmx_pciercx_cfg032_s cn52xxp1;
@@ -750,11 +1075,13 @@ union cvmx_pciercx_cfg032 {
750 struct cvmx_pciercx_cfg032_s cn66xx; 1075 struct cvmx_pciercx_cfg032_s cn66xx;
751 struct cvmx_pciercx_cfg032_s cn68xx; 1076 struct cvmx_pciercx_cfg032_s cn68xx;
752 struct cvmx_pciercx_cfg032_s cn68xxp1; 1077 struct cvmx_pciercx_cfg032_s cn68xxp1;
1078 struct cvmx_pciercx_cfg032_s cnf71xx;
753}; 1079};
754 1080
755union cvmx_pciercx_cfg033 { 1081union cvmx_pciercx_cfg033 {
756 uint32_t u32; 1082 uint32_t u32;
757 struct cvmx_pciercx_cfg033_s { 1083 struct cvmx_pciercx_cfg033_s {
1084#ifdef __BIG_ENDIAN_BITFIELD
758 uint32_t ps_num:13; 1085 uint32_t ps_num:13;
759 uint32_t nccs:1; 1086 uint32_t nccs:1;
760 uint32_t emip:1; 1087 uint32_t emip:1;
@@ -767,6 +1094,20 @@ union cvmx_pciercx_cfg033 {
767 uint32_t mrlsp:1; 1094 uint32_t mrlsp:1;
768 uint32_t pcp:1; 1095 uint32_t pcp:1;
769 uint32_t abp:1; 1096 uint32_t abp:1;
1097#else
1098 uint32_t abp:1;
1099 uint32_t pcp:1;
1100 uint32_t mrlsp:1;
1101 uint32_t aip:1;
1102 uint32_t pip:1;
1103 uint32_t hp_s:1;
1104 uint32_t hp_c:1;
1105 uint32_t sp_lv:8;
1106 uint32_t sp_ls:2;
1107 uint32_t emip:1;
1108 uint32_t nccs:1;
1109 uint32_t ps_num:13;
1110#endif
770 } s; 1111 } s;
771 struct cvmx_pciercx_cfg033_s cn52xx; 1112 struct cvmx_pciercx_cfg033_s cn52xx;
772 struct cvmx_pciercx_cfg033_s cn52xxp1; 1113 struct cvmx_pciercx_cfg033_s cn52xxp1;
@@ -778,11 +1119,13 @@ union cvmx_pciercx_cfg033 {
778 struct cvmx_pciercx_cfg033_s cn66xx; 1119 struct cvmx_pciercx_cfg033_s cn66xx;
779 struct cvmx_pciercx_cfg033_s cn68xx; 1120 struct cvmx_pciercx_cfg033_s cn68xx;
780 struct cvmx_pciercx_cfg033_s cn68xxp1; 1121 struct cvmx_pciercx_cfg033_s cn68xxp1;
1122 struct cvmx_pciercx_cfg033_s cnf71xx;
781}; 1123};
782 1124
783union cvmx_pciercx_cfg034 { 1125union cvmx_pciercx_cfg034 {
784 uint32_t u32; 1126 uint32_t u32;
785 struct cvmx_pciercx_cfg034_s { 1127 struct cvmx_pciercx_cfg034_s {
1128#ifdef __BIG_ENDIAN_BITFIELD
786 uint32_t reserved_25_31:7; 1129 uint32_t reserved_25_31:7;
787 uint32_t dlls_c:1; 1130 uint32_t dlls_c:1;
788 uint32_t emis:1; 1131 uint32_t emis:1;
@@ -805,6 +1148,30 @@ union cvmx_pciercx_cfg034 {
805 uint32_t mrls_en:1; 1148 uint32_t mrls_en:1;
806 uint32_t pf_en:1; 1149 uint32_t pf_en:1;
807 uint32_t abp_en:1; 1150 uint32_t abp_en:1;
1151#else
1152 uint32_t abp_en:1;
1153 uint32_t pf_en:1;
1154 uint32_t mrls_en:1;
1155 uint32_t pd_en:1;
1156 uint32_t ccint_en:1;
1157 uint32_t hpint_en:1;
1158 uint32_t aic:2;
1159 uint32_t pic:2;
1160 uint32_t pcc:1;
1161 uint32_t emic:1;
1162 uint32_t dlls_en:1;
1163 uint32_t reserved_13_15:3;
1164 uint32_t abp_d:1;
1165 uint32_t pf_d:1;
1166 uint32_t mrls_c:1;
1167 uint32_t pd_c:1;
1168 uint32_t ccint_d:1;
1169 uint32_t mrlss:1;
1170 uint32_t pds:1;
1171 uint32_t emis:1;
1172 uint32_t dlls_c:1;
1173 uint32_t reserved_25_31:7;
1174#endif
808 } s; 1175 } s;
809 struct cvmx_pciercx_cfg034_s cn52xx; 1176 struct cvmx_pciercx_cfg034_s cn52xx;
810 struct cvmx_pciercx_cfg034_s cn52xxp1; 1177 struct cvmx_pciercx_cfg034_s cn52xxp1;
@@ -816,11 +1183,13 @@ union cvmx_pciercx_cfg034 {
816 struct cvmx_pciercx_cfg034_s cn66xx; 1183 struct cvmx_pciercx_cfg034_s cn66xx;
817 struct cvmx_pciercx_cfg034_s cn68xx; 1184 struct cvmx_pciercx_cfg034_s cn68xx;
818 struct cvmx_pciercx_cfg034_s cn68xxp1; 1185 struct cvmx_pciercx_cfg034_s cn68xxp1;
1186 struct cvmx_pciercx_cfg034_s cnf71xx;
819}; 1187};
820 1188
821union cvmx_pciercx_cfg035 { 1189union cvmx_pciercx_cfg035 {
822 uint32_t u32; 1190 uint32_t u32;
823 struct cvmx_pciercx_cfg035_s { 1191 struct cvmx_pciercx_cfg035_s {
1192#ifdef __BIG_ENDIAN_BITFIELD
824 uint32_t reserved_17_31:15; 1193 uint32_t reserved_17_31:15;
825 uint32_t crssv:1; 1194 uint32_t crssv:1;
826 uint32_t reserved_5_15:11; 1195 uint32_t reserved_5_15:11;
@@ -829,6 +1198,16 @@ union cvmx_pciercx_cfg035 {
829 uint32_t sefee:1; 1198 uint32_t sefee:1;
830 uint32_t senfee:1; 1199 uint32_t senfee:1;
831 uint32_t secee:1; 1200 uint32_t secee:1;
1201#else
1202 uint32_t secee:1;
1203 uint32_t senfee:1;
1204 uint32_t sefee:1;
1205 uint32_t pmeie:1;
1206 uint32_t crssve:1;
1207 uint32_t reserved_5_15:11;
1208 uint32_t crssv:1;
1209 uint32_t reserved_17_31:15;
1210#endif
832 } s; 1211 } s;
833 struct cvmx_pciercx_cfg035_s cn52xx; 1212 struct cvmx_pciercx_cfg035_s cn52xx;
834 struct cvmx_pciercx_cfg035_s cn52xxp1; 1213 struct cvmx_pciercx_cfg035_s cn52xxp1;
@@ -840,15 +1219,23 @@ union cvmx_pciercx_cfg035 {
840 struct cvmx_pciercx_cfg035_s cn66xx; 1219 struct cvmx_pciercx_cfg035_s cn66xx;
841 struct cvmx_pciercx_cfg035_s cn68xx; 1220 struct cvmx_pciercx_cfg035_s cn68xx;
842 struct cvmx_pciercx_cfg035_s cn68xxp1; 1221 struct cvmx_pciercx_cfg035_s cn68xxp1;
1222 struct cvmx_pciercx_cfg035_s cnf71xx;
843}; 1223};
844 1224
845union cvmx_pciercx_cfg036 { 1225union cvmx_pciercx_cfg036 {
846 uint32_t u32; 1226 uint32_t u32;
847 struct cvmx_pciercx_cfg036_s { 1227 struct cvmx_pciercx_cfg036_s {
1228#ifdef __BIG_ENDIAN_BITFIELD
848 uint32_t reserved_18_31:14; 1229 uint32_t reserved_18_31:14;
849 uint32_t pme_pend:1; 1230 uint32_t pme_pend:1;
850 uint32_t pme_stat:1; 1231 uint32_t pme_stat:1;
851 uint32_t pme_rid:16; 1232 uint32_t pme_rid:16;
1233#else
1234 uint32_t pme_rid:16;
1235 uint32_t pme_stat:1;
1236 uint32_t pme_pend:1;
1237 uint32_t reserved_18_31:14;
1238#endif
852 } s; 1239 } s;
853 struct cvmx_pciercx_cfg036_s cn52xx; 1240 struct cvmx_pciercx_cfg036_s cn52xx;
854 struct cvmx_pciercx_cfg036_s cn52xxp1; 1241 struct cvmx_pciercx_cfg036_s cn52xxp1;
@@ -860,14 +1247,17 @@ union cvmx_pciercx_cfg036 {
860 struct cvmx_pciercx_cfg036_s cn66xx; 1247 struct cvmx_pciercx_cfg036_s cn66xx;
861 struct cvmx_pciercx_cfg036_s cn68xx; 1248 struct cvmx_pciercx_cfg036_s cn68xx;
862 struct cvmx_pciercx_cfg036_s cn68xxp1; 1249 struct cvmx_pciercx_cfg036_s cn68xxp1;
1250 struct cvmx_pciercx_cfg036_s cnf71xx;
863}; 1251};
864 1252
865union cvmx_pciercx_cfg037 { 1253union cvmx_pciercx_cfg037 {
866 uint32_t u32; 1254 uint32_t u32;
867 struct cvmx_pciercx_cfg037_s { 1255 struct cvmx_pciercx_cfg037_s {
868 uint32_t reserved_14_31:18; 1256#ifdef __BIG_ENDIAN_BITFIELD
869 uint32_t tph:2; 1257 uint32_t reserved_20_31:12;
870 uint32_t reserved_11_11:1; 1258 uint32_t obffs:2;
1259 uint32_t reserved_12_17:6;
1260 uint32_t ltrs:1;
871 uint32_t noroprpr:1; 1261 uint32_t noroprpr:1;
872 uint32_t atom128s:1; 1262 uint32_t atom128s:1;
873 uint32_t atom64s:1; 1263 uint32_t atom64s:1;
@@ -876,16 +1266,37 @@ union cvmx_pciercx_cfg037 {
876 uint32_t reserved_5_5:1; 1266 uint32_t reserved_5_5:1;
877 uint32_t ctds:1; 1267 uint32_t ctds:1;
878 uint32_t ctrs:4; 1268 uint32_t ctrs:4;
1269#else
1270 uint32_t ctrs:4;
1271 uint32_t ctds:1;
1272 uint32_t reserved_5_5:1;
1273 uint32_t atom_ops:1;
1274 uint32_t atom32s:1;
1275 uint32_t atom64s:1;
1276 uint32_t atom128s:1;
1277 uint32_t noroprpr:1;
1278 uint32_t ltrs:1;
1279 uint32_t reserved_12_17:6;
1280 uint32_t obffs:2;
1281 uint32_t reserved_20_31:12;
1282#endif
879 } s; 1283 } s;
880 struct cvmx_pciercx_cfg037_cn52xx { 1284 struct cvmx_pciercx_cfg037_cn52xx {
1285#ifdef __BIG_ENDIAN_BITFIELD
881 uint32_t reserved_5_31:27; 1286 uint32_t reserved_5_31:27;
882 uint32_t ctds:1; 1287 uint32_t ctds:1;
883 uint32_t ctrs:4; 1288 uint32_t ctrs:4;
1289#else
1290 uint32_t ctrs:4;
1291 uint32_t ctds:1;
1292 uint32_t reserved_5_31:27;
1293#endif
884 } cn52xx; 1294 } cn52xx;
885 struct cvmx_pciercx_cfg037_cn52xx cn52xxp1; 1295 struct cvmx_pciercx_cfg037_cn52xx cn52xxp1;
886 struct cvmx_pciercx_cfg037_cn52xx cn56xx; 1296 struct cvmx_pciercx_cfg037_cn52xx cn56xx;
887 struct cvmx_pciercx_cfg037_cn52xx cn56xxp1; 1297 struct cvmx_pciercx_cfg037_cn52xx cn56xxp1;
888 struct cvmx_pciercx_cfg037_cn61xx { 1298 struct cvmx_pciercx_cfg037_cn61xx {
1299#ifdef __BIG_ENDIAN_BITFIELD
889 uint32_t reserved_14_31:18; 1300 uint32_t reserved_14_31:18;
890 uint32_t tph:2; 1301 uint32_t tph:2;
891 uint32_t reserved_11_11:1; 1302 uint32_t reserved_11_11:1;
@@ -897,10 +1308,24 @@ union cvmx_pciercx_cfg037 {
897 uint32_t ari_fw:1; 1308 uint32_t ari_fw:1;
898 uint32_t ctds:1; 1309 uint32_t ctds:1;
899 uint32_t ctrs:4; 1310 uint32_t ctrs:4;
1311#else
1312 uint32_t ctrs:4;
1313 uint32_t ctds:1;
1314 uint32_t ari_fw:1;
1315 uint32_t atom_ops:1;
1316 uint32_t atom32s:1;
1317 uint32_t atom64s:1;
1318 uint32_t atom128s:1;
1319 uint32_t noroprpr:1;
1320 uint32_t reserved_11_11:1;
1321 uint32_t tph:2;
1322 uint32_t reserved_14_31:18;
1323#endif
900 } cn61xx; 1324 } cn61xx;
901 struct cvmx_pciercx_cfg037_cn52xx cn63xx; 1325 struct cvmx_pciercx_cfg037_cn52xx cn63xx;
902 struct cvmx_pciercx_cfg037_cn52xx cn63xxp1; 1326 struct cvmx_pciercx_cfg037_cn52xx cn63xxp1;
903 struct cvmx_pciercx_cfg037_cn66xx { 1327 struct cvmx_pciercx_cfg037_cn66xx {
1328#ifdef __BIG_ENDIAN_BITFIELD
904 uint32_t reserved_14_31:18; 1329 uint32_t reserved_14_31:18;
905 uint32_t tph:2; 1330 uint32_t tph:2;
906 uint32_t reserved_11_11:1; 1331 uint32_t reserved_11_11:1;
@@ -912,15 +1337,63 @@ union cvmx_pciercx_cfg037 {
912 uint32_t ari:1; 1337 uint32_t ari:1;
913 uint32_t ctds:1; 1338 uint32_t ctds:1;
914 uint32_t ctrs:4; 1339 uint32_t ctrs:4;
1340#else
1341 uint32_t ctrs:4;
1342 uint32_t ctds:1;
1343 uint32_t ari:1;
1344 uint32_t atom_ops:1;
1345 uint32_t atom32s:1;
1346 uint32_t atom64s:1;
1347 uint32_t atom128s:1;
1348 uint32_t noroprpr:1;
1349 uint32_t reserved_11_11:1;
1350 uint32_t tph:2;
1351 uint32_t reserved_14_31:18;
1352#endif
915 } cn66xx; 1353 } cn66xx;
916 struct cvmx_pciercx_cfg037_cn66xx cn68xx; 1354 struct cvmx_pciercx_cfg037_cn66xx cn68xx;
917 struct cvmx_pciercx_cfg037_cn66xx cn68xxp1; 1355 struct cvmx_pciercx_cfg037_cn66xx cn68xxp1;
1356 struct cvmx_pciercx_cfg037_cnf71xx {
1357#ifdef __BIG_ENDIAN_BITFIELD
1358 uint32_t reserved_20_31:12;
1359 uint32_t obffs:2;
1360 uint32_t reserved_14_17:4;
1361 uint32_t tphs:2;
1362 uint32_t ltrs:1;
1363 uint32_t noroprpr:1;
1364 uint32_t atom128s:1;
1365 uint32_t atom64s:1;
1366 uint32_t atom32s:1;
1367 uint32_t atom_ops:1;
1368 uint32_t ari_fw:1;
1369 uint32_t ctds:1;
1370 uint32_t ctrs:4;
1371#else
1372 uint32_t ctrs:4;
1373 uint32_t ctds:1;
1374 uint32_t ari_fw:1;
1375 uint32_t atom_ops:1;
1376 uint32_t atom32s:1;
1377 uint32_t atom64s:1;
1378 uint32_t atom128s:1;
1379 uint32_t noroprpr:1;
1380 uint32_t ltrs:1;
1381 uint32_t tphs:2;
1382 uint32_t reserved_14_17:4;
1383 uint32_t obffs:2;
1384 uint32_t reserved_20_31:12;
1385#endif
1386 } cnf71xx;
918}; 1387};
919 1388
920union cvmx_pciercx_cfg038 { 1389union cvmx_pciercx_cfg038 {
921 uint32_t u32; 1390 uint32_t u32;
922 struct cvmx_pciercx_cfg038_s { 1391 struct cvmx_pciercx_cfg038_s {
923 uint32_t reserved_10_31:22; 1392#ifdef __BIG_ENDIAN_BITFIELD
1393 uint32_t reserved_15_31:17;
1394 uint32_t obffe:2;
1395 uint32_t reserved_11_12:2;
1396 uint32_t ltre:1;
924 uint32_t id0_cp:1; 1397 uint32_t id0_cp:1;
925 uint32_t id0_rq:1; 1398 uint32_t id0_rq:1;
926 uint32_t atom_op_eb:1; 1399 uint32_t atom_op_eb:1;
@@ -928,33 +1401,84 @@ union cvmx_pciercx_cfg038 {
928 uint32_t ari:1; 1401 uint32_t ari:1;
929 uint32_t ctd:1; 1402 uint32_t ctd:1;
930 uint32_t ctv:4; 1403 uint32_t ctv:4;
1404#else
1405 uint32_t ctv:4;
1406 uint32_t ctd:1;
1407 uint32_t ari:1;
1408 uint32_t atom_op:1;
1409 uint32_t atom_op_eb:1;
1410 uint32_t id0_rq:1;
1411 uint32_t id0_cp:1;
1412 uint32_t ltre:1;
1413 uint32_t reserved_11_12:2;
1414 uint32_t obffe:2;
1415 uint32_t reserved_15_31:17;
1416#endif
931 } s; 1417 } s;
932 struct cvmx_pciercx_cfg038_cn52xx { 1418 struct cvmx_pciercx_cfg038_cn52xx {
1419#ifdef __BIG_ENDIAN_BITFIELD
933 uint32_t reserved_5_31:27; 1420 uint32_t reserved_5_31:27;
934 uint32_t ctd:1; 1421 uint32_t ctd:1;
935 uint32_t ctv:4; 1422 uint32_t ctv:4;
1423#else
1424 uint32_t ctv:4;
1425 uint32_t ctd:1;
1426 uint32_t reserved_5_31:27;
1427#endif
936 } cn52xx; 1428 } cn52xx;
937 struct cvmx_pciercx_cfg038_cn52xx cn52xxp1; 1429 struct cvmx_pciercx_cfg038_cn52xx cn52xxp1;
938 struct cvmx_pciercx_cfg038_cn52xx cn56xx; 1430 struct cvmx_pciercx_cfg038_cn52xx cn56xx;
939 struct cvmx_pciercx_cfg038_cn52xx cn56xxp1; 1431 struct cvmx_pciercx_cfg038_cn52xx cn56xxp1;
940 struct cvmx_pciercx_cfg038_s cn61xx; 1432 struct cvmx_pciercx_cfg038_cn61xx {
1433#ifdef __BIG_ENDIAN_BITFIELD
1434 uint32_t reserved_10_31:22;
1435 uint32_t id0_cp:1;
1436 uint32_t id0_rq:1;
1437 uint32_t atom_op_eb:1;
1438 uint32_t atom_op:1;
1439 uint32_t ari:1;
1440 uint32_t ctd:1;
1441 uint32_t ctv:4;
1442#else
1443 uint32_t ctv:4;
1444 uint32_t ctd:1;
1445 uint32_t ari:1;
1446 uint32_t atom_op:1;
1447 uint32_t atom_op_eb:1;
1448 uint32_t id0_rq:1;
1449 uint32_t id0_cp:1;
1450 uint32_t reserved_10_31:22;
1451#endif
1452 } cn61xx;
941 struct cvmx_pciercx_cfg038_cn52xx cn63xx; 1453 struct cvmx_pciercx_cfg038_cn52xx cn63xx;
942 struct cvmx_pciercx_cfg038_cn52xx cn63xxp1; 1454 struct cvmx_pciercx_cfg038_cn52xx cn63xxp1;
943 struct cvmx_pciercx_cfg038_s cn66xx; 1455 struct cvmx_pciercx_cfg038_cn61xx cn66xx;
944 struct cvmx_pciercx_cfg038_s cn68xx; 1456 struct cvmx_pciercx_cfg038_cn61xx cn68xx;
945 struct cvmx_pciercx_cfg038_s cn68xxp1; 1457 struct cvmx_pciercx_cfg038_cn61xx cn68xxp1;
1458 struct cvmx_pciercx_cfg038_s cnf71xx;
946}; 1459};
947 1460
948union cvmx_pciercx_cfg039 { 1461union cvmx_pciercx_cfg039 {
949 uint32_t u32; 1462 uint32_t u32;
950 struct cvmx_pciercx_cfg039_s { 1463 struct cvmx_pciercx_cfg039_s {
1464#ifdef __BIG_ENDIAN_BITFIELD
951 uint32_t reserved_9_31:23; 1465 uint32_t reserved_9_31:23;
952 uint32_t cls:1; 1466 uint32_t cls:1;
953 uint32_t slsv:7; 1467 uint32_t slsv:7;
954 uint32_t reserved_0_0:1; 1468 uint32_t reserved_0_0:1;
1469#else
1470 uint32_t reserved_0_0:1;
1471 uint32_t slsv:7;
1472 uint32_t cls:1;
1473 uint32_t reserved_9_31:23;
1474#endif
955 } s; 1475 } s;
956 struct cvmx_pciercx_cfg039_cn52xx { 1476 struct cvmx_pciercx_cfg039_cn52xx {
1477#ifdef __BIG_ENDIAN_BITFIELD
1478 uint32_t reserved_0_31:32;
1479#else
957 uint32_t reserved_0_31:32; 1480 uint32_t reserved_0_31:32;
1481#endif
958 } cn52xx; 1482 } cn52xx;
959 struct cvmx_pciercx_cfg039_cn52xx cn52xxp1; 1483 struct cvmx_pciercx_cfg039_cn52xx cn52xxp1;
960 struct cvmx_pciercx_cfg039_cn52xx cn56xx; 1484 struct cvmx_pciercx_cfg039_cn52xx cn56xx;
@@ -965,11 +1489,13 @@ union cvmx_pciercx_cfg039 {
965 struct cvmx_pciercx_cfg039_s cn66xx; 1489 struct cvmx_pciercx_cfg039_s cn66xx;
966 struct cvmx_pciercx_cfg039_s cn68xx; 1490 struct cvmx_pciercx_cfg039_s cn68xx;
967 struct cvmx_pciercx_cfg039_s cn68xxp1; 1491 struct cvmx_pciercx_cfg039_s cn68xxp1;
1492 struct cvmx_pciercx_cfg039_s cnf71xx;
968}; 1493};
969 1494
970union cvmx_pciercx_cfg040 { 1495union cvmx_pciercx_cfg040 {
971 uint32_t u32; 1496 uint32_t u32;
972 struct cvmx_pciercx_cfg040_s { 1497 struct cvmx_pciercx_cfg040_s {
1498#ifdef __BIG_ENDIAN_BITFIELD
973 uint32_t reserved_17_31:15; 1499 uint32_t reserved_17_31:15;
974 uint32_t cdl:1; 1500 uint32_t cdl:1;
975 uint32_t reserved_13_15:3; 1501 uint32_t reserved_13_15:3;
@@ -981,9 +1507,26 @@ union cvmx_pciercx_cfg040 {
981 uint32_t hasd:1; 1507 uint32_t hasd:1;
982 uint32_t ec:1; 1508 uint32_t ec:1;
983 uint32_t tls:4; 1509 uint32_t tls:4;
1510#else
1511 uint32_t tls:4;
1512 uint32_t ec:1;
1513 uint32_t hasd:1;
1514 uint32_t sde:1;
1515 uint32_t tm:3;
1516 uint32_t emc:1;
1517 uint32_t csos:1;
1518 uint32_t cde:1;
1519 uint32_t reserved_13_15:3;
1520 uint32_t cdl:1;
1521 uint32_t reserved_17_31:15;
1522#endif
984 } s; 1523 } s;
985 struct cvmx_pciercx_cfg040_cn52xx { 1524 struct cvmx_pciercx_cfg040_cn52xx {
1525#ifdef __BIG_ENDIAN_BITFIELD
1526 uint32_t reserved_0_31:32;
1527#else
986 uint32_t reserved_0_31:32; 1528 uint32_t reserved_0_31:32;
1529#endif
987 } cn52xx; 1530 } cn52xx;
988 struct cvmx_pciercx_cfg040_cn52xx cn52xxp1; 1531 struct cvmx_pciercx_cfg040_cn52xx cn52xxp1;
989 struct cvmx_pciercx_cfg040_cn52xx cn56xx; 1532 struct cvmx_pciercx_cfg040_cn52xx cn56xx;
@@ -994,12 +1537,17 @@ union cvmx_pciercx_cfg040 {
994 struct cvmx_pciercx_cfg040_s cn66xx; 1537 struct cvmx_pciercx_cfg040_s cn66xx;
995 struct cvmx_pciercx_cfg040_s cn68xx; 1538 struct cvmx_pciercx_cfg040_s cn68xx;
996 struct cvmx_pciercx_cfg040_s cn68xxp1; 1539 struct cvmx_pciercx_cfg040_s cn68xxp1;
1540 struct cvmx_pciercx_cfg040_s cnf71xx;
997}; 1541};
998 1542
999union cvmx_pciercx_cfg041 { 1543union cvmx_pciercx_cfg041 {
1000 uint32_t u32; 1544 uint32_t u32;
1001 struct cvmx_pciercx_cfg041_s { 1545 struct cvmx_pciercx_cfg041_s {
1546#ifdef __BIG_ENDIAN_BITFIELD
1547 uint32_t reserved_0_31:32;
1548#else
1002 uint32_t reserved_0_31:32; 1549 uint32_t reserved_0_31:32;
1550#endif
1003 } s; 1551 } s;
1004 struct cvmx_pciercx_cfg041_s cn52xx; 1552 struct cvmx_pciercx_cfg041_s cn52xx;
1005 struct cvmx_pciercx_cfg041_s cn52xxp1; 1553 struct cvmx_pciercx_cfg041_s cn52xxp1;
@@ -1011,12 +1559,17 @@ union cvmx_pciercx_cfg041 {
1011 struct cvmx_pciercx_cfg041_s cn66xx; 1559 struct cvmx_pciercx_cfg041_s cn66xx;
1012 struct cvmx_pciercx_cfg041_s cn68xx; 1560 struct cvmx_pciercx_cfg041_s cn68xx;
1013 struct cvmx_pciercx_cfg041_s cn68xxp1; 1561 struct cvmx_pciercx_cfg041_s cn68xxp1;
1562 struct cvmx_pciercx_cfg041_s cnf71xx;
1014}; 1563};
1015 1564
1016union cvmx_pciercx_cfg042 { 1565union cvmx_pciercx_cfg042 {
1017 uint32_t u32; 1566 uint32_t u32;
1018 struct cvmx_pciercx_cfg042_s { 1567 struct cvmx_pciercx_cfg042_s {
1568#ifdef __BIG_ENDIAN_BITFIELD
1569 uint32_t reserved_0_31:32;
1570#else
1019 uint32_t reserved_0_31:32; 1571 uint32_t reserved_0_31:32;
1572#endif
1020 } s; 1573 } s;
1021 struct cvmx_pciercx_cfg042_s cn52xx; 1574 struct cvmx_pciercx_cfg042_s cn52xx;
1022 struct cvmx_pciercx_cfg042_s cn52xxp1; 1575 struct cvmx_pciercx_cfg042_s cn52xxp1;
@@ -1028,14 +1581,21 @@ union cvmx_pciercx_cfg042 {
1028 struct cvmx_pciercx_cfg042_s cn66xx; 1581 struct cvmx_pciercx_cfg042_s cn66xx;
1029 struct cvmx_pciercx_cfg042_s cn68xx; 1582 struct cvmx_pciercx_cfg042_s cn68xx;
1030 struct cvmx_pciercx_cfg042_s cn68xxp1; 1583 struct cvmx_pciercx_cfg042_s cn68xxp1;
1584 struct cvmx_pciercx_cfg042_s cnf71xx;
1031}; 1585};
1032 1586
1033union cvmx_pciercx_cfg064 { 1587union cvmx_pciercx_cfg064 {
1034 uint32_t u32; 1588 uint32_t u32;
1035 struct cvmx_pciercx_cfg064_s { 1589 struct cvmx_pciercx_cfg064_s {
1590#ifdef __BIG_ENDIAN_BITFIELD
1036 uint32_t nco:12; 1591 uint32_t nco:12;
1037 uint32_t cv:4; 1592 uint32_t cv:4;
1038 uint32_t pcieec:16; 1593 uint32_t pcieec:16;
1594#else
1595 uint32_t pcieec:16;
1596 uint32_t cv:4;
1597 uint32_t nco:12;
1598#endif
1039 } s; 1599 } s;
1040 struct cvmx_pciercx_cfg064_s cn52xx; 1600 struct cvmx_pciercx_cfg064_s cn52xx;
1041 struct cvmx_pciercx_cfg064_s cn52xxp1; 1601 struct cvmx_pciercx_cfg064_s cn52xxp1;
@@ -1047,14 +1607,18 @@ union cvmx_pciercx_cfg064 {
1047 struct cvmx_pciercx_cfg064_s cn66xx; 1607 struct cvmx_pciercx_cfg064_s cn66xx;
1048 struct cvmx_pciercx_cfg064_s cn68xx; 1608 struct cvmx_pciercx_cfg064_s cn68xx;
1049 struct cvmx_pciercx_cfg064_s cn68xxp1; 1609 struct cvmx_pciercx_cfg064_s cn68xxp1;
1610 struct cvmx_pciercx_cfg064_s cnf71xx;
1050}; 1611};
1051 1612
1052union cvmx_pciercx_cfg065 { 1613union cvmx_pciercx_cfg065 {
1053 uint32_t u32; 1614 uint32_t u32;
1054 struct cvmx_pciercx_cfg065_s { 1615 struct cvmx_pciercx_cfg065_s {
1616#ifdef __BIG_ENDIAN_BITFIELD
1055 uint32_t reserved_25_31:7; 1617 uint32_t reserved_25_31:7;
1056 uint32_t uatombs:1; 1618 uint32_t uatombs:1;
1057 uint32_t reserved_21_23:3; 1619 uint32_t reserved_23_23:1;
1620 uint32_t ucies:1;
1621 uint32_t reserved_21_21:1;
1058 uint32_t ures:1; 1622 uint32_t ures:1;
1059 uint32_t ecrces:1; 1623 uint32_t ecrces:1;
1060 uint32_t mtlps:1; 1624 uint32_t mtlps:1;
@@ -1068,8 +1632,29 @@ union cvmx_pciercx_cfg065 {
1068 uint32_t sdes:1; 1632 uint32_t sdes:1;
1069 uint32_t dlpes:1; 1633 uint32_t dlpes:1;
1070 uint32_t reserved_0_3:4; 1634 uint32_t reserved_0_3:4;
1635#else
1636 uint32_t reserved_0_3:4;
1637 uint32_t dlpes:1;
1638 uint32_t sdes:1;
1639 uint32_t reserved_6_11:6;
1640 uint32_t ptlps:1;
1641 uint32_t fcpes:1;
1642 uint32_t cts:1;
1643 uint32_t cas:1;
1644 uint32_t ucs:1;
1645 uint32_t ros:1;
1646 uint32_t mtlps:1;
1647 uint32_t ecrces:1;
1648 uint32_t ures:1;
1649 uint32_t reserved_21_21:1;
1650 uint32_t ucies:1;
1651 uint32_t reserved_23_23:1;
1652 uint32_t uatombs:1;
1653 uint32_t reserved_25_31:7;
1654#endif
1071 } s; 1655 } s;
1072 struct cvmx_pciercx_cfg065_cn52xx { 1656 struct cvmx_pciercx_cfg065_cn52xx {
1657#ifdef __BIG_ENDIAN_BITFIELD
1073 uint32_t reserved_21_31:11; 1658 uint32_t reserved_21_31:11;
1074 uint32_t ures:1; 1659 uint32_t ures:1;
1075 uint32_t ecrces:1; 1660 uint32_t ecrces:1;
@@ -1084,24 +1669,80 @@ union cvmx_pciercx_cfg065 {
1084 uint32_t sdes:1; 1669 uint32_t sdes:1;
1085 uint32_t dlpes:1; 1670 uint32_t dlpes:1;
1086 uint32_t reserved_0_3:4; 1671 uint32_t reserved_0_3:4;
1672#else
1673 uint32_t reserved_0_3:4;
1674 uint32_t dlpes:1;
1675 uint32_t sdes:1;
1676 uint32_t reserved_6_11:6;
1677 uint32_t ptlps:1;
1678 uint32_t fcpes:1;
1679 uint32_t cts:1;
1680 uint32_t cas:1;
1681 uint32_t ucs:1;
1682 uint32_t ros:1;
1683 uint32_t mtlps:1;
1684 uint32_t ecrces:1;
1685 uint32_t ures:1;
1686 uint32_t reserved_21_31:11;
1687#endif
1087 } cn52xx; 1688 } cn52xx;
1088 struct cvmx_pciercx_cfg065_cn52xx cn52xxp1; 1689 struct cvmx_pciercx_cfg065_cn52xx cn52xxp1;
1089 struct cvmx_pciercx_cfg065_cn52xx cn56xx; 1690 struct cvmx_pciercx_cfg065_cn52xx cn56xx;
1090 struct cvmx_pciercx_cfg065_cn52xx cn56xxp1; 1691 struct cvmx_pciercx_cfg065_cn52xx cn56xxp1;
1091 struct cvmx_pciercx_cfg065_s cn61xx; 1692 struct cvmx_pciercx_cfg065_cn61xx {
1693#ifdef __BIG_ENDIAN_BITFIELD
1694 uint32_t reserved_25_31:7;
1695 uint32_t uatombs:1;
1696 uint32_t reserved_21_23:3;
1697 uint32_t ures:1;
1698 uint32_t ecrces:1;
1699 uint32_t mtlps:1;
1700 uint32_t ros:1;
1701 uint32_t ucs:1;
1702 uint32_t cas:1;
1703 uint32_t cts:1;
1704 uint32_t fcpes:1;
1705 uint32_t ptlps:1;
1706 uint32_t reserved_6_11:6;
1707 uint32_t sdes:1;
1708 uint32_t dlpes:1;
1709 uint32_t reserved_0_3:4;
1710#else
1711 uint32_t reserved_0_3:4;
1712 uint32_t dlpes:1;
1713 uint32_t sdes:1;
1714 uint32_t reserved_6_11:6;
1715 uint32_t ptlps:1;
1716 uint32_t fcpes:1;
1717 uint32_t cts:1;
1718 uint32_t cas:1;
1719 uint32_t ucs:1;
1720 uint32_t ros:1;
1721 uint32_t mtlps:1;
1722 uint32_t ecrces:1;
1723 uint32_t ures:1;
1724 uint32_t reserved_21_23:3;
1725 uint32_t uatombs:1;
1726 uint32_t reserved_25_31:7;
1727#endif
1728 } cn61xx;
1092 struct cvmx_pciercx_cfg065_cn52xx cn63xx; 1729 struct cvmx_pciercx_cfg065_cn52xx cn63xx;
1093 struct cvmx_pciercx_cfg065_cn52xx cn63xxp1; 1730 struct cvmx_pciercx_cfg065_cn52xx cn63xxp1;
1094 struct cvmx_pciercx_cfg065_s cn66xx; 1731 struct cvmx_pciercx_cfg065_cn61xx cn66xx;
1095 struct cvmx_pciercx_cfg065_s cn68xx; 1732 struct cvmx_pciercx_cfg065_cn61xx cn68xx;
1096 struct cvmx_pciercx_cfg065_cn52xx cn68xxp1; 1733 struct cvmx_pciercx_cfg065_cn52xx cn68xxp1;
1734 struct cvmx_pciercx_cfg065_s cnf71xx;
1097}; 1735};
1098 1736
1099union cvmx_pciercx_cfg066 { 1737union cvmx_pciercx_cfg066 {
1100 uint32_t u32; 1738 uint32_t u32;
1101 struct cvmx_pciercx_cfg066_s { 1739 struct cvmx_pciercx_cfg066_s {
1740#ifdef __BIG_ENDIAN_BITFIELD
1102 uint32_t reserved_25_31:7; 1741 uint32_t reserved_25_31:7;
1103 uint32_t uatombm:1; 1742 uint32_t uatombm:1;
1104 uint32_t reserved_21_23:3; 1743 uint32_t reserved_23_23:1;
1744 uint32_t uciem:1;
1745 uint32_t reserved_21_21:1;
1105 uint32_t urem:1; 1746 uint32_t urem:1;
1106 uint32_t ecrcem:1; 1747 uint32_t ecrcem:1;
1107 uint32_t mtlpm:1; 1748 uint32_t mtlpm:1;
@@ -1115,8 +1756,29 @@ union cvmx_pciercx_cfg066 {
1115 uint32_t sdem:1; 1756 uint32_t sdem:1;
1116 uint32_t dlpem:1; 1757 uint32_t dlpem:1;
1117 uint32_t reserved_0_3:4; 1758 uint32_t reserved_0_3:4;
1759#else
1760 uint32_t reserved_0_3:4;
1761 uint32_t dlpem:1;
1762 uint32_t sdem:1;
1763 uint32_t reserved_6_11:6;
1764 uint32_t ptlpm:1;
1765 uint32_t fcpem:1;
1766 uint32_t ctm:1;
1767 uint32_t cam:1;
1768 uint32_t ucm:1;
1769 uint32_t rom:1;
1770 uint32_t mtlpm:1;
1771 uint32_t ecrcem:1;
1772 uint32_t urem:1;
1773 uint32_t reserved_21_21:1;
1774 uint32_t uciem:1;
1775 uint32_t reserved_23_23:1;
1776 uint32_t uatombm:1;
1777 uint32_t reserved_25_31:7;
1778#endif
1118 } s; 1779 } s;
1119 struct cvmx_pciercx_cfg066_cn52xx { 1780 struct cvmx_pciercx_cfg066_cn52xx {
1781#ifdef __BIG_ENDIAN_BITFIELD
1120 uint32_t reserved_21_31:11; 1782 uint32_t reserved_21_31:11;
1121 uint32_t urem:1; 1783 uint32_t urem:1;
1122 uint32_t ecrcem:1; 1784 uint32_t ecrcem:1;
@@ -1131,24 +1793,80 @@ union cvmx_pciercx_cfg066 {
1131 uint32_t sdem:1; 1793 uint32_t sdem:1;
1132 uint32_t dlpem:1; 1794 uint32_t dlpem:1;
1133 uint32_t reserved_0_3:4; 1795 uint32_t reserved_0_3:4;
1796#else
1797 uint32_t reserved_0_3:4;
1798 uint32_t dlpem:1;
1799 uint32_t sdem:1;
1800 uint32_t reserved_6_11:6;
1801 uint32_t ptlpm:1;
1802 uint32_t fcpem:1;
1803 uint32_t ctm:1;
1804 uint32_t cam:1;
1805 uint32_t ucm:1;
1806 uint32_t rom:1;
1807 uint32_t mtlpm:1;
1808 uint32_t ecrcem:1;
1809 uint32_t urem:1;
1810 uint32_t reserved_21_31:11;
1811#endif
1134 } cn52xx; 1812 } cn52xx;
1135 struct cvmx_pciercx_cfg066_cn52xx cn52xxp1; 1813 struct cvmx_pciercx_cfg066_cn52xx cn52xxp1;
1136 struct cvmx_pciercx_cfg066_cn52xx cn56xx; 1814 struct cvmx_pciercx_cfg066_cn52xx cn56xx;
1137 struct cvmx_pciercx_cfg066_cn52xx cn56xxp1; 1815 struct cvmx_pciercx_cfg066_cn52xx cn56xxp1;
1138 struct cvmx_pciercx_cfg066_s cn61xx; 1816 struct cvmx_pciercx_cfg066_cn61xx {
1817#ifdef __BIG_ENDIAN_BITFIELD
1818 uint32_t reserved_25_31:7;
1819 uint32_t uatombm:1;
1820 uint32_t reserved_21_23:3;
1821 uint32_t urem:1;
1822 uint32_t ecrcem:1;
1823 uint32_t mtlpm:1;
1824 uint32_t rom:1;
1825 uint32_t ucm:1;
1826 uint32_t cam:1;
1827 uint32_t ctm:1;
1828 uint32_t fcpem:1;
1829 uint32_t ptlpm:1;
1830 uint32_t reserved_6_11:6;
1831 uint32_t sdem:1;
1832 uint32_t dlpem:1;
1833 uint32_t reserved_0_3:4;
1834#else
1835 uint32_t reserved_0_3:4;
1836 uint32_t dlpem:1;
1837 uint32_t sdem:1;
1838 uint32_t reserved_6_11:6;
1839 uint32_t ptlpm:1;
1840 uint32_t fcpem:1;
1841 uint32_t ctm:1;
1842 uint32_t cam:1;
1843 uint32_t ucm:1;
1844 uint32_t rom:1;
1845 uint32_t mtlpm:1;
1846 uint32_t ecrcem:1;
1847 uint32_t urem:1;
1848 uint32_t reserved_21_23:3;
1849 uint32_t uatombm:1;
1850 uint32_t reserved_25_31:7;
1851#endif
1852 } cn61xx;
1139 struct cvmx_pciercx_cfg066_cn52xx cn63xx; 1853 struct cvmx_pciercx_cfg066_cn52xx cn63xx;
1140 struct cvmx_pciercx_cfg066_cn52xx cn63xxp1; 1854 struct cvmx_pciercx_cfg066_cn52xx cn63xxp1;
1141 struct cvmx_pciercx_cfg066_s cn66xx; 1855 struct cvmx_pciercx_cfg066_cn61xx cn66xx;
1142 struct cvmx_pciercx_cfg066_s cn68xx; 1856 struct cvmx_pciercx_cfg066_cn61xx cn68xx;
1143 struct cvmx_pciercx_cfg066_cn52xx cn68xxp1; 1857 struct cvmx_pciercx_cfg066_cn52xx cn68xxp1;
1858 struct cvmx_pciercx_cfg066_s cnf71xx;
1144}; 1859};
1145 1860
1146union cvmx_pciercx_cfg067 { 1861union cvmx_pciercx_cfg067 {
1147 uint32_t u32; 1862 uint32_t u32;
1148 struct cvmx_pciercx_cfg067_s { 1863 struct cvmx_pciercx_cfg067_s {
1864#ifdef __BIG_ENDIAN_BITFIELD
1149 uint32_t reserved_25_31:7; 1865 uint32_t reserved_25_31:7;
1150 uint32_t uatombs:1; 1866 uint32_t uatombs:1;
1151 uint32_t reserved_21_23:3; 1867 uint32_t reserved_23_23:1;
1868 uint32_t ucies:1;
1869 uint32_t reserved_21_21:1;
1152 uint32_t ures:1; 1870 uint32_t ures:1;
1153 uint32_t ecrces:1; 1871 uint32_t ecrces:1;
1154 uint32_t mtlps:1; 1872 uint32_t mtlps:1;
@@ -1162,8 +1880,29 @@ union cvmx_pciercx_cfg067 {
1162 uint32_t sdes:1; 1880 uint32_t sdes:1;
1163 uint32_t dlpes:1; 1881 uint32_t dlpes:1;
1164 uint32_t reserved_0_3:4; 1882 uint32_t reserved_0_3:4;
1883#else
1884 uint32_t reserved_0_3:4;
1885 uint32_t dlpes:1;
1886 uint32_t sdes:1;
1887 uint32_t reserved_6_11:6;
1888 uint32_t ptlps:1;
1889 uint32_t fcpes:1;
1890 uint32_t cts:1;
1891 uint32_t cas:1;
1892 uint32_t ucs:1;
1893 uint32_t ros:1;
1894 uint32_t mtlps:1;
1895 uint32_t ecrces:1;
1896 uint32_t ures:1;
1897 uint32_t reserved_21_21:1;
1898 uint32_t ucies:1;
1899 uint32_t reserved_23_23:1;
1900 uint32_t uatombs:1;
1901 uint32_t reserved_25_31:7;
1902#endif
1165 } s; 1903 } s;
1166 struct cvmx_pciercx_cfg067_cn52xx { 1904 struct cvmx_pciercx_cfg067_cn52xx {
1905#ifdef __BIG_ENDIAN_BITFIELD
1167 uint32_t reserved_21_31:11; 1906 uint32_t reserved_21_31:11;
1168 uint32_t ures:1; 1907 uint32_t ures:1;
1169 uint32_t ecrces:1; 1908 uint32_t ecrces:1;
@@ -1178,22 +1917,77 @@ union cvmx_pciercx_cfg067 {
1178 uint32_t sdes:1; 1917 uint32_t sdes:1;
1179 uint32_t dlpes:1; 1918 uint32_t dlpes:1;
1180 uint32_t reserved_0_3:4; 1919 uint32_t reserved_0_3:4;
1920#else
1921 uint32_t reserved_0_3:4;
1922 uint32_t dlpes:1;
1923 uint32_t sdes:1;
1924 uint32_t reserved_6_11:6;
1925 uint32_t ptlps:1;
1926 uint32_t fcpes:1;
1927 uint32_t cts:1;
1928 uint32_t cas:1;
1929 uint32_t ucs:1;
1930 uint32_t ros:1;
1931 uint32_t mtlps:1;
1932 uint32_t ecrces:1;
1933 uint32_t ures:1;
1934 uint32_t reserved_21_31:11;
1935#endif
1181 } cn52xx; 1936 } cn52xx;
1182 struct cvmx_pciercx_cfg067_cn52xx cn52xxp1; 1937 struct cvmx_pciercx_cfg067_cn52xx cn52xxp1;
1183 struct cvmx_pciercx_cfg067_cn52xx cn56xx; 1938 struct cvmx_pciercx_cfg067_cn52xx cn56xx;
1184 struct cvmx_pciercx_cfg067_cn52xx cn56xxp1; 1939 struct cvmx_pciercx_cfg067_cn52xx cn56xxp1;
1185 struct cvmx_pciercx_cfg067_s cn61xx; 1940 struct cvmx_pciercx_cfg067_cn61xx {
1941#ifdef __BIG_ENDIAN_BITFIELD
1942 uint32_t reserved_25_31:7;
1943 uint32_t uatombs:1;
1944 uint32_t reserved_21_23:3;
1945 uint32_t ures:1;
1946 uint32_t ecrces:1;
1947 uint32_t mtlps:1;
1948 uint32_t ros:1;
1949 uint32_t ucs:1;
1950 uint32_t cas:1;
1951 uint32_t cts:1;
1952 uint32_t fcpes:1;
1953 uint32_t ptlps:1;
1954 uint32_t reserved_6_11:6;
1955 uint32_t sdes:1;
1956 uint32_t dlpes:1;
1957 uint32_t reserved_0_3:4;
1958#else
1959 uint32_t reserved_0_3:4;
1960 uint32_t dlpes:1;
1961 uint32_t sdes:1;
1962 uint32_t reserved_6_11:6;
1963 uint32_t ptlps:1;
1964 uint32_t fcpes:1;
1965 uint32_t cts:1;
1966 uint32_t cas:1;
1967 uint32_t ucs:1;
1968 uint32_t ros:1;
1969 uint32_t mtlps:1;
1970 uint32_t ecrces:1;
1971 uint32_t ures:1;
1972 uint32_t reserved_21_23:3;
1973 uint32_t uatombs:1;
1974 uint32_t reserved_25_31:7;
1975#endif
1976 } cn61xx;
1186 struct cvmx_pciercx_cfg067_cn52xx cn63xx; 1977 struct cvmx_pciercx_cfg067_cn52xx cn63xx;
1187 struct cvmx_pciercx_cfg067_cn52xx cn63xxp1; 1978 struct cvmx_pciercx_cfg067_cn52xx cn63xxp1;
1188 struct cvmx_pciercx_cfg067_s cn66xx; 1979 struct cvmx_pciercx_cfg067_cn61xx cn66xx;
1189 struct cvmx_pciercx_cfg067_s cn68xx; 1980 struct cvmx_pciercx_cfg067_cn61xx cn68xx;
1190 struct cvmx_pciercx_cfg067_cn52xx cn68xxp1; 1981 struct cvmx_pciercx_cfg067_cn52xx cn68xxp1;
1982 struct cvmx_pciercx_cfg067_s cnf71xx;
1191}; 1983};
1192 1984
1193union cvmx_pciercx_cfg068 { 1985union cvmx_pciercx_cfg068 {
1194 uint32_t u32; 1986 uint32_t u32;
1195 struct cvmx_pciercx_cfg068_s { 1987 struct cvmx_pciercx_cfg068_s {
1196 uint32_t reserved_14_31:18; 1988#ifdef __BIG_ENDIAN_BITFIELD
1989 uint32_t reserved_15_31:17;
1990 uint32_t cies:1;
1197 uint32_t anfes:1; 1991 uint32_t anfes:1;
1198 uint32_t rtts:1; 1992 uint32_t rtts:1;
1199 uint32_t reserved_9_11:3; 1993 uint32_t reserved_9_11:3;
@@ -1202,23 +1996,60 @@ union cvmx_pciercx_cfg068 {
1202 uint32_t btlps:1; 1996 uint32_t btlps:1;
1203 uint32_t reserved_1_5:5; 1997 uint32_t reserved_1_5:5;
1204 uint32_t res:1; 1998 uint32_t res:1;
1999#else
2000 uint32_t res:1;
2001 uint32_t reserved_1_5:5;
2002 uint32_t btlps:1;
2003 uint32_t bdllps:1;
2004 uint32_t rnrs:1;
2005 uint32_t reserved_9_11:3;
2006 uint32_t rtts:1;
2007 uint32_t anfes:1;
2008 uint32_t cies:1;
2009 uint32_t reserved_15_31:17;
2010#endif
1205 } s; 2011 } s;
1206 struct cvmx_pciercx_cfg068_s cn52xx; 2012 struct cvmx_pciercx_cfg068_cn52xx {
1207 struct cvmx_pciercx_cfg068_s cn52xxp1; 2013#ifdef __BIG_ENDIAN_BITFIELD
1208 struct cvmx_pciercx_cfg068_s cn56xx; 2014 uint32_t reserved_14_31:18;
1209 struct cvmx_pciercx_cfg068_s cn56xxp1; 2015 uint32_t anfes:1;
1210 struct cvmx_pciercx_cfg068_s cn61xx; 2016 uint32_t rtts:1;
1211 struct cvmx_pciercx_cfg068_s cn63xx; 2017 uint32_t reserved_9_11:3;
1212 struct cvmx_pciercx_cfg068_s cn63xxp1; 2018 uint32_t rnrs:1;
1213 struct cvmx_pciercx_cfg068_s cn66xx; 2019 uint32_t bdllps:1;
1214 struct cvmx_pciercx_cfg068_s cn68xx; 2020 uint32_t btlps:1;
1215 struct cvmx_pciercx_cfg068_s cn68xxp1; 2021 uint32_t reserved_1_5:5;
2022 uint32_t res:1;
2023#else
2024 uint32_t res:1;
2025 uint32_t reserved_1_5:5;
2026 uint32_t btlps:1;
2027 uint32_t bdllps:1;
2028 uint32_t rnrs:1;
2029 uint32_t reserved_9_11:3;
2030 uint32_t rtts:1;
2031 uint32_t anfes:1;
2032 uint32_t reserved_14_31:18;
2033#endif
2034 } cn52xx;
2035 struct cvmx_pciercx_cfg068_cn52xx cn52xxp1;
2036 struct cvmx_pciercx_cfg068_cn52xx cn56xx;
2037 struct cvmx_pciercx_cfg068_cn52xx cn56xxp1;
2038 struct cvmx_pciercx_cfg068_cn52xx cn61xx;
2039 struct cvmx_pciercx_cfg068_cn52xx cn63xx;
2040 struct cvmx_pciercx_cfg068_cn52xx cn63xxp1;
2041 struct cvmx_pciercx_cfg068_cn52xx cn66xx;
2042 struct cvmx_pciercx_cfg068_cn52xx cn68xx;
2043 struct cvmx_pciercx_cfg068_cn52xx cn68xxp1;
2044 struct cvmx_pciercx_cfg068_s cnf71xx;
1216}; 2045};
1217 2046
1218union cvmx_pciercx_cfg069 { 2047union cvmx_pciercx_cfg069 {
1219 uint32_t u32; 2048 uint32_t u32;
1220 struct cvmx_pciercx_cfg069_s { 2049 struct cvmx_pciercx_cfg069_s {
1221 uint32_t reserved_14_31:18; 2050#ifdef __BIG_ENDIAN_BITFIELD
2051 uint32_t reserved_15_31:17;
2052 uint32_t ciem:1;
1222 uint32_t anfem:1; 2053 uint32_t anfem:1;
1223 uint32_t rttm:1; 2054 uint32_t rttm:1;
1224 uint32_t reserved_9_11:3; 2055 uint32_t reserved_9_11:3;
@@ -1227,28 +2058,72 @@ union cvmx_pciercx_cfg069 {
1227 uint32_t btlpm:1; 2058 uint32_t btlpm:1;
1228 uint32_t reserved_1_5:5; 2059 uint32_t reserved_1_5:5;
1229 uint32_t rem:1; 2060 uint32_t rem:1;
2061#else
2062 uint32_t rem:1;
2063 uint32_t reserved_1_5:5;
2064 uint32_t btlpm:1;
2065 uint32_t bdllpm:1;
2066 uint32_t rnrm:1;
2067 uint32_t reserved_9_11:3;
2068 uint32_t rttm:1;
2069 uint32_t anfem:1;
2070 uint32_t ciem:1;
2071 uint32_t reserved_15_31:17;
2072#endif
1230 } s; 2073 } s;
1231 struct cvmx_pciercx_cfg069_s cn52xx; 2074 struct cvmx_pciercx_cfg069_cn52xx {
1232 struct cvmx_pciercx_cfg069_s cn52xxp1; 2075#ifdef __BIG_ENDIAN_BITFIELD
1233 struct cvmx_pciercx_cfg069_s cn56xx; 2076 uint32_t reserved_14_31:18;
1234 struct cvmx_pciercx_cfg069_s cn56xxp1; 2077 uint32_t anfem:1;
1235 struct cvmx_pciercx_cfg069_s cn61xx; 2078 uint32_t rttm:1;
1236 struct cvmx_pciercx_cfg069_s cn63xx; 2079 uint32_t reserved_9_11:3;
1237 struct cvmx_pciercx_cfg069_s cn63xxp1; 2080 uint32_t rnrm:1;
1238 struct cvmx_pciercx_cfg069_s cn66xx; 2081 uint32_t bdllpm:1;
1239 struct cvmx_pciercx_cfg069_s cn68xx; 2082 uint32_t btlpm:1;
1240 struct cvmx_pciercx_cfg069_s cn68xxp1; 2083 uint32_t reserved_1_5:5;
2084 uint32_t rem:1;
2085#else
2086 uint32_t rem:1;
2087 uint32_t reserved_1_5:5;
2088 uint32_t btlpm:1;
2089 uint32_t bdllpm:1;
2090 uint32_t rnrm:1;
2091 uint32_t reserved_9_11:3;
2092 uint32_t rttm:1;
2093 uint32_t anfem:1;
2094 uint32_t reserved_14_31:18;
2095#endif
2096 } cn52xx;
2097 struct cvmx_pciercx_cfg069_cn52xx cn52xxp1;
2098 struct cvmx_pciercx_cfg069_cn52xx cn56xx;
2099 struct cvmx_pciercx_cfg069_cn52xx cn56xxp1;
2100 struct cvmx_pciercx_cfg069_cn52xx cn61xx;
2101 struct cvmx_pciercx_cfg069_cn52xx cn63xx;
2102 struct cvmx_pciercx_cfg069_cn52xx cn63xxp1;
2103 struct cvmx_pciercx_cfg069_cn52xx cn66xx;
2104 struct cvmx_pciercx_cfg069_cn52xx cn68xx;
2105 struct cvmx_pciercx_cfg069_cn52xx cn68xxp1;
2106 struct cvmx_pciercx_cfg069_s cnf71xx;
1241}; 2107};
1242 2108
1243union cvmx_pciercx_cfg070 { 2109union cvmx_pciercx_cfg070 {
1244 uint32_t u32; 2110 uint32_t u32;
1245 struct cvmx_pciercx_cfg070_s { 2111 struct cvmx_pciercx_cfg070_s {
2112#ifdef __BIG_ENDIAN_BITFIELD
1246 uint32_t reserved_9_31:23; 2113 uint32_t reserved_9_31:23;
1247 uint32_t ce:1; 2114 uint32_t ce:1;
1248 uint32_t cc:1; 2115 uint32_t cc:1;
1249 uint32_t ge:1; 2116 uint32_t ge:1;
1250 uint32_t gc:1; 2117 uint32_t gc:1;
1251 uint32_t fep:5; 2118 uint32_t fep:5;
2119#else
2120 uint32_t fep:5;
2121 uint32_t gc:1;
2122 uint32_t ge:1;
2123 uint32_t cc:1;
2124 uint32_t ce:1;
2125 uint32_t reserved_9_31:23;
2126#endif
1252 } s; 2127 } s;
1253 struct cvmx_pciercx_cfg070_s cn52xx; 2128 struct cvmx_pciercx_cfg070_s cn52xx;
1254 struct cvmx_pciercx_cfg070_s cn52xxp1; 2129 struct cvmx_pciercx_cfg070_s cn52xxp1;
@@ -1260,12 +2135,17 @@ union cvmx_pciercx_cfg070 {
1260 struct cvmx_pciercx_cfg070_s cn66xx; 2135 struct cvmx_pciercx_cfg070_s cn66xx;
1261 struct cvmx_pciercx_cfg070_s cn68xx; 2136 struct cvmx_pciercx_cfg070_s cn68xx;
1262 struct cvmx_pciercx_cfg070_s cn68xxp1; 2137 struct cvmx_pciercx_cfg070_s cn68xxp1;
2138 struct cvmx_pciercx_cfg070_s cnf71xx;
1263}; 2139};
1264 2140
1265union cvmx_pciercx_cfg071 { 2141union cvmx_pciercx_cfg071 {
1266 uint32_t u32; 2142 uint32_t u32;
1267 struct cvmx_pciercx_cfg071_s { 2143 struct cvmx_pciercx_cfg071_s {
2144#ifdef __BIG_ENDIAN_BITFIELD
1268 uint32_t dword1:32; 2145 uint32_t dword1:32;
2146#else
2147 uint32_t dword1:32;
2148#endif
1269 } s; 2149 } s;
1270 struct cvmx_pciercx_cfg071_s cn52xx; 2150 struct cvmx_pciercx_cfg071_s cn52xx;
1271 struct cvmx_pciercx_cfg071_s cn52xxp1; 2151 struct cvmx_pciercx_cfg071_s cn52xxp1;
@@ -1277,12 +2157,17 @@ union cvmx_pciercx_cfg071 {
1277 struct cvmx_pciercx_cfg071_s cn66xx; 2157 struct cvmx_pciercx_cfg071_s cn66xx;
1278 struct cvmx_pciercx_cfg071_s cn68xx; 2158 struct cvmx_pciercx_cfg071_s cn68xx;
1279 struct cvmx_pciercx_cfg071_s cn68xxp1; 2159 struct cvmx_pciercx_cfg071_s cn68xxp1;
2160 struct cvmx_pciercx_cfg071_s cnf71xx;
1280}; 2161};
1281 2162
1282union cvmx_pciercx_cfg072 { 2163union cvmx_pciercx_cfg072 {
1283 uint32_t u32; 2164 uint32_t u32;
1284 struct cvmx_pciercx_cfg072_s { 2165 struct cvmx_pciercx_cfg072_s {
2166#ifdef __BIG_ENDIAN_BITFIELD
1285 uint32_t dword2:32; 2167 uint32_t dword2:32;
2168#else
2169 uint32_t dword2:32;
2170#endif
1286 } s; 2171 } s;
1287 struct cvmx_pciercx_cfg072_s cn52xx; 2172 struct cvmx_pciercx_cfg072_s cn52xx;
1288 struct cvmx_pciercx_cfg072_s cn52xxp1; 2173 struct cvmx_pciercx_cfg072_s cn52xxp1;
@@ -1294,12 +2179,17 @@ union cvmx_pciercx_cfg072 {
1294 struct cvmx_pciercx_cfg072_s cn66xx; 2179 struct cvmx_pciercx_cfg072_s cn66xx;
1295 struct cvmx_pciercx_cfg072_s cn68xx; 2180 struct cvmx_pciercx_cfg072_s cn68xx;
1296 struct cvmx_pciercx_cfg072_s cn68xxp1; 2181 struct cvmx_pciercx_cfg072_s cn68xxp1;
2182 struct cvmx_pciercx_cfg072_s cnf71xx;
1297}; 2183};
1298 2184
1299union cvmx_pciercx_cfg073 { 2185union cvmx_pciercx_cfg073 {
1300 uint32_t u32; 2186 uint32_t u32;
1301 struct cvmx_pciercx_cfg073_s { 2187 struct cvmx_pciercx_cfg073_s {
2188#ifdef __BIG_ENDIAN_BITFIELD
1302 uint32_t dword3:32; 2189 uint32_t dword3:32;
2190#else
2191 uint32_t dword3:32;
2192#endif
1303 } s; 2193 } s;
1304 struct cvmx_pciercx_cfg073_s cn52xx; 2194 struct cvmx_pciercx_cfg073_s cn52xx;
1305 struct cvmx_pciercx_cfg073_s cn52xxp1; 2195 struct cvmx_pciercx_cfg073_s cn52xxp1;
@@ -1311,12 +2201,17 @@ union cvmx_pciercx_cfg073 {
1311 struct cvmx_pciercx_cfg073_s cn66xx; 2201 struct cvmx_pciercx_cfg073_s cn66xx;
1312 struct cvmx_pciercx_cfg073_s cn68xx; 2202 struct cvmx_pciercx_cfg073_s cn68xx;
1313 struct cvmx_pciercx_cfg073_s cn68xxp1; 2203 struct cvmx_pciercx_cfg073_s cn68xxp1;
2204 struct cvmx_pciercx_cfg073_s cnf71xx;
1314}; 2205};
1315 2206
1316union cvmx_pciercx_cfg074 { 2207union cvmx_pciercx_cfg074 {
1317 uint32_t u32; 2208 uint32_t u32;
1318 struct cvmx_pciercx_cfg074_s { 2209 struct cvmx_pciercx_cfg074_s {
2210#ifdef __BIG_ENDIAN_BITFIELD
2211 uint32_t dword4:32;
2212#else
1319 uint32_t dword4:32; 2213 uint32_t dword4:32;
2214#endif
1320 } s; 2215 } s;
1321 struct cvmx_pciercx_cfg074_s cn52xx; 2216 struct cvmx_pciercx_cfg074_s cn52xx;
1322 struct cvmx_pciercx_cfg074_s cn52xxp1; 2217 struct cvmx_pciercx_cfg074_s cn52xxp1;
@@ -1328,15 +2223,23 @@ union cvmx_pciercx_cfg074 {
1328 struct cvmx_pciercx_cfg074_s cn66xx; 2223 struct cvmx_pciercx_cfg074_s cn66xx;
1329 struct cvmx_pciercx_cfg074_s cn68xx; 2224 struct cvmx_pciercx_cfg074_s cn68xx;
1330 struct cvmx_pciercx_cfg074_s cn68xxp1; 2225 struct cvmx_pciercx_cfg074_s cn68xxp1;
2226 struct cvmx_pciercx_cfg074_s cnf71xx;
1331}; 2227};
1332 2228
1333union cvmx_pciercx_cfg075 { 2229union cvmx_pciercx_cfg075 {
1334 uint32_t u32; 2230 uint32_t u32;
1335 struct cvmx_pciercx_cfg075_s { 2231 struct cvmx_pciercx_cfg075_s {
2232#ifdef __BIG_ENDIAN_BITFIELD
1336 uint32_t reserved_3_31:29; 2233 uint32_t reserved_3_31:29;
1337 uint32_t fere:1; 2234 uint32_t fere:1;
1338 uint32_t nfere:1; 2235 uint32_t nfere:1;
1339 uint32_t cere:1; 2236 uint32_t cere:1;
2237#else
2238 uint32_t cere:1;
2239 uint32_t nfere:1;
2240 uint32_t fere:1;
2241 uint32_t reserved_3_31:29;
2242#endif
1340 } s; 2243 } s;
1341 struct cvmx_pciercx_cfg075_s cn52xx; 2244 struct cvmx_pciercx_cfg075_s cn52xx;
1342 struct cvmx_pciercx_cfg075_s cn52xxp1; 2245 struct cvmx_pciercx_cfg075_s cn52xxp1;
@@ -1348,11 +2251,13 @@ union cvmx_pciercx_cfg075 {
1348 struct cvmx_pciercx_cfg075_s cn66xx; 2251 struct cvmx_pciercx_cfg075_s cn66xx;
1349 struct cvmx_pciercx_cfg075_s cn68xx; 2252 struct cvmx_pciercx_cfg075_s cn68xx;
1350 struct cvmx_pciercx_cfg075_s cn68xxp1; 2253 struct cvmx_pciercx_cfg075_s cn68xxp1;
2254 struct cvmx_pciercx_cfg075_s cnf71xx;
1351}; 2255};
1352 2256
1353union cvmx_pciercx_cfg076 { 2257union cvmx_pciercx_cfg076 {
1354 uint32_t u32; 2258 uint32_t u32;
1355 struct cvmx_pciercx_cfg076_s { 2259 struct cvmx_pciercx_cfg076_s {
2260#ifdef __BIG_ENDIAN_BITFIELD
1356 uint32_t aeimn:5; 2261 uint32_t aeimn:5;
1357 uint32_t reserved_7_26:20; 2262 uint32_t reserved_7_26:20;
1358 uint32_t femr:1; 2263 uint32_t femr:1;
@@ -1362,6 +2267,17 @@ union cvmx_pciercx_cfg076 {
1362 uint32_t efnfr:1; 2267 uint32_t efnfr:1;
1363 uint32_t multi_ecr:1; 2268 uint32_t multi_ecr:1;
1364 uint32_t ecr:1; 2269 uint32_t ecr:1;
2270#else
2271 uint32_t ecr:1;
2272 uint32_t multi_ecr:1;
2273 uint32_t efnfr:1;
2274 uint32_t multi_efnfr:1;
2275 uint32_t fuf:1;
2276 uint32_t nfemr:1;
2277 uint32_t femr:1;
2278 uint32_t reserved_7_26:20;
2279 uint32_t aeimn:5;
2280#endif
1365 } s; 2281 } s;
1366 struct cvmx_pciercx_cfg076_s cn52xx; 2282 struct cvmx_pciercx_cfg076_s cn52xx;
1367 struct cvmx_pciercx_cfg076_s cn52xxp1; 2283 struct cvmx_pciercx_cfg076_s cn52xxp1;
@@ -1373,13 +2289,19 @@ union cvmx_pciercx_cfg076 {
1373 struct cvmx_pciercx_cfg076_s cn66xx; 2289 struct cvmx_pciercx_cfg076_s cn66xx;
1374 struct cvmx_pciercx_cfg076_s cn68xx; 2290 struct cvmx_pciercx_cfg076_s cn68xx;
1375 struct cvmx_pciercx_cfg076_s cn68xxp1; 2291 struct cvmx_pciercx_cfg076_s cn68xxp1;
2292 struct cvmx_pciercx_cfg076_s cnf71xx;
1376}; 2293};
1377 2294
1378union cvmx_pciercx_cfg077 { 2295union cvmx_pciercx_cfg077 {
1379 uint32_t u32; 2296 uint32_t u32;
1380 struct cvmx_pciercx_cfg077_s { 2297 struct cvmx_pciercx_cfg077_s {
2298#ifdef __BIG_ENDIAN_BITFIELD
1381 uint32_t efnfsi:16; 2299 uint32_t efnfsi:16;
1382 uint32_t ecsi:16; 2300 uint32_t ecsi:16;
2301#else
2302 uint32_t ecsi:16;
2303 uint32_t efnfsi:16;
2304#endif
1383 } s; 2305 } s;
1384 struct cvmx_pciercx_cfg077_s cn52xx; 2306 struct cvmx_pciercx_cfg077_s cn52xx;
1385 struct cvmx_pciercx_cfg077_s cn52xxp1; 2307 struct cvmx_pciercx_cfg077_s cn52xxp1;
@@ -1391,13 +2313,19 @@ union cvmx_pciercx_cfg077 {
1391 struct cvmx_pciercx_cfg077_s cn66xx; 2313 struct cvmx_pciercx_cfg077_s cn66xx;
1392 struct cvmx_pciercx_cfg077_s cn68xx; 2314 struct cvmx_pciercx_cfg077_s cn68xx;
1393 struct cvmx_pciercx_cfg077_s cn68xxp1; 2315 struct cvmx_pciercx_cfg077_s cn68xxp1;
2316 struct cvmx_pciercx_cfg077_s cnf71xx;
1394}; 2317};
1395 2318
1396union cvmx_pciercx_cfg448 { 2319union cvmx_pciercx_cfg448 {
1397 uint32_t u32; 2320 uint32_t u32;
1398 struct cvmx_pciercx_cfg448_s { 2321 struct cvmx_pciercx_cfg448_s {
2322#ifdef __BIG_ENDIAN_BITFIELD
1399 uint32_t rtl:16; 2323 uint32_t rtl:16;
1400 uint32_t rtltl:16; 2324 uint32_t rtltl:16;
2325#else
2326 uint32_t rtltl:16;
2327 uint32_t rtl:16;
2328#endif
1401 } s; 2329 } s;
1402 struct cvmx_pciercx_cfg448_s cn52xx; 2330 struct cvmx_pciercx_cfg448_s cn52xx;
1403 struct cvmx_pciercx_cfg448_s cn52xxp1; 2331 struct cvmx_pciercx_cfg448_s cn52xxp1;
@@ -1409,12 +2337,17 @@ union cvmx_pciercx_cfg448 {
1409 struct cvmx_pciercx_cfg448_s cn66xx; 2337 struct cvmx_pciercx_cfg448_s cn66xx;
1410 struct cvmx_pciercx_cfg448_s cn68xx; 2338 struct cvmx_pciercx_cfg448_s cn68xx;
1411 struct cvmx_pciercx_cfg448_s cn68xxp1; 2339 struct cvmx_pciercx_cfg448_s cn68xxp1;
2340 struct cvmx_pciercx_cfg448_s cnf71xx;
1412}; 2341};
1413 2342
1414union cvmx_pciercx_cfg449 { 2343union cvmx_pciercx_cfg449 {
1415 uint32_t u32; 2344 uint32_t u32;
1416 struct cvmx_pciercx_cfg449_s { 2345 struct cvmx_pciercx_cfg449_s {
2346#ifdef __BIG_ENDIAN_BITFIELD
2347 uint32_t omr:32;
2348#else
1417 uint32_t omr:32; 2349 uint32_t omr:32;
2350#endif
1418 } s; 2351 } s;
1419 struct cvmx_pciercx_cfg449_s cn52xx; 2352 struct cvmx_pciercx_cfg449_s cn52xx;
1420 struct cvmx_pciercx_cfg449_s cn52xxp1; 2353 struct cvmx_pciercx_cfg449_s cn52xxp1;
@@ -1426,17 +2359,27 @@ union cvmx_pciercx_cfg449 {
1426 struct cvmx_pciercx_cfg449_s cn66xx; 2359 struct cvmx_pciercx_cfg449_s cn66xx;
1427 struct cvmx_pciercx_cfg449_s cn68xx; 2360 struct cvmx_pciercx_cfg449_s cn68xx;
1428 struct cvmx_pciercx_cfg449_s cn68xxp1; 2361 struct cvmx_pciercx_cfg449_s cn68xxp1;
2362 struct cvmx_pciercx_cfg449_s cnf71xx;
1429}; 2363};
1430 2364
1431union cvmx_pciercx_cfg450 { 2365union cvmx_pciercx_cfg450 {
1432 uint32_t u32; 2366 uint32_t u32;
1433 struct cvmx_pciercx_cfg450_s { 2367 struct cvmx_pciercx_cfg450_s {
2368#ifdef __BIG_ENDIAN_BITFIELD
1434 uint32_t lpec:8; 2369 uint32_t lpec:8;
1435 uint32_t reserved_22_23:2; 2370 uint32_t reserved_22_23:2;
1436 uint32_t link_state:6; 2371 uint32_t link_state:6;
1437 uint32_t force_link:1; 2372 uint32_t force_link:1;
1438 uint32_t reserved_8_14:7; 2373 uint32_t reserved_8_14:7;
1439 uint32_t link_num:8; 2374 uint32_t link_num:8;
2375#else
2376 uint32_t link_num:8;
2377 uint32_t reserved_8_14:7;
2378 uint32_t force_link:1;
2379 uint32_t link_state:6;
2380 uint32_t reserved_22_23:2;
2381 uint32_t lpec:8;
2382#endif
1440 } s; 2383 } s;
1441 struct cvmx_pciercx_cfg450_s cn52xx; 2384 struct cvmx_pciercx_cfg450_s cn52xx;
1442 struct cvmx_pciercx_cfg450_s cn52xxp1; 2385 struct cvmx_pciercx_cfg450_s cn52xxp1;
@@ -1448,11 +2391,13 @@ union cvmx_pciercx_cfg450 {
1448 struct cvmx_pciercx_cfg450_s cn66xx; 2391 struct cvmx_pciercx_cfg450_s cn66xx;
1449 struct cvmx_pciercx_cfg450_s cn68xx; 2392 struct cvmx_pciercx_cfg450_s cn68xx;
1450 struct cvmx_pciercx_cfg450_s cn68xxp1; 2393 struct cvmx_pciercx_cfg450_s cn68xxp1;
2394 struct cvmx_pciercx_cfg450_s cnf71xx;
1451}; 2395};
1452 2396
1453union cvmx_pciercx_cfg451 { 2397union cvmx_pciercx_cfg451 {
1454 uint32_t u32; 2398 uint32_t u32;
1455 struct cvmx_pciercx_cfg451_s { 2399 struct cvmx_pciercx_cfg451_s {
2400#ifdef __BIG_ENDIAN_BITFIELD
1456 uint32_t reserved_31_31:1; 2401 uint32_t reserved_31_31:1;
1457 uint32_t easpml1:1; 2402 uint32_t easpml1:1;
1458 uint32_t l1el:3; 2403 uint32_t l1el:3;
@@ -1460,14 +2405,32 @@ union cvmx_pciercx_cfg451 {
1460 uint32_t n_fts_cc:8; 2405 uint32_t n_fts_cc:8;
1461 uint32_t n_fts:8; 2406 uint32_t n_fts:8;
1462 uint32_t ack_freq:8; 2407 uint32_t ack_freq:8;
2408#else
2409 uint32_t ack_freq:8;
2410 uint32_t n_fts:8;
2411 uint32_t n_fts_cc:8;
2412 uint32_t l0el:3;
2413 uint32_t l1el:3;
2414 uint32_t easpml1:1;
2415 uint32_t reserved_31_31:1;
2416#endif
1463 } s; 2417 } s;
1464 struct cvmx_pciercx_cfg451_cn52xx { 2418 struct cvmx_pciercx_cfg451_cn52xx {
2419#ifdef __BIG_ENDIAN_BITFIELD
1465 uint32_t reserved_30_31:2; 2420 uint32_t reserved_30_31:2;
1466 uint32_t l1el:3; 2421 uint32_t l1el:3;
1467 uint32_t l0el:3; 2422 uint32_t l0el:3;
1468 uint32_t n_fts_cc:8; 2423 uint32_t n_fts_cc:8;
1469 uint32_t n_fts:8; 2424 uint32_t n_fts:8;
1470 uint32_t ack_freq:8; 2425 uint32_t ack_freq:8;
2426#else
2427 uint32_t ack_freq:8;
2428 uint32_t n_fts:8;
2429 uint32_t n_fts_cc:8;
2430 uint32_t l0el:3;
2431 uint32_t l1el:3;
2432 uint32_t reserved_30_31:2;
2433#endif
1471 } cn52xx; 2434 } cn52xx;
1472 struct cvmx_pciercx_cfg451_cn52xx cn52xxp1; 2435 struct cvmx_pciercx_cfg451_cn52xx cn52xxp1;
1473 struct cvmx_pciercx_cfg451_cn52xx cn56xx; 2436 struct cvmx_pciercx_cfg451_cn52xx cn56xx;
@@ -1478,11 +2441,13 @@ union cvmx_pciercx_cfg451 {
1478 struct cvmx_pciercx_cfg451_s cn66xx; 2441 struct cvmx_pciercx_cfg451_s cn66xx;
1479 struct cvmx_pciercx_cfg451_s cn68xx; 2442 struct cvmx_pciercx_cfg451_s cn68xx;
1480 struct cvmx_pciercx_cfg451_s cn68xxp1; 2443 struct cvmx_pciercx_cfg451_s cn68xxp1;
2444 struct cvmx_pciercx_cfg451_s cnf71xx;
1481}; 2445};
1482 2446
1483union cvmx_pciercx_cfg452 { 2447union cvmx_pciercx_cfg452 {
1484 uint32_t u32; 2448 uint32_t u32;
1485 struct cvmx_pciercx_cfg452_s { 2449 struct cvmx_pciercx_cfg452_s {
2450#ifdef __BIG_ENDIAN_BITFIELD
1486 uint32_t reserved_26_31:6; 2451 uint32_t reserved_26_31:6;
1487 uint32_t eccrc:1; 2452 uint32_t eccrc:1;
1488 uint32_t reserved_22_24:3; 2453 uint32_t reserved_22_24:3;
@@ -1496,12 +2461,28 @@ union cvmx_pciercx_cfg452 {
1496 uint32_t le:1; 2461 uint32_t le:1;
1497 uint32_t sd:1; 2462 uint32_t sd:1;
1498 uint32_t omr:1; 2463 uint32_t omr:1;
2464#else
2465 uint32_t omr:1;
2466 uint32_t sd:1;
2467 uint32_t le:1;
2468 uint32_t ra:1;
2469 uint32_t reserved_4_4:1;
2470 uint32_t dllle:1;
2471 uint32_t reserved_6_6:1;
2472 uint32_t flm:1;
2473 uint32_t reserved_8_15:8;
2474 uint32_t lme:6;
2475 uint32_t reserved_22_24:3;
2476 uint32_t eccrc:1;
2477 uint32_t reserved_26_31:6;
2478#endif
1499 } s; 2479 } s;
1500 struct cvmx_pciercx_cfg452_s cn52xx; 2480 struct cvmx_pciercx_cfg452_s cn52xx;
1501 struct cvmx_pciercx_cfg452_s cn52xxp1; 2481 struct cvmx_pciercx_cfg452_s cn52xxp1;
1502 struct cvmx_pciercx_cfg452_s cn56xx; 2482 struct cvmx_pciercx_cfg452_s cn56xx;
1503 struct cvmx_pciercx_cfg452_s cn56xxp1; 2483 struct cvmx_pciercx_cfg452_s cn56xxp1;
1504 struct cvmx_pciercx_cfg452_cn61xx { 2484 struct cvmx_pciercx_cfg452_cn61xx {
2485#ifdef __BIG_ENDIAN_BITFIELD
1505 uint32_t reserved_22_31:10; 2486 uint32_t reserved_22_31:10;
1506 uint32_t lme:6; 2487 uint32_t lme:6;
1507 uint32_t reserved_8_15:8; 2488 uint32_t reserved_8_15:8;
@@ -1513,22 +2494,44 @@ union cvmx_pciercx_cfg452 {
1513 uint32_t le:1; 2494 uint32_t le:1;
1514 uint32_t sd:1; 2495 uint32_t sd:1;
1515 uint32_t omr:1; 2496 uint32_t omr:1;
2497#else
2498 uint32_t omr:1;
2499 uint32_t sd:1;
2500 uint32_t le:1;
2501 uint32_t ra:1;
2502 uint32_t reserved_4_4:1;
2503 uint32_t dllle:1;
2504 uint32_t reserved_6_6:1;
2505 uint32_t flm:1;
2506 uint32_t reserved_8_15:8;
2507 uint32_t lme:6;
2508 uint32_t reserved_22_31:10;
2509#endif
1516 } cn61xx; 2510 } cn61xx;
1517 struct cvmx_pciercx_cfg452_s cn63xx; 2511 struct cvmx_pciercx_cfg452_s cn63xx;
1518 struct cvmx_pciercx_cfg452_s cn63xxp1; 2512 struct cvmx_pciercx_cfg452_s cn63xxp1;
1519 struct cvmx_pciercx_cfg452_cn61xx cn66xx; 2513 struct cvmx_pciercx_cfg452_cn61xx cn66xx;
1520 struct cvmx_pciercx_cfg452_cn61xx cn68xx; 2514 struct cvmx_pciercx_cfg452_cn61xx cn68xx;
1521 struct cvmx_pciercx_cfg452_cn61xx cn68xxp1; 2515 struct cvmx_pciercx_cfg452_cn61xx cn68xxp1;
2516 struct cvmx_pciercx_cfg452_cn61xx cnf71xx;
1522}; 2517};
1523 2518
1524union cvmx_pciercx_cfg453 { 2519union cvmx_pciercx_cfg453 {
1525 uint32_t u32; 2520 uint32_t u32;
1526 struct cvmx_pciercx_cfg453_s { 2521 struct cvmx_pciercx_cfg453_s {
2522#ifdef __BIG_ENDIAN_BITFIELD
1527 uint32_t dlld:1; 2523 uint32_t dlld:1;
1528 uint32_t reserved_26_30:5; 2524 uint32_t reserved_26_30:5;
1529 uint32_t ack_nak:1; 2525 uint32_t ack_nak:1;
1530 uint32_t fcd:1; 2526 uint32_t fcd:1;
1531 uint32_t ilst:24; 2527 uint32_t ilst:24;
2528#else
2529 uint32_t ilst:24;
2530 uint32_t fcd:1;
2531 uint32_t ack_nak:1;
2532 uint32_t reserved_26_30:5;
2533 uint32_t dlld:1;
2534#endif
1532 } s; 2535 } s;
1533 struct cvmx_pciercx_cfg453_s cn52xx; 2536 struct cvmx_pciercx_cfg453_s cn52xx;
1534 struct cvmx_pciercx_cfg453_s cn52xxp1; 2537 struct cvmx_pciercx_cfg453_s cn52xxp1;
@@ -1540,11 +2543,13 @@ union cvmx_pciercx_cfg453 {
1540 struct cvmx_pciercx_cfg453_s cn66xx; 2543 struct cvmx_pciercx_cfg453_s cn66xx;
1541 struct cvmx_pciercx_cfg453_s cn68xx; 2544 struct cvmx_pciercx_cfg453_s cn68xx;
1542 struct cvmx_pciercx_cfg453_s cn68xxp1; 2545 struct cvmx_pciercx_cfg453_s cn68xxp1;
2546 struct cvmx_pciercx_cfg453_s cnf71xx;
1543}; 2547};
1544 2548
1545union cvmx_pciercx_cfg454 { 2549union cvmx_pciercx_cfg454 {
1546 uint32_t u32; 2550 uint32_t u32;
1547 struct cvmx_pciercx_cfg454_s { 2551 struct cvmx_pciercx_cfg454_s {
2552#ifdef __BIG_ENDIAN_BITFIELD
1548 uint32_t cx_nfunc:3; 2553 uint32_t cx_nfunc:3;
1549 uint32_t tmfcwt:5; 2554 uint32_t tmfcwt:5;
1550 uint32_t tmanlt:5; 2555 uint32_t tmanlt:5;
@@ -1552,8 +2557,18 @@ union cvmx_pciercx_cfg454 {
1552 uint32_t reserved_11_13:3; 2557 uint32_t reserved_11_13:3;
1553 uint32_t nskps:3; 2558 uint32_t nskps:3;
1554 uint32_t reserved_0_7:8; 2559 uint32_t reserved_0_7:8;
2560#else
2561 uint32_t reserved_0_7:8;
2562 uint32_t nskps:3;
2563 uint32_t reserved_11_13:3;
2564 uint32_t tmrt:5;
2565 uint32_t tmanlt:5;
2566 uint32_t tmfcwt:5;
2567 uint32_t cx_nfunc:3;
2568#endif
1555 } s; 2569 } s;
1556 struct cvmx_pciercx_cfg454_cn52xx { 2570 struct cvmx_pciercx_cfg454_cn52xx {
2571#ifdef __BIG_ENDIAN_BITFIELD
1557 uint32_t reserved_29_31:3; 2572 uint32_t reserved_29_31:3;
1558 uint32_t tmfcwt:5; 2573 uint32_t tmfcwt:5;
1559 uint32_t tmanlt:5; 2574 uint32_t tmanlt:5;
@@ -1562,28 +2577,49 @@ union cvmx_pciercx_cfg454 {
1562 uint32_t nskps:3; 2577 uint32_t nskps:3;
1563 uint32_t reserved_4_7:4; 2578 uint32_t reserved_4_7:4;
1564 uint32_t ntss:4; 2579 uint32_t ntss:4;
2580#else
2581 uint32_t ntss:4;
2582 uint32_t reserved_4_7:4;
2583 uint32_t nskps:3;
2584 uint32_t reserved_11_13:3;
2585 uint32_t tmrt:5;
2586 uint32_t tmanlt:5;
2587 uint32_t tmfcwt:5;
2588 uint32_t reserved_29_31:3;
2589#endif
1565 } cn52xx; 2590 } cn52xx;
1566 struct cvmx_pciercx_cfg454_cn52xx cn52xxp1; 2591 struct cvmx_pciercx_cfg454_cn52xx cn52xxp1;
1567 struct cvmx_pciercx_cfg454_cn52xx cn56xx; 2592 struct cvmx_pciercx_cfg454_cn52xx cn56xx;
1568 struct cvmx_pciercx_cfg454_cn52xx cn56xxp1; 2593 struct cvmx_pciercx_cfg454_cn52xx cn56xxp1;
1569 struct cvmx_pciercx_cfg454_cn61xx { 2594 struct cvmx_pciercx_cfg454_cn61xx {
2595#ifdef __BIG_ENDIAN_BITFIELD
1570 uint32_t cx_nfunc:3; 2596 uint32_t cx_nfunc:3;
1571 uint32_t tmfcwt:5; 2597 uint32_t tmfcwt:5;
1572 uint32_t tmanlt:5; 2598 uint32_t tmanlt:5;
1573 uint32_t tmrt:5; 2599 uint32_t tmrt:5;
1574 uint32_t reserved_8_13:6; 2600 uint32_t reserved_8_13:6;
1575 uint32_t mfuncn:8; 2601 uint32_t mfuncn:8;
2602#else
2603 uint32_t mfuncn:8;
2604 uint32_t reserved_8_13:6;
2605 uint32_t tmrt:5;
2606 uint32_t tmanlt:5;
2607 uint32_t tmfcwt:5;
2608 uint32_t cx_nfunc:3;
2609#endif
1576 } cn61xx; 2610 } cn61xx;
1577 struct cvmx_pciercx_cfg454_cn52xx cn63xx; 2611 struct cvmx_pciercx_cfg454_cn52xx cn63xx;
1578 struct cvmx_pciercx_cfg454_cn52xx cn63xxp1; 2612 struct cvmx_pciercx_cfg454_cn52xx cn63xxp1;
1579 struct cvmx_pciercx_cfg454_cn61xx cn66xx; 2613 struct cvmx_pciercx_cfg454_cn61xx cn66xx;
1580 struct cvmx_pciercx_cfg454_cn61xx cn68xx; 2614 struct cvmx_pciercx_cfg454_cn61xx cn68xx;
1581 struct cvmx_pciercx_cfg454_cn52xx cn68xxp1; 2615 struct cvmx_pciercx_cfg454_cn52xx cn68xxp1;
2616 struct cvmx_pciercx_cfg454_cn61xx cnf71xx;
1582}; 2617};
1583 2618
1584union cvmx_pciercx_cfg455 { 2619union cvmx_pciercx_cfg455 {
1585 uint32_t u32; 2620 uint32_t u32;
1586 struct cvmx_pciercx_cfg455_s { 2621 struct cvmx_pciercx_cfg455_s {
2622#ifdef __BIG_ENDIAN_BITFIELD
1587 uint32_t m_cfg0_filt:1; 2623 uint32_t m_cfg0_filt:1;
1588 uint32_t m_io_filt:1; 2624 uint32_t m_io_filt:1;
1589 uint32_t msg_ctrl:1; 2625 uint32_t msg_ctrl:1;
@@ -1603,6 +2639,27 @@ union cvmx_pciercx_cfg455 {
1603 uint32_t dfcwt:1; 2639 uint32_t dfcwt:1;
1604 uint32_t reserved_11_14:4; 2640 uint32_t reserved_11_14:4;
1605 uint32_t skpiv:11; 2641 uint32_t skpiv:11;
2642#else
2643 uint32_t skpiv:11;
2644 uint32_t reserved_11_14:4;
2645 uint32_t dfcwt:1;
2646 uint32_t m_fun:1;
2647 uint32_t m_pois_filt:1;
2648 uint32_t m_bar_match:1;
2649 uint32_t m_cfg1_filt:1;
2650 uint32_t m_lk_filt:1;
2651 uint32_t m_cpl_tag_err:1;
2652 uint32_t m_cpl_rid_err:1;
2653 uint32_t m_cpl_fun_err:1;
2654 uint32_t m_cpl_tc_err:1;
2655 uint32_t m_cpl_attr_err:1;
2656 uint32_t m_cpl_len_err:1;
2657 uint32_t m_ecrc_filt:1;
2658 uint32_t m_cpl_ecrc_filt:1;
2659 uint32_t msg_ctrl:1;
2660 uint32_t m_io_filt:1;
2661 uint32_t m_cfg0_filt:1;
2662#endif
1606 } s; 2663 } s;
1607 struct cvmx_pciercx_cfg455_s cn52xx; 2664 struct cvmx_pciercx_cfg455_s cn52xx;
1608 struct cvmx_pciercx_cfg455_s cn52xxp1; 2665 struct cvmx_pciercx_cfg455_s cn52xxp1;
@@ -1614,21 +2671,36 @@ union cvmx_pciercx_cfg455 {
1614 struct cvmx_pciercx_cfg455_s cn66xx; 2671 struct cvmx_pciercx_cfg455_s cn66xx;
1615 struct cvmx_pciercx_cfg455_s cn68xx; 2672 struct cvmx_pciercx_cfg455_s cn68xx;
1616 struct cvmx_pciercx_cfg455_s cn68xxp1; 2673 struct cvmx_pciercx_cfg455_s cn68xxp1;
2674 struct cvmx_pciercx_cfg455_s cnf71xx;
1617}; 2675};
1618 2676
1619union cvmx_pciercx_cfg456 { 2677union cvmx_pciercx_cfg456 {
1620 uint32_t u32; 2678 uint32_t u32;
1621 struct cvmx_pciercx_cfg456_s { 2679 struct cvmx_pciercx_cfg456_s {
2680#ifdef __BIG_ENDIAN_BITFIELD
1622 uint32_t reserved_4_31:28; 2681 uint32_t reserved_4_31:28;
1623 uint32_t m_handle_flush:1; 2682 uint32_t m_handle_flush:1;
1624 uint32_t m_dabort_4ucpl:1; 2683 uint32_t m_dabort_4ucpl:1;
1625 uint32_t m_vend1_drp:1; 2684 uint32_t m_vend1_drp:1;
1626 uint32_t m_vend0_drp:1; 2685 uint32_t m_vend0_drp:1;
2686#else
2687 uint32_t m_vend0_drp:1;
2688 uint32_t m_vend1_drp:1;
2689 uint32_t m_dabort_4ucpl:1;
2690 uint32_t m_handle_flush:1;
2691 uint32_t reserved_4_31:28;
2692#endif
1627 } s; 2693 } s;
1628 struct cvmx_pciercx_cfg456_cn52xx { 2694 struct cvmx_pciercx_cfg456_cn52xx {
2695#ifdef __BIG_ENDIAN_BITFIELD
1629 uint32_t reserved_2_31:30; 2696 uint32_t reserved_2_31:30;
1630 uint32_t m_vend1_drp:1; 2697 uint32_t m_vend1_drp:1;
1631 uint32_t m_vend0_drp:1; 2698 uint32_t m_vend0_drp:1;
2699#else
2700 uint32_t m_vend0_drp:1;
2701 uint32_t m_vend1_drp:1;
2702 uint32_t reserved_2_31:30;
2703#endif
1632 } cn52xx; 2704 } cn52xx;
1633 struct cvmx_pciercx_cfg456_cn52xx cn52xxp1; 2705 struct cvmx_pciercx_cfg456_cn52xx cn52xxp1;
1634 struct cvmx_pciercx_cfg456_cn52xx cn56xx; 2706 struct cvmx_pciercx_cfg456_cn52xx cn56xx;
@@ -1639,12 +2711,17 @@ union cvmx_pciercx_cfg456 {
1639 struct cvmx_pciercx_cfg456_s cn66xx; 2711 struct cvmx_pciercx_cfg456_s cn66xx;
1640 struct cvmx_pciercx_cfg456_s cn68xx; 2712 struct cvmx_pciercx_cfg456_s cn68xx;
1641 struct cvmx_pciercx_cfg456_cn52xx cn68xxp1; 2713 struct cvmx_pciercx_cfg456_cn52xx cn68xxp1;
2714 struct cvmx_pciercx_cfg456_s cnf71xx;
1642}; 2715};
1643 2716
1644union cvmx_pciercx_cfg458 { 2717union cvmx_pciercx_cfg458 {
1645 uint32_t u32; 2718 uint32_t u32;
1646 struct cvmx_pciercx_cfg458_s { 2719 struct cvmx_pciercx_cfg458_s {
2720#ifdef __BIG_ENDIAN_BITFIELD
2721 uint32_t dbg_info_l32:32;
2722#else
1647 uint32_t dbg_info_l32:32; 2723 uint32_t dbg_info_l32:32;
2724#endif
1648 } s; 2725 } s;
1649 struct cvmx_pciercx_cfg458_s cn52xx; 2726 struct cvmx_pciercx_cfg458_s cn52xx;
1650 struct cvmx_pciercx_cfg458_s cn52xxp1; 2727 struct cvmx_pciercx_cfg458_s cn52xxp1;
@@ -1656,12 +2733,17 @@ union cvmx_pciercx_cfg458 {
1656 struct cvmx_pciercx_cfg458_s cn66xx; 2733 struct cvmx_pciercx_cfg458_s cn66xx;
1657 struct cvmx_pciercx_cfg458_s cn68xx; 2734 struct cvmx_pciercx_cfg458_s cn68xx;
1658 struct cvmx_pciercx_cfg458_s cn68xxp1; 2735 struct cvmx_pciercx_cfg458_s cn68xxp1;
2736 struct cvmx_pciercx_cfg458_s cnf71xx;
1659}; 2737};
1660 2738
1661union cvmx_pciercx_cfg459 { 2739union cvmx_pciercx_cfg459 {
1662 uint32_t u32; 2740 uint32_t u32;
1663 struct cvmx_pciercx_cfg459_s { 2741 struct cvmx_pciercx_cfg459_s {
2742#ifdef __BIG_ENDIAN_BITFIELD
2743 uint32_t dbg_info_u32:32;
2744#else
1664 uint32_t dbg_info_u32:32; 2745 uint32_t dbg_info_u32:32;
2746#endif
1665 } s; 2747 } s;
1666 struct cvmx_pciercx_cfg459_s cn52xx; 2748 struct cvmx_pciercx_cfg459_s cn52xx;
1667 struct cvmx_pciercx_cfg459_s cn52xxp1; 2749 struct cvmx_pciercx_cfg459_s cn52xxp1;
@@ -1673,14 +2755,21 @@ union cvmx_pciercx_cfg459 {
1673 struct cvmx_pciercx_cfg459_s cn66xx; 2755 struct cvmx_pciercx_cfg459_s cn66xx;
1674 struct cvmx_pciercx_cfg459_s cn68xx; 2756 struct cvmx_pciercx_cfg459_s cn68xx;
1675 struct cvmx_pciercx_cfg459_s cn68xxp1; 2757 struct cvmx_pciercx_cfg459_s cn68xxp1;
2758 struct cvmx_pciercx_cfg459_s cnf71xx;
1676}; 2759};
1677 2760
1678union cvmx_pciercx_cfg460 { 2761union cvmx_pciercx_cfg460 {
1679 uint32_t u32; 2762 uint32_t u32;
1680 struct cvmx_pciercx_cfg460_s { 2763 struct cvmx_pciercx_cfg460_s {
2764#ifdef __BIG_ENDIAN_BITFIELD
1681 uint32_t reserved_20_31:12; 2765 uint32_t reserved_20_31:12;
1682 uint32_t tphfcc:8; 2766 uint32_t tphfcc:8;
1683 uint32_t tpdfcc:12; 2767 uint32_t tpdfcc:12;
2768#else
2769 uint32_t tpdfcc:12;
2770 uint32_t tphfcc:8;
2771 uint32_t reserved_20_31:12;
2772#endif
1684 } s; 2773 } s;
1685 struct cvmx_pciercx_cfg460_s cn52xx; 2774 struct cvmx_pciercx_cfg460_s cn52xx;
1686 struct cvmx_pciercx_cfg460_s cn52xxp1; 2775 struct cvmx_pciercx_cfg460_s cn52xxp1;
@@ -1692,14 +2781,21 @@ union cvmx_pciercx_cfg460 {
1692 struct cvmx_pciercx_cfg460_s cn66xx; 2781 struct cvmx_pciercx_cfg460_s cn66xx;
1693 struct cvmx_pciercx_cfg460_s cn68xx; 2782 struct cvmx_pciercx_cfg460_s cn68xx;
1694 struct cvmx_pciercx_cfg460_s cn68xxp1; 2783 struct cvmx_pciercx_cfg460_s cn68xxp1;
2784 struct cvmx_pciercx_cfg460_s cnf71xx;
1695}; 2785};
1696 2786
1697union cvmx_pciercx_cfg461 { 2787union cvmx_pciercx_cfg461 {
1698 uint32_t u32; 2788 uint32_t u32;
1699 struct cvmx_pciercx_cfg461_s { 2789 struct cvmx_pciercx_cfg461_s {
2790#ifdef __BIG_ENDIAN_BITFIELD
1700 uint32_t reserved_20_31:12; 2791 uint32_t reserved_20_31:12;
1701 uint32_t tchfcc:8; 2792 uint32_t tchfcc:8;
1702 uint32_t tcdfcc:12; 2793 uint32_t tcdfcc:12;
2794#else
2795 uint32_t tcdfcc:12;
2796 uint32_t tchfcc:8;
2797 uint32_t reserved_20_31:12;
2798#endif
1703 } s; 2799 } s;
1704 struct cvmx_pciercx_cfg461_s cn52xx; 2800 struct cvmx_pciercx_cfg461_s cn52xx;
1705 struct cvmx_pciercx_cfg461_s cn52xxp1; 2801 struct cvmx_pciercx_cfg461_s cn52xxp1;
@@ -1711,14 +2807,21 @@ union cvmx_pciercx_cfg461 {
1711 struct cvmx_pciercx_cfg461_s cn66xx; 2807 struct cvmx_pciercx_cfg461_s cn66xx;
1712 struct cvmx_pciercx_cfg461_s cn68xx; 2808 struct cvmx_pciercx_cfg461_s cn68xx;
1713 struct cvmx_pciercx_cfg461_s cn68xxp1; 2809 struct cvmx_pciercx_cfg461_s cn68xxp1;
2810 struct cvmx_pciercx_cfg461_s cnf71xx;
1714}; 2811};
1715 2812
1716union cvmx_pciercx_cfg462 { 2813union cvmx_pciercx_cfg462 {
1717 uint32_t u32; 2814 uint32_t u32;
1718 struct cvmx_pciercx_cfg462_s { 2815 struct cvmx_pciercx_cfg462_s {
2816#ifdef __BIG_ENDIAN_BITFIELD
1719 uint32_t reserved_20_31:12; 2817 uint32_t reserved_20_31:12;
1720 uint32_t tchfcc:8; 2818 uint32_t tchfcc:8;
1721 uint32_t tcdfcc:12; 2819 uint32_t tcdfcc:12;
2820#else
2821 uint32_t tcdfcc:12;
2822 uint32_t tchfcc:8;
2823 uint32_t reserved_20_31:12;
2824#endif
1722 } s; 2825 } s;
1723 struct cvmx_pciercx_cfg462_s cn52xx; 2826 struct cvmx_pciercx_cfg462_s cn52xx;
1724 struct cvmx_pciercx_cfg462_s cn52xxp1; 2827 struct cvmx_pciercx_cfg462_s cn52xxp1;
@@ -1730,15 +2833,23 @@ union cvmx_pciercx_cfg462 {
1730 struct cvmx_pciercx_cfg462_s cn66xx; 2833 struct cvmx_pciercx_cfg462_s cn66xx;
1731 struct cvmx_pciercx_cfg462_s cn68xx; 2834 struct cvmx_pciercx_cfg462_s cn68xx;
1732 struct cvmx_pciercx_cfg462_s cn68xxp1; 2835 struct cvmx_pciercx_cfg462_s cn68xxp1;
2836 struct cvmx_pciercx_cfg462_s cnf71xx;
1733}; 2837};
1734 2838
1735union cvmx_pciercx_cfg463 { 2839union cvmx_pciercx_cfg463 {
1736 uint32_t u32; 2840 uint32_t u32;
1737 struct cvmx_pciercx_cfg463_s { 2841 struct cvmx_pciercx_cfg463_s {
2842#ifdef __BIG_ENDIAN_BITFIELD
1738 uint32_t reserved_3_31:29; 2843 uint32_t reserved_3_31:29;
1739 uint32_t rqne:1; 2844 uint32_t rqne:1;
1740 uint32_t trbne:1; 2845 uint32_t trbne:1;
1741 uint32_t rtlpfccnr:1; 2846 uint32_t rtlpfccnr:1;
2847#else
2848 uint32_t rtlpfccnr:1;
2849 uint32_t trbne:1;
2850 uint32_t rqne:1;
2851 uint32_t reserved_3_31:29;
2852#endif
1742 } s; 2853 } s;
1743 struct cvmx_pciercx_cfg463_s cn52xx; 2854 struct cvmx_pciercx_cfg463_s cn52xx;
1744 struct cvmx_pciercx_cfg463_s cn52xxp1; 2855 struct cvmx_pciercx_cfg463_s cn52xxp1;
@@ -1750,15 +2861,23 @@ union cvmx_pciercx_cfg463 {
1750 struct cvmx_pciercx_cfg463_s cn66xx; 2861 struct cvmx_pciercx_cfg463_s cn66xx;
1751 struct cvmx_pciercx_cfg463_s cn68xx; 2862 struct cvmx_pciercx_cfg463_s cn68xx;
1752 struct cvmx_pciercx_cfg463_s cn68xxp1; 2863 struct cvmx_pciercx_cfg463_s cn68xxp1;
2864 struct cvmx_pciercx_cfg463_s cnf71xx;
1753}; 2865};
1754 2866
1755union cvmx_pciercx_cfg464 { 2867union cvmx_pciercx_cfg464 {
1756 uint32_t u32; 2868 uint32_t u32;
1757 struct cvmx_pciercx_cfg464_s { 2869 struct cvmx_pciercx_cfg464_s {
2870#ifdef __BIG_ENDIAN_BITFIELD
1758 uint32_t wrr_vc3:8; 2871 uint32_t wrr_vc3:8;
1759 uint32_t wrr_vc2:8; 2872 uint32_t wrr_vc2:8;
1760 uint32_t wrr_vc1:8; 2873 uint32_t wrr_vc1:8;
1761 uint32_t wrr_vc0:8; 2874 uint32_t wrr_vc0:8;
2875#else
2876 uint32_t wrr_vc0:8;
2877 uint32_t wrr_vc1:8;
2878 uint32_t wrr_vc2:8;
2879 uint32_t wrr_vc3:8;
2880#endif
1762 } s; 2881 } s;
1763 struct cvmx_pciercx_cfg464_s cn52xx; 2882 struct cvmx_pciercx_cfg464_s cn52xx;
1764 struct cvmx_pciercx_cfg464_s cn52xxp1; 2883 struct cvmx_pciercx_cfg464_s cn52xxp1;
@@ -1770,15 +2889,23 @@ union cvmx_pciercx_cfg464 {
1770 struct cvmx_pciercx_cfg464_s cn66xx; 2889 struct cvmx_pciercx_cfg464_s cn66xx;
1771 struct cvmx_pciercx_cfg464_s cn68xx; 2890 struct cvmx_pciercx_cfg464_s cn68xx;
1772 struct cvmx_pciercx_cfg464_s cn68xxp1; 2891 struct cvmx_pciercx_cfg464_s cn68xxp1;
2892 struct cvmx_pciercx_cfg464_s cnf71xx;
1773}; 2893};
1774 2894
1775union cvmx_pciercx_cfg465 { 2895union cvmx_pciercx_cfg465 {
1776 uint32_t u32; 2896 uint32_t u32;
1777 struct cvmx_pciercx_cfg465_s { 2897 struct cvmx_pciercx_cfg465_s {
2898#ifdef __BIG_ENDIAN_BITFIELD
1778 uint32_t wrr_vc7:8; 2899 uint32_t wrr_vc7:8;
1779 uint32_t wrr_vc6:8; 2900 uint32_t wrr_vc6:8;
1780 uint32_t wrr_vc5:8; 2901 uint32_t wrr_vc5:8;
1781 uint32_t wrr_vc4:8; 2902 uint32_t wrr_vc4:8;
2903#else
2904 uint32_t wrr_vc4:8;
2905 uint32_t wrr_vc5:8;
2906 uint32_t wrr_vc6:8;
2907 uint32_t wrr_vc7:8;
2908#endif
1782 } s; 2909 } s;
1783 struct cvmx_pciercx_cfg465_s cn52xx; 2910 struct cvmx_pciercx_cfg465_s cn52xx;
1784 struct cvmx_pciercx_cfg465_s cn52xxp1; 2911 struct cvmx_pciercx_cfg465_s cn52xxp1;
@@ -1790,11 +2917,13 @@ union cvmx_pciercx_cfg465 {
1790 struct cvmx_pciercx_cfg465_s cn66xx; 2917 struct cvmx_pciercx_cfg465_s cn66xx;
1791 struct cvmx_pciercx_cfg465_s cn68xx; 2918 struct cvmx_pciercx_cfg465_s cn68xx;
1792 struct cvmx_pciercx_cfg465_s cn68xxp1; 2919 struct cvmx_pciercx_cfg465_s cn68xxp1;
2920 struct cvmx_pciercx_cfg465_s cnf71xx;
1793}; 2921};
1794 2922
1795union cvmx_pciercx_cfg466 { 2923union cvmx_pciercx_cfg466 {
1796 uint32_t u32; 2924 uint32_t u32;
1797 struct cvmx_pciercx_cfg466_s { 2925 struct cvmx_pciercx_cfg466_s {
2926#ifdef __BIG_ENDIAN_BITFIELD
1798 uint32_t rx_queue_order:1; 2927 uint32_t rx_queue_order:1;
1799 uint32_t type_ordering:1; 2928 uint32_t type_ordering:1;
1800 uint32_t reserved_24_29:6; 2929 uint32_t reserved_24_29:6;
@@ -1802,6 +2931,15 @@ union cvmx_pciercx_cfg466 {
1802 uint32_t reserved_20_20:1; 2931 uint32_t reserved_20_20:1;
1803 uint32_t header_credits:8; 2932 uint32_t header_credits:8;
1804 uint32_t data_credits:12; 2933 uint32_t data_credits:12;
2934#else
2935 uint32_t data_credits:12;
2936 uint32_t header_credits:8;
2937 uint32_t reserved_20_20:1;
2938 uint32_t queue_mode:3;
2939 uint32_t reserved_24_29:6;
2940 uint32_t type_ordering:1;
2941 uint32_t rx_queue_order:1;
2942#endif
1805 } s; 2943 } s;
1806 struct cvmx_pciercx_cfg466_s cn52xx; 2944 struct cvmx_pciercx_cfg466_s cn52xx;
1807 struct cvmx_pciercx_cfg466_s cn52xxp1; 2945 struct cvmx_pciercx_cfg466_s cn52xxp1;
@@ -1813,16 +2951,25 @@ union cvmx_pciercx_cfg466 {
1813 struct cvmx_pciercx_cfg466_s cn66xx; 2951 struct cvmx_pciercx_cfg466_s cn66xx;
1814 struct cvmx_pciercx_cfg466_s cn68xx; 2952 struct cvmx_pciercx_cfg466_s cn68xx;
1815 struct cvmx_pciercx_cfg466_s cn68xxp1; 2953 struct cvmx_pciercx_cfg466_s cn68xxp1;
2954 struct cvmx_pciercx_cfg466_s cnf71xx;
1816}; 2955};
1817 2956
1818union cvmx_pciercx_cfg467 { 2957union cvmx_pciercx_cfg467 {
1819 uint32_t u32; 2958 uint32_t u32;
1820 struct cvmx_pciercx_cfg467_s { 2959 struct cvmx_pciercx_cfg467_s {
2960#ifdef __BIG_ENDIAN_BITFIELD
1821 uint32_t reserved_24_31:8; 2961 uint32_t reserved_24_31:8;
1822 uint32_t queue_mode:3; 2962 uint32_t queue_mode:3;
1823 uint32_t reserved_20_20:1; 2963 uint32_t reserved_20_20:1;
1824 uint32_t header_credits:8; 2964 uint32_t header_credits:8;
1825 uint32_t data_credits:12; 2965 uint32_t data_credits:12;
2966#else
2967 uint32_t data_credits:12;
2968 uint32_t header_credits:8;
2969 uint32_t reserved_20_20:1;
2970 uint32_t queue_mode:3;
2971 uint32_t reserved_24_31:8;
2972#endif
1826 } s; 2973 } s;
1827 struct cvmx_pciercx_cfg467_s cn52xx; 2974 struct cvmx_pciercx_cfg467_s cn52xx;
1828 struct cvmx_pciercx_cfg467_s cn52xxp1; 2975 struct cvmx_pciercx_cfg467_s cn52xxp1;
@@ -1834,16 +2981,25 @@ union cvmx_pciercx_cfg467 {
1834 struct cvmx_pciercx_cfg467_s cn66xx; 2981 struct cvmx_pciercx_cfg467_s cn66xx;
1835 struct cvmx_pciercx_cfg467_s cn68xx; 2982 struct cvmx_pciercx_cfg467_s cn68xx;
1836 struct cvmx_pciercx_cfg467_s cn68xxp1; 2983 struct cvmx_pciercx_cfg467_s cn68xxp1;
2984 struct cvmx_pciercx_cfg467_s cnf71xx;
1837}; 2985};
1838 2986
1839union cvmx_pciercx_cfg468 { 2987union cvmx_pciercx_cfg468 {
1840 uint32_t u32; 2988 uint32_t u32;
1841 struct cvmx_pciercx_cfg468_s { 2989 struct cvmx_pciercx_cfg468_s {
2990#ifdef __BIG_ENDIAN_BITFIELD
1842 uint32_t reserved_24_31:8; 2991 uint32_t reserved_24_31:8;
1843 uint32_t queue_mode:3; 2992 uint32_t queue_mode:3;
1844 uint32_t reserved_20_20:1; 2993 uint32_t reserved_20_20:1;
1845 uint32_t header_credits:8; 2994 uint32_t header_credits:8;
1846 uint32_t data_credits:12; 2995 uint32_t data_credits:12;
2996#else
2997 uint32_t data_credits:12;
2998 uint32_t header_credits:8;
2999 uint32_t reserved_20_20:1;
3000 uint32_t queue_mode:3;
3001 uint32_t reserved_24_31:8;
3002#endif
1847 } s; 3003 } s;
1848 struct cvmx_pciercx_cfg468_s cn52xx; 3004 struct cvmx_pciercx_cfg468_s cn52xx;
1849 struct cvmx_pciercx_cfg468_s cn52xxp1; 3005 struct cvmx_pciercx_cfg468_s cn52xxp1;
@@ -1855,15 +3011,23 @@ union cvmx_pciercx_cfg468 {
1855 struct cvmx_pciercx_cfg468_s cn66xx; 3011 struct cvmx_pciercx_cfg468_s cn66xx;
1856 struct cvmx_pciercx_cfg468_s cn68xx; 3012 struct cvmx_pciercx_cfg468_s cn68xx;
1857 struct cvmx_pciercx_cfg468_s cn68xxp1; 3013 struct cvmx_pciercx_cfg468_s cn68xxp1;
3014 struct cvmx_pciercx_cfg468_s cnf71xx;
1858}; 3015};
1859 3016
1860union cvmx_pciercx_cfg490 { 3017union cvmx_pciercx_cfg490 {
1861 uint32_t u32; 3018 uint32_t u32;
1862 struct cvmx_pciercx_cfg490_s { 3019 struct cvmx_pciercx_cfg490_s {
3020#ifdef __BIG_ENDIAN_BITFIELD
1863 uint32_t reserved_26_31:6; 3021 uint32_t reserved_26_31:6;
1864 uint32_t header_depth:10; 3022 uint32_t header_depth:10;
1865 uint32_t reserved_14_15:2; 3023 uint32_t reserved_14_15:2;
1866 uint32_t data_depth:14; 3024 uint32_t data_depth:14;
3025#else
3026 uint32_t data_depth:14;
3027 uint32_t reserved_14_15:2;
3028 uint32_t header_depth:10;
3029 uint32_t reserved_26_31:6;
3030#endif
1867 } s; 3031 } s;
1868 struct cvmx_pciercx_cfg490_s cn52xx; 3032 struct cvmx_pciercx_cfg490_s cn52xx;
1869 struct cvmx_pciercx_cfg490_s cn52xxp1; 3033 struct cvmx_pciercx_cfg490_s cn52xxp1;
@@ -1875,15 +3039,23 @@ union cvmx_pciercx_cfg490 {
1875 struct cvmx_pciercx_cfg490_s cn66xx; 3039 struct cvmx_pciercx_cfg490_s cn66xx;
1876 struct cvmx_pciercx_cfg490_s cn68xx; 3040 struct cvmx_pciercx_cfg490_s cn68xx;
1877 struct cvmx_pciercx_cfg490_s cn68xxp1; 3041 struct cvmx_pciercx_cfg490_s cn68xxp1;
3042 struct cvmx_pciercx_cfg490_s cnf71xx;
1878}; 3043};
1879 3044
1880union cvmx_pciercx_cfg491 { 3045union cvmx_pciercx_cfg491 {
1881 uint32_t u32; 3046 uint32_t u32;
1882 struct cvmx_pciercx_cfg491_s { 3047 struct cvmx_pciercx_cfg491_s {
3048#ifdef __BIG_ENDIAN_BITFIELD
1883 uint32_t reserved_26_31:6; 3049 uint32_t reserved_26_31:6;
1884 uint32_t header_depth:10; 3050 uint32_t header_depth:10;
1885 uint32_t reserved_14_15:2; 3051 uint32_t reserved_14_15:2;
1886 uint32_t data_depth:14; 3052 uint32_t data_depth:14;
3053#else
3054 uint32_t data_depth:14;
3055 uint32_t reserved_14_15:2;
3056 uint32_t header_depth:10;
3057 uint32_t reserved_26_31:6;
3058#endif
1887 } s; 3059 } s;
1888 struct cvmx_pciercx_cfg491_s cn52xx; 3060 struct cvmx_pciercx_cfg491_s cn52xx;
1889 struct cvmx_pciercx_cfg491_s cn52xxp1; 3061 struct cvmx_pciercx_cfg491_s cn52xxp1;
@@ -1895,15 +3067,23 @@ union cvmx_pciercx_cfg491 {
1895 struct cvmx_pciercx_cfg491_s cn66xx; 3067 struct cvmx_pciercx_cfg491_s cn66xx;
1896 struct cvmx_pciercx_cfg491_s cn68xx; 3068 struct cvmx_pciercx_cfg491_s cn68xx;
1897 struct cvmx_pciercx_cfg491_s cn68xxp1; 3069 struct cvmx_pciercx_cfg491_s cn68xxp1;
3070 struct cvmx_pciercx_cfg491_s cnf71xx;
1898}; 3071};
1899 3072
1900union cvmx_pciercx_cfg492 { 3073union cvmx_pciercx_cfg492 {
1901 uint32_t u32; 3074 uint32_t u32;
1902 struct cvmx_pciercx_cfg492_s { 3075 struct cvmx_pciercx_cfg492_s {
3076#ifdef __BIG_ENDIAN_BITFIELD
1903 uint32_t reserved_26_31:6; 3077 uint32_t reserved_26_31:6;
1904 uint32_t header_depth:10; 3078 uint32_t header_depth:10;
1905 uint32_t reserved_14_15:2; 3079 uint32_t reserved_14_15:2;
1906 uint32_t data_depth:14; 3080 uint32_t data_depth:14;
3081#else
3082 uint32_t data_depth:14;
3083 uint32_t reserved_14_15:2;
3084 uint32_t header_depth:10;
3085 uint32_t reserved_26_31:6;
3086#endif
1907 } s; 3087 } s;
1908 struct cvmx_pciercx_cfg492_s cn52xx; 3088 struct cvmx_pciercx_cfg492_s cn52xx;
1909 struct cvmx_pciercx_cfg492_s cn52xxp1; 3089 struct cvmx_pciercx_cfg492_s cn52xxp1;
@@ -1915,11 +3095,13 @@ union cvmx_pciercx_cfg492 {
1915 struct cvmx_pciercx_cfg492_s cn66xx; 3095 struct cvmx_pciercx_cfg492_s cn66xx;
1916 struct cvmx_pciercx_cfg492_s cn68xx; 3096 struct cvmx_pciercx_cfg492_s cn68xx;
1917 struct cvmx_pciercx_cfg492_s cn68xxp1; 3097 struct cvmx_pciercx_cfg492_s cn68xxp1;
3098 struct cvmx_pciercx_cfg492_s cnf71xx;
1918}; 3099};
1919 3100
1920union cvmx_pciercx_cfg515 { 3101union cvmx_pciercx_cfg515 {
1921 uint32_t u32; 3102 uint32_t u32;
1922 struct cvmx_pciercx_cfg515_s { 3103 struct cvmx_pciercx_cfg515_s {
3104#ifdef __BIG_ENDIAN_BITFIELD
1923 uint32_t reserved_21_31:11; 3105 uint32_t reserved_21_31:11;
1924 uint32_t s_d_e:1; 3106 uint32_t s_d_e:1;
1925 uint32_t ctcrb:1; 3107 uint32_t ctcrb:1;
@@ -1927,6 +3109,15 @@ union cvmx_pciercx_cfg515 {
1927 uint32_t dsc:1; 3109 uint32_t dsc:1;
1928 uint32_t le:9; 3110 uint32_t le:9;
1929 uint32_t n_fts:8; 3111 uint32_t n_fts:8;
3112#else
3113 uint32_t n_fts:8;
3114 uint32_t le:9;
3115 uint32_t dsc:1;
3116 uint32_t cpyts:1;
3117 uint32_t ctcrb:1;
3118 uint32_t s_d_e:1;
3119 uint32_t reserved_21_31:11;
3120#endif
1930 } s; 3121 } s;
1931 struct cvmx_pciercx_cfg515_s cn61xx; 3122 struct cvmx_pciercx_cfg515_s cn61xx;
1932 struct cvmx_pciercx_cfg515_s cn63xx; 3123 struct cvmx_pciercx_cfg515_s cn63xx;
@@ -1934,12 +3125,17 @@ union cvmx_pciercx_cfg515 {
1934 struct cvmx_pciercx_cfg515_s cn66xx; 3125 struct cvmx_pciercx_cfg515_s cn66xx;
1935 struct cvmx_pciercx_cfg515_s cn68xx; 3126 struct cvmx_pciercx_cfg515_s cn68xx;
1936 struct cvmx_pciercx_cfg515_s cn68xxp1; 3127 struct cvmx_pciercx_cfg515_s cn68xxp1;
3128 struct cvmx_pciercx_cfg515_s cnf71xx;
1937}; 3129};
1938 3130
1939union cvmx_pciercx_cfg516 { 3131union cvmx_pciercx_cfg516 {
1940 uint32_t u32; 3132 uint32_t u32;
1941 struct cvmx_pciercx_cfg516_s { 3133 struct cvmx_pciercx_cfg516_s {
3134#ifdef __BIG_ENDIAN_BITFIELD
3135 uint32_t phy_stat:32;
3136#else
1942 uint32_t phy_stat:32; 3137 uint32_t phy_stat:32;
3138#endif
1943 } s; 3139 } s;
1944 struct cvmx_pciercx_cfg516_s cn52xx; 3140 struct cvmx_pciercx_cfg516_s cn52xx;
1945 struct cvmx_pciercx_cfg516_s cn52xxp1; 3141 struct cvmx_pciercx_cfg516_s cn52xxp1;
@@ -1951,12 +3147,17 @@ union cvmx_pciercx_cfg516 {
1951 struct cvmx_pciercx_cfg516_s cn66xx; 3147 struct cvmx_pciercx_cfg516_s cn66xx;
1952 struct cvmx_pciercx_cfg516_s cn68xx; 3148 struct cvmx_pciercx_cfg516_s cn68xx;
1953 struct cvmx_pciercx_cfg516_s cn68xxp1; 3149 struct cvmx_pciercx_cfg516_s cn68xxp1;
3150 struct cvmx_pciercx_cfg516_s cnf71xx;
1954}; 3151};
1955 3152
1956union cvmx_pciercx_cfg517 { 3153union cvmx_pciercx_cfg517 {
1957 uint32_t u32; 3154 uint32_t u32;
1958 struct cvmx_pciercx_cfg517_s { 3155 struct cvmx_pciercx_cfg517_s {
3156#ifdef __BIG_ENDIAN_BITFIELD
3157 uint32_t phy_ctrl:32;
3158#else
1959 uint32_t phy_ctrl:32; 3159 uint32_t phy_ctrl:32;
3160#endif
1960 } s; 3161 } s;
1961 struct cvmx_pciercx_cfg517_s cn52xx; 3162 struct cvmx_pciercx_cfg517_s cn52xx;
1962 struct cvmx_pciercx_cfg517_s cn52xxp1; 3163 struct cvmx_pciercx_cfg517_s cn52xxp1;
@@ -1968,6 +3169,7 @@ union cvmx_pciercx_cfg517 {
1968 struct cvmx_pciercx_cfg517_s cn66xx; 3169 struct cvmx_pciercx_cfg517_s cn66xx;
1969 struct cvmx_pciercx_cfg517_s cn68xx; 3170 struct cvmx_pciercx_cfg517_s cn68xx;
1970 struct cvmx_pciercx_cfg517_s cn68xxp1; 3171 struct cvmx_pciercx_cfg517_s cn68xxp1;
3172 struct cvmx_pciercx_cfg517_s cnf71xx;
1971}; 3173};
1972 3174
1973#endif 3175#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pcsx-defs.h b/arch/mips/include/asm/octeon/cvmx-pcsx-defs.h
index d45952df5f5b..a5e8fd861c37 100644
--- a/arch/mips/include/asm/octeon/cvmx-pcsx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pcsx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,44 +28,316 @@
28#ifndef __CVMX_PCSX_DEFS_H__ 28#ifndef __CVMX_PCSX_DEFS_H__
29#define __CVMX_PCSX_DEFS_H__ 29#define __CVMX_PCSX_DEFS_H__
30 30
31#define CVMX_PCSX_ANX_ADV_REG(offset, block_id) \ 31static inline uint64_t CVMX_PCSX_ANX_ADV_REG(unsigned long offset, unsigned long block_id)
32 CVMX_ADD_IO_SEG(0x00011800B0001010ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 32{
33#define CVMX_PCSX_ANX_EXT_ST_REG(offset, block_id) \ 33 switch (cvmx_get_octeon_family()) {
34 CVMX_ADD_IO_SEG(0x00011800B0001028ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 34 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
35#define CVMX_PCSX_ANX_LP_ABIL_REG(offset, block_id) \ 35 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
36 CVMX_ADD_IO_SEG(0x00011800B0001018ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 36 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
37#define CVMX_PCSX_ANX_RESULTS_REG(offset, block_id) \ 37 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
38 CVMX_ADD_IO_SEG(0x00011800B0001020ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 38 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
39#define CVMX_PCSX_INTX_EN_REG(offset, block_id) \ 39 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
40 CVMX_ADD_IO_SEG(0x00011800B0001088ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 40 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
41#define CVMX_PCSX_INTX_REG(offset, block_id) \ 41 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
42 CVMX_ADD_IO_SEG(0x00011800B0001080ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 42 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
43#define CVMX_PCSX_LINKX_TIMER_COUNT_REG(offset, block_id) \ 43 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
44 CVMX_ADD_IO_SEG(0x00011800B0001040ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 44 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
45#define CVMX_PCSX_LOG_ANLX_REG(offset, block_id) \ 45 }
46 CVMX_ADD_IO_SEG(0x00011800B0001090ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 46 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
47#define CVMX_PCSX_MISCX_CTL_REG(offset, block_id) \ 47}
48 CVMX_ADD_IO_SEG(0x00011800B0001078ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 48
49#define CVMX_PCSX_MRX_CONTROL_REG(offset, block_id) \ 49static inline uint64_t CVMX_PCSX_ANX_EXT_ST_REG(unsigned long offset, unsigned long block_id)
50 CVMX_ADD_IO_SEG(0x00011800B0001000ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 50{
51#define CVMX_PCSX_MRX_STATUS_REG(offset, block_id) \ 51 switch (cvmx_get_octeon_family()) {
52 CVMX_ADD_IO_SEG(0x00011800B0001008ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 52 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
53#define CVMX_PCSX_RXX_STATES_REG(offset, block_id) \ 53 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
54 CVMX_ADD_IO_SEG(0x00011800B0001058ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 54 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
55#define CVMX_PCSX_RXX_SYNC_REG(offset, block_id) \ 55 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
56 CVMX_ADD_IO_SEG(0x00011800B0001050ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 56 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
57#define CVMX_PCSX_SGMX_AN_ADV_REG(offset, block_id) \ 57 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
58 CVMX_ADD_IO_SEG(0x00011800B0001068ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 58 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
59#define CVMX_PCSX_SGMX_LP_ADV_REG(offset, block_id) \ 59 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
60 CVMX_ADD_IO_SEG(0x00011800B0001070ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 60 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
61#define CVMX_PCSX_TXX_STATES_REG(offset, block_id) \ 61 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
62 CVMX_ADD_IO_SEG(0x00011800B0001060ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 62 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
63#define CVMX_PCSX_TX_RXX_POLARITY_REG(offset, block_id) \ 63 }
64 CVMX_ADD_IO_SEG(0x00011800B0001048ull + (((offset) & 3) * 1024) + (((block_id) & 1) * 0x8000000ull)) 64 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
65}
66
67static inline uint64_t CVMX_PCSX_ANX_LP_ABIL_REG(unsigned long offset, unsigned long block_id)
68{
69 switch (cvmx_get_octeon_family()) {
70 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
71 return CVMX_ADD_IO_SEG(0x00011800B0001018ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
72 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
73 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
74 return CVMX_ADD_IO_SEG(0x00011800B0001018ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
75 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
76 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
77 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
78 return CVMX_ADD_IO_SEG(0x00011800B0001018ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
79 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
80 return CVMX_ADD_IO_SEG(0x00011800B0001018ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
81 }
82 return CVMX_ADD_IO_SEG(0x00011800B0001018ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
83}
84
85static inline uint64_t CVMX_PCSX_ANX_RESULTS_REG(unsigned long offset, unsigned long block_id)
86{
87 switch (cvmx_get_octeon_family()) {
88 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
89 return CVMX_ADD_IO_SEG(0x00011800B0001020ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
90 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
91 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
92 return CVMX_ADD_IO_SEG(0x00011800B0001020ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
93 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
94 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
95 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
96 return CVMX_ADD_IO_SEG(0x00011800B0001020ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
97 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
98 return CVMX_ADD_IO_SEG(0x00011800B0001020ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
99 }
100 return CVMX_ADD_IO_SEG(0x00011800B0001020ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
101}
102
103static inline uint64_t CVMX_PCSX_INTX_EN_REG(unsigned long offset, unsigned long block_id)
104{
105 switch (cvmx_get_octeon_family()) {
106 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
107 return CVMX_ADD_IO_SEG(0x00011800B0001088ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
108 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
109 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
110 return CVMX_ADD_IO_SEG(0x00011800B0001088ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
111 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
112 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
113 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
114 return CVMX_ADD_IO_SEG(0x00011800B0001088ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
115 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
116 return CVMX_ADD_IO_SEG(0x00011800B0001088ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
117 }
118 return CVMX_ADD_IO_SEG(0x00011800B0001088ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
119}
120
121static inline uint64_t CVMX_PCSX_INTX_REG(unsigned long offset, unsigned long block_id)
122{
123 switch (cvmx_get_octeon_family()) {
124 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
125 return CVMX_ADD_IO_SEG(0x00011800B0001080ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
126 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
127 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
128 return CVMX_ADD_IO_SEG(0x00011800B0001080ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
129 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
130 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
131 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
132 return CVMX_ADD_IO_SEG(0x00011800B0001080ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
133 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
134 return CVMX_ADD_IO_SEG(0x00011800B0001080ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
135 }
136 return CVMX_ADD_IO_SEG(0x00011800B0001080ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
137}
138
139static inline uint64_t CVMX_PCSX_LINKX_TIMER_COUNT_REG(unsigned long offset, unsigned long block_id)
140{
141 switch (cvmx_get_octeon_family()) {
142 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
143 return CVMX_ADD_IO_SEG(0x00011800B0001040ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
144 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
145 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
146 return CVMX_ADD_IO_SEG(0x00011800B0001040ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
147 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
148 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
149 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
150 return CVMX_ADD_IO_SEG(0x00011800B0001040ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
151 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
152 return CVMX_ADD_IO_SEG(0x00011800B0001040ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
153 }
154 return CVMX_ADD_IO_SEG(0x00011800B0001040ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
155}
156
157static inline uint64_t CVMX_PCSX_LOG_ANLX_REG(unsigned long offset, unsigned long block_id)
158{
159 switch (cvmx_get_octeon_family()) {
160 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
161 return CVMX_ADD_IO_SEG(0x00011800B0001090ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
162 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
163 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
164 return CVMX_ADD_IO_SEG(0x00011800B0001090ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
165 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
166 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
167 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
168 return CVMX_ADD_IO_SEG(0x00011800B0001090ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
169 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
170 return CVMX_ADD_IO_SEG(0x00011800B0001090ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
171 }
172 return CVMX_ADD_IO_SEG(0x00011800B0001090ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
173}
174
175static inline uint64_t CVMX_PCSX_MISCX_CTL_REG(unsigned long offset, unsigned long block_id)
176{
177 switch (cvmx_get_octeon_family()) {
178 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
179 return CVMX_ADD_IO_SEG(0x00011800B0001078ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
180 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
181 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
182 return CVMX_ADD_IO_SEG(0x00011800B0001078ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
183 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
184 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
185 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
186 return CVMX_ADD_IO_SEG(0x00011800B0001078ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
187 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
188 return CVMX_ADD_IO_SEG(0x00011800B0001078ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
189 }
190 return CVMX_ADD_IO_SEG(0x00011800B0001078ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
191}
192
193static inline uint64_t CVMX_PCSX_MRX_CONTROL_REG(unsigned long offset, unsigned long block_id)
194{
195 switch (cvmx_get_octeon_family()) {
196 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
197 return CVMX_ADD_IO_SEG(0x00011800B0001000ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
198 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
199 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
200 return CVMX_ADD_IO_SEG(0x00011800B0001000ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
201 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
202 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
203 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
204 return CVMX_ADD_IO_SEG(0x00011800B0001000ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
205 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
206 return CVMX_ADD_IO_SEG(0x00011800B0001000ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
207 }
208 return CVMX_ADD_IO_SEG(0x00011800B0001000ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
209}
210
211static inline uint64_t CVMX_PCSX_MRX_STATUS_REG(unsigned long offset, unsigned long block_id)
212{
213 switch (cvmx_get_octeon_family()) {
214 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
215 return CVMX_ADD_IO_SEG(0x00011800B0001008ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
216 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
217 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
218 return CVMX_ADD_IO_SEG(0x00011800B0001008ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
219 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
220 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
221 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
222 return CVMX_ADD_IO_SEG(0x00011800B0001008ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
223 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
224 return CVMX_ADD_IO_SEG(0x00011800B0001008ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
225 }
226 return CVMX_ADD_IO_SEG(0x00011800B0001008ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
227}
228
229static inline uint64_t CVMX_PCSX_RXX_STATES_REG(unsigned long offset, unsigned long block_id)
230{
231 switch (cvmx_get_octeon_family()) {
232 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
233 return CVMX_ADD_IO_SEG(0x00011800B0001058ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
234 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
235 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
236 return CVMX_ADD_IO_SEG(0x00011800B0001058ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
237 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
238 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
239 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
240 return CVMX_ADD_IO_SEG(0x00011800B0001058ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
241 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
242 return CVMX_ADD_IO_SEG(0x00011800B0001058ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
243 }
244 return CVMX_ADD_IO_SEG(0x00011800B0001058ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
245}
246
247static inline uint64_t CVMX_PCSX_RXX_SYNC_REG(unsigned long offset, unsigned long block_id)
248{
249 switch (cvmx_get_octeon_family()) {
250 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
251 return CVMX_ADD_IO_SEG(0x00011800B0001050ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
252 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
253 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
254 return CVMX_ADD_IO_SEG(0x00011800B0001050ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
255 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
256 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
257 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
258 return CVMX_ADD_IO_SEG(0x00011800B0001050ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
259 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
260 return CVMX_ADD_IO_SEG(0x00011800B0001050ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
261 }
262 return CVMX_ADD_IO_SEG(0x00011800B0001050ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
263}
264
265static inline uint64_t CVMX_PCSX_SGMX_AN_ADV_REG(unsigned long offset, unsigned long block_id)
266{
267 switch (cvmx_get_octeon_family()) {
268 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
269 return CVMX_ADD_IO_SEG(0x00011800B0001068ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
270 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
271 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
272 return CVMX_ADD_IO_SEG(0x00011800B0001068ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
273 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
274 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
275 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
276 return CVMX_ADD_IO_SEG(0x00011800B0001068ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
277 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
278 return CVMX_ADD_IO_SEG(0x00011800B0001068ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
279 }
280 return CVMX_ADD_IO_SEG(0x00011800B0001068ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
281}
282
283static inline uint64_t CVMX_PCSX_SGMX_LP_ADV_REG(unsigned long offset, unsigned long block_id)
284{
285 switch (cvmx_get_octeon_family()) {
286 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
287 return CVMX_ADD_IO_SEG(0x00011800B0001070ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
288 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
289 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
290 return CVMX_ADD_IO_SEG(0x00011800B0001070ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
291 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
292 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
293 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
294 return CVMX_ADD_IO_SEG(0x00011800B0001070ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
295 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
296 return CVMX_ADD_IO_SEG(0x00011800B0001070ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
297 }
298 return CVMX_ADD_IO_SEG(0x00011800B0001070ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
299}
300
301static inline uint64_t CVMX_PCSX_TXX_STATES_REG(unsigned long offset, unsigned long block_id)
302{
303 switch (cvmx_get_octeon_family()) {
304 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
305 return CVMX_ADD_IO_SEG(0x00011800B0001060ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
306 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
307 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
308 return CVMX_ADD_IO_SEG(0x00011800B0001060ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
309 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
310 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
311 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
312 return CVMX_ADD_IO_SEG(0x00011800B0001060ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
313 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
314 return CVMX_ADD_IO_SEG(0x00011800B0001060ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
315 }
316 return CVMX_ADD_IO_SEG(0x00011800B0001060ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
317}
318
319static inline uint64_t CVMX_PCSX_TX_RXX_POLARITY_REG(unsigned long offset, unsigned long block_id)
320{
321 switch (cvmx_get_octeon_family()) {
322 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
323 return CVMX_ADD_IO_SEG(0x00011800B0001048ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
324 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
325 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
326 return CVMX_ADD_IO_SEG(0x00011800B0001048ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
327 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
328 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
329 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
330 return CVMX_ADD_IO_SEG(0x00011800B0001048ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
331 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
332 return CVMX_ADD_IO_SEG(0x00011800B0001048ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
333 }
334 return CVMX_ADD_IO_SEG(0x00011800B0001048ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
335}
65 336
66union cvmx_pcsx_anx_adv_reg { 337union cvmx_pcsx_anx_adv_reg {
67 uint64_t u64; 338 uint64_t u64;
68 struct cvmx_pcsx_anx_adv_reg_s { 339 struct cvmx_pcsx_anx_adv_reg_s {
340#ifdef __BIG_ENDIAN_BITFIELD
69 uint64_t reserved_16_63:48; 341 uint64_t reserved_16_63:48;
70 uint64_t np:1; 342 uint64_t np:1;
71 uint64_t reserved_14_14:1; 343 uint64_t reserved_14_14:1;
@@ -75,32 +347,67 @@ union cvmx_pcsx_anx_adv_reg {
75 uint64_t hfd:1; 347 uint64_t hfd:1;
76 uint64_t fd:1; 348 uint64_t fd:1;
77 uint64_t reserved_0_4:5; 349 uint64_t reserved_0_4:5;
350#else
351 uint64_t reserved_0_4:5;
352 uint64_t fd:1;
353 uint64_t hfd:1;
354 uint64_t pause:2;
355 uint64_t reserved_9_11:3;
356 uint64_t rem_flt:2;
357 uint64_t reserved_14_14:1;
358 uint64_t np:1;
359 uint64_t reserved_16_63:48;
360#endif
78 } s; 361 } s;
79 struct cvmx_pcsx_anx_adv_reg_s cn52xx; 362 struct cvmx_pcsx_anx_adv_reg_s cn52xx;
80 struct cvmx_pcsx_anx_adv_reg_s cn52xxp1; 363 struct cvmx_pcsx_anx_adv_reg_s cn52xxp1;
81 struct cvmx_pcsx_anx_adv_reg_s cn56xx; 364 struct cvmx_pcsx_anx_adv_reg_s cn56xx;
82 struct cvmx_pcsx_anx_adv_reg_s cn56xxp1; 365 struct cvmx_pcsx_anx_adv_reg_s cn56xxp1;
366 struct cvmx_pcsx_anx_adv_reg_s cn61xx;
367 struct cvmx_pcsx_anx_adv_reg_s cn63xx;
368 struct cvmx_pcsx_anx_adv_reg_s cn63xxp1;
369 struct cvmx_pcsx_anx_adv_reg_s cn66xx;
370 struct cvmx_pcsx_anx_adv_reg_s cn68xx;
371 struct cvmx_pcsx_anx_adv_reg_s cn68xxp1;
372 struct cvmx_pcsx_anx_adv_reg_s cnf71xx;
83}; 373};
84 374
85union cvmx_pcsx_anx_ext_st_reg { 375union cvmx_pcsx_anx_ext_st_reg {
86 uint64_t u64; 376 uint64_t u64;
87 struct cvmx_pcsx_anx_ext_st_reg_s { 377 struct cvmx_pcsx_anx_ext_st_reg_s {
378#ifdef __BIG_ENDIAN_BITFIELD
88 uint64_t reserved_16_63:48; 379 uint64_t reserved_16_63:48;
89 uint64_t thou_xfd:1; 380 uint64_t thou_xfd:1;
90 uint64_t thou_xhd:1; 381 uint64_t thou_xhd:1;
91 uint64_t thou_tfd:1; 382 uint64_t thou_tfd:1;
92 uint64_t thou_thd:1; 383 uint64_t thou_thd:1;
93 uint64_t reserved_0_11:12; 384 uint64_t reserved_0_11:12;
385#else
386 uint64_t reserved_0_11:12;
387 uint64_t thou_thd:1;
388 uint64_t thou_tfd:1;
389 uint64_t thou_xhd:1;
390 uint64_t thou_xfd:1;
391 uint64_t reserved_16_63:48;
392#endif
94 } s; 393 } s;
95 struct cvmx_pcsx_anx_ext_st_reg_s cn52xx; 394 struct cvmx_pcsx_anx_ext_st_reg_s cn52xx;
96 struct cvmx_pcsx_anx_ext_st_reg_s cn52xxp1; 395 struct cvmx_pcsx_anx_ext_st_reg_s cn52xxp1;
97 struct cvmx_pcsx_anx_ext_st_reg_s cn56xx; 396 struct cvmx_pcsx_anx_ext_st_reg_s cn56xx;
98 struct cvmx_pcsx_anx_ext_st_reg_s cn56xxp1; 397 struct cvmx_pcsx_anx_ext_st_reg_s cn56xxp1;
398 struct cvmx_pcsx_anx_ext_st_reg_s cn61xx;
399 struct cvmx_pcsx_anx_ext_st_reg_s cn63xx;
400 struct cvmx_pcsx_anx_ext_st_reg_s cn63xxp1;
401 struct cvmx_pcsx_anx_ext_st_reg_s cn66xx;
402 struct cvmx_pcsx_anx_ext_st_reg_s cn68xx;
403 struct cvmx_pcsx_anx_ext_st_reg_s cn68xxp1;
404 struct cvmx_pcsx_anx_ext_st_reg_s cnf71xx;
99}; 405};
100 406
101union cvmx_pcsx_anx_lp_abil_reg { 407union cvmx_pcsx_anx_lp_abil_reg {
102 uint64_t u64; 408 uint64_t u64;
103 struct cvmx_pcsx_anx_lp_abil_reg_s { 409 struct cvmx_pcsx_anx_lp_abil_reg_s {
410#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_16_63:48; 411 uint64_t reserved_16_63:48;
105 uint64_t np:1; 412 uint64_t np:1;
106 uint64_t ack:1; 413 uint64_t ack:1;
@@ -110,33 +417,69 @@ union cvmx_pcsx_anx_lp_abil_reg {
110 uint64_t hfd:1; 417 uint64_t hfd:1;
111 uint64_t fd:1; 418 uint64_t fd:1;
112 uint64_t reserved_0_4:5; 419 uint64_t reserved_0_4:5;
420#else
421 uint64_t reserved_0_4:5;
422 uint64_t fd:1;
423 uint64_t hfd:1;
424 uint64_t pause:2;
425 uint64_t reserved_9_11:3;
426 uint64_t rem_flt:2;
427 uint64_t ack:1;
428 uint64_t np:1;
429 uint64_t reserved_16_63:48;
430#endif
113 } s; 431 } s;
114 struct cvmx_pcsx_anx_lp_abil_reg_s cn52xx; 432 struct cvmx_pcsx_anx_lp_abil_reg_s cn52xx;
115 struct cvmx_pcsx_anx_lp_abil_reg_s cn52xxp1; 433 struct cvmx_pcsx_anx_lp_abil_reg_s cn52xxp1;
116 struct cvmx_pcsx_anx_lp_abil_reg_s cn56xx; 434 struct cvmx_pcsx_anx_lp_abil_reg_s cn56xx;
117 struct cvmx_pcsx_anx_lp_abil_reg_s cn56xxp1; 435 struct cvmx_pcsx_anx_lp_abil_reg_s cn56xxp1;
436 struct cvmx_pcsx_anx_lp_abil_reg_s cn61xx;
437 struct cvmx_pcsx_anx_lp_abil_reg_s cn63xx;
438 struct cvmx_pcsx_anx_lp_abil_reg_s cn63xxp1;
439 struct cvmx_pcsx_anx_lp_abil_reg_s cn66xx;
440 struct cvmx_pcsx_anx_lp_abil_reg_s cn68xx;
441 struct cvmx_pcsx_anx_lp_abil_reg_s cn68xxp1;
442 struct cvmx_pcsx_anx_lp_abil_reg_s cnf71xx;
118}; 443};
119 444
120union cvmx_pcsx_anx_results_reg { 445union cvmx_pcsx_anx_results_reg {
121 uint64_t u64; 446 uint64_t u64;
122 struct cvmx_pcsx_anx_results_reg_s { 447 struct cvmx_pcsx_anx_results_reg_s {
448#ifdef __BIG_ENDIAN_BITFIELD
123 uint64_t reserved_7_63:57; 449 uint64_t reserved_7_63:57;
124 uint64_t pause:2; 450 uint64_t pause:2;
125 uint64_t spd:2; 451 uint64_t spd:2;
126 uint64_t an_cpt:1; 452 uint64_t an_cpt:1;
127 uint64_t dup:1; 453 uint64_t dup:1;
128 uint64_t link_ok:1; 454 uint64_t link_ok:1;
455#else
456 uint64_t link_ok:1;
457 uint64_t dup:1;
458 uint64_t an_cpt:1;
459 uint64_t spd:2;
460 uint64_t pause:2;
461 uint64_t reserved_7_63:57;
462#endif
129 } s; 463 } s;
130 struct cvmx_pcsx_anx_results_reg_s cn52xx; 464 struct cvmx_pcsx_anx_results_reg_s cn52xx;
131 struct cvmx_pcsx_anx_results_reg_s cn52xxp1; 465 struct cvmx_pcsx_anx_results_reg_s cn52xxp1;
132 struct cvmx_pcsx_anx_results_reg_s cn56xx; 466 struct cvmx_pcsx_anx_results_reg_s cn56xx;
133 struct cvmx_pcsx_anx_results_reg_s cn56xxp1; 467 struct cvmx_pcsx_anx_results_reg_s cn56xxp1;
468 struct cvmx_pcsx_anx_results_reg_s cn61xx;
469 struct cvmx_pcsx_anx_results_reg_s cn63xx;
470 struct cvmx_pcsx_anx_results_reg_s cn63xxp1;
471 struct cvmx_pcsx_anx_results_reg_s cn66xx;
472 struct cvmx_pcsx_anx_results_reg_s cn68xx;
473 struct cvmx_pcsx_anx_results_reg_s cn68xxp1;
474 struct cvmx_pcsx_anx_results_reg_s cnf71xx;
134}; 475};
135 476
136union cvmx_pcsx_intx_en_reg { 477union cvmx_pcsx_intx_en_reg {
137 uint64_t u64; 478 uint64_t u64;
138 struct cvmx_pcsx_intx_en_reg_s { 479 struct cvmx_pcsx_intx_en_reg_s {
139 uint64_t reserved_12_63:52; 480#ifdef __BIG_ENDIAN_BITFIELD
481 uint64_t reserved_13_63:51;
482 uint64_t dbg_sync_en:1;
140 uint64_t dup:1; 483 uint64_t dup:1;
141 uint64_t sync_bad_en:1; 484 uint64_t sync_bad_en:1;
142 uint64_t an_bad_en:1; 485 uint64_t an_bad_en:1;
@@ -149,17 +492,72 @@ union cvmx_pcsx_intx_en_reg {
149 uint64_t an_err_en:1; 492 uint64_t an_err_en:1;
150 uint64_t xmit_en:1; 493 uint64_t xmit_en:1;
151 uint64_t lnkspd_en:1; 494 uint64_t lnkspd_en:1;
495#else
496 uint64_t lnkspd_en:1;
497 uint64_t xmit_en:1;
498 uint64_t an_err_en:1;
499 uint64_t txfifu_en:1;
500 uint64_t txfifo_en:1;
501 uint64_t txbad_en:1;
502 uint64_t rxerr_en:1;
503 uint64_t rxbad_en:1;
504 uint64_t rxlock_en:1;
505 uint64_t an_bad_en:1;
506 uint64_t sync_bad_en:1;
507 uint64_t dup:1;
508 uint64_t dbg_sync_en:1;
509 uint64_t reserved_13_63:51;
510#endif
152 } s; 511 } s;
153 struct cvmx_pcsx_intx_en_reg_s cn52xx; 512 struct cvmx_pcsx_intx_en_reg_cn52xx {
154 struct cvmx_pcsx_intx_en_reg_s cn52xxp1; 513#ifdef __BIG_ENDIAN_BITFIELD
155 struct cvmx_pcsx_intx_en_reg_s cn56xx; 514 uint64_t reserved_12_63:52;
156 struct cvmx_pcsx_intx_en_reg_s cn56xxp1; 515 uint64_t dup:1;
516 uint64_t sync_bad_en:1;
517 uint64_t an_bad_en:1;
518 uint64_t rxlock_en:1;
519 uint64_t rxbad_en:1;
520 uint64_t rxerr_en:1;
521 uint64_t txbad_en:1;
522 uint64_t txfifo_en:1;
523 uint64_t txfifu_en:1;
524 uint64_t an_err_en:1;
525 uint64_t xmit_en:1;
526 uint64_t lnkspd_en:1;
527#else
528 uint64_t lnkspd_en:1;
529 uint64_t xmit_en:1;
530 uint64_t an_err_en:1;
531 uint64_t txfifu_en:1;
532 uint64_t txfifo_en:1;
533 uint64_t txbad_en:1;
534 uint64_t rxerr_en:1;
535 uint64_t rxbad_en:1;
536 uint64_t rxlock_en:1;
537 uint64_t an_bad_en:1;
538 uint64_t sync_bad_en:1;
539 uint64_t dup:1;
540 uint64_t reserved_12_63:52;
541#endif
542 } cn52xx;
543 struct cvmx_pcsx_intx_en_reg_cn52xx cn52xxp1;
544 struct cvmx_pcsx_intx_en_reg_cn52xx cn56xx;
545 struct cvmx_pcsx_intx_en_reg_cn52xx cn56xxp1;
546 struct cvmx_pcsx_intx_en_reg_s cn61xx;
547 struct cvmx_pcsx_intx_en_reg_s cn63xx;
548 struct cvmx_pcsx_intx_en_reg_s cn63xxp1;
549 struct cvmx_pcsx_intx_en_reg_s cn66xx;
550 struct cvmx_pcsx_intx_en_reg_s cn68xx;
551 struct cvmx_pcsx_intx_en_reg_s cn68xxp1;
552 struct cvmx_pcsx_intx_en_reg_s cnf71xx;
157}; 553};
158 554
159union cvmx_pcsx_intx_reg { 555union cvmx_pcsx_intx_reg {
160 uint64_t u64; 556 uint64_t u64;
161 struct cvmx_pcsx_intx_reg_s { 557 struct cvmx_pcsx_intx_reg_s {
162 uint64_t reserved_12_63:52; 558#ifdef __BIG_ENDIAN_BITFIELD
559 uint64_t reserved_13_63:51;
560 uint64_t dbg_sync:1;
163 uint64_t dup:1; 561 uint64_t dup:1;
164 uint64_t sync_bad:1; 562 uint64_t sync_bad:1;
165 uint64_t an_bad:1; 563 uint64_t an_bad:1;
@@ -172,42 +570,122 @@ union cvmx_pcsx_intx_reg {
172 uint64_t an_err:1; 570 uint64_t an_err:1;
173 uint64_t xmit:1; 571 uint64_t xmit:1;
174 uint64_t lnkspd:1; 572 uint64_t lnkspd:1;
573#else
574 uint64_t lnkspd:1;
575 uint64_t xmit:1;
576 uint64_t an_err:1;
577 uint64_t txfifu:1;
578 uint64_t txfifo:1;
579 uint64_t txbad:1;
580 uint64_t rxerr:1;
581 uint64_t rxbad:1;
582 uint64_t rxlock:1;
583 uint64_t an_bad:1;
584 uint64_t sync_bad:1;
585 uint64_t dup:1;
586 uint64_t dbg_sync:1;
587 uint64_t reserved_13_63:51;
588#endif
175 } s; 589 } s;
176 struct cvmx_pcsx_intx_reg_s cn52xx; 590 struct cvmx_pcsx_intx_reg_cn52xx {
177 struct cvmx_pcsx_intx_reg_s cn52xxp1; 591#ifdef __BIG_ENDIAN_BITFIELD
178 struct cvmx_pcsx_intx_reg_s cn56xx; 592 uint64_t reserved_12_63:52;
179 struct cvmx_pcsx_intx_reg_s cn56xxp1; 593 uint64_t dup:1;
594 uint64_t sync_bad:1;
595 uint64_t an_bad:1;
596 uint64_t rxlock:1;
597 uint64_t rxbad:1;
598 uint64_t rxerr:1;
599 uint64_t txbad:1;
600 uint64_t txfifo:1;
601 uint64_t txfifu:1;
602 uint64_t an_err:1;
603 uint64_t xmit:1;
604 uint64_t lnkspd:1;
605#else
606 uint64_t lnkspd:1;
607 uint64_t xmit:1;
608 uint64_t an_err:1;
609 uint64_t txfifu:1;
610 uint64_t txfifo:1;
611 uint64_t txbad:1;
612 uint64_t rxerr:1;
613 uint64_t rxbad:1;
614 uint64_t rxlock:1;
615 uint64_t an_bad:1;
616 uint64_t sync_bad:1;
617 uint64_t dup:1;
618 uint64_t reserved_12_63:52;
619#endif
620 } cn52xx;
621 struct cvmx_pcsx_intx_reg_cn52xx cn52xxp1;
622 struct cvmx_pcsx_intx_reg_cn52xx cn56xx;
623 struct cvmx_pcsx_intx_reg_cn52xx cn56xxp1;
624 struct cvmx_pcsx_intx_reg_s cn61xx;
625 struct cvmx_pcsx_intx_reg_s cn63xx;
626 struct cvmx_pcsx_intx_reg_s cn63xxp1;
627 struct cvmx_pcsx_intx_reg_s cn66xx;
628 struct cvmx_pcsx_intx_reg_s cn68xx;
629 struct cvmx_pcsx_intx_reg_s cn68xxp1;
630 struct cvmx_pcsx_intx_reg_s cnf71xx;
180}; 631};
181 632
182union cvmx_pcsx_linkx_timer_count_reg { 633union cvmx_pcsx_linkx_timer_count_reg {
183 uint64_t u64; 634 uint64_t u64;
184 struct cvmx_pcsx_linkx_timer_count_reg_s { 635 struct cvmx_pcsx_linkx_timer_count_reg_s {
636#ifdef __BIG_ENDIAN_BITFIELD
185 uint64_t reserved_16_63:48; 637 uint64_t reserved_16_63:48;
186 uint64_t count:16; 638 uint64_t count:16;
639#else
640 uint64_t count:16;
641 uint64_t reserved_16_63:48;
642#endif
187 } s; 643 } s;
188 struct cvmx_pcsx_linkx_timer_count_reg_s cn52xx; 644 struct cvmx_pcsx_linkx_timer_count_reg_s cn52xx;
189 struct cvmx_pcsx_linkx_timer_count_reg_s cn52xxp1; 645 struct cvmx_pcsx_linkx_timer_count_reg_s cn52xxp1;
190 struct cvmx_pcsx_linkx_timer_count_reg_s cn56xx; 646 struct cvmx_pcsx_linkx_timer_count_reg_s cn56xx;
191 struct cvmx_pcsx_linkx_timer_count_reg_s cn56xxp1; 647 struct cvmx_pcsx_linkx_timer_count_reg_s cn56xxp1;
648 struct cvmx_pcsx_linkx_timer_count_reg_s cn61xx;
649 struct cvmx_pcsx_linkx_timer_count_reg_s cn63xx;
650 struct cvmx_pcsx_linkx_timer_count_reg_s cn63xxp1;
651 struct cvmx_pcsx_linkx_timer_count_reg_s cn66xx;
652 struct cvmx_pcsx_linkx_timer_count_reg_s cn68xx;
653 struct cvmx_pcsx_linkx_timer_count_reg_s cn68xxp1;
654 struct cvmx_pcsx_linkx_timer_count_reg_s cnf71xx;
192}; 655};
193 656
194union cvmx_pcsx_log_anlx_reg { 657union cvmx_pcsx_log_anlx_reg {
195 uint64_t u64; 658 uint64_t u64;
196 struct cvmx_pcsx_log_anlx_reg_s { 659 struct cvmx_pcsx_log_anlx_reg_s {
660#ifdef __BIG_ENDIAN_BITFIELD
197 uint64_t reserved_4_63:60; 661 uint64_t reserved_4_63:60;
198 uint64_t lafifovfl:1; 662 uint64_t lafifovfl:1;
199 uint64_t la_en:1; 663 uint64_t la_en:1;
200 uint64_t pkt_sz:2; 664 uint64_t pkt_sz:2;
665#else
666 uint64_t pkt_sz:2;
667 uint64_t la_en:1;
668 uint64_t lafifovfl:1;
669 uint64_t reserved_4_63:60;
670#endif
201 } s; 671 } s;
202 struct cvmx_pcsx_log_anlx_reg_s cn52xx; 672 struct cvmx_pcsx_log_anlx_reg_s cn52xx;
203 struct cvmx_pcsx_log_anlx_reg_s cn52xxp1; 673 struct cvmx_pcsx_log_anlx_reg_s cn52xxp1;
204 struct cvmx_pcsx_log_anlx_reg_s cn56xx; 674 struct cvmx_pcsx_log_anlx_reg_s cn56xx;
205 struct cvmx_pcsx_log_anlx_reg_s cn56xxp1; 675 struct cvmx_pcsx_log_anlx_reg_s cn56xxp1;
676 struct cvmx_pcsx_log_anlx_reg_s cn61xx;
677 struct cvmx_pcsx_log_anlx_reg_s cn63xx;
678 struct cvmx_pcsx_log_anlx_reg_s cn63xxp1;
679 struct cvmx_pcsx_log_anlx_reg_s cn66xx;
680 struct cvmx_pcsx_log_anlx_reg_s cn68xx;
681 struct cvmx_pcsx_log_anlx_reg_s cn68xxp1;
682 struct cvmx_pcsx_log_anlx_reg_s cnf71xx;
206}; 683};
207 684
208union cvmx_pcsx_miscx_ctl_reg { 685union cvmx_pcsx_miscx_ctl_reg {
209 uint64_t u64; 686 uint64_t u64;
210 struct cvmx_pcsx_miscx_ctl_reg_s { 687 struct cvmx_pcsx_miscx_ctl_reg_s {
688#ifdef __BIG_ENDIAN_BITFIELD
211 uint64_t reserved_13_63:51; 689 uint64_t reserved_13_63:51;
212 uint64_t sgmii:1; 690 uint64_t sgmii:1;
213 uint64_t gmxeno:1; 691 uint64_t gmxeno:1;
@@ -216,16 +694,34 @@ union cvmx_pcsx_miscx_ctl_reg {
216 uint64_t mode:1; 694 uint64_t mode:1;
217 uint64_t an_ovrd:1; 695 uint64_t an_ovrd:1;
218 uint64_t samp_pt:7; 696 uint64_t samp_pt:7;
697#else
698 uint64_t samp_pt:7;
699 uint64_t an_ovrd:1;
700 uint64_t mode:1;
701 uint64_t mac_phy:1;
702 uint64_t loopbck2:1;
703 uint64_t gmxeno:1;
704 uint64_t sgmii:1;
705 uint64_t reserved_13_63:51;
706#endif
219 } s; 707 } s;
220 struct cvmx_pcsx_miscx_ctl_reg_s cn52xx; 708 struct cvmx_pcsx_miscx_ctl_reg_s cn52xx;
221 struct cvmx_pcsx_miscx_ctl_reg_s cn52xxp1; 709 struct cvmx_pcsx_miscx_ctl_reg_s cn52xxp1;
222 struct cvmx_pcsx_miscx_ctl_reg_s cn56xx; 710 struct cvmx_pcsx_miscx_ctl_reg_s cn56xx;
223 struct cvmx_pcsx_miscx_ctl_reg_s cn56xxp1; 711 struct cvmx_pcsx_miscx_ctl_reg_s cn56xxp1;
712 struct cvmx_pcsx_miscx_ctl_reg_s cn61xx;
713 struct cvmx_pcsx_miscx_ctl_reg_s cn63xx;
714 struct cvmx_pcsx_miscx_ctl_reg_s cn63xxp1;
715 struct cvmx_pcsx_miscx_ctl_reg_s cn66xx;
716 struct cvmx_pcsx_miscx_ctl_reg_s cn68xx;
717 struct cvmx_pcsx_miscx_ctl_reg_s cn68xxp1;
718 struct cvmx_pcsx_miscx_ctl_reg_s cnf71xx;
224}; 719};
225 720
226union cvmx_pcsx_mrx_control_reg { 721union cvmx_pcsx_mrx_control_reg {
227 uint64_t u64; 722 uint64_t u64;
228 struct cvmx_pcsx_mrx_control_reg_s { 723 struct cvmx_pcsx_mrx_control_reg_s {
724#ifdef __BIG_ENDIAN_BITFIELD
229 uint64_t reserved_16_63:48; 725 uint64_t reserved_16_63:48;
230 uint64_t reset:1; 726 uint64_t reset:1;
231 uint64_t loopbck1:1; 727 uint64_t loopbck1:1;
@@ -239,16 +735,39 @@ union cvmx_pcsx_mrx_control_reg {
239 uint64_t spdmsb:1; 735 uint64_t spdmsb:1;
240 uint64_t uni:1; 736 uint64_t uni:1;
241 uint64_t reserved_0_4:5; 737 uint64_t reserved_0_4:5;
738#else
739 uint64_t reserved_0_4:5;
740 uint64_t uni:1;
741 uint64_t spdmsb:1;
742 uint64_t coltst:1;
743 uint64_t dup:1;
744 uint64_t rst_an:1;
745 uint64_t reserved_10_10:1;
746 uint64_t pwr_dn:1;
747 uint64_t an_en:1;
748 uint64_t spdlsb:1;
749 uint64_t loopbck1:1;
750 uint64_t reset:1;
751 uint64_t reserved_16_63:48;
752#endif
242 } s; 753 } s;
243 struct cvmx_pcsx_mrx_control_reg_s cn52xx; 754 struct cvmx_pcsx_mrx_control_reg_s cn52xx;
244 struct cvmx_pcsx_mrx_control_reg_s cn52xxp1; 755 struct cvmx_pcsx_mrx_control_reg_s cn52xxp1;
245 struct cvmx_pcsx_mrx_control_reg_s cn56xx; 756 struct cvmx_pcsx_mrx_control_reg_s cn56xx;
246 struct cvmx_pcsx_mrx_control_reg_s cn56xxp1; 757 struct cvmx_pcsx_mrx_control_reg_s cn56xxp1;
758 struct cvmx_pcsx_mrx_control_reg_s cn61xx;
759 struct cvmx_pcsx_mrx_control_reg_s cn63xx;
760 struct cvmx_pcsx_mrx_control_reg_s cn63xxp1;
761 struct cvmx_pcsx_mrx_control_reg_s cn66xx;
762 struct cvmx_pcsx_mrx_control_reg_s cn68xx;
763 struct cvmx_pcsx_mrx_control_reg_s cn68xxp1;
764 struct cvmx_pcsx_mrx_control_reg_s cnf71xx;
247}; 765};
248 766
249union cvmx_pcsx_mrx_status_reg { 767union cvmx_pcsx_mrx_status_reg {
250 uint64_t u64; 768 uint64_t u64;
251 struct cvmx_pcsx_mrx_status_reg_s { 769 struct cvmx_pcsx_mrx_status_reg_s {
770#ifdef __BIG_ENDIAN_BITFIELD
252 uint64_t reserved_16_63:48; 771 uint64_t reserved_16_63:48;
253 uint64_t hun_t4:1; 772 uint64_t hun_t4:1;
254 uint64_t hun_xfd:1; 773 uint64_t hun_xfd:1;
@@ -266,16 +785,43 @@ union cvmx_pcsx_mrx_status_reg {
266 uint64_t lnk_st:1; 785 uint64_t lnk_st:1;
267 uint64_t reserved_1_1:1; 786 uint64_t reserved_1_1:1;
268 uint64_t extnd:1; 787 uint64_t extnd:1;
788#else
789 uint64_t extnd:1;
790 uint64_t reserved_1_1:1;
791 uint64_t lnk_st:1;
792 uint64_t an_abil:1;
793 uint64_t rm_flt:1;
794 uint64_t an_cpt:1;
795 uint64_t prb_sup:1;
796 uint64_t reserved_7_7:1;
797 uint64_t ext_st:1;
798 uint64_t hun_t2hd:1;
799 uint64_t hun_t2fd:1;
800 uint64_t ten_hd:1;
801 uint64_t ten_fd:1;
802 uint64_t hun_xhd:1;
803 uint64_t hun_xfd:1;
804 uint64_t hun_t4:1;
805 uint64_t reserved_16_63:48;
806#endif
269 } s; 807 } s;
270 struct cvmx_pcsx_mrx_status_reg_s cn52xx; 808 struct cvmx_pcsx_mrx_status_reg_s cn52xx;
271 struct cvmx_pcsx_mrx_status_reg_s cn52xxp1; 809 struct cvmx_pcsx_mrx_status_reg_s cn52xxp1;
272 struct cvmx_pcsx_mrx_status_reg_s cn56xx; 810 struct cvmx_pcsx_mrx_status_reg_s cn56xx;
273 struct cvmx_pcsx_mrx_status_reg_s cn56xxp1; 811 struct cvmx_pcsx_mrx_status_reg_s cn56xxp1;
812 struct cvmx_pcsx_mrx_status_reg_s cn61xx;
813 struct cvmx_pcsx_mrx_status_reg_s cn63xx;
814 struct cvmx_pcsx_mrx_status_reg_s cn63xxp1;
815 struct cvmx_pcsx_mrx_status_reg_s cn66xx;
816 struct cvmx_pcsx_mrx_status_reg_s cn68xx;
817 struct cvmx_pcsx_mrx_status_reg_s cn68xxp1;
818 struct cvmx_pcsx_mrx_status_reg_s cnf71xx;
274}; 819};
275 820
276union cvmx_pcsx_rxx_states_reg { 821union cvmx_pcsx_rxx_states_reg {
277 uint64_t u64; 822 uint64_t u64;
278 struct cvmx_pcsx_rxx_states_reg_s { 823 struct cvmx_pcsx_rxx_states_reg_s {
824#ifdef __BIG_ENDIAN_BITFIELD
279 uint64_t reserved_16_63:48; 825 uint64_t reserved_16_63:48;
280 uint64_t rx_bad:1; 826 uint64_t rx_bad:1;
281 uint64_t rx_st:5; 827 uint64_t rx_st:5;
@@ -283,29 +829,59 @@ union cvmx_pcsx_rxx_states_reg {
283 uint64_t sync:4; 829 uint64_t sync:4;
284 uint64_t an_bad:1; 830 uint64_t an_bad:1;
285 uint64_t an_st:4; 831 uint64_t an_st:4;
832#else
833 uint64_t an_st:4;
834 uint64_t an_bad:1;
835 uint64_t sync:4;
836 uint64_t sync_bad:1;
837 uint64_t rx_st:5;
838 uint64_t rx_bad:1;
839 uint64_t reserved_16_63:48;
840#endif
286 } s; 841 } s;
287 struct cvmx_pcsx_rxx_states_reg_s cn52xx; 842 struct cvmx_pcsx_rxx_states_reg_s cn52xx;
288 struct cvmx_pcsx_rxx_states_reg_s cn52xxp1; 843 struct cvmx_pcsx_rxx_states_reg_s cn52xxp1;
289 struct cvmx_pcsx_rxx_states_reg_s cn56xx; 844 struct cvmx_pcsx_rxx_states_reg_s cn56xx;
290 struct cvmx_pcsx_rxx_states_reg_s cn56xxp1; 845 struct cvmx_pcsx_rxx_states_reg_s cn56xxp1;
846 struct cvmx_pcsx_rxx_states_reg_s cn61xx;
847 struct cvmx_pcsx_rxx_states_reg_s cn63xx;
848 struct cvmx_pcsx_rxx_states_reg_s cn63xxp1;
849 struct cvmx_pcsx_rxx_states_reg_s cn66xx;
850 struct cvmx_pcsx_rxx_states_reg_s cn68xx;
851 struct cvmx_pcsx_rxx_states_reg_s cn68xxp1;
852 struct cvmx_pcsx_rxx_states_reg_s cnf71xx;
291}; 853};
292 854
293union cvmx_pcsx_rxx_sync_reg { 855union cvmx_pcsx_rxx_sync_reg {
294 uint64_t u64; 856 uint64_t u64;
295 struct cvmx_pcsx_rxx_sync_reg_s { 857 struct cvmx_pcsx_rxx_sync_reg_s {
858#ifdef __BIG_ENDIAN_BITFIELD
296 uint64_t reserved_2_63:62; 859 uint64_t reserved_2_63:62;
297 uint64_t sync:1; 860 uint64_t sync:1;
298 uint64_t bit_lock:1; 861 uint64_t bit_lock:1;
862#else
863 uint64_t bit_lock:1;
864 uint64_t sync:1;
865 uint64_t reserved_2_63:62;
866#endif
299 } s; 867 } s;
300 struct cvmx_pcsx_rxx_sync_reg_s cn52xx; 868 struct cvmx_pcsx_rxx_sync_reg_s cn52xx;
301 struct cvmx_pcsx_rxx_sync_reg_s cn52xxp1; 869 struct cvmx_pcsx_rxx_sync_reg_s cn52xxp1;
302 struct cvmx_pcsx_rxx_sync_reg_s cn56xx; 870 struct cvmx_pcsx_rxx_sync_reg_s cn56xx;
303 struct cvmx_pcsx_rxx_sync_reg_s cn56xxp1; 871 struct cvmx_pcsx_rxx_sync_reg_s cn56xxp1;
872 struct cvmx_pcsx_rxx_sync_reg_s cn61xx;
873 struct cvmx_pcsx_rxx_sync_reg_s cn63xx;
874 struct cvmx_pcsx_rxx_sync_reg_s cn63xxp1;
875 struct cvmx_pcsx_rxx_sync_reg_s cn66xx;
876 struct cvmx_pcsx_rxx_sync_reg_s cn68xx;
877 struct cvmx_pcsx_rxx_sync_reg_s cn68xxp1;
878 struct cvmx_pcsx_rxx_sync_reg_s cnf71xx;
304}; 879};
305 880
306union cvmx_pcsx_sgmx_an_adv_reg { 881union cvmx_pcsx_sgmx_an_adv_reg {
307 uint64_t u64; 882 uint64_t u64;
308 struct cvmx_pcsx_sgmx_an_adv_reg_s { 883 struct cvmx_pcsx_sgmx_an_adv_reg_s {
884#ifdef __BIG_ENDIAN_BITFIELD
309 uint64_t reserved_16_63:48; 885 uint64_t reserved_16_63:48;
310 uint64_t link:1; 886 uint64_t link:1;
311 uint64_t ack:1; 887 uint64_t ack:1;
@@ -314,16 +890,34 @@ union cvmx_pcsx_sgmx_an_adv_reg {
314 uint64_t speed:2; 890 uint64_t speed:2;
315 uint64_t reserved_1_9:9; 891 uint64_t reserved_1_9:9;
316 uint64_t one:1; 892 uint64_t one:1;
893#else
894 uint64_t one:1;
895 uint64_t reserved_1_9:9;
896 uint64_t speed:2;
897 uint64_t dup:1;
898 uint64_t reserved_13_13:1;
899 uint64_t ack:1;
900 uint64_t link:1;
901 uint64_t reserved_16_63:48;
902#endif
317 } s; 903 } s;
318 struct cvmx_pcsx_sgmx_an_adv_reg_s cn52xx; 904 struct cvmx_pcsx_sgmx_an_adv_reg_s cn52xx;
319 struct cvmx_pcsx_sgmx_an_adv_reg_s cn52xxp1; 905 struct cvmx_pcsx_sgmx_an_adv_reg_s cn52xxp1;
320 struct cvmx_pcsx_sgmx_an_adv_reg_s cn56xx; 906 struct cvmx_pcsx_sgmx_an_adv_reg_s cn56xx;
321 struct cvmx_pcsx_sgmx_an_adv_reg_s cn56xxp1; 907 struct cvmx_pcsx_sgmx_an_adv_reg_s cn56xxp1;
908 struct cvmx_pcsx_sgmx_an_adv_reg_s cn61xx;
909 struct cvmx_pcsx_sgmx_an_adv_reg_s cn63xx;
910 struct cvmx_pcsx_sgmx_an_adv_reg_s cn63xxp1;
911 struct cvmx_pcsx_sgmx_an_adv_reg_s cn66xx;
912 struct cvmx_pcsx_sgmx_an_adv_reg_s cn68xx;
913 struct cvmx_pcsx_sgmx_an_adv_reg_s cn68xxp1;
914 struct cvmx_pcsx_sgmx_an_adv_reg_s cnf71xx;
322}; 915};
323 916
324union cvmx_pcsx_sgmx_lp_adv_reg { 917union cvmx_pcsx_sgmx_lp_adv_reg {
325 uint64_t u64; 918 uint64_t u64;
326 struct cvmx_pcsx_sgmx_lp_adv_reg_s { 919 struct cvmx_pcsx_sgmx_lp_adv_reg_s {
920#ifdef __BIG_ENDIAN_BITFIELD
327 uint64_t reserved_16_63:48; 921 uint64_t reserved_16_63:48;
328 uint64_t link:1; 922 uint64_t link:1;
329 uint64_t reserved_13_14:2; 923 uint64_t reserved_13_14:2;
@@ -331,40 +925,85 @@ union cvmx_pcsx_sgmx_lp_adv_reg {
331 uint64_t speed:2; 925 uint64_t speed:2;
332 uint64_t reserved_1_9:9; 926 uint64_t reserved_1_9:9;
333 uint64_t one:1; 927 uint64_t one:1;
928#else
929 uint64_t one:1;
930 uint64_t reserved_1_9:9;
931 uint64_t speed:2;
932 uint64_t dup:1;
933 uint64_t reserved_13_14:2;
934 uint64_t link:1;
935 uint64_t reserved_16_63:48;
936#endif
334 } s; 937 } s;
335 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn52xx; 938 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn52xx;
336 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn52xxp1; 939 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn52xxp1;
337 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn56xx; 940 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn56xx;
338 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn56xxp1; 941 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn56xxp1;
942 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn61xx;
943 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn63xx;
944 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn63xxp1;
945 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn66xx;
946 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn68xx;
947 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn68xxp1;
948 struct cvmx_pcsx_sgmx_lp_adv_reg_s cnf71xx;
339}; 949};
340 950
341union cvmx_pcsx_txx_states_reg { 951union cvmx_pcsx_txx_states_reg {
342 uint64_t u64; 952 uint64_t u64;
343 struct cvmx_pcsx_txx_states_reg_s { 953 struct cvmx_pcsx_txx_states_reg_s {
954#ifdef __BIG_ENDIAN_BITFIELD
344 uint64_t reserved_7_63:57; 955 uint64_t reserved_7_63:57;
345 uint64_t xmit:2; 956 uint64_t xmit:2;
346 uint64_t tx_bad:1; 957 uint64_t tx_bad:1;
347 uint64_t ord_st:4; 958 uint64_t ord_st:4;
959#else
960 uint64_t ord_st:4;
961 uint64_t tx_bad:1;
962 uint64_t xmit:2;
963 uint64_t reserved_7_63:57;
964#endif
348 } s; 965 } s;
349 struct cvmx_pcsx_txx_states_reg_s cn52xx; 966 struct cvmx_pcsx_txx_states_reg_s cn52xx;
350 struct cvmx_pcsx_txx_states_reg_s cn52xxp1; 967 struct cvmx_pcsx_txx_states_reg_s cn52xxp1;
351 struct cvmx_pcsx_txx_states_reg_s cn56xx; 968 struct cvmx_pcsx_txx_states_reg_s cn56xx;
352 struct cvmx_pcsx_txx_states_reg_s cn56xxp1; 969 struct cvmx_pcsx_txx_states_reg_s cn56xxp1;
970 struct cvmx_pcsx_txx_states_reg_s cn61xx;
971 struct cvmx_pcsx_txx_states_reg_s cn63xx;
972 struct cvmx_pcsx_txx_states_reg_s cn63xxp1;
973 struct cvmx_pcsx_txx_states_reg_s cn66xx;
974 struct cvmx_pcsx_txx_states_reg_s cn68xx;
975 struct cvmx_pcsx_txx_states_reg_s cn68xxp1;
976 struct cvmx_pcsx_txx_states_reg_s cnf71xx;
353}; 977};
354 978
355union cvmx_pcsx_tx_rxx_polarity_reg { 979union cvmx_pcsx_tx_rxx_polarity_reg {
356 uint64_t u64; 980 uint64_t u64;
357 struct cvmx_pcsx_tx_rxx_polarity_reg_s { 981 struct cvmx_pcsx_tx_rxx_polarity_reg_s {
982#ifdef __BIG_ENDIAN_BITFIELD
358 uint64_t reserved_4_63:60; 983 uint64_t reserved_4_63:60;
359 uint64_t rxovrd:1; 984 uint64_t rxovrd:1;
360 uint64_t autorxpl:1; 985 uint64_t autorxpl:1;
361 uint64_t rxplrt:1; 986 uint64_t rxplrt:1;
362 uint64_t txplrt:1; 987 uint64_t txplrt:1;
988#else
989 uint64_t txplrt:1;
990 uint64_t rxplrt:1;
991 uint64_t autorxpl:1;
992 uint64_t rxovrd:1;
993 uint64_t reserved_4_63:60;
994#endif
363 } s; 995 } s;
364 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn52xx; 996 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn52xx;
365 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn52xxp1; 997 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn52xxp1;
366 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn56xx; 998 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn56xx;
367 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn56xxp1; 999 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn56xxp1;
1000 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn61xx;
1001 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn63xx;
1002 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn63xxp1;
1003 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn66xx;
1004 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn68xx;
1005 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn68xxp1;
1006 struct cvmx_pcsx_tx_rxx_polarity_reg_s cnf71xx;
368}; 1007};
369 1008
370#endif 1009#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h b/arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h
index 55d120fe8aed..b5b45d26f1c5 100644
--- a/arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,40 +28,250 @@
28#ifndef __CVMX_PCSXX_DEFS_H__ 28#ifndef __CVMX_PCSXX_DEFS_H__
29#define __CVMX_PCSXX_DEFS_H__ 29#define __CVMX_PCSXX_DEFS_H__
30 30
31#define CVMX_PCSXX_10GBX_STATUS_REG(block_id) \ 31static inline uint64_t CVMX_PCSXX_10GBX_STATUS_REG(unsigned long block_id)
32 CVMX_ADD_IO_SEG(0x00011800B0000828ull + (((block_id) & 1) * 0x8000000ull)) 32{
33#define CVMX_PCSXX_BIST_STATUS_REG(block_id) \ 33 switch (cvmx_get_octeon_family()) {
34 CVMX_ADD_IO_SEG(0x00011800B0000870ull + (((block_id) & 1) * 0x8000000ull)) 34 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
35#define CVMX_PCSXX_BIT_LOCK_STATUS_REG(block_id) \ 35 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
36 CVMX_ADD_IO_SEG(0x00011800B0000850ull + (((block_id) & 1) * 0x8000000ull)) 36 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
37#define CVMX_PCSXX_CONTROL1_REG(block_id) \ 37 return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id) * 0x8000000ull;
38 CVMX_ADD_IO_SEG(0x00011800B0000800ull + (((block_id) & 1) * 0x8000000ull)) 38 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
39#define CVMX_PCSXX_CONTROL2_REG(block_id) \ 39 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
40 CVMX_ADD_IO_SEG(0x00011800B0000818ull + (((block_id) & 1) * 0x8000000ull)) 40 return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id) * 0x8000000ull;
41#define CVMX_PCSXX_INT_EN_REG(block_id) \ 41 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
42 CVMX_ADD_IO_SEG(0x00011800B0000860ull + (((block_id) & 1) * 0x8000000ull)) 42 return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id) * 0x1000000ull;
43#define CVMX_PCSXX_INT_REG(block_id) \ 43 }
44 CVMX_ADD_IO_SEG(0x00011800B0000858ull + (((block_id) & 1) * 0x8000000ull)) 44 return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id) * 0x1000000ull;
45#define CVMX_PCSXX_LOG_ANL_REG(block_id) \ 45}
46 CVMX_ADD_IO_SEG(0x00011800B0000868ull + (((block_id) & 1) * 0x8000000ull)) 46
47#define CVMX_PCSXX_MISC_CTL_REG(block_id) \ 47static inline uint64_t CVMX_PCSXX_BIST_STATUS_REG(unsigned long block_id)
48 CVMX_ADD_IO_SEG(0x00011800B0000848ull + (((block_id) & 1) * 0x8000000ull)) 48{
49#define CVMX_PCSXX_RX_SYNC_STATES_REG(block_id) \ 49 switch (cvmx_get_octeon_family()) {
50 CVMX_ADD_IO_SEG(0x00011800B0000838ull + (((block_id) & 1) * 0x8000000ull)) 50 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
51#define CVMX_PCSXX_SPD_ABIL_REG(block_id) \ 51 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
52 CVMX_ADD_IO_SEG(0x00011800B0000810ull + (((block_id) & 1) * 0x8000000ull)) 52 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
53#define CVMX_PCSXX_STATUS1_REG(block_id) \ 53 return CVMX_ADD_IO_SEG(0x00011800B0000870ull) + (block_id) * 0x8000000ull;
54 CVMX_ADD_IO_SEG(0x00011800B0000808ull + (((block_id) & 1) * 0x8000000ull)) 54 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
55#define CVMX_PCSXX_STATUS2_REG(block_id) \ 55 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
56 CVMX_ADD_IO_SEG(0x00011800B0000820ull + (((block_id) & 1) * 0x8000000ull)) 56 return CVMX_ADD_IO_SEG(0x00011800B0000870ull) + (block_id) * 0x8000000ull;
57#define CVMX_PCSXX_TX_RX_POLARITY_REG(block_id) \ 57 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
58 CVMX_ADD_IO_SEG(0x00011800B0000840ull + (((block_id) & 1) * 0x8000000ull)) 58 return CVMX_ADD_IO_SEG(0x00011800B0000870ull) + (block_id) * 0x1000000ull;
59#define CVMX_PCSXX_TX_RX_STATES_REG(block_id) \ 59 }
60 CVMX_ADD_IO_SEG(0x00011800B0000830ull + (((block_id) & 1) * 0x8000000ull)) 60 return CVMX_ADD_IO_SEG(0x00011800B0000870ull) + (block_id) * 0x1000000ull;
61}
62
63static inline uint64_t CVMX_PCSXX_BIT_LOCK_STATUS_REG(unsigned long block_id)
64{
65 switch (cvmx_get_octeon_family()) {
66 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
67 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
68 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
69 return CVMX_ADD_IO_SEG(0x00011800B0000850ull) + (block_id) * 0x8000000ull;
70 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
71 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
72 return CVMX_ADD_IO_SEG(0x00011800B0000850ull) + (block_id) * 0x8000000ull;
73 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
74 return CVMX_ADD_IO_SEG(0x00011800B0000850ull) + (block_id) * 0x1000000ull;
75 }
76 return CVMX_ADD_IO_SEG(0x00011800B0000850ull) + (block_id) * 0x1000000ull;
77}
78
79static inline uint64_t CVMX_PCSXX_CONTROL1_REG(unsigned long block_id)
80{
81 switch (cvmx_get_octeon_family()) {
82 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
83 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
84 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
85 return CVMX_ADD_IO_SEG(0x00011800B0000800ull) + (block_id) * 0x8000000ull;
86 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
87 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
88 return CVMX_ADD_IO_SEG(0x00011800B0000800ull) + (block_id) * 0x8000000ull;
89 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
90 return CVMX_ADD_IO_SEG(0x00011800B0000800ull) + (block_id) * 0x1000000ull;
91 }
92 return CVMX_ADD_IO_SEG(0x00011800B0000800ull) + (block_id) * 0x1000000ull;
93}
94
95static inline uint64_t CVMX_PCSXX_CONTROL2_REG(unsigned long block_id)
96{
97 switch (cvmx_get_octeon_family()) {
98 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
99 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
100 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
101 return CVMX_ADD_IO_SEG(0x00011800B0000818ull) + (block_id) * 0x8000000ull;
102 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
103 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
104 return CVMX_ADD_IO_SEG(0x00011800B0000818ull) + (block_id) * 0x8000000ull;
105 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
106 return CVMX_ADD_IO_SEG(0x00011800B0000818ull) + (block_id) * 0x1000000ull;
107 }
108 return CVMX_ADD_IO_SEG(0x00011800B0000818ull) + (block_id) * 0x1000000ull;
109}
110
111static inline uint64_t CVMX_PCSXX_INT_EN_REG(unsigned long block_id)
112{
113 switch (cvmx_get_octeon_family()) {
114 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
115 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
116 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
117 return CVMX_ADD_IO_SEG(0x00011800B0000860ull) + (block_id) * 0x8000000ull;
118 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
119 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
120 return CVMX_ADD_IO_SEG(0x00011800B0000860ull) + (block_id) * 0x8000000ull;
121 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
122 return CVMX_ADD_IO_SEG(0x00011800B0000860ull) + (block_id) * 0x1000000ull;
123 }
124 return CVMX_ADD_IO_SEG(0x00011800B0000860ull) + (block_id) * 0x1000000ull;
125}
126
127static inline uint64_t CVMX_PCSXX_INT_REG(unsigned long block_id)
128{
129 switch (cvmx_get_octeon_family()) {
130 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
131 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
132 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
133 return CVMX_ADD_IO_SEG(0x00011800B0000858ull) + (block_id) * 0x8000000ull;
134 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
135 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
136 return CVMX_ADD_IO_SEG(0x00011800B0000858ull) + (block_id) * 0x8000000ull;
137 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
138 return CVMX_ADD_IO_SEG(0x00011800B0000858ull) + (block_id) * 0x1000000ull;
139 }
140 return CVMX_ADD_IO_SEG(0x00011800B0000858ull) + (block_id) * 0x1000000ull;
141}
142
143static inline uint64_t CVMX_PCSXX_LOG_ANL_REG(unsigned long block_id)
144{
145 switch (cvmx_get_octeon_family()) {
146 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
147 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
148 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
149 return CVMX_ADD_IO_SEG(0x00011800B0000868ull) + (block_id) * 0x8000000ull;
150 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
151 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
152 return CVMX_ADD_IO_SEG(0x00011800B0000868ull) + (block_id) * 0x8000000ull;
153 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
154 return CVMX_ADD_IO_SEG(0x00011800B0000868ull) + (block_id) * 0x1000000ull;
155 }
156 return CVMX_ADD_IO_SEG(0x00011800B0000868ull) + (block_id) * 0x1000000ull;
157}
158
159static inline uint64_t CVMX_PCSXX_MISC_CTL_REG(unsigned long block_id)
160{
161 switch (cvmx_get_octeon_family()) {
162 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
163 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
164 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
165 return CVMX_ADD_IO_SEG(0x00011800B0000848ull) + (block_id) * 0x8000000ull;
166 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
167 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
168 return CVMX_ADD_IO_SEG(0x00011800B0000848ull) + (block_id) * 0x8000000ull;
169 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
170 return CVMX_ADD_IO_SEG(0x00011800B0000848ull) + (block_id) * 0x1000000ull;
171 }
172 return CVMX_ADD_IO_SEG(0x00011800B0000848ull) + (block_id) * 0x1000000ull;
173}
174
175static inline uint64_t CVMX_PCSXX_RX_SYNC_STATES_REG(unsigned long block_id)
176{
177 switch (cvmx_get_octeon_family()) {
178 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
179 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
180 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
181 return CVMX_ADD_IO_SEG(0x00011800B0000838ull) + (block_id) * 0x8000000ull;
182 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
183 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
184 return CVMX_ADD_IO_SEG(0x00011800B0000838ull) + (block_id) * 0x8000000ull;
185 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
186 return CVMX_ADD_IO_SEG(0x00011800B0000838ull) + (block_id) * 0x1000000ull;
187 }
188 return CVMX_ADD_IO_SEG(0x00011800B0000838ull) + (block_id) * 0x1000000ull;
189}
190
191static inline uint64_t CVMX_PCSXX_SPD_ABIL_REG(unsigned long block_id)
192{
193 switch (cvmx_get_octeon_family()) {
194 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
195 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
196 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
197 return CVMX_ADD_IO_SEG(0x00011800B0000810ull) + (block_id) * 0x8000000ull;
198 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
199 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
200 return CVMX_ADD_IO_SEG(0x00011800B0000810ull) + (block_id) * 0x8000000ull;
201 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
202 return CVMX_ADD_IO_SEG(0x00011800B0000810ull) + (block_id) * 0x1000000ull;
203 }
204 return CVMX_ADD_IO_SEG(0x00011800B0000810ull) + (block_id) * 0x1000000ull;
205}
206
207static inline uint64_t CVMX_PCSXX_STATUS1_REG(unsigned long block_id)
208{
209 switch (cvmx_get_octeon_family()) {
210 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
211 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
212 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
213 return CVMX_ADD_IO_SEG(0x00011800B0000808ull) + (block_id) * 0x8000000ull;
214 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
215 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
216 return CVMX_ADD_IO_SEG(0x00011800B0000808ull) + (block_id) * 0x8000000ull;
217 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
218 return CVMX_ADD_IO_SEG(0x00011800B0000808ull) + (block_id) * 0x1000000ull;
219 }
220 return CVMX_ADD_IO_SEG(0x00011800B0000808ull) + (block_id) * 0x1000000ull;
221}
222
223static inline uint64_t CVMX_PCSXX_STATUS2_REG(unsigned long block_id)
224{
225 switch (cvmx_get_octeon_family()) {
226 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
227 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
228 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
229 return CVMX_ADD_IO_SEG(0x00011800B0000820ull) + (block_id) * 0x8000000ull;
230 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
231 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
232 return CVMX_ADD_IO_SEG(0x00011800B0000820ull) + (block_id) * 0x8000000ull;
233 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
234 return CVMX_ADD_IO_SEG(0x00011800B0000820ull) + (block_id) * 0x1000000ull;
235 }
236 return CVMX_ADD_IO_SEG(0x00011800B0000820ull) + (block_id) * 0x1000000ull;
237}
238
239static inline uint64_t CVMX_PCSXX_TX_RX_POLARITY_REG(unsigned long block_id)
240{
241 switch (cvmx_get_octeon_family()) {
242 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
243 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
244 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
245 return CVMX_ADD_IO_SEG(0x00011800B0000840ull) + (block_id) * 0x8000000ull;
246 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
247 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
248 return CVMX_ADD_IO_SEG(0x00011800B0000840ull) + (block_id) * 0x8000000ull;
249 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
250 return CVMX_ADD_IO_SEG(0x00011800B0000840ull) + (block_id) * 0x1000000ull;
251 }
252 return CVMX_ADD_IO_SEG(0x00011800B0000840ull) + (block_id) * 0x1000000ull;
253}
254
255static inline uint64_t CVMX_PCSXX_TX_RX_STATES_REG(unsigned long block_id)
256{
257 switch (cvmx_get_octeon_family()) {
258 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
259 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
260 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
261 return CVMX_ADD_IO_SEG(0x00011800B0000830ull) + (block_id) * 0x8000000ull;
262 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
263 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
264 return CVMX_ADD_IO_SEG(0x00011800B0000830ull) + (block_id) * 0x8000000ull;
265 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
266 return CVMX_ADD_IO_SEG(0x00011800B0000830ull) + (block_id) * 0x1000000ull;
267 }
268 return CVMX_ADD_IO_SEG(0x00011800B0000830ull) + (block_id) * 0x1000000ull;
269}
61 270
62union cvmx_pcsxx_10gbx_status_reg { 271union cvmx_pcsxx_10gbx_status_reg {
63 uint64_t u64; 272 uint64_t u64;
64 struct cvmx_pcsxx_10gbx_status_reg_s { 273 struct cvmx_pcsxx_10gbx_status_reg_s {
274#ifdef __BIG_ENDIAN_BITFIELD
65 uint64_t reserved_13_63:51; 275 uint64_t reserved_13_63:51;
66 uint64_t alignd:1; 276 uint64_t alignd:1;
67 uint64_t pattst:1; 277 uint64_t pattst:1;
@@ -70,43 +280,85 @@ union cvmx_pcsxx_10gbx_status_reg {
70 uint64_t l2sync:1; 280 uint64_t l2sync:1;
71 uint64_t l1sync:1; 281 uint64_t l1sync:1;
72 uint64_t l0sync:1; 282 uint64_t l0sync:1;
283#else
284 uint64_t l0sync:1;
285 uint64_t l1sync:1;
286 uint64_t l2sync:1;
287 uint64_t l3sync:1;
288 uint64_t reserved_4_10:7;
289 uint64_t pattst:1;
290 uint64_t alignd:1;
291 uint64_t reserved_13_63:51;
292#endif
73 } s; 293 } s;
74 struct cvmx_pcsxx_10gbx_status_reg_s cn52xx; 294 struct cvmx_pcsxx_10gbx_status_reg_s cn52xx;
75 struct cvmx_pcsxx_10gbx_status_reg_s cn52xxp1; 295 struct cvmx_pcsxx_10gbx_status_reg_s cn52xxp1;
76 struct cvmx_pcsxx_10gbx_status_reg_s cn56xx; 296 struct cvmx_pcsxx_10gbx_status_reg_s cn56xx;
77 struct cvmx_pcsxx_10gbx_status_reg_s cn56xxp1; 297 struct cvmx_pcsxx_10gbx_status_reg_s cn56xxp1;
298 struct cvmx_pcsxx_10gbx_status_reg_s cn61xx;
299 struct cvmx_pcsxx_10gbx_status_reg_s cn63xx;
300 struct cvmx_pcsxx_10gbx_status_reg_s cn63xxp1;
301 struct cvmx_pcsxx_10gbx_status_reg_s cn66xx;
302 struct cvmx_pcsxx_10gbx_status_reg_s cn68xx;
303 struct cvmx_pcsxx_10gbx_status_reg_s cn68xxp1;
78}; 304};
79 305
80union cvmx_pcsxx_bist_status_reg { 306union cvmx_pcsxx_bist_status_reg {
81 uint64_t u64; 307 uint64_t u64;
82 struct cvmx_pcsxx_bist_status_reg_s { 308 struct cvmx_pcsxx_bist_status_reg_s {
309#ifdef __BIG_ENDIAN_BITFIELD
83 uint64_t reserved_1_63:63; 310 uint64_t reserved_1_63:63;
84 uint64_t bist_status:1; 311 uint64_t bist_status:1;
312#else
313 uint64_t bist_status:1;
314 uint64_t reserved_1_63:63;
315#endif
85 } s; 316 } s;
86 struct cvmx_pcsxx_bist_status_reg_s cn52xx; 317 struct cvmx_pcsxx_bist_status_reg_s cn52xx;
87 struct cvmx_pcsxx_bist_status_reg_s cn52xxp1; 318 struct cvmx_pcsxx_bist_status_reg_s cn52xxp1;
88 struct cvmx_pcsxx_bist_status_reg_s cn56xx; 319 struct cvmx_pcsxx_bist_status_reg_s cn56xx;
89 struct cvmx_pcsxx_bist_status_reg_s cn56xxp1; 320 struct cvmx_pcsxx_bist_status_reg_s cn56xxp1;
321 struct cvmx_pcsxx_bist_status_reg_s cn61xx;
322 struct cvmx_pcsxx_bist_status_reg_s cn63xx;
323 struct cvmx_pcsxx_bist_status_reg_s cn63xxp1;
324 struct cvmx_pcsxx_bist_status_reg_s cn66xx;
325 struct cvmx_pcsxx_bist_status_reg_s cn68xx;
326 struct cvmx_pcsxx_bist_status_reg_s cn68xxp1;
90}; 327};
91 328
92union cvmx_pcsxx_bit_lock_status_reg { 329union cvmx_pcsxx_bit_lock_status_reg {
93 uint64_t u64; 330 uint64_t u64;
94 struct cvmx_pcsxx_bit_lock_status_reg_s { 331 struct cvmx_pcsxx_bit_lock_status_reg_s {
332#ifdef __BIG_ENDIAN_BITFIELD
95 uint64_t reserved_4_63:60; 333 uint64_t reserved_4_63:60;
96 uint64_t bitlck3:1; 334 uint64_t bitlck3:1;
97 uint64_t bitlck2:1; 335 uint64_t bitlck2:1;
98 uint64_t bitlck1:1; 336 uint64_t bitlck1:1;
99 uint64_t bitlck0:1; 337 uint64_t bitlck0:1;
338#else
339 uint64_t bitlck0:1;
340 uint64_t bitlck1:1;
341 uint64_t bitlck2:1;
342 uint64_t bitlck3:1;
343 uint64_t reserved_4_63:60;
344#endif
100 } s; 345 } s;
101 struct cvmx_pcsxx_bit_lock_status_reg_s cn52xx; 346 struct cvmx_pcsxx_bit_lock_status_reg_s cn52xx;
102 struct cvmx_pcsxx_bit_lock_status_reg_s cn52xxp1; 347 struct cvmx_pcsxx_bit_lock_status_reg_s cn52xxp1;
103 struct cvmx_pcsxx_bit_lock_status_reg_s cn56xx; 348 struct cvmx_pcsxx_bit_lock_status_reg_s cn56xx;
104 struct cvmx_pcsxx_bit_lock_status_reg_s cn56xxp1; 349 struct cvmx_pcsxx_bit_lock_status_reg_s cn56xxp1;
350 struct cvmx_pcsxx_bit_lock_status_reg_s cn61xx;
351 struct cvmx_pcsxx_bit_lock_status_reg_s cn63xx;
352 struct cvmx_pcsxx_bit_lock_status_reg_s cn63xxp1;
353 struct cvmx_pcsxx_bit_lock_status_reg_s cn66xx;
354 struct cvmx_pcsxx_bit_lock_status_reg_s cn68xx;
355 struct cvmx_pcsxx_bit_lock_status_reg_s cn68xxp1;
105}; 356};
106 357
107union cvmx_pcsxx_control1_reg { 358union cvmx_pcsxx_control1_reg {
108 uint64_t u64; 359 uint64_t u64;
109 struct cvmx_pcsxx_control1_reg_s { 360 struct cvmx_pcsxx_control1_reg_s {
361#ifdef __BIG_ENDIAN_BITFIELD
110 uint64_t reserved_16_63:48; 362 uint64_t reserved_16_63:48;
111 uint64_t reset:1; 363 uint64_t reset:1;
112 uint64_t loopbck1:1; 364 uint64_t loopbck1:1;
@@ -117,137 +369,309 @@ union cvmx_pcsxx_control1_reg {
117 uint64_t spdsel0:1; 369 uint64_t spdsel0:1;
118 uint64_t spd:4; 370 uint64_t spd:4;
119 uint64_t reserved_0_1:2; 371 uint64_t reserved_0_1:2;
372#else
373 uint64_t reserved_0_1:2;
374 uint64_t spd:4;
375 uint64_t spdsel0:1;
376 uint64_t reserved_7_10:4;
377 uint64_t lo_pwr:1;
378 uint64_t reserved_12_12:1;
379 uint64_t spdsel1:1;
380 uint64_t loopbck1:1;
381 uint64_t reset:1;
382 uint64_t reserved_16_63:48;
383#endif
120 } s; 384 } s;
121 struct cvmx_pcsxx_control1_reg_s cn52xx; 385 struct cvmx_pcsxx_control1_reg_s cn52xx;
122 struct cvmx_pcsxx_control1_reg_s cn52xxp1; 386 struct cvmx_pcsxx_control1_reg_s cn52xxp1;
123 struct cvmx_pcsxx_control1_reg_s cn56xx; 387 struct cvmx_pcsxx_control1_reg_s cn56xx;
124 struct cvmx_pcsxx_control1_reg_s cn56xxp1; 388 struct cvmx_pcsxx_control1_reg_s cn56xxp1;
389 struct cvmx_pcsxx_control1_reg_s cn61xx;
390 struct cvmx_pcsxx_control1_reg_s cn63xx;
391 struct cvmx_pcsxx_control1_reg_s cn63xxp1;
392 struct cvmx_pcsxx_control1_reg_s cn66xx;
393 struct cvmx_pcsxx_control1_reg_s cn68xx;
394 struct cvmx_pcsxx_control1_reg_s cn68xxp1;
125}; 395};
126 396
127union cvmx_pcsxx_control2_reg { 397union cvmx_pcsxx_control2_reg {
128 uint64_t u64; 398 uint64_t u64;
129 struct cvmx_pcsxx_control2_reg_s { 399 struct cvmx_pcsxx_control2_reg_s {
400#ifdef __BIG_ENDIAN_BITFIELD
130 uint64_t reserved_2_63:62; 401 uint64_t reserved_2_63:62;
131 uint64_t type:2; 402 uint64_t type:2;
403#else
404 uint64_t type:2;
405 uint64_t reserved_2_63:62;
406#endif
132 } s; 407 } s;
133 struct cvmx_pcsxx_control2_reg_s cn52xx; 408 struct cvmx_pcsxx_control2_reg_s cn52xx;
134 struct cvmx_pcsxx_control2_reg_s cn52xxp1; 409 struct cvmx_pcsxx_control2_reg_s cn52xxp1;
135 struct cvmx_pcsxx_control2_reg_s cn56xx; 410 struct cvmx_pcsxx_control2_reg_s cn56xx;
136 struct cvmx_pcsxx_control2_reg_s cn56xxp1; 411 struct cvmx_pcsxx_control2_reg_s cn56xxp1;
412 struct cvmx_pcsxx_control2_reg_s cn61xx;
413 struct cvmx_pcsxx_control2_reg_s cn63xx;
414 struct cvmx_pcsxx_control2_reg_s cn63xxp1;
415 struct cvmx_pcsxx_control2_reg_s cn66xx;
416 struct cvmx_pcsxx_control2_reg_s cn68xx;
417 struct cvmx_pcsxx_control2_reg_s cn68xxp1;
137}; 418};
138 419
139union cvmx_pcsxx_int_en_reg { 420union cvmx_pcsxx_int_en_reg {
140 uint64_t u64; 421 uint64_t u64;
141 struct cvmx_pcsxx_int_en_reg_s { 422 struct cvmx_pcsxx_int_en_reg_s {
142 uint64_t reserved_6_63:58; 423#ifdef __BIG_ENDIAN_BITFIELD
424 uint64_t reserved_7_63:57;
425 uint64_t dbg_sync_en:1;
143 uint64_t algnlos_en:1; 426 uint64_t algnlos_en:1;
144 uint64_t synlos_en:1; 427 uint64_t synlos_en:1;
145 uint64_t bitlckls_en:1; 428 uint64_t bitlckls_en:1;
146 uint64_t rxsynbad_en:1; 429 uint64_t rxsynbad_en:1;
147 uint64_t rxbad_en:1; 430 uint64_t rxbad_en:1;
148 uint64_t txflt_en:1; 431 uint64_t txflt_en:1;
432#else
433 uint64_t txflt_en:1;
434 uint64_t rxbad_en:1;
435 uint64_t rxsynbad_en:1;
436 uint64_t bitlckls_en:1;
437 uint64_t synlos_en:1;
438 uint64_t algnlos_en:1;
439 uint64_t dbg_sync_en:1;
440 uint64_t reserved_7_63:57;
441#endif
149 } s; 442 } s;
150 struct cvmx_pcsxx_int_en_reg_s cn52xx; 443 struct cvmx_pcsxx_int_en_reg_cn52xx {
151 struct cvmx_pcsxx_int_en_reg_s cn52xxp1; 444#ifdef __BIG_ENDIAN_BITFIELD
152 struct cvmx_pcsxx_int_en_reg_s cn56xx; 445 uint64_t reserved_6_63:58;
153 struct cvmx_pcsxx_int_en_reg_s cn56xxp1; 446 uint64_t algnlos_en:1;
447 uint64_t synlos_en:1;
448 uint64_t bitlckls_en:1;
449 uint64_t rxsynbad_en:1;
450 uint64_t rxbad_en:1;
451 uint64_t txflt_en:1;
452#else
453 uint64_t txflt_en:1;
454 uint64_t rxbad_en:1;
455 uint64_t rxsynbad_en:1;
456 uint64_t bitlckls_en:1;
457 uint64_t synlos_en:1;
458 uint64_t algnlos_en:1;
459 uint64_t reserved_6_63:58;
460#endif
461 } cn52xx;
462 struct cvmx_pcsxx_int_en_reg_cn52xx cn52xxp1;
463 struct cvmx_pcsxx_int_en_reg_cn52xx cn56xx;
464 struct cvmx_pcsxx_int_en_reg_cn52xx cn56xxp1;
465 struct cvmx_pcsxx_int_en_reg_s cn61xx;
466 struct cvmx_pcsxx_int_en_reg_s cn63xx;
467 struct cvmx_pcsxx_int_en_reg_s cn63xxp1;
468 struct cvmx_pcsxx_int_en_reg_s cn66xx;
469 struct cvmx_pcsxx_int_en_reg_s cn68xx;
470 struct cvmx_pcsxx_int_en_reg_s cn68xxp1;
154}; 471};
155 472
156union cvmx_pcsxx_int_reg { 473union cvmx_pcsxx_int_reg {
157 uint64_t u64; 474 uint64_t u64;
158 struct cvmx_pcsxx_int_reg_s { 475 struct cvmx_pcsxx_int_reg_s {
159 uint64_t reserved_6_63:58; 476#ifdef __BIG_ENDIAN_BITFIELD
477 uint64_t reserved_7_63:57;
478 uint64_t dbg_sync:1;
160 uint64_t algnlos:1; 479 uint64_t algnlos:1;
161 uint64_t synlos:1; 480 uint64_t synlos:1;
162 uint64_t bitlckls:1; 481 uint64_t bitlckls:1;
163 uint64_t rxsynbad:1; 482 uint64_t rxsynbad:1;
164 uint64_t rxbad:1; 483 uint64_t rxbad:1;
165 uint64_t txflt:1; 484 uint64_t txflt:1;
485#else
486 uint64_t txflt:1;
487 uint64_t rxbad:1;
488 uint64_t rxsynbad:1;
489 uint64_t bitlckls:1;
490 uint64_t synlos:1;
491 uint64_t algnlos:1;
492 uint64_t dbg_sync:1;
493 uint64_t reserved_7_63:57;
494#endif
166 } s; 495 } s;
167 struct cvmx_pcsxx_int_reg_s cn52xx; 496 struct cvmx_pcsxx_int_reg_cn52xx {
168 struct cvmx_pcsxx_int_reg_s cn52xxp1; 497#ifdef __BIG_ENDIAN_BITFIELD
169 struct cvmx_pcsxx_int_reg_s cn56xx; 498 uint64_t reserved_6_63:58;
170 struct cvmx_pcsxx_int_reg_s cn56xxp1; 499 uint64_t algnlos:1;
500 uint64_t synlos:1;
501 uint64_t bitlckls:1;
502 uint64_t rxsynbad:1;
503 uint64_t rxbad:1;
504 uint64_t txflt:1;
505#else
506 uint64_t txflt:1;
507 uint64_t rxbad:1;
508 uint64_t rxsynbad:1;
509 uint64_t bitlckls:1;
510 uint64_t synlos:1;
511 uint64_t algnlos:1;
512 uint64_t reserved_6_63:58;
513#endif
514 } cn52xx;
515 struct cvmx_pcsxx_int_reg_cn52xx cn52xxp1;
516 struct cvmx_pcsxx_int_reg_cn52xx cn56xx;
517 struct cvmx_pcsxx_int_reg_cn52xx cn56xxp1;
518 struct cvmx_pcsxx_int_reg_s cn61xx;
519 struct cvmx_pcsxx_int_reg_s cn63xx;
520 struct cvmx_pcsxx_int_reg_s cn63xxp1;
521 struct cvmx_pcsxx_int_reg_s cn66xx;
522 struct cvmx_pcsxx_int_reg_s cn68xx;
523 struct cvmx_pcsxx_int_reg_s cn68xxp1;
171}; 524};
172 525
173union cvmx_pcsxx_log_anl_reg { 526union cvmx_pcsxx_log_anl_reg {
174 uint64_t u64; 527 uint64_t u64;
175 struct cvmx_pcsxx_log_anl_reg_s { 528 struct cvmx_pcsxx_log_anl_reg_s {
529#ifdef __BIG_ENDIAN_BITFIELD
176 uint64_t reserved_7_63:57; 530 uint64_t reserved_7_63:57;
177 uint64_t enc_mode:1; 531 uint64_t enc_mode:1;
178 uint64_t drop_ln:2; 532 uint64_t drop_ln:2;
179 uint64_t lafifovfl:1; 533 uint64_t lafifovfl:1;
180 uint64_t la_en:1; 534 uint64_t la_en:1;
181 uint64_t pkt_sz:2; 535 uint64_t pkt_sz:2;
536#else
537 uint64_t pkt_sz:2;
538 uint64_t la_en:1;
539 uint64_t lafifovfl:1;
540 uint64_t drop_ln:2;
541 uint64_t enc_mode:1;
542 uint64_t reserved_7_63:57;
543#endif
182 } s; 544 } s;
183 struct cvmx_pcsxx_log_anl_reg_s cn52xx; 545 struct cvmx_pcsxx_log_anl_reg_s cn52xx;
184 struct cvmx_pcsxx_log_anl_reg_s cn52xxp1; 546 struct cvmx_pcsxx_log_anl_reg_s cn52xxp1;
185 struct cvmx_pcsxx_log_anl_reg_s cn56xx; 547 struct cvmx_pcsxx_log_anl_reg_s cn56xx;
186 struct cvmx_pcsxx_log_anl_reg_s cn56xxp1; 548 struct cvmx_pcsxx_log_anl_reg_s cn56xxp1;
549 struct cvmx_pcsxx_log_anl_reg_s cn61xx;
550 struct cvmx_pcsxx_log_anl_reg_s cn63xx;
551 struct cvmx_pcsxx_log_anl_reg_s cn63xxp1;
552 struct cvmx_pcsxx_log_anl_reg_s cn66xx;
553 struct cvmx_pcsxx_log_anl_reg_s cn68xx;
554 struct cvmx_pcsxx_log_anl_reg_s cn68xxp1;
187}; 555};
188 556
189union cvmx_pcsxx_misc_ctl_reg { 557union cvmx_pcsxx_misc_ctl_reg {
190 uint64_t u64; 558 uint64_t u64;
191 struct cvmx_pcsxx_misc_ctl_reg_s { 559 struct cvmx_pcsxx_misc_ctl_reg_s {
560#ifdef __BIG_ENDIAN_BITFIELD
192 uint64_t reserved_4_63:60; 561 uint64_t reserved_4_63:60;
193 uint64_t tx_swap:1; 562 uint64_t tx_swap:1;
194 uint64_t rx_swap:1; 563 uint64_t rx_swap:1;
195 uint64_t xaui:1; 564 uint64_t xaui:1;
196 uint64_t gmxeno:1; 565 uint64_t gmxeno:1;
566#else
567 uint64_t gmxeno:1;
568 uint64_t xaui:1;
569 uint64_t rx_swap:1;
570 uint64_t tx_swap:1;
571 uint64_t reserved_4_63:60;
572#endif
197 } s; 573 } s;
198 struct cvmx_pcsxx_misc_ctl_reg_s cn52xx; 574 struct cvmx_pcsxx_misc_ctl_reg_s cn52xx;
199 struct cvmx_pcsxx_misc_ctl_reg_s cn52xxp1; 575 struct cvmx_pcsxx_misc_ctl_reg_s cn52xxp1;
200 struct cvmx_pcsxx_misc_ctl_reg_s cn56xx; 576 struct cvmx_pcsxx_misc_ctl_reg_s cn56xx;
201 struct cvmx_pcsxx_misc_ctl_reg_s cn56xxp1; 577 struct cvmx_pcsxx_misc_ctl_reg_s cn56xxp1;
578 struct cvmx_pcsxx_misc_ctl_reg_s cn61xx;
579 struct cvmx_pcsxx_misc_ctl_reg_s cn63xx;
580 struct cvmx_pcsxx_misc_ctl_reg_s cn63xxp1;
581 struct cvmx_pcsxx_misc_ctl_reg_s cn66xx;
582 struct cvmx_pcsxx_misc_ctl_reg_s cn68xx;
583 struct cvmx_pcsxx_misc_ctl_reg_s cn68xxp1;
202}; 584};
203 585
204union cvmx_pcsxx_rx_sync_states_reg { 586union cvmx_pcsxx_rx_sync_states_reg {
205 uint64_t u64; 587 uint64_t u64;
206 struct cvmx_pcsxx_rx_sync_states_reg_s { 588 struct cvmx_pcsxx_rx_sync_states_reg_s {
589#ifdef __BIG_ENDIAN_BITFIELD
207 uint64_t reserved_16_63:48; 590 uint64_t reserved_16_63:48;
208 uint64_t sync3st:4; 591 uint64_t sync3st:4;
209 uint64_t sync2st:4; 592 uint64_t sync2st:4;
210 uint64_t sync1st:4; 593 uint64_t sync1st:4;
211 uint64_t sync0st:4; 594 uint64_t sync0st:4;
595#else
596 uint64_t sync0st:4;
597 uint64_t sync1st:4;
598 uint64_t sync2st:4;
599 uint64_t sync3st:4;
600 uint64_t reserved_16_63:48;
601#endif
212 } s; 602 } s;
213 struct cvmx_pcsxx_rx_sync_states_reg_s cn52xx; 603 struct cvmx_pcsxx_rx_sync_states_reg_s cn52xx;
214 struct cvmx_pcsxx_rx_sync_states_reg_s cn52xxp1; 604 struct cvmx_pcsxx_rx_sync_states_reg_s cn52xxp1;
215 struct cvmx_pcsxx_rx_sync_states_reg_s cn56xx; 605 struct cvmx_pcsxx_rx_sync_states_reg_s cn56xx;
216 struct cvmx_pcsxx_rx_sync_states_reg_s cn56xxp1; 606 struct cvmx_pcsxx_rx_sync_states_reg_s cn56xxp1;
607 struct cvmx_pcsxx_rx_sync_states_reg_s cn61xx;
608 struct cvmx_pcsxx_rx_sync_states_reg_s cn63xx;
609 struct cvmx_pcsxx_rx_sync_states_reg_s cn63xxp1;
610 struct cvmx_pcsxx_rx_sync_states_reg_s cn66xx;
611 struct cvmx_pcsxx_rx_sync_states_reg_s cn68xx;
612 struct cvmx_pcsxx_rx_sync_states_reg_s cn68xxp1;
217}; 613};
218 614
219union cvmx_pcsxx_spd_abil_reg { 615union cvmx_pcsxx_spd_abil_reg {
220 uint64_t u64; 616 uint64_t u64;
221 struct cvmx_pcsxx_spd_abil_reg_s { 617 struct cvmx_pcsxx_spd_abil_reg_s {
618#ifdef __BIG_ENDIAN_BITFIELD
222 uint64_t reserved_2_63:62; 619 uint64_t reserved_2_63:62;
223 uint64_t tenpasst:1; 620 uint64_t tenpasst:1;
224 uint64_t tengb:1; 621 uint64_t tengb:1;
622#else
623 uint64_t tengb:1;
624 uint64_t tenpasst:1;
625 uint64_t reserved_2_63:62;
626#endif
225 } s; 627 } s;
226 struct cvmx_pcsxx_spd_abil_reg_s cn52xx; 628 struct cvmx_pcsxx_spd_abil_reg_s cn52xx;
227 struct cvmx_pcsxx_spd_abil_reg_s cn52xxp1; 629 struct cvmx_pcsxx_spd_abil_reg_s cn52xxp1;
228 struct cvmx_pcsxx_spd_abil_reg_s cn56xx; 630 struct cvmx_pcsxx_spd_abil_reg_s cn56xx;
229 struct cvmx_pcsxx_spd_abil_reg_s cn56xxp1; 631 struct cvmx_pcsxx_spd_abil_reg_s cn56xxp1;
632 struct cvmx_pcsxx_spd_abil_reg_s cn61xx;
633 struct cvmx_pcsxx_spd_abil_reg_s cn63xx;
634 struct cvmx_pcsxx_spd_abil_reg_s cn63xxp1;
635 struct cvmx_pcsxx_spd_abil_reg_s cn66xx;
636 struct cvmx_pcsxx_spd_abil_reg_s cn68xx;
637 struct cvmx_pcsxx_spd_abil_reg_s cn68xxp1;
230}; 638};
231 639
232union cvmx_pcsxx_status1_reg { 640union cvmx_pcsxx_status1_reg {
233 uint64_t u64; 641 uint64_t u64;
234 struct cvmx_pcsxx_status1_reg_s { 642 struct cvmx_pcsxx_status1_reg_s {
643#ifdef __BIG_ENDIAN_BITFIELD
235 uint64_t reserved_8_63:56; 644 uint64_t reserved_8_63:56;
236 uint64_t flt:1; 645 uint64_t flt:1;
237 uint64_t reserved_3_6:4; 646 uint64_t reserved_3_6:4;
238 uint64_t rcv_lnk:1; 647 uint64_t rcv_lnk:1;
239 uint64_t lpable:1; 648 uint64_t lpable:1;
240 uint64_t reserved_0_0:1; 649 uint64_t reserved_0_0:1;
650#else
651 uint64_t reserved_0_0:1;
652 uint64_t lpable:1;
653 uint64_t rcv_lnk:1;
654 uint64_t reserved_3_6:4;
655 uint64_t flt:1;
656 uint64_t reserved_8_63:56;
657#endif
241 } s; 658 } s;
242 struct cvmx_pcsxx_status1_reg_s cn52xx; 659 struct cvmx_pcsxx_status1_reg_s cn52xx;
243 struct cvmx_pcsxx_status1_reg_s cn52xxp1; 660 struct cvmx_pcsxx_status1_reg_s cn52xxp1;
244 struct cvmx_pcsxx_status1_reg_s cn56xx; 661 struct cvmx_pcsxx_status1_reg_s cn56xx;
245 struct cvmx_pcsxx_status1_reg_s cn56xxp1; 662 struct cvmx_pcsxx_status1_reg_s cn56xxp1;
663 struct cvmx_pcsxx_status1_reg_s cn61xx;
664 struct cvmx_pcsxx_status1_reg_s cn63xx;
665 struct cvmx_pcsxx_status1_reg_s cn63xxp1;
666 struct cvmx_pcsxx_status1_reg_s cn66xx;
667 struct cvmx_pcsxx_status1_reg_s cn68xx;
668 struct cvmx_pcsxx_status1_reg_s cn68xxp1;
246}; 669};
247 670
248union cvmx_pcsxx_status2_reg { 671union cvmx_pcsxx_status2_reg {
249 uint64_t u64; 672 uint64_t u64;
250 struct cvmx_pcsxx_status2_reg_s { 673 struct cvmx_pcsxx_status2_reg_s {
674#ifdef __BIG_ENDIAN_BITFIELD
251 uint64_t reserved_16_63:48; 675 uint64_t reserved_16_63:48;
252 uint64_t dev:2; 676 uint64_t dev:2;
253 uint64_t reserved_12_13:2; 677 uint64_t reserved_12_13:2;
@@ -257,35 +681,73 @@ union cvmx_pcsxx_status2_reg {
257 uint64_t tengb_w:1; 681 uint64_t tengb_w:1;
258 uint64_t tengb_x:1; 682 uint64_t tengb_x:1;
259 uint64_t tengb_r:1; 683 uint64_t tengb_r:1;
684#else
685 uint64_t tengb_r:1;
686 uint64_t tengb_x:1;
687 uint64_t tengb_w:1;
688 uint64_t reserved_3_9:7;
689 uint64_t rcvflt:1;
690 uint64_t xmtflt:1;
691 uint64_t reserved_12_13:2;
692 uint64_t dev:2;
693 uint64_t reserved_16_63:48;
694#endif
260 } s; 695 } s;
261 struct cvmx_pcsxx_status2_reg_s cn52xx; 696 struct cvmx_pcsxx_status2_reg_s cn52xx;
262 struct cvmx_pcsxx_status2_reg_s cn52xxp1; 697 struct cvmx_pcsxx_status2_reg_s cn52xxp1;
263 struct cvmx_pcsxx_status2_reg_s cn56xx; 698 struct cvmx_pcsxx_status2_reg_s cn56xx;
264 struct cvmx_pcsxx_status2_reg_s cn56xxp1; 699 struct cvmx_pcsxx_status2_reg_s cn56xxp1;
700 struct cvmx_pcsxx_status2_reg_s cn61xx;
701 struct cvmx_pcsxx_status2_reg_s cn63xx;
702 struct cvmx_pcsxx_status2_reg_s cn63xxp1;
703 struct cvmx_pcsxx_status2_reg_s cn66xx;
704 struct cvmx_pcsxx_status2_reg_s cn68xx;
705 struct cvmx_pcsxx_status2_reg_s cn68xxp1;
265}; 706};
266 707
267union cvmx_pcsxx_tx_rx_polarity_reg { 708union cvmx_pcsxx_tx_rx_polarity_reg {
268 uint64_t u64; 709 uint64_t u64;
269 struct cvmx_pcsxx_tx_rx_polarity_reg_s { 710 struct cvmx_pcsxx_tx_rx_polarity_reg_s {
711#ifdef __BIG_ENDIAN_BITFIELD
270 uint64_t reserved_10_63:54; 712 uint64_t reserved_10_63:54;
271 uint64_t xor_rxplrt:4; 713 uint64_t xor_rxplrt:4;
272 uint64_t xor_txplrt:4; 714 uint64_t xor_txplrt:4;
273 uint64_t rxplrt:1; 715 uint64_t rxplrt:1;
274 uint64_t txplrt:1; 716 uint64_t txplrt:1;
717#else
718 uint64_t txplrt:1;
719 uint64_t rxplrt:1;
720 uint64_t xor_txplrt:4;
721 uint64_t xor_rxplrt:4;
722 uint64_t reserved_10_63:54;
723#endif
275 } s; 724 } s;
276 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn52xx; 725 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn52xx;
277 struct cvmx_pcsxx_tx_rx_polarity_reg_cn52xxp1 { 726 struct cvmx_pcsxx_tx_rx_polarity_reg_cn52xxp1 {
727#ifdef __BIG_ENDIAN_BITFIELD
278 uint64_t reserved_2_63:62; 728 uint64_t reserved_2_63:62;
279 uint64_t rxplrt:1; 729 uint64_t rxplrt:1;
280 uint64_t txplrt:1; 730 uint64_t txplrt:1;
731#else
732 uint64_t txplrt:1;
733 uint64_t rxplrt:1;
734 uint64_t reserved_2_63:62;
735#endif
281 } cn52xxp1; 736 } cn52xxp1;
282 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn56xx; 737 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn56xx;
283 struct cvmx_pcsxx_tx_rx_polarity_reg_cn52xxp1 cn56xxp1; 738 struct cvmx_pcsxx_tx_rx_polarity_reg_cn52xxp1 cn56xxp1;
739 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn61xx;
740 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn63xx;
741 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn63xxp1;
742 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn66xx;
743 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn68xx;
744 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn68xxp1;
284}; 745};
285 746
286union cvmx_pcsxx_tx_rx_states_reg { 747union cvmx_pcsxx_tx_rx_states_reg {
287 uint64_t u64; 748 uint64_t u64;
288 struct cvmx_pcsxx_tx_rx_states_reg_s { 749 struct cvmx_pcsxx_tx_rx_states_reg_s {
750#ifdef __BIG_ENDIAN_BITFIELD
289 uint64_t reserved_14_63:50; 751 uint64_t reserved_14_63:50;
290 uint64_t term_err:1; 752 uint64_t term_err:1;
291 uint64_t syn3bad:1; 753 uint64_t syn3bad:1;
@@ -296,9 +758,22 @@ union cvmx_pcsxx_tx_rx_states_reg {
296 uint64_t algn_st:3; 758 uint64_t algn_st:3;
297 uint64_t rx_st:2; 759 uint64_t rx_st:2;
298 uint64_t tx_st:3; 760 uint64_t tx_st:3;
761#else
762 uint64_t tx_st:3;
763 uint64_t rx_st:2;
764 uint64_t algn_st:3;
765 uint64_t rxbad:1;
766 uint64_t syn0bad:1;
767 uint64_t syn1bad:1;
768 uint64_t syn2bad:1;
769 uint64_t syn3bad:1;
770 uint64_t term_err:1;
771 uint64_t reserved_14_63:50;
772#endif
299 } s; 773 } s;
300 struct cvmx_pcsxx_tx_rx_states_reg_s cn52xx; 774 struct cvmx_pcsxx_tx_rx_states_reg_s cn52xx;
301 struct cvmx_pcsxx_tx_rx_states_reg_cn52xxp1 { 775 struct cvmx_pcsxx_tx_rx_states_reg_cn52xxp1 {
776#ifdef __BIG_ENDIAN_BITFIELD
302 uint64_t reserved_13_63:51; 777 uint64_t reserved_13_63:51;
303 uint64_t syn3bad:1; 778 uint64_t syn3bad:1;
304 uint64_t syn2bad:1; 779 uint64_t syn2bad:1;
@@ -308,9 +783,26 @@ union cvmx_pcsxx_tx_rx_states_reg {
308 uint64_t algn_st:3; 783 uint64_t algn_st:3;
309 uint64_t rx_st:2; 784 uint64_t rx_st:2;
310 uint64_t tx_st:3; 785 uint64_t tx_st:3;
786#else
787 uint64_t tx_st:3;
788 uint64_t rx_st:2;
789 uint64_t algn_st:3;
790 uint64_t rxbad:1;
791 uint64_t syn0bad:1;
792 uint64_t syn1bad:1;
793 uint64_t syn2bad:1;
794 uint64_t syn3bad:1;
795 uint64_t reserved_13_63:51;
796#endif
311 } cn52xxp1; 797 } cn52xxp1;
312 struct cvmx_pcsxx_tx_rx_states_reg_s cn56xx; 798 struct cvmx_pcsxx_tx_rx_states_reg_s cn56xx;
313 struct cvmx_pcsxx_tx_rx_states_reg_cn52xxp1 cn56xxp1; 799 struct cvmx_pcsxx_tx_rx_states_reg_cn52xxp1 cn56xxp1;
800 struct cvmx_pcsxx_tx_rx_states_reg_s cn61xx;
801 struct cvmx_pcsxx_tx_rx_states_reg_s cn63xx;
802 struct cvmx_pcsxx_tx_rx_states_reg_s cn63xxp1;
803 struct cvmx_pcsxx_tx_rx_states_reg_s cn66xx;
804 struct cvmx_pcsxx_tx_rx_states_reg_s cn68xx;
805 struct cvmx_pcsxx_tx_rx_states_reg_s cn68xxp1;
314}; 806};
315 807
316#endif 808#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pemx-defs.h b/arch/mips/include/asm/octeon/cvmx-pemx-defs.h
index be189a2585e0..50a916f892fa 100644
--- a/arch/mips/include/asm/octeon/cvmx-pemx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pemx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2011 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -54,11 +54,19 @@
54union cvmx_pemx_bar1_indexx { 54union cvmx_pemx_bar1_indexx {
55 uint64_t u64; 55 uint64_t u64;
56 struct cvmx_pemx_bar1_indexx_s { 56 struct cvmx_pemx_bar1_indexx_s {
57#ifdef __BIG_ENDIAN_BITFIELD
57 uint64_t reserved_20_63:44; 58 uint64_t reserved_20_63:44;
58 uint64_t addr_idx:16; 59 uint64_t addr_idx:16;
59 uint64_t ca:1; 60 uint64_t ca:1;
60 uint64_t end_swp:2; 61 uint64_t end_swp:2;
61 uint64_t addr_v:1; 62 uint64_t addr_v:1;
63#else
64 uint64_t addr_v:1;
65 uint64_t end_swp:2;
66 uint64_t ca:1;
67 uint64_t addr_idx:16;
68 uint64_t reserved_20_63:44;
69#endif
62 } s; 70 } s;
63 struct cvmx_pemx_bar1_indexx_s cn61xx; 71 struct cvmx_pemx_bar1_indexx_s cn61xx;
64 struct cvmx_pemx_bar1_indexx_s cn63xx; 72 struct cvmx_pemx_bar1_indexx_s cn63xx;
@@ -66,29 +74,45 @@ union cvmx_pemx_bar1_indexx {
66 struct cvmx_pemx_bar1_indexx_s cn66xx; 74 struct cvmx_pemx_bar1_indexx_s cn66xx;
67 struct cvmx_pemx_bar1_indexx_s cn68xx; 75 struct cvmx_pemx_bar1_indexx_s cn68xx;
68 struct cvmx_pemx_bar1_indexx_s cn68xxp1; 76 struct cvmx_pemx_bar1_indexx_s cn68xxp1;
77 struct cvmx_pemx_bar1_indexx_s cnf71xx;
69}; 78};
70 79
71union cvmx_pemx_bar2_mask { 80union cvmx_pemx_bar2_mask {
72 uint64_t u64; 81 uint64_t u64;
73 struct cvmx_pemx_bar2_mask_s { 82 struct cvmx_pemx_bar2_mask_s {
83#ifdef __BIG_ENDIAN_BITFIELD
74 uint64_t reserved_38_63:26; 84 uint64_t reserved_38_63:26;
75 uint64_t mask:35; 85 uint64_t mask:35;
76 uint64_t reserved_0_2:3; 86 uint64_t reserved_0_2:3;
87#else
88 uint64_t reserved_0_2:3;
89 uint64_t mask:35;
90 uint64_t reserved_38_63:26;
91#endif
77 } s; 92 } s;
78 struct cvmx_pemx_bar2_mask_s cn61xx; 93 struct cvmx_pemx_bar2_mask_s cn61xx;
79 struct cvmx_pemx_bar2_mask_s cn66xx; 94 struct cvmx_pemx_bar2_mask_s cn66xx;
80 struct cvmx_pemx_bar2_mask_s cn68xx; 95 struct cvmx_pemx_bar2_mask_s cn68xx;
81 struct cvmx_pemx_bar2_mask_s cn68xxp1; 96 struct cvmx_pemx_bar2_mask_s cn68xxp1;
97 struct cvmx_pemx_bar2_mask_s cnf71xx;
82}; 98};
83 99
84union cvmx_pemx_bar_ctl { 100union cvmx_pemx_bar_ctl {
85 uint64_t u64; 101 uint64_t u64;
86 struct cvmx_pemx_bar_ctl_s { 102 struct cvmx_pemx_bar_ctl_s {
103#ifdef __BIG_ENDIAN_BITFIELD
87 uint64_t reserved_7_63:57; 104 uint64_t reserved_7_63:57;
88 uint64_t bar1_siz:3; 105 uint64_t bar1_siz:3;
89 uint64_t bar2_enb:1; 106 uint64_t bar2_enb:1;
90 uint64_t bar2_esx:2; 107 uint64_t bar2_esx:2;
91 uint64_t bar2_cax:1; 108 uint64_t bar2_cax:1;
109#else
110 uint64_t bar2_cax:1;
111 uint64_t bar2_esx:2;
112 uint64_t bar2_enb:1;
113 uint64_t bar1_siz:3;
114 uint64_t reserved_7_63:57;
115#endif
92 } s; 116 } s;
93 struct cvmx_pemx_bar_ctl_s cn61xx; 117 struct cvmx_pemx_bar_ctl_s cn61xx;
94 struct cvmx_pemx_bar_ctl_s cn63xx; 118 struct cvmx_pemx_bar_ctl_s cn63xx;
@@ -96,11 +120,13 @@ union cvmx_pemx_bar_ctl {
96 struct cvmx_pemx_bar_ctl_s cn66xx; 120 struct cvmx_pemx_bar_ctl_s cn66xx;
97 struct cvmx_pemx_bar_ctl_s cn68xx; 121 struct cvmx_pemx_bar_ctl_s cn68xx;
98 struct cvmx_pemx_bar_ctl_s cn68xxp1; 122 struct cvmx_pemx_bar_ctl_s cn68xxp1;
123 struct cvmx_pemx_bar_ctl_s cnf71xx;
99}; 124};
100 125
101union cvmx_pemx_bist_status { 126union cvmx_pemx_bist_status {
102 uint64_t u64; 127 uint64_t u64;
103 struct cvmx_pemx_bist_status_s { 128 struct cvmx_pemx_bist_status_s {
129#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_8_63:56; 130 uint64_t reserved_8_63:56;
105 uint64_t retry:1; 131 uint64_t retry:1;
106 uint64_t rqdata0:1; 132 uint64_t rqdata0:1;
@@ -110,6 +136,17 @@ union cvmx_pemx_bist_status {
110 uint64_t rqhdr1:1; 136 uint64_t rqhdr1:1;
111 uint64_t rqhdr0:1; 137 uint64_t rqhdr0:1;
112 uint64_t sot:1; 138 uint64_t sot:1;
139#else
140 uint64_t sot:1;
141 uint64_t rqhdr0:1;
142 uint64_t rqhdr1:1;
143 uint64_t rqdata3:1;
144 uint64_t rqdata2:1;
145 uint64_t rqdata1:1;
146 uint64_t rqdata0:1;
147 uint64_t retry:1;
148 uint64_t reserved_8_63:56;
149#endif
113 } s; 150 } s;
114 struct cvmx_pemx_bist_status_s cn61xx; 151 struct cvmx_pemx_bist_status_s cn61xx;
115 struct cvmx_pemx_bist_status_s cn63xx; 152 struct cvmx_pemx_bist_status_s cn63xx;
@@ -117,11 +154,13 @@ union cvmx_pemx_bist_status {
117 struct cvmx_pemx_bist_status_s cn66xx; 154 struct cvmx_pemx_bist_status_s cn66xx;
118 struct cvmx_pemx_bist_status_s cn68xx; 155 struct cvmx_pemx_bist_status_s cn68xx;
119 struct cvmx_pemx_bist_status_s cn68xxp1; 156 struct cvmx_pemx_bist_status_s cn68xxp1;
157 struct cvmx_pemx_bist_status_s cnf71xx;
120}; 158};
121 159
122union cvmx_pemx_bist_status2 { 160union cvmx_pemx_bist_status2 {
123 uint64_t u64; 161 uint64_t u64;
124 struct cvmx_pemx_bist_status2_s { 162 struct cvmx_pemx_bist_status2_s {
163#ifdef __BIG_ENDIAN_BITFIELD
125 uint64_t reserved_10_63:54; 164 uint64_t reserved_10_63:54;
126 uint64_t e2p_cpl:1; 165 uint64_t e2p_cpl:1;
127 uint64_t e2p_n:1; 166 uint64_t e2p_n:1;
@@ -133,6 +172,19 @@ union cvmx_pemx_bist_status2 {
133 uint64_t pef_tcf1:1; 172 uint64_t pef_tcf1:1;
134 uint64_t pef_tc0:1; 173 uint64_t pef_tc0:1;
135 uint64_t ppf:1; 174 uint64_t ppf:1;
175#else
176 uint64_t ppf:1;
177 uint64_t pef_tc0:1;
178 uint64_t pef_tcf1:1;
179 uint64_t pef_tnf:1;
180 uint64_t pef_tpf0:1;
181 uint64_t pef_tpf1:1;
182 uint64_t peai_p2e:1;
183 uint64_t e2p_p:1;
184 uint64_t e2p_n:1;
185 uint64_t e2p_cpl:1;
186 uint64_t reserved_10_63:54;
187#endif
136 } s; 188 } s;
137 struct cvmx_pemx_bist_status2_s cn61xx; 189 struct cvmx_pemx_bist_status2_s cn61xx;
138 struct cvmx_pemx_bist_status2_s cn63xx; 190 struct cvmx_pemx_bist_status2_s cn63xx;
@@ -140,13 +192,19 @@ union cvmx_pemx_bist_status2 {
140 struct cvmx_pemx_bist_status2_s cn66xx; 192 struct cvmx_pemx_bist_status2_s cn66xx;
141 struct cvmx_pemx_bist_status2_s cn68xx; 193 struct cvmx_pemx_bist_status2_s cn68xx;
142 struct cvmx_pemx_bist_status2_s cn68xxp1; 194 struct cvmx_pemx_bist_status2_s cn68xxp1;
195 struct cvmx_pemx_bist_status2_s cnf71xx;
143}; 196};
144 197
145union cvmx_pemx_cfg_rd { 198union cvmx_pemx_cfg_rd {
146 uint64_t u64; 199 uint64_t u64;
147 struct cvmx_pemx_cfg_rd_s { 200 struct cvmx_pemx_cfg_rd_s {
201#ifdef __BIG_ENDIAN_BITFIELD
148 uint64_t data:32; 202 uint64_t data:32;
149 uint64_t addr:32; 203 uint64_t addr:32;
204#else
205 uint64_t addr:32;
206 uint64_t data:32;
207#endif
150 } s; 208 } s;
151 struct cvmx_pemx_cfg_rd_s cn61xx; 209 struct cvmx_pemx_cfg_rd_s cn61xx;
152 struct cvmx_pemx_cfg_rd_s cn63xx; 210 struct cvmx_pemx_cfg_rd_s cn63xx;
@@ -154,13 +212,19 @@ union cvmx_pemx_cfg_rd {
154 struct cvmx_pemx_cfg_rd_s cn66xx; 212 struct cvmx_pemx_cfg_rd_s cn66xx;
155 struct cvmx_pemx_cfg_rd_s cn68xx; 213 struct cvmx_pemx_cfg_rd_s cn68xx;
156 struct cvmx_pemx_cfg_rd_s cn68xxp1; 214 struct cvmx_pemx_cfg_rd_s cn68xxp1;
215 struct cvmx_pemx_cfg_rd_s cnf71xx;
157}; 216};
158 217
159union cvmx_pemx_cfg_wr { 218union cvmx_pemx_cfg_wr {
160 uint64_t u64; 219 uint64_t u64;
161 struct cvmx_pemx_cfg_wr_s { 220 struct cvmx_pemx_cfg_wr_s {
221#ifdef __BIG_ENDIAN_BITFIELD
162 uint64_t data:32; 222 uint64_t data:32;
163 uint64_t addr:32; 223 uint64_t addr:32;
224#else
225 uint64_t addr:32;
226 uint64_t data:32;
227#endif
164 } s; 228 } s;
165 struct cvmx_pemx_cfg_wr_s cn61xx; 229 struct cvmx_pemx_cfg_wr_s cn61xx;
166 struct cvmx_pemx_cfg_wr_s cn63xx; 230 struct cvmx_pemx_cfg_wr_s cn63xx;
@@ -168,13 +232,19 @@ union cvmx_pemx_cfg_wr {
168 struct cvmx_pemx_cfg_wr_s cn66xx; 232 struct cvmx_pemx_cfg_wr_s cn66xx;
169 struct cvmx_pemx_cfg_wr_s cn68xx; 233 struct cvmx_pemx_cfg_wr_s cn68xx;
170 struct cvmx_pemx_cfg_wr_s cn68xxp1; 234 struct cvmx_pemx_cfg_wr_s cn68xxp1;
235 struct cvmx_pemx_cfg_wr_s cnf71xx;
171}; 236};
172 237
173union cvmx_pemx_cpl_lut_valid { 238union cvmx_pemx_cpl_lut_valid {
174 uint64_t u64; 239 uint64_t u64;
175 struct cvmx_pemx_cpl_lut_valid_s { 240 struct cvmx_pemx_cpl_lut_valid_s {
241#ifdef __BIG_ENDIAN_BITFIELD
176 uint64_t reserved_32_63:32; 242 uint64_t reserved_32_63:32;
177 uint64_t tag:32; 243 uint64_t tag:32;
244#else
245 uint64_t tag:32;
246 uint64_t reserved_32_63:32;
247#endif
178 } s; 248 } s;
179 struct cvmx_pemx_cpl_lut_valid_s cn61xx; 249 struct cvmx_pemx_cpl_lut_valid_s cn61xx;
180 struct cvmx_pemx_cpl_lut_valid_s cn63xx; 250 struct cvmx_pemx_cpl_lut_valid_s cn63xx;
@@ -182,11 +252,13 @@ union cvmx_pemx_cpl_lut_valid {
182 struct cvmx_pemx_cpl_lut_valid_s cn66xx; 252 struct cvmx_pemx_cpl_lut_valid_s cn66xx;
183 struct cvmx_pemx_cpl_lut_valid_s cn68xx; 253 struct cvmx_pemx_cpl_lut_valid_s cn68xx;
184 struct cvmx_pemx_cpl_lut_valid_s cn68xxp1; 254 struct cvmx_pemx_cpl_lut_valid_s cn68xxp1;
255 struct cvmx_pemx_cpl_lut_valid_s cnf71xx;
185}; 256};
186 257
187union cvmx_pemx_ctl_status { 258union cvmx_pemx_ctl_status {
188 uint64_t u64; 259 uint64_t u64;
189 struct cvmx_pemx_ctl_status_s { 260 struct cvmx_pemx_ctl_status_s {
261#ifdef __BIG_ENDIAN_BITFIELD
190 uint64_t reserved_48_63:16; 262 uint64_t reserved_48_63:16;
191 uint64_t auto_sd:1; 263 uint64_t auto_sd:1;
192 uint64_t dnum:5; 264 uint64_t dnum:5;
@@ -205,6 +277,26 @@ union cvmx_pemx_ctl_status {
205 uint64_t fast_lm:1; 277 uint64_t fast_lm:1;
206 uint64_t inv_ecrc:1; 278 uint64_t inv_ecrc:1;
207 uint64_t inv_lcrc:1; 279 uint64_t inv_lcrc:1;
280#else
281 uint64_t inv_lcrc:1;
282 uint64_t inv_ecrc:1;
283 uint64_t fast_lm:1;
284 uint64_t ro_ctlp:1;
285 uint64_t lnk_enb:1;
286 uint64_t dly_one:1;
287 uint64_t nf_ecrc:1;
288 uint64_t reserved_7_8:2;
289 uint64_t ob_p_cmd:1;
290 uint64_t pm_xpme:1;
291 uint64_t pm_xtoff:1;
292 uint64_t reserved_12_15:4;
293 uint64_t cfg_rtry:16;
294 uint64_t reserved_32_33:2;
295 uint64_t pbus:8;
296 uint64_t dnum:5;
297 uint64_t auto_sd:1;
298 uint64_t reserved_48_63:16;
299#endif
208 } s; 300 } s;
209 struct cvmx_pemx_ctl_status_s cn61xx; 301 struct cvmx_pemx_ctl_status_s cn61xx;
210 struct cvmx_pemx_ctl_status_s cn63xx; 302 struct cvmx_pemx_ctl_status_s cn63xx;
@@ -212,11 +304,13 @@ union cvmx_pemx_ctl_status {
212 struct cvmx_pemx_ctl_status_s cn66xx; 304 struct cvmx_pemx_ctl_status_s cn66xx;
213 struct cvmx_pemx_ctl_status_s cn68xx; 305 struct cvmx_pemx_ctl_status_s cn68xx;
214 struct cvmx_pemx_ctl_status_s cn68xxp1; 306 struct cvmx_pemx_ctl_status_s cn68xxp1;
307 struct cvmx_pemx_ctl_status_s cnf71xx;
215}; 308};
216 309
217union cvmx_pemx_dbg_info { 310union cvmx_pemx_dbg_info {
218 uint64_t u64; 311 uint64_t u64;
219 struct cvmx_pemx_dbg_info_s { 312 struct cvmx_pemx_dbg_info_s {
313#ifdef __BIG_ENDIAN_BITFIELD
220 uint64_t reserved_31_63:33; 314 uint64_t reserved_31_63:33;
221 uint64_t ecrc_e:1; 315 uint64_t ecrc_e:1;
222 uint64_t rawwpp:1; 316 uint64_t rawwpp:1;
@@ -249,6 +343,40 @@ union cvmx_pemx_dbg_info {
249 uint64_t rtlplle:1; 343 uint64_t rtlplle:1;
250 uint64_t rtlpmal:1; 344 uint64_t rtlpmal:1;
251 uint64_t spoison:1; 345 uint64_t spoison:1;
346#else
347 uint64_t spoison:1;
348 uint64_t rtlpmal:1;
349 uint64_t rtlplle:1;
350 uint64_t recrce:1;
351 uint64_t rpoison:1;
352 uint64_t rcemrc:1;
353 uint64_t rnfemrc:1;
354 uint64_t rfemrc:1;
355 uint64_t rpmerc:1;
356 uint64_t rptamrc:1;
357 uint64_t rumep:1;
358 uint64_t rvdm:1;
359 uint64_t acto:1;
360 uint64_t rte:1;
361 uint64_t mre:1;
362 uint64_t rdwdle:1;
363 uint64_t rtwdle:1;
364 uint64_t dpeoosd:1;
365 uint64_t fcpvwt:1;
366 uint64_t rpe:1;
367 uint64_t fcuv:1;
368 uint64_t rqo:1;
369 uint64_t rauc:1;
370 uint64_t racur:1;
371 uint64_t racca:1;
372 uint64_t caar:1;
373 uint64_t rarwdns:1;
374 uint64_t ramtlp:1;
375 uint64_t racpp:1;
376 uint64_t rawwpp:1;
377 uint64_t ecrc_e:1;
378 uint64_t reserved_31_63:33;
379#endif
252 } s; 380 } s;
253 struct cvmx_pemx_dbg_info_s cn61xx; 381 struct cvmx_pemx_dbg_info_s cn61xx;
254 struct cvmx_pemx_dbg_info_s cn63xx; 382 struct cvmx_pemx_dbg_info_s cn63xx;
@@ -256,11 +384,13 @@ union cvmx_pemx_dbg_info {
256 struct cvmx_pemx_dbg_info_s cn66xx; 384 struct cvmx_pemx_dbg_info_s cn66xx;
257 struct cvmx_pemx_dbg_info_s cn68xx; 385 struct cvmx_pemx_dbg_info_s cn68xx;
258 struct cvmx_pemx_dbg_info_s cn68xxp1; 386 struct cvmx_pemx_dbg_info_s cn68xxp1;
387 struct cvmx_pemx_dbg_info_s cnf71xx;
259}; 388};
260 389
261union cvmx_pemx_dbg_info_en { 390union cvmx_pemx_dbg_info_en {
262 uint64_t u64; 391 uint64_t u64;
263 struct cvmx_pemx_dbg_info_en_s { 392 struct cvmx_pemx_dbg_info_en_s {
393#ifdef __BIG_ENDIAN_BITFIELD
264 uint64_t reserved_31_63:33; 394 uint64_t reserved_31_63:33;
265 uint64_t ecrc_e:1; 395 uint64_t ecrc_e:1;
266 uint64_t rawwpp:1; 396 uint64_t rawwpp:1;
@@ -293,6 +423,40 @@ union cvmx_pemx_dbg_info_en {
293 uint64_t rtlplle:1; 423 uint64_t rtlplle:1;
294 uint64_t rtlpmal:1; 424 uint64_t rtlpmal:1;
295 uint64_t spoison:1; 425 uint64_t spoison:1;
426#else
427 uint64_t spoison:1;
428 uint64_t rtlpmal:1;
429 uint64_t rtlplle:1;
430 uint64_t recrce:1;
431 uint64_t rpoison:1;
432 uint64_t rcemrc:1;
433 uint64_t rnfemrc:1;
434 uint64_t rfemrc:1;
435 uint64_t rpmerc:1;
436 uint64_t rptamrc:1;
437 uint64_t rumep:1;
438 uint64_t rvdm:1;
439 uint64_t acto:1;
440 uint64_t rte:1;
441 uint64_t mre:1;
442 uint64_t rdwdle:1;
443 uint64_t rtwdle:1;
444 uint64_t dpeoosd:1;
445 uint64_t fcpvwt:1;
446 uint64_t rpe:1;
447 uint64_t fcuv:1;
448 uint64_t rqo:1;
449 uint64_t rauc:1;
450 uint64_t racur:1;
451 uint64_t racca:1;
452 uint64_t caar:1;
453 uint64_t rarwdns:1;
454 uint64_t ramtlp:1;
455 uint64_t racpp:1;
456 uint64_t rawwpp:1;
457 uint64_t ecrc_e:1;
458 uint64_t reserved_31_63:33;
459#endif
296 } s; 460 } s;
297 struct cvmx_pemx_dbg_info_en_s cn61xx; 461 struct cvmx_pemx_dbg_info_en_s cn61xx;
298 struct cvmx_pemx_dbg_info_en_s cn63xx; 462 struct cvmx_pemx_dbg_info_en_s cn63xx;
@@ -300,16 +464,25 @@ union cvmx_pemx_dbg_info_en {
300 struct cvmx_pemx_dbg_info_en_s cn66xx; 464 struct cvmx_pemx_dbg_info_en_s cn66xx;
301 struct cvmx_pemx_dbg_info_en_s cn68xx; 465 struct cvmx_pemx_dbg_info_en_s cn68xx;
302 struct cvmx_pemx_dbg_info_en_s cn68xxp1; 466 struct cvmx_pemx_dbg_info_en_s cn68xxp1;
467 struct cvmx_pemx_dbg_info_en_s cnf71xx;
303}; 468};
304 469
305union cvmx_pemx_diag_status { 470union cvmx_pemx_diag_status {
306 uint64_t u64; 471 uint64_t u64;
307 struct cvmx_pemx_diag_status_s { 472 struct cvmx_pemx_diag_status_s {
473#ifdef __BIG_ENDIAN_BITFIELD
308 uint64_t reserved_4_63:60; 474 uint64_t reserved_4_63:60;
309 uint64_t pm_dst:1; 475 uint64_t pm_dst:1;
310 uint64_t pm_stat:1; 476 uint64_t pm_stat:1;
311 uint64_t pm_en:1; 477 uint64_t pm_en:1;
312 uint64_t aux_en:1; 478 uint64_t aux_en:1;
479#else
480 uint64_t aux_en:1;
481 uint64_t pm_en:1;
482 uint64_t pm_stat:1;
483 uint64_t pm_dst:1;
484 uint64_t reserved_4_63:60;
485#endif
313 } s; 486 } s;
314 struct cvmx_pemx_diag_status_s cn61xx; 487 struct cvmx_pemx_diag_status_s cn61xx;
315 struct cvmx_pemx_diag_status_s cn63xx; 488 struct cvmx_pemx_diag_status_s cn63xx;
@@ -317,22 +490,30 @@ union cvmx_pemx_diag_status {
317 struct cvmx_pemx_diag_status_s cn66xx; 490 struct cvmx_pemx_diag_status_s cn66xx;
318 struct cvmx_pemx_diag_status_s cn68xx; 491 struct cvmx_pemx_diag_status_s cn68xx;
319 struct cvmx_pemx_diag_status_s cn68xxp1; 492 struct cvmx_pemx_diag_status_s cn68xxp1;
493 struct cvmx_pemx_diag_status_s cnf71xx;
320}; 494};
321 495
322union cvmx_pemx_inb_read_credits { 496union cvmx_pemx_inb_read_credits {
323 uint64_t u64; 497 uint64_t u64;
324 struct cvmx_pemx_inb_read_credits_s { 498 struct cvmx_pemx_inb_read_credits_s {
499#ifdef __BIG_ENDIAN_BITFIELD
325 uint64_t reserved_6_63:58; 500 uint64_t reserved_6_63:58;
326 uint64_t num:6; 501 uint64_t num:6;
502#else
503 uint64_t num:6;
504 uint64_t reserved_6_63:58;
505#endif
327 } s; 506 } s;
328 struct cvmx_pemx_inb_read_credits_s cn61xx; 507 struct cvmx_pemx_inb_read_credits_s cn61xx;
329 struct cvmx_pemx_inb_read_credits_s cn66xx; 508 struct cvmx_pemx_inb_read_credits_s cn66xx;
330 struct cvmx_pemx_inb_read_credits_s cn68xx; 509 struct cvmx_pemx_inb_read_credits_s cn68xx;
510 struct cvmx_pemx_inb_read_credits_s cnf71xx;
331}; 511};
332 512
333union cvmx_pemx_int_enb { 513union cvmx_pemx_int_enb {
334 uint64_t u64; 514 uint64_t u64;
335 struct cvmx_pemx_int_enb_s { 515 struct cvmx_pemx_int_enb_s {
516#ifdef __BIG_ENDIAN_BITFIELD
336 uint64_t reserved_14_63:50; 517 uint64_t reserved_14_63:50;
337 uint64_t crs_dr:1; 518 uint64_t crs_dr:1;
338 uint64_t crs_er:1; 519 uint64_t crs_er:1;
@@ -348,6 +529,23 @@ union cvmx_pemx_int_enb {
348 uint64_t pmei:1; 529 uint64_t pmei:1;
349 uint64_t se:1; 530 uint64_t se:1;
350 uint64_t aeri:1; 531 uint64_t aeri:1;
532#else
533 uint64_t aeri:1;
534 uint64_t se:1;
535 uint64_t pmei:1;
536 uint64_t pmem:1;
537 uint64_t up_b1:1;
538 uint64_t up_b2:1;
539 uint64_t up_bx:1;
540 uint64_t un_b1:1;
541 uint64_t un_b2:1;
542 uint64_t un_bx:1;
543 uint64_t exc:1;
544 uint64_t rdlk:1;
545 uint64_t crs_er:1;
546 uint64_t crs_dr:1;
547 uint64_t reserved_14_63:50;
548#endif
351 } s; 549 } s;
352 struct cvmx_pemx_int_enb_s cn61xx; 550 struct cvmx_pemx_int_enb_s cn61xx;
353 struct cvmx_pemx_int_enb_s cn63xx; 551 struct cvmx_pemx_int_enb_s cn63xx;
@@ -355,11 +553,13 @@ union cvmx_pemx_int_enb {
355 struct cvmx_pemx_int_enb_s cn66xx; 553 struct cvmx_pemx_int_enb_s cn66xx;
356 struct cvmx_pemx_int_enb_s cn68xx; 554 struct cvmx_pemx_int_enb_s cn68xx;
357 struct cvmx_pemx_int_enb_s cn68xxp1; 555 struct cvmx_pemx_int_enb_s cn68xxp1;
556 struct cvmx_pemx_int_enb_s cnf71xx;
358}; 557};
359 558
360union cvmx_pemx_int_enb_int { 559union cvmx_pemx_int_enb_int {
361 uint64_t u64; 560 uint64_t u64;
362 struct cvmx_pemx_int_enb_int_s { 561 struct cvmx_pemx_int_enb_int_s {
562#ifdef __BIG_ENDIAN_BITFIELD
363 uint64_t reserved_14_63:50; 563 uint64_t reserved_14_63:50;
364 uint64_t crs_dr:1; 564 uint64_t crs_dr:1;
365 uint64_t crs_er:1; 565 uint64_t crs_er:1;
@@ -375,6 +575,23 @@ union cvmx_pemx_int_enb_int {
375 uint64_t pmei:1; 575 uint64_t pmei:1;
376 uint64_t se:1; 576 uint64_t se:1;
377 uint64_t aeri:1; 577 uint64_t aeri:1;
578#else
579 uint64_t aeri:1;
580 uint64_t se:1;
581 uint64_t pmei:1;
582 uint64_t pmem:1;
583 uint64_t up_b1:1;
584 uint64_t up_b2:1;
585 uint64_t up_bx:1;
586 uint64_t un_b1:1;
587 uint64_t un_b2:1;
588 uint64_t un_bx:1;
589 uint64_t exc:1;
590 uint64_t rdlk:1;
591 uint64_t crs_er:1;
592 uint64_t crs_dr:1;
593 uint64_t reserved_14_63:50;
594#endif
378 } s; 595 } s;
379 struct cvmx_pemx_int_enb_int_s cn61xx; 596 struct cvmx_pemx_int_enb_int_s cn61xx;
380 struct cvmx_pemx_int_enb_int_s cn63xx; 597 struct cvmx_pemx_int_enb_int_s cn63xx;
@@ -382,11 +599,13 @@ union cvmx_pemx_int_enb_int {
382 struct cvmx_pemx_int_enb_int_s cn66xx; 599 struct cvmx_pemx_int_enb_int_s cn66xx;
383 struct cvmx_pemx_int_enb_int_s cn68xx; 600 struct cvmx_pemx_int_enb_int_s cn68xx;
384 struct cvmx_pemx_int_enb_int_s cn68xxp1; 601 struct cvmx_pemx_int_enb_int_s cn68xxp1;
602 struct cvmx_pemx_int_enb_int_s cnf71xx;
385}; 603};
386 604
387union cvmx_pemx_int_sum { 605union cvmx_pemx_int_sum {
388 uint64_t u64; 606 uint64_t u64;
389 struct cvmx_pemx_int_sum_s { 607 struct cvmx_pemx_int_sum_s {
608#ifdef __BIG_ENDIAN_BITFIELD
390 uint64_t reserved_14_63:50; 609 uint64_t reserved_14_63:50;
391 uint64_t crs_dr:1; 610 uint64_t crs_dr:1;
392 uint64_t crs_er:1; 611 uint64_t crs_er:1;
@@ -402,6 +621,23 @@ union cvmx_pemx_int_sum {
402 uint64_t pmei:1; 621 uint64_t pmei:1;
403 uint64_t se:1; 622 uint64_t se:1;
404 uint64_t aeri:1; 623 uint64_t aeri:1;
624#else
625 uint64_t aeri:1;
626 uint64_t se:1;
627 uint64_t pmei:1;
628 uint64_t pmem:1;
629 uint64_t up_b1:1;
630 uint64_t up_b2:1;
631 uint64_t up_bx:1;
632 uint64_t un_b1:1;
633 uint64_t un_b2:1;
634 uint64_t un_bx:1;
635 uint64_t exc:1;
636 uint64_t rdlk:1;
637 uint64_t crs_er:1;
638 uint64_t crs_dr:1;
639 uint64_t reserved_14_63:50;
640#endif
405 } s; 641 } s;
406 struct cvmx_pemx_int_sum_s cn61xx; 642 struct cvmx_pemx_int_sum_s cn61xx;
407 struct cvmx_pemx_int_sum_s cn63xx; 643 struct cvmx_pemx_int_sum_s cn63xx;
@@ -409,13 +645,19 @@ union cvmx_pemx_int_sum {
409 struct cvmx_pemx_int_sum_s cn66xx; 645 struct cvmx_pemx_int_sum_s cn66xx;
410 struct cvmx_pemx_int_sum_s cn68xx; 646 struct cvmx_pemx_int_sum_s cn68xx;
411 struct cvmx_pemx_int_sum_s cn68xxp1; 647 struct cvmx_pemx_int_sum_s cn68xxp1;
648 struct cvmx_pemx_int_sum_s cnf71xx;
412}; 649};
413 650
414union cvmx_pemx_p2n_bar0_start { 651union cvmx_pemx_p2n_bar0_start {
415 uint64_t u64; 652 uint64_t u64;
416 struct cvmx_pemx_p2n_bar0_start_s { 653 struct cvmx_pemx_p2n_bar0_start_s {
654#ifdef __BIG_ENDIAN_BITFIELD
417 uint64_t addr:50; 655 uint64_t addr:50;
418 uint64_t reserved_0_13:14; 656 uint64_t reserved_0_13:14;
657#else
658 uint64_t reserved_0_13:14;
659 uint64_t addr:50;
660#endif
419 } s; 661 } s;
420 struct cvmx_pemx_p2n_bar0_start_s cn61xx; 662 struct cvmx_pemx_p2n_bar0_start_s cn61xx;
421 struct cvmx_pemx_p2n_bar0_start_s cn63xx; 663 struct cvmx_pemx_p2n_bar0_start_s cn63xx;
@@ -423,13 +665,19 @@ union cvmx_pemx_p2n_bar0_start {
423 struct cvmx_pemx_p2n_bar0_start_s cn66xx; 665 struct cvmx_pemx_p2n_bar0_start_s cn66xx;
424 struct cvmx_pemx_p2n_bar0_start_s cn68xx; 666 struct cvmx_pemx_p2n_bar0_start_s cn68xx;
425 struct cvmx_pemx_p2n_bar0_start_s cn68xxp1; 667 struct cvmx_pemx_p2n_bar0_start_s cn68xxp1;
668 struct cvmx_pemx_p2n_bar0_start_s cnf71xx;
426}; 669};
427 670
428union cvmx_pemx_p2n_bar1_start { 671union cvmx_pemx_p2n_bar1_start {
429 uint64_t u64; 672 uint64_t u64;
430 struct cvmx_pemx_p2n_bar1_start_s { 673 struct cvmx_pemx_p2n_bar1_start_s {
674#ifdef __BIG_ENDIAN_BITFIELD
431 uint64_t addr:38; 675 uint64_t addr:38;
432 uint64_t reserved_0_25:26; 676 uint64_t reserved_0_25:26;
677#else
678 uint64_t reserved_0_25:26;
679 uint64_t addr:38;
680#endif
433 } s; 681 } s;
434 struct cvmx_pemx_p2n_bar1_start_s cn61xx; 682 struct cvmx_pemx_p2n_bar1_start_s cn61xx;
435 struct cvmx_pemx_p2n_bar1_start_s cn63xx; 683 struct cvmx_pemx_p2n_bar1_start_s cn63xx;
@@ -437,13 +685,19 @@ union cvmx_pemx_p2n_bar1_start {
437 struct cvmx_pemx_p2n_bar1_start_s cn66xx; 685 struct cvmx_pemx_p2n_bar1_start_s cn66xx;
438 struct cvmx_pemx_p2n_bar1_start_s cn68xx; 686 struct cvmx_pemx_p2n_bar1_start_s cn68xx;
439 struct cvmx_pemx_p2n_bar1_start_s cn68xxp1; 687 struct cvmx_pemx_p2n_bar1_start_s cn68xxp1;
688 struct cvmx_pemx_p2n_bar1_start_s cnf71xx;
440}; 689};
441 690
442union cvmx_pemx_p2n_bar2_start { 691union cvmx_pemx_p2n_bar2_start {
443 uint64_t u64; 692 uint64_t u64;
444 struct cvmx_pemx_p2n_bar2_start_s { 693 struct cvmx_pemx_p2n_bar2_start_s {
694#ifdef __BIG_ENDIAN_BITFIELD
445 uint64_t addr:23; 695 uint64_t addr:23;
446 uint64_t reserved_0_40:41; 696 uint64_t reserved_0_40:41;
697#else
698 uint64_t reserved_0_40:41;
699 uint64_t addr:23;
700#endif
447 } s; 701 } s;
448 struct cvmx_pemx_p2n_bar2_start_s cn61xx; 702 struct cvmx_pemx_p2n_bar2_start_s cn61xx;
449 struct cvmx_pemx_p2n_bar2_start_s cn63xx; 703 struct cvmx_pemx_p2n_bar2_start_s cn63xx;
@@ -451,13 +705,19 @@ union cvmx_pemx_p2n_bar2_start {
451 struct cvmx_pemx_p2n_bar2_start_s cn66xx; 705 struct cvmx_pemx_p2n_bar2_start_s cn66xx;
452 struct cvmx_pemx_p2n_bar2_start_s cn68xx; 706 struct cvmx_pemx_p2n_bar2_start_s cn68xx;
453 struct cvmx_pemx_p2n_bar2_start_s cn68xxp1; 707 struct cvmx_pemx_p2n_bar2_start_s cn68xxp1;
708 struct cvmx_pemx_p2n_bar2_start_s cnf71xx;
454}; 709};
455 710
456union cvmx_pemx_p2p_barx_end { 711union cvmx_pemx_p2p_barx_end {
457 uint64_t u64; 712 uint64_t u64;
458 struct cvmx_pemx_p2p_barx_end_s { 713 struct cvmx_pemx_p2p_barx_end_s {
714#ifdef __BIG_ENDIAN_BITFIELD
459 uint64_t addr:52; 715 uint64_t addr:52;
460 uint64_t reserved_0_11:12; 716 uint64_t reserved_0_11:12;
717#else
718 uint64_t reserved_0_11:12;
719 uint64_t addr:52;
720#endif
461 } s; 721 } s;
462 struct cvmx_pemx_p2p_barx_end_s cn63xx; 722 struct cvmx_pemx_p2p_barx_end_s cn63xx;
463 struct cvmx_pemx_p2p_barx_end_s cn63xxp1; 723 struct cvmx_pemx_p2p_barx_end_s cn63xxp1;
@@ -469,8 +729,13 @@ union cvmx_pemx_p2p_barx_end {
469union cvmx_pemx_p2p_barx_start { 729union cvmx_pemx_p2p_barx_start {
470 uint64_t u64; 730 uint64_t u64;
471 struct cvmx_pemx_p2p_barx_start_s { 731 struct cvmx_pemx_p2p_barx_start_s {
732#ifdef __BIG_ENDIAN_BITFIELD
472 uint64_t addr:52; 733 uint64_t addr:52;
473 uint64_t reserved_0_11:12; 734 uint64_t reserved_0_11:12;
735#else
736 uint64_t reserved_0_11:12;
737 uint64_t addr:52;
738#endif
474 } s; 739 } s;
475 struct cvmx_pemx_p2p_barx_start_s cn63xx; 740 struct cvmx_pemx_p2p_barx_start_s cn63xx;
476 struct cvmx_pemx_p2p_barx_start_s cn63xxp1; 741 struct cvmx_pemx_p2p_barx_start_s cn63xxp1;
@@ -482,6 +747,7 @@ union cvmx_pemx_p2p_barx_start {
482union cvmx_pemx_tlp_credits { 747union cvmx_pemx_tlp_credits {
483 uint64_t u64; 748 uint64_t u64;
484 struct cvmx_pemx_tlp_credits_s { 749 struct cvmx_pemx_tlp_credits_s {
750#ifdef __BIG_ENDIAN_BITFIELD
485 uint64_t reserved_56_63:8; 751 uint64_t reserved_56_63:8;
486 uint64_t peai_ppf:8; 752 uint64_t peai_ppf:8;
487 uint64_t pem_cpl:8; 753 uint64_t pem_cpl:8;
@@ -490,20 +756,40 @@ union cvmx_pemx_tlp_credits {
490 uint64_t sli_cpl:8; 756 uint64_t sli_cpl:8;
491 uint64_t sli_np:8; 757 uint64_t sli_np:8;
492 uint64_t sli_p:8; 758 uint64_t sli_p:8;
759#else
760 uint64_t sli_p:8;
761 uint64_t sli_np:8;
762 uint64_t sli_cpl:8;
763 uint64_t pem_p:8;
764 uint64_t pem_np:8;
765 uint64_t pem_cpl:8;
766 uint64_t peai_ppf:8;
767 uint64_t reserved_56_63:8;
768#endif
493 } s; 769 } s;
494 struct cvmx_pemx_tlp_credits_cn61xx { 770 struct cvmx_pemx_tlp_credits_cn61xx {
771#ifdef __BIG_ENDIAN_BITFIELD
495 uint64_t reserved_56_63:8; 772 uint64_t reserved_56_63:8;
496 uint64_t peai_ppf:8; 773 uint64_t peai_ppf:8;
497 uint64_t reserved_24_47:24; 774 uint64_t reserved_24_47:24;
498 uint64_t sli_cpl:8; 775 uint64_t sli_cpl:8;
499 uint64_t sli_np:8; 776 uint64_t sli_np:8;
500 uint64_t sli_p:8; 777 uint64_t sli_p:8;
778#else
779 uint64_t sli_p:8;
780 uint64_t sli_np:8;
781 uint64_t sli_cpl:8;
782 uint64_t reserved_24_47:24;
783 uint64_t peai_ppf:8;
784 uint64_t reserved_56_63:8;
785#endif
501 } cn61xx; 786 } cn61xx;
502 struct cvmx_pemx_tlp_credits_s cn63xx; 787 struct cvmx_pemx_tlp_credits_s cn63xx;
503 struct cvmx_pemx_tlp_credits_s cn63xxp1; 788 struct cvmx_pemx_tlp_credits_s cn63xxp1;
504 struct cvmx_pemx_tlp_credits_s cn66xx; 789 struct cvmx_pemx_tlp_credits_s cn66xx;
505 struct cvmx_pemx_tlp_credits_s cn68xx; 790 struct cvmx_pemx_tlp_credits_s cn68xx;
506 struct cvmx_pemx_tlp_credits_s cn68xxp1; 791 struct cvmx_pemx_tlp_credits_s cn68xxp1;
792 struct cvmx_pemx_tlp_credits_cn61xx cnf71xx;
507}; 793};
508 794
509#endif 795#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pescx-defs.h b/arch/mips/include/asm/octeon/cvmx-pescx-defs.h
index aef84851a94c..59b3dc565442 100644
--- a/arch/mips/include/asm/octeon/cvmx-pescx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pescx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -48,6 +48,7 @@
48union cvmx_pescx_bist_status { 48union cvmx_pescx_bist_status {
49 uint64_t u64; 49 uint64_t u64;
50 struct cvmx_pescx_bist_status_s { 50 struct cvmx_pescx_bist_status_s {
51#ifdef __BIG_ENDIAN_BITFIELD
51 uint64_t reserved_13_63:51; 52 uint64_t reserved_13_63:51;
52 uint64_t rqdata5:1; 53 uint64_t rqdata5:1;
53 uint64_t ctlp_or:1; 54 uint64_t ctlp_or:1;
@@ -62,9 +63,26 @@ union cvmx_pescx_bist_status {
62 uint64_t rqhdr1:1; 63 uint64_t rqhdr1:1;
63 uint64_t rqhdr0:1; 64 uint64_t rqhdr0:1;
64 uint64_t sot:1; 65 uint64_t sot:1;
66#else
67 uint64_t sot:1;
68 uint64_t rqhdr0:1;
69 uint64_t rqhdr1:1;
70 uint64_t rqdata4:1;
71 uint64_t rqdata3:1;
72 uint64_t rqdata2:1;
73 uint64_t rqdata1:1;
74 uint64_t rqdata0:1;
75 uint64_t retry:1;
76 uint64_t ptlp_or:1;
77 uint64_t ntlp_or:1;
78 uint64_t ctlp_or:1;
79 uint64_t rqdata5:1;
80 uint64_t reserved_13_63:51;
81#endif
65 } s; 82 } s;
66 struct cvmx_pescx_bist_status_s cn52xx; 83 struct cvmx_pescx_bist_status_s cn52xx;
67 struct cvmx_pescx_bist_status_cn52xxp1 { 84 struct cvmx_pescx_bist_status_cn52xxp1 {
85#ifdef __BIG_ENDIAN_BITFIELD
68 uint64_t reserved_12_63:52; 86 uint64_t reserved_12_63:52;
69 uint64_t ctlp_or:1; 87 uint64_t ctlp_or:1;
70 uint64_t ntlp_or:1; 88 uint64_t ntlp_or:1;
@@ -78,6 +96,21 @@ union cvmx_pescx_bist_status {
78 uint64_t rqhdr1:1; 96 uint64_t rqhdr1:1;
79 uint64_t rqhdr0:1; 97 uint64_t rqhdr0:1;
80 uint64_t sot:1; 98 uint64_t sot:1;
99#else
100 uint64_t sot:1;
101 uint64_t rqhdr0:1;
102 uint64_t rqhdr1:1;
103 uint64_t rqdata4:1;
104 uint64_t rqdata3:1;
105 uint64_t rqdata2:1;
106 uint64_t rqdata1:1;
107 uint64_t rqdata0:1;
108 uint64_t retry:1;
109 uint64_t ptlp_or:1;
110 uint64_t ntlp_or:1;
111 uint64_t ctlp_or:1;
112 uint64_t reserved_12_63:52;
113#endif
81 } cn52xxp1; 114 } cn52xxp1;
82 struct cvmx_pescx_bist_status_s cn56xx; 115 struct cvmx_pescx_bist_status_s cn56xx;
83 struct cvmx_pescx_bist_status_cn52xxp1 cn56xxp1; 116 struct cvmx_pescx_bist_status_cn52xxp1 cn56xxp1;
@@ -86,6 +119,7 @@ union cvmx_pescx_bist_status {
86union cvmx_pescx_bist_status2 { 119union cvmx_pescx_bist_status2 {
87 uint64_t u64; 120 uint64_t u64;
88 struct cvmx_pescx_bist_status2_s { 121 struct cvmx_pescx_bist_status2_s {
122#ifdef __BIG_ENDIAN_BITFIELD
89 uint64_t reserved_14_63:50; 123 uint64_t reserved_14_63:50;
90 uint64_t cto_p2e:1; 124 uint64_t cto_p2e:1;
91 uint64_t e2p_cpl:1; 125 uint64_t e2p_cpl:1;
@@ -101,6 +135,23 @@ union cvmx_pescx_bist_status2 {
101 uint64_t pef_tcf1:1; 135 uint64_t pef_tcf1:1;
102 uint64_t pef_tc0:1; 136 uint64_t pef_tc0:1;
103 uint64_t ppf:1; 137 uint64_t ppf:1;
138#else
139 uint64_t ppf:1;
140 uint64_t pef_tc0:1;
141 uint64_t pef_tcf1:1;
142 uint64_t pef_tnf:1;
143 uint64_t pef_tpf0:1;
144 uint64_t pef_tpf1:1;
145 uint64_t rsl_p2e:1;
146 uint64_t peai_p2e:1;
147 uint64_t dbg_p2e:1;
148 uint64_t e2p_rsl:1;
149 uint64_t e2p_p:1;
150 uint64_t e2p_n:1;
151 uint64_t e2p_cpl:1;
152 uint64_t cto_p2e:1;
153 uint64_t reserved_14_63:50;
154#endif
104 } s; 155 } s;
105 struct cvmx_pescx_bist_status2_s cn52xx; 156 struct cvmx_pescx_bist_status2_s cn52xx;
106 struct cvmx_pescx_bist_status2_s cn52xxp1; 157 struct cvmx_pescx_bist_status2_s cn52xxp1;
@@ -111,8 +162,13 @@ union cvmx_pescx_bist_status2 {
111union cvmx_pescx_cfg_rd { 162union cvmx_pescx_cfg_rd {
112 uint64_t u64; 163 uint64_t u64;
113 struct cvmx_pescx_cfg_rd_s { 164 struct cvmx_pescx_cfg_rd_s {
165#ifdef __BIG_ENDIAN_BITFIELD
114 uint64_t data:32; 166 uint64_t data:32;
115 uint64_t addr:32; 167 uint64_t addr:32;
168#else
169 uint64_t addr:32;
170 uint64_t data:32;
171#endif
116 } s; 172 } s;
117 struct cvmx_pescx_cfg_rd_s cn52xx; 173 struct cvmx_pescx_cfg_rd_s cn52xx;
118 struct cvmx_pescx_cfg_rd_s cn52xxp1; 174 struct cvmx_pescx_cfg_rd_s cn52xxp1;
@@ -123,8 +179,13 @@ union cvmx_pescx_cfg_rd {
123union cvmx_pescx_cfg_wr { 179union cvmx_pescx_cfg_wr {
124 uint64_t u64; 180 uint64_t u64;
125 struct cvmx_pescx_cfg_wr_s { 181 struct cvmx_pescx_cfg_wr_s {
182#ifdef __BIG_ENDIAN_BITFIELD
126 uint64_t data:32; 183 uint64_t data:32;
127 uint64_t addr:32; 184 uint64_t addr:32;
185#else
186 uint64_t addr:32;
187 uint64_t data:32;
188#endif
128 } s; 189 } s;
129 struct cvmx_pescx_cfg_wr_s cn52xx; 190 struct cvmx_pescx_cfg_wr_s cn52xx;
130 struct cvmx_pescx_cfg_wr_s cn52xxp1; 191 struct cvmx_pescx_cfg_wr_s cn52xxp1;
@@ -135,8 +196,13 @@ union cvmx_pescx_cfg_wr {
135union cvmx_pescx_cpl_lut_valid { 196union cvmx_pescx_cpl_lut_valid {
136 uint64_t u64; 197 uint64_t u64;
137 struct cvmx_pescx_cpl_lut_valid_s { 198 struct cvmx_pescx_cpl_lut_valid_s {
199#ifdef __BIG_ENDIAN_BITFIELD
138 uint64_t reserved_32_63:32; 200 uint64_t reserved_32_63:32;
139 uint64_t tag:32; 201 uint64_t tag:32;
202#else
203 uint64_t tag:32;
204 uint64_t reserved_32_63:32;
205#endif
140 } s; 206 } s;
141 struct cvmx_pescx_cpl_lut_valid_s cn52xx; 207 struct cvmx_pescx_cpl_lut_valid_s cn52xx;
142 struct cvmx_pescx_cpl_lut_valid_s cn52xxp1; 208 struct cvmx_pescx_cpl_lut_valid_s cn52xxp1;
@@ -147,6 +213,7 @@ union cvmx_pescx_cpl_lut_valid {
147union cvmx_pescx_ctl_status { 213union cvmx_pescx_ctl_status {
148 uint64_t u64; 214 uint64_t u64;
149 struct cvmx_pescx_ctl_status_s { 215 struct cvmx_pescx_ctl_status_s {
216#ifdef __BIG_ENDIAN_BITFIELD
150 uint64_t reserved_28_63:36; 217 uint64_t reserved_28_63:36;
151 uint64_t dnum:5; 218 uint64_t dnum:5;
152 uint64_t pbus:8; 219 uint64_t pbus:8;
@@ -163,10 +230,29 @@ union cvmx_pescx_ctl_status {
163 uint64_t reserved_2_2:1; 230 uint64_t reserved_2_2:1;
164 uint64_t inv_ecrc:1; 231 uint64_t inv_ecrc:1;
165 uint64_t inv_lcrc:1; 232 uint64_t inv_lcrc:1;
233#else
234 uint64_t inv_lcrc:1;
235 uint64_t inv_ecrc:1;
236 uint64_t reserved_2_2:1;
237 uint64_t ro_ctlp:1;
238 uint64_t lnk_enb:1;
239 uint64_t dly_one:1;
240 uint64_t nf_ecrc:1;
241 uint64_t reserved_7_8:2;
242 uint64_t ob_p_cmd:1;
243 uint64_t pm_xpme:1;
244 uint64_t pm_xtoff:1;
245 uint64_t lane_swp:1;
246 uint64_t qlm_cfg:2;
247 uint64_t pbus:8;
248 uint64_t dnum:5;
249 uint64_t reserved_28_63:36;
250#endif
166 } s; 251 } s;
167 struct cvmx_pescx_ctl_status_s cn52xx; 252 struct cvmx_pescx_ctl_status_s cn52xx;
168 struct cvmx_pescx_ctl_status_s cn52xxp1; 253 struct cvmx_pescx_ctl_status_s cn52xxp1;
169 struct cvmx_pescx_ctl_status_cn56xx { 254 struct cvmx_pescx_ctl_status_cn56xx {
255#ifdef __BIG_ENDIAN_BITFIELD
170 uint64_t reserved_28_63:36; 256 uint64_t reserved_28_63:36;
171 uint64_t dnum:5; 257 uint64_t dnum:5;
172 uint64_t pbus:8; 258 uint64_t pbus:8;
@@ -183,6 +269,24 @@ union cvmx_pescx_ctl_status {
183 uint64_t reserved_2_2:1; 269 uint64_t reserved_2_2:1;
184 uint64_t inv_ecrc:1; 270 uint64_t inv_ecrc:1;
185 uint64_t inv_lcrc:1; 271 uint64_t inv_lcrc:1;
272#else
273 uint64_t inv_lcrc:1;
274 uint64_t inv_ecrc:1;
275 uint64_t reserved_2_2:1;
276 uint64_t ro_ctlp:1;
277 uint64_t lnk_enb:1;
278 uint64_t dly_one:1;
279 uint64_t nf_ecrc:1;
280 uint64_t reserved_7_8:2;
281 uint64_t ob_p_cmd:1;
282 uint64_t pm_xpme:1;
283 uint64_t pm_xtoff:1;
284 uint64_t reserved_12_12:1;
285 uint64_t qlm_cfg:2;
286 uint64_t pbus:8;
287 uint64_t dnum:5;
288 uint64_t reserved_28_63:36;
289#endif
186 } cn56xx; 290 } cn56xx;
187 struct cvmx_pescx_ctl_status_cn56xx cn56xxp1; 291 struct cvmx_pescx_ctl_status_cn56xx cn56xxp1;
188}; 292};
@@ -190,14 +294,25 @@ union cvmx_pescx_ctl_status {
190union cvmx_pescx_ctl_status2 { 294union cvmx_pescx_ctl_status2 {
191 uint64_t u64; 295 uint64_t u64;
192 struct cvmx_pescx_ctl_status2_s { 296 struct cvmx_pescx_ctl_status2_s {
297#ifdef __BIG_ENDIAN_BITFIELD
193 uint64_t reserved_2_63:62; 298 uint64_t reserved_2_63:62;
194 uint64_t pclk_run:1; 299 uint64_t pclk_run:1;
195 uint64_t pcierst:1; 300 uint64_t pcierst:1;
301#else
302 uint64_t pcierst:1;
303 uint64_t pclk_run:1;
304 uint64_t reserved_2_63:62;
305#endif
196 } s; 306 } s;
197 struct cvmx_pescx_ctl_status2_s cn52xx; 307 struct cvmx_pescx_ctl_status2_s cn52xx;
198 struct cvmx_pescx_ctl_status2_cn52xxp1 { 308 struct cvmx_pescx_ctl_status2_cn52xxp1 {
309#ifdef __BIG_ENDIAN_BITFIELD
199 uint64_t reserved_1_63:63; 310 uint64_t reserved_1_63:63;
200 uint64_t pcierst:1; 311 uint64_t pcierst:1;
312#else
313 uint64_t pcierst:1;
314 uint64_t reserved_1_63:63;
315#endif
201 } cn52xxp1; 316 } cn52xxp1;
202 struct cvmx_pescx_ctl_status2_s cn56xx; 317 struct cvmx_pescx_ctl_status2_s cn56xx;
203 struct cvmx_pescx_ctl_status2_cn52xxp1 cn56xxp1; 318 struct cvmx_pescx_ctl_status2_cn52xxp1 cn56xxp1;
@@ -206,6 +321,7 @@ union cvmx_pescx_ctl_status2 {
206union cvmx_pescx_dbg_info { 321union cvmx_pescx_dbg_info {
207 uint64_t u64; 322 uint64_t u64;
208 struct cvmx_pescx_dbg_info_s { 323 struct cvmx_pescx_dbg_info_s {
324#ifdef __BIG_ENDIAN_BITFIELD
209 uint64_t reserved_31_63:33; 325 uint64_t reserved_31_63:33;
210 uint64_t ecrc_e:1; 326 uint64_t ecrc_e:1;
211 uint64_t rawwpp:1; 327 uint64_t rawwpp:1;
@@ -238,6 +354,40 @@ union cvmx_pescx_dbg_info {
238 uint64_t rtlplle:1; 354 uint64_t rtlplle:1;
239 uint64_t rtlpmal:1; 355 uint64_t rtlpmal:1;
240 uint64_t spoison:1; 356 uint64_t spoison:1;
357#else
358 uint64_t spoison:1;
359 uint64_t rtlpmal:1;
360 uint64_t rtlplle:1;
361 uint64_t recrce:1;
362 uint64_t rpoison:1;
363 uint64_t rcemrc:1;
364 uint64_t rnfemrc:1;
365 uint64_t rfemrc:1;
366 uint64_t rpmerc:1;
367 uint64_t rptamrc:1;
368 uint64_t rumep:1;
369 uint64_t rvdm:1;
370 uint64_t acto:1;
371 uint64_t rte:1;
372 uint64_t mre:1;
373 uint64_t rdwdle:1;
374 uint64_t rtwdle:1;
375 uint64_t dpeoosd:1;
376 uint64_t fcpvwt:1;
377 uint64_t rpe:1;
378 uint64_t fcuv:1;
379 uint64_t rqo:1;
380 uint64_t rauc:1;
381 uint64_t racur:1;
382 uint64_t racca:1;
383 uint64_t caar:1;
384 uint64_t rarwdns:1;
385 uint64_t ramtlp:1;
386 uint64_t racpp:1;
387 uint64_t rawwpp:1;
388 uint64_t ecrc_e:1;
389 uint64_t reserved_31_63:33;
390#endif
241 } s; 391 } s;
242 struct cvmx_pescx_dbg_info_s cn52xx; 392 struct cvmx_pescx_dbg_info_s cn52xx;
243 struct cvmx_pescx_dbg_info_s cn52xxp1; 393 struct cvmx_pescx_dbg_info_s cn52xxp1;
@@ -248,6 +398,7 @@ union cvmx_pescx_dbg_info {
248union cvmx_pescx_dbg_info_en { 398union cvmx_pescx_dbg_info_en {
249 uint64_t u64; 399 uint64_t u64;
250 struct cvmx_pescx_dbg_info_en_s { 400 struct cvmx_pescx_dbg_info_en_s {
401#ifdef __BIG_ENDIAN_BITFIELD
251 uint64_t reserved_31_63:33; 402 uint64_t reserved_31_63:33;
252 uint64_t ecrc_e:1; 403 uint64_t ecrc_e:1;
253 uint64_t rawwpp:1; 404 uint64_t rawwpp:1;
@@ -280,6 +431,40 @@ union cvmx_pescx_dbg_info_en {
280 uint64_t rtlplle:1; 431 uint64_t rtlplle:1;
281 uint64_t rtlpmal:1; 432 uint64_t rtlpmal:1;
282 uint64_t spoison:1; 433 uint64_t spoison:1;
434#else
435 uint64_t spoison:1;
436 uint64_t rtlpmal:1;
437 uint64_t rtlplle:1;
438 uint64_t recrce:1;
439 uint64_t rpoison:1;
440 uint64_t rcemrc:1;
441 uint64_t rnfemrc:1;
442 uint64_t rfemrc:1;
443 uint64_t rpmerc:1;
444 uint64_t rptamrc:1;
445 uint64_t rumep:1;
446 uint64_t rvdm:1;
447 uint64_t acto:1;
448 uint64_t rte:1;
449 uint64_t mre:1;
450 uint64_t rdwdle:1;
451 uint64_t rtwdle:1;
452 uint64_t dpeoosd:1;
453 uint64_t fcpvwt:1;
454 uint64_t rpe:1;
455 uint64_t fcuv:1;
456 uint64_t rqo:1;
457 uint64_t rauc:1;
458 uint64_t racur:1;
459 uint64_t racca:1;
460 uint64_t caar:1;
461 uint64_t rarwdns:1;
462 uint64_t ramtlp:1;
463 uint64_t racpp:1;
464 uint64_t rawwpp:1;
465 uint64_t ecrc_e:1;
466 uint64_t reserved_31_63:33;
467#endif
283 } s; 468 } s;
284 struct cvmx_pescx_dbg_info_en_s cn52xx; 469 struct cvmx_pescx_dbg_info_en_s cn52xx;
285 struct cvmx_pescx_dbg_info_en_s cn52xxp1; 470 struct cvmx_pescx_dbg_info_en_s cn52xxp1;
@@ -290,11 +475,19 @@ union cvmx_pescx_dbg_info_en {
290union cvmx_pescx_diag_status { 475union cvmx_pescx_diag_status {
291 uint64_t u64; 476 uint64_t u64;
292 struct cvmx_pescx_diag_status_s { 477 struct cvmx_pescx_diag_status_s {
478#ifdef __BIG_ENDIAN_BITFIELD
293 uint64_t reserved_4_63:60; 479 uint64_t reserved_4_63:60;
294 uint64_t pm_dst:1; 480 uint64_t pm_dst:1;
295 uint64_t pm_stat:1; 481 uint64_t pm_stat:1;
296 uint64_t pm_en:1; 482 uint64_t pm_en:1;
297 uint64_t aux_en:1; 483 uint64_t aux_en:1;
484#else
485 uint64_t aux_en:1;
486 uint64_t pm_en:1;
487 uint64_t pm_stat:1;
488 uint64_t pm_dst:1;
489 uint64_t reserved_4_63:60;
490#endif
298 } s; 491 } s;
299 struct cvmx_pescx_diag_status_s cn52xx; 492 struct cvmx_pescx_diag_status_s cn52xx;
300 struct cvmx_pescx_diag_status_s cn52xxp1; 493 struct cvmx_pescx_diag_status_s cn52xxp1;
@@ -305,8 +498,13 @@ union cvmx_pescx_diag_status {
305union cvmx_pescx_p2n_bar0_start { 498union cvmx_pescx_p2n_bar0_start {
306 uint64_t u64; 499 uint64_t u64;
307 struct cvmx_pescx_p2n_bar0_start_s { 500 struct cvmx_pescx_p2n_bar0_start_s {
501#ifdef __BIG_ENDIAN_BITFIELD
308 uint64_t addr:50; 502 uint64_t addr:50;
309 uint64_t reserved_0_13:14; 503 uint64_t reserved_0_13:14;
504#else
505 uint64_t reserved_0_13:14;
506 uint64_t addr:50;
507#endif
310 } s; 508 } s;
311 struct cvmx_pescx_p2n_bar0_start_s cn52xx; 509 struct cvmx_pescx_p2n_bar0_start_s cn52xx;
312 struct cvmx_pescx_p2n_bar0_start_s cn52xxp1; 510 struct cvmx_pescx_p2n_bar0_start_s cn52xxp1;
@@ -317,8 +515,13 @@ union cvmx_pescx_p2n_bar0_start {
317union cvmx_pescx_p2n_bar1_start { 515union cvmx_pescx_p2n_bar1_start {
318 uint64_t u64; 516 uint64_t u64;
319 struct cvmx_pescx_p2n_bar1_start_s { 517 struct cvmx_pescx_p2n_bar1_start_s {
518#ifdef __BIG_ENDIAN_BITFIELD
320 uint64_t addr:38; 519 uint64_t addr:38;
321 uint64_t reserved_0_25:26; 520 uint64_t reserved_0_25:26;
521#else
522 uint64_t reserved_0_25:26;
523 uint64_t addr:38;
524#endif
322 } s; 525 } s;
323 struct cvmx_pescx_p2n_bar1_start_s cn52xx; 526 struct cvmx_pescx_p2n_bar1_start_s cn52xx;
324 struct cvmx_pescx_p2n_bar1_start_s cn52xxp1; 527 struct cvmx_pescx_p2n_bar1_start_s cn52xxp1;
@@ -329,8 +532,13 @@ union cvmx_pescx_p2n_bar1_start {
329union cvmx_pescx_p2n_bar2_start { 532union cvmx_pescx_p2n_bar2_start {
330 uint64_t u64; 533 uint64_t u64;
331 struct cvmx_pescx_p2n_bar2_start_s { 534 struct cvmx_pescx_p2n_bar2_start_s {
535#ifdef __BIG_ENDIAN_BITFIELD
332 uint64_t addr:25; 536 uint64_t addr:25;
333 uint64_t reserved_0_38:39; 537 uint64_t reserved_0_38:39;
538#else
539 uint64_t reserved_0_38:39;
540 uint64_t addr:25;
541#endif
334 } s; 542 } s;
335 struct cvmx_pescx_p2n_bar2_start_s cn52xx; 543 struct cvmx_pescx_p2n_bar2_start_s cn52xx;
336 struct cvmx_pescx_p2n_bar2_start_s cn52xxp1; 544 struct cvmx_pescx_p2n_bar2_start_s cn52xxp1;
@@ -341,8 +549,13 @@ union cvmx_pescx_p2n_bar2_start {
341union cvmx_pescx_p2p_barx_end { 549union cvmx_pescx_p2p_barx_end {
342 uint64_t u64; 550 uint64_t u64;
343 struct cvmx_pescx_p2p_barx_end_s { 551 struct cvmx_pescx_p2p_barx_end_s {
552#ifdef __BIG_ENDIAN_BITFIELD
344 uint64_t addr:52; 553 uint64_t addr:52;
345 uint64_t reserved_0_11:12; 554 uint64_t reserved_0_11:12;
555#else
556 uint64_t reserved_0_11:12;
557 uint64_t addr:52;
558#endif
346 } s; 559 } s;
347 struct cvmx_pescx_p2p_barx_end_s cn52xx; 560 struct cvmx_pescx_p2p_barx_end_s cn52xx;
348 struct cvmx_pescx_p2p_barx_end_s cn52xxp1; 561 struct cvmx_pescx_p2p_barx_end_s cn52xxp1;
@@ -353,8 +566,13 @@ union cvmx_pescx_p2p_barx_end {
353union cvmx_pescx_p2p_barx_start { 566union cvmx_pescx_p2p_barx_start {
354 uint64_t u64; 567 uint64_t u64;
355 struct cvmx_pescx_p2p_barx_start_s { 568 struct cvmx_pescx_p2p_barx_start_s {
569#ifdef __BIG_ENDIAN_BITFIELD
356 uint64_t addr:52; 570 uint64_t addr:52;
357 uint64_t reserved_0_11:12; 571 uint64_t reserved_0_11:12;
572#else
573 uint64_t reserved_0_11:12;
574 uint64_t addr:52;
575#endif
358 } s; 576 } s;
359 struct cvmx_pescx_p2p_barx_start_s cn52xx; 577 struct cvmx_pescx_p2p_barx_start_s cn52xx;
360 struct cvmx_pescx_p2p_barx_start_s cn52xxp1; 578 struct cvmx_pescx_p2p_barx_start_s cn52xxp1;
@@ -365,9 +583,14 @@ union cvmx_pescx_p2p_barx_start {
365union cvmx_pescx_tlp_credits { 583union cvmx_pescx_tlp_credits {
366 uint64_t u64; 584 uint64_t u64;
367 struct cvmx_pescx_tlp_credits_s { 585 struct cvmx_pescx_tlp_credits_s {
586#ifdef __BIG_ENDIAN_BITFIELD
587 uint64_t reserved_0_63:64;
588#else
368 uint64_t reserved_0_63:64; 589 uint64_t reserved_0_63:64;
590#endif
369 } s; 591 } s;
370 struct cvmx_pescx_tlp_credits_cn52xx { 592 struct cvmx_pescx_tlp_credits_cn52xx {
593#ifdef __BIG_ENDIAN_BITFIELD
371 uint64_t reserved_56_63:8; 594 uint64_t reserved_56_63:8;
372 uint64_t peai_ppf:8; 595 uint64_t peai_ppf:8;
373 uint64_t pesc_cpl:8; 596 uint64_t pesc_cpl:8;
@@ -376,8 +599,19 @@ union cvmx_pescx_tlp_credits {
376 uint64_t npei_cpl:8; 599 uint64_t npei_cpl:8;
377 uint64_t npei_np:8; 600 uint64_t npei_np:8;
378 uint64_t npei_p:8; 601 uint64_t npei_p:8;
602#else
603 uint64_t npei_p:8;
604 uint64_t npei_np:8;
605 uint64_t npei_cpl:8;
606 uint64_t pesc_p:8;
607 uint64_t pesc_np:8;
608 uint64_t pesc_cpl:8;
609 uint64_t peai_ppf:8;
610 uint64_t reserved_56_63:8;
611#endif
379 } cn52xx; 612 } cn52xx;
380 struct cvmx_pescx_tlp_credits_cn52xxp1 { 613 struct cvmx_pescx_tlp_credits_cn52xxp1 {
614#ifdef __BIG_ENDIAN_BITFIELD
381 uint64_t reserved_38_63:26; 615 uint64_t reserved_38_63:26;
382 uint64_t peai_ppf:8; 616 uint64_t peai_ppf:8;
383 uint64_t pesc_cpl:5; 617 uint64_t pesc_cpl:5;
@@ -386,6 +620,16 @@ union cvmx_pescx_tlp_credits {
386 uint64_t npei_cpl:5; 620 uint64_t npei_cpl:5;
387 uint64_t npei_np:5; 621 uint64_t npei_np:5;
388 uint64_t npei_p:5; 622 uint64_t npei_p:5;
623#else
624 uint64_t npei_p:5;
625 uint64_t npei_np:5;
626 uint64_t npei_cpl:5;
627 uint64_t pesc_p:5;
628 uint64_t pesc_np:5;
629 uint64_t pesc_cpl:5;
630 uint64_t peai_ppf:8;
631 uint64_t reserved_38_63:26;
632#endif
389 } cn52xxp1; 633 } cn52xxp1;
390 struct cvmx_pescx_tlp_credits_cn52xx cn56xx; 634 struct cvmx_pescx_tlp_credits_cn52xx cn56xx;
391 struct cvmx_pescx_tlp_credits_cn52xxp1 cn56xxp1; 635 struct cvmx_pescx_tlp_credits_cn52xxp1 cn56xxp1;
diff --git a/arch/mips/include/asm/octeon/cvmx-pexp-defs.h b/arch/mips/include/asm/octeon/cvmx-pexp-defs.h
index 4438d211988b..eb673f3514de 100644
--- a/arch/mips/include/asm/octeon/cvmx-pexp-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pexp-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2011 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
diff --git a/arch/mips/include/asm/octeon/cvmx-pip-defs.h b/arch/mips/include/asm/octeon/cvmx-pip-defs.h
index 5a369100ca68..05a917d6ebe5 100644
--- a/arch/mips/include/asm/octeon/cvmx-pip-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pip-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -51,93 +51,137 @@ enum cvmx_pip_port_parse_mode {
51 CVMX_PIP_PORT_CFG_MODE_SKIPIP = 2ull 51 CVMX_PIP_PORT_CFG_MODE_SKIPIP = 2ull
52}; 52};
53 53
54#define CVMX_PIP_BCK_PRS \ 54#define CVMX_PIP_ALT_SKIP_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002A00ull) + ((offset) & 3) * 8)
55 CVMX_ADD_IO_SEG(0x00011800A0000038ull) 55#define CVMX_PIP_BCK_PRS (CVMX_ADD_IO_SEG(0x00011800A0000038ull))
56#define CVMX_PIP_BIST_STATUS \ 56#define CVMX_PIP_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800A0000000ull))
57 CVMX_ADD_IO_SEG(0x00011800A0000000ull) 57#define CVMX_PIP_BSEL_EXT_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002800ull) + ((offset) & 3) * 16)
58#define CVMX_PIP_CRC_CTLX(offset) \ 58#define CVMX_PIP_BSEL_EXT_POSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002808ull) + ((offset) & 3) * 16)
59 CVMX_ADD_IO_SEG(0x00011800A0000040ull + (((offset) & 1) * 8)) 59#define CVMX_PIP_BSEL_TBL_ENTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0003000ull) + ((offset) & 511) * 8)
60#define CVMX_PIP_CRC_IVX(offset) \ 60#define CVMX_PIP_CLKEN (CVMX_ADD_IO_SEG(0x00011800A0000040ull))
61 CVMX_ADD_IO_SEG(0x00011800A0000050ull + (((offset) & 1) * 8)) 61#define CVMX_PIP_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000040ull) + ((offset) & 1) * 8)
62#define CVMX_PIP_DEC_IPSECX(offset) \ 62#define CVMX_PIP_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000050ull) + ((offset) & 1) * 8)
63 CVMX_ADD_IO_SEG(0x00011800A0000080ull + (((offset) & 3) * 8)) 63#define CVMX_PIP_DEC_IPSECX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000080ull) + ((offset) & 3) * 8)
64#define CVMX_PIP_DSA_SRC_GRP \ 64#define CVMX_PIP_DSA_SRC_GRP (CVMX_ADD_IO_SEG(0x00011800A0000190ull))
65 CVMX_ADD_IO_SEG(0x00011800A0000190ull) 65#define CVMX_PIP_DSA_VID_GRP (CVMX_ADD_IO_SEG(0x00011800A0000198ull))
66#define CVMX_PIP_DSA_VID_GRP \ 66#define CVMX_PIP_FRM_LEN_CHKX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000180ull) + ((offset) & 1) * 8)
67 CVMX_ADD_IO_SEG(0x00011800A0000198ull) 67#define CVMX_PIP_GBL_CFG (CVMX_ADD_IO_SEG(0x00011800A0000028ull))
68#define CVMX_PIP_FRM_LEN_CHKX(offset) \ 68#define CVMX_PIP_GBL_CTL (CVMX_ADD_IO_SEG(0x00011800A0000020ull))
69 CVMX_ADD_IO_SEG(0x00011800A0000180ull + (((offset) & 1) * 8)) 69#define CVMX_PIP_HG_PRI_QOS (CVMX_ADD_IO_SEG(0x00011800A00001A0ull))
70#define CVMX_PIP_GBL_CFG \ 70#define CVMX_PIP_INT_EN (CVMX_ADD_IO_SEG(0x00011800A0000010ull))
71 CVMX_ADD_IO_SEG(0x00011800A0000028ull) 71#define CVMX_PIP_INT_REG (CVMX_ADD_IO_SEG(0x00011800A0000008ull))
72#define CVMX_PIP_GBL_CTL \ 72#define CVMX_PIP_IP_OFFSET (CVMX_ADD_IO_SEG(0x00011800A0000060ull))
73 CVMX_ADD_IO_SEG(0x00011800A0000020ull) 73#define CVMX_PIP_PRI_TBLX(offset) (CVMX_ADD_IO_SEG(0x00011800A0004000ull) + ((offset) & 255) * 8)
74#define CVMX_PIP_HG_PRI_QOS \ 74#define CVMX_PIP_PRT_CFGBX(offset) (CVMX_ADD_IO_SEG(0x00011800A0008000ull) + ((offset) & 63) * 8)
75 CVMX_ADD_IO_SEG(0x00011800A00001A0ull) 75#define CVMX_PIP_PRT_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000200ull) + ((offset) & 63) * 8)
76#define CVMX_PIP_INT_EN \ 76#define CVMX_PIP_PRT_TAGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000400ull) + ((offset) & 63) * 8)
77 CVMX_ADD_IO_SEG(0x00011800A0000010ull) 77#define CVMX_PIP_QOS_DIFFX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000600ull) + ((offset) & 63) * 8)
78#define CVMX_PIP_INT_REG \ 78#define CVMX_PIP_QOS_VLANX(offset) (CVMX_ADD_IO_SEG(0x00011800A00000C0ull) + ((offset) & 7) * 8)
79 CVMX_ADD_IO_SEG(0x00011800A0000008ull) 79#define CVMX_PIP_QOS_WATCHX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000100ull) + ((offset) & 7) * 8)
80#define CVMX_PIP_IP_OFFSET \ 80#define CVMX_PIP_RAW_WORD (CVMX_ADD_IO_SEG(0x00011800A00000B0ull))
81 CVMX_ADD_IO_SEG(0x00011800A0000060ull) 81#define CVMX_PIP_SFT_RST (CVMX_ADD_IO_SEG(0x00011800A0000030ull))
82#define CVMX_PIP_PRT_CFGX(offset) \ 82#define CVMX_PIP_STAT0_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000800ull) + ((offset) & 63) * 80)
83 CVMX_ADD_IO_SEG(0x00011800A0000200ull + (((offset) & 63) * 8)) 83#define CVMX_PIP_STAT0_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040000ull) + ((offset) & 63) * 128)
84#define CVMX_PIP_PRT_TAGX(offset) \ 84#define CVMX_PIP_STAT10_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001480ull) + ((offset) & 63) * 16)
85 CVMX_ADD_IO_SEG(0x00011800A0000400ull + (((offset) & 63) * 8)) 85#define CVMX_PIP_STAT10_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040050ull) + ((offset) & 63) * 128)
86#define CVMX_PIP_QOS_DIFFX(offset) \ 86#define CVMX_PIP_STAT11_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001488ull) + ((offset) & 63) * 16)
87 CVMX_ADD_IO_SEG(0x00011800A0000600ull + (((offset) & 63) * 8)) 87#define CVMX_PIP_STAT11_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040058ull) + ((offset) & 63) * 128)
88#define CVMX_PIP_QOS_VLANX(offset) \ 88#define CVMX_PIP_STAT1_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000808ull) + ((offset) & 63) * 80)
89 CVMX_ADD_IO_SEG(0x00011800A00000C0ull + (((offset) & 7) * 8)) 89#define CVMX_PIP_STAT1_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040008ull) + ((offset) & 63) * 128)
90#define CVMX_PIP_QOS_WATCHX(offset) \ 90#define CVMX_PIP_STAT2_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000810ull) + ((offset) & 63) * 80)
91 CVMX_ADD_IO_SEG(0x00011800A0000100ull + (((offset) & 7) * 8)) 91#define CVMX_PIP_STAT2_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040010ull) + ((offset) & 63) * 128)
92#define CVMX_PIP_RAW_WORD \ 92#define CVMX_PIP_STAT3_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000818ull) + ((offset) & 63) * 80)
93 CVMX_ADD_IO_SEG(0x00011800A00000B0ull) 93#define CVMX_PIP_STAT3_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040018ull) + ((offset) & 63) * 128)
94#define CVMX_PIP_SFT_RST \ 94#define CVMX_PIP_STAT4_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000820ull) + ((offset) & 63) * 80)
95 CVMX_ADD_IO_SEG(0x00011800A0000030ull) 95#define CVMX_PIP_STAT4_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040020ull) + ((offset) & 63) * 128)
96#define CVMX_PIP_STAT0_PRTX(offset) \ 96#define CVMX_PIP_STAT5_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000828ull) + ((offset) & 63) * 80)
97 CVMX_ADD_IO_SEG(0x00011800A0000800ull + (((offset) & 63) * 80)) 97#define CVMX_PIP_STAT5_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040028ull) + ((offset) & 63) * 128)
98#define CVMX_PIP_STAT1_PRTX(offset) \ 98#define CVMX_PIP_STAT6_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000830ull) + ((offset) & 63) * 80)
99 CVMX_ADD_IO_SEG(0x00011800A0000808ull + (((offset) & 63) * 80)) 99#define CVMX_PIP_STAT6_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040030ull) + ((offset) & 63) * 128)
100#define CVMX_PIP_STAT2_PRTX(offset) \ 100#define CVMX_PIP_STAT7_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000838ull) + ((offset) & 63) * 80)
101 CVMX_ADD_IO_SEG(0x00011800A0000810ull + (((offset) & 63) * 80)) 101#define CVMX_PIP_STAT7_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040038ull) + ((offset) & 63) * 128)
102#define CVMX_PIP_STAT3_PRTX(offset) \ 102#define CVMX_PIP_STAT8_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000840ull) + ((offset) & 63) * 80)
103 CVMX_ADD_IO_SEG(0x00011800A0000818ull + (((offset) & 63) * 80)) 103#define CVMX_PIP_STAT8_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040040ull) + ((offset) & 63) * 128)
104#define CVMX_PIP_STAT4_PRTX(offset) \ 104#define CVMX_PIP_STAT9_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000848ull) + ((offset) & 63) * 80)
105 CVMX_ADD_IO_SEG(0x00011800A0000820ull + (((offset) & 63) * 80)) 105#define CVMX_PIP_STAT9_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040048ull) + ((offset) & 63) * 128)
106#define CVMX_PIP_STAT5_PRTX(offset) \ 106#define CVMX_PIP_STAT_CTL (CVMX_ADD_IO_SEG(0x00011800A0000018ull))
107 CVMX_ADD_IO_SEG(0x00011800A0000828ull + (((offset) & 63) * 80)) 107#define CVMX_PIP_STAT_INB_ERRSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A10ull) + ((offset) & 63) * 32)
108#define CVMX_PIP_STAT6_PRTX(offset) \ 108#define CVMX_PIP_STAT_INB_ERRS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020010ull) + ((offset) & 63) * 32)
109 CVMX_ADD_IO_SEG(0x00011800A0000830ull + (((offset) & 63) * 80)) 109#define CVMX_PIP_STAT_INB_OCTSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A08ull) + ((offset) & 63) * 32)
110#define CVMX_PIP_STAT7_PRTX(offset) \ 110#define CVMX_PIP_STAT_INB_OCTS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020008ull) + ((offset) & 63) * 32)
111 CVMX_ADD_IO_SEG(0x00011800A0000838ull + (((offset) & 63) * 80)) 111#define CVMX_PIP_STAT_INB_PKTSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A00ull) + ((offset) & 63) * 32)
112#define CVMX_PIP_STAT8_PRTX(offset) \ 112#define CVMX_PIP_STAT_INB_PKTS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020000ull) + ((offset) & 63) * 32)
113 CVMX_ADD_IO_SEG(0x00011800A0000840ull + (((offset) & 63) * 80)) 113#define CVMX_PIP_SUB_PKIND_FCSX(block_id) (CVMX_ADD_IO_SEG(0x00011800A0080000ull))
114#define CVMX_PIP_STAT9_PRTX(offset) \ 114#define CVMX_PIP_TAG_INCX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001800ull) + ((offset) & 63) * 8)
115 CVMX_ADD_IO_SEG(0x00011800A0000848ull + (((offset) & 63) * 80)) 115#define CVMX_PIP_TAG_MASK (CVMX_ADD_IO_SEG(0x00011800A0000070ull))
116#define CVMX_PIP_STAT_CTL \ 116#define CVMX_PIP_TAG_SECRET (CVMX_ADD_IO_SEG(0x00011800A0000068ull))
117 CVMX_ADD_IO_SEG(0x00011800A0000018ull) 117#define CVMX_PIP_TODO_ENTRY (CVMX_ADD_IO_SEG(0x00011800A0000078ull))
118#define CVMX_PIP_STAT_INB_ERRSX(offset) \ 118#define CVMX_PIP_VLAN_ETYPESX(offset) (CVMX_ADD_IO_SEG(0x00011800A00001C0ull) + ((offset) & 1) * 8)
119 CVMX_ADD_IO_SEG(0x00011800A0001A10ull + (((offset) & 63) * 32)) 119#define CVMX_PIP_XSTAT0_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002000ull) + ((offset) & 63) * 80 - 80*40)
120#define CVMX_PIP_STAT_INB_OCTSX(offset) \ 120#define CVMX_PIP_XSTAT10_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001700ull) + ((offset) & 63) * 16 - 16*40)
121 CVMX_ADD_IO_SEG(0x00011800A0001A08ull + (((offset) & 63) * 32)) 121#define CVMX_PIP_XSTAT11_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001708ull) + ((offset) & 63) * 16 - 16*40)
122#define CVMX_PIP_STAT_INB_PKTSX(offset) \ 122#define CVMX_PIP_XSTAT1_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002008ull) + ((offset) & 63) * 80 - 80*40)
123 CVMX_ADD_IO_SEG(0x00011800A0001A00ull + (((offset) & 63) * 32)) 123#define CVMX_PIP_XSTAT2_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002010ull) + ((offset) & 63) * 80 - 80*40)
124#define CVMX_PIP_TAG_INCX(offset) \ 124#define CVMX_PIP_XSTAT3_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002018ull) + ((offset) & 63) * 80 - 80*40)
125 CVMX_ADD_IO_SEG(0x00011800A0001800ull + (((offset) & 63) * 8)) 125#define CVMX_PIP_XSTAT4_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002020ull) + ((offset) & 63) * 80 - 80*40)
126#define CVMX_PIP_TAG_MASK \ 126#define CVMX_PIP_XSTAT5_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002028ull) + ((offset) & 63) * 80 - 80*40)
127 CVMX_ADD_IO_SEG(0x00011800A0000070ull) 127#define CVMX_PIP_XSTAT6_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002030ull) + ((offset) & 63) * 80 - 80*40)
128#define CVMX_PIP_TAG_SECRET \ 128#define CVMX_PIP_XSTAT7_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002038ull) + ((offset) & 63) * 80 - 80*40)
129 CVMX_ADD_IO_SEG(0x00011800A0000068ull) 129#define CVMX_PIP_XSTAT8_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002040ull) + ((offset) & 63) * 80 - 80*40)
130#define CVMX_PIP_TODO_ENTRY \ 130#define CVMX_PIP_XSTAT9_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002048ull) + ((offset) & 63) * 80 - 80*40)
131 CVMX_ADD_IO_SEG(0x00011800A0000078ull) 131
132union cvmx_pip_alt_skip_cfgx {
133 uint64_t u64;
134 struct cvmx_pip_alt_skip_cfgx_s {
135#ifdef __BIG_ENDIAN_BITFIELD
136 uint64_t reserved_57_63:7;
137 uint64_t len:1;
138 uint64_t reserved_46_55:10;
139 uint64_t bit1:6;
140 uint64_t reserved_38_39:2;
141 uint64_t bit0:6;
142 uint64_t reserved_23_31:9;
143 uint64_t skip3:7;
144 uint64_t reserved_15_15:1;
145 uint64_t skip2:7;
146 uint64_t reserved_7_7:1;
147 uint64_t skip1:7;
148#else
149 uint64_t skip1:7;
150 uint64_t reserved_7_7:1;
151 uint64_t skip2:7;
152 uint64_t reserved_15_15:1;
153 uint64_t skip3:7;
154 uint64_t reserved_23_31:9;
155 uint64_t bit0:6;
156 uint64_t reserved_38_39:2;
157 uint64_t bit1:6;
158 uint64_t reserved_46_55:10;
159 uint64_t len:1;
160 uint64_t reserved_57_63:7;
161#endif
162 } s;
163 struct cvmx_pip_alt_skip_cfgx_s cn61xx;
164 struct cvmx_pip_alt_skip_cfgx_s cn66xx;
165 struct cvmx_pip_alt_skip_cfgx_s cn68xx;
166 struct cvmx_pip_alt_skip_cfgx_s cnf71xx;
167};
132 168
133union cvmx_pip_bck_prs { 169union cvmx_pip_bck_prs {
134 uint64_t u64; 170 uint64_t u64;
135 struct cvmx_pip_bck_prs_s { 171 struct cvmx_pip_bck_prs_s {
172#ifdef __BIG_ENDIAN_BITFIELD
136 uint64_t bckprs:1; 173 uint64_t bckprs:1;
137 uint64_t reserved_13_62:50; 174 uint64_t reserved_13_62:50;
138 uint64_t hiwater:5; 175 uint64_t hiwater:5;
139 uint64_t reserved_5_7:3; 176 uint64_t reserved_5_7:3;
140 uint64_t lowater:5; 177 uint64_t lowater:5;
178#else
179 uint64_t lowater:5;
180 uint64_t reserved_5_7:3;
181 uint64_t hiwater:5;
182 uint64_t reserved_13_62:50;
183 uint64_t bckprs:1;
184#endif
141 } s; 185 } s;
142 struct cvmx_pip_bck_prs_s cn38xx; 186 struct cvmx_pip_bck_prs_s cn38xx;
143 struct cvmx_pip_bck_prs_s cn38xxp2; 187 struct cvmx_pip_bck_prs_s cn38xxp2;
@@ -145,36 +189,236 @@ union cvmx_pip_bck_prs {
145 struct cvmx_pip_bck_prs_s cn56xxp1; 189 struct cvmx_pip_bck_prs_s cn56xxp1;
146 struct cvmx_pip_bck_prs_s cn58xx; 190 struct cvmx_pip_bck_prs_s cn58xx;
147 struct cvmx_pip_bck_prs_s cn58xxp1; 191 struct cvmx_pip_bck_prs_s cn58xxp1;
192 struct cvmx_pip_bck_prs_s cn61xx;
193 struct cvmx_pip_bck_prs_s cn63xx;
194 struct cvmx_pip_bck_prs_s cn63xxp1;
195 struct cvmx_pip_bck_prs_s cn66xx;
196 struct cvmx_pip_bck_prs_s cn68xx;
197 struct cvmx_pip_bck_prs_s cn68xxp1;
198 struct cvmx_pip_bck_prs_s cnf71xx;
148}; 199};
149 200
150union cvmx_pip_bist_status { 201union cvmx_pip_bist_status {
151 uint64_t u64; 202 uint64_t u64;
152 struct cvmx_pip_bist_status_s { 203 struct cvmx_pip_bist_status_s {
204#ifdef __BIG_ENDIAN_BITFIELD
205 uint64_t reserved_22_63:42;
206 uint64_t bist:22;
207#else
208 uint64_t bist:22;
209 uint64_t reserved_22_63:42;
210#endif
211 } s;
212 struct cvmx_pip_bist_status_cn30xx {
213#ifdef __BIG_ENDIAN_BITFIELD
153 uint64_t reserved_18_63:46; 214 uint64_t reserved_18_63:46;
154 uint64_t bist:18; 215 uint64_t bist:18;
155 } s; 216#else
156 struct cvmx_pip_bist_status_s cn30xx; 217 uint64_t bist:18;
157 struct cvmx_pip_bist_status_s cn31xx; 218 uint64_t reserved_18_63:46;
158 struct cvmx_pip_bist_status_s cn38xx; 219#endif
159 struct cvmx_pip_bist_status_s cn38xxp2; 220 } cn30xx;
221 struct cvmx_pip_bist_status_cn30xx cn31xx;
222 struct cvmx_pip_bist_status_cn30xx cn38xx;
223 struct cvmx_pip_bist_status_cn30xx cn38xxp2;
160 struct cvmx_pip_bist_status_cn50xx { 224 struct cvmx_pip_bist_status_cn50xx {
225#ifdef __BIG_ENDIAN_BITFIELD
161 uint64_t reserved_17_63:47; 226 uint64_t reserved_17_63:47;
162 uint64_t bist:17; 227 uint64_t bist:17;
228#else
229 uint64_t bist:17;
230 uint64_t reserved_17_63:47;
231#endif
163 } cn50xx; 232 } cn50xx;
164 struct cvmx_pip_bist_status_s cn52xx; 233 struct cvmx_pip_bist_status_cn30xx cn52xx;
165 struct cvmx_pip_bist_status_s cn52xxp1; 234 struct cvmx_pip_bist_status_cn30xx cn52xxp1;
166 struct cvmx_pip_bist_status_s cn56xx; 235 struct cvmx_pip_bist_status_cn30xx cn56xx;
167 struct cvmx_pip_bist_status_s cn56xxp1; 236 struct cvmx_pip_bist_status_cn30xx cn56xxp1;
168 struct cvmx_pip_bist_status_s cn58xx; 237 struct cvmx_pip_bist_status_cn30xx cn58xx;
169 struct cvmx_pip_bist_status_s cn58xxp1; 238 struct cvmx_pip_bist_status_cn30xx cn58xxp1;
239 struct cvmx_pip_bist_status_cn61xx {
240#ifdef __BIG_ENDIAN_BITFIELD
241 uint64_t reserved_20_63:44;
242 uint64_t bist:20;
243#else
244 uint64_t bist:20;
245 uint64_t reserved_20_63:44;
246#endif
247 } cn61xx;
248 struct cvmx_pip_bist_status_cn30xx cn63xx;
249 struct cvmx_pip_bist_status_cn30xx cn63xxp1;
250 struct cvmx_pip_bist_status_cn61xx cn66xx;
251 struct cvmx_pip_bist_status_s cn68xx;
252 struct cvmx_pip_bist_status_cn61xx cn68xxp1;
253 struct cvmx_pip_bist_status_cn61xx cnf71xx;
254};
255
256union cvmx_pip_bsel_ext_cfgx {
257 uint64_t u64;
258 struct cvmx_pip_bsel_ext_cfgx_s {
259#ifdef __BIG_ENDIAN_BITFIELD
260 uint64_t reserved_56_63:8;
261 uint64_t upper_tag:16;
262 uint64_t tag:8;
263 uint64_t reserved_25_31:7;
264 uint64_t offset:9;
265 uint64_t reserved_7_15:9;
266 uint64_t skip:7;
267#else
268 uint64_t skip:7;
269 uint64_t reserved_7_15:9;
270 uint64_t offset:9;
271 uint64_t reserved_25_31:7;
272 uint64_t tag:8;
273 uint64_t upper_tag:16;
274 uint64_t reserved_56_63:8;
275#endif
276 } s;
277 struct cvmx_pip_bsel_ext_cfgx_s cn61xx;
278 struct cvmx_pip_bsel_ext_cfgx_s cn68xx;
279 struct cvmx_pip_bsel_ext_cfgx_s cnf71xx;
280};
281
282union cvmx_pip_bsel_ext_posx {
283 uint64_t u64;
284 struct cvmx_pip_bsel_ext_posx_s {
285#ifdef __BIG_ENDIAN_BITFIELD
286 uint64_t pos7_val:1;
287 uint64_t pos7:7;
288 uint64_t pos6_val:1;
289 uint64_t pos6:7;
290 uint64_t pos5_val:1;
291 uint64_t pos5:7;
292 uint64_t pos4_val:1;
293 uint64_t pos4:7;
294 uint64_t pos3_val:1;
295 uint64_t pos3:7;
296 uint64_t pos2_val:1;
297 uint64_t pos2:7;
298 uint64_t pos1_val:1;
299 uint64_t pos1:7;
300 uint64_t pos0_val:1;
301 uint64_t pos0:7;
302#else
303 uint64_t pos0:7;
304 uint64_t pos0_val:1;
305 uint64_t pos1:7;
306 uint64_t pos1_val:1;
307 uint64_t pos2:7;
308 uint64_t pos2_val:1;
309 uint64_t pos3:7;
310 uint64_t pos3_val:1;
311 uint64_t pos4:7;
312 uint64_t pos4_val:1;
313 uint64_t pos5:7;
314 uint64_t pos5_val:1;
315 uint64_t pos6:7;
316 uint64_t pos6_val:1;
317 uint64_t pos7:7;
318 uint64_t pos7_val:1;
319#endif
320 } s;
321 struct cvmx_pip_bsel_ext_posx_s cn61xx;
322 struct cvmx_pip_bsel_ext_posx_s cn68xx;
323 struct cvmx_pip_bsel_ext_posx_s cnf71xx;
324};
325
326union cvmx_pip_bsel_tbl_entx {
327 uint64_t u64;
328 struct cvmx_pip_bsel_tbl_entx_s {
329#ifdef __BIG_ENDIAN_BITFIELD
330 uint64_t tag_en:1;
331 uint64_t grp_en:1;
332 uint64_t tt_en:1;
333 uint64_t qos_en:1;
334 uint64_t reserved_40_59:20;
335 uint64_t tag:8;
336 uint64_t reserved_22_31:10;
337 uint64_t grp:6;
338 uint64_t reserved_10_15:6;
339 uint64_t tt:2;
340 uint64_t reserved_3_7:5;
341 uint64_t qos:3;
342#else
343 uint64_t qos:3;
344 uint64_t reserved_3_7:5;
345 uint64_t tt:2;
346 uint64_t reserved_10_15:6;
347 uint64_t grp:6;
348 uint64_t reserved_22_31:10;
349 uint64_t tag:8;
350 uint64_t reserved_40_59:20;
351 uint64_t qos_en:1;
352 uint64_t tt_en:1;
353 uint64_t grp_en:1;
354 uint64_t tag_en:1;
355#endif
356 } s;
357 struct cvmx_pip_bsel_tbl_entx_cn61xx {
358#ifdef __BIG_ENDIAN_BITFIELD
359 uint64_t tag_en:1;
360 uint64_t grp_en:1;
361 uint64_t tt_en:1;
362 uint64_t qos_en:1;
363 uint64_t reserved_40_59:20;
364 uint64_t tag:8;
365 uint64_t reserved_20_31:12;
366 uint64_t grp:4;
367 uint64_t reserved_10_15:6;
368 uint64_t tt:2;
369 uint64_t reserved_3_7:5;
370 uint64_t qos:3;
371#else
372 uint64_t qos:3;
373 uint64_t reserved_3_7:5;
374 uint64_t tt:2;
375 uint64_t reserved_10_15:6;
376 uint64_t grp:4;
377 uint64_t reserved_20_31:12;
378 uint64_t tag:8;
379 uint64_t reserved_40_59:20;
380 uint64_t qos_en:1;
381 uint64_t tt_en:1;
382 uint64_t grp_en:1;
383 uint64_t tag_en:1;
384#endif
385 } cn61xx;
386 struct cvmx_pip_bsel_tbl_entx_s cn68xx;
387 struct cvmx_pip_bsel_tbl_entx_cn61xx cnf71xx;
388};
389
390union cvmx_pip_clken {
391 uint64_t u64;
392 struct cvmx_pip_clken_s {
393#ifdef __BIG_ENDIAN_BITFIELD
394 uint64_t reserved_1_63:63;
395 uint64_t clken:1;
396#else
397 uint64_t clken:1;
398 uint64_t reserved_1_63:63;
399#endif
400 } s;
401 struct cvmx_pip_clken_s cn61xx;
402 struct cvmx_pip_clken_s cn63xx;
403 struct cvmx_pip_clken_s cn63xxp1;
404 struct cvmx_pip_clken_s cn66xx;
405 struct cvmx_pip_clken_s cn68xx;
406 struct cvmx_pip_clken_s cn68xxp1;
407 struct cvmx_pip_clken_s cnf71xx;
170}; 408};
171 409
172union cvmx_pip_crc_ctlx { 410union cvmx_pip_crc_ctlx {
173 uint64_t u64; 411 uint64_t u64;
174 struct cvmx_pip_crc_ctlx_s { 412 struct cvmx_pip_crc_ctlx_s {
413#ifdef __BIG_ENDIAN_BITFIELD
175 uint64_t reserved_2_63:62; 414 uint64_t reserved_2_63:62;
176 uint64_t invres:1; 415 uint64_t invres:1;
177 uint64_t reflect:1; 416 uint64_t reflect:1;
417#else
418 uint64_t reflect:1;
419 uint64_t invres:1;
420 uint64_t reserved_2_63:62;
421#endif
178 } s; 422 } s;
179 struct cvmx_pip_crc_ctlx_s cn38xx; 423 struct cvmx_pip_crc_ctlx_s cn38xx;
180 struct cvmx_pip_crc_ctlx_s cn38xxp2; 424 struct cvmx_pip_crc_ctlx_s cn38xxp2;
@@ -185,8 +429,13 @@ union cvmx_pip_crc_ctlx {
185union cvmx_pip_crc_ivx { 429union cvmx_pip_crc_ivx {
186 uint64_t u64; 430 uint64_t u64;
187 struct cvmx_pip_crc_ivx_s { 431 struct cvmx_pip_crc_ivx_s {
432#ifdef __BIG_ENDIAN_BITFIELD
188 uint64_t reserved_32_63:32; 433 uint64_t reserved_32_63:32;
189 uint64_t iv:32; 434 uint64_t iv:32;
435#else
436 uint64_t iv:32;
437 uint64_t reserved_32_63:32;
438#endif
190 } s; 439 } s;
191 struct cvmx_pip_crc_ivx_s cn38xx; 440 struct cvmx_pip_crc_ivx_s cn38xx;
192 struct cvmx_pip_crc_ivx_s cn38xxp2; 441 struct cvmx_pip_crc_ivx_s cn38xxp2;
@@ -197,10 +446,17 @@ union cvmx_pip_crc_ivx {
197union cvmx_pip_dec_ipsecx { 446union cvmx_pip_dec_ipsecx {
198 uint64_t u64; 447 uint64_t u64;
199 struct cvmx_pip_dec_ipsecx_s { 448 struct cvmx_pip_dec_ipsecx_s {
449#ifdef __BIG_ENDIAN_BITFIELD
200 uint64_t reserved_18_63:46; 450 uint64_t reserved_18_63:46;
201 uint64_t tcp:1; 451 uint64_t tcp:1;
202 uint64_t udp:1; 452 uint64_t udp:1;
203 uint64_t dprt:16; 453 uint64_t dprt:16;
454#else
455 uint64_t dprt:16;
456 uint64_t udp:1;
457 uint64_t tcp:1;
458 uint64_t reserved_18_63:46;
459#endif
204 } s; 460 } s;
205 struct cvmx_pip_dec_ipsecx_s cn30xx; 461 struct cvmx_pip_dec_ipsecx_s cn30xx;
206 struct cvmx_pip_dec_ipsecx_s cn31xx; 462 struct cvmx_pip_dec_ipsecx_s cn31xx;
@@ -213,11 +469,19 @@ union cvmx_pip_dec_ipsecx {
213 struct cvmx_pip_dec_ipsecx_s cn56xxp1; 469 struct cvmx_pip_dec_ipsecx_s cn56xxp1;
214 struct cvmx_pip_dec_ipsecx_s cn58xx; 470 struct cvmx_pip_dec_ipsecx_s cn58xx;
215 struct cvmx_pip_dec_ipsecx_s cn58xxp1; 471 struct cvmx_pip_dec_ipsecx_s cn58xxp1;
472 struct cvmx_pip_dec_ipsecx_s cn61xx;
473 struct cvmx_pip_dec_ipsecx_s cn63xx;
474 struct cvmx_pip_dec_ipsecx_s cn63xxp1;
475 struct cvmx_pip_dec_ipsecx_s cn66xx;
476 struct cvmx_pip_dec_ipsecx_s cn68xx;
477 struct cvmx_pip_dec_ipsecx_s cn68xxp1;
478 struct cvmx_pip_dec_ipsecx_s cnf71xx;
216}; 479};
217 480
218union cvmx_pip_dsa_src_grp { 481union cvmx_pip_dsa_src_grp {
219 uint64_t u64; 482 uint64_t u64;
220 struct cvmx_pip_dsa_src_grp_s { 483 struct cvmx_pip_dsa_src_grp_s {
484#ifdef __BIG_ENDIAN_BITFIELD
221 uint64_t map15:4; 485 uint64_t map15:4;
222 uint64_t map14:4; 486 uint64_t map14:4;
223 uint64_t map13:4; 487 uint64_t map13:4;
@@ -234,15 +498,41 @@ union cvmx_pip_dsa_src_grp {
234 uint64_t map2:4; 498 uint64_t map2:4;
235 uint64_t map1:4; 499 uint64_t map1:4;
236 uint64_t map0:4; 500 uint64_t map0:4;
501#else
502 uint64_t map0:4;
503 uint64_t map1:4;
504 uint64_t map2:4;
505 uint64_t map3:4;
506 uint64_t map4:4;
507 uint64_t map5:4;
508 uint64_t map6:4;
509 uint64_t map7:4;
510 uint64_t map8:4;
511 uint64_t map9:4;
512 uint64_t map10:4;
513 uint64_t map11:4;
514 uint64_t map12:4;
515 uint64_t map13:4;
516 uint64_t map14:4;
517 uint64_t map15:4;
518#endif
237 } s; 519 } s;
238 struct cvmx_pip_dsa_src_grp_s cn52xx; 520 struct cvmx_pip_dsa_src_grp_s cn52xx;
239 struct cvmx_pip_dsa_src_grp_s cn52xxp1; 521 struct cvmx_pip_dsa_src_grp_s cn52xxp1;
240 struct cvmx_pip_dsa_src_grp_s cn56xx; 522 struct cvmx_pip_dsa_src_grp_s cn56xx;
523 struct cvmx_pip_dsa_src_grp_s cn61xx;
524 struct cvmx_pip_dsa_src_grp_s cn63xx;
525 struct cvmx_pip_dsa_src_grp_s cn63xxp1;
526 struct cvmx_pip_dsa_src_grp_s cn66xx;
527 struct cvmx_pip_dsa_src_grp_s cn68xx;
528 struct cvmx_pip_dsa_src_grp_s cn68xxp1;
529 struct cvmx_pip_dsa_src_grp_s cnf71xx;
241}; 530};
242 531
243union cvmx_pip_dsa_vid_grp { 532union cvmx_pip_dsa_vid_grp {
244 uint64_t u64; 533 uint64_t u64;
245 struct cvmx_pip_dsa_vid_grp_s { 534 struct cvmx_pip_dsa_vid_grp_s {
535#ifdef __BIG_ENDIAN_BITFIELD
246 uint64_t map15:4; 536 uint64_t map15:4;
247 uint64_t map14:4; 537 uint64_t map14:4;
248 uint64_t map13:4; 538 uint64_t map13:4;
@@ -259,29 +549,68 @@ union cvmx_pip_dsa_vid_grp {
259 uint64_t map2:4; 549 uint64_t map2:4;
260 uint64_t map1:4; 550 uint64_t map1:4;
261 uint64_t map0:4; 551 uint64_t map0:4;
552#else
553 uint64_t map0:4;
554 uint64_t map1:4;
555 uint64_t map2:4;
556 uint64_t map3:4;
557 uint64_t map4:4;
558 uint64_t map5:4;
559 uint64_t map6:4;
560 uint64_t map7:4;
561 uint64_t map8:4;
562 uint64_t map9:4;
563 uint64_t map10:4;
564 uint64_t map11:4;
565 uint64_t map12:4;
566 uint64_t map13:4;
567 uint64_t map14:4;
568 uint64_t map15:4;
569#endif
262 } s; 570 } s;
263 struct cvmx_pip_dsa_vid_grp_s cn52xx; 571 struct cvmx_pip_dsa_vid_grp_s cn52xx;
264 struct cvmx_pip_dsa_vid_grp_s cn52xxp1; 572 struct cvmx_pip_dsa_vid_grp_s cn52xxp1;
265 struct cvmx_pip_dsa_vid_grp_s cn56xx; 573 struct cvmx_pip_dsa_vid_grp_s cn56xx;
574 struct cvmx_pip_dsa_vid_grp_s cn61xx;
575 struct cvmx_pip_dsa_vid_grp_s cn63xx;
576 struct cvmx_pip_dsa_vid_grp_s cn63xxp1;
577 struct cvmx_pip_dsa_vid_grp_s cn66xx;
578 struct cvmx_pip_dsa_vid_grp_s cn68xx;
579 struct cvmx_pip_dsa_vid_grp_s cn68xxp1;
580 struct cvmx_pip_dsa_vid_grp_s cnf71xx;
266}; 581};
267 582
268union cvmx_pip_frm_len_chkx { 583union cvmx_pip_frm_len_chkx {
269 uint64_t u64; 584 uint64_t u64;
270 struct cvmx_pip_frm_len_chkx_s { 585 struct cvmx_pip_frm_len_chkx_s {
586#ifdef __BIG_ENDIAN_BITFIELD
271 uint64_t reserved_32_63:32; 587 uint64_t reserved_32_63:32;
272 uint64_t maxlen:16; 588 uint64_t maxlen:16;
273 uint64_t minlen:16; 589 uint64_t minlen:16;
590#else
591 uint64_t minlen:16;
592 uint64_t maxlen:16;
593 uint64_t reserved_32_63:32;
594#endif
274 } s; 595 } s;
275 struct cvmx_pip_frm_len_chkx_s cn50xx; 596 struct cvmx_pip_frm_len_chkx_s cn50xx;
276 struct cvmx_pip_frm_len_chkx_s cn52xx; 597 struct cvmx_pip_frm_len_chkx_s cn52xx;
277 struct cvmx_pip_frm_len_chkx_s cn52xxp1; 598 struct cvmx_pip_frm_len_chkx_s cn52xxp1;
278 struct cvmx_pip_frm_len_chkx_s cn56xx; 599 struct cvmx_pip_frm_len_chkx_s cn56xx;
279 struct cvmx_pip_frm_len_chkx_s cn56xxp1; 600 struct cvmx_pip_frm_len_chkx_s cn56xxp1;
601 struct cvmx_pip_frm_len_chkx_s cn61xx;
602 struct cvmx_pip_frm_len_chkx_s cn63xx;
603 struct cvmx_pip_frm_len_chkx_s cn63xxp1;
604 struct cvmx_pip_frm_len_chkx_s cn66xx;
605 struct cvmx_pip_frm_len_chkx_s cn68xx;
606 struct cvmx_pip_frm_len_chkx_s cn68xxp1;
607 struct cvmx_pip_frm_len_chkx_s cnf71xx;
280}; 608};
281 609
282union cvmx_pip_gbl_cfg { 610union cvmx_pip_gbl_cfg {
283 uint64_t u64; 611 uint64_t u64;
284 struct cvmx_pip_gbl_cfg_s { 612 struct cvmx_pip_gbl_cfg_s {
613#ifdef __BIG_ENDIAN_BITFIELD
285 uint64_t reserved_19_63:45; 614 uint64_t reserved_19_63:45;
286 uint64_t tag_syn:1; 615 uint64_t tag_syn:1;
287 uint64_t ip6_udp:1; 616 uint64_t ip6_udp:1;
@@ -290,6 +619,16 @@ union cvmx_pip_gbl_cfg {
290 uint64_t raw_shf:3; 619 uint64_t raw_shf:3;
291 uint64_t reserved_3_7:5; 620 uint64_t reserved_3_7:5;
292 uint64_t nip_shf:3; 621 uint64_t nip_shf:3;
622#else
623 uint64_t nip_shf:3;
624 uint64_t reserved_3_7:5;
625 uint64_t raw_shf:3;
626 uint64_t reserved_11_15:5;
627 uint64_t max_l2:1;
628 uint64_t ip6_udp:1;
629 uint64_t tag_syn:1;
630 uint64_t reserved_19_63:45;
631#endif
293 } s; 632 } s;
294 struct cvmx_pip_gbl_cfg_s cn30xx; 633 struct cvmx_pip_gbl_cfg_s cn30xx;
295 struct cvmx_pip_gbl_cfg_s cn31xx; 634 struct cvmx_pip_gbl_cfg_s cn31xx;
@@ -302,12 +641,22 @@ union cvmx_pip_gbl_cfg {
302 struct cvmx_pip_gbl_cfg_s cn56xxp1; 641 struct cvmx_pip_gbl_cfg_s cn56xxp1;
303 struct cvmx_pip_gbl_cfg_s cn58xx; 642 struct cvmx_pip_gbl_cfg_s cn58xx;
304 struct cvmx_pip_gbl_cfg_s cn58xxp1; 643 struct cvmx_pip_gbl_cfg_s cn58xxp1;
644 struct cvmx_pip_gbl_cfg_s cn61xx;
645 struct cvmx_pip_gbl_cfg_s cn63xx;
646 struct cvmx_pip_gbl_cfg_s cn63xxp1;
647 struct cvmx_pip_gbl_cfg_s cn66xx;
648 struct cvmx_pip_gbl_cfg_s cn68xx;
649 struct cvmx_pip_gbl_cfg_s cn68xxp1;
650 struct cvmx_pip_gbl_cfg_s cnf71xx;
305}; 651};
306 652
307union cvmx_pip_gbl_ctl { 653union cvmx_pip_gbl_ctl {
308 uint64_t u64; 654 uint64_t u64;
309 struct cvmx_pip_gbl_ctl_s { 655 struct cvmx_pip_gbl_ctl_s {
310 uint64_t reserved_27_63:37; 656#ifdef __BIG_ENDIAN_BITFIELD
657 uint64_t reserved_29_63:35;
658 uint64_t egrp_dis:1;
659 uint64_t ihmsk_dis:1;
311 uint64_t dsa_grp_tvid:1; 660 uint64_t dsa_grp_tvid:1;
312 uint64_t dsa_grp_scmd:1; 661 uint64_t dsa_grp_scmd:1;
313 uint64_t dsa_grp_sid:1; 662 uint64_t dsa_grp_sid:1;
@@ -329,8 +678,35 @@ union cvmx_pip_gbl_ctl {
329 uint64_t ip_hop:1; 678 uint64_t ip_hop:1;
330 uint64_t ip_mal:1; 679 uint64_t ip_mal:1;
331 uint64_t ip_chk:1; 680 uint64_t ip_chk:1;
681#else
682 uint64_t ip_chk:1;
683 uint64_t ip_mal:1;
684 uint64_t ip_hop:1;
685 uint64_t ip4_opts:1;
686 uint64_t ip6_eext:2;
687 uint64_t reserved_6_7:2;
688 uint64_t l4_mal:1;
689 uint64_t l4_prt:1;
690 uint64_t l4_chk:1;
691 uint64_t l4_len:1;
692 uint64_t tcp_flag:1;
693 uint64_t l2_mal:1;
694 uint64_t vs_qos:1;
695 uint64_t vs_wqe:1;
696 uint64_t ignrs:1;
697 uint64_t reserved_17_19:3;
698 uint64_t ring_en:1;
699 uint64_t reserved_21_23:3;
700 uint64_t dsa_grp_sid:1;
701 uint64_t dsa_grp_scmd:1;
702 uint64_t dsa_grp_tvid:1;
703 uint64_t ihmsk_dis:1;
704 uint64_t egrp_dis:1;
705 uint64_t reserved_29_63:35;
706#endif
332 } s; 707 } s;
333 struct cvmx_pip_gbl_ctl_cn30xx { 708 struct cvmx_pip_gbl_ctl_cn30xx {
709#ifdef __BIG_ENDIAN_BITFIELD
334 uint64_t reserved_17_63:47; 710 uint64_t reserved_17_63:47;
335 uint64_t ignrs:1; 711 uint64_t ignrs:1;
336 uint64_t vs_wqe:1; 712 uint64_t vs_wqe:1;
@@ -347,15 +723,82 @@ union cvmx_pip_gbl_ctl {
347 uint64_t ip_hop:1; 723 uint64_t ip_hop:1;
348 uint64_t ip_mal:1; 724 uint64_t ip_mal:1;
349 uint64_t ip_chk:1; 725 uint64_t ip_chk:1;
726#else
727 uint64_t ip_chk:1;
728 uint64_t ip_mal:1;
729 uint64_t ip_hop:1;
730 uint64_t ip4_opts:1;
731 uint64_t ip6_eext:2;
732 uint64_t reserved_6_7:2;
733 uint64_t l4_mal:1;
734 uint64_t l4_prt:1;
735 uint64_t l4_chk:1;
736 uint64_t l4_len:1;
737 uint64_t tcp_flag:1;
738 uint64_t l2_mal:1;
739 uint64_t vs_qos:1;
740 uint64_t vs_wqe:1;
741 uint64_t ignrs:1;
742 uint64_t reserved_17_63:47;
743#endif
350 } cn30xx; 744 } cn30xx;
351 struct cvmx_pip_gbl_ctl_cn30xx cn31xx; 745 struct cvmx_pip_gbl_ctl_cn30xx cn31xx;
352 struct cvmx_pip_gbl_ctl_cn30xx cn38xx; 746 struct cvmx_pip_gbl_ctl_cn30xx cn38xx;
353 struct cvmx_pip_gbl_ctl_cn30xx cn38xxp2; 747 struct cvmx_pip_gbl_ctl_cn30xx cn38xxp2;
354 struct cvmx_pip_gbl_ctl_cn30xx cn50xx; 748 struct cvmx_pip_gbl_ctl_cn30xx cn50xx;
355 struct cvmx_pip_gbl_ctl_s cn52xx; 749 struct cvmx_pip_gbl_ctl_cn52xx {
356 struct cvmx_pip_gbl_ctl_s cn52xxp1; 750#ifdef __BIG_ENDIAN_BITFIELD
357 struct cvmx_pip_gbl_ctl_s cn56xx; 751 uint64_t reserved_27_63:37;
752 uint64_t dsa_grp_tvid:1;
753 uint64_t dsa_grp_scmd:1;
754 uint64_t dsa_grp_sid:1;
755 uint64_t reserved_21_23:3;
756 uint64_t ring_en:1;
757 uint64_t reserved_17_19:3;
758 uint64_t ignrs:1;
759 uint64_t vs_wqe:1;
760 uint64_t vs_qos:1;
761 uint64_t l2_mal:1;
762 uint64_t tcp_flag:1;
763 uint64_t l4_len:1;
764 uint64_t l4_chk:1;
765 uint64_t l4_prt:1;
766 uint64_t l4_mal:1;
767 uint64_t reserved_6_7:2;
768 uint64_t ip6_eext:2;
769 uint64_t ip4_opts:1;
770 uint64_t ip_hop:1;
771 uint64_t ip_mal:1;
772 uint64_t ip_chk:1;
773#else
774 uint64_t ip_chk:1;
775 uint64_t ip_mal:1;
776 uint64_t ip_hop:1;
777 uint64_t ip4_opts:1;
778 uint64_t ip6_eext:2;
779 uint64_t reserved_6_7:2;
780 uint64_t l4_mal:1;
781 uint64_t l4_prt:1;
782 uint64_t l4_chk:1;
783 uint64_t l4_len:1;
784 uint64_t tcp_flag:1;
785 uint64_t l2_mal:1;
786 uint64_t vs_qos:1;
787 uint64_t vs_wqe:1;
788 uint64_t ignrs:1;
789 uint64_t reserved_17_19:3;
790 uint64_t ring_en:1;
791 uint64_t reserved_21_23:3;
792 uint64_t dsa_grp_sid:1;
793 uint64_t dsa_grp_scmd:1;
794 uint64_t dsa_grp_tvid:1;
795 uint64_t reserved_27_63:37;
796#endif
797 } cn52xx;
798 struct cvmx_pip_gbl_ctl_cn52xx cn52xxp1;
799 struct cvmx_pip_gbl_ctl_cn52xx cn56xx;
358 struct cvmx_pip_gbl_ctl_cn56xxp1 { 800 struct cvmx_pip_gbl_ctl_cn56xxp1 {
801#ifdef __BIG_ENDIAN_BITFIELD
359 uint64_t reserved_21_63:43; 802 uint64_t reserved_21_63:43;
360 uint64_t ring_en:1; 803 uint64_t ring_en:1;
361 uint64_t reserved_17_19:3; 804 uint64_t reserved_17_19:3;
@@ -374,27 +817,215 @@ union cvmx_pip_gbl_ctl {
374 uint64_t ip_hop:1; 817 uint64_t ip_hop:1;
375 uint64_t ip_mal:1; 818 uint64_t ip_mal:1;
376 uint64_t ip_chk:1; 819 uint64_t ip_chk:1;
820#else
821 uint64_t ip_chk:1;
822 uint64_t ip_mal:1;
823 uint64_t ip_hop:1;
824 uint64_t ip4_opts:1;
825 uint64_t ip6_eext:2;
826 uint64_t reserved_6_7:2;
827 uint64_t l4_mal:1;
828 uint64_t l4_prt:1;
829 uint64_t l4_chk:1;
830 uint64_t l4_len:1;
831 uint64_t tcp_flag:1;
832 uint64_t l2_mal:1;
833 uint64_t vs_qos:1;
834 uint64_t vs_wqe:1;
835 uint64_t ignrs:1;
836 uint64_t reserved_17_19:3;
837 uint64_t ring_en:1;
838 uint64_t reserved_21_63:43;
839#endif
377 } cn56xxp1; 840 } cn56xxp1;
378 struct cvmx_pip_gbl_ctl_cn30xx cn58xx; 841 struct cvmx_pip_gbl_ctl_cn30xx cn58xx;
379 struct cvmx_pip_gbl_ctl_cn30xx cn58xxp1; 842 struct cvmx_pip_gbl_ctl_cn30xx cn58xxp1;
843 struct cvmx_pip_gbl_ctl_cn61xx {
844#ifdef __BIG_ENDIAN_BITFIELD
845 uint64_t reserved_28_63:36;
846 uint64_t ihmsk_dis:1;
847 uint64_t dsa_grp_tvid:1;
848 uint64_t dsa_grp_scmd:1;
849 uint64_t dsa_grp_sid:1;
850 uint64_t reserved_21_23:3;
851 uint64_t ring_en:1;
852 uint64_t reserved_17_19:3;
853 uint64_t ignrs:1;
854 uint64_t vs_wqe:1;
855 uint64_t vs_qos:1;
856 uint64_t l2_mal:1;
857 uint64_t tcp_flag:1;
858 uint64_t l4_len:1;
859 uint64_t l4_chk:1;
860 uint64_t l4_prt:1;
861 uint64_t l4_mal:1;
862 uint64_t reserved_6_7:2;
863 uint64_t ip6_eext:2;
864 uint64_t ip4_opts:1;
865 uint64_t ip_hop:1;
866 uint64_t ip_mal:1;
867 uint64_t ip_chk:1;
868#else
869 uint64_t ip_chk:1;
870 uint64_t ip_mal:1;
871 uint64_t ip_hop:1;
872 uint64_t ip4_opts:1;
873 uint64_t ip6_eext:2;
874 uint64_t reserved_6_7:2;
875 uint64_t l4_mal:1;
876 uint64_t l4_prt:1;
877 uint64_t l4_chk:1;
878 uint64_t l4_len:1;
879 uint64_t tcp_flag:1;
880 uint64_t l2_mal:1;
881 uint64_t vs_qos:1;
882 uint64_t vs_wqe:1;
883 uint64_t ignrs:1;
884 uint64_t reserved_17_19:3;
885 uint64_t ring_en:1;
886 uint64_t reserved_21_23:3;
887 uint64_t dsa_grp_sid:1;
888 uint64_t dsa_grp_scmd:1;
889 uint64_t dsa_grp_tvid:1;
890 uint64_t ihmsk_dis:1;
891 uint64_t reserved_28_63:36;
892#endif
893 } cn61xx;
894 struct cvmx_pip_gbl_ctl_cn61xx cn63xx;
895 struct cvmx_pip_gbl_ctl_cn61xx cn63xxp1;
896 struct cvmx_pip_gbl_ctl_cn61xx cn66xx;
897 struct cvmx_pip_gbl_ctl_cn68xx {
898#ifdef __BIG_ENDIAN_BITFIELD
899 uint64_t reserved_29_63:35;
900 uint64_t egrp_dis:1;
901 uint64_t ihmsk_dis:1;
902 uint64_t dsa_grp_tvid:1;
903 uint64_t dsa_grp_scmd:1;
904 uint64_t dsa_grp_sid:1;
905 uint64_t reserved_17_23:7;
906 uint64_t ignrs:1;
907 uint64_t vs_wqe:1;
908 uint64_t vs_qos:1;
909 uint64_t l2_mal:1;
910 uint64_t tcp_flag:1;
911 uint64_t l4_len:1;
912 uint64_t l4_chk:1;
913 uint64_t l4_prt:1;
914 uint64_t l4_mal:1;
915 uint64_t reserved_6_7:2;
916 uint64_t ip6_eext:2;
917 uint64_t ip4_opts:1;
918 uint64_t ip_hop:1;
919 uint64_t ip_mal:1;
920 uint64_t ip_chk:1;
921#else
922 uint64_t ip_chk:1;
923 uint64_t ip_mal:1;
924 uint64_t ip_hop:1;
925 uint64_t ip4_opts:1;
926 uint64_t ip6_eext:2;
927 uint64_t reserved_6_7:2;
928 uint64_t l4_mal:1;
929 uint64_t l4_prt:1;
930 uint64_t l4_chk:1;
931 uint64_t l4_len:1;
932 uint64_t tcp_flag:1;
933 uint64_t l2_mal:1;
934 uint64_t vs_qos:1;
935 uint64_t vs_wqe:1;
936 uint64_t ignrs:1;
937 uint64_t reserved_17_23:7;
938 uint64_t dsa_grp_sid:1;
939 uint64_t dsa_grp_scmd:1;
940 uint64_t dsa_grp_tvid:1;
941 uint64_t ihmsk_dis:1;
942 uint64_t egrp_dis:1;
943 uint64_t reserved_29_63:35;
944#endif
945 } cn68xx;
946 struct cvmx_pip_gbl_ctl_cn68xxp1 {
947#ifdef __BIG_ENDIAN_BITFIELD
948 uint64_t reserved_28_63:36;
949 uint64_t ihmsk_dis:1;
950 uint64_t dsa_grp_tvid:1;
951 uint64_t dsa_grp_scmd:1;
952 uint64_t dsa_grp_sid:1;
953 uint64_t reserved_17_23:7;
954 uint64_t ignrs:1;
955 uint64_t vs_wqe:1;
956 uint64_t vs_qos:1;
957 uint64_t l2_mal:1;
958 uint64_t tcp_flag:1;
959 uint64_t l4_len:1;
960 uint64_t l4_chk:1;
961 uint64_t l4_prt:1;
962 uint64_t l4_mal:1;
963 uint64_t reserved_6_7:2;
964 uint64_t ip6_eext:2;
965 uint64_t ip4_opts:1;
966 uint64_t ip_hop:1;
967 uint64_t ip_mal:1;
968 uint64_t ip_chk:1;
969#else
970 uint64_t ip_chk:1;
971 uint64_t ip_mal:1;
972 uint64_t ip_hop:1;
973 uint64_t ip4_opts:1;
974 uint64_t ip6_eext:2;
975 uint64_t reserved_6_7:2;
976 uint64_t l4_mal:1;
977 uint64_t l4_prt:1;
978 uint64_t l4_chk:1;
979 uint64_t l4_len:1;
980 uint64_t tcp_flag:1;
981 uint64_t l2_mal:1;
982 uint64_t vs_qos:1;
983 uint64_t vs_wqe:1;
984 uint64_t ignrs:1;
985 uint64_t reserved_17_23:7;
986 uint64_t dsa_grp_sid:1;
987 uint64_t dsa_grp_scmd:1;
988 uint64_t dsa_grp_tvid:1;
989 uint64_t ihmsk_dis:1;
990 uint64_t reserved_28_63:36;
991#endif
992 } cn68xxp1;
993 struct cvmx_pip_gbl_ctl_cn61xx cnf71xx;
380}; 994};
381 995
382union cvmx_pip_hg_pri_qos { 996union cvmx_pip_hg_pri_qos {
383 uint64_t u64; 997 uint64_t u64;
384 struct cvmx_pip_hg_pri_qos_s { 998 struct cvmx_pip_hg_pri_qos_s {
385 uint64_t reserved_11_63:53; 999#ifdef __BIG_ENDIAN_BITFIELD
1000 uint64_t reserved_13_63:51;
1001 uint64_t up_qos:1;
1002 uint64_t reserved_11_11:1;
386 uint64_t qos:3; 1003 uint64_t qos:3;
387 uint64_t reserved_6_7:2; 1004 uint64_t reserved_6_7:2;
388 uint64_t pri:6; 1005 uint64_t pri:6;
1006#else
1007 uint64_t pri:6;
1008 uint64_t reserved_6_7:2;
1009 uint64_t qos:3;
1010 uint64_t reserved_11_11:1;
1011 uint64_t up_qos:1;
1012 uint64_t reserved_13_63:51;
1013#endif
389 } s; 1014 } s;
390 struct cvmx_pip_hg_pri_qos_s cn52xx; 1015 struct cvmx_pip_hg_pri_qos_s cn52xx;
391 struct cvmx_pip_hg_pri_qos_s cn52xxp1; 1016 struct cvmx_pip_hg_pri_qos_s cn52xxp1;
392 struct cvmx_pip_hg_pri_qos_s cn56xx; 1017 struct cvmx_pip_hg_pri_qos_s cn56xx;
1018 struct cvmx_pip_hg_pri_qos_s cn61xx;
1019 struct cvmx_pip_hg_pri_qos_s cn63xx;
1020 struct cvmx_pip_hg_pri_qos_s cn63xxp1;
1021 struct cvmx_pip_hg_pri_qos_s cn66xx;
1022 struct cvmx_pip_hg_pri_qos_s cnf71xx;
393}; 1023};
394 1024
395union cvmx_pip_int_en { 1025union cvmx_pip_int_en {
396 uint64_t u64; 1026 uint64_t u64;
397 struct cvmx_pip_int_en_s { 1027 struct cvmx_pip_int_en_s {
1028#ifdef __BIG_ENDIAN_BITFIELD
398 uint64_t reserved_13_63:51; 1029 uint64_t reserved_13_63:51;
399 uint64_t punyerr:1; 1030 uint64_t punyerr:1;
400 uint64_t lenerr:1; 1031 uint64_t lenerr:1;
@@ -409,8 +1040,25 @@ union cvmx_pip_int_en {
409 uint64_t bckprs:1; 1040 uint64_t bckprs:1;
410 uint64_t crcerr:1; 1041 uint64_t crcerr:1;
411 uint64_t pktdrp:1; 1042 uint64_t pktdrp:1;
1043#else
1044 uint64_t pktdrp:1;
1045 uint64_t crcerr:1;
1046 uint64_t bckprs:1;
1047 uint64_t prtnxa:1;
1048 uint64_t badtag:1;
1049 uint64_t skprunt:1;
1050 uint64_t todoovr:1;
1051 uint64_t feperr:1;
1052 uint64_t beperr:1;
1053 uint64_t minerr:1;
1054 uint64_t maxerr:1;
1055 uint64_t lenerr:1;
1056 uint64_t punyerr:1;
1057 uint64_t reserved_13_63:51;
1058#endif
412 } s; 1059 } s;
413 struct cvmx_pip_int_en_cn30xx { 1060 struct cvmx_pip_int_en_cn30xx {
1061#ifdef __BIG_ENDIAN_BITFIELD
414 uint64_t reserved_9_63:55; 1062 uint64_t reserved_9_63:55;
415 uint64_t beperr:1; 1063 uint64_t beperr:1;
416 uint64_t feperr:1; 1064 uint64_t feperr:1;
@@ -421,11 +1069,24 @@ union cvmx_pip_int_en {
421 uint64_t bckprs:1; 1069 uint64_t bckprs:1;
422 uint64_t crcerr:1; 1070 uint64_t crcerr:1;
423 uint64_t pktdrp:1; 1071 uint64_t pktdrp:1;
1072#else
1073 uint64_t pktdrp:1;
1074 uint64_t crcerr:1;
1075 uint64_t bckprs:1;
1076 uint64_t prtnxa:1;
1077 uint64_t badtag:1;
1078 uint64_t skprunt:1;
1079 uint64_t todoovr:1;
1080 uint64_t feperr:1;
1081 uint64_t beperr:1;
1082 uint64_t reserved_9_63:55;
1083#endif
424 } cn30xx; 1084 } cn30xx;
425 struct cvmx_pip_int_en_cn30xx cn31xx; 1085 struct cvmx_pip_int_en_cn30xx cn31xx;
426 struct cvmx_pip_int_en_cn30xx cn38xx; 1086 struct cvmx_pip_int_en_cn30xx cn38xx;
427 struct cvmx_pip_int_en_cn30xx cn38xxp2; 1087 struct cvmx_pip_int_en_cn30xx cn38xxp2;
428 struct cvmx_pip_int_en_cn50xx { 1088 struct cvmx_pip_int_en_cn50xx {
1089#ifdef __BIG_ENDIAN_BITFIELD
429 uint64_t reserved_12_63:52; 1090 uint64_t reserved_12_63:52;
430 uint64_t lenerr:1; 1091 uint64_t lenerr:1;
431 uint64_t maxerr:1; 1092 uint64_t maxerr:1;
@@ -439,8 +1100,24 @@ union cvmx_pip_int_en {
439 uint64_t bckprs:1; 1100 uint64_t bckprs:1;
440 uint64_t reserved_1_1:1; 1101 uint64_t reserved_1_1:1;
441 uint64_t pktdrp:1; 1102 uint64_t pktdrp:1;
1103#else
1104 uint64_t pktdrp:1;
1105 uint64_t reserved_1_1:1;
1106 uint64_t bckprs:1;
1107 uint64_t prtnxa:1;
1108 uint64_t badtag:1;
1109 uint64_t skprunt:1;
1110 uint64_t todoovr:1;
1111 uint64_t feperr:1;
1112 uint64_t beperr:1;
1113 uint64_t minerr:1;
1114 uint64_t maxerr:1;
1115 uint64_t lenerr:1;
1116 uint64_t reserved_12_63:52;
1117#endif
442 } cn50xx; 1118 } cn50xx;
443 struct cvmx_pip_int_en_cn52xx { 1119 struct cvmx_pip_int_en_cn52xx {
1120#ifdef __BIG_ENDIAN_BITFIELD
444 uint64_t reserved_13_63:51; 1121 uint64_t reserved_13_63:51;
445 uint64_t punyerr:1; 1122 uint64_t punyerr:1;
446 uint64_t lenerr:1; 1123 uint64_t lenerr:1;
@@ -455,10 +1132,27 @@ union cvmx_pip_int_en {
455 uint64_t bckprs:1; 1132 uint64_t bckprs:1;
456 uint64_t reserved_1_1:1; 1133 uint64_t reserved_1_1:1;
457 uint64_t pktdrp:1; 1134 uint64_t pktdrp:1;
1135#else
1136 uint64_t pktdrp:1;
1137 uint64_t reserved_1_1:1;
1138 uint64_t bckprs:1;
1139 uint64_t prtnxa:1;
1140 uint64_t badtag:1;
1141 uint64_t skprunt:1;
1142 uint64_t todoovr:1;
1143 uint64_t feperr:1;
1144 uint64_t beperr:1;
1145 uint64_t minerr:1;
1146 uint64_t maxerr:1;
1147 uint64_t lenerr:1;
1148 uint64_t punyerr:1;
1149 uint64_t reserved_13_63:51;
1150#endif
458 } cn52xx; 1151 } cn52xx;
459 struct cvmx_pip_int_en_cn52xx cn52xxp1; 1152 struct cvmx_pip_int_en_cn52xx cn52xxp1;
460 struct cvmx_pip_int_en_s cn56xx; 1153 struct cvmx_pip_int_en_s cn56xx;
461 struct cvmx_pip_int_en_cn56xxp1 { 1154 struct cvmx_pip_int_en_cn56xxp1 {
1155#ifdef __BIG_ENDIAN_BITFIELD
462 uint64_t reserved_12_63:52; 1156 uint64_t reserved_12_63:52;
463 uint64_t lenerr:1; 1157 uint64_t lenerr:1;
464 uint64_t maxerr:1; 1158 uint64_t maxerr:1;
@@ -472,8 +1166,24 @@ union cvmx_pip_int_en {
472 uint64_t bckprs:1; 1166 uint64_t bckprs:1;
473 uint64_t crcerr:1; 1167 uint64_t crcerr:1;
474 uint64_t pktdrp:1; 1168 uint64_t pktdrp:1;
1169#else
1170 uint64_t pktdrp:1;
1171 uint64_t crcerr:1;
1172 uint64_t bckprs:1;
1173 uint64_t prtnxa:1;
1174 uint64_t badtag:1;
1175 uint64_t skprunt:1;
1176 uint64_t todoovr:1;
1177 uint64_t feperr:1;
1178 uint64_t beperr:1;
1179 uint64_t minerr:1;
1180 uint64_t maxerr:1;
1181 uint64_t lenerr:1;
1182 uint64_t reserved_12_63:52;
1183#endif
475 } cn56xxp1; 1184 } cn56xxp1;
476 struct cvmx_pip_int_en_cn58xx { 1185 struct cvmx_pip_int_en_cn58xx {
1186#ifdef __BIG_ENDIAN_BITFIELD
477 uint64_t reserved_13_63:51; 1187 uint64_t reserved_13_63:51;
478 uint64_t punyerr:1; 1188 uint64_t punyerr:1;
479 uint64_t reserved_9_11:3; 1189 uint64_t reserved_9_11:3;
@@ -486,13 +1196,35 @@ union cvmx_pip_int_en {
486 uint64_t bckprs:1; 1196 uint64_t bckprs:1;
487 uint64_t crcerr:1; 1197 uint64_t crcerr:1;
488 uint64_t pktdrp:1; 1198 uint64_t pktdrp:1;
1199#else
1200 uint64_t pktdrp:1;
1201 uint64_t crcerr:1;
1202 uint64_t bckprs:1;
1203 uint64_t prtnxa:1;
1204 uint64_t badtag:1;
1205 uint64_t skprunt:1;
1206 uint64_t todoovr:1;
1207 uint64_t feperr:1;
1208 uint64_t beperr:1;
1209 uint64_t reserved_9_11:3;
1210 uint64_t punyerr:1;
1211 uint64_t reserved_13_63:51;
1212#endif
489 } cn58xx; 1213 } cn58xx;
490 struct cvmx_pip_int_en_cn30xx cn58xxp1; 1214 struct cvmx_pip_int_en_cn30xx cn58xxp1;
1215 struct cvmx_pip_int_en_s cn61xx;
1216 struct cvmx_pip_int_en_s cn63xx;
1217 struct cvmx_pip_int_en_s cn63xxp1;
1218 struct cvmx_pip_int_en_s cn66xx;
1219 struct cvmx_pip_int_en_s cn68xx;
1220 struct cvmx_pip_int_en_s cn68xxp1;
1221 struct cvmx_pip_int_en_s cnf71xx;
491}; 1222};
492 1223
493union cvmx_pip_int_reg { 1224union cvmx_pip_int_reg {
494 uint64_t u64; 1225 uint64_t u64;
495 struct cvmx_pip_int_reg_s { 1226 struct cvmx_pip_int_reg_s {
1227#ifdef __BIG_ENDIAN_BITFIELD
496 uint64_t reserved_13_63:51; 1228 uint64_t reserved_13_63:51;
497 uint64_t punyerr:1; 1229 uint64_t punyerr:1;
498 uint64_t lenerr:1; 1230 uint64_t lenerr:1;
@@ -507,8 +1239,25 @@ union cvmx_pip_int_reg {
507 uint64_t bckprs:1; 1239 uint64_t bckprs:1;
508 uint64_t crcerr:1; 1240 uint64_t crcerr:1;
509 uint64_t pktdrp:1; 1241 uint64_t pktdrp:1;
1242#else
1243 uint64_t pktdrp:1;
1244 uint64_t crcerr:1;
1245 uint64_t bckprs:1;
1246 uint64_t prtnxa:1;
1247 uint64_t badtag:1;
1248 uint64_t skprunt:1;
1249 uint64_t todoovr:1;
1250 uint64_t feperr:1;
1251 uint64_t beperr:1;
1252 uint64_t minerr:1;
1253 uint64_t maxerr:1;
1254 uint64_t lenerr:1;
1255 uint64_t punyerr:1;
1256 uint64_t reserved_13_63:51;
1257#endif
510 } s; 1258 } s;
511 struct cvmx_pip_int_reg_cn30xx { 1259 struct cvmx_pip_int_reg_cn30xx {
1260#ifdef __BIG_ENDIAN_BITFIELD
512 uint64_t reserved_9_63:55; 1261 uint64_t reserved_9_63:55;
513 uint64_t beperr:1; 1262 uint64_t beperr:1;
514 uint64_t feperr:1; 1263 uint64_t feperr:1;
@@ -519,11 +1268,24 @@ union cvmx_pip_int_reg {
519 uint64_t bckprs:1; 1268 uint64_t bckprs:1;
520 uint64_t crcerr:1; 1269 uint64_t crcerr:1;
521 uint64_t pktdrp:1; 1270 uint64_t pktdrp:1;
1271#else
1272 uint64_t pktdrp:1;
1273 uint64_t crcerr:1;
1274 uint64_t bckprs:1;
1275 uint64_t prtnxa:1;
1276 uint64_t badtag:1;
1277 uint64_t skprunt:1;
1278 uint64_t todoovr:1;
1279 uint64_t feperr:1;
1280 uint64_t beperr:1;
1281 uint64_t reserved_9_63:55;
1282#endif
522 } cn30xx; 1283 } cn30xx;
523 struct cvmx_pip_int_reg_cn30xx cn31xx; 1284 struct cvmx_pip_int_reg_cn30xx cn31xx;
524 struct cvmx_pip_int_reg_cn30xx cn38xx; 1285 struct cvmx_pip_int_reg_cn30xx cn38xx;
525 struct cvmx_pip_int_reg_cn30xx cn38xxp2; 1286 struct cvmx_pip_int_reg_cn30xx cn38xxp2;
526 struct cvmx_pip_int_reg_cn50xx { 1287 struct cvmx_pip_int_reg_cn50xx {
1288#ifdef __BIG_ENDIAN_BITFIELD
527 uint64_t reserved_12_63:52; 1289 uint64_t reserved_12_63:52;
528 uint64_t lenerr:1; 1290 uint64_t lenerr:1;
529 uint64_t maxerr:1; 1291 uint64_t maxerr:1;
@@ -537,8 +1299,24 @@ union cvmx_pip_int_reg {
537 uint64_t bckprs:1; 1299 uint64_t bckprs:1;
538 uint64_t reserved_1_1:1; 1300 uint64_t reserved_1_1:1;
539 uint64_t pktdrp:1; 1301 uint64_t pktdrp:1;
1302#else
1303 uint64_t pktdrp:1;
1304 uint64_t reserved_1_1:1;
1305 uint64_t bckprs:1;
1306 uint64_t prtnxa:1;
1307 uint64_t badtag:1;
1308 uint64_t skprunt:1;
1309 uint64_t todoovr:1;
1310 uint64_t feperr:1;
1311 uint64_t beperr:1;
1312 uint64_t minerr:1;
1313 uint64_t maxerr:1;
1314 uint64_t lenerr:1;
1315 uint64_t reserved_12_63:52;
1316#endif
540 } cn50xx; 1317 } cn50xx;
541 struct cvmx_pip_int_reg_cn52xx { 1318 struct cvmx_pip_int_reg_cn52xx {
1319#ifdef __BIG_ENDIAN_BITFIELD
542 uint64_t reserved_13_63:51; 1320 uint64_t reserved_13_63:51;
543 uint64_t punyerr:1; 1321 uint64_t punyerr:1;
544 uint64_t lenerr:1; 1322 uint64_t lenerr:1;
@@ -553,10 +1331,27 @@ union cvmx_pip_int_reg {
553 uint64_t bckprs:1; 1331 uint64_t bckprs:1;
554 uint64_t reserved_1_1:1; 1332 uint64_t reserved_1_1:1;
555 uint64_t pktdrp:1; 1333 uint64_t pktdrp:1;
1334#else
1335 uint64_t pktdrp:1;
1336 uint64_t reserved_1_1:1;
1337 uint64_t bckprs:1;
1338 uint64_t prtnxa:1;
1339 uint64_t badtag:1;
1340 uint64_t skprunt:1;
1341 uint64_t todoovr:1;
1342 uint64_t feperr:1;
1343 uint64_t beperr:1;
1344 uint64_t minerr:1;
1345 uint64_t maxerr:1;
1346 uint64_t lenerr:1;
1347 uint64_t punyerr:1;
1348 uint64_t reserved_13_63:51;
1349#endif
556 } cn52xx; 1350 } cn52xx;
557 struct cvmx_pip_int_reg_cn52xx cn52xxp1; 1351 struct cvmx_pip_int_reg_cn52xx cn52xxp1;
558 struct cvmx_pip_int_reg_s cn56xx; 1352 struct cvmx_pip_int_reg_s cn56xx;
559 struct cvmx_pip_int_reg_cn56xxp1 { 1353 struct cvmx_pip_int_reg_cn56xxp1 {
1354#ifdef __BIG_ENDIAN_BITFIELD
560 uint64_t reserved_12_63:52; 1355 uint64_t reserved_12_63:52;
561 uint64_t lenerr:1; 1356 uint64_t lenerr:1;
562 uint64_t maxerr:1; 1357 uint64_t maxerr:1;
@@ -570,8 +1365,24 @@ union cvmx_pip_int_reg {
570 uint64_t bckprs:1; 1365 uint64_t bckprs:1;
571 uint64_t crcerr:1; 1366 uint64_t crcerr:1;
572 uint64_t pktdrp:1; 1367 uint64_t pktdrp:1;
1368#else
1369 uint64_t pktdrp:1;
1370 uint64_t crcerr:1;
1371 uint64_t bckprs:1;
1372 uint64_t prtnxa:1;
1373 uint64_t badtag:1;
1374 uint64_t skprunt:1;
1375 uint64_t todoovr:1;
1376 uint64_t feperr:1;
1377 uint64_t beperr:1;
1378 uint64_t minerr:1;
1379 uint64_t maxerr:1;
1380 uint64_t lenerr:1;
1381 uint64_t reserved_12_63:52;
1382#endif
573 } cn56xxp1; 1383 } cn56xxp1;
574 struct cvmx_pip_int_reg_cn58xx { 1384 struct cvmx_pip_int_reg_cn58xx {
1385#ifdef __BIG_ENDIAN_BITFIELD
575 uint64_t reserved_13_63:51; 1386 uint64_t reserved_13_63:51;
576 uint64_t punyerr:1; 1387 uint64_t punyerr:1;
577 uint64_t reserved_9_11:3; 1388 uint64_t reserved_9_11:3;
@@ -584,15 +1395,41 @@ union cvmx_pip_int_reg {
584 uint64_t bckprs:1; 1395 uint64_t bckprs:1;
585 uint64_t crcerr:1; 1396 uint64_t crcerr:1;
586 uint64_t pktdrp:1; 1397 uint64_t pktdrp:1;
1398#else
1399 uint64_t pktdrp:1;
1400 uint64_t crcerr:1;
1401 uint64_t bckprs:1;
1402 uint64_t prtnxa:1;
1403 uint64_t badtag:1;
1404 uint64_t skprunt:1;
1405 uint64_t todoovr:1;
1406 uint64_t feperr:1;
1407 uint64_t beperr:1;
1408 uint64_t reserved_9_11:3;
1409 uint64_t punyerr:1;
1410 uint64_t reserved_13_63:51;
1411#endif
587 } cn58xx; 1412 } cn58xx;
588 struct cvmx_pip_int_reg_cn30xx cn58xxp1; 1413 struct cvmx_pip_int_reg_cn30xx cn58xxp1;
1414 struct cvmx_pip_int_reg_s cn61xx;
1415 struct cvmx_pip_int_reg_s cn63xx;
1416 struct cvmx_pip_int_reg_s cn63xxp1;
1417 struct cvmx_pip_int_reg_s cn66xx;
1418 struct cvmx_pip_int_reg_s cn68xx;
1419 struct cvmx_pip_int_reg_s cn68xxp1;
1420 struct cvmx_pip_int_reg_s cnf71xx;
589}; 1421};
590 1422
591union cvmx_pip_ip_offset { 1423union cvmx_pip_ip_offset {
592 uint64_t u64; 1424 uint64_t u64;
593 struct cvmx_pip_ip_offset_s { 1425 struct cvmx_pip_ip_offset_s {
1426#ifdef __BIG_ENDIAN_BITFIELD
594 uint64_t reserved_3_63:61; 1427 uint64_t reserved_3_63:61;
595 uint64_t offset:3; 1428 uint64_t offset:3;
1429#else
1430 uint64_t offset:3;
1431 uint64_t reserved_3_63:61;
1432#endif
596 } s; 1433 } s;
597 struct cvmx_pip_ip_offset_s cn30xx; 1434 struct cvmx_pip_ip_offset_s cn30xx;
598 struct cvmx_pip_ip_offset_s cn31xx; 1435 struct cvmx_pip_ip_offset_s cn31xx;
@@ -605,12 +1442,63 @@ union cvmx_pip_ip_offset {
605 struct cvmx_pip_ip_offset_s cn56xxp1; 1442 struct cvmx_pip_ip_offset_s cn56xxp1;
606 struct cvmx_pip_ip_offset_s cn58xx; 1443 struct cvmx_pip_ip_offset_s cn58xx;
607 struct cvmx_pip_ip_offset_s cn58xxp1; 1444 struct cvmx_pip_ip_offset_s cn58xxp1;
1445 struct cvmx_pip_ip_offset_s cn61xx;
1446 struct cvmx_pip_ip_offset_s cn63xx;
1447 struct cvmx_pip_ip_offset_s cn63xxp1;
1448 struct cvmx_pip_ip_offset_s cn66xx;
1449 struct cvmx_pip_ip_offset_s cn68xx;
1450 struct cvmx_pip_ip_offset_s cn68xxp1;
1451 struct cvmx_pip_ip_offset_s cnf71xx;
1452};
1453
1454union cvmx_pip_pri_tblx {
1455 uint64_t u64;
1456 struct cvmx_pip_pri_tblx_s {
1457#ifdef __BIG_ENDIAN_BITFIELD
1458 uint64_t diff2_padd:8;
1459 uint64_t hg2_padd:8;
1460 uint64_t vlan2_padd:8;
1461 uint64_t reserved_38_39:2;
1462 uint64_t diff2_bpid:6;
1463 uint64_t reserved_30_31:2;
1464 uint64_t hg2_bpid:6;
1465 uint64_t reserved_22_23:2;
1466 uint64_t vlan2_bpid:6;
1467 uint64_t reserved_11_15:5;
1468 uint64_t diff2_qos:3;
1469 uint64_t reserved_7_7:1;
1470 uint64_t hg2_qos:3;
1471 uint64_t reserved_3_3:1;
1472 uint64_t vlan2_qos:3;
1473#else
1474 uint64_t vlan2_qos:3;
1475 uint64_t reserved_3_3:1;
1476 uint64_t hg2_qos:3;
1477 uint64_t reserved_7_7:1;
1478 uint64_t diff2_qos:3;
1479 uint64_t reserved_11_15:5;
1480 uint64_t vlan2_bpid:6;
1481 uint64_t reserved_22_23:2;
1482 uint64_t hg2_bpid:6;
1483 uint64_t reserved_30_31:2;
1484 uint64_t diff2_bpid:6;
1485 uint64_t reserved_38_39:2;
1486 uint64_t vlan2_padd:8;
1487 uint64_t hg2_padd:8;
1488 uint64_t diff2_padd:8;
1489#endif
1490 } s;
1491 struct cvmx_pip_pri_tblx_s cn68xx;
1492 struct cvmx_pip_pri_tblx_s cn68xxp1;
608}; 1493};
609 1494
610union cvmx_pip_prt_cfgx { 1495union cvmx_pip_prt_cfgx {
611 uint64_t u64; 1496 uint64_t u64;
612 struct cvmx_pip_prt_cfgx_s { 1497 struct cvmx_pip_prt_cfgx_s {
613 uint64_t reserved_53_63:11; 1498#ifdef __BIG_ENDIAN_BITFIELD
1499 uint64_t reserved_55_63:9;
1500 uint64_t ih_pri:1;
1501 uint64_t len_chk_sel:1;
614 uint64_t pad_len:1; 1502 uint64_t pad_len:1;
615 uint64_t vlan_len:1; 1503 uint64_t vlan_len:1;
616 uint64_t lenerr_en:1; 1504 uint64_t lenerr_en:1;
@@ -638,8 +1526,41 @@ union cvmx_pip_prt_cfgx {
638 uint64_t mode:2; 1526 uint64_t mode:2;
639 uint64_t reserved_7_7:1; 1527 uint64_t reserved_7_7:1;
640 uint64_t skip:7; 1528 uint64_t skip:7;
1529#else
1530 uint64_t skip:7;
1531 uint64_t reserved_7_7:1;
1532 uint64_t mode:2;
1533 uint64_t dsa_en:1;
1534 uint64_t higig_en:1;
1535 uint64_t crc_en:1;
1536 uint64_t reserved_13_15:3;
1537 uint64_t qos_vlan:1;
1538 uint64_t qos_diff:1;
1539 uint64_t qos_vod:1;
1540 uint64_t qos_vsel:1;
1541 uint64_t qos_wat:4;
1542 uint64_t qos:3;
1543 uint64_t hg_qos:1;
1544 uint64_t grp_wat:4;
1545 uint64_t inst_hdr:1;
1546 uint64_t dyn_rs:1;
1547 uint64_t tag_inc:2;
1548 uint64_t rawdrp:1;
1549 uint64_t reserved_37_39:3;
1550 uint64_t qos_wat_47:4;
1551 uint64_t grp_wat_47:4;
1552 uint64_t minerr_en:1;
1553 uint64_t maxerr_en:1;
1554 uint64_t lenerr_en:1;
1555 uint64_t vlan_len:1;
1556 uint64_t pad_len:1;
1557 uint64_t len_chk_sel:1;
1558 uint64_t ih_pri:1;
1559 uint64_t reserved_55_63:9;
1560#endif
641 } s; 1561 } s;
642 struct cvmx_pip_prt_cfgx_cn30xx { 1562 struct cvmx_pip_prt_cfgx_cn30xx {
1563#ifdef __BIG_ENDIAN_BITFIELD
643 uint64_t reserved_37_63:27; 1564 uint64_t reserved_37_63:27;
644 uint64_t rawdrp:1; 1565 uint64_t rawdrp:1;
645 uint64_t tag_inc:2; 1566 uint64_t tag_inc:2;
@@ -656,9 +1577,28 @@ union cvmx_pip_prt_cfgx {
656 uint64_t mode:2; 1577 uint64_t mode:2;
657 uint64_t reserved_7_7:1; 1578 uint64_t reserved_7_7:1;
658 uint64_t skip:7; 1579 uint64_t skip:7;
1580#else
1581 uint64_t skip:7;
1582 uint64_t reserved_7_7:1;
1583 uint64_t mode:2;
1584 uint64_t reserved_10_15:6;
1585 uint64_t qos_vlan:1;
1586 uint64_t qos_diff:1;
1587 uint64_t reserved_18_19:2;
1588 uint64_t qos_wat:4;
1589 uint64_t qos:3;
1590 uint64_t reserved_27_27:1;
1591 uint64_t grp_wat:4;
1592 uint64_t inst_hdr:1;
1593 uint64_t dyn_rs:1;
1594 uint64_t tag_inc:2;
1595 uint64_t rawdrp:1;
1596 uint64_t reserved_37_63:27;
1597#endif
659 } cn30xx; 1598 } cn30xx;
660 struct cvmx_pip_prt_cfgx_cn30xx cn31xx; 1599 struct cvmx_pip_prt_cfgx_cn30xx cn31xx;
661 struct cvmx_pip_prt_cfgx_cn38xx { 1600 struct cvmx_pip_prt_cfgx_cn38xx {
1601#ifdef __BIG_ENDIAN_BITFIELD
662 uint64_t reserved_37_63:27; 1602 uint64_t reserved_37_63:27;
663 uint64_t rawdrp:1; 1603 uint64_t rawdrp:1;
664 uint64_t tag_inc:2; 1604 uint64_t tag_inc:2;
@@ -677,9 +1617,30 @@ union cvmx_pip_prt_cfgx {
677 uint64_t mode:2; 1617 uint64_t mode:2;
678 uint64_t reserved_7_7:1; 1618 uint64_t reserved_7_7:1;
679 uint64_t skip:7; 1619 uint64_t skip:7;
1620#else
1621 uint64_t skip:7;
1622 uint64_t reserved_7_7:1;
1623 uint64_t mode:2;
1624 uint64_t reserved_10_11:2;
1625 uint64_t crc_en:1;
1626 uint64_t reserved_13_15:3;
1627 uint64_t qos_vlan:1;
1628 uint64_t qos_diff:1;
1629 uint64_t reserved_18_19:2;
1630 uint64_t qos_wat:4;
1631 uint64_t qos:3;
1632 uint64_t reserved_27_27:1;
1633 uint64_t grp_wat:4;
1634 uint64_t inst_hdr:1;
1635 uint64_t dyn_rs:1;
1636 uint64_t tag_inc:2;
1637 uint64_t rawdrp:1;
1638 uint64_t reserved_37_63:27;
1639#endif
680 } cn38xx; 1640 } cn38xx;
681 struct cvmx_pip_prt_cfgx_cn38xx cn38xxp2; 1641 struct cvmx_pip_prt_cfgx_cn38xx cn38xxp2;
682 struct cvmx_pip_prt_cfgx_cn50xx { 1642 struct cvmx_pip_prt_cfgx_cn50xx {
1643#ifdef __BIG_ENDIAN_BITFIELD
683 uint64_t reserved_53_63:11; 1644 uint64_t reserved_53_63:11;
684 uint64_t pad_len:1; 1645 uint64_t pad_len:1;
685 uint64_t vlan_len:1; 1646 uint64_t vlan_len:1;
@@ -707,12 +1668,102 @@ union cvmx_pip_prt_cfgx {
707 uint64_t mode:2; 1668 uint64_t mode:2;
708 uint64_t reserved_7_7:1; 1669 uint64_t reserved_7_7:1;
709 uint64_t skip:7; 1670 uint64_t skip:7;
1671#else
1672 uint64_t skip:7;
1673 uint64_t reserved_7_7:1;
1674 uint64_t mode:2;
1675 uint64_t reserved_10_11:2;
1676 uint64_t crc_en:1;
1677 uint64_t reserved_13_15:3;
1678 uint64_t qos_vlan:1;
1679 uint64_t qos_diff:1;
1680 uint64_t qos_vod:1;
1681 uint64_t reserved_19_19:1;
1682 uint64_t qos_wat:4;
1683 uint64_t qos:3;
1684 uint64_t reserved_27_27:1;
1685 uint64_t grp_wat:4;
1686 uint64_t inst_hdr:1;
1687 uint64_t dyn_rs:1;
1688 uint64_t tag_inc:2;
1689 uint64_t rawdrp:1;
1690 uint64_t reserved_37_39:3;
1691 uint64_t qos_wat_47:4;
1692 uint64_t grp_wat_47:4;
1693 uint64_t minerr_en:1;
1694 uint64_t maxerr_en:1;
1695 uint64_t lenerr_en:1;
1696 uint64_t vlan_len:1;
1697 uint64_t pad_len:1;
1698 uint64_t reserved_53_63:11;
1699#endif
710 } cn50xx; 1700 } cn50xx;
711 struct cvmx_pip_prt_cfgx_s cn52xx; 1701 struct cvmx_pip_prt_cfgx_cn52xx {
712 struct cvmx_pip_prt_cfgx_s cn52xxp1; 1702#ifdef __BIG_ENDIAN_BITFIELD
713 struct cvmx_pip_prt_cfgx_s cn56xx; 1703 uint64_t reserved_53_63:11;
1704 uint64_t pad_len:1;
1705 uint64_t vlan_len:1;
1706 uint64_t lenerr_en:1;
1707 uint64_t maxerr_en:1;
1708 uint64_t minerr_en:1;
1709 uint64_t grp_wat_47:4;
1710 uint64_t qos_wat_47:4;
1711 uint64_t reserved_37_39:3;
1712 uint64_t rawdrp:1;
1713 uint64_t tag_inc:2;
1714 uint64_t dyn_rs:1;
1715 uint64_t inst_hdr:1;
1716 uint64_t grp_wat:4;
1717 uint64_t hg_qos:1;
1718 uint64_t qos:3;
1719 uint64_t qos_wat:4;
1720 uint64_t qos_vsel:1;
1721 uint64_t qos_vod:1;
1722 uint64_t qos_diff:1;
1723 uint64_t qos_vlan:1;
1724 uint64_t reserved_13_15:3;
1725 uint64_t crc_en:1;
1726 uint64_t higig_en:1;
1727 uint64_t dsa_en:1;
1728 uint64_t mode:2;
1729 uint64_t reserved_7_7:1;
1730 uint64_t skip:7;
1731#else
1732 uint64_t skip:7;
1733 uint64_t reserved_7_7:1;
1734 uint64_t mode:2;
1735 uint64_t dsa_en:1;
1736 uint64_t higig_en:1;
1737 uint64_t crc_en:1;
1738 uint64_t reserved_13_15:3;
1739 uint64_t qos_vlan:1;
1740 uint64_t qos_diff:1;
1741 uint64_t qos_vod:1;
1742 uint64_t qos_vsel:1;
1743 uint64_t qos_wat:4;
1744 uint64_t qos:3;
1745 uint64_t hg_qos:1;
1746 uint64_t grp_wat:4;
1747 uint64_t inst_hdr:1;
1748 uint64_t dyn_rs:1;
1749 uint64_t tag_inc:2;
1750 uint64_t rawdrp:1;
1751 uint64_t reserved_37_39:3;
1752 uint64_t qos_wat_47:4;
1753 uint64_t grp_wat_47:4;
1754 uint64_t minerr_en:1;
1755 uint64_t maxerr_en:1;
1756 uint64_t lenerr_en:1;
1757 uint64_t vlan_len:1;
1758 uint64_t pad_len:1;
1759 uint64_t reserved_53_63:11;
1760#endif
1761 } cn52xx;
1762 struct cvmx_pip_prt_cfgx_cn52xx cn52xxp1;
1763 struct cvmx_pip_prt_cfgx_cn52xx cn56xx;
714 struct cvmx_pip_prt_cfgx_cn50xx cn56xxp1; 1764 struct cvmx_pip_prt_cfgx_cn50xx cn56xxp1;
715 struct cvmx_pip_prt_cfgx_cn58xx { 1765 struct cvmx_pip_prt_cfgx_cn58xx {
1766#ifdef __BIG_ENDIAN_BITFIELD
716 uint64_t reserved_37_63:27; 1767 uint64_t reserved_37_63:27;
717 uint64_t rawdrp:1; 1768 uint64_t rawdrp:1;
718 uint64_t tag_inc:2; 1769 uint64_t tag_inc:2;
@@ -732,14 +1783,191 @@ union cvmx_pip_prt_cfgx {
732 uint64_t mode:2; 1783 uint64_t mode:2;
733 uint64_t reserved_7_7:1; 1784 uint64_t reserved_7_7:1;
734 uint64_t skip:7; 1785 uint64_t skip:7;
1786#else
1787 uint64_t skip:7;
1788 uint64_t reserved_7_7:1;
1789 uint64_t mode:2;
1790 uint64_t reserved_10_11:2;
1791 uint64_t crc_en:1;
1792 uint64_t reserved_13_15:3;
1793 uint64_t qos_vlan:1;
1794 uint64_t qos_diff:1;
1795 uint64_t qos_vod:1;
1796 uint64_t reserved_19_19:1;
1797 uint64_t qos_wat:4;
1798 uint64_t qos:3;
1799 uint64_t reserved_27_27:1;
1800 uint64_t grp_wat:4;
1801 uint64_t inst_hdr:1;
1802 uint64_t dyn_rs:1;
1803 uint64_t tag_inc:2;
1804 uint64_t rawdrp:1;
1805 uint64_t reserved_37_63:27;
1806#endif
735 } cn58xx; 1807 } cn58xx;
736 struct cvmx_pip_prt_cfgx_cn58xx cn58xxp1; 1808 struct cvmx_pip_prt_cfgx_cn58xx cn58xxp1;
1809 struct cvmx_pip_prt_cfgx_cn52xx cn61xx;
1810 struct cvmx_pip_prt_cfgx_cn52xx cn63xx;
1811 struct cvmx_pip_prt_cfgx_cn52xx cn63xxp1;
1812 struct cvmx_pip_prt_cfgx_cn52xx cn66xx;
1813 struct cvmx_pip_prt_cfgx_cn68xx {
1814#ifdef __BIG_ENDIAN_BITFIELD
1815 uint64_t reserved_55_63:9;
1816 uint64_t ih_pri:1;
1817 uint64_t len_chk_sel:1;
1818 uint64_t pad_len:1;
1819 uint64_t vlan_len:1;
1820 uint64_t lenerr_en:1;
1821 uint64_t maxerr_en:1;
1822 uint64_t minerr_en:1;
1823 uint64_t grp_wat_47:4;
1824 uint64_t qos_wat_47:4;
1825 uint64_t reserved_37_39:3;
1826 uint64_t rawdrp:1;
1827 uint64_t tag_inc:2;
1828 uint64_t dyn_rs:1;
1829 uint64_t inst_hdr:1;
1830 uint64_t grp_wat:4;
1831 uint64_t hg_qos:1;
1832 uint64_t qos:3;
1833 uint64_t qos_wat:4;
1834 uint64_t reserved_19_19:1;
1835 uint64_t qos_vod:1;
1836 uint64_t qos_diff:1;
1837 uint64_t qos_vlan:1;
1838 uint64_t reserved_13_15:3;
1839 uint64_t crc_en:1;
1840 uint64_t higig_en:1;
1841 uint64_t dsa_en:1;
1842 uint64_t mode:2;
1843 uint64_t reserved_7_7:1;
1844 uint64_t skip:7;
1845#else
1846 uint64_t skip:7;
1847 uint64_t reserved_7_7:1;
1848 uint64_t mode:2;
1849 uint64_t dsa_en:1;
1850 uint64_t higig_en:1;
1851 uint64_t crc_en:1;
1852 uint64_t reserved_13_15:3;
1853 uint64_t qos_vlan:1;
1854 uint64_t qos_diff:1;
1855 uint64_t qos_vod:1;
1856 uint64_t reserved_19_19:1;
1857 uint64_t qos_wat:4;
1858 uint64_t qos:3;
1859 uint64_t hg_qos:1;
1860 uint64_t grp_wat:4;
1861 uint64_t inst_hdr:1;
1862 uint64_t dyn_rs:1;
1863 uint64_t tag_inc:2;
1864 uint64_t rawdrp:1;
1865 uint64_t reserved_37_39:3;
1866 uint64_t qos_wat_47:4;
1867 uint64_t grp_wat_47:4;
1868 uint64_t minerr_en:1;
1869 uint64_t maxerr_en:1;
1870 uint64_t lenerr_en:1;
1871 uint64_t vlan_len:1;
1872 uint64_t pad_len:1;
1873 uint64_t len_chk_sel:1;
1874 uint64_t ih_pri:1;
1875 uint64_t reserved_55_63:9;
1876#endif
1877 } cn68xx;
1878 struct cvmx_pip_prt_cfgx_cn68xx cn68xxp1;
1879 struct cvmx_pip_prt_cfgx_cn52xx cnf71xx;
1880};
1881
1882union cvmx_pip_prt_cfgbx {
1883 uint64_t u64;
1884 struct cvmx_pip_prt_cfgbx_s {
1885#ifdef __BIG_ENDIAN_BITFIELD
1886 uint64_t reserved_39_63:25;
1887 uint64_t alt_skp_sel:2;
1888 uint64_t alt_skp_en:1;
1889 uint64_t reserved_35_35:1;
1890 uint64_t bsel_num:2;
1891 uint64_t bsel_en:1;
1892 uint64_t reserved_24_31:8;
1893 uint64_t base:8;
1894 uint64_t reserved_6_15:10;
1895 uint64_t bpid:6;
1896#else
1897 uint64_t bpid:6;
1898 uint64_t reserved_6_15:10;
1899 uint64_t base:8;
1900 uint64_t reserved_24_31:8;
1901 uint64_t bsel_en:1;
1902 uint64_t bsel_num:2;
1903 uint64_t reserved_35_35:1;
1904 uint64_t alt_skp_en:1;
1905 uint64_t alt_skp_sel:2;
1906 uint64_t reserved_39_63:25;
1907#endif
1908 } s;
1909 struct cvmx_pip_prt_cfgbx_cn61xx {
1910#ifdef __BIG_ENDIAN_BITFIELD
1911 uint64_t reserved_39_63:25;
1912 uint64_t alt_skp_sel:2;
1913 uint64_t alt_skp_en:1;
1914 uint64_t reserved_35_35:1;
1915 uint64_t bsel_num:2;
1916 uint64_t bsel_en:1;
1917 uint64_t reserved_0_31:32;
1918#else
1919 uint64_t reserved_0_31:32;
1920 uint64_t bsel_en:1;
1921 uint64_t bsel_num:2;
1922 uint64_t reserved_35_35:1;
1923 uint64_t alt_skp_en:1;
1924 uint64_t alt_skp_sel:2;
1925 uint64_t reserved_39_63:25;
1926#endif
1927 } cn61xx;
1928 struct cvmx_pip_prt_cfgbx_cn66xx {
1929#ifdef __BIG_ENDIAN_BITFIELD
1930 uint64_t reserved_39_63:25;
1931 uint64_t alt_skp_sel:2;
1932 uint64_t alt_skp_en:1;
1933 uint64_t reserved_0_35:36;
1934#else
1935 uint64_t reserved_0_35:36;
1936 uint64_t alt_skp_en:1;
1937 uint64_t alt_skp_sel:2;
1938 uint64_t reserved_39_63:25;
1939#endif
1940 } cn66xx;
1941 struct cvmx_pip_prt_cfgbx_s cn68xx;
1942 struct cvmx_pip_prt_cfgbx_cn68xxp1 {
1943#ifdef __BIG_ENDIAN_BITFIELD
1944 uint64_t reserved_24_63:40;
1945 uint64_t base:8;
1946 uint64_t reserved_6_15:10;
1947 uint64_t bpid:6;
1948#else
1949 uint64_t bpid:6;
1950 uint64_t reserved_6_15:10;
1951 uint64_t base:8;
1952 uint64_t reserved_24_63:40;
1953#endif
1954 } cn68xxp1;
1955 struct cvmx_pip_prt_cfgbx_cn61xx cnf71xx;
737}; 1956};
738 1957
739union cvmx_pip_prt_tagx { 1958union cvmx_pip_prt_tagx {
740 uint64_t u64; 1959 uint64_t u64;
741 struct cvmx_pip_prt_tagx_s { 1960 struct cvmx_pip_prt_tagx_s {
742 uint64_t reserved_40_63:24; 1961#ifdef __BIG_ENDIAN_BITFIELD
1962 uint64_t reserved_54_63:10;
1963 uint64_t portadd_en:1;
1964 uint64_t inc_hwchk:1;
1965 uint64_t reserved_50_51:2;
1966 uint64_t grptagbase_msb:2;
1967 uint64_t reserved_46_47:2;
1968 uint64_t grptagmask_msb:2;
1969 uint64_t reserved_42_43:2;
1970 uint64_t grp_msb:2;
743 uint64_t grptagbase:4; 1971 uint64_t grptagbase:4;
744 uint64_t grptagmask:4; 1972 uint64_t grptagmask:4;
745 uint64_t grptag:1; 1973 uint64_t grptag:1;
@@ -764,8 +1992,44 @@ union cvmx_pip_prt_tagx {
764 uint64_t ip4_tag_type:2; 1992 uint64_t ip4_tag_type:2;
765 uint64_t non_tag_type:2; 1993 uint64_t non_tag_type:2;
766 uint64_t grp:4; 1994 uint64_t grp:4;
1995#else
1996 uint64_t grp:4;
1997 uint64_t non_tag_type:2;
1998 uint64_t ip4_tag_type:2;
1999 uint64_t ip6_tag_type:2;
2000 uint64_t tcp4_tag_type:2;
2001 uint64_t tcp6_tag_type:2;
2002 uint64_t ip4_src_flag:1;
2003 uint64_t ip6_src_flag:1;
2004 uint64_t ip4_dst_flag:1;
2005 uint64_t ip6_dst_flag:1;
2006 uint64_t ip4_pctl_flag:1;
2007 uint64_t ip6_nxth_flag:1;
2008 uint64_t ip4_sprt_flag:1;
2009 uint64_t ip6_sprt_flag:1;
2010 uint64_t ip4_dprt_flag:1;
2011 uint64_t ip6_dprt_flag:1;
2012 uint64_t inc_prt_flag:1;
2013 uint64_t inc_vlan:1;
2014 uint64_t inc_vs:2;
2015 uint64_t tag_mode:2;
2016 uint64_t grptag_mskip:1;
2017 uint64_t grptag:1;
2018 uint64_t grptagmask:4;
2019 uint64_t grptagbase:4;
2020 uint64_t grp_msb:2;
2021 uint64_t reserved_42_43:2;
2022 uint64_t grptagmask_msb:2;
2023 uint64_t reserved_46_47:2;
2024 uint64_t grptagbase_msb:2;
2025 uint64_t reserved_50_51:2;
2026 uint64_t inc_hwchk:1;
2027 uint64_t portadd_en:1;
2028 uint64_t reserved_54_63:10;
2029#endif
767 } s; 2030 } s;
768 struct cvmx_pip_prt_tagx_cn30xx { 2031 struct cvmx_pip_prt_tagx_cn30xx {
2032#ifdef __BIG_ENDIAN_BITFIELD
769 uint64_t reserved_40_63:24; 2033 uint64_t reserved_40_63:24;
770 uint64_t grptagbase:4; 2034 uint64_t grptagbase:4;
771 uint64_t grptagmask:4; 2035 uint64_t grptagmask:4;
@@ -791,24 +2055,117 @@ union cvmx_pip_prt_tagx {
791 uint64_t ip4_tag_type:2; 2055 uint64_t ip4_tag_type:2;
792 uint64_t non_tag_type:2; 2056 uint64_t non_tag_type:2;
793 uint64_t grp:4; 2057 uint64_t grp:4;
2058#else
2059 uint64_t grp:4;
2060 uint64_t non_tag_type:2;
2061 uint64_t ip4_tag_type:2;
2062 uint64_t ip6_tag_type:2;
2063 uint64_t tcp4_tag_type:2;
2064 uint64_t tcp6_tag_type:2;
2065 uint64_t ip4_src_flag:1;
2066 uint64_t ip6_src_flag:1;
2067 uint64_t ip4_dst_flag:1;
2068 uint64_t ip6_dst_flag:1;
2069 uint64_t ip4_pctl_flag:1;
2070 uint64_t ip6_nxth_flag:1;
2071 uint64_t ip4_sprt_flag:1;
2072 uint64_t ip6_sprt_flag:1;
2073 uint64_t ip4_dprt_flag:1;
2074 uint64_t ip6_dprt_flag:1;
2075 uint64_t inc_prt_flag:1;
2076 uint64_t inc_vlan:1;
2077 uint64_t inc_vs:2;
2078 uint64_t tag_mode:2;
2079 uint64_t reserved_30_30:1;
2080 uint64_t grptag:1;
2081 uint64_t grptagmask:4;
2082 uint64_t grptagbase:4;
2083 uint64_t reserved_40_63:24;
2084#endif
794 } cn30xx; 2085 } cn30xx;
795 struct cvmx_pip_prt_tagx_cn30xx cn31xx; 2086 struct cvmx_pip_prt_tagx_cn30xx cn31xx;
796 struct cvmx_pip_prt_tagx_cn30xx cn38xx; 2087 struct cvmx_pip_prt_tagx_cn30xx cn38xx;
797 struct cvmx_pip_prt_tagx_cn30xx cn38xxp2; 2088 struct cvmx_pip_prt_tagx_cn30xx cn38xxp2;
798 struct cvmx_pip_prt_tagx_s cn50xx; 2089 struct cvmx_pip_prt_tagx_cn50xx {
799 struct cvmx_pip_prt_tagx_s cn52xx; 2090#ifdef __BIG_ENDIAN_BITFIELD
800 struct cvmx_pip_prt_tagx_s cn52xxp1; 2091 uint64_t reserved_40_63:24;
801 struct cvmx_pip_prt_tagx_s cn56xx; 2092 uint64_t grptagbase:4;
802 struct cvmx_pip_prt_tagx_s cn56xxp1; 2093 uint64_t grptagmask:4;
2094 uint64_t grptag:1;
2095 uint64_t grptag_mskip:1;
2096 uint64_t tag_mode:2;
2097 uint64_t inc_vs:2;
2098 uint64_t inc_vlan:1;
2099 uint64_t inc_prt_flag:1;
2100 uint64_t ip6_dprt_flag:1;
2101 uint64_t ip4_dprt_flag:1;
2102 uint64_t ip6_sprt_flag:1;
2103 uint64_t ip4_sprt_flag:1;
2104 uint64_t ip6_nxth_flag:1;
2105 uint64_t ip4_pctl_flag:1;
2106 uint64_t ip6_dst_flag:1;
2107 uint64_t ip4_dst_flag:1;
2108 uint64_t ip6_src_flag:1;
2109 uint64_t ip4_src_flag:1;
2110 uint64_t tcp6_tag_type:2;
2111 uint64_t tcp4_tag_type:2;
2112 uint64_t ip6_tag_type:2;
2113 uint64_t ip4_tag_type:2;
2114 uint64_t non_tag_type:2;
2115 uint64_t grp:4;
2116#else
2117 uint64_t grp:4;
2118 uint64_t non_tag_type:2;
2119 uint64_t ip4_tag_type:2;
2120 uint64_t ip6_tag_type:2;
2121 uint64_t tcp4_tag_type:2;
2122 uint64_t tcp6_tag_type:2;
2123 uint64_t ip4_src_flag:1;
2124 uint64_t ip6_src_flag:1;
2125 uint64_t ip4_dst_flag:1;
2126 uint64_t ip6_dst_flag:1;
2127 uint64_t ip4_pctl_flag:1;
2128 uint64_t ip6_nxth_flag:1;
2129 uint64_t ip4_sprt_flag:1;
2130 uint64_t ip6_sprt_flag:1;
2131 uint64_t ip4_dprt_flag:1;
2132 uint64_t ip6_dprt_flag:1;
2133 uint64_t inc_prt_flag:1;
2134 uint64_t inc_vlan:1;
2135 uint64_t inc_vs:2;
2136 uint64_t tag_mode:2;
2137 uint64_t grptag_mskip:1;
2138 uint64_t grptag:1;
2139 uint64_t grptagmask:4;
2140 uint64_t grptagbase:4;
2141 uint64_t reserved_40_63:24;
2142#endif
2143 } cn50xx;
2144 struct cvmx_pip_prt_tagx_cn50xx cn52xx;
2145 struct cvmx_pip_prt_tagx_cn50xx cn52xxp1;
2146 struct cvmx_pip_prt_tagx_cn50xx cn56xx;
2147 struct cvmx_pip_prt_tagx_cn50xx cn56xxp1;
803 struct cvmx_pip_prt_tagx_cn30xx cn58xx; 2148 struct cvmx_pip_prt_tagx_cn30xx cn58xx;
804 struct cvmx_pip_prt_tagx_cn30xx cn58xxp1; 2149 struct cvmx_pip_prt_tagx_cn30xx cn58xxp1;
2150 struct cvmx_pip_prt_tagx_cn50xx cn61xx;
2151 struct cvmx_pip_prt_tagx_cn50xx cn63xx;
2152 struct cvmx_pip_prt_tagx_cn50xx cn63xxp1;
2153 struct cvmx_pip_prt_tagx_cn50xx cn66xx;
2154 struct cvmx_pip_prt_tagx_s cn68xx;
2155 struct cvmx_pip_prt_tagx_s cn68xxp1;
2156 struct cvmx_pip_prt_tagx_cn50xx cnf71xx;
805}; 2157};
806 2158
807union cvmx_pip_qos_diffx { 2159union cvmx_pip_qos_diffx {
808 uint64_t u64; 2160 uint64_t u64;
809 struct cvmx_pip_qos_diffx_s { 2161 struct cvmx_pip_qos_diffx_s {
2162#ifdef __BIG_ENDIAN_BITFIELD
810 uint64_t reserved_3_63:61; 2163 uint64_t reserved_3_63:61;
811 uint64_t qos:3; 2164 uint64_t qos:3;
2165#else
2166 uint64_t qos:3;
2167 uint64_t reserved_3_63:61;
2168#endif
812 } s; 2169 } s;
813 struct cvmx_pip_qos_diffx_s cn30xx; 2170 struct cvmx_pip_qos_diffx_s cn30xx;
814 struct cvmx_pip_qos_diffx_s cn31xx; 2171 struct cvmx_pip_qos_diffx_s cn31xx;
@@ -821,19 +2178,36 @@ union cvmx_pip_qos_diffx {
821 struct cvmx_pip_qos_diffx_s cn56xxp1; 2178 struct cvmx_pip_qos_diffx_s cn56xxp1;
822 struct cvmx_pip_qos_diffx_s cn58xx; 2179 struct cvmx_pip_qos_diffx_s cn58xx;
823 struct cvmx_pip_qos_diffx_s cn58xxp1; 2180 struct cvmx_pip_qos_diffx_s cn58xxp1;
2181 struct cvmx_pip_qos_diffx_s cn61xx;
2182 struct cvmx_pip_qos_diffx_s cn63xx;
2183 struct cvmx_pip_qos_diffx_s cn63xxp1;
2184 struct cvmx_pip_qos_diffx_s cn66xx;
2185 struct cvmx_pip_qos_diffx_s cnf71xx;
824}; 2186};
825 2187
826union cvmx_pip_qos_vlanx { 2188union cvmx_pip_qos_vlanx {
827 uint64_t u64; 2189 uint64_t u64;
828 struct cvmx_pip_qos_vlanx_s { 2190 struct cvmx_pip_qos_vlanx_s {
2191#ifdef __BIG_ENDIAN_BITFIELD
829 uint64_t reserved_7_63:57; 2192 uint64_t reserved_7_63:57;
830 uint64_t qos1:3; 2193 uint64_t qos1:3;
831 uint64_t reserved_3_3:1; 2194 uint64_t reserved_3_3:1;
832 uint64_t qos:3; 2195 uint64_t qos:3;
2196#else
2197 uint64_t qos:3;
2198 uint64_t reserved_3_3:1;
2199 uint64_t qos1:3;
2200 uint64_t reserved_7_63:57;
2201#endif
833 } s; 2202 } s;
834 struct cvmx_pip_qos_vlanx_cn30xx { 2203 struct cvmx_pip_qos_vlanx_cn30xx {
2204#ifdef __BIG_ENDIAN_BITFIELD
835 uint64_t reserved_3_63:61; 2205 uint64_t reserved_3_63:61;
836 uint64_t qos:3; 2206 uint64_t qos:3;
2207#else
2208 uint64_t qos:3;
2209 uint64_t reserved_3_63:61;
2210#endif
837 } cn30xx; 2211 } cn30xx;
838 struct cvmx_pip_qos_vlanx_cn30xx cn31xx; 2212 struct cvmx_pip_qos_vlanx_cn30xx cn31xx;
839 struct cvmx_pip_qos_vlanx_cn30xx cn38xx; 2213 struct cvmx_pip_qos_vlanx_cn30xx cn38xx;
@@ -845,22 +2219,40 @@ union cvmx_pip_qos_vlanx {
845 struct cvmx_pip_qos_vlanx_cn30xx cn56xxp1; 2219 struct cvmx_pip_qos_vlanx_cn30xx cn56xxp1;
846 struct cvmx_pip_qos_vlanx_cn30xx cn58xx; 2220 struct cvmx_pip_qos_vlanx_cn30xx cn58xx;
847 struct cvmx_pip_qos_vlanx_cn30xx cn58xxp1; 2221 struct cvmx_pip_qos_vlanx_cn30xx cn58xxp1;
2222 struct cvmx_pip_qos_vlanx_s cn61xx;
2223 struct cvmx_pip_qos_vlanx_s cn63xx;
2224 struct cvmx_pip_qos_vlanx_s cn63xxp1;
2225 struct cvmx_pip_qos_vlanx_s cn66xx;
2226 struct cvmx_pip_qos_vlanx_s cnf71xx;
848}; 2227};
849 2228
850union cvmx_pip_qos_watchx { 2229union cvmx_pip_qos_watchx {
851 uint64_t u64; 2230 uint64_t u64;
852 struct cvmx_pip_qos_watchx_s { 2231 struct cvmx_pip_qos_watchx_s {
2232#ifdef __BIG_ENDIAN_BITFIELD
853 uint64_t reserved_48_63:16; 2233 uint64_t reserved_48_63:16;
854 uint64_t mask:16; 2234 uint64_t mask:16;
855 uint64_t reserved_28_31:4; 2235 uint64_t reserved_30_31:2;
856 uint64_t grp:4; 2236 uint64_t grp:6;
857 uint64_t reserved_23_23:1; 2237 uint64_t reserved_23_23:1;
858 uint64_t qos:3; 2238 uint64_t qos:3;
859 uint64_t reserved_19_19:1; 2239 uint64_t reserved_19_19:1;
860 uint64_t match_type:3; 2240 uint64_t match_type:3;
861 uint64_t match_value:16; 2241 uint64_t match_value:16;
2242#else
2243 uint64_t match_value:16;
2244 uint64_t match_type:3;
2245 uint64_t reserved_19_19:1;
2246 uint64_t qos:3;
2247 uint64_t reserved_23_23:1;
2248 uint64_t grp:6;
2249 uint64_t reserved_30_31:2;
2250 uint64_t mask:16;
2251 uint64_t reserved_48_63:16;
2252#endif
862 } s; 2253 } s;
863 struct cvmx_pip_qos_watchx_cn30xx { 2254 struct cvmx_pip_qos_watchx_cn30xx {
2255#ifdef __BIG_ENDIAN_BITFIELD
864 uint64_t reserved_48_63:16; 2256 uint64_t reserved_48_63:16;
865 uint64_t mask:16; 2257 uint64_t mask:16;
866 uint64_t reserved_28_31:4; 2258 uint64_t reserved_28_31:4;
@@ -870,24 +2262,69 @@ union cvmx_pip_qos_watchx {
870 uint64_t reserved_18_19:2; 2262 uint64_t reserved_18_19:2;
871 uint64_t match_type:2; 2263 uint64_t match_type:2;
872 uint64_t match_value:16; 2264 uint64_t match_value:16;
2265#else
2266 uint64_t match_value:16;
2267 uint64_t match_type:2;
2268 uint64_t reserved_18_19:2;
2269 uint64_t qos:3;
2270 uint64_t reserved_23_23:1;
2271 uint64_t grp:4;
2272 uint64_t reserved_28_31:4;
2273 uint64_t mask:16;
2274 uint64_t reserved_48_63:16;
2275#endif
873 } cn30xx; 2276 } cn30xx;
874 struct cvmx_pip_qos_watchx_cn30xx cn31xx; 2277 struct cvmx_pip_qos_watchx_cn30xx cn31xx;
875 struct cvmx_pip_qos_watchx_cn30xx cn38xx; 2278 struct cvmx_pip_qos_watchx_cn30xx cn38xx;
876 struct cvmx_pip_qos_watchx_cn30xx cn38xxp2; 2279 struct cvmx_pip_qos_watchx_cn30xx cn38xxp2;
877 struct cvmx_pip_qos_watchx_s cn50xx; 2280 struct cvmx_pip_qos_watchx_cn50xx {
878 struct cvmx_pip_qos_watchx_s cn52xx; 2281#ifdef __BIG_ENDIAN_BITFIELD
879 struct cvmx_pip_qos_watchx_s cn52xxp1; 2282 uint64_t reserved_48_63:16;
880 struct cvmx_pip_qos_watchx_s cn56xx; 2283 uint64_t mask:16;
881 struct cvmx_pip_qos_watchx_s cn56xxp1; 2284 uint64_t reserved_28_31:4;
2285 uint64_t grp:4;
2286 uint64_t reserved_23_23:1;
2287 uint64_t qos:3;
2288 uint64_t reserved_19_19:1;
2289 uint64_t match_type:3;
2290 uint64_t match_value:16;
2291#else
2292 uint64_t match_value:16;
2293 uint64_t match_type:3;
2294 uint64_t reserved_19_19:1;
2295 uint64_t qos:3;
2296 uint64_t reserved_23_23:1;
2297 uint64_t grp:4;
2298 uint64_t reserved_28_31:4;
2299 uint64_t mask:16;
2300 uint64_t reserved_48_63:16;
2301#endif
2302 } cn50xx;
2303 struct cvmx_pip_qos_watchx_cn50xx cn52xx;
2304 struct cvmx_pip_qos_watchx_cn50xx cn52xxp1;
2305 struct cvmx_pip_qos_watchx_cn50xx cn56xx;
2306 struct cvmx_pip_qos_watchx_cn50xx cn56xxp1;
882 struct cvmx_pip_qos_watchx_cn30xx cn58xx; 2307 struct cvmx_pip_qos_watchx_cn30xx cn58xx;
883 struct cvmx_pip_qos_watchx_cn30xx cn58xxp1; 2308 struct cvmx_pip_qos_watchx_cn30xx cn58xxp1;
2309 struct cvmx_pip_qos_watchx_cn50xx cn61xx;
2310 struct cvmx_pip_qos_watchx_cn50xx cn63xx;
2311 struct cvmx_pip_qos_watchx_cn50xx cn63xxp1;
2312 struct cvmx_pip_qos_watchx_cn50xx cn66xx;
2313 struct cvmx_pip_qos_watchx_s cn68xx;
2314 struct cvmx_pip_qos_watchx_s cn68xxp1;
2315 struct cvmx_pip_qos_watchx_cn50xx cnf71xx;
884}; 2316};
885 2317
886union cvmx_pip_raw_word { 2318union cvmx_pip_raw_word {
887 uint64_t u64; 2319 uint64_t u64;
888 struct cvmx_pip_raw_word_s { 2320 struct cvmx_pip_raw_word_s {
2321#ifdef __BIG_ENDIAN_BITFIELD
889 uint64_t reserved_56_63:8; 2322 uint64_t reserved_56_63:8;
890 uint64_t word:56; 2323 uint64_t word:56;
2324#else
2325 uint64_t word:56;
2326 uint64_t reserved_56_63:8;
2327#endif
891 } s; 2328 } s;
892 struct cvmx_pip_raw_word_s cn30xx; 2329 struct cvmx_pip_raw_word_s cn30xx;
893 struct cvmx_pip_raw_word_s cn31xx; 2330 struct cvmx_pip_raw_word_s cn31xx;
@@ -900,13 +2337,25 @@ union cvmx_pip_raw_word {
900 struct cvmx_pip_raw_word_s cn56xxp1; 2337 struct cvmx_pip_raw_word_s cn56xxp1;
901 struct cvmx_pip_raw_word_s cn58xx; 2338 struct cvmx_pip_raw_word_s cn58xx;
902 struct cvmx_pip_raw_word_s cn58xxp1; 2339 struct cvmx_pip_raw_word_s cn58xxp1;
2340 struct cvmx_pip_raw_word_s cn61xx;
2341 struct cvmx_pip_raw_word_s cn63xx;
2342 struct cvmx_pip_raw_word_s cn63xxp1;
2343 struct cvmx_pip_raw_word_s cn66xx;
2344 struct cvmx_pip_raw_word_s cn68xx;
2345 struct cvmx_pip_raw_word_s cn68xxp1;
2346 struct cvmx_pip_raw_word_s cnf71xx;
903}; 2347};
904 2348
905union cvmx_pip_sft_rst { 2349union cvmx_pip_sft_rst {
906 uint64_t u64; 2350 uint64_t u64;
907 struct cvmx_pip_sft_rst_s { 2351 struct cvmx_pip_sft_rst_s {
2352#ifdef __BIG_ENDIAN_BITFIELD
908 uint64_t reserved_1_63:63; 2353 uint64_t reserved_1_63:63;
909 uint64_t rst:1; 2354 uint64_t rst:1;
2355#else
2356 uint64_t rst:1;
2357 uint64_t reserved_1_63:63;
2358#endif
910 } s; 2359 } s;
911 struct cvmx_pip_sft_rst_s cn30xx; 2360 struct cvmx_pip_sft_rst_s cn30xx;
912 struct cvmx_pip_sft_rst_s cn31xx; 2361 struct cvmx_pip_sft_rst_s cn31xx;
@@ -918,13 +2367,40 @@ union cvmx_pip_sft_rst {
918 struct cvmx_pip_sft_rst_s cn56xxp1; 2367 struct cvmx_pip_sft_rst_s cn56xxp1;
919 struct cvmx_pip_sft_rst_s cn58xx; 2368 struct cvmx_pip_sft_rst_s cn58xx;
920 struct cvmx_pip_sft_rst_s cn58xxp1; 2369 struct cvmx_pip_sft_rst_s cn58xxp1;
2370 struct cvmx_pip_sft_rst_s cn61xx;
2371 struct cvmx_pip_sft_rst_s cn63xx;
2372 struct cvmx_pip_sft_rst_s cn63xxp1;
2373 struct cvmx_pip_sft_rst_s cn66xx;
2374 struct cvmx_pip_sft_rst_s cn68xx;
2375 struct cvmx_pip_sft_rst_s cn68xxp1;
2376 struct cvmx_pip_sft_rst_s cnf71xx;
2377};
2378
2379union cvmx_pip_stat0_x {
2380 uint64_t u64;
2381 struct cvmx_pip_stat0_x_s {
2382#ifdef __BIG_ENDIAN_BITFIELD
2383 uint64_t drp_pkts:32;
2384 uint64_t drp_octs:32;
2385#else
2386 uint64_t drp_octs:32;
2387 uint64_t drp_pkts:32;
2388#endif
2389 } s;
2390 struct cvmx_pip_stat0_x_s cn68xx;
2391 struct cvmx_pip_stat0_x_s cn68xxp1;
921}; 2392};
922 2393
923union cvmx_pip_stat0_prtx { 2394union cvmx_pip_stat0_prtx {
924 uint64_t u64; 2395 uint64_t u64;
925 struct cvmx_pip_stat0_prtx_s { 2396 struct cvmx_pip_stat0_prtx_s {
2397#ifdef __BIG_ENDIAN_BITFIELD
926 uint64_t drp_pkts:32; 2398 uint64_t drp_pkts:32;
927 uint64_t drp_octs:32; 2399 uint64_t drp_octs:32;
2400#else
2401 uint64_t drp_octs:32;
2402 uint64_t drp_pkts:32;
2403#endif
928 } s; 2404 } s;
929 struct cvmx_pip_stat0_prtx_s cn30xx; 2405 struct cvmx_pip_stat0_prtx_s cn30xx;
930 struct cvmx_pip_stat0_prtx_s cn31xx; 2406 struct cvmx_pip_stat0_prtx_s cn31xx;
@@ -937,13 +2413,112 @@ union cvmx_pip_stat0_prtx {
937 struct cvmx_pip_stat0_prtx_s cn56xxp1; 2413 struct cvmx_pip_stat0_prtx_s cn56xxp1;
938 struct cvmx_pip_stat0_prtx_s cn58xx; 2414 struct cvmx_pip_stat0_prtx_s cn58xx;
939 struct cvmx_pip_stat0_prtx_s cn58xxp1; 2415 struct cvmx_pip_stat0_prtx_s cn58xxp1;
2416 struct cvmx_pip_stat0_prtx_s cn61xx;
2417 struct cvmx_pip_stat0_prtx_s cn63xx;
2418 struct cvmx_pip_stat0_prtx_s cn63xxp1;
2419 struct cvmx_pip_stat0_prtx_s cn66xx;
2420 struct cvmx_pip_stat0_prtx_s cnf71xx;
2421};
2422
2423union cvmx_pip_stat10_x {
2424 uint64_t u64;
2425 struct cvmx_pip_stat10_x_s {
2426#ifdef __BIG_ENDIAN_BITFIELD
2427 uint64_t bcast:32;
2428 uint64_t mcast:32;
2429#else
2430 uint64_t mcast:32;
2431 uint64_t bcast:32;
2432#endif
2433 } s;
2434 struct cvmx_pip_stat10_x_s cn68xx;
2435 struct cvmx_pip_stat10_x_s cn68xxp1;
2436};
2437
2438union cvmx_pip_stat10_prtx {
2439 uint64_t u64;
2440 struct cvmx_pip_stat10_prtx_s {
2441#ifdef __BIG_ENDIAN_BITFIELD
2442 uint64_t bcast:32;
2443 uint64_t mcast:32;
2444#else
2445 uint64_t mcast:32;
2446 uint64_t bcast:32;
2447#endif
2448 } s;
2449 struct cvmx_pip_stat10_prtx_s cn52xx;
2450 struct cvmx_pip_stat10_prtx_s cn52xxp1;
2451 struct cvmx_pip_stat10_prtx_s cn56xx;
2452 struct cvmx_pip_stat10_prtx_s cn56xxp1;
2453 struct cvmx_pip_stat10_prtx_s cn61xx;
2454 struct cvmx_pip_stat10_prtx_s cn63xx;
2455 struct cvmx_pip_stat10_prtx_s cn63xxp1;
2456 struct cvmx_pip_stat10_prtx_s cn66xx;
2457 struct cvmx_pip_stat10_prtx_s cnf71xx;
2458};
2459
2460union cvmx_pip_stat11_x {
2461 uint64_t u64;
2462 struct cvmx_pip_stat11_x_s {
2463#ifdef __BIG_ENDIAN_BITFIELD
2464 uint64_t bcast:32;
2465 uint64_t mcast:32;
2466#else
2467 uint64_t mcast:32;
2468 uint64_t bcast:32;
2469#endif
2470 } s;
2471 struct cvmx_pip_stat11_x_s cn68xx;
2472 struct cvmx_pip_stat11_x_s cn68xxp1;
2473};
2474
2475union cvmx_pip_stat11_prtx {
2476 uint64_t u64;
2477 struct cvmx_pip_stat11_prtx_s {
2478#ifdef __BIG_ENDIAN_BITFIELD
2479 uint64_t bcast:32;
2480 uint64_t mcast:32;
2481#else
2482 uint64_t mcast:32;
2483 uint64_t bcast:32;
2484#endif
2485 } s;
2486 struct cvmx_pip_stat11_prtx_s cn52xx;
2487 struct cvmx_pip_stat11_prtx_s cn52xxp1;
2488 struct cvmx_pip_stat11_prtx_s cn56xx;
2489 struct cvmx_pip_stat11_prtx_s cn56xxp1;
2490 struct cvmx_pip_stat11_prtx_s cn61xx;
2491 struct cvmx_pip_stat11_prtx_s cn63xx;
2492 struct cvmx_pip_stat11_prtx_s cn63xxp1;
2493 struct cvmx_pip_stat11_prtx_s cn66xx;
2494 struct cvmx_pip_stat11_prtx_s cnf71xx;
2495};
2496
2497union cvmx_pip_stat1_x {
2498 uint64_t u64;
2499 struct cvmx_pip_stat1_x_s {
2500#ifdef __BIG_ENDIAN_BITFIELD
2501 uint64_t reserved_48_63:16;
2502 uint64_t octs:48;
2503#else
2504 uint64_t octs:48;
2505 uint64_t reserved_48_63:16;
2506#endif
2507 } s;
2508 struct cvmx_pip_stat1_x_s cn68xx;
2509 struct cvmx_pip_stat1_x_s cn68xxp1;
940}; 2510};
941 2511
942union cvmx_pip_stat1_prtx { 2512union cvmx_pip_stat1_prtx {
943 uint64_t u64; 2513 uint64_t u64;
944 struct cvmx_pip_stat1_prtx_s { 2514 struct cvmx_pip_stat1_prtx_s {
2515#ifdef __BIG_ENDIAN_BITFIELD
945 uint64_t reserved_48_63:16; 2516 uint64_t reserved_48_63:16;
946 uint64_t octs:48; 2517 uint64_t octs:48;
2518#else
2519 uint64_t octs:48;
2520 uint64_t reserved_48_63:16;
2521#endif
947 } s; 2522 } s;
948 struct cvmx_pip_stat1_prtx_s cn30xx; 2523 struct cvmx_pip_stat1_prtx_s cn30xx;
949 struct cvmx_pip_stat1_prtx_s cn31xx; 2524 struct cvmx_pip_stat1_prtx_s cn31xx;
@@ -956,13 +2531,38 @@ union cvmx_pip_stat1_prtx {
956 struct cvmx_pip_stat1_prtx_s cn56xxp1; 2531 struct cvmx_pip_stat1_prtx_s cn56xxp1;
957 struct cvmx_pip_stat1_prtx_s cn58xx; 2532 struct cvmx_pip_stat1_prtx_s cn58xx;
958 struct cvmx_pip_stat1_prtx_s cn58xxp1; 2533 struct cvmx_pip_stat1_prtx_s cn58xxp1;
2534 struct cvmx_pip_stat1_prtx_s cn61xx;
2535 struct cvmx_pip_stat1_prtx_s cn63xx;
2536 struct cvmx_pip_stat1_prtx_s cn63xxp1;
2537 struct cvmx_pip_stat1_prtx_s cn66xx;
2538 struct cvmx_pip_stat1_prtx_s cnf71xx;
2539};
2540
2541union cvmx_pip_stat2_x {
2542 uint64_t u64;
2543 struct cvmx_pip_stat2_x_s {
2544#ifdef __BIG_ENDIAN_BITFIELD
2545 uint64_t pkts:32;
2546 uint64_t raw:32;
2547#else
2548 uint64_t raw:32;
2549 uint64_t pkts:32;
2550#endif
2551 } s;
2552 struct cvmx_pip_stat2_x_s cn68xx;
2553 struct cvmx_pip_stat2_x_s cn68xxp1;
959}; 2554};
960 2555
961union cvmx_pip_stat2_prtx { 2556union cvmx_pip_stat2_prtx {
962 uint64_t u64; 2557 uint64_t u64;
963 struct cvmx_pip_stat2_prtx_s { 2558 struct cvmx_pip_stat2_prtx_s {
2559#ifdef __BIG_ENDIAN_BITFIELD
964 uint64_t pkts:32; 2560 uint64_t pkts:32;
965 uint64_t raw:32; 2561 uint64_t raw:32;
2562#else
2563 uint64_t raw:32;
2564 uint64_t pkts:32;
2565#endif
966 } s; 2566 } s;
967 struct cvmx_pip_stat2_prtx_s cn30xx; 2567 struct cvmx_pip_stat2_prtx_s cn30xx;
968 struct cvmx_pip_stat2_prtx_s cn31xx; 2568 struct cvmx_pip_stat2_prtx_s cn31xx;
@@ -975,13 +2575,38 @@ union cvmx_pip_stat2_prtx {
975 struct cvmx_pip_stat2_prtx_s cn56xxp1; 2575 struct cvmx_pip_stat2_prtx_s cn56xxp1;
976 struct cvmx_pip_stat2_prtx_s cn58xx; 2576 struct cvmx_pip_stat2_prtx_s cn58xx;
977 struct cvmx_pip_stat2_prtx_s cn58xxp1; 2577 struct cvmx_pip_stat2_prtx_s cn58xxp1;
2578 struct cvmx_pip_stat2_prtx_s cn61xx;
2579 struct cvmx_pip_stat2_prtx_s cn63xx;
2580 struct cvmx_pip_stat2_prtx_s cn63xxp1;
2581 struct cvmx_pip_stat2_prtx_s cn66xx;
2582 struct cvmx_pip_stat2_prtx_s cnf71xx;
2583};
2584
2585union cvmx_pip_stat3_x {
2586 uint64_t u64;
2587 struct cvmx_pip_stat3_x_s {
2588#ifdef __BIG_ENDIAN_BITFIELD
2589 uint64_t bcst:32;
2590 uint64_t mcst:32;
2591#else
2592 uint64_t mcst:32;
2593 uint64_t bcst:32;
2594#endif
2595 } s;
2596 struct cvmx_pip_stat3_x_s cn68xx;
2597 struct cvmx_pip_stat3_x_s cn68xxp1;
978}; 2598};
979 2599
980union cvmx_pip_stat3_prtx { 2600union cvmx_pip_stat3_prtx {
981 uint64_t u64; 2601 uint64_t u64;
982 struct cvmx_pip_stat3_prtx_s { 2602 struct cvmx_pip_stat3_prtx_s {
2603#ifdef __BIG_ENDIAN_BITFIELD
983 uint64_t bcst:32; 2604 uint64_t bcst:32;
984 uint64_t mcst:32; 2605 uint64_t mcst:32;
2606#else
2607 uint64_t mcst:32;
2608 uint64_t bcst:32;
2609#endif
985 } s; 2610 } s;
986 struct cvmx_pip_stat3_prtx_s cn30xx; 2611 struct cvmx_pip_stat3_prtx_s cn30xx;
987 struct cvmx_pip_stat3_prtx_s cn31xx; 2612 struct cvmx_pip_stat3_prtx_s cn31xx;
@@ -994,13 +2619,38 @@ union cvmx_pip_stat3_prtx {
994 struct cvmx_pip_stat3_prtx_s cn56xxp1; 2619 struct cvmx_pip_stat3_prtx_s cn56xxp1;
995 struct cvmx_pip_stat3_prtx_s cn58xx; 2620 struct cvmx_pip_stat3_prtx_s cn58xx;
996 struct cvmx_pip_stat3_prtx_s cn58xxp1; 2621 struct cvmx_pip_stat3_prtx_s cn58xxp1;
2622 struct cvmx_pip_stat3_prtx_s cn61xx;
2623 struct cvmx_pip_stat3_prtx_s cn63xx;
2624 struct cvmx_pip_stat3_prtx_s cn63xxp1;
2625 struct cvmx_pip_stat3_prtx_s cn66xx;
2626 struct cvmx_pip_stat3_prtx_s cnf71xx;
2627};
2628
2629union cvmx_pip_stat4_x {
2630 uint64_t u64;
2631 struct cvmx_pip_stat4_x_s {
2632#ifdef __BIG_ENDIAN_BITFIELD
2633 uint64_t h65to127:32;
2634 uint64_t h64:32;
2635#else
2636 uint64_t h64:32;
2637 uint64_t h65to127:32;
2638#endif
2639 } s;
2640 struct cvmx_pip_stat4_x_s cn68xx;
2641 struct cvmx_pip_stat4_x_s cn68xxp1;
997}; 2642};
998 2643
999union cvmx_pip_stat4_prtx { 2644union cvmx_pip_stat4_prtx {
1000 uint64_t u64; 2645 uint64_t u64;
1001 struct cvmx_pip_stat4_prtx_s { 2646 struct cvmx_pip_stat4_prtx_s {
2647#ifdef __BIG_ENDIAN_BITFIELD
1002 uint64_t h65to127:32; 2648 uint64_t h65to127:32;
1003 uint64_t h64:32; 2649 uint64_t h64:32;
2650#else
2651 uint64_t h64:32;
2652 uint64_t h65to127:32;
2653#endif
1004 } s; 2654 } s;
1005 struct cvmx_pip_stat4_prtx_s cn30xx; 2655 struct cvmx_pip_stat4_prtx_s cn30xx;
1006 struct cvmx_pip_stat4_prtx_s cn31xx; 2656 struct cvmx_pip_stat4_prtx_s cn31xx;
@@ -1013,13 +2663,38 @@ union cvmx_pip_stat4_prtx {
1013 struct cvmx_pip_stat4_prtx_s cn56xxp1; 2663 struct cvmx_pip_stat4_prtx_s cn56xxp1;
1014 struct cvmx_pip_stat4_prtx_s cn58xx; 2664 struct cvmx_pip_stat4_prtx_s cn58xx;
1015 struct cvmx_pip_stat4_prtx_s cn58xxp1; 2665 struct cvmx_pip_stat4_prtx_s cn58xxp1;
2666 struct cvmx_pip_stat4_prtx_s cn61xx;
2667 struct cvmx_pip_stat4_prtx_s cn63xx;
2668 struct cvmx_pip_stat4_prtx_s cn63xxp1;
2669 struct cvmx_pip_stat4_prtx_s cn66xx;
2670 struct cvmx_pip_stat4_prtx_s cnf71xx;
2671};
2672
2673union cvmx_pip_stat5_x {
2674 uint64_t u64;
2675 struct cvmx_pip_stat5_x_s {
2676#ifdef __BIG_ENDIAN_BITFIELD
2677 uint64_t h256to511:32;
2678 uint64_t h128to255:32;
2679#else
2680 uint64_t h128to255:32;
2681 uint64_t h256to511:32;
2682#endif
2683 } s;
2684 struct cvmx_pip_stat5_x_s cn68xx;
2685 struct cvmx_pip_stat5_x_s cn68xxp1;
1016}; 2686};
1017 2687
1018union cvmx_pip_stat5_prtx { 2688union cvmx_pip_stat5_prtx {
1019 uint64_t u64; 2689 uint64_t u64;
1020 struct cvmx_pip_stat5_prtx_s { 2690 struct cvmx_pip_stat5_prtx_s {
2691#ifdef __BIG_ENDIAN_BITFIELD
1021 uint64_t h256to511:32; 2692 uint64_t h256to511:32;
1022 uint64_t h128to255:32; 2693 uint64_t h128to255:32;
2694#else
2695 uint64_t h128to255:32;
2696 uint64_t h256to511:32;
2697#endif
1023 } s; 2698 } s;
1024 struct cvmx_pip_stat5_prtx_s cn30xx; 2699 struct cvmx_pip_stat5_prtx_s cn30xx;
1025 struct cvmx_pip_stat5_prtx_s cn31xx; 2700 struct cvmx_pip_stat5_prtx_s cn31xx;
@@ -1032,13 +2707,38 @@ union cvmx_pip_stat5_prtx {
1032 struct cvmx_pip_stat5_prtx_s cn56xxp1; 2707 struct cvmx_pip_stat5_prtx_s cn56xxp1;
1033 struct cvmx_pip_stat5_prtx_s cn58xx; 2708 struct cvmx_pip_stat5_prtx_s cn58xx;
1034 struct cvmx_pip_stat5_prtx_s cn58xxp1; 2709 struct cvmx_pip_stat5_prtx_s cn58xxp1;
2710 struct cvmx_pip_stat5_prtx_s cn61xx;
2711 struct cvmx_pip_stat5_prtx_s cn63xx;
2712 struct cvmx_pip_stat5_prtx_s cn63xxp1;
2713 struct cvmx_pip_stat5_prtx_s cn66xx;
2714 struct cvmx_pip_stat5_prtx_s cnf71xx;
2715};
2716
2717union cvmx_pip_stat6_x {
2718 uint64_t u64;
2719 struct cvmx_pip_stat6_x_s {
2720#ifdef __BIG_ENDIAN_BITFIELD
2721 uint64_t h1024to1518:32;
2722 uint64_t h512to1023:32;
2723#else
2724 uint64_t h512to1023:32;
2725 uint64_t h1024to1518:32;
2726#endif
2727 } s;
2728 struct cvmx_pip_stat6_x_s cn68xx;
2729 struct cvmx_pip_stat6_x_s cn68xxp1;
1035}; 2730};
1036 2731
1037union cvmx_pip_stat6_prtx { 2732union cvmx_pip_stat6_prtx {
1038 uint64_t u64; 2733 uint64_t u64;
1039 struct cvmx_pip_stat6_prtx_s { 2734 struct cvmx_pip_stat6_prtx_s {
2735#ifdef __BIG_ENDIAN_BITFIELD
1040 uint64_t h1024to1518:32; 2736 uint64_t h1024to1518:32;
1041 uint64_t h512to1023:32; 2737 uint64_t h512to1023:32;
2738#else
2739 uint64_t h512to1023:32;
2740 uint64_t h1024to1518:32;
2741#endif
1042 } s; 2742 } s;
1043 struct cvmx_pip_stat6_prtx_s cn30xx; 2743 struct cvmx_pip_stat6_prtx_s cn30xx;
1044 struct cvmx_pip_stat6_prtx_s cn31xx; 2744 struct cvmx_pip_stat6_prtx_s cn31xx;
@@ -1051,13 +2751,38 @@ union cvmx_pip_stat6_prtx {
1051 struct cvmx_pip_stat6_prtx_s cn56xxp1; 2751 struct cvmx_pip_stat6_prtx_s cn56xxp1;
1052 struct cvmx_pip_stat6_prtx_s cn58xx; 2752 struct cvmx_pip_stat6_prtx_s cn58xx;
1053 struct cvmx_pip_stat6_prtx_s cn58xxp1; 2753 struct cvmx_pip_stat6_prtx_s cn58xxp1;
2754 struct cvmx_pip_stat6_prtx_s cn61xx;
2755 struct cvmx_pip_stat6_prtx_s cn63xx;
2756 struct cvmx_pip_stat6_prtx_s cn63xxp1;
2757 struct cvmx_pip_stat6_prtx_s cn66xx;
2758 struct cvmx_pip_stat6_prtx_s cnf71xx;
2759};
2760
2761union cvmx_pip_stat7_x {
2762 uint64_t u64;
2763 struct cvmx_pip_stat7_x_s {
2764#ifdef __BIG_ENDIAN_BITFIELD
2765 uint64_t fcs:32;
2766 uint64_t h1519:32;
2767#else
2768 uint64_t h1519:32;
2769 uint64_t fcs:32;
2770#endif
2771 } s;
2772 struct cvmx_pip_stat7_x_s cn68xx;
2773 struct cvmx_pip_stat7_x_s cn68xxp1;
1054}; 2774};
1055 2775
1056union cvmx_pip_stat7_prtx { 2776union cvmx_pip_stat7_prtx {
1057 uint64_t u64; 2777 uint64_t u64;
1058 struct cvmx_pip_stat7_prtx_s { 2778 struct cvmx_pip_stat7_prtx_s {
2779#ifdef __BIG_ENDIAN_BITFIELD
1059 uint64_t fcs:32; 2780 uint64_t fcs:32;
1060 uint64_t h1519:32; 2781 uint64_t h1519:32;
2782#else
2783 uint64_t h1519:32;
2784 uint64_t fcs:32;
2785#endif
1061 } s; 2786 } s;
1062 struct cvmx_pip_stat7_prtx_s cn30xx; 2787 struct cvmx_pip_stat7_prtx_s cn30xx;
1063 struct cvmx_pip_stat7_prtx_s cn31xx; 2788 struct cvmx_pip_stat7_prtx_s cn31xx;
@@ -1070,13 +2795,38 @@ union cvmx_pip_stat7_prtx {
1070 struct cvmx_pip_stat7_prtx_s cn56xxp1; 2795 struct cvmx_pip_stat7_prtx_s cn56xxp1;
1071 struct cvmx_pip_stat7_prtx_s cn58xx; 2796 struct cvmx_pip_stat7_prtx_s cn58xx;
1072 struct cvmx_pip_stat7_prtx_s cn58xxp1; 2797 struct cvmx_pip_stat7_prtx_s cn58xxp1;
2798 struct cvmx_pip_stat7_prtx_s cn61xx;
2799 struct cvmx_pip_stat7_prtx_s cn63xx;
2800 struct cvmx_pip_stat7_prtx_s cn63xxp1;
2801 struct cvmx_pip_stat7_prtx_s cn66xx;
2802 struct cvmx_pip_stat7_prtx_s cnf71xx;
2803};
2804
2805union cvmx_pip_stat8_x {
2806 uint64_t u64;
2807 struct cvmx_pip_stat8_x_s {
2808#ifdef __BIG_ENDIAN_BITFIELD
2809 uint64_t frag:32;
2810 uint64_t undersz:32;
2811#else
2812 uint64_t undersz:32;
2813 uint64_t frag:32;
2814#endif
2815 } s;
2816 struct cvmx_pip_stat8_x_s cn68xx;
2817 struct cvmx_pip_stat8_x_s cn68xxp1;
1073}; 2818};
1074 2819
1075union cvmx_pip_stat8_prtx { 2820union cvmx_pip_stat8_prtx {
1076 uint64_t u64; 2821 uint64_t u64;
1077 struct cvmx_pip_stat8_prtx_s { 2822 struct cvmx_pip_stat8_prtx_s {
2823#ifdef __BIG_ENDIAN_BITFIELD
1078 uint64_t frag:32; 2824 uint64_t frag:32;
1079 uint64_t undersz:32; 2825 uint64_t undersz:32;
2826#else
2827 uint64_t undersz:32;
2828 uint64_t frag:32;
2829#endif
1080 } s; 2830 } s;
1081 struct cvmx_pip_stat8_prtx_s cn30xx; 2831 struct cvmx_pip_stat8_prtx_s cn30xx;
1082 struct cvmx_pip_stat8_prtx_s cn31xx; 2832 struct cvmx_pip_stat8_prtx_s cn31xx;
@@ -1089,13 +2839,38 @@ union cvmx_pip_stat8_prtx {
1089 struct cvmx_pip_stat8_prtx_s cn56xxp1; 2839 struct cvmx_pip_stat8_prtx_s cn56xxp1;
1090 struct cvmx_pip_stat8_prtx_s cn58xx; 2840 struct cvmx_pip_stat8_prtx_s cn58xx;
1091 struct cvmx_pip_stat8_prtx_s cn58xxp1; 2841 struct cvmx_pip_stat8_prtx_s cn58xxp1;
2842 struct cvmx_pip_stat8_prtx_s cn61xx;
2843 struct cvmx_pip_stat8_prtx_s cn63xx;
2844 struct cvmx_pip_stat8_prtx_s cn63xxp1;
2845 struct cvmx_pip_stat8_prtx_s cn66xx;
2846 struct cvmx_pip_stat8_prtx_s cnf71xx;
2847};
2848
2849union cvmx_pip_stat9_x {
2850 uint64_t u64;
2851 struct cvmx_pip_stat9_x_s {
2852#ifdef __BIG_ENDIAN_BITFIELD
2853 uint64_t jabber:32;
2854 uint64_t oversz:32;
2855#else
2856 uint64_t oversz:32;
2857 uint64_t jabber:32;
2858#endif
2859 } s;
2860 struct cvmx_pip_stat9_x_s cn68xx;
2861 struct cvmx_pip_stat9_x_s cn68xxp1;
1092}; 2862};
1093 2863
1094union cvmx_pip_stat9_prtx { 2864union cvmx_pip_stat9_prtx {
1095 uint64_t u64; 2865 uint64_t u64;
1096 struct cvmx_pip_stat9_prtx_s { 2866 struct cvmx_pip_stat9_prtx_s {
2867#ifdef __BIG_ENDIAN_BITFIELD
1097 uint64_t jabber:32; 2868 uint64_t jabber:32;
1098 uint64_t oversz:32; 2869 uint64_t oversz:32;
2870#else
2871 uint64_t oversz:32;
2872 uint64_t jabber:32;
2873#endif
1099 } s; 2874 } s;
1100 struct cvmx_pip_stat9_prtx_s cn30xx; 2875 struct cvmx_pip_stat9_prtx_s cn30xx;
1101 struct cvmx_pip_stat9_prtx_s cn31xx; 2876 struct cvmx_pip_stat9_prtx_s cn31xx;
@@ -1108,32 +2883,66 @@ union cvmx_pip_stat9_prtx {
1108 struct cvmx_pip_stat9_prtx_s cn56xxp1; 2883 struct cvmx_pip_stat9_prtx_s cn56xxp1;
1109 struct cvmx_pip_stat9_prtx_s cn58xx; 2884 struct cvmx_pip_stat9_prtx_s cn58xx;
1110 struct cvmx_pip_stat9_prtx_s cn58xxp1; 2885 struct cvmx_pip_stat9_prtx_s cn58xxp1;
2886 struct cvmx_pip_stat9_prtx_s cn61xx;
2887 struct cvmx_pip_stat9_prtx_s cn63xx;
2888 struct cvmx_pip_stat9_prtx_s cn63xxp1;
2889 struct cvmx_pip_stat9_prtx_s cn66xx;
2890 struct cvmx_pip_stat9_prtx_s cnf71xx;
1111}; 2891};
1112 2892
1113union cvmx_pip_stat_ctl { 2893union cvmx_pip_stat_ctl {
1114 uint64_t u64; 2894 uint64_t u64;
1115 struct cvmx_pip_stat_ctl_s { 2895 struct cvmx_pip_stat_ctl_s {
1116 uint64_t reserved_1_63:63; 2896#ifdef __BIG_ENDIAN_BITFIELD
2897 uint64_t reserved_9_63:55;
2898 uint64_t mode:1;
2899 uint64_t reserved_1_7:7;
2900 uint64_t rdclr:1;
2901#else
1117 uint64_t rdclr:1; 2902 uint64_t rdclr:1;
2903 uint64_t reserved_1_7:7;
2904 uint64_t mode:1;
2905 uint64_t reserved_9_63:55;
2906#endif
1118 } s; 2907 } s;
1119 struct cvmx_pip_stat_ctl_s cn30xx; 2908 struct cvmx_pip_stat_ctl_cn30xx {
1120 struct cvmx_pip_stat_ctl_s cn31xx; 2909#ifdef __BIG_ENDIAN_BITFIELD
1121 struct cvmx_pip_stat_ctl_s cn38xx; 2910 uint64_t reserved_1_63:63;
1122 struct cvmx_pip_stat_ctl_s cn38xxp2; 2911 uint64_t rdclr:1;
1123 struct cvmx_pip_stat_ctl_s cn50xx; 2912#else
1124 struct cvmx_pip_stat_ctl_s cn52xx; 2913 uint64_t rdclr:1;
1125 struct cvmx_pip_stat_ctl_s cn52xxp1; 2914 uint64_t reserved_1_63:63;
1126 struct cvmx_pip_stat_ctl_s cn56xx; 2915#endif
1127 struct cvmx_pip_stat_ctl_s cn56xxp1; 2916 } cn30xx;
1128 struct cvmx_pip_stat_ctl_s cn58xx; 2917 struct cvmx_pip_stat_ctl_cn30xx cn31xx;
1129 struct cvmx_pip_stat_ctl_s cn58xxp1; 2918 struct cvmx_pip_stat_ctl_cn30xx cn38xx;
2919 struct cvmx_pip_stat_ctl_cn30xx cn38xxp2;
2920 struct cvmx_pip_stat_ctl_cn30xx cn50xx;
2921 struct cvmx_pip_stat_ctl_cn30xx cn52xx;
2922 struct cvmx_pip_stat_ctl_cn30xx cn52xxp1;
2923 struct cvmx_pip_stat_ctl_cn30xx cn56xx;
2924 struct cvmx_pip_stat_ctl_cn30xx cn56xxp1;
2925 struct cvmx_pip_stat_ctl_cn30xx cn58xx;
2926 struct cvmx_pip_stat_ctl_cn30xx cn58xxp1;
2927 struct cvmx_pip_stat_ctl_cn30xx cn61xx;
2928 struct cvmx_pip_stat_ctl_cn30xx cn63xx;
2929 struct cvmx_pip_stat_ctl_cn30xx cn63xxp1;
2930 struct cvmx_pip_stat_ctl_cn30xx cn66xx;
2931 struct cvmx_pip_stat_ctl_s cn68xx;
2932 struct cvmx_pip_stat_ctl_s cn68xxp1;
2933 struct cvmx_pip_stat_ctl_cn30xx cnf71xx;
1130}; 2934};
1131 2935
1132union cvmx_pip_stat_inb_errsx { 2936union cvmx_pip_stat_inb_errsx {
1133 uint64_t u64; 2937 uint64_t u64;
1134 struct cvmx_pip_stat_inb_errsx_s { 2938 struct cvmx_pip_stat_inb_errsx_s {
2939#ifdef __BIG_ENDIAN_BITFIELD
1135 uint64_t reserved_16_63:48; 2940 uint64_t reserved_16_63:48;
1136 uint64_t errs:16; 2941 uint64_t errs:16;
2942#else
2943 uint64_t errs:16;
2944 uint64_t reserved_16_63:48;
2945#endif
1137 } s; 2946 } s;
1138 struct cvmx_pip_stat_inb_errsx_s cn30xx; 2947 struct cvmx_pip_stat_inb_errsx_s cn30xx;
1139 struct cvmx_pip_stat_inb_errsx_s cn31xx; 2948 struct cvmx_pip_stat_inb_errsx_s cn31xx;
@@ -1146,13 +2955,38 @@ union cvmx_pip_stat_inb_errsx {
1146 struct cvmx_pip_stat_inb_errsx_s cn56xxp1; 2955 struct cvmx_pip_stat_inb_errsx_s cn56xxp1;
1147 struct cvmx_pip_stat_inb_errsx_s cn58xx; 2956 struct cvmx_pip_stat_inb_errsx_s cn58xx;
1148 struct cvmx_pip_stat_inb_errsx_s cn58xxp1; 2957 struct cvmx_pip_stat_inb_errsx_s cn58xxp1;
2958 struct cvmx_pip_stat_inb_errsx_s cn61xx;
2959 struct cvmx_pip_stat_inb_errsx_s cn63xx;
2960 struct cvmx_pip_stat_inb_errsx_s cn63xxp1;
2961 struct cvmx_pip_stat_inb_errsx_s cn66xx;
2962 struct cvmx_pip_stat_inb_errsx_s cnf71xx;
2963};
2964
2965union cvmx_pip_stat_inb_errs_pkndx {
2966 uint64_t u64;
2967 struct cvmx_pip_stat_inb_errs_pkndx_s {
2968#ifdef __BIG_ENDIAN_BITFIELD
2969 uint64_t reserved_16_63:48;
2970 uint64_t errs:16;
2971#else
2972 uint64_t errs:16;
2973 uint64_t reserved_16_63:48;
2974#endif
2975 } s;
2976 struct cvmx_pip_stat_inb_errs_pkndx_s cn68xx;
2977 struct cvmx_pip_stat_inb_errs_pkndx_s cn68xxp1;
1149}; 2978};
1150 2979
1151union cvmx_pip_stat_inb_octsx { 2980union cvmx_pip_stat_inb_octsx {
1152 uint64_t u64; 2981 uint64_t u64;
1153 struct cvmx_pip_stat_inb_octsx_s { 2982 struct cvmx_pip_stat_inb_octsx_s {
2983#ifdef __BIG_ENDIAN_BITFIELD
1154 uint64_t reserved_48_63:16; 2984 uint64_t reserved_48_63:16;
1155 uint64_t octs:48; 2985 uint64_t octs:48;
2986#else
2987 uint64_t octs:48;
2988 uint64_t reserved_48_63:16;
2989#endif
1156 } s; 2990 } s;
1157 struct cvmx_pip_stat_inb_octsx_s cn30xx; 2991 struct cvmx_pip_stat_inb_octsx_s cn30xx;
1158 struct cvmx_pip_stat_inb_octsx_s cn31xx; 2992 struct cvmx_pip_stat_inb_octsx_s cn31xx;
@@ -1165,13 +2999,38 @@ union cvmx_pip_stat_inb_octsx {
1165 struct cvmx_pip_stat_inb_octsx_s cn56xxp1; 2999 struct cvmx_pip_stat_inb_octsx_s cn56xxp1;
1166 struct cvmx_pip_stat_inb_octsx_s cn58xx; 3000 struct cvmx_pip_stat_inb_octsx_s cn58xx;
1167 struct cvmx_pip_stat_inb_octsx_s cn58xxp1; 3001 struct cvmx_pip_stat_inb_octsx_s cn58xxp1;
3002 struct cvmx_pip_stat_inb_octsx_s cn61xx;
3003 struct cvmx_pip_stat_inb_octsx_s cn63xx;
3004 struct cvmx_pip_stat_inb_octsx_s cn63xxp1;
3005 struct cvmx_pip_stat_inb_octsx_s cn66xx;
3006 struct cvmx_pip_stat_inb_octsx_s cnf71xx;
3007};
3008
3009union cvmx_pip_stat_inb_octs_pkndx {
3010 uint64_t u64;
3011 struct cvmx_pip_stat_inb_octs_pkndx_s {
3012#ifdef __BIG_ENDIAN_BITFIELD
3013 uint64_t reserved_48_63:16;
3014 uint64_t octs:48;
3015#else
3016 uint64_t octs:48;
3017 uint64_t reserved_48_63:16;
3018#endif
3019 } s;
3020 struct cvmx_pip_stat_inb_octs_pkndx_s cn68xx;
3021 struct cvmx_pip_stat_inb_octs_pkndx_s cn68xxp1;
1168}; 3022};
1169 3023
1170union cvmx_pip_stat_inb_pktsx { 3024union cvmx_pip_stat_inb_pktsx {
1171 uint64_t u64; 3025 uint64_t u64;
1172 struct cvmx_pip_stat_inb_pktsx_s { 3026 struct cvmx_pip_stat_inb_pktsx_s {
3027#ifdef __BIG_ENDIAN_BITFIELD
1173 uint64_t reserved_32_63:32; 3028 uint64_t reserved_32_63:32;
1174 uint64_t pkts:32; 3029 uint64_t pkts:32;
3030#else
3031 uint64_t pkts:32;
3032 uint64_t reserved_32_63:32;
3033#endif
1175 } s; 3034 } s;
1176 struct cvmx_pip_stat_inb_pktsx_s cn30xx; 3035 struct cvmx_pip_stat_inb_pktsx_s cn30xx;
1177 struct cvmx_pip_stat_inb_pktsx_s cn31xx; 3036 struct cvmx_pip_stat_inb_pktsx_s cn31xx;
@@ -1184,13 +3043,51 @@ union cvmx_pip_stat_inb_pktsx {
1184 struct cvmx_pip_stat_inb_pktsx_s cn56xxp1; 3043 struct cvmx_pip_stat_inb_pktsx_s cn56xxp1;
1185 struct cvmx_pip_stat_inb_pktsx_s cn58xx; 3044 struct cvmx_pip_stat_inb_pktsx_s cn58xx;
1186 struct cvmx_pip_stat_inb_pktsx_s cn58xxp1; 3045 struct cvmx_pip_stat_inb_pktsx_s cn58xxp1;
3046 struct cvmx_pip_stat_inb_pktsx_s cn61xx;
3047 struct cvmx_pip_stat_inb_pktsx_s cn63xx;
3048 struct cvmx_pip_stat_inb_pktsx_s cn63xxp1;
3049 struct cvmx_pip_stat_inb_pktsx_s cn66xx;
3050 struct cvmx_pip_stat_inb_pktsx_s cnf71xx;
3051};
3052
3053union cvmx_pip_stat_inb_pkts_pkndx {
3054 uint64_t u64;
3055 struct cvmx_pip_stat_inb_pkts_pkndx_s {
3056#ifdef __BIG_ENDIAN_BITFIELD
3057 uint64_t reserved_32_63:32;
3058 uint64_t pkts:32;
3059#else
3060 uint64_t pkts:32;
3061 uint64_t reserved_32_63:32;
3062#endif
3063 } s;
3064 struct cvmx_pip_stat_inb_pkts_pkndx_s cn68xx;
3065 struct cvmx_pip_stat_inb_pkts_pkndx_s cn68xxp1;
3066};
3067
3068union cvmx_pip_sub_pkind_fcsx {
3069 uint64_t u64;
3070 struct cvmx_pip_sub_pkind_fcsx_s {
3071#ifdef __BIG_ENDIAN_BITFIELD
3072 uint64_t port_bit:64;
3073#else
3074 uint64_t port_bit:64;
3075#endif
3076 } s;
3077 struct cvmx_pip_sub_pkind_fcsx_s cn68xx;
3078 struct cvmx_pip_sub_pkind_fcsx_s cn68xxp1;
1187}; 3079};
1188 3080
1189union cvmx_pip_tag_incx { 3081union cvmx_pip_tag_incx {
1190 uint64_t u64; 3082 uint64_t u64;
1191 struct cvmx_pip_tag_incx_s { 3083 struct cvmx_pip_tag_incx_s {
3084#ifdef __BIG_ENDIAN_BITFIELD
1192 uint64_t reserved_8_63:56; 3085 uint64_t reserved_8_63:56;
1193 uint64_t en:8; 3086 uint64_t en:8;
3087#else
3088 uint64_t en:8;
3089 uint64_t reserved_8_63:56;
3090#endif
1194 } s; 3091 } s;
1195 struct cvmx_pip_tag_incx_s cn30xx; 3092 struct cvmx_pip_tag_incx_s cn30xx;
1196 struct cvmx_pip_tag_incx_s cn31xx; 3093 struct cvmx_pip_tag_incx_s cn31xx;
@@ -1203,13 +3100,25 @@ union cvmx_pip_tag_incx {
1203 struct cvmx_pip_tag_incx_s cn56xxp1; 3100 struct cvmx_pip_tag_incx_s cn56xxp1;
1204 struct cvmx_pip_tag_incx_s cn58xx; 3101 struct cvmx_pip_tag_incx_s cn58xx;
1205 struct cvmx_pip_tag_incx_s cn58xxp1; 3102 struct cvmx_pip_tag_incx_s cn58xxp1;
3103 struct cvmx_pip_tag_incx_s cn61xx;
3104 struct cvmx_pip_tag_incx_s cn63xx;
3105 struct cvmx_pip_tag_incx_s cn63xxp1;
3106 struct cvmx_pip_tag_incx_s cn66xx;
3107 struct cvmx_pip_tag_incx_s cn68xx;
3108 struct cvmx_pip_tag_incx_s cn68xxp1;
3109 struct cvmx_pip_tag_incx_s cnf71xx;
1206}; 3110};
1207 3111
1208union cvmx_pip_tag_mask { 3112union cvmx_pip_tag_mask {
1209 uint64_t u64; 3113 uint64_t u64;
1210 struct cvmx_pip_tag_mask_s { 3114 struct cvmx_pip_tag_mask_s {
3115#ifdef __BIG_ENDIAN_BITFIELD
1211 uint64_t reserved_16_63:48; 3116 uint64_t reserved_16_63:48;
1212 uint64_t mask:16; 3117 uint64_t mask:16;
3118#else
3119 uint64_t mask:16;
3120 uint64_t reserved_16_63:48;
3121#endif
1213 } s; 3122 } s;
1214 struct cvmx_pip_tag_mask_s cn30xx; 3123 struct cvmx_pip_tag_mask_s cn30xx;
1215 struct cvmx_pip_tag_mask_s cn31xx; 3124 struct cvmx_pip_tag_mask_s cn31xx;
@@ -1222,14 +3131,27 @@ union cvmx_pip_tag_mask {
1222 struct cvmx_pip_tag_mask_s cn56xxp1; 3131 struct cvmx_pip_tag_mask_s cn56xxp1;
1223 struct cvmx_pip_tag_mask_s cn58xx; 3132 struct cvmx_pip_tag_mask_s cn58xx;
1224 struct cvmx_pip_tag_mask_s cn58xxp1; 3133 struct cvmx_pip_tag_mask_s cn58xxp1;
3134 struct cvmx_pip_tag_mask_s cn61xx;
3135 struct cvmx_pip_tag_mask_s cn63xx;
3136 struct cvmx_pip_tag_mask_s cn63xxp1;
3137 struct cvmx_pip_tag_mask_s cn66xx;
3138 struct cvmx_pip_tag_mask_s cn68xx;
3139 struct cvmx_pip_tag_mask_s cn68xxp1;
3140 struct cvmx_pip_tag_mask_s cnf71xx;
1225}; 3141};
1226 3142
1227union cvmx_pip_tag_secret { 3143union cvmx_pip_tag_secret {
1228 uint64_t u64; 3144 uint64_t u64;
1229 struct cvmx_pip_tag_secret_s { 3145 struct cvmx_pip_tag_secret_s {
3146#ifdef __BIG_ENDIAN_BITFIELD
1230 uint64_t reserved_32_63:32; 3147 uint64_t reserved_32_63:32;
1231 uint64_t dst:16; 3148 uint64_t dst:16;
1232 uint64_t src:16; 3149 uint64_t src:16;
3150#else
3151 uint64_t src:16;
3152 uint64_t dst:16;
3153 uint64_t reserved_32_63:32;
3154#endif
1233 } s; 3155 } s;
1234 struct cvmx_pip_tag_secret_s cn30xx; 3156 struct cvmx_pip_tag_secret_s cn30xx;
1235 struct cvmx_pip_tag_secret_s cn31xx; 3157 struct cvmx_pip_tag_secret_s cn31xx;
@@ -1242,14 +3164,27 @@ union cvmx_pip_tag_secret {
1242 struct cvmx_pip_tag_secret_s cn56xxp1; 3164 struct cvmx_pip_tag_secret_s cn56xxp1;
1243 struct cvmx_pip_tag_secret_s cn58xx; 3165 struct cvmx_pip_tag_secret_s cn58xx;
1244 struct cvmx_pip_tag_secret_s cn58xxp1; 3166 struct cvmx_pip_tag_secret_s cn58xxp1;
3167 struct cvmx_pip_tag_secret_s cn61xx;
3168 struct cvmx_pip_tag_secret_s cn63xx;
3169 struct cvmx_pip_tag_secret_s cn63xxp1;
3170 struct cvmx_pip_tag_secret_s cn66xx;
3171 struct cvmx_pip_tag_secret_s cn68xx;
3172 struct cvmx_pip_tag_secret_s cn68xxp1;
3173 struct cvmx_pip_tag_secret_s cnf71xx;
1245}; 3174};
1246 3175
1247union cvmx_pip_todo_entry { 3176union cvmx_pip_todo_entry {
1248 uint64_t u64; 3177 uint64_t u64;
1249 struct cvmx_pip_todo_entry_s { 3178 struct cvmx_pip_todo_entry_s {
3179#ifdef __BIG_ENDIAN_BITFIELD
1250 uint64_t val:1; 3180 uint64_t val:1;
1251 uint64_t reserved_62_62:1; 3181 uint64_t reserved_62_62:1;
1252 uint64_t entry:62; 3182 uint64_t entry:62;
3183#else
3184 uint64_t entry:62;
3185 uint64_t reserved_62_62:1;
3186 uint64_t val:1;
3187#endif
1253 } s; 3188 } s;
1254 struct cvmx_pip_todo_entry_s cn30xx; 3189 struct cvmx_pip_todo_entry_s cn30xx;
1255 struct cvmx_pip_todo_entry_s cn31xx; 3190 struct cvmx_pip_todo_entry_s cn31xx;
@@ -1262,6 +3197,226 @@ union cvmx_pip_todo_entry {
1262 struct cvmx_pip_todo_entry_s cn56xxp1; 3197 struct cvmx_pip_todo_entry_s cn56xxp1;
1263 struct cvmx_pip_todo_entry_s cn58xx; 3198 struct cvmx_pip_todo_entry_s cn58xx;
1264 struct cvmx_pip_todo_entry_s cn58xxp1; 3199 struct cvmx_pip_todo_entry_s cn58xxp1;
3200 struct cvmx_pip_todo_entry_s cn61xx;
3201 struct cvmx_pip_todo_entry_s cn63xx;
3202 struct cvmx_pip_todo_entry_s cn63xxp1;
3203 struct cvmx_pip_todo_entry_s cn66xx;
3204 struct cvmx_pip_todo_entry_s cn68xx;
3205 struct cvmx_pip_todo_entry_s cn68xxp1;
3206 struct cvmx_pip_todo_entry_s cnf71xx;
3207};
3208
3209union cvmx_pip_vlan_etypesx {
3210 uint64_t u64;
3211 struct cvmx_pip_vlan_etypesx_s {
3212#ifdef __BIG_ENDIAN_BITFIELD
3213 uint64_t type3:16;
3214 uint64_t type2:16;
3215 uint64_t type1:16;
3216 uint64_t type0:16;
3217#else
3218 uint64_t type0:16;
3219 uint64_t type1:16;
3220 uint64_t type2:16;
3221 uint64_t type3:16;
3222#endif
3223 } s;
3224 struct cvmx_pip_vlan_etypesx_s cn61xx;
3225 struct cvmx_pip_vlan_etypesx_s cn66xx;
3226 struct cvmx_pip_vlan_etypesx_s cn68xx;
3227 struct cvmx_pip_vlan_etypesx_s cnf71xx;
3228};
3229
3230union cvmx_pip_xstat0_prtx {
3231 uint64_t u64;
3232 struct cvmx_pip_xstat0_prtx_s {
3233#ifdef __BIG_ENDIAN_BITFIELD
3234 uint64_t drp_pkts:32;
3235 uint64_t drp_octs:32;
3236#else
3237 uint64_t drp_octs:32;
3238 uint64_t drp_pkts:32;
3239#endif
3240 } s;
3241 struct cvmx_pip_xstat0_prtx_s cn63xx;
3242 struct cvmx_pip_xstat0_prtx_s cn63xxp1;
3243 struct cvmx_pip_xstat0_prtx_s cn66xx;
3244};
3245
3246union cvmx_pip_xstat10_prtx {
3247 uint64_t u64;
3248 struct cvmx_pip_xstat10_prtx_s {
3249#ifdef __BIG_ENDIAN_BITFIELD
3250 uint64_t bcast:32;
3251 uint64_t mcast:32;
3252#else
3253 uint64_t mcast:32;
3254 uint64_t bcast:32;
3255#endif
3256 } s;
3257 struct cvmx_pip_xstat10_prtx_s cn63xx;
3258 struct cvmx_pip_xstat10_prtx_s cn63xxp1;
3259 struct cvmx_pip_xstat10_prtx_s cn66xx;
3260};
3261
3262union cvmx_pip_xstat11_prtx {
3263 uint64_t u64;
3264 struct cvmx_pip_xstat11_prtx_s {
3265#ifdef __BIG_ENDIAN_BITFIELD
3266 uint64_t bcast:32;
3267 uint64_t mcast:32;
3268#else
3269 uint64_t mcast:32;
3270 uint64_t bcast:32;
3271#endif
3272 } s;
3273 struct cvmx_pip_xstat11_prtx_s cn63xx;
3274 struct cvmx_pip_xstat11_prtx_s cn63xxp1;
3275 struct cvmx_pip_xstat11_prtx_s cn66xx;
3276};
3277
3278union cvmx_pip_xstat1_prtx {
3279 uint64_t u64;
3280 struct cvmx_pip_xstat1_prtx_s {
3281#ifdef __BIG_ENDIAN_BITFIELD
3282 uint64_t reserved_48_63:16;
3283 uint64_t octs:48;
3284#else
3285 uint64_t octs:48;
3286 uint64_t reserved_48_63:16;
3287#endif
3288 } s;
3289 struct cvmx_pip_xstat1_prtx_s cn63xx;
3290 struct cvmx_pip_xstat1_prtx_s cn63xxp1;
3291 struct cvmx_pip_xstat1_prtx_s cn66xx;
3292};
3293
3294union cvmx_pip_xstat2_prtx {
3295 uint64_t u64;
3296 struct cvmx_pip_xstat2_prtx_s {
3297#ifdef __BIG_ENDIAN_BITFIELD
3298 uint64_t pkts:32;
3299 uint64_t raw:32;
3300#else
3301 uint64_t raw:32;
3302 uint64_t pkts:32;
3303#endif
3304 } s;
3305 struct cvmx_pip_xstat2_prtx_s cn63xx;
3306 struct cvmx_pip_xstat2_prtx_s cn63xxp1;
3307 struct cvmx_pip_xstat2_prtx_s cn66xx;
3308};
3309
3310union cvmx_pip_xstat3_prtx {
3311 uint64_t u64;
3312 struct cvmx_pip_xstat3_prtx_s {
3313#ifdef __BIG_ENDIAN_BITFIELD
3314 uint64_t bcst:32;
3315 uint64_t mcst:32;
3316#else
3317 uint64_t mcst:32;
3318 uint64_t bcst:32;
3319#endif
3320 } s;
3321 struct cvmx_pip_xstat3_prtx_s cn63xx;
3322 struct cvmx_pip_xstat3_prtx_s cn63xxp1;
3323 struct cvmx_pip_xstat3_prtx_s cn66xx;
3324};
3325
3326union cvmx_pip_xstat4_prtx {
3327 uint64_t u64;
3328 struct cvmx_pip_xstat4_prtx_s {
3329#ifdef __BIG_ENDIAN_BITFIELD
3330 uint64_t h65to127:32;
3331 uint64_t h64:32;
3332#else
3333 uint64_t h64:32;
3334 uint64_t h65to127:32;
3335#endif
3336 } s;
3337 struct cvmx_pip_xstat4_prtx_s cn63xx;
3338 struct cvmx_pip_xstat4_prtx_s cn63xxp1;
3339 struct cvmx_pip_xstat4_prtx_s cn66xx;
3340};
3341
3342union cvmx_pip_xstat5_prtx {
3343 uint64_t u64;
3344 struct cvmx_pip_xstat5_prtx_s {
3345#ifdef __BIG_ENDIAN_BITFIELD
3346 uint64_t h256to511:32;
3347 uint64_t h128to255:32;
3348#else
3349 uint64_t h128to255:32;
3350 uint64_t h256to511:32;
3351#endif
3352 } s;
3353 struct cvmx_pip_xstat5_prtx_s cn63xx;
3354 struct cvmx_pip_xstat5_prtx_s cn63xxp1;
3355 struct cvmx_pip_xstat5_prtx_s cn66xx;
3356};
3357
3358union cvmx_pip_xstat6_prtx {
3359 uint64_t u64;
3360 struct cvmx_pip_xstat6_prtx_s {
3361#ifdef __BIG_ENDIAN_BITFIELD
3362 uint64_t h1024to1518:32;
3363 uint64_t h512to1023:32;
3364#else
3365 uint64_t h512to1023:32;
3366 uint64_t h1024to1518:32;
3367#endif
3368 } s;
3369 struct cvmx_pip_xstat6_prtx_s cn63xx;
3370 struct cvmx_pip_xstat6_prtx_s cn63xxp1;
3371 struct cvmx_pip_xstat6_prtx_s cn66xx;
3372};
3373
3374union cvmx_pip_xstat7_prtx {
3375 uint64_t u64;
3376 struct cvmx_pip_xstat7_prtx_s {
3377#ifdef __BIG_ENDIAN_BITFIELD
3378 uint64_t fcs:32;
3379 uint64_t h1519:32;
3380#else
3381 uint64_t h1519:32;
3382 uint64_t fcs:32;
3383#endif
3384 } s;
3385 struct cvmx_pip_xstat7_prtx_s cn63xx;
3386 struct cvmx_pip_xstat7_prtx_s cn63xxp1;
3387 struct cvmx_pip_xstat7_prtx_s cn66xx;
3388};
3389
3390union cvmx_pip_xstat8_prtx {
3391 uint64_t u64;
3392 struct cvmx_pip_xstat8_prtx_s {
3393#ifdef __BIG_ENDIAN_BITFIELD
3394 uint64_t frag:32;
3395 uint64_t undersz:32;
3396#else
3397 uint64_t undersz:32;
3398 uint64_t frag:32;
3399#endif
3400 } s;
3401 struct cvmx_pip_xstat8_prtx_s cn63xx;
3402 struct cvmx_pip_xstat8_prtx_s cn63xxp1;
3403 struct cvmx_pip_xstat8_prtx_s cn66xx;
3404};
3405
3406union cvmx_pip_xstat9_prtx {
3407 uint64_t u64;
3408 struct cvmx_pip_xstat9_prtx_s {
3409#ifdef __BIG_ENDIAN_BITFIELD
3410 uint64_t jabber:32;
3411 uint64_t oversz:32;
3412#else
3413 uint64_t oversz:32;
3414 uint64_t jabber:32;
3415#endif
3416 } s;
3417 struct cvmx_pip_xstat9_prtx_s cn63xx;
3418 struct cvmx_pip_xstat9_prtx_s cn63xxp1;
3419 struct cvmx_pip_xstat9_prtx_s cn66xx;
1265}; 3420};
1266 3421
1267#endif 3422#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pko-defs.h b/arch/mips/include/asm/octeon/cvmx-pko-defs.h
index 50e779cf1ad8..87c3b970cad4 100644
--- a/arch/mips/include/asm/octeon/cvmx-pko-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pko-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,94 +28,74 @@
28#ifndef __CVMX_PKO_DEFS_H__ 28#ifndef __CVMX_PKO_DEFS_H__
29#define __CVMX_PKO_DEFS_H__ 29#define __CVMX_PKO_DEFS_H__
30 30
31#define CVMX_PKO_MEM_COUNT0 \ 31#define CVMX_PKO_MEM_COUNT0 (CVMX_ADD_IO_SEG(0x0001180050001080ull))
32 CVMX_ADD_IO_SEG(0x0001180050001080ull) 32#define CVMX_PKO_MEM_COUNT1 (CVMX_ADD_IO_SEG(0x0001180050001088ull))
33#define CVMX_PKO_MEM_COUNT1 \ 33#define CVMX_PKO_MEM_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050001100ull))
34 CVMX_ADD_IO_SEG(0x0001180050001088ull) 34#define CVMX_PKO_MEM_DEBUG1 (CVMX_ADD_IO_SEG(0x0001180050001108ull))
35#define CVMX_PKO_MEM_DEBUG0 \ 35#define CVMX_PKO_MEM_DEBUG10 (CVMX_ADD_IO_SEG(0x0001180050001150ull))
36 CVMX_ADD_IO_SEG(0x0001180050001100ull) 36#define CVMX_PKO_MEM_DEBUG11 (CVMX_ADD_IO_SEG(0x0001180050001158ull))
37#define CVMX_PKO_MEM_DEBUG1 \ 37#define CVMX_PKO_MEM_DEBUG12 (CVMX_ADD_IO_SEG(0x0001180050001160ull))
38 CVMX_ADD_IO_SEG(0x0001180050001108ull) 38#define CVMX_PKO_MEM_DEBUG13 (CVMX_ADD_IO_SEG(0x0001180050001168ull))
39#define CVMX_PKO_MEM_DEBUG10 \ 39#define CVMX_PKO_MEM_DEBUG14 (CVMX_ADD_IO_SEG(0x0001180050001170ull))
40 CVMX_ADD_IO_SEG(0x0001180050001150ull) 40#define CVMX_PKO_MEM_DEBUG2 (CVMX_ADD_IO_SEG(0x0001180050001110ull))
41#define CVMX_PKO_MEM_DEBUG11 \ 41#define CVMX_PKO_MEM_DEBUG3 (CVMX_ADD_IO_SEG(0x0001180050001118ull))
42 CVMX_ADD_IO_SEG(0x0001180050001158ull) 42#define CVMX_PKO_MEM_DEBUG4 (CVMX_ADD_IO_SEG(0x0001180050001120ull))
43#define CVMX_PKO_MEM_DEBUG12 \ 43#define CVMX_PKO_MEM_DEBUG5 (CVMX_ADD_IO_SEG(0x0001180050001128ull))
44 CVMX_ADD_IO_SEG(0x0001180050001160ull) 44#define CVMX_PKO_MEM_DEBUG6 (CVMX_ADD_IO_SEG(0x0001180050001130ull))
45#define CVMX_PKO_MEM_DEBUG13 \ 45#define CVMX_PKO_MEM_DEBUG7 (CVMX_ADD_IO_SEG(0x0001180050001138ull))
46 CVMX_ADD_IO_SEG(0x0001180050001168ull) 46#define CVMX_PKO_MEM_DEBUG8 (CVMX_ADD_IO_SEG(0x0001180050001140ull))
47#define CVMX_PKO_MEM_DEBUG14 \ 47#define CVMX_PKO_MEM_DEBUG9 (CVMX_ADD_IO_SEG(0x0001180050001148ull))
48 CVMX_ADD_IO_SEG(0x0001180050001170ull) 48#define CVMX_PKO_MEM_IPORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001030ull))
49#define CVMX_PKO_MEM_DEBUG2 \ 49#define CVMX_PKO_MEM_IPORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001038ull))
50 CVMX_ADD_IO_SEG(0x0001180050001110ull) 50#define CVMX_PKO_MEM_IQUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001040ull))
51#define CVMX_PKO_MEM_DEBUG3 \ 51#define CVMX_PKO_MEM_IQUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001048ull))
52 CVMX_ADD_IO_SEG(0x0001180050001118ull) 52#define CVMX_PKO_MEM_PORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001010ull))
53#define CVMX_PKO_MEM_DEBUG4 \ 53#define CVMX_PKO_MEM_PORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001018ull))
54 CVMX_ADD_IO_SEG(0x0001180050001120ull) 54#define CVMX_PKO_MEM_PORT_RATE0 (CVMX_ADD_IO_SEG(0x0001180050001020ull))
55#define CVMX_PKO_MEM_DEBUG5 \ 55#define CVMX_PKO_MEM_PORT_RATE1 (CVMX_ADD_IO_SEG(0x0001180050001028ull))
56 CVMX_ADD_IO_SEG(0x0001180050001128ull) 56#define CVMX_PKO_MEM_QUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001000ull))
57#define CVMX_PKO_MEM_DEBUG6 \ 57#define CVMX_PKO_MEM_QUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001008ull))
58 CVMX_ADD_IO_SEG(0x0001180050001130ull) 58#define CVMX_PKO_MEM_THROTTLE_INT (CVMX_ADD_IO_SEG(0x0001180050001058ull))
59#define CVMX_PKO_MEM_DEBUG7 \ 59#define CVMX_PKO_MEM_THROTTLE_PIPE (CVMX_ADD_IO_SEG(0x0001180050001050ull))
60 CVMX_ADD_IO_SEG(0x0001180050001138ull) 60#define CVMX_PKO_REG_BIST_RESULT (CVMX_ADD_IO_SEG(0x0001180050000080ull))
61#define CVMX_PKO_MEM_DEBUG8 \ 61#define CVMX_PKO_REG_CMD_BUF (CVMX_ADD_IO_SEG(0x0001180050000010ull))
62 CVMX_ADD_IO_SEG(0x0001180050001140ull) 62#define CVMX_PKO_REG_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180050000028ull) + ((offset) & 1) * 8)
63#define CVMX_PKO_MEM_DEBUG9 \ 63#define CVMX_PKO_REG_CRC_ENABLE (CVMX_ADD_IO_SEG(0x0001180050000020ull))
64 CVMX_ADD_IO_SEG(0x0001180050001148ull) 64#define CVMX_PKO_REG_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x0001180050000038ull) + ((offset) & 1) * 8)
65#define CVMX_PKO_MEM_PORT_PTRS \ 65#define CVMX_PKO_REG_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050000098ull))
66 CVMX_ADD_IO_SEG(0x0001180050001010ull) 66#define CVMX_PKO_REG_DEBUG1 (CVMX_ADD_IO_SEG(0x00011800500000A0ull))
67#define CVMX_PKO_MEM_PORT_QOS \ 67#define CVMX_PKO_REG_DEBUG2 (CVMX_ADD_IO_SEG(0x00011800500000A8ull))
68 CVMX_ADD_IO_SEG(0x0001180050001018ull) 68#define CVMX_PKO_REG_DEBUG3 (CVMX_ADD_IO_SEG(0x00011800500000B0ull))
69#define CVMX_PKO_MEM_PORT_RATE0 \ 69#define CVMX_PKO_REG_DEBUG4 (CVMX_ADD_IO_SEG(0x00011800500000B8ull))
70 CVMX_ADD_IO_SEG(0x0001180050001020ull) 70#define CVMX_PKO_REG_ENGINE_INFLIGHT (CVMX_ADD_IO_SEG(0x0001180050000050ull))
71#define CVMX_PKO_MEM_PORT_RATE1 \ 71#define CVMX_PKO_REG_ENGINE_INFLIGHT1 (CVMX_ADD_IO_SEG(0x0001180050000318ull))
72 CVMX_ADD_IO_SEG(0x0001180050001028ull) 72#define CVMX_PKO_REG_ENGINE_STORAGEX(offset) (CVMX_ADD_IO_SEG(0x0001180050000300ull) + ((offset) & 1) * 8)
73#define CVMX_PKO_MEM_QUEUE_PTRS \ 73#define CVMX_PKO_REG_ENGINE_THRESH (CVMX_ADD_IO_SEG(0x0001180050000058ull))
74 CVMX_ADD_IO_SEG(0x0001180050001000ull) 74#define CVMX_PKO_REG_ERROR (CVMX_ADD_IO_SEG(0x0001180050000088ull))
75#define CVMX_PKO_MEM_QUEUE_QOS \ 75#define CVMX_PKO_REG_FLAGS (CVMX_ADD_IO_SEG(0x0001180050000000ull))
76 CVMX_ADD_IO_SEG(0x0001180050001008ull) 76#define CVMX_PKO_REG_GMX_PORT_MODE (CVMX_ADD_IO_SEG(0x0001180050000018ull))
77#define CVMX_PKO_REG_BIST_RESULT \ 77#define CVMX_PKO_REG_INT_MASK (CVMX_ADD_IO_SEG(0x0001180050000090ull))
78 CVMX_ADD_IO_SEG(0x0001180050000080ull) 78#define CVMX_PKO_REG_LOOPBACK_BPID (CVMX_ADD_IO_SEG(0x0001180050000118ull))
79#define CVMX_PKO_REG_CMD_BUF \ 79#define CVMX_PKO_REG_LOOPBACK_PKIND (CVMX_ADD_IO_SEG(0x0001180050000068ull))
80 CVMX_ADD_IO_SEG(0x0001180050000010ull) 80#define CVMX_PKO_REG_MIN_PKT (CVMX_ADD_IO_SEG(0x0001180050000070ull))
81#define CVMX_PKO_REG_CRC_CTLX(offset) \ 81#define CVMX_PKO_REG_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000110ull))
82 CVMX_ADD_IO_SEG(0x0001180050000028ull + (((offset) & 1) * 8)) 82#define CVMX_PKO_REG_QUEUE_MODE (CVMX_ADD_IO_SEG(0x0001180050000048ull))
83#define CVMX_PKO_REG_CRC_ENABLE \ 83#define CVMX_PKO_REG_QUEUE_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000108ull))
84 CVMX_ADD_IO_SEG(0x0001180050000020ull) 84#define CVMX_PKO_REG_QUEUE_PTRS1 (CVMX_ADD_IO_SEG(0x0001180050000100ull))
85#define CVMX_PKO_REG_CRC_IVX(offset) \ 85#define CVMX_PKO_REG_READ_IDX (CVMX_ADD_IO_SEG(0x0001180050000008ull))
86 CVMX_ADD_IO_SEG(0x0001180050000038ull + (((offset) & 1) * 8)) 86#define CVMX_PKO_REG_THROTTLE (CVMX_ADD_IO_SEG(0x0001180050000078ull))
87#define CVMX_PKO_REG_DEBUG0 \ 87#define CVMX_PKO_REG_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001180050000060ull))
88 CVMX_ADD_IO_SEG(0x0001180050000098ull)
89#define CVMX_PKO_REG_DEBUG1 \
90 CVMX_ADD_IO_SEG(0x00011800500000A0ull)
91#define CVMX_PKO_REG_DEBUG2 \
92 CVMX_ADD_IO_SEG(0x00011800500000A8ull)
93#define CVMX_PKO_REG_DEBUG3 \
94 CVMX_ADD_IO_SEG(0x00011800500000B0ull)
95#define CVMX_PKO_REG_ENGINE_INFLIGHT \
96 CVMX_ADD_IO_SEG(0x0001180050000050ull)
97#define CVMX_PKO_REG_ENGINE_THRESH \
98 CVMX_ADD_IO_SEG(0x0001180050000058ull)
99#define CVMX_PKO_REG_ERROR \
100 CVMX_ADD_IO_SEG(0x0001180050000088ull)
101#define CVMX_PKO_REG_FLAGS \
102 CVMX_ADD_IO_SEG(0x0001180050000000ull)
103#define CVMX_PKO_REG_GMX_PORT_MODE \
104 CVMX_ADD_IO_SEG(0x0001180050000018ull)
105#define CVMX_PKO_REG_INT_MASK \
106 CVMX_ADD_IO_SEG(0x0001180050000090ull)
107#define CVMX_PKO_REG_QUEUE_MODE \
108 CVMX_ADD_IO_SEG(0x0001180050000048ull)
109#define CVMX_PKO_REG_QUEUE_PTRS1 \
110 CVMX_ADD_IO_SEG(0x0001180050000100ull)
111#define CVMX_PKO_REG_READ_IDX \
112 CVMX_ADD_IO_SEG(0x0001180050000008ull)
113 88
114union cvmx_pko_mem_count0 { 89union cvmx_pko_mem_count0 {
115 uint64_t u64; 90 uint64_t u64;
116 struct cvmx_pko_mem_count0_s { 91 struct cvmx_pko_mem_count0_s {
92#ifdef __BIG_ENDIAN_BITFIELD
117 uint64_t reserved_32_63:32; 93 uint64_t reserved_32_63:32;
118 uint64_t count:32; 94 uint64_t count:32;
95#else
96 uint64_t count:32;
97 uint64_t reserved_32_63:32;
98#endif
119 } s; 99 } s;
120 struct cvmx_pko_mem_count0_s cn30xx; 100 struct cvmx_pko_mem_count0_s cn30xx;
121 struct cvmx_pko_mem_count0_s cn31xx; 101 struct cvmx_pko_mem_count0_s cn31xx;
@@ -128,13 +108,25 @@ union cvmx_pko_mem_count0 {
128 struct cvmx_pko_mem_count0_s cn56xxp1; 108 struct cvmx_pko_mem_count0_s cn56xxp1;
129 struct cvmx_pko_mem_count0_s cn58xx; 109 struct cvmx_pko_mem_count0_s cn58xx;
130 struct cvmx_pko_mem_count0_s cn58xxp1; 110 struct cvmx_pko_mem_count0_s cn58xxp1;
111 struct cvmx_pko_mem_count0_s cn61xx;
112 struct cvmx_pko_mem_count0_s cn63xx;
113 struct cvmx_pko_mem_count0_s cn63xxp1;
114 struct cvmx_pko_mem_count0_s cn66xx;
115 struct cvmx_pko_mem_count0_s cn68xx;
116 struct cvmx_pko_mem_count0_s cn68xxp1;
117 struct cvmx_pko_mem_count0_s cnf71xx;
131}; 118};
132 119
133union cvmx_pko_mem_count1 { 120union cvmx_pko_mem_count1 {
134 uint64_t u64; 121 uint64_t u64;
135 struct cvmx_pko_mem_count1_s { 122 struct cvmx_pko_mem_count1_s {
123#ifdef __BIG_ENDIAN_BITFIELD
136 uint64_t reserved_48_63:16; 124 uint64_t reserved_48_63:16;
137 uint64_t count:48; 125 uint64_t count:48;
126#else
127 uint64_t count:48;
128 uint64_t reserved_48_63:16;
129#endif
138 } s; 130 } s;
139 struct cvmx_pko_mem_count1_s cn30xx; 131 struct cvmx_pko_mem_count1_s cn30xx;
140 struct cvmx_pko_mem_count1_s cn31xx; 132 struct cvmx_pko_mem_count1_s cn31xx;
@@ -147,15 +139,29 @@ union cvmx_pko_mem_count1 {
147 struct cvmx_pko_mem_count1_s cn56xxp1; 139 struct cvmx_pko_mem_count1_s cn56xxp1;
148 struct cvmx_pko_mem_count1_s cn58xx; 140 struct cvmx_pko_mem_count1_s cn58xx;
149 struct cvmx_pko_mem_count1_s cn58xxp1; 141 struct cvmx_pko_mem_count1_s cn58xxp1;
142 struct cvmx_pko_mem_count1_s cn61xx;
143 struct cvmx_pko_mem_count1_s cn63xx;
144 struct cvmx_pko_mem_count1_s cn63xxp1;
145 struct cvmx_pko_mem_count1_s cn66xx;
146 struct cvmx_pko_mem_count1_s cn68xx;
147 struct cvmx_pko_mem_count1_s cn68xxp1;
148 struct cvmx_pko_mem_count1_s cnf71xx;
150}; 149};
151 150
152union cvmx_pko_mem_debug0 { 151union cvmx_pko_mem_debug0 {
153 uint64_t u64; 152 uint64_t u64;
154 struct cvmx_pko_mem_debug0_s { 153 struct cvmx_pko_mem_debug0_s {
154#ifdef __BIG_ENDIAN_BITFIELD
155 uint64_t fau:28; 155 uint64_t fau:28;
156 uint64_t cmd:14; 156 uint64_t cmd:14;
157 uint64_t segs:6; 157 uint64_t segs:6;
158 uint64_t size:16; 158 uint64_t size:16;
159#else
160 uint64_t size:16;
161 uint64_t segs:6;
162 uint64_t cmd:14;
163 uint64_t fau:28;
164#endif
159 } s; 165 } s;
160 struct cvmx_pko_mem_debug0_s cn30xx; 166 struct cvmx_pko_mem_debug0_s cn30xx;
161 struct cvmx_pko_mem_debug0_s cn31xx; 167 struct cvmx_pko_mem_debug0_s cn31xx;
@@ -168,16 +174,31 @@ union cvmx_pko_mem_debug0 {
168 struct cvmx_pko_mem_debug0_s cn56xxp1; 174 struct cvmx_pko_mem_debug0_s cn56xxp1;
169 struct cvmx_pko_mem_debug0_s cn58xx; 175 struct cvmx_pko_mem_debug0_s cn58xx;
170 struct cvmx_pko_mem_debug0_s cn58xxp1; 176 struct cvmx_pko_mem_debug0_s cn58xxp1;
177 struct cvmx_pko_mem_debug0_s cn61xx;
178 struct cvmx_pko_mem_debug0_s cn63xx;
179 struct cvmx_pko_mem_debug0_s cn63xxp1;
180 struct cvmx_pko_mem_debug0_s cn66xx;
181 struct cvmx_pko_mem_debug0_s cn68xx;
182 struct cvmx_pko_mem_debug0_s cn68xxp1;
183 struct cvmx_pko_mem_debug0_s cnf71xx;
171}; 184};
172 185
173union cvmx_pko_mem_debug1 { 186union cvmx_pko_mem_debug1 {
174 uint64_t u64; 187 uint64_t u64;
175 struct cvmx_pko_mem_debug1_s { 188 struct cvmx_pko_mem_debug1_s {
189#ifdef __BIG_ENDIAN_BITFIELD
176 uint64_t i:1; 190 uint64_t i:1;
177 uint64_t back:4; 191 uint64_t back:4;
178 uint64_t pool:3; 192 uint64_t pool:3;
179 uint64_t size:16; 193 uint64_t size:16;
180 uint64_t ptr:40; 194 uint64_t ptr:40;
195#else
196 uint64_t ptr:40;
197 uint64_t size:16;
198 uint64_t pool:3;
199 uint64_t back:4;
200 uint64_t i:1;
201#endif
181 } s; 202 } s;
182 struct cvmx_pko_mem_debug1_s cn30xx; 203 struct cvmx_pko_mem_debug1_s cn30xx;
183 struct cvmx_pko_mem_debug1_s cn31xx; 204 struct cvmx_pko_mem_debug1_s cn31xx;
@@ -190,27 +211,52 @@ union cvmx_pko_mem_debug1 {
190 struct cvmx_pko_mem_debug1_s cn56xxp1; 211 struct cvmx_pko_mem_debug1_s cn56xxp1;
191 struct cvmx_pko_mem_debug1_s cn58xx; 212 struct cvmx_pko_mem_debug1_s cn58xx;
192 struct cvmx_pko_mem_debug1_s cn58xxp1; 213 struct cvmx_pko_mem_debug1_s cn58xxp1;
214 struct cvmx_pko_mem_debug1_s cn61xx;
215 struct cvmx_pko_mem_debug1_s cn63xx;
216 struct cvmx_pko_mem_debug1_s cn63xxp1;
217 struct cvmx_pko_mem_debug1_s cn66xx;
218 struct cvmx_pko_mem_debug1_s cn68xx;
219 struct cvmx_pko_mem_debug1_s cn68xxp1;
220 struct cvmx_pko_mem_debug1_s cnf71xx;
193}; 221};
194 222
195union cvmx_pko_mem_debug10 { 223union cvmx_pko_mem_debug10 {
196 uint64_t u64; 224 uint64_t u64;
197 struct cvmx_pko_mem_debug10_s { 225 struct cvmx_pko_mem_debug10_s {
226#ifdef __BIG_ENDIAN_BITFIELD
227 uint64_t reserved_0_63:64;
228#else
198 uint64_t reserved_0_63:64; 229 uint64_t reserved_0_63:64;
230#endif
199 } s; 231 } s;
200 struct cvmx_pko_mem_debug10_cn30xx { 232 struct cvmx_pko_mem_debug10_cn30xx {
233#ifdef __BIG_ENDIAN_BITFIELD
201 uint64_t fau:28; 234 uint64_t fau:28;
202 uint64_t cmd:14; 235 uint64_t cmd:14;
203 uint64_t segs:6; 236 uint64_t segs:6;
204 uint64_t size:16; 237 uint64_t size:16;
238#else
239 uint64_t size:16;
240 uint64_t segs:6;
241 uint64_t cmd:14;
242 uint64_t fau:28;
243#endif
205 } cn30xx; 244 } cn30xx;
206 struct cvmx_pko_mem_debug10_cn30xx cn31xx; 245 struct cvmx_pko_mem_debug10_cn30xx cn31xx;
207 struct cvmx_pko_mem_debug10_cn30xx cn38xx; 246 struct cvmx_pko_mem_debug10_cn30xx cn38xx;
208 struct cvmx_pko_mem_debug10_cn30xx cn38xxp2; 247 struct cvmx_pko_mem_debug10_cn30xx cn38xxp2;
209 struct cvmx_pko_mem_debug10_cn50xx { 248 struct cvmx_pko_mem_debug10_cn50xx {
249#ifdef __BIG_ENDIAN_BITFIELD
210 uint64_t reserved_49_63:15; 250 uint64_t reserved_49_63:15;
211 uint64_t ptrs1:17; 251 uint64_t ptrs1:17;
212 uint64_t reserved_17_31:15; 252 uint64_t reserved_17_31:15;
213 uint64_t ptrs2:17; 253 uint64_t ptrs2:17;
254#else
255 uint64_t ptrs2:17;
256 uint64_t reserved_17_31:15;
257 uint64_t ptrs1:17;
258 uint64_t reserved_49_63:15;
259#endif
214 } cn50xx; 260 } cn50xx;
215 struct cvmx_pko_mem_debug10_cn50xx cn52xx; 261 struct cvmx_pko_mem_debug10_cn50xx cn52xx;
216 struct cvmx_pko_mem_debug10_cn50xx cn52xxp1; 262 struct cvmx_pko_mem_debug10_cn50xx cn52xxp1;
@@ -218,28 +264,52 @@ union cvmx_pko_mem_debug10 {
218 struct cvmx_pko_mem_debug10_cn50xx cn56xxp1; 264 struct cvmx_pko_mem_debug10_cn50xx cn56xxp1;
219 struct cvmx_pko_mem_debug10_cn50xx cn58xx; 265 struct cvmx_pko_mem_debug10_cn50xx cn58xx;
220 struct cvmx_pko_mem_debug10_cn50xx cn58xxp1; 266 struct cvmx_pko_mem_debug10_cn50xx cn58xxp1;
267 struct cvmx_pko_mem_debug10_cn50xx cn61xx;
268 struct cvmx_pko_mem_debug10_cn50xx cn63xx;
269 struct cvmx_pko_mem_debug10_cn50xx cn63xxp1;
270 struct cvmx_pko_mem_debug10_cn50xx cn66xx;
271 struct cvmx_pko_mem_debug10_cn50xx cn68xx;
272 struct cvmx_pko_mem_debug10_cn50xx cn68xxp1;
273 struct cvmx_pko_mem_debug10_cn50xx cnf71xx;
221}; 274};
222 275
223union cvmx_pko_mem_debug11 { 276union cvmx_pko_mem_debug11 {
224 uint64_t u64; 277 uint64_t u64;
225 struct cvmx_pko_mem_debug11_s { 278 struct cvmx_pko_mem_debug11_s {
279#ifdef __BIG_ENDIAN_BITFIELD
226 uint64_t i:1; 280 uint64_t i:1;
227 uint64_t back:4; 281 uint64_t back:4;
228 uint64_t pool:3; 282 uint64_t pool:3;
229 uint64_t size:16; 283 uint64_t size:16;
230 uint64_t reserved_0_39:40; 284 uint64_t reserved_0_39:40;
285#else
286 uint64_t reserved_0_39:40;
287 uint64_t size:16;
288 uint64_t pool:3;
289 uint64_t back:4;
290 uint64_t i:1;
291#endif
231 } s; 292 } s;
232 struct cvmx_pko_mem_debug11_cn30xx { 293 struct cvmx_pko_mem_debug11_cn30xx {
294#ifdef __BIG_ENDIAN_BITFIELD
233 uint64_t i:1; 295 uint64_t i:1;
234 uint64_t back:4; 296 uint64_t back:4;
235 uint64_t pool:3; 297 uint64_t pool:3;
236 uint64_t size:16; 298 uint64_t size:16;
237 uint64_t ptr:40; 299 uint64_t ptr:40;
300#else
301 uint64_t ptr:40;
302 uint64_t size:16;
303 uint64_t pool:3;
304 uint64_t back:4;
305 uint64_t i:1;
306#endif
238 } cn30xx; 307 } cn30xx;
239 struct cvmx_pko_mem_debug11_cn30xx cn31xx; 308 struct cvmx_pko_mem_debug11_cn30xx cn31xx;
240 struct cvmx_pko_mem_debug11_cn30xx cn38xx; 309 struct cvmx_pko_mem_debug11_cn30xx cn38xx;
241 struct cvmx_pko_mem_debug11_cn30xx cn38xxp2; 310 struct cvmx_pko_mem_debug11_cn30xx cn38xxp2;
242 struct cvmx_pko_mem_debug11_cn50xx { 311 struct cvmx_pko_mem_debug11_cn50xx {
312#ifdef __BIG_ENDIAN_BITFIELD
243 uint64_t reserved_23_63:41; 313 uint64_t reserved_23_63:41;
244 uint64_t maj:1; 314 uint64_t maj:1;
245 uint64_t uid:3; 315 uint64_t uid:3;
@@ -248,6 +318,16 @@ union cvmx_pko_mem_debug11 {
248 uint64_t chk:1; 318 uint64_t chk:1;
249 uint64_t cnt:13; 319 uint64_t cnt:13;
250 uint64_t mod:3; 320 uint64_t mod:3;
321#else
322 uint64_t mod:3;
323 uint64_t cnt:13;
324 uint64_t chk:1;
325 uint64_t len:1;
326 uint64_t sop:1;
327 uint64_t uid:3;
328 uint64_t maj:1;
329 uint64_t reserved_23_63:41;
330#endif
251 } cn50xx; 331 } cn50xx;
252 struct cvmx_pko_mem_debug11_cn50xx cn52xx; 332 struct cvmx_pko_mem_debug11_cn50xx cn52xx;
253 struct cvmx_pko_mem_debug11_cn50xx cn52xxp1; 333 struct cvmx_pko_mem_debug11_cn50xx cn52xxp1;
@@ -255,24 +335,46 @@ union cvmx_pko_mem_debug11 {
255 struct cvmx_pko_mem_debug11_cn50xx cn56xxp1; 335 struct cvmx_pko_mem_debug11_cn50xx cn56xxp1;
256 struct cvmx_pko_mem_debug11_cn50xx cn58xx; 336 struct cvmx_pko_mem_debug11_cn50xx cn58xx;
257 struct cvmx_pko_mem_debug11_cn50xx cn58xxp1; 337 struct cvmx_pko_mem_debug11_cn50xx cn58xxp1;
338 struct cvmx_pko_mem_debug11_cn50xx cn61xx;
339 struct cvmx_pko_mem_debug11_cn50xx cn63xx;
340 struct cvmx_pko_mem_debug11_cn50xx cn63xxp1;
341 struct cvmx_pko_mem_debug11_cn50xx cn66xx;
342 struct cvmx_pko_mem_debug11_cn50xx cn68xx;
343 struct cvmx_pko_mem_debug11_cn50xx cn68xxp1;
344 struct cvmx_pko_mem_debug11_cn50xx cnf71xx;
258}; 345};
259 346
260union cvmx_pko_mem_debug12 { 347union cvmx_pko_mem_debug12 {
261 uint64_t u64; 348 uint64_t u64;
262 struct cvmx_pko_mem_debug12_s { 349 struct cvmx_pko_mem_debug12_s {
350#ifdef __BIG_ENDIAN_BITFIELD
351 uint64_t reserved_0_63:64;
352#else
263 uint64_t reserved_0_63:64; 353 uint64_t reserved_0_63:64;
354#endif
264 } s; 355 } s;
265 struct cvmx_pko_mem_debug12_cn30xx { 356 struct cvmx_pko_mem_debug12_cn30xx {
357#ifdef __BIG_ENDIAN_BITFIELD
266 uint64_t data:64; 358 uint64_t data:64;
359#else
360 uint64_t data:64;
361#endif
267 } cn30xx; 362 } cn30xx;
268 struct cvmx_pko_mem_debug12_cn30xx cn31xx; 363 struct cvmx_pko_mem_debug12_cn30xx cn31xx;
269 struct cvmx_pko_mem_debug12_cn30xx cn38xx; 364 struct cvmx_pko_mem_debug12_cn30xx cn38xx;
270 struct cvmx_pko_mem_debug12_cn30xx cn38xxp2; 365 struct cvmx_pko_mem_debug12_cn30xx cn38xxp2;
271 struct cvmx_pko_mem_debug12_cn50xx { 366 struct cvmx_pko_mem_debug12_cn50xx {
367#ifdef __BIG_ENDIAN_BITFIELD
272 uint64_t fau:28; 368 uint64_t fau:28;
273 uint64_t cmd:14; 369 uint64_t cmd:14;
274 uint64_t segs:6; 370 uint64_t segs:6;
275 uint64_t size:16; 371 uint64_t size:16;
372#else
373 uint64_t size:16;
374 uint64_t segs:6;
375 uint64_t cmd:14;
376 uint64_t fau:28;
377#endif
276 } cn50xx; 378 } cn50xx;
277 struct cvmx_pko_mem_debug12_cn50xx cn52xx; 379 struct cvmx_pko_mem_debug12_cn50xx cn52xx;
278 struct cvmx_pko_mem_debug12_cn50xx cn52xxp1; 380 struct cvmx_pko_mem_debug12_cn50xx cn52xxp1;
@@ -280,31 +382,60 @@ union cvmx_pko_mem_debug12 {
280 struct cvmx_pko_mem_debug12_cn50xx cn56xxp1; 382 struct cvmx_pko_mem_debug12_cn50xx cn56xxp1;
281 struct cvmx_pko_mem_debug12_cn50xx cn58xx; 383 struct cvmx_pko_mem_debug12_cn50xx cn58xx;
282 struct cvmx_pko_mem_debug12_cn50xx cn58xxp1; 384 struct cvmx_pko_mem_debug12_cn50xx cn58xxp1;
385 struct cvmx_pko_mem_debug12_cn50xx cn61xx;
386 struct cvmx_pko_mem_debug12_cn50xx cn63xx;
387 struct cvmx_pko_mem_debug12_cn50xx cn63xxp1;
388 struct cvmx_pko_mem_debug12_cn50xx cn66xx;
389 struct cvmx_pko_mem_debug12_cn68xx {
390#ifdef __BIG_ENDIAN_BITFIELD
391 uint64_t state:64;
392#else
393 uint64_t state:64;
394#endif
395 } cn68xx;
396 struct cvmx_pko_mem_debug12_cn68xx cn68xxp1;
397 struct cvmx_pko_mem_debug12_cn50xx cnf71xx;
283}; 398};
284 399
285union cvmx_pko_mem_debug13 { 400union cvmx_pko_mem_debug13 {
286 uint64_t u64; 401 uint64_t u64;
287 struct cvmx_pko_mem_debug13_s { 402 struct cvmx_pko_mem_debug13_s {
288 uint64_t i:1; 403#ifdef __BIG_ENDIAN_BITFIELD
289 uint64_t back:4; 404 uint64_t reserved_0_63:64;
290 uint64_t pool:3; 405#else
291 uint64_t reserved_0_55:56; 406 uint64_t reserved_0_63:64;
407#endif
292 } s; 408 } s;
293 struct cvmx_pko_mem_debug13_cn30xx { 409 struct cvmx_pko_mem_debug13_cn30xx {
410#ifdef __BIG_ENDIAN_BITFIELD
294 uint64_t reserved_51_63:13; 411 uint64_t reserved_51_63:13;
295 uint64_t widx:17; 412 uint64_t widx:17;
296 uint64_t ridx2:17; 413 uint64_t ridx2:17;
297 uint64_t widx2:17; 414 uint64_t widx2:17;
415#else
416 uint64_t widx2:17;
417 uint64_t ridx2:17;
418 uint64_t widx:17;
419 uint64_t reserved_51_63:13;
420#endif
298 } cn30xx; 421 } cn30xx;
299 struct cvmx_pko_mem_debug13_cn30xx cn31xx; 422 struct cvmx_pko_mem_debug13_cn30xx cn31xx;
300 struct cvmx_pko_mem_debug13_cn30xx cn38xx; 423 struct cvmx_pko_mem_debug13_cn30xx cn38xx;
301 struct cvmx_pko_mem_debug13_cn30xx cn38xxp2; 424 struct cvmx_pko_mem_debug13_cn30xx cn38xxp2;
302 struct cvmx_pko_mem_debug13_cn50xx { 425 struct cvmx_pko_mem_debug13_cn50xx {
426#ifdef __BIG_ENDIAN_BITFIELD
303 uint64_t i:1; 427 uint64_t i:1;
304 uint64_t back:4; 428 uint64_t back:4;
305 uint64_t pool:3; 429 uint64_t pool:3;
306 uint64_t size:16; 430 uint64_t size:16;
307 uint64_t ptr:40; 431 uint64_t ptr:40;
432#else
433 uint64_t ptr:40;
434 uint64_t size:16;
435 uint64_t pool:3;
436 uint64_t back:4;
437 uint64_t i:1;
438#endif
308 } cn50xx; 439 } cn50xx;
309 struct cvmx_pko_mem_debug13_cn50xx cn52xx; 440 struct cvmx_pko_mem_debug13_cn50xx cn52xx;
310 struct cvmx_pko_mem_debug13_cn50xx cn52xxp1; 441 struct cvmx_pko_mem_debug13_cn50xx cn52xxp1;
@@ -312,36 +443,75 @@ union cvmx_pko_mem_debug13 {
312 struct cvmx_pko_mem_debug13_cn50xx cn56xxp1; 443 struct cvmx_pko_mem_debug13_cn50xx cn56xxp1;
313 struct cvmx_pko_mem_debug13_cn50xx cn58xx; 444 struct cvmx_pko_mem_debug13_cn50xx cn58xx;
314 struct cvmx_pko_mem_debug13_cn50xx cn58xxp1; 445 struct cvmx_pko_mem_debug13_cn50xx cn58xxp1;
446 struct cvmx_pko_mem_debug13_cn50xx cn61xx;
447 struct cvmx_pko_mem_debug13_cn50xx cn63xx;
448 struct cvmx_pko_mem_debug13_cn50xx cn63xxp1;
449 struct cvmx_pko_mem_debug13_cn50xx cn66xx;
450 struct cvmx_pko_mem_debug13_cn68xx {
451#ifdef __BIG_ENDIAN_BITFIELD
452 uint64_t state:64;
453#else
454 uint64_t state:64;
455#endif
456 } cn68xx;
457 struct cvmx_pko_mem_debug13_cn68xx cn68xxp1;
458 struct cvmx_pko_mem_debug13_cn50xx cnf71xx;
315}; 459};
316 460
317union cvmx_pko_mem_debug14 { 461union cvmx_pko_mem_debug14 {
318 uint64_t u64; 462 uint64_t u64;
319 struct cvmx_pko_mem_debug14_s { 463 struct cvmx_pko_mem_debug14_s {
464#ifdef __BIG_ENDIAN_BITFIELD
465 uint64_t reserved_0_63:64;
466#else
320 uint64_t reserved_0_63:64; 467 uint64_t reserved_0_63:64;
468#endif
321 } s; 469 } s;
322 struct cvmx_pko_mem_debug14_cn30xx { 470 struct cvmx_pko_mem_debug14_cn30xx {
471#ifdef __BIG_ENDIAN_BITFIELD
323 uint64_t reserved_17_63:47; 472 uint64_t reserved_17_63:47;
324 uint64_t ridx:17; 473 uint64_t ridx:17;
474#else
475 uint64_t ridx:17;
476 uint64_t reserved_17_63:47;
477#endif
325 } cn30xx; 478 } cn30xx;
326 struct cvmx_pko_mem_debug14_cn30xx cn31xx; 479 struct cvmx_pko_mem_debug14_cn30xx cn31xx;
327 struct cvmx_pko_mem_debug14_cn30xx cn38xx; 480 struct cvmx_pko_mem_debug14_cn30xx cn38xx;
328 struct cvmx_pko_mem_debug14_cn30xx cn38xxp2; 481 struct cvmx_pko_mem_debug14_cn30xx cn38xxp2;
329 struct cvmx_pko_mem_debug14_cn52xx { 482 struct cvmx_pko_mem_debug14_cn52xx {
483#ifdef __BIG_ENDIAN_BITFIELD
484 uint64_t data:64;
485#else
330 uint64_t data:64; 486 uint64_t data:64;
487#endif
331 } cn52xx; 488 } cn52xx;
332 struct cvmx_pko_mem_debug14_cn52xx cn52xxp1; 489 struct cvmx_pko_mem_debug14_cn52xx cn52xxp1;
333 struct cvmx_pko_mem_debug14_cn52xx cn56xx; 490 struct cvmx_pko_mem_debug14_cn52xx cn56xx;
334 struct cvmx_pko_mem_debug14_cn52xx cn56xxp1; 491 struct cvmx_pko_mem_debug14_cn52xx cn56xxp1;
492 struct cvmx_pko_mem_debug14_cn52xx cn61xx;
493 struct cvmx_pko_mem_debug14_cn52xx cn63xx;
494 struct cvmx_pko_mem_debug14_cn52xx cn63xxp1;
495 struct cvmx_pko_mem_debug14_cn52xx cn66xx;
496 struct cvmx_pko_mem_debug14_cn52xx cnf71xx;
335}; 497};
336 498
337union cvmx_pko_mem_debug2 { 499union cvmx_pko_mem_debug2 {
338 uint64_t u64; 500 uint64_t u64;
339 struct cvmx_pko_mem_debug2_s { 501 struct cvmx_pko_mem_debug2_s {
502#ifdef __BIG_ENDIAN_BITFIELD
340 uint64_t i:1; 503 uint64_t i:1;
341 uint64_t back:4; 504 uint64_t back:4;
342 uint64_t pool:3; 505 uint64_t pool:3;
343 uint64_t size:16; 506 uint64_t size:16;
344 uint64_t ptr:40; 507 uint64_t ptr:40;
508#else
509 uint64_t ptr:40;
510 uint64_t size:16;
511 uint64_t pool:3;
512 uint64_t back:4;
513 uint64_t i:1;
514#endif
345 } s; 515 } s;
346 struct cvmx_pko_mem_debug2_s cn30xx; 516 struct cvmx_pko_mem_debug2_s cn30xx;
347 struct cvmx_pko_mem_debug2_s cn31xx; 517 struct cvmx_pko_mem_debug2_s cn31xx;
@@ -354,25 +524,48 @@ union cvmx_pko_mem_debug2 {
354 struct cvmx_pko_mem_debug2_s cn56xxp1; 524 struct cvmx_pko_mem_debug2_s cn56xxp1;
355 struct cvmx_pko_mem_debug2_s cn58xx; 525 struct cvmx_pko_mem_debug2_s cn58xx;
356 struct cvmx_pko_mem_debug2_s cn58xxp1; 526 struct cvmx_pko_mem_debug2_s cn58xxp1;
527 struct cvmx_pko_mem_debug2_s cn61xx;
528 struct cvmx_pko_mem_debug2_s cn63xx;
529 struct cvmx_pko_mem_debug2_s cn63xxp1;
530 struct cvmx_pko_mem_debug2_s cn66xx;
531 struct cvmx_pko_mem_debug2_s cn68xx;
532 struct cvmx_pko_mem_debug2_s cn68xxp1;
533 struct cvmx_pko_mem_debug2_s cnf71xx;
357}; 534};
358 535
359union cvmx_pko_mem_debug3 { 536union cvmx_pko_mem_debug3 {
360 uint64_t u64; 537 uint64_t u64;
361 struct cvmx_pko_mem_debug3_s { 538 struct cvmx_pko_mem_debug3_s {
539#ifdef __BIG_ENDIAN_BITFIELD
362 uint64_t reserved_0_63:64; 540 uint64_t reserved_0_63:64;
541#else
542 uint64_t reserved_0_63:64;
543#endif
363 } s; 544 } s;
364 struct cvmx_pko_mem_debug3_cn30xx { 545 struct cvmx_pko_mem_debug3_cn30xx {
546#ifdef __BIG_ENDIAN_BITFIELD
365 uint64_t i:1; 547 uint64_t i:1;
366 uint64_t back:4; 548 uint64_t back:4;
367 uint64_t pool:3; 549 uint64_t pool:3;
368 uint64_t size:16; 550 uint64_t size:16;
369 uint64_t ptr:40; 551 uint64_t ptr:40;
552#else
553 uint64_t ptr:40;
554 uint64_t size:16;
555 uint64_t pool:3;
556 uint64_t back:4;
557 uint64_t i:1;
558#endif
370 } cn30xx; 559 } cn30xx;
371 struct cvmx_pko_mem_debug3_cn30xx cn31xx; 560 struct cvmx_pko_mem_debug3_cn30xx cn31xx;
372 struct cvmx_pko_mem_debug3_cn30xx cn38xx; 561 struct cvmx_pko_mem_debug3_cn30xx cn38xx;
373 struct cvmx_pko_mem_debug3_cn30xx cn38xxp2; 562 struct cvmx_pko_mem_debug3_cn30xx cn38xxp2;
374 struct cvmx_pko_mem_debug3_cn50xx { 563 struct cvmx_pko_mem_debug3_cn50xx {
564#ifdef __BIG_ENDIAN_BITFIELD
565 uint64_t data:64;
566#else
375 uint64_t data:64; 567 uint64_t data:64;
568#endif
376 } cn50xx; 569 } cn50xx;
377 struct cvmx_pko_mem_debug3_cn50xx cn52xx; 570 struct cvmx_pko_mem_debug3_cn50xx cn52xx;
378 struct cvmx_pko_mem_debug3_cn50xx cn52xxp1; 571 struct cvmx_pko_mem_debug3_cn50xx cn52xxp1;
@@ -380,20 +573,36 @@ union cvmx_pko_mem_debug3 {
380 struct cvmx_pko_mem_debug3_cn50xx cn56xxp1; 573 struct cvmx_pko_mem_debug3_cn50xx cn56xxp1;
381 struct cvmx_pko_mem_debug3_cn50xx cn58xx; 574 struct cvmx_pko_mem_debug3_cn50xx cn58xx;
382 struct cvmx_pko_mem_debug3_cn50xx cn58xxp1; 575 struct cvmx_pko_mem_debug3_cn50xx cn58xxp1;
576 struct cvmx_pko_mem_debug3_cn50xx cn61xx;
577 struct cvmx_pko_mem_debug3_cn50xx cn63xx;
578 struct cvmx_pko_mem_debug3_cn50xx cn63xxp1;
579 struct cvmx_pko_mem_debug3_cn50xx cn66xx;
580 struct cvmx_pko_mem_debug3_cn50xx cn68xx;
581 struct cvmx_pko_mem_debug3_cn50xx cn68xxp1;
582 struct cvmx_pko_mem_debug3_cn50xx cnf71xx;
383}; 583};
384 584
385union cvmx_pko_mem_debug4 { 585union cvmx_pko_mem_debug4 {
386 uint64_t u64; 586 uint64_t u64;
387 struct cvmx_pko_mem_debug4_s { 587 struct cvmx_pko_mem_debug4_s {
588#ifdef __BIG_ENDIAN_BITFIELD
589 uint64_t reserved_0_63:64;
590#else
388 uint64_t reserved_0_63:64; 591 uint64_t reserved_0_63:64;
592#endif
389 } s; 593 } s;
390 struct cvmx_pko_mem_debug4_cn30xx { 594 struct cvmx_pko_mem_debug4_cn30xx {
595#ifdef __BIG_ENDIAN_BITFIELD
391 uint64_t data:64; 596 uint64_t data:64;
597#else
598 uint64_t data:64;
599#endif
392 } cn30xx; 600 } cn30xx;
393 struct cvmx_pko_mem_debug4_cn30xx cn31xx; 601 struct cvmx_pko_mem_debug4_cn30xx cn31xx;
394 struct cvmx_pko_mem_debug4_cn30xx cn38xx; 602 struct cvmx_pko_mem_debug4_cn30xx cn38xx;
395 struct cvmx_pko_mem_debug4_cn30xx cn38xxp2; 603 struct cvmx_pko_mem_debug4_cn30xx cn38xxp2;
396 struct cvmx_pko_mem_debug4_cn50xx { 604 struct cvmx_pko_mem_debug4_cn50xx {
605#ifdef __BIG_ENDIAN_BITFIELD
397 uint64_t cmnd_segs:3; 606 uint64_t cmnd_segs:3;
398 uint64_t cmnd_siz:16; 607 uint64_t cmnd_siz:16;
399 uint64_t cmnd_off:6; 608 uint64_t cmnd_off:6;
@@ -412,8 +621,29 @@ union cvmx_pko_mem_debug4 {
412 uint64_t wait:1; 621 uint64_t wait:1;
413 uint64_t minor:2; 622 uint64_t minor:2;
414 uint64_t major:3; 623 uint64_t major:3;
624#else
625 uint64_t major:3;
626 uint64_t minor:2;
627 uint64_t wait:1;
628 uint64_t qid_base:8;
629 uint64_t qid_off:4;
630 uint64_t qid_off_max:4;
631 uint64_t qcb_ridx:5;
632 uint64_t qos:3;
633 uint64_t static_p:1;
634 uint64_t active:1;
635 uint64_t chk_mode:1;
636 uint64_t chk_once:1;
637 uint64_t init_dwrite:1;
638 uint64_t dread_sop:1;
639 uint64_t uid:3;
640 uint64_t cmnd_off:6;
641 uint64_t cmnd_siz:16;
642 uint64_t cmnd_segs:3;
643#endif
415 } cn50xx; 644 } cn50xx;
416 struct cvmx_pko_mem_debug4_cn52xx { 645 struct cvmx_pko_mem_debug4_cn52xx {
646#ifdef __BIG_ENDIAN_BITFIELD
417 uint64_t curr_siz:8; 647 uint64_t curr_siz:8;
418 uint64_t curr_off:16; 648 uint64_t curr_off:16;
419 uint64_t cmnd_segs:6; 649 uint64_t cmnd_segs:6;
@@ -427,20 +657,47 @@ union cvmx_pko_mem_debug4 {
427 uint64_t wait:1; 657 uint64_t wait:1;
428 uint64_t minor:2; 658 uint64_t minor:2;
429 uint64_t major:3; 659 uint64_t major:3;
660#else
661 uint64_t major:3;
662 uint64_t minor:2;
663 uint64_t wait:1;
664 uint64_t chk_mode:1;
665 uint64_t chk_once:1;
666 uint64_t init_dwrite:1;
667 uint64_t dread_sop:1;
668 uint64_t uid:2;
669 uint64_t cmnd_off:6;
670 uint64_t cmnd_siz:16;
671 uint64_t cmnd_segs:6;
672 uint64_t curr_off:16;
673 uint64_t curr_siz:8;
674#endif
430 } cn52xx; 675 } cn52xx;
431 struct cvmx_pko_mem_debug4_cn52xx cn52xxp1; 676 struct cvmx_pko_mem_debug4_cn52xx cn52xxp1;
432 struct cvmx_pko_mem_debug4_cn52xx cn56xx; 677 struct cvmx_pko_mem_debug4_cn52xx cn56xx;
433 struct cvmx_pko_mem_debug4_cn52xx cn56xxp1; 678 struct cvmx_pko_mem_debug4_cn52xx cn56xxp1;
434 struct cvmx_pko_mem_debug4_cn50xx cn58xx; 679 struct cvmx_pko_mem_debug4_cn50xx cn58xx;
435 struct cvmx_pko_mem_debug4_cn50xx cn58xxp1; 680 struct cvmx_pko_mem_debug4_cn50xx cn58xxp1;
681 struct cvmx_pko_mem_debug4_cn52xx cn61xx;
682 struct cvmx_pko_mem_debug4_cn52xx cn63xx;
683 struct cvmx_pko_mem_debug4_cn52xx cn63xxp1;
684 struct cvmx_pko_mem_debug4_cn52xx cn66xx;
685 struct cvmx_pko_mem_debug4_cn52xx cn68xx;
686 struct cvmx_pko_mem_debug4_cn52xx cn68xxp1;
687 struct cvmx_pko_mem_debug4_cn52xx cnf71xx;
436}; 688};
437 689
438union cvmx_pko_mem_debug5 { 690union cvmx_pko_mem_debug5 {
439 uint64_t u64; 691 uint64_t u64;
440 struct cvmx_pko_mem_debug5_s { 692 struct cvmx_pko_mem_debug5_s {
693#ifdef __BIG_ENDIAN_BITFIELD
694 uint64_t reserved_0_63:64;
695#else
441 uint64_t reserved_0_63:64; 696 uint64_t reserved_0_63:64;
697#endif
442 } s; 698 } s;
443 struct cvmx_pko_mem_debug5_cn30xx { 699 struct cvmx_pko_mem_debug5_cn30xx {
700#ifdef __BIG_ENDIAN_BITFIELD
444 uint64_t dwri_mod:1; 701 uint64_t dwri_mod:1;
445 uint64_t dwri_sop:1; 702 uint64_t dwri_sop:1;
446 uint64_t dwri_len:1; 703 uint64_t dwri_len:1;
@@ -460,32 +717,109 @@ union cvmx_pko_mem_debug5 {
460 uint64_t wait:1; 717 uint64_t wait:1;
461 uint64_t minor:2; 718 uint64_t minor:2;
462 uint64_t major:4; 719 uint64_t major:4;
720#else
721 uint64_t major:4;
722 uint64_t minor:2;
723 uint64_t wait:1;
724 uint64_t qid_base:7;
725 uint64_t qid_off:3;
726 uint64_t qcb_ridx:5;
727 uint64_t qos:3;
728 uint64_t active:1;
729 uint64_t chk_mode:1;
730 uint64_t reserved_27_27:1;
731 uint64_t cbuf_fre:1;
732 uint64_t xfer_dwr:1;
733 uint64_t xfer_wor:1;
734 uint64_t uid:1;
735 uint64_t cmnd_siz:16;
736 uint64_t dwri_cnt:13;
737 uint64_t dwri_len:1;
738 uint64_t dwri_sop:1;
739 uint64_t dwri_mod:1;
740#endif
463 } cn30xx; 741 } cn30xx;
464 struct cvmx_pko_mem_debug5_cn30xx cn31xx; 742 struct cvmx_pko_mem_debug5_cn30xx cn31xx;
465 struct cvmx_pko_mem_debug5_cn30xx cn38xx; 743 struct cvmx_pko_mem_debug5_cn30xx cn38xx;
466 struct cvmx_pko_mem_debug5_cn30xx cn38xxp2; 744 struct cvmx_pko_mem_debug5_cn30xx cn38xxp2;
467 struct cvmx_pko_mem_debug5_cn50xx { 745 struct cvmx_pko_mem_debug5_cn50xx {
746#ifdef __BIG_ENDIAN_BITFIELD
468 uint64_t curr_ptr:29; 747 uint64_t curr_ptr:29;
469 uint64_t curr_siz:16; 748 uint64_t curr_siz:16;
470 uint64_t curr_off:16; 749 uint64_t curr_off:16;
471 uint64_t cmnd_segs:3; 750 uint64_t cmnd_segs:3;
751#else
752 uint64_t cmnd_segs:3;
753 uint64_t curr_off:16;
754 uint64_t curr_siz:16;
755 uint64_t curr_ptr:29;
756#endif
472 } cn50xx; 757 } cn50xx;
473 struct cvmx_pko_mem_debug5_cn52xx { 758 struct cvmx_pko_mem_debug5_cn52xx {
759#ifdef __BIG_ENDIAN_BITFIELD
474 uint64_t reserved_54_63:10; 760 uint64_t reserved_54_63:10;
475 uint64_t nxt_inflt:6; 761 uint64_t nxt_inflt:6;
476 uint64_t curr_ptr:40; 762 uint64_t curr_ptr:40;
477 uint64_t curr_siz:8; 763 uint64_t curr_siz:8;
764#else
765 uint64_t curr_siz:8;
766 uint64_t curr_ptr:40;
767 uint64_t nxt_inflt:6;
768 uint64_t reserved_54_63:10;
769#endif
478 } cn52xx; 770 } cn52xx;
479 struct cvmx_pko_mem_debug5_cn52xx cn52xxp1; 771 struct cvmx_pko_mem_debug5_cn52xx cn52xxp1;
480 struct cvmx_pko_mem_debug5_cn52xx cn56xx; 772 struct cvmx_pko_mem_debug5_cn52xx cn56xx;
481 struct cvmx_pko_mem_debug5_cn52xx cn56xxp1; 773 struct cvmx_pko_mem_debug5_cn52xx cn56xxp1;
482 struct cvmx_pko_mem_debug5_cn50xx cn58xx; 774 struct cvmx_pko_mem_debug5_cn50xx cn58xx;
483 struct cvmx_pko_mem_debug5_cn50xx cn58xxp1; 775 struct cvmx_pko_mem_debug5_cn50xx cn58xxp1;
776 struct cvmx_pko_mem_debug5_cn61xx {
777#ifdef __BIG_ENDIAN_BITFIELD
778 uint64_t reserved_56_63:8;
779 uint64_t ptp:1;
780 uint64_t major_3:1;
781 uint64_t nxt_inflt:6;
782 uint64_t curr_ptr:40;
783 uint64_t curr_siz:8;
784#else
785 uint64_t curr_siz:8;
786 uint64_t curr_ptr:40;
787 uint64_t nxt_inflt:6;
788 uint64_t major_3:1;
789 uint64_t ptp:1;
790 uint64_t reserved_56_63:8;
791#endif
792 } cn61xx;
793 struct cvmx_pko_mem_debug5_cn61xx cn63xx;
794 struct cvmx_pko_mem_debug5_cn61xx cn63xxp1;
795 struct cvmx_pko_mem_debug5_cn61xx cn66xx;
796 struct cvmx_pko_mem_debug5_cn68xx {
797#ifdef __BIG_ENDIAN_BITFIELD
798 uint64_t reserved_57_63:7;
799 uint64_t uid_2:1;
800 uint64_t ptp:1;
801 uint64_t major_3:1;
802 uint64_t nxt_inflt:6;
803 uint64_t curr_ptr:40;
804 uint64_t curr_siz:8;
805#else
806 uint64_t curr_siz:8;
807 uint64_t curr_ptr:40;
808 uint64_t nxt_inflt:6;
809 uint64_t major_3:1;
810 uint64_t ptp:1;
811 uint64_t uid_2:1;
812 uint64_t reserved_57_63:7;
813#endif
814 } cn68xx;
815 struct cvmx_pko_mem_debug5_cn68xx cn68xxp1;
816 struct cvmx_pko_mem_debug5_cn61xx cnf71xx;
484}; 817};
485 818
486union cvmx_pko_mem_debug6 { 819union cvmx_pko_mem_debug6 {
487 uint64_t u64; 820 uint64_t u64;
488 struct cvmx_pko_mem_debug6_s { 821 struct cvmx_pko_mem_debug6_s {
822#ifdef __BIG_ENDIAN_BITFIELD
489 uint64_t reserved_37_63:27; 823 uint64_t reserved_37_63:27;
490 uint64_t qid_offres:4; 824 uint64_t qid_offres:4;
491 uint64_t qid_offths:4; 825 uint64_t qid_offths:4;
@@ -498,8 +832,23 @@ union cvmx_pko_mem_debug6 {
498 uint64_t qcb_ridx:5; 832 uint64_t qcb_ridx:5;
499 uint64_t qid_offmax:4; 833 uint64_t qid_offmax:4;
500 uint64_t reserved_0_11:12; 834 uint64_t reserved_0_11:12;
835#else
836 uint64_t reserved_0_11:12;
837 uint64_t qid_offmax:4;
838 uint64_t qcb_ridx:5;
839 uint64_t qos:3;
840 uint64_t statc:1;
841 uint64_t active:1;
842 uint64_t preempted:1;
843 uint64_t preemptee:1;
844 uint64_t preempter:1;
845 uint64_t qid_offths:4;
846 uint64_t qid_offres:4;
847 uint64_t reserved_37_63:27;
848#endif
501 } s; 849 } s;
502 struct cvmx_pko_mem_debug6_cn30xx { 850 struct cvmx_pko_mem_debug6_cn30xx {
851#ifdef __BIG_ENDIAN_BITFIELD
503 uint64_t reserved_11_63:53; 852 uint64_t reserved_11_63:53;
504 uint64_t qid_offm:3; 853 uint64_t qid_offm:3;
505 uint64_t static_p:1; 854 uint64_t static_p:1;
@@ -507,15 +856,30 @@ union cvmx_pko_mem_debug6 {
507 uint64_t dwri_chk:1; 856 uint64_t dwri_chk:1;
508 uint64_t dwri_uid:1; 857 uint64_t dwri_uid:1;
509 uint64_t dwri_mod:2; 858 uint64_t dwri_mod:2;
859#else
860 uint64_t dwri_mod:2;
861 uint64_t dwri_uid:1;
862 uint64_t dwri_chk:1;
863 uint64_t work_min:3;
864 uint64_t static_p:1;
865 uint64_t qid_offm:3;
866 uint64_t reserved_11_63:53;
867#endif
510 } cn30xx; 868 } cn30xx;
511 struct cvmx_pko_mem_debug6_cn30xx cn31xx; 869 struct cvmx_pko_mem_debug6_cn30xx cn31xx;
512 struct cvmx_pko_mem_debug6_cn30xx cn38xx; 870 struct cvmx_pko_mem_debug6_cn30xx cn38xx;
513 struct cvmx_pko_mem_debug6_cn30xx cn38xxp2; 871 struct cvmx_pko_mem_debug6_cn30xx cn38xxp2;
514 struct cvmx_pko_mem_debug6_cn50xx { 872 struct cvmx_pko_mem_debug6_cn50xx {
873#ifdef __BIG_ENDIAN_BITFIELD
515 uint64_t reserved_11_63:53; 874 uint64_t reserved_11_63:53;
516 uint64_t curr_ptr:11; 875 uint64_t curr_ptr:11;
876#else
877 uint64_t curr_ptr:11;
878 uint64_t reserved_11_63:53;
879#endif
517 } cn50xx; 880 } cn50xx;
518 struct cvmx_pko_mem_debug6_cn52xx { 881 struct cvmx_pko_mem_debug6_cn52xx {
882#ifdef __BIG_ENDIAN_BITFIELD
519 uint64_t reserved_37_63:27; 883 uint64_t reserved_37_63:27;
520 uint64_t qid_offres:4; 884 uint64_t qid_offres:4;
521 uint64_t qid_offths:4; 885 uint64_t qid_offths:4;
@@ -529,37 +893,77 @@ union cvmx_pko_mem_debug6 {
529 uint64_t qid_offmax:4; 893 uint64_t qid_offmax:4;
530 uint64_t qid_off:4; 894 uint64_t qid_off:4;
531 uint64_t qid_base:8; 895 uint64_t qid_base:8;
896#else
897 uint64_t qid_base:8;
898 uint64_t qid_off:4;
899 uint64_t qid_offmax:4;
900 uint64_t qcb_ridx:5;
901 uint64_t qos:3;
902 uint64_t statc:1;
903 uint64_t active:1;
904 uint64_t preempted:1;
905 uint64_t preemptee:1;
906 uint64_t preempter:1;
907 uint64_t qid_offths:4;
908 uint64_t qid_offres:4;
909 uint64_t reserved_37_63:27;
910#endif
532 } cn52xx; 911 } cn52xx;
533 struct cvmx_pko_mem_debug6_cn52xx cn52xxp1; 912 struct cvmx_pko_mem_debug6_cn52xx cn52xxp1;
534 struct cvmx_pko_mem_debug6_cn52xx cn56xx; 913 struct cvmx_pko_mem_debug6_cn52xx cn56xx;
535 struct cvmx_pko_mem_debug6_cn52xx cn56xxp1; 914 struct cvmx_pko_mem_debug6_cn52xx cn56xxp1;
536 struct cvmx_pko_mem_debug6_cn50xx cn58xx; 915 struct cvmx_pko_mem_debug6_cn50xx cn58xx;
537 struct cvmx_pko_mem_debug6_cn50xx cn58xxp1; 916 struct cvmx_pko_mem_debug6_cn50xx cn58xxp1;
917 struct cvmx_pko_mem_debug6_cn52xx cn61xx;
918 struct cvmx_pko_mem_debug6_cn52xx cn63xx;
919 struct cvmx_pko_mem_debug6_cn52xx cn63xxp1;
920 struct cvmx_pko_mem_debug6_cn52xx cn66xx;
921 struct cvmx_pko_mem_debug6_cn52xx cn68xx;
922 struct cvmx_pko_mem_debug6_cn52xx cn68xxp1;
923 struct cvmx_pko_mem_debug6_cn52xx cnf71xx;
538}; 924};
539 925
540union cvmx_pko_mem_debug7 { 926union cvmx_pko_mem_debug7 {
541 uint64_t u64; 927 uint64_t u64;
542 struct cvmx_pko_mem_debug7_s { 928 struct cvmx_pko_mem_debug7_s {
543 uint64_t qos:5; 929#ifdef __BIG_ENDIAN_BITFIELD
544 uint64_t tail:1; 930 uint64_t reserved_0_63:64;
545 uint64_t reserved_0_57:58; 931#else
932 uint64_t reserved_0_63:64;
933#endif
546 } s; 934 } s;
547 struct cvmx_pko_mem_debug7_cn30xx { 935 struct cvmx_pko_mem_debug7_cn30xx {
936#ifdef __BIG_ENDIAN_BITFIELD
548 uint64_t reserved_58_63:6; 937 uint64_t reserved_58_63:6;
549 uint64_t dwb:9; 938 uint64_t dwb:9;
550 uint64_t start:33; 939 uint64_t start:33;
551 uint64_t size:16; 940 uint64_t size:16;
941#else
942 uint64_t size:16;
943 uint64_t start:33;
944 uint64_t dwb:9;
945 uint64_t reserved_58_63:6;
946#endif
552 } cn30xx; 947 } cn30xx;
553 struct cvmx_pko_mem_debug7_cn30xx cn31xx; 948 struct cvmx_pko_mem_debug7_cn30xx cn31xx;
554 struct cvmx_pko_mem_debug7_cn30xx cn38xx; 949 struct cvmx_pko_mem_debug7_cn30xx cn38xx;
555 struct cvmx_pko_mem_debug7_cn30xx cn38xxp2; 950 struct cvmx_pko_mem_debug7_cn30xx cn38xxp2;
556 struct cvmx_pko_mem_debug7_cn50xx { 951 struct cvmx_pko_mem_debug7_cn50xx {
952#ifdef __BIG_ENDIAN_BITFIELD
557 uint64_t qos:5; 953 uint64_t qos:5;
558 uint64_t tail:1; 954 uint64_t tail:1;
559 uint64_t buf_siz:13; 955 uint64_t buf_siz:13;
560 uint64_t buf_ptr:33; 956 uint64_t buf_ptr:33;
561 uint64_t qcb_widx:6; 957 uint64_t qcb_widx:6;
562 uint64_t qcb_ridx:6; 958 uint64_t qcb_ridx:6;
959#else
960 uint64_t qcb_ridx:6;
961 uint64_t qcb_widx:6;
962 uint64_t buf_ptr:33;
963 uint64_t buf_siz:13;
964 uint64_t tail:1;
965 uint64_t qos:5;
966#endif
563 } cn50xx; 967 } cn50xx;
564 struct cvmx_pko_mem_debug7_cn50xx cn52xx; 968 struct cvmx_pko_mem_debug7_cn50xx cn52xx;
565 struct cvmx_pko_mem_debug7_cn50xx cn52xxp1; 969 struct cvmx_pko_mem_debug7_cn50xx cn52xxp1;
@@ -567,28 +971,68 @@ union cvmx_pko_mem_debug7 {
567 struct cvmx_pko_mem_debug7_cn50xx cn56xxp1; 971 struct cvmx_pko_mem_debug7_cn50xx cn56xxp1;
568 struct cvmx_pko_mem_debug7_cn50xx cn58xx; 972 struct cvmx_pko_mem_debug7_cn50xx cn58xx;
569 struct cvmx_pko_mem_debug7_cn50xx cn58xxp1; 973 struct cvmx_pko_mem_debug7_cn50xx cn58xxp1;
974 struct cvmx_pko_mem_debug7_cn50xx cn61xx;
975 struct cvmx_pko_mem_debug7_cn50xx cn63xx;
976 struct cvmx_pko_mem_debug7_cn50xx cn63xxp1;
977 struct cvmx_pko_mem_debug7_cn50xx cn66xx;
978 struct cvmx_pko_mem_debug7_cn68xx {
979#ifdef __BIG_ENDIAN_BITFIELD
980 uint64_t qos:3;
981 uint64_t tail:1;
982 uint64_t buf_siz:13;
983 uint64_t buf_ptr:33;
984 uint64_t qcb_widx:7;
985 uint64_t qcb_ridx:7;
986#else
987 uint64_t qcb_ridx:7;
988 uint64_t qcb_widx:7;
989 uint64_t buf_ptr:33;
990 uint64_t buf_siz:13;
991 uint64_t tail:1;
992 uint64_t qos:3;
993#endif
994 } cn68xx;
995 struct cvmx_pko_mem_debug7_cn68xx cn68xxp1;
996 struct cvmx_pko_mem_debug7_cn50xx cnf71xx;
570}; 997};
571 998
572union cvmx_pko_mem_debug8 { 999union cvmx_pko_mem_debug8 {
573 uint64_t u64; 1000 uint64_t u64;
574 struct cvmx_pko_mem_debug8_s { 1001 struct cvmx_pko_mem_debug8_s {
1002#ifdef __BIG_ENDIAN_BITFIELD
575 uint64_t reserved_59_63:5; 1003 uint64_t reserved_59_63:5;
576 uint64_t tail:1; 1004 uint64_t tail:1;
577 uint64_t buf_siz:13; 1005 uint64_t buf_siz:13;
578 uint64_t reserved_0_44:45; 1006 uint64_t reserved_0_44:45;
1007#else
1008 uint64_t reserved_0_44:45;
1009 uint64_t buf_siz:13;
1010 uint64_t tail:1;
1011 uint64_t reserved_59_63:5;
1012#endif
579 } s; 1013 } s;
580 struct cvmx_pko_mem_debug8_cn30xx { 1014 struct cvmx_pko_mem_debug8_cn30xx {
1015#ifdef __BIG_ENDIAN_BITFIELD
581 uint64_t qos:5; 1016 uint64_t qos:5;
582 uint64_t tail:1; 1017 uint64_t tail:1;
583 uint64_t buf_siz:13; 1018 uint64_t buf_siz:13;
584 uint64_t buf_ptr:33; 1019 uint64_t buf_ptr:33;
585 uint64_t qcb_widx:6; 1020 uint64_t qcb_widx:6;
586 uint64_t qcb_ridx:6; 1021 uint64_t qcb_ridx:6;
1022#else
1023 uint64_t qcb_ridx:6;
1024 uint64_t qcb_widx:6;
1025 uint64_t buf_ptr:33;
1026 uint64_t buf_siz:13;
1027 uint64_t tail:1;
1028 uint64_t qos:5;
1029#endif
587 } cn30xx; 1030 } cn30xx;
588 struct cvmx_pko_mem_debug8_cn30xx cn31xx; 1031 struct cvmx_pko_mem_debug8_cn30xx cn31xx;
589 struct cvmx_pko_mem_debug8_cn30xx cn38xx; 1032 struct cvmx_pko_mem_debug8_cn30xx cn38xx;
590 struct cvmx_pko_mem_debug8_cn30xx cn38xxp2; 1033 struct cvmx_pko_mem_debug8_cn30xx cn38xxp2;
591 struct cvmx_pko_mem_debug8_cn50xx { 1034 struct cvmx_pko_mem_debug8_cn50xx {
1035#ifdef __BIG_ENDIAN_BITFIELD
592 uint64_t reserved_28_63:36; 1036 uint64_t reserved_28_63:36;
593 uint64_t doorbell:20; 1037 uint64_t doorbell:20;
594 uint64_t reserved_6_7:2; 1038 uint64_t reserved_6_7:2;
@@ -596,8 +1040,18 @@ union cvmx_pko_mem_debug8 {
596 uint64_t s_tail:1; 1040 uint64_t s_tail:1;
597 uint64_t static_q:1; 1041 uint64_t static_q:1;
598 uint64_t qos:3; 1042 uint64_t qos:3;
1043#else
1044 uint64_t qos:3;
1045 uint64_t static_q:1;
1046 uint64_t s_tail:1;
1047 uint64_t static_p:1;
1048 uint64_t reserved_6_7:2;
1049 uint64_t doorbell:20;
1050 uint64_t reserved_28_63:36;
1051#endif
599 } cn50xx; 1052 } cn50xx;
600 struct cvmx_pko_mem_debug8_cn52xx { 1053 struct cvmx_pko_mem_debug8_cn52xx {
1054#ifdef __BIG_ENDIAN_BITFIELD
601 uint64_t reserved_29_63:35; 1055 uint64_t reserved_29_63:35;
602 uint64_t preempter:1; 1056 uint64_t preempter:1;
603 uint64_t doorbell:20; 1057 uint64_t doorbell:20;
@@ -607,31 +1061,115 @@ union cvmx_pko_mem_debug8 {
607 uint64_t s_tail:1; 1061 uint64_t s_tail:1;
608 uint64_t static_q:1; 1062 uint64_t static_q:1;
609 uint64_t qos:3; 1063 uint64_t qos:3;
1064#else
1065 uint64_t qos:3;
1066 uint64_t static_q:1;
1067 uint64_t s_tail:1;
1068 uint64_t static_p:1;
1069 uint64_t preemptee:1;
1070 uint64_t reserved_7_7:1;
1071 uint64_t doorbell:20;
1072 uint64_t preempter:1;
1073 uint64_t reserved_29_63:35;
1074#endif
610 } cn52xx; 1075 } cn52xx;
611 struct cvmx_pko_mem_debug8_cn52xx cn52xxp1; 1076 struct cvmx_pko_mem_debug8_cn52xx cn52xxp1;
612 struct cvmx_pko_mem_debug8_cn52xx cn56xx; 1077 struct cvmx_pko_mem_debug8_cn52xx cn56xx;
613 struct cvmx_pko_mem_debug8_cn52xx cn56xxp1; 1078 struct cvmx_pko_mem_debug8_cn52xx cn56xxp1;
614 struct cvmx_pko_mem_debug8_cn50xx cn58xx; 1079 struct cvmx_pko_mem_debug8_cn50xx cn58xx;
615 struct cvmx_pko_mem_debug8_cn50xx cn58xxp1; 1080 struct cvmx_pko_mem_debug8_cn50xx cn58xxp1;
1081 struct cvmx_pko_mem_debug8_cn61xx {
1082#ifdef __BIG_ENDIAN_BITFIELD
1083 uint64_t reserved_42_63:22;
1084 uint64_t qid_qqos:8;
1085 uint64_t reserved_33_33:1;
1086 uint64_t qid_idx:4;
1087 uint64_t preempter:1;
1088 uint64_t doorbell:20;
1089 uint64_t reserved_7_7:1;
1090 uint64_t preemptee:1;
1091 uint64_t static_p:1;
1092 uint64_t s_tail:1;
1093 uint64_t static_q:1;
1094 uint64_t qos:3;
1095#else
1096 uint64_t qos:3;
1097 uint64_t static_q:1;
1098 uint64_t s_tail:1;
1099 uint64_t static_p:1;
1100 uint64_t preemptee:1;
1101 uint64_t reserved_7_7:1;
1102 uint64_t doorbell:20;
1103 uint64_t preempter:1;
1104 uint64_t qid_idx:4;
1105 uint64_t reserved_33_33:1;
1106 uint64_t qid_qqos:8;
1107 uint64_t reserved_42_63:22;
1108#endif
1109 } cn61xx;
1110 struct cvmx_pko_mem_debug8_cn52xx cn63xx;
1111 struct cvmx_pko_mem_debug8_cn52xx cn63xxp1;
1112 struct cvmx_pko_mem_debug8_cn61xx cn66xx;
1113 struct cvmx_pko_mem_debug8_cn68xx {
1114#ifdef __BIG_ENDIAN_BITFIELD
1115 uint64_t reserved_37_63:27;
1116 uint64_t preempter:1;
1117 uint64_t doorbell:20;
1118 uint64_t reserved_9_15:7;
1119 uint64_t preemptee:1;
1120 uint64_t static_p:1;
1121 uint64_t s_tail:1;
1122 uint64_t static_q:1;
1123 uint64_t qos:5;
1124#else
1125 uint64_t qos:5;
1126 uint64_t static_q:1;
1127 uint64_t s_tail:1;
1128 uint64_t static_p:1;
1129 uint64_t preemptee:1;
1130 uint64_t reserved_9_15:7;
1131 uint64_t doorbell:20;
1132 uint64_t preempter:1;
1133 uint64_t reserved_37_63:27;
1134#endif
1135 } cn68xx;
1136 struct cvmx_pko_mem_debug8_cn68xx cn68xxp1;
1137 struct cvmx_pko_mem_debug8_cn61xx cnf71xx;
616}; 1138};
617 1139
618union cvmx_pko_mem_debug9 { 1140union cvmx_pko_mem_debug9 {
619 uint64_t u64; 1141 uint64_t u64;
620 struct cvmx_pko_mem_debug9_s { 1142 struct cvmx_pko_mem_debug9_s {
1143#ifdef __BIG_ENDIAN_BITFIELD
621 uint64_t reserved_49_63:15; 1144 uint64_t reserved_49_63:15;
622 uint64_t ptrs0:17; 1145 uint64_t ptrs0:17;
623 uint64_t reserved_0_31:32; 1146 uint64_t reserved_0_31:32;
1147#else
1148 uint64_t reserved_0_31:32;
1149 uint64_t ptrs0:17;
1150 uint64_t reserved_49_63:15;
1151#endif
624 } s; 1152 } s;
625 struct cvmx_pko_mem_debug9_cn30xx { 1153 struct cvmx_pko_mem_debug9_cn30xx {
1154#ifdef __BIG_ENDIAN_BITFIELD
626 uint64_t reserved_28_63:36; 1155 uint64_t reserved_28_63:36;
627 uint64_t doorbell:20; 1156 uint64_t doorbell:20;
628 uint64_t reserved_5_7:3; 1157 uint64_t reserved_5_7:3;
629 uint64_t s_tail:1; 1158 uint64_t s_tail:1;
630 uint64_t static_q:1; 1159 uint64_t static_q:1;
631 uint64_t qos:3; 1160 uint64_t qos:3;
1161#else
1162 uint64_t qos:3;
1163 uint64_t static_q:1;
1164 uint64_t s_tail:1;
1165 uint64_t reserved_5_7:3;
1166 uint64_t doorbell:20;
1167 uint64_t reserved_28_63:36;
1168#endif
632 } cn30xx; 1169 } cn30xx;
633 struct cvmx_pko_mem_debug9_cn30xx cn31xx; 1170 struct cvmx_pko_mem_debug9_cn30xx cn31xx;
634 struct cvmx_pko_mem_debug9_cn38xx { 1171 struct cvmx_pko_mem_debug9_cn38xx {
1172#ifdef __BIG_ENDIAN_BITFIELD
635 uint64_t reserved_28_63:36; 1173 uint64_t reserved_28_63:36;
636 uint64_t doorbell:20; 1174 uint64_t doorbell:20;
637 uint64_t reserved_6_7:2; 1175 uint64_t reserved_6_7:2;
@@ -639,13 +1177,29 @@ union cvmx_pko_mem_debug9 {
639 uint64_t s_tail:1; 1177 uint64_t s_tail:1;
640 uint64_t static_q:1; 1178 uint64_t static_q:1;
641 uint64_t qos:3; 1179 uint64_t qos:3;
1180#else
1181 uint64_t qos:3;
1182 uint64_t static_q:1;
1183 uint64_t s_tail:1;
1184 uint64_t static_p:1;
1185 uint64_t reserved_6_7:2;
1186 uint64_t doorbell:20;
1187 uint64_t reserved_28_63:36;
1188#endif
642 } cn38xx; 1189 } cn38xx;
643 struct cvmx_pko_mem_debug9_cn38xx cn38xxp2; 1190 struct cvmx_pko_mem_debug9_cn38xx cn38xxp2;
644 struct cvmx_pko_mem_debug9_cn50xx { 1191 struct cvmx_pko_mem_debug9_cn50xx {
1192#ifdef __BIG_ENDIAN_BITFIELD
645 uint64_t reserved_49_63:15; 1193 uint64_t reserved_49_63:15;
646 uint64_t ptrs0:17; 1194 uint64_t ptrs0:17;
647 uint64_t reserved_17_31:15; 1195 uint64_t reserved_17_31:15;
648 uint64_t ptrs3:17; 1196 uint64_t ptrs3:17;
1197#else
1198 uint64_t ptrs3:17;
1199 uint64_t reserved_17_31:15;
1200 uint64_t ptrs0:17;
1201 uint64_t reserved_49_63:15;
1202#endif
649 } cn50xx; 1203 } cn50xx;
650 struct cvmx_pko_mem_debug9_cn50xx cn52xx; 1204 struct cvmx_pko_mem_debug9_cn50xx cn52xx;
651 struct cvmx_pko_mem_debug9_cn50xx cn52xxp1; 1205 struct cvmx_pko_mem_debug9_cn50xx cn52xxp1;
@@ -653,11 +1207,131 @@ union cvmx_pko_mem_debug9 {
653 struct cvmx_pko_mem_debug9_cn50xx cn56xxp1; 1207 struct cvmx_pko_mem_debug9_cn50xx cn56xxp1;
654 struct cvmx_pko_mem_debug9_cn50xx cn58xx; 1208 struct cvmx_pko_mem_debug9_cn50xx cn58xx;
655 struct cvmx_pko_mem_debug9_cn50xx cn58xxp1; 1209 struct cvmx_pko_mem_debug9_cn50xx cn58xxp1;
1210 struct cvmx_pko_mem_debug9_cn50xx cn61xx;
1211 struct cvmx_pko_mem_debug9_cn50xx cn63xx;
1212 struct cvmx_pko_mem_debug9_cn50xx cn63xxp1;
1213 struct cvmx_pko_mem_debug9_cn50xx cn66xx;
1214 struct cvmx_pko_mem_debug9_cn50xx cn68xx;
1215 struct cvmx_pko_mem_debug9_cn50xx cn68xxp1;
1216 struct cvmx_pko_mem_debug9_cn50xx cnf71xx;
1217};
1218
1219union cvmx_pko_mem_iport_ptrs {
1220 uint64_t u64;
1221 struct cvmx_pko_mem_iport_ptrs_s {
1222#ifdef __BIG_ENDIAN_BITFIELD
1223 uint64_t reserved_63_63:1;
1224 uint64_t crc:1;
1225 uint64_t static_p:1;
1226 uint64_t qos_mask:8;
1227 uint64_t min_pkt:3;
1228 uint64_t reserved_31_49:19;
1229 uint64_t pipe:7;
1230 uint64_t reserved_21_23:3;
1231 uint64_t intr:5;
1232 uint64_t reserved_13_15:3;
1233 uint64_t eid:5;
1234 uint64_t reserved_7_7:1;
1235 uint64_t ipid:7;
1236#else
1237 uint64_t ipid:7;
1238 uint64_t reserved_7_7:1;
1239 uint64_t eid:5;
1240 uint64_t reserved_13_15:3;
1241 uint64_t intr:5;
1242 uint64_t reserved_21_23:3;
1243 uint64_t pipe:7;
1244 uint64_t reserved_31_49:19;
1245 uint64_t min_pkt:3;
1246 uint64_t qos_mask:8;
1247 uint64_t static_p:1;
1248 uint64_t crc:1;
1249 uint64_t reserved_63_63:1;
1250#endif
1251 } s;
1252 struct cvmx_pko_mem_iport_ptrs_s cn68xx;
1253 struct cvmx_pko_mem_iport_ptrs_s cn68xxp1;
1254};
1255
1256union cvmx_pko_mem_iport_qos {
1257 uint64_t u64;
1258 struct cvmx_pko_mem_iport_qos_s {
1259#ifdef __BIG_ENDIAN_BITFIELD
1260 uint64_t reserved_61_63:3;
1261 uint64_t qos_mask:8;
1262 uint64_t reserved_13_52:40;
1263 uint64_t eid:5;
1264 uint64_t reserved_7_7:1;
1265 uint64_t ipid:7;
1266#else
1267 uint64_t ipid:7;
1268 uint64_t reserved_7_7:1;
1269 uint64_t eid:5;
1270 uint64_t reserved_13_52:40;
1271 uint64_t qos_mask:8;
1272 uint64_t reserved_61_63:3;
1273#endif
1274 } s;
1275 struct cvmx_pko_mem_iport_qos_s cn68xx;
1276 struct cvmx_pko_mem_iport_qos_s cn68xxp1;
1277};
1278
1279union cvmx_pko_mem_iqueue_ptrs {
1280 uint64_t u64;
1281 struct cvmx_pko_mem_iqueue_ptrs_s {
1282#ifdef __BIG_ENDIAN_BITFIELD
1283 uint64_t s_tail:1;
1284 uint64_t static_p:1;
1285 uint64_t static_q:1;
1286 uint64_t qos_mask:8;
1287 uint64_t buf_ptr:31;
1288 uint64_t tail:1;
1289 uint64_t index:5;
1290 uint64_t reserved_15_15:1;
1291 uint64_t ipid:7;
1292 uint64_t qid:8;
1293#else
1294 uint64_t qid:8;
1295 uint64_t ipid:7;
1296 uint64_t reserved_15_15:1;
1297 uint64_t index:5;
1298 uint64_t tail:1;
1299 uint64_t buf_ptr:31;
1300 uint64_t qos_mask:8;
1301 uint64_t static_q:1;
1302 uint64_t static_p:1;
1303 uint64_t s_tail:1;
1304#endif
1305 } s;
1306 struct cvmx_pko_mem_iqueue_ptrs_s cn68xx;
1307 struct cvmx_pko_mem_iqueue_ptrs_s cn68xxp1;
1308};
1309
1310union cvmx_pko_mem_iqueue_qos {
1311 uint64_t u64;
1312 struct cvmx_pko_mem_iqueue_qos_s {
1313#ifdef __BIG_ENDIAN_BITFIELD
1314 uint64_t reserved_61_63:3;
1315 uint64_t qos_mask:8;
1316 uint64_t reserved_15_52:38;
1317 uint64_t ipid:7;
1318 uint64_t qid:8;
1319#else
1320 uint64_t qid:8;
1321 uint64_t ipid:7;
1322 uint64_t reserved_15_52:38;
1323 uint64_t qos_mask:8;
1324 uint64_t reserved_61_63:3;
1325#endif
1326 } s;
1327 struct cvmx_pko_mem_iqueue_qos_s cn68xx;
1328 struct cvmx_pko_mem_iqueue_qos_s cn68xxp1;
656}; 1329};
657 1330
658union cvmx_pko_mem_port_ptrs { 1331union cvmx_pko_mem_port_ptrs {
659 uint64_t u64; 1332 uint64_t u64;
660 struct cvmx_pko_mem_port_ptrs_s { 1333 struct cvmx_pko_mem_port_ptrs_s {
1334#ifdef __BIG_ENDIAN_BITFIELD
661 uint64_t reserved_62_63:2; 1335 uint64_t reserved_62_63:2;
662 uint64_t static_p:1; 1336 uint64_t static_p:1;
663 uint64_t qos_mask:8; 1337 uint64_t qos_mask:8;
@@ -665,60 +1339,143 @@ union cvmx_pko_mem_port_ptrs {
665 uint64_t bp_port:6; 1339 uint64_t bp_port:6;
666 uint64_t eid:4; 1340 uint64_t eid:4;
667 uint64_t pid:6; 1341 uint64_t pid:6;
1342#else
1343 uint64_t pid:6;
1344 uint64_t eid:4;
1345 uint64_t bp_port:6;
1346 uint64_t reserved_16_52:37;
1347 uint64_t qos_mask:8;
1348 uint64_t static_p:1;
1349 uint64_t reserved_62_63:2;
1350#endif
668 } s; 1351 } s;
669 struct cvmx_pko_mem_port_ptrs_s cn52xx; 1352 struct cvmx_pko_mem_port_ptrs_s cn52xx;
670 struct cvmx_pko_mem_port_ptrs_s cn52xxp1; 1353 struct cvmx_pko_mem_port_ptrs_s cn52xxp1;
671 struct cvmx_pko_mem_port_ptrs_s cn56xx; 1354 struct cvmx_pko_mem_port_ptrs_s cn56xx;
672 struct cvmx_pko_mem_port_ptrs_s cn56xxp1; 1355 struct cvmx_pko_mem_port_ptrs_s cn56xxp1;
1356 struct cvmx_pko_mem_port_ptrs_s cn61xx;
1357 struct cvmx_pko_mem_port_ptrs_s cn63xx;
1358 struct cvmx_pko_mem_port_ptrs_s cn63xxp1;
1359 struct cvmx_pko_mem_port_ptrs_s cn66xx;
1360 struct cvmx_pko_mem_port_ptrs_s cnf71xx;
673}; 1361};
674 1362
675union cvmx_pko_mem_port_qos { 1363union cvmx_pko_mem_port_qos {
676 uint64_t u64; 1364 uint64_t u64;
677 struct cvmx_pko_mem_port_qos_s { 1365 struct cvmx_pko_mem_port_qos_s {
1366#ifdef __BIG_ENDIAN_BITFIELD
678 uint64_t reserved_61_63:3; 1367 uint64_t reserved_61_63:3;
679 uint64_t qos_mask:8; 1368 uint64_t qos_mask:8;
680 uint64_t reserved_10_52:43; 1369 uint64_t reserved_10_52:43;
681 uint64_t eid:4; 1370 uint64_t eid:4;
682 uint64_t pid:6; 1371 uint64_t pid:6;
1372#else
1373 uint64_t pid:6;
1374 uint64_t eid:4;
1375 uint64_t reserved_10_52:43;
1376 uint64_t qos_mask:8;
1377 uint64_t reserved_61_63:3;
1378#endif
683 } s; 1379 } s;
684 struct cvmx_pko_mem_port_qos_s cn52xx; 1380 struct cvmx_pko_mem_port_qos_s cn52xx;
685 struct cvmx_pko_mem_port_qos_s cn52xxp1; 1381 struct cvmx_pko_mem_port_qos_s cn52xxp1;
686 struct cvmx_pko_mem_port_qos_s cn56xx; 1382 struct cvmx_pko_mem_port_qos_s cn56xx;
687 struct cvmx_pko_mem_port_qos_s cn56xxp1; 1383 struct cvmx_pko_mem_port_qos_s cn56xxp1;
1384 struct cvmx_pko_mem_port_qos_s cn61xx;
1385 struct cvmx_pko_mem_port_qos_s cn63xx;
1386 struct cvmx_pko_mem_port_qos_s cn63xxp1;
1387 struct cvmx_pko_mem_port_qos_s cn66xx;
1388 struct cvmx_pko_mem_port_qos_s cnf71xx;
688}; 1389};
689 1390
690union cvmx_pko_mem_port_rate0 { 1391union cvmx_pko_mem_port_rate0 {
691 uint64_t u64; 1392 uint64_t u64;
692 struct cvmx_pko_mem_port_rate0_s { 1393 struct cvmx_pko_mem_port_rate0_s {
1394#ifdef __BIG_ENDIAN_BITFIELD
1395 uint64_t reserved_51_63:13;
1396 uint64_t rate_word:19;
1397 uint64_t rate_pkt:24;
1398 uint64_t reserved_7_7:1;
1399 uint64_t pid:7;
1400#else
1401 uint64_t pid:7;
1402 uint64_t reserved_7_7:1;
1403 uint64_t rate_pkt:24;
1404 uint64_t rate_word:19;
1405 uint64_t reserved_51_63:13;
1406#endif
1407 } s;
1408 struct cvmx_pko_mem_port_rate0_cn52xx {
1409#ifdef __BIG_ENDIAN_BITFIELD
693 uint64_t reserved_51_63:13; 1410 uint64_t reserved_51_63:13;
694 uint64_t rate_word:19; 1411 uint64_t rate_word:19;
695 uint64_t rate_pkt:24; 1412 uint64_t rate_pkt:24;
696 uint64_t reserved_6_7:2; 1413 uint64_t reserved_6_7:2;
697 uint64_t pid:6; 1414 uint64_t pid:6;
698 } s; 1415#else
699 struct cvmx_pko_mem_port_rate0_s cn52xx; 1416 uint64_t pid:6;
700 struct cvmx_pko_mem_port_rate0_s cn52xxp1; 1417 uint64_t reserved_6_7:2;
701 struct cvmx_pko_mem_port_rate0_s cn56xx; 1418 uint64_t rate_pkt:24;
702 struct cvmx_pko_mem_port_rate0_s cn56xxp1; 1419 uint64_t rate_word:19;
1420 uint64_t reserved_51_63:13;
1421#endif
1422 } cn52xx;
1423 struct cvmx_pko_mem_port_rate0_cn52xx cn52xxp1;
1424 struct cvmx_pko_mem_port_rate0_cn52xx cn56xx;
1425 struct cvmx_pko_mem_port_rate0_cn52xx cn56xxp1;
1426 struct cvmx_pko_mem_port_rate0_cn52xx cn61xx;
1427 struct cvmx_pko_mem_port_rate0_cn52xx cn63xx;
1428 struct cvmx_pko_mem_port_rate0_cn52xx cn63xxp1;
1429 struct cvmx_pko_mem_port_rate0_cn52xx cn66xx;
1430 struct cvmx_pko_mem_port_rate0_s cn68xx;
1431 struct cvmx_pko_mem_port_rate0_s cn68xxp1;
1432 struct cvmx_pko_mem_port_rate0_cn52xx cnf71xx;
703}; 1433};
704 1434
705union cvmx_pko_mem_port_rate1 { 1435union cvmx_pko_mem_port_rate1 {
706 uint64_t u64; 1436 uint64_t u64;
707 struct cvmx_pko_mem_port_rate1_s { 1437 struct cvmx_pko_mem_port_rate1_s {
1438#ifdef __BIG_ENDIAN_BITFIELD
1439 uint64_t reserved_32_63:32;
1440 uint64_t rate_lim:24;
1441 uint64_t reserved_7_7:1;
1442 uint64_t pid:7;
1443#else
1444 uint64_t pid:7;
1445 uint64_t reserved_7_7:1;
1446 uint64_t rate_lim:24;
1447 uint64_t reserved_32_63:32;
1448#endif
1449 } s;
1450 struct cvmx_pko_mem_port_rate1_cn52xx {
1451#ifdef __BIG_ENDIAN_BITFIELD
708 uint64_t reserved_32_63:32; 1452 uint64_t reserved_32_63:32;
709 uint64_t rate_lim:24; 1453 uint64_t rate_lim:24;
710 uint64_t reserved_6_7:2; 1454 uint64_t reserved_6_7:2;
711 uint64_t pid:6; 1455 uint64_t pid:6;
712 } s; 1456#else
713 struct cvmx_pko_mem_port_rate1_s cn52xx; 1457 uint64_t pid:6;
714 struct cvmx_pko_mem_port_rate1_s cn52xxp1; 1458 uint64_t reserved_6_7:2;
715 struct cvmx_pko_mem_port_rate1_s cn56xx; 1459 uint64_t rate_lim:24;
716 struct cvmx_pko_mem_port_rate1_s cn56xxp1; 1460 uint64_t reserved_32_63:32;
1461#endif
1462 } cn52xx;
1463 struct cvmx_pko_mem_port_rate1_cn52xx cn52xxp1;
1464 struct cvmx_pko_mem_port_rate1_cn52xx cn56xx;
1465 struct cvmx_pko_mem_port_rate1_cn52xx cn56xxp1;
1466 struct cvmx_pko_mem_port_rate1_cn52xx cn61xx;
1467 struct cvmx_pko_mem_port_rate1_cn52xx cn63xx;
1468 struct cvmx_pko_mem_port_rate1_cn52xx cn63xxp1;
1469 struct cvmx_pko_mem_port_rate1_cn52xx cn66xx;
1470 struct cvmx_pko_mem_port_rate1_s cn68xx;
1471 struct cvmx_pko_mem_port_rate1_s cn68xxp1;
1472 struct cvmx_pko_mem_port_rate1_cn52xx cnf71xx;
717}; 1473};
718 1474
719union cvmx_pko_mem_queue_ptrs { 1475union cvmx_pko_mem_queue_ptrs {
720 uint64_t u64; 1476 uint64_t u64;
721 struct cvmx_pko_mem_queue_ptrs_s { 1477 struct cvmx_pko_mem_queue_ptrs_s {
1478#ifdef __BIG_ENDIAN_BITFIELD
722 uint64_t s_tail:1; 1479 uint64_t s_tail:1;
723 uint64_t static_p:1; 1480 uint64_t static_p:1;
724 uint64_t static_q:1; 1481 uint64_t static_q:1;
@@ -728,6 +1485,17 @@ union cvmx_pko_mem_queue_ptrs {
728 uint64_t index:3; 1485 uint64_t index:3;
729 uint64_t port:6; 1486 uint64_t port:6;
730 uint64_t queue:7; 1487 uint64_t queue:7;
1488#else
1489 uint64_t queue:7;
1490 uint64_t port:6;
1491 uint64_t index:3;
1492 uint64_t tail:1;
1493 uint64_t buf_ptr:36;
1494 uint64_t qos_mask:8;
1495 uint64_t static_q:1;
1496 uint64_t static_p:1;
1497 uint64_t s_tail:1;
1498#endif
731 } s; 1499 } s;
732 struct cvmx_pko_mem_queue_ptrs_s cn30xx; 1500 struct cvmx_pko_mem_queue_ptrs_s cn30xx;
733 struct cvmx_pko_mem_queue_ptrs_s cn31xx; 1501 struct cvmx_pko_mem_queue_ptrs_s cn31xx;
@@ -740,16 +1508,29 @@ union cvmx_pko_mem_queue_ptrs {
740 struct cvmx_pko_mem_queue_ptrs_s cn56xxp1; 1508 struct cvmx_pko_mem_queue_ptrs_s cn56xxp1;
741 struct cvmx_pko_mem_queue_ptrs_s cn58xx; 1509 struct cvmx_pko_mem_queue_ptrs_s cn58xx;
742 struct cvmx_pko_mem_queue_ptrs_s cn58xxp1; 1510 struct cvmx_pko_mem_queue_ptrs_s cn58xxp1;
1511 struct cvmx_pko_mem_queue_ptrs_s cn61xx;
1512 struct cvmx_pko_mem_queue_ptrs_s cn63xx;
1513 struct cvmx_pko_mem_queue_ptrs_s cn63xxp1;
1514 struct cvmx_pko_mem_queue_ptrs_s cn66xx;
1515 struct cvmx_pko_mem_queue_ptrs_s cnf71xx;
743}; 1516};
744 1517
745union cvmx_pko_mem_queue_qos { 1518union cvmx_pko_mem_queue_qos {
746 uint64_t u64; 1519 uint64_t u64;
747 struct cvmx_pko_mem_queue_qos_s { 1520 struct cvmx_pko_mem_queue_qos_s {
1521#ifdef __BIG_ENDIAN_BITFIELD
748 uint64_t reserved_61_63:3; 1522 uint64_t reserved_61_63:3;
749 uint64_t qos_mask:8; 1523 uint64_t qos_mask:8;
750 uint64_t reserved_13_52:40; 1524 uint64_t reserved_13_52:40;
751 uint64_t pid:6; 1525 uint64_t pid:6;
752 uint64_t qid:7; 1526 uint64_t qid:7;
1527#else
1528 uint64_t qid:7;
1529 uint64_t pid:6;
1530 uint64_t reserved_13_52:40;
1531 uint64_t qos_mask:8;
1532 uint64_t reserved_61_63:3;
1533#endif
753 } s; 1534 } s;
754 struct cvmx_pko_mem_queue_qos_s cn30xx; 1535 struct cvmx_pko_mem_queue_qos_s cn30xx;
755 struct cvmx_pko_mem_queue_qos_s cn31xx; 1536 struct cvmx_pko_mem_queue_qos_s cn31xx;
@@ -762,14 +1543,70 @@ union cvmx_pko_mem_queue_qos {
762 struct cvmx_pko_mem_queue_qos_s cn56xxp1; 1543 struct cvmx_pko_mem_queue_qos_s cn56xxp1;
763 struct cvmx_pko_mem_queue_qos_s cn58xx; 1544 struct cvmx_pko_mem_queue_qos_s cn58xx;
764 struct cvmx_pko_mem_queue_qos_s cn58xxp1; 1545 struct cvmx_pko_mem_queue_qos_s cn58xxp1;
1546 struct cvmx_pko_mem_queue_qos_s cn61xx;
1547 struct cvmx_pko_mem_queue_qos_s cn63xx;
1548 struct cvmx_pko_mem_queue_qos_s cn63xxp1;
1549 struct cvmx_pko_mem_queue_qos_s cn66xx;
1550 struct cvmx_pko_mem_queue_qos_s cnf71xx;
1551};
1552
1553union cvmx_pko_mem_throttle_int {
1554 uint64_t u64;
1555 struct cvmx_pko_mem_throttle_int_s {
1556#ifdef __BIG_ENDIAN_BITFIELD
1557 uint64_t reserved_47_63:17;
1558 uint64_t word:15;
1559 uint64_t reserved_14_31:18;
1560 uint64_t packet:6;
1561 uint64_t reserved_5_7:3;
1562 uint64_t intr:5;
1563#else
1564 uint64_t intr:5;
1565 uint64_t reserved_5_7:3;
1566 uint64_t packet:6;
1567 uint64_t reserved_14_31:18;
1568 uint64_t word:15;
1569 uint64_t reserved_47_63:17;
1570#endif
1571 } s;
1572 struct cvmx_pko_mem_throttle_int_s cn68xx;
1573 struct cvmx_pko_mem_throttle_int_s cn68xxp1;
1574};
1575
1576union cvmx_pko_mem_throttle_pipe {
1577 uint64_t u64;
1578 struct cvmx_pko_mem_throttle_pipe_s {
1579#ifdef __BIG_ENDIAN_BITFIELD
1580 uint64_t reserved_47_63:17;
1581 uint64_t word:15;
1582 uint64_t reserved_14_31:18;
1583 uint64_t packet:6;
1584 uint64_t reserved_7_7:1;
1585 uint64_t pipe:7;
1586#else
1587 uint64_t pipe:7;
1588 uint64_t reserved_7_7:1;
1589 uint64_t packet:6;
1590 uint64_t reserved_14_31:18;
1591 uint64_t word:15;
1592 uint64_t reserved_47_63:17;
1593#endif
1594 } s;
1595 struct cvmx_pko_mem_throttle_pipe_s cn68xx;
1596 struct cvmx_pko_mem_throttle_pipe_s cn68xxp1;
765}; 1597};
766 1598
767union cvmx_pko_reg_bist_result { 1599union cvmx_pko_reg_bist_result {
768 uint64_t u64; 1600 uint64_t u64;
769 struct cvmx_pko_reg_bist_result_s { 1601 struct cvmx_pko_reg_bist_result_s {
1602#ifdef __BIG_ENDIAN_BITFIELD
770 uint64_t reserved_0_63:64; 1603 uint64_t reserved_0_63:64;
1604#else
1605 uint64_t reserved_0_63:64;
1606#endif
771 } s; 1607 } s;
772 struct cvmx_pko_reg_bist_result_cn30xx { 1608 struct cvmx_pko_reg_bist_result_cn30xx {
1609#ifdef __BIG_ENDIAN_BITFIELD
773 uint64_t reserved_27_63:37; 1610 uint64_t reserved_27_63:37;
774 uint64_t psb2:5; 1611 uint64_t psb2:5;
775 uint64_t count:1; 1612 uint64_t count:1;
@@ -783,11 +1620,27 @@ union cvmx_pko_reg_bist_result {
783 uint64_t qcb:2; 1620 uint64_t qcb:2;
784 uint64_t pdb:4; 1621 uint64_t pdb:4;
785 uint64_t psb:7; 1622 uint64_t psb:7;
1623#else
1624 uint64_t psb:7;
1625 uint64_t pdb:4;
1626 uint64_t qcb:2;
1627 uint64_t qsb:2;
1628 uint64_t chk:1;
1629 uint64_t crc:1;
1630 uint64_t out:1;
1631 uint64_t ncb:1;
1632 uint64_t wif:1;
1633 uint64_t rif:1;
1634 uint64_t count:1;
1635 uint64_t psb2:5;
1636 uint64_t reserved_27_63:37;
1637#endif
786 } cn30xx; 1638 } cn30xx;
787 struct cvmx_pko_reg_bist_result_cn30xx cn31xx; 1639 struct cvmx_pko_reg_bist_result_cn30xx cn31xx;
788 struct cvmx_pko_reg_bist_result_cn30xx cn38xx; 1640 struct cvmx_pko_reg_bist_result_cn30xx cn38xx;
789 struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2; 1641 struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2;
790 struct cvmx_pko_reg_bist_result_cn50xx { 1642 struct cvmx_pko_reg_bist_result_cn50xx {
1643#ifdef __BIG_ENDIAN_BITFIELD
791 uint64_t reserved_33_63:31; 1644 uint64_t reserved_33_63:31;
792 uint64_t csr:1; 1645 uint64_t csr:1;
793 uint64_t iob:1; 1646 uint64_t iob:1;
@@ -803,8 +1656,26 @@ union cvmx_pko_reg_bist_result {
803 uint64_t prt_qsb:3; 1656 uint64_t prt_qsb:3;
804 uint64_t dat_dat:4; 1657 uint64_t dat_dat:4;
805 uint64_t dat_ptr:4; 1658 uint64_t dat_ptr:4;
1659#else
1660 uint64_t dat_ptr:4;
1661 uint64_t dat_dat:4;
1662 uint64_t prt_qsb:3;
1663 uint64_t prt_qcb:2;
1664 uint64_t ncb_inb:2;
1665 uint64_t prt_psb:6;
1666 uint64_t prt_nxt:1;
1667 uint64_t prt_chk:3;
1668 uint64_t out_wif:1;
1669 uint64_t out_sta:1;
1670 uint64_t out_ctl:3;
1671 uint64_t out_crc:1;
1672 uint64_t iob:1;
1673 uint64_t csr:1;
1674 uint64_t reserved_33_63:31;
1675#endif
806 } cn50xx; 1676 } cn50xx;
807 struct cvmx_pko_reg_bist_result_cn52xx { 1677 struct cvmx_pko_reg_bist_result_cn52xx {
1678#ifdef __BIG_ENDIAN_BITFIELD
808 uint64_t reserved_35_63:29; 1679 uint64_t reserved_35_63:29;
809 uint64_t csr:1; 1680 uint64_t csr:1;
810 uint64_t iob:1; 1681 uint64_t iob:1;
@@ -821,21 +1692,139 @@ union cvmx_pko_reg_bist_result {
821 uint64_t prt_ctl:2; 1692 uint64_t prt_ctl:2;
822 uint64_t dat_dat:2; 1693 uint64_t dat_dat:2;
823 uint64_t dat_ptr:4; 1694 uint64_t dat_ptr:4;
1695#else
1696 uint64_t dat_ptr:4;
1697 uint64_t dat_dat:2;
1698 uint64_t prt_ctl:2;
1699 uint64_t prt_qsb:3;
1700 uint64_t prt_qcb:2;
1701 uint64_t ncb_inb:2;
1702 uint64_t prt_psb:8;
1703 uint64_t prt_nxt:1;
1704 uint64_t prt_chk:3;
1705 uint64_t out_wif:1;
1706 uint64_t out_sta:1;
1707 uint64_t out_ctl:3;
1708 uint64_t out_dat:1;
1709 uint64_t iob:1;
1710 uint64_t csr:1;
1711 uint64_t reserved_35_63:29;
1712#endif
824 } cn52xx; 1713 } cn52xx;
825 struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1; 1714 struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1;
826 struct cvmx_pko_reg_bist_result_cn52xx cn56xx; 1715 struct cvmx_pko_reg_bist_result_cn52xx cn56xx;
827 struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1; 1716 struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1;
828 struct cvmx_pko_reg_bist_result_cn50xx cn58xx; 1717 struct cvmx_pko_reg_bist_result_cn50xx cn58xx;
829 struct cvmx_pko_reg_bist_result_cn50xx cn58xxp1; 1718 struct cvmx_pko_reg_bist_result_cn50xx cn58xxp1;
1719 struct cvmx_pko_reg_bist_result_cn52xx cn61xx;
1720 struct cvmx_pko_reg_bist_result_cn52xx cn63xx;
1721 struct cvmx_pko_reg_bist_result_cn52xx cn63xxp1;
1722 struct cvmx_pko_reg_bist_result_cn52xx cn66xx;
1723 struct cvmx_pko_reg_bist_result_cn68xx {
1724#ifdef __BIG_ENDIAN_BITFIELD
1725 uint64_t reserved_36_63:28;
1726 uint64_t crc:1;
1727 uint64_t csr:1;
1728 uint64_t iob:1;
1729 uint64_t out_dat:1;
1730 uint64_t reserved_31_31:1;
1731 uint64_t out_ctl:2;
1732 uint64_t out_sta:1;
1733 uint64_t out_wif:1;
1734 uint64_t prt_chk:3;
1735 uint64_t prt_nxt:1;
1736 uint64_t prt_psb7:1;
1737 uint64_t reserved_21_21:1;
1738 uint64_t prt_psb:6;
1739 uint64_t ncb_inb:2;
1740 uint64_t prt_qcb:2;
1741 uint64_t prt_qsb:3;
1742 uint64_t prt_ctl:2;
1743 uint64_t dat_dat:2;
1744 uint64_t dat_ptr:4;
1745#else
1746 uint64_t dat_ptr:4;
1747 uint64_t dat_dat:2;
1748 uint64_t prt_ctl:2;
1749 uint64_t prt_qsb:3;
1750 uint64_t prt_qcb:2;
1751 uint64_t ncb_inb:2;
1752 uint64_t prt_psb:6;
1753 uint64_t reserved_21_21:1;
1754 uint64_t prt_psb7:1;
1755 uint64_t prt_nxt:1;
1756 uint64_t prt_chk:3;
1757 uint64_t out_wif:1;
1758 uint64_t out_sta:1;
1759 uint64_t out_ctl:2;
1760 uint64_t reserved_31_31:1;
1761 uint64_t out_dat:1;
1762 uint64_t iob:1;
1763 uint64_t csr:1;
1764 uint64_t crc:1;
1765 uint64_t reserved_36_63:28;
1766#endif
1767 } cn68xx;
1768 struct cvmx_pko_reg_bist_result_cn68xxp1 {
1769#ifdef __BIG_ENDIAN_BITFIELD
1770 uint64_t reserved_35_63:29;
1771 uint64_t csr:1;
1772 uint64_t iob:1;
1773 uint64_t out_dat:1;
1774 uint64_t reserved_31_31:1;
1775 uint64_t out_ctl:2;
1776 uint64_t out_sta:1;
1777 uint64_t out_wif:1;
1778 uint64_t prt_chk:3;
1779 uint64_t prt_nxt:1;
1780 uint64_t prt_psb7:1;
1781 uint64_t reserved_21_21:1;
1782 uint64_t prt_psb:6;
1783 uint64_t ncb_inb:2;
1784 uint64_t prt_qcb:2;
1785 uint64_t prt_qsb:3;
1786 uint64_t prt_ctl:2;
1787 uint64_t dat_dat:2;
1788 uint64_t dat_ptr:4;
1789#else
1790 uint64_t dat_ptr:4;
1791 uint64_t dat_dat:2;
1792 uint64_t prt_ctl:2;
1793 uint64_t prt_qsb:3;
1794 uint64_t prt_qcb:2;
1795 uint64_t ncb_inb:2;
1796 uint64_t prt_psb:6;
1797 uint64_t reserved_21_21:1;
1798 uint64_t prt_psb7:1;
1799 uint64_t prt_nxt:1;
1800 uint64_t prt_chk:3;
1801 uint64_t out_wif:1;
1802 uint64_t out_sta:1;
1803 uint64_t out_ctl:2;
1804 uint64_t reserved_31_31:1;
1805 uint64_t out_dat:1;
1806 uint64_t iob:1;
1807 uint64_t csr:1;
1808 uint64_t reserved_35_63:29;
1809#endif
1810 } cn68xxp1;
1811 struct cvmx_pko_reg_bist_result_cn52xx cnf71xx;
830}; 1812};
831 1813
832union cvmx_pko_reg_cmd_buf { 1814union cvmx_pko_reg_cmd_buf {
833 uint64_t u64; 1815 uint64_t u64;
834 struct cvmx_pko_reg_cmd_buf_s { 1816 struct cvmx_pko_reg_cmd_buf_s {
1817#ifdef __BIG_ENDIAN_BITFIELD
835 uint64_t reserved_23_63:41; 1818 uint64_t reserved_23_63:41;
836 uint64_t pool:3; 1819 uint64_t pool:3;
837 uint64_t reserved_13_19:7; 1820 uint64_t reserved_13_19:7;
838 uint64_t size:13; 1821 uint64_t size:13;
1822#else
1823 uint64_t size:13;
1824 uint64_t reserved_13_19:7;
1825 uint64_t pool:3;
1826 uint64_t reserved_23_63:41;
1827#endif
839 } s; 1828 } s;
840 struct cvmx_pko_reg_cmd_buf_s cn30xx; 1829 struct cvmx_pko_reg_cmd_buf_s cn30xx;
841 struct cvmx_pko_reg_cmd_buf_s cn31xx; 1830 struct cvmx_pko_reg_cmd_buf_s cn31xx;
@@ -848,14 +1837,27 @@ union cvmx_pko_reg_cmd_buf {
848 struct cvmx_pko_reg_cmd_buf_s cn56xxp1; 1837 struct cvmx_pko_reg_cmd_buf_s cn56xxp1;
849 struct cvmx_pko_reg_cmd_buf_s cn58xx; 1838 struct cvmx_pko_reg_cmd_buf_s cn58xx;
850 struct cvmx_pko_reg_cmd_buf_s cn58xxp1; 1839 struct cvmx_pko_reg_cmd_buf_s cn58xxp1;
1840 struct cvmx_pko_reg_cmd_buf_s cn61xx;
1841 struct cvmx_pko_reg_cmd_buf_s cn63xx;
1842 struct cvmx_pko_reg_cmd_buf_s cn63xxp1;
1843 struct cvmx_pko_reg_cmd_buf_s cn66xx;
1844 struct cvmx_pko_reg_cmd_buf_s cn68xx;
1845 struct cvmx_pko_reg_cmd_buf_s cn68xxp1;
1846 struct cvmx_pko_reg_cmd_buf_s cnf71xx;
851}; 1847};
852 1848
853union cvmx_pko_reg_crc_ctlx { 1849union cvmx_pko_reg_crc_ctlx {
854 uint64_t u64; 1850 uint64_t u64;
855 struct cvmx_pko_reg_crc_ctlx_s { 1851 struct cvmx_pko_reg_crc_ctlx_s {
1852#ifdef __BIG_ENDIAN_BITFIELD
856 uint64_t reserved_2_63:62; 1853 uint64_t reserved_2_63:62;
857 uint64_t invres:1; 1854 uint64_t invres:1;
858 uint64_t refin:1; 1855 uint64_t refin:1;
1856#else
1857 uint64_t refin:1;
1858 uint64_t invres:1;
1859 uint64_t reserved_2_63:62;
1860#endif
859 } s; 1861 } s;
860 struct cvmx_pko_reg_crc_ctlx_s cn38xx; 1862 struct cvmx_pko_reg_crc_ctlx_s cn38xx;
861 struct cvmx_pko_reg_crc_ctlx_s cn38xxp2; 1863 struct cvmx_pko_reg_crc_ctlx_s cn38xxp2;
@@ -866,8 +1868,13 @@ union cvmx_pko_reg_crc_ctlx {
866union cvmx_pko_reg_crc_enable { 1868union cvmx_pko_reg_crc_enable {
867 uint64_t u64; 1869 uint64_t u64;
868 struct cvmx_pko_reg_crc_enable_s { 1870 struct cvmx_pko_reg_crc_enable_s {
1871#ifdef __BIG_ENDIAN_BITFIELD
869 uint64_t reserved_32_63:32; 1872 uint64_t reserved_32_63:32;
870 uint64_t enable:32; 1873 uint64_t enable:32;
1874#else
1875 uint64_t enable:32;
1876 uint64_t reserved_32_63:32;
1877#endif
871 } s; 1878 } s;
872 struct cvmx_pko_reg_crc_enable_s cn38xx; 1879 struct cvmx_pko_reg_crc_enable_s cn38xx;
873 struct cvmx_pko_reg_crc_enable_s cn38xxp2; 1880 struct cvmx_pko_reg_crc_enable_s cn38xxp2;
@@ -878,8 +1885,13 @@ union cvmx_pko_reg_crc_enable {
878union cvmx_pko_reg_crc_ivx { 1885union cvmx_pko_reg_crc_ivx {
879 uint64_t u64; 1886 uint64_t u64;
880 struct cvmx_pko_reg_crc_ivx_s { 1887 struct cvmx_pko_reg_crc_ivx_s {
1888#ifdef __BIG_ENDIAN_BITFIELD
881 uint64_t reserved_32_63:32; 1889 uint64_t reserved_32_63:32;
882 uint64_t iv:32; 1890 uint64_t iv:32;
1891#else
1892 uint64_t iv:32;
1893 uint64_t reserved_32_63:32;
1894#endif
883 } s; 1895 } s;
884 struct cvmx_pko_reg_crc_ivx_s cn38xx; 1896 struct cvmx_pko_reg_crc_ivx_s cn38xx;
885 struct cvmx_pko_reg_crc_ivx_s cn38xxp2; 1897 struct cvmx_pko_reg_crc_ivx_s cn38xxp2;
@@ -890,11 +1902,20 @@ union cvmx_pko_reg_crc_ivx {
890union cvmx_pko_reg_debug0 { 1902union cvmx_pko_reg_debug0 {
891 uint64_t u64; 1903 uint64_t u64;
892 struct cvmx_pko_reg_debug0_s { 1904 struct cvmx_pko_reg_debug0_s {
1905#ifdef __BIG_ENDIAN_BITFIELD
1906 uint64_t asserts:64;
1907#else
893 uint64_t asserts:64; 1908 uint64_t asserts:64;
1909#endif
894 } s; 1910 } s;
895 struct cvmx_pko_reg_debug0_cn30xx { 1911 struct cvmx_pko_reg_debug0_cn30xx {
1912#ifdef __BIG_ENDIAN_BITFIELD
896 uint64_t reserved_17_63:47; 1913 uint64_t reserved_17_63:47;
897 uint64_t asserts:17; 1914 uint64_t asserts:17;
1915#else
1916 uint64_t asserts:17;
1917 uint64_t reserved_17_63:47;
1918#endif
898 } cn30xx; 1919 } cn30xx;
899 struct cvmx_pko_reg_debug0_cn30xx cn31xx; 1920 struct cvmx_pko_reg_debug0_cn30xx cn31xx;
900 struct cvmx_pko_reg_debug0_cn30xx cn38xx; 1921 struct cvmx_pko_reg_debug0_cn30xx cn38xx;
@@ -906,12 +1927,23 @@ union cvmx_pko_reg_debug0 {
906 struct cvmx_pko_reg_debug0_s cn56xxp1; 1927 struct cvmx_pko_reg_debug0_s cn56xxp1;
907 struct cvmx_pko_reg_debug0_s cn58xx; 1928 struct cvmx_pko_reg_debug0_s cn58xx;
908 struct cvmx_pko_reg_debug0_s cn58xxp1; 1929 struct cvmx_pko_reg_debug0_s cn58xxp1;
1930 struct cvmx_pko_reg_debug0_s cn61xx;
1931 struct cvmx_pko_reg_debug0_s cn63xx;
1932 struct cvmx_pko_reg_debug0_s cn63xxp1;
1933 struct cvmx_pko_reg_debug0_s cn66xx;
1934 struct cvmx_pko_reg_debug0_s cn68xx;
1935 struct cvmx_pko_reg_debug0_s cn68xxp1;
1936 struct cvmx_pko_reg_debug0_s cnf71xx;
909}; 1937};
910 1938
911union cvmx_pko_reg_debug1 { 1939union cvmx_pko_reg_debug1 {
912 uint64_t u64; 1940 uint64_t u64;
913 struct cvmx_pko_reg_debug1_s { 1941 struct cvmx_pko_reg_debug1_s {
1942#ifdef __BIG_ENDIAN_BITFIELD
1943 uint64_t asserts:64;
1944#else
914 uint64_t asserts:64; 1945 uint64_t asserts:64;
1946#endif
915 } s; 1947 } s;
916 struct cvmx_pko_reg_debug1_s cn50xx; 1948 struct cvmx_pko_reg_debug1_s cn50xx;
917 struct cvmx_pko_reg_debug1_s cn52xx; 1949 struct cvmx_pko_reg_debug1_s cn52xx;
@@ -920,12 +1952,23 @@ union cvmx_pko_reg_debug1 {
920 struct cvmx_pko_reg_debug1_s cn56xxp1; 1952 struct cvmx_pko_reg_debug1_s cn56xxp1;
921 struct cvmx_pko_reg_debug1_s cn58xx; 1953 struct cvmx_pko_reg_debug1_s cn58xx;
922 struct cvmx_pko_reg_debug1_s cn58xxp1; 1954 struct cvmx_pko_reg_debug1_s cn58xxp1;
1955 struct cvmx_pko_reg_debug1_s cn61xx;
1956 struct cvmx_pko_reg_debug1_s cn63xx;
1957 struct cvmx_pko_reg_debug1_s cn63xxp1;
1958 struct cvmx_pko_reg_debug1_s cn66xx;
1959 struct cvmx_pko_reg_debug1_s cn68xx;
1960 struct cvmx_pko_reg_debug1_s cn68xxp1;
1961 struct cvmx_pko_reg_debug1_s cnf71xx;
923}; 1962};
924 1963
925union cvmx_pko_reg_debug2 { 1964union cvmx_pko_reg_debug2 {
926 uint64_t u64; 1965 uint64_t u64;
927 struct cvmx_pko_reg_debug2_s { 1966 struct cvmx_pko_reg_debug2_s {
1967#ifdef __BIG_ENDIAN_BITFIELD
928 uint64_t asserts:64; 1968 uint64_t asserts:64;
1969#else
1970 uint64_t asserts:64;
1971#endif
929 } s; 1972 } s;
930 struct cvmx_pko_reg_debug2_s cn50xx; 1973 struct cvmx_pko_reg_debug2_s cn50xx;
931 struct cvmx_pko_reg_debug2_s cn52xx; 1974 struct cvmx_pko_reg_debug2_s cn52xx;
@@ -934,12 +1977,23 @@ union cvmx_pko_reg_debug2 {
934 struct cvmx_pko_reg_debug2_s cn56xxp1; 1977 struct cvmx_pko_reg_debug2_s cn56xxp1;
935 struct cvmx_pko_reg_debug2_s cn58xx; 1978 struct cvmx_pko_reg_debug2_s cn58xx;
936 struct cvmx_pko_reg_debug2_s cn58xxp1; 1979 struct cvmx_pko_reg_debug2_s cn58xxp1;
1980 struct cvmx_pko_reg_debug2_s cn61xx;
1981 struct cvmx_pko_reg_debug2_s cn63xx;
1982 struct cvmx_pko_reg_debug2_s cn63xxp1;
1983 struct cvmx_pko_reg_debug2_s cn66xx;
1984 struct cvmx_pko_reg_debug2_s cn68xx;
1985 struct cvmx_pko_reg_debug2_s cn68xxp1;
1986 struct cvmx_pko_reg_debug2_s cnf71xx;
937}; 1987};
938 1988
939union cvmx_pko_reg_debug3 { 1989union cvmx_pko_reg_debug3 {
940 uint64_t u64; 1990 uint64_t u64;
941 struct cvmx_pko_reg_debug3_s { 1991 struct cvmx_pko_reg_debug3_s {
1992#ifdef __BIG_ENDIAN_BITFIELD
1993 uint64_t asserts:64;
1994#else
942 uint64_t asserts:64; 1995 uint64_t asserts:64;
1996#endif
943 } s; 1997 } s;
944 struct cvmx_pko_reg_debug3_s cn50xx; 1998 struct cvmx_pko_reg_debug3_s cn50xx;
945 struct cvmx_pko_reg_debug3_s cn52xx; 1999 struct cvmx_pko_reg_debug3_s cn52xx;
@@ -948,11 +2002,69 @@ union cvmx_pko_reg_debug3 {
948 struct cvmx_pko_reg_debug3_s cn56xxp1; 2002 struct cvmx_pko_reg_debug3_s cn56xxp1;
949 struct cvmx_pko_reg_debug3_s cn58xx; 2003 struct cvmx_pko_reg_debug3_s cn58xx;
950 struct cvmx_pko_reg_debug3_s cn58xxp1; 2004 struct cvmx_pko_reg_debug3_s cn58xxp1;
2005 struct cvmx_pko_reg_debug3_s cn61xx;
2006 struct cvmx_pko_reg_debug3_s cn63xx;
2007 struct cvmx_pko_reg_debug3_s cn63xxp1;
2008 struct cvmx_pko_reg_debug3_s cn66xx;
2009 struct cvmx_pko_reg_debug3_s cn68xx;
2010 struct cvmx_pko_reg_debug3_s cn68xxp1;
2011 struct cvmx_pko_reg_debug3_s cnf71xx;
2012};
2013
2014union cvmx_pko_reg_debug4 {
2015 uint64_t u64;
2016 struct cvmx_pko_reg_debug4_s {
2017#ifdef __BIG_ENDIAN_BITFIELD
2018 uint64_t asserts:64;
2019#else
2020 uint64_t asserts:64;
2021#endif
2022 } s;
2023 struct cvmx_pko_reg_debug4_s cn68xx;
2024 struct cvmx_pko_reg_debug4_s cn68xxp1;
951}; 2025};
952 2026
953union cvmx_pko_reg_engine_inflight { 2027union cvmx_pko_reg_engine_inflight {
954 uint64_t u64; 2028 uint64_t u64;
955 struct cvmx_pko_reg_engine_inflight_s { 2029 struct cvmx_pko_reg_engine_inflight_s {
2030#ifdef __BIG_ENDIAN_BITFIELD
2031 uint64_t engine15:4;
2032 uint64_t engine14:4;
2033 uint64_t engine13:4;
2034 uint64_t engine12:4;
2035 uint64_t engine11:4;
2036 uint64_t engine10:4;
2037 uint64_t engine9:4;
2038 uint64_t engine8:4;
2039 uint64_t engine7:4;
2040 uint64_t engine6:4;
2041 uint64_t engine5:4;
2042 uint64_t engine4:4;
2043 uint64_t engine3:4;
2044 uint64_t engine2:4;
2045 uint64_t engine1:4;
2046 uint64_t engine0:4;
2047#else
2048 uint64_t engine0:4;
2049 uint64_t engine1:4;
2050 uint64_t engine2:4;
2051 uint64_t engine3:4;
2052 uint64_t engine4:4;
2053 uint64_t engine5:4;
2054 uint64_t engine6:4;
2055 uint64_t engine7:4;
2056 uint64_t engine8:4;
2057 uint64_t engine9:4;
2058 uint64_t engine10:4;
2059 uint64_t engine11:4;
2060 uint64_t engine12:4;
2061 uint64_t engine13:4;
2062 uint64_t engine14:4;
2063 uint64_t engine15:4;
2064#endif
2065 } s;
2066 struct cvmx_pko_reg_engine_inflight_cn52xx {
2067#ifdef __BIG_ENDIAN_BITFIELD
956 uint64_t reserved_40_63:24; 2068 uint64_t reserved_40_63:24;
957 uint64_t engine9:4; 2069 uint64_t engine9:4;
958 uint64_t engine8:4; 2070 uint64_t engine8:4;
@@ -964,78 +2076,380 @@ union cvmx_pko_reg_engine_inflight {
964 uint64_t engine2:4; 2076 uint64_t engine2:4;
965 uint64_t engine1:4; 2077 uint64_t engine1:4;
966 uint64_t engine0:4; 2078 uint64_t engine0:4;
2079#else
2080 uint64_t engine0:4;
2081 uint64_t engine1:4;
2082 uint64_t engine2:4;
2083 uint64_t engine3:4;
2084 uint64_t engine4:4;
2085 uint64_t engine5:4;
2086 uint64_t engine6:4;
2087 uint64_t engine7:4;
2088 uint64_t engine8:4;
2089 uint64_t engine9:4;
2090 uint64_t reserved_40_63:24;
2091#endif
2092 } cn52xx;
2093 struct cvmx_pko_reg_engine_inflight_cn52xx cn52xxp1;
2094 struct cvmx_pko_reg_engine_inflight_cn52xx cn56xx;
2095 struct cvmx_pko_reg_engine_inflight_cn52xx cn56xxp1;
2096 struct cvmx_pko_reg_engine_inflight_cn61xx {
2097#ifdef __BIG_ENDIAN_BITFIELD
2098 uint64_t reserved_56_63:8;
2099 uint64_t engine13:4;
2100 uint64_t engine12:4;
2101 uint64_t engine11:4;
2102 uint64_t engine10:4;
2103 uint64_t engine9:4;
2104 uint64_t engine8:4;
2105 uint64_t engine7:4;
2106 uint64_t engine6:4;
2107 uint64_t engine5:4;
2108 uint64_t engine4:4;
2109 uint64_t engine3:4;
2110 uint64_t engine2:4;
2111 uint64_t engine1:4;
2112 uint64_t engine0:4;
2113#else
2114 uint64_t engine0:4;
2115 uint64_t engine1:4;
2116 uint64_t engine2:4;
2117 uint64_t engine3:4;
2118 uint64_t engine4:4;
2119 uint64_t engine5:4;
2120 uint64_t engine6:4;
2121 uint64_t engine7:4;
2122 uint64_t engine8:4;
2123 uint64_t engine9:4;
2124 uint64_t engine10:4;
2125 uint64_t engine11:4;
2126 uint64_t engine12:4;
2127 uint64_t engine13:4;
2128 uint64_t reserved_56_63:8;
2129#endif
2130 } cn61xx;
2131 struct cvmx_pko_reg_engine_inflight_cn63xx {
2132#ifdef __BIG_ENDIAN_BITFIELD
2133 uint64_t reserved_48_63:16;
2134 uint64_t engine11:4;
2135 uint64_t engine10:4;
2136 uint64_t engine9:4;
2137 uint64_t engine8:4;
2138 uint64_t engine7:4;
2139 uint64_t engine6:4;
2140 uint64_t engine5:4;
2141 uint64_t engine4:4;
2142 uint64_t engine3:4;
2143 uint64_t engine2:4;
2144 uint64_t engine1:4;
2145 uint64_t engine0:4;
2146#else
2147 uint64_t engine0:4;
2148 uint64_t engine1:4;
2149 uint64_t engine2:4;
2150 uint64_t engine3:4;
2151 uint64_t engine4:4;
2152 uint64_t engine5:4;
2153 uint64_t engine6:4;
2154 uint64_t engine7:4;
2155 uint64_t engine8:4;
2156 uint64_t engine9:4;
2157 uint64_t engine10:4;
2158 uint64_t engine11:4;
2159 uint64_t reserved_48_63:16;
2160#endif
2161 } cn63xx;
2162 struct cvmx_pko_reg_engine_inflight_cn63xx cn63xxp1;
2163 struct cvmx_pko_reg_engine_inflight_cn61xx cn66xx;
2164 struct cvmx_pko_reg_engine_inflight_s cn68xx;
2165 struct cvmx_pko_reg_engine_inflight_s cn68xxp1;
2166 struct cvmx_pko_reg_engine_inflight_cn61xx cnf71xx;
2167};
2168
2169union cvmx_pko_reg_engine_inflight1 {
2170 uint64_t u64;
2171 struct cvmx_pko_reg_engine_inflight1_s {
2172#ifdef __BIG_ENDIAN_BITFIELD
2173 uint64_t reserved_16_63:48;
2174 uint64_t engine19:4;
2175 uint64_t engine18:4;
2176 uint64_t engine17:4;
2177 uint64_t engine16:4;
2178#else
2179 uint64_t engine16:4;
2180 uint64_t engine17:4;
2181 uint64_t engine18:4;
2182 uint64_t engine19:4;
2183 uint64_t reserved_16_63:48;
2184#endif
967 } s; 2185 } s;
968 struct cvmx_pko_reg_engine_inflight_s cn52xx; 2186 struct cvmx_pko_reg_engine_inflight1_s cn68xx;
969 struct cvmx_pko_reg_engine_inflight_s cn52xxp1; 2187 struct cvmx_pko_reg_engine_inflight1_s cn68xxp1;
970 struct cvmx_pko_reg_engine_inflight_s cn56xx; 2188};
971 struct cvmx_pko_reg_engine_inflight_s cn56xxp1; 2189
2190union cvmx_pko_reg_engine_storagex {
2191 uint64_t u64;
2192 struct cvmx_pko_reg_engine_storagex_s {
2193#ifdef __BIG_ENDIAN_BITFIELD
2194 uint64_t engine15:4;
2195 uint64_t engine14:4;
2196 uint64_t engine13:4;
2197 uint64_t engine12:4;
2198 uint64_t engine11:4;
2199 uint64_t engine10:4;
2200 uint64_t engine9:4;
2201 uint64_t engine8:4;
2202 uint64_t engine7:4;
2203 uint64_t engine6:4;
2204 uint64_t engine5:4;
2205 uint64_t engine4:4;
2206 uint64_t engine3:4;
2207 uint64_t engine2:4;
2208 uint64_t engine1:4;
2209 uint64_t engine0:4;
2210#else
2211 uint64_t engine0:4;
2212 uint64_t engine1:4;
2213 uint64_t engine2:4;
2214 uint64_t engine3:4;
2215 uint64_t engine4:4;
2216 uint64_t engine5:4;
2217 uint64_t engine6:4;
2218 uint64_t engine7:4;
2219 uint64_t engine8:4;
2220 uint64_t engine9:4;
2221 uint64_t engine10:4;
2222 uint64_t engine11:4;
2223 uint64_t engine12:4;
2224 uint64_t engine13:4;
2225 uint64_t engine14:4;
2226 uint64_t engine15:4;
2227#endif
2228 } s;
2229 struct cvmx_pko_reg_engine_storagex_s cn68xx;
2230 struct cvmx_pko_reg_engine_storagex_s cn68xxp1;
972}; 2231};
973 2232
974union cvmx_pko_reg_engine_thresh { 2233union cvmx_pko_reg_engine_thresh {
975 uint64_t u64; 2234 uint64_t u64;
976 struct cvmx_pko_reg_engine_thresh_s { 2235 struct cvmx_pko_reg_engine_thresh_s {
2236#ifdef __BIG_ENDIAN_BITFIELD
2237 uint64_t reserved_20_63:44;
2238 uint64_t mask:20;
2239#else
2240 uint64_t mask:20;
2241 uint64_t reserved_20_63:44;
2242#endif
2243 } s;
2244 struct cvmx_pko_reg_engine_thresh_cn52xx {
2245#ifdef __BIG_ENDIAN_BITFIELD
977 uint64_t reserved_10_63:54; 2246 uint64_t reserved_10_63:54;
978 uint64_t mask:10; 2247 uint64_t mask:10;
979 } s; 2248#else
980 struct cvmx_pko_reg_engine_thresh_s cn52xx; 2249 uint64_t mask:10;
981 struct cvmx_pko_reg_engine_thresh_s cn52xxp1; 2250 uint64_t reserved_10_63:54;
982 struct cvmx_pko_reg_engine_thresh_s cn56xx; 2251#endif
983 struct cvmx_pko_reg_engine_thresh_s cn56xxp1; 2252 } cn52xx;
2253 struct cvmx_pko_reg_engine_thresh_cn52xx cn52xxp1;
2254 struct cvmx_pko_reg_engine_thresh_cn52xx cn56xx;
2255 struct cvmx_pko_reg_engine_thresh_cn52xx cn56xxp1;
2256 struct cvmx_pko_reg_engine_thresh_cn61xx {
2257#ifdef __BIG_ENDIAN_BITFIELD
2258 uint64_t reserved_14_63:50;
2259 uint64_t mask:14;
2260#else
2261 uint64_t mask:14;
2262 uint64_t reserved_14_63:50;
2263#endif
2264 } cn61xx;
2265 struct cvmx_pko_reg_engine_thresh_cn63xx {
2266#ifdef __BIG_ENDIAN_BITFIELD
2267 uint64_t reserved_12_63:52;
2268 uint64_t mask:12;
2269#else
2270 uint64_t mask:12;
2271 uint64_t reserved_12_63:52;
2272#endif
2273 } cn63xx;
2274 struct cvmx_pko_reg_engine_thresh_cn63xx cn63xxp1;
2275 struct cvmx_pko_reg_engine_thresh_cn61xx cn66xx;
2276 struct cvmx_pko_reg_engine_thresh_s cn68xx;
2277 struct cvmx_pko_reg_engine_thresh_s cn68xxp1;
2278 struct cvmx_pko_reg_engine_thresh_cn61xx cnf71xx;
984}; 2279};
985 2280
986union cvmx_pko_reg_error { 2281union cvmx_pko_reg_error {
987 uint64_t u64; 2282 uint64_t u64;
988 struct cvmx_pko_reg_error_s { 2283 struct cvmx_pko_reg_error_s {
989 uint64_t reserved_3_63:61; 2284#ifdef __BIG_ENDIAN_BITFIELD
2285 uint64_t reserved_4_63:60;
2286 uint64_t loopback:1;
990 uint64_t currzero:1; 2287 uint64_t currzero:1;
991 uint64_t doorbell:1; 2288 uint64_t doorbell:1;
992 uint64_t parity:1; 2289 uint64_t parity:1;
2290#else
2291 uint64_t parity:1;
2292 uint64_t doorbell:1;
2293 uint64_t currzero:1;
2294 uint64_t loopback:1;
2295 uint64_t reserved_4_63:60;
2296#endif
993 } s; 2297 } s;
994 struct cvmx_pko_reg_error_cn30xx { 2298 struct cvmx_pko_reg_error_cn30xx {
2299#ifdef __BIG_ENDIAN_BITFIELD
995 uint64_t reserved_2_63:62; 2300 uint64_t reserved_2_63:62;
996 uint64_t doorbell:1; 2301 uint64_t doorbell:1;
997 uint64_t parity:1; 2302 uint64_t parity:1;
2303#else
2304 uint64_t parity:1;
2305 uint64_t doorbell:1;
2306 uint64_t reserved_2_63:62;
2307#endif
998 } cn30xx; 2308 } cn30xx;
999 struct cvmx_pko_reg_error_cn30xx cn31xx; 2309 struct cvmx_pko_reg_error_cn30xx cn31xx;
1000 struct cvmx_pko_reg_error_cn30xx cn38xx; 2310 struct cvmx_pko_reg_error_cn30xx cn38xx;
1001 struct cvmx_pko_reg_error_cn30xx cn38xxp2; 2311 struct cvmx_pko_reg_error_cn30xx cn38xxp2;
1002 struct cvmx_pko_reg_error_s cn50xx; 2312 struct cvmx_pko_reg_error_cn50xx {
1003 struct cvmx_pko_reg_error_s cn52xx; 2313#ifdef __BIG_ENDIAN_BITFIELD
1004 struct cvmx_pko_reg_error_s cn52xxp1; 2314 uint64_t reserved_3_63:61;
1005 struct cvmx_pko_reg_error_s cn56xx; 2315 uint64_t currzero:1;
1006 struct cvmx_pko_reg_error_s cn56xxp1; 2316 uint64_t doorbell:1;
1007 struct cvmx_pko_reg_error_s cn58xx; 2317 uint64_t parity:1;
1008 struct cvmx_pko_reg_error_s cn58xxp1; 2318#else
2319 uint64_t parity:1;
2320 uint64_t doorbell:1;
2321 uint64_t currzero:1;
2322 uint64_t reserved_3_63:61;
2323#endif
2324 } cn50xx;
2325 struct cvmx_pko_reg_error_cn50xx cn52xx;
2326 struct cvmx_pko_reg_error_cn50xx cn52xxp1;
2327 struct cvmx_pko_reg_error_cn50xx cn56xx;
2328 struct cvmx_pko_reg_error_cn50xx cn56xxp1;
2329 struct cvmx_pko_reg_error_cn50xx cn58xx;
2330 struct cvmx_pko_reg_error_cn50xx cn58xxp1;
2331 struct cvmx_pko_reg_error_cn50xx cn61xx;
2332 struct cvmx_pko_reg_error_cn50xx cn63xx;
2333 struct cvmx_pko_reg_error_cn50xx cn63xxp1;
2334 struct cvmx_pko_reg_error_cn50xx cn66xx;
2335 struct cvmx_pko_reg_error_s cn68xx;
2336 struct cvmx_pko_reg_error_s cn68xxp1;
2337 struct cvmx_pko_reg_error_cn50xx cnf71xx;
1009}; 2338};
1010 2339
1011union cvmx_pko_reg_flags { 2340union cvmx_pko_reg_flags {
1012 uint64_t u64; 2341 uint64_t u64;
1013 struct cvmx_pko_reg_flags_s { 2342 struct cvmx_pko_reg_flags_s {
1014 uint64_t reserved_4_63:60; 2343#ifdef __BIG_ENDIAN_BITFIELD
2344 uint64_t reserved_9_63:55;
2345 uint64_t dis_perf3:1;
2346 uint64_t dis_perf2:1;
2347 uint64_t dis_perf1:1;
2348 uint64_t dis_perf0:1;
2349 uint64_t ena_throttle:1;
1015 uint64_t reset:1; 2350 uint64_t reset:1;
1016 uint64_t store_be:1; 2351 uint64_t store_be:1;
1017 uint64_t ena_dwb:1; 2352 uint64_t ena_dwb:1;
1018 uint64_t ena_pko:1; 2353 uint64_t ena_pko:1;
2354#else
2355 uint64_t ena_pko:1;
2356 uint64_t ena_dwb:1;
2357 uint64_t store_be:1;
2358 uint64_t reset:1;
2359 uint64_t ena_throttle:1;
2360 uint64_t dis_perf0:1;
2361 uint64_t dis_perf1:1;
2362 uint64_t dis_perf2:1;
2363 uint64_t dis_perf3:1;
2364 uint64_t reserved_9_63:55;
2365#endif
1019 } s; 2366 } s;
1020 struct cvmx_pko_reg_flags_s cn30xx; 2367 struct cvmx_pko_reg_flags_cn30xx {
1021 struct cvmx_pko_reg_flags_s cn31xx; 2368#ifdef __BIG_ENDIAN_BITFIELD
1022 struct cvmx_pko_reg_flags_s cn38xx; 2369 uint64_t reserved_4_63:60;
1023 struct cvmx_pko_reg_flags_s cn38xxp2; 2370 uint64_t reset:1;
1024 struct cvmx_pko_reg_flags_s cn50xx; 2371 uint64_t store_be:1;
1025 struct cvmx_pko_reg_flags_s cn52xx; 2372 uint64_t ena_dwb:1;
1026 struct cvmx_pko_reg_flags_s cn52xxp1; 2373 uint64_t ena_pko:1;
1027 struct cvmx_pko_reg_flags_s cn56xx; 2374#else
1028 struct cvmx_pko_reg_flags_s cn56xxp1; 2375 uint64_t ena_pko:1;
1029 struct cvmx_pko_reg_flags_s cn58xx; 2376 uint64_t ena_dwb:1;
1030 struct cvmx_pko_reg_flags_s cn58xxp1; 2377 uint64_t store_be:1;
2378 uint64_t reset:1;
2379 uint64_t reserved_4_63:60;
2380#endif
2381 } cn30xx;
2382 struct cvmx_pko_reg_flags_cn30xx cn31xx;
2383 struct cvmx_pko_reg_flags_cn30xx cn38xx;
2384 struct cvmx_pko_reg_flags_cn30xx cn38xxp2;
2385 struct cvmx_pko_reg_flags_cn30xx cn50xx;
2386 struct cvmx_pko_reg_flags_cn30xx cn52xx;
2387 struct cvmx_pko_reg_flags_cn30xx cn52xxp1;
2388 struct cvmx_pko_reg_flags_cn30xx cn56xx;
2389 struct cvmx_pko_reg_flags_cn30xx cn56xxp1;
2390 struct cvmx_pko_reg_flags_cn30xx cn58xx;
2391 struct cvmx_pko_reg_flags_cn30xx cn58xxp1;
2392 struct cvmx_pko_reg_flags_cn61xx {
2393#ifdef __BIG_ENDIAN_BITFIELD
2394 uint64_t reserved_9_63:55;
2395 uint64_t dis_perf3:1;
2396 uint64_t dis_perf2:1;
2397 uint64_t reserved_4_6:3;
2398 uint64_t reset:1;
2399 uint64_t store_be:1;
2400 uint64_t ena_dwb:1;
2401 uint64_t ena_pko:1;
2402#else
2403 uint64_t ena_pko:1;
2404 uint64_t ena_dwb:1;
2405 uint64_t store_be:1;
2406 uint64_t reset:1;
2407 uint64_t reserved_4_6:3;
2408 uint64_t dis_perf2:1;
2409 uint64_t dis_perf3:1;
2410 uint64_t reserved_9_63:55;
2411#endif
2412 } cn61xx;
2413 struct cvmx_pko_reg_flags_cn30xx cn63xx;
2414 struct cvmx_pko_reg_flags_cn30xx cn63xxp1;
2415 struct cvmx_pko_reg_flags_cn61xx cn66xx;
2416 struct cvmx_pko_reg_flags_s cn68xx;
2417 struct cvmx_pko_reg_flags_cn68xxp1 {
2418#ifdef __BIG_ENDIAN_BITFIELD
2419 uint64_t reserved_7_63:57;
2420 uint64_t dis_perf1:1;
2421 uint64_t dis_perf0:1;
2422 uint64_t ena_throttle:1;
2423 uint64_t reset:1;
2424 uint64_t store_be:1;
2425 uint64_t ena_dwb:1;
2426 uint64_t ena_pko:1;
2427#else
2428 uint64_t ena_pko:1;
2429 uint64_t ena_dwb:1;
2430 uint64_t store_be:1;
2431 uint64_t reset:1;
2432 uint64_t ena_throttle:1;
2433 uint64_t dis_perf0:1;
2434 uint64_t dis_perf1:1;
2435 uint64_t reserved_7_63:57;
2436#endif
2437 } cn68xxp1;
2438 struct cvmx_pko_reg_flags_cn61xx cnf71xx;
1031}; 2439};
1032 2440
1033union cvmx_pko_reg_gmx_port_mode { 2441union cvmx_pko_reg_gmx_port_mode {
1034 uint64_t u64; 2442 uint64_t u64;
1035 struct cvmx_pko_reg_gmx_port_mode_s { 2443 struct cvmx_pko_reg_gmx_port_mode_s {
2444#ifdef __BIG_ENDIAN_BITFIELD
1036 uint64_t reserved_6_63:58; 2445 uint64_t reserved_6_63:58;
1037 uint64_t mode1:3; 2446 uint64_t mode1:3;
1038 uint64_t mode0:3; 2447 uint64_t mode0:3;
2448#else
2449 uint64_t mode0:3;
2450 uint64_t mode1:3;
2451 uint64_t reserved_6_63:58;
2452#endif
1039 } s; 2453 } s;
1040 struct cvmx_pko_reg_gmx_port_mode_s cn30xx; 2454 struct cvmx_pko_reg_gmx_port_mode_s cn30xx;
1041 struct cvmx_pko_reg_gmx_port_mode_s cn31xx; 2455 struct cvmx_pko_reg_gmx_port_mode_s cn31xx;
@@ -1048,38 +2462,223 @@ union cvmx_pko_reg_gmx_port_mode {
1048 struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1; 2462 struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1;
1049 struct cvmx_pko_reg_gmx_port_mode_s cn58xx; 2463 struct cvmx_pko_reg_gmx_port_mode_s cn58xx;
1050 struct cvmx_pko_reg_gmx_port_mode_s cn58xxp1; 2464 struct cvmx_pko_reg_gmx_port_mode_s cn58xxp1;
2465 struct cvmx_pko_reg_gmx_port_mode_s cn61xx;
2466 struct cvmx_pko_reg_gmx_port_mode_s cn63xx;
2467 struct cvmx_pko_reg_gmx_port_mode_s cn63xxp1;
2468 struct cvmx_pko_reg_gmx_port_mode_s cn66xx;
2469 struct cvmx_pko_reg_gmx_port_mode_s cnf71xx;
1051}; 2470};
1052 2471
1053union cvmx_pko_reg_int_mask { 2472union cvmx_pko_reg_int_mask {
1054 uint64_t u64; 2473 uint64_t u64;
1055 struct cvmx_pko_reg_int_mask_s { 2474 struct cvmx_pko_reg_int_mask_s {
1056 uint64_t reserved_3_63:61; 2475#ifdef __BIG_ENDIAN_BITFIELD
2476 uint64_t reserved_4_63:60;
2477 uint64_t loopback:1;
1057 uint64_t currzero:1; 2478 uint64_t currzero:1;
1058 uint64_t doorbell:1; 2479 uint64_t doorbell:1;
1059 uint64_t parity:1; 2480 uint64_t parity:1;
2481#else
2482 uint64_t parity:1;
2483 uint64_t doorbell:1;
2484 uint64_t currzero:1;
2485 uint64_t loopback:1;
2486 uint64_t reserved_4_63:60;
2487#endif
1060 } s; 2488 } s;
1061 struct cvmx_pko_reg_int_mask_cn30xx { 2489 struct cvmx_pko_reg_int_mask_cn30xx {
2490#ifdef __BIG_ENDIAN_BITFIELD
1062 uint64_t reserved_2_63:62; 2491 uint64_t reserved_2_63:62;
1063 uint64_t doorbell:1; 2492 uint64_t doorbell:1;
1064 uint64_t parity:1; 2493 uint64_t parity:1;
2494#else
2495 uint64_t parity:1;
2496 uint64_t doorbell:1;
2497 uint64_t reserved_2_63:62;
2498#endif
1065 } cn30xx; 2499 } cn30xx;
1066 struct cvmx_pko_reg_int_mask_cn30xx cn31xx; 2500 struct cvmx_pko_reg_int_mask_cn30xx cn31xx;
1067 struct cvmx_pko_reg_int_mask_cn30xx cn38xx; 2501 struct cvmx_pko_reg_int_mask_cn30xx cn38xx;
1068 struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2; 2502 struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2;
1069 struct cvmx_pko_reg_int_mask_s cn50xx; 2503 struct cvmx_pko_reg_int_mask_cn50xx {
1070 struct cvmx_pko_reg_int_mask_s cn52xx; 2504#ifdef __BIG_ENDIAN_BITFIELD
1071 struct cvmx_pko_reg_int_mask_s cn52xxp1; 2505 uint64_t reserved_3_63:61;
1072 struct cvmx_pko_reg_int_mask_s cn56xx; 2506 uint64_t currzero:1;
1073 struct cvmx_pko_reg_int_mask_s cn56xxp1; 2507 uint64_t doorbell:1;
1074 struct cvmx_pko_reg_int_mask_s cn58xx; 2508 uint64_t parity:1;
1075 struct cvmx_pko_reg_int_mask_s cn58xxp1; 2509#else
2510 uint64_t parity:1;
2511 uint64_t doorbell:1;
2512 uint64_t currzero:1;
2513 uint64_t reserved_3_63:61;
2514#endif
2515 } cn50xx;
2516 struct cvmx_pko_reg_int_mask_cn50xx cn52xx;
2517 struct cvmx_pko_reg_int_mask_cn50xx cn52xxp1;
2518 struct cvmx_pko_reg_int_mask_cn50xx cn56xx;
2519 struct cvmx_pko_reg_int_mask_cn50xx cn56xxp1;
2520 struct cvmx_pko_reg_int_mask_cn50xx cn58xx;
2521 struct cvmx_pko_reg_int_mask_cn50xx cn58xxp1;
2522 struct cvmx_pko_reg_int_mask_cn50xx cn61xx;
2523 struct cvmx_pko_reg_int_mask_cn50xx cn63xx;
2524 struct cvmx_pko_reg_int_mask_cn50xx cn63xxp1;
2525 struct cvmx_pko_reg_int_mask_cn50xx cn66xx;
2526 struct cvmx_pko_reg_int_mask_s cn68xx;
2527 struct cvmx_pko_reg_int_mask_s cn68xxp1;
2528 struct cvmx_pko_reg_int_mask_cn50xx cnf71xx;
2529};
2530
2531union cvmx_pko_reg_loopback_bpid {
2532 uint64_t u64;
2533 struct cvmx_pko_reg_loopback_bpid_s {
2534#ifdef __BIG_ENDIAN_BITFIELD
2535 uint64_t reserved_59_63:5;
2536 uint64_t bpid7:6;
2537 uint64_t reserved_52_52:1;
2538 uint64_t bpid6:6;
2539 uint64_t reserved_45_45:1;
2540 uint64_t bpid5:6;
2541 uint64_t reserved_38_38:1;
2542 uint64_t bpid4:6;
2543 uint64_t reserved_31_31:1;
2544 uint64_t bpid3:6;
2545 uint64_t reserved_24_24:1;
2546 uint64_t bpid2:6;
2547 uint64_t reserved_17_17:1;
2548 uint64_t bpid1:6;
2549 uint64_t reserved_10_10:1;
2550 uint64_t bpid0:6;
2551 uint64_t reserved_0_3:4;
2552#else
2553 uint64_t reserved_0_3:4;
2554 uint64_t bpid0:6;
2555 uint64_t reserved_10_10:1;
2556 uint64_t bpid1:6;
2557 uint64_t reserved_17_17:1;
2558 uint64_t bpid2:6;
2559 uint64_t reserved_24_24:1;
2560 uint64_t bpid3:6;
2561 uint64_t reserved_31_31:1;
2562 uint64_t bpid4:6;
2563 uint64_t reserved_38_38:1;
2564 uint64_t bpid5:6;
2565 uint64_t reserved_45_45:1;
2566 uint64_t bpid6:6;
2567 uint64_t reserved_52_52:1;
2568 uint64_t bpid7:6;
2569 uint64_t reserved_59_63:5;
2570#endif
2571 } s;
2572 struct cvmx_pko_reg_loopback_bpid_s cn68xx;
2573 struct cvmx_pko_reg_loopback_bpid_s cn68xxp1;
2574};
2575
2576union cvmx_pko_reg_loopback_pkind {
2577 uint64_t u64;
2578 struct cvmx_pko_reg_loopback_pkind_s {
2579#ifdef __BIG_ENDIAN_BITFIELD
2580 uint64_t reserved_59_63:5;
2581 uint64_t pkind7:6;
2582 uint64_t reserved_52_52:1;
2583 uint64_t pkind6:6;
2584 uint64_t reserved_45_45:1;
2585 uint64_t pkind5:6;
2586 uint64_t reserved_38_38:1;
2587 uint64_t pkind4:6;
2588 uint64_t reserved_31_31:1;
2589 uint64_t pkind3:6;
2590 uint64_t reserved_24_24:1;
2591 uint64_t pkind2:6;
2592 uint64_t reserved_17_17:1;
2593 uint64_t pkind1:6;
2594 uint64_t reserved_10_10:1;
2595 uint64_t pkind0:6;
2596 uint64_t num_ports:4;
2597#else
2598 uint64_t num_ports:4;
2599 uint64_t pkind0:6;
2600 uint64_t reserved_10_10:1;
2601 uint64_t pkind1:6;
2602 uint64_t reserved_17_17:1;
2603 uint64_t pkind2:6;
2604 uint64_t reserved_24_24:1;
2605 uint64_t pkind3:6;
2606 uint64_t reserved_31_31:1;
2607 uint64_t pkind4:6;
2608 uint64_t reserved_38_38:1;
2609 uint64_t pkind5:6;
2610 uint64_t reserved_45_45:1;
2611 uint64_t pkind6:6;
2612 uint64_t reserved_52_52:1;
2613 uint64_t pkind7:6;
2614 uint64_t reserved_59_63:5;
2615#endif
2616 } s;
2617 struct cvmx_pko_reg_loopback_pkind_s cn68xx;
2618 struct cvmx_pko_reg_loopback_pkind_s cn68xxp1;
2619};
2620
2621union cvmx_pko_reg_min_pkt {
2622 uint64_t u64;
2623 struct cvmx_pko_reg_min_pkt_s {
2624#ifdef __BIG_ENDIAN_BITFIELD
2625 uint64_t size7:8;
2626 uint64_t size6:8;
2627 uint64_t size5:8;
2628 uint64_t size4:8;
2629 uint64_t size3:8;
2630 uint64_t size2:8;
2631 uint64_t size1:8;
2632 uint64_t size0:8;
2633#else
2634 uint64_t size0:8;
2635 uint64_t size1:8;
2636 uint64_t size2:8;
2637 uint64_t size3:8;
2638 uint64_t size4:8;
2639 uint64_t size5:8;
2640 uint64_t size6:8;
2641 uint64_t size7:8;
2642#endif
2643 } s;
2644 struct cvmx_pko_reg_min_pkt_s cn68xx;
2645 struct cvmx_pko_reg_min_pkt_s cn68xxp1;
2646};
2647
2648union cvmx_pko_reg_preempt {
2649 uint64_t u64;
2650 struct cvmx_pko_reg_preempt_s {
2651#ifdef __BIG_ENDIAN_BITFIELD
2652 uint64_t reserved_16_63:48;
2653 uint64_t min_size:16;
2654#else
2655 uint64_t min_size:16;
2656 uint64_t reserved_16_63:48;
2657#endif
2658 } s;
2659 struct cvmx_pko_reg_preempt_s cn52xx;
2660 struct cvmx_pko_reg_preempt_s cn52xxp1;
2661 struct cvmx_pko_reg_preempt_s cn56xx;
2662 struct cvmx_pko_reg_preempt_s cn56xxp1;
2663 struct cvmx_pko_reg_preempt_s cn61xx;
2664 struct cvmx_pko_reg_preempt_s cn63xx;
2665 struct cvmx_pko_reg_preempt_s cn63xxp1;
2666 struct cvmx_pko_reg_preempt_s cn66xx;
2667 struct cvmx_pko_reg_preempt_s cn68xx;
2668 struct cvmx_pko_reg_preempt_s cn68xxp1;
2669 struct cvmx_pko_reg_preempt_s cnf71xx;
1076}; 2670};
1077 2671
1078union cvmx_pko_reg_queue_mode { 2672union cvmx_pko_reg_queue_mode {
1079 uint64_t u64; 2673 uint64_t u64;
1080 struct cvmx_pko_reg_queue_mode_s { 2674 struct cvmx_pko_reg_queue_mode_s {
2675#ifdef __BIG_ENDIAN_BITFIELD
1081 uint64_t reserved_2_63:62; 2676 uint64_t reserved_2_63:62;
1082 uint64_t mode:2; 2677 uint64_t mode:2;
2678#else
2679 uint64_t mode:2;
2680 uint64_t reserved_2_63:62;
2681#endif
1083 } s; 2682 } s;
1084 struct cvmx_pko_reg_queue_mode_s cn30xx; 2683 struct cvmx_pko_reg_queue_mode_s cn30xx;
1085 struct cvmx_pko_reg_queue_mode_s cn31xx; 2684 struct cvmx_pko_reg_queue_mode_s cn31xx;
@@ -1092,14 +2691,53 @@ union cvmx_pko_reg_queue_mode {
1092 struct cvmx_pko_reg_queue_mode_s cn56xxp1; 2691 struct cvmx_pko_reg_queue_mode_s cn56xxp1;
1093 struct cvmx_pko_reg_queue_mode_s cn58xx; 2692 struct cvmx_pko_reg_queue_mode_s cn58xx;
1094 struct cvmx_pko_reg_queue_mode_s cn58xxp1; 2693 struct cvmx_pko_reg_queue_mode_s cn58xxp1;
2694 struct cvmx_pko_reg_queue_mode_s cn61xx;
2695 struct cvmx_pko_reg_queue_mode_s cn63xx;
2696 struct cvmx_pko_reg_queue_mode_s cn63xxp1;
2697 struct cvmx_pko_reg_queue_mode_s cn66xx;
2698 struct cvmx_pko_reg_queue_mode_s cn68xx;
2699 struct cvmx_pko_reg_queue_mode_s cn68xxp1;
2700 struct cvmx_pko_reg_queue_mode_s cnf71xx;
2701};
2702
2703union cvmx_pko_reg_queue_preempt {
2704 uint64_t u64;
2705 struct cvmx_pko_reg_queue_preempt_s {
2706#ifdef __BIG_ENDIAN_BITFIELD
2707 uint64_t reserved_2_63:62;
2708 uint64_t preemptee:1;
2709 uint64_t preempter:1;
2710#else
2711 uint64_t preempter:1;
2712 uint64_t preemptee:1;
2713 uint64_t reserved_2_63:62;
2714#endif
2715 } s;
2716 struct cvmx_pko_reg_queue_preempt_s cn52xx;
2717 struct cvmx_pko_reg_queue_preempt_s cn52xxp1;
2718 struct cvmx_pko_reg_queue_preempt_s cn56xx;
2719 struct cvmx_pko_reg_queue_preempt_s cn56xxp1;
2720 struct cvmx_pko_reg_queue_preempt_s cn61xx;
2721 struct cvmx_pko_reg_queue_preempt_s cn63xx;
2722 struct cvmx_pko_reg_queue_preempt_s cn63xxp1;
2723 struct cvmx_pko_reg_queue_preempt_s cn66xx;
2724 struct cvmx_pko_reg_queue_preempt_s cn68xx;
2725 struct cvmx_pko_reg_queue_preempt_s cn68xxp1;
2726 struct cvmx_pko_reg_queue_preempt_s cnf71xx;
1095}; 2727};
1096 2728
1097union cvmx_pko_reg_queue_ptrs1 { 2729union cvmx_pko_reg_queue_ptrs1 {
1098 uint64_t u64; 2730 uint64_t u64;
1099 struct cvmx_pko_reg_queue_ptrs1_s { 2731 struct cvmx_pko_reg_queue_ptrs1_s {
2732#ifdef __BIG_ENDIAN_BITFIELD
1100 uint64_t reserved_2_63:62; 2733 uint64_t reserved_2_63:62;
1101 uint64_t idx3:1; 2734 uint64_t idx3:1;
1102 uint64_t qid7:1; 2735 uint64_t qid7:1;
2736#else
2737 uint64_t qid7:1;
2738 uint64_t idx3:1;
2739 uint64_t reserved_2_63:62;
2740#endif
1103 } s; 2741 } s;
1104 struct cvmx_pko_reg_queue_ptrs1_s cn50xx; 2742 struct cvmx_pko_reg_queue_ptrs1_s cn50xx;
1105 struct cvmx_pko_reg_queue_ptrs1_s cn52xx; 2743 struct cvmx_pko_reg_queue_ptrs1_s cn52xx;
@@ -1108,14 +2746,25 @@ union cvmx_pko_reg_queue_ptrs1 {
1108 struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1; 2746 struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1;
1109 struct cvmx_pko_reg_queue_ptrs1_s cn58xx; 2747 struct cvmx_pko_reg_queue_ptrs1_s cn58xx;
1110 struct cvmx_pko_reg_queue_ptrs1_s cn58xxp1; 2748 struct cvmx_pko_reg_queue_ptrs1_s cn58xxp1;
2749 struct cvmx_pko_reg_queue_ptrs1_s cn61xx;
2750 struct cvmx_pko_reg_queue_ptrs1_s cn63xx;
2751 struct cvmx_pko_reg_queue_ptrs1_s cn63xxp1;
2752 struct cvmx_pko_reg_queue_ptrs1_s cn66xx;
2753 struct cvmx_pko_reg_queue_ptrs1_s cnf71xx;
1111}; 2754};
1112 2755
1113union cvmx_pko_reg_read_idx { 2756union cvmx_pko_reg_read_idx {
1114 uint64_t u64; 2757 uint64_t u64;
1115 struct cvmx_pko_reg_read_idx_s { 2758 struct cvmx_pko_reg_read_idx_s {
2759#ifdef __BIG_ENDIAN_BITFIELD
1116 uint64_t reserved_16_63:48; 2760 uint64_t reserved_16_63:48;
1117 uint64_t inc:8; 2761 uint64_t inc:8;
1118 uint64_t index:8; 2762 uint64_t index:8;
2763#else
2764 uint64_t index:8;
2765 uint64_t inc:8;
2766 uint64_t reserved_16_63:48;
2767#endif
1119 } s; 2768 } s;
1120 struct cvmx_pko_reg_read_idx_s cn30xx; 2769 struct cvmx_pko_reg_read_idx_s cn30xx;
1121 struct cvmx_pko_reg_read_idx_s cn31xx; 2770 struct cvmx_pko_reg_read_idx_s cn31xx;
@@ -1128,6 +2777,48 @@ union cvmx_pko_reg_read_idx {
1128 struct cvmx_pko_reg_read_idx_s cn56xxp1; 2777 struct cvmx_pko_reg_read_idx_s cn56xxp1;
1129 struct cvmx_pko_reg_read_idx_s cn58xx; 2778 struct cvmx_pko_reg_read_idx_s cn58xx;
1130 struct cvmx_pko_reg_read_idx_s cn58xxp1; 2779 struct cvmx_pko_reg_read_idx_s cn58xxp1;
2780 struct cvmx_pko_reg_read_idx_s cn61xx;
2781 struct cvmx_pko_reg_read_idx_s cn63xx;
2782 struct cvmx_pko_reg_read_idx_s cn63xxp1;
2783 struct cvmx_pko_reg_read_idx_s cn66xx;
2784 struct cvmx_pko_reg_read_idx_s cn68xx;
2785 struct cvmx_pko_reg_read_idx_s cn68xxp1;
2786 struct cvmx_pko_reg_read_idx_s cnf71xx;
2787};
2788
2789union cvmx_pko_reg_throttle {
2790 uint64_t u64;
2791 struct cvmx_pko_reg_throttle_s {
2792#ifdef __BIG_ENDIAN_BITFIELD
2793 uint64_t reserved_32_63:32;
2794 uint64_t int_mask:32;
2795#else
2796 uint64_t int_mask:32;
2797 uint64_t reserved_32_63:32;
2798#endif
2799 } s;
2800 struct cvmx_pko_reg_throttle_s cn68xx;
2801 struct cvmx_pko_reg_throttle_s cn68xxp1;
2802};
2803
2804union cvmx_pko_reg_timestamp {
2805 uint64_t u64;
2806 struct cvmx_pko_reg_timestamp_s {
2807#ifdef __BIG_ENDIAN_BITFIELD
2808 uint64_t reserved_4_63:60;
2809 uint64_t wqe_word:4;
2810#else
2811 uint64_t wqe_word:4;
2812 uint64_t reserved_4_63:60;
2813#endif
2814 } s;
2815 struct cvmx_pko_reg_timestamp_s cn61xx;
2816 struct cvmx_pko_reg_timestamp_s cn63xx;
2817 struct cvmx_pko_reg_timestamp_s cn63xxp1;
2818 struct cvmx_pko_reg_timestamp_s cn66xx;
2819 struct cvmx_pko_reg_timestamp_s cn68xx;
2820 struct cvmx_pko_reg_timestamp_s cn68xxp1;
2821 struct cvmx_pko_reg_timestamp_s cnf71xx;
1131}; 2822};
1132 2823
1133#endif 2824#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pow-defs.h b/arch/mips/include/asm/octeon/cvmx-pow-defs.h
index 39fd75b03f77..9020ef443736 100644
--- a/arch/mips/include/asm/octeon/cvmx-pow-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-pow-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -55,11 +55,18 @@
55union cvmx_pow_bist_stat { 55union cvmx_pow_bist_stat {
56 uint64_t u64; 56 uint64_t u64;
57 struct cvmx_pow_bist_stat_s { 57 struct cvmx_pow_bist_stat_s {
58#ifdef __BIG_ENDIAN_BITFIELD
58 uint64_t reserved_32_63:32; 59 uint64_t reserved_32_63:32;
59 uint64_t pp:16; 60 uint64_t pp:16;
60 uint64_t reserved_0_15:16; 61 uint64_t reserved_0_15:16;
62#else
63 uint64_t reserved_0_15:16;
64 uint64_t pp:16;
65 uint64_t reserved_32_63:32;
66#endif
61 } s; 67 } s;
62 struct cvmx_pow_bist_stat_cn30xx { 68 struct cvmx_pow_bist_stat_cn30xx {
69#ifdef __BIG_ENDIAN_BITFIELD
63 uint64_t reserved_17_63:47; 70 uint64_t reserved_17_63:47;
64 uint64_t pp:1; 71 uint64_t pp:1;
65 uint64_t reserved_9_15:7; 72 uint64_t reserved_9_15:7;
@@ -72,8 +79,23 @@ union cvmx_pow_bist_stat {
72 uint64_t nbr0:1; 79 uint64_t nbr0:1;
73 uint64_t pend:1; 80 uint64_t pend:1;
74 uint64_t adr:1; 81 uint64_t adr:1;
82#else
83 uint64_t adr:1;
84 uint64_t pend:1;
85 uint64_t nbr0:1;
86 uint64_t nbr1:1;
87 uint64_t fidx:1;
88 uint64_t index:1;
89 uint64_t nbt0:1;
90 uint64_t nbt1:1;
91 uint64_t cam:1;
92 uint64_t reserved_9_15:7;
93 uint64_t pp:1;
94 uint64_t reserved_17_63:47;
95#endif
75 } cn30xx; 96 } cn30xx;
76 struct cvmx_pow_bist_stat_cn31xx { 97 struct cvmx_pow_bist_stat_cn31xx {
98#ifdef __BIG_ENDIAN_BITFIELD
77 uint64_t reserved_18_63:46; 99 uint64_t reserved_18_63:46;
78 uint64_t pp:2; 100 uint64_t pp:2;
79 uint64_t reserved_9_15:7; 101 uint64_t reserved_9_15:7;
@@ -86,8 +108,23 @@ union cvmx_pow_bist_stat {
86 uint64_t nbr0:1; 108 uint64_t nbr0:1;
87 uint64_t pend:1; 109 uint64_t pend:1;
88 uint64_t adr:1; 110 uint64_t adr:1;
111#else
112 uint64_t adr:1;
113 uint64_t pend:1;
114 uint64_t nbr0:1;
115 uint64_t nbr1:1;
116 uint64_t fidx:1;
117 uint64_t index:1;
118 uint64_t nbt0:1;
119 uint64_t nbt1:1;
120 uint64_t cam:1;
121 uint64_t reserved_9_15:7;
122 uint64_t pp:2;
123 uint64_t reserved_18_63:46;
124#endif
89 } cn31xx; 125 } cn31xx;
90 struct cvmx_pow_bist_stat_cn38xx { 126 struct cvmx_pow_bist_stat_cn38xx {
127#ifdef __BIG_ENDIAN_BITFIELD
91 uint64_t reserved_32_63:32; 128 uint64_t reserved_32_63:32;
92 uint64_t pp:16; 129 uint64_t pp:16;
93 uint64_t reserved_10_15:6; 130 uint64_t reserved_10_15:6;
@@ -101,10 +138,26 @@ union cvmx_pow_bist_stat {
101 uint64_t pend0:1; 138 uint64_t pend0:1;
102 uint64_t adr1:1; 139 uint64_t adr1:1;
103 uint64_t adr0:1; 140 uint64_t adr0:1;
141#else
142 uint64_t adr0:1;
143 uint64_t adr1:1;
144 uint64_t pend0:1;
145 uint64_t pend1:1;
146 uint64_t nbr0:1;
147 uint64_t nbr1:1;
148 uint64_t fidx:1;
149 uint64_t index:1;
150 uint64_t nbt:1;
151 uint64_t cam:1;
152 uint64_t reserved_10_15:6;
153 uint64_t pp:16;
154 uint64_t reserved_32_63:32;
155#endif
104 } cn38xx; 156 } cn38xx;
105 struct cvmx_pow_bist_stat_cn38xx cn38xxp2; 157 struct cvmx_pow_bist_stat_cn38xx cn38xxp2;
106 struct cvmx_pow_bist_stat_cn31xx cn50xx; 158 struct cvmx_pow_bist_stat_cn31xx cn50xx;
107 struct cvmx_pow_bist_stat_cn52xx { 159 struct cvmx_pow_bist_stat_cn52xx {
160#ifdef __BIG_ENDIAN_BITFIELD
108 uint64_t reserved_20_63:44; 161 uint64_t reserved_20_63:44;
109 uint64_t pp:4; 162 uint64_t pp:4;
110 uint64_t reserved_9_15:7; 163 uint64_t reserved_9_15:7;
@@ -117,9 +170,24 @@ union cvmx_pow_bist_stat {
117 uint64_t nbr0:1; 170 uint64_t nbr0:1;
118 uint64_t pend:1; 171 uint64_t pend:1;
119 uint64_t adr:1; 172 uint64_t adr:1;
173#else
174 uint64_t adr:1;
175 uint64_t pend:1;
176 uint64_t nbr0:1;
177 uint64_t nbr1:1;
178 uint64_t fidx:1;
179 uint64_t index:1;
180 uint64_t nbt0:1;
181 uint64_t nbt1:1;
182 uint64_t cam:1;
183 uint64_t reserved_9_15:7;
184 uint64_t pp:4;
185 uint64_t reserved_20_63:44;
186#endif
120 } cn52xx; 187 } cn52xx;
121 struct cvmx_pow_bist_stat_cn52xx cn52xxp1; 188 struct cvmx_pow_bist_stat_cn52xx cn52xxp1;
122 struct cvmx_pow_bist_stat_cn56xx { 189 struct cvmx_pow_bist_stat_cn56xx {
190#ifdef __BIG_ENDIAN_BITFIELD
123 uint64_t reserved_28_63:36; 191 uint64_t reserved_28_63:36;
124 uint64_t pp:12; 192 uint64_t pp:12;
125 uint64_t reserved_10_15:6; 193 uint64_t reserved_10_15:6;
@@ -133,11 +201,52 @@ union cvmx_pow_bist_stat {
133 uint64_t pend0:1; 201 uint64_t pend0:1;
134 uint64_t adr1:1; 202 uint64_t adr1:1;
135 uint64_t adr0:1; 203 uint64_t adr0:1;
204#else
205 uint64_t adr0:1;
206 uint64_t adr1:1;
207 uint64_t pend0:1;
208 uint64_t pend1:1;
209 uint64_t nbr0:1;
210 uint64_t nbr1:1;
211 uint64_t fidx:1;
212 uint64_t index:1;
213 uint64_t nbt:1;
214 uint64_t cam:1;
215 uint64_t reserved_10_15:6;
216 uint64_t pp:12;
217 uint64_t reserved_28_63:36;
218#endif
136 } cn56xx; 219 } cn56xx;
137 struct cvmx_pow_bist_stat_cn56xx cn56xxp1; 220 struct cvmx_pow_bist_stat_cn56xx cn56xxp1;
138 struct cvmx_pow_bist_stat_cn38xx cn58xx; 221 struct cvmx_pow_bist_stat_cn38xx cn58xx;
139 struct cvmx_pow_bist_stat_cn38xx cn58xxp1; 222 struct cvmx_pow_bist_stat_cn38xx cn58xxp1;
223 struct cvmx_pow_bist_stat_cn61xx {
224#ifdef __BIG_ENDIAN_BITFIELD
225 uint64_t reserved_20_63:44;
226 uint64_t pp:4;
227 uint64_t reserved_12_15:4;
228 uint64_t cam:1;
229 uint64_t nbr:3;
230 uint64_t nbt:4;
231 uint64_t index:1;
232 uint64_t fidx:1;
233 uint64_t pend:1;
234 uint64_t adr:1;
235#else
236 uint64_t adr:1;
237 uint64_t pend:1;
238 uint64_t fidx:1;
239 uint64_t index:1;
240 uint64_t nbt:4;
241 uint64_t nbr:3;
242 uint64_t cam:1;
243 uint64_t reserved_12_15:4;
244 uint64_t pp:4;
245 uint64_t reserved_20_63:44;
246#endif
247 } cn61xx;
140 struct cvmx_pow_bist_stat_cn63xx { 248 struct cvmx_pow_bist_stat_cn63xx {
249#ifdef __BIG_ENDIAN_BITFIELD
141 uint64_t reserved_22_63:42; 250 uint64_t reserved_22_63:42;
142 uint64_t pp:6; 251 uint64_t pp:6;
143 uint64_t reserved_12_15:4; 252 uint64_t reserved_12_15:4;
@@ -148,15 +257,58 @@ union cvmx_pow_bist_stat {
148 uint64_t fidx:1; 257 uint64_t fidx:1;
149 uint64_t pend:1; 258 uint64_t pend:1;
150 uint64_t adr:1; 259 uint64_t adr:1;
260#else
261 uint64_t adr:1;
262 uint64_t pend:1;
263 uint64_t fidx:1;
264 uint64_t index:1;
265 uint64_t nbt:4;
266 uint64_t nbr:3;
267 uint64_t cam:1;
268 uint64_t reserved_12_15:4;
269 uint64_t pp:6;
270 uint64_t reserved_22_63:42;
271#endif
151 } cn63xx; 272 } cn63xx;
152 struct cvmx_pow_bist_stat_cn63xx cn63xxp1; 273 struct cvmx_pow_bist_stat_cn63xx cn63xxp1;
274 struct cvmx_pow_bist_stat_cn66xx {
275#ifdef __BIG_ENDIAN_BITFIELD
276 uint64_t reserved_26_63:38;
277 uint64_t pp:10;
278 uint64_t reserved_12_15:4;
279 uint64_t cam:1;
280 uint64_t nbr:3;
281 uint64_t nbt:4;
282 uint64_t index:1;
283 uint64_t fidx:1;
284 uint64_t pend:1;
285 uint64_t adr:1;
286#else
287 uint64_t adr:1;
288 uint64_t pend:1;
289 uint64_t fidx:1;
290 uint64_t index:1;
291 uint64_t nbt:4;
292 uint64_t nbr:3;
293 uint64_t cam:1;
294 uint64_t reserved_12_15:4;
295 uint64_t pp:10;
296 uint64_t reserved_26_63:38;
297#endif
298 } cn66xx;
299 struct cvmx_pow_bist_stat_cn61xx cnf71xx;
153}; 300};
154 301
155union cvmx_pow_ds_pc { 302union cvmx_pow_ds_pc {
156 uint64_t u64; 303 uint64_t u64;
157 struct cvmx_pow_ds_pc_s { 304 struct cvmx_pow_ds_pc_s {
305#ifdef __BIG_ENDIAN_BITFIELD
158 uint64_t reserved_32_63:32; 306 uint64_t reserved_32_63:32;
159 uint64_t ds_pc:32; 307 uint64_t ds_pc:32;
308#else
309 uint64_t ds_pc:32;
310 uint64_t reserved_32_63:32;
311#endif
160 } s; 312 } s;
161 struct cvmx_pow_ds_pc_s cn30xx; 313 struct cvmx_pow_ds_pc_s cn30xx;
162 struct cvmx_pow_ds_pc_s cn31xx; 314 struct cvmx_pow_ds_pc_s cn31xx;
@@ -169,13 +321,17 @@ union cvmx_pow_ds_pc {
169 struct cvmx_pow_ds_pc_s cn56xxp1; 321 struct cvmx_pow_ds_pc_s cn56xxp1;
170 struct cvmx_pow_ds_pc_s cn58xx; 322 struct cvmx_pow_ds_pc_s cn58xx;
171 struct cvmx_pow_ds_pc_s cn58xxp1; 323 struct cvmx_pow_ds_pc_s cn58xxp1;
324 struct cvmx_pow_ds_pc_s cn61xx;
172 struct cvmx_pow_ds_pc_s cn63xx; 325 struct cvmx_pow_ds_pc_s cn63xx;
173 struct cvmx_pow_ds_pc_s cn63xxp1; 326 struct cvmx_pow_ds_pc_s cn63xxp1;
327 struct cvmx_pow_ds_pc_s cn66xx;
328 struct cvmx_pow_ds_pc_s cnf71xx;
174}; 329};
175 330
176union cvmx_pow_ecc_err { 331union cvmx_pow_ecc_err {
177 uint64_t u64; 332 uint64_t u64;
178 struct cvmx_pow_ecc_err_s { 333 struct cvmx_pow_ecc_err_s {
334#ifdef __BIG_ENDIAN_BITFIELD
179 uint64_t reserved_45_63:19; 335 uint64_t reserved_45_63:19;
180 uint64_t iop_ie:13; 336 uint64_t iop_ie:13;
181 uint64_t reserved_29_31:3; 337 uint64_t reserved_29_31:3;
@@ -189,9 +345,25 @@ union cvmx_pow_ecc_err {
189 uint64_t sbe_ie:1; 345 uint64_t sbe_ie:1;
190 uint64_t dbe:1; 346 uint64_t dbe:1;
191 uint64_t sbe:1; 347 uint64_t sbe:1;
348#else
349 uint64_t sbe:1;
350 uint64_t dbe:1;
351 uint64_t sbe_ie:1;
352 uint64_t dbe_ie:1;
353 uint64_t syn:5;
354 uint64_t reserved_9_11:3;
355 uint64_t rpe:1;
356 uint64_t rpe_ie:1;
357 uint64_t reserved_14_15:2;
358 uint64_t iop:13;
359 uint64_t reserved_29_31:3;
360 uint64_t iop_ie:13;
361 uint64_t reserved_45_63:19;
362#endif
192 } s; 363 } s;
193 struct cvmx_pow_ecc_err_s cn30xx; 364 struct cvmx_pow_ecc_err_s cn30xx;
194 struct cvmx_pow_ecc_err_cn31xx { 365 struct cvmx_pow_ecc_err_cn31xx {
366#ifdef __BIG_ENDIAN_BITFIELD
195 uint64_t reserved_14_63:50; 367 uint64_t reserved_14_63:50;
196 uint64_t rpe_ie:1; 368 uint64_t rpe_ie:1;
197 uint64_t rpe:1; 369 uint64_t rpe:1;
@@ -201,6 +373,17 @@ union cvmx_pow_ecc_err {
201 uint64_t sbe_ie:1; 373 uint64_t sbe_ie:1;
202 uint64_t dbe:1; 374 uint64_t dbe:1;
203 uint64_t sbe:1; 375 uint64_t sbe:1;
376#else
377 uint64_t sbe:1;
378 uint64_t dbe:1;
379 uint64_t sbe_ie:1;
380 uint64_t dbe_ie:1;
381 uint64_t syn:5;
382 uint64_t reserved_9_11:3;
383 uint64_t rpe:1;
384 uint64_t rpe_ie:1;
385 uint64_t reserved_14_63:50;
386#endif
204 } cn31xx; 387 } cn31xx;
205 struct cvmx_pow_ecc_err_s cn38xx; 388 struct cvmx_pow_ecc_err_s cn38xx;
206 struct cvmx_pow_ecc_err_cn31xx cn38xxp2; 389 struct cvmx_pow_ecc_err_cn31xx cn38xxp2;
@@ -211,16 +394,25 @@ union cvmx_pow_ecc_err {
211 struct cvmx_pow_ecc_err_s cn56xxp1; 394 struct cvmx_pow_ecc_err_s cn56xxp1;
212 struct cvmx_pow_ecc_err_s cn58xx; 395 struct cvmx_pow_ecc_err_s cn58xx;
213 struct cvmx_pow_ecc_err_s cn58xxp1; 396 struct cvmx_pow_ecc_err_s cn58xxp1;
397 struct cvmx_pow_ecc_err_s cn61xx;
214 struct cvmx_pow_ecc_err_s cn63xx; 398 struct cvmx_pow_ecc_err_s cn63xx;
215 struct cvmx_pow_ecc_err_s cn63xxp1; 399 struct cvmx_pow_ecc_err_s cn63xxp1;
400 struct cvmx_pow_ecc_err_s cn66xx;
401 struct cvmx_pow_ecc_err_s cnf71xx;
216}; 402};
217 403
218union cvmx_pow_int_ctl { 404union cvmx_pow_int_ctl {
219 uint64_t u64; 405 uint64_t u64;
220 struct cvmx_pow_int_ctl_s { 406 struct cvmx_pow_int_ctl_s {
407#ifdef __BIG_ENDIAN_BITFIELD
221 uint64_t reserved_6_63:58; 408 uint64_t reserved_6_63:58;
222 uint64_t pfr_dis:1; 409 uint64_t pfr_dis:1;
223 uint64_t nbr_thr:5; 410 uint64_t nbr_thr:5;
411#else
412 uint64_t nbr_thr:5;
413 uint64_t pfr_dis:1;
414 uint64_t reserved_6_63:58;
415#endif
224 } s; 416 } s;
225 struct cvmx_pow_int_ctl_s cn30xx; 417 struct cvmx_pow_int_ctl_s cn30xx;
226 struct cvmx_pow_int_ctl_s cn31xx; 418 struct cvmx_pow_int_ctl_s cn31xx;
@@ -233,15 +425,23 @@ union cvmx_pow_int_ctl {
233 struct cvmx_pow_int_ctl_s cn56xxp1; 425 struct cvmx_pow_int_ctl_s cn56xxp1;
234 struct cvmx_pow_int_ctl_s cn58xx; 426 struct cvmx_pow_int_ctl_s cn58xx;
235 struct cvmx_pow_int_ctl_s cn58xxp1; 427 struct cvmx_pow_int_ctl_s cn58xxp1;
428 struct cvmx_pow_int_ctl_s cn61xx;
236 struct cvmx_pow_int_ctl_s cn63xx; 429 struct cvmx_pow_int_ctl_s cn63xx;
237 struct cvmx_pow_int_ctl_s cn63xxp1; 430 struct cvmx_pow_int_ctl_s cn63xxp1;
431 struct cvmx_pow_int_ctl_s cn66xx;
432 struct cvmx_pow_int_ctl_s cnf71xx;
238}; 433};
239 434
240union cvmx_pow_iq_cntx { 435union cvmx_pow_iq_cntx {
241 uint64_t u64; 436 uint64_t u64;
242 struct cvmx_pow_iq_cntx_s { 437 struct cvmx_pow_iq_cntx_s {
438#ifdef __BIG_ENDIAN_BITFIELD
243 uint64_t reserved_32_63:32; 439 uint64_t reserved_32_63:32;
244 uint64_t iq_cnt:32; 440 uint64_t iq_cnt:32;
441#else
442 uint64_t iq_cnt:32;
443 uint64_t reserved_32_63:32;
444#endif
245 } s; 445 } s;
246 struct cvmx_pow_iq_cntx_s cn30xx; 446 struct cvmx_pow_iq_cntx_s cn30xx;
247 struct cvmx_pow_iq_cntx_s cn31xx; 447 struct cvmx_pow_iq_cntx_s cn31xx;
@@ -254,15 +454,23 @@ union cvmx_pow_iq_cntx {
254 struct cvmx_pow_iq_cntx_s cn56xxp1; 454 struct cvmx_pow_iq_cntx_s cn56xxp1;
255 struct cvmx_pow_iq_cntx_s cn58xx; 455 struct cvmx_pow_iq_cntx_s cn58xx;
256 struct cvmx_pow_iq_cntx_s cn58xxp1; 456 struct cvmx_pow_iq_cntx_s cn58xxp1;
457 struct cvmx_pow_iq_cntx_s cn61xx;
257 struct cvmx_pow_iq_cntx_s cn63xx; 458 struct cvmx_pow_iq_cntx_s cn63xx;
258 struct cvmx_pow_iq_cntx_s cn63xxp1; 459 struct cvmx_pow_iq_cntx_s cn63xxp1;
460 struct cvmx_pow_iq_cntx_s cn66xx;
461 struct cvmx_pow_iq_cntx_s cnf71xx;
259}; 462};
260 463
261union cvmx_pow_iq_com_cnt { 464union cvmx_pow_iq_com_cnt {
262 uint64_t u64; 465 uint64_t u64;
263 struct cvmx_pow_iq_com_cnt_s { 466 struct cvmx_pow_iq_com_cnt_s {
467#ifdef __BIG_ENDIAN_BITFIELD
264 uint64_t reserved_32_63:32; 468 uint64_t reserved_32_63:32;
265 uint64_t iq_cnt:32; 469 uint64_t iq_cnt:32;
470#else
471 uint64_t iq_cnt:32;
472 uint64_t reserved_32_63:32;
473#endif
266 } s; 474 } s;
267 struct cvmx_pow_iq_com_cnt_s cn30xx; 475 struct cvmx_pow_iq_com_cnt_s cn30xx;
268 struct cvmx_pow_iq_com_cnt_s cn31xx; 476 struct cvmx_pow_iq_com_cnt_s cn31xx;
@@ -275,90 +483,150 @@ union cvmx_pow_iq_com_cnt {
275 struct cvmx_pow_iq_com_cnt_s cn56xxp1; 483 struct cvmx_pow_iq_com_cnt_s cn56xxp1;
276 struct cvmx_pow_iq_com_cnt_s cn58xx; 484 struct cvmx_pow_iq_com_cnt_s cn58xx;
277 struct cvmx_pow_iq_com_cnt_s cn58xxp1; 485 struct cvmx_pow_iq_com_cnt_s cn58xxp1;
486 struct cvmx_pow_iq_com_cnt_s cn61xx;
278 struct cvmx_pow_iq_com_cnt_s cn63xx; 487 struct cvmx_pow_iq_com_cnt_s cn63xx;
279 struct cvmx_pow_iq_com_cnt_s cn63xxp1; 488 struct cvmx_pow_iq_com_cnt_s cn63xxp1;
489 struct cvmx_pow_iq_com_cnt_s cn66xx;
490 struct cvmx_pow_iq_com_cnt_s cnf71xx;
280}; 491};
281 492
282union cvmx_pow_iq_int { 493union cvmx_pow_iq_int {
283 uint64_t u64; 494 uint64_t u64;
284 struct cvmx_pow_iq_int_s { 495 struct cvmx_pow_iq_int_s {
496#ifdef __BIG_ENDIAN_BITFIELD
285 uint64_t reserved_8_63:56; 497 uint64_t reserved_8_63:56;
286 uint64_t iq_int:8; 498 uint64_t iq_int:8;
499#else
500 uint64_t iq_int:8;
501 uint64_t reserved_8_63:56;
502#endif
287 } s; 503 } s;
288 struct cvmx_pow_iq_int_s cn52xx; 504 struct cvmx_pow_iq_int_s cn52xx;
289 struct cvmx_pow_iq_int_s cn52xxp1; 505 struct cvmx_pow_iq_int_s cn52xxp1;
290 struct cvmx_pow_iq_int_s cn56xx; 506 struct cvmx_pow_iq_int_s cn56xx;
291 struct cvmx_pow_iq_int_s cn56xxp1; 507 struct cvmx_pow_iq_int_s cn56xxp1;
508 struct cvmx_pow_iq_int_s cn61xx;
292 struct cvmx_pow_iq_int_s cn63xx; 509 struct cvmx_pow_iq_int_s cn63xx;
293 struct cvmx_pow_iq_int_s cn63xxp1; 510 struct cvmx_pow_iq_int_s cn63xxp1;
511 struct cvmx_pow_iq_int_s cn66xx;
512 struct cvmx_pow_iq_int_s cnf71xx;
294}; 513};
295 514
296union cvmx_pow_iq_int_en { 515union cvmx_pow_iq_int_en {
297 uint64_t u64; 516 uint64_t u64;
298 struct cvmx_pow_iq_int_en_s { 517 struct cvmx_pow_iq_int_en_s {
518#ifdef __BIG_ENDIAN_BITFIELD
299 uint64_t reserved_8_63:56; 519 uint64_t reserved_8_63:56;
300 uint64_t int_en:8; 520 uint64_t int_en:8;
521#else
522 uint64_t int_en:8;
523 uint64_t reserved_8_63:56;
524#endif
301 } s; 525 } s;
302 struct cvmx_pow_iq_int_en_s cn52xx; 526 struct cvmx_pow_iq_int_en_s cn52xx;
303 struct cvmx_pow_iq_int_en_s cn52xxp1; 527 struct cvmx_pow_iq_int_en_s cn52xxp1;
304 struct cvmx_pow_iq_int_en_s cn56xx; 528 struct cvmx_pow_iq_int_en_s cn56xx;
305 struct cvmx_pow_iq_int_en_s cn56xxp1; 529 struct cvmx_pow_iq_int_en_s cn56xxp1;
530 struct cvmx_pow_iq_int_en_s cn61xx;
306 struct cvmx_pow_iq_int_en_s cn63xx; 531 struct cvmx_pow_iq_int_en_s cn63xx;
307 struct cvmx_pow_iq_int_en_s cn63xxp1; 532 struct cvmx_pow_iq_int_en_s cn63xxp1;
533 struct cvmx_pow_iq_int_en_s cn66xx;
534 struct cvmx_pow_iq_int_en_s cnf71xx;
308}; 535};
309 536
310union cvmx_pow_iq_thrx { 537union cvmx_pow_iq_thrx {
311 uint64_t u64; 538 uint64_t u64;
312 struct cvmx_pow_iq_thrx_s { 539 struct cvmx_pow_iq_thrx_s {
540#ifdef __BIG_ENDIAN_BITFIELD
313 uint64_t reserved_32_63:32; 541 uint64_t reserved_32_63:32;
314 uint64_t iq_thr:32; 542 uint64_t iq_thr:32;
543#else
544 uint64_t iq_thr:32;
545 uint64_t reserved_32_63:32;
546#endif
315 } s; 547 } s;
316 struct cvmx_pow_iq_thrx_s cn52xx; 548 struct cvmx_pow_iq_thrx_s cn52xx;
317 struct cvmx_pow_iq_thrx_s cn52xxp1; 549 struct cvmx_pow_iq_thrx_s cn52xxp1;
318 struct cvmx_pow_iq_thrx_s cn56xx; 550 struct cvmx_pow_iq_thrx_s cn56xx;
319 struct cvmx_pow_iq_thrx_s cn56xxp1; 551 struct cvmx_pow_iq_thrx_s cn56xxp1;
552 struct cvmx_pow_iq_thrx_s cn61xx;
320 struct cvmx_pow_iq_thrx_s cn63xx; 553 struct cvmx_pow_iq_thrx_s cn63xx;
321 struct cvmx_pow_iq_thrx_s cn63xxp1; 554 struct cvmx_pow_iq_thrx_s cn63xxp1;
555 struct cvmx_pow_iq_thrx_s cn66xx;
556 struct cvmx_pow_iq_thrx_s cnf71xx;
322}; 557};
323 558
324union cvmx_pow_nos_cnt { 559union cvmx_pow_nos_cnt {
325 uint64_t u64; 560 uint64_t u64;
326 struct cvmx_pow_nos_cnt_s { 561 struct cvmx_pow_nos_cnt_s {
562#ifdef __BIG_ENDIAN_BITFIELD
327 uint64_t reserved_12_63:52; 563 uint64_t reserved_12_63:52;
328 uint64_t nos_cnt:12; 564 uint64_t nos_cnt:12;
565#else
566 uint64_t nos_cnt:12;
567 uint64_t reserved_12_63:52;
568#endif
329 } s; 569 } s;
330 struct cvmx_pow_nos_cnt_cn30xx { 570 struct cvmx_pow_nos_cnt_cn30xx {
571#ifdef __BIG_ENDIAN_BITFIELD
331 uint64_t reserved_7_63:57; 572 uint64_t reserved_7_63:57;
332 uint64_t nos_cnt:7; 573 uint64_t nos_cnt:7;
574#else
575 uint64_t nos_cnt:7;
576 uint64_t reserved_7_63:57;
577#endif
333 } cn30xx; 578 } cn30xx;
334 struct cvmx_pow_nos_cnt_cn31xx { 579 struct cvmx_pow_nos_cnt_cn31xx {
580#ifdef __BIG_ENDIAN_BITFIELD
335 uint64_t reserved_9_63:55; 581 uint64_t reserved_9_63:55;
336 uint64_t nos_cnt:9; 582 uint64_t nos_cnt:9;
583#else
584 uint64_t nos_cnt:9;
585 uint64_t reserved_9_63:55;
586#endif
337 } cn31xx; 587 } cn31xx;
338 struct cvmx_pow_nos_cnt_s cn38xx; 588 struct cvmx_pow_nos_cnt_s cn38xx;
339 struct cvmx_pow_nos_cnt_s cn38xxp2; 589 struct cvmx_pow_nos_cnt_s cn38xxp2;
340 struct cvmx_pow_nos_cnt_cn31xx cn50xx; 590 struct cvmx_pow_nos_cnt_cn31xx cn50xx;
341 struct cvmx_pow_nos_cnt_cn52xx { 591 struct cvmx_pow_nos_cnt_cn52xx {
592#ifdef __BIG_ENDIAN_BITFIELD
342 uint64_t reserved_10_63:54; 593 uint64_t reserved_10_63:54;
343 uint64_t nos_cnt:10; 594 uint64_t nos_cnt:10;
595#else
596 uint64_t nos_cnt:10;
597 uint64_t reserved_10_63:54;
598#endif
344 } cn52xx; 599 } cn52xx;
345 struct cvmx_pow_nos_cnt_cn52xx cn52xxp1; 600 struct cvmx_pow_nos_cnt_cn52xx cn52xxp1;
346 struct cvmx_pow_nos_cnt_s cn56xx; 601 struct cvmx_pow_nos_cnt_s cn56xx;
347 struct cvmx_pow_nos_cnt_s cn56xxp1; 602 struct cvmx_pow_nos_cnt_s cn56xxp1;
348 struct cvmx_pow_nos_cnt_s cn58xx; 603 struct cvmx_pow_nos_cnt_s cn58xx;
349 struct cvmx_pow_nos_cnt_s cn58xxp1; 604 struct cvmx_pow_nos_cnt_s cn58xxp1;
605 struct cvmx_pow_nos_cnt_cn52xx cn61xx;
350 struct cvmx_pow_nos_cnt_cn63xx { 606 struct cvmx_pow_nos_cnt_cn63xx {
607#ifdef __BIG_ENDIAN_BITFIELD
351 uint64_t reserved_11_63:53; 608 uint64_t reserved_11_63:53;
352 uint64_t nos_cnt:11; 609 uint64_t nos_cnt:11;
610#else
611 uint64_t nos_cnt:11;
612 uint64_t reserved_11_63:53;
613#endif
353 } cn63xx; 614 } cn63xx;
354 struct cvmx_pow_nos_cnt_cn63xx cn63xxp1; 615 struct cvmx_pow_nos_cnt_cn63xx cn63xxp1;
616 struct cvmx_pow_nos_cnt_cn63xx cn66xx;
617 struct cvmx_pow_nos_cnt_cn52xx cnf71xx;
355}; 618};
356 619
357union cvmx_pow_nw_tim { 620union cvmx_pow_nw_tim {
358 uint64_t u64; 621 uint64_t u64;
359 struct cvmx_pow_nw_tim_s { 622 struct cvmx_pow_nw_tim_s {
623#ifdef __BIG_ENDIAN_BITFIELD
360 uint64_t reserved_10_63:54; 624 uint64_t reserved_10_63:54;
361 uint64_t nw_tim:10; 625 uint64_t nw_tim:10;
626#else
627 uint64_t nw_tim:10;
628 uint64_t reserved_10_63:54;
629#endif
362 } s; 630 } s;
363 struct cvmx_pow_nw_tim_s cn30xx; 631 struct cvmx_pow_nw_tim_s cn30xx;
364 struct cvmx_pow_nw_tim_s cn31xx; 632 struct cvmx_pow_nw_tim_s cn31xx;
@@ -371,15 +639,23 @@ union cvmx_pow_nw_tim {
371 struct cvmx_pow_nw_tim_s cn56xxp1; 639 struct cvmx_pow_nw_tim_s cn56xxp1;
372 struct cvmx_pow_nw_tim_s cn58xx; 640 struct cvmx_pow_nw_tim_s cn58xx;
373 struct cvmx_pow_nw_tim_s cn58xxp1; 641 struct cvmx_pow_nw_tim_s cn58xxp1;
642 struct cvmx_pow_nw_tim_s cn61xx;
374 struct cvmx_pow_nw_tim_s cn63xx; 643 struct cvmx_pow_nw_tim_s cn63xx;
375 struct cvmx_pow_nw_tim_s cn63xxp1; 644 struct cvmx_pow_nw_tim_s cn63xxp1;
645 struct cvmx_pow_nw_tim_s cn66xx;
646 struct cvmx_pow_nw_tim_s cnf71xx;
376}; 647};
377 648
378union cvmx_pow_pf_rst_msk { 649union cvmx_pow_pf_rst_msk {
379 uint64_t u64; 650 uint64_t u64;
380 struct cvmx_pow_pf_rst_msk_s { 651 struct cvmx_pow_pf_rst_msk_s {
652#ifdef __BIG_ENDIAN_BITFIELD
381 uint64_t reserved_8_63:56; 653 uint64_t reserved_8_63:56;
382 uint64_t rst_msk:8; 654 uint64_t rst_msk:8;
655#else
656 uint64_t rst_msk:8;
657 uint64_t reserved_8_63:56;
658#endif
383 } s; 659 } s;
384 struct cvmx_pow_pf_rst_msk_s cn50xx; 660 struct cvmx_pow_pf_rst_msk_s cn50xx;
385 struct cvmx_pow_pf_rst_msk_s cn52xx; 661 struct cvmx_pow_pf_rst_msk_s cn52xx;
@@ -388,13 +664,17 @@ union cvmx_pow_pf_rst_msk {
388 struct cvmx_pow_pf_rst_msk_s cn56xxp1; 664 struct cvmx_pow_pf_rst_msk_s cn56xxp1;
389 struct cvmx_pow_pf_rst_msk_s cn58xx; 665 struct cvmx_pow_pf_rst_msk_s cn58xx;
390 struct cvmx_pow_pf_rst_msk_s cn58xxp1; 666 struct cvmx_pow_pf_rst_msk_s cn58xxp1;
667 struct cvmx_pow_pf_rst_msk_s cn61xx;
391 struct cvmx_pow_pf_rst_msk_s cn63xx; 668 struct cvmx_pow_pf_rst_msk_s cn63xx;
392 struct cvmx_pow_pf_rst_msk_s cn63xxp1; 669 struct cvmx_pow_pf_rst_msk_s cn63xxp1;
670 struct cvmx_pow_pf_rst_msk_s cn66xx;
671 struct cvmx_pow_pf_rst_msk_s cnf71xx;
393}; 672};
394 673
395union cvmx_pow_pp_grp_mskx { 674union cvmx_pow_pp_grp_mskx {
396 uint64_t u64; 675 uint64_t u64;
397 struct cvmx_pow_pp_grp_mskx_s { 676 struct cvmx_pow_pp_grp_mskx_s {
677#ifdef __BIG_ENDIAN_BITFIELD
398 uint64_t reserved_48_63:16; 678 uint64_t reserved_48_63:16;
399 uint64_t qos7_pri:4; 679 uint64_t qos7_pri:4;
400 uint64_t qos6_pri:4; 680 uint64_t qos6_pri:4;
@@ -405,10 +685,27 @@ union cvmx_pow_pp_grp_mskx {
405 uint64_t qos1_pri:4; 685 uint64_t qos1_pri:4;
406 uint64_t qos0_pri:4; 686 uint64_t qos0_pri:4;
407 uint64_t grp_msk:16; 687 uint64_t grp_msk:16;
688#else
689 uint64_t grp_msk:16;
690 uint64_t qos0_pri:4;
691 uint64_t qos1_pri:4;
692 uint64_t qos2_pri:4;
693 uint64_t qos3_pri:4;
694 uint64_t qos4_pri:4;
695 uint64_t qos5_pri:4;
696 uint64_t qos6_pri:4;
697 uint64_t qos7_pri:4;
698 uint64_t reserved_48_63:16;
699#endif
408 } s; 700 } s;
409 struct cvmx_pow_pp_grp_mskx_cn30xx { 701 struct cvmx_pow_pp_grp_mskx_cn30xx {
702#ifdef __BIG_ENDIAN_BITFIELD
410 uint64_t reserved_16_63:48; 703 uint64_t reserved_16_63:48;
411 uint64_t grp_msk:16; 704 uint64_t grp_msk:16;
705#else
706 uint64_t grp_msk:16;
707 uint64_t reserved_16_63:48;
708#endif
412 } cn30xx; 709 } cn30xx;
413 struct cvmx_pow_pp_grp_mskx_cn30xx cn31xx; 710 struct cvmx_pow_pp_grp_mskx_cn30xx cn31xx;
414 struct cvmx_pow_pp_grp_mskx_cn30xx cn38xx; 711 struct cvmx_pow_pp_grp_mskx_cn30xx cn38xx;
@@ -420,18 +717,29 @@ union cvmx_pow_pp_grp_mskx {
420 struct cvmx_pow_pp_grp_mskx_s cn56xxp1; 717 struct cvmx_pow_pp_grp_mskx_s cn56xxp1;
421 struct cvmx_pow_pp_grp_mskx_s cn58xx; 718 struct cvmx_pow_pp_grp_mskx_s cn58xx;
422 struct cvmx_pow_pp_grp_mskx_s cn58xxp1; 719 struct cvmx_pow_pp_grp_mskx_s cn58xxp1;
720 struct cvmx_pow_pp_grp_mskx_s cn61xx;
423 struct cvmx_pow_pp_grp_mskx_s cn63xx; 721 struct cvmx_pow_pp_grp_mskx_s cn63xx;
424 struct cvmx_pow_pp_grp_mskx_s cn63xxp1; 722 struct cvmx_pow_pp_grp_mskx_s cn63xxp1;
723 struct cvmx_pow_pp_grp_mskx_s cn66xx;
724 struct cvmx_pow_pp_grp_mskx_s cnf71xx;
425}; 725};
426 726
427union cvmx_pow_qos_rndx { 727union cvmx_pow_qos_rndx {
428 uint64_t u64; 728 uint64_t u64;
429 struct cvmx_pow_qos_rndx_s { 729 struct cvmx_pow_qos_rndx_s {
730#ifdef __BIG_ENDIAN_BITFIELD
430 uint64_t reserved_32_63:32; 731 uint64_t reserved_32_63:32;
431 uint64_t rnd_p3:8; 732 uint64_t rnd_p3:8;
432 uint64_t rnd_p2:8; 733 uint64_t rnd_p2:8;
433 uint64_t rnd_p1:8; 734 uint64_t rnd_p1:8;
434 uint64_t rnd:8; 735 uint64_t rnd:8;
736#else
737 uint64_t rnd:8;
738 uint64_t rnd_p1:8;
739 uint64_t rnd_p2:8;
740 uint64_t rnd_p3:8;
741 uint64_t reserved_32_63:32;
742#endif
435 } s; 743 } s;
436 struct cvmx_pow_qos_rndx_s cn30xx; 744 struct cvmx_pow_qos_rndx_s cn30xx;
437 struct cvmx_pow_qos_rndx_s cn31xx; 745 struct cvmx_pow_qos_rndx_s cn31xx;
@@ -444,13 +752,17 @@ union cvmx_pow_qos_rndx {
444 struct cvmx_pow_qos_rndx_s cn56xxp1; 752 struct cvmx_pow_qos_rndx_s cn56xxp1;
445 struct cvmx_pow_qos_rndx_s cn58xx; 753 struct cvmx_pow_qos_rndx_s cn58xx;
446 struct cvmx_pow_qos_rndx_s cn58xxp1; 754 struct cvmx_pow_qos_rndx_s cn58xxp1;
755 struct cvmx_pow_qos_rndx_s cn61xx;
447 struct cvmx_pow_qos_rndx_s cn63xx; 756 struct cvmx_pow_qos_rndx_s cn63xx;
448 struct cvmx_pow_qos_rndx_s cn63xxp1; 757 struct cvmx_pow_qos_rndx_s cn63xxp1;
758 struct cvmx_pow_qos_rndx_s cn66xx;
759 struct cvmx_pow_qos_rndx_s cnf71xx;
449}; 760};
450 761
451union cvmx_pow_qos_thrx { 762union cvmx_pow_qos_thrx {
452 uint64_t u64; 763 uint64_t u64;
453 struct cvmx_pow_qos_thrx_s { 764 struct cvmx_pow_qos_thrx_s {
765#ifdef __BIG_ENDIAN_BITFIELD
454 uint64_t reserved_60_63:4; 766 uint64_t reserved_60_63:4;
455 uint64_t des_cnt:12; 767 uint64_t des_cnt:12;
456 uint64_t buf_cnt:12; 768 uint64_t buf_cnt:12;
@@ -459,8 +771,19 @@ union cvmx_pow_qos_thrx {
459 uint64_t max_thr:11; 771 uint64_t max_thr:11;
460 uint64_t reserved_11_11:1; 772 uint64_t reserved_11_11:1;
461 uint64_t min_thr:11; 773 uint64_t min_thr:11;
774#else
775 uint64_t min_thr:11;
776 uint64_t reserved_11_11:1;
777 uint64_t max_thr:11;
778 uint64_t reserved_23_23:1;
779 uint64_t free_cnt:12;
780 uint64_t buf_cnt:12;
781 uint64_t des_cnt:12;
782 uint64_t reserved_60_63:4;
783#endif
462 } s; 784 } s;
463 struct cvmx_pow_qos_thrx_cn30xx { 785 struct cvmx_pow_qos_thrx_cn30xx {
786#ifdef __BIG_ENDIAN_BITFIELD
464 uint64_t reserved_55_63:9; 787 uint64_t reserved_55_63:9;
465 uint64_t des_cnt:7; 788 uint64_t des_cnt:7;
466 uint64_t reserved_43_47:5; 789 uint64_t reserved_43_47:5;
@@ -471,8 +794,21 @@ union cvmx_pow_qos_thrx {
471 uint64_t max_thr:6; 794 uint64_t max_thr:6;
472 uint64_t reserved_6_11:6; 795 uint64_t reserved_6_11:6;
473 uint64_t min_thr:6; 796 uint64_t min_thr:6;
797#else
798 uint64_t min_thr:6;
799 uint64_t reserved_6_11:6;
800 uint64_t max_thr:6;
801 uint64_t reserved_18_23:6;
802 uint64_t free_cnt:7;
803 uint64_t reserved_31_35:5;
804 uint64_t buf_cnt:7;
805 uint64_t reserved_43_47:5;
806 uint64_t des_cnt:7;
807 uint64_t reserved_55_63:9;
808#endif
474 } cn30xx; 809 } cn30xx;
475 struct cvmx_pow_qos_thrx_cn31xx { 810 struct cvmx_pow_qos_thrx_cn31xx {
811#ifdef __BIG_ENDIAN_BITFIELD
476 uint64_t reserved_57_63:7; 812 uint64_t reserved_57_63:7;
477 uint64_t des_cnt:9; 813 uint64_t des_cnt:9;
478 uint64_t reserved_45_47:3; 814 uint64_t reserved_45_47:3;
@@ -483,11 +819,24 @@ union cvmx_pow_qos_thrx {
483 uint64_t max_thr:8; 819 uint64_t max_thr:8;
484 uint64_t reserved_8_11:4; 820 uint64_t reserved_8_11:4;
485 uint64_t min_thr:8; 821 uint64_t min_thr:8;
822#else
823 uint64_t min_thr:8;
824 uint64_t reserved_8_11:4;
825 uint64_t max_thr:8;
826 uint64_t reserved_20_23:4;
827 uint64_t free_cnt:9;
828 uint64_t reserved_33_35:3;
829 uint64_t buf_cnt:9;
830 uint64_t reserved_45_47:3;
831 uint64_t des_cnt:9;
832 uint64_t reserved_57_63:7;
833#endif
486 } cn31xx; 834 } cn31xx;
487 struct cvmx_pow_qos_thrx_s cn38xx; 835 struct cvmx_pow_qos_thrx_s cn38xx;
488 struct cvmx_pow_qos_thrx_s cn38xxp2; 836 struct cvmx_pow_qos_thrx_s cn38xxp2;
489 struct cvmx_pow_qos_thrx_cn31xx cn50xx; 837 struct cvmx_pow_qos_thrx_cn31xx cn50xx;
490 struct cvmx_pow_qos_thrx_cn52xx { 838 struct cvmx_pow_qos_thrx_cn52xx {
839#ifdef __BIG_ENDIAN_BITFIELD
491 uint64_t reserved_58_63:6; 840 uint64_t reserved_58_63:6;
492 uint64_t des_cnt:10; 841 uint64_t des_cnt:10;
493 uint64_t reserved_46_47:2; 842 uint64_t reserved_46_47:2;
@@ -498,13 +847,27 @@ union cvmx_pow_qos_thrx {
498 uint64_t max_thr:9; 847 uint64_t max_thr:9;
499 uint64_t reserved_9_11:3; 848 uint64_t reserved_9_11:3;
500 uint64_t min_thr:9; 849 uint64_t min_thr:9;
850#else
851 uint64_t min_thr:9;
852 uint64_t reserved_9_11:3;
853 uint64_t max_thr:9;
854 uint64_t reserved_21_23:3;
855 uint64_t free_cnt:10;
856 uint64_t reserved_34_35:2;
857 uint64_t buf_cnt:10;
858 uint64_t reserved_46_47:2;
859 uint64_t des_cnt:10;
860 uint64_t reserved_58_63:6;
861#endif
501 } cn52xx; 862 } cn52xx;
502 struct cvmx_pow_qos_thrx_cn52xx cn52xxp1; 863 struct cvmx_pow_qos_thrx_cn52xx cn52xxp1;
503 struct cvmx_pow_qos_thrx_s cn56xx; 864 struct cvmx_pow_qos_thrx_s cn56xx;
504 struct cvmx_pow_qos_thrx_s cn56xxp1; 865 struct cvmx_pow_qos_thrx_s cn56xxp1;
505 struct cvmx_pow_qos_thrx_s cn58xx; 866 struct cvmx_pow_qos_thrx_s cn58xx;
506 struct cvmx_pow_qos_thrx_s cn58xxp1; 867 struct cvmx_pow_qos_thrx_s cn58xxp1;
868 struct cvmx_pow_qos_thrx_cn52xx cn61xx;
507 struct cvmx_pow_qos_thrx_cn63xx { 869 struct cvmx_pow_qos_thrx_cn63xx {
870#ifdef __BIG_ENDIAN_BITFIELD
508 uint64_t reserved_59_63:5; 871 uint64_t reserved_59_63:5;
509 uint64_t des_cnt:11; 872 uint64_t des_cnt:11;
510 uint64_t reserved_47_47:1; 873 uint64_t reserved_47_47:1;
@@ -515,15 +878,34 @@ union cvmx_pow_qos_thrx {
515 uint64_t max_thr:10; 878 uint64_t max_thr:10;
516 uint64_t reserved_10_11:2; 879 uint64_t reserved_10_11:2;
517 uint64_t min_thr:10; 880 uint64_t min_thr:10;
881#else
882 uint64_t min_thr:10;
883 uint64_t reserved_10_11:2;
884 uint64_t max_thr:10;
885 uint64_t reserved_22_23:2;
886 uint64_t free_cnt:11;
887 uint64_t reserved_35_35:1;
888 uint64_t buf_cnt:11;
889 uint64_t reserved_47_47:1;
890 uint64_t des_cnt:11;
891 uint64_t reserved_59_63:5;
892#endif
518 } cn63xx; 893 } cn63xx;
519 struct cvmx_pow_qos_thrx_cn63xx cn63xxp1; 894 struct cvmx_pow_qos_thrx_cn63xx cn63xxp1;
895 struct cvmx_pow_qos_thrx_cn63xx cn66xx;
896 struct cvmx_pow_qos_thrx_cn52xx cnf71xx;
520}; 897};
521 898
522union cvmx_pow_ts_pc { 899union cvmx_pow_ts_pc {
523 uint64_t u64; 900 uint64_t u64;
524 struct cvmx_pow_ts_pc_s { 901 struct cvmx_pow_ts_pc_s {
902#ifdef __BIG_ENDIAN_BITFIELD
525 uint64_t reserved_32_63:32; 903 uint64_t reserved_32_63:32;
526 uint64_t ts_pc:32; 904 uint64_t ts_pc:32;
905#else
906 uint64_t ts_pc:32;
907 uint64_t reserved_32_63:32;
908#endif
527 } s; 909 } s;
528 struct cvmx_pow_ts_pc_s cn30xx; 910 struct cvmx_pow_ts_pc_s cn30xx;
529 struct cvmx_pow_ts_pc_s cn31xx; 911 struct cvmx_pow_ts_pc_s cn31xx;
@@ -536,15 +918,23 @@ union cvmx_pow_ts_pc {
536 struct cvmx_pow_ts_pc_s cn56xxp1; 918 struct cvmx_pow_ts_pc_s cn56xxp1;
537 struct cvmx_pow_ts_pc_s cn58xx; 919 struct cvmx_pow_ts_pc_s cn58xx;
538 struct cvmx_pow_ts_pc_s cn58xxp1; 920 struct cvmx_pow_ts_pc_s cn58xxp1;
921 struct cvmx_pow_ts_pc_s cn61xx;
539 struct cvmx_pow_ts_pc_s cn63xx; 922 struct cvmx_pow_ts_pc_s cn63xx;
540 struct cvmx_pow_ts_pc_s cn63xxp1; 923 struct cvmx_pow_ts_pc_s cn63xxp1;
924 struct cvmx_pow_ts_pc_s cn66xx;
925 struct cvmx_pow_ts_pc_s cnf71xx;
541}; 926};
542 927
543union cvmx_pow_wa_com_pc { 928union cvmx_pow_wa_com_pc {
544 uint64_t u64; 929 uint64_t u64;
545 struct cvmx_pow_wa_com_pc_s { 930 struct cvmx_pow_wa_com_pc_s {
931#ifdef __BIG_ENDIAN_BITFIELD
546 uint64_t reserved_32_63:32; 932 uint64_t reserved_32_63:32;
547 uint64_t wa_pc:32; 933 uint64_t wa_pc:32;
934#else
935 uint64_t wa_pc:32;
936 uint64_t reserved_32_63:32;
937#endif
548 } s; 938 } s;
549 struct cvmx_pow_wa_com_pc_s cn30xx; 939 struct cvmx_pow_wa_com_pc_s cn30xx;
550 struct cvmx_pow_wa_com_pc_s cn31xx; 940 struct cvmx_pow_wa_com_pc_s cn31xx;
@@ -557,15 +947,23 @@ union cvmx_pow_wa_com_pc {
557 struct cvmx_pow_wa_com_pc_s cn56xxp1; 947 struct cvmx_pow_wa_com_pc_s cn56xxp1;
558 struct cvmx_pow_wa_com_pc_s cn58xx; 948 struct cvmx_pow_wa_com_pc_s cn58xx;
559 struct cvmx_pow_wa_com_pc_s cn58xxp1; 949 struct cvmx_pow_wa_com_pc_s cn58xxp1;
950 struct cvmx_pow_wa_com_pc_s cn61xx;
560 struct cvmx_pow_wa_com_pc_s cn63xx; 951 struct cvmx_pow_wa_com_pc_s cn63xx;
561 struct cvmx_pow_wa_com_pc_s cn63xxp1; 952 struct cvmx_pow_wa_com_pc_s cn63xxp1;
953 struct cvmx_pow_wa_com_pc_s cn66xx;
954 struct cvmx_pow_wa_com_pc_s cnf71xx;
562}; 955};
563 956
564union cvmx_pow_wa_pcx { 957union cvmx_pow_wa_pcx {
565 uint64_t u64; 958 uint64_t u64;
566 struct cvmx_pow_wa_pcx_s { 959 struct cvmx_pow_wa_pcx_s {
960#ifdef __BIG_ENDIAN_BITFIELD
567 uint64_t reserved_32_63:32; 961 uint64_t reserved_32_63:32;
568 uint64_t wa_pc:32; 962 uint64_t wa_pc:32;
963#else
964 uint64_t wa_pc:32;
965 uint64_t reserved_32_63:32;
966#endif
569 } s; 967 } s;
570 struct cvmx_pow_wa_pcx_s cn30xx; 968 struct cvmx_pow_wa_pcx_s cn30xx;
571 struct cvmx_pow_wa_pcx_s cn31xx; 969 struct cvmx_pow_wa_pcx_s cn31xx;
@@ -578,16 +976,25 @@ union cvmx_pow_wa_pcx {
578 struct cvmx_pow_wa_pcx_s cn56xxp1; 976 struct cvmx_pow_wa_pcx_s cn56xxp1;
579 struct cvmx_pow_wa_pcx_s cn58xx; 977 struct cvmx_pow_wa_pcx_s cn58xx;
580 struct cvmx_pow_wa_pcx_s cn58xxp1; 978 struct cvmx_pow_wa_pcx_s cn58xxp1;
979 struct cvmx_pow_wa_pcx_s cn61xx;
581 struct cvmx_pow_wa_pcx_s cn63xx; 980 struct cvmx_pow_wa_pcx_s cn63xx;
582 struct cvmx_pow_wa_pcx_s cn63xxp1; 981 struct cvmx_pow_wa_pcx_s cn63xxp1;
982 struct cvmx_pow_wa_pcx_s cn66xx;
983 struct cvmx_pow_wa_pcx_s cnf71xx;
583}; 984};
584 985
585union cvmx_pow_wq_int { 986union cvmx_pow_wq_int {
586 uint64_t u64; 987 uint64_t u64;
587 struct cvmx_pow_wq_int_s { 988 struct cvmx_pow_wq_int_s {
989#ifdef __BIG_ENDIAN_BITFIELD
588 uint64_t reserved_32_63:32; 990 uint64_t reserved_32_63:32;
589 uint64_t iq_dis:16; 991 uint64_t iq_dis:16;
590 uint64_t wq_int:16; 992 uint64_t wq_int:16;
993#else
994 uint64_t wq_int:16;
995 uint64_t iq_dis:16;
996 uint64_t reserved_32_63:32;
997#endif
591 } s; 998 } s;
592 struct cvmx_pow_wq_int_s cn30xx; 999 struct cvmx_pow_wq_int_s cn30xx;
593 struct cvmx_pow_wq_int_s cn31xx; 1000 struct cvmx_pow_wq_int_s cn31xx;
@@ -600,69 +1007,126 @@ union cvmx_pow_wq_int {
600 struct cvmx_pow_wq_int_s cn56xxp1; 1007 struct cvmx_pow_wq_int_s cn56xxp1;
601 struct cvmx_pow_wq_int_s cn58xx; 1008 struct cvmx_pow_wq_int_s cn58xx;
602 struct cvmx_pow_wq_int_s cn58xxp1; 1009 struct cvmx_pow_wq_int_s cn58xxp1;
1010 struct cvmx_pow_wq_int_s cn61xx;
603 struct cvmx_pow_wq_int_s cn63xx; 1011 struct cvmx_pow_wq_int_s cn63xx;
604 struct cvmx_pow_wq_int_s cn63xxp1; 1012 struct cvmx_pow_wq_int_s cn63xxp1;
1013 struct cvmx_pow_wq_int_s cn66xx;
1014 struct cvmx_pow_wq_int_s cnf71xx;
605}; 1015};
606 1016
607union cvmx_pow_wq_int_cntx { 1017union cvmx_pow_wq_int_cntx {
608 uint64_t u64; 1018 uint64_t u64;
609 struct cvmx_pow_wq_int_cntx_s { 1019 struct cvmx_pow_wq_int_cntx_s {
1020#ifdef __BIG_ENDIAN_BITFIELD
610 uint64_t reserved_28_63:36; 1021 uint64_t reserved_28_63:36;
611 uint64_t tc_cnt:4; 1022 uint64_t tc_cnt:4;
612 uint64_t ds_cnt:12; 1023 uint64_t ds_cnt:12;
613 uint64_t iq_cnt:12; 1024 uint64_t iq_cnt:12;
1025#else
1026 uint64_t iq_cnt:12;
1027 uint64_t ds_cnt:12;
1028 uint64_t tc_cnt:4;
1029 uint64_t reserved_28_63:36;
1030#endif
614 } s; 1031 } s;
615 struct cvmx_pow_wq_int_cntx_cn30xx { 1032 struct cvmx_pow_wq_int_cntx_cn30xx {
1033#ifdef __BIG_ENDIAN_BITFIELD
616 uint64_t reserved_28_63:36; 1034 uint64_t reserved_28_63:36;
617 uint64_t tc_cnt:4; 1035 uint64_t tc_cnt:4;
618 uint64_t reserved_19_23:5; 1036 uint64_t reserved_19_23:5;
619 uint64_t ds_cnt:7; 1037 uint64_t ds_cnt:7;
620 uint64_t reserved_7_11:5; 1038 uint64_t reserved_7_11:5;
621 uint64_t iq_cnt:7; 1039 uint64_t iq_cnt:7;
1040#else
1041 uint64_t iq_cnt:7;
1042 uint64_t reserved_7_11:5;
1043 uint64_t ds_cnt:7;
1044 uint64_t reserved_19_23:5;
1045 uint64_t tc_cnt:4;
1046 uint64_t reserved_28_63:36;
1047#endif
622 } cn30xx; 1048 } cn30xx;
623 struct cvmx_pow_wq_int_cntx_cn31xx { 1049 struct cvmx_pow_wq_int_cntx_cn31xx {
1050#ifdef __BIG_ENDIAN_BITFIELD
624 uint64_t reserved_28_63:36; 1051 uint64_t reserved_28_63:36;
625 uint64_t tc_cnt:4; 1052 uint64_t tc_cnt:4;
626 uint64_t reserved_21_23:3; 1053 uint64_t reserved_21_23:3;
627 uint64_t ds_cnt:9; 1054 uint64_t ds_cnt:9;
628 uint64_t reserved_9_11:3; 1055 uint64_t reserved_9_11:3;
629 uint64_t iq_cnt:9; 1056 uint64_t iq_cnt:9;
1057#else
1058 uint64_t iq_cnt:9;
1059 uint64_t reserved_9_11:3;
1060 uint64_t ds_cnt:9;
1061 uint64_t reserved_21_23:3;
1062 uint64_t tc_cnt:4;
1063 uint64_t reserved_28_63:36;
1064#endif
630 } cn31xx; 1065 } cn31xx;
631 struct cvmx_pow_wq_int_cntx_s cn38xx; 1066 struct cvmx_pow_wq_int_cntx_s cn38xx;
632 struct cvmx_pow_wq_int_cntx_s cn38xxp2; 1067 struct cvmx_pow_wq_int_cntx_s cn38xxp2;
633 struct cvmx_pow_wq_int_cntx_cn31xx cn50xx; 1068 struct cvmx_pow_wq_int_cntx_cn31xx cn50xx;
634 struct cvmx_pow_wq_int_cntx_cn52xx { 1069 struct cvmx_pow_wq_int_cntx_cn52xx {
1070#ifdef __BIG_ENDIAN_BITFIELD
635 uint64_t reserved_28_63:36; 1071 uint64_t reserved_28_63:36;
636 uint64_t tc_cnt:4; 1072 uint64_t tc_cnt:4;
637 uint64_t reserved_22_23:2; 1073 uint64_t reserved_22_23:2;
638 uint64_t ds_cnt:10; 1074 uint64_t ds_cnt:10;
639 uint64_t reserved_10_11:2; 1075 uint64_t reserved_10_11:2;
640 uint64_t iq_cnt:10; 1076 uint64_t iq_cnt:10;
1077#else
1078 uint64_t iq_cnt:10;
1079 uint64_t reserved_10_11:2;
1080 uint64_t ds_cnt:10;
1081 uint64_t reserved_22_23:2;
1082 uint64_t tc_cnt:4;
1083 uint64_t reserved_28_63:36;
1084#endif
641 } cn52xx; 1085 } cn52xx;
642 struct cvmx_pow_wq_int_cntx_cn52xx cn52xxp1; 1086 struct cvmx_pow_wq_int_cntx_cn52xx cn52xxp1;
643 struct cvmx_pow_wq_int_cntx_s cn56xx; 1087 struct cvmx_pow_wq_int_cntx_s cn56xx;
644 struct cvmx_pow_wq_int_cntx_s cn56xxp1; 1088 struct cvmx_pow_wq_int_cntx_s cn56xxp1;
645 struct cvmx_pow_wq_int_cntx_s cn58xx; 1089 struct cvmx_pow_wq_int_cntx_s cn58xx;
646 struct cvmx_pow_wq_int_cntx_s cn58xxp1; 1090 struct cvmx_pow_wq_int_cntx_s cn58xxp1;
1091 struct cvmx_pow_wq_int_cntx_cn52xx cn61xx;
647 struct cvmx_pow_wq_int_cntx_cn63xx { 1092 struct cvmx_pow_wq_int_cntx_cn63xx {
1093#ifdef __BIG_ENDIAN_BITFIELD
648 uint64_t reserved_28_63:36; 1094 uint64_t reserved_28_63:36;
649 uint64_t tc_cnt:4; 1095 uint64_t tc_cnt:4;
650 uint64_t reserved_23_23:1; 1096 uint64_t reserved_23_23:1;
651 uint64_t ds_cnt:11; 1097 uint64_t ds_cnt:11;
652 uint64_t reserved_11_11:1; 1098 uint64_t reserved_11_11:1;
653 uint64_t iq_cnt:11; 1099 uint64_t iq_cnt:11;
1100#else
1101 uint64_t iq_cnt:11;
1102 uint64_t reserved_11_11:1;
1103 uint64_t ds_cnt:11;
1104 uint64_t reserved_23_23:1;
1105 uint64_t tc_cnt:4;
1106 uint64_t reserved_28_63:36;
1107#endif
654 } cn63xx; 1108 } cn63xx;
655 struct cvmx_pow_wq_int_cntx_cn63xx cn63xxp1; 1109 struct cvmx_pow_wq_int_cntx_cn63xx cn63xxp1;
1110 struct cvmx_pow_wq_int_cntx_cn63xx cn66xx;
1111 struct cvmx_pow_wq_int_cntx_cn52xx cnf71xx;
656}; 1112};
657 1113
658union cvmx_pow_wq_int_pc { 1114union cvmx_pow_wq_int_pc {
659 uint64_t u64; 1115 uint64_t u64;
660 struct cvmx_pow_wq_int_pc_s { 1116 struct cvmx_pow_wq_int_pc_s {
1117#ifdef __BIG_ENDIAN_BITFIELD
661 uint64_t reserved_60_63:4; 1118 uint64_t reserved_60_63:4;
662 uint64_t pc:28; 1119 uint64_t pc:28;
663 uint64_t reserved_28_31:4; 1120 uint64_t reserved_28_31:4;
664 uint64_t pc_thr:20; 1121 uint64_t pc_thr:20;
665 uint64_t reserved_0_7:8; 1122 uint64_t reserved_0_7:8;
1123#else
1124 uint64_t reserved_0_7:8;
1125 uint64_t pc_thr:20;
1126 uint64_t reserved_28_31:4;
1127 uint64_t pc:28;
1128 uint64_t reserved_60_63:4;
1129#endif
666 } s; 1130 } s;
667 struct cvmx_pow_wq_int_pc_s cn30xx; 1131 struct cvmx_pow_wq_int_pc_s cn30xx;
668 struct cvmx_pow_wq_int_pc_s cn31xx; 1132 struct cvmx_pow_wq_int_pc_s cn31xx;
@@ -675,13 +1139,17 @@ union cvmx_pow_wq_int_pc {
675 struct cvmx_pow_wq_int_pc_s cn56xxp1; 1139 struct cvmx_pow_wq_int_pc_s cn56xxp1;
676 struct cvmx_pow_wq_int_pc_s cn58xx; 1140 struct cvmx_pow_wq_int_pc_s cn58xx;
677 struct cvmx_pow_wq_int_pc_s cn58xxp1; 1141 struct cvmx_pow_wq_int_pc_s cn58xxp1;
1142 struct cvmx_pow_wq_int_pc_s cn61xx;
678 struct cvmx_pow_wq_int_pc_s cn63xx; 1143 struct cvmx_pow_wq_int_pc_s cn63xx;
679 struct cvmx_pow_wq_int_pc_s cn63xxp1; 1144 struct cvmx_pow_wq_int_pc_s cn63xxp1;
1145 struct cvmx_pow_wq_int_pc_s cn66xx;
1146 struct cvmx_pow_wq_int_pc_s cnf71xx;
680}; 1147};
681 1148
682union cvmx_pow_wq_int_thrx { 1149union cvmx_pow_wq_int_thrx {
683 uint64_t u64; 1150 uint64_t u64;
684 struct cvmx_pow_wq_int_thrx_s { 1151 struct cvmx_pow_wq_int_thrx_s {
1152#ifdef __BIG_ENDIAN_BITFIELD
685 uint64_t reserved_29_63:35; 1153 uint64_t reserved_29_63:35;
686 uint64_t tc_en:1; 1154 uint64_t tc_en:1;
687 uint64_t tc_thr:4; 1155 uint64_t tc_thr:4;
@@ -689,8 +1157,18 @@ union cvmx_pow_wq_int_thrx {
689 uint64_t ds_thr:11; 1157 uint64_t ds_thr:11;
690 uint64_t reserved_11_11:1; 1158 uint64_t reserved_11_11:1;
691 uint64_t iq_thr:11; 1159 uint64_t iq_thr:11;
1160#else
1161 uint64_t iq_thr:11;
1162 uint64_t reserved_11_11:1;
1163 uint64_t ds_thr:11;
1164 uint64_t reserved_23_23:1;
1165 uint64_t tc_thr:4;
1166 uint64_t tc_en:1;
1167 uint64_t reserved_29_63:35;
1168#endif
692 } s; 1169 } s;
693 struct cvmx_pow_wq_int_thrx_cn30xx { 1170 struct cvmx_pow_wq_int_thrx_cn30xx {
1171#ifdef __BIG_ENDIAN_BITFIELD
694 uint64_t reserved_29_63:35; 1172 uint64_t reserved_29_63:35;
695 uint64_t tc_en:1; 1173 uint64_t tc_en:1;
696 uint64_t tc_thr:4; 1174 uint64_t tc_thr:4;
@@ -698,8 +1176,18 @@ union cvmx_pow_wq_int_thrx {
698 uint64_t ds_thr:6; 1176 uint64_t ds_thr:6;
699 uint64_t reserved_6_11:6; 1177 uint64_t reserved_6_11:6;
700 uint64_t iq_thr:6; 1178 uint64_t iq_thr:6;
1179#else
1180 uint64_t iq_thr:6;
1181 uint64_t reserved_6_11:6;
1182 uint64_t ds_thr:6;
1183 uint64_t reserved_18_23:6;
1184 uint64_t tc_thr:4;
1185 uint64_t tc_en:1;
1186 uint64_t reserved_29_63:35;
1187#endif
701 } cn30xx; 1188 } cn30xx;
702 struct cvmx_pow_wq_int_thrx_cn31xx { 1189 struct cvmx_pow_wq_int_thrx_cn31xx {
1190#ifdef __BIG_ENDIAN_BITFIELD
703 uint64_t reserved_29_63:35; 1191 uint64_t reserved_29_63:35;
704 uint64_t tc_en:1; 1192 uint64_t tc_en:1;
705 uint64_t tc_thr:4; 1193 uint64_t tc_thr:4;
@@ -707,11 +1195,21 @@ union cvmx_pow_wq_int_thrx {
707 uint64_t ds_thr:8; 1195 uint64_t ds_thr:8;
708 uint64_t reserved_8_11:4; 1196 uint64_t reserved_8_11:4;
709 uint64_t iq_thr:8; 1197 uint64_t iq_thr:8;
1198#else
1199 uint64_t iq_thr:8;
1200 uint64_t reserved_8_11:4;
1201 uint64_t ds_thr:8;
1202 uint64_t reserved_20_23:4;
1203 uint64_t tc_thr:4;
1204 uint64_t tc_en:1;
1205 uint64_t reserved_29_63:35;
1206#endif
710 } cn31xx; 1207 } cn31xx;
711 struct cvmx_pow_wq_int_thrx_s cn38xx; 1208 struct cvmx_pow_wq_int_thrx_s cn38xx;
712 struct cvmx_pow_wq_int_thrx_s cn38xxp2; 1209 struct cvmx_pow_wq_int_thrx_s cn38xxp2;
713 struct cvmx_pow_wq_int_thrx_cn31xx cn50xx; 1210 struct cvmx_pow_wq_int_thrx_cn31xx cn50xx;
714 struct cvmx_pow_wq_int_thrx_cn52xx { 1211 struct cvmx_pow_wq_int_thrx_cn52xx {
1212#ifdef __BIG_ENDIAN_BITFIELD
715 uint64_t reserved_29_63:35; 1213 uint64_t reserved_29_63:35;
716 uint64_t tc_en:1; 1214 uint64_t tc_en:1;
717 uint64_t tc_thr:4; 1215 uint64_t tc_thr:4;
@@ -719,13 +1217,24 @@ union cvmx_pow_wq_int_thrx {
719 uint64_t ds_thr:9; 1217 uint64_t ds_thr:9;
720 uint64_t reserved_9_11:3; 1218 uint64_t reserved_9_11:3;
721 uint64_t iq_thr:9; 1219 uint64_t iq_thr:9;
1220#else
1221 uint64_t iq_thr:9;
1222 uint64_t reserved_9_11:3;
1223 uint64_t ds_thr:9;
1224 uint64_t reserved_21_23:3;
1225 uint64_t tc_thr:4;
1226 uint64_t tc_en:1;
1227 uint64_t reserved_29_63:35;
1228#endif
722 } cn52xx; 1229 } cn52xx;
723 struct cvmx_pow_wq_int_thrx_cn52xx cn52xxp1; 1230 struct cvmx_pow_wq_int_thrx_cn52xx cn52xxp1;
724 struct cvmx_pow_wq_int_thrx_s cn56xx; 1231 struct cvmx_pow_wq_int_thrx_s cn56xx;
725 struct cvmx_pow_wq_int_thrx_s cn56xxp1; 1232 struct cvmx_pow_wq_int_thrx_s cn56xxp1;
726 struct cvmx_pow_wq_int_thrx_s cn58xx; 1233 struct cvmx_pow_wq_int_thrx_s cn58xx;
727 struct cvmx_pow_wq_int_thrx_s cn58xxp1; 1234 struct cvmx_pow_wq_int_thrx_s cn58xxp1;
1235 struct cvmx_pow_wq_int_thrx_cn52xx cn61xx;
728 struct cvmx_pow_wq_int_thrx_cn63xx { 1236 struct cvmx_pow_wq_int_thrx_cn63xx {
1237#ifdef __BIG_ENDIAN_BITFIELD
729 uint64_t reserved_29_63:35; 1238 uint64_t reserved_29_63:35;
730 uint64_t tc_en:1; 1239 uint64_t tc_en:1;
731 uint64_t tc_thr:4; 1240 uint64_t tc_thr:4;
@@ -733,15 +1242,31 @@ union cvmx_pow_wq_int_thrx {
733 uint64_t ds_thr:10; 1242 uint64_t ds_thr:10;
734 uint64_t reserved_10_11:2; 1243 uint64_t reserved_10_11:2;
735 uint64_t iq_thr:10; 1244 uint64_t iq_thr:10;
1245#else
1246 uint64_t iq_thr:10;
1247 uint64_t reserved_10_11:2;
1248 uint64_t ds_thr:10;
1249 uint64_t reserved_22_23:2;
1250 uint64_t tc_thr:4;
1251 uint64_t tc_en:1;
1252 uint64_t reserved_29_63:35;
1253#endif
736 } cn63xx; 1254 } cn63xx;
737 struct cvmx_pow_wq_int_thrx_cn63xx cn63xxp1; 1255 struct cvmx_pow_wq_int_thrx_cn63xx cn63xxp1;
1256 struct cvmx_pow_wq_int_thrx_cn63xx cn66xx;
1257 struct cvmx_pow_wq_int_thrx_cn52xx cnf71xx;
738}; 1258};
739 1259
740union cvmx_pow_ws_pcx { 1260union cvmx_pow_ws_pcx {
741 uint64_t u64; 1261 uint64_t u64;
742 struct cvmx_pow_ws_pcx_s { 1262 struct cvmx_pow_ws_pcx_s {
1263#ifdef __BIG_ENDIAN_BITFIELD
743 uint64_t reserved_32_63:32; 1264 uint64_t reserved_32_63:32;
744 uint64_t ws_pc:32; 1265 uint64_t ws_pc:32;
1266#else
1267 uint64_t ws_pc:32;
1268 uint64_t reserved_32_63:32;
1269#endif
745 } s; 1270 } s;
746 struct cvmx_pow_ws_pcx_s cn30xx; 1271 struct cvmx_pow_ws_pcx_s cn30xx;
747 struct cvmx_pow_ws_pcx_s cn31xx; 1272 struct cvmx_pow_ws_pcx_s cn31xx;
@@ -754,8 +1279,11 @@ union cvmx_pow_ws_pcx {
754 struct cvmx_pow_ws_pcx_s cn56xxp1; 1279 struct cvmx_pow_ws_pcx_s cn56xxp1;
755 struct cvmx_pow_ws_pcx_s cn58xx; 1280 struct cvmx_pow_ws_pcx_s cn58xx;
756 struct cvmx_pow_ws_pcx_s cn58xxp1; 1281 struct cvmx_pow_ws_pcx_s cn58xxp1;
1282 struct cvmx_pow_ws_pcx_s cn61xx;
757 struct cvmx_pow_ws_pcx_s cn63xx; 1283 struct cvmx_pow_ws_pcx_s cn63xx;
758 struct cvmx_pow_ws_pcx_s cn63xxp1; 1284 struct cvmx_pow_ws_pcx_s cn63xxp1;
1285 struct cvmx_pow_ws_pcx_s cn66xx;
1286 struct cvmx_pow_ws_pcx_s cnf71xx;
759}; 1287};
760 1288
761#endif 1289#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-rnm-defs.h b/arch/mips/include/asm/octeon/cvmx-rnm-defs.h
index c45da1f35ea7..87d6f92a548a 100644
--- a/arch/mips/include/asm/octeon/cvmx-rnm-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-rnm-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,8 +28,6 @@
28#ifndef __CVMX_RNM_DEFS_H__ 28#ifndef __CVMX_RNM_DEFS_H__
29#define __CVMX_RNM_DEFS_H__ 29#define __CVMX_RNM_DEFS_H__
30 30
31#include <linux/types.h>
32
33#define CVMX_RNM_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001180040000008ull)) 31#define CVMX_RNM_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001180040000008ull))
34#define CVMX_RNM_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180040000000ull)) 32#define CVMX_RNM_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180040000000ull))
35#define CVMX_RNM_EER_DBG (CVMX_ADD_IO_SEG(0x0001180040000018ull)) 33#define CVMX_RNM_EER_DBG (CVMX_ADD_IO_SEG(0x0001180040000018ull))
@@ -39,9 +37,15 @@
39union cvmx_rnm_bist_status { 37union cvmx_rnm_bist_status {
40 uint64_t u64; 38 uint64_t u64;
41 struct cvmx_rnm_bist_status_s { 39 struct cvmx_rnm_bist_status_s {
40#ifdef __BIG_ENDIAN_BITFIELD
42 uint64_t reserved_2_63:62; 41 uint64_t reserved_2_63:62;
43 uint64_t rrc:1; 42 uint64_t rrc:1;
44 uint64_t mem:1; 43 uint64_t mem:1;
44#else
45 uint64_t mem:1;
46 uint64_t rrc:1;
47 uint64_t reserved_2_63:62;
48#endif
45 } s; 49 } s;
46 struct cvmx_rnm_bist_status_s cn30xx; 50 struct cvmx_rnm_bist_status_s cn30xx;
47 struct cvmx_rnm_bist_status_s cn31xx; 51 struct cvmx_rnm_bist_status_s cn31xx;
@@ -54,14 +58,21 @@ union cvmx_rnm_bist_status {
54 struct cvmx_rnm_bist_status_s cn56xxp1; 58 struct cvmx_rnm_bist_status_s cn56xxp1;
55 struct cvmx_rnm_bist_status_s cn58xx; 59 struct cvmx_rnm_bist_status_s cn58xx;
56 struct cvmx_rnm_bist_status_s cn58xxp1; 60 struct cvmx_rnm_bist_status_s cn58xxp1;
61 struct cvmx_rnm_bist_status_s cn61xx;
57 struct cvmx_rnm_bist_status_s cn63xx; 62 struct cvmx_rnm_bist_status_s cn63xx;
58 struct cvmx_rnm_bist_status_s cn63xxp1; 63 struct cvmx_rnm_bist_status_s cn63xxp1;
64 struct cvmx_rnm_bist_status_s cn66xx;
65 struct cvmx_rnm_bist_status_s cn68xx;
66 struct cvmx_rnm_bist_status_s cn68xxp1;
67 struct cvmx_rnm_bist_status_s cnf71xx;
59}; 68};
60 69
61union cvmx_rnm_ctl_status { 70union cvmx_rnm_ctl_status {
62 uint64_t u64; 71 uint64_t u64;
63 struct cvmx_rnm_ctl_status_s { 72 struct cvmx_rnm_ctl_status_s {
64 uint64_t reserved_11_63:53; 73#ifdef __BIG_ENDIAN_BITFIELD
74 uint64_t reserved_12_63:52;
75 uint64_t dis_mak:1;
65 uint64_t eer_lck:1; 76 uint64_t eer_lck:1;
66 uint64_t eer_val:1; 77 uint64_t eer_val:1;
67 uint64_t ent_sel:4; 78 uint64_t ent_sel:4;
@@ -70,18 +81,39 @@ union cvmx_rnm_ctl_status {
70 uint64_t rnm_rst:1; 81 uint64_t rnm_rst:1;
71 uint64_t rng_en:1; 82 uint64_t rng_en:1;
72 uint64_t ent_en:1; 83 uint64_t ent_en:1;
84#else
85 uint64_t ent_en:1;
86 uint64_t rng_en:1;
87 uint64_t rnm_rst:1;
88 uint64_t rng_rst:1;
89 uint64_t exp_ent:1;
90 uint64_t ent_sel:4;
91 uint64_t eer_val:1;
92 uint64_t eer_lck:1;
93 uint64_t dis_mak:1;
94 uint64_t reserved_12_63:52;
95#endif
73 } s; 96 } s;
74 struct cvmx_rnm_ctl_status_cn30xx { 97 struct cvmx_rnm_ctl_status_cn30xx {
98#ifdef __BIG_ENDIAN_BITFIELD
75 uint64_t reserved_4_63:60; 99 uint64_t reserved_4_63:60;
76 uint64_t rng_rst:1; 100 uint64_t rng_rst:1;
77 uint64_t rnm_rst:1; 101 uint64_t rnm_rst:1;
78 uint64_t rng_en:1; 102 uint64_t rng_en:1;
79 uint64_t ent_en:1; 103 uint64_t ent_en:1;
104#else
105 uint64_t ent_en:1;
106 uint64_t rng_en:1;
107 uint64_t rnm_rst:1;
108 uint64_t rng_rst:1;
109 uint64_t reserved_4_63:60;
110#endif
80 } cn30xx; 111 } cn30xx;
81 struct cvmx_rnm_ctl_status_cn30xx cn31xx; 112 struct cvmx_rnm_ctl_status_cn30xx cn31xx;
82 struct cvmx_rnm_ctl_status_cn30xx cn38xx; 113 struct cvmx_rnm_ctl_status_cn30xx cn38xx;
83 struct cvmx_rnm_ctl_status_cn30xx cn38xxp2; 114 struct cvmx_rnm_ctl_status_cn30xx cn38xxp2;
84 struct cvmx_rnm_ctl_status_cn50xx { 115 struct cvmx_rnm_ctl_status_cn50xx {
116#ifdef __BIG_ENDIAN_BITFIELD
85 uint64_t reserved_9_63:55; 117 uint64_t reserved_9_63:55;
86 uint64_t ent_sel:4; 118 uint64_t ent_sel:4;
87 uint64_t exp_ent:1; 119 uint64_t exp_ent:1;
@@ -89,6 +121,15 @@ union cvmx_rnm_ctl_status {
89 uint64_t rnm_rst:1; 121 uint64_t rnm_rst:1;
90 uint64_t rng_en:1; 122 uint64_t rng_en:1;
91 uint64_t ent_en:1; 123 uint64_t ent_en:1;
124#else
125 uint64_t ent_en:1;
126 uint64_t rng_en:1;
127 uint64_t rnm_rst:1;
128 uint64_t rng_rst:1;
129 uint64_t exp_ent:1;
130 uint64_t ent_sel:4;
131 uint64_t reserved_9_63:55;
132#endif
92 } cn50xx; 133 } cn50xx;
93 struct cvmx_rnm_ctl_status_cn50xx cn52xx; 134 struct cvmx_rnm_ctl_status_cn50xx cn52xx;
94 struct cvmx_rnm_ctl_status_cn50xx cn52xxp1; 135 struct cvmx_rnm_ctl_status_cn50xx cn52xxp1;
@@ -96,34 +137,88 @@ union cvmx_rnm_ctl_status {
96 struct cvmx_rnm_ctl_status_cn50xx cn56xxp1; 137 struct cvmx_rnm_ctl_status_cn50xx cn56xxp1;
97 struct cvmx_rnm_ctl_status_cn50xx cn58xx; 138 struct cvmx_rnm_ctl_status_cn50xx cn58xx;
98 struct cvmx_rnm_ctl_status_cn50xx cn58xxp1; 139 struct cvmx_rnm_ctl_status_cn50xx cn58xxp1;
99 struct cvmx_rnm_ctl_status_s cn63xx; 140 struct cvmx_rnm_ctl_status_s cn61xx;
100 struct cvmx_rnm_ctl_status_s cn63xxp1; 141 struct cvmx_rnm_ctl_status_cn63xx {
142#ifdef __BIG_ENDIAN_BITFIELD
143 uint64_t reserved_11_63:53;
144 uint64_t eer_lck:1;
145 uint64_t eer_val:1;
146 uint64_t ent_sel:4;
147 uint64_t exp_ent:1;
148 uint64_t rng_rst:1;
149 uint64_t rnm_rst:1;
150 uint64_t rng_en:1;
151 uint64_t ent_en:1;
152#else
153 uint64_t ent_en:1;
154 uint64_t rng_en:1;
155 uint64_t rnm_rst:1;
156 uint64_t rng_rst:1;
157 uint64_t exp_ent:1;
158 uint64_t ent_sel:4;
159 uint64_t eer_val:1;
160 uint64_t eer_lck:1;
161 uint64_t reserved_11_63:53;
162#endif
163 } cn63xx;
164 struct cvmx_rnm_ctl_status_cn63xx cn63xxp1;
165 struct cvmx_rnm_ctl_status_s cn66xx;
166 struct cvmx_rnm_ctl_status_cn63xx cn68xx;
167 struct cvmx_rnm_ctl_status_cn63xx cn68xxp1;
168 struct cvmx_rnm_ctl_status_s cnf71xx;
101}; 169};
102 170
103union cvmx_rnm_eer_dbg { 171union cvmx_rnm_eer_dbg {
104 uint64_t u64; 172 uint64_t u64;
105 struct cvmx_rnm_eer_dbg_s { 173 struct cvmx_rnm_eer_dbg_s {
174#ifdef __BIG_ENDIAN_BITFIELD
106 uint64_t dat:64; 175 uint64_t dat:64;
176#else
177 uint64_t dat:64;
178#endif
107 } s; 179 } s;
180 struct cvmx_rnm_eer_dbg_s cn61xx;
108 struct cvmx_rnm_eer_dbg_s cn63xx; 181 struct cvmx_rnm_eer_dbg_s cn63xx;
109 struct cvmx_rnm_eer_dbg_s cn63xxp1; 182 struct cvmx_rnm_eer_dbg_s cn63xxp1;
183 struct cvmx_rnm_eer_dbg_s cn66xx;
184 struct cvmx_rnm_eer_dbg_s cn68xx;
185 struct cvmx_rnm_eer_dbg_s cn68xxp1;
186 struct cvmx_rnm_eer_dbg_s cnf71xx;
110}; 187};
111 188
112union cvmx_rnm_eer_key { 189union cvmx_rnm_eer_key {
113 uint64_t u64; 190 uint64_t u64;
114 struct cvmx_rnm_eer_key_s { 191 struct cvmx_rnm_eer_key_s {
192#ifdef __BIG_ENDIAN_BITFIELD
193 uint64_t key:64;
194#else
115 uint64_t key:64; 195 uint64_t key:64;
196#endif
116 } s; 197 } s;
198 struct cvmx_rnm_eer_key_s cn61xx;
117 struct cvmx_rnm_eer_key_s cn63xx; 199 struct cvmx_rnm_eer_key_s cn63xx;
118 struct cvmx_rnm_eer_key_s cn63xxp1; 200 struct cvmx_rnm_eer_key_s cn63xxp1;
201 struct cvmx_rnm_eer_key_s cn66xx;
202 struct cvmx_rnm_eer_key_s cn68xx;
203 struct cvmx_rnm_eer_key_s cn68xxp1;
204 struct cvmx_rnm_eer_key_s cnf71xx;
119}; 205};
120 206
121union cvmx_rnm_serial_num { 207union cvmx_rnm_serial_num {
122 uint64_t u64; 208 uint64_t u64;
123 struct cvmx_rnm_serial_num_s { 209 struct cvmx_rnm_serial_num_s {
210#ifdef __BIG_ENDIAN_BITFIELD
211 uint64_t dat:64;
212#else
124 uint64_t dat:64; 213 uint64_t dat:64;
214#endif
125 } s; 215 } s;
216 struct cvmx_rnm_serial_num_s cn61xx;
126 struct cvmx_rnm_serial_num_s cn63xx; 217 struct cvmx_rnm_serial_num_s cn63xx;
218 struct cvmx_rnm_serial_num_s cn66xx;
219 struct cvmx_rnm_serial_num_s cn68xx;
220 struct cvmx_rnm_serial_num_s cn68xxp1;
221 struct cvmx_rnm_serial_num_s cnf71xx;
127}; 222};
128 223
129#endif 224#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-sli-defs.h b/arch/mips/include/asm/octeon/cvmx-sli-defs.h
index 7c6c901d3d28..e697c2f52a62 100644
--- a/arch/mips/include/asm/octeon/cvmx-sli-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-sli-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2011 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -127,6 +127,7 @@
127union cvmx_sli_bist_status { 127union cvmx_sli_bist_status {
128 uint64_t u64; 128 uint64_t u64;
129 struct cvmx_sli_bist_status_s { 129 struct cvmx_sli_bist_status_s {
130#ifdef __BIG_ENDIAN_BITFIELD
130 uint64_t reserved_32_63:32; 131 uint64_t reserved_32_63:32;
131 uint64_t ncb_req:1; 132 uint64_t ncb_req:1;
132 uint64_t n2p0_c:1; 133 uint64_t n2p0_c:1;
@@ -153,8 +154,37 @@ union cvmx_sli_bist_status {
153 uint64_t dsi0_0:1; 154 uint64_t dsi0_0:1;
154 uint64_t msi:1; 155 uint64_t msi:1;
155 uint64_t ncb_cmd:1; 156 uint64_t ncb_cmd:1;
157#else
158 uint64_t ncb_cmd:1;
159 uint64_t msi:1;
160 uint64_t dsi0_0:1;
161 uint64_t dsi0_1:1;
162 uint64_t dsi1_0:1;
163 uint64_t dsi1_1:1;
164 uint64_t reserved_6_8:3;
165 uint64_t p2n1_p1:1;
166 uint64_t p2n1_p0:1;
167 uint64_t p2n1_n:1;
168 uint64_t p2n1_c1:1;
169 uint64_t p2n1_c0:1;
170 uint64_t p2n0_p1:1;
171 uint64_t p2n0_p0:1;
172 uint64_t p2n0_n:1;
173 uint64_t p2n0_c1:1;
174 uint64_t p2n0_c0:1;
175 uint64_t reserved_19_24:6;
176 uint64_t cpl_p1:1;
177 uint64_t cpl_p0:1;
178 uint64_t n2p1_o:1;
179 uint64_t n2p1_c:1;
180 uint64_t n2p0_o:1;
181 uint64_t n2p0_c:1;
182 uint64_t ncb_req:1;
183 uint64_t reserved_32_63:32;
184#endif
156 } s; 185 } s;
157 struct cvmx_sli_bist_status_cn61xx { 186 struct cvmx_sli_bist_status_cn61xx {
187#ifdef __BIG_ENDIAN_BITFIELD
158 uint64_t reserved_31_63:33; 188 uint64_t reserved_31_63:33;
159 uint64_t n2p0_c:1; 189 uint64_t n2p0_c:1;
160 uint64_t n2p0_o:1; 190 uint64_t n2p0_o:1;
@@ -179,8 +209,35 @@ union cvmx_sli_bist_status {
179 uint64_t dsi0_0:1; 209 uint64_t dsi0_0:1;
180 uint64_t msi:1; 210 uint64_t msi:1;
181 uint64_t ncb_cmd:1; 211 uint64_t ncb_cmd:1;
212#else
213 uint64_t ncb_cmd:1;
214 uint64_t msi:1;
215 uint64_t dsi0_0:1;
216 uint64_t dsi0_1:1;
217 uint64_t dsi1_0:1;
218 uint64_t dsi1_1:1;
219 uint64_t reserved_6_8:3;
220 uint64_t p2n1_p1:1;
221 uint64_t p2n1_p0:1;
222 uint64_t p2n1_n:1;
223 uint64_t p2n1_c1:1;
224 uint64_t p2n1_c0:1;
225 uint64_t p2n0_p1:1;
226 uint64_t p2n0_p0:1;
227 uint64_t p2n0_n:1;
228 uint64_t p2n0_c1:1;
229 uint64_t p2n0_c0:1;
230 uint64_t reserved_19_24:6;
231 uint64_t cpl_p1:1;
232 uint64_t cpl_p0:1;
233 uint64_t reserved_27_28:2;
234 uint64_t n2p0_o:1;
235 uint64_t n2p0_c:1;
236 uint64_t reserved_31_63:33;
237#endif
182 } cn61xx; 238 } cn61xx;
183 struct cvmx_sli_bist_status_cn63xx { 239 struct cvmx_sli_bist_status_cn63xx {
240#ifdef __BIG_ENDIAN_BITFIELD
184 uint64_t reserved_31_63:33; 241 uint64_t reserved_31_63:33;
185 uint64_t n2p0_c:1; 242 uint64_t n2p0_c:1;
186 uint64_t n2p0_o:1; 243 uint64_t n2p0_o:1;
@@ -206,16 +263,45 @@ union cvmx_sli_bist_status {
206 uint64_t dsi0_0:1; 263 uint64_t dsi0_0:1;
207 uint64_t msi:1; 264 uint64_t msi:1;
208 uint64_t ncb_cmd:1; 265 uint64_t ncb_cmd:1;
266#else
267 uint64_t ncb_cmd:1;
268 uint64_t msi:1;
269 uint64_t dsi0_0:1;
270 uint64_t dsi0_1:1;
271 uint64_t dsi1_0:1;
272 uint64_t dsi1_1:1;
273 uint64_t reserved_6_8:3;
274 uint64_t p2n1_p1:1;
275 uint64_t p2n1_p0:1;
276 uint64_t p2n1_n:1;
277 uint64_t p2n1_c1:1;
278 uint64_t p2n1_c0:1;
279 uint64_t p2n0_p1:1;
280 uint64_t p2n0_p0:1;
281 uint64_t p2n0_n:1;
282 uint64_t p2n0_c1:1;
283 uint64_t p2n0_c0:1;
284 uint64_t reserved_19_24:6;
285 uint64_t cpl_p1:1;
286 uint64_t cpl_p0:1;
287 uint64_t n2p1_o:1;
288 uint64_t n2p1_c:1;
289 uint64_t n2p0_o:1;
290 uint64_t n2p0_c:1;
291 uint64_t reserved_31_63:33;
292#endif
209 } cn63xx; 293 } cn63xx;
210 struct cvmx_sli_bist_status_cn63xx cn63xxp1; 294 struct cvmx_sli_bist_status_cn63xx cn63xxp1;
211 struct cvmx_sli_bist_status_cn61xx cn66xx; 295 struct cvmx_sli_bist_status_cn61xx cn66xx;
212 struct cvmx_sli_bist_status_s cn68xx; 296 struct cvmx_sli_bist_status_s cn68xx;
213 struct cvmx_sli_bist_status_s cn68xxp1; 297 struct cvmx_sli_bist_status_s cn68xxp1;
298 struct cvmx_sli_bist_status_cn61xx cnf71xx;
214}; 299};
215 300
216union cvmx_sli_ctl_portx { 301union cvmx_sli_ctl_portx {
217 uint64_t u64; 302 uint64_t u64;
218 struct cvmx_sli_ctl_portx_s { 303 struct cvmx_sli_ctl_portx_s {
304#ifdef __BIG_ENDIAN_BITFIELD
219 uint64_t reserved_22_63:42; 305 uint64_t reserved_22_63:42;
220 uint64_t intd:1; 306 uint64_t intd:1;
221 uint64_t intc:1; 307 uint64_t intc:1;
@@ -232,6 +318,24 @@ union cvmx_sli_ctl_portx {
232 uint64_t ptlp_ro:1; 318 uint64_t ptlp_ro:1;
233 uint64_t reserved_1_4:4; 319 uint64_t reserved_1_4:4;
234 uint64_t wait_com:1; 320 uint64_t wait_com:1;
321#else
322 uint64_t wait_com:1;
323 uint64_t reserved_1_4:4;
324 uint64_t ptlp_ro:1;
325 uint64_t reserved_6_6:1;
326 uint64_t ctlp_ro:1;
327 uint64_t inta_map:2;
328 uint64_t intb_map:2;
329 uint64_t intc_map:2;
330 uint64_t intd_map:2;
331 uint64_t waitl_com:1;
332 uint64_t dis_port:1;
333 uint64_t inta:1;
334 uint64_t intb:1;
335 uint64_t intc:1;
336 uint64_t intd:1;
337 uint64_t reserved_22_63:42;
338#endif
235 } s; 339 } s;
236 struct cvmx_sli_ctl_portx_s cn61xx; 340 struct cvmx_sli_ctl_portx_s cn61xx;
237 struct cvmx_sli_ctl_portx_s cn63xx; 341 struct cvmx_sli_ctl_portx_s cn63xx;
@@ -239,36 +343,59 @@ union cvmx_sli_ctl_portx {
239 struct cvmx_sli_ctl_portx_s cn66xx; 343 struct cvmx_sli_ctl_portx_s cn66xx;
240 struct cvmx_sli_ctl_portx_s cn68xx; 344 struct cvmx_sli_ctl_portx_s cn68xx;
241 struct cvmx_sli_ctl_portx_s cn68xxp1; 345 struct cvmx_sli_ctl_portx_s cn68xxp1;
346 struct cvmx_sli_ctl_portx_s cnf71xx;
242}; 347};
243 348
244union cvmx_sli_ctl_status { 349union cvmx_sli_ctl_status {
245 uint64_t u64; 350 uint64_t u64;
246 struct cvmx_sli_ctl_status_s { 351 struct cvmx_sli_ctl_status_s {
352#ifdef __BIG_ENDIAN_BITFIELD
247 uint64_t reserved_20_63:44; 353 uint64_t reserved_20_63:44;
248 uint64_t p1_ntags:6; 354 uint64_t p1_ntags:6;
249 uint64_t p0_ntags:6; 355 uint64_t p0_ntags:6;
250 uint64_t chip_rev:8; 356 uint64_t chip_rev:8;
357#else
358 uint64_t chip_rev:8;
359 uint64_t p0_ntags:6;
360 uint64_t p1_ntags:6;
361 uint64_t reserved_20_63:44;
362#endif
251 } s; 363 } s;
252 struct cvmx_sli_ctl_status_cn61xx { 364 struct cvmx_sli_ctl_status_cn61xx {
365#ifdef __BIG_ENDIAN_BITFIELD
253 uint64_t reserved_14_63:50; 366 uint64_t reserved_14_63:50;
254 uint64_t p0_ntags:6; 367 uint64_t p0_ntags:6;
255 uint64_t chip_rev:8; 368 uint64_t chip_rev:8;
369#else
370 uint64_t chip_rev:8;
371 uint64_t p0_ntags:6;
372 uint64_t reserved_14_63:50;
373#endif
256 } cn61xx; 374 } cn61xx;
257 struct cvmx_sli_ctl_status_s cn63xx; 375 struct cvmx_sli_ctl_status_s cn63xx;
258 struct cvmx_sli_ctl_status_s cn63xxp1; 376 struct cvmx_sli_ctl_status_s cn63xxp1;
259 struct cvmx_sli_ctl_status_cn61xx cn66xx; 377 struct cvmx_sli_ctl_status_cn61xx cn66xx;
260 struct cvmx_sli_ctl_status_s cn68xx; 378 struct cvmx_sli_ctl_status_s cn68xx;
261 struct cvmx_sli_ctl_status_s cn68xxp1; 379 struct cvmx_sli_ctl_status_s cn68xxp1;
380 struct cvmx_sli_ctl_status_cn61xx cnf71xx;
262}; 381};
263 382
264union cvmx_sli_data_out_cnt { 383union cvmx_sli_data_out_cnt {
265 uint64_t u64; 384 uint64_t u64;
266 struct cvmx_sli_data_out_cnt_s { 385 struct cvmx_sli_data_out_cnt_s {
386#ifdef __BIG_ENDIAN_BITFIELD
267 uint64_t reserved_44_63:20; 387 uint64_t reserved_44_63:20;
268 uint64_t p1_ucnt:16; 388 uint64_t p1_ucnt:16;
269 uint64_t p1_fcnt:6; 389 uint64_t p1_fcnt:6;
270 uint64_t p0_ucnt:16; 390 uint64_t p0_ucnt:16;
271 uint64_t p0_fcnt:6; 391 uint64_t p0_fcnt:6;
392#else
393 uint64_t p0_fcnt:6;
394 uint64_t p0_ucnt:16;
395 uint64_t p1_fcnt:6;
396 uint64_t p1_ucnt:16;
397 uint64_t reserved_44_63:20;
398#endif
272 } s; 399 } s;
273 struct cvmx_sli_data_out_cnt_s cn61xx; 400 struct cvmx_sli_data_out_cnt_s cn61xx;
274 struct cvmx_sli_data_out_cnt_s cn63xx; 401 struct cvmx_sli_data_out_cnt_s cn63xx;
@@ -276,14 +403,21 @@ union cvmx_sli_data_out_cnt {
276 struct cvmx_sli_data_out_cnt_s cn66xx; 403 struct cvmx_sli_data_out_cnt_s cn66xx;
277 struct cvmx_sli_data_out_cnt_s cn68xx; 404 struct cvmx_sli_data_out_cnt_s cn68xx;
278 struct cvmx_sli_data_out_cnt_s cn68xxp1; 405 struct cvmx_sli_data_out_cnt_s cn68xxp1;
406 struct cvmx_sli_data_out_cnt_s cnf71xx;
279}; 407};
280 408
281union cvmx_sli_dbg_data { 409union cvmx_sli_dbg_data {
282 uint64_t u64; 410 uint64_t u64;
283 struct cvmx_sli_dbg_data_s { 411 struct cvmx_sli_dbg_data_s {
412#ifdef __BIG_ENDIAN_BITFIELD
284 uint64_t reserved_18_63:46; 413 uint64_t reserved_18_63:46;
285 uint64_t dsel_ext:1; 414 uint64_t dsel_ext:1;
286 uint64_t data:17; 415 uint64_t data:17;
416#else
417 uint64_t data:17;
418 uint64_t dsel_ext:1;
419 uint64_t reserved_18_63:46;
420#endif
287 } s; 421 } s;
288 struct cvmx_sli_dbg_data_s cn61xx; 422 struct cvmx_sli_dbg_data_s cn61xx;
289 struct cvmx_sli_dbg_data_s cn63xx; 423 struct cvmx_sli_dbg_data_s cn63xx;
@@ -291,14 +425,21 @@ union cvmx_sli_dbg_data {
291 struct cvmx_sli_dbg_data_s cn66xx; 425 struct cvmx_sli_dbg_data_s cn66xx;
292 struct cvmx_sli_dbg_data_s cn68xx; 426 struct cvmx_sli_dbg_data_s cn68xx;
293 struct cvmx_sli_dbg_data_s cn68xxp1; 427 struct cvmx_sli_dbg_data_s cn68xxp1;
428 struct cvmx_sli_dbg_data_s cnf71xx;
294}; 429};
295 430
296union cvmx_sli_dbg_select { 431union cvmx_sli_dbg_select {
297 uint64_t u64; 432 uint64_t u64;
298 struct cvmx_sli_dbg_select_s { 433 struct cvmx_sli_dbg_select_s {
434#ifdef __BIG_ENDIAN_BITFIELD
299 uint64_t reserved_33_63:31; 435 uint64_t reserved_33_63:31;
300 uint64_t adbg_sel:1; 436 uint64_t adbg_sel:1;
301 uint64_t dbg_sel:32; 437 uint64_t dbg_sel:32;
438#else
439 uint64_t dbg_sel:32;
440 uint64_t adbg_sel:1;
441 uint64_t reserved_33_63:31;
442#endif
302 } s; 443 } s;
303 struct cvmx_sli_dbg_select_s cn61xx; 444 struct cvmx_sli_dbg_select_s cn61xx;
304 struct cvmx_sli_dbg_select_s cn63xx; 445 struct cvmx_sli_dbg_select_s cn63xx;
@@ -306,13 +447,19 @@ union cvmx_sli_dbg_select {
306 struct cvmx_sli_dbg_select_s cn66xx; 447 struct cvmx_sli_dbg_select_s cn66xx;
307 struct cvmx_sli_dbg_select_s cn68xx; 448 struct cvmx_sli_dbg_select_s cn68xx;
308 struct cvmx_sli_dbg_select_s cn68xxp1; 449 struct cvmx_sli_dbg_select_s cn68xxp1;
450 struct cvmx_sli_dbg_select_s cnf71xx;
309}; 451};
310 452
311union cvmx_sli_dmax_cnt { 453union cvmx_sli_dmax_cnt {
312 uint64_t u64; 454 uint64_t u64;
313 struct cvmx_sli_dmax_cnt_s { 455 struct cvmx_sli_dmax_cnt_s {
456#ifdef __BIG_ENDIAN_BITFIELD
314 uint64_t reserved_32_63:32; 457 uint64_t reserved_32_63:32;
315 uint64_t cnt:32; 458 uint64_t cnt:32;
459#else
460 uint64_t cnt:32;
461 uint64_t reserved_32_63:32;
462#endif
316 } s; 463 } s;
317 struct cvmx_sli_dmax_cnt_s cn61xx; 464 struct cvmx_sli_dmax_cnt_s cn61xx;
318 struct cvmx_sli_dmax_cnt_s cn63xx; 465 struct cvmx_sli_dmax_cnt_s cn63xx;
@@ -320,13 +467,19 @@ union cvmx_sli_dmax_cnt {
320 struct cvmx_sli_dmax_cnt_s cn66xx; 467 struct cvmx_sli_dmax_cnt_s cn66xx;
321 struct cvmx_sli_dmax_cnt_s cn68xx; 468 struct cvmx_sli_dmax_cnt_s cn68xx;
322 struct cvmx_sli_dmax_cnt_s cn68xxp1; 469 struct cvmx_sli_dmax_cnt_s cn68xxp1;
470 struct cvmx_sli_dmax_cnt_s cnf71xx;
323}; 471};
324 472
325union cvmx_sli_dmax_int_level { 473union cvmx_sli_dmax_int_level {
326 uint64_t u64; 474 uint64_t u64;
327 struct cvmx_sli_dmax_int_level_s { 475 struct cvmx_sli_dmax_int_level_s {
476#ifdef __BIG_ENDIAN_BITFIELD
328 uint64_t time:32; 477 uint64_t time:32;
329 uint64_t cnt:32; 478 uint64_t cnt:32;
479#else
480 uint64_t cnt:32;
481 uint64_t time:32;
482#endif
330 } s; 483 } s;
331 struct cvmx_sli_dmax_int_level_s cn61xx; 484 struct cvmx_sli_dmax_int_level_s cn61xx;
332 struct cvmx_sli_dmax_int_level_s cn63xx; 485 struct cvmx_sli_dmax_int_level_s cn63xx;
@@ -334,13 +487,19 @@ union cvmx_sli_dmax_int_level {
334 struct cvmx_sli_dmax_int_level_s cn66xx; 487 struct cvmx_sli_dmax_int_level_s cn66xx;
335 struct cvmx_sli_dmax_int_level_s cn68xx; 488 struct cvmx_sli_dmax_int_level_s cn68xx;
336 struct cvmx_sli_dmax_int_level_s cn68xxp1; 489 struct cvmx_sli_dmax_int_level_s cn68xxp1;
490 struct cvmx_sli_dmax_int_level_s cnf71xx;
337}; 491};
338 492
339union cvmx_sli_dmax_tim { 493union cvmx_sli_dmax_tim {
340 uint64_t u64; 494 uint64_t u64;
341 struct cvmx_sli_dmax_tim_s { 495 struct cvmx_sli_dmax_tim_s {
496#ifdef __BIG_ENDIAN_BITFIELD
342 uint64_t reserved_32_63:32; 497 uint64_t reserved_32_63:32;
343 uint64_t tim:32; 498 uint64_t tim:32;
499#else
500 uint64_t tim:32;
501 uint64_t reserved_32_63:32;
502#endif
344 } s; 503 } s;
345 struct cvmx_sli_dmax_tim_s cn61xx; 504 struct cvmx_sli_dmax_tim_s cn61xx;
346 struct cvmx_sli_dmax_tim_s cn63xx; 505 struct cvmx_sli_dmax_tim_s cn63xx;
@@ -348,11 +507,13 @@ union cvmx_sli_dmax_tim {
348 struct cvmx_sli_dmax_tim_s cn66xx; 507 struct cvmx_sli_dmax_tim_s cn66xx;
349 struct cvmx_sli_dmax_tim_s cn68xx; 508 struct cvmx_sli_dmax_tim_s cn68xx;
350 struct cvmx_sli_dmax_tim_s cn68xxp1; 509 struct cvmx_sli_dmax_tim_s cn68xxp1;
510 struct cvmx_sli_dmax_tim_s cnf71xx;
351}; 511};
352 512
353union cvmx_sli_int_enb_ciu { 513union cvmx_sli_int_enb_ciu {
354 uint64_t u64; 514 uint64_t u64;
355 struct cvmx_sli_int_enb_ciu_s { 515 struct cvmx_sli_int_enb_ciu_s {
516#ifdef __BIG_ENDIAN_BITFIELD
356 uint64_t reserved_62_63:2; 517 uint64_t reserved_62_63:2;
357 uint64_t pipe_err:1; 518 uint64_t pipe_err:1;
358 uint64_t ill_pad:1; 519 uint64_t ill_pad:1;
@@ -399,8 +560,57 @@ union cvmx_sli_int_enb_ciu {
399 uint64_t bar0_to:1; 560 uint64_t bar0_to:1;
400 uint64_t reserved_1_1:1; 561 uint64_t reserved_1_1:1;
401 uint64_t rml_to:1; 562 uint64_t rml_to:1;
563#else
564 uint64_t rml_to:1;
565 uint64_t reserved_1_1:1;
566 uint64_t bar0_to:1;
567 uint64_t iob2big:1;
568 uint64_t pcnt:1;
569 uint64_t ptime:1;
570 uint64_t reserved_6_7:2;
571 uint64_t m0_up_b0:1;
572 uint64_t m0_up_wi:1;
573 uint64_t m0_un_b0:1;
574 uint64_t m0_un_wi:1;
575 uint64_t m1_up_b0:1;
576 uint64_t m1_up_wi:1;
577 uint64_t m1_un_b0:1;
578 uint64_t m1_un_wi:1;
579 uint64_t mio_int0:1;
580 uint64_t mio_int1:1;
581 uint64_t reserved_18_19:2;
582 uint64_t m2_up_b0:1;
583 uint64_t m2_up_wi:1;
584 uint64_t m2_un_b0:1;
585 uint64_t m2_un_wi:1;
586 uint64_t m3_up_b0:1;
587 uint64_t m3_up_wi:1;
588 uint64_t m3_un_b0:1;
589 uint64_t m3_un_wi:1;
590 uint64_t reserved_28_31:4;
591 uint64_t dmafi:2;
592 uint64_t dcnt:2;
593 uint64_t dtime:2;
594 uint64_t reserved_38_47:10;
595 uint64_t pidbof:1;
596 uint64_t psldbof:1;
597 uint64_t pout_err:1;
598 uint64_t pin_bp:1;
599 uint64_t pgl_err:1;
600 uint64_t pdi_err:1;
601 uint64_t pop_err:1;
602 uint64_t pins_err:1;
603 uint64_t sprt0_err:1;
604 uint64_t sprt1_err:1;
605 uint64_t sprt2_err:1;
606 uint64_t sprt3_err:1;
607 uint64_t ill_pad:1;
608 uint64_t pipe_err:1;
609 uint64_t reserved_62_63:2;
610#endif
402 } s; 611 } s;
403 struct cvmx_sli_int_enb_ciu_cn61xx { 612 struct cvmx_sli_int_enb_ciu_cn61xx {
613#ifdef __BIG_ENDIAN_BITFIELD
404 uint64_t reserved_61_63:3; 614 uint64_t reserved_61_63:3;
405 uint64_t ill_pad:1; 615 uint64_t ill_pad:1;
406 uint64_t sprt3_err:1; 616 uint64_t sprt3_err:1;
@@ -446,8 +656,56 @@ union cvmx_sli_int_enb_ciu {
446 uint64_t bar0_to:1; 656 uint64_t bar0_to:1;
447 uint64_t reserved_1_1:1; 657 uint64_t reserved_1_1:1;
448 uint64_t rml_to:1; 658 uint64_t rml_to:1;
659#else
660 uint64_t rml_to:1;
661 uint64_t reserved_1_1:1;
662 uint64_t bar0_to:1;
663 uint64_t iob2big:1;
664 uint64_t pcnt:1;
665 uint64_t ptime:1;
666 uint64_t reserved_6_7:2;
667 uint64_t m0_up_b0:1;
668 uint64_t m0_up_wi:1;
669 uint64_t m0_un_b0:1;
670 uint64_t m0_un_wi:1;
671 uint64_t m1_up_b0:1;
672 uint64_t m1_up_wi:1;
673 uint64_t m1_un_b0:1;
674 uint64_t m1_un_wi:1;
675 uint64_t mio_int0:1;
676 uint64_t mio_int1:1;
677 uint64_t reserved_18_19:2;
678 uint64_t m2_up_b0:1;
679 uint64_t m2_up_wi:1;
680 uint64_t m2_un_b0:1;
681 uint64_t m2_un_wi:1;
682 uint64_t m3_up_b0:1;
683 uint64_t m3_up_wi:1;
684 uint64_t m3_un_b0:1;
685 uint64_t m3_un_wi:1;
686 uint64_t reserved_28_31:4;
687 uint64_t dmafi:2;
688 uint64_t dcnt:2;
689 uint64_t dtime:2;
690 uint64_t reserved_38_47:10;
691 uint64_t pidbof:1;
692 uint64_t psldbof:1;
693 uint64_t pout_err:1;
694 uint64_t pin_bp:1;
695 uint64_t pgl_err:1;
696 uint64_t pdi_err:1;
697 uint64_t pop_err:1;
698 uint64_t pins_err:1;
699 uint64_t sprt0_err:1;
700 uint64_t sprt1_err:1;
701 uint64_t sprt2_err:1;
702 uint64_t sprt3_err:1;
703 uint64_t ill_pad:1;
704 uint64_t reserved_61_63:3;
705#endif
449 } cn61xx; 706 } cn61xx;
450 struct cvmx_sli_int_enb_ciu_cn63xx { 707 struct cvmx_sli_int_enb_ciu_cn63xx {
708#ifdef __BIG_ENDIAN_BITFIELD
451 uint64_t reserved_61_63:3; 709 uint64_t reserved_61_63:3;
452 uint64_t ill_pad:1; 710 uint64_t ill_pad:1;
453 uint64_t reserved_58_59:2; 711 uint64_t reserved_58_59:2;
@@ -483,10 +741,48 @@ union cvmx_sli_int_enb_ciu {
483 uint64_t bar0_to:1; 741 uint64_t bar0_to:1;
484 uint64_t reserved_1_1:1; 742 uint64_t reserved_1_1:1;
485 uint64_t rml_to:1; 743 uint64_t rml_to:1;
744#else
745 uint64_t rml_to:1;
746 uint64_t reserved_1_1:1;
747 uint64_t bar0_to:1;
748 uint64_t iob2big:1;
749 uint64_t pcnt:1;
750 uint64_t ptime:1;
751 uint64_t reserved_6_7:2;
752 uint64_t m0_up_b0:1;
753 uint64_t m0_up_wi:1;
754 uint64_t m0_un_b0:1;
755 uint64_t m0_un_wi:1;
756 uint64_t m1_up_b0:1;
757 uint64_t m1_up_wi:1;
758 uint64_t m1_un_b0:1;
759 uint64_t m1_un_wi:1;
760 uint64_t mio_int0:1;
761 uint64_t mio_int1:1;
762 uint64_t reserved_18_31:14;
763 uint64_t dmafi:2;
764 uint64_t dcnt:2;
765 uint64_t dtime:2;
766 uint64_t reserved_38_47:10;
767 uint64_t pidbof:1;
768 uint64_t psldbof:1;
769 uint64_t pout_err:1;
770 uint64_t pin_bp:1;
771 uint64_t pgl_err:1;
772 uint64_t pdi_err:1;
773 uint64_t pop_err:1;
774 uint64_t pins_err:1;
775 uint64_t sprt0_err:1;
776 uint64_t sprt1_err:1;
777 uint64_t reserved_58_59:2;
778 uint64_t ill_pad:1;
779 uint64_t reserved_61_63:3;
780#endif
486 } cn63xx; 781 } cn63xx;
487 struct cvmx_sli_int_enb_ciu_cn63xx cn63xxp1; 782 struct cvmx_sli_int_enb_ciu_cn63xx cn63xxp1;
488 struct cvmx_sli_int_enb_ciu_cn61xx cn66xx; 783 struct cvmx_sli_int_enb_ciu_cn61xx cn66xx;
489 struct cvmx_sli_int_enb_ciu_cn68xx { 784 struct cvmx_sli_int_enb_ciu_cn68xx {
785#ifdef __BIG_ENDIAN_BITFIELD
490 uint64_t reserved_62_63:2; 786 uint64_t reserved_62_63:2;
491 uint64_t pipe_err:1; 787 uint64_t pipe_err:1;
492 uint64_t ill_pad:1; 788 uint64_t ill_pad:1;
@@ -523,13 +819,53 @@ union cvmx_sli_int_enb_ciu {
523 uint64_t bar0_to:1; 819 uint64_t bar0_to:1;
524 uint64_t reserved_1_1:1; 820 uint64_t reserved_1_1:1;
525 uint64_t rml_to:1; 821 uint64_t rml_to:1;
822#else
823 uint64_t rml_to:1;
824 uint64_t reserved_1_1:1;
825 uint64_t bar0_to:1;
826 uint64_t iob2big:1;
827 uint64_t pcnt:1;
828 uint64_t ptime:1;
829 uint64_t reserved_6_7:2;
830 uint64_t m0_up_b0:1;
831 uint64_t m0_up_wi:1;
832 uint64_t m0_un_b0:1;
833 uint64_t m0_un_wi:1;
834 uint64_t m1_up_b0:1;
835 uint64_t m1_up_wi:1;
836 uint64_t m1_un_b0:1;
837 uint64_t m1_un_wi:1;
838 uint64_t mio_int0:1;
839 uint64_t mio_int1:1;
840 uint64_t reserved_18_31:14;
841 uint64_t dmafi:2;
842 uint64_t dcnt:2;
843 uint64_t dtime:2;
844 uint64_t reserved_38_47:10;
845 uint64_t pidbof:1;
846 uint64_t psldbof:1;
847 uint64_t pout_err:1;
848 uint64_t reserved_51_51:1;
849 uint64_t pgl_err:1;
850 uint64_t pdi_err:1;
851 uint64_t pop_err:1;
852 uint64_t pins_err:1;
853 uint64_t sprt0_err:1;
854 uint64_t sprt1_err:1;
855 uint64_t reserved_58_59:2;
856 uint64_t ill_pad:1;
857 uint64_t pipe_err:1;
858 uint64_t reserved_62_63:2;
859#endif
526 } cn68xx; 860 } cn68xx;
527 struct cvmx_sli_int_enb_ciu_cn68xx cn68xxp1; 861 struct cvmx_sli_int_enb_ciu_cn68xx cn68xxp1;
862 struct cvmx_sli_int_enb_ciu_cn61xx cnf71xx;
528}; 863};
529 864
530union cvmx_sli_int_enb_portx { 865union cvmx_sli_int_enb_portx {
531 uint64_t u64; 866 uint64_t u64;
532 struct cvmx_sli_int_enb_portx_s { 867 struct cvmx_sli_int_enb_portx_s {
868#ifdef __BIG_ENDIAN_BITFIELD
533 uint64_t reserved_62_63:2; 869 uint64_t reserved_62_63:2;
534 uint64_t pipe_err:1; 870 uint64_t pipe_err:1;
535 uint64_t ill_pad:1; 871 uint64_t ill_pad:1;
@@ -577,8 +913,58 @@ union cvmx_sli_int_enb_portx {
577 uint64_t bar0_to:1; 913 uint64_t bar0_to:1;
578 uint64_t reserved_1_1:1; 914 uint64_t reserved_1_1:1;
579 uint64_t rml_to:1; 915 uint64_t rml_to:1;
916#else
917 uint64_t rml_to:1;
918 uint64_t reserved_1_1:1;
919 uint64_t bar0_to:1;
920 uint64_t iob2big:1;
921 uint64_t pcnt:1;
922 uint64_t ptime:1;
923 uint64_t reserved_6_7:2;
924 uint64_t m0_up_b0:1;
925 uint64_t m0_up_wi:1;
926 uint64_t m0_un_b0:1;
927 uint64_t m0_un_wi:1;
928 uint64_t m1_up_b0:1;
929 uint64_t m1_up_wi:1;
930 uint64_t m1_un_b0:1;
931 uint64_t m1_un_wi:1;
932 uint64_t mio_int0:1;
933 uint64_t mio_int1:1;
934 uint64_t mac0_int:1;
935 uint64_t mac1_int:1;
936 uint64_t m2_up_b0:1;
937 uint64_t m2_up_wi:1;
938 uint64_t m2_un_b0:1;
939 uint64_t m2_un_wi:1;
940 uint64_t m3_up_b0:1;
941 uint64_t m3_up_wi:1;
942 uint64_t m3_un_b0:1;
943 uint64_t m3_un_wi:1;
944 uint64_t reserved_28_31:4;
945 uint64_t dmafi:2;
946 uint64_t dcnt:2;
947 uint64_t dtime:2;
948 uint64_t reserved_38_47:10;
949 uint64_t pidbof:1;
950 uint64_t psldbof:1;
951 uint64_t pout_err:1;
952 uint64_t pin_bp:1;
953 uint64_t pgl_err:1;
954 uint64_t pdi_err:1;
955 uint64_t pop_err:1;
956 uint64_t pins_err:1;
957 uint64_t sprt0_err:1;
958 uint64_t sprt1_err:1;
959 uint64_t sprt2_err:1;
960 uint64_t sprt3_err:1;
961 uint64_t ill_pad:1;
962 uint64_t pipe_err:1;
963 uint64_t reserved_62_63:2;
964#endif
580 } s; 965 } s;
581 struct cvmx_sli_int_enb_portx_cn61xx { 966 struct cvmx_sli_int_enb_portx_cn61xx {
967#ifdef __BIG_ENDIAN_BITFIELD
582 uint64_t reserved_61_63:3; 968 uint64_t reserved_61_63:3;
583 uint64_t ill_pad:1; 969 uint64_t ill_pad:1;
584 uint64_t sprt3_err:1; 970 uint64_t sprt3_err:1;
@@ -625,8 +1011,57 @@ union cvmx_sli_int_enb_portx {
625 uint64_t bar0_to:1; 1011 uint64_t bar0_to:1;
626 uint64_t reserved_1_1:1; 1012 uint64_t reserved_1_1:1;
627 uint64_t rml_to:1; 1013 uint64_t rml_to:1;
1014#else
1015 uint64_t rml_to:1;
1016 uint64_t reserved_1_1:1;
1017 uint64_t bar0_to:1;
1018 uint64_t iob2big:1;
1019 uint64_t pcnt:1;
1020 uint64_t ptime:1;
1021 uint64_t reserved_6_7:2;
1022 uint64_t m0_up_b0:1;
1023 uint64_t m0_up_wi:1;
1024 uint64_t m0_un_b0:1;
1025 uint64_t m0_un_wi:1;
1026 uint64_t m1_up_b0:1;
1027 uint64_t m1_up_wi:1;
1028 uint64_t m1_un_b0:1;
1029 uint64_t m1_un_wi:1;
1030 uint64_t mio_int0:1;
1031 uint64_t mio_int1:1;
1032 uint64_t mac0_int:1;
1033 uint64_t mac1_int:1;
1034 uint64_t m2_up_b0:1;
1035 uint64_t m2_up_wi:1;
1036 uint64_t m2_un_b0:1;
1037 uint64_t m2_un_wi:1;
1038 uint64_t m3_up_b0:1;
1039 uint64_t m3_up_wi:1;
1040 uint64_t m3_un_b0:1;
1041 uint64_t m3_un_wi:1;
1042 uint64_t reserved_28_31:4;
1043 uint64_t dmafi:2;
1044 uint64_t dcnt:2;
1045 uint64_t dtime:2;
1046 uint64_t reserved_38_47:10;
1047 uint64_t pidbof:1;
1048 uint64_t psldbof:1;
1049 uint64_t pout_err:1;
1050 uint64_t pin_bp:1;
1051 uint64_t pgl_err:1;
1052 uint64_t pdi_err:1;
1053 uint64_t pop_err:1;
1054 uint64_t pins_err:1;
1055 uint64_t sprt0_err:1;
1056 uint64_t sprt1_err:1;
1057 uint64_t sprt2_err:1;
1058 uint64_t sprt3_err:1;
1059 uint64_t ill_pad:1;
1060 uint64_t reserved_61_63:3;
1061#endif
628 } cn61xx; 1062 } cn61xx;
629 struct cvmx_sli_int_enb_portx_cn63xx { 1063 struct cvmx_sli_int_enb_portx_cn63xx {
1064#ifdef __BIG_ENDIAN_BITFIELD
630 uint64_t reserved_61_63:3; 1065 uint64_t reserved_61_63:3;
631 uint64_t ill_pad:1; 1066 uint64_t ill_pad:1;
632 uint64_t reserved_58_59:2; 1067 uint64_t reserved_58_59:2;
@@ -664,10 +1099,50 @@ union cvmx_sli_int_enb_portx {
664 uint64_t bar0_to:1; 1099 uint64_t bar0_to:1;
665 uint64_t reserved_1_1:1; 1100 uint64_t reserved_1_1:1;
666 uint64_t rml_to:1; 1101 uint64_t rml_to:1;
1102#else
1103 uint64_t rml_to:1;
1104 uint64_t reserved_1_1:1;
1105 uint64_t bar0_to:1;
1106 uint64_t iob2big:1;
1107 uint64_t pcnt:1;
1108 uint64_t ptime:1;
1109 uint64_t reserved_6_7:2;
1110 uint64_t m0_up_b0:1;
1111 uint64_t m0_up_wi:1;
1112 uint64_t m0_un_b0:1;
1113 uint64_t m0_un_wi:1;
1114 uint64_t m1_up_b0:1;
1115 uint64_t m1_up_wi:1;
1116 uint64_t m1_un_b0:1;
1117 uint64_t m1_un_wi:1;
1118 uint64_t mio_int0:1;
1119 uint64_t mio_int1:1;
1120 uint64_t mac0_int:1;
1121 uint64_t mac1_int:1;
1122 uint64_t reserved_20_31:12;
1123 uint64_t dmafi:2;
1124 uint64_t dcnt:2;
1125 uint64_t dtime:2;
1126 uint64_t reserved_38_47:10;
1127 uint64_t pidbof:1;
1128 uint64_t psldbof:1;
1129 uint64_t pout_err:1;
1130 uint64_t pin_bp:1;
1131 uint64_t pgl_err:1;
1132 uint64_t pdi_err:1;
1133 uint64_t pop_err:1;
1134 uint64_t pins_err:1;
1135 uint64_t sprt0_err:1;
1136 uint64_t sprt1_err:1;
1137 uint64_t reserved_58_59:2;
1138 uint64_t ill_pad:1;
1139 uint64_t reserved_61_63:3;
1140#endif
667 } cn63xx; 1141 } cn63xx;
668 struct cvmx_sli_int_enb_portx_cn63xx cn63xxp1; 1142 struct cvmx_sli_int_enb_portx_cn63xx cn63xxp1;
669 struct cvmx_sli_int_enb_portx_cn61xx cn66xx; 1143 struct cvmx_sli_int_enb_portx_cn61xx cn66xx;
670 struct cvmx_sli_int_enb_portx_cn68xx { 1144 struct cvmx_sli_int_enb_portx_cn68xx {
1145#ifdef __BIG_ENDIAN_BITFIELD
671 uint64_t reserved_62_63:2; 1146 uint64_t reserved_62_63:2;
672 uint64_t pipe_err:1; 1147 uint64_t pipe_err:1;
673 uint64_t ill_pad:1; 1148 uint64_t ill_pad:1;
@@ -706,13 +1181,55 @@ union cvmx_sli_int_enb_portx {
706 uint64_t bar0_to:1; 1181 uint64_t bar0_to:1;
707 uint64_t reserved_1_1:1; 1182 uint64_t reserved_1_1:1;
708 uint64_t rml_to:1; 1183 uint64_t rml_to:1;
1184#else
1185 uint64_t rml_to:1;
1186 uint64_t reserved_1_1:1;
1187 uint64_t bar0_to:1;
1188 uint64_t iob2big:1;
1189 uint64_t pcnt:1;
1190 uint64_t ptime:1;
1191 uint64_t reserved_6_7:2;
1192 uint64_t m0_up_b0:1;
1193 uint64_t m0_up_wi:1;
1194 uint64_t m0_un_b0:1;
1195 uint64_t m0_un_wi:1;
1196 uint64_t m1_up_b0:1;
1197 uint64_t m1_up_wi:1;
1198 uint64_t m1_un_b0:1;
1199 uint64_t m1_un_wi:1;
1200 uint64_t mio_int0:1;
1201 uint64_t mio_int1:1;
1202 uint64_t mac0_int:1;
1203 uint64_t mac1_int:1;
1204 uint64_t reserved_20_31:12;
1205 uint64_t dmafi:2;
1206 uint64_t dcnt:2;
1207 uint64_t dtime:2;
1208 uint64_t reserved_38_47:10;
1209 uint64_t pidbof:1;
1210 uint64_t psldbof:1;
1211 uint64_t pout_err:1;
1212 uint64_t reserved_51_51:1;
1213 uint64_t pgl_err:1;
1214 uint64_t pdi_err:1;
1215 uint64_t pop_err:1;
1216 uint64_t pins_err:1;
1217 uint64_t sprt0_err:1;
1218 uint64_t sprt1_err:1;
1219 uint64_t reserved_58_59:2;
1220 uint64_t ill_pad:1;
1221 uint64_t pipe_err:1;
1222 uint64_t reserved_62_63:2;
1223#endif
709 } cn68xx; 1224 } cn68xx;
710 struct cvmx_sli_int_enb_portx_cn68xx cn68xxp1; 1225 struct cvmx_sli_int_enb_portx_cn68xx cn68xxp1;
1226 struct cvmx_sli_int_enb_portx_cn61xx cnf71xx;
711}; 1227};
712 1228
713union cvmx_sli_int_sum { 1229union cvmx_sli_int_sum {
714 uint64_t u64; 1230 uint64_t u64;
715 struct cvmx_sli_int_sum_s { 1231 struct cvmx_sli_int_sum_s {
1232#ifdef __BIG_ENDIAN_BITFIELD
716 uint64_t reserved_62_63:2; 1233 uint64_t reserved_62_63:2;
717 uint64_t pipe_err:1; 1234 uint64_t pipe_err:1;
718 uint64_t ill_pad:1; 1235 uint64_t ill_pad:1;
@@ -760,8 +1277,58 @@ union cvmx_sli_int_sum {
760 uint64_t bar0_to:1; 1277 uint64_t bar0_to:1;
761 uint64_t reserved_1_1:1; 1278 uint64_t reserved_1_1:1;
762 uint64_t rml_to:1; 1279 uint64_t rml_to:1;
1280#else
1281 uint64_t rml_to:1;
1282 uint64_t reserved_1_1:1;
1283 uint64_t bar0_to:1;
1284 uint64_t iob2big:1;
1285 uint64_t pcnt:1;
1286 uint64_t ptime:1;
1287 uint64_t reserved_6_7:2;
1288 uint64_t m0_up_b0:1;
1289 uint64_t m0_up_wi:1;
1290 uint64_t m0_un_b0:1;
1291 uint64_t m0_un_wi:1;
1292 uint64_t m1_up_b0:1;
1293 uint64_t m1_up_wi:1;
1294 uint64_t m1_un_b0:1;
1295 uint64_t m1_un_wi:1;
1296 uint64_t mio_int0:1;
1297 uint64_t mio_int1:1;
1298 uint64_t mac0_int:1;
1299 uint64_t mac1_int:1;
1300 uint64_t m2_up_b0:1;
1301 uint64_t m2_up_wi:1;
1302 uint64_t m2_un_b0:1;
1303 uint64_t m2_un_wi:1;
1304 uint64_t m3_up_b0:1;
1305 uint64_t m3_up_wi:1;
1306 uint64_t m3_un_b0:1;
1307 uint64_t m3_un_wi:1;
1308 uint64_t reserved_28_31:4;
1309 uint64_t dmafi:2;
1310 uint64_t dcnt:2;
1311 uint64_t dtime:2;
1312 uint64_t reserved_38_47:10;
1313 uint64_t pidbof:1;
1314 uint64_t psldbof:1;
1315 uint64_t pout_err:1;
1316 uint64_t pin_bp:1;
1317 uint64_t pgl_err:1;
1318 uint64_t pdi_err:1;
1319 uint64_t pop_err:1;
1320 uint64_t pins_err:1;
1321 uint64_t sprt0_err:1;
1322 uint64_t sprt1_err:1;
1323 uint64_t sprt2_err:1;
1324 uint64_t sprt3_err:1;
1325 uint64_t ill_pad:1;
1326 uint64_t pipe_err:1;
1327 uint64_t reserved_62_63:2;
1328#endif
763 } s; 1329 } s;
764 struct cvmx_sli_int_sum_cn61xx { 1330 struct cvmx_sli_int_sum_cn61xx {
1331#ifdef __BIG_ENDIAN_BITFIELD
765 uint64_t reserved_61_63:3; 1332 uint64_t reserved_61_63:3;
766 uint64_t ill_pad:1; 1333 uint64_t ill_pad:1;
767 uint64_t sprt3_err:1; 1334 uint64_t sprt3_err:1;
@@ -808,8 +1375,57 @@ union cvmx_sli_int_sum {
808 uint64_t bar0_to:1; 1375 uint64_t bar0_to:1;
809 uint64_t reserved_1_1:1; 1376 uint64_t reserved_1_1:1;
810 uint64_t rml_to:1; 1377 uint64_t rml_to:1;
1378#else
1379 uint64_t rml_to:1;
1380 uint64_t reserved_1_1:1;
1381 uint64_t bar0_to:1;
1382 uint64_t iob2big:1;
1383 uint64_t pcnt:1;
1384 uint64_t ptime:1;
1385 uint64_t reserved_6_7:2;
1386 uint64_t m0_up_b0:1;
1387 uint64_t m0_up_wi:1;
1388 uint64_t m0_un_b0:1;
1389 uint64_t m0_un_wi:1;
1390 uint64_t m1_up_b0:1;
1391 uint64_t m1_up_wi:1;
1392 uint64_t m1_un_b0:1;
1393 uint64_t m1_un_wi:1;
1394 uint64_t mio_int0:1;
1395 uint64_t mio_int1:1;
1396 uint64_t mac0_int:1;
1397 uint64_t mac1_int:1;
1398 uint64_t m2_up_b0:1;
1399 uint64_t m2_up_wi:1;
1400 uint64_t m2_un_b0:1;
1401 uint64_t m2_un_wi:1;
1402 uint64_t m3_up_b0:1;
1403 uint64_t m3_up_wi:1;
1404 uint64_t m3_un_b0:1;
1405 uint64_t m3_un_wi:1;
1406 uint64_t reserved_28_31:4;
1407 uint64_t dmafi:2;
1408 uint64_t dcnt:2;
1409 uint64_t dtime:2;
1410 uint64_t reserved_38_47:10;
1411 uint64_t pidbof:1;
1412 uint64_t psldbof:1;
1413 uint64_t pout_err:1;
1414 uint64_t pin_bp:1;
1415 uint64_t pgl_err:1;
1416 uint64_t pdi_err:1;
1417 uint64_t pop_err:1;
1418 uint64_t pins_err:1;
1419 uint64_t sprt0_err:1;
1420 uint64_t sprt1_err:1;
1421 uint64_t sprt2_err:1;
1422 uint64_t sprt3_err:1;
1423 uint64_t ill_pad:1;
1424 uint64_t reserved_61_63:3;
1425#endif
811 } cn61xx; 1426 } cn61xx;
812 struct cvmx_sli_int_sum_cn63xx { 1427 struct cvmx_sli_int_sum_cn63xx {
1428#ifdef __BIG_ENDIAN_BITFIELD
813 uint64_t reserved_61_63:3; 1429 uint64_t reserved_61_63:3;
814 uint64_t ill_pad:1; 1430 uint64_t ill_pad:1;
815 uint64_t reserved_58_59:2; 1431 uint64_t reserved_58_59:2;
@@ -847,10 +1463,50 @@ union cvmx_sli_int_sum {
847 uint64_t bar0_to:1; 1463 uint64_t bar0_to:1;
848 uint64_t reserved_1_1:1; 1464 uint64_t reserved_1_1:1;
849 uint64_t rml_to:1; 1465 uint64_t rml_to:1;
1466#else
1467 uint64_t rml_to:1;
1468 uint64_t reserved_1_1:1;
1469 uint64_t bar0_to:1;
1470 uint64_t iob2big:1;
1471 uint64_t pcnt:1;
1472 uint64_t ptime:1;
1473 uint64_t reserved_6_7:2;
1474 uint64_t m0_up_b0:1;
1475 uint64_t m0_up_wi:1;
1476 uint64_t m0_un_b0:1;
1477 uint64_t m0_un_wi:1;
1478 uint64_t m1_up_b0:1;
1479 uint64_t m1_up_wi:1;
1480 uint64_t m1_un_b0:1;
1481 uint64_t m1_un_wi:1;
1482 uint64_t mio_int0:1;
1483 uint64_t mio_int1:1;
1484 uint64_t mac0_int:1;
1485 uint64_t mac1_int:1;
1486 uint64_t reserved_20_31:12;
1487 uint64_t dmafi:2;
1488 uint64_t dcnt:2;
1489 uint64_t dtime:2;
1490 uint64_t reserved_38_47:10;
1491 uint64_t pidbof:1;
1492 uint64_t psldbof:1;
1493 uint64_t pout_err:1;
1494 uint64_t pin_bp:1;
1495 uint64_t pgl_err:1;
1496 uint64_t pdi_err:1;
1497 uint64_t pop_err:1;
1498 uint64_t pins_err:1;
1499 uint64_t sprt0_err:1;
1500 uint64_t sprt1_err:1;
1501 uint64_t reserved_58_59:2;
1502 uint64_t ill_pad:1;
1503 uint64_t reserved_61_63:3;
1504#endif
850 } cn63xx; 1505 } cn63xx;
851 struct cvmx_sli_int_sum_cn63xx cn63xxp1; 1506 struct cvmx_sli_int_sum_cn63xx cn63xxp1;
852 struct cvmx_sli_int_sum_cn61xx cn66xx; 1507 struct cvmx_sli_int_sum_cn61xx cn66xx;
853 struct cvmx_sli_int_sum_cn68xx { 1508 struct cvmx_sli_int_sum_cn68xx {
1509#ifdef __BIG_ENDIAN_BITFIELD
854 uint64_t reserved_62_63:2; 1510 uint64_t reserved_62_63:2;
855 uint64_t pipe_err:1; 1511 uint64_t pipe_err:1;
856 uint64_t ill_pad:1; 1512 uint64_t ill_pad:1;
@@ -889,14 +1545,59 @@ union cvmx_sli_int_sum {
889 uint64_t bar0_to:1; 1545 uint64_t bar0_to:1;
890 uint64_t reserved_1_1:1; 1546 uint64_t reserved_1_1:1;
891 uint64_t rml_to:1; 1547 uint64_t rml_to:1;
1548#else
1549 uint64_t rml_to:1;
1550 uint64_t reserved_1_1:1;
1551 uint64_t bar0_to:1;
1552 uint64_t iob2big:1;
1553 uint64_t pcnt:1;
1554 uint64_t ptime:1;
1555 uint64_t reserved_6_7:2;
1556 uint64_t m0_up_b0:1;
1557 uint64_t m0_up_wi:1;
1558 uint64_t m0_un_b0:1;
1559 uint64_t m0_un_wi:1;
1560 uint64_t m1_up_b0:1;
1561 uint64_t m1_up_wi:1;
1562 uint64_t m1_un_b0:1;
1563 uint64_t m1_un_wi:1;
1564 uint64_t mio_int0:1;
1565 uint64_t mio_int1:1;
1566 uint64_t mac0_int:1;
1567 uint64_t mac1_int:1;
1568 uint64_t reserved_20_31:12;
1569 uint64_t dmafi:2;
1570 uint64_t dcnt:2;
1571 uint64_t dtime:2;
1572 uint64_t reserved_38_47:10;
1573 uint64_t pidbof:1;
1574 uint64_t psldbof:1;
1575 uint64_t pout_err:1;
1576 uint64_t reserved_51_51:1;
1577 uint64_t pgl_err:1;
1578 uint64_t pdi_err:1;
1579 uint64_t pop_err:1;
1580 uint64_t pins_err:1;
1581 uint64_t sprt0_err:1;
1582 uint64_t sprt1_err:1;
1583 uint64_t reserved_58_59:2;
1584 uint64_t ill_pad:1;
1585 uint64_t pipe_err:1;
1586 uint64_t reserved_62_63:2;
1587#endif
892 } cn68xx; 1588 } cn68xx;
893 struct cvmx_sli_int_sum_cn68xx cn68xxp1; 1589 struct cvmx_sli_int_sum_cn68xx cn68xxp1;
1590 struct cvmx_sli_int_sum_cn61xx cnf71xx;
894}; 1591};
895 1592
896union cvmx_sli_last_win_rdata0 { 1593union cvmx_sli_last_win_rdata0 {
897 uint64_t u64; 1594 uint64_t u64;
898 struct cvmx_sli_last_win_rdata0_s { 1595 struct cvmx_sli_last_win_rdata0_s {
1596#ifdef __BIG_ENDIAN_BITFIELD
1597 uint64_t data:64;
1598#else
899 uint64_t data:64; 1599 uint64_t data:64;
1600#endif
900 } s; 1601 } s;
901 struct cvmx_sli_last_win_rdata0_s cn61xx; 1602 struct cvmx_sli_last_win_rdata0_s cn61xx;
902 struct cvmx_sli_last_win_rdata0_s cn63xx; 1603 struct cvmx_sli_last_win_rdata0_s cn63xx;
@@ -904,12 +1605,17 @@ union cvmx_sli_last_win_rdata0 {
904 struct cvmx_sli_last_win_rdata0_s cn66xx; 1605 struct cvmx_sli_last_win_rdata0_s cn66xx;
905 struct cvmx_sli_last_win_rdata0_s cn68xx; 1606 struct cvmx_sli_last_win_rdata0_s cn68xx;
906 struct cvmx_sli_last_win_rdata0_s cn68xxp1; 1607 struct cvmx_sli_last_win_rdata0_s cn68xxp1;
1608 struct cvmx_sli_last_win_rdata0_s cnf71xx;
907}; 1609};
908 1610
909union cvmx_sli_last_win_rdata1 { 1611union cvmx_sli_last_win_rdata1 {
910 uint64_t u64; 1612 uint64_t u64;
911 struct cvmx_sli_last_win_rdata1_s { 1613 struct cvmx_sli_last_win_rdata1_s {
1614#ifdef __BIG_ENDIAN_BITFIELD
1615 uint64_t data:64;
1616#else
912 uint64_t data:64; 1617 uint64_t data:64;
1618#endif
913 } s; 1619 } s;
914 struct cvmx_sli_last_win_rdata1_s cn61xx; 1620 struct cvmx_sli_last_win_rdata1_s cn61xx;
915 struct cvmx_sli_last_win_rdata1_s cn63xx; 1621 struct cvmx_sli_last_win_rdata1_s cn63xx;
@@ -917,29 +1623,41 @@ union cvmx_sli_last_win_rdata1 {
917 struct cvmx_sli_last_win_rdata1_s cn66xx; 1623 struct cvmx_sli_last_win_rdata1_s cn66xx;
918 struct cvmx_sli_last_win_rdata1_s cn68xx; 1624 struct cvmx_sli_last_win_rdata1_s cn68xx;
919 struct cvmx_sli_last_win_rdata1_s cn68xxp1; 1625 struct cvmx_sli_last_win_rdata1_s cn68xxp1;
1626 struct cvmx_sli_last_win_rdata1_s cnf71xx;
920}; 1627};
921 1628
922union cvmx_sli_last_win_rdata2 { 1629union cvmx_sli_last_win_rdata2 {
923 uint64_t u64; 1630 uint64_t u64;
924 struct cvmx_sli_last_win_rdata2_s { 1631 struct cvmx_sli_last_win_rdata2_s {
1632#ifdef __BIG_ENDIAN_BITFIELD
1633 uint64_t data:64;
1634#else
925 uint64_t data:64; 1635 uint64_t data:64;
1636#endif
926 } s; 1637 } s;
927 struct cvmx_sli_last_win_rdata2_s cn61xx; 1638 struct cvmx_sli_last_win_rdata2_s cn61xx;
928 struct cvmx_sli_last_win_rdata2_s cn66xx; 1639 struct cvmx_sli_last_win_rdata2_s cn66xx;
1640 struct cvmx_sli_last_win_rdata2_s cnf71xx;
929}; 1641};
930 1642
931union cvmx_sli_last_win_rdata3 { 1643union cvmx_sli_last_win_rdata3 {
932 uint64_t u64; 1644 uint64_t u64;
933 struct cvmx_sli_last_win_rdata3_s { 1645 struct cvmx_sli_last_win_rdata3_s {
1646#ifdef __BIG_ENDIAN_BITFIELD
1647 uint64_t data:64;
1648#else
934 uint64_t data:64; 1649 uint64_t data:64;
1650#endif
935 } s; 1651 } s;
936 struct cvmx_sli_last_win_rdata3_s cn61xx; 1652 struct cvmx_sli_last_win_rdata3_s cn61xx;
937 struct cvmx_sli_last_win_rdata3_s cn66xx; 1653 struct cvmx_sli_last_win_rdata3_s cn66xx;
1654 struct cvmx_sli_last_win_rdata3_s cnf71xx;
938}; 1655};
939 1656
940union cvmx_sli_mac_credit_cnt { 1657union cvmx_sli_mac_credit_cnt {
941 uint64_t u64; 1658 uint64_t u64;
942 struct cvmx_sli_mac_credit_cnt_s { 1659 struct cvmx_sli_mac_credit_cnt_s {
1660#ifdef __BIG_ENDIAN_BITFIELD
943 uint64_t reserved_54_63:10; 1661 uint64_t reserved_54_63:10;
944 uint64_t p1_c_d:1; 1662 uint64_t p1_c_d:1;
945 uint64_t p1_n_d:1; 1663 uint64_t p1_n_d:1;
@@ -953,10 +1671,26 @@ union cvmx_sli_mac_credit_cnt {
953 uint64_t p0_ccnt:8; 1671 uint64_t p0_ccnt:8;
954 uint64_t p0_ncnt:8; 1672 uint64_t p0_ncnt:8;
955 uint64_t p0_pcnt:8; 1673 uint64_t p0_pcnt:8;
1674#else
1675 uint64_t p0_pcnt:8;
1676 uint64_t p0_ncnt:8;
1677 uint64_t p0_ccnt:8;
1678 uint64_t p1_pcnt:8;
1679 uint64_t p1_ncnt:8;
1680 uint64_t p1_ccnt:8;
1681 uint64_t p0_p_d:1;
1682 uint64_t p0_n_d:1;
1683 uint64_t p0_c_d:1;
1684 uint64_t p1_p_d:1;
1685 uint64_t p1_n_d:1;
1686 uint64_t p1_c_d:1;
1687 uint64_t reserved_54_63:10;
1688#endif
956 } s; 1689 } s;
957 struct cvmx_sli_mac_credit_cnt_s cn61xx; 1690 struct cvmx_sli_mac_credit_cnt_s cn61xx;
958 struct cvmx_sli_mac_credit_cnt_s cn63xx; 1691 struct cvmx_sli_mac_credit_cnt_s cn63xx;
959 struct cvmx_sli_mac_credit_cnt_cn63xxp1 { 1692 struct cvmx_sli_mac_credit_cnt_cn63xxp1 {
1693#ifdef __BIG_ENDIAN_BITFIELD
960 uint64_t reserved_48_63:16; 1694 uint64_t reserved_48_63:16;
961 uint64_t p1_ccnt:8; 1695 uint64_t p1_ccnt:8;
962 uint64_t p1_ncnt:8; 1696 uint64_t p1_ncnt:8;
@@ -964,15 +1698,26 @@ union cvmx_sli_mac_credit_cnt {
964 uint64_t p0_ccnt:8; 1698 uint64_t p0_ccnt:8;
965 uint64_t p0_ncnt:8; 1699 uint64_t p0_ncnt:8;
966 uint64_t p0_pcnt:8; 1700 uint64_t p0_pcnt:8;
1701#else
1702 uint64_t p0_pcnt:8;
1703 uint64_t p0_ncnt:8;
1704 uint64_t p0_ccnt:8;
1705 uint64_t p1_pcnt:8;
1706 uint64_t p1_ncnt:8;
1707 uint64_t p1_ccnt:8;
1708 uint64_t reserved_48_63:16;
1709#endif
967 } cn63xxp1; 1710 } cn63xxp1;
968 struct cvmx_sli_mac_credit_cnt_s cn66xx; 1711 struct cvmx_sli_mac_credit_cnt_s cn66xx;
969 struct cvmx_sli_mac_credit_cnt_s cn68xx; 1712 struct cvmx_sli_mac_credit_cnt_s cn68xx;
970 struct cvmx_sli_mac_credit_cnt_s cn68xxp1; 1713 struct cvmx_sli_mac_credit_cnt_s cn68xxp1;
1714 struct cvmx_sli_mac_credit_cnt_s cnf71xx;
971}; 1715};
972 1716
973union cvmx_sli_mac_credit_cnt2 { 1717union cvmx_sli_mac_credit_cnt2 {
974 uint64_t u64; 1718 uint64_t u64;
975 struct cvmx_sli_mac_credit_cnt2_s { 1719 struct cvmx_sli_mac_credit_cnt2_s {
1720#ifdef __BIG_ENDIAN_BITFIELD
976 uint64_t reserved_54_63:10; 1721 uint64_t reserved_54_63:10;
977 uint64_t p3_c_d:1; 1722 uint64_t p3_c_d:1;
978 uint64_t p3_n_d:1; 1723 uint64_t p3_n_d:1;
@@ -986,34 +1731,68 @@ union cvmx_sli_mac_credit_cnt2 {
986 uint64_t p2_ccnt:8; 1731 uint64_t p2_ccnt:8;
987 uint64_t p2_ncnt:8; 1732 uint64_t p2_ncnt:8;
988 uint64_t p2_pcnt:8; 1733 uint64_t p2_pcnt:8;
1734#else
1735 uint64_t p2_pcnt:8;
1736 uint64_t p2_ncnt:8;
1737 uint64_t p2_ccnt:8;
1738 uint64_t p3_pcnt:8;
1739 uint64_t p3_ncnt:8;
1740 uint64_t p3_ccnt:8;
1741 uint64_t p2_p_d:1;
1742 uint64_t p2_n_d:1;
1743 uint64_t p2_c_d:1;
1744 uint64_t p3_p_d:1;
1745 uint64_t p3_n_d:1;
1746 uint64_t p3_c_d:1;
1747 uint64_t reserved_54_63:10;
1748#endif
989 } s; 1749 } s;
990 struct cvmx_sli_mac_credit_cnt2_s cn61xx; 1750 struct cvmx_sli_mac_credit_cnt2_s cn61xx;
991 struct cvmx_sli_mac_credit_cnt2_s cn66xx; 1751 struct cvmx_sli_mac_credit_cnt2_s cn66xx;
1752 struct cvmx_sli_mac_credit_cnt2_s cnf71xx;
992}; 1753};
993 1754
994union cvmx_sli_mac_number { 1755union cvmx_sli_mac_number {
995 uint64_t u64; 1756 uint64_t u64;
996 struct cvmx_sli_mac_number_s { 1757 struct cvmx_sli_mac_number_s {
1758#ifdef __BIG_ENDIAN_BITFIELD
997 uint64_t reserved_9_63:55; 1759 uint64_t reserved_9_63:55;
998 uint64_t a_mode:1; 1760 uint64_t a_mode:1;
999 uint64_t num:8; 1761 uint64_t num:8;
1762#else
1763 uint64_t num:8;
1764 uint64_t a_mode:1;
1765 uint64_t reserved_9_63:55;
1766#endif
1000 } s; 1767 } s;
1001 struct cvmx_sli_mac_number_s cn61xx; 1768 struct cvmx_sli_mac_number_s cn61xx;
1002 struct cvmx_sli_mac_number_cn63xx { 1769 struct cvmx_sli_mac_number_cn63xx {
1770#ifdef __BIG_ENDIAN_BITFIELD
1003 uint64_t reserved_8_63:56; 1771 uint64_t reserved_8_63:56;
1004 uint64_t num:8; 1772 uint64_t num:8;
1773#else
1774 uint64_t num:8;
1775 uint64_t reserved_8_63:56;
1776#endif
1005 } cn63xx; 1777 } cn63xx;
1006 struct cvmx_sli_mac_number_s cn66xx; 1778 struct cvmx_sli_mac_number_s cn66xx;
1007 struct cvmx_sli_mac_number_cn63xx cn68xx; 1779 struct cvmx_sli_mac_number_cn63xx cn68xx;
1008 struct cvmx_sli_mac_number_cn63xx cn68xxp1; 1780 struct cvmx_sli_mac_number_cn63xx cn68xxp1;
1781 struct cvmx_sli_mac_number_s cnf71xx;
1009}; 1782};
1010 1783
1011union cvmx_sli_mem_access_ctl { 1784union cvmx_sli_mem_access_ctl {
1012 uint64_t u64; 1785 uint64_t u64;
1013 struct cvmx_sli_mem_access_ctl_s { 1786 struct cvmx_sli_mem_access_ctl_s {
1787#ifdef __BIG_ENDIAN_BITFIELD
1014 uint64_t reserved_14_63:50; 1788 uint64_t reserved_14_63:50;
1015 uint64_t max_word:4; 1789 uint64_t max_word:4;
1016 uint64_t timer:10; 1790 uint64_t timer:10;
1791#else
1792 uint64_t timer:10;
1793 uint64_t max_word:4;
1794 uint64_t reserved_14_63:50;
1795#endif
1017 } s; 1796 } s;
1018 struct cvmx_sli_mem_access_ctl_s cn61xx; 1797 struct cvmx_sli_mem_access_ctl_s cn61xx;
1019 struct cvmx_sli_mem_access_ctl_s cn63xx; 1798 struct cvmx_sli_mem_access_ctl_s cn63xx;
@@ -1021,11 +1800,13 @@ union cvmx_sli_mem_access_ctl {
1021 struct cvmx_sli_mem_access_ctl_s cn66xx; 1800 struct cvmx_sli_mem_access_ctl_s cn66xx;
1022 struct cvmx_sli_mem_access_ctl_s cn68xx; 1801 struct cvmx_sli_mem_access_ctl_s cn68xx;
1023 struct cvmx_sli_mem_access_ctl_s cn68xxp1; 1802 struct cvmx_sli_mem_access_ctl_s cn68xxp1;
1803 struct cvmx_sli_mem_access_ctl_s cnf71xx;
1024}; 1804};
1025 1805
1026union cvmx_sli_mem_access_subidx { 1806union cvmx_sli_mem_access_subidx {
1027 uint64_t u64; 1807 uint64_t u64;
1028 struct cvmx_sli_mem_access_subidx_s { 1808 struct cvmx_sli_mem_access_subidx_s {
1809#ifdef __BIG_ENDIAN_BITFIELD
1029 uint64_t reserved_43_63:21; 1810 uint64_t reserved_43_63:21;
1030 uint64_t zero:1; 1811 uint64_t zero:1;
1031 uint64_t port:3; 1812 uint64_t port:3;
@@ -1035,8 +1816,20 @@ union cvmx_sli_mem_access_subidx {
1035 uint64_t wtype:2; 1816 uint64_t wtype:2;
1036 uint64_t rtype:2; 1817 uint64_t rtype:2;
1037 uint64_t reserved_0_29:30; 1818 uint64_t reserved_0_29:30;
1819#else
1820 uint64_t reserved_0_29:30;
1821 uint64_t rtype:2;
1822 uint64_t wtype:2;
1823 uint64_t esw:2;
1824 uint64_t esr:2;
1825 uint64_t nmerge:1;
1826 uint64_t port:3;
1827 uint64_t zero:1;
1828 uint64_t reserved_43_63:21;
1829#endif
1038 } s; 1830 } s;
1039 struct cvmx_sli_mem_access_subidx_cn61xx { 1831 struct cvmx_sli_mem_access_subidx_cn61xx {
1832#ifdef __BIG_ENDIAN_BITFIELD
1040 uint64_t reserved_43_63:21; 1833 uint64_t reserved_43_63:21;
1041 uint64_t zero:1; 1834 uint64_t zero:1;
1042 uint64_t port:3; 1835 uint64_t port:3;
@@ -1046,11 +1839,23 @@ union cvmx_sli_mem_access_subidx {
1046 uint64_t wtype:2; 1839 uint64_t wtype:2;
1047 uint64_t rtype:2; 1840 uint64_t rtype:2;
1048 uint64_t ba:30; 1841 uint64_t ba:30;
1842#else
1843 uint64_t ba:30;
1844 uint64_t rtype:2;
1845 uint64_t wtype:2;
1846 uint64_t esw:2;
1847 uint64_t esr:2;
1848 uint64_t nmerge:1;
1849 uint64_t port:3;
1850 uint64_t zero:1;
1851 uint64_t reserved_43_63:21;
1852#endif
1049 } cn61xx; 1853 } cn61xx;
1050 struct cvmx_sli_mem_access_subidx_cn61xx cn63xx; 1854 struct cvmx_sli_mem_access_subidx_cn61xx cn63xx;
1051 struct cvmx_sli_mem_access_subidx_cn61xx cn63xxp1; 1855 struct cvmx_sli_mem_access_subidx_cn61xx cn63xxp1;
1052 struct cvmx_sli_mem_access_subidx_cn61xx cn66xx; 1856 struct cvmx_sli_mem_access_subidx_cn61xx cn66xx;
1053 struct cvmx_sli_mem_access_subidx_cn68xx { 1857 struct cvmx_sli_mem_access_subidx_cn68xx {
1858#ifdef __BIG_ENDIAN_BITFIELD
1054 uint64_t reserved_43_63:21; 1859 uint64_t reserved_43_63:21;
1055 uint64_t zero:1; 1860 uint64_t zero:1;
1056 uint64_t port:3; 1861 uint64_t port:3;
@@ -1061,14 +1866,31 @@ union cvmx_sli_mem_access_subidx {
1061 uint64_t rtype:2; 1866 uint64_t rtype:2;
1062 uint64_t ba:28; 1867 uint64_t ba:28;
1063 uint64_t reserved_0_1:2; 1868 uint64_t reserved_0_1:2;
1869#else
1870 uint64_t reserved_0_1:2;
1871 uint64_t ba:28;
1872 uint64_t rtype:2;
1873 uint64_t wtype:2;
1874 uint64_t esw:2;
1875 uint64_t esr:2;
1876 uint64_t nmerge:1;
1877 uint64_t port:3;
1878 uint64_t zero:1;
1879 uint64_t reserved_43_63:21;
1880#endif
1064 } cn68xx; 1881 } cn68xx;
1065 struct cvmx_sli_mem_access_subidx_cn68xx cn68xxp1; 1882 struct cvmx_sli_mem_access_subidx_cn68xx cn68xxp1;
1883 struct cvmx_sli_mem_access_subidx_cn61xx cnf71xx;
1066}; 1884};
1067 1885
1068union cvmx_sli_msi_enb0 { 1886union cvmx_sli_msi_enb0 {
1069 uint64_t u64; 1887 uint64_t u64;
1070 struct cvmx_sli_msi_enb0_s { 1888 struct cvmx_sli_msi_enb0_s {
1889#ifdef __BIG_ENDIAN_BITFIELD
1890 uint64_t enb:64;
1891#else
1071 uint64_t enb:64; 1892 uint64_t enb:64;
1893#endif
1072 } s; 1894 } s;
1073 struct cvmx_sli_msi_enb0_s cn61xx; 1895 struct cvmx_sli_msi_enb0_s cn61xx;
1074 struct cvmx_sli_msi_enb0_s cn63xx; 1896 struct cvmx_sli_msi_enb0_s cn63xx;
@@ -1076,12 +1898,17 @@ union cvmx_sli_msi_enb0 {
1076 struct cvmx_sli_msi_enb0_s cn66xx; 1898 struct cvmx_sli_msi_enb0_s cn66xx;
1077 struct cvmx_sli_msi_enb0_s cn68xx; 1899 struct cvmx_sli_msi_enb0_s cn68xx;
1078 struct cvmx_sli_msi_enb0_s cn68xxp1; 1900 struct cvmx_sli_msi_enb0_s cn68xxp1;
1901 struct cvmx_sli_msi_enb0_s cnf71xx;
1079}; 1902};
1080 1903
1081union cvmx_sli_msi_enb1 { 1904union cvmx_sli_msi_enb1 {
1082 uint64_t u64; 1905 uint64_t u64;
1083 struct cvmx_sli_msi_enb1_s { 1906 struct cvmx_sli_msi_enb1_s {
1907#ifdef __BIG_ENDIAN_BITFIELD
1908 uint64_t enb:64;
1909#else
1084 uint64_t enb:64; 1910 uint64_t enb:64;
1911#endif
1085 } s; 1912 } s;
1086 struct cvmx_sli_msi_enb1_s cn61xx; 1913 struct cvmx_sli_msi_enb1_s cn61xx;
1087 struct cvmx_sli_msi_enb1_s cn63xx; 1914 struct cvmx_sli_msi_enb1_s cn63xx;
@@ -1089,12 +1916,17 @@ union cvmx_sli_msi_enb1 {
1089 struct cvmx_sli_msi_enb1_s cn66xx; 1916 struct cvmx_sli_msi_enb1_s cn66xx;
1090 struct cvmx_sli_msi_enb1_s cn68xx; 1917 struct cvmx_sli_msi_enb1_s cn68xx;
1091 struct cvmx_sli_msi_enb1_s cn68xxp1; 1918 struct cvmx_sli_msi_enb1_s cn68xxp1;
1919 struct cvmx_sli_msi_enb1_s cnf71xx;
1092}; 1920};
1093 1921
1094union cvmx_sli_msi_enb2 { 1922union cvmx_sli_msi_enb2 {
1095 uint64_t u64; 1923 uint64_t u64;
1096 struct cvmx_sli_msi_enb2_s { 1924 struct cvmx_sli_msi_enb2_s {
1925#ifdef __BIG_ENDIAN_BITFIELD
1926 uint64_t enb:64;
1927#else
1097 uint64_t enb:64; 1928 uint64_t enb:64;
1929#endif
1098 } s; 1930 } s;
1099 struct cvmx_sli_msi_enb2_s cn61xx; 1931 struct cvmx_sli_msi_enb2_s cn61xx;
1100 struct cvmx_sli_msi_enb2_s cn63xx; 1932 struct cvmx_sli_msi_enb2_s cn63xx;
@@ -1102,12 +1934,17 @@ union cvmx_sli_msi_enb2 {
1102 struct cvmx_sli_msi_enb2_s cn66xx; 1934 struct cvmx_sli_msi_enb2_s cn66xx;
1103 struct cvmx_sli_msi_enb2_s cn68xx; 1935 struct cvmx_sli_msi_enb2_s cn68xx;
1104 struct cvmx_sli_msi_enb2_s cn68xxp1; 1936 struct cvmx_sli_msi_enb2_s cn68xxp1;
1937 struct cvmx_sli_msi_enb2_s cnf71xx;
1105}; 1938};
1106 1939
1107union cvmx_sli_msi_enb3 { 1940union cvmx_sli_msi_enb3 {
1108 uint64_t u64; 1941 uint64_t u64;
1109 struct cvmx_sli_msi_enb3_s { 1942 struct cvmx_sli_msi_enb3_s {
1943#ifdef __BIG_ENDIAN_BITFIELD
1944 uint64_t enb:64;
1945#else
1110 uint64_t enb:64; 1946 uint64_t enb:64;
1947#endif
1111 } s; 1948 } s;
1112 struct cvmx_sli_msi_enb3_s cn61xx; 1949 struct cvmx_sli_msi_enb3_s cn61xx;
1113 struct cvmx_sli_msi_enb3_s cn63xx; 1950 struct cvmx_sli_msi_enb3_s cn63xx;
@@ -1115,12 +1952,17 @@ union cvmx_sli_msi_enb3 {
1115 struct cvmx_sli_msi_enb3_s cn66xx; 1952 struct cvmx_sli_msi_enb3_s cn66xx;
1116 struct cvmx_sli_msi_enb3_s cn68xx; 1953 struct cvmx_sli_msi_enb3_s cn68xx;
1117 struct cvmx_sli_msi_enb3_s cn68xxp1; 1954 struct cvmx_sli_msi_enb3_s cn68xxp1;
1955 struct cvmx_sli_msi_enb3_s cnf71xx;
1118}; 1956};
1119 1957
1120union cvmx_sli_msi_rcv0 { 1958union cvmx_sli_msi_rcv0 {
1121 uint64_t u64; 1959 uint64_t u64;
1122 struct cvmx_sli_msi_rcv0_s { 1960 struct cvmx_sli_msi_rcv0_s {
1961#ifdef __BIG_ENDIAN_BITFIELD
1962 uint64_t intr:64;
1963#else
1123 uint64_t intr:64; 1964 uint64_t intr:64;
1965#endif
1124 } s; 1966 } s;
1125 struct cvmx_sli_msi_rcv0_s cn61xx; 1967 struct cvmx_sli_msi_rcv0_s cn61xx;
1126 struct cvmx_sli_msi_rcv0_s cn63xx; 1968 struct cvmx_sli_msi_rcv0_s cn63xx;
@@ -1128,12 +1970,17 @@ union cvmx_sli_msi_rcv0 {
1128 struct cvmx_sli_msi_rcv0_s cn66xx; 1970 struct cvmx_sli_msi_rcv0_s cn66xx;
1129 struct cvmx_sli_msi_rcv0_s cn68xx; 1971 struct cvmx_sli_msi_rcv0_s cn68xx;
1130 struct cvmx_sli_msi_rcv0_s cn68xxp1; 1972 struct cvmx_sli_msi_rcv0_s cn68xxp1;
1973 struct cvmx_sli_msi_rcv0_s cnf71xx;
1131}; 1974};
1132 1975
1133union cvmx_sli_msi_rcv1 { 1976union cvmx_sli_msi_rcv1 {
1134 uint64_t u64; 1977 uint64_t u64;
1135 struct cvmx_sli_msi_rcv1_s { 1978 struct cvmx_sli_msi_rcv1_s {
1979#ifdef __BIG_ENDIAN_BITFIELD
1980 uint64_t intr:64;
1981#else
1136 uint64_t intr:64; 1982 uint64_t intr:64;
1983#endif
1137 } s; 1984 } s;
1138 struct cvmx_sli_msi_rcv1_s cn61xx; 1985 struct cvmx_sli_msi_rcv1_s cn61xx;
1139 struct cvmx_sli_msi_rcv1_s cn63xx; 1986 struct cvmx_sli_msi_rcv1_s cn63xx;
@@ -1141,12 +1988,17 @@ union cvmx_sli_msi_rcv1 {
1141 struct cvmx_sli_msi_rcv1_s cn66xx; 1988 struct cvmx_sli_msi_rcv1_s cn66xx;
1142 struct cvmx_sli_msi_rcv1_s cn68xx; 1989 struct cvmx_sli_msi_rcv1_s cn68xx;
1143 struct cvmx_sli_msi_rcv1_s cn68xxp1; 1990 struct cvmx_sli_msi_rcv1_s cn68xxp1;
1991 struct cvmx_sli_msi_rcv1_s cnf71xx;
1144}; 1992};
1145 1993
1146union cvmx_sli_msi_rcv2 { 1994union cvmx_sli_msi_rcv2 {
1147 uint64_t u64; 1995 uint64_t u64;
1148 struct cvmx_sli_msi_rcv2_s { 1996 struct cvmx_sli_msi_rcv2_s {
1997#ifdef __BIG_ENDIAN_BITFIELD
1998 uint64_t intr:64;
1999#else
1149 uint64_t intr:64; 2000 uint64_t intr:64;
2001#endif
1150 } s; 2002 } s;
1151 struct cvmx_sli_msi_rcv2_s cn61xx; 2003 struct cvmx_sli_msi_rcv2_s cn61xx;
1152 struct cvmx_sli_msi_rcv2_s cn63xx; 2004 struct cvmx_sli_msi_rcv2_s cn63xx;
@@ -1154,12 +2006,17 @@ union cvmx_sli_msi_rcv2 {
1154 struct cvmx_sli_msi_rcv2_s cn66xx; 2006 struct cvmx_sli_msi_rcv2_s cn66xx;
1155 struct cvmx_sli_msi_rcv2_s cn68xx; 2007 struct cvmx_sli_msi_rcv2_s cn68xx;
1156 struct cvmx_sli_msi_rcv2_s cn68xxp1; 2008 struct cvmx_sli_msi_rcv2_s cn68xxp1;
2009 struct cvmx_sli_msi_rcv2_s cnf71xx;
1157}; 2010};
1158 2011
1159union cvmx_sli_msi_rcv3 { 2012union cvmx_sli_msi_rcv3 {
1160 uint64_t u64; 2013 uint64_t u64;
1161 struct cvmx_sli_msi_rcv3_s { 2014 struct cvmx_sli_msi_rcv3_s {
2015#ifdef __BIG_ENDIAN_BITFIELD
2016 uint64_t intr:64;
2017#else
1162 uint64_t intr:64; 2018 uint64_t intr:64;
2019#endif
1163 } s; 2020 } s;
1164 struct cvmx_sli_msi_rcv3_s cn61xx; 2021 struct cvmx_sli_msi_rcv3_s cn61xx;
1165 struct cvmx_sli_msi_rcv3_s cn63xx; 2022 struct cvmx_sli_msi_rcv3_s cn63xx;
@@ -1167,14 +2024,21 @@ union cvmx_sli_msi_rcv3 {
1167 struct cvmx_sli_msi_rcv3_s cn66xx; 2024 struct cvmx_sli_msi_rcv3_s cn66xx;
1168 struct cvmx_sli_msi_rcv3_s cn68xx; 2025 struct cvmx_sli_msi_rcv3_s cn68xx;
1169 struct cvmx_sli_msi_rcv3_s cn68xxp1; 2026 struct cvmx_sli_msi_rcv3_s cn68xxp1;
2027 struct cvmx_sli_msi_rcv3_s cnf71xx;
1170}; 2028};
1171 2029
1172union cvmx_sli_msi_rd_map { 2030union cvmx_sli_msi_rd_map {
1173 uint64_t u64; 2031 uint64_t u64;
1174 struct cvmx_sli_msi_rd_map_s { 2032 struct cvmx_sli_msi_rd_map_s {
2033#ifdef __BIG_ENDIAN_BITFIELD
1175 uint64_t reserved_16_63:48; 2034 uint64_t reserved_16_63:48;
1176 uint64_t rd_int:8; 2035 uint64_t rd_int:8;
1177 uint64_t msi_int:8; 2036 uint64_t msi_int:8;
2037#else
2038 uint64_t msi_int:8;
2039 uint64_t rd_int:8;
2040 uint64_t reserved_16_63:48;
2041#endif
1178 } s; 2042 } s;
1179 struct cvmx_sli_msi_rd_map_s cn61xx; 2043 struct cvmx_sli_msi_rd_map_s cn61xx;
1180 struct cvmx_sli_msi_rd_map_s cn63xx; 2044 struct cvmx_sli_msi_rd_map_s cn63xx;
@@ -1182,12 +2046,17 @@ union cvmx_sli_msi_rd_map {
1182 struct cvmx_sli_msi_rd_map_s cn66xx; 2046 struct cvmx_sli_msi_rd_map_s cn66xx;
1183 struct cvmx_sli_msi_rd_map_s cn68xx; 2047 struct cvmx_sli_msi_rd_map_s cn68xx;
1184 struct cvmx_sli_msi_rd_map_s cn68xxp1; 2048 struct cvmx_sli_msi_rd_map_s cn68xxp1;
2049 struct cvmx_sli_msi_rd_map_s cnf71xx;
1185}; 2050};
1186 2051
1187union cvmx_sli_msi_w1c_enb0 { 2052union cvmx_sli_msi_w1c_enb0 {
1188 uint64_t u64; 2053 uint64_t u64;
1189 struct cvmx_sli_msi_w1c_enb0_s { 2054 struct cvmx_sli_msi_w1c_enb0_s {
2055#ifdef __BIG_ENDIAN_BITFIELD
2056 uint64_t clr:64;
2057#else
1190 uint64_t clr:64; 2058 uint64_t clr:64;
2059#endif
1191 } s; 2060 } s;
1192 struct cvmx_sli_msi_w1c_enb0_s cn61xx; 2061 struct cvmx_sli_msi_w1c_enb0_s cn61xx;
1193 struct cvmx_sli_msi_w1c_enb0_s cn63xx; 2062 struct cvmx_sli_msi_w1c_enb0_s cn63xx;
@@ -1195,12 +2064,17 @@ union cvmx_sli_msi_w1c_enb0 {
1195 struct cvmx_sli_msi_w1c_enb0_s cn66xx; 2064 struct cvmx_sli_msi_w1c_enb0_s cn66xx;
1196 struct cvmx_sli_msi_w1c_enb0_s cn68xx; 2065 struct cvmx_sli_msi_w1c_enb0_s cn68xx;
1197 struct cvmx_sli_msi_w1c_enb0_s cn68xxp1; 2066 struct cvmx_sli_msi_w1c_enb0_s cn68xxp1;
2067 struct cvmx_sli_msi_w1c_enb0_s cnf71xx;
1198}; 2068};
1199 2069
1200union cvmx_sli_msi_w1c_enb1 { 2070union cvmx_sli_msi_w1c_enb1 {
1201 uint64_t u64; 2071 uint64_t u64;
1202 struct cvmx_sli_msi_w1c_enb1_s { 2072 struct cvmx_sli_msi_w1c_enb1_s {
2073#ifdef __BIG_ENDIAN_BITFIELD
2074 uint64_t clr:64;
2075#else
1203 uint64_t clr:64; 2076 uint64_t clr:64;
2077#endif
1204 } s; 2078 } s;
1205 struct cvmx_sli_msi_w1c_enb1_s cn61xx; 2079 struct cvmx_sli_msi_w1c_enb1_s cn61xx;
1206 struct cvmx_sli_msi_w1c_enb1_s cn63xx; 2080 struct cvmx_sli_msi_w1c_enb1_s cn63xx;
@@ -1208,12 +2082,17 @@ union cvmx_sli_msi_w1c_enb1 {
1208 struct cvmx_sli_msi_w1c_enb1_s cn66xx; 2082 struct cvmx_sli_msi_w1c_enb1_s cn66xx;
1209 struct cvmx_sli_msi_w1c_enb1_s cn68xx; 2083 struct cvmx_sli_msi_w1c_enb1_s cn68xx;
1210 struct cvmx_sli_msi_w1c_enb1_s cn68xxp1; 2084 struct cvmx_sli_msi_w1c_enb1_s cn68xxp1;
2085 struct cvmx_sli_msi_w1c_enb1_s cnf71xx;
1211}; 2086};
1212 2087
1213union cvmx_sli_msi_w1c_enb2 { 2088union cvmx_sli_msi_w1c_enb2 {
1214 uint64_t u64; 2089 uint64_t u64;
1215 struct cvmx_sli_msi_w1c_enb2_s { 2090 struct cvmx_sli_msi_w1c_enb2_s {
2091#ifdef __BIG_ENDIAN_BITFIELD
2092 uint64_t clr:64;
2093#else
1216 uint64_t clr:64; 2094 uint64_t clr:64;
2095#endif
1217 } s; 2096 } s;
1218 struct cvmx_sli_msi_w1c_enb2_s cn61xx; 2097 struct cvmx_sli_msi_w1c_enb2_s cn61xx;
1219 struct cvmx_sli_msi_w1c_enb2_s cn63xx; 2098 struct cvmx_sli_msi_w1c_enb2_s cn63xx;
@@ -1221,12 +2100,17 @@ union cvmx_sli_msi_w1c_enb2 {
1221 struct cvmx_sli_msi_w1c_enb2_s cn66xx; 2100 struct cvmx_sli_msi_w1c_enb2_s cn66xx;
1222 struct cvmx_sli_msi_w1c_enb2_s cn68xx; 2101 struct cvmx_sli_msi_w1c_enb2_s cn68xx;
1223 struct cvmx_sli_msi_w1c_enb2_s cn68xxp1; 2102 struct cvmx_sli_msi_w1c_enb2_s cn68xxp1;
2103 struct cvmx_sli_msi_w1c_enb2_s cnf71xx;
1224}; 2104};
1225 2105
1226union cvmx_sli_msi_w1c_enb3 { 2106union cvmx_sli_msi_w1c_enb3 {
1227 uint64_t u64; 2107 uint64_t u64;
1228 struct cvmx_sli_msi_w1c_enb3_s { 2108 struct cvmx_sli_msi_w1c_enb3_s {
2109#ifdef __BIG_ENDIAN_BITFIELD
2110 uint64_t clr:64;
2111#else
1229 uint64_t clr:64; 2112 uint64_t clr:64;
2113#endif
1230 } s; 2114 } s;
1231 struct cvmx_sli_msi_w1c_enb3_s cn61xx; 2115 struct cvmx_sli_msi_w1c_enb3_s cn61xx;
1232 struct cvmx_sli_msi_w1c_enb3_s cn63xx; 2116 struct cvmx_sli_msi_w1c_enb3_s cn63xx;
@@ -1234,12 +2118,17 @@ union cvmx_sli_msi_w1c_enb3 {
1234 struct cvmx_sli_msi_w1c_enb3_s cn66xx; 2118 struct cvmx_sli_msi_w1c_enb3_s cn66xx;
1235 struct cvmx_sli_msi_w1c_enb3_s cn68xx; 2119 struct cvmx_sli_msi_w1c_enb3_s cn68xx;
1236 struct cvmx_sli_msi_w1c_enb3_s cn68xxp1; 2120 struct cvmx_sli_msi_w1c_enb3_s cn68xxp1;
2121 struct cvmx_sli_msi_w1c_enb3_s cnf71xx;
1237}; 2122};
1238 2123
1239union cvmx_sli_msi_w1s_enb0 { 2124union cvmx_sli_msi_w1s_enb0 {
1240 uint64_t u64; 2125 uint64_t u64;
1241 struct cvmx_sli_msi_w1s_enb0_s { 2126 struct cvmx_sli_msi_w1s_enb0_s {
2127#ifdef __BIG_ENDIAN_BITFIELD
2128 uint64_t set:64;
2129#else
1242 uint64_t set:64; 2130 uint64_t set:64;
2131#endif
1243 } s; 2132 } s;
1244 struct cvmx_sli_msi_w1s_enb0_s cn61xx; 2133 struct cvmx_sli_msi_w1s_enb0_s cn61xx;
1245 struct cvmx_sli_msi_w1s_enb0_s cn63xx; 2134 struct cvmx_sli_msi_w1s_enb0_s cn63xx;
@@ -1247,12 +2136,17 @@ union cvmx_sli_msi_w1s_enb0 {
1247 struct cvmx_sli_msi_w1s_enb0_s cn66xx; 2136 struct cvmx_sli_msi_w1s_enb0_s cn66xx;
1248 struct cvmx_sli_msi_w1s_enb0_s cn68xx; 2137 struct cvmx_sli_msi_w1s_enb0_s cn68xx;
1249 struct cvmx_sli_msi_w1s_enb0_s cn68xxp1; 2138 struct cvmx_sli_msi_w1s_enb0_s cn68xxp1;
2139 struct cvmx_sli_msi_w1s_enb0_s cnf71xx;
1250}; 2140};
1251 2141
1252union cvmx_sli_msi_w1s_enb1 { 2142union cvmx_sli_msi_w1s_enb1 {
1253 uint64_t u64; 2143 uint64_t u64;
1254 struct cvmx_sli_msi_w1s_enb1_s { 2144 struct cvmx_sli_msi_w1s_enb1_s {
2145#ifdef __BIG_ENDIAN_BITFIELD
2146 uint64_t set:64;
2147#else
1255 uint64_t set:64; 2148 uint64_t set:64;
2149#endif
1256 } s; 2150 } s;
1257 struct cvmx_sli_msi_w1s_enb1_s cn61xx; 2151 struct cvmx_sli_msi_w1s_enb1_s cn61xx;
1258 struct cvmx_sli_msi_w1s_enb1_s cn63xx; 2152 struct cvmx_sli_msi_w1s_enb1_s cn63xx;
@@ -1260,12 +2154,17 @@ union cvmx_sli_msi_w1s_enb1 {
1260 struct cvmx_sli_msi_w1s_enb1_s cn66xx; 2154 struct cvmx_sli_msi_w1s_enb1_s cn66xx;
1261 struct cvmx_sli_msi_w1s_enb1_s cn68xx; 2155 struct cvmx_sli_msi_w1s_enb1_s cn68xx;
1262 struct cvmx_sli_msi_w1s_enb1_s cn68xxp1; 2156 struct cvmx_sli_msi_w1s_enb1_s cn68xxp1;
2157 struct cvmx_sli_msi_w1s_enb1_s cnf71xx;
1263}; 2158};
1264 2159
1265union cvmx_sli_msi_w1s_enb2 { 2160union cvmx_sli_msi_w1s_enb2 {
1266 uint64_t u64; 2161 uint64_t u64;
1267 struct cvmx_sli_msi_w1s_enb2_s { 2162 struct cvmx_sli_msi_w1s_enb2_s {
2163#ifdef __BIG_ENDIAN_BITFIELD
2164 uint64_t set:64;
2165#else
1268 uint64_t set:64; 2166 uint64_t set:64;
2167#endif
1269 } s; 2168 } s;
1270 struct cvmx_sli_msi_w1s_enb2_s cn61xx; 2169 struct cvmx_sli_msi_w1s_enb2_s cn61xx;
1271 struct cvmx_sli_msi_w1s_enb2_s cn63xx; 2170 struct cvmx_sli_msi_w1s_enb2_s cn63xx;
@@ -1273,12 +2172,17 @@ union cvmx_sli_msi_w1s_enb2 {
1273 struct cvmx_sli_msi_w1s_enb2_s cn66xx; 2172 struct cvmx_sli_msi_w1s_enb2_s cn66xx;
1274 struct cvmx_sli_msi_w1s_enb2_s cn68xx; 2173 struct cvmx_sli_msi_w1s_enb2_s cn68xx;
1275 struct cvmx_sli_msi_w1s_enb2_s cn68xxp1; 2174 struct cvmx_sli_msi_w1s_enb2_s cn68xxp1;
2175 struct cvmx_sli_msi_w1s_enb2_s cnf71xx;
1276}; 2176};
1277 2177
1278union cvmx_sli_msi_w1s_enb3 { 2178union cvmx_sli_msi_w1s_enb3 {
1279 uint64_t u64; 2179 uint64_t u64;
1280 struct cvmx_sli_msi_w1s_enb3_s { 2180 struct cvmx_sli_msi_w1s_enb3_s {
2181#ifdef __BIG_ENDIAN_BITFIELD
2182 uint64_t set:64;
2183#else
1281 uint64_t set:64; 2184 uint64_t set:64;
2185#endif
1282 } s; 2186 } s;
1283 struct cvmx_sli_msi_w1s_enb3_s cn61xx; 2187 struct cvmx_sli_msi_w1s_enb3_s cn61xx;
1284 struct cvmx_sli_msi_w1s_enb3_s cn63xx; 2188 struct cvmx_sli_msi_w1s_enb3_s cn63xx;
@@ -1286,14 +2190,21 @@ union cvmx_sli_msi_w1s_enb3 {
1286 struct cvmx_sli_msi_w1s_enb3_s cn66xx; 2190 struct cvmx_sli_msi_w1s_enb3_s cn66xx;
1287 struct cvmx_sli_msi_w1s_enb3_s cn68xx; 2191 struct cvmx_sli_msi_w1s_enb3_s cn68xx;
1288 struct cvmx_sli_msi_w1s_enb3_s cn68xxp1; 2192 struct cvmx_sli_msi_w1s_enb3_s cn68xxp1;
2193 struct cvmx_sli_msi_w1s_enb3_s cnf71xx;
1289}; 2194};
1290 2195
1291union cvmx_sli_msi_wr_map { 2196union cvmx_sli_msi_wr_map {
1292 uint64_t u64; 2197 uint64_t u64;
1293 struct cvmx_sli_msi_wr_map_s { 2198 struct cvmx_sli_msi_wr_map_s {
2199#ifdef __BIG_ENDIAN_BITFIELD
1294 uint64_t reserved_16_63:48; 2200 uint64_t reserved_16_63:48;
1295 uint64_t ciu_int:8; 2201 uint64_t ciu_int:8;
1296 uint64_t msi_int:8; 2202 uint64_t msi_int:8;
2203#else
2204 uint64_t msi_int:8;
2205 uint64_t ciu_int:8;
2206 uint64_t reserved_16_63:48;
2207#endif
1297 } s; 2208 } s;
1298 struct cvmx_sli_msi_wr_map_s cn61xx; 2209 struct cvmx_sli_msi_wr_map_s cn61xx;
1299 struct cvmx_sli_msi_wr_map_s cn63xx; 2210 struct cvmx_sli_msi_wr_map_s cn63xx;
@@ -1301,13 +2212,19 @@ union cvmx_sli_msi_wr_map {
1301 struct cvmx_sli_msi_wr_map_s cn66xx; 2212 struct cvmx_sli_msi_wr_map_s cn66xx;
1302 struct cvmx_sli_msi_wr_map_s cn68xx; 2213 struct cvmx_sli_msi_wr_map_s cn68xx;
1303 struct cvmx_sli_msi_wr_map_s cn68xxp1; 2214 struct cvmx_sli_msi_wr_map_s cn68xxp1;
2215 struct cvmx_sli_msi_wr_map_s cnf71xx;
1304}; 2216};
1305 2217
1306union cvmx_sli_pcie_msi_rcv { 2218union cvmx_sli_pcie_msi_rcv {
1307 uint64_t u64; 2219 uint64_t u64;
1308 struct cvmx_sli_pcie_msi_rcv_s { 2220 struct cvmx_sli_pcie_msi_rcv_s {
2221#ifdef __BIG_ENDIAN_BITFIELD
1309 uint64_t reserved_8_63:56; 2222 uint64_t reserved_8_63:56;
1310 uint64_t intr:8; 2223 uint64_t intr:8;
2224#else
2225 uint64_t intr:8;
2226 uint64_t reserved_8_63:56;
2227#endif
1311 } s; 2228 } s;
1312 struct cvmx_sli_pcie_msi_rcv_s cn61xx; 2229 struct cvmx_sli_pcie_msi_rcv_s cn61xx;
1313 struct cvmx_sli_pcie_msi_rcv_s cn63xx; 2230 struct cvmx_sli_pcie_msi_rcv_s cn63xx;
@@ -1315,14 +2232,21 @@ union cvmx_sli_pcie_msi_rcv {
1315 struct cvmx_sli_pcie_msi_rcv_s cn66xx; 2232 struct cvmx_sli_pcie_msi_rcv_s cn66xx;
1316 struct cvmx_sli_pcie_msi_rcv_s cn68xx; 2233 struct cvmx_sli_pcie_msi_rcv_s cn68xx;
1317 struct cvmx_sli_pcie_msi_rcv_s cn68xxp1; 2234 struct cvmx_sli_pcie_msi_rcv_s cn68xxp1;
2235 struct cvmx_sli_pcie_msi_rcv_s cnf71xx;
1318}; 2236};
1319 2237
1320union cvmx_sli_pcie_msi_rcv_b1 { 2238union cvmx_sli_pcie_msi_rcv_b1 {
1321 uint64_t u64; 2239 uint64_t u64;
1322 struct cvmx_sli_pcie_msi_rcv_b1_s { 2240 struct cvmx_sli_pcie_msi_rcv_b1_s {
2241#ifdef __BIG_ENDIAN_BITFIELD
1323 uint64_t reserved_16_63:48; 2242 uint64_t reserved_16_63:48;
1324 uint64_t intr:8; 2243 uint64_t intr:8;
1325 uint64_t reserved_0_7:8; 2244 uint64_t reserved_0_7:8;
2245#else
2246 uint64_t reserved_0_7:8;
2247 uint64_t intr:8;
2248 uint64_t reserved_16_63:48;
2249#endif
1326 } s; 2250 } s;
1327 struct cvmx_sli_pcie_msi_rcv_b1_s cn61xx; 2251 struct cvmx_sli_pcie_msi_rcv_b1_s cn61xx;
1328 struct cvmx_sli_pcie_msi_rcv_b1_s cn63xx; 2252 struct cvmx_sli_pcie_msi_rcv_b1_s cn63xx;
@@ -1330,14 +2254,21 @@ union cvmx_sli_pcie_msi_rcv_b1 {
1330 struct cvmx_sli_pcie_msi_rcv_b1_s cn66xx; 2254 struct cvmx_sli_pcie_msi_rcv_b1_s cn66xx;
1331 struct cvmx_sli_pcie_msi_rcv_b1_s cn68xx; 2255 struct cvmx_sli_pcie_msi_rcv_b1_s cn68xx;
1332 struct cvmx_sli_pcie_msi_rcv_b1_s cn68xxp1; 2256 struct cvmx_sli_pcie_msi_rcv_b1_s cn68xxp1;
2257 struct cvmx_sli_pcie_msi_rcv_b1_s cnf71xx;
1333}; 2258};
1334 2259
1335union cvmx_sli_pcie_msi_rcv_b2 { 2260union cvmx_sli_pcie_msi_rcv_b2 {
1336 uint64_t u64; 2261 uint64_t u64;
1337 struct cvmx_sli_pcie_msi_rcv_b2_s { 2262 struct cvmx_sli_pcie_msi_rcv_b2_s {
2263#ifdef __BIG_ENDIAN_BITFIELD
1338 uint64_t reserved_24_63:40; 2264 uint64_t reserved_24_63:40;
1339 uint64_t intr:8; 2265 uint64_t intr:8;
1340 uint64_t reserved_0_15:16; 2266 uint64_t reserved_0_15:16;
2267#else
2268 uint64_t reserved_0_15:16;
2269 uint64_t intr:8;
2270 uint64_t reserved_24_63:40;
2271#endif
1341 } s; 2272 } s;
1342 struct cvmx_sli_pcie_msi_rcv_b2_s cn61xx; 2273 struct cvmx_sli_pcie_msi_rcv_b2_s cn61xx;
1343 struct cvmx_sli_pcie_msi_rcv_b2_s cn63xx; 2274 struct cvmx_sli_pcie_msi_rcv_b2_s cn63xx;
@@ -1345,14 +2276,21 @@ union cvmx_sli_pcie_msi_rcv_b2 {
1345 struct cvmx_sli_pcie_msi_rcv_b2_s cn66xx; 2276 struct cvmx_sli_pcie_msi_rcv_b2_s cn66xx;
1346 struct cvmx_sli_pcie_msi_rcv_b2_s cn68xx; 2277 struct cvmx_sli_pcie_msi_rcv_b2_s cn68xx;
1347 struct cvmx_sli_pcie_msi_rcv_b2_s cn68xxp1; 2278 struct cvmx_sli_pcie_msi_rcv_b2_s cn68xxp1;
2279 struct cvmx_sli_pcie_msi_rcv_b2_s cnf71xx;
1348}; 2280};
1349 2281
1350union cvmx_sli_pcie_msi_rcv_b3 { 2282union cvmx_sli_pcie_msi_rcv_b3 {
1351 uint64_t u64; 2283 uint64_t u64;
1352 struct cvmx_sli_pcie_msi_rcv_b3_s { 2284 struct cvmx_sli_pcie_msi_rcv_b3_s {
2285#ifdef __BIG_ENDIAN_BITFIELD
1353 uint64_t reserved_32_63:32; 2286 uint64_t reserved_32_63:32;
1354 uint64_t intr:8; 2287 uint64_t intr:8;
1355 uint64_t reserved_0_23:24; 2288 uint64_t reserved_0_23:24;
2289#else
2290 uint64_t reserved_0_23:24;
2291 uint64_t intr:8;
2292 uint64_t reserved_32_63:32;
2293#endif
1356 } s; 2294 } s;
1357 struct cvmx_sli_pcie_msi_rcv_b3_s cn61xx; 2295 struct cvmx_sli_pcie_msi_rcv_b3_s cn61xx;
1358 struct cvmx_sli_pcie_msi_rcv_b3_s cn63xx; 2296 struct cvmx_sli_pcie_msi_rcv_b3_s cn63xx;
@@ -1360,14 +2298,21 @@ union cvmx_sli_pcie_msi_rcv_b3 {
1360 struct cvmx_sli_pcie_msi_rcv_b3_s cn66xx; 2298 struct cvmx_sli_pcie_msi_rcv_b3_s cn66xx;
1361 struct cvmx_sli_pcie_msi_rcv_b3_s cn68xx; 2299 struct cvmx_sli_pcie_msi_rcv_b3_s cn68xx;
1362 struct cvmx_sli_pcie_msi_rcv_b3_s cn68xxp1; 2300 struct cvmx_sli_pcie_msi_rcv_b3_s cn68xxp1;
2301 struct cvmx_sli_pcie_msi_rcv_b3_s cnf71xx;
1363}; 2302};
1364 2303
1365union cvmx_sli_pktx_cnts { 2304union cvmx_sli_pktx_cnts {
1366 uint64_t u64; 2305 uint64_t u64;
1367 struct cvmx_sli_pktx_cnts_s { 2306 struct cvmx_sli_pktx_cnts_s {
2307#ifdef __BIG_ENDIAN_BITFIELD
1368 uint64_t reserved_54_63:10; 2308 uint64_t reserved_54_63:10;
1369 uint64_t timer:22; 2309 uint64_t timer:22;
1370 uint64_t cnt:32; 2310 uint64_t cnt:32;
2311#else
2312 uint64_t cnt:32;
2313 uint64_t timer:22;
2314 uint64_t reserved_54_63:10;
2315#endif
1371 } s; 2316 } s;
1372 struct cvmx_sli_pktx_cnts_s cn61xx; 2317 struct cvmx_sli_pktx_cnts_s cn61xx;
1373 struct cvmx_sli_pktx_cnts_s cn63xx; 2318 struct cvmx_sli_pktx_cnts_s cn63xx;
@@ -1375,25 +2320,37 @@ union cvmx_sli_pktx_cnts {
1375 struct cvmx_sli_pktx_cnts_s cn66xx; 2320 struct cvmx_sli_pktx_cnts_s cn66xx;
1376 struct cvmx_sli_pktx_cnts_s cn68xx; 2321 struct cvmx_sli_pktx_cnts_s cn68xx;
1377 struct cvmx_sli_pktx_cnts_s cn68xxp1; 2322 struct cvmx_sli_pktx_cnts_s cn68xxp1;
2323 struct cvmx_sli_pktx_cnts_s cnf71xx;
1378}; 2324};
1379 2325
1380union cvmx_sli_pktx_in_bp { 2326union cvmx_sli_pktx_in_bp {
1381 uint64_t u64; 2327 uint64_t u64;
1382 struct cvmx_sli_pktx_in_bp_s { 2328 struct cvmx_sli_pktx_in_bp_s {
2329#ifdef __BIG_ENDIAN_BITFIELD
1383 uint64_t wmark:32; 2330 uint64_t wmark:32;
1384 uint64_t cnt:32; 2331 uint64_t cnt:32;
2332#else
2333 uint64_t cnt:32;
2334 uint64_t wmark:32;
2335#endif
1385 } s; 2336 } s;
1386 struct cvmx_sli_pktx_in_bp_s cn61xx; 2337 struct cvmx_sli_pktx_in_bp_s cn61xx;
1387 struct cvmx_sli_pktx_in_bp_s cn63xx; 2338 struct cvmx_sli_pktx_in_bp_s cn63xx;
1388 struct cvmx_sli_pktx_in_bp_s cn63xxp1; 2339 struct cvmx_sli_pktx_in_bp_s cn63xxp1;
1389 struct cvmx_sli_pktx_in_bp_s cn66xx; 2340 struct cvmx_sli_pktx_in_bp_s cn66xx;
2341 struct cvmx_sli_pktx_in_bp_s cnf71xx;
1390}; 2342};
1391 2343
1392union cvmx_sli_pktx_instr_baddr { 2344union cvmx_sli_pktx_instr_baddr {
1393 uint64_t u64; 2345 uint64_t u64;
1394 struct cvmx_sli_pktx_instr_baddr_s { 2346 struct cvmx_sli_pktx_instr_baddr_s {
2347#ifdef __BIG_ENDIAN_BITFIELD
1395 uint64_t addr:61; 2348 uint64_t addr:61;
1396 uint64_t reserved_0_2:3; 2349 uint64_t reserved_0_2:3;
2350#else
2351 uint64_t reserved_0_2:3;
2352 uint64_t addr:61;
2353#endif
1397 } s; 2354 } s;
1398 struct cvmx_sli_pktx_instr_baddr_s cn61xx; 2355 struct cvmx_sli_pktx_instr_baddr_s cn61xx;
1399 struct cvmx_sli_pktx_instr_baddr_s cn63xx; 2356 struct cvmx_sli_pktx_instr_baddr_s cn63xx;
@@ -1401,13 +2358,19 @@ union cvmx_sli_pktx_instr_baddr {
1401 struct cvmx_sli_pktx_instr_baddr_s cn66xx; 2358 struct cvmx_sli_pktx_instr_baddr_s cn66xx;
1402 struct cvmx_sli_pktx_instr_baddr_s cn68xx; 2359 struct cvmx_sli_pktx_instr_baddr_s cn68xx;
1403 struct cvmx_sli_pktx_instr_baddr_s cn68xxp1; 2360 struct cvmx_sli_pktx_instr_baddr_s cn68xxp1;
2361 struct cvmx_sli_pktx_instr_baddr_s cnf71xx;
1404}; 2362};
1405 2363
1406union cvmx_sli_pktx_instr_baoff_dbell { 2364union cvmx_sli_pktx_instr_baoff_dbell {
1407 uint64_t u64; 2365 uint64_t u64;
1408 struct cvmx_sli_pktx_instr_baoff_dbell_s { 2366 struct cvmx_sli_pktx_instr_baoff_dbell_s {
2367#ifdef __BIG_ENDIAN_BITFIELD
1409 uint64_t aoff:32; 2368 uint64_t aoff:32;
1410 uint64_t dbell:32; 2369 uint64_t dbell:32;
2370#else
2371 uint64_t dbell:32;
2372 uint64_t aoff:32;
2373#endif
1411 } s; 2374 } s;
1412 struct cvmx_sli_pktx_instr_baoff_dbell_s cn61xx; 2375 struct cvmx_sli_pktx_instr_baoff_dbell_s cn61xx;
1413 struct cvmx_sli_pktx_instr_baoff_dbell_s cn63xx; 2376 struct cvmx_sli_pktx_instr_baoff_dbell_s cn63xx;
@@ -1415,16 +2378,25 @@ union cvmx_sli_pktx_instr_baoff_dbell {
1415 struct cvmx_sli_pktx_instr_baoff_dbell_s cn66xx; 2378 struct cvmx_sli_pktx_instr_baoff_dbell_s cn66xx;
1416 struct cvmx_sli_pktx_instr_baoff_dbell_s cn68xx; 2379 struct cvmx_sli_pktx_instr_baoff_dbell_s cn68xx;
1417 struct cvmx_sli_pktx_instr_baoff_dbell_s cn68xxp1; 2380 struct cvmx_sli_pktx_instr_baoff_dbell_s cn68xxp1;
2381 struct cvmx_sli_pktx_instr_baoff_dbell_s cnf71xx;
1418}; 2382};
1419 2383
1420union cvmx_sli_pktx_instr_fifo_rsize { 2384union cvmx_sli_pktx_instr_fifo_rsize {
1421 uint64_t u64; 2385 uint64_t u64;
1422 struct cvmx_sli_pktx_instr_fifo_rsize_s { 2386 struct cvmx_sli_pktx_instr_fifo_rsize_s {
2387#ifdef __BIG_ENDIAN_BITFIELD
1423 uint64_t max:9; 2388 uint64_t max:9;
1424 uint64_t rrp:9; 2389 uint64_t rrp:9;
1425 uint64_t wrp:9; 2390 uint64_t wrp:9;
1426 uint64_t fcnt:5; 2391 uint64_t fcnt:5;
1427 uint64_t rsize:32; 2392 uint64_t rsize:32;
2393#else
2394 uint64_t rsize:32;
2395 uint64_t fcnt:5;
2396 uint64_t wrp:9;
2397 uint64_t rrp:9;
2398 uint64_t max:9;
2399#endif
1428 } s; 2400 } s;
1429 struct cvmx_sli_pktx_instr_fifo_rsize_s cn61xx; 2401 struct cvmx_sli_pktx_instr_fifo_rsize_s cn61xx;
1430 struct cvmx_sli_pktx_instr_fifo_rsize_s cn63xx; 2402 struct cvmx_sli_pktx_instr_fifo_rsize_s cn63xx;
@@ -1432,11 +2404,13 @@ union cvmx_sli_pktx_instr_fifo_rsize {
1432 struct cvmx_sli_pktx_instr_fifo_rsize_s cn66xx; 2404 struct cvmx_sli_pktx_instr_fifo_rsize_s cn66xx;
1433 struct cvmx_sli_pktx_instr_fifo_rsize_s cn68xx; 2405 struct cvmx_sli_pktx_instr_fifo_rsize_s cn68xx;
1434 struct cvmx_sli_pktx_instr_fifo_rsize_s cn68xxp1; 2406 struct cvmx_sli_pktx_instr_fifo_rsize_s cn68xxp1;
2407 struct cvmx_sli_pktx_instr_fifo_rsize_s cnf71xx;
1435}; 2408};
1436 2409
1437union cvmx_sli_pktx_instr_header { 2410union cvmx_sli_pktx_instr_header {
1438 uint64_t u64; 2411 uint64_t u64;
1439 struct cvmx_sli_pktx_instr_header_s { 2412 struct cvmx_sli_pktx_instr_header_s {
2413#ifdef __BIG_ENDIAN_BITFIELD
1440 uint64_t reserved_44_63:20; 2414 uint64_t reserved_44_63:20;
1441 uint64_t pbp:1; 2415 uint64_t pbp:1;
1442 uint64_t reserved_38_42:5; 2416 uint64_t reserved_38_42:5;
@@ -1458,8 +2432,32 @@ union cvmx_sli_pktx_instr_header {
1458 uint64_t ngrp:1; 2432 uint64_t ngrp:1;
1459 uint64_t ntt:1; 2433 uint64_t ntt:1;
1460 uint64_t ntag:1; 2434 uint64_t ntag:1;
2435#else
2436 uint64_t ntag:1;
2437 uint64_t ntt:1;
2438 uint64_t ngrp:1;
2439 uint64_t nqos:1;
2440 uint64_t ngrpext:2;
2441 uint64_t skp_len:7;
2442 uint64_t reserved_13_13:1;
2443 uint64_t par_mode:2;
2444 uint64_t reserved_16_20:5;
2445 uint64_t use_ihdr:1;
2446 uint64_t rntag:1;
2447 uint64_t rntt:1;
2448 uint64_t rngrp:1;
2449 uint64_t rnqos:1;
2450 uint64_t rngrpext:2;
2451 uint64_t rskp_len:7;
2452 uint64_t reserved_35_35:1;
2453 uint64_t rparmode:2;
2454 uint64_t reserved_38_42:5;
2455 uint64_t pbp:1;
2456 uint64_t reserved_44_63:20;
2457#endif
1461 } s; 2458 } s;
1462 struct cvmx_sli_pktx_instr_header_cn61xx { 2459 struct cvmx_sli_pktx_instr_header_cn61xx {
2460#ifdef __BIG_ENDIAN_BITFIELD
1463 uint64_t reserved_44_63:20; 2461 uint64_t reserved_44_63:20;
1464 uint64_t pbp:1; 2462 uint64_t pbp:1;
1465 uint64_t reserved_38_42:5; 2463 uint64_t reserved_38_42:5;
@@ -1481,20 +2479,50 @@ union cvmx_sli_pktx_instr_header {
1481 uint64_t ngrp:1; 2479 uint64_t ngrp:1;
1482 uint64_t ntt:1; 2480 uint64_t ntt:1;
1483 uint64_t ntag:1; 2481 uint64_t ntag:1;
2482#else
2483 uint64_t ntag:1;
2484 uint64_t ntt:1;
2485 uint64_t ngrp:1;
2486 uint64_t nqos:1;
2487 uint64_t reserved_4_5:2;
2488 uint64_t skp_len:7;
2489 uint64_t reserved_13_13:1;
2490 uint64_t par_mode:2;
2491 uint64_t reserved_16_20:5;
2492 uint64_t use_ihdr:1;
2493 uint64_t rntag:1;
2494 uint64_t rntt:1;
2495 uint64_t rngrp:1;
2496 uint64_t rnqos:1;
2497 uint64_t reserved_26_27:2;
2498 uint64_t rskp_len:7;
2499 uint64_t reserved_35_35:1;
2500 uint64_t rparmode:2;
2501 uint64_t reserved_38_42:5;
2502 uint64_t pbp:1;
2503 uint64_t reserved_44_63:20;
2504#endif
1484 } cn61xx; 2505 } cn61xx;
1485 struct cvmx_sli_pktx_instr_header_cn61xx cn63xx; 2506 struct cvmx_sli_pktx_instr_header_cn61xx cn63xx;
1486 struct cvmx_sli_pktx_instr_header_cn61xx cn63xxp1; 2507 struct cvmx_sli_pktx_instr_header_cn61xx cn63xxp1;
1487 struct cvmx_sli_pktx_instr_header_cn61xx cn66xx; 2508 struct cvmx_sli_pktx_instr_header_cn61xx cn66xx;
1488 struct cvmx_sli_pktx_instr_header_s cn68xx; 2509 struct cvmx_sli_pktx_instr_header_s cn68xx;
1489 struct cvmx_sli_pktx_instr_header_cn61xx cn68xxp1; 2510 struct cvmx_sli_pktx_instr_header_cn61xx cn68xxp1;
2511 struct cvmx_sli_pktx_instr_header_cn61xx cnf71xx;
1490}; 2512};
1491 2513
1492union cvmx_sli_pktx_out_size { 2514union cvmx_sli_pktx_out_size {
1493 uint64_t u64; 2515 uint64_t u64;
1494 struct cvmx_sli_pktx_out_size_s { 2516 struct cvmx_sli_pktx_out_size_s {
2517#ifdef __BIG_ENDIAN_BITFIELD
1495 uint64_t reserved_23_63:41; 2518 uint64_t reserved_23_63:41;
1496 uint64_t isize:7; 2519 uint64_t isize:7;
1497 uint64_t bsize:16; 2520 uint64_t bsize:16;
2521#else
2522 uint64_t bsize:16;
2523 uint64_t isize:7;
2524 uint64_t reserved_23_63:41;
2525#endif
1498 } s; 2526 } s;
1499 struct cvmx_sli_pktx_out_size_s cn61xx; 2527 struct cvmx_sli_pktx_out_size_s cn61xx;
1500 struct cvmx_sli_pktx_out_size_s cn63xx; 2528 struct cvmx_sli_pktx_out_size_s cn63xx;
@@ -1502,13 +2530,19 @@ union cvmx_sli_pktx_out_size {
1502 struct cvmx_sli_pktx_out_size_s cn66xx; 2530 struct cvmx_sli_pktx_out_size_s cn66xx;
1503 struct cvmx_sli_pktx_out_size_s cn68xx; 2531 struct cvmx_sli_pktx_out_size_s cn68xx;
1504 struct cvmx_sli_pktx_out_size_s cn68xxp1; 2532 struct cvmx_sli_pktx_out_size_s cn68xxp1;
2533 struct cvmx_sli_pktx_out_size_s cnf71xx;
1505}; 2534};
1506 2535
1507union cvmx_sli_pktx_slist_baddr { 2536union cvmx_sli_pktx_slist_baddr {
1508 uint64_t u64; 2537 uint64_t u64;
1509 struct cvmx_sli_pktx_slist_baddr_s { 2538 struct cvmx_sli_pktx_slist_baddr_s {
2539#ifdef __BIG_ENDIAN_BITFIELD
1510 uint64_t addr:60; 2540 uint64_t addr:60;
1511 uint64_t reserved_0_3:4; 2541 uint64_t reserved_0_3:4;
2542#else
2543 uint64_t reserved_0_3:4;
2544 uint64_t addr:60;
2545#endif
1512 } s; 2546 } s;
1513 struct cvmx_sli_pktx_slist_baddr_s cn61xx; 2547 struct cvmx_sli_pktx_slist_baddr_s cn61xx;
1514 struct cvmx_sli_pktx_slist_baddr_s cn63xx; 2548 struct cvmx_sli_pktx_slist_baddr_s cn63xx;
@@ -1516,13 +2550,19 @@ union cvmx_sli_pktx_slist_baddr {
1516 struct cvmx_sli_pktx_slist_baddr_s cn66xx; 2550 struct cvmx_sli_pktx_slist_baddr_s cn66xx;
1517 struct cvmx_sli_pktx_slist_baddr_s cn68xx; 2551 struct cvmx_sli_pktx_slist_baddr_s cn68xx;
1518 struct cvmx_sli_pktx_slist_baddr_s cn68xxp1; 2552 struct cvmx_sli_pktx_slist_baddr_s cn68xxp1;
2553 struct cvmx_sli_pktx_slist_baddr_s cnf71xx;
1519}; 2554};
1520 2555
1521union cvmx_sli_pktx_slist_baoff_dbell { 2556union cvmx_sli_pktx_slist_baoff_dbell {
1522 uint64_t u64; 2557 uint64_t u64;
1523 struct cvmx_sli_pktx_slist_baoff_dbell_s { 2558 struct cvmx_sli_pktx_slist_baoff_dbell_s {
2559#ifdef __BIG_ENDIAN_BITFIELD
1524 uint64_t aoff:32; 2560 uint64_t aoff:32;
1525 uint64_t dbell:32; 2561 uint64_t dbell:32;
2562#else
2563 uint64_t dbell:32;
2564 uint64_t aoff:32;
2565#endif
1526 } s; 2566 } s;
1527 struct cvmx_sli_pktx_slist_baoff_dbell_s cn61xx; 2567 struct cvmx_sli_pktx_slist_baoff_dbell_s cn61xx;
1528 struct cvmx_sli_pktx_slist_baoff_dbell_s cn63xx; 2568 struct cvmx_sli_pktx_slist_baoff_dbell_s cn63xx;
@@ -1530,13 +2570,19 @@ union cvmx_sli_pktx_slist_baoff_dbell {
1530 struct cvmx_sli_pktx_slist_baoff_dbell_s cn66xx; 2570 struct cvmx_sli_pktx_slist_baoff_dbell_s cn66xx;
1531 struct cvmx_sli_pktx_slist_baoff_dbell_s cn68xx; 2571 struct cvmx_sli_pktx_slist_baoff_dbell_s cn68xx;
1532 struct cvmx_sli_pktx_slist_baoff_dbell_s cn68xxp1; 2572 struct cvmx_sli_pktx_slist_baoff_dbell_s cn68xxp1;
2573 struct cvmx_sli_pktx_slist_baoff_dbell_s cnf71xx;
1533}; 2574};
1534 2575
1535union cvmx_sli_pktx_slist_fifo_rsize { 2576union cvmx_sli_pktx_slist_fifo_rsize {
1536 uint64_t u64; 2577 uint64_t u64;
1537 struct cvmx_sli_pktx_slist_fifo_rsize_s { 2578 struct cvmx_sli_pktx_slist_fifo_rsize_s {
2579#ifdef __BIG_ENDIAN_BITFIELD
1538 uint64_t reserved_32_63:32; 2580 uint64_t reserved_32_63:32;
1539 uint64_t rsize:32; 2581 uint64_t rsize:32;
2582#else
2583 uint64_t rsize:32;
2584 uint64_t reserved_32_63:32;
2585#endif
1540 } s; 2586 } s;
1541 struct cvmx_sli_pktx_slist_fifo_rsize_s cn61xx; 2587 struct cvmx_sli_pktx_slist_fifo_rsize_s cn61xx;
1542 struct cvmx_sli_pktx_slist_fifo_rsize_s cn63xx; 2588 struct cvmx_sli_pktx_slist_fifo_rsize_s cn63xx;
@@ -1544,13 +2590,19 @@ union cvmx_sli_pktx_slist_fifo_rsize {
1544 struct cvmx_sli_pktx_slist_fifo_rsize_s cn66xx; 2590 struct cvmx_sli_pktx_slist_fifo_rsize_s cn66xx;
1545 struct cvmx_sli_pktx_slist_fifo_rsize_s cn68xx; 2591 struct cvmx_sli_pktx_slist_fifo_rsize_s cn68xx;
1546 struct cvmx_sli_pktx_slist_fifo_rsize_s cn68xxp1; 2592 struct cvmx_sli_pktx_slist_fifo_rsize_s cn68xxp1;
2593 struct cvmx_sli_pktx_slist_fifo_rsize_s cnf71xx;
1547}; 2594};
1548 2595
1549union cvmx_sli_pkt_cnt_int { 2596union cvmx_sli_pkt_cnt_int {
1550 uint64_t u64; 2597 uint64_t u64;
1551 struct cvmx_sli_pkt_cnt_int_s { 2598 struct cvmx_sli_pkt_cnt_int_s {
2599#ifdef __BIG_ENDIAN_BITFIELD
1552 uint64_t reserved_32_63:32; 2600 uint64_t reserved_32_63:32;
1553 uint64_t port:32; 2601 uint64_t port:32;
2602#else
2603 uint64_t port:32;
2604 uint64_t reserved_32_63:32;
2605#endif
1554 } s; 2606 } s;
1555 struct cvmx_sli_pkt_cnt_int_s cn61xx; 2607 struct cvmx_sli_pkt_cnt_int_s cn61xx;
1556 struct cvmx_sli_pkt_cnt_int_s cn63xx; 2608 struct cvmx_sli_pkt_cnt_int_s cn63xx;
@@ -1558,13 +2610,19 @@ union cvmx_sli_pkt_cnt_int {
1558 struct cvmx_sli_pkt_cnt_int_s cn66xx; 2610 struct cvmx_sli_pkt_cnt_int_s cn66xx;
1559 struct cvmx_sli_pkt_cnt_int_s cn68xx; 2611 struct cvmx_sli_pkt_cnt_int_s cn68xx;
1560 struct cvmx_sli_pkt_cnt_int_s cn68xxp1; 2612 struct cvmx_sli_pkt_cnt_int_s cn68xxp1;
2613 struct cvmx_sli_pkt_cnt_int_s cnf71xx;
1561}; 2614};
1562 2615
1563union cvmx_sli_pkt_cnt_int_enb { 2616union cvmx_sli_pkt_cnt_int_enb {
1564 uint64_t u64; 2617 uint64_t u64;
1565 struct cvmx_sli_pkt_cnt_int_enb_s { 2618 struct cvmx_sli_pkt_cnt_int_enb_s {
2619#ifdef __BIG_ENDIAN_BITFIELD
1566 uint64_t reserved_32_63:32; 2620 uint64_t reserved_32_63:32;
1567 uint64_t port:32; 2621 uint64_t port:32;
2622#else
2623 uint64_t port:32;
2624 uint64_t reserved_32_63:32;
2625#endif
1568 } s; 2626 } s;
1569 struct cvmx_sli_pkt_cnt_int_enb_s cn61xx; 2627 struct cvmx_sli_pkt_cnt_int_enb_s cn61xx;
1570 struct cvmx_sli_pkt_cnt_int_enb_s cn63xx; 2628 struct cvmx_sli_pkt_cnt_int_enb_s cn63xx;
@@ -1572,14 +2630,21 @@ union cvmx_sli_pkt_cnt_int_enb {
1572 struct cvmx_sli_pkt_cnt_int_enb_s cn66xx; 2630 struct cvmx_sli_pkt_cnt_int_enb_s cn66xx;
1573 struct cvmx_sli_pkt_cnt_int_enb_s cn68xx; 2631 struct cvmx_sli_pkt_cnt_int_enb_s cn68xx;
1574 struct cvmx_sli_pkt_cnt_int_enb_s cn68xxp1; 2632 struct cvmx_sli_pkt_cnt_int_enb_s cn68xxp1;
2633 struct cvmx_sli_pkt_cnt_int_enb_s cnf71xx;
1575}; 2634};
1576 2635
1577union cvmx_sli_pkt_ctl { 2636union cvmx_sli_pkt_ctl {
1578 uint64_t u64; 2637 uint64_t u64;
1579 struct cvmx_sli_pkt_ctl_s { 2638 struct cvmx_sli_pkt_ctl_s {
2639#ifdef __BIG_ENDIAN_BITFIELD
1580 uint64_t reserved_5_63:59; 2640 uint64_t reserved_5_63:59;
1581 uint64_t ring_en:1; 2641 uint64_t ring_en:1;
1582 uint64_t pkt_bp:4; 2642 uint64_t pkt_bp:4;
2643#else
2644 uint64_t pkt_bp:4;
2645 uint64_t ring_en:1;
2646 uint64_t reserved_5_63:59;
2647#endif
1583 } s; 2648 } s;
1584 struct cvmx_sli_pkt_ctl_s cn61xx; 2649 struct cvmx_sli_pkt_ctl_s cn61xx;
1585 struct cvmx_sli_pkt_ctl_s cn63xx; 2650 struct cvmx_sli_pkt_ctl_s cn63xx;
@@ -1587,12 +2652,17 @@ union cvmx_sli_pkt_ctl {
1587 struct cvmx_sli_pkt_ctl_s cn66xx; 2652 struct cvmx_sli_pkt_ctl_s cn66xx;
1588 struct cvmx_sli_pkt_ctl_s cn68xx; 2653 struct cvmx_sli_pkt_ctl_s cn68xx;
1589 struct cvmx_sli_pkt_ctl_s cn68xxp1; 2654 struct cvmx_sli_pkt_ctl_s cn68xxp1;
2655 struct cvmx_sli_pkt_ctl_s cnf71xx;
1590}; 2656};
1591 2657
1592union cvmx_sli_pkt_data_out_es { 2658union cvmx_sli_pkt_data_out_es {
1593 uint64_t u64; 2659 uint64_t u64;
1594 struct cvmx_sli_pkt_data_out_es_s { 2660 struct cvmx_sli_pkt_data_out_es_s {
2661#ifdef __BIG_ENDIAN_BITFIELD
2662 uint64_t es:64;
2663#else
1595 uint64_t es:64; 2664 uint64_t es:64;
2665#endif
1596 } s; 2666 } s;
1597 struct cvmx_sli_pkt_data_out_es_s cn61xx; 2667 struct cvmx_sli_pkt_data_out_es_s cn61xx;
1598 struct cvmx_sli_pkt_data_out_es_s cn63xx; 2668 struct cvmx_sli_pkt_data_out_es_s cn63xx;
@@ -1600,13 +2670,19 @@ union cvmx_sli_pkt_data_out_es {
1600 struct cvmx_sli_pkt_data_out_es_s cn66xx; 2670 struct cvmx_sli_pkt_data_out_es_s cn66xx;
1601 struct cvmx_sli_pkt_data_out_es_s cn68xx; 2671 struct cvmx_sli_pkt_data_out_es_s cn68xx;
1602 struct cvmx_sli_pkt_data_out_es_s cn68xxp1; 2672 struct cvmx_sli_pkt_data_out_es_s cn68xxp1;
2673 struct cvmx_sli_pkt_data_out_es_s cnf71xx;
1603}; 2674};
1604 2675
1605union cvmx_sli_pkt_data_out_ns { 2676union cvmx_sli_pkt_data_out_ns {
1606 uint64_t u64; 2677 uint64_t u64;
1607 struct cvmx_sli_pkt_data_out_ns_s { 2678 struct cvmx_sli_pkt_data_out_ns_s {
2679#ifdef __BIG_ENDIAN_BITFIELD
1608 uint64_t reserved_32_63:32; 2680 uint64_t reserved_32_63:32;
1609 uint64_t nsr:32; 2681 uint64_t nsr:32;
2682#else
2683 uint64_t nsr:32;
2684 uint64_t reserved_32_63:32;
2685#endif
1610 } s; 2686 } s;
1611 struct cvmx_sli_pkt_data_out_ns_s cn61xx; 2687 struct cvmx_sli_pkt_data_out_ns_s cn61xx;
1612 struct cvmx_sli_pkt_data_out_ns_s cn63xx; 2688 struct cvmx_sli_pkt_data_out_ns_s cn63xx;
@@ -1614,13 +2690,19 @@ union cvmx_sli_pkt_data_out_ns {
1614 struct cvmx_sli_pkt_data_out_ns_s cn66xx; 2690 struct cvmx_sli_pkt_data_out_ns_s cn66xx;
1615 struct cvmx_sli_pkt_data_out_ns_s cn68xx; 2691 struct cvmx_sli_pkt_data_out_ns_s cn68xx;
1616 struct cvmx_sli_pkt_data_out_ns_s cn68xxp1; 2692 struct cvmx_sli_pkt_data_out_ns_s cn68xxp1;
2693 struct cvmx_sli_pkt_data_out_ns_s cnf71xx;
1617}; 2694};
1618 2695
1619union cvmx_sli_pkt_data_out_ror { 2696union cvmx_sli_pkt_data_out_ror {
1620 uint64_t u64; 2697 uint64_t u64;
1621 struct cvmx_sli_pkt_data_out_ror_s { 2698 struct cvmx_sli_pkt_data_out_ror_s {
2699#ifdef __BIG_ENDIAN_BITFIELD
1622 uint64_t reserved_32_63:32; 2700 uint64_t reserved_32_63:32;
1623 uint64_t ror:32; 2701 uint64_t ror:32;
2702#else
2703 uint64_t ror:32;
2704 uint64_t reserved_32_63:32;
2705#endif
1624 } s; 2706 } s;
1625 struct cvmx_sli_pkt_data_out_ror_s cn61xx; 2707 struct cvmx_sli_pkt_data_out_ror_s cn61xx;
1626 struct cvmx_sli_pkt_data_out_ror_s cn63xx; 2708 struct cvmx_sli_pkt_data_out_ror_s cn63xx;
@@ -1628,13 +2710,19 @@ union cvmx_sli_pkt_data_out_ror {
1628 struct cvmx_sli_pkt_data_out_ror_s cn66xx; 2710 struct cvmx_sli_pkt_data_out_ror_s cn66xx;
1629 struct cvmx_sli_pkt_data_out_ror_s cn68xx; 2711 struct cvmx_sli_pkt_data_out_ror_s cn68xx;
1630 struct cvmx_sli_pkt_data_out_ror_s cn68xxp1; 2712 struct cvmx_sli_pkt_data_out_ror_s cn68xxp1;
2713 struct cvmx_sli_pkt_data_out_ror_s cnf71xx;
1631}; 2714};
1632 2715
1633union cvmx_sli_pkt_dpaddr { 2716union cvmx_sli_pkt_dpaddr {
1634 uint64_t u64; 2717 uint64_t u64;
1635 struct cvmx_sli_pkt_dpaddr_s { 2718 struct cvmx_sli_pkt_dpaddr_s {
2719#ifdef __BIG_ENDIAN_BITFIELD
1636 uint64_t reserved_32_63:32; 2720 uint64_t reserved_32_63:32;
1637 uint64_t dptr:32; 2721 uint64_t dptr:32;
2722#else
2723 uint64_t dptr:32;
2724 uint64_t reserved_32_63:32;
2725#endif
1638 } s; 2726 } s;
1639 struct cvmx_sli_pkt_dpaddr_s cn61xx; 2727 struct cvmx_sli_pkt_dpaddr_s cn61xx;
1640 struct cvmx_sli_pkt_dpaddr_s cn63xx; 2728 struct cvmx_sli_pkt_dpaddr_s cn63xx;
@@ -1642,25 +2730,37 @@ union cvmx_sli_pkt_dpaddr {
1642 struct cvmx_sli_pkt_dpaddr_s cn66xx; 2730 struct cvmx_sli_pkt_dpaddr_s cn66xx;
1643 struct cvmx_sli_pkt_dpaddr_s cn68xx; 2731 struct cvmx_sli_pkt_dpaddr_s cn68xx;
1644 struct cvmx_sli_pkt_dpaddr_s cn68xxp1; 2732 struct cvmx_sli_pkt_dpaddr_s cn68xxp1;
2733 struct cvmx_sli_pkt_dpaddr_s cnf71xx;
1645}; 2734};
1646 2735
1647union cvmx_sli_pkt_in_bp { 2736union cvmx_sli_pkt_in_bp {
1648 uint64_t u64; 2737 uint64_t u64;
1649 struct cvmx_sli_pkt_in_bp_s { 2738 struct cvmx_sli_pkt_in_bp_s {
2739#ifdef __BIG_ENDIAN_BITFIELD
1650 uint64_t reserved_32_63:32; 2740 uint64_t reserved_32_63:32;
1651 uint64_t bp:32; 2741 uint64_t bp:32;
2742#else
2743 uint64_t bp:32;
2744 uint64_t reserved_32_63:32;
2745#endif
1652 } s; 2746 } s;
1653 struct cvmx_sli_pkt_in_bp_s cn61xx; 2747 struct cvmx_sli_pkt_in_bp_s cn61xx;
1654 struct cvmx_sli_pkt_in_bp_s cn63xx; 2748 struct cvmx_sli_pkt_in_bp_s cn63xx;
1655 struct cvmx_sli_pkt_in_bp_s cn63xxp1; 2749 struct cvmx_sli_pkt_in_bp_s cn63xxp1;
1656 struct cvmx_sli_pkt_in_bp_s cn66xx; 2750 struct cvmx_sli_pkt_in_bp_s cn66xx;
2751 struct cvmx_sli_pkt_in_bp_s cnf71xx;
1657}; 2752};
1658 2753
1659union cvmx_sli_pkt_in_donex_cnts { 2754union cvmx_sli_pkt_in_donex_cnts {
1660 uint64_t u64; 2755 uint64_t u64;
1661 struct cvmx_sli_pkt_in_donex_cnts_s { 2756 struct cvmx_sli_pkt_in_donex_cnts_s {
2757#ifdef __BIG_ENDIAN_BITFIELD
1662 uint64_t reserved_32_63:32; 2758 uint64_t reserved_32_63:32;
1663 uint64_t cnt:32; 2759 uint64_t cnt:32;
2760#else
2761 uint64_t cnt:32;
2762 uint64_t reserved_32_63:32;
2763#endif
1664 } s; 2764 } s;
1665 struct cvmx_sli_pkt_in_donex_cnts_s cn61xx; 2765 struct cvmx_sli_pkt_in_donex_cnts_s cn61xx;
1666 struct cvmx_sli_pkt_in_donex_cnts_s cn63xx; 2766 struct cvmx_sli_pkt_in_donex_cnts_s cn63xx;
@@ -1668,13 +2768,19 @@ union cvmx_sli_pkt_in_donex_cnts {
1668 struct cvmx_sli_pkt_in_donex_cnts_s cn66xx; 2768 struct cvmx_sli_pkt_in_donex_cnts_s cn66xx;
1669 struct cvmx_sli_pkt_in_donex_cnts_s cn68xx; 2769 struct cvmx_sli_pkt_in_donex_cnts_s cn68xx;
1670 struct cvmx_sli_pkt_in_donex_cnts_s cn68xxp1; 2770 struct cvmx_sli_pkt_in_donex_cnts_s cn68xxp1;
2771 struct cvmx_sli_pkt_in_donex_cnts_s cnf71xx;
1671}; 2772};
1672 2773
1673union cvmx_sli_pkt_in_instr_counts { 2774union cvmx_sli_pkt_in_instr_counts {
1674 uint64_t u64; 2775 uint64_t u64;
1675 struct cvmx_sli_pkt_in_instr_counts_s { 2776 struct cvmx_sli_pkt_in_instr_counts_s {
2777#ifdef __BIG_ENDIAN_BITFIELD
1676 uint64_t wr_cnt:32; 2778 uint64_t wr_cnt:32;
1677 uint64_t rd_cnt:32; 2779 uint64_t rd_cnt:32;
2780#else
2781 uint64_t rd_cnt:32;
2782 uint64_t wr_cnt:32;
2783#endif
1678 } s; 2784 } s;
1679 struct cvmx_sli_pkt_in_instr_counts_s cn61xx; 2785 struct cvmx_sli_pkt_in_instr_counts_s cn61xx;
1680 struct cvmx_sli_pkt_in_instr_counts_s cn63xx; 2786 struct cvmx_sli_pkt_in_instr_counts_s cn63xx;
@@ -1682,12 +2788,17 @@ union cvmx_sli_pkt_in_instr_counts {
1682 struct cvmx_sli_pkt_in_instr_counts_s cn66xx; 2788 struct cvmx_sli_pkt_in_instr_counts_s cn66xx;
1683 struct cvmx_sli_pkt_in_instr_counts_s cn68xx; 2789 struct cvmx_sli_pkt_in_instr_counts_s cn68xx;
1684 struct cvmx_sli_pkt_in_instr_counts_s cn68xxp1; 2790 struct cvmx_sli_pkt_in_instr_counts_s cn68xxp1;
2791 struct cvmx_sli_pkt_in_instr_counts_s cnf71xx;
1685}; 2792};
1686 2793
1687union cvmx_sli_pkt_in_pcie_port { 2794union cvmx_sli_pkt_in_pcie_port {
1688 uint64_t u64; 2795 uint64_t u64;
1689 struct cvmx_sli_pkt_in_pcie_port_s { 2796 struct cvmx_sli_pkt_in_pcie_port_s {
2797#ifdef __BIG_ENDIAN_BITFIELD
2798 uint64_t pp:64;
2799#else
1690 uint64_t pp:64; 2800 uint64_t pp:64;
2801#endif
1691 } s; 2802 } s;
1692 struct cvmx_sli_pkt_in_pcie_port_s cn61xx; 2803 struct cvmx_sli_pkt_in_pcie_port_s cn61xx;
1693 struct cvmx_sli_pkt_in_pcie_port_s cn63xx; 2804 struct cvmx_sli_pkt_in_pcie_port_s cn63xx;
@@ -1695,11 +2806,13 @@ union cvmx_sli_pkt_in_pcie_port {
1695 struct cvmx_sli_pkt_in_pcie_port_s cn66xx; 2806 struct cvmx_sli_pkt_in_pcie_port_s cn66xx;
1696 struct cvmx_sli_pkt_in_pcie_port_s cn68xx; 2807 struct cvmx_sli_pkt_in_pcie_port_s cn68xx;
1697 struct cvmx_sli_pkt_in_pcie_port_s cn68xxp1; 2808 struct cvmx_sli_pkt_in_pcie_port_s cn68xxp1;
2809 struct cvmx_sli_pkt_in_pcie_port_s cnf71xx;
1698}; 2810};
1699 2811
1700union cvmx_sli_pkt_input_control { 2812union cvmx_sli_pkt_input_control {
1701 uint64_t u64; 2813 uint64_t u64;
1702 struct cvmx_sli_pkt_input_control_s { 2814 struct cvmx_sli_pkt_input_control_s {
2815#ifdef __BIG_ENDIAN_BITFIELD
1703 uint64_t prd_erst:1; 2816 uint64_t prd_erst:1;
1704 uint64_t prd_rds:7; 2817 uint64_t prd_rds:7;
1705 uint64_t gii_erst:1; 2818 uint64_t gii_erst:1;
@@ -1717,9 +2830,29 @@ union cvmx_sli_pkt_input_control {
1717 uint64_t nsr:1; 2830 uint64_t nsr:1;
1718 uint64_t esr:2; 2831 uint64_t esr:2;
1719 uint64_t ror:1; 2832 uint64_t ror:1;
2833#else
2834 uint64_t ror:1;
2835 uint64_t esr:2;
2836 uint64_t nsr:1;
2837 uint64_t use_csr:1;
2838 uint64_t d_ror:1;
2839 uint64_t d_esr:2;
2840 uint64_t d_nsr:1;
2841 uint64_t pbp_dhi:13;
2842 uint64_t pkt_rr:1;
2843 uint64_t pin_rst:1;
2844 uint64_t reserved_24_39:16;
2845 uint64_t prc_idle:1;
2846 uint64_t reserved_41_47:7;
2847 uint64_t gii_rds:7;
2848 uint64_t gii_erst:1;
2849 uint64_t prd_rds:7;
2850 uint64_t prd_erst:1;
2851#endif
1720 } s; 2852 } s;
1721 struct cvmx_sli_pkt_input_control_s cn61xx; 2853 struct cvmx_sli_pkt_input_control_s cn61xx;
1722 struct cvmx_sli_pkt_input_control_cn63xx { 2854 struct cvmx_sli_pkt_input_control_cn63xx {
2855#ifdef __BIG_ENDIAN_BITFIELD
1723 uint64_t reserved_23_63:41; 2856 uint64_t reserved_23_63:41;
1724 uint64_t pkt_rr:1; 2857 uint64_t pkt_rr:1;
1725 uint64_t pbp_dhi:13; 2858 uint64_t pbp_dhi:13;
@@ -1730,18 +2863,36 @@ union cvmx_sli_pkt_input_control {
1730 uint64_t nsr:1; 2863 uint64_t nsr:1;
1731 uint64_t esr:2; 2864 uint64_t esr:2;
1732 uint64_t ror:1; 2865 uint64_t ror:1;
2866#else
2867 uint64_t ror:1;
2868 uint64_t esr:2;
2869 uint64_t nsr:1;
2870 uint64_t use_csr:1;
2871 uint64_t d_ror:1;
2872 uint64_t d_esr:2;
2873 uint64_t d_nsr:1;
2874 uint64_t pbp_dhi:13;
2875 uint64_t pkt_rr:1;
2876 uint64_t reserved_23_63:41;
2877#endif
1733 } cn63xx; 2878 } cn63xx;
1734 struct cvmx_sli_pkt_input_control_cn63xx cn63xxp1; 2879 struct cvmx_sli_pkt_input_control_cn63xx cn63xxp1;
1735 struct cvmx_sli_pkt_input_control_s cn66xx; 2880 struct cvmx_sli_pkt_input_control_s cn66xx;
1736 struct cvmx_sli_pkt_input_control_s cn68xx; 2881 struct cvmx_sli_pkt_input_control_s cn68xx;
1737 struct cvmx_sli_pkt_input_control_s cn68xxp1; 2882 struct cvmx_sli_pkt_input_control_s cn68xxp1;
2883 struct cvmx_sli_pkt_input_control_s cnf71xx;
1738}; 2884};
1739 2885
1740union cvmx_sli_pkt_instr_enb { 2886union cvmx_sli_pkt_instr_enb {
1741 uint64_t u64; 2887 uint64_t u64;
1742 struct cvmx_sli_pkt_instr_enb_s { 2888 struct cvmx_sli_pkt_instr_enb_s {
2889#ifdef __BIG_ENDIAN_BITFIELD
1743 uint64_t reserved_32_63:32; 2890 uint64_t reserved_32_63:32;
1744 uint64_t enb:32; 2891 uint64_t enb:32;
2892#else
2893 uint64_t enb:32;
2894 uint64_t reserved_32_63:32;
2895#endif
1745 } s; 2896 } s;
1746 struct cvmx_sli_pkt_instr_enb_s cn61xx; 2897 struct cvmx_sli_pkt_instr_enb_s cn61xx;
1747 struct cvmx_sli_pkt_instr_enb_s cn63xx; 2898 struct cvmx_sli_pkt_instr_enb_s cn63xx;
@@ -1749,12 +2900,17 @@ union cvmx_sli_pkt_instr_enb {
1749 struct cvmx_sli_pkt_instr_enb_s cn66xx; 2900 struct cvmx_sli_pkt_instr_enb_s cn66xx;
1750 struct cvmx_sli_pkt_instr_enb_s cn68xx; 2901 struct cvmx_sli_pkt_instr_enb_s cn68xx;
1751 struct cvmx_sli_pkt_instr_enb_s cn68xxp1; 2902 struct cvmx_sli_pkt_instr_enb_s cn68xxp1;
2903 struct cvmx_sli_pkt_instr_enb_s cnf71xx;
1752}; 2904};
1753 2905
1754union cvmx_sli_pkt_instr_rd_size { 2906union cvmx_sli_pkt_instr_rd_size {
1755 uint64_t u64; 2907 uint64_t u64;
1756 struct cvmx_sli_pkt_instr_rd_size_s { 2908 struct cvmx_sli_pkt_instr_rd_size_s {
2909#ifdef __BIG_ENDIAN_BITFIELD
2910 uint64_t rdsize:64;
2911#else
1757 uint64_t rdsize:64; 2912 uint64_t rdsize:64;
2913#endif
1758 } s; 2914 } s;
1759 struct cvmx_sli_pkt_instr_rd_size_s cn61xx; 2915 struct cvmx_sli_pkt_instr_rd_size_s cn61xx;
1760 struct cvmx_sli_pkt_instr_rd_size_s cn63xx; 2916 struct cvmx_sli_pkt_instr_rd_size_s cn63xx;
@@ -1762,13 +2918,19 @@ union cvmx_sli_pkt_instr_rd_size {
1762 struct cvmx_sli_pkt_instr_rd_size_s cn66xx; 2918 struct cvmx_sli_pkt_instr_rd_size_s cn66xx;
1763 struct cvmx_sli_pkt_instr_rd_size_s cn68xx; 2919 struct cvmx_sli_pkt_instr_rd_size_s cn68xx;
1764 struct cvmx_sli_pkt_instr_rd_size_s cn68xxp1; 2920 struct cvmx_sli_pkt_instr_rd_size_s cn68xxp1;
2921 struct cvmx_sli_pkt_instr_rd_size_s cnf71xx;
1765}; 2922};
1766 2923
1767union cvmx_sli_pkt_instr_size { 2924union cvmx_sli_pkt_instr_size {
1768 uint64_t u64; 2925 uint64_t u64;
1769 struct cvmx_sli_pkt_instr_size_s { 2926 struct cvmx_sli_pkt_instr_size_s {
2927#ifdef __BIG_ENDIAN_BITFIELD
1770 uint64_t reserved_32_63:32; 2928 uint64_t reserved_32_63:32;
1771 uint64_t is_64b:32; 2929 uint64_t is_64b:32;
2930#else
2931 uint64_t is_64b:32;
2932 uint64_t reserved_32_63:32;
2933#endif
1772 } s; 2934 } s;
1773 struct cvmx_sli_pkt_instr_size_s cn61xx; 2935 struct cvmx_sli_pkt_instr_size_s cn61xx;
1774 struct cvmx_sli_pkt_instr_size_s cn63xx; 2936 struct cvmx_sli_pkt_instr_size_s cn63xx;
@@ -1776,14 +2938,21 @@ union cvmx_sli_pkt_instr_size {
1776 struct cvmx_sli_pkt_instr_size_s cn66xx; 2938 struct cvmx_sli_pkt_instr_size_s cn66xx;
1777 struct cvmx_sli_pkt_instr_size_s cn68xx; 2939 struct cvmx_sli_pkt_instr_size_s cn68xx;
1778 struct cvmx_sli_pkt_instr_size_s cn68xxp1; 2940 struct cvmx_sli_pkt_instr_size_s cn68xxp1;
2941 struct cvmx_sli_pkt_instr_size_s cnf71xx;
1779}; 2942};
1780 2943
1781union cvmx_sli_pkt_int_levels { 2944union cvmx_sli_pkt_int_levels {
1782 uint64_t u64; 2945 uint64_t u64;
1783 struct cvmx_sli_pkt_int_levels_s { 2946 struct cvmx_sli_pkt_int_levels_s {
2947#ifdef __BIG_ENDIAN_BITFIELD
1784 uint64_t reserved_54_63:10; 2948 uint64_t reserved_54_63:10;
1785 uint64_t time:22; 2949 uint64_t time:22;
1786 uint64_t cnt:32; 2950 uint64_t cnt:32;
2951#else
2952 uint64_t cnt:32;
2953 uint64_t time:22;
2954 uint64_t reserved_54_63:10;
2955#endif
1787 } s; 2956 } s;
1788 struct cvmx_sli_pkt_int_levels_s cn61xx; 2957 struct cvmx_sli_pkt_int_levels_s cn61xx;
1789 struct cvmx_sli_pkt_int_levels_s cn63xx; 2958 struct cvmx_sli_pkt_int_levels_s cn63xx;
@@ -1791,13 +2960,19 @@ union cvmx_sli_pkt_int_levels {
1791 struct cvmx_sli_pkt_int_levels_s cn66xx; 2960 struct cvmx_sli_pkt_int_levels_s cn66xx;
1792 struct cvmx_sli_pkt_int_levels_s cn68xx; 2961 struct cvmx_sli_pkt_int_levels_s cn68xx;
1793 struct cvmx_sli_pkt_int_levels_s cn68xxp1; 2962 struct cvmx_sli_pkt_int_levels_s cn68xxp1;
2963 struct cvmx_sli_pkt_int_levels_s cnf71xx;
1794}; 2964};
1795 2965
1796union cvmx_sli_pkt_iptr { 2966union cvmx_sli_pkt_iptr {
1797 uint64_t u64; 2967 uint64_t u64;
1798 struct cvmx_sli_pkt_iptr_s { 2968 struct cvmx_sli_pkt_iptr_s {
2969#ifdef __BIG_ENDIAN_BITFIELD
1799 uint64_t reserved_32_63:32; 2970 uint64_t reserved_32_63:32;
1800 uint64_t iptr:32; 2971 uint64_t iptr:32;
2972#else
2973 uint64_t iptr:32;
2974 uint64_t reserved_32_63:32;
2975#endif
1801 } s; 2976 } s;
1802 struct cvmx_sli_pkt_iptr_s cn61xx; 2977 struct cvmx_sli_pkt_iptr_s cn61xx;
1803 struct cvmx_sli_pkt_iptr_s cn63xx; 2978 struct cvmx_sli_pkt_iptr_s cn63xx;
@@ -1805,13 +2980,19 @@ union cvmx_sli_pkt_iptr {
1805 struct cvmx_sli_pkt_iptr_s cn66xx; 2980 struct cvmx_sli_pkt_iptr_s cn66xx;
1806 struct cvmx_sli_pkt_iptr_s cn68xx; 2981 struct cvmx_sli_pkt_iptr_s cn68xx;
1807 struct cvmx_sli_pkt_iptr_s cn68xxp1; 2982 struct cvmx_sli_pkt_iptr_s cn68xxp1;
2983 struct cvmx_sli_pkt_iptr_s cnf71xx;
1808}; 2984};
1809 2985
1810union cvmx_sli_pkt_out_bmode { 2986union cvmx_sli_pkt_out_bmode {
1811 uint64_t u64; 2987 uint64_t u64;
1812 struct cvmx_sli_pkt_out_bmode_s { 2988 struct cvmx_sli_pkt_out_bmode_s {
2989#ifdef __BIG_ENDIAN_BITFIELD
1813 uint64_t reserved_32_63:32; 2990 uint64_t reserved_32_63:32;
1814 uint64_t bmode:32; 2991 uint64_t bmode:32;
2992#else
2993 uint64_t bmode:32;
2994 uint64_t reserved_32_63:32;
2995#endif
1815 } s; 2996 } s;
1816 struct cvmx_sli_pkt_out_bmode_s cn61xx; 2997 struct cvmx_sli_pkt_out_bmode_s cn61xx;
1817 struct cvmx_sli_pkt_out_bmode_s cn63xx; 2998 struct cvmx_sli_pkt_out_bmode_s cn63xx;
@@ -1819,13 +3000,19 @@ union cvmx_sli_pkt_out_bmode {
1819 struct cvmx_sli_pkt_out_bmode_s cn66xx; 3000 struct cvmx_sli_pkt_out_bmode_s cn66xx;
1820 struct cvmx_sli_pkt_out_bmode_s cn68xx; 3001 struct cvmx_sli_pkt_out_bmode_s cn68xx;
1821 struct cvmx_sli_pkt_out_bmode_s cn68xxp1; 3002 struct cvmx_sli_pkt_out_bmode_s cn68xxp1;
3003 struct cvmx_sli_pkt_out_bmode_s cnf71xx;
1822}; 3004};
1823 3005
1824union cvmx_sli_pkt_out_bp_en { 3006union cvmx_sli_pkt_out_bp_en {
1825 uint64_t u64; 3007 uint64_t u64;
1826 struct cvmx_sli_pkt_out_bp_en_s { 3008 struct cvmx_sli_pkt_out_bp_en_s {
3009#ifdef __BIG_ENDIAN_BITFIELD
1827 uint64_t reserved_32_63:32; 3010 uint64_t reserved_32_63:32;
1828 uint64_t bp_en:32; 3011 uint64_t bp_en:32;
3012#else
3013 uint64_t bp_en:32;
3014 uint64_t reserved_32_63:32;
3015#endif
1829 } s; 3016 } s;
1830 struct cvmx_sli_pkt_out_bp_en_s cn68xx; 3017 struct cvmx_sli_pkt_out_bp_en_s cn68xx;
1831 struct cvmx_sli_pkt_out_bp_en_s cn68xxp1; 3018 struct cvmx_sli_pkt_out_bp_en_s cn68xxp1;
@@ -1834,8 +3021,13 @@ union cvmx_sli_pkt_out_bp_en {
1834union cvmx_sli_pkt_out_enb { 3021union cvmx_sli_pkt_out_enb {
1835 uint64_t u64; 3022 uint64_t u64;
1836 struct cvmx_sli_pkt_out_enb_s { 3023 struct cvmx_sli_pkt_out_enb_s {
3024#ifdef __BIG_ENDIAN_BITFIELD
1837 uint64_t reserved_32_63:32; 3025 uint64_t reserved_32_63:32;
1838 uint64_t enb:32; 3026 uint64_t enb:32;
3027#else
3028 uint64_t enb:32;
3029 uint64_t reserved_32_63:32;
3030#endif
1839 } s; 3031 } s;
1840 struct cvmx_sli_pkt_out_enb_s cn61xx; 3032 struct cvmx_sli_pkt_out_enb_s cn61xx;
1841 struct cvmx_sli_pkt_out_enb_s cn63xx; 3033 struct cvmx_sli_pkt_out_enb_s cn63xx;
@@ -1843,13 +3035,19 @@ union cvmx_sli_pkt_out_enb {
1843 struct cvmx_sli_pkt_out_enb_s cn66xx; 3035 struct cvmx_sli_pkt_out_enb_s cn66xx;
1844 struct cvmx_sli_pkt_out_enb_s cn68xx; 3036 struct cvmx_sli_pkt_out_enb_s cn68xx;
1845 struct cvmx_sli_pkt_out_enb_s cn68xxp1; 3037 struct cvmx_sli_pkt_out_enb_s cn68xxp1;
3038 struct cvmx_sli_pkt_out_enb_s cnf71xx;
1846}; 3039};
1847 3040
1848union cvmx_sli_pkt_output_wmark { 3041union cvmx_sli_pkt_output_wmark {
1849 uint64_t u64; 3042 uint64_t u64;
1850 struct cvmx_sli_pkt_output_wmark_s { 3043 struct cvmx_sli_pkt_output_wmark_s {
3044#ifdef __BIG_ENDIAN_BITFIELD
1851 uint64_t reserved_32_63:32; 3045 uint64_t reserved_32_63:32;
1852 uint64_t wmark:32; 3046 uint64_t wmark:32;
3047#else
3048 uint64_t wmark:32;
3049 uint64_t reserved_32_63:32;
3050#endif
1853 } s; 3051 } s;
1854 struct cvmx_sli_pkt_output_wmark_s cn61xx; 3052 struct cvmx_sli_pkt_output_wmark_s cn61xx;
1855 struct cvmx_sli_pkt_output_wmark_s cn63xx; 3053 struct cvmx_sli_pkt_output_wmark_s cn63xx;
@@ -1857,12 +3055,17 @@ union cvmx_sli_pkt_output_wmark {
1857 struct cvmx_sli_pkt_output_wmark_s cn66xx; 3055 struct cvmx_sli_pkt_output_wmark_s cn66xx;
1858 struct cvmx_sli_pkt_output_wmark_s cn68xx; 3056 struct cvmx_sli_pkt_output_wmark_s cn68xx;
1859 struct cvmx_sli_pkt_output_wmark_s cn68xxp1; 3057 struct cvmx_sli_pkt_output_wmark_s cn68xxp1;
3058 struct cvmx_sli_pkt_output_wmark_s cnf71xx;
1860}; 3059};
1861 3060
1862union cvmx_sli_pkt_pcie_port { 3061union cvmx_sli_pkt_pcie_port {
1863 uint64_t u64; 3062 uint64_t u64;
1864 struct cvmx_sli_pkt_pcie_port_s { 3063 struct cvmx_sli_pkt_pcie_port_s {
3064#ifdef __BIG_ENDIAN_BITFIELD
3065 uint64_t pp:64;
3066#else
1865 uint64_t pp:64; 3067 uint64_t pp:64;
3068#endif
1866 } s; 3069 } s;
1867 struct cvmx_sli_pkt_pcie_port_s cn61xx; 3070 struct cvmx_sli_pkt_pcie_port_s cn61xx;
1868 struct cvmx_sli_pkt_pcie_port_s cn63xx; 3071 struct cvmx_sli_pkt_pcie_port_s cn63xx;
@@ -1870,13 +3073,19 @@ union cvmx_sli_pkt_pcie_port {
1870 struct cvmx_sli_pkt_pcie_port_s cn66xx; 3073 struct cvmx_sli_pkt_pcie_port_s cn66xx;
1871 struct cvmx_sli_pkt_pcie_port_s cn68xx; 3074 struct cvmx_sli_pkt_pcie_port_s cn68xx;
1872 struct cvmx_sli_pkt_pcie_port_s cn68xxp1; 3075 struct cvmx_sli_pkt_pcie_port_s cn68xxp1;
3076 struct cvmx_sli_pkt_pcie_port_s cnf71xx;
1873}; 3077};
1874 3078
1875union cvmx_sli_pkt_port_in_rst { 3079union cvmx_sli_pkt_port_in_rst {
1876 uint64_t u64; 3080 uint64_t u64;
1877 struct cvmx_sli_pkt_port_in_rst_s { 3081 struct cvmx_sli_pkt_port_in_rst_s {
3082#ifdef __BIG_ENDIAN_BITFIELD
1878 uint64_t in_rst:32; 3083 uint64_t in_rst:32;
1879 uint64_t out_rst:32; 3084 uint64_t out_rst:32;
3085#else
3086 uint64_t out_rst:32;
3087 uint64_t in_rst:32;
3088#endif
1880 } s; 3089 } s;
1881 struct cvmx_sli_pkt_port_in_rst_s cn61xx; 3090 struct cvmx_sli_pkt_port_in_rst_s cn61xx;
1882 struct cvmx_sli_pkt_port_in_rst_s cn63xx; 3091 struct cvmx_sli_pkt_port_in_rst_s cn63xx;
@@ -1884,12 +3093,17 @@ union cvmx_sli_pkt_port_in_rst {
1884 struct cvmx_sli_pkt_port_in_rst_s cn66xx; 3093 struct cvmx_sli_pkt_port_in_rst_s cn66xx;
1885 struct cvmx_sli_pkt_port_in_rst_s cn68xx; 3094 struct cvmx_sli_pkt_port_in_rst_s cn68xx;
1886 struct cvmx_sli_pkt_port_in_rst_s cn68xxp1; 3095 struct cvmx_sli_pkt_port_in_rst_s cn68xxp1;
3096 struct cvmx_sli_pkt_port_in_rst_s cnf71xx;
1887}; 3097};
1888 3098
1889union cvmx_sli_pkt_slist_es { 3099union cvmx_sli_pkt_slist_es {
1890 uint64_t u64; 3100 uint64_t u64;
1891 struct cvmx_sli_pkt_slist_es_s { 3101 struct cvmx_sli_pkt_slist_es_s {
3102#ifdef __BIG_ENDIAN_BITFIELD
1892 uint64_t es:64; 3103 uint64_t es:64;
3104#else
3105 uint64_t es:64;
3106#endif
1893 } s; 3107 } s;
1894 struct cvmx_sli_pkt_slist_es_s cn61xx; 3108 struct cvmx_sli_pkt_slist_es_s cn61xx;
1895 struct cvmx_sli_pkt_slist_es_s cn63xx; 3109 struct cvmx_sli_pkt_slist_es_s cn63xx;
@@ -1897,13 +3111,19 @@ union cvmx_sli_pkt_slist_es {
1897 struct cvmx_sli_pkt_slist_es_s cn66xx; 3111 struct cvmx_sli_pkt_slist_es_s cn66xx;
1898 struct cvmx_sli_pkt_slist_es_s cn68xx; 3112 struct cvmx_sli_pkt_slist_es_s cn68xx;
1899 struct cvmx_sli_pkt_slist_es_s cn68xxp1; 3113 struct cvmx_sli_pkt_slist_es_s cn68xxp1;
3114 struct cvmx_sli_pkt_slist_es_s cnf71xx;
1900}; 3115};
1901 3116
1902union cvmx_sli_pkt_slist_ns { 3117union cvmx_sli_pkt_slist_ns {
1903 uint64_t u64; 3118 uint64_t u64;
1904 struct cvmx_sli_pkt_slist_ns_s { 3119 struct cvmx_sli_pkt_slist_ns_s {
3120#ifdef __BIG_ENDIAN_BITFIELD
1905 uint64_t reserved_32_63:32; 3121 uint64_t reserved_32_63:32;
1906 uint64_t nsr:32; 3122 uint64_t nsr:32;
3123#else
3124 uint64_t nsr:32;
3125 uint64_t reserved_32_63:32;
3126#endif
1907 } s; 3127 } s;
1908 struct cvmx_sli_pkt_slist_ns_s cn61xx; 3128 struct cvmx_sli_pkt_slist_ns_s cn61xx;
1909 struct cvmx_sli_pkt_slist_ns_s cn63xx; 3129 struct cvmx_sli_pkt_slist_ns_s cn63xx;
@@ -1911,13 +3131,19 @@ union cvmx_sli_pkt_slist_ns {
1911 struct cvmx_sli_pkt_slist_ns_s cn66xx; 3131 struct cvmx_sli_pkt_slist_ns_s cn66xx;
1912 struct cvmx_sli_pkt_slist_ns_s cn68xx; 3132 struct cvmx_sli_pkt_slist_ns_s cn68xx;
1913 struct cvmx_sli_pkt_slist_ns_s cn68xxp1; 3133 struct cvmx_sli_pkt_slist_ns_s cn68xxp1;
3134 struct cvmx_sli_pkt_slist_ns_s cnf71xx;
1914}; 3135};
1915 3136
1916union cvmx_sli_pkt_slist_ror { 3137union cvmx_sli_pkt_slist_ror {
1917 uint64_t u64; 3138 uint64_t u64;
1918 struct cvmx_sli_pkt_slist_ror_s { 3139 struct cvmx_sli_pkt_slist_ror_s {
3140#ifdef __BIG_ENDIAN_BITFIELD
1919 uint64_t reserved_32_63:32; 3141 uint64_t reserved_32_63:32;
1920 uint64_t ror:32; 3142 uint64_t ror:32;
3143#else
3144 uint64_t ror:32;
3145 uint64_t reserved_32_63:32;
3146#endif
1921 } s; 3147 } s;
1922 struct cvmx_sli_pkt_slist_ror_s cn61xx; 3148 struct cvmx_sli_pkt_slist_ror_s cn61xx;
1923 struct cvmx_sli_pkt_slist_ror_s cn63xx; 3149 struct cvmx_sli_pkt_slist_ror_s cn63xx;
@@ -1925,13 +3151,19 @@ union cvmx_sli_pkt_slist_ror {
1925 struct cvmx_sli_pkt_slist_ror_s cn66xx; 3151 struct cvmx_sli_pkt_slist_ror_s cn66xx;
1926 struct cvmx_sli_pkt_slist_ror_s cn68xx; 3152 struct cvmx_sli_pkt_slist_ror_s cn68xx;
1927 struct cvmx_sli_pkt_slist_ror_s cn68xxp1; 3153 struct cvmx_sli_pkt_slist_ror_s cn68xxp1;
3154 struct cvmx_sli_pkt_slist_ror_s cnf71xx;
1928}; 3155};
1929 3156
1930union cvmx_sli_pkt_time_int { 3157union cvmx_sli_pkt_time_int {
1931 uint64_t u64; 3158 uint64_t u64;
1932 struct cvmx_sli_pkt_time_int_s { 3159 struct cvmx_sli_pkt_time_int_s {
3160#ifdef __BIG_ENDIAN_BITFIELD
1933 uint64_t reserved_32_63:32; 3161 uint64_t reserved_32_63:32;
1934 uint64_t port:32; 3162 uint64_t port:32;
3163#else
3164 uint64_t port:32;
3165 uint64_t reserved_32_63:32;
3166#endif
1935 } s; 3167 } s;
1936 struct cvmx_sli_pkt_time_int_s cn61xx; 3168 struct cvmx_sli_pkt_time_int_s cn61xx;
1937 struct cvmx_sli_pkt_time_int_s cn63xx; 3169 struct cvmx_sli_pkt_time_int_s cn63xx;
@@ -1939,13 +3171,19 @@ union cvmx_sli_pkt_time_int {
1939 struct cvmx_sli_pkt_time_int_s cn66xx; 3171 struct cvmx_sli_pkt_time_int_s cn66xx;
1940 struct cvmx_sli_pkt_time_int_s cn68xx; 3172 struct cvmx_sli_pkt_time_int_s cn68xx;
1941 struct cvmx_sli_pkt_time_int_s cn68xxp1; 3173 struct cvmx_sli_pkt_time_int_s cn68xxp1;
3174 struct cvmx_sli_pkt_time_int_s cnf71xx;
1942}; 3175};
1943 3176
1944union cvmx_sli_pkt_time_int_enb { 3177union cvmx_sli_pkt_time_int_enb {
1945 uint64_t u64; 3178 uint64_t u64;
1946 struct cvmx_sli_pkt_time_int_enb_s { 3179 struct cvmx_sli_pkt_time_int_enb_s {
3180#ifdef __BIG_ENDIAN_BITFIELD
1947 uint64_t reserved_32_63:32; 3181 uint64_t reserved_32_63:32;
1948 uint64_t port:32; 3182 uint64_t port:32;
3183#else
3184 uint64_t port:32;
3185 uint64_t reserved_32_63:32;
3186#endif
1949 } s; 3187 } s;
1950 struct cvmx_sli_pkt_time_int_enb_s cn61xx; 3188 struct cvmx_sli_pkt_time_int_enb_s cn61xx;
1951 struct cvmx_sli_pkt_time_int_enb_s cn63xx; 3189 struct cvmx_sli_pkt_time_int_enb_s cn63xx;
@@ -1953,11 +3191,13 @@ union cvmx_sli_pkt_time_int_enb {
1953 struct cvmx_sli_pkt_time_int_enb_s cn66xx; 3191 struct cvmx_sli_pkt_time_int_enb_s cn66xx;
1954 struct cvmx_sli_pkt_time_int_enb_s cn68xx; 3192 struct cvmx_sli_pkt_time_int_enb_s cn68xx;
1955 struct cvmx_sli_pkt_time_int_enb_s cn68xxp1; 3193 struct cvmx_sli_pkt_time_int_enb_s cn68xxp1;
3194 struct cvmx_sli_pkt_time_int_enb_s cnf71xx;
1956}; 3195};
1957 3196
1958union cvmx_sli_portx_pkind { 3197union cvmx_sli_portx_pkind {
1959 uint64_t u64; 3198 uint64_t u64;
1960 struct cvmx_sli_portx_pkind_s { 3199 struct cvmx_sli_portx_pkind_s {
3200#ifdef __BIG_ENDIAN_BITFIELD
1961 uint64_t reserved_25_63:39; 3201 uint64_t reserved_25_63:39;
1962 uint64_t rpk_enb:1; 3202 uint64_t rpk_enb:1;
1963 uint64_t reserved_22_23:2; 3203 uint64_t reserved_22_23:2;
@@ -1966,23 +3206,47 @@ union cvmx_sli_portx_pkind {
1966 uint64_t bpkind:6; 3206 uint64_t bpkind:6;
1967 uint64_t reserved_6_7:2; 3207 uint64_t reserved_6_7:2;
1968 uint64_t pkind:6; 3208 uint64_t pkind:6;
3209#else
3210 uint64_t pkind:6;
3211 uint64_t reserved_6_7:2;
3212 uint64_t bpkind:6;
3213 uint64_t reserved_14_15:2;
3214 uint64_t pkindr:6;
3215 uint64_t reserved_22_23:2;
3216 uint64_t rpk_enb:1;
3217 uint64_t reserved_25_63:39;
3218#endif
1969 } s; 3219 } s;
1970 struct cvmx_sli_portx_pkind_s cn68xx; 3220 struct cvmx_sli_portx_pkind_s cn68xx;
1971 struct cvmx_sli_portx_pkind_cn68xxp1 { 3221 struct cvmx_sli_portx_pkind_cn68xxp1 {
3222#ifdef __BIG_ENDIAN_BITFIELD
1972 uint64_t reserved_14_63:50; 3223 uint64_t reserved_14_63:50;
1973 uint64_t bpkind:6; 3224 uint64_t bpkind:6;
1974 uint64_t reserved_6_7:2; 3225 uint64_t reserved_6_7:2;
1975 uint64_t pkind:6; 3226 uint64_t pkind:6;
3227#else
3228 uint64_t pkind:6;
3229 uint64_t reserved_6_7:2;
3230 uint64_t bpkind:6;
3231 uint64_t reserved_14_63:50;
3232#endif
1976 } cn68xxp1; 3233 } cn68xxp1;
1977}; 3234};
1978 3235
1979union cvmx_sli_s2m_portx_ctl { 3236union cvmx_sli_s2m_portx_ctl {
1980 uint64_t u64; 3237 uint64_t u64;
1981 struct cvmx_sli_s2m_portx_ctl_s { 3238 struct cvmx_sli_s2m_portx_ctl_s {
3239#ifdef __BIG_ENDIAN_BITFIELD
1982 uint64_t reserved_5_63:59; 3240 uint64_t reserved_5_63:59;
1983 uint64_t wind_d:1; 3241 uint64_t wind_d:1;
1984 uint64_t bar0_d:1; 3242 uint64_t bar0_d:1;
1985 uint64_t mrrs:3; 3243 uint64_t mrrs:3;
3244#else
3245 uint64_t mrrs:3;
3246 uint64_t bar0_d:1;
3247 uint64_t wind_d:1;
3248 uint64_t reserved_5_63:59;
3249#endif
1986 } s; 3250 } s;
1987 struct cvmx_sli_s2m_portx_ctl_s cn61xx; 3251 struct cvmx_sli_s2m_portx_ctl_s cn61xx;
1988 struct cvmx_sli_s2m_portx_ctl_s cn63xx; 3252 struct cvmx_sli_s2m_portx_ctl_s cn63xx;
@@ -1990,12 +3254,17 @@ union cvmx_sli_s2m_portx_ctl {
1990 struct cvmx_sli_s2m_portx_ctl_s cn66xx; 3254 struct cvmx_sli_s2m_portx_ctl_s cn66xx;
1991 struct cvmx_sli_s2m_portx_ctl_s cn68xx; 3255 struct cvmx_sli_s2m_portx_ctl_s cn68xx;
1992 struct cvmx_sli_s2m_portx_ctl_s cn68xxp1; 3256 struct cvmx_sli_s2m_portx_ctl_s cn68xxp1;
3257 struct cvmx_sli_s2m_portx_ctl_s cnf71xx;
1993}; 3258};
1994 3259
1995union cvmx_sli_scratch_1 { 3260union cvmx_sli_scratch_1 {
1996 uint64_t u64; 3261 uint64_t u64;
1997 struct cvmx_sli_scratch_1_s { 3262 struct cvmx_sli_scratch_1_s {
3263#ifdef __BIG_ENDIAN_BITFIELD
3264 uint64_t data:64;
3265#else
1998 uint64_t data:64; 3266 uint64_t data:64;
3267#endif
1999 } s; 3268 } s;
2000 struct cvmx_sli_scratch_1_s cn61xx; 3269 struct cvmx_sli_scratch_1_s cn61xx;
2001 struct cvmx_sli_scratch_1_s cn63xx; 3270 struct cvmx_sli_scratch_1_s cn63xx;
@@ -2003,12 +3272,17 @@ union cvmx_sli_scratch_1 {
2003 struct cvmx_sli_scratch_1_s cn66xx; 3272 struct cvmx_sli_scratch_1_s cn66xx;
2004 struct cvmx_sli_scratch_1_s cn68xx; 3273 struct cvmx_sli_scratch_1_s cn68xx;
2005 struct cvmx_sli_scratch_1_s cn68xxp1; 3274 struct cvmx_sli_scratch_1_s cn68xxp1;
3275 struct cvmx_sli_scratch_1_s cnf71xx;
2006}; 3276};
2007 3277
2008union cvmx_sli_scratch_2 { 3278union cvmx_sli_scratch_2 {
2009 uint64_t u64; 3279 uint64_t u64;
2010 struct cvmx_sli_scratch_2_s { 3280 struct cvmx_sli_scratch_2_s {
3281#ifdef __BIG_ENDIAN_BITFIELD
3282 uint64_t data:64;
3283#else
2011 uint64_t data:64; 3284 uint64_t data:64;
3285#endif
2012 } s; 3286 } s;
2013 struct cvmx_sli_scratch_2_s cn61xx; 3287 struct cvmx_sli_scratch_2_s cn61xx;
2014 struct cvmx_sli_scratch_2_s cn63xx; 3288 struct cvmx_sli_scratch_2_s cn63xx;
@@ -2016,15 +3290,23 @@ union cvmx_sli_scratch_2 {
2016 struct cvmx_sli_scratch_2_s cn66xx; 3290 struct cvmx_sli_scratch_2_s cn66xx;
2017 struct cvmx_sli_scratch_2_s cn68xx; 3291 struct cvmx_sli_scratch_2_s cn68xx;
2018 struct cvmx_sli_scratch_2_s cn68xxp1; 3292 struct cvmx_sli_scratch_2_s cn68xxp1;
3293 struct cvmx_sli_scratch_2_s cnf71xx;
2019}; 3294};
2020 3295
2021union cvmx_sli_state1 { 3296union cvmx_sli_state1 {
2022 uint64_t u64; 3297 uint64_t u64;
2023 struct cvmx_sli_state1_s { 3298 struct cvmx_sli_state1_s {
3299#ifdef __BIG_ENDIAN_BITFIELD
2024 uint64_t cpl1:12; 3300 uint64_t cpl1:12;
2025 uint64_t cpl0:12; 3301 uint64_t cpl0:12;
2026 uint64_t arb:1; 3302 uint64_t arb:1;
2027 uint64_t csr:39; 3303 uint64_t csr:39;
3304#else
3305 uint64_t csr:39;
3306 uint64_t arb:1;
3307 uint64_t cpl0:12;
3308 uint64_t cpl1:12;
3309#endif
2028 } s; 3310 } s;
2029 struct cvmx_sli_state1_s cn61xx; 3311 struct cvmx_sli_state1_s cn61xx;
2030 struct cvmx_sli_state1_s cn63xx; 3312 struct cvmx_sli_state1_s cn63xx;
@@ -2032,11 +3314,13 @@ union cvmx_sli_state1 {
2032 struct cvmx_sli_state1_s cn66xx; 3314 struct cvmx_sli_state1_s cn66xx;
2033 struct cvmx_sli_state1_s cn68xx; 3315 struct cvmx_sli_state1_s cn68xx;
2034 struct cvmx_sli_state1_s cn68xxp1; 3316 struct cvmx_sli_state1_s cn68xxp1;
3317 struct cvmx_sli_state1_s cnf71xx;
2035}; 3318};
2036 3319
2037union cvmx_sli_state2 { 3320union cvmx_sli_state2 {
2038 uint64_t u64; 3321 uint64_t u64;
2039 struct cvmx_sli_state2_s { 3322 struct cvmx_sli_state2_s {
3323#ifdef __BIG_ENDIAN_BITFIELD
2040 uint64_t reserved_56_63:8; 3324 uint64_t reserved_56_63:8;
2041 uint64_t nnp1:8; 3325 uint64_t nnp1:8;
2042 uint64_t reserved_47_47:1; 3326 uint64_t reserved_47_47:1;
@@ -2045,6 +3329,16 @@ union cvmx_sli_state2 {
2045 uint64_t csm0:15; 3329 uint64_t csm0:15;
2046 uint64_t nnp0:8; 3330 uint64_t nnp0:8;
2047 uint64_t nnd:8; 3331 uint64_t nnd:8;
3332#else
3333 uint64_t nnd:8;
3334 uint64_t nnp0:8;
3335 uint64_t csm0:15;
3336 uint64_t csm1:15;
3337 uint64_t rac:1;
3338 uint64_t reserved_47_47:1;
3339 uint64_t nnp1:8;
3340 uint64_t reserved_56_63:8;
3341#endif
2048 } s; 3342 } s;
2049 struct cvmx_sli_state2_s cn61xx; 3343 struct cvmx_sli_state2_s cn61xx;
2050 struct cvmx_sli_state2_s cn63xx; 3344 struct cvmx_sli_state2_s cn63xx;
@@ -2052,16 +3346,25 @@ union cvmx_sli_state2 {
2052 struct cvmx_sli_state2_s cn66xx; 3346 struct cvmx_sli_state2_s cn66xx;
2053 struct cvmx_sli_state2_s cn68xx; 3347 struct cvmx_sli_state2_s cn68xx;
2054 struct cvmx_sli_state2_s cn68xxp1; 3348 struct cvmx_sli_state2_s cn68xxp1;
3349 struct cvmx_sli_state2_s cnf71xx;
2055}; 3350};
2056 3351
2057union cvmx_sli_state3 { 3352union cvmx_sli_state3 {
2058 uint64_t u64; 3353 uint64_t u64;
2059 struct cvmx_sli_state3_s { 3354 struct cvmx_sli_state3_s {
3355#ifdef __BIG_ENDIAN_BITFIELD
2060 uint64_t reserved_56_63:8; 3356 uint64_t reserved_56_63:8;
2061 uint64_t psm1:15; 3357 uint64_t psm1:15;
2062 uint64_t psm0:15; 3358 uint64_t psm0:15;
2063 uint64_t nsm1:13; 3359 uint64_t nsm1:13;
2064 uint64_t nsm0:13; 3360 uint64_t nsm0:13;
3361#else
3362 uint64_t nsm0:13;
3363 uint64_t nsm1:13;
3364 uint64_t psm0:15;
3365 uint64_t psm1:15;
3366 uint64_t reserved_56_63:8;
3367#endif
2065 } s; 3368 } s;
2066 struct cvmx_sli_state3_s cn61xx; 3369 struct cvmx_sli_state3_s cn61xx;
2067 struct cvmx_sli_state3_s cn63xx; 3370 struct cvmx_sli_state3_s cn63xx;
@@ -2069,15 +3372,23 @@ union cvmx_sli_state3 {
2069 struct cvmx_sli_state3_s cn66xx; 3372 struct cvmx_sli_state3_s cn66xx;
2070 struct cvmx_sli_state3_s cn68xx; 3373 struct cvmx_sli_state3_s cn68xx;
2071 struct cvmx_sli_state3_s cn68xxp1; 3374 struct cvmx_sli_state3_s cn68xxp1;
3375 struct cvmx_sli_state3_s cnf71xx;
2072}; 3376};
2073 3377
2074union cvmx_sli_tx_pipe { 3378union cvmx_sli_tx_pipe {
2075 uint64_t u64; 3379 uint64_t u64;
2076 struct cvmx_sli_tx_pipe_s { 3380 struct cvmx_sli_tx_pipe_s {
3381#ifdef __BIG_ENDIAN_BITFIELD
2077 uint64_t reserved_24_63:40; 3382 uint64_t reserved_24_63:40;
2078 uint64_t nump:8; 3383 uint64_t nump:8;
2079 uint64_t reserved_7_15:9; 3384 uint64_t reserved_7_15:9;
2080 uint64_t base:7; 3385 uint64_t base:7;
3386#else
3387 uint64_t base:7;
3388 uint64_t reserved_7_15:9;
3389 uint64_t nump:8;
3390 uint64_t reserved_24_63:40;
3391#endif
2081 } s; 3392 } s;
2082 struct cvmx_sli_tx_pipe_s cn68xx; 3393 struct cvmx_sli_tx_pipe_s cn68xx;
2083 struct cvmx_sli_tx_pipe_s cn68xxp1; 3394 struct cvmx_sli_tx_pipe_s cn68xxp1;
@@ -2086,10 +3397,17 @@ union cvmx_sli_tx_pipe {
2086union cvmx_sli_win_rd_addr { 3397union cvmx_sli_win_rd_addr {
2087 uint64_t u64; 3398 uint64_t u64;
2088 struct cvmx_sli_win_rd_addr_s { 3399 struct cvmx_sli_win_rd_addr_s {
3400#ifdef __BIG_ENDIAN_BITFIELD
2089 uint64_t reserved_51_63:13; 3401 uint64_t reserved_51_63:13;
2090 uint64_t ld_cmd:2; 3402 uint64_t ld_cmd:2;
2091 uint64_t iobit:1; 3403 uint64_t iobit:1;
2092 uint64_t rd_addr:48; 3404 uint64_t rd_addr:48;
3405#else
3406 uint64_t rd_addr:48;
3407 uint64_t iobit:1;
3408 uint64_t ld_cmd:2;
3409 uint64_t reserved_51_63:13;
3410#endif
2093 } s; 3411 } s;
2094 struct cvmx_sli_win_rd_addr_s cn61xx; 3412 struct cvmx_sli_win_rd_addr_s cn61xx;
2095 struct cvmx_sli_win_rd_addr_s cn63xx; 3413 struct cvmx_sli_win_rd_addr_s cn63xx;
@@ -2097,12 +3415,17 @@ union cvmx_sli_win_rd_addr {
2097 struct cvmx_sli_win_rd_addr_s cn66xx; 3415 struct cvmx_sli_win_rd_addr_s cn66xx;
2098 struct cvmx_sli_win_rd_addr_s cn68xx; 3416 struct cvmx_sli_win_rd_addr_s cn68xx;
2099 struct cvmx_sli_win_rd_addr_s cn68xxp1; 3417 struct cvmx_sli_win_rd_addr_s cn68xxp1;
3418 struct cvmx_sli_win_rd_addr_s cnf71xx;
2100}; 3419};
2101 3420
2102union cvmx_sli_win_rd_data { 3421union cvmx_sli_win_rd_data {
2103 uint64_t u64; 3422 uint64_t u64;
2104 struct cvmx_sli_win_rd_data_s { 3423 struct cvmx_sli_win_rd_data_s {
3424#ifdef __BIG_ENDIAN_BITFIELD
3425 uint64_t rd_data:64;
3426#else
2105 uint64_t rd_data:64; 3427 uint64_t rd_data:64;
3428#endif
2106 } s; 3429 } s;
2107 struct cvmx_sli_win_rd_data_s cn61xx; 3430 struct cvmx_sli_win_rd_data_s cn61xx;
2108 struct cvmx_sli_win_rd_data_s cn63xx; 3431 struct cvmx_sli_win_rd_data_s cn63xx;
@@ -2110,15 +3433,23 @@ union cvmx_sli_win_rd_data {
2110 struct cvmx_sli_win_rd_data_s cn66xx; 3433 struct cvmx_sli_win_rd_data_s cn66xx;
2111 struct cvmx_sli_win_rd_data_s cn68xx; 3434 struct cvmx_sli_win_rd_data_s cn68xx;
2112 struct cvmx_sli_win_rd_data_s cn68xxp1; 3435 struct cvmx_sli_win_rd_data_s cn68xxp1;
3436 struct cvmx_sli_win_rd_data_s cnf71xx;
2113}; 3437};
2114 3438
2115union cvmx_sli_win_wr_addr { 3439union cvmx_sli_win_wr_addr {
2116 uint64_t u64; 3440 uint64_t u64;
2117 struct cvmx_sli_win_wr_addr_s { 3441 struct cvmx_sli_win_wr_addr_s {
3442#ifdef __BIG_ENDIAN_BITFIELD
2118 uint64_t reserved_49_63:15; 3443 uint64_t reserved_49_63:15;
2119 uint64_t iobit:1; 3444 uint64_t iobit:1;
2120 uint64_t wr_addr:45; 3445 uint64_t wr_addr:45;
2121 uint64_t reserved_0_2:3; 3446 uint64_t reserved_0_2:3;
3447#else
3448 uint64_t reserved_0_2:3;
3449 uint64_t wr_addr:45;
3450 uint64_t iobit:1;
3451 uint64_t reserved_49_63:15;
3452#endif
2122 } s; 3453 } s;
2123 struct cvmx_sli_win_wr_addr_s cn61xx; 3454 struct cvmx_sli_win_wr_addr_s cn61xx;
2124 struct cvmx_sli_win_wr_addr_s cn63xx; 3455 struct cvmx_sli_win_wr_addr_s cn63xx;
@@ -2126,12 +3457,17 @@ union cvmx_sli_win_wr_addr {
2126 struct cvmx_sli_win_wr_addr_s cn66xx; 3457 struct cvmx_sli_win_wr_addr_s cn66xx;
2127 struct cvmx_sli_win_wr_addr_s cn68xx; 3458 struct cvmx_sli_win_wr_addr_s cn68xx;
2128 struct cvmx_sli_win_wr_addr_s cn68xxp1; 3459 struct cvmx_sli_win_wr_addr_s cn68xxp1;
3460 struct cvmx_sli_win_wr_addr_s cnf71xx;
2129}; 3461};
2130 3462
2131union cvmx_sli_win_wr_data { 3463union cvmx_sli_win_wr_data {
2132 uint64_t u64; 3464 uint64_t u64;
2133 struct cvmx_sli_win_wr_data_s { 3465 struct cvmx_sli_win_wr_data_s {
3466#ifdef __BIG_ENDIAN_BITFIELD
2134 uint64_t wr_data:64; 3467 uint64_t wr_data:64;
3468#else
3469 uint64_t wr_data:64;
3470#endif
2135 } s; 3471 } s;
2136 struct cvmx_sli_win_wr_data_s cn61xx; 3472 struct cvmx_sli_win_wr_data_s cn61xx;
2137 struct cvmx_sli_win_wr_data_s cn63xx; 3473 struct cvmx_sli_win_wr_data_s cn63xx;
@@ -2139,13 +3475,19 @@ union cvmx_sli_win_wr_data {
2139 struct cvmx_sli_win_wr_data_s cn66xx; 3475 struct cvmx_sli_win_wr_data_s cn66xx;
2140 struct cvmx_sli_win_wr_data_s cn68xx; 3476 struct cvmx_sli_win_wr_data_s cn68xx;
2141 struct cvmx_sli_win_wr_data_s cn68xxp1; 3477 struct cvmx_sli_win_wr_data_s cn68xxp1;
3478 struct cvmx_sli_win_wr_data_s cnf71xx;
2142}; 3479};
2143 3480
2144union cvmx_sli_win_wr_mask { 3481union cvmx_sli_win_wr_mask {
2145 uint64_t u64; 3482 uint64_t u64;
2146 struct cvmx_sli_win_wr_mask_s { 3483 struct cvmx_sli_win_wr_mask_s {
3484#ifdef __BIG_ENDIAN_BITFIELD
2147 uint64_t reserved_8_63:56; 3485 uint64_t reserved_8_63:56;
2148 uint64_t wr_mask:8; 3486 uint64_t wr_mask:8;
3487#else
3488 uint64_t wr_mask:8;
3489 uint64_t reserved_8_63:56;
3490#endif
2149 } s; 3491 } s;
2150 struct cvmx_sli_win_wr_mask_s cn61xx; 3492 struct cvmx_sli_win_wr_mask_s cn61xx;
2151 struct cvmx_sli_win_wr_mask_s cn63xx; 3493 struct cvmx_sli_win_wr_mask_s cn63xx;
@@ -2153,13 +3495,19 @@ union cvmx_sli_win_wr_mask {
2153 struct cvmx_sli_win_wr_mask_s cn66xx; 3495 struct cvmx_sli_win_wr_mask_s cn66xx;
2154 struct cvmx_sli_win_wr_mask_s cn68xx; 3496 struct cvmx_sli_win_wr_mask_s cn68xx;
2155 struct cvmx_sli_win_wr_mask_s cn68xxp1; 3497 struct cvmx_sli_win_wr_mask_s cn68xxp1;
3498 struct cvmx_sli_win_wr_mask_s cnf71xx;
2156}; 3499};
2157 3500
2158union cvmx_sli_window_ctl { 3501union cvmx_sli_window_ctl {
2159 uint64_t u64; 3502 uint64_t u64;
2160 struct cvmx_sli_window_ctl_s { 3503 struct cvmx_sli_window_ctl_s {
3504#ifdef __BIG_ENDIAN_BITFIELD
2161 uint64_t reserved_32_63:32; 3505 uint64_t reserved_32_63:32;
2162 uint64_t time:32; 3506 uint64_t time:32;
3507#else
3508 uint64_t time:32;
3509 uint64_t reserved_32_63:32;
3510#endif
2163 } s; 3511 } s;
2164 struct cvmx_sli_window_ctl_s cn61xx; 3512 struct cvmx_sli_window_ctl_s cn61xx;
2165 struct cvmx_sli_window_ctl_s cn63xx; 3513 struct cvmx_sli_window_ctl_s cn63xx;
@@ -2167,6 +3515,7 @@ union cvmx_sli_window_ctl {
2167 struct cvmx_sli_window_ctl_s cn66xx; 3515 struct cvmx_sli_window_ctl_s cn66xx;
2168 struct cvmx_sli_window_ctl_s cn68xx; 3516 struct cvmx_sli_window_ctl_s cn68xx;
2169 struct cvmx_sli_window_ctl_s cn68xxp1; 3517 struct cvmx_sli_window_ctl_s cn68xxp1;
3518 struct cvmx_sli_window_ctl_s cnf71xx;
2170}; 3519};
2171 3520
2172#endif 3521#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-smix-defs.h b/arch/mips/include/asm/octeon/cvmx-smix-defs.h
index 4f3c0666e94a..8a278e6ddba9 100644
--- a/arch/mips/include/asm/octeon/cvmx-smix-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-smix-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,15 +28,120 @@
28#ifndef __CVMX_SMIX_DEFS_H__ 28#ifndef __CVMX_SMIX_DEFS_H__
29#define __CVMX_SMIX_DEFS_H__ 29#define __CVMX_SMIX_DEFS_H__
30 30
31#define CVMX_SMIX_CLK(offset) (CVMX_ADD_IO_SEG(0x0001180000001818ull) + ((offset) & 1) * 256) 31static inline uint64_t CVMX_SMIX_CLK(unsigned long offset)
32#define CVMX_SMIX_CMD(offset) (CVMX_ADD_IO_SEG(0x0001180000001800ull) + ((offset) & 1) * 256) 32{
33#define CVMX_SMIX_EN(offset) (CVMX_ADD_IO_SEG(0x0001180000001820ull) + ((offset) & 1) * 256) 33 switch (cvmx_get_octeon_family()) {
34#define CVMX_SMIX_RD_DAT(offset) (CVMX_ADD_IO_SEG(0x0001180000001810ull) + ((offset) & 1) * 256) 34 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
35#define CVMX_SMIX_WR_DAT(offset) (CVMX_ADD_IO_SEG(0x0001180000001808ull) + ((offset) & 1) * 256) 35 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
36 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
37 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
38 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
39 return CVMX_ADD_IO_SEG(0x0001180000001818ull) + (offset) * 256;
40 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
41 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
42 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
43 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
44 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
45 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
46 return CVMX_ADD_IO_SEG(0x0001180000001818ull) + (offset) * 256;
47 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
48 return CVMX_ADD_IO_SEG(0x0001180000003818ull) + (offset) * 128;
49 }
50 return CVMX_ADD_IO_SEG(0x0001180000001818ull) + (offset) * 256;
51}
52
53static inline uint64_t CVMX_SMIX_CMD(unsigned long offset)
54{
55 switch (cvmx_get_octeon_family()) {
56 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
57 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
58 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
59 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
60 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
61 return CVMX_ADD_IO_SEG(0x0001180000001800ull) + (offset) * 256;
62 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
63 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
64 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
65 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
66 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
67 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
68 return CVMX_ADD_IO_SEG(0x0001180000001800ull) + (offset) * 256;
69 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
70 return CVMX_ADD_IO_SEG(0x0001180000003800ull) + (offset) * 128;
71 }
72 return CVMX_ADD_IO_SEG(0x0001180000001800ull) + (offset) * 256;
73}
74
75static inline uint64_t CVMX_SMIX_EN(unsigned long offset)
76{
77 switch (cvmx_get_octeon_family()) {
78 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
79 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
80 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
81 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
82 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
83 return CVMX_ADD_IO_SEG(0x0001180000001820ull) + (offset) * 256;
84 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
85 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
86 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
87 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
88 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
89 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
90 return CVMX_ADD_IO_SEG(0x0001180000001820ull) + (offset) * 256;
91 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
92 return CVMX_ADD_IO_SEG(0x0001180000003820ull) + (offset) * 128;
93 }
94 return CVMX_ADD_IO_SEG(0x0001180000001820ull) + (offset) * 256;
95}
96
97static inline uint64_t CVMX_SMIX_RD_DAT(unsigned long offset)
98{
99 switch (cvmx_get_octeon_family()) {
100 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
101 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
102 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
103 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
104 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
105 return CVMX_ADD_IO_SEG(0x0001180000001810ull) + (offset) * 256;
106 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
107 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
108 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
109 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
110 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
111 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
112 return CVMX_ADD_IO_SEG(0x0001180000001810ull) + (offset) * 256;
113 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
114 return CVMX_ADD_IO_SEG(0x0001180000003810ull) + (offset) * 128;
115 }
116 return CVMX_ADD_IO_SEG(0x0001180000001810ull) + (offset) * 256;
117}
118
119static inline uint64_t CVMX_SMIX_WR_DAT(unsigned long offset)
120{
121 switch (cvmx_get_octeon_family()) {
122 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
123 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
124 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
125 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
126 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
127 return CVMX_ADD_IO_SEG(0x0001180000001808ull) + (offset) * 256;
128 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
129 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
130 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
131 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
132 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
133 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
134 return CVMX_ADD_IO_SEG(0x0001180000001808ull) + (offset) * 256;
135 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
136 return CVMX_ADD_IO_SEG(0x0001180000003808ull) + (offset) * 128;
137 }
138 return CVMX_ADD_IO_SEG(0x0001180000001808ull) + (offset) * 256;
139}
36 140
37union cvmx_smix_clk { 141union cvmx_smix_clk {
38 uint64_t u64; 142 uint64_t u64;
39 struct cvmx_smix_clk_s { 143 struct cvmx_smix_clk_s {
144#ifdef __BIG_ENDIAN_BITFIELD
40 uint64_t reserved_25_63:39; 145 uint64_t reserved_25_63:39;
41 uint64_t mode:1; 146 uint64_t mode:1;
42 uint64_t reserved_21_23:3; 147 uint64_t reserved_21_23:3;
@@ -47,8 +152,21 @@ union cvmx_smix_clk {
47 uint64_t preamble:1; 152 uint64_t preamble:1;
48 uint64_t sample:4; 153 uint64_t sample:4;
49 uint64_t phase:8; 154 uint64_t phase:8;
155#else
156 uint64_t phase:8;
157 uint64_t sample:4;
158 uint64_t preamble:1;
159 uint64_t clk_idle:1;
160 uint64_t reserved_14_14:1;
161 uint64_t sample_mode:1;
162 uint64_t sample_hi:5;
163 uint64_t reserved_21_23:3;
164 uint64_t mode:1;
165 uint64_t reserved_25_63:39;
166#endif
50 } s; 167 } s;
51 struct cvmx_smix_clk_cn30xx { 168 struct cvmx_smix_clk_cn30xx {
169#ifdef __BIG_ENDIAN_BITFIELD
52 uint64_t reserved_21_63:43; 170 uint64_t reserved_21_63:43;
53 uint64_t sample_hi:5; 171 uint64_t sample_hi:5;
54 uint64_t sample_mode:1; 172 uint64_t sample_mode:1;
@@ -57,6 +175,16 @@ union cvmx_smix_clk {
57 uint64_t preamble:1; 175 uint64_t preamble:1;
58 uint64_t sample:4; 176 uint64_t sample:4;
59 uint64_t phase:8; 177 uint64_t phase:8;
178#else
179 uint64_t phase:8;
180 uint64_t sample:4;
181 uint64_t preamble:1;
182 uint64_t clk_idle:1;
183 uint64_t reserved_14_14:1;
184 uint64_t sample_mode:1;
185 uint64_t sample_hi:5;
186 uint64_t reserved_21_63:43;
187#endif
60 } cn30xx; 188 } cn30xx;
61 struct cvmx_smix_clk_cn30xx cn31xx; 189 struct cvmx_smix_clk_cn30xx cn31xx;
62 struct cvmx_smix_clk_cn30xx cn38xx; 190 struct cvmx_smix_clk_cn30xx cn38xx;
@@ -68,27 +196,50 @@ union cvmx_smix_clk {
68 struct cvmx_smix_clk_s cn56xxp1; 196 struct cvmx_smix_clk_s cn56xxp1;
69 struct cvmx_smix_clk_cn30xx cn58xx; 197 struct cvmx_smix_clk_cn30xx cn58xx;
70 struct cvmx_smix_clk_cn30xx cn58xxp1; 198 struct cvmx_smix_clk_cn30xx cn58xxp1;
199 struct cvmx_smix_clk_s cn61xx;
71 struct cvmx_smix_clk_s cn63xx; 200 struct cvmx_smix_clk_s cn63xx;
72 struct cvmx_smix_clk_s cn63xxp1; 201 struct cvmx_smix_clk_s cn63xxp1;
202 struct cvmx_smix_clk_s cn66xx;
203 struct cvmx_smix_clk_s cn68xx;
204 struct cvmx_smix_clk_s cn68xxp1;
205 struct cvmx_smix_clk_s cnf71xx;
73}; 206};
74 207
75union cvmx_smix_cmd { 208union cvmx_smix_cmd {
76 uint64_t u64; 209 uint64_t u64;
77 struct cvmx_smix_cmd_s { 210 struct cvmx_smix_cmd_s {
211#ifdef __BIG_ENDIAN_BITFIELD
78 uint64_t reserved_18_63:46; 212 uint64_t reserved_18_63:46;
79 uint64_t phy_op:2; 213 uint64_t phy_op:2;
80 uint64_t reserved_13_15:3; 214 uint64_t reserved_13_15:3;
81 uint64_t phy_adr:5; 215 uint64_t phy_adr:5;
82 uint64_t reserved_5_7:3; 216 uint64_t reserved_5_7:3;
83 uint64_t reg_adr:5; 217 uint64_t reg_adr:5;
218#else
219 uint64_t reg_adr:5;
220 uint64_t reserved_5_7:3;
221 uint64_t phy_adr:5;
222 uint64_t reserved_13_15:3;
223 uint64_t phy_op:2;
224 uint64_t reserved_18_63:46;
225#endif
84 } s; 226 } s;
85 struct cvmx_smix_cmd_cn30xx { 227 struct cvmx_smix_cmd_cn30xx {
228#ifdef __BIG_ENDIAN_BITFIELD
86 uint64_t reserved_17_63:47; 229 uint64_t reserved_17_63:47;
87 uint64_t phy_op:1; 230 uint64_t phy_op:1;
88 uint64_t reserved_13_15:3; 231 uint64_t reserved_13_15:3;
89 uint64_t phy_adr:5; 232 uint64_t phy_adr:5;
90 uint64_t reserved_5_7:3; 233 uint64_t reserved_5_7:3;
91 uint64_t reg_adr:5; 234 uint64_t reg_adr:5;
235#else
236 uint64_t reg_adr:5;
237 uint64_t reserved_5_7:3;
238 uint64_t phy_adr:5;
239 uint64_t reserved_13_15:3;
240 uint64_t phy_op:1;
241 uint64_t reserved_17_63:47;
242#endif
92 } cn30xx; 243 } cn30xx;
93 struct cvmx_smix_cmd_cn30xx cn31xx; 244 struct cvmx_smix_cmd_cn30xx cn31xx;
94 struct cvmx_smix_cmd_cn30xx cn38xx; 245 struct cvmx_smix_cmd_cn30xx cn38xx;
@@ -100,15 +251,25 @@ union cvmx_smix_cmd {
100 struct cvmx_smix_cmd_s cn56xxp1; 251 struct cvmx_smix_cmd_s cn56xxp1;
101 struct cvmx_smix_cmd_cn30xx cn58xx; 252 struct cvmx_smix_cmd_cn30xx cn58xx;
102 struct cvmx_smix_cmd_cn30xx cn58xxp1; 253 struct cvmx_smix_cmd_cn30xx cn58xxp1;
254 struct cvmx_smix_cmd_s cn61xx;
103 struct cvmx_smix_cmd_s cn63xx; 255 struct cvmx_smix_cmd_s cn63xx;
104 struct cvmx_smix_cmd_s cn63xxp1; 256 struct cvmx_smix_cmd_s cn63xxp1;
257 struct cvmx_smix_cmd_s cn66xx;
258 struct cvmx_smix_cmd_s cn68xx;
259 struct cvmx_smix_cmd_s cn68xxp1;
260 struct cvmx_smix_cmd_s cnf71xx;
105}; 261};
106 262
107union cvmx_smix_en { 263union cvmx_smix_en {
108 uint64_t u64; 264 uint64_t u64;
109 struct cvmx_smix_en_s { 265 struct cvmx_smix_en_s {
266#ifdef __BIG_ENDIAN_BITFIELD
110 uint64_t reserved_1_63:63; 267 uint64_t reserved_1_63:63;
111 uint64_t en:1; 268 uint64_t en:1;
269#else
270 uint64_t en:1;
271 uint64_t reserved_1_63:63;
272#endif
112 } s; 273 } s;
113 struct cvmx_smix_en_s cn30xx; 274 struct cvmx_smix_en_s cn30xx;
114 struct cvmx_smix_en_s cn31xx; 275 struct cvmx_smix_en_s cn31xx;
@@ -121,17 +282,29 @@ union cvmx_smix_en {
121 struct cvmx_smix_en_s cn56xxp1; 282 struct cvmx_smix_en_s cn56xxp1;
122 struct cvmx_smix_en_s cn58xx; 283 struct cvmx_smix_en_s cn58xx;
123 struct cvmx_smix_en_s cn58xxp1; 284 struct cvmx_smix_en_s cn58xxp1;
285 struct cvmx_smix_en_s cn61xx;
124 struct cvmx_smix_en_s cn63xx; 286 struct cvmx_smix_en_s cn63xx;
125 struct cvmx_smix_en_s cn63xxp1; 287 struct cvmx_smix_en_s cn63xxp1;
288 struct cvmx_smix_en_s cn66xx;
289 struct cvmx_smix_en_s cn68xx;
290 struct cvmx_smix_en_s cn68xxp1;
291 struct cvmx_smix_en_s cnf71xx;
126}; 292};
127 293
128union cvmx_smix_rd_dat { 294union cvmx_smix_rd_dat {
129 uint64_t u64; 295 uint64_t u64;
130 struct cvmx_smix_rd_dat_s { 296 struct cvmx_smix_rd_dat_s {
297#ifdef __BIG_ENDIAN_BITFIELD
131 uint64_t reserved_18_63:46; 298 uint64_t reserved_18_63:46;
132 uint64_t pending:1; 299 uint64_t pending:1;
133 uint64_t val:1; 300 uint64_t val:1;
134 uint64_t dat:16; 301 uint64_t dat:16;
302#else
303 uint64_t dat:16;
304 uint64_t val:1;
305 uint64_t pending:1;
306 uint64_t reserved_18_63:46;
307#endif
135 } s; 308 } s;
136 struct cvmx_smix_rd_dat_s cn30xx; 309 struct cvmx_smix_rd_dat_s cn30xx;
137 struct cvmx_smix_rd_dat_s cn31xx; 310 struct cvmx_smix_rd_dat_s cn31xx;
@@ -144,17 +317,29 @@ union cvmx_smix_rd_dat {
144 struct cvmx_smix_rd_dat_s cn56xxp1; 317 struct cvmx_smix_rd_dat_s cn56xxp1;
145 struct cvmx_smix_rd_dat_s cn58xx; 318 struct cvmx_smix_rd_dat_s cn58xx;
146 struct cvmx_smix_rd_dat_s cn58xxp1; 319 struct cvmx_smix_rd_dat_s cn58xxp1;
320 struct cvmx_smix_rd_dat_s cn61xx;
147 struct cvmx_smix_rd_dat_s cn63xx; 321 struct cvmx_smix_rd_dat_s cn63xx;
148 struct cvmx_smix_rd_dat_s cn63xxp1; 322 struct cvmx_smix_rd_dat_s cn63xxp1;
323 struct cvmx_smix_rd_dat_s cn66xx;
324 struct cvmx_smix_rd_dat_s cn68xx;
325 struct cvmx_smix_rd_dat_s cn68xxp1;
326 struct cvmx_smix_rd_dat_s cnf71xx;
149}; 327};
150 328
151union cvmx_smix_wr_dat { 329union cvmx_smix_wr_dat {
152 uint64_t u64; 330 uint64_t u64;
153 struct cvmx_smix_wr_dat_s { 331 struct cvmx_smix_wr_dat_s {
332#ifdef __BIG_ENDIAN_BITFIELD
154 uint64_t reserved_18_63:46; 333 uint64_t reserved_18_63:46;
155 uint64_t pending:1; 334 uint64_t pending:1;
156 uint64_t val:1; 335 uint64_t val:1;
157 uint64_t dat:16; 336 uint64_t dat:16;
337#else
338 uint64_t dat:16;
339 uint64_t val:1;
340 uint64_t pending:1;
341 uint64_t reserved_18_63:46;
342#endif
158 } s; 343 } s;
159 struct cvmx_smix_wr_dat_s cn30xx; 344 struct cvmx_smix_wr_dat_s cn30xx;
160 struct cvmx_smix_wr_dat_s cn31xx; 345 struct cvmx_smix_wr_dat_s cn31xx;
@@ -167,8 +352,13 @@ union cvmx_smix_wr_dat {
167 struct cvmx_smix_wr_dat_s cn56xxp1; 352 struct cvmx_smix_wr_dat_s cn56xxp1;
168 struct cvmx_smix_wr_dat_s cn58xx; 353 struct cvmx_smix_wr_dat_s cn58xx;
169 struct cvmx_smix_wr_dat_s cn58xxp1; 354 struct cvmx_smix_wr_dat_s cn58xxp1;
355 struct cvmx_smix_wr_dat_s cn61xx;
170 struct cvmx_smix_wr_dat_s cn63xx; 356 struct cvmx_smix_wr_dat_s cn63xx;
171 struct cvmx_smix_wr_dat_s cn63xxp1; 357 struct cvmx_smix_wr_dat_s cn63xxp1;
358 struct cvmx_smix_wr_dat_s cn66xx;
359 struct cvmx_smix_wr_dat_s cn68xx;
360 struct cvmx_smix_wr_dat_s cn68xxp1;
361 struct cvmx_smix_wr_dat_s cnf71xx;
172}; 362};
173 363
174#endif 364#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-spxx-defs.h b/arch/mips/include/asm/octeon/cvmx-spxx-defs.h
index b16940e32c83..c7d601d9446e 100644
--- a/arch/mips/include/asm/octeon/cvmx-spxx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-spxx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,44 +28,33 @@
28#ifndef __CVMX_SPXX_DEFS_H__ 28#ifndef __CVMX_SPXX_DEFS_H__
29#define __CVMX_SPXX_DEFS_H__ 29#define __CVMX_SPXX_DEFS_H__
30 30
31#define CVMX_SPXX_BCKPRS_CNT(block_id) \ 31#define CVMX_SPXX_BCKPRS_CNT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000340ull) + ((block_id) & 1) * 0x8000000ull)
32 CVMX_ADD_IO_SEG(0x0001180090000340ull + (((block_id) & 1) * 0x8000000ull)) 32#define CVMX_SPXX_BIST_STAT(block_id) (CVMX_ADD_IO_SEG(0x00011800900007F8ull) + ((block_id) & 1) * 0x8000000ull)
33#define CVMX_SPXX_BIST_STAT(block_id) \ 33#define CVMX_SPXX_CLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000348ull) + ((block_id) & 1) * 0x8000000ull)
34 CVMX_ADD_IO_SEG(0x00011800900007F8ull + (((block_id) & 1) * 0x8000000ull)) 34#define CVMX_SPXX_CLK_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000350ull) + ((block_id) & 1) * 0x8000000ull)
35#define CVMX_SPXX_CLK_CTL(block_id) \ 35#define CVMX_SPXX_DBG_DESKEW_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000368ull) + ((block_id) & 1) * 0x8000000ull)
36 CVMX_ADD_IO_SEG(0x0001180090000348ull + (((block_id) & 1) * 0x8000000ull)) 36#define CVMX_SPXX_DBG_DESKEW_STATE(block_id) (CVMX_ADD_IO_SEG(0x0001180090000370ull) + ((block_id) & 1) * 0x8000000ull)
37#define CVMX_SPXX_CLK_STAT(block_id) \ 37#define CVMX_SPXX_DRV_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000358ull) + ((block_id) & 1) * 0x8000000ull)
38 CVMX_ADD_IO_SEG(0x0001180090000350ull + (((block_id) & 1) * 0x8000000ull)) 38#define CVMX_SPXX_ERR_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000320ull) + ((block_id) & 1) * 0x8000000ull)
39#define CVMX_SPXX_DBG_DESKEW_CTL(block_id) \ 39#define CVMX_SPXX_INT_DAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000318ull) + ((block_id) & 1) * 0x8000000ull)
40 CVMX_ADD_IO_SEG(0x0001180090000368ull + (((block_id) & 1) * 0x8000000ull)) 40#define CVMX_SPXX_INT_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180090000308ull) + ((block_id) & 1) * 0x8000000ull)
41#define CVMX_SPXX_DBG_DESKEW_STATE(block_id) \ 41#define CVMX_SPXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x0001180090000300ull) + ((block_id) & 1) * 0x8000000ull)
42 CVMX_ADD_IO_SEG(0x0001180090000370ull + (((block_id) & 1) * 0x8000000ull)) 42#define CVMX_SPXX_INT_SYNC(block_id) (CVMX_ADD_IO_SEG(0x0001180090000310ull) + ((block_id) & 1) * 0x8000000ull)
43#define CVMX_SPXX_DRV_CTL(block_id) \ 43#define CVMX_SPXX_TPA_ACC(block_id) (CVMX_ADD_IO_SEG(0x0001180090000338ull) + ((block_id) & 1) * 0x8000000ull)
44 CVMX_ADD_IO_SEG(0x0001180090000358ull + (((block_id) & 1) * 0x8000000ull)) 44#define CVMX_SPXX_TPA_MAX(block_id) (CVMX_ADD_IO_SEG(0x0001180090000330ull) + ((block_id) & 1) * 0x8000000ull)
45#define CVMX_SPXX_ERR_CTL(block_id) \ 45#define CVMX_SPXX_TPA_SEL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000328ull) + ((block_id) & 1) * 0x8000000ull)
46 CVMX_ADD_IO_SEG(0x0001180090000320ull + (((block_id) & 1) * 0x8000000ull)) 46#define CVMX_SPXX_TRN4_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000360ull) + ((block_id) & 1) * 0x8000000ull)
47#define CVMX_SPXX_INT_DAT(block_id) \
48 CVMX_ADD_IO_SEG(0x0001180090000318ull + (((block_id) & 1) * 0x8000000ull))
49#define CVMX_SPXX_INT_MSK(block_id) \
50 CVMX_ADD_IO_SEG(0x0001180090000308ull + (((block_id) & 1) * 0x8000000ull))
51#define CVMX_SPXX_INT_REG(block_id) \
52 CVMX_ADD_IO_SEG(0x0001180090000300ull + (((block_id) & 1) * 0x8000000ull))
53#define CVMX_SPXX_INT_SYNC(block_id) \
54 CVMX_ADD_IO_SEG(0x0001180090000310ull + (((block_id) & 1) * 0x8000000ull))
55#define CVMX_SPXX_TPA_ACC(block_id) \
56 CVMX_ADD_IO_SEG(0x0001180090000338ull + (((block_id) & 1) * 0x8000000ull))
57#define CVMX_SPXX_TPA_MAX(block_id) \
58 CVMX_ADD_IO_SEG(0x0001180090000330ull + (((block_id) & 1) * 0x8000000ull))
59#define CVMX_SPXX_TPA_SEL(block_id) \
60 CVMX_ADD_IO_SEG(0x0001180090000328ull + (((block_id) & 1) * 0x8000000ull))
61#define CVMX_SPXX_TRN4_CTL(block_id) \
62 CVMX_ADD_IO_SEG(0x0001180090000360ull + (((block_id) & 1) * 0x8000000ull))
63 47
64union cvmx_spxx_bckprs_cnt { 48union cvmx_spxx_bckprs_cnt {
65 uint64_t u64; 49 uint64_t u64;
66 struct cvmx_spxx_bckprs_cnt_s { 50 struct cvmx_spxx_bckprs_cnt_s {
51#ifdef __BIG_ENDIAN_BITFIELD
67 uint64_t reserved_32_63:32; 52 uint64_t reserved_32_63:32;
68 uint64_t cnt:32; 53 uint64_t cnt:32;
54#else
55 uint64_t cnt:32;
56 uint64_t reserved_32_63:32;
57#endif
69 } s; 58 } s;
70 struct cvmx_spxx_bckprs_cnt_s cn38xx; 59 struct cvmx_spxx_bckprs_cnt_s cn38xx;
71 struct cvmx_spxx_bckprs_cnt_s cn38xxp2; 60 struct cvmx_spxx_bckprs_cnt_s cn38xxp2;
@@ -76,10 +65,17 @@ union cvmx_spxx_bckprs_cnt {
76union cvmx_spxx_bist_stat { 65union cvmx_spxx_bist_stat {
77 uint64_t u64; 66 uint64_t u64;
78 struct cvmx_spxx_bist_stat_s { 67 struct cvmx_spxx_bist_stat_s {
68#ifdef __BIG_ENDIAN_BITFIELD
79 uint64_t reserved_3_63:61; 69 uint64_t reserved_3_63:61;
80 uint64_t stat2:1; 70 uint64_t stat2:1;
81 uint64_t stat1:1; 71 uint64_t stat1:1;
82 uint64_t stat0:1; 72 uint64_t stat0:1;
73#else
74 uint64_t stat0:1;
75 uint64_t stat1:1;
76 uint64_t stat2:1;
77 uint64_t reserved_3_63:61;
78#endif
83 } s; 79 } s;
84 struct cvmx_spxx_bist_stat_s cn38xx; 80 struct cvmx_spxx_bist_stat_s cn38xx;
85 struct cvmx_spxx_bist_stat_s cn38xxp2; 81 struct cvmx_spxx_bist_stat_s cn38xxp2;
@@ -90,6 +86,7 @@ union cvmx_spxx_bist_stat {
90union cvmx_spxx_clk_ctl { 86union cvmx_spxx_clk_ctl {
91 uint64_t u64; 87 uint64_t u64;
92 struct cvmx_spxx_clk_ctl_s { 88 struct cvmx_spxx_clk_ctl_s {
89#ifdef __BIG_ENDIAN_BITFIELD
93 uint64_t reserved_17_63:47; 90 uint64_t reserved_17_63:47;
94 uint64_t seetrn:1; 91 uint64_t seetrn:1;
95 uint64_t reserved_12_15:4; 92 uint64_t reserved_12_15:4;
@@ -101,6 +98,19 @@ union cvmx_spxx_clk_ctl {
101 uint64_t drptrn:1; 98 uint64_t drptrn:1;
102 uint64_t rcvtrn:1; 99 uint64_t rcvtrn:1;
103 uint64_t srxdlck:1; 100 uint64_t srxdlck:1;
101#else
102 uint64_t srxdlck:1;
103 uint64_t rcvtrn:1;
104 uint64_t drptrn:1;
105 uint64_t sndtrn:1;
106 uint64_t statrcv:1;
107 uint64_t statdrv:1;
108 uint64_t runbist:1;
109 uint64_t clkdly:5;
110 uint64_t reserved_12_15:4;
111 uint64_t seetrn:1;
112 uint64_t reserved_17_63:47;
113#endif
104 } s; 114 } s;
105 struct cvmx_spxx_clk_ctl_s cn38xx; 115 struct cvmx_spxx_clk_ctl_s cn38xx;
106 struct cvmx_spxx_clk_ctl_s cn38xxp2; 116 struct cvmx_spxx_clk_ctl_s cn38xxp2;
@@ -111,6 +121,7 @@ union cvmx_spxx_clk_ctl {
111union cvmx_spxx_clk_stat { 121union cvmx_spxx_clk_stat {
112 uint64_t u64; 122 uint64_t u64;
113 struct cvmx_spxx_clk_stat_s { 123 struct cvmx_spxx_clk_stat_s {
124#ifdef __BIG_ENDIAN_BITFIELD
114 uint64_t reserved_11_63:53; 125 uint64_t reserved_11_63:53;
115 uint64_t stxcal:1; 126 uint64_t stxcal:1;
116 uint64_t reserved_9_9:1; 127 uint64_t reserved_9_9:1;
@@ -120,6 +131,17 @@ union cvmx_spxx_clk_stat {
120 uint64_t d4clk1:1; 131 uint64_t d4clk1:1;
121 uint64_t d4clk0:1; 132 uint64_t d4clk0:1;
122 uint64_t reserved_0_3:4; 133 uint64_t reserved_0_3:4;
134#else
135 uint64_t reserved_0_3:4;
136 uint64_t d4clk0:1;
137 uint64_t d4clk1:1;
138 uint64_t s4clk0:1;
139 uint64_t s4clk1:1;
140 uint64_t srxtrn:1;
141 uint64_t reserved_9_9:1;
142 uint64_t stxcal:1;
143 uint64_t reserved_11_63:53;
144#endif
123 } s; 145 } s;
124 struct cvmx_spxx_clk_stat_s cn38xx; 146 struct cvmx_spxx_clk_stat_s cn38xx;
125 struct cvmx_spxx_clk_stat_s cn38xxp2; 147 struct cvmx_spxx_clk_stat_s cn38xxp2;
@@ -130,6 +152,7 @@ union cvmx_spxx_clk_stat {
130union cvmx_spxx_dbg_deskew_ctl { 152union cvmx_spxx_dbg_deskew_ctl {
131 uint64_t u64; 153 uint64_t u64;
132 struct cvmx_spxx_dbg_deskew_ctl_s { 154 struct cvmx_spxx_dbg_deskew_ctl_s {
155#ifdef __BIG_ENDIAN_BITFIELD
133 uint64_t reserved_30_63:34; 156 uint64_t reserved_30_63:34;
134 uint64_t fallnop:1; 157 uint64_t fallnop:1;
135 uint64_t fall8:1; 158 uint64_t fall8:1;
@@ -146,6 +169,24 @@ union cvmx_spxx_dbg_deskew_ctl {
146 uint64_t offdly:6; 169 uint64_t offdly:6;
147 uint64_t dllfrc:1; 170 uint64_t dllfrc:1;
148 uint64_t dlldis:1; 171 uint64_t dlldis:1;
172#else
173 uint64_t dlldis:1;
174 uint64_t dllfrc:1;
175 uint64_t offdly:6;
176 uint64_t bitsel:5;
177 uint64_t offset:5;
178 uint64_t mux:1;
179 uint64_t inc:1;
180 uint64_t dec:1;
181 uint64_t clrdly:1;
182 uint64_t reserved_22_23:2;
183 uint64_t sstep:1;
184 uint64_t sstep_go:1;
185 uint64_t reserved_26_27:2;
186 uint64_t fall8:1;
187 uint64_t fallnop:1;
188 uint64_t reserved_30_63:34;
189#endif
149 } s; 190 } s;
150 struct cvmx_spxx_dbg_deskew_ctl_s cn38xx; 191 struct cvmx_spxx_dbg_deskew_ctl_s cn38xx;
151 struct cvmx_spxx_dbg_deskew_ctl_s cn38xxp2; 192 struct cvmx_spxx_dbg_deskew_ctl_s cn38xxp2;
@@ -156,11 +197,19 @@ union cvmx_spxx_dbg_deskew_ctl {
156union cvmx_spxx_dbg_deskew_state { 197union cvmx_spxx_dbg_deskew_state {
157 uint64_t u64; 198 uint64_t u64;
158 struct cvmx_spxx_dbg_deskew_state_s { 199 struct cvmx_spxx_dbg_deskew_state_s {
200#ifdef __BIG_ENDIAN_BITFIELD
159 uint64_t reserved_9_63:55; 201 uint64_t reserved_9_63:55;
160 uint64_t testres:1; 202 uint64_t testres:1;
161 uint64_t unxterm:1; 203 uint64_t unxterm:1;
162 uint64_t muxsel:2; 204 uint64_t muxsel:2;
163 uint64_t offset:5; 205 uint64_t offset:5;
206#else
207 uint64_t offset:5;
208 uint64_t muxsel:2;
209 uint64_t unxterm:1;
210 uint64_t testres:1;
211 uint64_t reserved_9_63:55;
212#endif
164 } s; 213 } s;
165 struct cvmx_spxx_dbg_deskew_state_s cn38xx; 214 struct cvmx_spxx_dbg_deskew_state_s cn38xx;
166 struct cvmx_spxx_dbg_deskew_state_s cn38xxp2; 215 struct cvmx_spxx_dbg_deskew_state_s cn38xxp2;
@@ -171,21 +220,40 @@ union cvmx_spxx_dbg_deskew_state {
171union cvmx_spxx_drv_ctl { 220union cvmx_spxx_drv_ctl {
172 uint64_t u64; 221 uint64_t u64;
173 struct cvmx_spxx_drv_ctl_s { 222 struct cvmx_spxx_drv_ctl_s {
223#ifdef __BIG_ENDIAN_BITFIELD
174 uint64_t reserved_0_63:64; 224 uint64_t reserved_0_63:64;
225#else
226 uint64_t reserved_0_63:64;
227#endif
175 } s; 228 } s;
176 struct cvmx_spxx_drv_ctl_cn38xx { 229 struct cvmx_spxx_drv_ctl_cn38xx {
230#ifdef __BIG_ENDIAN_BITFIELD
177 uint64_t reserved_16_63:48; 231 uint64_t reserved_16_63:48;
178 uint64_t stx4ncmp:4; 232 uint64_t stx4ncmp:4;
179 uint64_t stx4pcmp:4; 233 uint64_t stx4pcmp:4;
180 uint64_t srx4cmp:8; 234 uint64_t srx4cmp:8;
235#else
236 uint64_t srx4cmp:8;
237 uint64_t stx4pcmp:4;
238 uint64_t stx4ncmp:4;
239 uint64_t reserved_16_63:48;
240#endif
181 } cn38xx; 241 } cn38xx;
182 struct cvmx_spxx_drv_ctl_cn38xx cn38xxp2; 242 struct cvmx_spxx_drv_ctl_cn38xx cn38xxp2;
183 struct cvmx_spxx_drv_ctl_cn58xx { 243 struct cvmx_spxx_drv_ctl_cn58xx {
244#ifdef __BIG_ENDIAN_BITFIELD
184 uint64_t reserved_24_63:40; 245 uint64_t reserved_24_63:40;
185 uint64_t stx4ncmp:4; 246 uint64_t stx4ncmp:4;
186 uint64_t stx4pcmp:4; 247 uint64_t stx4pcmp:4;
187 uint64_t reserved_10_15:6; 248 uint64_t reserved_10_15:6;
188 uint64_t srx4cmp:10; 249 uint64_t srx4cmp:10;
250#else
251 uint64_t srx4cmp:10;
252 uint64_t reserved_10_15:6;
253 uint64_t stx4pcmp:4;
254 uint64_t stx4ncmp:4;
255 uint64_t reserved_24_63:40;
256#endif
189 } cn58xx; 257 } cn58xx;
190 struct cvmx_spxx_drv_ctl_cn58xx cn58xxp1; 258 struct cvmx_spxx_drv_ctl_cn58xx cn58xxp1;
191}; 259};
@@ -193,12 +261,21 @@ union cvmx_spxx_drv_ctl {
193union cvmx_spxx_err_ctl { 261union cvmx_spxx_err_ctl {
194 uint64_t u64; 262 uint64_t u64;
195 struct cvmx_spxx_err_ctl_s { 263 struct cvmx_spxx_err_ctl_s {
264#ifdef __BIG_ENDIAN_BITFIELD
196 uint64_t reserved_9_63:55; 265 uint64_t reserved_9_63:55;
197 uint64_t prtnxa:1; 266 uint64_t prtnxa:1;
198 uint64_t dipcls:1; 267 uint64_t dipcls:1;
199 uint64_t dippay:1; 268 uint64_t dippay:1;
200 uint64_t reserved_4_5:2; 269 uint64_t reserved_4_5:2;
201 uint64_t errcnt:4; 270 uint64_t errcnt:4;
271#else
272 uint64_t errcnt:4;
273 uint64_t reserved_4_5:2;
274 uint64_t dippay:1;
275 uint64_t dipcls:1;
276 uint64_t prtnxa:1;
277 uint64_t reserved_9_63:55;
278#endif
202 } s; 279 } s;
203 struct cvmx_spxx_err_ctl_s cn38xx; 280 struct cvmx_spxx_err_ctl_s cn38xx;
204 struct cvmx_spxx_err_ctl_s cn38xxp2; 281 struct cvmx_spxx_err_ctl_s cn38xxp2;
@@ -209,12 +286,21 @@ union cvmx_spxx_err_ctl {
209union cvmx_spxx_int_dat { 286union cvmx_spxx_int_dat {
210 uint64_t u64; 287 uint64_t u64;
211 struct cvmx_spxx_int_dat_s { 288 struct cvmx_spxx_int_dat_s {
289#ifdef __BIG_ENDIAN_BITFIELD
212 uint64_t reserved_32_63:32; 290 uint64_t reserved_32_63:32;
213 uint64_t mul:1; 291 uint64_t mul:1;
214 uint64_t reserved_14_30:17; 292 uint64_t reserved_14_30:17;
215 uint64_t calbnk:2; 293 uint64_t calbnk:2;
216 uint64_t rsvop:4; 294 uint64_t rsvop:4;
217 uint64_t prt:8; 295 uint64_t prt:8;
296#else
297 uint64_t prt:8;
298 uint64_t rsvop:4;
299 uint64_t calbnk:2;
300 uint64_t reserved_14_30:17;
301 uint64_t mul:1;
302 uint64_t reserved_32_63:32;
303#endif
218 } s; 304 } s;
219 struct cvmx_spxx_int_dat_s cn38xx; 305 struct cvmx_spxx_int_dat_s cn38xx;
220 struct cvmx_spxx_int_dat_s cn38xxp2; 306 struct cvmx_spxx_int_dat_s cn38xxp2;
@@ -225,6 +311,7 @@ union cvmx_spxx_int_dat {
225union cvmx_spxx_int_msk { 311union cvmx_spxx_int_msk {
226 uint64_t u64; 312 uint64_t u64;
227 struct cvmx_spxx_int_msk_s { 313 struct cvmx_spxx_int_msk_s {
314#ifdef __BIG_ENDIAN_BITFIELD
228 uint64_t reserved_12_63:52; 315 uint64_t reserved_12_63:52;
229 uint64_t calerr:1; 316 uint64_t calerr:1;
230 uint64_t syncerr:1; 317 uint64_t syncerr:1;
@@ -237,6 +324,20 @@ union cvmx_spxx_int_msk {
237 uint64_t reserved_2_3:2; 324 uint64_t reserved_2_3:2;
238 uint64_t abnorm:1; 325 uint64_t abnorm:1;
239 uint64_t prtnxa:1; 326 uint64_t prtnxa:1;
327#else
328 uint64_t prtnxa:1;
329 uint64_t abnorm:1;
330 uint64_t reserved_2_3:2;
331 uint64_t spiovr:1;
332 uint64_t clserr:1;
333 uint64_t drwnng:1;
334 uint64_t rsverr:1;
335 uint64_t tpaovr:1;
336 uint64_t diperr:1;
337 uint64_t syncerr:1;
338 uint64_t calerr:1;
339 uint64_t reserved_12_63:52;
340#endif
240 } s; 341 } s;
241 struct cvmx_spxx_int_msk_s cn38xx; 342 struct cvmx_spxx_int_msk_s cn38xx;
242 struct cvmx_spxx_int_msk_s cn38xxp2; 343 struct cvmx_spxx_int_msk_s cn38xxp2;
@@ -247,6 +348,7 @@ union cvmx_spxx_int_msk {
247union cvmx_spxx_int_reg { 348union cvmx_spxx_int_reg {
248 uint64_t u64; 349 uint64_t u64;
249 struct cvmx_spxx_int_reg_s { 350 struct cvmx_spxx_int_reg_s {
351#ifdef __BIG_ENDIAN_BITFIELD
250 uint64_t reserved_32_63:32; 352 uint64_t reserved_32_63:32;
251 uint64_t spf:1; 353 uint64_t spf:1;
252 uint64_t reserved_12_30:19; 354 uint64_t reserved_12_30:19;
@@ -261,6 +363,22 @@ union cvmx_spxx_int_reg {
261 uint64_t reserved_2_3:2; 363 uint64_t reserved_2_3:2;
262 uint64_t abnorm:1; 364 uint64_t abnorm:1;
263 uint64_t prtnxa:1; 365 uint64_t prtnxa:1;
366#else
367 uint64_t prtnxa:1;
368 uint64_t abnorm:1;
369 uint64_t reserved_2_3:2;
370 uint64_t spiovr:1;
371 uint64_t clserr:1;
372 uint64_t drwnng:1;
373 uint64_t rsverr:1;
374 uint64_t tpaovr:1;
375 uint64_t diperr:1;
376 uint64_t syncerr:1;
377 uint64_t calerr:1;
378 uint64_t reserved_12_30:19;
379 uint64_t spf:1;
380 uint64_t reserved_32_63:32;
381#endif
264 } s; 382 } s;
265 struct cvmx_spxx_int_reg_s cn38xx; 383 struct cvmx_spxx_int_reg_s cn38xx;
266 struct cvmx_spxx_int_reg_s cn38xxp2; 384 struct cvmx_spxx_int_reg_s cn38xxp2;
@@ -271,6 +389,7 @@ union cvmx_spxx_int_reg {
271union cvmx_spxx_int_sync { 389union cvmx_spxx_int_sync {
272 uint64_t u64; 390 uint64_t u64;
273 struct cvmx_spxx_int_sync_s { 391 struct cvmx_spxx_int_sync_s {
392#ifdef __BIG_ENDIAN_BITFIELD
274 uint64_t reserved_12_63:52; 393 uint64_t reserved_12_63:52;
275 uint64_t calerr:1; 394 uint64_t calerr:1;
276 uint64_t syncerr:1; 395 uint64_t syncerr:1;
@@ -283,6 +402,20 @@ union cvmx_spxx_int_sync {
283 uint64_t reserved_2_3:2; 402 uint64_t reserved_2_3:2;
284 uint64_t abnorm:1; 403 uint64_t abnorm:1;
285 uint64_t prtnxa:1; 404 uint64_t prtnxa:1;
405#else
406 uint64_t prtnxa:1;
407 uint64_t abnorm:1;
408 uint64_t reserved_2_3:2;
409 uint64_t spiovr:1;
410 uint64_t clserr:1;
411 uint64_t drwnng:1;
412 uint64_t rsverr:1;
413 uint64_t tpaovr:1;
414 uint64_t diperr:1;
415 uint64_t syncerr:1;
416 uint64_t calerr:1;
417 uint64_t reserved_12_63:52;
418#endif
286 } s; 419 } s;
287 struct cvmx_spxx_int_sync_s cn38xx; 420 struct cvmx_spxx_int_sync_s cn38xx;
288 struct cvmx_spxx_int_sync_s cn38xxp2; 421 struct cvmx_spxx_int_sync_s cn38xxp2;
@@ -293,8 +426,13 @@ union cvmx_spxx_int_sync {
293union cvmx_spxx_tpa_acc { 426union cvmx_spxx_tpa_acc {
294 uint64_t u64; 427 uint64_t u64;
295 struct cvmx_spxx_tpa_acc_s { 428 struct cvmx_spxx_tpa_acc_s {
429#ifdef __BIG_ENDIAN_BITFIELD
296 uint64_t reserved_32_63:32; 430 uint64_t reserved_32_63:32;
297 uint64_t cnt:32; 431 uint64_t cnt:32;
432#else
433 uint64_t cnt:32;
434 uint64_t reserved_32_63:32;
435#endif
298 } s; 436 } s;
299 struct cvmx_spxx_tpa_acc_s cn38xx; 437 struct cvmx_spxx_tpa_acc_s cn38xx;
300 struct cvmx_spxx_tpa_acc_s cn38xxp2; 438 struct cvmx_spxx_tpa_acc_s cn38xxp2;
@@ -305,8 +443,13 @@ union cvmx_spxx_tpa_acc {
305union cvmx_spxx_tpa_max { 443union cvmx_spxx_tpa_max {
306 uint64_t u64; 444 uint64_t u64;
307 struct cvmx_spxx_tpa_max_s { 445 struct cvmx_spxx_tpa_max_s {
446#ifdef __BIG_ENDIAN_BITFIELD
308 uint64_t reserved_32_63:32; 447 uint64_t reserved_32_63:32;
309 uint64_t max:32; 448 uint64_t max:32;
449#else
450 uint64_t max:32;
451 uint64_t reserved_32_63:32;
452#endif
310 } s; 453 } s;
311 struct cvmx_spxx_tpa_max_s cn38xx; 454 struct cvmx_spxx_tpa_max_s cn38xx;
312 struct cvmx_spxx_tpa_max_s cn38xxp2; 455 struct cvmx_spxx_tpa_max_s cn38xxp2;
@@ -317,8 +460,13 @@ union cvmx_spxx_tpa_max {
317union cvmx_spxx_tpa_sel { 460union cvmx_spxx_tpa_sel {
318 uint64_t u64; 461 uint64_t u64;
319 struct cvmx_spxx_tpa_sel_s { 462 struct cvmx_spxx_tpa_sel_s {
463#ifdef __BIG_ENDIAN_BITFIELD
320 uint64_t reserved_4_63:60; 464 uint64_t reserved_4_63:60;
321 uint64_t prtsel:4; 465 uint64_t prtsel:4;
466#else
467 uint64_t prtsel:4;
468 uint64_t reserved_4_63:60;
469#endif
322 } s; 470 } s;
323 struct cvmx_spxx_tpa_sel_s cn38xx; 471 struct cvmx_spxx_tpa_sel_s cn38xx;
324 struct cvmx_spxx_tpa_sel_s cn38xxp2; 472 struct cvmx_spxx_tpa_sel_s cn38xxp2;
@@ -329,6 +477,7 @@ union cvmx_spxx_tpa_sel {
329union cvmx_spxx_trn4_ctl { 477union cvmx_spxx_trn4_ctl {
330 uint64_t u64; 478 uint64_t u64;
331 struct cvmx_spxx_trn4_ctl_s { 479 struct cvmx_spxx_trn4_ctl_s {
480#ifdef __BIG_ENDIAN_BITFIELD
332 uint64_t reserved_13_63:51; 481 uint64_t reserved_13_63:51;
333 uint64_t trntest:1; 482 uint64_t trntest:1;
334 uint64_t jitter:3; 483 uint64_t jitter:3;
@@ -337,6 +486,16 @@ union cvmx_spxx_trn4_ctl {
337 uint64_t maxdist:5; 486 uint64_t maxdist:5;
338 uint64_t macro_en:1; 487 uint64_t macro_en:1;
339 uint64_t mux_en:1; 488 uint64_t mux_en:1;
489#else
490 uint64_t mux_en:1;
491 uint64_t macro_en:1;
492 uint64_t maxdist:5;
493 uint64_t set_boot:1;
494 uint64_t clr_boot:1;
495 uint64_t jitter:3;
496 uint64_t trntest:1;
497 uint64_t reserved_13_63:51;
498#endif
340 } s; 499 } s;
341 struct cvmx_spxx_trn4_ctl_s cn38xx; 500 struct cvmx_spxx_trn4_ctl_s cn38xx;
342 struct cvmx_spxx_trn4_ctl_s cn38xxp2; 501 struct cvmx_spxx_trn4_ctl_s cn38xxp2;
diff --git a/arch/mips/include/asm/octeon/cvmx-sriox-defs.h b/arch/mips/include/asm/octeon/cvmx-sriox-defs.h
index 7be7e9ed7465..5140f2d2ad1c 100644
--- a/arch/mips/include/asm/octeon/cvmx-sriox-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-sriox-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2011 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -79,6 +79,7 @@
79union cvmx_sriox_acc_ctrl { 79union cvmx_sriox_acc_ctrl {
80 uint64_t u64; 80 uint64_t u64;
81 struct cvmx_sriox_acc_ctrl_s { 81 struct cvmx_sriox_acc_ctrl_s {
82#ifdef __BIG_ENDIAN_BITFIELD
82 uint64_t reserved_7_63:57; 83 uint64_t reserved_7_63:57;
83 uint64_t deny_adr2:1; 84 uint64_t deny_adr2:1;
84 uint64_t deny_adr1:1; 85 uint64_t deny_adr1:1;
@@ -87,12 +88,29 @@ union cvmx_sriox_acc_ctrl {
87 uint64_t deny_bar2:1; 88 uint64_t deny_bar2:1;
88 uint64_t deny_bar1:1; 89 uint64_t deny_bar1:1;
89 uint64_t deny_bar0:1; 90 uint64_t deny_bar0:1;
91#else
92 uint64_t deny_bar0:1;
93 uint64_t deny_bar1:1;
94 uint64_t deny_bar2:1;
95 uint64_t reserved_3_3:1;
96 uint64_t deny_adr0:1;
97 uint64_t deny_adr1:1;
98 uint64_t deny_adr2:1;
99 uint64_t reserved_7_63:57;
100#endif
90 } s; 101 } s;
91 struct cvmx_sriox_acc_ctrl_cn63xx { 102 struct cvmx_sriox_acc_ctrl_cn63xx {
103#ifdef __BIG_ENDIAN_BITFIELD
92 uint64_t reserved_3_63:61; 104 uint64_t reserved_3_63:61;
93 uint64_t deny_bar2:1; 105 uint64_t deny_bar2:1;
94 uint64_t deny_bar1:1; 106 uint64_t deny_bar1:1;
95 uint64_t deny_bar0:1; 107 uint64_t deny_bar0:1;
108#else
109 uint64_t deny_bar0:1;
110 uint64_t deny_bar1:1;
111 uint64_t deny_bar2:1;
112 uint64_t reserved_3_63:61;
113#endif
96 } cn63xx; 114 } cn63xx;
97 struct cvmx_sriox_acc_ctrl_cn63xx cn63xxp1; 115 struct cvmx_sriox_acc_ctrl_cn63xx cn63xxp1;
98 struct cvmx_sriox_acc_ctrl_s cn66xx; 116 struct cvmx_sriox_acc_ctrl_s cn66xx;
@@ -101,9 +119,15 @@ union cvmx_sriox_acc_ctrl {
101union cvmx_sriox_asmbly_id { 119union cvmx_sriox_asmbly_id {
102 uint64_t u64; 120 uint64_t u64;
103 struct cvmx_sriox_asmbly_id_s { 121 struct cvmx_sriox_asmbly_id_s {
122#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_32_63:32; 123 uint64_t reserved_32_63:32;
105 uint64_t assy_id:16; 124 uint64_t assy_id:16;
106 uint64_t assy_ven:16; 125 uint64_t assy_ven:16;
126#else
127 uint64_t assy_ven:16;
128 uint64_t assy_id:16;
129 uint64_t reserved_32_63:32;
130#endif
107 } s; 131 } s;
108 struct cvmx_sriox_asmbly_id_s cn63xx; 132 struct cvmx_sriox_asmbly_id_s cn63xx;
109 struct cvmx_sriox_asmbly_id_s cn63xxp1; 133 struct cvmx_sriox_asmbly_id_s cn63xxp1;
@@ -113,9 +137,15 @@ union cvmx_sriox_asmbly_id {
113union cvmx_sriox_asmbly_info { 137union cvmx_sriox_asmbly_info {
114 uint64_t u64; 138 uint64_t u64;
115 struct cvmx_sriox_asmbly_info_s { 139 struct cvmx_sriox_asmbly_info_s {
140#ifdef __BIG_ENDIAN_BITFIELD
116 uint64_t reserved_32_63:32; 141 uint64_t reserved_32_63:32;
117 uint64_t assy_rev:16; 142 uint64_t assy_rev:16;
118 uint64_t reserved_0_15:16; 143 uint64_t reserved_0_15:16;
144#else
145 uint64_t reserved_0_15:16;
146 uint64_t assy_rev:16;
147 uint64_t reserved_32_63:32;
148#endif
119 } s; 149 } s;
120 struct cvmx_sriox_asmbly_info_s cn63xx; 150 struct cvmx_sriox_asmbly_info_s cn63xx;
121 struct cvmx_sriox_asmbly_info_s cn63xxp1; 151 struct cvmx_sriox_asmbly_info_s cn63xxp1;
@@ -125,11 +155,19 @@ union cvmx_sriox_asmbly_info {
125union cvmx_sriox_bell_resp_ctrl { 155union cvmx_sriox_bell_resp_ctrl {
126 uint64_t u64; 156 uint64_t u64;
127 struct cvmx_sriox_bell_resp_ctrl_s { 157 struct cvmx_sriox_bell_resp_ctrl_s {
158#ifdef __BIG_ENDIAN_BITFIELD
128 uint64_t reserved_6_63:58; 159 uint64_t reserved_6_63:58;
129 uint64_t rp1_sid:1; 160 uint64_t rp1_sid:1;
130 uint64_t rp0_sid:2; 161 uint64_t rp0_sid:2;
131 uint64_t rp1_pid:1; 162 uint64_t rp1_pid:1;
132 uint64_t rp0_pid:2; 163 uint64_t rp0_pid:2;
164#else
165 uint64_t rp0_pid:2;
166 uint64_t rp1_pid:1;
167 uint64_t rp0_sid:2;
168 uint64_t rp1_sid:1;
169 uint64_t reserved_6_63:58;
170#endif
133 } s; 171 } s;
134 struct cvmx_sriox_bell_resp_ctrl_s cn63xx; 172 struct cvmx_sriox_bell_resp_ctrl_s cn63xx;
135 struct cvmx_sriox_bell_resp_ctrl_s cn63xxp1; 173 struct cvmx_sriox_bell_resp_ctrl_s cn63xxp1;
@@ -139,6 +177,7 @@ union cvmx_sriox_bell_resp_ctrl {
139union cvmx_sriox_bist_status { 177union cvmx_sriox_bist_status {
140 uint64_t u64; 178 uint64_t u64;
141 struct cvmx_sriox_bist_status_s { 179 struct cvmx_sriox_bist_status_s {
180#ifdef __BIG_ENDIAN_BITFIELD
142 uint64_t reserved_45_63:19; 181 uint64_t reserved_45_63:19;
143 uint64_t lram:1; 182 uint64_t lram:1;
144 uint64_t mram:2; 183 uint64_t mram:2;
@@ -159,8 +198,31 @@ union cvmx_sriox_bist_status {
159 uint64_t rxbuf:2; 198 uint64_t rxbuf:2;
160 uint64_t imsg:5; 199 uint64_t imsg:5;
161 uint64_t omsg:7; 200 uint64_t omsg:7;
201#else
202 uint64_t omsg:7;
203 uint64_t imsg:5;
204 uint64_t rxbuf:2;
205 uint64_t txbuf:2;
206 uint64_t ospf:1;
207 uint64_t ispf:1;
208 uint64_t oarb:2;
209 uint64_t rxbuf2:2;
210 uint64_t oarb2:2;
211 uint64_t optrs:4;
212 uint64_t obulk:4;
213 uint64_t rtn:2;
214 uint64_t ofree:1;
215 uint64_t itag:1;
216 uint64_t otag:2;
217 uint64_t bell:2;
218 uint64_t cram:2;
219 uint64_t mram:2;
220 uint64_t lram:1;
221 uint64_t reserved_45_63:19;
222#endif
162 } s; 223 } s;
163 struct cvmx_sriox_bist_status_cn63xx { 224 struct cvmx_sriox_bist_status_cn63xx {
225#ifdef __BIG_ENDIAN_BITFIELD
164 uint64_t reserved_44_63:20; 226 uint64_t reserved_44_63:20;
165 uint64_t mram:2; 227 uint64_t mram:2;
166 uint64_t cram:2; 228 uint64_t cram:2;
@@ -180,8 +242,30 @@ union cvmx_sriox_bist_status {
180 uint64_t rxbuf:2; 242 uint64_t rxbuf:2;
181 uint64_t imsg:5; 243 uint64_t imsg:5;
182 uint64_t omsg:7; 244 uint64_t omsg:7;
245#else
246 uint64_t omsg:7;
247 uint64_t imsg:5;
248 uint64_t rxbuf:2;
249 uint64_t txbuf:2;
250 uint64_t ospf:1;
251 uint64_t ispf:1;
252 uint64_t oarb:2;
253 uint64_t rxbuf2:2;
254 uint64_t oarb2:2;
255 uint64_t optrs:4;
256 uint64_t obulk:4;
257 uint64_t rtn:2;
258 uint64_t ofree:1;
259 uint64_t itag:1;
260 uint64_t otag:2;
261 uint64_t bell:2;
262 uint64_t cram:2;
263 uint64_t mram:2;
264 uint64_t reserved_44_63:20;
265#endif
183 } cn63xx; 266 } cn63xx;
184 struct cvmx_sriox_bist_status_cn63xxp1 { 267 struct cvmx_sriox_bist_status_cn63xxp1 {
268#ifdef __BIG_ENDIAN_BITFIELD
185 uint64_t reserved_44_63:20; 269 uint64_t reserved_44_63:20;
186 uint64_t mram:2; 270 uint64_t mram:2;
187 uint64_t cram:2; 271 uint64_t cram:2;
@@ -200,6 +284,26 @@ union cvmx_sriox_bist_status {
200 uint64_t rxbuf:2; 284 uint64_t rxbuf:2;
201 uint64_t imsg:5; 285 uint64_t imsg:5;
202 uint64_t omsg:7; 286 uint64_t omsg:7;
287#else
288 uint64_t omsg:7;
289 uint64_t imsg:5;
290 uint64_t rxbuf:2;
291 uint64_t txbuf:2;
292 uint64_t ospf:1;
293 uint64_t ispf:1;
294 uint64_t oarb:2;
295 uint64_t reserved_20_23:4;
296 uint64_t optrs:4;
297 uint64_t obulk:4;
298 uint64_t rtn:2;
299 uint64_t ofree:1;
300 uint64_t itag:1;
301 uint64_t otag:2;
302 uint64_t bell:2;
303 uint64_t cram:2;
304 uint64_t mram:2;
305 uint64_t reserved_44_63:20;
306#endif
203 } cn63xxp1; 307 } cn63xxp1;
204 struct cvmx_sriox_bist_status_s cn66xx; 308 struct cvmx_sriox_bist_status_s cn66xx;
205}; 309};
@@ -207,6 +311,7 @@ union cvmx_sriox_bist_status {
207union cvmx_sriox_imsg_ctrl { 311union cvmx_sriox_imsg_ctrl {
208 uint64_t u64; 312 uint64_t u64;
209 struct cvmx_sriox_imsg_ctrl_s { 313 struct cvmx_sriox_imsg_ctrl_s {
314#ifdef __BIG_ENDIAN_BITFIELD
210 uint64_t reserved_32_63:32; 315 uint64_t reserved_32_63:32;
211 uint64_t to_mode:1; 316 uint64_t to_mode:1;
212 uint64_t reserved_30_30:1; 317 uint64_t reserved_30_30:1;
@@ -221,6 +326,22 @@ union cvmx_sriox_imsg_ctrl {
221 uint64_t lttr:4; 326 uint64_t lttr:4;
222 uint64_t prio:4; 327 uint64_t prio:4;
223 uint64_t mbox:4; 328 uint64_t mbox:4;
329#else
330 uint64_t mbox:4;
331 uint64_t prio:4;
332 uint64_t lttr:4;
333 uint64_t prt_sel:3;
334 uint64_t reserved_15_15:1;
335 uint64_t rp0_pid:2;
336 uint64_t rp1_pid:1;
337 uint64_t rp0_sid:2;
338 uint64_t rp1_sid:1;
339 uint64_t reserved_22_23:2;
340 uint64_t rsp_thr:6;
341 uint64_t reserved_30_30:1;
342 uint64_t to_mode:1;
343 uint64_t reserved_32_63:32;
344#endif
224 } s; 345 } s;
225 struct cvmx_sriox_imsg_ctrl_s cn63xx; 346 struct cvmx_sriox_imsg_ctrl_s cn63xx;
226 struct cvmx_sriox_imsg_ctrl_s cn63xxp1; 347 struct cvmx_sriox_imsg_ctrl_s cn63xxp1;
@@ -230,6 +351,7 @@ union cvmx_sriox_imsg_ctrl {
230union cvmx_sriox_imsg_inst_hdrx { 351union cvmx_sriox_imsg_inst_hdrx {
231 uint64_t u64; 352 uint64_t u64;
232 struct cvmx_sriox_imsg_inst_hdrx_s { 353 struct cvmx_sriox_imsg_inst_hdrx_s {
354#ifdef __BIG_ENDIAN_BITFIELD
233 uint64_t r:1; 355 uint64_t r:1;
234 uint64_t reserved_58_62:5; 356 uint64_t reserved_58_62:5;
235 uint64_t pm:2; 357 uint64_t pm:2;
@@ -244,6 +366,22 @@ union cvmx_sriox_imsg_inst_hdrx {
244 uint64_t rs:1; 366 uint64_t rs:1;
245 uint64_t tt:2; 367 uint64_t tt:2;
246 uint64_t tag:32; 368 uint64_t tag:32;
369#else
370 uint64_t tag:32;
371 uint64_t tt:2;
372 uint64_t rs:1;
373 uint64_t reserved_35_41:7;
374 uint64_t ntag:1;
375 uint64_t ntt:1;
376 uint64_t ngrp:1;
377 uint64_t nqos:1;
378 uint64_t reserved_46_47:2;
379 uint64_t sl:7;
380 uint64_t reserved_55_55:1;
381 uint64_t pm:2;
382 uint64_t reserved_58_62:5;
383 uint64_t r:1;
384#endif
247 } s; 385 } s;
248 struct cvmx_sriox_imsg_inst_hdrx_s cn63xx; 386 struct cvmx_sriox_imsg_inst_hdrx_s cn63xx;
249 struct cvmx_sriox_imsg_inst_hdrx_s cn63xxp1; 387 struct cvmx_sriox_imsg_inst_hdrx_s cn63xxp1;
@@ -253,6 +391,7 @@ union cvmx_sriox_imsg_inst_hdrx {
253union cvmx_sriox_imsg_qos_grpx { 391union cvmx_sriox_imsg_qos_grpx {
254 uint64_t u64; 392 uint64_t u64;
255 struct cvmx_sriox_imsg_qos_grpx_s { 393 struct cvmx_sriox_imsg_qos_grpx_s {
394#ifdef __BIG_ENDIAN_BITFIELD
256 uint64_t reserved_63_63:1; 395 uint64_t reserved_63_63:1;
257 uint64_t qos7:3; 396 uint64_t qos7:3;
258 uint64_t grp7:4; 397 uint64_t grp7:4;
@@ -277,6 +416,32 @@ union cvmx_sriox_imsg_qos_grpx {
277 uint64_t reserved_7_7:1; 416 uint64_t reserved_7_7:1;
278 uint64_t qos0:3; 417 uint64_t qos0:3;
279 uint64_t grp0:4; 418 uint64_t grp0:4;
419#else
420 uint64_t grp0:4;
421 uint64_t qos0:3;
422 uint64_t reserved_7_7:1;
423 uint64_t grp1:4;
424 uint64_t qos1:3;
425 uint64_t reserved_15_15:1;
426 uint64_t grp2:4;
427 uint64_t qos2:3;
428 uint64_t reserved_23_23:1;
429 uint64_t grp3:4;
430 uint64_t qos3:3;
431 uint64_t reserved_31_31:1;
432 uint64_t grp4:4;
433 uint64_t qos4:3;
434 uint64_t reserved_39_39:1;
435 uint64_t grp5:4;
436 uint64_t qos5:3;
437 uint64_t reserved_47_47:1;
438 uint64_t grp6:4;
439 uint64_t qos6:3;
440 uint64_t reserved_55_55:1;
441 uint64_t grp7:4;
442 uint64_t qos7:3;
443 uint64_t reserved_63_63:1;
444#endif
280 } s; 445 } s;
281 struct cvmx_sriox_imsg_qos_grpx_s cn63xx; 446 struct cvmx_sriox_imsg_qos_grpx_s cn63xx;
282 struct cvmx_sriox_imsg_qos_grpx_s cn63xxp1; 447 struct cvmx_sriox_imsg_qos_grpx_s cn63xxp1;
@@ -286,6 +451,7 @@ union cvmx_sriox_imsg_qos_grpx {
286union cvmx_sriox_imsg_statusx { 451union cvmx_sriox_imsg_statusx {
287 uint64_t u64; 452 uint64_t u64;
288 struct cvmx_sriox_imsg_statusx_s { 453 struct cvmx_sriox_imsg_statusx_s {
454#ifdef __BIG_ENDIAN_BITFIELD
289 uint64_t val1:1; 455 uint64_t val1:1;
290 uint64_t err1:1; 456 uint64_t err1:1;
291 uint64_t toe1:1; 457 uint64_t toe1:1;
@@ -310,6 +476,32 @@ union cvmx_sriox_imsg_statusx {
310 uint64_t mbox0:2; 476 uint64_t mbox0:2;
311 uint64_t lttr0:2; 477 uint64_t lttr0:2;
312 uint64_t sid0:16; 478 uint64_t sid0:16;
479#else
480 uint64_t sid0:16;
481 uint64_t lttr0:2;
482 uint64_t mbox0:2;
483 uint64_t seg0:4;
484 uint64_t dis0:1;
485 uint64_t tt0:1;
486 uint64_t reserved_26_26:1;
487 uint64_t prt0:1;
488 uint64_t toc0:1;
489 uint64_t toe0:1;
490 uint64_t err0:1;
491 uint64_t val0:1;
492 uint64_t sid1:16;
493 uint64_t lttr1:2;
494 uint64_t mbox1:2;
495 uint64_t seg1:4;
496 uint64_t dis1:1;
497 uint64_t tt1:1;
498 uint64_t reserved_58_58:1;
499 uint64_t prt1:1;
500 uint64_t toc1:1;
501 uint64_t toe1:1;
502 uint64_t err1:1;
503 uint64_t val1:1;
504#endif
313 } s; 505 } s;
314 struct cvmx_sriox_imsg_statusx_s cn63xx; 506 struct cvmx_sriox_imsg_statusx_s cn63xx;
315 struct cvmx_sriox_imsg_statusx_s cn63xxp1; 507 struct cvmx_sriox_imsg_statusx_s cn63xxp1;
@@ -319,6 +511,7 @@ union cvmx_sriox_imsg_statusx {
319union cvmx_sriox_imsg_vport_thr { 511union cvmx_sriox_imsg_vport_thr {
320 uint64_t u64; 512 uint64_t u64;
321 struct cvmx_sriox_imsg_vport_thr_s { 513 struct cvmx_sriox_imsg_vport_thr_s {
514#ifdef __BIG_ENDIAN_BITFIELD
322 uint64_t reserved_54_63:10; 515 uint64_t reserved_54_63:10;
323 uint64_t max_tot:6; 516 uint64_t max_tot:6;
324 uint64_t reserved_46_47:2; 517 uint64_t reserved_46_47:2;
@@ -332,6 +525,21 @@ union cvmx_sriox_imsg_vport_thr {
332 uint64_t max_p1:6; 525 uint64_t max_p1:6;
333 uint64_t reserved_6_7:2; 526 uint64_t reserved_6_7:2;
334 uint64_t max_p0:6; 527 uint64_t max_p0:6;
528#else
529 uint64_t max_p0:6;
530 uint64_t reserved_6_7:2;
531 uint64_t max_p1:6;
532 uint64_t reserved_14_15:2;
533 uint64_t buf_thr:4;
534 uint64_t reserved_20_30:11;
535 uint64_t sp_vport:1;
536 uint64_t max_s0:6;
537 uint64_t reserved_38_39:2;
538 uint64_t max_s1:6;
539 uint64_t reserved_46_47:2;
540 uint64_t max_tot:6;
541 uint64_t reserved_54_63:10;
542#endif
335 } s; 543 } s;
336 struct cvmx_sriox_imsg_vport_thr_s cn63xx; 544 struct cvmx_sriox_imsg_vport_thr_s cn63xx;
337 struct cvmx_sriox_imsg_vport_thr_s cn63xxp1; 545 struct cvmx_sriox_imsg_vport_thr_s cn63xxp1;
@@ -341,11 +549,19 @@ union cvmx_sriox_imsg_vport_thr {
341union cvmx_sriox_imsg_vport_thr2 { 549union cvmx_sriox_imsg_vport_thr2 {
342 uint64_t u64; 550 uint64_t u64;
343 struct cvmx_sriox_imsg_vport_thr2_s { 551 struct cvmx_sriox_imsg_vport_thr2_s {
552#ifdef __BIG_ENDIAN_BITFIELD
344 uint64_t reserved_46_63:18; 553 uint64_t reserved_46_63:18;
345 uint64_t max_s3:6; 554 uint64_t max_s3:6;
346 uint64_t reserved_38_39:2; 555 uint64_t reserved_38_39:2;
347 uint64_t max_s2:6; 556 uint64_t max_s2:6;
348 uint64_t reserved_0_31:32; 557 uint64_t reserved_0_31:32;
558#else
559 uint64_t reserved_0_31:32;
560 uint64_t max_s2:6;
561 uint64_t reserved_38_39:2;
562 uint64_t max_s3:6;
563 uint64_t reserved_46_63:18;
564#endif
349 } s; 565 } s;
350 struct cvmx_sriox_imsg_vport_thr2_s cn66xx; 566 struct cvmx_sriox_imsg_vport_thr2_s cn66xx;
351}; 567};
@@ -353,8 +569,13 @@ union cvmx_sriox_imsg_vport_thr2 {
353union cvmx_sriox_int2_enable { 569union cvmx_sriox_int2_enable {
354 uint64_t u64; 570 uint64_t u64;
355 struct cvmx_sriox_int2_enable_s { 571 struct cvmx_sriox_int2_enable_s {
572#ifdef __BIG_ENDIAN_BITFIELD
356 uint64_t reserved_1_63:63; 573 uint64_t reserved_1_63:63;
357 uint64_t pko_rst:1; 574 uint64_t pko_rst:1;
575#else
576 uint64_t pko_rst:1;
577 uint64_t reserved_1_63:63;
578#endif
358 } s; 579 } s;
359 struct cvmx_sriox_int2_enable_s cn63xx; 580 struct cvmx_sriox_int2_enable_s cn63xx;
360 struct cvmx_sriox_int2_enable_s cn66xx; 581 struct cvmx_sriox_int2_enable_s cn66xx;
@@ -363,10 +584,17 @@ union cvmx_sriox_int2_enable {
363union cvmx_sriox_int2_reg { 584union cvmx_sriox_int2_reg {
364 uint64_t u64; 585 uint64_t u64;
365 struct cvmx_sriox_int2_reg_s { 586 struct cvmx_sriox_int2_reg_s {
587#ifdef __BIG_ENDIAN_BITFIELD
366 uint64_t reserved_32_63:32; 588 uint64_t reserved_32_63:32;
367 uint64_t int_sum:1; 589 uint64_t int_sum:1;
368 uint64_t reserved_1_30:30; 590 uint64_t reserved_1_30:30;
369 uint64_t pko_rst:1; 591 uint64_t pko_rst:1;
592#else
593 uint64_t pko_rst:1;
594 uint64_t reserved_1_30:30;
595 uint64_t int_sum:1;
596 uint64_t reserved_32_63:32;
597#endif
370 } s; 598 } s;
371 struct cvmx_sriox_int2_reg_s cn63xx; 599 struct cvmx_sriox_int2_reg_s cn63xx;
372 struct cvmx_sriox_int2_reg_s cn66xx; 600 struct cvmx_sriox_int2_reg_s cn66xx;
@@ -375,6 +603,7 @@ union cvmx_sriox_int2_reg {
375union cvmx_sriox_int_enable { 603union cvmx_sriox_int_enable {
376 uint64_t u64; 604 uint64_t u64;
377 struct cvmx_sriox_int_enable_s { 605 struct cvmx_sriox_int_enable_s {
606#ifdef __BIG_ENDIAN_BITFIELD
378 uint64_t reserved_27_63:37; 607 uint64_t reserved_27_63:37;
379 uint64_t zero_pkt:1; 608 uint64_t zero_pkt:1;
380 uint64_t ttl_tout:1; 609 uint64_t ttl_tout:1;
@@ -403,9 +632,40 @@ union cvmx_sriox_int_enable {
403 uint64_t rxbell:1; 632 uint64_t rxbell:1;
404 uint64_t bell_err:1; 633 uint64_t bell_err:1;
405 uint64_t txbell:1; 634 uint64_t txbell:1;
635#else
636 uint64_t txbell:1;
637 uint64_t bell_err:1;
638 uint64_t rxbell:1;
639 uint64_t maint_op:1;
640 uint64_t bar_err:1;
641 uint64_t deny_wr:1;
642 uint64_t sli_err:1;
643 uint64_t wr_done:1;
644 uint64_t mce_tx:1;
645 uint64_t mce_rx:1;
646 uint64_t soft_tx:1;
647 uint64_t soft_rx:1;
648 uint64_t log_erb:1;
649 uint64_t phy_erb:1;
650 uint64_t link_dwn:1;
651 uint64_t link_up:1;
652 uint64_t omsg0:1;
653 uint64_t omsg1:1;
654 uint64_t omsg_err:1;
655 uint64_t pko_err:1;
656 uint64_t rtry_err:1;
657 uint64_t f_error:1;
658 uint64_t mac_buf:1;
659 uint64_t degrade:1;
660 uint64_t fail:1;
661 uint64_t ttl_tout:1;
662 uint64_t zero_pkt:1;
663 uint64_t reserved_27_63:37;
664#endif
406 } s; 665 } s;
407 struct cvmx_sriox_int_enable_s cn63xx; 666 struct cvmx_sriox_int_enable_s cn63xx;
408 struct cvmx_sriox_int_enable_cn63xxp1 { 667 struct cvmx_sriox_int_enable_cn63xxp1 {
668#ifdef __BIG_ENDIAN_BITFIELD
409 uint64_t reserved_22_63:42; 669 uint64_t reserved_22_63:42;
410 uint64_t f_error:1; 670 uint64_t f_error:1;
411 uint64_t rtry_err:1; 671 uint64_t rtry_err:1;
@@ -429,6 +689,31 @@ union cvmx_sriox_int_enable {
429 uint64_t rxbell:1; 689 uint64_t rxbell:1;
430 uint64_t bell_err:1; 690 uint64_t bell_err:1;
431 uint64_t txbell:1; 691 uint64_t txbell:1;
692#else
693 uint64_t txbell:1;
694 uint64_t bell_err:1;
695 uint64_t rxbell:1;
696 uint64_t maint_op:1;
697 uint64_t bar_err:1;
698 uint64_t deny_wr:1;
699 uint64_t sli_err:1;
700 uint64_t wr_done:1;
701 uint64_t mce_tx:1;
702 uint64_t mce_rx:1;
703 uint64_t soft_tx:1;
704 uint64_t soft_rx:1;
705 uint64_t log_erb:1;
706 uint64_t phy_erb:1;
707 uint64_t link_dwn:1;
708 uint64_t link_up:1;
709 uint64_t omsg0:1;
710 uint64_t omsg1:1;
711 uint64_t omsg_err:1;
712 uint64_t pko_err:1;
713 uint64_t rtry_err:1;
714 uint64_t f_error:1;
715 uint64_t reserved_22_63:42;
716#endif
432 } cn63xxp1; 717 } cn63xxp1;
433 struct cvmx_sriox_int_enable_s cn66xx; 718 struct cvmx_sriox_int_enable_s cn66xx;
434}; 719};
@@ -436,6 +721,7 @@ union cvmx_sriox_int_enable {
436union cvmx_sriox_int_info0 { 721union cvmx_sriox_int_info0 {
437 uint64_t u64; 722 uint64_t u64;
438 struct cvmx_sriox_int_info0_s { 723 struct cvmx_sriox_int_info0_s {
724#ifdef __BIG_ENDIAN_BITFIELD
439 uint64_t cmd:4; 725 uint64_t cmd:4;
440 uint64_t type:4; 726 uint64_t type:4;
441 uint64_t tag:8; 727 uint64_t tag:8;
@@ -445,6 +731,17 @@ union cvmx_sriox_int_info0 {
445 uint64_t reserved_16_28:13; 731 uint64_t reserved_16_28:13;
446 uint64_t be0:8; 732 uint64_t be0:8;
447 uint64_t be1:8; 733 uint64_t be1:8;
734#else
735 uint64_t be1:8;
736 uint64_t be0:8;
737 uint64_t reserved_16_28:13;
738 uint64_t status:3;
739 uint64_t length:10;
740 uint64_t reserved_42_47:6;
741 uint64_t tag:8;
742 uint64_t type:4;
743 uint64_t cmd:4;
744#endif
448 } s; 745 } s;
449 struct cvmx_sriox_int_info0_s cn63xx; 746 struct cvmx_sriox_int_info0_s cn63xx;
450 struct cvmx_sriox_int_info0_s cn63xxp1; 747 struct cvmx_sriox_int_info0_s cn63xxp1;
@@ -454,7 +751,11 @@ union cvmx_sriox_int_info0 {
454union cvmx_sriox_int_info1 { 751union cvmx_sriox_int_info1 {
455 uint64_t u64; 752 uint64_t u64;
456 struct cvmx_sriox_int_info1_s { 753 struct cvmx_sriox_int_info1_s {
754#ifdef __BIG_ENDIAN_BITFIELD
457 uint64_t info1:64; 755 uint64_t info1:64;
756#else
757 uint64_t info1:64;
758#endif
458 } s; 759 } s;
459 struct cvmx_sriox_int_info1_s cn63xx; 760 struct cvmx_sriox_int_info1_s cn63xx;
460 struct cvmx_sriox_int_info1_s cn63xxp1; 761 struct cvmx_sriox_int_info1_s cn63xxp1;
@@ -464,6 +765,7 @@ union cvmx_sriox_int_info1 {
464union cvmx_sriox_int_info2 { 765union cvmx_sriox_int_info2 {
465 uint64_t u64; 766 uint64_t u64;
466 struct cvmx_sriox_int_info2_s { 767 struct cvmx_sriox_int_info2_s {
768#ifdef __BIG_ENDIAN_BITFIELD
467 uint64_t prio:2; 769 uint64_t prio:2;
468 uint64_t tt:1; 770 uint64_t tt:1;
469 uint64_t sis:1; 771 uint64_t sis:1;
@@ -475,6 +777,19 @@ union cvmx_sriox_int_info2 {
475 uint64_t rsrvd:30; 777 uint64_t rsrvd:30;
476 uint64_t lns:1; 778 uint64_t lns:1;
477 uint64_t intr:1; 779 uint64_t intr:1;
780#else
781 uint64_t intr:1;
782 uint64_t lns:1;
783 uint64_t rsrvd:30;
784 uint64_t letter:2;
785 uint64_t mbox:2;
786 uint64_t xmbox:4;
787 uint64_t did:16;
788 uint64_t ssize:4;
789 uint64_t sis:1;
790 uint64_t tt:1;
791 uint64_t prio:2;
792#endif
478 } s; 793 } s;
479 struct cvmx_sriox_int_info2_s cn63xx; 794 struct cvmx_sriox_int_info2_s cn63xx;
480 struct cvmx_sriox_int_info2_s cn63xxp1; 795 struct cvmx_sriox_int_info2_s cn63xxp1;
@@ -484,11 +799,19 @@ union cvmx_sriox_int_info2 {
484union cvmx_sriox_int_info3 { 799union cvmx_sriox_int_info3 {
485 uint64_t u64; 800 uint64_t u64;
486 struct cvmx_sriox_int_info3_s { 801 struct cvmx_sriox_int_info3_s {
802#ifdef __BIG_ENDIAN_BITFIELD
487 uint64_t prio:2; 803 uint64_t prio:2;
488 uint64_t tt:2; 804 uint64_t tt:2;
489 uint64_t type:4; 805 uint64_t type:4;
490 uint64_t other:48; 806 uint64_t other:48;
491 uint64_t reserved_0_7:8; 807 uint64_t reserved_0_7:8;
808#else
809 uint64_t reserved_0_7:8;
810 uint64_t other:48;
811 uint64_t type:4;
812 uint64_t tt:2;
813 uint64_t prio:2;
814#endif
492 } s; 815 } s;
493 struct cvmx_sriox_int_info3_s cn63xx; 816 struct cvmx_sriox_int_info3_s cn63xx;
494 struct cvmx_sriox_int_info3_s cn63xxp1; 817 struct cvmx_sriox_int_info3_s cn63xxp1;
@@ -498,6 +821,7 @@ union cvmx_sriox_int_info3 {
498union cvmx_sriox_int_reg { 821union cvmx_sriox_int_reg {
499 uint64_t u64; 822 uint64_t u64;
500 struct cvmx_sriox_int_reg_s { 823 struct cvmx_sriox_int_reg_s {
824#ifdef __BIG_ENDIAN_BITFIELD
501 uint64_t reserved_32_63:32; 825 uint64_t reserved_32_63:32;
502 uint64_t int2_sum:1; 826 uint64_t int2_sum:1;
503 uint64_t reserved_27_30:4; 827 uint64_t reserved_27_30:4;
@@ -528,9 +852,42 @@ union cvmx_sriox_int_reg {
528 uint64_t rxbell:1; 852 uint64_t rxbell:1;
529 uint64_t bell_err:1; 853 uint64_t bell_err:1;
530 uint64_t txbell:1; 854 uint64_t txbell:1;
855#else
856 uint64_t txbell:1;
857 uint64_t bell_err:1;
858 uint64_t rxbell:1;
859 uint64_t maint_op:1;
860 uint64_t bar_err:1;
861 uint64_t deny_wr:1;
862 uint64_t sli_err:1;
863 uint64_t wr_done:1;
864 uint64_t mce_tx:1;
865 uint64_t mce_rx:1;
866 uint64_t soft_tx:1;
867 uint64_t soft_rx:1;
868 uint64_t log_erb:1;
869 uint64_t phy_erb:1;
870 uint64_t link_dwn:1;
871 uint64_t link_up:1;
872 uint64_t omsg0:1;
873 uint64_t omsg1:1;
874 uint64_t omsg_err:1;
875 uint64_t pko_err:1;
876 uint64_t rtry_err:1;
877 uint64_t f_error:1;
878 uint64_t mac_buf:1;
879 uint64_t degrad:1;
880 uint64_t fail:1;
881 uint64_t ttl_tout:1;
882 uint64_t zero_pkt:1;
883 uint64_t reserved_27_30:4;
884 uint64_t int2_sum:1;
885 uint64_t reserved_32_63:32;
886#endif
531 } s; 887 } s;
532 struct cvmx_sriox_int_reg_s cn63xx; 888 struct cvmx_sriox_int_reg_s cn63xx;
533 struct cvmx_sriox_int_reg_cn63xxp1 { 889 struct cvmx_sriox_int_reg_cn63xxp1 {
890#ifdef __BIG_ENDIAN_BITFIELD
534 uint64_t reserved_22_63:42; 891 uint64_t reserved_22_63:42;
535 uint64_t f_error:1; 892 uint64_t f_error:1;
536 uint64_t rtry_err:1; 893 uint64_t rtry_err:1;
@@ -554,6 +911,31 @@ union cvmx_sriox_int_reg {
554 uint64_t rxbell:1; 911 uint64_t rxbell:1;
555 uint64_t bell_err:1; 912 uint64_t bell_err:1;
556 uint64_t txbell:1; 913 uint64_t txbell:1;
914#else
915 uint64_t txbell:1;
916 uint64_t bell_err:1;
917 uint64_t rxbell:1;
918 uint64_t maint_op:1;
919 uint64_t bar_err:1;
920 uint64_t deny_wr:1;
921 uint64_t sli_err:1;
922 uint64_t wr_done:1;
923 uint64_t mce_tx:1;
924 uint64_t mce_rx:1;
925 uint64_t soft_tx:1;
926 uint64_t soft_rx:1;
927 uint64_t log_erb:1;
928 uint64_t phy_erb:1;
929 uint64_t link_dwn:1;
930 uint64_t link_up:1;
931 uint64_t omsg0:1;
932 uint64_t omsg1:1;
933 uint64_t omsg_err:1;
934 uint64_t pko_err:1;
935 uint64_t rtry_err:1;
936 uint64_t f_error:1;
937 uint64_t reserved_22_63:42;
938#endif
557 } cn63xxp1; 939 } cn63xxp1;
558 struct cvmx_sriox_int_reg_s cn66xx; 940 struct cvmx_sriox_int_reg_s cn66xx;
559}; 941};
@@ -561,6 +943,7 @@ union cvmx_sriox_int_reg {
561union cvmx_sriox_ip_feature { 943union cvmx_sriox_ip_feature {
562 uint64_t u64; 944 uint64_t u64;
563 struct cvmx_sriox_ip_feature_s { 945 struct cvmx_sriox_ip_feature_s {
946#ifdef __BIG_ENDIAN_BITFIELD
564 uint64_t ops:32; 947 uint64_t ops:32;
565 uint64_t reserved_15_31:17; 948 uint64_t reserved_15_31:17;
566 uint64_t no_vmin:1; 949 uint64_t no_vmin:1;
@@ -571,8 +954,21 @@ union cvmx_sriox_ip_feature {
571 uint64_t pt_width:2; 954 uint64_t pt_width:2;
572 uint64_t tx_pol:4; 955 uint64_t tx_pol:4;
573 uint64_t rx_pol:4; 956 uint64_t rx_pol:4;
957#else
958 uint64_t rx_pol:4;
959 uint64_t tx_pol:4;
960 uint64_t pt_width:2;
961 uint64_t tx_flow:1;
962 uint64_t reserved_11_11:1;
963 uint64_t a50:1;
964 uint64_t a66:1;
965 uint64_t no_vmin:1;
966 uint64_t reserved_15_31:17;
967 uint64_t ops:32;
968#endif
574 } s; 969 } s;
575 struct cvmx_sriox_ip_feature_cn63xx { 970 struct cvmx_sriox_ip_feature_cn63xx {
971#ifdef __BIG_ENDIAN_BITFIELD
576 uint64_t ops:32; 972 uint64_t ops:32;
577 uint64_t reserved_14_31:18; 973 uint64_t reserved_14_31:18;
578 uint64_t a66:1; 974 uint64_t a66:1;
@@ -582,6 +978,17 @@ union cvmx_sriox_ip_feature {
582 uint64_t pt_width:2; 978 uint64_t pt_width:2;
583 uint64_t tx_pol:4; 979 uint64_t tx_pol:4;
584 uint64_t rx_pol:4; 980 uint64_t rx_pol:4;
981#else
982 uint64_t rx_pol:4;
983 uint64_t tx_pol:4;
984 uint64_t pt_width:2;
985 uint64_t tx_flow:1;
986 uint64_t reserved_11_11:1;
987 uint64_t a50:1;
988 uint64_t a66:1;
989 uint64_t reserved_14_31:18;
990 uint64_t ops:32;
991#endif
585 } cn63xx; 992 } cn63xx;
586 struct cvmx_sriox_ip_feature_cn63xx cn63xxp1; 993 struct cvmx_sriox_ip_feature_cn63xx cn63xxp1;
587 struct cvmx_sriox_ip_feature_s cn66xx; 994 struct cvmx_sriox_ip_feature_s cn66xx;
@@ -590,6 +997,7 @@ union cvmx_sriox_ip_feature {
590union cvmx_sriox_mac_buffers { 997union cvmx_sriox_mac_buffers {
591 uint64_t u64; 998 uint64_t u64;
592 struct cvmx_sriox_mac_buffers_s { 999 struct cvmx_sriox_mac_buffers_s {
1000#ifdef __BIG_ENDIAN_BITFIELD
593 uint64_t reserved_56_63:8; 1001 uint64_t reserved_56_63:8;
594 uint64_t tx_enb:8; 1002 uint64_t tx_enb:8;
595 uint64_t reserved_44_47:4; 1003 uint64_t reserved_44_47:4;
@@ -600,6 +1008,18 @@ union cvmx_sriox_mac_buffers {
600 uint64_t reserved_12_15:4; 1008 uint64_t reserved_12_15:4;
601 uint64_t rx_inuse:4; 1009 uint64_t rx_inuse:4;
602 uint64_t rx_stat:8; 1010 uint64_t rx_stat:8;
1011#else
1012 uint64_t rx_stat:8;
1013 uint64_t rx_inuse:4;
1014 uint64_t reserved_12_15:4;
1015 uint64_t rx_enb:8;
1016 uint64_t reserved_24_31:8;
1017 uint64_t tx_stat:8;
1018 uint64_t tx_inuse:4;
1019 uint64_t reserved_44_47:4;
1020 uint64_t tx_enb:8;
1021 uint64_t reserved_56_63:8;
1022#endif
603 } s; 1023 } s;
604 struct cvmx_sriox_mac_buffers_s cn63xx; 1024 struct cvmx_sriox_mac_buffers_s cn63xx;
605 struct cvmx_sriox_mac_buffers_s cn66xx; 1025 struct cvmx_sriox_mac_buffers_s cn66xx;
@@ -608,12 +1028,21 @@ union cvmx_sriox_mac_buffers {
608union cvmx_sriox_maint_op { 1028union cvmx_sriox_maint_op {
609 uint64_t u64; 1029 uint64_t u64;
610 struct cvmx_sriox_maint_op_s { 1030 struct cvmx_sriox_maint_op_s {
1031#ifdef __BIG_ENDIAN_BITFIELD
611 uint64_t wr_data:32; 1032 uint64_t wr_data:32;
612 uint64_t reserved_27_31:5; 1033 uint64_t reserved_27_31:5;
613 uint64_t fail:1; 1034 uint64_t fail:1;
614 uint64_t pending:1; 1035 uint64_t pending:1;
615 uint64_t op:1; 1036 uint64_t op:1;
616 uint64_t addr:24; 1037 uint64_t addr:24;
1038#else
1039 uint64_t addr:24;
1040 uint64_t op:1;
1041 uint64_t pending:1;
1042 uint64_t fail:1;
1043 uint64_t reserved_27_31:5;
1044 uint64_t wr_data:32;
1045#endif
617 } s; 1046 } s;
618 struct cvmx_sriox_maint_op_s cn63xx; 1047 struct cvmx_sriox_maint_op_s cn63xx;
619 struct cvmx_sriox_maint_op_s cn63xxp1; 1048 struct cvmx_sriox_maint_op_s cn63xxp1;
@@ -623,9 +1052,15 @@ union cvmx_sriox_maint_op {
623union cvmx_sriox_maint_rd_data { 1052union cvmx_sriox_maint_rd_data {
624 uint64_t u64; 1053 uint64_t u64;
625 struct cvmx_sriox_maint_rd_data_s { 1054 struct cvmx_sriox_maint_rd_data_s {
1055#ifdef __BIG_ENDIAN_BITFIELD
626 uint64_t reserved_33_63:31; 1056 uint64_t reserved_33_63:31;
627 uint64_t valid:1; 1057 uint64_t valid:1;
628 uint64_t rd_data:32; 1058 uint64_t rd_data:32;
1059#else
1060 uint64_t rd_data:32;
1061 uint64_t valid:1;
1062 uint64_t reserved_33_63:31;
1063#endif
629 } s; 1064 } s;
630 struct cvmx_sriox_maint_rd_data_s cn63xx; 1065 struct cvmx_sriox_maint_rd_data_s cn63xx;
631 struct cvmx_sriox_maint_rd_data_s cn63xxp1; 1066 struct cvmx_sriox_maint_rd_data_s cn63xxp1;
@@ -635,8 +1070,13 @@ union cvmx_sriox_maint_rd_data {
635union cvmx_sriox_mce_tx_ctl { 1070union cvmx_sriox_mce_tx_ctl {
636 uint64_t u64; 1071 uint64_t u64;
637 struct cvmx_sriox_mce_tx_ctl_s { 1072 struct cvmx_sriox_mce_tx_ctl_s {
1073#ifdef __BIG_ENDIAN_BITFIELD
638 uint64_t reserved_1_63:63; 1074 uint64_t reserved_1_63:63;
639 uint64_t mce:1; 1075 uint64_t mce:1;
1076#else
1077 uint64_t mce:1;
1078 uint64_t reserved_1_63:63;
1079#endif
640 } s; 1080 } s;
641 struct cvmx_sriox_mce_tx_ctl_s cn63xx; 1081 struct cvmx_sriox_mce_tx_ctl_s cn63xx;
642 struct cvmx_sriox_mce_tx_ctl_s cn63xxp1; 1082 struct cvmx_sriox_mce_tx_ctl_s cn63xxp1;
@@ -646,6 +1086,7 @@ union cvmx_sriox_mce_tx_ctl {
646union cvmx_sriox_mem_op_ctrl { 1086union cvmx_sriox_mem_op_ctrl {
647 uint64_t u64; 1087 uint64_t u64;
648 struct cvmx_sriox_mem_op_ctrl_s { 1088 struct cvmx_sriox_mem_op_ctrl_s {
1089#ifdef __BIG_ENDIAN_BITFIELD
649 uint64_t reserved_10_63:54; 1090 uint64_t reserved_10_63:54;
650 uint64_t rr_ro:1; 1091 uint64_t rr_ro:1;
651 uint64_t w_ro:1; 1092 uint64_t w_ro:1;
@@ -654,6 +1095,16 @@ union cvmx_sriox_mem_op_ctrl {
654 uint64_t rp0_sid:2; 1095 uint64_t rp0_sid:2;
655 uint64_t rp1_pid:1; 1096 uint64_t rp1_pid:1;
656 uint64_t rp0_pid:2; 1097 uint64_t rp0_pid:2;
1098#else
1099 uint64_t rp0_pid:2;
1100 uint64_t rp1_pid:1;
1101 uint64_t rp0_sid:2;
1102 uint64_t rp1_sid:1;
1103 uint64_t reserved_6_7:2;
1104 uint64_t w_ro:1;
1105 uint64_t rr_ro:1;
1106 uint64_t reserved_10_63:54;
1107#endif
657 } s; 1108 } s;
658 struct cvmx_sriox_mem_op_ctrl_s cn63xx; 1109 struct cvmx_sriox_mem_op_ctrl_s cn63xx;
659 struct cvmx_sriox_mem_op_ctrl_s cn63xxp1; 1110 struct cvmx_sriox_mem_op_ctrl_s cn63xxp1;
@@ -663,6 +1114,7 @@ union cvmx_sriox_mem_op_ctrl {
663union cvmx_sriox_omsg_ctrlx { 1114union cvmx_sriox_omsg_ctrlx {
664 uint64_t u64; 1115 uint64_t u64;
665 struct cvmx_sriox_omsg_ctrlx_s { 1116 struct cvmx_sriox_omsg_ctrlx_s {
1117#ifdef __BIG_ENDIAN_BITFIELD
666 uint64_t testmode:1; 1118 uint64_t testmode:1;
667 uint64_t reserved_37_62:26; 1119 uint64_t reserved_37_62:26;
668 uint64_t silo_max:5; 1120 uint64_t silo_max:5;
@@ -674,9 +1126,23 @@ union cvmx_sriox_omsg_ctrlx {
674 uint64_t idm_did:1; 1126 uint64_t idm_did:1;
675 uint64_t lttr_sp:4; 1127 uint64_t lttr_sp:4;
676 uint64_t lttr_mp:4; 1128 uint64_t lttr_mp:4;
1129#else
1130 uint64_t lttr_mp:4;
1131 uint64_t lttr_sp:4;
1132 uint64_t idm_did:1;
1133 uint64_t idm_sis:1;
1134 uint64_t idm_tt:1;
1135 uint64_t reserved_11_14:4;
1136 uint64_t rtry_en:1;
1137 uint64_t rtry_thr:16;
1138 uint64_t silo_max:5;
1139 uint64_t reserved_37_62:26;
1140 uint64_t testmode:1;
1141#endif
677 } s; 1142 } s;
678 struct cvmx_sriox_omsg_ctrlx_s cn63xx; 1143 struct cvmx_sriox_omsg_ctrlx_s cn63xx;
679 struct cvmx_sriox_omsg_ctrlx_cn63xxp1 { 1144 struct cvmx_sriox_omsg_ctrlx_cn63xxp1 {
1145#ifdef __BIG_ENDIAN_BITFIELD
680 uint64_t testmode:1; 1146 uint64_t testmode:1;
681 uint64_t reserved_32_62:31; 1147 uint64_t reserved_32_62:31;
682 uint64_t rtry_thr:16; 1148 uint64_t rtry_thr:16;
@@ -687,6 +1153,18 @@ union cvmx_sriox_omsg_ctrlx {
687 uint64_t idm_did:1; 1153 uint64_t idm_did:1;
688 uint64_t lttr_sp:4; 1154 uint64_t lttr_sp:4;
689 uint64_t lttr_mp:4; 1155 uint64_t lttr_mp:4;
1156#else
1157 uint64_t lttr_mp:4;
1158 uint64_t lttr_sp:4;
1159 uint64_t idm_did:1;
1160 uint64_t idm_sis:1;
1161 uint64_t idm_tt:1;
1162 uint64_t reserved_11_14:4;
1163 uint64_t rtry_en:1;
1164 uint64_t rtry_thr:16;
1165 uint64_t reserved_32_62:31;
1166 uint64_t testmode:1;
1167#endif
690 } cn63xxp1; 1168 } cn63xxp1;
691 struct cvmx_sriox_omsg_ctrlx_s cn66xx; 1169 struct cvmx_sriox_omsg_ctrlx_s cn66xx;
692}; 1170};
@@ -694,9 +1172,15 @@ union cvmx_sriox_omsg_ctrlx {
694union cvmx_sriox_omsg_done_countsx { 1172union cvmx_sriox_omsg_done_countsx {
695 uint64_t u64; 1173 uint64_t u64;
696 struct cvmx_sriox_omsg_done_countsx_s { 1174 struct cvmx_sriox_omsg_done_countsx_s {
1175#ifdef __BIG_ENDIAN_BITFIELD
697 uint64_t reserved_32_63:32; 1176 uint64_t reserved_32_63:32;
698 uint64_t bad:16; 1177 uint64_t bad:16;
699 uint64_t good:16; 1178 uint64_t good:16;
1179#else
1180 uint64_t good:16;
1181 uint64_t bad:16;
1182 uint64_t reserved_32_63:32;
1183#endif
700 } s; 1184 } s;
701 struct cvmx_sriox_omsg_done_countsx_s cn63xx; 1185 struct cvmx_sriox_omsg_done_countsx_s cn63xx;
702 struct cvmx_sriox_omsg_done_countsx_s cn66xx; 1186 struct cvmx_sriox_omsg_done_countsx_s cn66xx;
@@ -705,6 +1189,7 @@ union cvmx_sriox_omsg_done_countsx {
705union cvmx_sriox_omsg_fmp_mrx { 1189union cvmx_sriox_omsg_fmp_mrx {
706 uint64_t u64; 1190 uint64_t u64;
707 struct cvmx_sriox_omsg_fmp_mrx_s { 1191 struct cvmx_sriox_omsg_fmp_mrx_s {
1192#ifdef __BIG_ENDIAN_BITFIELD
708 uint64_t reserved_15_63:49; 1193 uint64_t reserved_15_63:49;
709 uint64_t ctlr_sp:1; 1194 uint64_t ctlr_sp:1;
710 uint64_t ctlr_fmp:1; 1195 uint64_t ctlr_fmp:1;
@@ -721,6 +1206,24 @@ union cvmx_sriox_omsg_fmp_mrx {
721 uint64_t all_fmp:1; 1206 uint64_t all_fmp:1;
722 uint64_t all_nmp:1; 1207 uint64_t all_nmp:1;
723 uint64_t all_psd:1; 1208 uint64_t all_psd:1;
1209#else
1210 uint64_t all_psd:1;
1211 uint64_t all_nmp:1;
1212 uint64_t all_fmp:1;
1213 uint64_t all_sp:1;
1214 uint64_t mbox_psd:1;
1215 uint64_t mbox_nmp:1;
1216 uint64_t mbox_fmp:1;
1217 uint64_t mbox_sp:1;
1218 uint64_t id_psd:1;
1219 uint64_t id_nmp:1;
1220 uint64_t id_fmp:1;
1221 uint64_t id_sp:1;
1222 uint64_t ctlr_nmp:1;
1223 uint64_t ctlr_fmp:1;
1224 uint64_t ctlr_sp:1;
1225 uint64_t reserved_15_63:49;
1226#endif
724 } s; 1227 } s;
725 struct cvmx_sriox_omsg_fmp_mrx_s cn63xx; 1228 struct cvmx_sriox_omsg_fmp_mrx_s cn63xx;
726 struct cvmx_sriox_omsg_fmp_mrx_s cn63xxp1; 1229 struct cvmx_sriox_omsg_fmp_mrx_s cn63xxp1;
@@ -730,6 +1233,7 @@ union cvmx_sriox_omsg_fmp_mrx {
730union cvmx_sriox_omsg_nmp_mrx { 1233union cvmx_sriox_omsg_nmp_mrx {
731 uint64_t u64; 1234 uint64_t u64;
732 struct cvmx_sriox_omsg_nmp_mrx_s { 1235 struct cvmx_sriox_omsg_nmp_mrx_s {
1236#ifdef __BIG_ENDIAN_BITFIELD
733 uint64_t reserved_15_63:49; 1237 uint64_t reserved_15_63:49;
734 uint64_t ctlr_sp:1; 1238 uint64_t ctlr_sp:1;
735 uint64_t ctlr_fmp:1; 1239 uint64_t ctlr_fmp:1;
@@ -746,6 +1250,24 @@ union cvmx_sriox_omsg_nmp_mrx {
746 uint64_t all_fmp:1; 1250 uint64_t all_fmp:1;
747 uint64_t all_nmp:1; 1251 uint64_t all_nmp:1;
748 uint64_t reserved_0_0:1; 1252 uint64_t reserved_0_0:1;
1253#else
1254 uint64_t reserved_0_0:1;
1255 uint64_t all_nmp:1;
1256 uint64_t all_fmp:1;
1257 uint64_t all_sp:1;
1258 uint64_t reserved_4_4:1;
1259 uint64_t mbox_nmp:1;
1260 uint64_t mbox_fmp:1;
1261 uint64_t mbox_sp:1;
1262 uint64_t reserved_8_8:1;
1263 uint64_t id_nmp:1;
1264 uint64_t id_fmp:1;
1265 uint64_t id_sp:1;
1266 uint64_t ctlr_nmp:1;
1267 uint64_t ctlr_fmp:1;
1268 uint64_t ctlr_sp:1;
1269 uint64_t reserved_15_63:49;
1270#endif
749 } s; 1271 } s;
750 struct cvmx_sriox_omsg_nmp_mrx_s cn63xx; 1272 struct cvmx_sriox_omsg_nmp_mrx_s cn63xx;
751 struct cvmx_sriox_omsg_nmp_mrx_s cn63xxp1; 1273 struct cvmx_sriox_omsg_nmp_mrx_s cn63xxp1;
@@ -755,16 +1277,30 @@ union cvmx_sriox_omsg_nmp_mrx {
755union cvmx_sriox_omsg_portx { 1277union cvmx_sriox_omsg_portx {
756 uint64_t u64; 1278 uint64_t u64;
757 struct cvmx_sriox_omsg_portx_s { 1279 struct cvmx_sriox_omsg_portx_s {
1280#ifdef __BIG_ENDIAN_BITFIELD
758 uint64_t reserved_32_63:32; 1281 uint64_t reserved_32_63:32;
759 uint64_t enable:1; 1282 uint64_t enable:1;
760 uint64_t reserved_3_30:28; 1283 uint64_t reserved_3_30:28;
761 uint64_t port:3; 1284 uint64_t port:3;
1285#else
1286 uint64_t port:3;
1287 uint64_t reserved_3_30:28;
1288 uint64_t enable:1;
1289 uint64_t reserved_32_63:32;
1290#endif
762 } s; 1291 } s;
763 struct cvmx_sriox_omsg_portx_cn63xx { 1292 struct cvmx_sriox_omsg_portx_cn63xx {
1293#ifdef __BIG_ENDIAN_BITFIELD
764 uint64_t reserved_32_63:32; 1294 uint64_t reserved_32_63:32;
765 uint64_t enable:1; 1295 uint64_t enable:1;
766 uint64_t reserved_2_30:29; 1296 uint64_t reserved_2_30:29;
767 uint64_t port:2; 1297 uint64_t port:2;
1298#else
1299 uint64_t port:2;
1300 uint64_t reserved_2_30:29;
1301 uint64_t enable:1;
1302 uint64_t reserved_32_63:32;
1303#endif
768 } cn63xx; 1304 } cn63xx;
769 struct cvmx_sriox_omsg_portx_cn63xx cn63xxp1; 1305 struct cvmx_sriox_omsg_portx_cn63xx cn63xxp1;
770 struct cvmx_sriox_omsg_portx_s cn66xx; 1306 struct cvmx_sriox_omsg_portx_s cn66xx;
@@ -773,8 +1309,13 @@ union cvmx_sriox_omsg_portx {
773union cvmx_sriox_omsg_silo_thr { 1309union cvmx_sriox_omsg_silo_thr {
774 uint64_t u64; 1310 uint64_t u64;
775 struct cvmx_sriox_omsg_silo_thr_s { 1311 struct cvmx_sriox_omsg_silo_thr_s {
1312#ifdef __BIG_ENDIAN_BITFIELD
776 uint64_t reserved_5_63:59; 1313 uint64_t reserved_5_63:59;
777 uint64_t tot_silo:5; 1314 uint64_t tot_silo:5;
1315#else
1316 uint64_t tot_silo:5;
1317 uint64_t reserved_5_63:59;
1318#endif
778 } s; 1319 } s;
779 struct cvmx_sriox_omsg_silo_thr_s cn63xx; 1320 struct cvmx_sriox_omsg_silo_thr_s cn63xx;
780 struct cvmx_sriox_omsg_silo_thr_s cn66xx; 1321 struct cvmx_sriox_omsg_silo_thr_s cn66xx;
@@ -783,6 +1324,7 @@ union cvmx_sriox_omsg_silo_thr {
783union cvmx_sriox_omsg_sp_mrx { 1324union cvmx_sriox_omsg_sp_mrx {
784 uint64_t u64; 1325 uint64_t u64;
785 struct cvmx_sriox_omsg_sp_mrx_s { 1326 struct cvmx_sriox_omsg_sp_mrx_s {
1327#ifdef __BIG_ENDIAN_BITFIELD
786 uint64_t reserved_16_63:48; 1328 uint64_t reserved_16_63:48;
787 uint64_t xmbox_sp:1; 1329 uint64_t xmbox_sp:1;
788 uint64_t ctlr_sp:1; 1330 uint64_t ctlr_sp:1;
@@ -800,6 +1342,25 @@ union cvmx_sriox_omsg_sp_mrx {
800 uint64_t all_fmp:1; 1342 uint64_t all_fmp:1;
801 uint64_t all_nmp:1; 1343 uint64_t all_nmp:1;
802 uint64_t all_psd:1; 1344 uint64_t all_psd:1;
1345#else
1346 uint64_t all_psd:1;
1347 uint64_t all_nmp:1;
1348 uint64_t all_fmp:1;
1349 uint64_t all_sp:1;
1350 uint64_t mbox_psd:1;
1351 uint64_t mbox_nmp:1;
1352 uint64_t mbox_fmp:1;
1353 uint64_t mbox_sp:1;
1354 uint64_t id_psd:1;
1355 uint64_t id_nmp:1;
1356 uint64_t id_fmp:1;
1357 uint64_t id_sp:1;
1358 uint64_t ctlr_nmp:1;
1359 uint64_t ctlr_fmp:1;
1360 uint64_t ctlr_sp:1;
1361 uint64_t xmbox_sp:1;
1362 uint64_t reserved_16_63:48;
1363#endif
803 } s; 1364 } s;
804 struct cvmx_sriox_omsg_sp_mrx_s cn63xx; 1365 struct cvmx_sriox_omsg_sp_mrx_s cn63xx;
805 struct cvmx_sriox_omsg_sp_mrx_s cn63xxp1; 1366 struct cvmx_sriox_omsg_sp_mrx_s cn63xxp1;
@@ -809,9 +1370,15 @@ union cvmx_sriox_omsg_sp_mrx {
809union cvmx_sriox_priox_in_use { 1370union cvmx_sriox_priox_in_use {
810 uint64_t u64; 1371 uint64_t u64;
811 struct cvmx_sriox_priox_in_use_s { 1372 struct cvmx_sriox_priox_in_use_s {
1373#ifdef __BIG_ENDIAN_BITFIELD
812 uint64_t reserved_32_63:32; 1374 uint64_t reserved_32_63:32;
813 uint64_t end_cnt:16; 1375 uint64_t end_cnt:16;
814 uint64_t start_cnt:16; 1376 uint64_t start_cnt:16;
1377#else
1378 uint64_t start_cnt:16;
1379 uint64_t end_cnt:16;
1380 uint64_t reserved_32_63:32;
1381#endif
815 } s; 1382 } s;
816 struct cvmx_sriox_priox_in_use_s cn63xx; 1383 struct cvmx_sriox_priox_in_use_s cn63xx;
817 struct cvmx_sriox_priox_in_use_s cn66xx; 1384 struct cvmx_sriox_priox_in_use_s cn66xx;
@@ -820,6 +1387,7 @@ union cvmx_sriox_priox_in_use {
820union cvmx_sriox_rx_bell { 1387union cvmx_sriox_rx_bell {
821 uint64_t u64; 1388 uint64_t u64;
822 struct cvmx_sriox_rx_bell_s { 1389 struct cvmx_sriox_rx_bell_s {
1390#ifdef __BIG_ENDIAN_BITFIELD
823 uint64_t reserved_48_63:16; 1391 uint64_t reserved_48_63:16;
824 uint64_t data:16; 1392 uint64_t data:16;
825 uint64_t src_id:16; 1393 uint64_t src_id:16;
@@ -829,6 +1397,17 @@ union cvmx_sriox_rx_bell {
829 uint64_t id16:1; 1397 uint64_t id16:1;
830 uint64_t reserved_2_2:1; 1398 uint64_t reserved_2_2:1;
831 uint64_t priority:2; 1399 uint64_t priority:2;
1400#else
1401 uint64_t priority:2;
1402 uint64_t reserved_2_2:1;
1403 uint64_t id16:1;
1404 uint64_t dest_id:1;
1405 uint64_t reserved_5_7:3;
1406 uint64_t count:8;
1407 uint64_t src_id:16;
1408 uint64_t data:16;
1409 uint64_t reserved_48_63:16;
1410#endif
832 } s; 1411 } s;
833 struct cvmx_sriox_rx_bell_s cn63xx; 1412 struct cvmx_sriox_rx_bell_s cn63xx;
834 struct cvmx_sriox_rx_bell_s cn63xxp1; 1413 struct cvmx_sriox_rx_bell_s cn63xxp1;
@@ -838,9 +1417,15 @@ union cvmx_sriox_rx_bell {
838union cvmx_sriox_rx_bell_seq { 1417union cvmx_sriox_rx_bell_seq {
839 uint64_t u64; 1418 uint64_t u64;
840 struct cvmx_sriox_rx_bell_seq_s { 1419 struct cvmx_sriox_rx_bell_seq_s {
1420#ifdef __BIG_ENDIAN_BITFIELD
841 uint64_t reserved_40_63:24; 1421 uint64_t reserved_40_63:24;
842 uint64_t count:8; 1422 uint64_t count:8;
843 uint64_t seq:32; 1423 uint64_t seq:32;
1424#else
1425 uint64_t seq:32;
1426 uint64_t count:8;
1427 uint64_t reserved_40_63:24;
1428#endif
844 } s; 1429 } s;
845 struct cvmx_sriox_rx_bell_seq_s cn63xx; 1430 struct cvmx_sriox_rx_bell_seq_s cn63xx;
846 struct cvmx_sriox_rx_bell_seq_s cn63xxp1; 1431 struct cvmx_sriox_rx_bell_seq_s cn63xxp1;
@@ -850,6 +1435,7 @@ union cvmx_sriox_rx_bell_seq {
850union cvmx_sriox_rx_status { 1435union cvmx_sriox_rx_status {
851 uint64_t u64; 1436 uint64_t u64;
852 struct cvmx_sriox_rx_status_s { 1437 struct cvmx_sriox_rx_status_s {
1438#ifdef __BIG_ENDIAN_BITFIELD
853 uint64_t rtn_pr3:8; 1439 uint64_t rtn_pr3:8;
854 uint64_t rtn_pr2:8; 1440 uint64_t rtn_pr2:8;
855 uint64_t rtn_pr1:8; 1441 uint64_t rtn_pr1:8;
@@ -859,6 +1445,17 @@ union cvmx_sriox_rx_status {
859 uint64_t reserved_13_15:3; 1445 uint64_t reserved_13_15:3;
860 uint64_t n_post:5; 1446 uint64_t n_post:5;
861 uint64_t post:8; 1447 uint64_t post:8;
1448#else
1449 uint64_t post:8;
1450 uint64_t n_post:5;
1451 uint64_t reserved_13_15:3;
1452 uint64_t comp:8;
1453 uint64_t mbox:4;
1454 uint64_t reserved_28_39:12;
1455 uint64_t rtn_pr1:8;
1456 uint64_t rtn_pr2:8;
1457 uint64_t rtn_pr3:8;
1458#endif
862 } s; 1459 } s;
863 struct cvmx_sriox_rx_status_s cn63xx; 1460 struct cvmx_sriox_rx_status_s cn63xx;
864 struct cvmx_sriox_rx_status_s cn63xxp1; 1461 struct cvmx_sriox_rx_status_s cn63xxp1;
@@ -868,6 +1465,7 @@ union cvmx_sriox_rx_status {
868union cvmx_sriox_s2m_typex { 1465union cvmx_sriox_s2m_typex {
869 uint64_t u64; 1466 uint64_t u64;
870 struct cvmx_sriox_s2m_typex_s { 1467 struct cvmx_sriox_s2m_typex_s {
1468#ifdef __BIG_ENDIAN_BITFIELD
871 uint64_t reserved_19_63:45; 1469 uint64_t reserved_19_63:45;
872 uint64_t wr_op:3; 1470 uint64_t wr_op:3;
873 uint64_t reserved_15_15:1; 1471 uint64_t reserved_15_15:1;
@@ -879,6 +1477,19 @@ union cvmx_sriox_s2m_typex {
879 uint64_t id16:1; 1477 uint64_t id16:1;
880 uint64_t reserved_2_3:2; 1478 uint64_t reserved_2_3:2;
881 uint64_t iaow_sel:2; 1479 uint64_t iaow_sel:2;
1480#else
1481 uint64_t iaow_sel:2;
1482 uint64_t reserved_2_3:2;
1483 uint64_t id16:1;
1484 uint64_t src_id:1;
1485 uint64_t reserved_6_7:2;
1486 uint64_t rd_prior:2;
1487 uint64_t wr_prior:2;
1488 uint64_t rd_op:3;
1489 uint64_t reserved_15_15:1;
1490 uint64_t wr_op:3;
1491 uint64_t reserved_19_63:45;
1492#endif
882 } s; 1493 } s;
883 struct cvmx_sriox_s2m_typex_s cn63xx; 1494 struct cvmx_sriox_s2m_typex_s cn63xx;
884 struct cvmx_sriox_s2m_typex_s cn63xxp1; 1495 struct cvmx_sriox_s2m_typex_s cn63xxp1;
@@ -888,8 +1499,13 @@ union cvmx_sriox_s2m_typex {
888union cvmx_sriox_seq { 1499union cvmx_sriox_seq {
889 uint64_t u64; 1500 uint64_t u64;
890 struct cvmx_sriox_seq_s { 1501 struct cvmx_sriox_seq_s {
1502#ifdef __BIG_ENDIAN_BITFIELD
891 uint64_t reserved_32_63:32; 1503 uint64_t reserved_32_63:32;
892 uint64_t seq:32; 1504 uint64_t seq:32;
1505#else
1506 uint64_t seq:32;
1507 uint64_t reserved_32_63:32;
1508#endif
893 } s; 1509 } s;
894 struct cvmx_sriox_seq_s cn63xx; 1510 struct cvmx_sriox_seq_s cn63xx;
895 struct cvmx_sriox_seq_s cn63xxp1; 1511 struct cvmx_sriox_seq_s cn63xxp1;
@@ -899,9 +1515,15 @@ union cvmx_sriox_seq {
899union cvmx_sriox_status_reg { 1515union cvmx_sriox_status_reg {
900 uint64_t u64; 1516 uint64_t u64;
901 struct cvmx_sriox_status_reg_s { 1517 struct cvmx_sriox_status_reg_s {
1518#ifdef __BIG_ENDIAN_BITFIELD
902 uint64_t reserved_2_63:62; 1519 uint64_t reserved_2_63:62;
903 uint64_t access:1; 1520 uint64_t access:1;
904 uint64_t srio:1; 1521 uint64_t srio:1;
1522#else
1523 uint64_t srio:1;
1524 uint64_t access:1;
1525 uint64_t reserved_2_63:62;
1526#endif
905 } s; 1527 } s;
906 struct cvmx_sriox_status_reg_s cn63xx; 1528 struct cvmx_sriox_status_reg_s cn63xx;
907 struct cvmx_sriox_status_reg_s cn63xxp1; 1529 struct cvmx_sriox_status_reg_s cn63xxp1;
@@ -911,12 +1533,21 @@ union cvmx_sriox_status_reg {
911union cvmx_sriox_tag_ctrl { 1533union cvmx_sriox_tag_ctrl {
912 uint64_t u64; 1534 uint64_t u64;
913 struct cvmx_sriox_tag_ctrl_s { 1535 struct cvmx_sriox_tag_ctrl_s {
1536#ifdef __BIG_ENDIAN_BITFIELD
914 uint64_t reserved_17_63:47; 1537 uint64_t reserved_17_63:47;
915 uint64_t o_clr:1; 1538 uint64_t o_clr:1;
916 uint64_t reserved_13_15:3; 1539 uint64_t reserved_13_15:3;
917 uint64_t otag:5; 1540 uint64_t otag:5;
918 uint64_t reserved_5_7:3; 1541 uint64_t reserved_5_7:3;
919 uint64_t itag:5; 1542 uint64_t itag:5;
1543#else
1544 uint64_t itag:5;
1545 uint64_t reserved_5_7:3;
1546 uint64_t otag:5;
1547 uint64_t reserved_13_15:3;
1548 uint64_t o_clr:1;
1549 uint64_t reserved_17_63:47;
1550#endif
920 } s; 1551 } s;
921 struct cvmx_sriox_tag_ctrl_s cn63xx; 1552 struct cvmx_sriox_tag_ctrl_s cn63xx;
922 struct cvmx_sriox_tag_ctrl_s cn63xxp1; 1553 struct cvmx_sriox_tag_ctrl_s cn63xxp1;
@@ -926,12 +1557,21 @@ union cvmx_sriox_tag_ctrl {
926union cvmx_sriox_tlp_credits { 1557union cvmx_sriox_tlp_credits {
927 uint64_t u64; 1558 uint64_t u64;
928 struct cvmx_sriox_tlp_credits_s { 1559 struct cvmx_sriox_tlp_credits_s {
1560#ifdef __BIG_ENDIAN_BITFIELD
929 uint64_t reserved_28_63:36; 1561 uint64_t reserved_28_63:36;
930 uint64_t mbox:4; 1562 uint64_t mbox:4;
931 uint64_t comp:8; 1563 uint64_t comp:8;
932 uint64_t reserved_13_15:3; 1564 uint64_t reserved_13_15:3;
933 uint64_t n_post:5; 1565 uint64_t n_post:5;
934 uint64_t post:8; 1566 uint64_t post:8;
1567#else
1568 uint64_t post:8;
1569 uint64_t n_post:5;
1570 uint64_t reserved_13_15:3;
1571 uint64_t comp:8;
1572 uint64_t mbox:4;
1573 uint64_t reserved_28_63:36;
1574#endif
935 } s; 1575 } s;
936 struct cvmx_sriox_tlp_credits_s cn63xx; 1576 struct cvmx_sriox_tlp_credits_s cn63xx;
937 struct cvmx_sriox_tlp_credits_s cn63xxp1; 1577 struct cvmx_sriox_tlp_credits_s cn63xxp1;
@@ -941,6 +1581,7 @@ union cvmx_sriox_tlp_credits {
941union cvmx_sriox_tx_bell { 1581union cvmx_sriox_tx_bell {
942 uint64_t u64; 1582 uint64_t u64;
943 struct cvmx_sriox_tx_bell_s { 1583 struct cvmx_sriox_tx_bell_s {
1584#ifdef __BIG_ENDIAN_BITFIELD
944 uint64_t reserved_48_63:16; 1585 uint64_t reserved_48_63:16;
945 uint64_t data:16; 1586 uint64_t data:16;
946 uint64_t dest_id:16; 1587 uint64_t dest_id:16;
@@ -951,6 +1592,18 @@ union cvmx_sriox_tx_bell {
951 uint64_t id16:1; 1592 uint64_t id16:1;
952 uint64_t reserved_2_2:1; 1593 uint64_t reserved_2_2:1;
953 uint64_t priority:2; 1594 uint64_t priority:2;
1595#else
1596 uint64_t priority:2;
1597 uint64_t reserved_2_2:1;
1598 uint64_t id16:1;
1599 uint64_t src_id:1;
1600 uint64_t reserved_5_7:3;
1601 uint64_t pending:1;
1602 uint64_t reserved_9_15:7;
1603 uint64_t dest_id:16;
1604 uint64_t data:16;
1605 uint64_t reserved_48_63:16;
1606#endif
954 } s; 1607 } s;
955 struct cvmx_sriox_tx_bell_s cn63xx; 1608 struct cvmx_sriox_tx_bell_s cn63xx;
956 struct cvmx_sriox_tx_bell_s cn63xxp1; 1609 struct cvmx_sriox_tx_bell_s cn63xxp1;
@@ -960,6 +1613,7 @@ union cvmx_sriox_tx_bell {
960union cvmx_sriox_tx_bell_info { 1613union cvmx_sriox_tx_bell_info {
961 uint64_t u64; 1614 uint64_t u64;
962 struct cvmx_sriox_tx_bell_info_s { 1615 struct cvmx_sriox_tx_bell_info_s {
1616#ifdef __BIG_ENDIAN_BITFIELD
963 uint64_t reserved_48_63:16; 1617 uint64_t reserved_48_63:16;
964 uint64_t data:16; 1618 uint64_t data:16;
965 uint64_t dest_id:16; 1619 uint64_t dest_id:16;
@@ -971,6 +1625,19 @@ union cvmx_sriox_tx_bell_info {
971 uint64_t id16:1; 1625 uint64_t id16:1;
972 uint64_t reserved_2_2:1; 1626 uint64_t reserved_2_2:1;
973 uint64_t priority:2; 1627 uint64_t priority:2;
1628#else
1629 uint64_t priority:2;
1630 uint64_t reserved_2_2:1;
1631 uint64_t id16:1;
1632 uint64_t src_id:1;
1633 uint64_t retry:1;
1634 uint64_t error:1;
1635 uint64_t timeout:1;
1636 uint64_t reserved_8_15:8;
1637 uint64_t dest_id:16;
1638 uint64_t data:16;
1639 uint64_t reserved_48_63:16;
1640#endif
974 } s; 1641 } s;
975 struct cvmx_sriox_tx_bell_info_s cn63xx; 1642 struct cvmx_sriox_tx_bell_info_s cn63xx;
976 struct cvmx_sriox_tx_bell_info_s cn63xxp1; 1643 struct cvmx_sriox_tx_bell_info_s cn63xxp1;
@@ -980,6 +1647,7 @@ union cvmx_sriox_tx_bell_info {
980union cvmx_sriox_tx_ctrl { 1647union cvmx_sriox_tx_ctrl {
981 uint64_t u64; 1648 uint64_t u64;
982 struct cvmx_sriox_tx_ctrl_s { 1649 struct cvmx_sriox_tx_ctrl_s {
1650#ifdef __BIG_ENDIAN_BITFIELD
983 uint64_t reserved_53_63:11; 1651 uint64_t reserved_53_63:11;
984 uint64_t tag_th2:5; 1652 uint64_t tag_th2:5;
985 uint64_t reserved_45_47:3; 1653 uint64_t reserved_45_47:3;
@@ -992,6 +1660,20 @@ union cvmx_sriox_tx_ctrl {
992 uint64_t tx_th1:4; 1660 uint64_t tx_th1:4;
993 uint64_t reserved_4_7:4; 1661 uint64_t reserved_4_7:4;
994 uint64_t tx_th0:4; 1662 uint64_t tx_th0:4;
1663#else
1664 uint64_t tx_th0:4;
1665 uint64_t reserved_4_7:4;
1666 uint64_t tx_th1:4;
1667 uint64_t reserved_12_15:4;
1668 uint64_t tx_th2:4;
1669 uint64_t reserved_20_31:12;
1670 uint64_t tag_th0:5;
1671 uint64_t reserved_37_39:3;
1672 uint64_t tag_th1:5;
1673 uint64_t reserved_45_47:3;
1674 uint64_t tag_th2:5;
1675 uint64_t reserved_53_63:11;
1676#endif
995 } s; 1677 } s;
996 struct cvmx_sriox_tx_ctrl_s cn63xx; 1678 struct cvmx_sriox_tx_ctrl_s cn63xx;
997 struct cvmx_sriox_tx_ctrl_s cn63xxp1; 1679 struct cvmx_sriox_tx_ctrl_s cn63xxp1;
@@ -1001,8 +1683,13 @@ union cvmx_sriox_tx_ctrl {
1001union cvmx_sriox_tx_emphasis { 1683union cvmx_sriox_tx_emphasis {
1002 uint64_t u64; 1684 uint64_t u64;
1003 struct cvmx_sriox_tx_emphasis_s { 1685 struct cvmx_sriox_tx_emphasis_s {
1686#ifdef __BIG_ENDIAN_BITFIELD
1004 uint64_t reserved_4_63:60; 1687 uint64_t reserved_4_63:60;
1005 uint64_t emph:4; 1688 uint64_t emph:4;
1689#else
1690 uint64_t emph:4;
1691 uint64_t reserved_4_63:60;
1692#endif
1006 } s; 1693 } s;
1007 struct cvmx_sriox_tx_emphasis_s cn63xx; 1694 struct cvmx_sriox_tx_emphasis_s cn63xx;
1008 struct cvmx_sriox_tx_emphasis_s cn66xx; 1695 struct cvmx_sriox_tx_emphasis_s cn66xx;
@@ -1011,11 +1698,19 @@ union cvmx_sriox_tx_emphasis {
1011union cvmx_sriox_tx_status { 1698union cvmx_sriox_tx_status {
1012 uint64_t u64; 1699 uint64_t u64;
1013 struct cvmx_sriox_tx_status_s { 1700 struct cvmx_sriox_tx_status_s {
1701#ifdef __BIG_ENDIAN_BITFIELD
1014 uint64_t reserved_32_63:32; 1702 uint64_t reserved_32_63:32;
1015 uint64_t s2m_pr3:8; 1703 uint64_t s2m_pr3:8;
1016 uint64_t s2m_pr2:8; 1704 uint64_t s2m_pr2:8;
1017 uint64_t s2m_pr1:8; 1705 uint64_t s2m_pr1:8;
1018 uint64_t s2m_pr0:8; 1706 uint64_t s2m_pr0:8;
1707#else
1708 uint64_t s2m_pr0:8;
1709 uint64_t s2m_pr1:8;
1710 uint64_t s2m_pr2:8;
1711 uint64_t s2m_pr3:8;
1712 uint64_t reserved_32_63:32;
1713#endif
1019 } s; 1714 } s;
1020 struct cvmx_sriox_tx_status_s cn63xx; 1715 struct cvmx_sriox_tx_status_s cn63xx;
1021 struct cvmx_sriox_tx_status_s cn63xxp1; 1716 struct cvmx_sriox_tx_status_s cn63xxp1;
@@ -1025,9 +1720,15 @@ union cvmx_sriox_tx_status {
1025union cvmx_sriox_wr_done_counts { 1720union cvmx_sriox_wr_done_counts {
1026 uint64_t u64; 1721 uint64_t u64;
1027 struct cvmx_sriox_wr_done_counts_s { 1722 struct cvmx_sriox_wr_done_counts_s {
1723#ifdef __BIG_ENDIAN_BITFIELD
1028 uint64_t reserved_32_63:32; 1724 uint64_t reserved_32_63:32;
1029 uint64_t bad:16; 1725 uint64_t bad:16;
1030 uint64_t good:16; 1726 uint64_t good:16;
1727#else
1728 uint64_t good:16;
1729 uint64_t bad:16;
1730 uint64_t reserved_32_63:32;
1731#endif
1031 } s; 1732 } s;
1032 struct cvmx_sriox_wr_done_counts_s cn63xx; 1733 struct cvmx_sriox_wr_done_counts_s cn63xx;
1033 struct cvmx_sriox_wr_done_counts_s cn66xx; 1734 struct cvmx_sriox_wr_done_counts_s cn66xx;
diff --git a/arch/mips/include/asm/octeon/cvmx-srxx-defs.h b/arch/mips/include/asm/octeon/cvmx-srxx-defs.h
index d82b366c279f..c98e625cd4ed 100644
--- a/arch/mips/include/asm/octeon/cvmx-srxx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-srxx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,27 +28,29 @@
28#ifndef __CVMX_SRXX_DEFS_H__ 28#ifndef __CVMX_SRXX_DEFS_H__
29#define __CVMX_SRXX_DEFS_H__ 29#define __CVMX_SRXX_DEFS_H__
30 30
31#define CVMX_SRXX_COM_CTL(block_id) \ 31#define CVMX_SRXX_COM_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000200ull) + ((block_id) & 1) * 0x8000000ull)
32 CVMX_ADD_IO_SEG(0x0001180090000200ull + (((block_id) & 1) * 0x8000000ull)) 32#define CVMX_SRXX_IGN_RX_FULL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000218ull) + ((block_id) & 1) * 0x8000000ull)
33#define CVMX_SRXX_IGN_RX_FULL(block_id) \ 33#define CVMX_SRXX_SPI4_CALX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180090000000ull) + (((offset) & 31) + ((block_id) & 1) * 0x1000000ull) * 8)
34 CVMX_ADD_IO_SEG(0x0001180090000218ull + (((block_id) & 1) * 0x8000000ull)) 34#define CVMX_SRXX_SPI4_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000208ull) + ((block_id) & 1) * 0x8000000ull)
35#define CVMX_SRXX_SPI4_CALX(offset, block_id) \ 35#define CVMX_SRXX_SW_TICK_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000220ull) + ((block_id) & 1) * 0x8000000ull)
36 CVMX_ADD_IO_SEG(0x0001180090000000ull + (((offset) & 31) * 8) + (((block_id) & 1) * 0x8000000ull)) 36#define CVMX_SRXX_SW_TICK_DAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000228ull) + ((block_id) & 1) * 0x8000000ull)
37#define CVMX_SRXX_SPI4_STAT(block_id) \
38 CVMX_ADD_IO_SEG(0x0001180090000208ull + (((block_id) & 1) * 0x8000000ull))
39#define CVMX_SRXX_SW_TICK_CTL(block_id) \
40 CVMX_ADD_IO_SEG(0x0001180090000220ull + (((block_id) & 1) * 0x8000000ull))
41#define CVMX_SRXX_SW_TICK_DAT(block_id) \
42 CVMX_ADD_IO_SEG(0x0001180090000228ull + (((block_id) & 1) * 0x8000000ull))
43 37
44union cvmx_srxx_com_ctl { 38union cvmx_srxx_com_ctl {
45 uint64_t u64; 39 uint64_t u64;
46 struct cvmx_srxx_com_ctl_s { 40 struct cvmx_srxx_com_ctl_s {
41#ifdef __BIG_ENDIAN_BITFIELD
47 uint64_t reserved_8_63:56; 42 uint64_t reserved_8_63:56;
48 uint64_t prts:4; 43 uint64_t prts:4;
49 uint64_t st_en:1; 44 uint64_t st_en:1;
50 uint64_t reserved_1_2:2; 45 uint64_t reserved_1_2:2;
51 uint64_t inf_en:1; 46 uint64_t inf_en:1;
47#else
48 uint64_t inf_en:1;
49 uint64_t reserved_1_2:2;
50 uint64_t st_en:1;
51 uint64_t prts:4;
52 uint64_t reserved_8_63:56;
53#endif
52 } s; 54 } s;
53 struct cvmx_srxx_com_ctl_s cn38xx; 55 struct cvmx_srxx_com_ctl_s cn38xx;
54 struct cvmx_srxx_com_ctl_s cn38xxp2; 56 struct cvmx_srxx_com_ctl_s cn38xxp2;
@@ -59,8 +61,13 @@ union cvmx_srxx_com_ctl {
59union cvmx_srxx_ign_rx_full { 61union cvmx_srxx_ign_rx_full {
60 uint64_t u64; 62 uint64_t u64;
61 struct cvmx_srxx_ign_rx_full_s { 63 struct cvmx_srxx_ign_rx_full_s {
64#ifdef __BIG_ENDIAN_BITFIELD
62 uint64_t reserved_16_63:48; 65 uint64_t reserved_16_63:48;
63 uint64_t ignore:16; 66 uint64_t ignore:16;
67#else
68 uint64_t ignore:16;
69 uint64_t reserved_16_63:48;
70#endif
64 } s; 71 } s;
65 struct cvmx_srxx_ign_rx_full_s cn38xx; 72 struct cvmx_srxx_ign_rx_full_s cn38xx;
66 struct cvmx_srxx_ign_rx_full_s cn38xxp2; 73 struct cvmx_srxx_ign_rx_full_s cn38xxp2;
@@ -71,12 +78,21 @@ union cvmx_srxx_ign_rx_full {
71union cvmx_srxx_spi4_calx { 78union cvmx_srxx_spi4_calx {
72 uint64_t u64; 79 uint64_t u64;
73 struct cvmx_srxx_spi4_calx_s { 80 struct cvmx_srxx_spi4_calx_s {
81#ifdef __BIG_ENDIAN_BITFIELD
74 uint64_t reserved_17_63:47; 82 uint64_t reserved_17_63:47;
75 uint64_t oddpar:1; 83 uint64_t oddpar:1;
76 uint64_t prt3:4; 84 uint64_t prt3:4;
77 uint64_t prt2:4; 85 uint64_t prt2:4;
78 uint64_t prt1:4; 86 uint64_t prt1:4;
79 uint64_t prt0:4; 87 uint64_t prt0:4;
88#else
89 uint64_t prt0:4;
90 uint64_t prt1:4;
91 uint64_t prt2:4;
92 uint64_t prt3:4;
93 uint64_t oddpar:1;
94 uint64_t reserved_17_63:47;
95#endif
80 } s; 96 } s;
81 struct cvmx_srxx_spi4_calx_s cn38xx; 97 struct cvmx_srxx_spi4_calx_s cn38xx;
82 struct cvmx_srxx_spi4_calx_s cn38xxp2; 98 struct cvmx_srxx_spi4_calx_s cn38xxp2;
@@ -87,10 +103,17 @@ union cvmx_srxx_spi4_calx {
87union cvmx_srxx_spi4_stat { 103union cvmx_srxx_spi4_stat {
88 uint64_t u64; 104 uint64_t u64;
89 struct cvmx_srxx_spi4_stat_s { 105 struct cvmx_srxx_spi4_stat_s {
106#ifdef __BIG_ENDIAN_BITFIELD
90 uint64_t reserved_16_63:48; 107 uint64_t reserved_16_63:48;
91 uint64_t m:8; 108 uint64_t m:8;
92 uint64_t reserved_7_7:1; 109 uint64_t reserved_7_7:1;
93 uint64_t len:7; 110 uint64_t len:7;
111#else
112 uint64_t len:7;
113 uint64_t reserved_7_7:1;
114 uint64_t m:8;
115 uint64_t reserved_16_63:48;
116#endif
94 } s; 117 } s;
95 struct cvmx_srxx_spi4_stat_s cn38xx; 118 struct cvmx_srxx_spi4_stat_s cn38xx;
96 struct cvmx_srxx_spi4_stat_s cn38xxp2; 119 struct cvmx_srxx_spi4_stat_s cn38xxp2;
@@ -101,12 +124,21 @@ union cvmx_srxx_spi4_stat {
101union cvmx_srxx_sw_tick_ctl { 124union cvmx_srxx_sw_tick_ctl {
102 uint64_t u64; 125 uint64_t u64;
103 struct cvmx_srxx_sw_tick_ctl_s { 126 struct cvmx_srxx_sw_tick_ctl_s {
127#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_14_63:50; 128 uint64_t reserved_14_63:50;
105 uint64_t eop:1; 129 uint64_t eop:1;
106 uint64_t sop:1; 130 uint64_t sop:1;
107 uint64_t mod:4; 131 uint64_t mod:4;
108 uint64_t opc:4; 132 uint64_t opc:4;
109 uint64_t adr:4; 133 uint64_t adr:4;
134#else
135 uint64_t adr:4;
136 uint64_t opc:4;
137 uint64_t mod:4;
138 uint64_t sop:1;
139 uint64_t eop:1;
140 uint64_t reserved_14_63:50;
141#endif
110 } s; 142 } s;
111 struct cvmx_srxx_sw_tick_ctl_s cn38xx; 143 struct cvmx_srxx_sw_tick_ctl_s cn38xx;
112 struct cvmx_srxx_sw_tick_ctl_s cn58xx; 144 struct cvmx_srxx_sw_tick_ctl_s cn58xx;
@@ -116,7 +148,11 @@ union cvmx_srxx_sw_tick_ctl {
116union cvmx_srxx_sw_tick_dat { 148union cvmx_srxx_sw_tick_dat {
117 uint64_t u64; 149 uint64_t u64;
118 struct cvmx_srxx_sw_tick_dat_s { 150 struct cvmx_srxx_sw_tick_dat_s {
151#ifdef __BIG_ENDIAN_BITFIELD
152 uint64_t dat:64;
153#else
119 uint64_t dat:64; 154 uint64_t dat:64;
155#endif
120 } s; 156 } s;
121 struct cvmx_srxx_sw_tick_dat_s cn38xx; 157 struct cvmx_srxx_sw_tick_dat_s cn38xx;
122 struct cvmx_srxx_sw_tick_dat_s cn58xx; 158 struct cvmx_srxx_sw_tick_dat_s cn58xx;
diff --git a/arch/mips/include/asm/octeon/cvmx-stxx-defs.h b/arch/mips/include/asm/octeon/cvmx-stxx-defs.h
index 4f209b62cae1..146354005d3b 100644
--- a/arch/mips/include/asm/octeon/cvmx-stxx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-stxx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2008 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -28,47 +28,39 @@
28#ifndef __CVMX_STXX_DEFS_H__ 28#ifndef __CVMX_STXX_DEFS_H__
29#define __CVMX_STXX_DEFS_H__ 29#define __CVMX_STXX_DEFS_H__
30 30
31#define CVMX_STXX_ARB_CTL(block_id) \ 31#define CVMX_STXX_ARB_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000608ull) + ((block_id) & 1) * 0x8000000ull)
32 CVMX_ADD_IO_SEG(0x0001180090000608ull + (((block_id) & 1) * 0x8000000ull)) 32#define CVMX_STXX_BCKPRS_CNT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000688ull) + ((block_id) & 1) * 0x8000000ull)
33#define CVMX_STXX_BCKPRS_CNT(block_id) \ 33#define CVMX_STXX_COM_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000600ull) + ((block_id) & 1) * 0x8000000ull)
34 CVMX_ADD_IO_SEG(0x0001180090000688ull + (((block_id) & 1) * 0x8000000ull)) 34#define CVMX_STXX_DIP_CNT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000690ull) + ((block_id) & 1) * 0x8000000ull)
35#define CVMX_STXX_COM_CTL(block_id) \ 35#define CVMX_STXX_IGN_CAL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000610ull) + ((block_id) & 1) * 0x8000000ull)
36 CVMX_ADD_IO_SEG(0x0001180090000600ull + (((block_id) & 1) * 0x8000000ull)) 36#define CVMX_STXX_INT_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800900006A0ull) + ((block_id) & 1) * 0x8000000ull)
37#define CVMX_STXX_DIP_CNT(block_id) \ 37#define CVMX_STXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x0001180090000698ull) + ((block_id) & 1) * 0x8000000ull)
38 CVMX_ADD_IO_SEG(0x0001180090000690ull + (((block_id) & 1) * 0x8000000ull)) 38#define CVMX_STXX_INT_SYNC(block_id) (CVMX_ADD_IO_SEG(0x00011800900006A8ull) + ((block_id) & 1) * 0x8000000ull)
39#define CVMX_STXX_IGN_CAL(block_id) \ 39#define CVMX_STXX_MIN_BST(block_id) (CVMX_ADD_IO_SEG(0x0001180090000618ull) + ((block_id) & 1) * 0x8000000ull)
40 CVMX_ADD_IO_SEG(0x0001180090000610ull + (((block_id) & 1) * 0x8000000ull)) 40#define CVMX_STXX_SPI4_CALX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180090000400ull) + (((offset) & 31) + ((block_id) & 1) * 0x1000000ull) * 8)
41#define CVMX_STXX_INT_MSK(block_id) \ 41#define CVMX_STXX_SPI4_DAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000628ull) + ((block_id) & 1) * 0x8000000ull)
42 CVMX_ADD_IO_SEG(0x00011800900006A0ull + (((block_id) & 1) * 0x8000000ull)) 42#define CVMX_STXX_SPI4_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000630ull) + ((block_id) & 1) * 0x8000000ull)
43#define CVMX_STXX_INT_REG(block_id) \ 43#define CVMX_STXX_STAT_BYTES_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180090000648ull) + ((block_id) & 1) * 0x8000000ull)
44 CVMX_ADD_IO_SEG(0x0001180090000698ull + (((block_id) & 1) * 0x8000000ull)) 44#define CVMX_STXX_STAT_BYTES_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180090000680ull) + ((block_id) & 1) * 0x8000000ull)
45#define CVMX_STXX_INT_SYNC(block_id) \ 45#define CVMX_STXX_STAT_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000638ull) + ((block_id) & 1) * 0x8000000ull)
46 CVMX_ADD_IO_SEG(0x00011800900006A8ull + (((block_id) & 1) * 0x8000000ull)) 46#define CVMX_STXX_STAT_PKT_XMT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000640ull) + ((block_id) & 1) * 0x8000000ull)
47#define CVMX_STXX_MIN_BST(block_id) \
48 CVMX_ADD_IO_SEG(0x0001180090000618ull + (((block_id) & 1) * 0x8000000ull))
49#define CVMX_STXX_SPI4_CALX(offset, block_id) \
50 CVMX_ADD_IO_SEG(0x0001180090000400ull + (((offset) & 31) * 8) + (((block_id) & 1) * 0x8000000ull))
51#define CVMX_STXX_SPI4_DAT(block_id) \
52 CVMX_ADD_IO_SEG(0x0001180090000628ull + (((block_id) & 1) * 0x8000000ull))
53#define CVMX_STXX_SPI4_STAT(block_id) \
54 CVMX_ADD_IO_SEG(0x0001180090000630ull + (((block_id) & 1) * 0x8000000ull))
55#define CVMX_STXX_STAT_BYTES_HI(block_id) \
56 CVMX_ADD_IO_SEG(0x0001180090000648ull + (((block_id) & 1) * 0x8000000ull))
57#define CVMX_STXX_STAT_BYTES_LO(block_id) \
58 CVMX_ADD_IO_SEG(0x0001180090000680ull + (((block_id) & 1) * 0x8000000ull))
59#define CVMX_STXX_STAT_CTL(block_id) \
60 CVMX_ADD_IO_SEG(0x0001180090000638ull + (((block_id) & 1) * 0x8000000ull))
61#define CVMX_STXX_STAT_PKT_XMT(block_id) \
62 CVMX_ADD_IO_SEG(0x0001180090000640ull + (((block_id) & 1) * 0x8000000ull))
63 47
64union cvmx_stxx_arb_ctl { 48union cvmx_stxx_arb_ctl {
65 uint64_t u64; 49 uint64_t u64;
66 struct cvmx_stxx_arb_ctl_s { 50 struct cvmx_stxx_arb_ctl_s {
51#ifdef __BIG_ENDIAN_BITFIELD
67 uint64_t reserved_6_63:58; 52 uint64_t reserved_6_63:58;
68 uint64_t mintrn:1; 53 uint64_t mintrn:1;
69 uint64_t reserved_4_4:1; 54 uint64_t reserved_4_4:1;
70 uint64_t igntpa:1; 55 uint64_t igntpa:1;
71 uint64_t reserved_0_2:3; 56 uint64_t reserved_0_2:3;
57#else
58 uint64_t reserved_0_2:3;
59 uint64_t igntpa:1;
60 uint64_t reserved_4_4:1;
61 uint64_t mintrn:1;
62 uint64_t reserved_6_63:58;
63#endif
72 } s; 64 } s;
73 struct cvmx_stxx_arb_ctl_s cn38xx; 65 struct cvmx_stxx_arb_ctl_s cn38xx;
74 struct cvmx_stxx_arb_ctl_s cn38xxp2; 66 struct cvmx_stxx_arb_ctl_s cn38xxp2;
@@ -79,8 +71,13 @@ union cvmx_stxx_arb_ctl {
79union cvmx_stxx_bckprs_cnt { 71union cvmx_stxx_bckprs_cnt {
80 uint64_t u64; 72 uint64_t u64;
81 struct cvmx_stxx_bckprs_cnt_s { 73 struct cvmx_stxx_bckprs_cnt_s {
74#ifdef __BIG_ENDIAN_BITFIELD
82 uint64_t reserved_32_63:32; 75 uint64_t reserved_32_63:32;
83 uint64_t cnt:32; 76 uint64_t cnt:32;
77#else
78 uint64_t cnt:32;
79 uint64_t reserved_32_63:32;
80#endif
84 } s; 81 } s;
85 struct cvmx_stxx_bckprs_cnt_s cn38xx; 82 struct cvmx_stxx_bckprs_cnt_s cn38xx;
86 struct cvmx_stxx_bckprs_cnt_s cn38xxp2; 83 struct cvmx_stxx_bckprs_cnt_s cn38xxp2;
@@ -91,10 +88,17 @@ union cvmx_stxx_bckprs_cnt {
91union cvmx_stxx_com_ctl { 88union cvmx_stxx_com_ctl {
92 uint64_t u64; 89 uint64_t u64;
93 struct cvmx_stxx_com_ctl_s { 90 struct cvmx_stxx_com_ctl_s {
91#ifdef __BIG_ENDIAN_BITFIELD
94 uint64_t reserved_4_63:60; 92 uint64_t reserved_4_63:60;
95 uint64_t st_en:1; 93 uint64_t st_en:1;
96 uint64_t reserved_1_2:2; 94 uint64_t reserved_1_2:2;
97 uint64_t inf_en:1; 95 uint64_t inf_en:1;
96#else
97 uint64_t inf_en:1;
98 uint64_t reserved_1_2:2;
99 uint64_t st_en:1;
100 uint64_t reserved_4_63:60;
101#endif
98 } s; 102 } s;
99 struct cvmx_stxx_com_ctl_s cn38xx; 103 struct cvmx_stxx_com_ctl_s cn38xx;
100 struct cvmx_stxx_com_ctl_s cn38xxp2; 104 struct cvmx_stxx_com_ctl_s cn38xxp2;
@@ -105,9 +109,15 @@ union cvmx_stxx_com_ctl {
105union cvmx_stxx_dip_cnt { 109union cvmx_stxx_dip_cnt {
106 uint64_t u64; 110 uint64_t u64;
107 struct cvmx_stxx_dip_cnt_s { 111 struct cvmx_stxx_dip_cnt_s {
112#ifdef __BIG_ENDIAN_BITFIELD
108 uint64_t reserved_8_63:56; 113 uint64_t reserved_8_63:56;
109 uint64_t frmmax:4; 114 uint64_t frmmax:4;
110 uint64_t dipmax:4; 115 uint64_t dipmax:4;
116#else
117 uint64_t dipmax:4;
118 uint64_t frmmax:4;
119 uint64_t reserved_8_63:56;
120#endif
111 } s; 121 } s;
112 struct cvmx_stxx_dip_cnt_s cn38xx; 122 struct cvmx_stxx_dip_cnt_s cn38xx;
113 struct cvmx_stxx_dip_cnt_s cn38xxp2; 123 struct cvmx_stxx_dip_cnt_s cn38xxp2;
@@ -118,8 +128,13 @@ union cvmx_stxx_dip_cnt {
118union cvmx_stxx_ign_cal { 128union cvmx_stxx_ign_cal {
119 uint64_t u64; 129 uint64_t u64;
120 struct cvmx_stxx_ign_cal_s { 130 struct cvmx_stxx_ign_cal_s {
131#ifdef __BIG_ENDIAN_BITFIELD
121 uint64_t reserved_16_63:48; 132 uint64_t reserved_16_63:48;
122 uint64_t igntpa:16; 133 uint64_t igntpa:16;
134#else
135 uint64_t igntpa:16;
136 uint64_t reserved_16_63:48;
137#endif
123 } s; 138 } s;
124 struct cvmx_stxx_ign_cal_s cn38xx; 139 struct cvmx_stxx_ign_cal_s cn38xx;
125 struct cvmx_stxx_ign_cal_s cn38xxp2; 140 struct cvmx_stxx_ign_cal_s cn38xxp2;
@@ -130,6 +145,7 @@ union cvmx_stxx_ign_cal {
130union cvmx_stxx_int_msk { 145union cvmx_stxx_int_msk {
131 uint64_t u64; 146 uint64_t u64;
132 struct cvmx_stxx_int_msk_s { 147 struct cvmx_stxx_int_msk_s {
148#ifdef __BIG_ENDIAN_BITFIELD
133 uint64_t reserved_8_63:56; 149 uint64_t reserved_8_63:56;
134 uint64_t frmerr:1; 150 uint64_t frmerr:1;
135 uint64_t unxfrm:1; 151 uint64_t unxfrm:1;
@@ -139,6 +155,17 @@ union cvmx_stxx_int_msk {
139 uint64_t ovrbst:1; 155 uint64_t ovrbst:1;
140 uint64_t calpar1:1; 156 uint64_t calpar1:1;
141 uint64_t calpar0:1; 157 uint64_t calpar0:1;
158#else
159 uint64_t calpar0:1;
160 uint64_t calpar1:1;
161 uint64_t ovrbst:1;
162 uint64_t datovr:1;
163 uint64_t diperr:1;
164 uint64_t nosync:1;
165 uint64_t unxfrm:1;
166 uint64_t frmerr:1;
167 uint64_t reserved_8_63:56;
168#endif
142 } s; 169 } s;
143 struct cvmx_stxx_int_msk_s cn38xx; 170 struct cvmx_stxx_int_msk_s cn38xx;
144 struct cvmx_stxx_int_msk_s cn38xxp2; 171 struct cvmx_stxx_int_msk_s cn38xxp2;
@@ -149,6 +176,7 @@ union cvmx_stxx_int_msk {
149union cvmx_stxx_int_reg { 176union cvmx_stxx_int_reg {
150 uint64_t u64; 177 uint64_t u64;
151 struct cvmx_stxx_int_reg_s { 178 struct cvmx_stxx_int_reg_s {
179#ifdef __BIG_ENDIAN_BITFIELD
152 uint64_t reserved_9_63:55; 180 uint64_t reserved_9_63:55;
153 uint64_t syncerr:1; 181 uint64_t syncerr:1;
154 uint64_t frmerr:1; 182 uint64_t frmerr:1;
@@ -159,6 +187,18 @@ union cvmx_stxx_int_reg {
159 uint64_t ovrbst:1; 187 uint64_t ovrbst:1;
160 uint64_t calpar1:1; 188 uint64_t calpar1:1;
161 uint64_t calpar0:1; 189 uint64_t calpar0:1;
190#else
191 uint64_t calpar0:1;
192 uint64_t calpar1:1;
193 uint64_t ovrbst:1;
194 uint64_t datovr:1;
195 uint64_t diperr:1;
196 uint64_t nosync:1;
197 uint64_t unxfrm:1;
198 uint64_t frmerr:1;
199 uint64_t syncerr:1;
200 uint64_t reserved_9_63:55;
201#endif
162 } s; 202 } s;
163 struct cvmx_stxx_int_reg_s cn38xx; 203 struct cvmx_stxx_int_reg_s cn38xx;
164 struct cvmx_stxx_int_reg_s cn38xxp2; 204 struct cvmx_stxx_int_reg_s cn38xxp2;
@@ -169,6 +209,7 @@ union cvmx_stxx_int_reg {
169union cvmx_stxx_int_sync { 209union cvmx_stxx_int_sync {
170 uint64_t u64; 210 uint64_t u64;
171 struct cvmx_stxx_int_sync_s { 211 struct cvmx_stxx_int_sync_s {
212#ifdef __BIG_ENDIAN_BITFIELD
172 uint64_t reserved_8_63:56; 213 uint64_t reserved_8_63:56;
173 uint64_t frmerr:1; 214 uint64_t frmerr:1;
174 uint64_t unxfrm:1; 215 uint64_t unxfrm:1;
@@ -178,6 +219,17 @@ union cvmx_stxx_int_sync {
178 uint64_t ovrbst:1; 219 uint64_t ovrbst:1;
179 uint64_t calpar1:1; 220 uint64_t calpar1:1;
180 uint64_t calpar0:1; 221 uint64_t calpar0:1;
222#else
223 uint64_t calpar0:1;
224 uint64_t calpar1:1;
225 uint64_t ovrbst:1;
226 uint64_t datovr:1;
227 uint64_t diperr:1;
228 uint64_t nosync:1;
229 uint64_t unxfrm:1;
230 uint64_t frmerr:1;
231 uint64_t reserved_8_63:56;
232#endif
181 } s; 233 } s;
182 struct cvmx_stxx_int_sync_s cn38xx; 234 struct cvmx_stxx_int_sync_s cn38xx;
183 struct cvmx_stxx_int_sync_s cn38xxp2; 235 struct cvmx_stxx_int_sync_s cn38xxp2;
@@ -188,8 +240,13 @@ union cvmx_stxx_int_sync {
188union cvmx_stxx_min_bst { 240union cvmx_stxx_min_bst {
189 uint64_t u64; 241 uint64_t u64;
190 struct cvmx_stxx_min_bst_s { 242 struct cvmx_stxx_min_bst_s {
243#ifdef __BIG_ENDIAN_BITFIELD
191 uint64_t reserved_9_63:55; 244 uint64_t reserved_9_63:55;
192 uint64_t minb:9; 245 uint64_t minb:9;
246#else
247 uint64_t minb:9;
248 uint64_t reserved_9_63:55;
249#endif
193 } s; 250 } s;
194 struct cvmx_stxx_min_bst_s cn38xx; 251 struct cvmx_stxx_min_bst_s cn38xx;
195 struct cvmx_stxx_min_bst_s cn38xxp2; 252 struct cvmx_stxx_min_bst_s cn38xxp2;
@@ -200,12 +257,21 @@ union cvmx_stxx_min_bst {
200union cvmx_stxx_spi4_calx { 257union cvmx_stxx_spi4_calx {
201 uint64_t u64; 258 uint64_t u64;
202 struct cvmx_stxx_spi4_calx_s { 259 struct cvmx_stxx_spi4_calx_s {
260#ifdef __BIG_ENDIAN_BITFIELD
203 uint64_t reserved_17_63:47; 261 uint64_t reserved_17_63:47;
204 uint64_t oddpar:1; 262 uint64_t oddpar:1;
205 uint64_t prt3:4; 263 uint64_t prt3:4;
206 uint64_t prt2:4; 264 uint64_t prt2:4;
207 uint64_t prt1:4; 265 uint64_t prt1:4;
208 uint64_t prt0:4; 266 uint64_t prt0:4;
267#else
268 uint64_t prt0:4;
269 uint64_t prt1:4;
270 uint64_t prt2:4;
271 uint64_t prt3:4;
272 uint64_t oddpar:1;
273 uint64_t reserved_17_63:47;
274#endif
209 } s; 275 } s;
210 struct cvmx_stxx_spi4_calx_s cn38xx; 276 struct cvmx_stxx_spi4_calx_s cn38xx;
211 struct cvmx_stxx_spi4_calx_s cn38xxp2; 277 struct cvmx_stxx_spi4_calx_s cn38xxp2;
@@ -216,9 +282,15 @@ union cvmx_stxx_spi4_calx {
216union cvmx_stxx_spi4_dat { 282union cvmx_stxx_spi4_dat {
217 uint64_t u64; 283 uint64_t u64;
218 struct cvmx_stxx_spi4_dat_s { 284 struct cvmx_stxx_spi4_dat_s {
285#ifdef __BIG_ENDIAN_BITFIELD
219 uint64_t reserved_32_63:32; 286 uint64_t reserved_32_63:32;
220 uint64_t alpha:16; 287 uint64_t alpha:16;
221 uint64_t max_t:16; 288 uint64_t max_t:16;
289#else
290 uint64_t max_t:16;
291 uint64_t alpha:16;
292 uint64_t reserved_32_63:32;
293#endif
222 } s; 294 } s;
223 struct cvmx_stxx_spi4_dat_s cn38xx; 295 struct cvmx_stxx_spi4_dat_s cn38xx;
224 struct cvmx_stxx_spi4_dat_s cn38xxp2; 296 struct cvmx_stxx_spi4_dat_s cn38xxp2;
@@ -229,10 +301,17 @@ union cvmx_stxx_spi4_dat {
229union cvmx_stxx_spi4_stat { 301union cvmx_stxx_spi4_stat {
230 uint64_t u64; 302 uint64_t u64;
231 struct cvmx_stxx_spi4_stat_s { 303 struct cvmx_stxx_spi4_stat_s {
304#ifdef __BIG_ENDIAN_BITFIELD
232 uint64_t reserved_16_63:48; 305 uint64_t reserved_16_63:48;
233 uint64_t m:8; 306 uint64_t m:8;
234 uint64_t reserved_7_7:1; 307 uint64_t reserved_7_7:1;
235 uint64_t len:7; 308 uint64_t len:7;
309#else
310 uint64_t len:7;
311 uint64_t reserved_7_7:1;
312 uint64_t m:8;
313 uint64_t reserved_16_63:48;
314#endif
236 } s; 315 } s;
237 struct cvmx_stxx_spi4_stat_s cn38xx; 316 struct cvmx_stxx_spi4_stat_s cn38xx;
238 struct cvmx_stxx_spi4_stat_s cn38xxp2; 317 struct cvmx_stxx_spi4_stat_s cn38xxp2;
@@ -243,8 +322,13 @@ union cvmx_stxx_spi4_stat {
243union cvmx_stxx_stat_bytes_hi { 322union cvmx_stxx_stat_bytes_hi {
244 uint64_t u64; 323 uint64_t u64;
245 struct cvmx_stxx_stat_bytes_hi_s { 324 struct cvmx_stxx_stat_bytes_hi_s {
325#ifdef __BIG_ENDIAN_BITFIELD
246 uint64_t reserved_32_63:32; 326 uint64_t reserved_32_63:32;
247 uint64_t cnt:32; 327 uint64_t cnt:32;
328#else
329 uint64_t cnt:32;
330 uint64_t reserved_32_63:32;
331#endif
248 } s; 332 } s;
249 struct cvmx_stxx_stat_bytes_hi_s cn38xx; 333 struct cvmx_stxx_stat_bytes_hi_s cn38xx;
250 struct cvmx_stxx_stat_bytes_hi_s cn38xxp2; 334 struct cvmx_stxx_stat_bytes_hi_s cn38xxp2;
@@ -255,8 +339,13 @@ union cvmx_stxx_stat_bytes_hi {
255union cvmx_stxx_stat_bytes_lo { 339union cvmx_stxx_stat_bytes_lo {
256 uint64_t u64; 340 uint64_t u64;
257 struct cvmx_stxx_stat_bytes_lo_s { 341 struct cvmx_stxx_stat_bytes_lo_s {
342#ifdef __BIG_ENDIAN_BITFIELD
258 uint64_t reserved_32_63:32; 343 uint64_t reserved_32_63:32;
259 uint64_t cnt:32; 344 uint64_t cnt:32;
345#else
346 uint64_t cnt:32;
347 uint64_t reserved_32_63:32;
348#endif
260 } s; 349 } s;
261 struct cvmx_stxx_stat_bytes_lo_s cn38xx; 350 struct cvmx_stxx_stat_bytes_lo_s cn38xx;
262 struct cvmx_stxx_stat_bytes_lo_s cn38xxp2; 351 struct cvmx_stxx_stat_bytes_lo_s cn38xxp2;
@@ -267,9 +356,15 @@ union cvmx_stxx_stat_bytes_lo {
267union cvmx_stxx_stat_ctl { 356union cvmx_stxx_stat_ctl {
268 uint64_t u64; 357 uint64_t u64;
269 struct cvmx_stxx_stat_ctl_s { 358 struct cvmx_stxx_stat_ctl_s {
359#ifdef __BIG_ENDIAN_BITFIELD
270 uint64_t reserved_5_63:59; 360 uint64_t reserved_5_63:59;
271 uint64_t clr:1; 361 uint64_t clr:1;
272 uint64_t bckprs:4; 362 uint64_t bckprs:4;
363#else
364 uint64_t bckprs:4;
365 uint64_t clr:1;
366 uint64_t reserved_5_63:59;
367#endif
273 } s; 368 } s;
274 struct cvmx_stxx_stat_ctl_s cn38xx; 369 struct cvmx_stxx_stat_ctl_s cn38xx;
275 struct cvmx_stxx_stat_ctl_s cn38xxp2; 370 struct cvmx_stxx_stat_ctl_s cn38xxp2;
@@ -280,8 +375,13 @@ union cvmx_stxx_stat_ctl {
280union cvmx_stxx_stat_pkt_xmt { 375union cvmx_stxx_stat_pkt_xmt {
281 uint64_t u64; 376 uint64_t u64;
282 struct cvmx_stxx_stat_pkt_xmt_s { 377 struct cvmx_stxx_stat_pkt_xmt_s {
378#ifdef __BIG_ENDIAN_BITFIELD
283 uint64_t reserved_32_63:32; 379 uint64_t reserved_32_63:32;
284 uint64_t cnt:32; 380 uint64_t cnt:32;
381#else
382 uint64_t cnt:32;
383 uint64_t reserved_32_63:32;
384#endif
285 } s; 385 } s;
286 struct cvmx_stxx_stat_pkt_xmt_s cn38xx; 386 struct cvmx_stxx_stat_pkt_xmt_s cn38xx;
287 struct cvmx_stxx_stat_pkt_xmt_s cn38xxp2; 387 struct cvmx_stxx_stat_pkt_xmt_s cn38xxp2;
diff --git a/arch/mips/include/asm/octeon/cvmx-uctlx-defs.h b/arch/mips/include/asm/octeon/cvmx-uctlx-defs.h
index 594f1b68cd62..bc5b80c6bbe2 100644
--- a/arch/mips/include/asm/octeon/cvmx-uctlx-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-uctlx-defs.h
@@ -4,7 +4,7 @@
4 * Contact: support@caviumnetworks.com 4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK 5 * This file is part of the OCTEON SDK
6 * 6 *
7 * Copyright (c) 2003-2010 Cavium Networks 7 * Copyright (c) 2003-2012 Cavium Networks
8 * 8 *
9 * This file is free software; you can redistribute it and/or modify 9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as 10 * it under the terms of the GNU General Public License, Version 2, as
@@ -25,8 +25,8 @@
25 * Contact Cavium Networks for more information 25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/ 26 ***********************license end**************************************/
27 27
28#ifndef __CVMX_UCTLX_TYPEDEFS_H__ 28#ifndef __CVMX_UCTLX_DEFS_H__
29#define __CVMX_UCTLX_TYPEDEFS_H__ 29#define __CVMX_UCTLX_DEFS_H__
30 30
31#define CVMX_UCTLX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x000118006F0000A0ull)) 31#define CVMX_UCTLX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x000118006F0000A0ull))
32#define CVMX_UCTLX_CLK_RST_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000000ull)) 32#define CVMX_UCTLX_CLK_RST_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000000ull))
@@ -45,6 +45,7 @@
45union cvmx_uctlx_bist_status { 45union cvmx_uctlx_bist_status {
46 uint64_t u64; 46 uint64_t u64;
47 struct cvmx_uctlx_bist_status_s { 47 struct cvmx_uctlx_bist_status_s {
48#ifdef __BIG_ENDIAN_BITFIELD
48 uint64_t reserved_6_63:58; 49 uint64_t reserved_6_63:58;
49 uint64_t data_bis:1; 50 uint64_t data_bis:1;
50 uint64_t desc_bis:1; 51 uint64_t desc_bis:1;
@@ -52,14 +53,29 @@ union cvmx_uctlx_bist_status {
52 uint64_t orbm_bis:1; 53 uint64_t orbm_bis:1;
53 uint64_t wrbm_bis:1; 54 uint64_t wrbm_bis:1;
54 uint64_t ppaf_bis:1; 55 uint64_t ppaf_bis:1;
56#else
57 uint64_t ppaf_bis:1;
58 uint64_t wrbm_bis:1;
59 uint64_t orbm_bis:1;
60 uint64_t erbm_bis:1;
61 uint64_t desc_bis:1;
62 uint64_t data_bis:1;
63 uint64_t reserved_6_63:58;
64#endif
55 } s; 65 } s;
56 struct cvmx_uctlx_bist_status_s cn63xx; 66 struct cvmx_uctlx_bist_status_s cn61xx;
57 struct cvmx_uctlx_bist_status_s cn63xxp1; 67 struct cvmx_uctlx_bist_status_s cn63xx;
68 struct cvmx_uctlx_bist_status_s cn63xxp1;
69 struct cvmx_uctlx_bist_status_s cn66xx;
70 struct cvmx_uctlx_bist_status_s cn68xx;
71 struct cvmx_uctlx_bist_status_s cn68xxp1;
72 struct cvmx_uctlx_bist_status_s cnf71xx;
58}; 73};
59 74
60union cvmx_uctlx_clk_rst_ctl { 75union cvmx_uctlx_clk_rst_ctl {
61 uint64_t u64; 76 uint64_t u64;
62 struct cvmx_uctlx_clk_rst_ctl_s { 77 struct cvmx_uctlx_clk_rst_ctl_s {
78#ifdef __BIG_ENDIAN_BITFIELD
63 uint64_t reserved_25_63:39; 79 uint64_t reserved_25_63:39;
64 uint64_t clear_bist:1; 80 uint64_t clear_bist:1;
65 uint64_t start_bist:1; 81 uint64_t start_bist:1;
@@ -81,14 +97,43 @@ union cvmx_uctlx_clk_rst_ctl {
81 uint64_t p_por:1; 97 uint64_t p_por:1;
82 uint64_t p_prst:1; 98 uint64_t p_prst:1;
83 uint64_t hrst:1; 99 uint64_t hrst:1;
100#else
101 uint64_t hrst:1;
102 uint64_t p_prst:1;
103 uint64_t p_por:1;
104 uint64_t p_com_on:1;
105 uint64_t reserved_4_4:1;
106 uint64_t p_refclk_div:2;
107 uint64_t p_refclk_sel:2;
108 uint64_t h_div:4;
109 uint64_t o_clkdiv_en:1;
110 uint64_t h_clkdiv_en:1;
111 uint64_t h_clkdiv_rst:1;
112 uint64_t h_clkdiv_byp:1;
113 uint64_t o_clkdiv_rst:1;
114 uint64_t app_start_clk:1;
115 uint64_t ohci_susp_lgcy:1;
116 uint64_t ohci_sm:1;
117 uint64_t ohci_clkcktrst:1;
118 uint64_t ehci_sm:1;
119 uint64_t start_bist:1;
120 uint64_t clear_bist:1;
121 uint64_t reserved_25_63:39;
122#endif
84 } s; 123 } s;
85 struct cvmx_uctlx_clk_rst_ctl_s cn63xx; 124 struct cvmx_uctlx_clk_rst_ctl_s cn61xx;
86 struct cvmx_uctlx_clk_rst_ctl_s cn63xxp1; 125 struct cvmx_uctlx_clk_rst_ctl_s cn63xx;
126 struct cvmx_uctlx_clk_rst_ctl_s cn63xxp1;
127 struct cvmx_uctlx_clk_rst_ctl_s cn66xx;
128 struct cvmx_uctlx_clk_rst_ctl_s cn68xx;
129 struct cvmx_uctlx_clk_rst_ctl_s cn68xxp1;
130 struct cvmx_uctlx_clk_rst_ctl_s cnf71xx;
87}; 131};
88 132
89union cvmx_uctlx_ehci_ctl { 133union cvmx_uctlx_ehci_ctl {
90 uint64_t u64; 134 uint64_t u64;
91 struct cvmx_uctlx_ehci_ctl_s { 135 struct cvmx_uctlx_ehci_ctl_s {
136#ifdef __BIG_ENDIAN_BITFIELD
92 uint64_t reserved_20_63:44; 137 uint64_t reserved_20_63:44;
93 uint64_t desc_rbm:1; 138 uint64_t desc_rbm:1;
94 uint64_t reg_nb:1; 139 uint64_t reg_nb:1;
@@ -101,45 +146,96 @@ union cvmx_uctlx_ehci_ctl {
101 uint64_t inv_reg_a2:1; 146 uint64_t inv_reg_a2:1;
102 uint64_t ehci_64b_addr_en:1; 147 uint64_t ehci_64b_addr_en:1;
103 uint64_t l2c_addr_msb:8; 148 uint64_t l2c_addr_msb:8;
149#else
150 uint64_t l2c_addr_msb:8;
151 uint64_t ehci_64b_addr_en:1;
152 uint64_t inv_reg_a2:1;
153 uint64_t l2c_desc_emod:2;
154 uint64_t l2c_buff_emod:2;
155 uint64_t l2c_stt:1;
156 uint64_t l2c_0pag:1;
157 uint64_t l2c_bc:1;
158 uint64_t l2c_dc:1;
159 uint64_t reg_nb:1;
160 uint64_t desc_rbm:1;
161 uint64_t reserved_20_63:44;
162#endif
104 } s; 163 } s;
105 struct cvmx_uctlx_ehci_ctl_s cn63xx; 164 struct cvmx_uctlx_ehci_ctl_s cn61xx;
106 struct cvmx_uctlx_ehci_ctl_s cn63xxp1; 165 struct cvmx_uctlx_ehci_ctl_s cn63xx;
166 struct cvmx_uctlx_ehci_ctl_s cn63xxp1;
167 struct cvmx_uctlx_ehci_ctl_s cn66xx;
168 struct cvmx_uctlx_ehci_ctl_s cn68xx;
169 struct cvmx_uctlx_ehci_ctl_s cn68xxp1;
170 struct cvmx_uctlx_ehci_ctl_s cnf71xx;
107}; 171};
108 172
109union cvmx_uctlx_ehci_fla { 173union cvmx_uctlx_ehci_fla {
110 uint64_t u64; 174 uint64_t u64;
111 struct cvmx_uctlx_ehci_fla_s { 175 struct cvmx_uctlx_ehci_fla_s {
176#ifdef __BIG_ENDIAN_BITFIELD
112 uint64_t reserved_6_63:58; 177 uint64_t reserved_6_63:58;
113 uint64_t fla:6; 178 uint64_t fla:6;
179#else
180 uint64_t fla:6;
181 uint64_t reserved_6_63:58;
182#endif
114 } s; 183 } s;
115 struct cvmx_uctlx_ehci_fla_s cn63xx; 184 struct cvmx_uctlx_ehci_fla_s cn61xx;
116 struct cvmx_uctlx_ehci_fla_s cn63xxp1; 185 struct cvmx_uctlx_ehci_fla_s cn63xx;
186 struct cvmx_uctlx_ehci_fla_s cn63xxp1;
187 struct cvmx_uctlx_ehci_fla_s cn66xx;
188 struct cvmx_uctlx_ehci_fla_s cn68xx;
189 struct cvmx_uctlx_ehci_fla_s cn68xxp1;
190 struct cvmx_uctlx_ehci_fla_s cnf71xx;
117}; 191};
118 192
119union cvmx_uctlx_erto_ctl { 193union cvmx_uctlx_erto_ctl {
120 uint64_t u64; 194 uint64_t u64;
121 struct cvmx_uctlx_erto_ctl_s { 195 struct cvmx_uctlx_erto_ctl_s {
196#ifdef __BIG_ENDIAN_BITFIELD
122 uint64_t reserved_32_63:32; 197 uint64_t reserved_32_63:32;
123 uint64_t to_val:27; 198 uint64_t to_val:27;
124 uint64_t reserved_0_4:5; 199 uint64_t reserved_0_4:5;
200#else
201 uint64_t reserved_0_4:5;
202 uint64_t to_val:27;
203 uint64_t reserved_32_63:32;
204#endif
125 } s; 205 } s;
126 struct cvmx_uctlx_erto_ctl_s cn63xx; 206 struct cvmx_uctlx_erto_ctl_s cn61xx;
127 struct cvmx_uctlx_erto_ctl_s cn63xxp1; 207 struct cvmx_uctlx_erto_ctl_s cn63xx;
208 struct cvmx_uctlx_erto_ctl_s cn63xxp1;
209 struct cvmx_uctlx_erto_ctl_s cn66xx;
210 struct cvmx_uctlx_erto_ctl_s cn68xx;
211 struct cvmx_uctlx_erto_ctl_s cn68xxp1;
212 struct cvmx_uctlx_erto_ctl_s cnf71xx;
128}; 213};
129 214
130union cvmx_uctlx_if_ena { 215union cvmx_uctlx_if_ena {
131 uint64_t u64; 216 uint64_t u64;
132 struct cvmx_uctlx_if_ena_s { 217 struct cvmx_uctlx_if_ena_s {
218#ifdef __BIG_ENDIAN_BITFIELD
133 uint64_t reserved_1_63:63; 219 uint64_t reserved_1_63:63;
134 uint64_t en:1; 220 uint64_t en:1;
221#else
222 uint64_t en:1;
223 uint64_t reserved_1_63:63;
224#endif
135 } s; 225 } s;
136 struct cvmx_uctlx_if_ena_s cn63xx; 226 struct cvmx_uctlx_if_ena_s cn61xx;
137 struct cvmx_uctlx_if_ena_s cn63xxp1; 227 struct cvmx_uctlx_if_ena_s cn63xx;
228 struct cvmx_uctlx_if_ena_s cn63xxp1;
229 struct cvmx_uctlx_if_ena_s cn66xx;
230 struct cvmx_uctlx_if_ena_s cn68xx;
231 struct cvmx_uctlx_if_ena_s cn68xxp1;
232 struct cvmx_uctlx_if_ena_s cnf71xx;
138}; 233};
139 234
140union cvmx_uctlx_int_ena { 235union cvmx_uctlx_int_ena {
141 uint64_t u64; 236 uint64_t u64;
142 struct cvmx_uctlx_int_ena_s { 237 struct cvmx_uctlx_int_ena_s {
238#ifdef __BIG_ENDIAN_BITFIELD
143 uint64_t reserved_8_63:56; 239 uint64_t reserved_8_63:56;
144 uint64_t ec_ovf_e:1; 240 uint64_t ec_ovf_e:1;
145 uint64_t oc_ovf_e:1; 241 uint64_t oc_ovf_e:1;
@@ -149,14 +245,31 @@ union cvmx_uctlx_int_ena {
149 uint64_t or_psh_f:1; 245 uint64_t or_psh_f:1;
150 uint64_t er_psh_f:1; 246 uint64_t er_psh_f:1;
151 uint64_t pp_psh_f:1; 247 uint64_t pp_psh_f:1;
248#else
249 uint64_t pp_psh_f:1;
250 uint64_t er_psh_f:1;
251 uint64_t or_psh_f:1;
252 uint64_t cf_psh_f:1;
253 uint64_t wb_psh_f:1;
254 uint64_t wb_pop_e:1;
255 uint64_t oc_ovf_e:1;
256 uint64_t ec_ovf_e:1;
257 uint64_t reserved_8_63:56;
258#endif
152 } s; 259 } s;
153 struct cvmx_uctlx_int_ena_s cn63xx; 260 struct cvmx_uctlx_int_ena_s cn61xx;
154 struct cvmx_uctlx_int_ena_s cn63xxp1; 261 struct cvmx_uctlx_int_ena_s cn63xx;
262 struct cvmx_uctlx_int_ena_s cn63xxp1;
263 struct cvmx_uctlx_int_ena_s cn66xx;
264 struct cvmx_uctlx_int_ena_s cn68xx;
265 struct cvmx_uctlx_int_ena_s cn68xxp1;
266 struct cvmx_uctlx_int_ena_s cnf71xx;
155}; 267};
156 268
157union cvmx_uctlx_int_reg { 269union cvmx_uctlx_int_reg {
158 uint64_t u64; 270 uint64_t u64;
159 struct cvmx_uctlx_int_reg_s { 271 struct cvmx_uctlx_int_reg_s {
272#ifdef __BIG_ENDIAN_BITFIELD
160 uint64_t reserved_8_63:56; 273 uint64_t reserved_8_63:56;
161 uint64_t ec_ovf_e:1; 274 uint64_t ec_ovf_e:1;
162 uint64_t oc_ovf_e:1; 275 uint64_t oc_ovf_e:1;
@@ -166,14 +279,31 @@ union cvmx_uctlx_int_reg {
166 uint64_t or_psh_f:1; 279 uint64_t or_psh_f:1;
167 uint64_t er_psh_f:1; 280 uint64_t er_psh_f:1;
168 uint64_t pp_psh_f:1; 281 uint64_t pp_psh_f:1;
282#else
283 uint64_t pp_psh_f:1;
284 uint64_t er_psh_f:1;
285 uint64_t or_psh_f:1;
286 uint64_t cf_psh_f:1;
287 uint64_t wb_psh_f:1;
288 uint64_t wb_pop_e:1;
289 uint64_t oc_ovf_e:1;
290 uint64_t ec_ovf_e:1;
291 uint64_t reserved_8_63:56;
292#endif
169 } s; 293 } s;
170 struct cvmx_uctlx_int_reg_s cn63xx; 294 struct cvmx_uctlx_int_reg_s cn61xx;
171 struct cvmx_uctlx_int_reg_s cn63xxp1; 295 struct cvmx_uctlx_int_reg_s cn63xx;
296 struct cvmx_uctlx_int_reg_s cn63xxp1;
297 struct cvmx_uctlx_int_reg_s cn66xx;
298 struct cvmx_uctlx_int_reg_s cn68xx;
299 struct cvmx_uctlx_int_reg_s cn68xxp1;
300 struct cvmx_uctlx_int_reg_s cnf71xx;
172}; 301};
173 302
174union cvmx_uctlx_ohci_ctl { 303union cvmx_uctlx_ohci_ctl {
175 uint64_t u64; 304 uint64_t u64;
176 struct cvmx_uctlx_ohci_ctl_s { 305 struct cvmx_uctlx_ohci_ctl_s {
306#ifdef __BIG_ENDIAN_BITFIELD
177 uint64_t reserved_19_63:45; 307 uint64_t reserved_19_63:45;
178 uint64_t reg_nb:1; 308 uint64_t reg_nb:1;
179 uint64_t l2c_dc:1; 309 uint64_t l2c_dc:1;
@@ -185,35 +315,73 @@ union cvmx_uctlx_ohci_ctl {
185 uint64_t inv_reg_a2:1; 315 uint64_t inv_reg_a2:1;
186 uint64_t reserved_8_8:1; 316 uint64_t reserved_8_8:1;
187 uint64_t l2c_addr_msb:8; 317 uint64_t l2c_addr_msb:8;
318#else
319 uint64_t l2c_addr_msb:8;
320 uint64_t reserved_8_8:1;
321 uint64_t inv_reg_a2:1;
322 uint64_t l2c_desc_emod:2;
323 uint64_t l2c_buff_emod:2;
324 uint64_t l2c_stt:1;
325 uint64_t l2c_0pag:1;
326 uint64_t l2c_bc:1;
327 uint64_t l2c_dc:1;
328 uint64_t reg_nb:1;
329 uint64_t reserved_19_63:45;
330#endif
188 } s; 331 } s;
189 struct cvmx_uctlx_ohci_ctl_s cn63xx; 332 struct cvmx_uctlx_ohci_ctl_s cn61xx;
190 struct cvmx_uctlx_ohci_ctl_s cn63xxp1; 333 struct cvmx_uctlx_ohci_ctl_s cn63xx;
334 struct cvmx_uctlx_ohci_ctl_s cn63xxp1;
335 struct cvmx_uctlx_ohci_ctl_s cn66xx;
336 struct cvmx_uctlx_ohci_ctl_s cn68xx;
337 struct cvmx_uctlx_ohci_ctl_s cn68xxp1;
338 struct cvmx_uctlx_ohci_ctl_s cnf71xx;
191}; 339};
192 340
193union cvmx_uctlx_orto_ctl { 341union cvmx_uctlx_orto_ctl {
194 uint64_t u64; 342 uint64_t u64;
195 struct cvmx_uctlx_orto_ctl_s { 343 struct cvmx_uctlx_orto_ctl_s {
344#ifdef __BIG_ENDIAN_BITFIELD
196 uint64_t reserved_32_63:32; 345 uint64_t reserved_32_63:32;
197 uint64_t to_val:24; 346 uint64_t to_val:24;
198 uint64_t reserved_0_7:8; 347 uint64_t reserved_0_7:8;
348#else
349 uint64_t reserved_0_7:8;
350 uint64_t to_val:24;
351 uint64_t reserved_32_63:32;
352#endif
199 } s; 353 } s;
200 struct cvmx_uctlx_orto_ctl_s cn63xx; 354 struct cvmx_uctlx_orto_ctl_s cn61xx;
201 struct cvmx_uctlx_orto_ctl_s cn63xxp1; 355 struct cvmx_uctlx_orto_ctl_s cn63xx;
356 struct cvmx_uctlx_orto_ctl_s cn63xxp1;
357 struct cvmx_uctlx_orto_ctl_s cn66xx;
358 struct cvmx_uctlx_orto_ctl_s cn68xx;
359 struct cvmx_uctlx_orto_ctl_s cn68xxp1;
360 struct cvmx_uctlx_orto_ctl_s cnf71xx;
202}; 361};
203 362
204union cvmx_uctlx_ppaf_wm { 363union cvmx_uctlx_ppaf_wm {
205 uint64_t u64; 364 uint64_t u64;
206 struct cvmx_uctlx_ppaf_wm_s { 365 struct cvmx_uctlx_ppaf_wm_s {
366#ifdef __BIG_ENDIAN_BITFIELD
207 uint64_t reserved_5_63:59; 367 uint64_t reserved_5_63:59;
208 uint64_t wm:5; 368 uint64_t wm:5;
369#else
370 uint64_t wm:5;
371 uint64_t reserved_5_63:59;
372#endif
209 } s; 373 } s;
210 struct cvmx_uctlx_ppaf_wm_s cn63xx; 374 struct cvmx_uctlx_ppaf_wm_s cn61xx;
211 struct cvmx_uctlx_ppaf_wm_s cn63xxp1; 375 struct cvmx_uctlx_ppaf_wm_s cn63xx;
376 struct cvmx_uctlx_ppaf_wm_s cn63xxp1;
377 struct cvmx_uctlx_ppaf_wm_s cn66xx;
378 struct cvmx_uctlx_ppaf_wm_s cnf71xx;
212}; 379};
213 380
214union cvmx_uctlx_uphy_ctl_status { 381union cvmx_uctlx_uphy_ctl_status {
215 uint64_t u64; 382 uint64_t u64;
216 struct cvmx_uctlx_uphy_ctl_status_s { 383 struct cvmx_uctlx_uphy_ctl_status_s {
384#ifdef __BIG_ENDIAN_BITFIELD
217 uint64_t reserved_10_63:54; 385 uint64_t reserved_10_63:54;
218 uint64_t bist_done:1; 386 uint64_t bist_done:1;
219 uint64_t bist_err:1; 387 uint64_t bist_err:1;
@@ -225,14 +393,33 @@ union cvmx_uctlx_uphy_ctl_status {
225 uint64_t uphy_bist:1; 393 uint64_t uphy_bist:1;
226 uint64_t bist_en:1; 394 uint64_t bist_en:1;
227 uint64_t ate_reset:1; 395 uint64_t ate_reset:1;
396#else
397 uint64_t ate_reset:1;
398 uint64_t bist_en:1;
399 uint64_t uphy_bist:1;
400 uint64_t vtest_en:1;
401 uint64_t siddq:1;
402 uint64_t lsbist:1;
403 uint64_t fsbist:1;
404 uint64_t hsbist:1;
405 uint64_t bist_err:1;
406 uint64_t bist_done:1;
407 uint64_t reserved_10_63:54;
408#endif
228 } s; 409 } s;
229 struct cvmx_uctlx_uphy_ctl_status_s cn63xx; 410 struct cvmx_uctlx_uphy_ctl_status_s cn61xx;
230 struct cvmx_uctlx_uphy_ctl_status_s cn63xxp1; 411 struct cvmx_uctlx_uphy_ctl_status_s cn63xx;
412 struct cvmx_uctlx_uphy_ctl_status_s cn63xxp1;
413 struct cvmx_uctlx_uphy_ctl_status_s cn66xx;
414 struct cvmx_uctlx_uphy_ctl_status_s cn68xx;
415 struct cvmx_uctlx_uphy_ctl_status_s cn68xxp1;
416 struct cvmx_uctlx_uphy_ctl_status_s cnf71xx;
231}; 417};
232 418
233union cvmx_uctlx_uphy_portx_ctl_status { 419union cvmx_uctlx_uphy_portx_ctl_status {
234 uint64_t u64; 420 uint64_t u64;
235 struct cvmx_uctlx_uphy_portx_ctl_status_s { 421 struct cvmx_uctlx_uphy_portx_ctl_status_s {
422#ifdef __BIG_ENDIAN_BITFIELD
236 uint64_t reserved_43_63:21; 423 uint64_t reserved_43_63:21;
237 uint64_t tdata_out:4; 424 uint64_t tdata_out:4;
238 uint64_t txbiststuffenh:1; 425 uint64_t txbiststuffenh:1;
@@ -253,9 +440,36 @@ union cvmx_uctlx_uphy_portx_ctl_status {
253 uint64_t tdata_sel:1; 440 uint64_t tdata_sel:1;
254 uint64_t taddr_in:4; 441 uint64_t taddr_in:4;
255 uint64_t tdata_in:8; 442 uint64_t tdata_in:8;
443#else
444 uint64_t tdata_in:8;
445 uint64_t taddr_in:4;
446 uint64_t tdata_sel:1;
447 uint64_t tclk:1;
448 uint64_t loop_en:1;
449 uint64_t compdistune:3;
450 uint64_t sqrxtune:3;
451 uint64_t txfslstune:4;
452 uint64_t txpreemphasistune:1;
453 uint64_t txrisetune:1;
454 uint64_t txvreftune:4;
455 uint64_t txhsvxtune:2;
456 uint64_t portreset:1;
457 uint64_t vbusvldext:1;
458 uint64_t dppulldown:1;
459 uint64_t dmpulldown:1;
460 uint64_t txbiststuffen:1;
461 uint64_t txbiststuffenh:1;
462 uint64_t tdata_out:4;
463 uint64_t reserved_43_63:21;
464#endif
256 } s; 465 } s;
466 struct cvmx_uctlx_uphy_portx_ctl_status_s cn61xx;
257 struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xx; 467 struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xx;
258 struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xxp1; 468 struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xxp1;
469 struct cvmx_uctlx_uphy_portx_ctl_status_s cn66xx;
470 struct cvmx_uctlx_uphy_portx_ctl_status_s cn68xx;
471 struct cvmx_uctlx_uphy_portx_ctl_status_s cn68xxp1;
472 struct cvmx_uctlx_uphy_portx_ctl_status_s cnf71xx;
259}; 473};
260 474
261#endif 475#endif
diff --git a/arch/mips/include/asm/octeon/octeon-model.h b/arch/mips/include/asm/octeon/octeon-model.h
index 23b895cb260b..14dd11f4492a 100644
--- a/arch/mips/include/asm/octeon/octeon-model.h
+++ b/arch/mips/include/asm/octeon/octeon-model.h
@@ -61,6 +61,16 @@
61#define OM_MATCH_5XXX_FAMILY_MODELS 0x20000000 61#define OM_MATCH_5XXX_FAMILY_MODELS 0x20000000
62/* Match all cn6XXX Octeon models. */ 62/* Match all cn6XXX Octeon models. */
63#define OM_MATCH_6XXX_FAMILY_MODELS 0x40000000 63#define OM_MATCH_6XXX_FAMILY_MODELS 0x40000000
64/* Match all cnf7XXX Octeon models. */
65#define OM_MATCH_F7XXX_FAMILY_MODELS 0x80000000
66
67/*
68 * CNF7XXX models with new revision encoding
69 */
70#define OCTEON_CNF71XX_PASS1_0 0x000d9400
71
72#define OCTEON_CNF71XX (OCTEON_CNF71XX_PASS1_0 | OM_IGNORE_REVISION)
73#define OCTEON_CNF71XX_PASS1_X (OCTEON_CNF71XX_PASS1_0 | OM_IGNORE_MINOR_REVISION)
64 74
65/* 75/*
66 * CN6XXX models with new revision encoding 76 * CN6XXX models with new revision encoding
@@ -313,6 +323,14 @@ static inline int __octeon_is_model_runtime__(uint32_t model)
313const char *octeon_model_get_string(uint32_t chip_id); 323const char *octeon_model_get_string(uint32_t chip_id);
314const char *octeon_model_get_string_buffer(uint32_t chip_id, char *buffer); 324const char *octeon_model_get_string_buffer(uint32_t chip_id, char *buffer);
315 325
326/*
327 * Return the octeon family, i.e., ProcessorID of the PrID register.
328 */
329static inline uint32_t cvmx_get_octeon_family(void)
330{
331 return cvmx_get_proc_id() & OCTEON_FAMILY_MASK;
332}
333
316#include <asm/octeon/octeon-feature.h> 334#include <asm/octeon/octeon-feature.h>
317 335
318#endif /* __OCTEON_MODEL_H__ */ 336#endif /* __OCTEON_MODEL_H__ */
diff --git a/arch/mips/include/asm/octeon/octeon.h b/arch/mips/include/asm/octeon/octeon.h
index c4a1b31966bb..790939dd8244 100644
--- a/arch/mips/include/asm/octeon/octeon.h
+++ b/arch/mips/include/asm/octeon/octeon.h
@@ -52,6 +52,7 @@ extern asmlinkage void octeon_cop2_restore(struct octeon_cop2_state *task);
52 52
53extern void octeon_init_cvmcount(void); 53extern void octeon_init_cvmcount(void);
54extern void octeon_setup_delays(void); 54extern void octeon_setup_delays(void);
55extern void octeon_io_clk_delay(unsigned long);
55 56
56#define OCTEON_ARGV_MAX_ARGS 64 57#define OCTEON_ARGV_MAX_ARGS 64
57#define OCTOEN_SERIAL_LEN 20 58#define OCTOEN_SERIAL_LEN 20
@@ -254,4 +255,7 @@ extern uint64_t octeon_bootloader_entry_addr;
254 255
255extern void (*octeon_irq_setup_secondary)(void); 256extern void (*octeon_irq_setup_secondary)(void);
256 257
258typedef void (*octeon_irq_ip4_handler_t)(void);
259void octeon_irq_set_ip4_handler(octeon_irq_ip4_handler_t);
260
257#endif /* __ASM_OCTEON_OCTEON_H */ 261#endif /* __ASM_OCTEON_OCTEON_H */
diff --git a/arch/mips/include/asm/pgtable-bits.h b/arch/mips/include/asm/pgtable-bits.h
index e9fe7e97ce4c..da4ba49adcf6 100644
--- a/arch/mips/include/asm/pgtable-bits.h
+++ b/arch/mips/include/asm/pgtable-bits.h
@@ -79,9 +79,9 @@
79/* implemented in software */ 79/* implemented in software */
80#define _PAGE_PRESENT_SHIFT (0) 80#define _PAGE_PRESENT_SHIFT (0)
81#define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT) 81#define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT)
82/* implemented in software, should be unused if kernel_uses_smartmips_rixi. */ 82/* implemented in software, should be unused if cpu_has_rixi. */
83#define _PAGE_READ_SHIFT (kernel_uses_smartmips_rixi ? _PAGE_PRESENT_SHIFT : _PAGE_PRESENT_SHIFT + 1) 83#define _PAGE_READ_SHIFT (cpu_has_rixi ? _PAGE_PRESENT_SHIFT : _PAGE_PRESENT_SHIFT + 1)
84#define _PAGE_READ ({if (kernel_uses_smartmips_rixi) BUG(); 1 << _PAGE_READ_SHIFT; }) 84#define _PAGE_READ ({BUG_ON(cpu_has_rixi); 1 << _PAGE_READ_SHIFT; })
85/* implemented in software */ 85/* implemented in software */
86#define _PAGE_WRITE_SHIFT (_PAGE_READ_SHIFT + 1) 86#define _PAGE_WRITE_SHIFT (_PAGE_READ_SHIFT + 1)
87#define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT) 87#define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT)
@@ -104,12 +104,12 @@
104#endif 104#endif
105 105
106/* Page cannot be executed */ 106/* Page cannot be executed */
107#define _PAGE_NO_EXEC_SHIFT (kernel_uses_smartmips_rixi ? _PAGE_HUGE_SHIFT + 1 : _PAGE_HUGE_SHIFT) 107#define _PAGE_NO_EXEC_SHIFT (cpu_has_rixi ? _PAGE_HUGE_SHIFT + 1 : _PAGE_HUGE_SHIFT)
108#define _PAGE_NO_EXEC ({if (!kernel_uses_smartmips_rixi) BUG(); 1 << _PAGE_NO_EXEC_SHIFT; }) 108#define _PAGE_NO_EXEC ({BUG_ON(!cpu_has_rixi); 1 << _PAGE_NO_EXEC_SHIFT; })
109 109
110/* Page cannot be read */ 110/* Page cannot be read */
111#define _PAGE_NO_READ_SHIFT (kernel_uses_smartmips_rixi ? _PAGE_NO_EXEC_SHIFT + 1 : _PAGE_NO_EXEC_SHIFT) 111#define _PAGE_NO_READ_SHIFT (cpu_has_rixi ? _PAGE_NO_EXEC_SHIFT + 1 : _PAGE_NO_EXEC_SHIFT)
112#define _PAGE_NO_READ ({if (!kernel_uses_smartmips_rixi) BUG(); 1 << _PAGE_NO_READ_SHIFT; }) 112#define _PAGE_NO_READ ({BUG_ON(!cpu_has_rixi); 1 << _PAGE_NO_READ_SHIFT; })
113 113
114#define _PAGE_GLOBAL_SHIFT (_PAGE_NO_READ_SHIFT + 1) 114#define _PAGE_GLOBAL_SHIFT (_PAGE_NO_READ_SHIFT + 1)
115#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT) 115#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT)
@@ -155,7 +155,7 @@
155 */ 155 */
156static inline uint64_t pte_to_entrylo(unsigned long pte_val) 156static inline uint64_t pte_to_entrylo(unsigned long pte_val)
157{ 157{
158 if (kernel_uses_smartmips_rixi) { 158 if (cpu_has_rixi) {
159 int sa; 159 int sa;
160#ifdef CONFIG_32BIT 160#ifdef CONFIG_32BIT
161 sa = 31 - _PAGE_NO_READ_SHIFT; 161 sa = 31 - _PAGE_NO_READ_SHIFT;
@@ -220,7 +220,7 @@ static inline uint64_t pte_to_entrylo(unsigned long pte_val)
220 220
221#endif 221#endif
222 222
223#define __READABLE (_PAGE_SILENT_READ | _PAGE_ACCESSED | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ)) 223#define __READABLE (_PAGE_SILENT_READ | _PAGE_ACCESSED | (cpu_has_rixi ? 0 : _PAGE_READ))
224#define __WRITEABLE (_PAGE_WRITE | _PAGE_SILENT_WRITE | _PAGE_MODIFIED) 224#define __WRITEABLE (_PAGE_WRITE | _PAGE_SILENT_WRITE | _PAGE_MODIFIED)
225 225
226#define _PAGE_CHG_MASK (_PFN_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED | _CACHE_MASK) 226#define _PAGE_CHG_MASK (_PFN_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED | _CACHE_MASK)
diff --git a/arch/mips/include/asm/pgtable.h b/arch/mips/include/asm/pgtable.h
index b2202a68cf0f..c02158be836c 100644
--- a/arch/mips/include/asm/pgtable.h
+++ b/arch/mips/include/asm/pgtable.h
@@ -22,15 +22,15 @@ struct mm_struct;
22struct vm_area_struct; 22struct vm_area_struct;
23 23
24#define PAGE_NONE __pgprot(_PAGE_PRESENT | _CACHE_CACHABLE_NONCOHERENT) 24#define PAGE_NONE __pgprot(_PAGE_PRESENT | _CACHE_CACHABLE_NONCOHERENT)
25#define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_WRITE | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ) | \ 25#define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_WRITE | (cpu_has_rixi ? 0 : _PAGE_READ) | \
26 _page_cachable_default) 26 _page_cachable_default)
27#define PAGE_COPY __pgprot(_PAGE_PRESENT | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ) | \ 27#define PAGE_COPY __pgprot(_PAGE_PRESENT | (cpu_has_rixi ? 0 : _PAGE_READ) | \
28 (kernel_uses_smartmips_rixi ? _PAGE_NO_EXEC : 0) | _page_cachable_default) 28 (cpu_has_rixi ? _PAGE_NO_EXEC : 0) | _page_cachable_default)
29#define PAGE_READONLY __pgprot(_PAGE_PRESENT | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ) | \ 29#define PAGE_READONLY __pgprot(_PAGE_PRESENT | (cpu_has_rixi ? 0 : _PAGE_READ) | \
30 _page_cachable_default) 30 _page_cachable_default)
31#define PAGE_KERNEL __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \ 31#define PAGE_KERNEL __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \
32 _PAGE_GLOBAL | _page_cachable_default) 32 _PAGE_GLOBAL | _page_cachable_default)
33#define PAGE_USERIO __pgprot(_PAGE_PRESENT | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ) | _PAGE_WRITE | \ 33#define PAGE_USERIO __pgprot(_PAGE_PRESENT | (cpu_has_rixi ? 0 : _PAGE_READ) | _PAGE_WRITE | \
34 _page_cachable_default) 34 _page_cachable_default)
35#define PAGE_KERNEL_UNCACHED __pgprot(_PAGE_PRESENT | __READABLE | \ 35#define PAGE_KERNEL_UNCACHED __pgprot(_PAGE_PRESENT | __READABLE | \
36 __WRITEABLE | _PAGE_GLOBAL | _CACHE_UNCACHED) 36 __WRITEABLE | _PAGE_GLOBAL | _CACHE_UNCACHED)
@@ -299,7 +299,7 @@ static inline pte_t pte_mkdirty(pte_t pte)
299static inline pte_t pte_mkyoung(pte_t pte) 299static inline pte_t pte_mkyoung(pte_t pte)
300{ 300{
301 pte_val(pte) |= _PAGE_ACCESSED; 301 pte_val(pte) |= _PAGE_ACCESSED;
302 if (kernel_uses_smartmips_rixi) { 302 if (cpu_has_rixi) {
303 if (!(pte_val(pte) & _PAGE_NO_READ)) 303 if (!(pte_val(pte) & _PAGE_NO_READ))
304 pte_val(pte) |= _PAGE_SILENT_READ; 304 pte_val(pte) |= _PAGE_SILENT_READ;
305 } else { 305 } else {
diff --git a/arch/mips/include/asm/thread_info.h b/arch/mips/include/asm/thread_info.h
index ca97e0ecb64b..946e010f2018 100644
--- a/arch/mips/include/asm/thread_info.h
+++ b/arch/mips/include/asm/thread_info.h
@@ -139,10 +139,10 @@ register struct thread_info *__current_thread_info __asm__("$28");
139#define _TIF_WORK_SYSCALL_EXIT (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT) 139#define _TIF_WORK_SYSCALL_EXIT (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT)
140 140
141/* work to do on interrupt/exception return */ 141/* work to do on interrupt/exception return */
142#define _TIF_WORK_MASK (0x0000ffef & \ 142#define _TIF_WORK_MASK \
143 ~(_TIF_SECCOMP | _TIF_SYSCALL_AUDIT)) 143 (_TIF_SIGPENDING | _TIF_NEED_RESCHED | _TIF_NOTIFY_RESUME)
144/* work to do on any return to u-space */ 144/* work to do on any return to u-space */
145#define _TIF_ALLWORK_MASK (0x8000ffff & ~_TIF_SECCOMP) 145#define _TIF_ALLWORK_MASK (_TIF_WORK_MASK | _TIF_WORK_SYSCALL_EXIT)
146 146
147#endif /* __KERNEL__ */ 147#endif /* __KERNEL__ */
148 148
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h
index 3d9f75f7ffc9..7e0bf17c9324 100644
--- a/arch/mips/include/asm/uasm.h
+++ b/arch/mips/include/asm/uasm.h
@@ -90,6 +90,8 @@ Ip_u2u1u3(_dsrl);
90Ip_u2u1u3(_dsrl32); 90Ip_u2u1u3(_dsrl32);
91Ip_u3u1u2(_dsubu); 91Ip_u3u1u2(_dsubu);
92Ip_0(_eret); 92Ip_0(_eret);
93Ip_u2u1msbu3(_ext);
94Ip_u2u1msbu3(_ins);
93Ip_u1(_j); 95Ip_u1(_j);
94Ip_u1(_jal); 96Ip_u1(_jal);
95Ip_u1(_jr); 97Ip_u1(_jr);
diff --git a/arch/mips/include/asm/unistd.h b/arch/mips/include/asm/unistd.h
index bebbde01be92..161fc4d976e4 100644
--- a/arch/mips/include/asm/unistd.h
+++ b/arch/mips/include/asm/unistd.h
@@ -367,16 +367,17 @@
367#define __NR_setns (__NR_Linux + 344) 367#define __NR_setns (__NR_Linux + 344)
368#define __NR_process_vm_readv (__NR_Linux + 345) 368#define __NR_process_vm_readv (__NR_Linux + 345)
369#define __NR_process_vm_writev (__NR_Linux + 346) 369#define __NR_process_vm_writev (__NR_Linux + 346)
370#define __NR_kcmp (__NR_Linux + 347)
370 371
371/* 372/*
372 * Offset of the last Linux o32 flavoured syscall 373 * Offset of the last Linux o32 flavoured syscall
373 */ 374 */
374#define __NR_Linux_syscalls 346 375#define __NR_Linux_syscalls 347
375 376
376#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ 377#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
377 378
378#define __NR_O32_Linux 4000 379#define __NR_O32_Linux 4000
379#define __NR_O32_Linux_syscalls 346 380#define __NR_O32_Linux_syscalls 347
380 381
381#if _MIPS_SIM == _MIPS_SIM_ABI64 382#if _MIPS_SIM == _MIPS_SIM_ABI64
382 383
@@ -690,16 +691,17 @@
690#define __NR_setns (__NR_Linux + 303) 691#define __NR_setns (__NR_Linux + 303)
691#define __NR_process_vm_readv (__NR_Linux + 304) 692#define __NR_process_vm_readv (__NR_Linux + 304)
692#define __NR_process_vm_writev (__NR_Linux + 305) 693#define __NR_process_vm_writev (__NR_Linux + 305)
694#define __NR_kcmp (__NR_Linux + 306)
693 695
694/* 696/*
695 * Offset of the last Linux 64-bit flavoured syscall 697 * Offset of the last Linux 64-bit flavoured syscall
696 */ 698 */
697#define __NR_Linux_syscalls 305 699#define __NR_Linux_syscalls 306
698 700
699#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ 701#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
700 702
701#define __NR_64_Linux 5000 703#define __NR_64_Linux 5000
702#define __NR_64_Linux_syscalls 305 704#define __NR_64_Linux_syscalls 306
703 705
704#if _MIPS_SIM == _MIPS_SIM_NABI32 706#if _MIPS_SIM == _MIPS_SIM_NABI32
705 707
@@ -1018,16 +1020,17 @@
1018#define __NR_setns (__NR_Linux + 308) 1020#define __NR_setns (__NR_Linux + 308)
1019#define __NR_process_vm_readv (__NR_Linux + 309) 1021#define __NR_process_vm_readv (__NR_Linux + 309)
1020#define __NR_process_vm_writev (__NR_Linux + 310) 1022#define __NR_process_vm_writev (__NR_Linux + 310)
1023#define __NR_kcmp (__NR_Linux + 311)
1021 1024
1022/* 1025/*
1023 * Offset of the last N32 flavoured syscall 1026 * Offset of the last N32 flavoured syscall
1024 */ 1027 */
1025#define __NR_Linux_syscalls 310 1028#define __NR_Linux_syscalls 311
1026 1029
1027#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ 1030#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
1028 1031
1029#define __NR_N32_Linux 6000 1032#define __NR_N32_Linux 6000
1030#define __NR_N32_Linux_syscalls 310 1033#define __NR_N32_Linux_syscalls 311
1031 1034
1032#ifdef __KERNEL__ 1035#ifdef __KERNEL__
1033 1036
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index c6136cb4cd40..d6c2a7476bac 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -34,28 +34,11 @@ obj-$(CONFIG_MODULES) += mips_ksyms.o module.o
34 34
35obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o 35obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o
36 36
37obj-$(CONFIG_CPU_LOONGSON2) += r4k_fpu.o r4k_switch.o 37obj-$(CONFIG_CPU_R4K_FPU) += r4k_fpu.o r4k_switch.o
38obj-$(CONFIG_CPU_MIPS32) += r4k_fpu.o r4k_switch.o
39obj-$(CONFIG_CPU_MIPS64) += r4k_fpu.o r4k_switch.o
40obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o 38obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o
41obj-$(CONFIG_CPU_R4300) += r4k_fpu.o r4k_switch.o
42obj-$(CONFIG_CPU_R4X00) += r4k_fpu.o r4k_switch.o
43obj-$(CONFIG_CPU_R5000) += r4k_fpu.o r4k_switch.o
44obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o 39obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o
45obj-$(CONFIG_CPU_R5432) += r4k_fpu.o r4k_switch.o
46obj-$(CONFIG_CPU_R5500) += r4k_fpu.o r4k_switch.o
47obj-$(CONFIG_CPU_R8000) += r4k_fpu.o r4k_switch.o
48obj-$(CONFIG_CPU_RM7000) += r4k_fpu.o r4k_switch.o
49obj-$(CONFIG_CPU_RM9000) += r4k_fpu.o r4k_switch.o
50obj-$(CONFIG_CPU_NEVADA) += r4k_fpu.o r4k_switch.o
51obj-$(CONFIG_CPU_R10000) += r4k_fpu.o r4k_switch.o
52obj-$(CONFIG_CPU_SB1) += r4k_fpu.o r4k_switch.o
53obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o 40obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
54obj-$(CONFIG_CPU_TX49XX) += r4k_fpu.o r4k_switch.o
55obj-$(CONFIG_CPU_VR41XX) += r4k_fpu.o r4k_switch.o
56obj-$(CONFIG_CPU_CAVIUM_OCTEON) += octeon_switch.o 41obj-$(CONFIG_CPU_CAVIUM_OCTEON) += octeon_switch.o
57obj-$(CONFIG_CPU_XLR) += r4k_fpu.o r4k_switch.o
58obj-$(CONFIG_CPU_XLP) += r4k_fpu.o r4k_switch.o
59 42
60obj-$(CONFIG_SMP) += smp.o 43obj-$(CONFIG_SMP) += smp.o
61obj-$(CONFIG_SMP_UP) += smp-up.o 44obj-$(CONFIG_SMP_UP) += smp-up.o
diff --git a/arch/mips/kernel/cevt-r4k.c b/arch/mips/kernel/cevt-r4k.c
index 51095dd9599d..75323925e537 100644
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
@@ -15,6 +15,7 @@
15#include <asm/smtc_ipi.h> 15#include <asm/smtc_ipi.h>
16#include <asm/time.h> 16#include <asm/time.h>
17#include <asm/cevt-r4k.h> 17#include <asm/cevt-r4k.h>
18#include <asm/gic.h>
18 19
19/* 20/*
20 * The SMTC Kernel for the 34K, 1004K, et. al. replaces several 21 * The SMTC Kernel for the 34K, 1004K, et. al. replaces several
@@ -98,6 +99,10 @@ void mips_event_handler(struct clock_event_device *dev)
98 */ 99 */
99static int c0_compare_int_pending(void) 100static int c0_compare_int_pending(void)
100{ 101{
102#ifdef CONFIG_IRQ_GIC
103 if (cpu_has_veic)
104 return gic_get_timer_pending();
105#endif
101 return (read_c0_cause() >> cp0_compare_irq_shift) & (1ul << CAUSEB_IP); 106 return (read_c0_cause() >> cp0_compare_irq_shift) & (1ul << CAUSEB_IP);
102} 107}
103 108
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 1b51046191e8..bc58bd10a607 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -421,8 +421,12 @@ static inline unsigned int decode_config3(struct cpuinfo_mips *c)
421 421
422 config3 = read_c0_config3(); 422 config3 = read_c0_config3();
423 423
424 if (config3 & MIPS_CONF3_SM) 424 if (config3 & MIPS_CONF3_SM) {
425 c->ases |= MIPS_ASE_SMARTMIPS; 425 c->ases |= MIPS_ASE_SMARTMIPS;
426 c->options |= MIPS_CPU_RIXI;
427 }
428 if (config3 & MIPS_CONF3_RXI)
429 c->options |= MIPS_CPU_RIXI;
426 if (config3 & MIPS_CONF3_DSP) 430 if (config3 & MIPS_CONF3_DSP)
427 c->ases |= MIPS_ASE_DSP; 431 c->ases |= MIPS_ASE_DSP;
428 if (config3 & MIPS_CONF3_VINT) 432 if (config3 & MIPS_CONF3_VINT)
@@ -857,6 +861,10 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c, unsigned int cpu)
857 c->cputype = CPU_1004K; 861 c->cputype = CPU_1004K;
858 __cpu_name[cpu] = "MIPS 1004Kc"; 862 __cpu_name[cpu] = "MIPS 1004Kc";
859 break; 863 break;
864 case PRID_IMP_1074K:
865 c->cputype = CPU_74K;
866 __cpu_name[cpu] = "MIPS 1074Kc";
867 break;
860 } 868 }
861 869
862 spram_config(); 870 spram_config();
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S
index 37acfa036d44..a6c133212003 100644
--- a/arch/mips/kernel/entry.S
+++ b/arch/mips/kernel/entry.S
@@ -77,7 +77,7 @@ FEXPORT(syscall_exit)
77 and t0, a2, t0 77 and t0, a2, t0
78 bnez t0, syscall_exit_work 78 bnez t0, syscall_exit_work
79 79
80FEXPORT(restore_all) # restore full frame 80restore_all: # restore full frame
81#ifdef CONFIG_MIPS_MT_SMTC 81#ifdef CONFIG_MIPS_MT_SMTC
82#ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP 82#ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP
83/* Re-arm any temporarily masked interrupts not explicitly "acked" */ 83/* Re-arm any temporarily masked interrupts not explicitly "acked" */
@@ -117,7 +117,7 @@ FEXPORT(restore_all) # restore full frame
117 RESTORE_TEMP 117 RESTORE_TEMP
118 RESTORE_AT 118 RESTORE_AT
119 RESTORE_STATIC 119 RESTORE_STATIC
120FEXPORT(restore_partial) # restore partial frame 120restore_partial: # restore partial frame
121#ifdef CONFIG_TRACE_IRQFLAGS 121#ifdef CONFIG_TRACE_IRQFLAGS
122 SAVE_STATIC 122 SAVE_STATIC
123 SAVE_AT 123 SAVE_AT
@@ -164,9 +164,18 @@ work_notifysig: # deal with pending signals and
164 jal do_notify_resume # a2 already loaded 164 jal do_notify_resume # a2 already loaded
165 j resume_userspace 165 j resume_userspace
166 166
167FEXPORT(syscall_exit_work_partial) 167FEXPORT(syscall_exit_partial)
168 local_irq_disable # make sure need_resched doesn't
169 # change between and return
170 LONG_L a2, TI_FLAGS($28) # current->work
171 li t0, _TIF_ALLWORK_MASK
172 and t0, a2
173 beqz t0, restore_partial
168 SAVE_STATIC 174 SAVE_STATIC
169syscall_exit_work: 175syscall_exit_work:
176 LONG_L t0, PT_STATUS(sp) # returning to kernel mode?
177 andi t0, t0, KU_USER
178 beqz t0, resume_kernel
170 li t0, _TIF_WORK_SYSCALL_EXIT 179 li t0, _TIF_WORK_SYSCALL_EXIT
171 and t0, a2 # a2 is preloaded with TI_FLAGS 180 and t0, a2 # a2 is preloaded with TI_FLAGS
172 beqz t0, work_pending # trace bit set? 181 beqz t0, work_pending # trace bit set?
diff --git a/arch/mips/kernel/irq-gic.c b/arch/mips/kernel/irq-gic.c
index 0c527f652196..485e6a961b31 100644
--- a/arch/mips/kernel/irq-gic.c
+++ b/arch/mips/kernel/irq-gic.c
@@ -1,5 +1,11 @@
1#undef DEBUG 1/*
2 2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2008 Ralf Baechle (ralf@linux-mips.org)
7 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
8 */
3#include <linux/bitmap.h> 9#include <linux/bitmap.h>
4#include <linux/init.h> 10#include <linux/init.h>
5#include <linux/smp.h> 11#include <linux/smp.h>
@@ -7,33 +13,80 @@
7 13
8#include <asm/io.h> 14#include <asm/io.h>
9#include <asm/gic.h> 15#include <asm/gic.h>
16#include <asm/setup.h>
17#include <asm/traps.h>
10#include <asm/gcmpregs.h> 18#include <asm/gcmpregs.h>
11#include <linux/hardirq.h> 19#include <linux/hardirq.h>
12#include <asm-generic/bitops/find.h> 20#include <asm-generic/bitops/find.h>
13 21
22unsigned long _gic_base;
23unsigned int gic_irq_base;
24unsigned int gic_irq_flags[GIC_NUM_INTRS];
14 25
15static unsigned long _gic_base; 26/* The index into this array is the vector # of the interrupt. */
16static unsigned int _irqbase; 27struct gic_shared_intr_map gic_shared_intr_map[GIC_NUM_INTRS];
17static unsigned int gic_irq_flags[GIC_NUM_INTRS];
18#define GIC_IRQ_FLAG_EDGE 0x0001
19 28
20struct gic_pcpu_mask pcpu_masks[NR_CPUS]; 29static struct gic_pcpu_mask pcpu_masks[NR_CPUS];
21static struct gic_pending_regs pending_regs[NR_CPUS]; 30static struct gic_pending_regs pending_regs[NR_CPUS];
22static struct gic_intrmask_regs intrmask_regs[NR_CPUS]; 31static struct gic_intrmask_regs intrmask_regs[NR_CPUS];
23 32
33unsigned int gic_get_timer_pending(void)
34{
35 unsigned int vpe_pending;
36
37 GICWRITE(GIC_REG(VPE_LOCAL, GIC_VPE_OTHER_ADDR), 0);
38 GICREAD(GIC_REG(VPE_OTHER, GIC_VPE_PEND), vpe_pending);
39 return (vpe_pending & GIC_VPE_PEND_TIMER_MSK);
40}
41
42void gic_bind_eic_interrupt(int irq, int set)
43{
44 /* Convert irq vector # to hw int # */
45 irq -= GIC_PIN_TO_VEC_OFFSET;
46
47 /* Set irq to use shadow set */
48 GICWRITE(GIC_REG_ADDR(VPE_LOCAL, GIC_VPE_EIC_SS(irq)), set);
49}
50
24void gic_send_ipi(unsigned int intr) 51void gic_send_ipi(unsigned int intr)
25{ 52{
26 pr_debug("CPU%d: %s status %08x\n", smp_processor_id(), __func__,
27 read_c0_status());
28 GICWRITE(GIC_REG(SHARED, GIC_SH_WEDGE), 0x80000000 | intr); 53 GICWRITE(GIC_REG(SHARED, GIC_SH_WEDGE), 0x80000000 | intr);
29} 54}
30 55
31/* This is Malta specific and needs to be exported */ 56static void gic_eic_irq_dispatch(void)
57{
58 unsigned int cause = read_c0_cause();
59 int irq;
60
61 irq = (cause & ST0_IM) >> STATUSB_IP2;
62 if (irq == 0)
63 irq = -1;
64
65 if (irq >= 0)
66 do_IRQ(gic_irq_base + irq);
67 else
68 spurious_interrupt();
69}
70
32static void __init vpe_local_setup(unsigned int numvpes) 71static void __init vpe_local_setup(unsigned int numvpes)
33{ 72{
34 int i; 73 unsigned long timer_intr = GIC_INT_TMR;
35 unsigned long timer_interrupt = 5, perf_interrupt = 5; 74 unsigned long perf_intr = GIC_INT_PERFCTR;
36 unsigned int vpe_ctl; 75 unsigned int vpe_ctl;
76 int i;
77
78 if (cpu_has_veic) {
79 /*
80 * GIC timer interrupt -> CPU HW Int X (vector X+2) ->
81 * map to pin X+2-1 (since GIC adds 1)
82 */
83 timer_intr += (GIC_CPU_TO_VEC_OFFSET - GIC_PIN_TO_VEC_OFFSET);
84 /*
85 * GIC perfcnt interrupt -> CPU HW Int X (vector X+2) ->
86 * map to pin X+2-1 (since GIC adds 1)
87 */
88 perf_intr += (GIC_CPU_TO_VEC_OFFSET - GIC_PIN_TO_VEC_OFFSET);
89 }
37 90
38 /* 91 /*
39 * Setup the default performance counter timer interrupts 92 * Setup the default performance counter timer interrupts
@@ -46,11 +99,20 @@ static void __init vpe_local_setup(unsigned int numvpes)
46 GICREAD(GIC_REG(VPE_OTHER, GIC_VPE_CTL), vpe_ctl); 99 GICREAD(GIC_REG(VPE_OTHER, GIC_VPE_CTL), vpe_ctl);
47 if (vpe_ctl & GIC_VPE_CTL_TIMER_RTBL_MSK) 100 if (vpe_ctl & GIC_VPE_CTL_TIMER_RTBL_MSK)
48 GICWRITE(GIC_REG(VPE_OTHER, GIC_VPE_TIMER_MAP), 101 GICWRITE(GIC_REG(VPE_OTHER, GIC_VPE_TIMER_MAP),
49 GIC_MAP_TO_PIN_MSK | timer_interrupt); 102 GIC_MAP_TO_PIN_MSK | timer_intr);
103 if (cpu_has_veic) {
104 set_vi_handler(timer_intr + GIC_PIN_TO_VEC_OFFSET,
105 gic_eic_irq_dispatch);
106 gic_shared_intr_map[timer_intr + GIC_PIN_TO_VEC_OFFSET].local_intr_mask |= GIC_VPE_RMASK_TIMER_MSK;
107 }
50 108
51 if (vpe_ctl & GIC_VPE_CTL_PERFCNT_RTBL_MSK) 109 if (vpe_ctl & GIC_VPE_CTL_PERFCNT_RTBL_MSK)
52 GICWRITE(GIC_REG(VPE_OTHER, GIC_VPE_PERFCTR_MAP), 110 GICWRITE(GIC_REG(VPE_OTHER, GIC_VPE_PERFCTR_MAP),
53 GIC_MAP_TO_PIN_MSK | perf_interrupt); 111 GIC_MAP_TO_PIN_MSK | perf_intr);
112 if (cpu_has_veic) {
113 set_vi_handler(perf_intr + GIC_PIN_TO_VEC_OFFSET, gic_eic_irq_dispatch);
114 gic_shared_intr_map[perf_intr + GIC_PIN_TO_VEC_OFFSET].local_intr_mask |= GIC_VPE_RMASK_PERFCNT_MSK;
115 }
54 } 116 }
55} 117}
56 118
@@ -80,51 +142,30 @@ unsigned int gic_get_int(void)
80 bitmap_and(pending, pending, intrmask, GIC_NUM_INTRS); 142 bitmap_and(pending, pending, intrmask, GIC_NUM_INTRS);
81 bitmap_and(pending, pending, pcpu_mask, GIC_NUM_INTRS); 143 bitmap_and(pending, pending, pcpu_mask, GIC_NUM_INTRS);
82 144
83 i = find_first_bit(pending, GIC_NUM_INTRS); 145 return find_first_bit(pending, GIC_NUM_INTRS);
84
85 pr_debug("CPU%d: %s pend=%d\n", smp_processor_id(), __func__, i);
86
87 return i;
88}
89
90static void gic_irq_ack(struct irq_data *d)
91{
92 unsigned int irq = d->irq - _irqbase;
93
94 pr_debug("CPU%d: %s: irq%d\n", smp_processor_id(), __func__, irq);
95 GIC_CLR_INTR_MASK(irq);
96
97 if (gic_irq_flags[irq] & GIC_IRQ_FLAG_EDGE)
98 GICWRITE(GIC_REG(SHARED, GIC_SH_WEDGE), irq);
99} 146}
100 147
101static void gic_mask_irq(struct irq_data *d) 148static void gic_mask_irq(struct irq_data *d)
102{ 149{
103 unsigned int irq = d->irq - _irqbase; 150 GIC_CLR_INTR_MASK(d->irq - gic_irq_base);
104 pr_debug("CPU%d: %s: irq%d\n", smp_processor_id(), __func__, irq);
105 GIC_CLR_INTR_MASK(irq);
106} 151}
107 152
108static void gic_unmask_irq(struct irq_data *d) 153static void gic_unmask_irq(struct irq_data *d)
109{ 154{
110 unsigned int irq = d->irq - _irqbase; 155 GIC_SET_INTR_MASK(d->irq - gic_irq_base);
111 pr_debug("CPU%d: %s: irq%d\n", smp_processor_id(), __func__, irq);
112 GIC_SET_INTR_MASK(irq);
113} 156}
114 157
115#ifdef CONFIG_SMP 158#ifdef CONFIG_SMP
116
117static DEFINE_SPINLOCK(gic_lock); 159static DEFINE_SPINLOCK(gic_lock);
118 160
119static int gic_set_affinity(struct irq_data *d, const struct cpumask *cpumask, 161static int gic_set_affinity(struct irq_data *d, const struct cpumask *cpumask,
120 bool force) 162 bool force)
121{ 163{
122 unsigned int irq = d->irq - _irqbase; 164 unsigned int irq = (d->irq - gic_irq_base);
123 cpumask_t tmp = CPU_MASK_NONE; 165 cpumask_t tmp = CPU_MASK_NONE;
124 unsigned long flags; 166 unsigned long flags;
125 int i; 167 int i;
126 168
127 pr_debug("%s(%d) called\n", __func__, irq);
128 cpumask_and(&tmp, cpumask, cpu_online_mask); 169 cpumask_and(&tmp, cpumask, cpu_online_mask);
129 if (cpus_empty(tmp)) 170 if (cpus_empty(tmp))
130 return -1; 171 return -1;
@@ -154,7 +195,7 @@ static struct irq_chip gic_irq_controller = {
154 .irq_mask = gic_mask_irq, 195 .irq_mask = gic_mask_irq,
155 .irq_mask_ack = gic_mask_irq, 196 .irq_mask_ack = gic_mask_irq,
156 .irq_unmask = gic_unmask_irq, 197 .irq_unmask = gic_unmask_irq,
157 .irq_eoi = gic_unmask_irq, 198 .irq_eoi = gic_finish_irq,
158#ifdef CONFIG_SMP 199#ifdef CONFIG_SMP
159 .irq_set_affinity = gic_set_affinity, 200 .irq_set_affinity = gic_set_affinity,
160#endif 201#endif
@@ -164,6 +205,8 @@ static void __init gic_setup_intr(unsigned int intr, unsigned int cpu,
164 unsigned int pin, unsigned int polarity, unsigned int trigtype, 205 unsigned int pin, unsigned int polarity, unsigned int trigtype,
165 unsigned int flags) 206 unsigned int flags)
166{ 207{
208 struct gic_shared_intr_map *map_ptr;
209
167 /* Setup Intr to Pin mapping */ 210 /* Setup Intr to Pin mapping */
168 if (pin & GIC_MAP_TO_NMI_MSK) { 211 if (pin & GIC_MAP_TO_NMI_MSK) {
169 GICWRITE(GIC_REG_ADDR(SHARED, GIC_SH_MAP_TO_PIN(intr)), pin); 212 GICWRITE(GIC_REG_ADDR(SHARED, GIC_SH_MAP_TO_PIN(intr)), pin);
@@ -178,6 +221,14 @@ static void __init gic_setup_intr(unsigned int intr, unsigned int cpu,
178 GIC_MAP_TO_PIN_MSK | pin); 221 GIC_MAP_TO_PIN_MSK | pin);
179 /* Setup Intr to CPU mapping */ 222 /* Setup Intr to CPU mapping */
180 GIC_SH_MAP_TO_VPE_SMASK(intr, cpu); 223 GIC_SH_MAP_TO_VPE_SMASK(intr, cpu);
224 if (cpu_has_veic) {
225 set_vi_handler(pin + GIC_PIN_TO_VEC_OFFSET,
226 gic_eic_irq_dispatch);
227 map_ptr = &gic_shared_intr_map[pin + GIC_PIN_TO_VEC_OFFSET];
228 if (map_ptr->num_shared_intr >= GIC_MAX_SHARED_INTR)
229 BUG();
230 map_ptr->intr_list[map_ptr->num_shared_intr++] = intr;
231 }
181 } 232 }
182 233
183 /* Setup Intr Polarity */ 234 /* Setup Intr Polarity */
@@ -191,26 +242,39 @@ static void __init gic_setup_intr(unsigned int intr, unsigned int cpu,
191 /* Initialise per-cpu Interrupt software masks */ 242 /* Initialise per-cpu Interrupt software masks */
192 if (flags & GIC_FLAG_IPI) 243 if (flags & GIC_FLAG_IPI)
193 set_bit(intr, pcpu_masks[cpu].pcpu_mask); 244 set_bit(intr, pcpu_masks[cpu].pcpu_mask);
194 if (flags & GIC_FLAG_TRANSPARENT) 245 if ((flags & GIC_FLAG_TRANSPARENT) && (cpu_has_veic == 0))
195 GIC_SET_INTR_MASK(intr); 246 GIC_SET_INTR_MASK(intr);
196 if (trigtype == GIC_TRIG_EDGE) 247 if (trigtype == GIC_TRIG_EDGE)
197 gic_irq_flags[intr] |= GIC_IRQ_FLAG_EDGE; 248 gic_irq_flags[intr] |= GIC_TRIG_EDGE;
198} 249}
199 250
200static void __init gic_basic_init(int numintrs, int numvpes, 251static void __init gic_basic_init(int numintrs, int numvpes,
201 struct gic_intr_map *intrmap, int mapsize) 252 struct gic_intr_map *intrmap, int mapsize)
202{ 253{
203 unsigned int i, cpu; 254 unsigned int i, cpu;
255 unsigned int pin_offset = 0;
256
257 board_bind_eic_interrupt = &gic_bind_eic_interrupt;
204 258
205 /* Setup defaults */ 259 /* Setup defaults */
206 for (i = 0; i < numintrs; i++) { 260 for (i = 0; i < numintrs; i++) {
207 GIC_SET_POLARITY(i, GIC_POL_POS); 261 GIC_SET_POLARITY(i, GIC_POL_POS);
208 GIC_SET_TRIGGER(i, GIC_TRIG_LEVEL); 262 GIC_SET_TRIGGER(i, GIC_TRIG_LEVEL);
209 GIC_CLR_INTR_MASK(i); 263 GIC_CLR_INTR_MASK(i);
210 if (i < GIC_NUM_INTRS) 264 if (i < GIC_NUM_INTRS) {
211 gic_irq_flags[i] = 0; 265 gic_irq_flags[i] = 0;
266 gic_shared_intr_map[i].num_shared_intr = 0;
267 gic_shared_intr_map[i].local_intr_mask = 0;
268 }
212 } 269 }
213 270
271 /*
272 * In EIC mode, the HW_INT# is offset by (2-1). Need to subtract
273 * one because the GIC will add one (since 0=no intr).
274 */
275 if (cpu_has_veic)
276 pin_offset = (GIC_CPU_TO_VEC_OFFSET - GIC_PIN_TO_VEC_OFFSET);
277
214 /* Setup specifics */ 278 /* Setup specifics */
215 for (i = 0; i < mapsize; i++) { 279 for (i = 0; i < mapsize; i++) {
216 cpu = intrmap[i].cpunum; 280 cpu = intrmap[i].cpunum;
@@ -220,16 +284,13 @@ static void __init gic_basic_init(int numintrs, int numvpes,
220 continue; 284 continue;
221 gic_setup_intr(i, 285 gic_setup_intr(i,
222 intrmap[i].cpunum, 286 intrmap[i].cpunum,
223 intrmap[i].pin, 287 intrmap[i].pin + pin_offset,
224 intrmap[i].polarity, 288 intrmap[i].polarity,
225 intrmap[i].trigtype, 289 intrmap[i].trigtype,
226 intrmap[i].flags); 290 intrmap[i].flags);
227 } 291 }
228 292
229 vpe_local_setup(numvpes); 293 vpe_local_setup(numvpes);
230
231 for (i = _irqbase; i < (_irqbase + numintrs); i++)
232 irq_set_chip(i, &gic_irq_controller);
233} 294}
234 295
235void __init gic_init(unsigned long gic_base_addr, 296void __init gic_init(unsigned long gic_base_addr,
@@ -242,7 +303,7 @@ void __init gic_init(unsigned long gic_base_addr,
242 303
243 _gic_base = (unsigned long) ioremap_nocache(gic_base_addr, 304 _gic_base = (unsigned long) ioremap_nocache(gic_base_addr,
244 gic_addrspace_size); 305 gic_addrspace_size);
245 _irqbase = irqbase; 306 gic_irq_base = irqbase;
246 307
247 GICREAD(GIC_REG(SHARED, GIC_SH_CONFIG), gicconfig); 308 GICREAD(GIC_REG(SHARED, GIC_SH_CONFIG), gicconfig);
248 numintrs = (gicconfig & GIC_SH_CONFIG_NUMINTRS_MSK) >> 309 numintrs = (gicconfig & GIC_SH_CONFIG_NUMINTRS_MSK) >>
@@ -251,8 +312,9 @@ void __init gic_init(unsigned long gic_base_addr,
251 312
252 numvpes = (gicconfig & GIC_SH_CONFIG_NUMVPES_MSK) >> 313 numvpes = (gicconfig & GIC_SH_CONFIG_NUMVPES_MSK) >>
253 GIC_SH_CONFIG_NUMVPES_SHF; 314 GIC_SH_CONFIG_NUMVPES_SHF;
254 315 numvpes = numvpes + 1;
255 pr_debug("%s called\n", __func__);
256 316
257 gic_basic_init(numintrs, numvpes, intr_map, intr_map_size); 317 gic_basic_init(numintrs, numvpes, intr_map, intr_map_size);
318
319 gic_platform_init(numintrs, &gic_irq_controller);
258} 320}
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index a632bc144efa..374f66e05f3d 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -69,18 +69,7 @@ stack_done:
691: sw v0, PT_R2(sp) # result 691: sw v0, PT_R2(sp) # result
70 70
71o32_syscall_exit: 71o32_syscall_exit:
72 local_irq_disable # make sure need_resched and 72 j syscall_exit_partial
73 # signals dont change between
74 # sampling and return
75 lw a2, TI_FLAGS($28) # current->work
76 li t0, _TIF_ALLWORK_MASK
77 and t0, a2
78 bnez t0, o32_syscall_exit_work
79
80 j restore_partial
81
82o32_syscall_exit_work:
83 j syscall_exit_work_partial
84 73
85/* ------------------------------------------------------------------------ */ 74/* ------------------------------------------------------------------------ */
86 75
@@ -593,6 +582,7 @@ einval: li v0, -ENOSYS
593 sys sys_setns 2 582 sys sys_setns 2
594 sys sys_process_vm_readv 6 /* 4345 */ 583 sys sys_process_vm_readv 6 /* 4345 */
595 sys sys_process_vm_writev 6 584 sys sys_process_vm_writev 6
585 sys sys_kcmp 5
596 .endm 586 .endm
597 587
598 /* We pre-compute the number of _instruction_ bytes needed to 588 /* We pre-compute the number of _instruction_ bytes needed to
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
index 3b5a5e9ae49c..169de6a6d916 100644
--- a/arch/mips/kernel/scall64-64.S
+++ b/arch/mips/kernel/scall64-64.S
@@ -72,18 +72,7 @@ NESTED(handle_sys64, PT_SIZE, sp)
721: sd v0, PT_R2(sp) # result 721: sd v0, PT_R2(sp) # result
73 73
74n64_syscall_exit: 74n64_syscall_exit:
75 local_irq_disable # make sure need_resched and 75 j syscall_exit_partial
76 # signals dont change between
77 # sampling and return
78 LONG_L a2, TI_FLAGS($28) # current->work
79 li t0, _TIF_ALLWORK_MASK
80 and t0, a2, t0
81 bnez t0, n64_syscall_exit_work
82
83 j restore_partial
84
85n64_syscall_exit_work:
86 j syscall_exit_work_partial
87 76
88/* ------------------------------------------------------------------------ */ 77/* ------------------------------------------------------------------------ */
89 78
@@ -432,4 +421,5 @@ sys_call_table:
432 PTR sys_setns 421 PTR sys_setns
433 PTR sys_process_vm_readv 422 PTR sys_process_vm_readv
434 PTR sys_process_vm_writev /* 5305 */ 423 PTR sys_process_vm_writev /* 5305 */
424 PTR sys_kcmp
435 .size sys_call_table,.-sys_call_table 425 .size sys_call_table,.-sys_call_table
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index 6be6f7020923..f6ba8381ee01 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -70,18 +70,7 @@ NESTED(handle_sysn32, PT_SIZE, sp)
70 sd t1, PT_R0(sp) # save it for syscall restarting 70 sd t1, PT_R0(sp) # save it for syscall restarting
711: sd v0, PT_R2(sp) # result 711: sd v0, PT_R2(sp) # result
72 72
73 local_irq_disable # make sure need_resched and 73 j syscall_exit_partial
74 # signals dont change between
75 # sampling and return
76 LONG_L a2, TI_FLAGS($28) # current->work
77 li t0, _TIF_ALLWORK_MASK
78 and t0, a2, t0
79 bnez t0, n32_syscall_exit_work
80
81 j restore_partial
82
83n32_syscall_exit_work:
84 j syscall_exit_work_partial
85 74
86/* ------------------------------------------------------------------------ */ 75/* ------------------------------------------------------------------------ */
87 76
@@ -432,4 +421,5 @@ EXPORT(sysn32_call_table)
432 PTR sys_setns 421 PTR sys_setns
433 PTR compat_sys_process_vm_readv 422 PTR compat_sys_process_vm_readv
434 PTR compat_sys_process_vm_writev /* 6310 */ 423 PTR compat_sys_process_vm_writev /* 6310 */
424 PTR sys_kcmp
435 .size sysn32_call_table,.-sysn32_call_table 425 .size sysn32_call_table,.-sysn32_call_table
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index 54228553691d..53c2d7245764 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -99,18 +99,7 @@ NESTED(handle_sys, PT_SIZE, sp)
991: sd v0, PT_R2(sp) # result 991: sd v0, PT_R2(sp) # result
100 100
101o32_syscall_exit: 101o32_syscall_exit:
102 local_irq_disable # make need_resched and 102 j syscall_exit_partial
103 # signals dont change between
104 # sampling and return
105 LONG_L a2, TI_FLAGS($28)
106 li t0, _TIF_ALLWORK_MASK
107 and t0, a2, t0
108 bnez t0, o32_syscall_exit_work
109
110 j restore_partial
111
112o32_syscall_exit_work:
113 j syscall_exit_work_partial
114 103
115/* ------------------------------------------------------------------------ */ 104/* ------------------------------------------------------------------------ */
116 105
@@ -550,4 +539,5 @@ sys_call_table:
550 PTR sys_setns 539 PTR sys_setns
551 PTR compat_sys_process_vm_readv /* 4345 */ 540 PTR compat_sys_process_vm_readv /* 4345 */
552 PTR compat_sys_process_vm_writev 541 PTR compat_sys_process_vm_writev
542 PTR sys_kcmp
553 .size sys_call_table,.-sys_call_table 543 .size sys_call_table,.-sys_call_table
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index f2c09cfc60ac..0e1a5b8ae817 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -560,14 +560,6 @@ static void do_signal(struct pt_regs *regs)
560 siginfo_t info; 560 siginfo_t info;
561 int signr; 561 int signr;
562 562
563 /*
564 * We want the common case to go fast, which is why we may in certain
565 * cases get here from kernel mode. Just return without doing anything
566 * if so.
567 */
568 if (!user_mode(regs))
569 return;
570
571 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 563 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
572 if (signr > 0) { 564 if (signr > 0) {
573 /* Whee! Actually deliver the signal. */ 565 /* Whee! Actually deliver the signal. */
diff --git a/arch/mips/kernel/smp-mt.c b/arch/mips/kernel/smp-mt.c
index ff17868734cf..2defa2bbdaa7 100644
--- a/arch/mips/kernel/smp-mt.c
+++ b/arch/mips/kernel/smp-mt.c
@@ -150,6 +150,7 @@ static void vsmp_send_ipi_mask(const struct cpumask *mask, unsigned int action)
150 150
151static void __cpuinit vsmp_init_secondary(void) 151static void __cpuinit vsmp_init_secondary(void)
152{ 152{
153#ifdef CONFIG_IRQ_GIC
153 extern int gic_present; 154 extern int gic_present;
154 155
155 /* This is Malta specific: IPI,performance and timer interrupts */ 156 /* This is Malta specific: IPI,performance and timer interrupts */
@@ -157,6 +158,7 @@ static void __cpuinit vsmp_init_secondary(void)
157 change_c0_status(ST0_IM, STATUSF_IP3 | STATUSF_IP4 | 158 change_c0_status(ST0_IM, STATUSF_IP3 | STATUSF_IP4 |
158 STATUSF_IP6 | STATUSF_IP7); 159 STATUSF_IP6 | STATUSF_IP7);
159 else 160 else
161#endif
160 change_c0_status(ST0_IM, STATUSF_IP0 | STATUSF_IP1 | 162 change_c0_status(ST0_IM, STATUSF_IP0 | STATUSF_IP1 |
161 STATUSF_IP6 | STATUSF_IP7); 163 STATUSF_IP6 | STATUSF_IP7);
162} 164}
diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
index 20bdf40b3efa..d84f361f1e45 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -2,6 +2,7 @@ if LANTIQ
2 2
3config SOC_TYPE_XWAY 3config SOC_TYPE_XWAY
4 bool 4 bool
5 select PINCTRL_XWAY
5 default n 6 default n
6 7
7choice 8choice
@@ -19,6 +20,7 @@ config SOC_XWAY
19 20
20config SOC_FALCON 21config SOC_FALCON
21 bool "FALCON" 22 bool "FALCON"
23 select PINCTRL_FALCON
22 24
23endchoice 25endchoice
24 26
diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c
index c1d278f05a3a..aa9497947859 100644
--- a/arch/mips/lantiq/falcon/prom.c
+++ b/arch/mips/lantiq/falcon/prom.c
@@ -8,6 +8,8 @@
8 */ 8 */
9 9
10#include <linux/kernel.h> 10#include <linux/kernel.h>
11#include <asm/cacheflush.h>
12#include <asm/traps.h>
11#include <asm/io.h> 13#include <asm/io.h>
12 14
13#include <lantiq_soc.h> 15#include <lantiq_soc.h>
@@ -84,4 +86,7 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
84 unreachable(); 86 unreachable();
85 break; 87 break;
86 } 88 }
89
90 board_nmi_handler_setup = ltq_soc_nmi_setup;
91 board_ejtag_handler_setup = ltq_soc_ejtag_setup;
87} 92}
diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
index ba0123d13d40..2d4ced332b37 100644
--- a/arch/mips/lantiq/falcon/sysctrl.c
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -171,6 +171,7 @@ static inline void clkdev_add_sys(const char *dev, unsigned int module,
171 clk->cl.con_id = NULL; 171 clk->cl.con_id = NULL;
172 clk->cl.clk = clk; 172 clk->cl.clk = clk;
173 clk->module = module; 173 clk->module = module;
174 clk->bits = bits;
174 clk->activate = sysctl_activate; 175 clk->activate = sysctl_activate;
175 clk->deactivate = sysctl_deactivate; 176 clk->deactivate = sysctl_deactivate;
176 clk->enable = sysctl_clken; 177 clk->enable = sysctl_clken;
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index 57c1a4e51408..f36acd1b3808 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -55,8 +55,8 @@
55 */ 55 */
56#define LTQ_ICU_EBU_IRQ 22 56#define LTQ_ICU_EBU_IRQ 22
57 57
58#define ltq_icu_w32(x, y) ltq_w32((x), ltq_icu_membase + (y)) 58#define ltq_icu_w32(m, x, y) ltq_w32((x), ltq_icu_membase[m] + (y))
59#define ltq_icu_r32(x) ltq_r32(ltq_icu_membase + (x)) 59#define ltq_icu_r32(m, x) ltq_r32(ltq_icu_membase[m] + (x))
60 60
61#define ltq_eiu_w32(x, y) ltq_w32((x), ltq_eiu_membase + (y)) 61#define ltq_eiu_w32(x, y) ltq_w32((x), ltq_eiu_membase + (y))
62#define ltq_eiu_r32(x) ltq_r32(ltq_eiu_membase + (x)) 62#define ltq_eiu_r32(x) ltq_r32(ltq_eiu_membase + (x))
@@ -82,17 +82,18 @@ static unsigned short ltq_eiu_irq[MAX_EIU] = {
82}; 82};
83 83
84static int exin_avail; 84static int exin_avail;
85static void __iomem *ltq_icu_membase; 85static void __iomem *ltq_icu_membase[MAX_IM];
86static void __iomem *ltq_eiu_membase; 86static void __iomem *ltq_eiu_membase;
87static struct irq_domain *ltq_domain;
87 88
88void ltq_disable_irq(struct irq_data *d) 89void ltq_disable_irq(struct irq_data *d)
89{ 90{
90 u32 ier = LTQ_ICU_IM0_IER; 91 u32 ier = LTQ_ICU_IM0_IER;
91 int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE; 92 int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
93 int im = offset / INT_NUM_IM_OFFSET;
92 94
93 ier += LTQ_ICU_OFFSET * (offset / INT_NUM_IM_OFFSET);
94 offset %= INT_NUM_IM_OFFSET; 95 offset %= INT_NUM_IM_OFFSET;
95 ltq_icu_w32(ltq_icu_r32(ier) & ~BIT(offset), ier); 96 ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier);
96} 97}
97 98
98void ltq_mask_and_ack_irq(struct irq_data *d) 99void ltq_mask_and_ack_irq(struct irq_data *d)
@@ -100,32 +101,31 @@ void ltq_mask_and_ack_irq(struct irq_data *d)
100 u32 ier = LTQ_ICU_IM0_IER; 101 u32 ier = LTQ_ICU_IM0_IER;
101 u32 isr = LTQ_ICU_IM0_ISR; 102 u32 isr = LTQ_ICU_IM0_ISR;
102 int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE; 103 int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
104 int im = offset / INT_NUM_IM_OFFSET;
103 105
104 ier += LTQ_ICU_OFFSET * (offset / INT_NUM_IM_OFFSET);
105 isr += LTQ_ICU_OFFSET * (offset / INT_NUM_IM_OFFSET);
106 offset %= INT_NUM_IM_OFFSET; 106 offset %= INT_NUM_IM_OFFSET;
107 ltq_icu_w32(ltq_icu_r32(ier) & ~BIT(offset), ier); 107 ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier);
108 ltq_icu_w32(BIT(offset), isr); 108 ltq_icu_w32(im, BIT(offset), isr);
109} 109}
110 110
111static void ltq_ack_irq(struct irq_data *d) 111static void ltq_ack_irq(struct irq_data *d)
112{ 112{
113 u32 isr = LTQ_ICU_IM0_ISR; 113 u32 isr = LTQ_ICU_IM0_ISR;
114 int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE; 114 int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
115 int im = offset / INT_NUM_IM_OFFSET;
115 116
116 isr += LTQ_ICU_OFFSET * (offset / INT_NUM_IM_OFFSET);
117 offset %= INT_NUM_IM_OFFSET; 117 offset %= INT_NUM_IM_OFFSET;
118 ltq_icu_w32(BIT(offset), isr); 118 ltq_icu_w32(im, BIT(offset), isr);
119} 119}
120 120
121void ltq_enable_irq(struct irq_data *d) 121void ltq_enable_irq(struct irq_data *d)
122{ 122{
123 u32 ier = LTQ_ICU_IM0_IER; 123 u32 ier = LTQ_ICU_IM0_IER;
124 int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE; 124 int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
125 int im = offset / INT_NUM_IM_OFFSET;
125 126
126 ier += LTQ_ICU_OFFSET * (offset / INT_NUM_IM_OFFSET);
127 offset %= INT_NUM_IM_OFFSET; 127 offset %= INT_NUM_IM_OFFSET;
128 ltq_icu_w32(ltq_icu_r32(ier) | BIT(offset), ier); 128 ltq_icu_w32(im, ltq_icu_r32(im, ier) | BIT(offset), ier);
129} 129}
130 130
131static unsigned int ltq_startup_eiu_irq(struct irq_data *d) 131static unsigned int ltq_startup_eiu_irq(struct irq_data *d)
@@ -192,7 +192,7 @@ static void ltq_hw_irqdispatch(int module)
192{ 192{
193 u32 irq; 193 u32 irq;
194 194
195 irq = ltq_icu_r32(LTQ_ICU_IM0_IOSR + (module * LTQ_ICU_OFFSET)); 195 irq = ltq_icu_r32(module, LTQ_ICU_IM0_IOSR);
196 if (irq == 0) 196 if (irq == 0)
197 return; 197 return;
198 198
@@ -220,10 +220,14 @@ DEFINE_HWx_IRQDISPATCH(2)
220DEFINE_HWx_IRQDISPATCH(3) 220DEFINE_HWx_IRQDISPATCH(3)
221DEFINE_HWx_IRQDISPATCH(4) 221DEFINE_HWx_IRQDISPATCH(4)
222 222
223#if MIPS_CPU_TIMER_IRQ == 7
223static void ltq_hw5_irqdispatch(void) 224static void ltq_hw5_irqdispatch(void)
224{ 225{
225 do_IRQ(MIPS_CPU_TIMER_IRQ); 226 do_IRQ(MIPS_CPU_TIMER_IRQ);
226} 227}
228#else
229DEFINE_HWx_IRQDISPATCH(5)
230#endif
227 231
228#ifdef CONFIG_MIPS_MT_SMP 232#ifdef CONFIG_MIPS_MT_SMP
229void __init arch_init_ipiirq(int irq, struct irqaction *action) 233void __init arch_init_ipiirq(int irq, struct irqaction *action)
@@ -271,11 +275,11 @@ asmlinkage void plat_irq_dispatch(void)
271 unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM; 275 unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
272 unsigned int i; 276 unsigned int i;
273 277
274 if (pending & CAUSEF_IP7) { 278 if ((MIPS_CPU_TIMER_IRQ == 7) && (pending & CAUSEF_IP7)) {
275 do_IRQ(MIPS_CPU_TIMER_IRQ); 279 do_IRQ(MIPS_CPU_TIMER_IRQ);
276 goto out; 280 goto out;
277 } else { 281 } else {
278 for (i = 0; i < 5; i++) { 282 for (i = 0; i < MAX_IM; i++) {
279 if (pending & (CAUSEF_IP2 << i)) { 283 if (pending & (CAUSEF_IP2 << i)) {
280 ltq_hw_irqdispatch(i); 284 ltq_hw_irqdispatch(i);
281 goto out; 285 goto out;
@@ -293,6 +297,9 @@ static int icu_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw)
293 struct irq_chip *chip = &ltq_irq_type; 297 struct irq_chip *chip = &ltq_irq_type;
294 int i; 298 int i;
295 299
300 if (hw < MIPS_CPU_IRQ_CASCADE)
301 return 0;
302
296 for (i = 0; i < exin_avail; i++) 303 for (i = 0; i < exin_avail; i++)
297 if (hw == ltq_eiu_irq[i]) 304 if (hw == ltq_eiu_irq[i])
298 chip = &ltq_eiu_type; 305 chip = &ltq_eiu_type;
@@ -318,19 +325,23 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent)
318 struct resource res; 325 struct resource res;
319 int i; 326 int i;
320 327
321 if (of_address_to_resource(node, 0, &res)) 328 for (i = 0; i < MAX_IM; i++) {
322 panic("Failed to get icu memory range"); 329 if (of_address_to_resource(node, i, &res))
330 panic("Failed to get icu memory range");
323 331
324 if (request_mem_region(res.start, resource_size(&res), res.name) < 0) 332 if (request_mem_region(res.start, resource_size(&res),
325 pr_err("Failed to request icu memory"); 333 res.name) < 0)
334 pr_err("Failed to request icu memory");
326 335
327 ltq_icu_membase = ioremap_nocache(res.start, resource_size(&res)); 336 ltq_icu_membase[i] = ioremap_nocache(res.start,
328 if (!ltq_icu_membase) 337 resource_size(&res));
329 panic("Failed to remap icu memory"); 338 if (!ltq_icu_membase[i])
339 panic("Failed to remap icu memory");
340 }
330 341
331 /* the external interrupts are optional and xway only */ 342 /* the external interrupts are optional and xway only */
332 eiu_node = of_find_compatible_node(NULL, NULL, "lantiq,eiu"); 343 eiu_node = of_find_compatible_node(NULL, NULL, "lantiq,eiu");
333 if (eiu_node && of_address_to_resource(eiu_node, 0, &res)) { 344 if (eiu_node && !of_address_to_resource(eiu_node, 0, &res)) {
334 /* find out how many external irq sources we have */ 345 /* find out how many external irq sources we have */
335 const __be32 *count = of_get_property(node, 346 const __be32 *count = of_get_property(node,
336 "lantiq,count", NULL); 347 "lantiq,count", NULL);
@@ -351,17 +362,17 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent)
351 } 362 }
352 363
353 /* turn off all irqs by default */ 364 /* turn off all irqs by default */
354 for (i = 0; i < 5; i++) { 365 for (i = 0; i < MAX_IM; i++) {
355 /* make sure all irqs are turned off by default */ 366 /* make sure all irqs are turned off by default */
356 ltq_icu_w32(0, LTQ_ICU_IM0_IER + (i * LTQ_ICU_OFFSET)); 367 ltq_icu_w32(i, 0, LTQ_ICU_IM0_IER);
357 /* clear all possibly pending interrupts */ 368 /* clear all possibly pending interrupts */
358 ltq_icu_w32(~0, LTQ_ICU_IM0_ISR + (i * LTQ_ICU_OFFSET)); 369 ltq_icu_w32(i, ~0, LTQ_ICU_IM0_ISR);
359 } 370 }
360 371
361 mips_cpu_irq_init(); 372 mips_cpu_irq_init();
362 373
363 for (i = 2; i <= 6; i++) 374 for (i = 0; i < MAX_IM; i++)
364 setup_irq(i, &cascade); 375 setup_irq(i + 2, &cascade);
365 376
366 if (cpu_has_vint) { 377 if (cpu_has_vint) {
367 pr_info("Setting up vectored interrupts\n"); 378 pr_info("Setting up vectored interrupts\n");
@@ -373,7 +384,8 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent)
373 set_vi_handler(7, ltq_hw5_irqdispatch); 384 set_vi_handler(7, ltq_hw5_irqdispatch);
374 } 385 }
375 386
376 irq_domain_add_linear(node, 6 * INT_NUM_IM_OFFSET, 387 ltq_domain = irq_domain_add_linear(node,
388 (MAX_IM * INT_NUM_IM_OFFSET) + MIPS_CPU_IRQ_CASCADE,
377 &irq_domain_ops, 0); 389 &irq_domain_ops, 0);
378 390
379#if defined(CONFIG_MIPS_MT_SMP) 391#if defined(CONFIG_MIPS_MT_SMP)
@@ -397,12 +409,20 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent)
397 409
398 /* tell oprofile which irq to use */ 410 /* tell oprofile which irq to use */
399 cp0_perfcount_irq = LTQ_PERF_IRQ; 411 cp0_perfcount_irq = LTQ_PERF_IRQ;
412
413 /*
414 * if the timer irq is not one of the mips irqs we need to
415 * create a mapping
416 */
417 if (MIPS_CPU_TIMER_IRQ != 7)
418 irq_create_mapping(ltq_domain, MIPS_CPU_TIMER_IRQ);
419
400 return 0; 420 return 0;
401} 421}
402 422
403unsigned int __cpuinit get_c0_compare_int(void) 423unsigned int __cpuinit get_c0_compare_int(void)
404{ 424{
405 return CP0_LEGACY_COMPARE_IRQ; 425 return MIPS_CPU_TIMER_IRQ;
406} 426}
407 427
408static struct of_device_id __initdata of_irq_ids[] = { 428static struct of_device_id __initdata of_irq_ids[] = {
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index dc3194f6ee42..70a58c747bd0 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1 +1 @@
obj-y := prom.o sysctrl.o clk.o reset.o gpio.o dma.o obj-y := prom.o sysctrl.o clk.o reset.o dma.o gptu.o
diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
deleted file mode 100644
index 2ab39e93d9be..000000000000
--- a/arch/mips/lantiq/xway/gpio.c
+++ /dev/null
@@ -1,183 +0,0 @@
1/*
2 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License version 2 as published
4 * by the Free Software Foundation.
5 *
6 * Copyright (C) 2010 John Crispin <blogic@openwrt.org>
7 */
8
9#include <linux/slab.h>
10#include <linux/export.h>
11#include <linux/platform_device.h>
12#include <linux/gpio.h>
13#include <linux/ioport.h>
14#include <linux/io.h>
15
16#include <lantiq_soc.h>
17
18#define LTQ_GPIO_OUT 0x00
19#define LTQ_GPIO_IN 0x04
20#define LTQ_GPIO_DIR 0x08
21#define LTQ_GPIO_ALTSEL0 0x0C
22#define LTQ_GPIO_ALTSEL1 0x10
23#define LTQ_GPIO_OD 0x14
24
25#define PINS_PER_PORT 16
26#define MAX_PORTS 3
27
28#define ltq_gpio_getbit(m, r, p) (!!(ltq_r32(m + r) & (1 << p)))
29#define ltq_gpio_setbit(m, r, p) ltq_w32_mask(0, (1 << p), m + r)
30#define ltq_gpio_clearbit(m, r, p) ltq_w32_mask((1 << p), 0, m + r)
31
32struct ltq_gpio {
33 void __iomem *membase;
34 struct gpio_chip chip;
35};
36
37static struct ltq_gpio ltq_gpio_port[MAX_PORTS];
38
39int ltq_gpio_request(unsigned int pin, unsigned int alt0,
40 unsigned int alt1, unsigned int dir, const char *name)
41{
42 int id = 0;
43
44 if (pin >= (MAX_PORTS * PINS_PER_PORT))
45 return -EINVAL;
46 if (gpio_request(pin, name)) {
47 pr_err("failed to setup lantiq gpio: %s\n", name);
48 return -EBUSY;
49 }
50 if (dir)
51 gpio_direction_output(pin, 1);
52 else
53 gpio_direction_input(pin);
54 while (pin >= PINS_PER_PORT) {
55 pin -= PINS_PER_PORT;
56 id++;
57 }
58 if (alt0)
59 ltq_gpio_setbit(ltq_gpio_port[id].membase,
60 LTQ_GPIO_ALTSEL0, pin);
61 else
62 ltq_gpio_clearbit(ltq_gpio_port[id].membase,
63 LTQ_GPIO_ALTSEL0, pin);
64 if (alt1)
65 ltq_gpio_setbit(ltq_gpio_port[id].membase,
66 LTQ_GPIO_ALTSEL1, pin);
67 else
68 ltq_gpio_clearbit(ltq_gpio_port[id].membase,
69 LTQ_GPIO_ALTSEL1, pin);
70 return 0;
71}
72EXPORT_SYMBOL(ltq_gpio_request);
73
74static void ltq_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
75{
76 struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
77
78 if (value)
79 ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_OUT, offset);
80 else
81 ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_OUT, offset);
82}
83
84static int ltq_gpio_get(struct gpio_chip *chip, unsigned int offset)
85{
86 struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
87
88 return ltq_gpio_getbit(ltq_gpio->membase, LTQ_GPIO_IN, offset);
89}
90
91static int ltq_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
92{
93 struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
94
95 ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_OD, offset);
96 ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_DIR, offset);
97
98 return 0;
99}
100
101static int ltq_gpio_direction_output(struct gpio_chip *chip,
102 unsigned int offset, int value)
103{
104 struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
105
106 ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_OD, offset);
107 ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_DIR, offset);
108 ltq_gpio_set(chip, offset, value);
109
110 return 0;
111}
112
113static int ltq_gpio_req(struct gpio_chip *chip, unsigned offset)
114{
115 struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
116
117 ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_ALTSEL0, offset);
118 ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_ALTSEL1, offset);
119 return 0;
120}
121
122static int ltq_gpio_probe(struct platform_device *pdev)
123{
124 struct resource *res;
125
126 if (pdev->id >= MAX_PORTS) {
127 dev_err(&pdev->dev, "invalid gpio port %d\n",
128 pdev->id);
129 return -EINVAL;
130 }
131 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
132 if (!res) {
133 dev_err(&pdev->dev, "failed to get memory for gpio port %d\n",
134 pdev->id);
135 return -ENOENT;
136 }
137 res = devm_request_mem_region(&pdev->dev, res->start,
138 resource_size(res), dev_name(&pdev->dev));
139 if (!res) {
140 dev_err(&pdev->dev,
141 "failed to request memory for gpio port %d\n",
142 pdev->id);
143 return -EBUSY;
144 }
145 ltq_gpio_port[pdev->id].membase = devm_ioremap_nocache(&pdev->dev,
146 res->start, resource_size(res));
147 if (!ltq_gpio_port[pdev->id].membase) {
148 dev_err(&pdev->dev, "failed to remap memory for gpio port %d\n",
149 pdev->id);
150 return -ENOMEM;
151 }
152 ltq_gpio_port[pdev->id].chip.label = "ltq_gpio";
153 ltq_gpio_port[pdev->id].chip.direction_input = ltq_gpio_direction_input;
154 ltq_gpio_port[pdev->id].chip.direction_output =
155 ltq_gpio_direction_output;
156 ltq_gpio_port[pdev->id].chip.get = ltq_gpio_get;
157 ltq_gpio_port[pdev->id].chip.set = ltq_gpio_set;
158 ltq_gpio_port[pdev->id].chip.request = ltq_gpio_req;
159 ltq_gpio_port[pdev->id].chip.base = PINS_PER_PORT * pdev->id;
160 ltq_gpio_port[pdev->id].chip.ngpio = PINS_PER_PORT;
161 platform_set_drvdata(pdev, &ltq_gpio_port[pdev->id]);
162 return gpiochip_add(&ltq_gpio_port[pdev->id].chip);
163}
164
165static struct platform_driver
166ltq_gpio_driver = {
167 .probe = ltq_gpio_probe,
168 .driver = {
169 .name = "ltq_gpio",
170 .owner = THIS_MODULE,
171 },
172};
173
174int __init ltq_gpio_init(void)
175{
176 int ret = platform_driver_register(&ltq_gpio_driver);
177
178 if (ret)
179 pr_info("ltq_gpio : Error registering platform driver!");
180 return ret;
181}
182
183postcore_initcall(ltq_gpio_init);
diff --git a/arch/mips/lantiq/xway/gptu.c b/arch/mips/lantiq/xway/gptu.c
new file mode 100644
index 000000000000..cbb56fc022bc
--- /dev/null
+++ b/arch/mips/lantiq/xway/gptu.c
@@ -0,0 +1,214 @@
1/*
2 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License version 2 as published
4 * by the Free Software Foundation.
5 *
6 * Copyright (C) 2012 John Crispin <blogic@openwrt.org>
7 * Copyright (C) 2012 Lantiq GmbH
8 */
9
10#include <linux/interrupt.h>
11#include <linux/ioport.h>
12#include <linux/module.h>
13#include <linux/of_platform.h>
14#include <linux/of_irq.h>
15
16#include <lantiq_soc.h>
17#include "../clk.h"
18
19/* the magic ID byte of the core */
20#define GPTU_MAGIC 0x59
21/* clock control register */
22#define GPTU_CLC 0x00
23/* id register */
24#define GPTU_ID 0x08
25/* interrupt node enable */
26#define GPTU_IRNEN 0xf4
27/* interrupt control register */
28#define GPTU_IRCR 0xf8
29/* interrupt capture register */
30#define GPTU_IRNCR 0xfc
31/* there are 3 identical blocks of 2 timers. calculate register offsets */
32#define GPTU_SHIFT(x) (x % 2 ? 4 : 0)
33#define GPTU_BASE(x) (((x >> 1) * 0x20) + 0x10)
34/* timer control register */
35#define GPTU_CON(x) (GPTU_BASE(x) + GPTU_SHIFT(x) + 0x00)
36/* timer auto reload register */
37#define GPTU_RUN(x) (GPTU_BASE(x) + GPTU_SHIFT(x) + 0x08)
38/* timer manual reload register */
39#define GPTU_RLD(x) (GPTU_BASE(x) + GPTU_SHIFT(x) + 0x10)
40/* timer count register */
41#define GPTU_CNT(x) (GPTU_BASE(x) + GPTU_SHIFT(x) + 0x18)
42
43/* GPTU_CON(x) */
44#define CON_CNT BIT(2)
45#define CON_EDGE_ANY (BIT(7) | BIT(6))
46#define CON_SYNC BIT(8)
47#define CON_CLK_INT BIT(10)
48
49/* GPTU_RUN(x) */
50#define RUN_SEN BIT(0)
51#define RUN_RL BIT(2)
52
53/* set clock to runmode */
54#define CLC_RMC BIT(8)
55/* bring core out of suspend */
56#define CLC_SUSPEND BIT(4)
57/* the disable bit */
58#define CLC_DISABLE BIT(0)
59
60#define gptu_w32(x, y) ltq_w32((x), gptu_membase + (y))
61#define gptu_r32(x) ltq_r32(gptu_membase + (x))
62
63enum gptu_timer {
64 TIMER1A = 0,
65 TIMER1B,
66 TIMER2A,
67 TIMER2B,
68 TIMER3A,
69 TIMER3B
70};
71
72static void __iomem *gptu_membase;
73static struct resource irqres[6];
74
75static irqreturn_t timer_irq_handler(int irq, void *priv)
76{
77 int timer = irq - irqres[0].start;
78 gptu_w32(1 << timer, GPTU_IRNCR);
79 return IRQ_HANDLED;
80}
81
82static void gptu_hwinit(void)
83{
84 gptu_w32(0x00, GPTU_IRNEN);
85 gptu_w32(0xff, GPTU_IRNCR);
86 gptu_w32(CLC_RMC | CLC_SUSPEND, GPTU_CLC);
87}
88
89static void gptu_hwexit(void)
90{
91 gptu_w32(0x00, GPTU_IRNEN);
92 gptu_w32(0xff, GPTU_IRNCR);
93 gptu_w32(CLC_DISABLE, GPTU_CLC);
94}
95
96static int gptu_enable(struct clk *clk)
97{
98 int ret = request_irq(irqres[clk->bits].start, timer_irq_handler,
99 IRQF_TIMER, "gtpu", NULL);
100 if (ret) {
101 pr_err("gptu: failed to request irq\n");
102 return ret;
103 }
104
105 gptu_w32(CON_CNT | CON_EDGE_ANY | CON_SYNC | CON_CLK_INT,
106 GPTU_CON(clk->bits));
107 gptu_w32(1, GPTU_RLD(clk->bits));
108 gptu_w32(gptu_r32(GPTU_IRNEN) | BIT(clk->bits), GPTU_IRNEN);
109 gptu_w32(RUN_SEN | RUN_RL, GPTU_RUN(clk->bits));
110 return 0;
111}
112
113static void gptu_disable(struct clk *clk)
114{
115 gptu_w32(0, GPTU_RUN(clk->bits));
116 gptu_w32(0, GPTU_CON(clk->bits));
117 gptu_w32(0, GPTU_RLD(clk->bits));
118 gptu_w32(gptu_r32(GPTU_IRNEN) & ~BIT(clk->bits), GPTU_IRNEN);
119 free_irq(irqres[clk->bits].start, NULL);
120}
121
122static inline void clkdev_add_gptu(struct device *dev, const char *con,
123 unsigned int timer)
124{
125 struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
126
127 clk->cl.dev_id = dev_name(dev);
128 clk->cl.con_id = con;
129 clk->cl.clk = clk;
130 clk->enable = gptu_enable;
131 clk->disable = gptu_disable;
132 clk->bits = timer;
133 clkdev_add(&clk->cl);
134}
135
136static int __devinit gptu_probe(struct platform_device *pdev)
137{
138 struct clk *clk;
139 struct resource *res;
140
141 if (of_irq_to_resource_table(pdev->dev.of_node, irqres, 6) != 6) {
142 dev_err(&pdev->dev, "Failed to get IRQ list\n");
143 return -EINVAL;
144 }
145
146 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
147 if (!res) {
148 dev_err(&pdev->dev, "Failed to get resource\n");
149 return -ENOMEM;
150 }
151
152 /* remap gptu register range */
153 gptu_membase = devm_request_and_ioremap(&pdev->dev, res);
154 if (!gptu_membase) {
155 dev_err(&pdev->dev, "Failed to remap resource\n");
156 return -ENOMEM;
157 }
158
159 /* enable our clock */
160 clk = clk_get(&pdev->dev, NULL);
161 if (IS_ERR(clk)) {
162 dev_err(&pdev->dev, "Failed to get clock\n");
163 return -ENOENT;
164 }
165 clk_enable(clk);
166
167 /* power up the core */
168 gptu_hwinit();
169
170 /* the gptu has a ID register */
171 if (((gptu_r32(GPTU_ID) >> 8) & 0xff) != GPTU_MAGIC) {
172 dev_err(&pdev->dev, "Failed to find magic\n");
173 gptu_hwexit();
174 return -ENAVAIL;
175 }
176
177 /* register the clocks */
178 clkdev_add_gptu(&pdev->dev, "timer1a", TIMER1A);
179 clkdev_add_gptu(&pdev->dev, "timer1b", TIMER1B);
180 clkdev_add_gptu(&pdev->dev, "timer2a", TIMER2A);
181 clkdev_add_gptu(&pdev->dev, "timer2b", TIMER2B);
182 clkdev_add_gptu(&pdev->dev, "timer3a", TIMER3A);
183 clkdev_add_gptu(&pdev->dev, "timer3b", TIMER3B);
184
185 dev_info(&pdev->dev, "gptu: 6 timers loaded\n");
186
187 return 0;
188}
189
190static const struct of_device_id gptu_match[] = {
191 { .compatible = "lantiq,gptu-xway" },
192 {},
193};
194MODULE_DEVICE_TABLE(of, dma_match);
195
196static struct platform_driver dma_driver = {
197 .probe = gptu_probe,
198 .driver = {
199 .name = "gptu-xway",
200 .owner = THIS_MODULE,
201 .of_match_table = gptu_match,
202 },
203};
204
205int __init gptu_init(void)
206{
207 int ret = platform_driver_register(&dma_driver);
208
209 if (ret)
210 pr_info("gptu: Error registering platform driver\n");
211 return ret;
212}
213
214arch_initcall(gptu_init);
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index befbb760ab76..2917b56b6b25 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -145,7 +145,8 @@ static int pci_enable(struct clk *clk)
145{ 145{
146 unsigned int val = ltq_cgu_r32(ifccr); 146 unsigned int val = ltq_cgu_r32(ifccr);
147 /* set bus clock speed */ 147 /* set bus clock speed */
148 if (of_machine_is_compatible("lantiq,ar9")) { 148 if (of_machine_is_compatible("lantiq,ar9") ||
149 of_machine_is_compatible("lantiq,vr9")) {
149 val &= ~0x1f00000; 150 val &= ~0x1f00000;
150 if (clk->rate == CLOCK_33M) 151 if (clk->rate == CLOCK_33M)
151 val |= 0xe00000; 152 val |= 0xe00000;
@@ -187,10 +188,12 @@ static int clkout_enable(struct clk *clk)
187 for (i = 0; i < 4; i++) { 188 for (i = 0; i < 4; i++) {
188 if (clk->rates[i] == clk->rate) { 189 if (clk->rates[i] == clk->rate) {
189 int shift = 14 - (2 * clk->module); 190 int shift = 14 - (2 * clk->module);
191 int enable = 7 - clk->module;
190 unsigned int val = ltq_cgu_r32(ifccr); 192 unsigned int val = ltq_cgu_r32(ifccr);
191 193
192 val &= ~(3 << shift); 194 val &= ~(3 << shift);
193 val |= i << shift; 195 val |= i << shift;
196 val |= enable;
194 ltq_cgu_w32(val, ifccr); 197 ltq_cgu_w32(val, ifccr);
195 return 0; 198 return 0;
196 } 199 }
diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
index 399a50a541d4..c4a82e841c73 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -8,28 +8,9 @@ lib-y += csum_partial.o delay.o memcpy.o memset.o \
8obj-y += iomap.o 8obj-y += iomap.o
9obj-$(CONFIG_PCI) += iomap-pci.o 9obj-$(CONFIG_PCI) += iomap-pci.o
10 10
11obj-$(CONFIG_CPU_LOONGSON2) += dump_tlb.o 11obj-$(CONFIG_CPU_GENERIC_DUMP_TLB) += dump_tlb.o
12obj-$(CONFIG_CPU_MIPS32) += dump_tlb.o
13obj-$(CONFIG_CPU_MIPS64) += dump_tlb.o
14obj-$(CONFIG_CPU_NEVADA) += dump_tlb.o
15obj-$(CONFIG_CPU_R10000) += dump_tlb.o
16obj-$(CONFIG_CPU_R3000) += r3k_dump_tlb.o 12obj-$(CONFIG_CPU_R3000) += r3k_dump_tlb.o
17obj-$(CONFIG_CPU_R4300) += dump_tlb.o
18obj-$(CONFIG_CPU_R4X00) += dump_tlb.o
19obj-$(CONFIG_CPU_R5000) += dump_tlb.o
20obj-$(CONFIG_CPU_R5432) += dump_tlb.o
21obj-$(CONFIG_CPU_R5500) += dump_tlb.o
22obj-$(CONFIG_CPU_R6000) +=
23obj-$(CONFIG_CPU_R8000) +=
24obj-$(CONFIG_CPU_RM7000) += dump_tlb.o
25obj-$(CONFIG_CPU_RM9000) += dump_tlb.o
26obj-$(CONFIG_CPU_SB1) += dump_tlb.o
27obj-$(CONFIG_CPU_TX39XX) += r3k_dump_tlb.o 13obj-$(CONFIG_CPU_TX39XX) += r3k_dump_tlb.o
28obj-$(CONFIG_CPU_TX49XX) += dump_tlb.o
29obj-$(CONFIG_CPU_VR41XX) += dump_tlb.o
30obj-$(CONFIG_CPU_CAVIUM_OCTEON) += dump_tlb.o
31obj-$(CONFIG_CPU_XLR) += dump_tlb.o
32obj-$(CONFIG_CPU_XLP) += dump_tlb.o
33 14
34# libgcc-style stuff needed in the kernel 15# libgcc-style stuff needed in the kernel
35obj-y += ashldi3.o ashrdi3.o cmpdi2.o lshrdi3.o ucmpdi2.o 16obj-y += ashldi3.o ashrdi3.o cmpdi2.o lshrdi3.o ucmpdi2.o
diff --git a/arch/mips/mipssim/Makefile b/arch/mips/mipssim/Makefile
deleted file mode 100644
index 01410a3f1729..000000000000
--- a/arch/mips/mipssim/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
1#
2# Copyright (C) 2005 MIPS Technologies, Inc. All rights reserved.
3# Copyright (C) 2007 MIPS Technologies, Inc.
4# written by Ralf Baechle (ralf@linux-mips.org)
5#
6# This program is free software; you can distribute it and/or modify it
7# under the terms of the GNU General Public License (Version 2) as
8# published by the Free Software Foundation.
9#
10# This program is distributed in the hope it will be useful, but WITHOUT
11# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13# for more details.
14#
15# You should have received a copy of the GNU General Public License along
16# with this program; if not, write to the Free Software Foundation, Inc.,
17# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
18#
19
20obj-y := sim_platform.o sim_setup.o sim_mem.o sim_time.o sim_int.o
21
22obj-$(CONFIG_EARLY_PRINTK) += sim_console.o
23obj-$(CONFIG_MIPS_MT_SMTC) += sim_smtc.o
diff --git a/arch/mips/mipssim/Platform b/arch/mips/mipssim/Platform
deleted file mode 100644
index 3df60b8a12ef..000000000000
--- a/arch/mips/mipssim/Platform
+++ /dev/null
@@ -1,6 +0,0 @@
1#
2# MIPS SIM
3#
4platform-$(CONFIG_MIPS_SIM) += mipssim/
5cflags-$(CONFIG_MIPS_SIM) += -I$(srctree)/arch/mips/include/asm/mach-mipssim
6load-$(CONFIG_MIPS_SIM) += 0x80100000
diff --git a/arch/mips/mipssim/sim_console.c b/arch/mips/mipssim/sim_console.c
deleted file mode 100644
index a2f41672cd5d..000000000000
--- a/arch/mips/mipssim/sim_console.c
+++ /dev/null
@@ -1,40 +0,0 @@
1/*
2 * This program is free software; you can distribute it and/or modify it
3 * under the terms of the GNU General Public License (Version 2) as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope it will be useful, but WITHOUT
7 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
8 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
9 * for more details.
10 *
11 * You should have received a copy of the GNU General Public License along
12 * with this program; if not, write to the Free Software Foundation, Inc.,
13 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
14 *
15 * Carsten Langgaard, carstenl@mips.com
16 * Copyright (C) 1999,2000 MIPS Technologies, Inc. All rights reserved.
17 * Copyright (C) 2007 MIPS Technologies, Inc.
18 * written by Ralf Baechle
19 */
20#include <linux/init.h>
21#include <linux/io.h>
22#include <linux/serial_reg.h>
23
24static inline unsigned int serial_in(int offset)
25{
26 return inb(0x3f8 + offset);
27}
28
29static inline void serial_out(int offset, int value)
30{
31 outb(value, 0x3f8 + offset);
32}
33
34void __init prom_putchar(char c)
35{
36 while ((serial_in(UART_LSR) & UART_LSR_THRE) == 0)
37 ;
38
39 serial_out(UART_TX, c);
40}
diff --git a/arch/mips/mipssim/sim_int.c b/arch/mips/mipssim/sim_int.c
deleted file mode 100644
index 5c779be6f082..000000000000
--- a/arch/mips/mipssim/sim_int.c
+++ /dev/null
@@ -1,87 +0,0 @@
1/*
2 * Copyright (C) 1999, 2005 MIPS Technologies, Inc. All rights reserved.
3 *
4 * This program is free software; you can distribute it and/or modify it
5 * under the terms of the GNU General Public License (Version 2) as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 * for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16 *
17 */
18#include <linux/init.h>
19#include <linux/sched.h>
20#include <linux/interrupt.h>
21#include <linux/kernel_stat.h>
22#include <asm/mips-boards/simint.h>
23#include <asm/irq_cpu.h>
24
25static inline int clz(unsigned long x)
26{
27 __asm__(
28 " .set push \n"
29 " .set mips32 \n"
30 " clz %0, %1 \n"
31 " .set pop \n"
32 : "=r" (x)
33 : "r" (x));
34
35 return x;
36}
37
38/*
39 * Version of ffs that only looks at bits 12..15.
40 */
41static inline unsigned int irq_ffs(unsigned int pending)
42{
43#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
44 return -clz(pending) + 31 - CAUSEB_IP;
45#else
46 unsigned int a0 = 7;
47 unsigned int t0;
48
49 t0 = s0 & 0xf000;
50 t0 = t0 < 1;
51 t0 = t0 << 2;
52 a0 = a0 - t0;
53 s0 = s0 << t0;
54
55 t0 = s0 & 0xc000;
56 t0 = t0 < 1;
57 t0 = t0 << 1;
58 a0 = a0 - t0;
59 s0 = s0 << t0;
60
61 t0 = s0 & 0x8000;
62 t0 = t0 < 1;
63 /* t0 = t0 << 2; */
64 a0 = a0 - t0;
65 /* s0 = s0 << t0; */
66
67 return a0;
68#endif
69}
70
71asmlinkage void plat_irq_dispatch(void)
72{
73 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
74 int irq;
75
76 irq = irq_ffs(pending);
77
78 if (irq > 0)
79 do_IRQ(MIPS_CPU_IRQ_BASE + irq);
80 else
81 spurious_interrupt();
82}
83
84void __init arch_init_irq(void)
85{
86 mips_cpu_irq_init();
87}
diff --git a/arch/mips/mipssim/sim_mem.c b/arch/mips/mipssim/sim_mem.c
deleted file mode 100644
index 953d836a7713..000000000000
--- a/arch/mips/mipssim/sim_mem.c
+++ /dev/null
@@ -1,115 +0,0 @@
1/*
2 * Copyright (C) 2005 MIPS Technologies, Inc. All rights reserved.
3 *
4 * This program is free software; you can distribute it and/or modify it
5 * under the terms of the GNU General Public License (Version 2) as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 * for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16 *
17 */
18#include <linux/init.h>
19#include <linux/mm.h>
20#include <linux/bootmem.h>
21#include <linux/pfn.h>
22
23#include <asm/bootinfo.h>
24#include <asm/page.h>
25#include <asm/sections.h>
26
27#include <asm/mips-boards/prom.h>
28
29/*#define DEBUG*/
30
31enum simmem_memtypes {
32 simmem_reserved = 0,
33 simmem_free,
34};
35struct prom_pmemblock mdesc[PROM_MAX_PMEMBLOCKS];
36
37#ifdef DEBUG
38static char *mtypes[3] = {
39 "SIM reserved memory",
40 "SIM free memory",
41};
42#endif
43
44struct prom_pmemblock * __init prom_getmdesc(void)
45{
46 unsigned int memsize;
47
48 memsize = 0x02000000;
49 pr_info("Setting default memory size 0x%08x\n", memsize);
50
51 memset(mdesc, 0, sizeof(mdesc));
52
53 mdesc[0].type = simmem_reserved;
54 mdesc[0].base = 0x00000000;
55 mdesc[0].size = 0x00001000;
56
57 mdesc[1].type = simmem_free;
58 mdesc[1].base = 0x00001000;
59 mdesc[1].size = 0x000ff000;
60
61 mdesc[2].type = simmem_reserved;
62 mdesc[2].base = 0x00100000;
63 mdesc[2].size = CPHYSADDR(PFN_ALIGN(&_end)) - mdesc[2].base;
64
65 mdesc[3].type = simmem_free;
66 mdesc[3].base = CPHYSADDR(PFN_ALIGN(&_end));
67 mdesc[3].size = memsize - mdesc[3].base;
68
69 return &mdesc[0];
70}
71
72static int __init prom_memtype_classify(unsigned int type)
73{
74 switch (type) {
75 case simmem_free:
76 return BOOT_MEM_RAM;
77 case simmem_reserved:
78 default:
79 return BOOT_MEM_RESERVED;
80 }
81}
82
83void __init prom_meminit(void)
84{
85 struct prom_pmemblock *p;
86
87 p = prom_getmdesc();
88
89 while (p->size) {
90 long type;
91 unsigned long base, size;
92
93 type = prom_memtype_classify(p->type);
94 base = p->base;
95 size = p->size;
96
97 add_memory_region(base, size, type);
98 p++;
99 }
100}
101
102void __init prom_free_prom_memory(void)
103{
104 int i;
105 unsigned long addr;
106
107 for (i = 0; i < boot_mem_map.nr_map; i++) {
108 if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA)
109 continue;
110
111 addr = boot_mem_map.map[i].addr;
112 free_init_pages("prom memory",
113 addr, addr + boot_mem_map.map[i].size);
114 }
115}
diff --git a/arch/mips/mipssim/sim_platform.c b/arch/mips/mipssim/sim_platform.c
deleted file mode 100644
index 53210a8c5dec..000000000000
--- a/arch/mips/mipssim/sim_platform.c
+++ /dev/null
@@ -1,35 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2007 by Ralf Baechle (ralf@linux-mips.org)
7 */
8#include <linux/init.h>
9#include <linux/if_ether.h>
10#include <linux/kernel.h>
11#include <linux/platform_device.h>
12
13static char mipsnet_string[] = "mipsnet";
14
15static struct platform_device eth1_device = {
16 .name = mipsnet_string,
17 .id = 0,
18};
19
20/*
21 * Create a platform device for the GPI port that receives the
22 * image data from the embedded camera.
23 */
24static int __init mipsnet_devinit(void)
25{
26 int err;
27
28 err = platform_device_register(&eth1_device);
29 if (err)
30 printk(KERN_ERR "%s: registration failed\n", mipsnet_string);
31
32 return err;
33}
34
35device_initcall(mipsnet_devinit);
diff --git a/arch/mips/mipssim/sim_setup.c b/arch/mips/mipssim/sim_setup.c
deleted file mode 100644
index 256e0cdaa499..000000000000
--- a/arch/mips/mipssim/sim_setup.c
+++ /dev/null
@@ -1,99 +0,0 @@
1/*
2 * Copyright (C) 2005 MIPS Technologies, Inc. All rights reserved.
3 *
4 * This program is free software; you can distribute it and/or modify it
5 * under the terms of the GNU General Public License (Version 2) as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 * for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16 *
17 */
18
19#include <linux/init.h>
20#include <linux/string.h>
21#include <linux/kernel.h>
22#include <linux/io.h>
23#include <linux/irq.h>
24#include <linux/ioport.h>
25#include <linux/tty.h>
26#include <linux/serial.h>
27#include <linux/serial_core.h>
28#include <linux/serial_8250.h>
29
30#include <asm/cpu.h>
31#include <asm/bootinfo.h>
32#include <asm/mips-boards/generic.h>
33#include <asm/mips-boards/prom.h>
34#include <asm/time.h>
35#include <asm/mips-boards/sim.h>
36#include <asm/mips-boards/simint.h>
37#include <asm/smp-ops.h>
38
39
40static void __init serial_init(void);
41unsigned int _isbonito;
42
43const char *get_system_type(void)
44{
45 return "MIPSsim";
46}
47
48void __init plat_mem_setup(void)
49{
50 set_io_port_base(0xbfd00000);
51
52 serial_init();
53}
54
55extern struct plat_smp_ops ssmtc_smp_ops;
56
57void __init prom_init(void)
58{
59 set_io_port_base(0xbfd00000);
60
61 prom_meminit();
62
63 if (cpu_has_mipsmt) {
64 if (!register_vsmp_smp_ops())
65 return;
66
67#ifdef CONFIG_MIPS_MT_SMTC
68 register_smp_ops(&ssmtc_smp_ops);
69 return;
70#endif
71 }
72
73 register_up_smp_ops();
74}
75
76static void __init serial_init(void)
77{
78#ifdef CONFIG_SERIAL_8250
79 struct uart_port s;
80
81 memset(&s, 0, sizeof(s));
82
83 s.iobase = 0x3f8;
84
85 /* hardware int 4 - the serial int, is CPU int 6
86 but poll for now */
87 s.irq = 0;
88 s.uartclk = 1843200;
89 s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
90 s.iotype = UPIO_PORT;
91 s.regshift = 0;
92 s.timeout = 4;
93
94 if (early_serial_setup(&s) != 0) {
95 printk(KERN_ERR "Serial setup failed!\n");
96 }
97
98#endif
99}
diff --git a/arch/mips/mipssim/sim_smtc.c b/arch/mips/mipssim/sim_smtc.c
deleted file mode 100644
index 3c104abd8aa5..000000000000
--- a/arch/mips/mipssim/sim_smtc.c
+++ /dev/null
@@ -1,116 +0,0 @@
1/*
2 * Copyright (C) 2005 MIPS Technologies, Inc. All rights reserved.
3 *
4 * This program is free software; you can distribute it and/or modify it
5 * under the terms of the GNU General Public License (Version 2) as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 * for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16 *
17 */
18/*
19 * Simulator Platform-specific hooks for SMTC operation
20 */
21#include <linux/kernel.h>
22#include <linux/sched.h>
23#include <linux/cpumask.h>
24#include <linux/interrupt.h>
25#include <linux/smp.h>
26
27#include <linux/atomic.h>
28#include <asm/cpu.h>
29#include <asm/processor.h>
30#include <asm/smtc.h>
31#include <asm/mmu_context.h>
32#include <asm/smtc_ipi.h>
33
34/* VPE/SMP Prototype implements platform interfaces directly */
35
36/*
37 * Cause the specified action to be performed on a targeted "CPU"
38 */
39
40static void ssmtc_send_ipi_single(int cpu, unsigned int action)
41{
42 smtc_send_ipi(cpu, LINUX_SMP_IPI, action);
43 /* "CPU" may be TC of same VPE, VPE of same CPU, or different CPU */
44}
45
46static inline void ssmtc_send_ipi_mask(const struct cpumask *mask,
47 unsigned int action)
48{
49 unsigned int i;
50
51 for_each_cpu(i, mask)
52 ssmtc_send_ipi_single(i, action);
53}
54
55/*
56 * Post-config but pre-boot cleanup entry point
57 */
58static void __cpuinit ssmtc_init_secondary(void)
59{
60 smtc_init_secondary();
61}
62
63/*
64 * SMP initialization finalization entry point
65 */
66static void __cpuinit ssmtc_smp_finish(void)
67{
68 smtc_smp_finish();
69}
70
71/*
72 * Hook for after all CPUs are online
73 */
74static void ssmtc_cpus_done(void)
75{
76}
77
78/*
79 * Platform "CPU" startup hook
80 */
81static void __cpuinit ssmtc_boot_secondary(int cpu, struct task_struct *idle)
82{
83 smtc_boot_secondary(cpu, idle);
84}
85
86static void __init ssmtc_smp_setup(void)
87{
88 if (read_c0_config3() & (1 << 2))
89 mipsmt_build_cpu_map(0);
90}
91
92/*
93 * Platform SMP pre-initialization
94 */
95static void ssmtc_prepare_cpus(unsigned int max_cpus)
96{
97 /*
98 * As noted above, we can assume a single CPU for now
99 * but it may be multithreaded.
100 */
101
102 if (read_c0_config3() & (1 << 2)) {
103 mipsmt_prepare_cpus();
104 }
105}
106
107struct plat_smp_ops ssmtc_smp_ops = {
108 .send_ipi_single = ssmtc_send_ipi_single,
109 .send_ipi_mask = ssmtc_send_ipi_mask,
110 .init_secondary = ssmtc_init_secondary,
111 .smp_finish = ssmtc_smp_finish,
112 .cpus_done = ssmtc_cpus_done,
113 .boot_secondary = ssmtc_boot_secondary,
114 .smp_setup = ssmtc_smp_setup,
115 .prepare_cpus = ssmtc_prepare_cpus,
116};
diff --git a/arch/mips/mipssim/sim_time.c b/arch/mips/mipssim/sim_time.c
deleted file mode 100644
index 77bad3c04280..000000000000
--- a/arch/mips/mipssim/sim_time.c
+++ /dev/null
@@ -1,117 +0,0 @@
1#include <linux/types.h>
2#include <linux/init.h>
3#include <linux/kernel_stat.h>
4#include <linux/sched.h>
5#include <linux/spinlock.h>
6#include <linux/interrupt.h>
7#include <linux/mc146818rtc.h>
8#include <linux/smp.h>
9#include <linux/timex.h>
10
11#include <asm/hardirq.h>
12#include <asm/div64.h>
13#include <asm/cpu.h>
14#include <asm/setup.h>
15#include <asm/time.h>
16#include <asm/irq.h>
17#include <asm/mc146818-time.h>
18#include <asm/msc01_ic.h>
19
20#include <asm/mips-boards/generic.h>
21#include <asm/mips-boards/prom.h>
22#include <asm/mips-boards/simint.h>
23
24
25unsigned long cpu_khz;
26
27/*
28 * Estimate CPU frequency. Sets mips_hpt_frequency as a side-effect
29 */
30static unsigned int __init estimate_cpu_frequency(void)
31{
32 unsigned int prid = read_c0_prid() & 0xffff00;
33 unsigned int count;
34
35#if 1
36 /*
37 * hardwire the board frequency to 12MHz.
38 */
39
40 if ((prid == (PRID_COMP_MIPS | PRID_IMP_20KC)) ||
41 (prid == (PRID_COMP_MIPS | PRID_IMP_25KF)))
42 count = 12000000;
43 else
44 count = 6000000;
45#else
46 unsigned int flags;
47
48 local_irq_save(flags);
49
50 /* Start counter exactly on falling edge of update flag */
51 while (CMOS_READ(RTC_REG_A) & RTC_UIP);
52 while (!(CMOS_READ(RTC_REG_A) & RTC_UIP));
53
54 /* Start r4k counter. */
55 write_c0_count(0);
56
57 /* Read counter exactly on falling edge of update flag */
58 while (CMOS_READ(RTC_REG_A) & RTC_UIP);
59 while (!(CMOS_READ(RTC_REG_A) & RTC_UIP));
60
61 count = read_c0_count();
62
63 /* restore interrupts */
64 local_irq_restore(flags);
65#endif
66
67 mips_hpt_frequency = count;
68
69 if ((prid != (PRID_COMP_MIPS | PRID_IMP_20KC)) &&
70 (prid != (PRID_COMP_MIPS | PRID_IMP_25KF)))
71 count *= 2;
72
73 count += 5000; /* round */
74 count -= count%10000;
75
76 return count;
77}
78
79static int mips_cpu_timer_irq;
80
81static void mips_timer_dispatch(void)
82{
83 do_IRQ(mips_cpu_timer_irq);
84}
85
86
87unsigned __cpuinit get_c0_compare_int(void)
88{
89#ifdef MSC01E_INT_BASE
90 if (cpu_has_veic) {
91 set_vi_handler(MSC01E_INT_CPUCTR, mips_timer_dispatch);
92 mips_cpu_timer_irq = MSC01E_INT_BASE + MSC01E_INT_CPUCTR;
93
94 return mips_cpu_timer_irq;
95 }
96#endif
97 if (cpu_has_vint)
98 set_vi_handler(cp0_compare_irq, mips_timer_dispatch);
99 mips_cpu_timer_irq = MIPS_CPU_IRQ_BASE + cp0_compare_irq;
100
101 return mips_cpu_timer_irq;
102}
103
104void __init plat_time_init(void)
105{
106 unsigned int est_freq;
107
108 /* Set Data mode - binary. */
109 CMOS_WRITE(CMOS_READ(RTC_CONTROL) | RTC_DM_BINARY, RTC_CONTROL);
110
111 est_freq = estimate_cpu_frequency();
112
113 printk(KERN_INFO "CPU frequency %d.%02d MHz\n", est_freq / 1000000,
114 (est_freq % 1000000) * 100 / 1000000);
115
116 cpu_khz = est_freq / 1000;
117}
diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile
index fd6203f14f1f..90ceb963aaf1 100644
--- a/arch/mips/mm/Makefile
+++ b/arch/mips/mm/Makefile
@@ -11,27 +11,12 @@ obj-$(CONFIG_64BIT) += pgtable-64.o
11obj-$(CONFIG_HIGHMEM) += highmem.o 11obj-$(CONFIG_HIGHMEM) += highmem.o
12obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o 12obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
13 13
14obj-$(CONFIG_CPU_LOONGSON2) += c-r4k.o cex-gen.o tlb-r4k.o 14obj-$(CONFIG_CPU_R4K_CACHE_TLB) += c-r4k.o cex-gen.o tlb-r4k.o
15obj-$(CONFIG_CPU_MIPS32) += c-r4k.o cex-gen.o tlb-r4k.o
16obj-$(CONFIG_CPU_MIPS64) += c-r4k.o cex-gen.o tlb-r4k.o
17obj-$(CONFIG_CPU_NEVADA) += c-r4k.o cex-gen.o tlb-r4k.o
18obj-$(CONFIG_CPU_R10000) += c-r4k.o cex-gen.o tlb-r4k.o
19obj-$(CONFIG_CPU_R3000) += c-r3k.o tlb-r3k.o 15obj-$(CONFIG_CPU_R3000) += c-r3k.o tlb-r3k.o
20obj-$(CONFIG_CPU_R4300) += c-r4k.o cex-gen.o tlb-r4k.o
21obj-$(CONFIG_CPU_R4X00) += c-r4k.o cex-gen.o tlb-r4k.o
22obj-$(CONFIG_CPU_R5000) += c-r4k.o cex-gen.o tlb-r4k.o
23obj-$(CONFIG_CPU_R5432) += c-r4k.o cex-gen.o tlb-r4k.o
24obj-$(CONFIG_CPU_R5500) += c-r4k.o cex-gen.o tlb-r4k.o
25obj-$(CONFIG_CPU_R8000) += c-r4k.o cex-gen.o tlb-r8k.o 16obj-$(CONFIG_CPU_R8000) += c-r4k.o cex-gen.o tlb-r8k.o
26obj-$(CONFIG_CPU_RM7000) += c-r4k.o cex-gen.o tlb-r4k.o
27obj-$(CONFIG_CPU_RM9000) += c-r4k.o cex-gen.o tlb-r4k.o
28obj-$(CONFIG_CPU_SB1) += c-r4k.o cerr-sb1.o cex-sb1.o tlb-r4k.o 17obj-$(CONFIG_CPU_SB1) += c-r4k.o cerr-sb1.o cex-sb1.o tlb-r4k.o
29obj-$(CONFIG_CPU_TX39XX) += c-tx39.o tlb-r3k.o 18obj-$(CONFIG_CPU_TX39XX) += c-tx39.o tlb-r3k.o
30obj-$(CONFIG_CPU_TX49XX) += c-r4k.o cex-gen.o tlb-r4k.o
31obj-$(CONFIG_CPU_VR41XX) += c-r4k.o cex-gen.o tlb-r4k.o
32obj-$(CONFIG_CPU_CAVIUM_OCTEON) += c-octeon.o cex-oct.o tlb-r4k.o 19obj-$(CONFIG_CPU_CAVIUM_OCTEON) += c-octeon.o cex-oct.o tlb-r4k.o
33obj-$(CONFIG_CPU_XLR) += c-r4k.o tlb-r4k.o cex-gen.o
34obj-$(CONFIG_CPU_XLP) += c-r4k.o tlb-r4k.o cex-gen.o
35 20
36obj-$(CONFIG_IP22_CPU_SCACHE) += sc-ip22.o 21obj-$(CONFIG_IP22_CPU_SCACHE) += sc-ip22.o
37obj-$(CONFIG_R5000_CPU_SCACHE) += sc-r5k.o 22obj-$(CONFIG_R5000_CPU_SCACHE) += sc-r5k.o
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index f092c265dc63..4c32ede464b5 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -786,6 +786,25 @@ static inline void rm7k_erratum31(void)
786 } 786 }
787} 787}
788 788
789static inline void alias_74k_erratum(struct cpuinfo_mips *c)
790{
791 /*
792 * Early versions of the 74K do not update the cache tags on a
793 * vtag miss/ptag hit which can occur in the case of KSEG0/KUSEG
794 * aliases. In this case it is better to treat the cache as always
795 * having aliases.
796 */
797 if ((c->processor_id & 0xff) <= PRID_REV_ENCODE_332(2, 4, 0))
798 c->dcache.flags |= MIPS_CACHE_VTAG;
799 if ((c->processor_id & 0xff) == PRID_REV_ENCODE_332(2, 4, 0))
800 write_c0_config6(read_c0_config6() | MIPS_CONF6_SYND);
801 if (((c->processor_id & 0xff00) == PRID_IMP_1074K) &&
802 ((c->processor_id & 0xff) <= PRID_REV_ENCODE_332(1, 1, 0))) {
803 c->dcache.flags |= MIPS_CACHE_VTAG;
804 write_c0_config6(read_c0_config6() | MIPS_CONF6_SYND);
805 }
806}
807
789static char *way_string[] __cpuinitdata = { NULL, "direct mapped", "2-way", 808static char *way_string[] __cpuinitdata = { NULL, "direct mapped", "2-way",
790 "3-way", "4-way", "5-way", "6-way", "7-way", "8-way" 809 "3-way", "4-way", "5-way", "6-way", "7-way", "8-way"
791}; 810};
@@ -1056,6 +1075,8 @@ static void __cpuinit probe_pcache(void)
1056 case CPU_34K: 1075 case CPU_34K:
1057 case CPU_74K: 1076 case CPU_74K:
1058 case CPU_1004K: 1077 case CPU_1004K:
1078 if (c->cputype == CPU_74K)
1079 alias_74k_erratum(c);
1059 if ((read_c0_config7() & (1 << 16))) { 1080 if ((read_c0_config7() & (1 << 16))) {
1060 /* effectively physically indexed dcache, 1081 /* effectively physically indexed dcache,
1061 thus no virtual aliases. */ 1082 thus no virtual aliases. */
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 829320c7b175..07cec4407b0c 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -142,7 +142,7 @@ EXPORT_SYMBOL(_page_cachable_default);
142 142
143static inline void setup_protection_map(void) 143static inline void setup_protection_map(void)
144{ 144{
145 if (kernel_uses_smartmips_rixi) { 145 if (cpu_has_rixi) {
146 protection_map[0] = __pgprot(_page_cachable_default | _PAGE_PRESENT | _PAGE_NO_EXEC | _PAGE_NO_READ); 146 protection_map[0] = __pgprot(_page_cachable_default | _PAGE_PRESENT | _PAGE_NO_EXEC | _PAGE_NO_READ);
147 protection_map[1] = __pgprot(_page_cachable_default | _PAGE_PRESENT | _PAGE_NO_EXEC); 147 protection_map[1] = __pgprot(_page_cachable_default | _PAGE_PRESENT | _PAGE_NO_EXEC);
148 protection_map[2] = __pgprot(_page_cachable_default | _PAGE_PRESENT | _PAGE_NO_EXEC | _PAGE_NO_READ); 148 protection_map[2] = __pgprot(_page_cachable_default | _PAGE_PRESENT | _PAGE_NO_EXEC | _PAGE_NO_READ);
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c
index c14f6dfed995..7a19957735e9 100644
--- a/arch/mips/mm/fault.c
+++ b/arch/mips/mm/fault.c
@@ -114,7 +114,7 @@ good_area:
114 if (!(vma->vm_flags & VM_WRITE)) 114 if (!(vma->vm_flags & VM_WRITE))
115 goto bad_area; 115 goto bad_area;
116 } else { 116 } else {
117 if (kernel_uses_smartmips_rixi) { 117 if (cpu_has_rixi) {
118 if (address == regs->cp0_epc && !(vma->vm_flags & VM_EXEC)) { 118 if (address == regs->cp0_epc && !(vma->vm_flags & VM_EXEC)) {
119#if 0 119#if 0
120 pr_notice("Cpu%d[%s:%d:%0*lx:%ld:%0*lx] XI violation\n", 120 pr_notice("Cpu%d[%s:%d:%0*lx:%ld:%0*lx] XI violation\n",
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index d2572cb232db..87b9cfcc30ff 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -401,7 +401,7 @@ void __cpuinit tlb_init(void)
401 current_cpu_type() == CPU_R14000) 401 current_cpu_type() == CPU_R14000)
402 write_c0_framemask(0); 402 write_c0_framemask(0);
403 403
404 if (kernel_uses_smartmips_rixi) { 404 if (cpu_has_rixi) {
405 /* 405 /*
406 * Enable the no read, no exec bits, and enable large virtual 406 * Enable the no read, no exec bits, and enable large virtual
407 * address. 407 * address.
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index 03eb0ef91580..e09d49256908 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -449,8 +449,20 @@ static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l,
449 } 449 }
450 450
451 if (cpu_has_mips_r2) { 451 if (cpu_has_mips_r2) {
452 if (cpu_has_mips_r2_exec_hazard) 452 /*
453 * The architecture spec says an ehb is required here,
454 * but a number of cores do not have the hazard and
455 * using an ehb causes an expensive pipeline stall.
456 */
457 switch (current_cpu_type()) {
458 case CPU_M14KC:
459 case CPU_74K:
460 break;
461
462 default:
453 uasm_i_ehb(p); 463 uasm_i_ehb(p);
464 break;
465 }
454 tlbw(p); 466 tlbw(p);
455 return; 467 return;
456 } 468 }
@@ -586,7 +598,7 @@ static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l,
586static __cpuinit __maybe_unused void build_convert_pte_to_entrylo(u32 **p, 598static __cpuinit __maybe_unused void build_convert_pte_to_entrylo(u32 **p,
587 unsigned int reg) 599 unsigned int reg)
588{ 600{
589 if (kernel_uses_smartmips_rixi) { 601 if (cpu_has_rixi) {
590 UASM_i_SRL(p, reg, reg, ilog2(_PAGE_NO_EXEC)); 602 UASM_i_SRL(p, reg, reg, ilog2(_PAGE_NO_EXEC));
591 UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); 603 UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC));
592 } else { 604 } else {
@@ -921,6 +933,13 @@ build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr)
921#endif 933#endif
922 uasm_i_mfc0(p, tmp, C0_BADVADDR); /* get faulting address */ 934 uasm_i_mfc0(p, tmp, C0_BADVADDR); /* get faulting address */
923 uasm_i_lw(p, ptr, uasm_rel_lo(pgdc), ptr); 935 uasm_i_lw(p, ptr, uasm_rel_lo(pgdc), ptr);
936
937 if (cpu_has_mips_r2) {
938 uasm_i_ext(p, tmp, tmp, PGDIR_SHIFT, (32 - PGDIR_SHIFT));
939 uasm_i_ins(p, ptr, tmp, PGD_T_LOG2, (32 - PGDIR_SHIFT));
940 return;
941 }
942
924 uasm_i_srl(p, tmp, tmp, PGDIR_SHIFT); /* get pgd only bits */ 943 uasm_i_srl(p, tmp, tmp, PGDIR_SHIFT); /* get pgd only bits */
925 uasm_i_sll(p, tmp, tmp, PGD_T_LOG2); 944 uasm_i_sll(p, tmp, tmp, PGD_T_LOG2);
926 uasm_i_addu(p, ptr, ptr, tmp); /* add in pgd offset */ 945 uasm_i_addu(p, ptr, ptr, tmp); /* add in pgd offset */
@@ -956,6 +975,15 @@ static void __cpuinit build_adjust_context(u32 **p, unsigned int ctx)
956 975
957static void __cpuinit build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr) 976static void __cpuinit build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr)
958{ 977{
978 if (cpu_has_mips_r2) {
979 /* PTE ptr offset is obtained from BadVAddr */
980 UASM_i_MFC0(p, tmp, C0_BADVADDR);
981 UASM_i_LW(p, ptr, 0, ptr);
982 uasm_i_ext(p, tmp, tmp, PAGE_SHIFT+1, PGDIR_SHIFT-PAGE_SHIFT-1);
983 uasm_i_ins(p, ptr, tmp, PTE_T_LOG2+1, PGDIR_SHIFT-PAGE_SHIFT-1);
984 return;
985 }
986
959 /* 987 /*
960 * Bug workaround for the Nevada. It seems as if under certain 988 * Bug workaround for the Nevada. It seems as if under certain
961 * circumstances the move from cp0_context might produce a 989 * circumstances the move from cp0_context might produce a
@@ -990,7 +1018,7 @@ static void __cpuinit build_update_entries(u32 **p, unsigned int tmp,
990 if (cpu_has_64bits) { 1018 if (cpu_has_64bits) {
991 uasm_i_ld(p, tmp, 0, ptep); /* get even pte */ 1019 uasm_i_ld(p, tmp, 0, ptep); /* get even pte */
992 uasm_i_ld(p, ptep, sizeof(pte_t), ptep); /* get odd pte */ 1020 uasm_i_ld(p, ptep, sizeof(pte_t), ptep); /* get odd pte */
993 if (kernel_uses_smartmips_rixi) { 1021 if (cpu_has_rixi) {
994 UASM_i_SRL(p, tmp, tmp, ilog2(_PAGE_NO_EXEC)); 1022 UASM_i_SRL(p, tmp, tmp, ilog2(_PAGE_NO_EXEC));
995 UASM_i_SRL(p, ptep, ptep, ilog2(_PAGE_NO_EXEC)); 1023 UASM_i_SRL(p, ptep, ptep, ilog2(_PAGE_NO_EXEC));
996 UASM_i_ROTR(p, tmp, tmp, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); 1024 UASM_i_ROTR(p, tmp, tmp, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC));
@@ -1017,7 +1045,7 @@ static void __cpuinit build_update_entries(u32 **p, unsigned int tmp,
1017 UASM_i_LW(p, ptep, sizeof(pte_t), ptep); /* get odd pte */ 1045 UASM_i_LW(p, ptep, sizeof(pte_t), ptep); /* get odd pte */
1018 if (r45k_bvahwbug()) 1046 if (r45k_bvahwbug())
1019 build_tlb_probe_entry(p); 1047 build_tlb_probe_entry(p);
1020 if (kernel_uses_smartmips_rixi) { 1048 if (cpu_has_rixi) {
1021 UASM_i_SRL(p, tmp, tmp, ilog2(_PAGE_NO_EXEC)); 1049 UASM_i_SRL(p, tmp, tmp, ilog2(_PAGE_NO_EXEC));
1022 UASM_i_SRL(p, ptep, ptep, ilog2(_PAGE_NO_EXEC)); 1050 UASM_i_SRL(p, ptep, ptep, ilog2(_PAGE_NO_EXEC));
1023 UASM_i_ROTR(p, tmp, tmp, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); 1051 UASM_i_ROTR(p, tmp, tmp, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC));
@@ -1183,7 +1211,7 @@ build_fast_tlb_refill_handler (u32 **p, struct uasm_label **l,
1183 UASM_i_LW(p, even, 0, ptr); /* get even pte */ 1211 UASM_i_LW(p, even, 0, ptr); /* get even pte */
1184 UASM_i_LW(p, odd, sizeof(pte_t), ptr); /* get odd pte */ 1212 UASM_i_LW(p, odd, sizeof(pte_t), ptr); /* get odd pte */
1185 } 1213 }
1186 if (kernel_uses_smartmips_rixi) { 1214 if (cpu_has_rixi) {
1187 uasm_i_dsrl_safe(p, even, even, ilog2(_PAGE_NO_EXEC)); 1215 uasm_i_dsrl_safe(p, even, even, ilog2(_PAGE_NO_EXEC));
1188 uasm_i_dsrl_safe(p, odd, odd, ilog2(_PAGE_NO_EXEC)); 1216 uasm_i_dsrl_safe(p, odd, odd, ilog2(_PAGE_NO_EXEC));
1189 uasm_i_drotr(p, even, even, 1217 uasm_i_drotr(p, even, even,
@@ -1545,7 +1573,7 @@ build_pte_present(u32 **p, struct uasm_reloc **r,
1545{ 1573{
1546 int t = scratch >= 0 ? scratch : pte; 1574 int t = scratch >= 0 ? scratch : pte;
1547 1575
1548 if (kernel_uses_smartmips_rixi) { 1576 if (cpu_has_rixi) {
1549 if (use_bbit_insns()) { 1577 if (use_bbit_insns()) {
1550 uasm_il_bbit0(p, r, pte, ilog2(_PAGE_PRESENT), lid); 1578 uasm_il_bbit0(p, r, pte, ilog2(_PAGE_PRESENT), lid);
1551 uasm_i_nop(p); 1579 uasm_i_nop(p);
@@ -1875,7 +1903,7 @@ static void __cpuinit build_r4000_tlb_load_handler(void)
1875 if (m4kc_tlbp_war()) 1903 if (m4kc_tlbp_war())
1876 build_tlb_probe_entry(&p); 1904 build_tlb_probe_entry(&p);
1877 1905
1878 if (kernel_uses_smartmips_rixi) { 1906 if (cpu_has_rixi) {
1879 /* 1907 /*
1880 * If the page is not _PAGE_VALID, RI or XI could not 1908 * If the page is not _PAGE_VALID, RI or XI could not
1881 * have triggered it. Skip the expensive test.. 1909 * have triggered it. Skip the expensive test..
@@ -1929,7 +1957,7 @@ static void __cpuinit build_r4000_tlb_load_handler(void)
1929 build_pte_present(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbl); 1957 build_pte_present(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbl);
1930 build_tlb_probe_entry(&p); 1958 build_tlb_probe_entry(&p);
1931 1959
1932 if (kernel_uses_smartmips_rixi) { 1960 if (cpu_has_rixi) {
1933 /* 1961 /*
1934 * If the page is not _PAGE_VALID, RI or XI could not 1962 * If the page is not _PAGE_VALID, RI or XI could not
1935 * have triggered it. Skip the expensive test.. 1963 * have triggered it. Skip the expensive test..
diff --git a/arch/mips/mm/uasm.c b/arch/mips/mm/uasm.c
index 64a28e819064..39b891056227 100644
--- a/arch/mips/mm/uasm.c
+++ b/arch/mips/mm/uasm.c
@@ -63,11 +63,12 @@ enum opcode {
63 insn_bne, insn_cache, insn_daddiu, insn_daddu, insn_dins, insn_dinsm, 63 insn_bne, insn_cache, insn_daddiu, insn_daddu, insn_dins, insn_dinsm,
64 insn_dmfc0, insn_dmtc0, insn_drotr, insn_drotr32, insn_dsll, 64 insn_dmfc0, insn_dmtc0, insn_drotr, insn_drotr32, insn_dsll,
65 insn_dsll32, insn_dsra, insn_dsrl, insn_dsrl32, insn_dsubu, insn_eret, 65 insn_dsll32, insn_dsra, insn_dsrl, insn_dsrl32, insn_dsubu, insn_eret,
66 insn_j, insn_jal, insn_jr, insn_ld, insn_ldx, insn_ll, insn_lld, 66 insn_ext, insn_ins, insn_j, insn_jal, insn_jr, insn_ld, insn_ldx,
67 insn_lui, insn_lw, insn_lwx, insn_mfc0, insn_mtc0, insn_or, insn_ori, 67 insn_ll, insn_lld, insn_lui, insn_lw, insn_lwx, insn_mfc0, insn_mtc0,
68 insn_pref, insn_rfe, insn_rotr, insn_sc, insn_scd, insn_sd, insn_sll, 68 insn_or, insn_ori, insn_pref, insn_rfe, insn_rotr, insn_sc, insn_scd,
69 insn_sra, insn_srl, insn_subu, insn_sw, insn_syscall, insn_tlbp, 69 insn_sd, insn_sll, insn_sra, insn_srl, insn_subu, insn_sw,
70 insn_tlbr, insn_tlbwi, insn_tlbwr, insn_xor, insn_xori, 70 insn_syscall, insn_tlbp, insn_tlbr, insn_tlbwi, insn_tlbwr, insn_xor,
71 insn_xori,
71}; 72};
72 73
73struct insn { 74struct insn {
@@ -115,6 +116,9 @@ static struct insn insn_table[] __uasminitdata = {
115 { insn_dsrl, M(spec_op, 0, 0, 0, 0, dsrl_op), RT | RD | RE }, 116 { insn_dsrl, M(spec_op, 0, 0, 0, 0, dsrl_op), RT | RD | RE },
116 { insn_dsubu, M(spec_op, 0, 0, 0, 0, dsubu_op), RS | RT | RD }, 117 { insn_dsubu, M(spec_op, 0, 0, 0, 0, dsubu_op), RS | RT | RD },
117 { insn_eret, M(cop0_op, cop_op, 0, 0, 0, eret_op), 0 }, 118 { insn_eret, M(cop0_op, cop_op, 0, 0, 0, eret_op), 0 },
119 { insn_ext, M(spec3_op, 0, 0, 0, 0, ext_op), RS | RT | RD | RE },
120 { insn_ins, M(spec3_op, 0, 0, 0, 0, ins_op), RS | RT | RD | RE },
121 { insn_j, M(j_op, 0, 0, 0, 0, 0), JIMM },
118 { insn_jal, M(jal_op, 0, 0, 0, 0, 0), JIMM }, 122 { insn_jal, M(jal_op, 0, 0, 0, 0, 0), JIMM },
119 { insn_j, M(j_op, 0, 0, 0, 0, 0), JIMM }, 123 { insn_j, M(j_op, 0, 0, 0, 0, 0), JIMM },
120 { insn_jr, M(spec_op, 0, 0, 0, 0, jr_op), RS }, 124 { insn_jr, M(spec_op, 0, 0, 0, 0, jr_op), RS },
@@ -341,6 +345,13 @@ Ip_u2u1msbu3(op) \
341} \ 345} \
342UASM_EXPORT_SYMBOL(uasm_i##op); 346UASM_EXPORT_SYMBOL(uasm_i##op);
343 347
348#define I_u2u1msbdu3(op) \
349Ip_u2u1msbu3(op) \
350{ \
351 build_insn(buf, insn##op, b, a, d-1, c); \
352} \
353UASM_EXPORT_SYMBOL(uasm_i##op);
354
344#define I_u1u2(op) \ 355#define I_u1u2(op) \
345Ip_u1u2(op) \ 356Ip_u1u2(op) \
346{ \ 357{ \
@@ -394,6 +405,8 @@ I_u2u1u3(_drotr)
394I_u2u1u3(_drotr32) 405I_u2u1u3(_drotr32)
395I_u3u1u2(_dsubu) 406I_u3u1u2(_dsubu)
396I_0(_eret) 407I_0(_eret)
408I_u2u1msbdu3(_ext)
409I_u2u1msbu3(_ins)
397I_u1(_j) 410I_u1(_j)
398I_u1(_jal) 411I_u1(_jal)
399I_u1(_jr) 412I_u1(_jr)
diff --git a/arch/mips/mti-malta/malta-int.c b/arch/mips/mti-malta/malta-int.c
index fea823f18479..647b86383184 100644
--- a/arch/mips/mti-malta/malta-int.c
+++ b/arch/mips/mti-malta/malta-int.c
@@ -750,3 +750,37 @@ int malta_be_handler(struct pt_regs *regs, int is_fixup)
750 750
751 return retval; 751 return retval;
752} 752}
753
754void gic_enable_interrupt(int irq_vec)
755{
756 GIC_SET_INTR_MASK(irq_vec);
757}
758
759void gic_disable_interrupt(int irq_vec)
760{
761 GIC_CLR_INTR_MASK(irq_vec);
762}
763
764void gic_irq_ack(struct irq_data *d)
765{
766 int irq = (d->irq - gic_irq_base);
767
768 GIC_CLR_INTR_MASK(irq);
769
770 if (gic_irq_flags[irq] & GIC_TRIG_EDGE)
771 GICWRITE(GIC_REG(SHARED, GIC_SH_WEDGE), irq);
772}
773
774void gic_finish_irq(struct irq_data *d)
775{
776 /* Enable interrupts. */
777 GIC_SET_INTR_MASK(d->irq - gic_irq_base);
778}
779
780void __init gic_platform_init(int irqs, struct irq_chip *irq_controller)
781{
782 int i;
783
784 for (i = gic_irq_base; i < (gic_irq_base + irqs); i++)
785 irq_set_chip(i, irq_controller);
786}
diff --git a/arch/mips/mti-sead3/Makefile b/arch/mips/mti-sead3/Makefile
new file mode 100644
index 000000000000..626afeac4386
--- /dev/null
+++ b/arch/mips/mti-sead3/Makefile
@@ -0,0 +1,19 @@
1#
2# Carsten Langgaard, carstenl@mips.com
3# Copyright (C) 1999,2000 MIPS Technologies, Inc. All rights reserved.
4#
5# Copyright (C) 2008 Wind River Systems, Inc.
6# written by Ralf Baechle <ralf@linux-mips.org>
7#
8obj-y := sead3-lcd.o sead3-cmdline.o \
9 sead3-display.o sead3-init.o sead3-int.o \
10 sead3-mtd.o sead3-net.o \
11 sead3-memory.o sead3-platform.o \
12 sead3-reset.o sead3-setup.o sead3-time.o
13
14obj-y += sead3-i2c-dev.o sead3-i2c.o \
15 sead3-pic32-i2c-drv.o sead3-pic32-bus.o \
16 leds-sead3.o sead3-leds.o
17
18obj-$(CONFIG_EARLY_PRINTK) += sead3-console.o
19obj-$(CONFIG_USB_EHCI_HCD) += sead3-ehci.o
diff --git a/arch/mips/mti-sead3/Platform b/arch/mips/mti-sead3/Platform
new file mode 100644
index 000000000000..387092427145
--- /dev/null
+++ b/arch/mips/mti-sead3/Platform
@@ -0,0 +1,7 @@
1#
2# MIPS SEAD-3 board
3#
4platform-$(CONFIG_MIPS_SEAD3) += mti-sead3/
5cflags-$(CONFIG_MIPS_SEAD3) += -I$(srctree)/arch/mips/include/asm/mach-sead3
6load-$(CONFIG_MIPS_SEAD3) += 0xffffffff80100000
7all-$(CONFIG_MIPS_SEAD3) := $(COMPRESSION_FNAME).srec
diff --git a/arch/mips/mti-sead3/leds-sead3.c b/arch/mips/mti-sead3/leds-sead3.c
new file mode 100644
index 000000000000..a95ac5985206
--- /dev/null
+++ b/arch/mips/mti-sead3/leds-sead3.c
@@ -0,0 +1,128 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/kernel.h>
9#include <linux/module.h>
10#include <linux/init.h>
11#include <linux/platform_device.h>
12#include <linux/leds.h>
13#include <linux/err.h>
14#include <linux/io.h>
15
16#define DRVNAME "sead3-led"
17
18static struct platform_device *pdev;
19
20static void sead3_pled_set(struct led_classdev *led_cdev,
21 enum led_brightness value)
22{
23 pr_debug("sead3_pled_set\n");
24 writel(value, (void __iomem *)0xBF000210); /* FIXME */
25}
26
27static void sead3_fled_set(struct led_classdev *led_cdev,
28 enum led_brightness value)
29{
30 pr_debug("sead3_fled_set\n");
31 writel(value, (void __iomem *)0xBF000218); /* FIXME */
32}
33
34static struct led_classdev sead3_pled = {
35 .name = "sead3::pled",
36 .brightness_set = sead3_pled_set,
37};
38
39static struct led_classdev sead3_fled = {
40 .name = "sead3::fled",
41 .brightness_set = sead3_fled_set,
42};
43
44#ifdef CONFIG_PM
45static int sead3_led_suspend(struct platform_device *dev,
46 pm_message_t state)
47{
48 led_classdev_suspend(&sead3_pled);
49 led_classdev_suspend(&sead3_fled);
50 return 0;
51}
52
53static int sead3_led_resume(struct platform_device *dev)
54{
55 led_classdev_resume(&sead3_pled);
56 led_classdev_resume(&sead3_fled);
57 return 0;
58}
59#else
60#define sead3_led_suspend NULL
61#define sead3_led_resume NULL
62#endif
63
64static int sead3_led_probe(struct platform_device *pdev)
65{
66 int ret;
67
68 ret = led_classdev_register(&pdev->dev, &sead3_pled);
69 if (ret < 0)
70 return ret;
71
72 ret = led_classdev_register(&pdev->dev, &sead3_fled);
73 if (ret < 0)
74 led_classdev_unregister(&sead3_pled);
75
76 return ret;
77}
78
79static int sead3_led_remove(struct platform_device *pdev)
80{
81 led_classdev_unregister(&sead3_pled);
82 led_classdev_unregister(&sead3_fled);
83 return 0;
84}
85
86static struct platform_driver sead3_led_driver = {
87 .probe = sead3_led_probe,
88 .remove = sead3_led_remove,
89 .suspend = sead3_led_suspend,
90 .resume = sead3_led_resume,
91 .driver = {
92 .name = DRVNAME,
93 .owner = THIS_MODULE,
94 },
95};
96
97static int __init sead3_led_init(void)
98{
99 int ret;
100
101 ret = platform_driver_register(&sead3_led_driver);
102 if (ret < 0)
103 goto out;
104
105 pdev = platform_device_register_simple(DRVNAME, -1, NULL, 0);
106 if (IS_ERR(pdev)) {
107 ret = PTR_ERR(pdev);
108 platform_driver_unregister(&sead3_led_driver);
109 goto out;
110 }
111
112out:
113 return ret;
114}
115
116static void __exit sead3_led_exit(void)
117{
118 platform_device_unregister(pdev);
119 platform_driver_unregister(&sead3_led_driver);
120}
121
122module_init(sead3_led_init);
123module_exit(sead3_led_exit);
124
125MODULE_AUTHOR("Kristian Kielhofner <kris@krisk.org>");
126MODULE_DESCRIPTION("SEAD3 LED driver");
127MODULE_LICENSE("GPL");
128
diff --git a/arch/mips/mti-sead3/sead3-cmdline.c b/arch/mips/mti-sead3/sead3-cmdline.c
new file mode 100644
index 000000000000..a2e6cec67f57
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-cmdline.c
@@ -0,0 +1,46 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9#include <linux/string.h>
10
11#include <asm/bootinfo.h>
12
13extern int prom_argc;
14extern int *_prom_argv;
15
16/*
17 * YAMON (32-bit PROM) pass arguments and environment as 32-bit pointer.
18 * This macro take care of sign extension.
19 */
20#define prom_argv(index) ((char *)(long)_prom_argv[(index)])
21
22char * __init prom_getcmdline(void)
23{
24 return &(arcs_cmdline[0]);
25}
26
27void __init prom_init_cmdline(void)
28{
29 char *cp;
30 int actr;
31
32 actr = 1; /* Always ignore argv[0] */
33
34 cp = &(arcs_cmdline[0]);
35 while (actr < prom_argc) {
36 strcpy(cp, prom_argv(actr));
37 cp += strlen(prom_argv(actr));
38 *cp++ = ' ';
39 actr++;
40 }
41 if (cp != &(arcs_cmdline[0])) {
42 /* get rid of trailing space */
43 --cp;
44 *cp = '\0';
45 }
46}
diff --git a/arch/mips/mti-sead3/sead3-console.c b/arch/mips/mti-sead3/sead3-console.c
new file mode 100644
index 000000000000..b36739108a0f
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-console.c
@@ -0,0 +1,46 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9#include <linux/console.h>
10#include <linux/serial_reg.h>
11#include <linux/io.h>
12
13#define SEAD_UART1_REGS_BASE 0xbf000800 /* ttyS1 = DB9 port */
14#define SEAD_UART0_REGS_BASE 0xbf000900 /* ttyS0 = USB port */
15#define PORT(base_addr, offset) ((unsigned int __iomem *)(base_addr+(offset)*4))
16
17static char console_port = 1;
18
19static inline unsigned int serial_in(int offset, unsigned int base_addr)
20{
21 return __raw_readl(PORT(base_addr, offset)) & 0xff;
22}
23
24static inline void serial_out(int offset, int value, unsigned int base_addr)
25{
26 __raw_writel(value, PORT(base_addr, offset));
27}
28
29void __init prom_init_early_console(char port)
30{
31 console_port = port;
32}
33
34int prom_putchar(char c)
35{
36 unsigned int base_addr;
37
38 base_addr = console_port ? SEAD_UART1_REGS_BASE : SEAD_UART0_REGS_BASE;
39
40 while ((serial_in(UART_LSR, base_addr) & UART_LSR_THRE) == 0)
41 ;
42
43 serial_out(UART_TX, c, base_addr);
44
45 return 1;
46}
diff --git a/arch/mips/mti-sead3/sead3-display.c b/arch/mips/mti-sead3/sead3-display.c
new file mode 100644
index 000000000000..8308c7fc188a
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-display.c
@@ -0,0 +1,78 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/timer.h>
9#include <linux/io.h>
10#include <asm/mips-boards/generic.h>
11#include <asm/mips-boards/prom.h>
12
13static unsigned int display_count;
14static unsigned int max_display_count;
15
16#define LCD_DISPLAY_POS_BASE 0x1f000400
17#define DISPLAY_LCDINSTRUCTION (0*2)
18#define DISPLAY_LCDDATA (1*2)
19#define DISPLAY_CPLDSTATUS (2*2)
20#define DISPLAY_CPLDDATA (3*2)
21#define LCD_SETDDRAM 0x80
22#define LCD_IR_BF 0x80
23
24const char display_string[] = " LINUX ON SEAD3 ";
25
26static void scroll_display_message(unsigned long data);
27static DEFINE_TIMER(mips_scroll_timer, scroll_display_message, HZ, 0);
28
29static void lcd_wait(unsigned int __iomem *display)
30{
31 /* Wait for CPLD state machine to become idle. */
32 do { } while (__raw_readl(display + DISPLAY_CPLDSTATUS) & 1);
33
34 do {
35 __raw_readl(display + DISPLAY_LCDINSTRUCTION);
36
37 /* Wait for CPLD state machine to become idle. */
38 do { } while (__raw_readl(display + DISPLAY_CPLDSTATUS) & 1);
39 } while (__raw_readl(display + DISPLAY_CPLDDATA) & LCD_IR_BF);
40}
41
42void mips_display_message(const char *str)
43{
44 static unsigned int __iomem *display;
45 char ch;
46 int i;
47
48 if (unlikely(display == NULL))
49 display = ioremap_nocache(LCD_DISPLAY_POS_BASE,
50 (8 * sizeof(int)));
51
52 for (i = 0; i < 16; i++) {
53 if (*str)
54 ch = *str++;
55 else
56 ch = ' ';
57 lcd_wait(display);
58 __raw_writel((LCD_SETDDRAM | i),
59 (display + DISPLAY_LCDINSTRUCTION));
60 lcd_wait(display);
61 __raw_writel(ch, display + DISPLAY_LCDDATA);
62 }
63}
64
65static void scroll_display_message(unsigned long data)
66{
67 mips_display_message(&display_string[display_count++]);
68 if (display_count == max_display_count)
69 display_count = 0;
70 mod_timer(&mips_scroll_timer, jiffies + HZ);
71}
72
73void mips_scroll_message(void)
74{
75 del_timer_sync(&mips_scroll_timer);
76 max_display_count = strlen(display_string) + 1 - 16;
77 mod_timer(&mips_scroll_timer, jiffies + 1);
78}
diff --git a/arch/mips/mti-sead3/sead3-ehci.c b/arch/mips/mti-sead3/sead3-ehci.c
new file mode 100644
index 000000000000..772fc056a92d
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-ehci.c
@@ -0,0 +1,47 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/module.h>
9#include <linux/irq.h>
10#include <linux/dma-mapping.h>
11#include <linux/platform_device.h>
12
13struct resource ehci_resources[] = {
14 {
15 .start = 0x1b200000,
16 .end = 0x1b200fff,
17 .flags = IORESOURCE_MEM
18 },
19 {
20 .start = MIPS_CPU_IRQ_BASE + 2,
21 .flags = IORESOURCE_IRQ
22 }
23};
24
25u64 sead3_usbdev_dma_mask = DMA_BIT_MASK(32);
26
27static struct platform_device ehci_device = {
28 .name = "sead3-ehci",
29 .id = 0,
30 .dev = {
31 .dma_mask = &sead3_usbdev_dma_mask,
32 .coherent_dma_mask = DMA_BIT_MASK(32)
33 },
34 .num_resources = ARRAY_SIZE(ehci_resources),
35 .resource = ehci_resources
36};
37
38static int __init ehci_init(void)
39{
40 return platform_device_register(&ehci_device);
41}
42
43module_init(ehci_init);
44
45MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
46MODULE_LICENSE("GPL");
47MODULE_DESCRIPTION("EHCI probe driver for SEAD3");
diff --git a/arch/mips/mti-sead3/sead3-i2c-dev.c b/arch/mips/mti-sead3/sead3-i2c-dev.c
new file mode 100644
index 000000000000..eca0b53a71dd
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-i2c-dev.c
@@ -0,0 +1,33 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9#include <linux/i2c.h>
10
11static struct i2c_board_info __initdata sead3_i2c_devices[] = {
12 {
13 I2C_BOARD_INFO("adt7476", 0x2c),
14 .irq = 0,
15 },
16 {
17 I2C_BOARD_INFO("m41t80", 0x68),
18 .irq = 0,
19 },
20};
21
22static int __init sead3_i2c_init(void)
23{
24 int err;
25
26 err = i2c_register_board_info(0, sead3_i2c_devices,
27 ARRAY_SIZE(sead3_i2c_devices));
28 if (err < 0)
29 pr_err("sead3-i2c-dev: cannot register board I2C devices\n");
30 return err;
31}
32
33arch_initcall(sead3_i2c_init);
diff --git a/arch/mips/mti-sead3/sead3-i2c-drv.c b/arch/mips/mti-sead3/sead3-i2c-drv.c
new file mode 100644
index 000000000000..0375ee66bca3
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-i2c-drv.c
@@ -0,0 +1,405 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9#include <linux/module.h>
10#include <linux/slab.h>
11#include <linux/delay.h>
12#include <linux/i2c.h>
13#include <linux/platform_device.h>
14
15#define PIC32_I2CxCON 0x0000
16#define PIC32_I2CCON_ON (1<<15)
17#define PIC32_I2CCON_ACKDT (1<<5)
18#define PIC32_I2CCON_ACKEN (1<<4)
19#define PIC32_I2CCON_RCEN (1<<3)
20#define PIC32_I2CCON_PEN (1<<2)
21#define PIC32_I2CCON_RSEN (1<<1)
22#define PIC32_I2CCON_SEN (1<<0)
23#define PIC32_I2CxCONCLR 0x0004
24#define PIC32_I2CxCONSET 0x0008
25#define PIC32_I2CxSTAT 0x0010
26#define PIC32_I2CxSTATCLR 0x0014
27#define PIC32_I2CSTAT_ACKSTAT (1<<15)
28#define PIC32_I2CSTAT_TRSTAT (1<<14)
29#define PIC32_I2CSTAT_BCL (1<<10)
30#define PIC32_I2CSTAT_IWCOL (1<<7)
31#define PIC32_I2CSTAT_I2COV (1<<6)
32#define PIC32_I2CxBRG 0x0040
33#define PIC32_I2CxTRN 0x0050
34#define PIC32_I2CxRCV 0x0060
35
36static DEFINE_SPINLOCK(pic32_bus_lock);
37
38static void __iomem *bus_xfer = (void __iomem *)0xbf000600;
39static void __iomem *bus_status = (void __iomem *)0xbf000060;
40
41#define DELAY() udelay(100)
42
43static inline unsigned int ioready(void)
44{
45 return readl(bus_status) & 1;
46}
47
48static inline void wait_ioready(void)
49{
50 do { } while (!ioready());
51}
52
53static inline void wait_ioclear(void)
54{
55 do { } while (ioready());
56}
57
58static inline void check_ioclear(void)
59{
60 if (ioready()) {
61 do {
62 (void) readl(bus_xfer);
63 DELAY();
64 } while (ioready());
65 }
66}
67
68static u32 pic32_bus_readl(u32 reg)
69{
70 unsigned long flags;
71 u32 status, val;
72
73 spin_lock_irqsave(&pic32_bus_lock, flags);
74
75 check_ioclear();
76 writel((0x01 << 24) | (reg & 0x00ffffff), bus_xfer);
77 DELAY();
78 wait_ioready();
79 status = readl(bus_xfer);
80 DELAY();
81 val = readl(bus_xfer);
82 wait_ioclear();
83
84 spin_unlock_irqrestore(&pic32_bus_lock, flags);
85
86 return val;
87}
88
89static void pic32_bus_writel(u32 val, u32 reg)
90{
91 unsigned long flags;
92 u32 status;
93
94 spin_lock_irqsave(&pic32_bus_lock, flags);
95
96 check_ioclear();
97 writel((0x10 << 24) | (reg & 0x00ffffff), bus_xfer);
98 DELAY();
99 writel(val, bus_xfer);
100 DELAY();
101 wait_ioready();
102 status = readl(bus_xfer);
103 wait_ioclear();
104
105 spin_unlock_irqrestore(&pic32_bus_lock, flags);
106}
107
108struct pic32_i2c_platform_data {
109 u32 base;
110 struct i2c_adapter adap;
111 u32 xfer_timeout;
112 u32 ack_timeout;
113 u32 ctl_timeout;
114};
115
116static inline void pic32_i2c_start(struct pic32_i2c_platform_data *adap)
117{
118 pic32_bus_writel(PIC32_I2CCON_SEN, adap->base + PIC32_I2CxCONSET);
119}
120
121static inline void pic32_i2c_stop(struct pic32_i2c_platform_data *adap)
122{
123 pic32_bus_writel(PIC32_I2CCON_PEN, adap->base + PIC32_I2CxCONSET);
124}
125
126static inline void pic32_i2c_ack(struct pic32_i2c_platform_data *adap)
127{
128 pic32_bus_writel(PIC32_I2CCON_ACKDT, adap->base + PIC32_I2CxCONCLR);
129 pic32_bus_writel(PIC32_I2CCON_ACKEN, adap->base + PIC32_I2CxCONSET);
130}
131
132static inline void pic32_i2c_nack(struct pic32_i2c_platform_data *adap)
133{
134 pic32_bus_writel(PIC32_I2CCON_ACKDT, adap->base + PIC32_I2CxCONSET);
135 pic32_bus_writel(PIC32_I2CCON_ACKEN, adap->base + PIC32_I2CxCONSET);
136}
137
138static inline int pic32_i2c_idle(struct pic32_i2c_platform_data *adap)
139{
140 int i;
141
142 for (i = 0; i < adap->ctl_timeout; i++) {
143 if (((pic32_bus_readl(adap->base + PIC32_I2CxCON) &
144 (PIC32_I2CCON_ACKEN | PIC32_I2CCON_RCEN |
145 PIC32_I2CCON_PEN | PIC32_I2CCON_RSEN |
146 PIC32_I2CCON_SEN)) == 0) &&
147 ((pic32_bus_readl(adap->base + PIC32_I2CxSTAT) &
148 (PIC32_I2CSTAT_TRSTAT)) == 0))
149 return 0;
150 udelay(1);
151 }
152 return -ETIMEDOUT;
153}
154
155static inline u32 pic32_i2c_master_write(struct pic32_i2c_platform_data *adap,
156 u32 byte)
157{
158 pic32_bus_writel(byte, adap->base + PIC32_I2CxTRN);
159 return pic32_bus_readl(adap->base + PIC32_I2CxSTAT) &
160 PIC32_I2CSTAT_IWCOL;
161}
162
163static inline u32 pic32_i2c_master_read(struct pic32_i2c_platform_data *adap)
164{
165 pic32_bus_writel(PIC32_I2CCON_RCEN, adap->base + PIC32_I2CxCONSET);
166 while (pic32_bus_readl(adap->base + PIC32_I2CxCON) & PIC32_I2CCON_RCEN)
167 ;
168 pic32_bus_writel(PIC32_I2CSTAT_I2COV, adap->base + PIC32_I2CxSTATCLR);
169 return pic32_bus_readl(adap->base + PIC32_I2CxRCV);
170}
171
172static int pic32_i2c_address(struct pic32_i2c_platform_data *adap,
173 unsigned int addr, int rd)
174{
175 pic32_i2c_idle(adap);
176 pic32_i2c_start(adap);
177 pic32_i2c_idle(adap);
178
179 addr <<= 1;
180 if (rd)
181 addr |= 1;
182
183 if (pic32_i2c_master_write(adap, addr))
184 return -EIO;
185 pic32_i2c_idle(adap);
186 if (pic32_bus_readl(adap->base + PIC32_I2CxSTAT) &
187 PIC32_I2CSTAT_ACKSTAT)
188 return -EIO;
189 return 0;
190}
191
192static int sead3_i2c_read(struct pic32_i2c_platform_data *adap,
193 unsigned char *buf, unsigned int len)
194{
195 u32 data;
196 int i;
197
198 i = 0;
199 while (i < len) {
200 data = pic32_i2c_master_read(adap);
201 buf[i++] = data;
202 if (i < len)
203 pic32_i2c_ack(adap);
204 else
205 pic32_i2c_nack(adap);
206 }
207
208 pic32_i2c_stop(adap);
209 pic32_i2c_idle(adap);
210 return 0;
211}
212
213static int sead3_i2c_write(struct pic32_i2c_platform_data *adap,
214 unsigned char *buf, unsigned int len)
215{
216 int i;
217 u32 data;
218
219 i = 0;
220 while (i < len) {
221 data = buf[i];
222 if (pic32_i2c_master_write(adap, data))
223 return -EIO;
224 pic32_i2c_idle(adap);
225 if (pic32_bus_readl(adap->base + PIC32_I2CxSTAT) &
226 PIC32_I2CSTAT_ACKSTAT)
227 return -EIO;
228 i++;
229 }
230
231 pic32_i2c_stop(adap);
232 pic32_i2c_idle(adap);
233 return 0;
234}
235
236static int sead3_pic32_platform_xfer(struct i2c_adapter *i2c_adap,
237 struct i2c_msg *msgs, int num)
238{
239 struct pic32_i2c_platform_data *adap = i2c_adap->algo_data;
240 struct i2c_msg *p;
241 int i, err = 0;
242
243 for (i = 0; i < num; i++) {
244#define __BUFSIZE 80
245 int ii;
246 static char buf[__BUFSIZE];
247 char *b = buf;
248
249 p = &msgs[i];
250 b += sprintf(buf, " [%d bytes]", p->len);
251 if ((p->flags & I2C_M_RD) == 0) {
252 for (ii = 0; ii < p->len; ii++) {
253 if (b < &buf[__BUFSIZE-4]) {
254 b += sprintf(b, " %02x", p->buf[ii]);
255 } else {
256 strcat(b, "...");
257 break;
258 }
259 }
260 }
261 }
262
263 for (i = 0; !err && i < num; i++) {
264 p = &msgs[i];
265 err = pic32_i2c_address(adap, p->addr, p->flags & I2C_M_RD);
266 if (err || !p->len)
267 continue;
268 if (p->flags & I2C_M_RD)
269 err = sead3_i2c_read(adap, p->buf, p->len);
270 else
271 err = sead3_i2c_write(adap, p->buf, p->len);
272 }
273
274 /* Return the number of messages processed, or the error code. */
275 if (err == 0)
276 err = num;
277
278 return err;
279}
280
281static u32 sead3_pic32_platform_func(struct i2c_adapter *adap)
282{
283 return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL;
284}
285
286static const struct i2c_algorithm sead3_platform_algo = {
287 .master_xfer = sead3_pic32_platform_xfer,
288 .functionality = sead3_pic32_platform_func,
289};
290
291static void sead3_i2c_platform_setup(struct pic32_i2c_platform_data *priv)
292{
293 pic32_bus_writel(500, priv->base + PIC32_I2CxBRG);
294 pic32_bus_writel(PIC32_I2CCON_ON, priv->base + PIC32_I2CxCONCLR);
295 pic32_bus_writel(PIC32_I2CCON_ON, priv->base + PIC32_I2CxCONSET);
296 pic32_bus_writel(PIC32_I2CSTAT_BCL | PIC32_I2CSTAT_IWCOL,
297 priv->base + PIC32_I2CxSTATCLR);
298}
299
300static int __devinit sead3_i2c_platform_probe(struct platform_device *pdev)
301{
302 struct pic32_i2c_platform_data *priv;
303 struct resource *r;
304 int ret;
305
306 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
307 if (!r) {
308 ret = -ENODEV;
309 goto out;
310 }
311
312 priv = kzalloc(sizeof(struct pic32_i2c_platform_data), GFP_KERNEL);
313 if (!priv) {
314 ret = -ENOMEM;
315 goto out;
316 }
317
318 priv->base = r->start;
319 if (!priv->base) {
320 ret = -EBUSY;
321 goto out_mem;
322 }
323
324 priv->xfer_timeout = 200;
325 priv->ack_timeout = 200;
326 priv->ctl_timeout = 200;
327
328 priv->adap.nr = pdev->id;
329 priv->adap.algo = &sead3_platform_algo;
330 priv->adap.algo_data = priv;
331 priv->adap.dev.parent = &pdev->dev;
332 strlcpy(priv->adap.name, "SEAD3 PIC32", sizeof(priv->adap.name));
333
334 sead3_i2c_platform_setup(priv);
335
336 ret = i2c_add_numbered_adapter(&priv->adap);
337 if (ret == 0) {
338 platform_set_drvdata(pdev, priv);
339 return 0;
340 }
341
342out_mem:
343 kfree(priv);
344out:
345 return ret;
346}
347
348static int __devexit sead3_i2c_platform_remove(struct platform_device *pdev)
349{
350 struct pic32_i2c_platform_data *priv = platform_get_drvdata(pdev);
351
352 platform_set_drvdata(pdev, NULL);
353 i2c_del_adapter(&priv->adap);
354 kfree(priv);
355 return 0;
356}
357
358#ifdef CONFIG_PM
359static int sead3_i2c_platform_suspend(struct platform_device *pdev,
360 pm_message_t state)
361{
362 dev_dbg(&pdev->dev, "i2c_platform_disable\n");
363 return 0;
364}
365
366static int sead3_i2c_platform_resume(struct platform_device *pdev)
367{
368 struct pic32_i2c_platform_data *priv = platform_get_drvdata(pdev);
369
370 dev_dbg(&pdev->dev, "sead3_i2c_platform_setup\n");
371 sead3_i2c_platform_setup(priv);
372
373 return 0;
374}
375#else
376#define sead3_i2c_platform_suspend NULL
377#define sead3_i2c_platform_resume NULL
378#endif
379
380static struct platform_driver sead3_i2c_platform_driver = {
381 .driver = {
382 .name = "sead3-i2c",
383 .owner = THIS_MODULE,
384 },
385 .probe = sead3_i2c_platform_probe,
386 .remove = __devexit_p(sead3_i2c_platform_remove),
387 .suspend = sead3_i2c_platform_suspend,
388 .resume = sead3_i2c_platform_resume,
389};
390
391static int __init sead3_i2c_platform_init(void)
392{
393 return platform_driver_register(&sead3_i2c_platform_driver);
394}
395module_init(sead3_i2c_platform_init);
396
397static void __exit sead3_i2c_platform_exit(void)
398{
399 platform_driver_unregister(&sead3_i2c_platform_driver);
400}
401module_exit(sead3_i2c_platform_exit);
402
403MODULE_AUTHOR("Chris Dearman, MIPS Technologies INC.");
404MODULE_DESCRIPTION("SEAD3 PIC32 I2C driver");
405MODULE_LICENSE("GPL");
diff --git a/arch/mips/mti-sead3/sead3-i2c.c b/arch/mips/mti-sead3/sead3-i2c.c
new file mode 100644
index 000000000000..f70d5fc58ef5
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-i2c.c
@@ -0,0 +1,37 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/module.h>
9#include <linux/init.h>
10#include <linux/platform_device.h>
11#include <irq.h>
12
13struct resource sead3_i2c_resources[] = {
14 {
15 .start = 0x805200,
16 .end = 0x8053ff,
17 .flags = IORESOURCE_MEM,
18 },
19};
20
21static struct platform_device sead3_i2c_device = {
22 .name = "sead3-i2c",
23 .id = 0,
24 .num_resources = ARRAY_SIZE(sead3_i2c_resources),
25 .resource = sead3_i2c_resources,
26};
27
28static int __init sead3_i2c_init(void)
29{
30 return platform_device_register(&sead3_i2c_device);
31}
32
33module_init(sead3_i2c_init);
34
35MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
36MODULE_LICENSE("GPL");
37MODULE_DESCRIPTION("I2C probe driver for SEAD3");
diff --git a/arch/mips/mti-sead3/sead3-init.c b/arch/mips/mti-sead3/sead3-init.c
new file mode 100644
index 000000000000..a958cad6fff6
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-init.c
@@ -0,0 +1,91 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9#include <linux/io.h>
10
11#include <asm/bootinfo.h>
12#include <asm/cacheflush.h>
13#include <asm/traps.h>
14#include <asm/mips-boards/generic.h>
15#include <asm/mips-boards/prom.h>
16
17extern void prom_init_early_console(char port);
18
19extern char except_vec_nmi;
20extern char except_vec_ejtag_debug;
21
22int prom_argc;
23int *_prom_argv, *_prom_envp;
24
25#define prom_envp(index) ((char *)(long)_prom_envp[(index)])
26
27char *prom_getenv(char *envname)
28{
29 /*
30 * Return a pointer to the given environment variable.
31 * In 64-bit mode: we're using 64-bit pointers, but all pointers
32 * in the PROM structures are only 32-bit, so we need some
33 * workarounds, if we are running in 64-bit mode.
34 */
35 int i, index = 0;
36
37 i = strlen(envname);
38
39 while (prom_envp(index)) {
40 if (strncmp(envname, prom_envp(index), i) == 0)
41 return prom_envp(index+1);
42 index += 2;
43 }
44
45 return NULL;
46}
47
48static void __init mips_nmi_setup(void)
49{
50 void *base;
51
52 base = cpu_has_veic ?
53 (void *)(CAC_BASE + 0xa80) :
54 (void *)(CAC_BASE + 0x380);
55 memcpy(base, &except_vec_nmi, 0x80);
56 flush_icache_range((unsigned long)base, (unsigned long)base + 0x80);
57}
58
59static void __init mips_ejtag_setup(void)
60{
61 void *base;
62
63 base = cpu_has_veic ?
64 (void *)(CAC_BASE + 0xa00) :
65 (void *)(CAC_BASE + 0x300);
66 memcpy(base, &except_vec_ejtag_debug, 0x80);
67 flush_icache_range((unsigned long)base, (unsigned long)base + 0x80);
68}
69
70void __init prom_init(void)
71{
72 prom_argc = fw_arg0;
73 _prom_argv = (int *) fw_arg1;
74 _prom_envp = (int *) fw_arg2;
75
76 board_nmi_handler_setup = mips_nmi_setup;
77 board_ejtag_handler_setup = mips_ejtag_setup;
78
79 prom_init_cmdline();
80 prom_meminit();
81#ifdef CONFIG_EARLY_PRINTK
82 if ((strstr(prom_getcmdline(), "console=ttyS0")) != NULL)
83 prom_init_early_console(0);
84 else if ((strstr(prom_getcmdline(), "console=ttyS1")) != NULL)
85 prom_init_early_console(1);
86#endif
87#ifdef CONFIG_SERIAL_8250_CONSOLE
88 if ((strstr(prom_getcmdline(), "console=")) == NULL)
89 strcat(prom_getcmdline(), " console=ttyS0,38400n8r");
90#endif
91}
diff --git a/arch/mips/mti-sead3/sead3-int.c b/arch/mips/mti-sead3/sead3-int.c
new file mode 100644
index 000000000000..e26e08274fc5
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-int.c
@@ -0,0 +1,158 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9#include <linux/irq.h>
10#include <linux/io.h>
11
12#include <asm/gic.h>
13#include <asm/irq_cpu.h>
14#include <asm/setup.h>
15
16#include <asm/mips-boards/sead3int.h>
17
18#define SEAD_CONFIG_GIC_PRESENT_SHF 1
19#define SEAD_CONFIG_GIC_PRESENT_MSK (1 << SEAD_CONFIG_GIC_PRESENT_SHF)
20#define SEAD_CONFIG_BASE 0x1b100110
21#define SEAD_CONFIG_SIZE 4
22
23int gic_present;
24static unsigned long sead3_config_reg;
25
26/*
27 * This table defines the setup for each external GIC interrupt. It is
28 * indexed by interrupt number.
29 */
30#define GIC_CPU_NMI GIC_MAP_TO_NMI_MSK
31static struct gic_intr_map gic_intr_map[GIC_NUM_INTRS] = {
32 { 0, GIC_CPU_INT4, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
33 { 0, GIC_CPU_INT3, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
34 { 0, GIC_CPU_INT2, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
35 { 0, GIC_CPU_INT2, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
36 { 0, GIC_CPU_INT1, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
37 { 0, GIC_CPU_INT0, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
38 { 0, GIC_CPU_INT0, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
39 { 0, GIC_CPU_INT0, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
40 { 0, GIC_CPU_INT0, GIC_POL_POS, GIC_TRIG_LEVEL, GIC_FLAG_TRANSPARENT },
41 { GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED },
42 { GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED },
43 { GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED },
44 { GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED },
45 { GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED },
46 { GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED },
47 { GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED, GIC_UNUSED },
48};
49
50asmlinkage void plat_irq_dispatch(void)
51{
52 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
53 int irq;
54
55 irq = (fls(pending) - CAUSEB_IP - 1);
56 if (irq >= 0)
57 do_IRQ(MIPS_CPU_IRQ_BASE + irq);
58 else
59 spurious_interrupt();
60}
61
62void __init arch_init_irq(void)
63{
64 int i;
65
66 if (!cpu_has_veic) {
67 mips_cpu_irq_init();
68
69 if (cpu_has_vint) {
70 /* install generic handler */
71 for (i = 0; i < 8; i++)
72 set_vi_handler(i, plat_irq_dispatch);
73 }
74 }
75
76 sead3_config_reg = (unsigned long)ioremap_nocache(SEAD_CONFIG_BASE,
77 SEAD_CONFIG_SIZE);
78 gic_present = (REG32(sead3_config_reg) & SEAD_CONFIG_GIC_PRESENT_MSK) >>
79 SEAD_CONFIG_GIC_PRESENT_SHF;
80 pr_info("GIC: %spresent\n", (gic_present) ? "" : "not ");
81 pr_info("EIC: %s\n",
82 (current_cpu_data.options & MIPS_CPU_VEIC) ? "on" : "off");
83
84 if (gic_present)
85 gic_init(GIC_BASE_ADDR, GIC_ADDRSPACE_SZ, gic_intr_map,
86 ARRAY_SIZE(gic_intr_map), MIPS_GIC_IRQ_BASE);
87}
88
89void gic_enable_interrupt(int irq_vec)
90{
91 unsigned int i, irq_source;
92
93 /* enable all the interrupts associated with this vector */
94 for (i = 0; i < gic_shared_intr_map[irq_vec].num_shared_intr; i++) {
95 irq_source = gic_shared_intr_map[irq_vec].intr_list[i];
96 GIC_SET_INTR_MASK(irq_source);
97 }
98 /* enable all local interrupts associated with this vector */
99 if (gic_shared_intr_map[irq_vec].local_intr_mask) {
100 GICWRITE(GIC_REG(VPE_LOCAL, GIC_VPE_OTHER_ADDR), 0);
101 GICWRITE(GIC_REG(VPE_OTHER, GIC_VPE_SMASK),
102 gic_shared_intr_map[irq_vec].local_intr_mask);
103 }
104}
105
106void gic_disable_interrupt(int irq_vec)
107{
108 unsigned int i, irq_source;
109
110 /* disable all the interrupts associated with this vector */
111 for (i = 0; i < gic_shared_intr_map[irq_vec].num_shared_intr; i++) {
112 irq_source = gic_shared_intr_map[irq_vec].intr_list[i];
113 GIC_CLR_INTR_MASK(irq_source);
114 }
115 /* disable all local interrupts associated with this vector */
116 if (gic_shared_intr_map[irq_vec].local_intr_mask) {
117 GICWRITE(GIC_REG(VPE_LOCAL, GIC_VPE_OTHER_ADDR), 0);
118 GICWRITE(GIC_REG(VPE_OTHER, GIC_VPE_RMASK),
119 gic_shared_intr_map[irq_vec].local_intr_mask);
120 }
121}
122
123void gic_irq_ack(struct irq_data *d)
124{
125 GIC_CLR_INTR_MASK(d->irq - gic_irq_base);
126}
127
128void gic_finish_irq(struct irq_data *d)
129{
130 unsigned int irq = (d->irq - gic_irq_base);
131 unsigned int i, irq_source;
132
133 /* Clear edge detectors. */
134 for (i = 0; i < gic_shared_intr_map[irq].num_shared_intr; i++) {
135 irq_source = gic_shared_intr_map[irq].intr_list[i];
136 if (gic_irq_flags[irq_source] & GIC_TRIG_EDGE)
137 GICWRITE(GIC_REG(SHARED, GIC_SH_WEDGE), irq_source);
138 }
139
140 /* Enable interrupts. */
141 GIC_SET_INTR_MASK(irq);
142}
143
144void __init gic_platform_init(int irqs, struct irq_chip *irq_controller)
145{
146 int i;
147
148 /*
149 * For non-EIC mode, we want to setup the GIC in pass-through
150 * mode, as if the GIC didn't exist. Do not map any interrupts
151 * for an external interrupt controller.
152 */
153 if (!cpu_has_veic)
154 return;
155
156 for (i = gic_irq_base; i < (gic_irq_base + irqs); i++)
157 irq_set_chip_and_handler(i, irq_controller, handle_percpu_irq);
158}
diff --git a/arch/mips/mti-sead3/sead3-lcd.c b/arch/mips/mti-sead3/sead3-lcd.c
new file mode 100644
index 000000000000..10b10ed21f77
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-lcd.c
@@ -0,0 +1,43 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9#include <linux/platform_device.h>
10
11static struct resource __initdata sead3_lcd_resource = {
12 .start = 0x1f000400,
13 .end = 0x1f00041f,
14 .flags = IORESOURCE_MEM,
15};
16
17static __init int sead3_lcd_add(void)
18{
19 struct platform_device *pdev;
20 int retval;
21
22 /* SEAD-3 and Cobalt platforms use same display type. */
23 pdev = platform_device_alloc("cobalt-lcd", -1);
24 if (!pdev)
25 return -ENOMEM;
26
27 retval = platform_device_add_resources(pdev, &sead3_lcd_resource, 1);
28 if (retval)
29 goto err_free_device;
30
31 retval = platform_device_add(pdev);
32 if (retval)
33 goto err_free_device;
34
35 return 0;
36
37err_free_device:
38 platform_device_put(pdev);
39
40 return retval;
41}
42
43device_initcall(sead3_lcd_add);
diff --git a/arch/mips/mti-sead3/sead3-leds.c b/arch/mips/mti-sead3/sead3-leds.c
new file mode 100644
index 000000000000..20102a6d4141
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-leds.c
@@ -0,0 +1,83 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/module.h>
9#include <linux/leds.h>
10#include <linux/platform_device.h>
11
12#define LEDFLAGS(bits, shift) \
13 ((bits << 8) | (shift << 8))
14
15#define LEDBITS(id, shift, bits) \
16 .name = id #shift, \
17 .flags = LEDFLAGS(bits, shift)
18
19struct led_info led_data_info[] = {
20 { LEDBITS("bit", 0, 1) },
21 { LEDBITS("bit", 1, 1) },
22 { LEDBITS("bit", 2, 1) },
23 { LEDBITS("bit", 3, 1) },
24 { LEDBITS("bit", 4, 1) },
25 { LEDBITS("bit", 5, 1) },
26 { LEDBITS("bit", 6, 1) },
27 { LEDBITS("bit", 7, 1) },
28 { LEDBITS("all", 0, 8) },
29};
30
31static struct led_platform_data led_data = {
32 .num_leds = ARRAY_SIZE(led_data_info),
33 .leds = led_data_info
34};
35
36static struct resource pled_resources[] = {
37 {
38 .start = 0x1f000210,
39 .end = 0x1f000217,
40 .flags = IORESOURCE_MEM
41 }
42};
43
44static struct platform_device pled_device = {
45 .name = "sead3::pled",
46 .id = 0,
47 .dev = {
48 .platform_data = &led_data,
49 },
50 .num_resources = ARRAY_SIZE(pled_resources),
51 .resource = pled_resources
52};
53
54
55static struct resource fled_resources[] = {
56 {
57 .start = 0x1f000218,
58 .end = 0x1f00021f,
59 .flags = IORESOURCE_MEM
60 }
61};
62
63static struct platform_device fled_device = {
64 .name = "sead3::fled",
65 .id = 0,
66 .dev = {
67 .platform_data = &led_data,
68 },
69 .num_resources = ARRAY_SIZE(fled_resources),
70 .resource = fled_resources
71};
72
73static int __init led_init(void)
74{
75 platform_device_register(&pled_device);
76 return platform_device_register(&fled_device);
77}
78
79module_init(led_init);
80
81MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
82MODULE_LICENSE("GPL");
83MODULE_DESCRIPTION("LED probe driver for SEAD-3");
diff --git a/arch/mips/mti-sead3/sead3-memory.c b/arch/mips/mti-sead3/sead3-memory.c
new file mode 100644
index 000000000000..da9244106f86
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-memory.c
@@ -0,0 +1,138 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/bootmem.h>
9
10#include <asm/bootinfo.h>
11#include <asm/sections.h>
12#include <asm/mips-boards/prom.h>
13
14enum yamon_memtypes {
15 yamon_dontuse,
16 yamon_prom,
17 yamon_free,
18};
19
20static struct prom_pmemblock mdesc[PROM_MAX_PMEMBLOCKS];
21
22/* determined physical memory size, not overridden by command line args */
23unsigned long physical_memsize = 0L;
24
25struct prom_pmemblock * __init prom_getmdesc(void)
26{
27 char *memsize_str, *ptr;
28 unsigned int memsize;
29 static char cmdline[COMMAND_LINE_SIZE] __initdata;
30 long val;
31 int tmp;
32
33 /* otherwise look in the environment */
34 memsize_str = prom_getenv("memsize");
35 if (!memsize_str) {
36 pr_warn("memsize not set in boot prom, set to default 32Mb\n");
37 physical_memsize = 0x02000000;
38 } else {
39 tmp = kstrtol(memsize_str, 0, &val);
40 physical_memsize = (unsigned long)val;
41 }
42
43#ifdef CONFIG_CPU_BIG_ENDIAN
44 /* SOC-it swaps, or perhaps doesn't swap, when DMA'ing the last
45 word of physical memory */
46 physical_memsize -= PAGE_SIZE;
47#endif
48
49 /* Check the command line for a memsize directive that overrides
50 the physical/default amount */
51 strcpy(cmdline, arcs_cmdline);
52 ptr = strstr(cmdline, "memsize=");
53 if (ptr && (ptr != cmdline) && (*(ptr - 1) != ' '))
54 ptr = strstr(ptr, " memsize=");
55
56 if (ptr)
57 memsize = memparse(ptr + 8, &ptr);
58 else
59 memsize = physical_memsize;
60
61 memset(mdesc, 0, sizeof(mdesc));
62
63 mdesc[0].type = yamon_dontuse;
64 mdesc[0].base = 0x00000000;
65 mdesc[0].size = 0x00001000;
66
67 mdesc[1].type = yamon_prom;
68 mdesc[1].base = 0x00001000;
69 mdesc[1].size = 0x000ef000;
70
71 /*
72 * The area 0x000f0000-0x000fffff is allocated for BIOS memory by the
73 * south bridge and PCI access always forwarded to the ISA Bus and
74 * BIOSCS# is always generated.
75 * This mean that this area can't be used as DMA memory for PCI
76 * devices.
77 */
78 mdesc[2].type = yamon_dontuse;
79 mdesc[2].base = 0x000f0000;
80 mdesc[2].size = 0x00010000;
81
82 mdesc[3].type = yamon_dontuse;
83 mdesc[3].base = 0x00100000;
84 mdesc[3].size = CPHYSADDR(PFN_ALIGN((unsigned long)&_end)) -
85 mdesc[3].base;
86
87 mdesc[4].type = yamon_free;
88 mdesc[4].base = CPHYSADDR(PFN_ALIGN(&_end));
89 mdesc[4].size = memsize - mdesc[4].base;
90
91 return &mdesc[0];
92}
93
94static int __init prom_memtype_classify(unsigned int type)
95{
96 switch (type) {
97 case yamon_free:
98 return BOOT_MEM_RAM;
99 case yamon_prom:
100 return BOOT_MEM_ROM_DATA;
101 default:
102 return BOOT_MEM_RESERVED;
103 }
104}
105
106void __init prom_meminit(void)
107{
108 struct prom_pmemblock *p;
109
110 p = prom_getmdesc();
111
112 while (p->size) {
113 long type;
114 unsigned long base, size;
115
116 type = prom_memtype_classify(p->type);
117 base = p->base;
118 size = p->size;
119
120 add_memory_region(base, size, type);
121 p++;
122 }
123}
124
125void __init prom_free_prom_memory(void)
126{
127 unsigned long addr;
128 int i;
129
130 for (i = 0; i < boot_mem_map.nr_map; i++) {
131 if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA)
132 continue;
133
134 addr = boot_mem_map.map[i].addr;
135 free_init_pages("prom memory",
136 addr, addr + boot_mem_map.map[i].size);
137 }
138}
diff --git a/arch/mips/mti-sead3/sead3-mtd.c b/arch/mips/mti-sead3/sead3-mtd.c
new file mode 100644
index 000000000000..ffa35f509789
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-mtd.c
@@ -0,0 +1,54 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9#include <linux/platform_device.h>
10#include <linux/mtd/physmap.h>
11
12static struct mtd_partition sead3_mtd_partitions[] = {
13 {
14 .name = "User FS",
15 .offset = 0x00000000,
16 .size = 0x01fc0000,
17 }, {
18 .name = "Board Config",
19 .offset = 0x01fc0000,
20 .size = 0x00040000,
21 .mask_flags = MTD_WRITEABLE
22 },
23};
24
25static struct physmap_flash_data sead3_flash_data = {
26 .width = 4,
27 .nr_parts = ARRAY_SIZE(sead3_mtd_partitions),
28 .parts = sead3_mtd_partitions
29};
30
31static struct resource sead3_flash_resource = {
32 .start = 0x1c000000,
33 .end = 0x1dffffff,
34 .flags = IORESOURCE_MEM
35};
36
37static struct platform_device sead3_flash = {
38 .name = "physmap-flash",
39 .id = 0,
40 .dev = {
41 .platform_data = &sead3_flash_data,
42 },
43 .num_resources = 1,
44 .resource = &sead3_flash_resource,
45};
46
47static int __init sead3_mtd_init(void)
48{
49 platform_device_register(&sead3_flash);
50
51 return 0;
52}
53
54module_init(sead3_mtd_init)
diff --git a/arch/mips/mti-sead3/sead3-net.c b/arch/mips/mti-sead3/sead3-net.c
new file mode 100644
index 000000000000..04d704df6098
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-net.c
@@ -0,0 +1,51 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/module.h>
9#include <linux/irq.h>
10#include <linux/platform_device.h>
11#include <linux/smsc911x.h>
12
13static struct smsc911x_platform_config sead3_smsc911x_data = {
14 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
15 .irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
16 .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
17 .phy_interface = PHY_INTERFACE_MODE_MII,
18};
19
20struct resource sead3_net_resourcess[] = {
21 {
22 .start = 0x1f010000,
23 .end = 0x1f01ffff,
24 .flags = IORESOURCE_MEM
25 },
26 {
27 .start = MIPS_CPU_IRQ_BASE + 6,
28 .flags = IORESOURCE_IRQ
29 }
30};
31
32static struct platform_device sead3_net_device = {
33 .name = "smsc911x",
34 .id = 0,
35 .dev = {
36 .platform_data = &sead3_smsc911x_data,
37 },
38 .num_resources = ARRAY_SIZE(sead3_net_resourcess),
39 .resource = sead3_net_resourcess
40};
41
42static int __init sead3_net_init(void)
43{
44 return platform_device_register(&sead3_net_device);
45}
46
47module_init(sead3_net_init);
48
49MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
50MODULE_LICENSE("GPL");
51MODULE_DESCRIPTION("Network probe driver for SEAD-3");
diff --git a/arch/mips/mti-sead3/sead3-pic32-bus.c b/arch/mips/mti-sead3/sead3-pic32-bus.c
new file mode 100644
index 000000000000..9f0d89bc800e
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-pic32-bus.c
@@ -0,0 +1,103 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/delay.h>
9#include <linux/kernel.h>
10#include <linux/spinlock.h>
11#include <linux/init.h>
12#include <linux/io.h>
13#include <linux/errno.h>
14
15#define PIC32_NULL 0x00
16#define PIC32_RD 0x01
17#define PIC32_SYSRD 0x02
18#define PIC32_WR 0x10
19#define PIC32_SYSWR 0x20
20#define PIC32_IRQ_CLR 0x40
21#define PIC32_STATUS 0x80
22
23#define DELAY() udelay(100) /* FIXME: needed? */
24
25/* spinlock to ensure atomic access to PIC32 */
26static DEFINE_SPINLOCK(pic32_bus_lock);
27
28/* FIXME: io_remap these */
29static void __iomem *bus_xfer = (void __iomem *)0xbf000600;
30static void __iomem *bus_status = (void __iomem *)0xbf000060;
31
32static inline unsigned int ioready(void)
33{
34 return readl(bus_status) & 1;
35}
36
37static inline void wait_ioready(void)
38{
39 do { } while (!ioready());
40}
41
42static inline void wait_ioclear(void)
43{
44 do { } while (ioready());
45}
46
47static inline void check_ioclear(void)
48{
49 if (ioready()) {
50 pr_debug("ioclear: initially busy\n");
51 do {
52 (void) readl(bus_xfer);
53 DELAY();
54 } while (ioready());
55 pr_debug("ioclear: cleared busy\n");
56 }
57}
58
59u32 pic32_bus_readl(u32 reg)
60{
61 unsigned long flags;
62 u32 status, val;
63
64 spin_lock_irqsave(&pic32_bus_lock, flags);
65
66 check_ioclear();
67
68 writel((PIC32_RD << 24) | (reg & 0x00ffffff), bus_xfer);
69 DELAY();
70 wait_ioready();
71 status = readl(bus_xfer);
72 DELAY();
73 val = readl(bus_xfer);
74 wait_ioclear();
75
76 pr_debug("pic32_bus_readl: *%x -> %x (status=%x)\n", reg, val, status);
77
78 spin_unlock_irqrestore(&pic32_bus_lock, flags);
79
80 return val;
81}
82
83void pic32_bus_writel(u32 val, u32 reg)
84{
85 unsigned long flags;
86 u32 status;
87
88 spin_lock_irqsave(&pic32_bus_lock, flags);
89
90 check_ioclear();
91
92 writel((PIC32_WR << 24) | (reg & 0x00ffffff), bus_xfer);
93 DELAY();
94 writel(val, bus_xfer);
95 DELAY();
96 wait_ioready();
97 status = readl(bus_xfer);
98 wait_ioclear();
99
100 pr_debug("pic32_bus_writel: *%x <- %x (status=%x)\n", reg, val, status);
101
102 spin_unlock_irqrestore(&pic32_bus_lock, flags);
103}
diff --git a/arch/mips/mti-sead3/sead3-pic32-i2c-drv.c b/arch/mips/mti-sead3/sead3-pic32-i2c-drv.c
new file mode 100644
index 000000000000..46509b0a620d
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-pic32-i2c-drv.c
@@ -0,0 +1,435 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/delay.h>
9#include <linux/kernel.h>
10#include <linux/module.h>
11#include <linux/spinlock.h>
12#include <linux/platform_device.h>
13#include <linux/init.h>
14#include <linux/errno.h>
15#include <linux/i2c.h>
16#include <linux/slab.h>
17
18#define PIC32_I2CxCON 0x0000
19#define PIC32_I2CxCONCLR 0x0004
20#define PIC32_I2CxCONSET 0x0008
21#define PIC32_I2CxCONINV 0x000C
22#define I2CCON_ON (1<<15)
23#define I2CCON_FRZ (1<<14)
24#define I2CCON_SIDL (1<<13)
25#define I2CCON_SCLREL (1<<12)
26#define I2CCON_STRICT (1<<11)
27#define I2CCON_A10M (1<<10)
28#define I2CCON_DISSLW (1<<9)
29#define I2CCON_SMEN (1<<8)
30#define I2CCON_GCEN (1<<7)
31#define I2CCON_STREN (1<<6)
32#define I2CCON_ACKDT (1<<5)
33#define I2CCON_ACKEN (1<<4)
34#define I2CCON_RCEN (1<<3)
35#define I2CCON_PEN (1<<2)
36#define I2CCON_RSEN (1<<1)
37#define I2CCON_SEN (1<<0)
38
39#define PIC32_I2CxSTAT 0x0010
40#define PIC32_I2CxSTATCLR 0x0014
41#define PIC32_I2CxSTATSET 0x0018
42#define PIC32_I2CxSTATINV 0x001C
43#define I2CSTAT_ACKSTAT (1<<15)
44#define I2CSTAT_TRSTAT (1<<14)
45#define I2CSTAT_BCL (1<<10)
46#define I2CSTAT_GCSTAT (1<<9)
47#define I2CSTAT_ADD10 (1<<8)
48#define I2CSTAT_IWCOL (1<<7)
49#define I2CSTAT_I2COV (1<<6)
50#define I2CSTAT_DA (1<<5)
51#define I2CSTAT_P (1<<4)
52#define I2CSTAT_S (1<<3)
53#define I2CSTAT_RW (1<<2)
54#define I2CSTAT_RBF (1<<1)
55#define I2CSTAT_TBF (1<<0)
56
57#define PIC32_I2CxADD 0x0020
58#define PIC32_I2CxADDCLR 0x0024
59#define PIC32_I2CxADDSET 0x0028
60#define PIC32_I2CxADDINV 0x002C
61#define PIC32_I2CxMSK 0x0030
62#define PIC32_I2CxMSKCLR 0x0034
63#define PIC32_I2CxMSKSET 0x0038
64#define PIC32_I2CxMSKINV 0x003C
65#define PIC32_I2CxBRG 0x0040
66#define PIC32_I2CxBRGCLR 0x0044
67#define PIC32_I2CxBRGSET 0x0048
68#define PIC32_I2CxBRGINV 0x004C
69#define PIC32_I2CxTRN 0x0050
70#define PIC32_I2CxTRNCLR 0x0054
71#define PIC32_I2CxTRNSET 0x0058
72#define PIC32_I2CxTRNINV 0x005C
73#define PIC32_I2CxRCV 0x0060
74
75struct i2c_platform_data {
76 u32 base;
77 struct i2c_adapter adap;
78 u32 xfer_timeout;
79 u32 ack_timeout;
80 u32 ctl_timeout;
81};
82
83extern u32 pic32_bus_readl(u32 reg);
84extern void pic32_bus_writel(u32 val, u32 reg);
85
86static inline void
87StartI2C(struct i2c_platform_data *adap)
88{
89 pr_debug("StartI2C\n");
90 pic32_bus_writel(I2CCON_SEN, adap->base + PIC32_I2CxCONSET);
91}
92
93static inline void
94StopI2C(struct i2c_platform_data *adap)
95{
96 pr_debug("StopI2C\n");
97 pic32_bus_writel(I2CCON_PEN, adap->base + PIC32_I2CxCONSET);
98}
99
100static inline void
101AckI2C(struct i2c_platform_data *adap)
102{
103 pr_debug("AckI2C\n");
104 pic32_bus_writel(I2CCON_ACKDT, adap->base + PIC32_I2CxCONCLR);
105 pic32_bus_writel(I2CCON_ACKEN, adap->base + PIC32_I2CxCONSET);
106}
107
108static inline void
109NotAckI2C(struct i2c_platform_data *adap)
110{
111 pr_debug("NakI2C\n");
112 pic32_bus_writel(I2CCON_ACKDT, adap->base + PIC32_I2CxCONSET);
113 pic32_bus_writel(I2CCON_ACKEN, adap->base + PIC32_I2CxCONSET);
114}
115
116static inline int
117IdleI2C(struct i2c_platform_data *adap)
118{
119 int i;
120
121 pr_debug("IdleI2C\n");
122 for (i = 0; i < adap->ctl_timeout; i++) {
123 if (((pic32_bus_readl(adap->base + PIC32_I2CxCON) &
124 (I2CCON_ACKEN | I2CCON_RCEN | I2CCON_PEN | I2CCON_RSEN |
125 I2CCON_SEN)) == 0) &&
126 ((pic32_bus_readl(adap->base + PIC32_I2CxSTAT) &
127 (I2CSTAT_TRSTAT)) == 0))
128 return 0;
129 udelay(1);
130 }
131 return -ETIMEDOUT;
132}
133
134static inline u32
135MasterWriteI2C(struct i2c_platform_data *adap, u32 byte)
136{
137 pr_debug("MasterWriteI2C\n");
138
139 pic32_bus_writel(byte, adap->base + PIC32_I2CxTRN);
140
141 return pic32_bus_readl(adap->base + PIC32_I2CxSTAT) & I2CSTAT_IWCOL;
142}
143
144static inline u32
145MasterReadI2C(struct i2c_platform_data *adap)
146{
147 pr_debug("MasterReadI2C\n");
148
149 pic32_bus_writel(I2CCON_RCEN, adap->base + PIC32_I2CxCONSET);
150
151 while (pic32_bus_readl(adap->base + PIC32_I2CxCON) & I2CCON_RCEN)
152 ;
153
154 pic32_bus_writel(I2CSTAT_I2COV, adap->base + PIC32_I2CxSTATCLR);
155
156 return pic32_bus_readl(adap->base + PIC32_I2CxRCV);
157}
158
159static int
160do_address(struct i2c_platform_data *adap, unsigned int addr, int rd)
161{
162 pr_debug("doaddress\n");
163
164 IdleI2C(adap);
165 StartI2C(adap);
166 IdleI2C(adap);
167
168 addr <<= 1;
169 if (rd)
170 addr |= 1;
171
172 if (MasterWriteI2C(adap, addr))
173 return -EIO;
174 IdleI2C(adap);
175 if (pic32_bus_readl(adap->base + PIC32_I2CxSTAT) & I2CSTAT_ACKSTAT)
176 return -EIO;
177 return 0;
178}
179
180static int
181i2c_read(struct i2c_platform_data *adap, unsigned char *buf,
182 unsigned int len)
183{
184 int i;
185 u32 data;
186
187 pr_debug("i2c_read\n");
188
189 i = 0;
190 while (i < len) {
191 data = MasterReadI2C(adap);
192 buf[i++] = data;
193 if (i < len)
194 AckI2C(adap);
195 else
196 NotAckI2C(adap);
197 }
198
199 StopI2C(adap);
200 IdleI2C(adap);
201 return 0;
202}
203
204static int
205i2c_write(struct i2c_platform_data *adap, unsigned char *buf,
206 unsigned int len)
207{
208 int i;
209 u32 data;
210
211 pr_debug("i2c_write\n");
212
213 i = 0;
214 while (i < len) {
215 data = buf[i];
216 if (MasterWriteI2C(adap, data))
217 return -EIO;
218 IdleI2C(adap);
219 if (pic32_bus_readl(adap->base + PIC32_I2CxSTAT) &
220 I2CSTAT_ACKSTAT)
221 return -EIO;
222 i++;
223 }
224
225 StopI2C(adap);
226 IdleI2C(adap);
227 return 0;
228}
229
230static int
231platform_xfer(struct i2c_adapter *i2c_adap, struct i2c_msg *msgs, int num)
232{
233 struct i2c_platform_data *adap = i2c_adap->algo_data;
234 struct i2c_msg *p;
235 int i, err = 0;
236
237 pr_debug("platform_xfer\n");
238 for (i = 0; i < num; i++) {
239#define __BUFSIZE 80
240 int ii;
241 static char buf[__BUFSIZE];
242 char *b = buf;
243
244 p = &msgs[i];
245 b += sprintf(buf, " [%d bytes]", p->len);
246 if ((p->flags & I2C_M_RD) == 0) {
247 for (ii = 0; ii < p->len; ii++) {
248 if (b < &buf[__BUFSIZE-4]) {
249 b += sprintf(b, " %02x", p->buf[ii]);
250 } else {
251 strcat(b, "...");
252 break;
253 }
254 }
255 }
256 pr_debug("xfer%d: DevAddr: %04x Op:%s Data:%s\n", i, p->addr,
257 (p->flags & I2C_M_RD) ? "Rd" : "Wr", buf);
258 }
259
260
261 for (i = 0; !err && i < num; i++) {
262 p = &msgs[i];
263 err = do_address(adap, p->addr, p->flags & I2C_M_RD);
264 if (err || !p->len)
265 continue;
266 if (p->flags & I2C_M_RD)
267 err = i2c_read(adap, p->buf, p->len);
268 else
269 err = i2c_write(adap, p->buf, p->len);
270 }
271
272 /* Return the number of messages processed, or the error code. */
273 if (err == 0)
274 err = num;
275
276 return err;
277}
278
279static u32
280platform_func(struct i2c_adapter *adap)
281{
282 pr_debug("platform_algo\n");
283 return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL;
284}
285
286static const struct i2c_algorithm platform_algo = {
287 .master_xfer = platform_xfer,
288 .functionality = platform_func,
289};
290
291static void i2c_platform_setup(struct i2c_platform_data *priv)
292{
293 pr_debug("i2c_platform_setup\n");
294
295 pic32_bus_writel(500, priv->base + PIC32_I2CxBRG);
296 pic32_bus_writel(I2CCON_ON, priv->base + PIC32_I2CxCONCLR);
297 pic32_bus_writel(I2CCON_ON, priv->base + PIC32_I2CxCONSET);
298 pic32_bus_writel((I2CSTAT_BCL | I2CSTAT_IWCOL),
299 (priv->base + PIC32_I2CxSTATCLR));
300}
301
302static void i2c_platform_disable(struct i2c_platform_data *priv)
303{
304 pr_debug("i2c_platform_disable\n");
305}
306
307static int __devinit
308i2c_platform_probe(struct platform_device *pdev)
309{
310 struct i2c_platform_data *priv;
311 struct resource *r;
312 int ret;
313
314 pr_debug("i2c_platform_probe\n");
315 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
316 if (!r) {
317 ret = -ENODEV;
318 goto out;
319 }
320
321 priv = kzalloc(sizeof(struct i2c_platform_data), GFP_KERNEL);
322 if (!priv) {
323 ret = -ENOMEM;
324 goto out;
325 }
326
327 /* FIXME: need to allocate resource in PIC32 space */
328#if 0
329 priv->base = bus_request_region(r->start, resource_size(r),
330 pdev->name);
331#else
332 priv->base = r->start;
333#endif
334 if (!priv->base) {
335 ret = -EBUSY;
336 goto out_mem;
337 }
338
339 priv->xfer_timeout = 200;
340 priv->ack_timeout = 200;
341 priv->ctl_timeout = 200;
342
343 priv->adap.nr = pdev->id;
344 priv->adap.algo = &platform_algo;
345 priv->adap.algo_data = priv;
346 priv->adap.dev.parent = &pdev->dev;
347 strlcpy(priv->adap.name, "PIC32 I2C", sizeof(priv->adap.name));
348
349 i2c_platform_setup(priv);
350
351 ret = i2c_add_numbered_adapter(&priv->adap);
352 if (ret == 0) {
353 platform_set_drvdata(pdev, priv);
354 return 0;
355 }
356
357 i2c_platform_disable(priv);
358
359out_mem:
360 kfree(priv);
361out:
362 return ret;
363}
364
365static int __devexit
366i2c_platform_remove(struct platform_device *pdev)
367{
368 struct i2c_platform_data *priv = platform_get_drvdata(pdev);
369
370 pr_debug("i2c_platform_remove\n");
371 platform_set_drvdata(pdev, NULL);
372 i2c_del_adapter(&priv->adap);
373 i2c_platform_disable(priv);
374 kfree(priv);
375 return 0;
376}
377
378#ifdef CONFIG_PM
379static int
380i2c_platform_suspend(struct platform_device *pdev, pm_message_t state)
381{
382 struct i2c_platform_data *priv = platform_get_drvdata(pdev);
383
384 dev_dbg(&pdev->dev, "i2c_platform_disable\n");
385 i2c_platform_disable(priv);
386
387 return 0;
388}
389
390static int
391i2c_platform_resume(struct platform_device *pdev)
392{
393 struct i2c_platform_data *priv = platform_get_drvdata(pdev);
394
395 dev_dbg(&pdev->dev, "i2c_platform_setup\n");
396 i2c_platform_setup(priv);
397
398 return 0;
399}
400#else
401#define i2c_platform_suspend NULL
402#define i2c_platform_resume NULL
403#endif
404
405static struct platform_driver i2c_platform_driver = {
406 .driver = {
407 .name = "i2c_pic32",
408 .owner = THIS_MODULE,
409 },
410 .probe = i2c_platform_probe,
411 .remove = __devexit_p(i2c_platform_remove),
412 .suspend = i2c_platform_suspend,
413 .resume = i2c_platform_resume,
414};
415
416static int __init
417i2c_platform_init(void)
418{
419 pr_debug("i2c_platform_init\n");
420 return platform_driver_register(&i2c_platform_driver);
421}
422
423static void __exit
424i2c_platform_exit(void)
425{
426 pr_debug("i2c_platform_exit\n");
427 platform_driver_unregister(&i2c_platform_driver);
428}
429
430MODULE_AUTHOR("Chris Dearman, MIPS Technologies INC.");
431MODULE_DESCRIPTION("PIC32 I2C driver");
432MODULE_LICENSE("GPL");
433
434module_init(i2c_platform_init);
435module_exit(i2c_platform_exit);
diff --git a/arch/mips/mti-sead3/sead3-platform.c b/arch/mips/mti-sead3/sead3-platform.c
new file mode 100644
index 000000000000..6c3b33dbed18
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-platform.c
@@ -0,0 +1,45 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/module.h>
9#include <linux/init.h>
10#include <linux/serial_8250.h>
11
12#define UART(base, int) \
13{ \
14 .mapbase = base, \
15 .irq = int, \
16 .uartclk = 14745600, \
17 .iotype = UPIO_MEM32, \
18 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP, \
19 .regshift = 2, \
20}
21
22static struct plat_serial8250_port uart8250_data[] = {
23 UART(0x1f000900, MIPS_CPU_IRQ_BASE + 4), /* ttyS0 = USB */
24 UART(0x1f000800, MIPS_CPU_IRQ_BASE + 4), /* ttyS1 = RS232 */
25 { },
26};
27
28static struct platform_device uart8250_device = {
29 .name = "serial8250",
30 .id = PLAT8250_DEV_PLATFORM2,
31 .dev = {
32 .platform_data = uart8250_data,
33 },
34};
35
36static int __init uart8250_init(void)
37{
38 return platform_device_register(&uart8250_device);
39}
40
41module_init(uart8250_init);
42
43MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
44MODULE_LICENSE("GPL");
45MODULE_DESCRIPTION("8250 UART probe driver for SEAD3");
diff --git a/arch/mips/mti-sead3/sead3-reset.c b/arch/mips/mti-sead3/sead3-reset.c
new file mode 100644
index 000000000000..20475c5e7b9c
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-reset.c
@@ -0,0 +1,39 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/io.h>
9#include <linux/pm.h>
10
11#include <asm/reboot.h>
12#include <asm/mips-boards/generic.h>
13
14static void mips_machine_restart(char *command)
15{
16 unsigned int __iomem *softres_reg =
17 ioremap(SOFTRES_REG, sizeof(unsigned int));
18
19 __raw_writel(GORESET, softres_reg);
20}
21
22static void mips_machine_halt(void)
23{
24 unsigned int __iomem *softres_reg =
25 ioremap(SOFTRES_REG, sizeof(unsigned int));
26
27 __raw_writel(GORESET, softres_reg);
28}
29
30static int __init mips_reboot_setup(void)
31{
32 _machine_restart = mips_machine_restart;
33 _machine_halt = mips_machine_halt;
34 pm_power_off = mips_machine_halt;
35
36 return 0;
37}
38
39arch_initcall(mips_reboot_setup);
diff --git a/arch/mips/mti-sead3/sead3-serial.c b/arch/mips/mti-sead3/sead3-serial.c
new file mode 100644
index 000000000000..bc52705bbee4
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-serial.c
@@ -0,0 +1,45 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/module.h>
9#include <linux/init.h>
10#include <linux/serial_8250.h>
11
12#define UART(base, int) \
13{ \
14 .mapbase = base, \
15 .irq = int, \
16 .uartclk = 14745600, \
17 .iotype = UPIO_MEM32, \
18 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP, \
19 .regshift = 2, \
20}
21
22static struct plat_serial8250_port uart8250_data[] = {
23 UART(0x1f000900, MIPS_CPU_IRQ_BASE + 4), /* ttyS0 = USB */
24 UART(0x1f000800, MIPS_CPU_IRQ_BASE + 4), /* ttyS1 = RS232 */
25 { },
26};
27
28static struct platform_device uart8250_device = {
29 .name = "serial8250",
30 .id = PLAT8250_DEV_PLATFORM,
31 .dev = {
32 .platform_data = uart8250_data,
33 },
34};
35
36static int __init uart8250_init(void)
37{
38 return platform_device_register(&uart8250_device);
39}
40
41module_init(uart8250_init);
42
43MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
44MODULE_LICENSE("GPL");
45MODULE_DESCRIPTION("8250 UART probe driver for the SEAD-3 platform");
diff --git a/arch/mips/mti-sead3/sead3-setup.c b/arch/mips/mti-sead3/sead3-setup.c
new file mode 100644
index 000000000000..8ad46ad31b49
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-setup.c
@@ -0,0 +1,20 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9
10int coherentio; /* 0 => no DMA cache coherency (may be set by user) */
11int hw_coherentio; /* 0 => no HW DMA cache coherency (reflects real HW) */
12
13const char *get_system_type(void)
14{
15 return "MIPS SEAD3";
16}
17
18void __init plat_mem_setup(void)
19{
20}
diff --git a/arch/mips/mti-sead3/sead3-time.c b/arch/mips/mti-sead3/sead3-time.c
new file mode 100644
index 000000000000..048e781a17a0
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3-time.c
@@ -0,0 +1,117 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7 */
8#include <linux/init.h>
9
10#include <asm/setup.h>
11#include <asm/time.h>
12#include <asm/irq.h>
13#include <asm/mips-boards/generic.h>
14#include <asm/mips-boards/prom.h>
15
16unsigned long cpu_khz;
17
18static int mips_cpu_timer_irq;
19static int mips_cpu_perf_irq;
20
21static void mips_timer_dispatch(void)
22{
23 do_IRQ(mips_cpu_timer_irq);
24}
25
26static void mips_perf_dispatch(void)
27{
28 do_IRQ(mips_cpu_perf_irq);
29}
30
31static void __iomem *status_reg = (void __iomem *)0xbf000410;
32
33/*
34 * Estimate CPU frequency. Sets mips_hpt_frequency as a side-effect.
35 */
36static unsigned int __init estimate_cpu_frequency(void)
37{
38 unsigned int prid = read_c0_prid() & 0xffff00;
39 unsigned int tick = 0;
40 unsigned int freq;
41 unsigned int orig;
42 unsigned long flags;
43
44 local_irq_save(flags);
45
46 orig = readl(status_reg) & 0x2; /* get original sample */
47 /* wait for transition */
48 while ((readl(status_reg) & 0x2) == orig)
49 ;
50 orig = orig ^ 0x2; /* flip the bit */
51
52 write_c0_count(0);
53
54 /* wait 1 second (the sampling clock transitions every 10ms) */
55 while (tick < 100) {
56 /* wait for transition */
57 while ((readl(status_reg) & 0x2) == orig)
58 ;
59 orig = orig ^ 0x2; /* flip the bit */
60 tick++;
61 }
62
63 freq = read_c0_count();
64
65 local_irq_restore(flags);
66
67 mips_hpt_frequency = freq;
68
69 /* Adjust for processor */
70 if ((prid != (PRID_COMP_MIPS | PRID_IMP_20KC)) &&
71 (prid != (PRID_COMP_MIPS | PRID_IMP_25KF)))
72 freq *= 2;
73
74 freq += 5000; /* rounding */
75 freq -= freq%10000;
76
77 return freq ;
78}
79
80void read_persistent_clock(struct timespec *ts)
81{
82 ts->tv_sec = 0;
83 ts->tv_nsec = 0;
84}
85
86static void __init plat_perf_setup(void)
87{
88 if (cp0_perfcount_irq >= 0) {
89 if (cpu_has_vint)
90 set_vi_handler(cp0_perfcount_irq, mips_perf_dispatch);
91 mips_cpu_perf_irq = MIPS_CPU_IRQ_BASE + cp0_perfcount_irq;
92 }
93}
94
95unsigned int __cpuinit get_c0_compare_int(void)
96{
97 if (cpu_has_vint)
98 set_vi_handler(cp0_compare_irq, mips_timer_dispatch);
99 mips_cpu_timer_irq = MIPS_CPU_IRQ_BASE + cp0_compare_irq;
100 return mips_cpu_timer_irq;
101}
102
103void __init plat_time_init(void)
104{
105 unsigned int est_freq;
106
107 est_freq = estimate_cpu_frequency();
108
109 pr_debug("CPU frequency %d.%02d MHz\n", (est_freq / 1000000),
110 (est_freq % 1000000) * 100 / 1000000);
111
112 cpu_khz = est_freq / 1000;
113
114 mips_scroll_message();
115
116 plat_perf_setup();
117}
diff --git a/arch/mips/netlogic/Kconfig b/arch/mips/netlogic/Kconfig
index 75bec44b5856..8059eb76f8eb 100644
--- a/arch/mips/netlogic/Kconfig
+++ b/arch/mips/netlogic/Kconfig
@@ -1,2 +1,17 @@
1if NLM_XLP_BOARD || NLM_XLR_BOARD
2
3if NLM_XLP_BOARD
4config DT_XLP_EVP
5 bool "Built-in device tree for XLP EVP/SVP boards"
6 default y
7 help
8 Add an FDT blob for XLP EVP and SVP boards into the kernel.
9 This DTB will be used if the firmware does not pass in a DTB
10 pointer to the kernel. The corresponding DTS file is at
11 arch/mips/netlogic/dts/xlp_evp.dts
12endif
13
1config NLM_COMMON 14config NLM_COMMON
2 bool 15 bool
16
17endif
diff --git a/arch/mips/netlogic/Makefile b/arch/mips/netlogic/Makefile
index 36d169b2ca6d..7602d1386614 100644
--- a/arch/mips/netlogic/Makefile
+++ b/arch/mips/netlogic/Makefile
@@ -1,3 +1,4 @@
1obj-$(CONFIG_NLM_COMMON) += common/ 1obj-$(CONFIG_NLM_COMMON) += common/
2obj-$(CONFIG_CPU_XLR) += xlr/ 2obj-$(CONFIG_CPU_XLR) += xlr/
3obj-$(CONFIG_CPU_XLP) += xlp/ 3obj-$(CONFIG_CPU_XLP) += xlp/
4obj-$(CONFIG_CPU_XLP) += dts/
diff --git a/arch/mips/netlogic/dts/Makefile b/arch/mips/netlogic/dts/Makefile
new file mode 100644
index 000000000000..67ae3fe296f0
--- /dev/null
+++ b/arch/mips/netlogic/dts/Makefile
@@ -0,0 +1,4 @@
1obj-$(CONFIG_DT_XLP_EVP) := xlp_evp.dtb.o
2
3$(obj)/%.dtb: $(obj)/%.dts
4 $(call if_changed,dtc)
diff --git a/arch/mips/netlogic/dts/xlp_evp.dts b/arch/mips/netlogic/dts/xlp_evp.dts
new file mode 100644
index 000000000000..e14f42308064
--- /dev/null
+++ b/arch/mips/netlogic/dts/xlp_evp.dts
@@ -0,0 +1,124 @@
1/*
2 * XLP8XX Device Tree Source for EVP boards
3 */
4
5/dts-v1/;
6/ {
7 model = "netlogic,XLP-EVP";
8 compatible = "netlogic,xlp";
9 #address-cells = <2>;
10 #size-cells = <2>;
11
12 memory {
13 device_type = "memory";
14 reg = <0 0x00100000 0 0x0FF00000 // 255M at 1M
15 0 0x20000000 0 0xa0000000 // 2560M at 512M
16 0 0xe0000000 1 0x00000000>;
17 };
18
19 soc {
20 #address-cells = <2>;
21 #size-cells = <1>;
22 compatible = "simple-bus";
23 ranges = <0 0 0 0x18000000 0x04000000 // PCIe CFG
24 1 0 0 0x16000000 0x01000000>; // GBU chipselects
25
26 serial0: serial@30000 {
27 device_type = "serial";
28 compatible = "ns16550";
29 reg = <0 0x30100 0xa00>;
30 reg-shift = <2>;
31 reg-io-width = <4>;
32 clock-frequency = <133333333>;
33 interrupt-parent = <&pic>;
34 interrupts = <17>;
35 };
36 serial1: serial@31000 {
37 device_type = "serial";
38 compatible = "ns16550";
39 reg = <0 0x31100 0xa00>;
40 reg-shift = <2>;
41 reg-io-width = <4>;
42 clock-frequency = <133333333>;
43 interrupt-parent = <&pic>;
44 interrupts = <18>;
45 };
46 i2c0: ocores@32000 {
47 compatible = "opencores,i2c-ocores";
48 #address-cells = <1>;
49 #size-cells = <0>;
50 reg = <0 0x32100 0xa00>;
51 reg-shift = <2>;
52 reg-io-width = <4>;
53 clock-frequency = <32000000>;
54 interrupt-parent = <&pic>;
55 interrupts = <30>;
56 };
57 i2c1: ocores@33000 {
58 compatible = "opencores,i2c-ocores";
59 #address-cells = <1>;
60 #size-cells = <0>;
61 reg = <0 0x33100 0xa00>;
62 reg-shift = <2>;
63 reg-io-width = <4>;
64 clock-frequency = <32000000>;
65 interrupt-parent = <&pic>;
66 interrupts = <31>;
67
68 rtc@68 {
69 compatible = "dallas,ds1374";
70 reg = <0x68>;
71 };
72
73 dtt@4c {
74 compatible = "national,lm90";
75 reg = <0x4c>;
76 };
77 };
78 pic: pic@4000 {
79 interrupt-controller;
80 #address-cells = <0>;
81 #interrupt-cells = <1>;
82 reg = <0 0x4000 0x200>;
83 };
84
85 nor_flash@1,0 {
86 compatible = "cfi-flash";
87 #address-cells = <1>;
88 #size-cells = <1>;
89 bank-width = <2>;
90 reg = <1 0 0x1000000>;
91
92 partition@0 {
93 label = "x-loader";
94 reg = <0x0 0x100000>; /* 1M */
95 read-only;
96 };
97
98 partition@100000 {
99 label = "u-boot";
100 reg = <0x100000 0x100000>; /* 1M */
101 };
102
103 partition@200000 {
104 label = "kernel";
105 reg = <0x200000 0x500000>; /* 5M */
106 };
107
108 partition@700000 {
109 label = "rootfs";
110 reg = <0x700000 0x800000>; /* 8M */
111 };
112
113 partition@f00000 {
114 label = "env";
115 reg = <0xf00000 0x100000>; /* 1M */
116 read-only;
117 };
118 };
119 };
120
121 chosen {
122 bootargs = "console=ttyS0,115200 rdinit=/sbin/init";
123 };
124};
diff --git a/arch/mips/netlogic/xlp/Makefile b/arch/mips/netlogic/xlp/Makefile
index 6b4b972218f0..a84d6ed3746c 100644
--- a/arch/mips/netlogic/xlp/Makefile
+++ b/arch/mips/netlogic/xlp/Makefile
@@ -1,4 +1,3 @@
1obj-y += setup.o platform.o nlm_hal.o 1obj-y += setup.o nlm_hal.o
2obj-$(CONFIG_OF) += of.o
3obj-$(CONFIG_SMP) += wakeup.o 2obj-$(CONFIG_SMP) += wakeup.o
4obj-$(CONFIG_USB) += usb-init.o 3obj-$(CONFIG_USB) += usb-init.o
diff --git a/arch/mips/netlogic/xlp/of.c b/arch/mips/netlogic/xlp/of.c
deleted file mode 100644
index 8e3921c0c201..000000000000
--- a/arch/mips/netlogic/xlp/of.c
+++ /dev/null
@@ -1,34 +0,0 @@
1#include <linux/bootmem.h>
2#include <linux/init.h>
3#include <linux/io.h>
4#include <linux/of_fdt.h>
5#include <asm/byteorder.h>
6
7static int __init reserve_mem_mach(unsigned long addr, unsigned long size)
8{
9 return reserve_bootmem(addr, size, BOOTMEM_DEFAULT);
10}
11
12void __init free_mem_mach(unsigned long addr, unsigned long size)
13{
14 return free_bootmem(addr, size);
15}
16
17void __init device_tree_init(void)
18{
19 unsigned long base, size;
20
21 if (!initial_boot_params)
22 return;
23
24 base = virt_to_phys((void *)initial_boot_params);
25 size = be32_to_cpu(initial_boot_params->totalsize);
26
27 /* Before we do anything, lets reserve the dt blob */
28 reserve_mem_mach(base, size);
29
30 unflatten_device_tree();
31
32 /* free the space reserved for the dt blob */
33 free_mem_mach(base, size);
34}
diff --git a/arch/mips/netlogic/xlp/platform.c b/arch/mips/netlogic/xlp/platform.c
deleted file mode 100644
index 2c510d585447..000000000000
--- a/arch/mips/netlogic/xlp/platform.c
+++ /dev/null
@@ -1,108 +0,0 @@
1/*
2 * Copyright 2003-2011 NetLogic Microsystems, Inc. (NetLogic). All rights
3 * reserved.
4 *
5 * This software is available to you under a choice of one of two
6 * licenses. You may choose to be licensed under the terms of the GNU
7 * General Public License (GPL) Version 2, available from the file
8 * COPYING in the main directory of this source tree, or the NetLogic
9 * license below:
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 *
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in
19 * the documentation and/or other materials provided with the
20 * distribution.
21 *
22 * THIS SOFTWARE IS PROVIDED BY NETLOGIC ``AS IS'' AND ANY EXPRESS OR
23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
24 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 * ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE LIABLE
26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
29 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
30 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
31 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
32 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#include <linux/dma-mapping.h>
36#include <linux/kernel.h>
37#include <linux/delay.h>
38#include <linux/init.h>
39#include <linux/platform_device.h>
40#include <linux/serial.h>
41#include <linux/serial_8250.h>
42#include <linux/pci.h>
43#include <linux/serial_reg.h>
44#include <linux/spinlock.h>
45
46#include <asm/time.h>
47#include <asm/addrspace.h>
48#include <asm/netlogic/haldefs.h>
49#include <asm/netlogic/xlp-hal/iomap.h>
50#include <asm/netlogic/xlp-hal/xlp.h>
51#include <asm/netlogic/xlp-hal/pic.h>
52#include <asm/netlogic/xlp-hal/uart.h>
53
54static unsigned int nlm_xlp_uart_in(struct uart_port *p, int offset)
55{
56 return nlm_read_reg(p->iobase, offset);
57}
58
59static void nlm_xlp_uart_out(struct uart_port *p, int offset, int value)
60{
61 nlm_write_reg(p->iobase, offset, value);
62}
63
64#define PORT(_irq) \
65 { \
66 .irq = _irq, \
67 .regshift = 2, \
68 .iotype = UPIO_MEM32, \
69 .flags = (UPF_SKIP_TEST|UPF_FIXED_TYPE|\
70 UPF_BOOT_AUTOCONF), \
71 .uartclk = XLP_IO_CLK, \
72 .type = PORT_16550A, \
73 .serial_in = nlm_xlp_uart_in, \
74 .serial_out = nlm_xlp_uart_out, \
75 }
76
77static struct plat_serial8250_port xlp_uart_data[] = {
78 PORT(PIC_UART_0_IRQ),
79 PORT(PIC_UART_1_IRQ),
80 {},
81};
82
83static struct platform_device uart_device = {
84 .name = "serial8250",
85 .id = PLAT8250_DEV_PLATFORM,
86 .dev = {
87 .platform_data = xlp_uart_data,
88 },
89};
90
91static int __init nlm_platform_uart_init(void)
92{
93 unsigned long mmio;
94
95 mmio = (unsigned long)nlm_get_uart_regbase(0, 0);
96 xlp_uart_data[0].iobase = mmio;
97 xlp_uart_data[0].membase = (void __iomem *)mmio;
98 xlp_uart_data[0].mapbase = mmio;
99
100 mmio = (unsigned long)nlm_get_uart_regbase(0, 1);
101 xlp_uart_data[1].iobase = mmio;
102 xlp_uart_data[1].membase = (void __iomem *)mmio;
103 xlp_uart_data[1].mapbase = mmio;
104
105 return platform_device_register(&uart_device);
106}
107
108arch_initcall(nlm_platform_uart_init);
diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c
index 3dec9f28b65b..d8997098defd 100644
--- a/arch/mips/netlogic/xlp/setup.c
+++ b/arch/mips/netlogic/xlp/setup.c
@@ -35,6 +35,7 @@
35#include <linux/kernel.h> 35#include <linux/kernel.h>
36#include <linux/serial_8250.h> 36#include <linux/serial_8250.h>
37#include <linux/pm.h> 37#include <linux/pm.h>
38#include <linux/bootmem.h>
38 39
39#include <asm/reboot.h> 40#include <asm/reboot.h>
40#include <asm/time.h> 41#include <asm/time.h>
@@ -56,6 +57,7 @@ unsigned long nlm_common_ebase = 0x0;
56/* default to uniprocessor */ 57/* default to uniprocessor */
57uint32_t nlm_coremask = 1, nlm_cpumask = 1; 58uint32_t nlm_coremask = 1, nlm_cpumask = 1;
58int nlm_threads_per_core = 1; 59int nlm_threads_per_core = 1;
60extern u32 __dtb_start[];
59 61
60static void nlm_linux_exit(void) 62static void nlm_linux_exit(void)
61{ 63{
@@ -96,9 +98,18 @@ void __init prom_init(void)
96{ 98{
97 void *fdtp; 99 void *fdtp;
98 100
99 fdtp = (void *)(long)fw_arg0;
100 xlp_mmu_init(); 101 xlp_mmu_init();
101 nlm_hal_init(); 102 nlm_hal_init();
103
104 /*
105 * If no FDT pointer is passed in, use the built-in FDT.
106 * device_tree_init() does not handle CKSEG0 pointers in
107 * 64-bit, so convert pointer.
108 */
109 fdtp = (void *)(long)fw_arg0;
110 if (!fdtp)
111 fdtp = __dtb_start;
112 fdtp = phys_to_virt(__pa(fdtp));
102 early_init_devtree(fdtp); 113 early_init_devtree(fdtp);
103 114
104 nlm_common_ebase = read_c0_ebase() & (~((1 << 12) - 1)); 115 nlm_common_ebase = read_c0_ebase() & (~((1 << 12) - 1));
@@ -112,6 +123,25 @@ void __init prom_init(void)
112#endif 123#endif
113} 124}
114 125
126void __init device_tree_init(void)
127{
128 unsigned long base, size;
129
130 if (!initial_boot_params)
131 return;
132
133 base = virt_to_phys((void *)initial_boot_params);
134 size = be32_to_cpu(initial_boot_params->totalsize);
135
136 /* Before we do anything, lets reserve the dt blob */
137 reserve_bootmem(base, size, BOOTMEM_DEFAULT);
138
139 unflatten_device_tree();
140
141 /* free the space reserved for the dt blob */
142 free_bootmem(base, size);
143}
144
115static struct of_device_id __initdata xlp_ids[] = { 145static struct of_device_id __initdata xlp_ids[] = {
116 { .compatible = "simple-bus", }, 146 { .compatible = "simple-bus", },
117 {}, 147 {},
diff --git a/drivers/gpio/gpio-stp-xway.c b/drivers/gpio/gpio-stp-xway.c
index e35096bf3cfb..8bead0bb6459 100644
--- a/drivers/gpio/gpio-stp-xway.c
+++ b/drivers/gpio/gpio-stp-xway.c
@@ -82,7 +82,7 @@ struct xway_stp {
82 struct gpio_chip gc; 82 struct gpio_chip gc;
83 void __iomem *virt; 83 void __iomem *virt;
84 u32 edge; /* rising or falling edge triggered shift register */ 84 u32 edge; /* rising or falling edge triggered shift register */
85 u16 shadow; /* shadow the shift registers state */ 85 u32 shadow; /* shadow the shift registers state */
86 u8 groups; /* we can drive 1-3 groups of 8bit each */ 86 u8 groups; /* we can drive 1-3 groups of 8bit each */
87 u8 dsl; /* the 2 LSBs can be driven by the dsl core */ 87 u8 dsl; /* the 2 LSBs can be driven by the dsl core */
88 u8 phy1; /* 3 bits can be driven by phy1 */ 88 u8 phy1; /* 3 bits can be driven by phy1 */
diff --git a/drivers/net/ethernet/broadcom/bcm63xx_enet.h b/drivers/net/ethernet/broadcom/bcm63xx_enet.h
index 0e3048b788c2..133d5857b9e2 100644
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.h
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.h
@@ -10,6 +10,7 @@
10#include <bcm63xx_regs.h> 10#include <bcm63xx_regs.h>
11#include <bcm63xx_irq.h> 11#include <bcm63xx_irq.h>
12#include <bcm63xx_io.h> 12#include <bcm63xx_io.h>
13#include <bcm63xx_iudma.h>
13 14
14/* default number of descriptor */ 15/* default number of descriptor */
15#define BCMENET_DEF_RX_DESC 64 16#define BCMENET_DEF_RX_DESC 64
@@ -31,35 +32,6 @@
31#define BCMENET_MAX_MTU 2046 32#define BCMENET_MAX_MTU 2046
32 33
33/* 34/*
34 * rx/tx dma descriptor
35 */
36struct bcm_enet_desc {
37 u32 len_stat;
38 u32 address;
39};
40
41#define DMADESC_LENGTH_SHIFT 16
42#define DMADESC_LENGTH_MASK (0xfff << DMADESC_LENGTH_SHIFT)
43#define DMADESC_OWNER_MASK (1 << 15)
44#define DMADESC_EOP_MASK (1 << 14)
45#define DMADESC_SOP_MASK (1 << 13)
46#define DMADESC_ESOP_MASK (DMADESC_EOP_MASK | DMADESC_SOP_MASK)
47#define DMADESC_WRAP_MASK (1 << 12)
48
49#define DMADESC_UNDER_MASK (1 << 9)
50#define DMADESC_APPEND_CRC (1 << 8)
51#define DMADESC_OVSIZE_MASK (1 << 4)
52#define DMADESC_RXER_MASK (1 << 2)
53#define DMADESC_CRC_MASK (1 << 1)
54#define DMADESC_OV_MASK (1 << 0)
55#define DMADESC_ERR_MASK (DMADESC_UNDER_MASK | \
56 DMADESC_OVSIZE_MASK | \
57 DMADESC_RXER_MASK | \
58 DMADESC_CRC_MASK | \
59 DMADESC_OV_MASK)
60
61
62/*
63 * MIB Counters register definitions 35 * MIB Counters register definitions
64*/ 36*/
65#define ETH_MIB_TX_GD_OCTETS 0 37#define ETH_MIB_TX_GD_OCTETS 0
diff --git a/drivers/net/ethernet/octeon/octeon_mgmt.c b/drivers/net/ethernet/octeon/octeon_mgmt.c
index a688a2ddcfd6..f97719c48516 100644
--- a/drivers/net/ethernet/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/octeon/octeon_mgmt.c
@@ -3,13 +3,14 @@
3 * License. See the file "COPYING" in the main directory of this archive 3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details. 4 * for more details.
5 * 5 *
6 * Copyright (C) 2009 Cavium Networks 6 * Copyright (C) 2009-2012 Cavium, Inc
7 */ 7 */
8 8
9#include <linux/platform_device.h> 9#include <linux/platform_device.h>
10#include <linux/dma-mapping.h> 10#include <linux/dma-mapping.h>
11#include <linux/etherdevice.h> 11#include <linux/etherdevice.h>
12#include <linux/capability.h> 12#include <linux/capability.h>
13#include <linux/net_tstamp.h>
13#include <linux/interrupt.h> 14#include <linux/interrupt.h>
14#include <linux/netdevice.h> 15#include <linux/netdevice.h>
15#include <linux/spinlock.h> 16#include <linux/spinlock.h>
@@ -33,8 +34,7 @@
33 34
34#define OCTEON_MGMT_NAPI_WEIGHT 16 35#define OCTEON_MGMT_NAPI_WEIGHT 16
35 36
36/* 37/* Ring sizes that are powers of two allow for more efficient modulo
37 * Ring sizes that are powers of two allow for more efficient modulo
38 * opertions. 38 * opertions.
39 */ 39 */
40#define OCTEON_MGMT_RX_RING_SIZE 512 40#define OCTEON_MGMT_RX_RING_SIZE 512
@@ -93,6 +93,7 @@ union mgmt_port_ring_entry {
93#define AGL_GMX_RX_ADR_CAM4 0x1a0 93#define AGL_GMX_RX_ADR_CAM4 0x1a0
94#define AGL_GMX_RX_ADR_CAM5 0x1a8 94#define AGL_GMX_RX_ADR_CAM5 0x1a8
95 95
96#define AGL_GMX_TX_CLK 0x208
96#define AGL_GMX_TX_STATS_CTL 0x268 97#define AGL_GMX_TX_STATS_CTL 0x268
97#define AGL_GMX_TX_CTL 0x270 98#define AGL_GMX_TX_CTL 0x270
98#define AGL_GMX_TX_STAT0 0x280 99#define AGL_GMX_TX_STAT0 0x280
@@ -110,8 +111,10 @@ struct octeon_mgmt {
110 struct net_device *netdev; 111 struct net_device *netdev;
111 u64 mix; 112 u64 mix;
112 u64 agl; 113 u64 agl;
114 u64 agl_prt_ctl;
113 int port; 115 int port;
114 int irq; 116 int irq;
117 bool has_rx_tstamp;
115 u64 *tx_ring; 118 u64 *tx_ring;
116 dma_addr_t tx_ring_handle; 119 dma_addr_t tx_ring_handle;
117 unsigned int tx_next; 120 unsigned int tx_next;
@@ -131,6 +134,7 @@ struct octeon_mgmt {
131 spinlock_t lock; 134 spinlock_t lock;
132 unsigned int last_duplex; 135 unsigned int last_duplex;
133 unsigned int last_link; 136 unsigned int last_link;
137 unsigned int last_speed;
134 struct device *dev; 138 struct device *dev;
135 struct napi_struct napi; 139 struct napi_struct napi;
136 struct tasklet_struct tx_clean_tasklet; 140 struct tasklet_struct tx_clean_tasklet;
@@ -140,6 +144,8 @@ struct octeon_mgmt {
140 resource_size_t mix_size; 144 resource_size_t mix_size;
141 resource_size_t agl_phys; 145 resource_size_t agl_phys;
142 resource_size_t agl_size; 146 resource_size_t agl_size;
147 resource_size_t agl_prt_ctl_phys;
148 resource_size_t agl_prt_ctl_size;
143}; 149};
144 150
145static void octeon_mgmt_set_rx_irq(struct octeon_mgmt *p, int enable) 151static void octeon_mgmt_set_rx_irq(struct octeon_mgmt *p, int enable)
@@ -166,22 +172,22 @@ static void octeon_mgmt_set_tx_irq(struct octeon_mgmt *p, int enable)
166 spin_unlock_irqrestore(&p->lock, flags); 172 spin_unlock_irqrestore(&p->lock, flags);
167} 173}
168 174
169static inline void octeon_mgmt_enable_rx_irq(struct octeon_mgmt *p) 175static void octeon_mgmt_enable_rx_irq(struct octeon_mgmt *p)
170{ 176{
171 octeon_mgmt_set_rx_irq(p, 1); 177 octeon_mgmt_set_rx_irq(p, 1);
172} 178}
173 179
174static inline void octeon_mgmt_disable_rx_irq(struct octeon_mgmt *p) 180static void octeon_mgmt_disable_rx_irq(struct octeon_mgmt *p)
175{ 181{
176 octeon_mgmt_set_rx_irq(p, 0); 182 octeon_mgmt_set_rx_irq(p, 0);
177} 183}
178 184
179static inline void octeon_mgmt_enable_tx_irq(struct octeon_mgmt *p) 185static void octeon_mgmt_enable_tx_irq(struct octeon_mgmt *p)
180{ 186{
181 octeon_mgmt_set_tx_irq(p, 1); 187 octeon_mgmt_set_tx_irq(p, 1);
182} 188}
183 189
184static inline void octeon_mgmt_disable_tx_irq(struct octeon_mgmt *p) 190static void octeon_mgmt_disable_tx_irq(struct octeon_mgmt *p)
185{ 191{
186 octeon_mgmt_set_tx_irq(p, 0); 192 octeon_mgmt_set_tx_irq(p, 0);
187} 193}
@@ -233,6 +239,28 @@ static void octeon_mgmt_rx_fill_ring(struct net_device *netdev)
233 } 239 }
234} 240}
235 241
242static ktime_t ptp_to_ktime(u64 ptptime)
243{
244 ktime_t ktimebase;
245 u64 ptpbase;
246 unsigned long flags;
247
248 local_irq_save(flags);
249 /* Fill the icache with the code */
250 ktime_get_real();
251 /* Flush all pending operations */
252 mb();
253 /* Read the time and PTP clock as close together as
254 * possible. It is important that this sequence take the same
255 * amount of time to reduce jitter
256 */
257 ktimebase = ktime_get_real();
258 ptpbase = cvmx_read_csr(CVMX_MIO_PTP_CLOCK_HI);
259 local_irq_restore(flags);
260
261 return ktime_sub_ns(ktimebase, ptpbase - ptptime);
262}
263
236static void octeon_mgmt_clean_tx_buffers(struct octeon_mgmt *p) 264static void octeon_mgmt_clean_tx_buffers(struct octeon_mgmt *p)
237{ 265{
238 union cvmx_mixx_orcnt mix_orcnt; 266 union cvmx_mixx_orcnt mix_orcnt;
@@ -272,6 +300,20 @@ static void octeon_mgmt_clean_tx_buffers(struct octeon_mgmt *p)
272 300
273 dma_unmap_single(p->dev, re.s.addr, re.s.len, 301 dma_unmap_single(p->dev, re.s.addr, re.s.len,
274 DMA_TO_DEVICE); 302 DMA_TO_DEVICE);
303
304 /* Read the hardware TX timestamp if one was recorded */
305 if (unlikely(re.s.tstamp)) {
306 struct skb_shared_hwtstamps ts;
307 /* Read the timestamp */
308 u64 ns = cvmx_read_csr(CVMX_MIXX_TSTAMP(p->port));
309 /* Remove the timestamp from the FIFO */
310 cvmx_write_csr(CVMX_MIXX_TSCTL(p->port), 0);
311 /* Tell the kernel about the timestamp */
312 ts.syststamp = ptp_to_ktime(ns);
313 ts.hwtstamp = ns_to_ktime(ns);
314 skb_tstamp_tx(skb, &ts);
315 }
316
275 dev_kfree_skb_any(skb); 317 dev_kfree_skb_any(skb);
276 cleaned++; 318 cleaned++;
277 319
@@ -372,14 +414,23 @@ static int octeon_mgmt_receive_one(struct octeon_mgmt *p)
372 /* A good packet, send it up. */ 414 /* A good packet, send it up. */
373 skb_put(skb, re.s.len); 415 skb_put(skb, re.s.len);
374good: 416good:
417 /* Process the RX timestamp if it was recorded */
418 if (p->has_rx_tstamp) {
419 /* The first 8 bytes are the timestamp */
420 u64 ns = *(u64 *)skb->data;
421 struct skb_shared_hwtstamps *ts;
422 ts = skb_hwtstamps(skb);
423 ts->hwtstamp = ns_to_ktime(ns);
424 ts->syststamp = ptp_to_ktime(ns);
425 __skb_pull(skb, 8);
426 }
375 skb->protocol = eth_type_trans(skb, netdev); 427 skb->protocol = eth_type_trans(skb, netdev);
376 netdev->stats.rx_packets++; 428 netdev->stats.rx_packets++;
377 netdev->stats.rx_bytes += skb->len; 429 netdev->stats.rx_bytes += skb->len;
378 netif_receive_skb(skb); 430 netif_receive_skb(skb);
379 rc = 0; 431 rc = 0;
380 } else if (re.s.code == RING_ENTRY_CODE_MORE) { 432 } else if (re.s.code == RING_ENTRY_CODE_MORE) {
381 /* 433 /* Packet split across skbs. This can happen if we
382 * Packet split across skbs. This can happen if we
383 * increase the MTU. Buffers that are already in the 434 * increase the MTU. Buffers that are already in the
384 * rx ring can then end up being too small. As the rx 435 * rx ring can then end up being too small. As the rx
385 * ring is refilled, buffers sized for the new MTU 436 * ring is refilled, buffers sized for the new MTU
@@ -409,8 +460,7 @@ good:
409 } else { 460 } else {
410 /* Some other error, discard it. */ 461 /* Some other error, discard it. */
411 dev_kfree_skb_any(skb); 462 dev_kfree_skb_any(skb);
412 /* 463 /* Error statistics are accumulated in
413 * Error statistics are accumulated in
414 * octeon_mgmt_update_rx_stats. 464 * octeon_mgmt_update_rx_stats.
415 */ 465 */
416 } 466 }
@@ -488,7 +538,7 @@ static void octeon_mgmt_reset_hw(struct octeon_mgmt *p)
488 mix_ctl.s.reset = 1; 538 mix_ctl.s.reset = 1;
489 cvmx_write_csr(p->mix + MIX_CTL, mix_ctl.u64); 539 cvmx_write_csr(p->mix + MIX_CTL, mix_ctl.u64);
490 cvmx_read_csr(p->mix + MIX_CTL); 540 cvmx_read_csr(p->mix + MIX_CTL);
491 cvmx_wait(64); 541 octeon_io_clk_delay(64);
492 542
493 mix_bist.u64 = cvmx_read_csr(p->mix + MIX_BIST); 543 mix_bist.u64 = cvmx_read_csr(p->mix + MIX_BIST);
494 if (mix_bist.u64) 544 if (mix_bist.u64)
@@ -537,8 +587,7 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
537 cam_mode = 0; 587 cam_mode = 0;
538 available_cam_entries = 8; 588 available_cam_entries = 8;
539 } else { 589 } else {
540 /* 590 /* One CAM entry for the primary address, leaves seven
541 * One CAM entry for the primary address, leaves seven
542 * for the secondary addresses. 591 * for the secondary addresses.
543 */ 592 */
544 available_cam_entries = 7 - netdev->uc.count; 593 available_cam_entries = 7 - netdev->uc.count;
@@ -595,12 +644,10 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
595 644
596static int octeon_mgmt_set_mac_address(struct net_device *netdev, void *addr) 645static int octeon_mgmt_set_mac_address(struct net_device *netdev, void *addr)
597{ 646{
598 struct sockaddr *sa = addr; 647 int r = eth_mac_addr(netdev, addr);
599 648
600 if (!is_valid_ether_addr(sa->sa_data)) 649 if (r)
601 return -EADDRNOTAVAIL; 650 return r;
602
603 memcpy(netdev->dev_addr, sa->sa_data, ETH_ALEN);
604 651
605 octeon_mgmt_set_rx_filtering(netdev); 652 octeon_mgmt_set_rx_filtering(netdev);
606 653
@@ -612,8 +659,7 @@ static int octeon_mgmt_change_mtu(struct net_device *netdev, int new_mtu)
612 struct octeon_mgmt *p = netdev_priv(netdev); 659 struct octeon_mgmt *p = netdev_priv(netdev);
613 int size_without_fcs = new_mtu + OCTEON_MGMT_RX_HEADROOM; 660 int size_without_fcs = new_mtu + OCTEON_MGMT_RX_HEADROOM;
614 661
615 /* 662 /* Limit the MTU to make sure the ethernet packets are between
616 * Limit the MTU to make sure the ethernet packets are between
617 * 64 bytes and 16383 bytes. 663 * 64 bytes and 16383 bytes.
618 */ 664 */
619 if (size_without_fcs < 64 || size_without_fcs > 16383) { 665 if (size_without_fcs < 64 || size_without_fcs > 16383) {
@@ -656,53 +702,258 @@ static irqreturn_t octeon_mgmt_interrupt(int cpl, void *dev_id)
656 return IRQ_HANDLED; 702 return IRQ_HANDLED;
657} 703}
658 704
705static int octeon_mgmt_ioctl_hwtstamp(struct net_device *netdev,
706 struct ifreq *rq, int cmd)
707{
708 struct octeon_mgmt *p = netdev_priv(netdev);
709 struct hwtstamp_config config;
710 union cvmx_mio_ptp_clock_cfg ptp;
711 union cvmx_agl_gmx_rxx_frm_ctl rxx_frm_ctl;
712 bool have_hw_timestamps = false;
713
714 if (copy_from_user(&config, rq->ifr_data, sizeof(config)))
715 return -EFAULT;
716
717 if (config.flags) /* reserved for future extensions */
718 return -EINVAL;
719
720 /* Check the status of hardware for tiemstamps */
721 if (OCTEON_IS_MODEL(OCTEON_CN6XXX)) {
722 /* Get the current state of the PTP clock */
723 ptp.u64 = cvmx_read_csr(CVMX_MIO_PTP_CLOCK_CFG);
724 if (!ptp.s.ext_clk_en) {
725 /* The clock has not been configured to use an
726 * external source. Program it to use the main clock
727 * reference.
728 */
729 u64 clock_comp = (NSEC_PER_SEC << 32) / octeon_get_io_clock_rate();
730 if (!ptp.s.ptp_en)
731 cvmx_write_csr(CVMX_MIO_PTP_CLOCK_COMP, clock_comp);
732 pr_info("PTP Clock: Using sclk reference at %lld Hz\n",
733 (NSEC_PER_SEC << 32) / clock_comp);
734 } else {
735 /* The clock is already programmed to use a GPIO */
736 u64 clock_comp = cvmx_read_csr(CVMX_MIO_PTP_CLOCK_COMP);
737 pr_info("PTP Clock: Using GPIO %d at %lld Hz\n",
738 ptp.s.ext_clk_in,
739 (NSEC_PER_SEC << 32) / clock_comp);
740 }
741
742 /* Enable the clock if it wasn't done already */
743 if (!ptp.s.ptp_en) {
744 ptp.s.ptp_en = 1;
745 cvmx_write_csr(CVMX_MIO_PTP_CLOCK_CFG, ptp.u64);
746 }
747 have_hw_timestamps = true;
748 }
749
750 if (!have_hw_timestamps)
751 return -EINVAL;
752
753 switch (config.tx_type) {
754 case HWTSTAMP_TX_OFF:
755 case HWTSTAMP_TX_ON:
756 break;
757 default:
758 return -ERANGE;
759 }
760
761 switch (config.rx_filter) {
762 case HWTSTAMP_FILTER_NONE:
763 p->has_rx_tstamp = false;
764 rxx_frm_ctl.u64 = cvmx_read_csr(p->agl + AGL_GMX_RX_FRM_CTL);
765 rxx_frm_ctl.s.ptp_mode = 0;
766 cvmx_write_csr(p->agl + AGL_GMX_RX_FRM_CTL, rxx_frm_ctl.u64);
767 break;
768 case HWTSTAMP_FILTER_ALL:
769 case HWTSTAMP_FILTER_SOME:
770 case HWTSTAMP_FILTER_PTP_V1_L4_EVENT:
771 case HWTSTAMP_FILTER_PTP_V1_L4_SYNC:
772 case HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ:
773 case HWTSTAMP_FILTER_PTP_V2_L4_EVENT:
774 case HWTSTAMP_FILTER_PTP_V2_L4_SYNC:
775 case HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ:
776 case HWTSTAMP_FILTER_PTP_V2_L2_EVENT:
777 case HWTSTAMP_FILTER_PTP_V2_L2_SYNC:
778 case HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ:
779 case HWTSTAMP_FILTER_PTP_V2_EVENT:
780 case HWTSTAMP_FILTER_PTP_V2_SYNC:
781 case HWTSTAMP_FILTER_PTP_V2_DELAY_REQ:
782 p->has_rx_tstamp = have_hw_timestamps;
783 config.rx_filter = HWTSTAMP_FILTER_ALL;
784 if (p->has_rx_tstamp) {
785 rxx_frm_ctl.u64 = cvmx_read_csr(p->agl + AGL_GMX_RX_FRM_CTL);
786 rxx_frm_ctl.s.ptp_mode = 1;
787 cvmx_write_csr(p->agl + AGL_GMX_RX_FRM_CTL, rxx_frm_ctl.u64);
788 }
789 break;
790 default:
791 return -ERANGE;
792 }
793
794 if (copy_to_user(rq->ifr_data, &config, sizeof(config)))
795 return -EFAULT;
796
797 return 0;
798}
799
659static int octeon_mgmt_ioctl(struct net_device *netdev, 800static int octeon_mgmt_ioctl(struct net_device *netdev,
660 struct ifreq *rq, int cmd) 801 struct ifreq *rq, int cmd)
661{ 802{
662 struct octeon_mgmt *p = netdev_priv(netdev); 803 struct octeon_mgmt *p = netdev_priv(netdev);
663 804
664 if (!netif_running(netdev)) 805 switch (cmd) {
806 case SIOCSHWTSTAMP:
807 return octeon_mgmt_ioctl_hwtstamp(netdev, rq, cmd);
808 default:
809 if (p->phydev)
810 return phy_mii_ioctl(p->phydev, rq, cmd);
665 return -EINVAL; 811 return -EINVAL;
812 }
813}
666 814
667 if (!p->phydev) 815static void octeon_mgmt_disable_link(struct octeon_mgmt *p)
668 return -EINVAL; 816{
817 union cvmx_agl_gmx_prtx_cfg prtx_cfg;
669 818
670 return phy_mii_ioctl(p->phydev, rq, cmd); 819 /* Disable GMX before we make any changes. */
820 prtx_cfg.u64 = cvmx_read_csr(p->agl + AGL_GMX_PRT_CFG);
821 prtx_cfg.s.en = 0;
822 prtx_cfg.s.tx_en = 0;
823 prtx_cfg.s.rx_en = 0;
824 cvmx_write_csr(p->agl + AGL_GMX_PRT_CFG, prtx_cfg.u64);
825
826 if (OCTEON_IS_MODEL(OCTEON_CN6XXX)) {
827 int i;
828 for (i = 0; i < 10; i++) {
829 prtx_cfg.u64 = cvmx_read_csr(p->agl + AGL_GMX_PRT_CFG);
830 if (prtx_cfg.s.tx_idle == 1 || prtx_cfg.s.rx_idle == 1)
831 break;
832 mdelay(1);
833 i++;
834 }
835 }
836}
837
838static void octeon_mgmt_enable_link(struct octeon_mgmt *p)
839{
840 union cvmx_agl_gmx_prtx_cfg prtx_cfg;
841
842 /* Restore the GMX enable state only if link is set */
843 prtx_cfg.u64 = cvmx_read_csr(p->agl + AGL_GMX_PRT_CFG);
844 prtx_cfg.s.tx_en = 1;
845 prtx_cfg.s.rx_en = 1;
846 prtx_cfg.s.en = 1;
847 cvmx_write_csr(p->agl + AGL_GMX_PRT_CFG, prtx_cfg.u64);
848}
849
850static void octeon_mgmt_update_link(struct octeon_mgmt *p)
851{
852 union cvmx_agl_gmx_prtx_cfg prtx_cfg;
853
854 prtx_cfg.u64 = cvmx_read_csr(p->agl + AGL_GMX_PRT_CFG);
855
856 if (!p->phydev->link)
857 prtx_cfg.s.duplex = 1;
858 else
859 prtx_cfg.s.duplex = p->phydev->duplex;
860
861 switch (p->phydev->speed) {
862 case 10:
863 prtx_cfg.s.speed = 0;
864 prtx_cfg.s.slottime = 0;
865
866 if (OCTEON_IS_MODEL(OCTEON_CN6XXX)) {
867 prtx_cfg.s.burst = 1;
868 prtx_cfg.s.speed_msb = 1;
869 }
870 break;
871 case 100:
872 prtx_cfg.s.speed = 0;
873 prtx_cfg.s.slottime = 0;
874
875 if (OCTEON_IS_MODEL(OCTEON_CN6XXX)) {
876 prtx_cfg.s.burst = 1;
877 prtx_cfg.s.speed_msb = 0;
878 }
879 break;
880 case 1000:
881 /* 1000 MBits is only supported on 6XXX chips */
882 if (OCTEON_IS_MODEL(OCTEON_CN6XXX)) {
883 prtx_cfg.s.speed = 1;
884 prtx_cfg.s.speed_msb = 0;
885 /* Only matters for half-duplex */
886 prtx_cfg.s.slottime = 1;
887 prtx_cfg.s.burst = p->phydev->duplex;
888 }
889 break;
890 case 0: /* No link */
891 default:
892 break;
893 }
894
895 /* Write the new GMX setting with the port still disabled. */
896 cvmx_write_csr(p->agl + AGL_GMX_PRT_CFG, prtx_cfg.u64);
897
898 /* Read GMX CFG again to make sure the config is completed. */
899 prtx_cfg.u64 = cvmx_read_csr(p->agl + AGL_GMX_PRT_CFG);
900
901 if (OCTEON_IS_MODEL(OCTEON_CN6XXX)) {
902 union cvmx_agl_gmx_txx_clk agl_clk;
903 union cvmx_agl_prtx_ctl prtx_ctl;
904
905 prtx_ctl.u64 = cvmx_read_csr(p->agl_prt_ctl);
906 agl_clk.u64 = cvmx_read_csr(p->agl + AGL_GMX_TX_CLK);
907 /* MII (both speeds) and RGMII 1000 speed. */
908 agl_clk.s.clk_cnt = 1;
909 if (prtx_ctl.s.mode == 0) { /* RGMII mode */
910 if (p->phydev->speed == 10)
911 agl_clk.s.clk_cnt = 50;
912 else if (p->phydev->speed == 100)
913 agl_clk.s.clk_cnt = 5;
914 }
915 cvmx_write_csr(p->agl + AGL_GMX_TX_CLK, agl_clk.u64);
916 }
671} 917}
672 918
673static void octeon_mgmt_adjust_link(struct net_device *netdev) 919static void octeon_mgmt_adjust_link(struct net_device *netdev)
674{ 920{
675 struct octeon_mgmt *p = netdev_priv(netdev); 921 struct octeon_mgmt *p = netdev_priv(netdev);
676 union cvmx_agl_gmx_prtx_cfg prtx_cfg;
677 unsigned long flags; 922 unsigned long flags;
678 int link_changed = 0; 923 int link_changed = 0;
679 924
925 if (!p->phydev)
926 return;
927
680 spin_lock_irqsave(&p->lock, flags); 928 spin_lock_irqsave(&p->lock, flags);
681 if (p->phydev->link) { 929
682 if (!p->last_link) 930
683 link_changed = 1; 931 if (!p->phydev->link && p->last_link)
684 if (p->last_duplex != p->phydev->duplex) { 932 link_changed = -1;
685 p->last_duplex = p->phydev->duplex; 933
686 prtx_cfg.u64 = cvmx_read_csr(p->agl + AGL_GMX_PRT_CFG); 934 if (p->phydev->link
687 prtx_cfg.s.duplex = p->phydev->duplex; 935 && (p->last_duplex != p->phydev->duplex
688 cvmx_write_csr(p->agl + AGL_GMX_PRT_CFG, prtx_cfg.u64); 936 || p->last_link != p->phydev->link
689 } 937 || p->last_speed != p->phydev->speed)) {
690 } else { 938 octeon_mgmt_disable_link(p);
691 if (p->last_link) 939 link_changed = 1;
692 link_changed = -1; 940 octeon_mgmt_update_link(p);
941 octeon_mgmt_enable_link(p);
693 } 942 }
943
694 p->last_link = p->phydev->link; 944 p->last_link = p->phydev->link;
945 p->last_speed = p->phydev->speed;
946 p->last_duplex = p->phydev->duplex;
947
695 spin_unlock_irqrestore(&p->lock, flags); 948 spin_unlock_irqrestore(&p->lock, flags);
696 949
697 if (link_changed != 0) { 950 if (link_changed != 0) {
698 if (link_changed > 0) { 951 if (link_changed > 0) {
699 netif_carrier_on(netdev);
700 pr_info("%s: Link is up - %d/%s\n", netdev->name, 952 pr_info("%s: Link is up - %d/%s\n", netdev->name,
701 p->phydev->speed, 953 p->phydev->speed,
702 DUPLEX_FULL == p->phydev->duplex ? 954 DUPLEX_FULL == p->phydev->duplex ?
703 "Full" : "Half"); 955 "Full" : "Half");
704 } else { 956 } else {
705 netif_carrier_off(netdev);
706 pr_info("%s: Link is down\n", netdev->name); 957 pr_info("%s: Link is down\n", netdev->name);
707 } 958 }
708 } 959 }
@@ -723,9 +974,7 @@ static int octeon_mgmt_init_phy(struct net_device *netdev)
723 PHY_INTERFACE_MODE_MII); 974 PHY_INTERFACE_MODE_MII);
724 975
725 if (!p->phydev) 976 if (!p->phydev)
726 return -1; 977 return -ENODEV;
727
728 phy_start_aneg(p->phydev);
729 978
730 return 0; 979 return 0;
731} 980}
@@ -733,12 +982,10 @@ static int octeon_mgmt_init_phy(struct net_device *netdev)
733static int octeon_mgmt_open(struct net_device *netdev) 982static int octeon_mgmt_open(struct net_device *netdev)
734{ 983{
735 struct octeon_mgmt *p = netdev_priv(netdev); 984 struct octeon_mgmt *p = netdev_priv(netdev);
736 int port = p->port;
737 union cvmx_mixx_ctl mix_ctl; 985 union cvmx_mixx_ctl mix_ctl;
738 union cvmx_agl_gmx_inf_mode agl_gmx_inf_mode; 986 union cvmx_agl_gmx_inf_mode agl_gmx_inf_mode;
739 union cvmx_mixx_oring1 oring1; 987 union cvmx_mixx_oring1 oring1;
740 union cvmx_mixx_iring1 iring1; 988 union cvmx_mixx_iring1 iring1;
741 union cvmx_agl_gmx_prtx_cfg prtx_cfg;
742 union cvmx_agl_gmx_rxx_frm_ctl rxx_frm_ctl; 989 union cvmx_agl_gmx_rxx_frm_ctl rxx_frm_ctl;
743 union cvmx_mixx_irhwm mix_irhwm; 990 union cvmx_mixx_irhwm mix_irhwm;
744 union cvmx_mixx_orhwm mix_orhwm; 991 union cvmx_mixx_orhwm mix_orhwm;
@@ -785,9 +1032,30 @@ static int octeon_mgmt_open(struct net_device *netdev)
785 } while (mix_ctl.s.reset); 1032 } while (mix_ctl.s.reset);
786 } 1033 }
787 1034
788 agl_gmx_inf_mode.u64 = 0; 1035 if (OCTEON_IS_MODEL(OCTEON_CN5XXX)) {
789 agl_gmx_inf_mode.s.en = 1; 1036 agl_gmx_inf_mode.u64 = 0;
790 cvmx_write_csr(CVMX_AGL_GMX_INF_MODE, agl_gmx_inf_mode.u64); 1037 agl_gmx_inf_mode.s.en = 1;
1038 cvmx_write_csr(CVMX_AGL_GMX_INF_MODE, agl_gmx_inf_mode.u64);
1039 }
1040 if (OCTEON_IS_MODEL(OCTEON_CN56XX_PASS1_X)
1041 || OCTEON_IS_MODEL(OCTEON_CN52XX_PASS1_X)) {
1042 /* Force compensation values, as they are not
1043 * determined properly by HW
1044 */
1045 union cvmx_agl_gmx_drv_ctl drv_ctl;
1046
1047 drv_ctl.u64 = cvmx_read_csr(CVMX_AGL_GMX_DRV_CTL);
1048 if (p->port) {
1049 drv_ctl.s.byp_en1 = 1;
1050 drv_ctl.s.nctl1 = 6;
1051 drv_ctl.s.pctl1 = 6;
1052 } else {
1053 drv_ctl.s.byp_en = 1;
1054 drv_ctl.s.nctl = 6;
1055 drv_ctl.s.pctl = 6;
1056 }
1057 cvmx_write_csr(CVMX_AGL_GMX_DRV_CTL, drv_ctl.u64);
1058 }
791 1059
792 oring1.u64 = 0; 1060 oring1.u64 = 0;
793 oring1.s.obase = p->tx_ring_handle >> 3; 1061 oring1.s.obase = p->tx_ring_handle >> 3;
@@ -799,18 +1067,12 @@ static int octeon_mgmt_open(struct net_device *netdev)
799 iring1.s.isize = OCTEON_MGMT_RX_RING_SIZE; 1067 iring1.s.isize = OCTEON_MGMT_RX_RING_SIZE;
800 cvmx_write_csr(p->mix + MIX_IRING1, iring1.u64); 1068 cvmx_write_csr(p->mix + MIX_IRING1, iring1.u64);
801 1069
802 /* Disable packet I/O. */
803 prtx_cfg.u64 = cvmx_read_csr(p->agl + AGL_GMX_PRT_CFG);
804 prtx_cfg.s.en = 0;
805 cvmx_write_csr(p->agl + AGL_GMX_PRT_CFG, prtx_cfg.u64);
806
807 memcpy(sa.sa_data, netdev->dev_addr, ETH_ALEN); 1070 memcpy(sa.sa_data, netdev->dev_addr, ETH_ALEN);
808 octeon_mgmt_set_mac_address(netdev, &sa); 1071 octeon_mgmt_set_mac_address(netdev, &sa);
809 1072
810 octeon_mgmt_change_mtu(netdev, netdev->mtu); 1073 octeon_mgmt_change_mtu(netdev, netdev->mtu);
811 1074
812 /* 1075 /* Enable the port HW. Packets are not allowed until
813 * Enable the port HW. Packets are not allowed until
814 * cvmx_mgmt_port_enable() is called. 1076 * cvmx_mgmt_port_enable() is called.
815 */ 1077 */
816 mix_ctl.u64 = 0; 1078 mix_ctl.u64 = 0;
@@ -819,27 +1081,70 @@ static int octeon_mgmt_open(struct net_device *netdev)
819 mix_ctl.s.nbtarb = 0; /* Arbitration mode */ 1081 mix_ctl.s.nbtarb = 0; /* Arbitration mode */
820 /* MII CB-request FIFO programmable high watermark */ 1082 /* MII CB-request FIFO programmable high watermark */
821 mix_ctl.s.mrq_hwm = 1; 1083 mix_ctl.s.mrq_hwm = 1;
1084#ifdef __LITTLE_ENDIAN
1085 mix_ctl.s.lendian = 1;
1086#endif
822 cvmx_write_csr(p->mix + MIX_CTL, mix_ctl.u64); 1087 cvmx_write_csr(p->mix + MIX_CTL, mix_ctl.u64);
823 1088
824 if (OCTEON_IS_MODEL(OCTEON_CN56XX_PASS1_X) 1089 /* Read the PHY to find the mode of the interface. */
825 || OCTEON_IS_MODEL(OCTEON_CN52XX_PASS1_X)) { 1090 if (octeon_mgmt_init_phy(netdev)) {
826 /* 1091 dev_err(p->dev, "Cannot initialize PHY on MIX%d.\n", p->port);
827 * Force compensation values, as they are not 1092 goto err_noirq;
828 * determined properly by HW 1093 }
829 */
830 union cvmx_agl_gmx_drv_ctl drv_ctl;
831 1094
832 drv_ctl.u64 = cvmx_read_csr(CVMX_AGL_GMX_DRV_CTL); 1095 /* Set the mode of the interface, RGMII/MII. */
833 if (port) { 1096 if (OCTEON_IS_MODEL(OCTEON_CN6XXX) && p->phydev) {
834 drv_ctl.s.byp_en1 = 1; 1097 union cvmx_agl_prtx_ctl agl_prtx_ctl;
835 drv_ctl.s.nctl1 = 6; 1098 int rgmii_mode = (p->phydev->supported &
836 drv_ctl.s.pctl1 = 6; 1099 (SUPPORTED_1000baseT_Half | SUPPORTED_1000baseT_Full)) != 0;
837 } else { 1100
838 drv_ctl.s.byp_en = 1; 1101 agl_prtx_ctl.u64 = cvmx_read_csr(p->agl_prt_ctl);
839 drv_ctl.s.nctl = 6; 1102 agl_prtx_ctl.s.mode = rgmii_mode ? 0 : 1;
840 drv_ctl.s.pctl = 6; 1103 cvmx_write_csr(p->agl_prt_ctl, agl_prtx_ctl.u64);
1104
1105 /* MII clocks counts are based on the 125Mhz
1106 * reference, which has an 8nS period. So our delays
1107 * need to be multiplied by this factor.
1108 */
1109#define NS_PER_PHY_CLK 8
1110
1111 /* Take the DLL and clock tree out of reset */
1112 agl_prtx_ctl.u64 = cvmx_read_csr(p->agl_prt_ctl);
1113 agl_prtx_ctl.s.clkrst = 0;
1114 if (rgmii_mode) {
1115 agl_prtx_ctl.s.dllrst = 0;
1116 agl_prtx_ctl.s.clktx_byp = 0;
841 } 1117 }
842 cvmx_write_csr(CVMX_AGL_GMX_DRV_CTL, drv_ctl.u64); 1118 cvmx_write_csr(p->agl_prt_ctl, agl_prtx_ctl.u64);
1119 cvmx_read_csr(p->agl_prt_ctl); /* Force write out before wait */
1120
1121 /* Wait for the DLL to lock. External 125 MHz
1122 * reference clock must be stable at this point.
1123 */
1124 ndelay(256 * NS_PER_PHY_CLK);
1125
1126 /* Enable the interface */
1127 agl_prtx_ctl.u64 = cvmx_read_csr(p->agl_prt_ctl);
1128 agl_prtx_ctl.s.enable = 1;
1129 cvmx_write_csr(p->agl_prt_ctl, agl_prtx_ctl.u64);
1130
1131 /* Read the value back to force the previous write */
1132 agl_prtx_ctl.u64 = cvmx_read_csr(p->agl_prt_ctl);
1133
1134 /* Enable the compensation controller */
1135 agl_prtx_ctl.s.comp = 1;
1136 agl_prtx_ctl.s.drv_byp = 0;
1137 cvmx_write_csr(p->agl_prt_ctl, agl_prtx_ctl.u64);
1138 /* Force write out before wait. */
1139 cvmx_read_csr(p->agl_prt_ctl);
1140
1141 /* For compensation state to lock. */
1142 ndelay(1040 * NS_PER_PHY_CLK);
1143
1144 /* Some Ethernet switches cannot handle standard
1145 * Interframe Gap, increase to 16 bytes.
1146 */
1147 cvmx_write_csr(CVMX_AGL_GMX_TX_IFG, 0x88);
843 } 1148 }
844 1149
845 octeon_mgmt_rx_fill_ring(netdev); 1150 octeon_mgmt_rx_fill_ring(netdev);
@@ -870,7 +1175,7 @@ static int octeon_mgmt_open(struct net_device *netdev)
870 1175
871 /* Interrupt when we have 1 or more packets to clean. */ 1176 /* Interrupt when we have 1 or more packets to clean. */
872 mix_orhwm.u64 = 0; 1177 mix_orhwm.u64 = 0;
873 mix_orhwm.s.orhwm = 1; 1178 mix_orhwm.s.orhwm = 0;
874 cvmx_write_csr(p->mix + MIX_ORHWM, mix_orhwm.u64); 1179 cvmx_write_csr(p->mix + MIX_ORHWM, mix_orhwm.u64);
875 1180
876 /* Enable receive and transmit interrupts */ 1181 /* Enable receive and transmit interrupts */
@@ -879,13 +1184,12 @@ static int octeon_mgmt_open(struct net_device *netdev)
879 mix_intena.s.othena = 1; 1184 mix_intena.s.othena = 1;
880 cvmx_write_csr(p->mix + MIX_INTENA, mix_intena.u64); 1185 cvmx_write_csr(p->mix + MIX_INTENA, mix_intena.u64);
881 1186
882
883 /* Enable packet I/O. */ 1187 /* Enable packet I/O. */
884 1188
885 rxx_frm_ctl.u64 = 0; 1189 rxx_frm_ctl.u64 = 0;
1190 rxx_frm_ctl.s.ptp_mode = p->has_rx_tstamp ? 1 : 0;
886 rxx_frm_ctl.s.pre_align = 1; 1191 rxx_frm_ctl.s.pre_align = 1;
887 /* 1192 /* When set, disables the length check for non-min sized pkts
888 * When set, disables the length check for non-min sized pkts
889 * with padding in the client data. 1193 * with padding in the client data.
890 */ 1194 */
891 rxx_frm_ctl.s.pad_len = 1; 1195 rxx_frm_ctl.s.pad_len = 1;
@@ -903,33 +1207,26 @@ static int octeon_mgmt_open(struct net_device *netdev)
903 rxx_frm_ctl.s.ctl_drp = 1; 1207 rxx_frm_ctl.s.ctl_drp = 1;
904 /* Strip off the preamble */ 1208 /* Strip off the preamble */
905 rxx_frm_ctl.s.pre_strp = 1; 1209 rxx_frm_ctl.s.pre_strp = 1;
906 /* 1210 /* This port is configured to send PREAMBLE+SFD to begin every
907 * This port is configured to send PREAMBLE+SFD to begin every
908 * frame. GMX checks that the PREAMBLE is sent correctly. 1211 * frame. GMX checks that the PREAMBLE is sent correctly.
909 */ 1212 */
910 rxx_frm_ctl.s.pre_chk = 1; 1213 rxx_frm_ctl.s.pre_chk = 1;
911 cvmx_write_csr(p->agl + AGL_GMX_RX_FRM_CTL, rxx_frm_ctl.u64); 1214 cvmx_write_csr(p->agl + AGL_GMX_RX_FRM_CTL, rxx_frm_ctl.u64);
912 1215
913 /* Enable the AGL block */ 1216 /* Configure the port duplex, speed and enables */
914 agl_gmx_inf_mode.u64 = 0; 1217 octeon_mgmt_disable_link(p);
915 agl_gmx_inf_mode.s.en = 1; 1218 if (p->phydev)
916 cvmx_write_csr(CVMX_AGL_GMX_INF_MODE, agl_gmx_inf_mode.u64); 1219 octeon_mgmt_update_link(p);
917 1220 octeon_mgmt_enable_link(p);
918 /* Configure the port duplex and enables */
919 prtx_cfg.u64 = cvmx_read_csr(p->agl + AGL_GMX_PRT_CFG);
920 prtx_cfg.s.tx_en = 1;
921 prtx_cfg.s.rx_en = 1;
922 prtx_cfg.s.en = 1;
923 p->last_duplex = 1;
924 prtx_cfg.s.duplex = p->last_duplex;
925 cvmx_write_csr(p->agl + AGL_GMX_PRT_CFG, prtx_cfg.u64);
926 1221
927 p->last_link = 0; 1222 p->last_link = 0;
928 netif_carrier_off(netdev); 1223 p->last_speed = 0;
929 1224 /* PHY is not present in simulator. The carrier is enabled
930 if (octeon_mgmt_init_phy(netdev)) { 1225 * while initializing the phy for simulator, leave it enabled.
931 dev_err(p->dev, "Cannot initialize PHY.\n"); 1226 */
932 goto err_noirq; 1227 if (p->phydev) {
1228 netif_carrier_off(netdev);
1229 phy_start_aneg(p->phydev);
933 } 1230 }
934 1231
935 netif_wake_queue(netdev); 1232 netif_wake_queue(netdev);
@@ -959,6 +1256,7 @@ static int octeon_mgmt_stop(struct net_device *netdev)
959 1256
960 if (p->phydev) 1257 if (p->phydev)
961 phy_disconnect(p->phydev); 1258 phy_disconnect(p->phydev);
1259 p->phydev = NULL;
962 1260
963 netif_carrier_off(netdev); 1261 netif_carrier_off(netdev);
964 1262
@@ -991,6 +1289,7 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
991 int rv = NETDEV_TX_BUSY; 1289 int rv = NETDEV_TX_BUSY;
992 1290
993 re.d64 = 0; 1291 re.d64 = 0;
1292 re.s.tstamp = ((skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) != 0);
994 re.s.len = skb->len; 1293 re.s.len = skb->len;
995 re.s.addr = dma_map_single(p->dev, skb->data, 1294 re.s.addr = dma_map_single(p->dev, skb->data,
996 skb->len, 1295 skb->len,
@@ -1031,6 +1330,7 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
1031 /* Ring the bell. */ 1330 /* Ring the bell. */
1032 cvmx_write_csr(p->mix + MIX_ORING2, 1); 1331 cvmx_write_csr(p->mix + MIX_ORING2, 1);
1033 1332
1333 netdev->trans_start = jiffies;
1034 rv = NETDEV_TX_OK; 1334 rv = NETDEV_TX_OK;
1035out: 1335out:
1036 octeon_mgmt_update_tx_stats(netdev); 1336 octeon_mgmt_update_tx_stats(netdev);
@@ -1068,7 +1368,7 @@ static int octeon_mgmt_get_settings(struct net_device *netdev,
1068 if (p->phydev) 1368 if (p->phydev)
1069 return phy_ethtool_gset(p->phydev, cmd); 1369 return phy_ethtool_gset(p->phydev, cmd);
1070 1370
1071 return -EINVAL; 1371 return -EOPNOTSUPP;
1072} 1372}
1073 1373
1074static int octeon_mgmt_set_settings(struct net_device *netdev, 1374static int octeon_mgmt_set_settings(struct net_device *netdev,
@@ -1082,23 +1382,37 @@ static int octeon_mgmt_set_settings(struct net_device *netdev,
1082 if (p->phydev) 1382 if (p->phydev)
1083 return phy_ethtool_sset(p->phydev, cmd); 1383 return phy_ethtool_sset(p->phydev, cmd);
1084 1384
1085 return -EINVAL; 1385 return -EOPNOTSUPP;
1386}
1387
1388static int octeon_mgmt_nway_reset(struct net_device *dev)
1389{
1390 struct octeon_mgmt *p = netdev_priv(dev);
1391
1392 if (!capable(CAP_NET_ADMIN))
1393 return -EPERM;
1394
1395 if (p->phydev)
1396 return phy_start_aneg(p->phydev);
1397
1398 return -EOPNOTSUPP;
1086} 1399}
1087 1400
1088static const struct ethtool_ops octeon_mgmt_ethtool_ops = { 1401static const struct ethtool_ops octeon_mgmt_ethtool_ops = {
1089 .get_drvinfo = octeon_mgmt_get_drvinfo, 1402 .get_drvinfo = octeon_mgmt_get_drvinfo,
1090 .get_link = ethtool_op_get_link,
1091 .get_settings = octeon_mgmt_get_settings, 1403 .get_settings = octeon_mgmt_get_settings,
1092 .set_settings = octeon_mgmt_set_settings 1404 .set_settings = octeon_mgmt_set_settings,
1405 .nway_reset = octeon_mgmt_nway_reset,
1406 .get_link = ethtool_op_get_link,
1093}; 1407};
1094 1408
1095static const struct net_device_ops octeon_mgmt_ops = { 1409static const struct net_device_ops octeon_mgmt_ops = {
1096 .ndo_open = octeon_mgmt_open, 1410 .ndo_open = octeon_mgmt_open,
1097 .ndo_stop = octeon_mgmt_stop, 1411 .ndo_stop = octeon_mgmt_stop,
1098 .ndo_start_xmit = octeon_mgmt_xmit, 1412 .ndo_start_xmit = octeon_mgmt_xmit,
1099 .ndo_set_rx_mode = octeon_mgmt_set_rx_filtering, 1413 .ndo_set_rx_mode = octeon_mgmt_set_rx_filtering,
1100 .ndo_set_mac_address = octeon_mgmt_set_mac_address, 1414 .ndo_set_mac_address = octeon_mgmt_set_mac_address,
1101 .ndo_do_ioctl = octeon_mgmt_ioctl, 1415 .ndo_do_ioctl = octeon_mgmt_ioctl,
1102 .ndo_change_mtu = octeon_mgmt_change_mtu, 1416 .ndo_change_mtu = octeon_mgmt_change_mtu,
1103#ifdef CONFIG_NET_POLL_CONTROLLER 1417#ifdef CONFIG_NET_POLL_CONTROLLER
1104 .ndo_poll_controller = octeon_mgmt_poll_controller, 1418 .ndo_poll_controller = octeon_mgmt_poll_controller,
@@ -1113,6 +1427,7 @@ static int __devinit octeon_mgmt_probe(struct platform_device *pdev)
1113 const u8 *mac; 1427 const u8 *mac;
1114 struct resource *res_mix; 1428 struct resource *res_mix;
1115 struct resource *res_agl; 1429 struct resource *res_agl;
1430 struct resource *res_agl_prt_ctl;
1116 int len; 1431 int len;
1117 int result; 1432 int result;
1118 1433
@@ -1120,6 +1435,8 @@ static int __devinit octeon_mgmt_probe(struct platform_device *pdev)
1120 if (netdev == NULL) 1435 if (netdev == NULL)
1121 return -ENOMEM; 1436 return -ENOMEM;
1122 1437
1438 SET_NETDEV_DEV(netdev, &pdev->dev);
1439
1123 dev_set_drvdata(&pdev->dev, netdev); 1440 dev_set_drvdata(&pdev->dev, netdev);
1124 p = netdev_priv(netdev); 1441 p = netdev_priv(netdev);
1125 netif_napi_add(netdev, &p->napi, octeon_mgmt_napi_poll, 1442 netif_napi_add(netdev, &p->napi, octeon_mgmt_napi_poll,
@@ -1127,6 +1444,7 @@ static int __devinit octeon_mgmt_probe(struct platform_device *pdev)
1127 1444
1128 p->netdev = netdev; 1445 p->netdev = netdev;
1129 p->dev = &pdev->dev; 1446 p->dev = &pdev->dev;
1447 p->has_rx_tstamp = false;
1130 1448
1131 data = of_get_property(pdev->dev.of_node, "cell-index", &len); 1449 data = of_get_property(pdev->dev.of_node, "cell-index", &len);
1132 if (data && len == sizeof(*data)) { 1450 if (data && len == sizeof(*data)) {
@@ -1159,10 +1477,19 @@ static int __devinit octeon_mgmt_probe(struct platform_device *pdev)
1159 goto err; 1477 goto err;
1160 } 1478 }
1161 1479
1480 res_agl_prt_ctl = platform_get_resource(pdev, IORESOURCE_MEM, 3);
1481 if (res_agl_prt_ctl == NULL) {
1482 dev_err(&pdev->dev, "no 'reg' resource\n");
1483 result = -ENXIO;
1484 goto err;
1485 }
1486
1162 p->mix_phys = res_mix->start; 1487 p->mix_phys = res_mix->start;
1163 p->mix_size = resource_size(res_mix); 1488 p->mix_size = resource_size(res_mix);
1164 p->agl_phys = res_agl->start; 1489 p->agl_phys = res_agl->start;
1165 p->agl_size = resource_size(res_agl); 1490 p->agl_size = resource_size(res_agl);
1491 p->agl_prt_ctl_phys = res_agl_prt_ctl->start;
1492 p->agl_prt_ctl_size = resource_size(res_agl_prt_ctl);
1166 1493
1167 1494
1168 if (!devm_request_mem_region(&pdev->dev, p->mix_phys, p->mix_size, 1495 if (!devm_request_mem_region(&pdev->dev, p->mix_phys, p->mix_size,
@@ -1181,10 +1508,18 @@ static int __devinit octeon_mgmt_probe(struct platform_device *pdev)
1181 goto err; 1508 goto err;
1182 } 1509 }
1183 1510
1511 if (!devm_request_mem_region(&pdev->dev, p->agl_prt_ctl_phys,
1512 p->agl_prt_ctl_size, res_agl_prt_ctl->name)) {
1513 result = -ENXIO;
1514 dev_err(&pdev->dev, "request_mem_region (%s) failed\n",
1515 res_agl_prt_ctl->name);
1516 goto err;
1517 }
1184 1518
1185 p->mix = (u64)devm_ioremap(&pdev->dev, p->mix_phys, p->mix_size); 1519 p->mix = (u64)devm_ioremap(&pdev->dev, p->mix_phys, p->mix_size);
1186 p->agl = (u64)devm_ioremap(&pdev->dev, p->agl_phys, p->agl_size); 1520 p->agl = (u64)devm_ioremap(&pdev->dev, p->agl_phys, p->agl_size);
1187 1521 p->agl_prt_ctl = (u64)devm_ioremap(&pdev->dev, p->agl_prt_ctl_phys,
1522 p->agl_prt_ctl_size);
1188 spin_lock_init(&p->lock); 1523 spin_lock_init(&p->lock);
1189 1524
1190 skb_queue_head_init(&p->tx_list); 1525 skb_queue_head_init(&p->tx_list);
@@ -1199,14 +1534,19 @@ static int __devinit octeon_mgmt_probe(struct platform_device *pdev)
1199 1534
1200 mac = of_get_mac_address(pdev->dev.of_node); 1535 mac = of_get_mac_address(pdev->dev.of_node);
1201 1536
1202 if (mac) 1537 if (mac && is_valid_ether_addr(mac)) {
1203 memcpy(netdev->dev_addr, mac, 6); 1538 memcpy(netdev->dev_addr, mac, ETH_ALEN);
1539 netdev->addr_assign_type &= ~NET_ADDR_RANDOM;
1540 } else {
1541 eth_hw_addr_random(netdev);
1542 }
1204 1543
1205 p->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); 1544 p->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
1206 1545
1207 pdev->dev.coherent_dma_mask = DMA_BIT_MASK(64); 1546 pdev->dev.coherent_dma_mask = DMA_BIT_MASK(64);
1208 pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; 1547 pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
1209 1548
1549 netif_carrier_off(netdev);
1210 result = register_netdev(netdev); 1550 result = register_netdev(netdev);
1211 if (result) 1551 if (result)
1212 goto err; 1552 goto err;
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 33e3df9e39ca..7bf914df6e91 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -68,10 +68,21 @@ config PINCTRL_IMX6Q
68 help 68 help
69 Say Y here to enable the imx6q pinctrl driver 69 Say Y here to enable the imx6q pinctrl driver
70 70
71config PINCTRL_LANTIQ
72 bool
73 depends on LANTIQ
74 select PINMUX
75 select PINCONF
76
71config PINCTRL_PXA3xx 77config PINCTRL_PXA3xx
72 bool 78 bool
73 select PINMUX 79 select PINMUX
74 80
81config PINCTRL_FALCON
82 bool
83 depends on SOC_FALCON
84 depends on PINCTRL_LANTIQ
85
75config PINCTRL_MMP2 86config PINCTRL_MMP2
76 bool "MMP2 pin controller driver" 87 bool "MMP2 pin controller driver"
77 depends on ARCH_MMP 88 depends on ARCH_MMP
@@ -199,6 +210,11 @@ config PINCTRL_ARMADA_XP
199 210
200source "drivers/pinctrl/spear/Kconfig" 211source "drivers/pinctrl/spear/Kconfig"
201 212
213config PINCTRL_XWAY
214 bool
215 depends on SOC_TYPE_XWAY
216 depends on PINCTRL_LANTIQ
217
202endmenu 218endmenu
203 219
204endif 220endif
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index f162e0196300..f395ba5cec25 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -16,6 +16,7 @@ obj-$(CONFIG_PINCTRL_IMX51) += pinctrl-imx51.o
16obj-$(CONFIG_PINCTRL_IMX53) += pinctrl-imx53.o 16obj-$(CONFIG_PINCTRL_IMX53) += pinctrl-imx53.o
17obj-$(CONFIG_PINCTRL_IMX6Q) += pinctrl-imx6q.o 17obj-$(CONFIG_PINCTRL_IMX6Q) += pinctrl-imx6q.o
18obj-$(CONFIG_PINCTRL_PXA3xx) += pinctrl-pxa3xx.o 18obj-$(CONFIG_PINCTRL_PXA3xx) += pinctrl-pxa3xx.o
19obj-$(CONFIG_PINCTRL_FALCON) += pinctrl-falcon.o
19obj-$(CONFIG_PINCTRL_MMP2) += pinctrl-mmp2.o 20obj-$(CONFIG_PINCTRL_MMP2) += pinctrl-mmp2.o
20obj-$(CONFIG_PINCTRL_MXS) += pinctrl-mxs.o 21obj-$(CONFIG_PINCTRL_MXS) += pinctrl-mxs.o
21obj-$(CONFIG_PINCTRL_IMX23) += pinctrl-imx23.o 22obj-$(CONFIG_PINCTRL_IMX23) += pinctrl-imx23.o
@@ -40,5 +41,7 @@ obj-$(CONFIG_PINCTRL_DOVE) += pinctrl-dove.o
40obj-$(CONFIG_PINCTRL_KIRKWOOD) += pinctrl-kirkwood.o 41obj-$(CONFIG_PINCTRL_KIRKWOOD) += pinctrl-kirkwood.o
41obj-$(CONFIG_PINCTRL_ARMADA_370) += pinctrl-armada-370.o 42obj-$(CONFIG_PINCTRL_ARMADA_370) += pinctrl-armada-370.o
42obj-$(CONFIG_PINCTRL_ARMADA_XP) += pinctrl-armada-xp.o 43obj-$(CONFIG_PINCTRL_ARMADA_XP) += pinctrl-armada-xp.o
44obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o
45obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o
43 46
44obj-$(CONFIG_PLAT_SPEAR) += spear/ 47obj-$(CONFIG_PLAT_SPEAR) += spear/
diff --git a/drivers/pinctrl/pinctrl-falcon.c b/drivers/pinctrl/pinctrl-falcon.c
new file mode 100644
index 000000000000..ee7305903470
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-falcon.c
@@ -0,0 +1,468 @@
1/*
2 * linux/drivers/pinctrl/pinmux-falcon.c
3 * based on linux/drivers/pinctrl/pinmux-pxa910.c
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published
7 * by the Free Software Foundation.
8 *
9 * Copyright (C) 2012 Thomas Langer <thomas.langer@lantiq.com>
10 * Copyright (C) 2012 John Crispin <blogic@openwrt.org>
11 */
12
13#include <linux/gpio.h>
14#include <linux/interrupt.h>
15#include <linux/slab.h>
16#include <linux/export.h>
17#include <linux/err.h>
18#include <linux/module.h>
19#include <linux/of.h>
20#include <linux/of_platform.h>
21#include <linux/of_address.h>
22#include <linux/of_gpio.h>
23#include <linux/platform_device.h>
24
25#include "pinctrl-lantiq.h"
26
27#include <lantiq_soc.h>
28
29/* Multiplexer Control Register */
30#define LTQ_PADC_MUX(x) (x * 0x4)
31/* Pull Up Enable Register */
32#define LTQ_PADC_PUEN 0x80
33/* Pull Down Enable Register */
34#define LTQ_PADC_PDEN 0x84
35/* Slew Rate Control Register */
36#define LTQ_PADC_SRC 0x88
37/* Drive Current Control Register */
38#define LTQ_PADC_DCC 0x8C
39/* Pad Control Availability Register */
40#define LTQ_PADC_AVAIL 0xF0
41
42#define pad_r32(p, reg) ltq_r32(p + reg)
43#define pad_w32(p, val, reg) ltq_w32(val, p + reg)
44#define pad_w32_mask(c, clear, set, reg) \
45 pad_w32(c, (pad_r32(c, reg) & ~(clear)) | (set), reg)
46
47#define pad_getbit(m, r, p) (!!(ltq_r32(m + r) & (1 << p)))
48
49#define PORTS 5
50#define PINS 32
51#define PORT(x) (x / PINS)
52#define PORT_PIN(x) (x % PINS)
53
54#define MFP_FALCON(a, f0, f1, f2, f3) \
55{ \
56 .name = #a, \
57 .pin = a, \
58 .func = { \
59 FALCON_MUX_##f0, \
60 FALCON_MUX_##f1, \
61 FALCON_MUX_##f2, \
62 FALCON_MUX_##f3, \
63 }, \
64}
65
66#define GRP_MUX(a, m, p) \
67{ \
68 .name = a, \
69 .mux = FALCON_MUX_##m, \
70 .pins = p, \
71 .npins = ARRAY_SIZE(p), \
72}
73
74enum falcon_mux {
75 FALCON_MUX_GPIO = 0,
76 FALCON_MUX_RST,
77 FALCON_MUX_NTR,
78 FALCON_MUX_MDIO,
79 FALCON_MUX_LED,
80 FALCON_MUX_SPI,
81 FALCON_MUX_ASC,
82 FALCON_MUX_I2C,
83 FALCON_MUX_HOSTIF,
84 FALCON_MUX_SLIC,
85 FALCON_MUX_JTAG,
86 FALCON_MUX_PCM,
87 FALCON_MUX_MII,
88 FALCON_MUX_PHY,
89 FALCON_MUX_NONE = 0xffff,
90};
91
92static struct pinctrl_pin_desc falcon_pads[PORTS * PINS];
93static int pad_count[PORTS];
94
95static void lantiq_load_pin_desc(struct pinctrl_pin_desc *d, int bank, int len)
96{
97 int base = bank * PINS;
98 int i;
99
100 for (i = 0; i < len; i++) {
101 /* strlen("ioXYZ") + 1 = 6 */
102 char *name = kzalloc(6, GFP_KERNEL);
103 snprintf(name, 6, "io%d", base + i);
104 d[i].number = base + i;
105 d[i].name = name;
106 }
107 pad_count[bank] = len;
108}
109
110static struct ltq_mfp_pin falcon_mfp[] = {
111 /* pin f0 f1 f2 f3 */
112 MFP_FALCON(GPIO0, RST, GPIO, NONE, NONE),
113 MFP_FALCON(GPIO1, GPIO, GPIO, NONE, NONE),
114 MFP_FALCON(GPIO2, GPIO, GPIO, NONE, NONE),
115 MFP_FALCON(GPIO3, GPIO, GPIO, NONE, NONE),
116 MFP_FALCON(GPIO4, NTR, GPIO, NONE, NONE),
117 MFP_FALCON(GPIO5, NTR, GPIO, NONE, NONE),
118 MFP_FALCON(GPIO6, RST, GPIO, NONE, NONE),
119 MFP_FALCON(GPIO7, MDIO, GPIO, NONE, NONE),
120 MFP_FALCON(GPIO8, MDIO, GPIO, NONE, NONE),
121 MFP_FALCON(GPIO9, LED, GPIO, NONE, NONE),
122 MFP_FALCON(GPIO10, LED, GPIO, NONE, NONE),
123 MFP_FALCON(GPIO11, LED, GPIO, NONE, NONE),
124 MFP_FALCON(GPIO12, LED, GPIO, NONE, NONE),
125 MFP_FALCON(GPIO13, LED, GPIO, NONE, NONE),
126 MFP_FALCON(GPIO14, LED, GPIO, NONE, NONE),
127 MFP_FALCON(GPIO32, ASC, GPIO, NONE, NONE),
128 MFP_FALCON(GPIO33, ASC, GPIO, NONE, NONE),
129 MFP_FALCON(GPIO34, SPI, GPIO, NONE, NONE),
130 MFP_FALCON(GPIO35, SPI, GPIO, NONE, NONE),
131 MFP_FALCON(GPIO36, SPI, GPIO, NONE, NONE),
132 MFP_FALCON(GPIO37, SPI, GPIO, NONE, NONE),
133 MFP_FALCON(GPIO38, SPI, GPIO, NONE, NONE),
134 MFP_FALCON(GPIO39, I2C, GPIO, NONE, NONE),
135 MFP_FALCON(GPIO40, I2C, GPIO, NONE, NONE),
136 MFP_FALCON(GPIO41, HOSTIF, GPIO, HOSTIF, JTAG),
137 MFP_FALCON(GPIO42, HOSTIF, GPIO, HOSTIF, NONE),
138 MFP_FALCON(GPIO43, SLIC, GPIO, NONE, NONE),
139 MFP_FALCON(GPIO44, SLIC, GPIO, PCM, ASC),
140 MFP_FALCON(GPIO45, SLIC, GPIO, PCM, ASC),
141 MFP_FALCON(GPIO64, MII, GPIO, NONE, NONE),
142 MFP_FALCON(GPIO65, MII, GPIO, NONE, NONE),
143 MFP_FALCON(GPIO66, MII, GPIO, NONE, NONE),
144 MFP_FALCON(GPIO67, MII, GPIO, NONE, NONE),
145 MFP_FALCON(GPIO68, MII, GPIO, NONE, NONE),
146 MFP_FALCON(GPIO69, MII, GPIO, NONE, NONE),
147 MFP_FALCON(GPIO70, MII, GPIO, NONE, NONE),
148 MFP_FALCON(GPIO71, MII, GPIO, NONE, NONE),
149 MFP_FALCON(GPIO72, MII, GPIO, NONE, NONE),
150 MFP_FALCON(GPIO73, MII, GPIO, NONE, NONE),
151 MFP_FALCON(GPIO74, MII, GPIO, NONE, NONE),
152 MFP_FALCON(GPIO75, MII, GPIO, NONE, NONE),
153 MFP_FALCON(GPIO76, MII, GPIO, NONE, NONE),
154 MFP_FALCON(GPIO77, MII, GPIO, NONE, NONE),
155 MFP_FALCON(GPIO78, MII, GPIO, NONE, NONE),
156 MFP_FALCON(GPIO79, MII, GPIO, NONE, NONE),
157 MFP_FALCON(GPIO80, MII, GPIO, NONE, NONE),
158 MFP_FALCON(GPIO81, MII, GPIO, NONE, NONE),
159 MFP_FALCON(GPIO82, MII, GPIO, NONE, NONE),
160 MFP_FALCON(GPIO83, MII, GPIO, NONE, NONE),
161 MFP_FALCON(GPIO84, MII, GPIO, NONE, NONE),
162 MFP_FALCON(GPIO85, MII, GPIO, NONE, NONE),
163 MFP_FALCON(GPIO86, MII, GPIO, NONE, NONE),
164 MFP_FALCON(GPIO87, MII, GPIO, NONE, NONE),
165 MFP_FALCON(GPIO88, PHY, GPIO, NONE, NONE),
166};
167
168static const unsigned pins_por[] = {GPIO0};
169static const unsigned pins_ntr[] = {GPIO4};
170static const unsigned pins_ntr8k[] = {GPIO5};
171static const unsigned pins_hrst[] = {GPIO6};
172static const unsigned pins_mdio[] = {GPIO7, GPIO8};
173static const unsigned pins_bled[] = {GPIO7, GPIO10, GPIO11,
174 GPIO12, GPIO13, GPIO14};
175static const unsigned pins_asc0[] = {GPIO32, GPIO33};
176static const unsigned pins_spi[] = {GPIO34, GPIO35, GPIO36};
177static const unsigned pins_spi_cs0[] = {GPIO37};
178static const unsigned pins_spi_cs1[] = {GPIO38};
179static const unsigned pins_i2c[] = {GPIO39, GPIO40};
180static const unsigned pins_jtag[] = {GPIO41};
181static const unsigned pins_slic[] = {GPIO43, GPIO44, GPIO45};
182static const unsigned pins_pcm[] = {GPIO44, GPIO45};
183static const unsigned pins_asc1[] = {GPIO44, GPIO45};
184
185static struct ltq_pin_group falcon_grps[] = {
186 GRP_MUX("por", RST, pins_por),
187 GRP_MUX("ntr", NTR, pins_ntr),
188 GRP_MUX("ntr8k", NTR, pins_ntr8k),
189 GRP_MUX("hrst", RST, pins_hrst),
190 GRP_MUX("mdio", MDIO, pins_mdio),
191 GRP_MUX("bootled", LED, pins_bled),
192 GRP_MUX("asc0", ASC, pins_asc0),
193 GRP_MUX("spi", SPI, pins_spi),
194 GRP_MUX("spi cs0", SPI, pins_spi_cs0),
195 GRP_MUX("spi cs1", SPI, pins_spi_cs1),
196 GRP_MUX("i2c", I2C, pins_i2c),
197 GRP_MUX("jtag", JTAG, pins_jtag),
198 GRP_MUX("slic", SLIC, pins_slic),
199 GRP_MUX("pcm", PCM, pins_pcm),
200 GRP_MUX("asc1", ASC, pins_asc1),
201};
202
203static const char * const ltq_rst_grps[] = {"por", "hrst"};
204static const char * const ltq_ntr_grps[] = {"ntr", "ntr8k"};
205static const char * const ltq_mdio_grps[] = {"mdio"};
206static const char * const ltq_bled_grps[] = {"bootled"};
207static const char * const ltq_asc_grps[] = {"asc0", "asc1"};
208static const char * const ltq_spi_grps[] = {"spi", "spi cs0", "spi cs1"};
209static const char * const ltq_i2c_grps[] = {"i2c"};
210static const char * const ltq_jtag_grps[] = {"jtag"};
211static const char * const ltq_slic_grps[] = {"slic"};
212static const char * const ltq_pcm_grps[] = {"pcm"};
213
214static struct ltq_pmx_func falcon_funcs[] = {
215 {"rst", ARRAY_AND_SIZE(ltq_rst_grps)},
216 {"ntr", ARRAY_AND_SIZE(ltq_ntr_grps)},
217 {"mdio", ARRAY_AND_SIZE(ltq_mdio_grps)},
218 {"led", ARRAY_AND_SIZE(ltq_bled_grps)},
219 {"asc", ARRAY_AND_SIZE(ltq_asc_grps)},
220 {"spi", ARRAY_AND_SIZE(ltq_spi_grps)},
221 {"i2c", ARRAY_AND_SIZE(ltq_i2c_grps)},
222 {"jtag", ARRAY_AND_SIZE(ltq_jtag_grps)},
223 {"slic", ARRAY_AND_SIZE(ltq_slic_grps)},
224 {"pcm", ARRAY_AND_SIZE(ltq_pcm_grps)},
225};
226
227
228
229
230/* --------- pinconf related code --------- */
231static int falcon_pinconf_group_get(struct pinctrl_dev *pctrldev,
232 unsigned group, unsigned long *config)
233{
234 return -ENOTSUPP;
235}
236
237static int falcon_pinconf_group_set(struct pinctrl_dev *pctrldev,
238 unsigned group, unsigned long config)
239{
240 return -ENOTSUPP;
241}
242
243static int falcon_pinconf_get(struct pinctrl_dev *pctrldev,
244 unsigned pin, unsigned long *config)
245{
246 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
247 enum ltq_pinconf_param param = LTQ_PINCONF_UNPACK_PARAM(*config);
248 void __iomem *mem = info->membase[PORT(pin)];
249
250 switch (param) {
251 case LTQ_PINCONF_PARAM_DRIVE_CURRENT:
252 *config = LTQ_PINCONF_PACK(param,
253 !!pad_getbit(mem, LTQ_PADC_DCC, PORT_PIN(pin)));
254 break;
255
256 case LTQ_PINCONF_PARAM_SLEW_RATE:
257 *config = LTQ_PINCONF_PACK(param,
258 !!pad_getbit(mem, LTQ_PADC_SRC, PORT_PIN(pin)));
259 break;
260
261 case LTQ_PINCONF_PARAM_PULL:
262 if (pad_getbit(mem, LTQ_PADC_PDEN, PORT_PIN(pin)))
263 *config = LTQ_PINCONF_PACK(param, 1);
264 else if (pad_getbit(mem, LTQ_PADC_PUEN, PORT_PIN(pin)))
265 *config = LTQ_PINCONF_PACK(param, 2);
266 else
267 *config = LTQ_PINCONF_PACK(param, 0);
268
269 break;
270
271 default:
272 return -ENOTSUPP;
273 }
274
275 return 0;
276}
277
278static int falcon_pinconf_set(struct pinctrl_dev *pctrldev,
279 unsigned pin, unsigned long config)
280{
281 enum ltq_pinconf_param param = LTQ_PINCONF_UNPACK_PARAM(config);
282 int arg = LTQ_PINCONF_UNPACK_ARG(config);
283 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
284 void __iomem *mem = info->membase[PORT(pin)];
285 u32 reg;
286
287 switch (param) {
288 case LTQ_PINCONF_PARAM_DRIVE_CURRENT:
289 reg = LTQ_PADC_DCC;
290 break;
291
292 case LTQ_PINCONF_PARAM_SLEW_RATE:
293 reg = LTQ_PADC_SRC;
294 break;
295
296 case LTQ_PINCONF_PARAM_PULL:
297 if (arg == 1)
298 reg = LTQ_PADC_PDEN;
299 else
300 reg = LTQ_PADC_PUEN;
301 break;
302
303 default:
304 pr_err("%s: Invalid config param %04x\n",
305 pinctrl_dev_get_name(pctrldev), param);
306 return -ENOTSUPP;
307 }
308
309 pad_w32(mem, BIT(PORT_PIN(pin)), reg);
310 if (!(pad_r32(mem, reg) & BIT(PORT_PIN(pin))))
311 return -ENOTSUPP;
312 return 0;
313}
314
315static void falcon_pinconf_dbg_show(struct pinctrl_dev *pctrldev,
316 struct seq_file *s, unsigned offset)
317{
318}
319
320static void falcon_pinconf_group_dbg_show(struct pinctrl_dev *pctrldev,
321 struct seq_file *s, unsigned selector)
322{
323}
324
325struct pinconf_ops falcon_pinconf_ops = {
326 .pin_config_get = falcon_pinconf_get,
327 .pin_config_set = falcon_pinconf_set,
328 .pin_config_group_get = falcon_pinconf_group_get,
329 .pin_config_group_set = falcon_pinconf_group_set,
330 .pin_config_dbg_show = falcon_pinconf_dbg_show,
331 .pin_config_group_dbg_show = falcon_pinconf_group_dbg_show,
332};
333
334static struct pinctrl_desc falcon_pctrl_desc = {
335 .owner = THIS_MODULE,
336 .pins = falcon_pads,
337 .confops = &falcon_pinconf_ops,
338};
339
340static inline int falcon_mux_apply(struct pinctrl_dev *pctrldev,
341 int mfp, int mux)
342{
343 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
344 int port = PORT(info->mfp[mfp].pin);
345
346 if ((port >= PORTS) || (!info->membase[port]))
347 return -ENODEV;
348
349 pad_w32(info->membase[port], mux,
350 LTQ_PADC_MUX(PORT_PIN(info->mfp[mfp].pin)));
351 return 0;
352}
353
354static const struct ltq_cfg_param falcon_cfg_params[] = {
355 {"lantiq,pull", LTQ_PINCONF_PARAM_PULL},
356 {"lantiq,drive-current", LTQ_PINCONF_PARAM_DRIVE_CURRENT},
357 {"lantiq,slew-rate", LTQ_PINCONF_PARAM_SLEW_RATE},
358};
359
360static struct ltq_pinmux_info falcon_info = {
361 .desc = &falcon_pctrl_desc,
362 .apply_mux = falcon_mux_apply,
363};
364
365
366
367
368/* --------- register the pinctrl layer --------- */
369
370int pinctrl_falcon_get_range_size(int id)
371{
372 u32 avail;
373
374 if ((id >= PORTS) || (!falcon_info.membase[id]))
375 return -EINVAL;
376
377 avail = pad_r32(falcon_info.membase[id], LTQ_PADC_AVAIL);
378
379 return fls(avail);
380}
381
382void pinctrl_falcon_add_gpio_range(struct pinctrl_gpio_range *range)
383{
384 pinctrl_add_gpio_range(falcon_info.pctrl, range);
385}
386
387static int pinctrl_falcon_probe(struct platform_device *pdev)
388{
389 struct device_node *np;
390 int pad_count = 0;
391 int ret = 0;
392
393 /* load and remap the pad resources of the different banks */
394 for_each_compatible_node(np, NULL, "lantiq,pad-falcon") {
395 struct platform_device *ppdev = of_find_device_by_node(np);
396 const __be32 *bank = of_get_property(np, "lantiq,bank", NULL);
397 struct resource res;
398 u32 avail;
399 int pins;
400
401 if (!ppdev) {
402 dev_err(&pdev->dev, "failed to find pad pdev\n");
403 continue;
404 }
405 if (!bank || *bank >= PORTS)
406 continue;
407 if (of_address_to_resource(np, 0, &res))
408 continue;
409 falcon_info.clk[*bank] = clk_get(&ppdev->dev, NULL);
410 if (IS_ERR(falcon_info.clk[*bank])) {
411 dev_err(&ppdev->dev, "failed to get clock\n");
412 return PTR_ERR(falcon_info.clk[*bank]);
413 }
414 falcon_info.membase[*bank] =
415 devm_request_and_ioremap(&pdev->dev, &res);
416 if (!falcon_info.membase[*bank]) {
417 dev_err(&pdev->dev,
418 "Failed to remap memory for bank %d\n",
419 *bank);
420 return -ENOMEM;
421 }
422 avail = pad_r32(falcon_info.membase[*bank],
423 LTQ_PADC_AVAIL);
424 pins = fls(avail);
425 lantiq_load_pin_desc(&falcon_pads[pad_count], *bank, pins);
426 pad_count += pins;
427 clk_enable(falcon_info.clk[*bank]);
428 dev_dbg(&pdev->dev, "found %s with %d pads\n",
429 res.name, pins);
430 }
431 dev_dbg(&pdev->dev, "found a total of %d pads\n", pad_count);
432 falcon_pctrl_desc.name = dev_name(&pdev->dev);
433 falcon_pctrl_desc.npins = pad_count;
434
435 falcon_info.mfp = falcon_mfp;
436 falcon_info.num_mfp = ARRAY_SIZE(falcon_mfp);
437 falcon_info.grps = falcon_grps;
438 falcon_info.num_grps = ARRAY_SIZE(falcon_grps);
439 falcon_info.funcs = falcon_funcs;
440 falcon_info.num_funcs = ARRAY_SIZE(falcon_funcs);
441
442 ret = ltq_pinctrl_register(pdev, &falcon_info);
443 if (!ret)
444 dev_info(&pdev->dev, "Init done\n");
445 return ret;
446}
447
448static const struct of_device_id falcon_match[] = {
449 { .compatible = "lantiq,pinctrl-falcon" },
450 {},
451};
452MODULE_DEVICE_TABLE(of, falcon_match);
453
454static struct platform_driver pinctrl_falcon_driver = {
455 .probe = pinctrl_falcon_probe,
456 .driver = {
457 .name = "pinctrl-falcon",
458 .owner = THIS_MODULE,
459 .of_match_table = falcon_match,
460 },
461};
462
463int __init pinctrl_falcon_init(void)
464{
465 return platform_driver_register(&pinctrl_falcon_driver);
466}
467
468core_initcall_sync(pinctrl_falcon_init);
diff --git a/drivers/pinctrl/pinctrl-lantiq.c b/drivers/pinctrl/pinctrl-lantiq.c
new file mode 100644
index 000000000000..07ba7682cf22
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-lantiq.c
@@ -0,0 +1,342 @@
1/*
2 * linux/drivers/pinctrl/pinctrl-lantiq.c
3 * based on linux/drivers/pinctrl/pinctrl-pxa3xx.c
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * publishhed by the Free Software Foundation.
8 *
9 * Copyright (C) 2012 John Crispin <blogic@openwrt.org>
10 */
11
12#include <linux/module.h>
13#include <linux/device.h>
14#include <linux/io.h>
15#include <linux/platform_device.h>
16#include <linux/slab.h>
17#include <linux/of.h>
18
19#include "pinctrl-lantiq.h"
20
21static int ltq_get_group_count(struct pinctrl_dev *pctrldev)
22{
23 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
24 return info->num_grps;
25}
26
27static const char *ltq_get_group_name(struct pinctrl_dev *pctrldev,
28 unsigned selector)
29{
30 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
31 if (selector >= info->num_grps)
32 return NULL;
33 return info->grps[selector].name;
34}
35
36static int ltq_get_group_pins(struct pinctrl_dev *pctrldev,
37 unsigned selector,
38 const unsigned **pins,
39 unsigned *num_pins)
40{
41 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
42 if (selector >= info->num_grps)
43 return -EINVAL;
44 *pins = info->grps[selector].pins;
45 *num_pins = info->grps[selector].npins;
46 return 0;
47}
48
49void ltq_pinctrl_dt_free_map(struct pinctrl_dev *pctldev,
50 struct pinctrl_map *map, unsigned num_maps)
51{
52 int i;
53
54 for (i = 0; i < num_maps; i++)
55 if (map[i].type == PIN_MAP_TYPE_CONFIGS_PIN)
56 kfree(map[i].data.configs.configs);
57 kfree(map);
58}
59
60static void ltq_pinctrl_pin_dbg_show(struct pinctrl_dev *pctldev,
61 struct seq_file *s,
62 unsigned offset)
63{
64 seq_printf(s, " %s", dev_name(pctldev->dev));
65}
66
67static int ltq_pinctrl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
68 struct device_node *np,
69 struct pinctrl_map **map)
70{
71 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctldev);
72 unsigned long configs[3];
73 unsigned num_configs = 0;
74 struct property *prop;
75 const char *group, *pin;
76 const char *function;
77 int ret, i;
78
79 ret = of_property_read_string(np, "lantiq,function", &function);
80 if (!ret) {
81 of_property_for_each_string(np, "lantiq,groups", prop, group) {
82 (*map)->type = PIN_MAP_TYPE_MUX_GROUP;
83 (*map)->name = function;
84 (*map)->data.mux.group = group;
85 (*map)->data.mux.function = function;
86 (*map)++;
87 }
88 if (of_find_property(np, "lantiq,pins", NULL))
89 dev_err(pctldev->dev,
90 "%s mixes pins and groups settings\n",
91 np->name);
92 return 0;
93 }
94
95 for (i = 0; i < info->num_params; i++) {
96 u32 val;
97 int ret = of_property_read_u32(np,
98 info->params[i].property, &val);
99 if (!ret)
100 configs[num_configs++] =
101 LTQ_PINCONF_PACK(info->params[i].param,
102 val);
103 }
104
105 if (!num_configs)
106 return -EINVAL;
107
108 of_property_for_each_string(np, "lantiq,pins", prop, pin) {
109 (*map)->data.configs.configs = kmemdup(configs,
110 num_configs * sizeof(unsigned long),
111 GFP_KERNEL);
112 (*map)->type = PIN_MAP_TYPE_CONFIGS_PIN;
113 (*map)->name = pin;
114 (*map)->data.configs.group_or_pin = pin;
115 (*map)->data.configs.num_configs = num_configs;
116 (*map)++;
117 }
118 return 0;
119}
120
121static int ltq_pinctrl_dt_subnode_size(struct device_node *np)
122{
123 int ret;
124
125 ret = of_property_count_strings(np, "lantiq,groups");
126 if (ret < 0)
127 ret = of_property_count_strings(np, "lantiq,pins");
128 return ret;
129}
130
131int ltq_pinctrl_dt_node_to_map(struct pinctrl_dev *pctldev,
132 struct device_node *np_config,
133 struct pinctrl_map **map,
134 unsigned *num_maps)
135{
136 struct pinctrl_map *tmp;
137 struct device_node *np;
138 int ret;
139
140 *num_maps = 0;
141 for_each_child_of_node(np_config, np)
142 *num_maps += ltq_pinctrl_dt_subnode_size(np);
143 *map = kzalloc(*num_maps * sizeof(struct pinctrl_map), GFP_KERNEL);
144 if (!*map)
145 return -ENOMEM;
146 tmp = *map;
147
148 for_each_child_of_node(np_config, np) {
149 ret = ltq_pinctrl_dt_subnode_to_map(pctldev, np, &tmp);
150 if (ret < 0) {
151 ltq_pinctrl_dt_free_map(pctldev, *map, *num_maps);
152 return ret;
153 }
154 }
155 return 0;
156}
157
158static struct pinctrl_ops ltq_pctrl_ops = {
159 .get_groups_count = ltq_get_group_count,
160 .get_group_name = ltq_get_group_name,
161 .get_group_pins = ltq_get_group_pins,
162 .pin_dbg_show = ltq_pinctrl_pin_dbg_show,
163 .dt_node_to_map = ltq_pinctrl_dt_node_to_map,
164 .dt_free_map = ltq_pinctrl_dt_free_map,
165};
166
167static int ltq_pmx_func_count(struct pinctrl_dev *pctrldev)
168{
169 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
170
171 return info->num_funcs;
172}
173
174static const char *ltq_pmx_func_name(struct pinctrl_dev *pctrldev,
175 unsigned selector)
176{
177 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
178
179 if (selector >= info->num_funcs)
180 return NULL;
181
182 return info->funcs[selector].name;
183}
184
185static int ltq_pmx_get_groups(struct pinctrl_dev *pctrldev,
186 unsigned func,
187 const char * const **groups,
188 unsigned * const num_groups)
189{
190 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
191
192 *groups = info->funcs[func].groups;
193 *num_groups = info->funcs[func].num_groups;
194
195 return 0;
196}
197
198/* Return function number. If failure, return negative value. */
199static int match_mux(const struct ltq_mfp_pin *mfp, unsigned mux)
200{
201 int i;
202 for (i = 0; i < LTQ_MAX_MUX; i++) {
203 if (mfp->func[i] == mux)
204 break;
205 }
206 if (i >= LTQ_MAX_MUX)
207 return -EINVAL;
208 return i;
209}
210
211/* dont assume .mfp is linearly mapped. find the mfp with the correct .pin */
212static int match_mfp(const struct ltq_pinmux_info *info, int pin)
213{
214 int i;
215 for (i = 0; i < info->num_mfp; i++) {
216 if (info->mfp[i].pin == pin)
217 return i;
218 }
219 return -1;
220}
221
222/* check whether current pin configuration is valid. Negative for failure */
223static int match_group_mux(const struct ltq_pin_group *grp,
224 const struct ltq_pinmux_info *info,
225 unsigned mux)
226{
227 int i, pin, ret = 0;
228 for (i = 0; i < grp->npins; i++) {
229 pin = match_mfp(info, grp->pins[i]);
230 if (pin < 0) {
231 dev_err(info->dev, "could not find mfp for pin %d\n",
232 grp->pins[i]);
233 return -EINVAL;
234 }
235 ret = match_mux(&info->mfp[pin], mux);
236 if (ret < 0) {
237 dev_err(info->dev, "Can't find mux %d on pin%d\n",
238 mux, pin);
239 break;
240 }
241 }
242 return ret;
243}
244
245static int ltq_pmx_enable(struct pinctrl_dev *pctrldev,
246 unsigned func,
247 unsigned group)
248{
249 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
250 const struct ltq_pin_group *pin_grp = &info->grps[group];
251 int i, pin, pin_func, ret;
252
253 if (!pin_grp->npins ||
254 (match_group_mux(pin_grp, info, pin_grp->mux) < 0)) {
255 dev_err(info->dev, "Failed to set the pin group: %s\n",
256 info->grps[group].name);
257 return -EINVAL;
258 }
259 for (i = 0; i < pin_grp->npins; i++) {
260 pin = match_mfp(info, pin_grp->pins[i]);
261 if (pin < 0) {
262 dev_err(info->dev, "could not find mfp for pin %d\n",
263 pin_grp->pins[i]);
264 return -EINVAL;
265 }
266 pin_func = match_mux(&info->mfp[pin], pin_grp->mux);
267 ret = info->apply_mux(pctrldev, pin, pin_func);
268 if (ret) {
269 dev_err(info->dev,
270 "failed to apply mux %d for pin %d\n",
271 pin_func, pin);
272 return ret;
273 }
274 }
275 return 0;
276}
277
278static void ltq_pmx_disable(struct pinctrl_dev *pctrldev,
279 unsigned func,
280 unsigned group)
281{
282 /*
283 * Nothing to do here. However, pinconf_check_ops() requires this
284 * callback to be defined.
285 */
286}
287
288static int ltq_pmx_gpio_request_enable(struct pinctrl_dev *pctrldev,
289 struct pinctrl_gpio_range *range,
290 unsigned pin)
291{
292 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
293 int mfp = match_mfp(info, pin + (range->id * 32));
294 int pin_func;
295
296 if (mfp < 0) {
297 dev_err(info->dev, "could not find mfp for pin %d\n", pin);
298 return -EINVAL;
299 }
300
301 pin_func = match_mux(&info->mfp[mfp], 0);
302 if (pin_func < 0) {
303 dev_err(info->dev, "No GPIO function on pin%d\n", mfp);
304 return -EINVAL;
305 }
306
307 return info->apply_mux(pctrldev, mfp, pin_func);
308}
309
310static struct pinmux_ops ltq_pmx_ops = {
311 .get_functions_count = ltq_pmx_func_count,
312 .get_function_name = ltq_pmx_func_name,
313 .get_function_groups = ltq_pmx_get_groups,
314 .enable = ltq_pmx_enable,
315 .disable = ltq_pmx_disable,
316 .gpio_request_enable = ltq_pmx_gpio_request_enable,
317};
318
319/*
320 * allow different socs to register with the generic part of the lanti
321 * pinctrl code
322 */
323int ltq_pinctrl_register(struct platform_device *pdev,
324 struct ltq_pinmux_info *info)
325{
326 struct pinctrl_desc *desc;
327
328 if (!info)
329 return -EINVAL;
330 desc = info->desc;
331 desc->pctlops = &ltq_pctrl_ops;
332 desc->pmxops = &ltq_pmx_ops;
333 info->dev = &pdev->dev;
334
335 info->pctrl = pinctrl_register(desc, &pdev->dev, info);
336 if (!info->pctrl) {
337 dev_err(&pdev->dev, "failed to register LTQ pinmux driver\n");
338 return -EINVAL;
339 }
340 platform_set_drvdata(pdev, info);
341 return 0;
342}
diff --git a/drivers/pinctrl/pinctrl-lantiq.h b/drivers/pinctrl/pinctrl-lantiq.h
new file mode 100644
index 000000000000..4419d32a0ade
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-lantiq.h
@@ -0,0 +1,194 @@
1/*
2 * linux/drivers/pinctrl/pinctrl-lantiq.h
3 * based on linux/drivers/pinctrl/pinctrl-pxa3xx.h
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * publishhed by the Free Software Foundation.
8 *
9 * Copyright (C) 2012 John Crispin <blogic@openwrt.org>
10 */
11
12#ifndef __PINCTRL_LANTIQ_H
13
14#include <linux/clkdev.h>
15#include <linux/pinctrl/pinctrl.h>
16#include <linux/pinctrl/pinconf.h>
17#include <linux/pinctrl/pinmux.h>
18#include <linux/pinctrl/consumer.h>
19#include <linux/pinctrl/machine.h>
20
21#include "core.h"
22
23#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
24
25#define LTQ_MAX_MUX 4
26#define MFPR_FUNC_MASK 0x3
27
28#define LTQ_PINCONF_PACK(param, arg) ((param) << 16 | (arg))
29#define LTQ_PINCONF_UNPACK_PARAM(conf) ((conf) >> 16)
30#define LTQ_PINCONF_UNPACK_ARG(conf) ((conf) & 0xffff)
31
32enum ltq_pinconf_param {
33 LTQ_PINCONF_PARAM_PULL,
34 LTQ_PINCONF_PARAM_OPEN_DRAIN,
35 LTQ_PINCONF_PARAM_DRIVE_CURRENT,
36 LTQ_PINCONF_PARAM_SLEW_RATE,
37};
38
39struct ltq_cfg_param {
40 const char *property;
41 enum ltq_pinconf_param param;
42};
43
44struct ltq_mfp_pin {
45 const char *name;
46 const unsigned int pin;
47 const unsigned short func[LTQ_MAX_MUX];
48};
49
50struct ltq_pin_group {
51 const char *name;
52 const unsigned mux;
53 const unsigned *pins;
54 const unsigned npins;
55};
56
57struct ltq_pmx_func {
58 const char *name;
59 const char * const *groups;
60 const unsigned num_groups;
61};
62
63struct ltq_pinmux_info {
64 struct device *dev;
65 struct pinctrl_dev *pctrl;
66
67 /* we need to manage up to 5 pad controllers */
68 void __iomem *membase[5];
69
70 /* the descriptor for the subsystem */
71 struct pinctrl_desc *desc;
72
73 /* we expose our pads to the subsystem */
74 struct pinctrl_pin_desc *pads;
75
76 /* the number of pads. this varies between socs */
77 unsigned int num_pads;
78
79 /* these are our multifunction pins */
80 const struct ltq_mfp_pin *mfp;
81 unsigned int num_mfp;
82
83 /* a number of multifunction pins can be grouped together */
84 const struct ltq_pin_group *grps;
85 unsigned int num_grps;
86
87 /* a mapping between function string and id */
88 const struct ltq_pmx_func *funcs;
89 unsigned int num_funcs;
90
91 /* the pinconf options that we are able to read from the DT */
92 const struct ltq_cfg_param *params;
93 unsigned int num_params;
94
95 /* the pad controller can have a irq mapping */
96 const unsigned *exin;
97 unsigned int num_exin;
98
99 /* we need 5 clocks max */
100 struct clk *clk[5];
101
102 /* soc specific callback used to apply muxing */
103 int (*apply_mux)(struct pinctrl_dev *pctrldev, int pin, int mux);
104};
105
106enum ltq_pin {
107 GPIO0 = 0,
108 GPIO1,
109 GPIO2,
110 GPIO3,
111 GPIO4,
112 GPIO5,
113 GPIO6,
114 GPIO7,
115 GPIO8,
116 GPIO9,
117 GPIO10, /* 10 */
118 GPIO11,
119 GPIO12,
120 GPIO13,
121 GPIO14,
122 GPIO15,
123 GPIO16,
124 GPIO17,
125 GPIO18,
126 GPIO19,
127 GPIO20, /* 20 */
128 GPIO21,
129 GPIO22,
130 GPIO23,
131 GPIO24,
132 GPIO25,
133 GPIO26,
134 GPIO27,
135 GPIO28,
136 GPIO29,
137 GPIO30, /* 30 */
138 GPIO31,
139 GPIO32,
140 GPIO33,
141 GPIO34,
142 GPIO35,
143 GPIO36,
144 GPIO37,
145 GPIO38,
146 GPIO39,
147 GPIO40, /* 40 */
148 GPIO41,
149 GPIO42,
150 GPIO43,
151 GPIO44,
152 GPIO45,
153 GPIO46,
154 GPIO47,
155 GPIO48,
156 GPIO49,
157 GPIO50, /* 50 */
158 GPIO51,
159 GPIO52,
160 GPIO53,
161 GPIO54,
162 GPIO55,
163
164 GPIO64,
165 GPIO65,
166 GPIO66,
167 GPIO67,
168 GPIO68,
169 GPIO69,
170 GPIO70,
171 GPIO71,
172 GPIO72,
173 GPIO73,
174 GPIO74,
175 GPIO75,
176 GPIO76,
177 GPIO77,
178 GPIO78,
179 GPIO79,
180 GPIO80,
181 GPIO81,
182 GPIO82,
183 GPIO83,
184 GPIO84,
185 GPIO85,
186 GPIO86,
187 GPIO87,
188 GPIO88,
189};
190
191extern int ltq_pinctrl_register(struct platform_device *pdev,
192 struct ltq_pinmux_info *info);
193extern int ltq_pinctrl_unregister(struct platform_device *pdev);
194#endif /* __PINCTRL_PXA3XX_H */
diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
new file mode 100644
index 000000000000..f8d917d40c92
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-xway.c
@@ -0,0 +1,781 @@
1/*
2 * linux/drivers/pinctrl/pinmux-xway.c
3 * based on linux/drivers/pinctrl/pinmux-pxa910.c
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * publishhed by the Free Software Foundation.
8 *
9 * Copyright (C) 2012 John Crispin <blogic@openwrt.org>
10 */
11
12#include <linux/slab.h>
13#include <linux/module.h>
14#include <linux/of_platform.h>
15#include <linux/of_address.h>
16#include <linux/of_gpio.h>
17#include <linux/ioport.h>
18#include <linux/io.h>
19#include <linux/device.h>
20#include <linux/module.h>
21#include <linux/io.h>
22#include <linux/platform_device.h>
23
24#include "pinctrl-lantiq.h"
25
26#include <lantiq_soc.h>
27
28/* we have 3 1/2 banks of 16 bit each */
29#define PINS 16
30#define PORT3 3
31#define PORT(x) (x / PINS)
32#define PORT_PIN(x) (x % PINS)
33
34/* we have 2 mux bits that can be set for each pin */
35#define MUX_ALT0 0x1
36#define MUX_ALT1 0x2
37
38/*
39 * each bank has this offset apart from the 1/2 bank that is mixed into the
40 * other 3 ranges
41 */
42#define REG_OFF 0x30
43
44/* these are the offsets to our registers */
45#define GPIO_BASE(p) (REG_OFF * PORT(p))
46#define GPIO_OUT(p) GPIO_BASE(p)
47#define GPIO_IN(p) (GPIO_BASE(p) + 0x04)
48#define GPIO_DIR(p) (GPIO_BASE(p) + 0x08)
49#define GPIO_ALT0(p) (GPIO_BASE(p) + 0x0C)
50#define GPIO_ALT1(p) (GPIO_BASE(p) + 0x10)
51#define GPIO_OD(p) (GPIO_BASE(p) + 0x14)
52#define GPIO_PUDSEL(p) (GPIO_BASE(p) + 0x1c)
53#define GPIO_PUDEN(p) (GPIO_BASE(p) + 0x20)
54
55/* the 1/2 port needs special offsets for some registers */
56#define GPIO3_OD (GPIO_BASE(0) + 0x24)
57#define GPIO3_PUDSEL (GPIO_BASE(0) + 0x28)
58#define GPIO3_PUDEN (GPIO_BASE(0) + 0x2C)
59#define GPIO3_ALT1 (GPIO_BASE(PINS) + 0x24)
60
61/* macros to help us access the registers */
62#define gpio_getbit(m, r, p) (!!(ltq_r32(m + r) & BIT(p)))
63#define gpio_setbit(m, r, p) ltq_w32_mask(0, BIT(p), m + r)
64#define gpio_clearbit(m, r, p) ltq_w32_mask(BIT(p), 0, m + r)
65
66#define MFP_XWAY(a, f0, f1, f2, f3) \
67 { \
68 .name = #a, \
69 .pin = a, \
70 .func = { \
71 XWAY_MUX_##f0, \
72 XWAY_MUX_##f1, \
73 XWAY_MUX_##f2, \
74 XWAY_MUX_##f3, \
75 }, \
76 }
77
78#define GRP_MUX(a, m, p) \
79 { .name = a, .mux = XWAY_MUX_##m, .pins = p, .npins = ARRAY_SIZE(p), }
80
81#define FUNC_MUX(f, m) \
82 { .func = f, .mux = XWAY_MUX_##m, }
83
84#define XWAY_MAX_PIN 32
85#define XR9_MAX_PIN 56
86
87enum xway_mux {
88 XWAY_MUX_GPIO = 0,
89 XWAY_MUX_SPI,
90 XWAY_MUX_ASC,
91 XWAY_MUX_PCI,
92 XWAY_MUX_CGU,
93 XWAY_MUX_EBU,
94 XWAY_MUX_JTAG,
95 XWAY_MUX_EXIN,
96 XWAY_MUX_TDM,
97 XWAY_MUX_STP,
98 XWAY_MUX_SIN,
99 XWAY_MUX_GPT,
100 XWAY_MUX_NMI,
101 XWAY_MUX_MDIO,
102 XWAY_MUX_MII,
103 XWAY_MUX_EPHY,
104 XWAY_MUX_DFE,
105 XWAY_MUX_SDIO,
106 XWAY_MUX_NONE = 0xffff,
107};
108
109static const struct ltq_mfp_pin xway_mfp[] = {
110 /* pin f0 f1 f2 f3 */
111 MFP_XWAY(GPIO0, GPIO, EXIN, NONE, TDM),
112 MFP_XWAY(GPIO1, GPIO, EXIN, NONE, NONE),
113 MFP_XWAY(GPIO2, GPIO, CGU, EXIN, NONE),
114 MFP_XWAY(GPIO3, GPIO, CGU, NONE, PCI),
115 MFP_XWAY(GPIO4, GPIO, STP, NONE, ASC),
116 MFP_XWAY(GPIO5, GPIO, STP, NONE, NONE),
117 MFP_XWAY(GPIO6, GPIO, STP, GPT, ASC),
118 MFP_XWAY(GPIO7, GPIO, CGU, PCI, NONE),
119 MFP_XWAY(GPIO8, GPIO, CGU, NMI, NONE),
120 MFP_XWAY(GPIO9, GPIO, ASC, SPI, EXIN),
121 MFP_XWAY(GPIO10, GPIO, ASC, SPI, NONE),
122 MFP_XWAY(GPIO11, GPIO, ASC, PCI, SPI),
123 MFP_XWAY(GPIO12, GPIO, ASC, NONE, NONE),
124 MFP_XWAY(GPIO13, GPIO, EBU, SPI, NONE),
125 MFP_XWAY(GPIO14, GPIO, CGU, PCI, NONE),
126 MFP_XWAY(GPIO15, GPIO, SPI, JTAG, NONE),
127 MFP_XWAY(GPIO16, GPIO, SPI, NONE, JTAG),
128 MFP_XWAY(GPIO17, GPIO, SPI, NONE, JTAG),
129 MFP_XWAY(GPIO18, GPIO, SPI, NONE, JTAG),
130 MFP_XWAY(GPIO19, GPIO, PCI, NONE, NONE),
131 MFP_XWAY(GPIO20, GPIO, JTAG, NONE, NONE),
132 MFP_XWAY(GPIO21, GPIO, PCI, EBU, GPT),
133 MFP_XWAY(GPIO22, GPIO, SPI, NONE, NONE),
134 MFP_XWAY(GPIO23, GPIO, EBU, PCI, STP),
135 MFP_XWAY(GPIO24, GPIO, EBU, TDM, PCI),
136 MFP_XWAY(GPIO25, GPIO, TDM, NONE, ASC),
137 MFP_XWAY(GPIO26, GPIO, EBU, NONE, TDM),
138 MFP_XWAY(GPIO27, GPIO, TDM, NONE, ASC),
139 MFP_XWAY(GPIO28, GPIO, GPT, NONE, NONE),
140 MFP_XWAY(GPIO29, GPIO, PCI, NONE, NONE),
141 MFP_XWAY(GPIO30, GPIO, PCI, NONE, NONE),
142 MFP_XWAY(GPIO31, GPIO, EBU, PCI, NONE),
143 MFP_XWAY(GPIO32, GPIO, NONE, NONE, EBU),
144 MFP_XWAY(GPIO33, GPIO, NONE, NONE, EBU),
145 MFP_XWAY(GPIO34, GPIO, NONE, NONE, EBU),
146 MFP_XWAY(GPIO35, GPIO, NONE, NONE, EBU),
147 MFP_XWAY(GPIO36, GPIO, SIN, NONE, EBU),
148 MFP_XWAY(GPIO37, GPIO, PCI, NONE, NONE),
149 MFP_XWAY(GPIO38, GPIO, PCI, NONE, NONE),
150 MFP_XWAY(GPIO39, GPIO, EXIN, NONE, NONE),
151 MFP_XWAY(GPIO40, GPIO, NONE, NONE, NONE),
152 MFP_XWAY(GPIO41, GPIO, NONE, NONE, NONE),
153 MFP_XWAY(GPIO42, GPIO, MDIO, NONE, NONE),
154 MFP_XWAY(GPIO43, GPIO, MDIO, NONE, NONE),
155 MFP_XWAY(GPIO44, GPIO, NONE, NONE, SIN),
156 MFP_XWAY(GPIO45, GPIO, NONE, NONE, SIN),
157 MFP_XWAY(GPIO46, GPIO, NONE, NONE, EXIN),
158 MFP_XWAY(GPIO47, GPIO, NONE, NONE, SIN),
159 MFP_XWAY(GPIO48, GPIO, EBU, NONE, NONE),
160 MFP_XWAY(GPIO49, GPIO, EBU, NONE, NONE),
161 MFP_XWAY(GPIO50, GPIO, NONE, NONE, NONE),
162 MFP_XWAY(GPIO51, GPIO, NONE, NONE, NONE),
163 MFP_XWAY(GPIO52, GPIO, NONE, NONE, NONE),
164 MFP_XWAY(GPIO53, GPIO, NONE, NONE, NONE),
165 MFP_XWAY(GPIO54, GPIO, NONE, NONE, NONE),
166 MFP_XWAY(GPIO55, GPIO, NONE, NONE, NONE),
167};
168
169static const struct ltq_mfp_pin ase_mfp[] = {
170 /* pin f0 f1 f2 f3 */
171 MFP_XWAY(GPIO0, GPIO, EXIN, MII, TDM),
172 MFP_XWAY(GPIO1, GPIO, STP, DFE, EBU),
173 MFP_XWAY(GPIO2, GPIO, STP, DFE, EPHY),
174 MFP_XWAY(GPIO3, GPIO, STP, EPHY, EBU),
175 MFP_XWAY(GPIO4, GPIO, GPT, EPHY, MII),
176 MFP_XWAY(GPIO5, GPIO, MII, ASC, GPT),
177 MFP_XWAY(GPIO6, GPIO, MII, ASC, EXIN),
178 MFP_XWAY(GPIO7, GPIO, SPI, MII, JTAG),
179 MFP_XWAY(GPIO8, GPIO, SPI, MII, JTAG),
180 MFP_XWAY(GPIO9, GPIO, SPI, MII, JTAG),
181 MFP_XWAY(GPIO10, GPIO, SPI, MII, JTAG),
182 MFP_XWAY(GPIO11, GPIO, EBU, CGU, JTAG),
183 MFP_XWAY(GPIO12, GPIO, EBU, MII, SDIO),
184 MFP_XWAY(GPIO13, GPIO, EBU, MII, CGU),
185 MFP_XWAY(GPIO14, GPIO, EBU, SPI, CGU),
186 MFP_XWAY(GPIO15, GPIO, EBU, SPI, SDIO),
187 MFP_XWAY(GPIO16, GPIO, NONE, NONE, NONE),
188 MFP_XWAY(GPIO17, GPIO, NONE, NONE, NONE),
189 MFP_XWAY(GPIO18, GPIO, NONE, NONE, NONE),
190 MFP_XWAY(GPIO19, GPIO, EBU, MII, SDIO),
191 MFP_XWAY(GPIO20, GPIO, EBU, MII, SDIO),
192 MFP_XWAY(GPIO21, GPIO, EBU, MII, SDIO),
193 MFP_XWAY(GPIO22, GPIO, EBU, MII, CGU),
194 MFP_XWAY(GPIO23, GPIO, EBU, MII, CGU),
195 MFP_XWAY(GPIO24, GPIO, EBU, NONE, MII),
196 MFP_XWAY(GPIO25, GPIO, EBU, MII, GPT),
197 MFP_XWAY(GPIO26, GPIO, EBU, MII, SDIO),
198 MFP_XWAY(GPIO27, GPIO, EBU, NONE, MII),
199 MFP_XWAY(GPIO28, GPIO, MII, EBU, SDIO),
200 MFP_XWAY(GPIO29, GPIO, EBU, MII, EXIN),
201 MFP_XWAY(GPIO30, GPIO, NONE, NONE, NONE),
202 MFP_XWAY(GPIO31, GPIO, NONE, NONE, NONE),
203};
204
205static const unsigned pins_jtag[] = {GPIO15, GPIO16, GPIO17, GPIO19, GPIO35};
206static const unsigned pins_asc0[] = {GPIO11, GPIO12};
207static const unsigned pins_asc0_cts_rts[] = {GPIO9, GPIO10};
208static const unsigned pins_stp[] = {GPIO4, GPIO5, GPIO6};
209static const unsigned pins_nmi[] = {GPIO8};
210static const unsigned pins_mdio[] = {GPIO42, GPIO43};
211
212static const unsigned pins_ebu_a24[] = {GPIO13};
213static const unsigned pins_ebu_clk[] = {GPIO21};
214static const unsigned pins_ebu_cs1[] = {GPIO23};
215static const unsigned pins_ebu_a23[] = {GPIO24};
216static const unsigned pins_ebu_wait[] = {GPIO26};
217static const unsigned pins_ebu_a25[] = {GPIO31};
218static const unsigned pins_ebu_rdy[] = {GPIO48};
219static const unsigned pins_ebu_rd[] = {GPIO49};
220
221static const unsigned pins_nand_ale[] = {GPIO13};
222static const unsigned pins_nand_cs1[] = {GPIO23};
223static const unsigned pins_nand_cle[] = {GPIO24};
224static const unsigned pins_nand_rdy[] = {GPIO48};
225static const unsigned pins_nand_rd[] = {GPIO49};
226
227static const unsigned pins_exin0[] = {GPIO0};
228static const unsigned pins_exin1[] = {GPIO1};
229static const unsigned pins_exin2[] = {GPIO2};
230static const unsigned pins_exin3[] = {GPIO39};
231static const unsigned pins_exin4[] = {GPIO46};
232static const unsigned pins_exin5[] = {GPIO9};
233
234static const unsigned pins_spi[] = {GPIO16, GPIO17, GPIO18};
235static const unsigned pins_spi_cs1[] = {GPIO15};
236static const unsigned pins_spi_cs2[] = {GPIO21};
237static const unsigned pins_spi_cs3[] = {GPIO13};
238static const unsigned pins_spi_cs4[] = {GPIO10};
239static const unsigned pins_spi_cs5[] = {GPIO9};
240static const unsigned pins_spi_cs6[] = {GPIO11};
241
242static const unsigned pins_gpt1[] = {GPIO28};
243static const unsigned pins_gpt2[] = {GPIO21};
244static const unsigned pins_gpt3[] = {GPIO6};
245
246static const unsigned pins_clkout0[] = {GPIO8};
247static const unsigned pins_clkout1[] = {GPIO7};
248static const unsigned pins_clkout2[] = {GPIO3};
249static const unsigned pins_clkout3[] = {GPIO2};
250
251static const unsigned pins_pci_gnt1[] = {GPIO30};
252static const unsigned pins_pci_gnt2[] = {GPIO23};
253static const unsigned pins_pci_gnt3[] = {GPIO19};
254static const unsigned pins_pci_gnt4[] = {GPIO38};
255static const unsigned pins_pci_req1[] = {GPIO29};
256static const unsigned pins_pci_req2[] = {GPIO31};
257static const unsigned pins_pci_req3[] = {GPIO3};
258static const unsigned pins_pci_req4[] = {GPIO37};
259
260static const unsigned ase_pins_jtag[] = {GPIO7, GPIO8, GPIO9, GPIO10, GPIO11};
261static const unsigned ase_pins_asc[] = {GPIO5, GPIO6};
262static const unsigned ase_pins_stp[] = {GPIO1, GPIO2, GPIO3};
263static const unsigned ase_pins_ephy[] = {GPIO2, GPIO3, GPIO4};
264static const unsigned ase_pins_dfe[] = {GPIO1, GPIO2};
265
266static const unsigned ase_pins_spi[] = {GPIO8, GPIO9, GPIO10};
267static const unsigned ase_pins_spi_cs1[] = {GPIO7};
268static const unsigned ase_pins_spi_cs2[] = {GPIO15};
269static const unsigned ase_pins_spi_cs3[] = {GPIO14};
270
271static const unsigned ase_pins_exin0[] = {GPIO6};
272static const unsigned ase_pins_exin1[] = {GPIO29};
273static const unsigned ase_pins_exin2[] = {GPIO0};
274
275static const unsigned ase_pins_gpt1[] = {GPIO5};
276static const unsigned ase_pins_gpt2[] = {GPIO4};
277static const unsigned ase_pins_gpt3[] = {GPIO25};
278
279static const struct ltq_pin_group xway_grps[] = {
280 GRP_MUX("exin0", EXIN, pins_exin0),
281 GRP_MUX("exin1", EXIN, pins_exin1),
282 GRP_MUX("exin2", EXIN, pins_exin2),
283 GRP_MUX("jtag", JTAG, pins_jtag),
284 GRP_MUX("ebu a23", EBU, pins_ebu_a23),
285 GRP_MUX("ebu a24", EBU, pins_ebu_a24),
286 GRP_MUX("ebu a25", EBU, pins_ebu_a25),
287 GRP_MUX("ebu clk", EBU, pins_ebu_clk),
288 GRP_MUX("ebu cs1", EBU, pins_ebu_cs1),
289 GRP_MUX("ebu wait", EBU, pins_ebu_wait),
290 GRP_MUX("nand ale", EBU, pins_nand_ale),
291 GRP_MUX("nand cs1", EBU, pins_nand_cs1),
292 GRP_MUX("nand cle", EBU, pins_nand_cle),
293 GRP_MUX("spi", SPI, pins_spi),
294 GRP_MUX("spi_cs1", SPI, pins_spi_cs1),
295 GRP_MUX("spi_cs2", SPI, pins_spi_cs2),
296 GRP_MUX("spi_cs3", SPI, pins_spi_cs3),
297 GRP_MUX("spi_cs4", SPI, pins_spi_cs4),
298 GRP_MUX("spi_cs5", SPI, pins_spi_cs5),
299 GRP_MUX("spi_cs6", SPI, pins_spi_cs6),
300 GRP_MUX("asc0", ASC, pins_asc0),
301 GRP_MUX("asc0 cts rts", ASC, pins_asc0_cts_rts),
302 GRP_MUX("stp", STP, pins_stp),
303 GRP_MUX("nmi", NMI, pins_nmi),
304 GRP_MUX("gpt1", GPT, pins_gpt1),
305 GRP_MUX("gpt2", GPT, pins_gpt2),
306 GRP_MUX("gpt3", GPT, pins_gpt3),
307 GRP_MUX("clkout0", CGU, pins_clkout0),
308 GRP_MUX("clkout1", CGU, pins_clkout1),
309 GRP_MUX("clkout2", CGU, pins_clkout2),
310 GRP_MUX("clkout3", CGU, pins_clkout3),
311 GRP_MUX("gnt1", PCI, pins_pci_gnt1),
312 GRP_MUX("gnt2", PCI, pins_pci_gnt2),
313 GRP_MUX("gnt3", PCI, pins_pci_gnt3),
314 GRP_MUX("req1", PCI, pins_pci_req1),
315 GRP_MUX("req2", PCI, pins_pci_req2),
316 GRP_MUX("req3", PCI, pins_pci_req3),
317/* xrx only */
318 GRP_MUX("nand rdy", EBU, pins_nand_rdy),
319 GRP_MUX("nand rd", EBU, pins_nand_rd),
320 GRP_MUX("exin3", EXIN, pins_exin3),
321 GRP_MUX("exin4", EXIN, pins_exin4),
322 GRP_MUX("exin5", EXIN, pins_exin5),
323 GRP_MUX("gnt4", PCI, pins_pci_gnt4),
324 GRP_MUX("req4", PCI, pins_pci_gnt4),
325 GRP_MUX("mdio", MDIO, pins_mdio),
326};
327
328static const struct ltq_pin_group ase_grps[] = {
329 GRP_MUX("exin0", EXIN, ase_pins_exin0),
330 GRP_MUX("exin1", EXIN, ase_pins_exin1),
331 GRP_MUX("exin2", EXIN, ase_pins_exin2),
332 GRP_MUX("jtag", JTAG, ase_pins_jtag),
333 GRP_MUX("stp", STP, ase_pins_stp),
334 GRP_MUX("asc", ASC, ase_pins_asc),
335 GRP_MUX("gpt1", GPT, ase_pins_gpt1),
336 GRP_MUX("gpt2", GPT, ase_pins_gpt2),
337 GRP_MUX("gpt3", GPT, ase_pins_gpt3),
338 GRP_MUX("ephy", EPHY, ase_pins_ephy),
339 GRP_MUX("dfe", DFE, ase_pins_dfe),
340 GRP_MUX("spi", SPI, ase_pins_spi),
341 GRP_MUX("spi_cs1", SPI, ase_pins_spi_cs1),
342 GRP_MUX("spi_cs2", SPI, ase_pins_spi_cs2),
343 GRP_MUX("spi_cs3", SPI, ase_pins_spi_cs3),
344};
345
346static const char * const xway_pci_grps[] = {"gnt1", "gnt2",
347 "gnt3", "req1",
348 "req2", "req3"};
349static const char * const xway_spi_grps[] = {"spi", "spi_cs1",
350 "spi_cs2", "spi_cs3",
351 "spi_cs4", "spi_cs5",
352 "spi_cs6"};
353static const char * const xway_cgu_grps[] = {"clkout0", "clkout1",
354 "clkout2", "clkout3"};
355static const char * const xway_ebu_grps[] = {"ebu a23", "ebu a24",
356 "ebu a25", "ebu cs1",
357 "ebu wait", "ebu clk",
358 "nand ale", "nand cs1",
359 "nand cle"};
360static const char * const xway_exin_grps[] = {"exin0", "exin1", "exin2"};
361static const char * const xway_gpt_grps[] = {"gpt1", "gpt2", "gpt3"};
362static const char * const xway_asc_grps[] = {"asc0", "asc0 cts rts"};
363static const char * const xway_jtag_grps[] = {"jtag"};
364static const char * const xway_stp_grps[] = {"stp"};
365static const char * const xway_nmi_grps[] = {"nmi"};
366
367/* ar9/vr9/gr9 */
368static const char * const xrx_mdio_grps[] = {"mdio"};
369static const char * const xrx_ebu_grps[] = {"ebu a23", "ebu a24",
370 "ebu a25", "ebu cs1",
371 "ebu wait", "ebu clk",
372 "nand ale", "nand cs1",
373 "nand cle", "nand rdy",
374 "nand rd"};
375static const char * const xrx_exin_grps[] = {"exin0", "exin1", "exin2",
376 "exin3", "exin4", "exin5"};
377static const char * const xrx_pci_grps[] = {"gnt1", "gnt2",
378 "gnt3", "gnt4",
379 "req1", "req2",
380 "req3", "req4"};
381
382/* ase */
383static const char * const ase_exin_grps[] = {"exin0", "exin1", "exin2"};
384static const char * const ase_gpt_grps[] = {"gpt1", "gpt2", "gpt3"};
385static const char * const ase_dfe_grps[] = {"dfe"};
386static const char * const ase_ephy_grps[] = {"ephy"};
387static const char * const ase_asc_grps[] = {"asc"};
388static const char * const ase_jtag_grps[] = {"jtag"};
389static const char * const ase_stp_grps[] = {"stp"};
390static const char * const ase_spi_grps[] = {"spi", "spi_cs1",
391 "spi_cs2", "spi_cs3"};
392
393static const struct ltq_pmx_func danube_funcs[] = {
394 {"spi", ARRAY_AND_SIZE(xway_spi_grps)},
395 {"asc", ARRAY_AND_SIZE(xway_asc_grps)},
396 {"cgu", ARRAY_AND_SIZE(xway_cgu_grps)},
397 {"jtag", ARRAY_AND_SIZE(xway_jtag_grps)},
398 {"exin", ARRAY_AND_SIZE(xway_exin_grps)},
399 {"stp", ARRAY_AND_SIZE(xway_stp_grps)},
400 {"gpt", ARRAY_AND_SIZE(xway_gpt_grps)},
401 {"nmi", ARRAY_AND_SIZE(xway_nmi_grps)},
402 {"pci", ARRAY_AND_SIZE(xway_pci_grps)},
403 {"ebu", ARRAY_AND_SIZE(xway_ebu_grps)},
404};
405
406static const struct ltq_pmx_func xrx_funcs[] = {
407 {"spi", ARRAY_AND_SIZE(xway_spi_grps)},
408 {"asc", ARRAY_AND_SIZE(xway_asc_grps)},
409 {"cgu", ARRAY_AND_SIZE(xway_cgu_grps)},
410 {"jtag", ARRAY_AND_SIZE(xway_jtag_grps)},
411 {"exin", ARRAY_AND_SIZE(xrx_exin_grps)},
412 {"stp", ARRAY_AND_SIZE(xway_stp_grps)},
413 {"gpt", ARRAY_AND_SIZE(xway_gpt_grps)},
414 {"nmi", ARRAY_AND_SIZE(xway_nmi_grps)},
415 {"pci", ARRAY_AND_SIZE(xrx_pci_grps)},
416 {"ebu", ARRAY_AND_SIZE(xrx_ebu_grps)},
417 {"mdio", ARRAY_AND_SIZE(xrx_mdio_grps)},
418};
419
420static const struct ltq_pmx_func ase_funcs[] = {
421 {"spi", ARRAY_AND_SIZE(ase_spi_grps)},
422 {"asc", ARRAY_AND_SIZE(ase_asc_grps)},
423 {"jtag", ARRAY_AND_SIZE(ase_jtag_grps)},
424 {"exin", ARRAY_AND_SIZE(ase_exin_grps)},
425 {"stp", ARRAY_AND_SIZE(ase_stp_grps)},
426 {"gpt", ARRAY_AND_SIZE(ase_gpt_grps)},
427 {"ephy", ARRAY_AND_SIZE(ase_ephy_grps)},
428 {"dfe", ARRAY_AND_SIZE(ase_dfe_grps)},
429};
430
431/* --------- pinconf related code --------- */
432static int xway_pinconf_get(struct pinctrl_dev *pctldev,
433 unsigned pin,
434 unsigned long *config)
435{
436 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctldev);
437 enum ltq_pinconf_param param = LTQ_PINCONF_UNPACK_PARAM(*config);
438 int port = PORT(pin);
439 u32 reg;
440
441 switch (param) {
442 case LTQ_PINCONF_PARAM_OPEN_DRAIN:
443 if (port == PORT3)
444 reg = GPIO3_OD;
445 else
446 reg = GPIO_OD(port);
447 *config = LTQ_PINCONF_PACK(param,
448 !!gpio_getbit(info->membase[0], reg, PORT_PIN(port)));
449 break;
450
451 case LTQ_PINCONF_PARAM_PULL:
452 if (port == PORT3)
453 reg = GPIO3_PUDEN;
454 else
455 reg = GPIO_PUDEN(port);
456 if (!gpio_getbit(info->membase[0], reg, PORT_PIN(port))) {
457 *config = LTQ_PINCONF_PACK(param, 0);
458 break;
459 }
460
461 if (port == PORT3)
462 reg = GPIO3_PUDSEL;
463 else
464 reg = GPIO_PUDSEL(port);
465 if (!gpio_getbit(info->membase[0], reg, PORT_PIN(port)))
466 *config = LTQ_PINCONF_PACK(param, 2);
467 else
468 *config = LTQ_PINCONF_PACK(param, 1);
469 break;
470
471 default:
472 dev_err(pctldev->dev, "Invalid config param %04x\n", param);
473 return -ENOTSUPP;
474 }
475 return 0;
476}
477
478static int xway_pinconf_set(struct pinctrl_dev *pctldev,
479 unsigned pin,
480 unsigned long config)
481{
482 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctldev);
483 enum ltq_pinconf_param param = LTQ_PINCONF_UNPACK_PARAM(config);
484 int arg = LTQ_PINCONF_UNPACK_ARG(config);
485 int port = PORT(pin);
486 u32 reg;
487
488 switch (param) {
489 case LTQ_PINCONF_PARAM_OPEN_DRAIN:
490 if (port == PORT3)
491 reg = GPIO3_OD;
492 else
493 reg = GPIO_OD(port);
494 gpio_setbit(info->membase[0], reg, PORT_PIN(port));
495 break;
496
497 case LTQ_PINCONF_PARAM_PULL:
498 if (port == PORT3)
499 reg = GPIO3_PUDEN;
500 else
501 reg = GPIO_PUDEN(port);
502 if (arg == 0) {
503 gpio_clearbit(info->membase[0], reg, PORT_PIN(port));
504 break;
505 }
506 gpio_setbit(info->membase[0], reg, PORT_PIN(port));
507
508 if (port == PORT3)
509 reg = GPIO3_PUDSEL;
510 else
511 reg = GPIO_PUDSEL(port);
512 if (arg == 1)
513 gpio_clearbit(info->membase[0], reg, PORT_PIN(port));
514 else if (arg == 2)
515 gpio_setbit(info->membase[0], reg, PORT_PIN(port));
516 else
517 dev_err(pctldev->dev, "Invalid pull value %d\n", arg);
518 break;
519
520 default:
521 dev_err(pctldev->dev, "Invalid config param %04x\n", param);
522 return -ENOTSUPP;
523 }
524 return 0;
525}
526
527struct pinconf_ops xway_pinconf_ops = {
528 .pin_config_get = xway_pinconf_get,
529 .pin_config_set = xway_pinconf_set,
530};
531
532static struct pinctrl_desc xway_pctrl_desc = {
533 .owner = THIS_MODULE,
534 .confops = &xway_pinconf_ops,
535};
536
537static inline int xway_mux_apply(struct pinctrl_dev *pctrldev,
538 int pin, int mux)
539{
540 struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
541 int port = PORT(pin);
542 u32 alt1_reg = GPIO_ALT1(pin);
543
544 if (port == PORT3)
545 alt1_reg = GPIO3_ALT1;
546
547 if (mux & MUX_ALT0)
548 gpio_setbit(info->membase[0], GPIO_ALT0(pin), PORT_PIN(pin));
549 else
550 gpio_clearbit(info->membase[0], GPIO_ALT0(pin), PORT_PIN(pin));
551
552 if (mux & MUX_ALT1)
553 gpio_setbit(info->membase[0], alt1_reg, PORT_PIN(pin));
554 else
555 gpio_clearbit(info->membase[0], alt1_reg, PORT_PIN(pin));
556
557 return 0;
558}
559
560static const struct ltq_cfg_param xway_cfg_params[] = {
561 {"lantiq,pull", LTQ_PINCONF_PARAM_PULL},
562 {"lantiq,open-drain", LTQ_PINCONF_PARAM_OPEN_DRAIN},
563};
564
565static struct ltq_pinmux_info xway_info = {
566 .desc = &xway_pctrl_desc,
567 .apply_mux = xway_mux_apply,
568 .params = xway_cfg_params,
569 .num_params = ARRAY_SIZE(xway_cfg_params),
570};
571
572/* --------- gpio_chip related code --------- */
573static void xway_gpio_set(struct gpio_chip *chip, unsigned int pin, int val)
574{
575 struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev);
576
577 if (val)
578 gpio_setbit(info->membase[0], GPIO_OUT(pin), PORT_PIN(pin));
579 else
580 gpio_clearbit(info->membase[0], GPIO_OUT(pin), PORT_PIN(pin));
581}
582
583static int xway_gpio_get(struct gpio_chip *chip, unsigned int pin)
584{
585 struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev);
586
587 return gpio_getbit(info->membase[0], GPIO_IN(pin), PORT_PIN(pin));
588}
589
590static int xway_gpio_dir_in(struct gpio_chip *chip, unsigned int pin)
591{
592 struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev);
593
594 gpio_clearbit(info->membase[0], GPIO_DIR(pin), PORT_PIN(pin));
595
596 return 0;
597}
598
599static int xway_gpio_dir_out(struct gpio_chip *chip, unsigned int pin, int val)
600{
601 struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev);
602
603 gpio_setbit(info->membase[0], GPIO_DIR(pin), PORT_PIN(pin));
604 xway_gpio_set(chip, pin, val);
605
606 return 0;
607}
608
609static int xway_gpio_req(struct gpio_chip *chip, unsigned offset)
610{
611 int gpio = chip->base + offset;
612
613 return pinctrl_request_gpio(gpio);
614}
615
616static void xway_gpio_free(struct gpio_chip *chip, unsigned offset)
617{
618 int gpio = chip->base + offset;
619
620 pinctrl_free_gpio(gpio);
621}
622
623static struct gpio_chip xway_chip = {
624 .label = "gpio-xway",
625 .direction_input = xway_gpio_dir_in,
626 .direction_output = xway_gpio_dir_out,
627 .get = xway_gpio_get,
628 .set = xway_gpio_set,
629 .request = xway_gpio_req,
630 .free = xway_gpio_free,
631 .base = -1,
632};
633
634
635/* --------- register the pinctrl layer --------- */
636static const unsigned xway_exin_pin_map[] = {GPIO0, GPIO1, GPIO2, GPIO39, GPIO46, GPIO9};
637static const unsigned ase_exin_pins_map[] = {GPIO6, GPIO29, GPIO0};
638
639static struct pinctrl_xway_soc {
640 int pin_count;
641 const struct ltq_mfp_pin *mfp;
642 const struct ltq_pin_group *grps;
643 unsigned int num_grps;
644 const struct ltq_pmx_func *funcs;
645 unsigned int num_funcs;
646 const unsigned *exin;
647 unsigned int num_exin;
648} soc_cfg[] = {
649 /* legacy xway */
650 {XWAY_MAX_PIN, xway_mfp,
651 xway_grps, ARRAY_SIZE(xway_grps),
652 danube_funcs, ARRAY_SIZE(danube_funcs),
653 xway_exin_pin_map, 3},
654 /* xway xr9 series */
655 {XR9_MAX_PIN, xway_mfp,
656 xway_grps, ARRAY_SIZE(xway_grps),
657 xrx_funcs, ARRAY_SIZE(xrx_funcs),
658 xway_exin_pin_map, 6},
659 /* xway ase series */
660 {XWAY_MAX_PIN, ase_mfp,
661 ase_grps, ARRAY_SIZE(ase_grps),
662 ase_funcs, ARRAY_SIZE(ase_funcs),
663 ase_exin_pins_map, 3},
664};
665
666static struct pinctrl_gpio_range xway_gpio_range = {
667 .name = "XWAY GPIO",
668 .gc = &xway_chip,
669};
670
671static const struct of_device_id xway_match[] = {
672 { .compatible = "lantiq,pinctrl-xway", .data = &soc_cfg[0]},
673 { .compatible = "lantiq,pinctrl-xr9", .data = &soc_cfg[1]},
674 { .compatible = "lantiq,pinctrl-ase", .data = &soc_cfg[2]},
675 {},
676};
677MODULE_DEVICE_TABLE(of, xway_match);
678
679static int __devinit pinmux_xway_probe(struct platform_device *pdev)
680{
681 const struct of_device_id *match;
682 const struct pinctrl_xway_soc *xway_soc;
683 struct resource *res;
684 int ret, i;
685
686 /* get and remap our register range */
687 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
688 if (!res) {
689 dev_err(&pdev->dev, "Failed to get resource\n");
690 return -ENOENT;
691 }
692 xway_info.membase[0] = devm_request_and_ioremap(&pdev->dev, res);
693 if (!xway_info.membase[0]) {
694 dev_err(&pdev->dev, "Failed to remap resource\n");
695 return -ENOMEM;
696 }
697
698 match = of_match_device(xway_match, &pdev->dev);
699 if (match)
700 xway_soc = (const struct pinctrl_xway_soc *) match->data;
701 else
702 xway_soc = &soc_cfg[0];
703
704 /* find out how many pads we have */
705 xway_chip.ngpio = xway_soc->pin_count;
706
707 /* load our pad descriptors */
708 xway_info.pads = devm_kzalloc(&pdev->dev,
709 sizeof(struct pinctrl_pin_desc) * xway_chip.ngpio,
710 GFP_KERNEL);
711 if (!xway_info.pads) {
712 dev_err(&pdev->dev, "Failed to allocate pads\n");
713 return -ENOMEM;
714 }
715 for (i = 0; i < xway_chip.ngpio; i++) {
716 /* strlen("ioXY") + 1 = 5 */
717 char *name = devm_kzalloc(&pdev->dev, 5, GFP_KERNEL);
718
719 if (!name) {
720 dev_err(&pdev->dev, "Failed to allocate pad name\n");
721 return -ENOMEM;
722 }
723 snprintf(name, 5, "io%d", i);
724 xway_info.pads[i].number = GPIO0 + i;
725 xway_info.pads[i].name = name;
726 }
727 xway_pctrl_desc.pins = xway_info.pads;
728
729 /* load the gpio chip */
730 xway_chip.dev = &pdev->dev;
731 of_gpiochip_add(&xway_chip);
732 ret = gpiochip_add(&xway_chip);
733 if (ret) {
734 dev_err(&pdev->dev, "Failed to register gpio chip\n");
735 return ret;
736 }
737
738 /* setup the data needed by pinctrl */
739 xway_pctrl_desc.name = dev_name(&pdev->dev);
740 xway_pctrl_desc.npins = xway_chip.ngpio;
741
742 xway_info.num_pads = xway_chip.ngpio;
743 xway_info.num_mfp = xway_chip.ngpio;
744 xway_info.mfp = xway_soc->mfp;
745 xway_info.grps = xway_soc->grps;
746 xway_info.num_grps = xway_soc->num_grps;
747 xway_info.funcs = xway_soc->funcs;
748 xway_info.num_funcs = xway_soc->num_funcs;
749 xway_info.exin = xway_soc->exin;
750 xway_info.num_exin = xway_soc->num_exin;
751
752 /* register with the generic lantiq layer */
753 ret = ltq_pinctrl_register(pdev, &xway_info);
754 if (ret) {
755 dev_err(&pdev->dev, "Failed to register pinctrl driver\n");
756 return ret;
757 }
758
759 /* finish with registering the gpio range in pinctrl */
760 xway_gpio_range.npins = xway_chip.ngpio;
761 xway_gpio_range.base = xway_chip.base;
762 pinctrl_add_gpio_range(xway_info.pctrl, &xway_gpio_range);
763 dev_info(&pdev->dev, "Init done\n");
764 return 0;
765}
766
767static struct platform_driver pinmux_xway_driver = {
768 .probe = pinmux_xway_probe,
769 .driver = {
770 .name = "pinctrl-xway",
771 .owner = THIS_MODULE,
772 .of_match_table = xway_match,
773 },
774};
775
776static int __init pinmux_xway_init(void)
777{
778 return platform_driver_register(&pinmux_xway_driver);
779}
780
781core_initcall_sync(pinmux_xway_init);
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index ecc31a1f73fc..8c2ff2490d99 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -237,6 +237,13 @@ config SPI_OC_TINY
237 help 237 help
238 This is the driver for OpenCores tiny SPI master controller. 238 This is the driver for OpenCores tiny SPI master controller.
239 239
240config SPI_OCTEON
241 tristate "Cavium OCTEON SPI controller"
242 depends on CPU_CAVIUM_OCTEON
243 help
244 SPI host driver for the hardware found on some Cavium OCTEON
245 SOCs.
246
240config SPI_OMAP_UWIRE 247config SPI_OMAP_UWIRE
241 tristate "OMAP1 MicroWire" 248 tristate "OMAP1 MicroWire"
242 depends on ARCH_OMAP1 249 depends on ARCH_OMAP1
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
index 22fd3a7251bc..c48df47e4b0f 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -39,6 +39,7 @@ obj-$(CONFIG_SPI_MPC52xx) += spi-mpc52xx.o
39obj-$(CONFIG_SPI_MXS) += spi-mxs.o 39obj-$(CONFIG_SPI_MXS) += spi-mxs.o
40obj-$(CONFIG_SPI_NUC900) += spi-nuc900.o 40obj-$(CONFIG_SPI_NUC900) += spi-nuc900.o
41obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o 41obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o
42obj-$(CONFIG_SPI_OCTEON) += spi-octeon.o
42obj-$(CONFIG_SPI_OMAP_UWIRE) += spi-omap-uwire.o 43obj-$(CONFIG_SPI_OMAP_UWIRE) += spi-omap-uwire.o
43obj-$(CONFIG_SPI_OMAP_100K) += spi-omap-100k.o 44obj-$(CONFIG_SPI_OMAP_100K) += spi-omap-100k.o
44obj-$(CONFIG_SPI_OMAP24XX) += spi-omap2-mcspi.o 45obj-$(CONFIG_SPI_OMAP24XX) += spi-omap2-mcspi.o
diff --git a/drivers/spi/spi-octeon.c b/drivers/spi/spi-octeon.c
new file mode 100644
index 000000000000..ea8fb2efb0f8
--- /dev/null
+++ b/drivers/spi/spi-octeon.c
@@ -0,0 +1,362 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2011, 2012 Cavium, Inc.
7 */
8
9#include <linux/platform_device.h>
10#include <linux/interrupt.h>
11#include <linux/spi/spi.h>
12#include <linux/module.h>
13#include <linux/delay.h>
14#include <linux/init.h>
15#include <linux/io.h>
16#include <linux/of.h>
17
18#include <asm/octeon/octeon.h>
19#include <asm/octeon/cvmx-mpi-defs.h>
20
21#define OCTEON_SPI_CFG 0
22#define OCTEON_SPI_STS 0x08
23#define OCTEON_SPI_TX 0x10
24#define OCTEON_SPI_DAT0 0x80
25
26#define OCTEON_SPI_MAX_BYTES 9
27
28#define OCTEON_SPI_MAX_CLOCK_HZ 16000000
29
30struct octeon_spi {
31 struct spi_master *my_master;
32 u64 register_base;
33 u64 last_cfg;
34 u64 cs_enax;
35};
36
37struct octeon_spi_setup {
38 u32 max_speed_hz;
39 u8 chip_select;
40 u8 mode;
41 u8 bits_per_word;
42};
43
44static void octeon_spi_wait_ready(struct octeon_spi *p)
45{
46 union cvmx_mpi_sts mpi_sts;
47 unsigned int loops = 0;
48
49 do {
50 if (loops++)
51 __delay(500);
52 mpi_sts.u64 = cvmx_read_csr(p->register_base + OCTEON_SPI_STS);
53 } while (mpi_sts.s.busy);
54}
55
56static int octeon_spi_do_transfer(struct octeon_spi *p,
57 struct spi_message *msg,
58 struct spi_transfer *xfer,
59 bool last_xfer)
60{
61 union cvmx_mpi_cfg mpi_cfg;
62 union cvmx_mpi_tx mpi_tx;
63 unsigned int clkdiv;
64 unsigned int speed_hz;
65 int mode;
66 bool cpha, cpol;
67 int bits_per_word;
68 const u8 *tx_buf;
69 u8 *rx_buf;
70 int len;
71 int i;
72
73 struct octeon_spi_setup *msg_setup = spi_get_ctldata(msg->spi);
74
75 speed_hz = msg_setup->max_speed_hz;
76 mode = msg_setup->mode;
77 cpha = mode & SPI_CPHA;
78 cpol = mode & SPI_CPOL;
79 bits_per_word = msg_setup->bits_per_word;
80
81 if (xfer->speed_hz)
82 speed_hz = xfer->speed_hz;
83 if (xfer->bits_per_word)
84 bits_per_word = xfer->bits_per_word;
85
86 if (speed_hz > OCTEON_SPI_MAX_CLOCK_HZ)
87 speed_hz = OCTEON_SPI_MAX_CLOCK_HZ;
88
89 clkdiv = octeon_get_io_clock_rate() / (2 * speed_hz);
90
91 mpi_cfg.u64 = 0;
92
93 mpi_cfg.s.clkdiv = clkdiv;
94 mpi_cfg.s.cshi = (mode & SPI_CS_HIGH) ? 1 : 0;
95 mpi_cfg.s.lsbfirst = (mode & SPI_LSB_FIRST) ? 1 : 0;
96 mpi_cfg.s.wireor = (mode & SPI_3WIRE) ? 1 : 0;
97 mpi_cfg.s.idlelo = cpha != cpol;
98 mpi_cfg.s.cslate = cpha ? 1 : 0;
99 mpi_cfg.s.enable = 1;
100
101 if (msg_setup->chip_select < 4)
102 p->cs_enax |= 1ull << (12 + msg_setup->chip_select);
103 mpi_cfg.u64 |= p->cs_enax;
104
105 if (mpi_cfg.u64 != p->last_cfg) {
106 p->last_cfg = mpi_cfg.u64;
107 cvmx_write_csr(p->register_base + OCTEON_SPI_CFG, mpi_cfg.u64);
108 }
109 tx_buf = xfer->tx_buf;
110 rx_buf = xfer->rx_buf;
111 len = xfer->len;
112 while (len > OCTEON_SPI_MAX_BYTES) {
113 for (i = 0; i < OCTEON_SPI_MAX_BYTES; i++) {
114 u8 d;
115 if (tx_buf)
116 d = *tx_buf++;
117 else
118 d = 0;
119 cvmx_write_csr(p->register_base + OCTEON_SPI_DAT0 + (8 * i), d);
120 }
121 mpi_tx.u64 = 0;
122 mpi_tx.s.csid = msg_setup->chip_select;
123 mpi_tx.s.leavecs = 1;
124 mpi_tx.s.txnum = tx_buf ? OCTEON_SPI_MAX_BYTES : 0;
125 mpi_tx.s.totnum = OCTEON_SPI_MAX_BYTES;
126 cvmx_write_csr(p->register_base + OCTEON_SPI_TX, mpi_tx.u64);
127
128 octeon_spi_wait_ready(p);
129 if (rx_buf)
130 for (i = 0; i < OCTEON_SPI_MAX_BYTES; i++) {
131 u64 v = cvmx_read_csr(p->register_base + OCTEON_SPI_DAT0 + (8 * i));
132 *rx_buf++ = (u8)v;
133 }
134 len -= OCTEON_SPI_MAX_BYTES;
135 }
136
137 for (i = 0; i < len; i++) {
138 u8 d;
139 if (tx_buf)
140 d = *tx_buf++;
141 else
142 d = 0;
143 cvmx_write_csr(p->register_base + OCTEON_SPI_DAT0 + (8 * i), d);
144 }
145
146 mpi_tx.u64 = 0;
147 mpi_tx.s.csid = msg_setup->chip_select;
148 if (last_xfer)
149 mpi_tx.s.leavecs = xfer->cs_change;
150 else
151 mpi_tx.s.leavecs = !xfer->cs_change;
152 mpi_tx.s.txnum = tx_buf ? len : 0;
153 mpi_tx.s.totnum = len;
154 cvmx_write_csr(p->register_base + OCTEON_SPI_TX, mpi_tx.u64);
155
156 octeon_spi_wait_ready(p);
157 if (rx_buf)
158 for (i = 0; i < len; i++) {
159 u64 v = cvmx_read_csr(p->register_base + OCTEON_SPI_DAT0 + (8 * i));
160 *rx_buf++ = (u8)v;
161 }
162
163 if (xfer->delay_usecs)
164 udelay(xfer->delay_usecs);
165
166 return xfer->len;
167}
168
169static int octeon_spi_validate_bpw(struct spi_device *spi, u32 speed)
170{
171 switch (speed) {
172 case 8:
173 break;
174 default:
175 dev_err(&spi->dev, "Error: %d bits per word not supported\n",
176 speed);
177 return -EINVAL;
178 }
179 return 0;
180}
181
182static int octeon_spi_transfer_one_message(struct spi_master *master,
183 struct spi_message *msg)
184{
185 struct octeon_spi *p = spi_master_get_devdata(master);
186 unsigned int total_len = 0;
187 int status = 0;
188 struct spi_transfer *xfer;
189
190 /*
191 * We better have set the configuration via a call to .setup
192 * before we get here.
193 */
194 if (spi_get_ctldata(msg->spi) == NULL) {
195 status = -EINVAL;
196 goto err;
197 }
198
199 list_for_each_entry(xfer, &msg->transfers, transfer_list) {
200 if (xfer->bits_per_word) {
201 status = octeon_spi_validate_bpw(msg->spi,
202 xfer->bits_per_word);
203 if (status)
204 goto err;
205 }
206 }
207
208 list_for_each_entry(xfer, &msg->transfers, transfer_list) {
209 bool last_xfer = &xfer->transfer_list == msg->transfers.prev;
210 int r = octeon_spi_do_transfer(p, msg, xfer, last_xfer);
211 if (r < 0) {
212 status = r;
213 goto err;
214 }
215 total_len += r;
216 }
217err:
218 msg->status = status;
219 msg->actual_length = total_len;
220 spi_finalize_current_message(master);
221 return status;
222}
223
224static struct octeon_spi_setup *octeon_spi_new_setup(struct spi_device *spi)
225{
226 struct octeon_spi_setup *setup = kzalloc(sizeof(*setup), GFP_KERNEL);
227 if (!setup)
228 return NULL;
229
230 setup->max_speed_hz = spi->max_speed_hz;
231 setup->chip_select = spi->chip_select;
232 setup->mode = spi->mode;
233 setup->bits_per_word = spi->bits_per_word;
234 return setup;
235}
236
237static int octeon_spi_setup(struct spi_device *spi)
238{
239 int r;
240 struct octeon_spi_setup *new_setup;
241 struct octeon_spi_setup *old_setup = spi_get_ctldata(spi);
242
243 r = octeon_spi_validate_bpw(spi, spi->bits_per_word);
244 if (r)
245 return r;
246
247 new_setup = octeon_spi_new_setup(spi);
248 if (!new_setup)
249 return -ENOMEM;
250
251 spi_set_ctldata(spi, new_setup);
252 kfree(old_setup);
253
254 return 0;
255}
256
257static void octeon_spi_cleanup(struct spi_device *spi)
258{
259 struct octeon_spi_setup *old_setup = spi_get_ctldata(spi);
260 spi_set_ctldata(spi, NULL);
261 kfree(old_setup);
262}
263
264static int octeon_spi_nop_transfer_hardware(struct spi_master *master)
265{
266 return 0;
267}
268
269static int __devinit octeon_spi_probe(struct platform_device *pdev)
270{
271
272 struct resource *res_mem;
273 struct spi_master *master;
274 struct octeon_spi *p;
275 int err = -ENOENT;
276
277 master = spi_alloc_master(&pdev->dev, sizeof(struct octeon_spi));
278 if (!master)
279 return -ENOMEM;
280 p = spi_master_get_devdata(master);
281 platform_set_drvdata(pdev, p);
282 p->my_master = master;
283
284 res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
285
286 if (res_mem == NULL) {
287 dev_err(&pdev->dev, "found no memory resource\n");
288 err = -ENXIO;
289 goto fail;
290 }
291 if (!devm_request_mem_region(&pdev->dev, res_mem->start,
292 resource_size(res_mem), res_mem->name)) {
293 dev_err(&pdev->dev, "request_mem_region failed\n");
294 goto fail;
295 }
296 p->register_base = (u64)devm_ioremap(&pdev->dev, res_mem->start,
297 resource_size(res_mem));
298
299 /* Dynamic bus numbering */
300 master->bus_num = -1;
301 master->num_chipselect = 4;
302 master->mode_bits = SPI_CPHA |
303 SPI_CPOL |
304 SPI_CS_HIGH |
305 SPI_LSB_FIRST |
306 SPI_3WIRE;
307
308 master->setup = octeon_spi_setup;
309 master->cleanup = octeon_spi_cleanup;
310 master->prepare_transfer_hardware = octeon_spi_nop_transfer_hardware;
311 master->transfer_one_message = octeon_spi_transfer_one_message;
312 master->unprepare_transfer_hardware = octeon_spi_nop_transfer_hardware;
313
314 master->dev.of_node = pdev->dev.of_node;
315 err = spi_register_master(master);
316 if (err) {
317 dev_err(&pdev->dev, "register master failed: %d\n", err);
318 goto fail;
319 }
320
321 dev_info(&pdev->dev, "OCTEON SPI bus driver\n");
322
323 return 0;
324fail:
325 spi_master_put(master);
326 return err;
327}
328
329static int __devexit octeon_spi_remove(struct platform_device *pdev)
330{
331 struct octeon_spi *p = platform_get_drvdata(pdev);
332 u64 register_base = p->register_base;
333
334 spi_unregister_master(p->my_master);
335
336 /* Clear the CSENA* and put everything in a known state. */
337 cvmx_write_csr(register_base + OCTEON_SPI_CFG, 0);
338
339 return 0;
340}
341
342static struct of_device_id octeon_spi_match[] = {
343 { .compatible = "cavium,octeon-3010-spi", },
344 {},
345};
346MODULE_DEVICE_TABLE(of, octeon_spi_match);
347
348static struct platform_driver octeon_spi_driver = {
349 .driver = {
350 .name = "spi-octeon",
351 .owner = THIS_MODULE,
352 .of_match_table = octeon_spi_match,
353 },
354 .probe = octeon_spi_probe,
355 .remove = __devexit_p(octeon_spi_remove),
356};
357
358module_platform_driver(octeon_spi_driver);
359
360MODULE_DESCRIPTION("Cavium, Inc. OCTEON SPI bus driver");
361MODULE_AUTHOR("David Daney");
362MODULE_LICENSE("GPL");