aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /arch/mips/include/asm
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'arch/mips/include/asm')
-rw-r--r--arch/mips/include/asm/Kbuild5
-rw-r--r--arch/mips/include/asm/atomic.h66
-rw-r--r--arch/mips/include/asm/barrier.h2
-rw-r--r--arch/mips/include/asm/bitops.h129
-rw-r--r--arch/mips/include/asm/bmips.h110
-rw-r--r--arch/mips/include/asm/bootinfo.h1
-rw-r--r--arch/mips/include/asm/branch.h5
-rw-r--r--arch/mips/include/asm/cacheflush.h24
-rw-r--r--arch/mips/include/asm/clkdev.h25
-rw-r--r--arch/mips/include/asm/clock.h11
-rw-r--r--arch/mips/include/asm/cmpxchg.h125
-rw-r--r--arch/mips/include/asm/compat-signal.h62
-rw-r--r--arch/mips/include/asm/compat.h74
-rw-r--r--arch/mips/include/asm/cpu-features.h12
-rw-r--r--arch/mips/include/asm/cpu.h27
-rw-r--r--arch/mips/include/asm/delay.h6
-rw-r--r--arch/mips/include/asm/dma-mapping.h20
-rw-r--r--arch/mips/include/asm/dma.h1
-rw-r--r--arch/mips/include/asm/errno.h120
-rw-r--r--arch/mips/include/asm/exec.h17
-rw-r--r--arch/mips/include/asm/fw/arc/types.h8
-rw-r--r--arch/mips/include/asm/gic.h64
-rw-r--r--arch/mips/include/asm/gio_device.h56
-rw-r--r--arch/mips/include/asm/hazards.h32
-rw-r--r--arch/mips/include/asm/highmem.h2
-rw-r--r--arch/mips/include/asm/hugetlb.h18
-rw-r--r--arch/mips/include/asm/inst.h4
-rw-r--r--arch/mips/include/asm/io.h14
-rw-r--r--arch/mips/include/asm/ip32/mace.h2
-rw-r--r--arch/mips/include/asm/irq.h6
-rw-r--r--arch/mips/include/asm/irqflags.h207
-rw-r--r--arch/mips/include/asm/jump_label.h2
-rw-r--r--arch/mips/include/asm/kexec.h27
-rw-r--r--arch/mips/include/asm/kprobes.h5
-rw-r--r--arch/mips/include/asm/kspd.h4
-rw-r--r--arch/mips/include/asm/lasat/lasat.h6
-rw-r--r--arch/mips/include/asm/mach-ar7/war.h1
-rw-r--r--arch/mips/include/asm/mach-ath79/ar71xx_regs.h205
-rw-r--r--arch/mips/include/asm/mach-ath79/ar933x_uart.h67
-rw-r--r--arch/mips/include/asm/mach-ath79/ar933x_uart_platform.h18
-rw-r--r--arch/mips/include/asm/mach-ath79/ath79.h34
-rw-r--r--arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-ath79/irq.h16
-rw-r--r--arch/mips/include/asm/mach-ath79/pci.h28
-rw-r--r--arch/mips/include/asm/mach-ath79/war.h1
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1000.h806
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1000_dma.h1
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1100_mmc.h2
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1200fb.h14
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1550nd.h16
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h147
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1xxx_ide.h1
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1xxx_psc.h39
-rw-r--r--arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h4
-rw-r--r--arch/mips/include/asm/mach-au1x00/gpio-au1000.h31
-rw-r--r--arch/mips/include/asm/mach-au1x00/gpio-au1300.h259
-rw-r--r--arch/mips/include/asm/mach-au1x00/gpio.h82
-rw-r--r--arch/mips/include/asm/mach-au1x00/war.h1
-rw-r--r--arch/mips/include/asm/mach-bcm47xx/bcm47xx.h38
-rw-r--r--arch/mips/include/asm/mach-bcm47xx/gpio.h68
-rw-r--r--arch/mips/include/asm/mach-bcm47xx/nvram.h2
-rw-r--r--arch/mips/include/asm/mach-bcm47xx/war.h1
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h800
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_flash.h12
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h91
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_usbd.h17
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h5
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h12
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h12
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h38
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_nvram.h35
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h681
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm63xx_reset.h21
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/bcm963xx_tag.h11
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h22
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/ioremap.h43
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/irq.h7
-rw-r--r--arch/mips/include/asm/mach-bcm63xx/war.h1
-rw-r--r--arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h3
-rw-r--r--arch/mips/include/asm/mach-cavium-octeon/irq.h61
-rw-r--r--arch/mips/include/asm/mach-cavium-octeon/war.h1
-rw-r--r--arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-cobalt/war.h1
-rw-r--r--arch/mips/include/asm/mach-db1x00/bcsr.h38
-rw-r--r--arch/mips/include/asm/mach-db1x00/db1200.h13
-rw-r--r--arch/mips/include/asm/mach-db1x00/db1300.h40
-rw-r--r--arch/mips/include/asm/mach-db1x00/irq.h23
-rw-r--r--arch/mips/include/asm/mach-dec/war.h1
-rw-r--r--arch/mips/include/asm/mach-emma2rh/war.h1
-rw-r--r--arch/mips/include/asm/mach-generic/floppy.h2
-rw-r--r--arch/mips/include/asm/mach-generic/irq.h6
-rw-r--r--arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-ip22/war.h1
-rw-r--r--arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-ip27/topology.h17
-rw-r--r--arch/mips/include/asm/mach-ip27/war.h1
-rw-r--r--arch/mips/include/asm/mach-ip28/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-ip28/war.h1
-rw-r--r--arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-ip32/war.h1
-rw-r--r--arch/mips/include/asm/mach-jazz/floppy.h2
-rw-r--r--arch/mips/include/asm/mach-jazz/war.h1
-rw-r--r--arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-jz4740/irq.h2
-rw-r--r--arch/mips/include/asm/mach-jz4740/jz4740_nand.h4
-rw-r--r--arch/mips/include/asm/mach-jz4740/platform.h1
-rw-r--r--arch/mips/include/asm/mach-jz4740/timer.h113
-rw-r--r--arch/mips/include/asm/mach-jz4740/war.h1
-rw-r--r--arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h25
-rw-r--r--arch/mips/include/asm/mach-lantiq/falcon/irq.h18
-rw-r--r--arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h71
-rw-r--r--arch/mips/include/asm/mach-lantiq/gpio.h13
-rw-r--r--arch/mips/include/asm/mach-lantiq/lantiq.h34
-rw-r--r--arch/mips/include/asm/mach-lantiq/lantiq_platform.h33
-rw-r--r--arch/mips/include/asm/mach-lantiq/war.h1
-rw-r--r--arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h44
-rw-r--r--arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h139
-rw-r--r--arch/mips/include/asm/mach-lasat/war.h1
-rw-r--r--arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-loongson/loongson.h4
-rw-r--r--arch/mips/include/asm/mach-loongson/war.h1
-rw-r--r--arch/mips/include/asm/mach-loongson1/irq.h73
-rw-r--r--arch/mips/include/asm/mach-loongson1/loongson1.h44
-rw-r--r--arch/mips/include/asm/mach-loongson1/platform.h24
-rw-r--r--arch/mips/include/asm/mach-loongson1/prom.h24
-rw-r--r--arch/mips/include/asm/mach-loongson1/regs-clk.h34
-rw-r--r--arch/mips/include/asm/mach-loongson1/regs-wdt.h22
-rw-r--r--arch/mips/include/asm/mach-loongson1/war.h24
-rw-r--r--arch/mips/include/asm/mach-malta/war.h1
-rw-r--r--arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h23
-rw-r--r--arch/mips/include/asm/mach-netlogic/irq.h4
-rw-r--r--arch/mips/include/asm/mach-netlogic/multi-node.h54
-rw-r--r--arch/mips/include/asm/mach-netlogic/war.h1
-rw-r--r--arch/mips/include/asm/mach-pnx833x/gpio.h2
-rw-r--r--arch/mips/include/asm/mach-pnx833x/war.h1
-rw-r--r--arch/mips/include/asm/mach-pnx8550/war.h1
-rw-r--r--arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-powertv/war.h1
-rw-r--r--arch/mips/include/asm/mach-rc32434/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-rc32434/war.h1
-rw-r--r--arch/mips/include/asm/mach-rm/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-rm/war.h1
-rw-r--r--arch/mips/include/asm/mach-sead3/cpu-feature-overrides.h72
-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.h24
-rw-r--r--arch/mips/include/asm/mach-sibyte/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-sibyte/war.h1
-rw-r--r--arch/mips/include/asm/mach-tx39xx/war.h1
-rw-r--r--arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/mach-tx49xx/mangle-port.h2
-rw-r--r--arch/mips/include/asm/mach-tx49xx/war.h1
-rw-r--r--arch/mips/include/asm/mach-vr41xx/war.h1
-rw-r--r--arch/mips/include/asm/mach-wrppmc/war.h1
-rw-r--r--arch/mips/include/asm/mips-boards/generic.h4
-rw-r--r--arch/mips/include/asm/mips-boards/maltaint.h45
-rw-r--r--arch/mips/include/asm/mips-boards/sead3int.h19
-rw-r--r--arch/mips/include/asm/mipsmtregs.h15
-rw-r--r--arch/mips/include/asm/mipsprom.h6
-rw-r--r--arch/mips/include/asm/mipsregs.h33
-rw-r--r--arch/mips/include/asm/mmu_context.h12
-rw-r--r--arch/mips/include/asm/module.h22
-rw-r--r--arch/mips/include/asm/netlogic/common.h113
-rw-r--r--arch/mips/include/asm/netlogic/haldefs.h163
-rw-r--r--arch/mips/include/asm/netlogic/interrupt.h2
-rw-r--r--arch/mips/include/asm/netlogic/mips-extns.h142
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/bridge.h187
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/cpucontrol.h85
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/iomap.h156
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/pcibus.h76
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/pic.h387
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/sys.h128
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/uart.h191
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/usb.h64
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/xlp.h64
-rw-r--r--arch/mips/include/asm/netlogic/xlr/bridge.h104
-rw-r--r--arch/mips/include/asm/netlogic/xlr/flash.h55
-rw-r--r--arch/mips/include/asm/netlogic/xlr/fmn.h363
-rw-r--r--arch/mips/include/asm/netlogic/xlr/gpio.h59
-rw-r--r--arch/mips/include/asm/netlogic/xlr/iomap.h22
-rw-r--r--arch/mips/include/asm/netlogic/xlr/msidef.h84
-rw-r--r--arch/mips/include/asm/netlogic/xlr/pic.h67
-rw-r--r--arch/mips/include/asm/netlogic/xlr/xlr.h19
-rw-r--r--arch/mips/include/asm/octeon/cvmx-address.h274
-rw-r--r--arch/mips/include/asm/octeon/cvmx-agl-defs.h1014
-rw-r--r--arch/mips/include/asm/octeon/cvmx-asm.h2
-rw-r--r--arch/mips/include/asm/octeon/cvmx-asxx-defs.h669
-rw-r--r--arch/mips/include/asm/octeon/cvmx-bootinfo.h82
-rw-r--r--arch/mips/include/asm/octeon/cvmx-bootmem.h2
-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-cmd-queue.h617
-rw-r--r--arch/mips/include/asm/octeon/cvmx-config.h168
-rw-r--r--arch/mips/include/asm/octeon/cvmx-dbg-defs.h105
-rw-r--r--arch/mips/include/asm/octeon/cvmx-dpi-defs.h1052
-rw-r--r--arch/mips/include/asm/octeon/cvmx-fau.h597
-rw-r--r--arch/mips/include/asm/octeon/cvmx-fpa-defs.h1498
-rw-r--r--arch/mips/include/asm/octeon/cvmx-fpa.h299
-rw-r--r--arch/mips/include/asm/octeon/cvmx-gmxx-defs.h6929
-rw-r--r--arch/mips/include/asm/octeon/cvmx-gpio-defs.h282
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper-board.h157
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper-loop.h60
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper-npi.h61
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper-rgmii.h111
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper-sgmii.h105
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper-spi.h85
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper-util.h215
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper-xaui.h104
-rw-r--r--arch/mips/include/asm/octeon/cvmx-helper.h226
-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-ipd.h338
-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-lmcx-defs.h3457
-rw-r--r--arch/mips/include/asm/octeon/cvmx-mdio.h506
-rw-r--r--arch/mips/include/asm/octeon/cvmx-mio-defs.h2914
-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.h1745
-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.h1839
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pcsx-defs.h1009
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h808
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pemx-defs.h795
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pescx-defs.h246
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pexp-defs.h19
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pip-defs.h3422
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pip.h524
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pko-defs.h2824
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pko.h610
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pow-defs.h530
-rw-r--r--arch/mips/include/asm/octeon/cvmx-pow.h1982
-rw-r--r--arch/mips/include/asm/octeon/cvmx-rnm-defs.h107
-rw-r--r--arch/mips/include/asm/octeon/cvmx-scratch.h139
-rw-r--r--arch/mips/include/asm/octeon/cvmx-sli-defs.h3521
-rw-r--r--arch/mips/include/asm/octeon/cvmx-smix-defs.h202
-rw-r--r--arch/mips/include/asm/octeon/cvmx-spi.h269
-rw-r--r--arch/mips/include/asm/octeon/cvmx-spinlock.h2
-rw-r--r--arch/mips/include/asm/octeon/cvmx-spxx-defs.h506
-rw-r--r--arch/mips/include/asm/octeon/cvmx-sriox-defs.h1737
-rw-r--r--arch/mips/include/asm/octeon/cvmx-srxx-defs.h162
-rw-r--r--arch/mips/include/asm/octeon/cvmx-stxx-defs.h392
-rw-r--r--arch/mips/include/asm/octeon/cvmx-uctlx-defs.h268
-rw-r--r--arch/mips/include/asm/octeon/cvmx-wqe.h397
-rw-r--r--arch/mips/include/asm/octeon/cvmx.h78
-rw-r--r--arch/mips/include/asm/octeon/octeon-feature.h114
-rw-r--r--arch/mips/include/asm/octeon/octeon-model.h241
-rw-r--r--arch/mips/include/asm/octeon/octeon.h18
-rw-r--r--arch/mips/include/asm/octeon/pci-octeon.h3
-rw-r--r--arch/mips/include/asm/page.h20
-rw-r--r--arch/mips/include/asm/pci.h15
-rw-r--r--arch/mips/include/asm/pgtable-32.h18
-rw-r--r--arch/mips/include/asm/pgtable-64.h16
-rw-r--r--arch/mips/include/asm/pgtable-bits.h145
-rw-r--r--arch/mips/include/asm/pgtable.h191
-rw-r--r--arch/mips/include/asm/pmc-sierra/msp71xx/cpu-feature-overrides.h1
-rw-r--r--arch/mips/include/asm/pmc-sierra/msp71xx/war.h1
-rw-r--r--arch/mips/include/asm/processor.h16
-rw-r--r--arch/mips/include/asm/prom.h35
-rw-r--r--arch/mips/include/asm/ptrace.h128
-rw-r--r--arch/mips/include/asm/r4k-timer.h8
-rw-r--r--arch/mips/include/asm/regdef.h6
-rw-r--r--arch/mips/include/asm/setup.h15
-rw-r--r--arch/mips/include/asm/sgiarcs.h8
-rw-r--r--arch/mips/include/asm/sibyte/bcm1480_int.h2
-rw-r--r--arch/mips/include/asm/sibyte/bcm1480_l2c.h2
-rw-r--r--arch/mips/include/asm/sibyte/bcm1480_mc.h2
-rw-r--r--arch/mips/include/asm/sibyte/bcm1480_regs.h4
-rw-r--r--arch/mips/include/asm/sibyte/bcm1480_scd.h4
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_dma.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_genbus.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_int.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_l2c.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_ldt.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_mac.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_mc.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_regs.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_scd.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_smbus.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_syncser.h2
-rw-r--r--arch/mips/include/asm/sibyte/sb1250_uart.h2
-rw-r--r--arch/mips/include/asm/sigcontext.h66
-rw-r--r--arch/mips/include/asm/siginfo.h104
-rw-r--r--arch/mips/include/asm/signal.h117
-rw-r--r--arch/mips/include/asm/smp.h6
-rw-r--r--arch/mips/include/asm/smtc.h6
-rw-r--r--arch/mips/include/asm/socket.h76
-rw-r--r--arch/mips/include/asm/sparsemem.h6
-rw-r--r--arch/mips/include/asm/switch_to.h87
-rw-r--r--arch/mips/include/asm/termios.h75
-rw-r--r--arch/mips/include/asm/thread_info.h42
-rw-r--r--arch/mips/include/asm/time.h4
-rw-r--r--arch/mips/include/asm/tlbmisc.h10
-rw-r--r--arch/mips/include/asm/traps.h14
-rw-r--r--arch/mips/include/asm/txx9/jmr3927.h1
-rw-r--r--arch/mips/include/asm/types.h18
-rw-r--r--arch/mips/include/asm/uaccess.h6
-rw-r--r--arch/mips/include/asm/uasm.h104
-rw-r--r--arch/mips/include/asm/unistd.h1014
-rw-r--r--arch/mips/include/asm/war.h8
305 files changed, 4288 insertions, 74943 deletions
diff --git a/arch/mips/include/asm/Kbuild b/arch/mips/include/asm/Kbuild
index 9b54b7a403d..7897f05e316 100644
--- a/arch/mips/include/asm/Kbuild
+++ b/arch/mips/include/asm/Kbuild
@@ -1,2 +1,3 @@
1# MIPS headers 1include include/asm-generic/Kbuild.asm
2generic-y += trace_clock.h 2
3header-y += cachectl.h sgidefs.h sysmips.h
diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h
index 01cc6ba6483..1d93f81d57e 100644
--- a/arch/mips/include/asm/atomic.h
+++ b/arch/mips/include/asm/atomic.h
@@ -18,8 +18,8 @@
18#include <linux/types.h> 18#include <linux/types.h>
19#include <asm/barrier.h> 19#include <asm/barrier.h>
20#include <asm/cpu-features.h> 20#include <asm/cpu-features.h>
21#include <asm/cmpxchg.h>
22#include <asm/war.h> 21#include <asm/war.h>
22#include <asm/system.h>
23 23
24#define ATOMIC_INIT(i) { (i) } 24#define ATOMIC_INIT(i) { (i) }
25 25
@@ -59,8 +59,8 @@ static __inline__ void atomic_add(int i, atomic_t * v)
59 " sc %0, %1 \n" 59 " sc %0, %1 \n"
60 " beqzl %0, 1b \n" 60 " beqzl %0, 1b \n"
61 " .set mips0 \n" 61 " .set mips0 \n"
62 : "=&r" (temp), "+m" (v->counter) 62 : "=&r" (temp), "=m" (v->counter)
63 : "Ir" (i)); 63 : "Ir" (i), "m" (v->counter));
64 } else if (kernel_uses_llsc) { 64 } else if (kernel_uses_llsc) {
65 int temp; 65 int temp;
66 66
@@ -71,8 +71,8 @@ static __inline__ void atomic_add(int i, atomic_t * v)
71 " addu %0, %2 \n" 71 " addu %0, %2 \n"
72 " sc %0, %1 \n" 72 " sc %0, %1 \n"
73 " .set mips0 \n" 73 " .set mips0 \n"
74 : "=&r" (temp), "+m" (v->counter) 74 : "=&r" (temp), "=m" (v->counter)
75 : "Ir" (i)); 75 : "Ir" (i), "m" (v->counter));
76 } while (unlikely(!temp)); 76 } while (unlikely(!temp));
77 } else { 77 } else {
78 unsigned long flags; 78 unsigned long flags;
@@ -102,8 +102,8 @@ static __inline__ void atomic_sub(int i, atomic_t * v)
102 " sc %0, %1 \n" 102 " sc %0, %1 \n"
103 " beqzl %0, 1b \n" 103 " beqzl %0, 1b \n"
104 " .set mips0 \n" 104 " .set mips0 \n"
105 : "=&r" (temp), "+m" (v->counter) 105 : "=&r" (temp), "=m" (v->counter)
106 : "Ir" (i)); 106 : "Ir" (i), "m" (v->counter));
107 } else if (kernel_uses_llsc) { 107 } else if (kernel_uses_llsc) {
108 int temp; 108 int temp;
109 109
@@ -114,8 +114,8 @@ static __inline__ void atomic_sub(int i, atomic_t * v)
114 " subu %0, %2 \n" 114 " subu %0, %2 \n"
115 " sc %0, %1 \n" 115 " sc %0, %1 \n"
116 " .set mips0 \n" 116 " .set mips0 \n"
117 : "=&r" (temp), "+m" (v->counter) 117 : "=&r" (temp), "=m" (v->counter)
118 : "Ir" (i)); 118 : "Ir" (i), "m" (v->counter));
119 } while (unlikely(!temp)); 119 } while (unlikely(!temp));
120 } else { 120 } else {
121 unsigned long flags; 121 unsigned long flags;
@@ -146,8 +146,9 @@ static __inline__ int atomic_add_return(int i, atomic_t * v)
146 " beqzl %0, 1b \n" 146 " beqzl %0, 1b \n"
147 " addu %0, %1, %3 \n" 147 " addu %0, %1, %3 \n"
148 " .set mips0 \n" 148 " .set mips0 \n"
149 : "=&r" (result), "=&r" (temp), "+m" (v->counter) 149 : "=&r" (result), "=&r" (temp), "=m" (v->counter)
150 : "Ir" (i)); 150 : "Ir" (i), "m" (v->counter)
151 : "memory");
151 } else if (kernel_uses_llsc) { 152 } else if (kernel_uses_llsc) {
152 int temp; 153 int temp;
153 154
@@ -158,8 +159,9 @@ static __inline__ int atomic_add_return(int i, atomic_t * v)
158 " addu %0, %1, %3 \n" 159 " addu %0, %1, %3 \n"
159 " sc %0, %2 \n" 160 " sc %0, %2 \n"
160 " .set mips0 \n" 161 " .set mips0 \n"
161 : "=&r" (result), "=&r" (temp), "+m" (v->counter) 162 : "=&r" (result), "=&r" (temp), "=m" (v->counter)
162 : "Ir" (i)); 163 : "Ir" (i), "m" (v->counter)
164 : "memory");
163 } while (unlikely(!result)); 165 } while (unlikely(!result));
164 166
165 result = temp + i; 167 result = temp + i;
@@ -210,8 +212,9 @@ static __inline__ int atomic_sub_return(int i, atomic_t * v)
210 " subu %0, %1, %3 \n" 212 " subu %0, %1, %3 \n"
211 " sc %0, %2 \n" 213 " sc %0, %2 \n"
212 " .set mips0 \n" 214 " .set mips0 \n"
213 : "=&r" (result), "=&r" (temp), "+m" (v->counter) 215 : "=&r" (result), "=&r" (temp), "=m" (v->counter)
214 : "Ir" (i)); 216 : "Ir" (i), "m" (v->counter)
217 : "memory");
215 } while (unlikely(!result)); 218 } while (unlikely(!result));
216 219
217 result = temp - i; 220 result = temp - i;
@@ -259,7 +262,7 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v)
259 " .set reorder \n" 262 " .set reorder \n"
260 "1: \n" 263 "1: \n"
261 " .set mips0 \n" 264 " .set mips0 \n"
262 : "=&r" (result), "=&r" (temp), "+m" (v->counter) 265 : "=&r" (result), "=&r" (temp), "=m" (v->counter)
263 : "Ir" (i), "m" (v->counter) 266 : "Ir" (i), "m" (v->counter)
264 : "memory"); 267 : "memory");
265 } else if (kernel_uses_llsc) { 268 } else if (kernel_uses_llsc) {
@@ -277,8 +280,9 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v)
277 " .set reorder \n" 280 " .set reorder \n"
278 "1: \n" 281 "1: \n"
279 " .set mips0 \n" 282 " .set mips0 \n"
280 : "=&r" (result), "=&r" (temp), "+m" (v->counter) 283 : "=&r" (result), "=&r" (temp), "=m" (v->counter)
281 : "Ir" (i)); 284 : "Ir" (i), "m" (v->counter)
285 : "memory");
282 } else { 286 } else {
283 unsigned long flags; 287 unsigned long flags;
284 288
@@ -426,8 +430,8 @@ static __inline__ void atomic64_add(long i, atomic64_t * v)
426 " scd %0, %1 \n" 430 " scd %0, %1 \n"
427 " beqzl %0, 1b \n" 431 " beqzl %0, 1b \n"
428 " .set mips0 \n" 432 " .set mips0 \n"
429 : "=&r" (temp), "+m" (v->counter) 433 : "=&r" (temp), "=m" (v->counter)
430 : "Ir" (i)); 434 : "Ir" (i), "m" (v->counter));
431 } else if (kernel_uses_llsc) { 435 } else if (kernel_uses_llsc) {
432 long temp; 436 long temp;
433 437
@@ -438,8 +442,8 @@ static __inline__ void atomic64_add(long i, atomic64_t * v)
438 " daddu %0, %2 \n" 442 " daddu %0, %2 \n"
439 " scd %0, %1 \n" 443 " scd %0, %1 \n"
440 " .set mips0 \n" 444 " .set mips0 \n"
441 : "=&r" (temp), "+m" (v->counter) 445 : "=&r" (temp), "=m" (v->counter)
442 : "Ir" (i)); 446 : "Ir" (i), "m" (v->counter));
443 } while (unlikely(!temp)); 447 } while (unlikely(!temp));
444 } else { 448 } else {
445 unsigned long flags; 449 unsigned long flags;
@@ -469,8 +473,8 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v)
469 " scd %0, %1 \n" 473 " scd %0, %1 \n"
470 " beqzl %0, 1b \n" 474 " beqzl %0, 1b \n"
471 " .set mips0 \n" 475 " .set mips0 \n"
472 : "=&r" (temp), "+m" (v->counter) 476 : "=&r" (temp), "=m" (v->counter)
473 : "Ir" (i)); 477 : "Ir" (i), "m" (v->counter));
474 } else if (kernel_uses_llsc) { 478 } else if (kernel_uses_llsc) {
475 long temp; 479 long temp;
476 480
@@ -481,8 +485,8 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v)
481 " dsubu %0, %2 \n" 485 " dsubu %0, %2 \n"
482 " scd %0, %1 \n" 486 " scd %0, %1 \n"
483 " .set mips0 \n" 487 " .set mips0 \n"
484 : "=&r" (temp), "+m" (v->counter) 488 : "=&r" (temp), "=m" (v->counter)
485 : "Ir" (i)); 489 : "Ir" (i), "m" (v->counter));
486 } while (unlikely(!temp)); 490 } while (unlikely(!temp));
487 } else { 491 } else {
488 unsigned long flags; 492 unsigned long flags;
@@ -513,8 +517,9 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v)
513 " beqzl %0, 1b \n" 517 " beqzl %0, 1b \n"
514 " daddu %0, %1, %3 \n" 518 " daddu %0, %1, %3 \n"
515 " .set mips0 \n" 519 " .set mips0 \n"
516 : "=&r" (result), "=&r" (temp), "+m" (v->counter) 520 : "=&r" (result), "=&r" (temp), "=m" (v->counter)
517 : "Ir" (i)); 521 : "Ir" (i), "m" (v->counter)
522 : "memory");
518 } else if (kernel_uses_llsc) { 523 } else if (kernel_uses_llsc) {
519 long temp; 524 long temp;
520 525
@@ -644,8 +649,9 @@ static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v)
644 " .set reorder \n" 649 " .set reorder \n"
645 "1: \n" 650 "1: \n"
646 " .set mips0 \n" 651 " .set mips0 \n"
647 : "=&r" (result), "=&r" (temp), "+m" (v->counter) 652 : "=&r" (result), "=&r" (temp), "=m" (v->counter)
648 : "Ir" (i)); 653 : "Ir" (i), "m" (v->counter)
654 : "memory");
649 } else { 655 } else {
650 unsigned long flags; 656 unsigned long flags;
651 657
diff --git a/arch/mips/include/asm/barrier.h b/arch/mips/include/asm/barrier.h
index f7fdc24e972..c0884f02d3a 100644
--- a/arch/mips/include/asm/barrier.h
+++ b/arch/mips/include/asm/barrier.h
@@ -8,8 +8,6 @@
8#ifndef __ASM_BARRIER_H 8#ifndef __ASM_BARRIER_H
9#define __ASM_BARRIER_H 9#define __ASM_BARRIER_H
10 10
11#include <asm/addrspace.h>
12
13/* 11/*
14 * read_barrier_depends - Flush all pending reads that subsequents reads 12 * read_barrier_depends - Flush all pending reads that subsequents reads
15 * depend on. 13 * depend on.
diff --git a/arch/mips/include/asm/bitops.h b/arch/mips/include/asm/bitops.h
index 46ac73abd5e..2e1ad4c652b 100644
--- a/arch/mips/include/asm/bitops.h
+++ b/arch/mips/include/asm/bitops.h
@@ -14,8 +14,10 @@
14#endif 14#endif
15 15
16#include <linux/compiler.h> 16#include <linux/compiler.h>
17#include <linux/irqflags.h>
17#include <linux/types.h> 18#include <linux/types.h>
18#include <asm/barrier.h> 19#include <asm/barrier.h>
20#include <asm/bug.h>
19#include <asm/byteorder.h> /* sigh ... */ 21#include <asm/byteorder.h> /* sigh ... */
20#include <asm/cpu-features.h> 22#include <asm/cpu-features.h>
21#include <asm/sgidefs.h> 23#include <asm/sgidefs.h>
@@ -43,24 +45,6 @@
43#define smp_mb__before_clear_bit() smp_mb__before_llsc() 45#define smp_mb__before_clear_bit() smp_mb__before_llsc()
44#define smp_mb__after_clear_bit() smp_llsc_mb() 46#define smp_mb__after_clear_bit() smp_llsc_mb()
45 47
46
47/*
48 * These are the "slower" versions of the functions and are in bitops.c.
49 * These functions call raw_local_irq_{save,restore}().
50 */
51void __mips_set_bit(unsigned long nr, volatile unsigned long *addr);
52void __mips_clear_bit(unsigned long nr, volatile unsigned long *addr);
53void __mips_change_bit(unsigned long nr, volatile unsigned long *addr);
54int __mips_test_and_set_bit(unsigned long nr,
55 volatile unsigned long *addr);
56int __mips_test_and_set_bit_lock(unsigned long nr,
57 volatile unsigned long *addr);
58int __mips_test_and_clear_bit(unsigned long nr,
59 volatile unsigned long *addr);
60int __mips_test_and_change_bit(unsigned long nr,
61 volatile unsigned long *addr);
62
63
64/* 48/*
65 * set_bit - Atomically set a bit in memory 49 * set_bit - Atomically set a bit in memory
66 * @nr: the bit to set 50 * @nr: the bit to set
@@ -74,7 +58,7 @@ int __mips_test_and_change_bit(unsigned long nr,
74static inline void set_bit(unsigned long nr, volatile unsigned long *addr) 58static inline void set_bit(unsigned long nr, volatile unsigned long *addr)
75{ 59{
76 unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG); 60 unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG);
77 int bit = nr & SZLONG_MASK; 61 unsigned short bit = nr & SZLONG_MASK;
78 unsigned long temp; 62 unsigned long temp;
79 63
80 if (kernel_uses_llsc && R10000_LLSC_WAR) { 64 if (kernel_uses_llsc && R10000_LLSC_WAR) {
@@ -109,8 +93,17 @@ static inline void set_bit(unsigned long nr, volatile unsigned long *addr)
109 : "=&r" (temp), "+m" (*m) 93 : "=&r" (temp), "+m" (*m)
110 : "ir" (1UL << bit)); 94 : "ir" (1UL << bit));
111 } while (unlikely(!temp)); 95 } while (unlikely(!temp));
112 } else 96 } else {
113 __mips_set_bit(nr, addr); 97 volatile unsigned long *a = addr;
98 unsigned long mask;
99 unsigned long flags;
100
101 a += nr >> SZLONG_LOG;
102 mask = 1UL << bit;
103 raw_local_irq_save(flags);
104 *a |= mask;
105 raw_local_irq_restore(flags);
106 }
114} 107}
115 108
116/* 109/*
@@ -126,7 +119,7 @@ static inline void set_bit(unsigned long nr, volatile unsigned long *addr)
126static inline void clear_bit(unsigned long nr, volatile unsigned long *addr) 119static inline void clear_bit(unsigned long nr, volatile unsigned long *addr)
127{ 120{
128 unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG); 121 unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG);
129 int bit = nr & SZLONG_MASK; 122 unsigned short bit = nr & SZLONG_MASK;
130 unsigned long temp; 123 unsigned long temp;
131 124
132 if (kernel_uses_llsc && R10000_LLSC_WAR) { 125 if (kernel_uses_llsc && R10000_LLSC_WAR) {
@@ -161,8 +154,17 @@ static inline void clear_bit(unsigned long nr, volatile unsigned long *addr)
161 : "=&r" (temp), "+m" (*m) 154 : "=&r" (temp), "+m" (*m)
162 : "ir" (~(1UL << bit))); 155 : "ir" (~(1UL << bit)));
163 } while (unlikely(!temp)); 156 } while (unlikely(!temp));
164 } else 157 } else {
165 __mips_clear_bit(nr, addr); 158 volatile unsigned long *a = addr;
159 unsigned long mask;
160 unsigned long flags;
161
162 a += nr >> SZLONG_LOG;
163 mask = 1UL << bit;
164 raw_local_irq_save(flags);
165 *a &= ~mask;
166 raw_local_irq_restore(flags);
167 }
166} 168}
167 169
168/* 170/*
@@ -190,7 +192,7 @@ static inline void clear_bit_unlock(unsigned long nr, volatile unsigned long *ad
190 */ 192 */
191static inline void change_bit(unsigned long nr, volatile unsigned long *addr) 193static inline void change_bit(unsigned long nr, volatile unsigned long *addr)
192{ 194{
193 int bit = nr & SZLONG_MASK; 195 unsigned short bit = nr & SZLONG_MASK;
194 196
195 if (kernel_uses_llsc && R10000_LLSC_WAR) { 197 if (kernel_uses_llsc && R10000_LLSC_WAR) {
196 unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG); 198 unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG);
@@ -219,8 +221,17 @@ static inline void change_bit(unsigned long nr, volatile unsigned long *addr)
219 : "=&r" (temp), "+m" (*m) 221 : "=&r" (temp), "+m" (*m)
220 : "ir" (1UL << bit)); 222 : "ir" (1UL << bit));
221 } while (unlikely(!temp)); 223 } while (unlikely(!temp));
222 } else 224 } else {
223 __mips_change_bit(nr, addr); 225 volatile unsigned long *a = addr;
226 unsigned long mask;
227 unsigned long flags;
228
229 a += nr >> SZLONG_LOG;
230 mask = 1UL << bit;
231 raw_local_irq_save(flags);
232 *a ^= mask;
233 raw_local_irq_restore(flags);
234 }
224} 235}
225 236
226/* 237/*
@@ -234,7 +245,7 @@ static inline void change_bit(unsigned long nr, volatile unsigned long *addr)
234static inline int test_and_set_bit(unsigned long nr, 245static inline int test_and_set_bit(unsigned long nr,
235 volatile unsigned long *addr) 246 volatile unsigned long *addr)
236{ 247{
237 int bit = nr & SZLONG_MASK; 248 unsigned short bit = nr & SZLONG_MASK;
238 unsigned long res; 249 unsigned long res;
239 250
240 smp_mb__before_llsc(); 251 smp_mb__before_llsc();
@@ -271,8 +282,18 @@ static inline int test_and_set_bit(unsigned long nr,
271 } while (unlikely(!res)); 282 } while (unlikely(!res));
272 283
273 res = temp & (1UL << bit); 284 res = temp & (1UL << bit);
274 } else 285 } else {
275 res = __mips_test_and_set_bit(nr, addr); 286 volatile unsigned long *a = addr;
287 unsigned long mask;
288 unsigned long flags;
289
290 a += nr >> SZLONG_LOG;
291 mask = 1UL << bit;
292 raw_local_irq_save(flags);
293 res = (mask & *a);
294 *a |= mask;
295 raw_local_irq_restore(flags);
296 }
276 297
277 smp_llsc_mb(); 298 smp_llsc_mb();
278 299
@@ -290,7 +311,7 @@ static inline int test_and_set_bit(unsigned long nr,
290static inline int test_and_set_bit_lock(unsigned long nr, 311static inline int test_and_set_bit_lock(unsigned long nr,
291 volatile unsigned long *addr) 312 volatile unsigned long *addr)
292{ 313{
293 int bit = nr & SZLONG_MASK; 314 unsigned short bit = nr & SZLONG_MASK;
294 unsigned long res; 315 unsigned long res;
295 316
296 if (kernel_uses_llsc && R10000_LLSC_WAR) { 317 if (kernel_uses_llsc && R10000_LLSC_WAR) {
@@ -325,8 +346,18 @@ static inline int test_and_set_bit_lock(unsigned long nr,
325 } while (unlikely(!res)); 346 } while (unlikely(!res));
326 347
327 res = temp & (1UL << bit); 348 res = temp & (1UL << bit);
328 } else 349 } else {
329 res = __mips_test_and_set_bit_lock(nr, addr); 350 volatile unsigned long *a = addr;
351 unsigned long mask;
352 unsigned long flags;
353
354 a += nr >> SZLONG_LOG;
355 mask = 1UL << bit;
356 raw_local_irq_save(flags);
357 res = (mask & *a);
358 *a |= mask;
359 raw_local_irq_restore(flags);
360 }
330 361
331 smp_llsc_mb(); 362 smp_llsc_mb();
332 363
@@ -343,7 +374,7 @@ static inline int test_and_set_bit_lock(unsigned long nr,
343static inline int test_and_clear_bit(unsigned long nr, 374static inline int test_and_clear_bit(unsigned long nr,
344 volatile unsigned long *addr) 375 volatile unsigned long *addr)
345{ 376{
346 int bit = nr & SZLONG_MASK; 377 unsigned short bit = nr & SZLONG_MASK;
347 unsigned long res; 378 unsigned long res;
348 379
349 smp_mb__before_llsc(); 380 smp_mb__before_llsc();
@@ -398,8 +429,18 @@ static inline int test_and_clear_bit(unsigned long nr,
398 } while (unlikely(!res)); 429 } while (unlikely(!res));
399 430
400 res = temp & (1UL << bit); 431 res = temp & (1UL << bit);
401 } else 432 } else {
402 res = __mips_test_and_clear_bit(nr, addr); 433 volatile unsigned long *a = addr;
434 unsigned long mask;
435 unsigned long flags;
436
437 a += nr >> SZLONG_LOG;
438 mask = 1UL << bit;
439 raw_local_irq_save(flags);
440 res = (mask & *a);
441 *a &= ~mask;
442 raw_local_irq_restore(flags);
443 }
403 444
404 smp_llsc_mb(); 445 smp_llsc_mb();
405 446
@@ -417,7 +458,7 @@ static inline int test_and_clear_bit(unsigned long nr,
417static inline int test_and_change_bit(unsigned long nr, 458static inline int test_and_change_bit(unsigned long nr,
418 volatile unsigned long *addr) 459 volatile unsigned long *addr)
419{ 460{
420 int bit = nr & SZLONG_MASK; 461 unsigned short bit = nr & SZLONG_MASK;
421 unsigned long res; 462 unsigned long res;
422 463
423 smp_mb__before_llsc(); 464 smp_mb__before_llsc();
@@ -454,8 +495,18 @@ static inline int test_and_change_bit(unsigned long nr,
454 } while (unlikely(!res)); 495 } while (unlikely(!res));
455 496
456 res = temp & (1UL << bit); 497 res = temp & (1UL << bit);
457 } else 498 } else {
458 res = __mips_test_and_change_bit(nr, addr); 499 volatile unsigned long *a = addr;
500 unsigned long mask;
501 unsigned long flags;
502
503 a += nr >> SZLONG_LOG;
504 mask = 1UL << bit;
505 raw_local_irq_save(flags);
506 res = (mask & *a);
507 *a ^= mask;
508 raw_local_irq_restore(flags);
509 }
459 510
460 smp_llsc_mb(); 511 smp_llsc_mb();
461 512
diff --git a/arch/mips/include/asm/bmips.h b/arch/mips/include/asm/bmips.h
deleted file mode 100644
index 552a65a0cf2..00000000000
--- a/arch/mips/include/asm/bmips.h
+++ /dev/null
@@ -1,110 +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) 2011 by Kevin Cernekee (cernekee@gmail.com)
7 *
8 * Definitions for BMIPS processors
9 */
10#ifndef _ASM_BMIPS_H
11#define _ASM_BMIPS_H
12
13#include <linux/compiler.h>
14#include <linux/linkage.h>
15#include <asm/addrspace.h>
16#include <asm/mipsregs.h>
17#include <asm/hazards.h>
18
19/* NOTE: the CBR register returns a PA, and it can be above 0xff00_0000 */
20#define BMIPS_GET_CBR() ((void __iomem *)(CKSEG1 | \
21 (unsigned long) \
22 ((read_c0_brcm_cbr() >> 18) << 18)))
23
24#define BMIPS_RAC_CONFIG 0x00000000
25#define BMIPS_RAC_ADDRESS_RANGE 0x00000004
26#define BMIPS_RAC_CONFIG_1 0x00000008
27#define BMIPS_L2_CONFIG 0x0000000c
28#define BMIPS_LMB_CONTROL 0x0000001c
29#define BMIPS_SYSTEM_BASE 0x00000020
30#define BMIPS_PERF_GLOBAL_CONTROL 0x00020000
31#define BMIPS_PERF_CONTROL_0 0x00020004
32#define BMIPS_PERF_CONTROL_1 0x00020008
33#define BMIPS_PERF_COUNTER_0 0x00020010
34#define BMIPS_PERF_COUNTER_1 0x00020014
35#define BMIPS_PERF_COUNTER_2 0x00020018
36#define BMIPS_PERF_COUNTER_3 0x0002001c
37#define BMIPS_RELO_VECTOR_CONTROL_0 0x00030000
38#define BMIPS_RELO_VECTOR_CONTROL_1 0x00038000
39
40#define BMIPS_NMI_RESET_VEC 0x80000000
41#define BMIPS_WARM_RESTART_VEC 0x80000380
42
43#define ZSCM_REG_BASE 0x97000000
44
45#if !defined(__ASSEMBLY__)
46
47#include <linux/cpumask.h>
48#include <asm/r4kcache.h>
49
50extern struct plat_smp_ops bmips_smp_ops;
51extern char bmips_reset_nmi_vec;
52extern char bmips_reset_nmi_vec_end;
53extern char bmips_smp_movevec;
54extern char bmips_smp_int_vec;
55extern char bmips_smp_int_vec_end;
56
57extern int bmips_smp_enabled;
58extern int bmips_cpu_offset;
59extern cpumask_t bmips_booted_mask;
60
61extern void bmips_ebase_setup(void);
62extern asmlinkage void plat_wired_tlb_setup(void);
63
64static inline unsigned long bmips_read_zscm_reg(unsigned int offset)
65{
66 unsigned long ret;
67
68 __asm__ __volatile__(
69 ".set push\n"
70 ".set noreorder\n"
71 "cache %1, 0(%2)\n"
72 "sync\n"
73 "_ssnop\n"
74 "_ssnop\n"
75 "_ssnop\n"
76 "_ssnop\n"
77 "_ssnop\n"
78 "_ssnop\n"
79 "_ssnop\n"
80 "mfc0 %0, $28, 3\n"
81 "_ssnop\n"
82 ".set pop\n"
83 : "=&r" (ret)
84 : "i" (Index_Load_Tag_S), "r" (ZSCM_REG_BASE + offset)
85 : "memory");
86 return ret;
87}
88
89static inline void bmips_write_zscm_reg(unsigned int offset, unsigned long data)
90{
91 __asm__ __volatile__(
92 ".set push\n"
93 ".set noreorder\n"
94 "mtc0 %0, $28, 3\n"
95 "_ssnop\n"
96 "_ssnop\n"
97 "_ssnop\n"
98 "cache %1, 0(%2)\n"
99 "_ssnop\n"
100 "_ssnop\n"
101 "_ssnop\n"
102 : /* no outputs */
103 : "r" (data),
104 "i" (Index_Store_Tag_S), "r" (ZSCM_REG_BASE + offset)
105 : "memory");
106}
107
108#endif /* !defined(__ASSEMBLY__) */
109
110#endif /* _ASM_BMIPS_H */
diff --git a/arch/mips/include/asm/bootinfo.h b/arch/mips/include/asm/bootinfo.h
index 7a51d879e6c..35cd1bab69c 100644
--- a/arch/mips/include/asm/bootinfo.h
+++ b/arch/mips/include/asm/bootinfo.h
@@ -86,7 +86,6 @@ extern unsigned long mips_machtype;
86#define BOOT_MEM_RAM 1 86#define BOOT_MEM_RAM 1
87#define BOOT_MEM_ROM_DATA 2 87#define BOOT_MEM_ROM_DATA 2
88#define BOOT_MEM_RESERVED 3 88#define BOOT_MEM_RESERVED 3
89#define BOOT_MEM_INIT_RAM 4
90 89
91/* 90/*
92 * A memory map that's built upon what was determined 91 * A memory map that's built upon what was determined
diff --git a/arch/mips/include/asm/branch.h b/arch/mips/include/asm/branch.h
index 888766ae1f8..37c6857c8d4 100644
--- a/arch/mips/include/asm/branch.h
+++ b/arch/mips/include/asm/branch.h
@@ -9,7 +9,6 @@
9#define _ASM_BRANCH_H 9#define _ASM_BRANCH_H
10 10
11#include <asm/ptrace.h> 11#include <asm/ptrace.h>
12#include <asm/inst.h>
13 12
14static inline int delay_slot(struct pt_regs *regs) 13static inline int delay_slot(struct pt_regs *regs)
15{ 14{
@@ -24,11 +23,7 @@ static inline unsigned long exception_epc(struct pt_regs *regs)
24 return regs->cp0_epc + 4; 23 return regs->cp0_epc + 4;
25} 24}
26 25
27#define BRANCH_LIKELY_TAKEN 0x0001
28
29extern int __compute_return_epc(struct pt_regs *regs); 26extern int __compute_return_epc(struct pt_regs *regs);
30extern int __compute_return_epc_for_insn(struct pt_regs *regs,
31 union mips_instruction insn);
32 27
33static inline int compute_return_epc(struct pt_regs *regs) 28static inline int compute_return_epc(struct pt_regs *regs)
34{ 29{
diff --git a/arch/mips/include/asm/cacheflush.h b/arch/mips/include/asm/cacheflush.h
index 69468ded282..40bb9fde205 100644
--- a/arch/mips/include/asm/cacheflush.h
+++ b/arch/mips/include/asm/cacheflush.h
@@ -114,28 +114,4 @@ unsigned long run_uncached(void *func);
114extern void *kmap_coherent(struct page *page, unsigned long addr); 114extern void *kmap_coherent(struct page *page, unsigned long addr);
115extern void kunmap_coherent(void); 115extern void kunmap_coherent(void);
116 116
117#define ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE
118static inline void flush_kernel_dcache_page(struct page *page)
119{
120 BUG_ON(cpu_has_dc_aliases && PageHighMem(page));
121}
122
123/*
124 * For now flush_kernel_vmap_range and invalidate_kernel_vmap_range both do a
125 * cache writeback and invalidate operation.
126 */
127extern void (*__flush_kernel_vmap_range)(unsigned long vaddr, int size);
128
129static inline void flush_kernel_vmap_range(void *vaddr, int size)
130{
131 if (cpu_has_dc_aliases)
132 __flush_kernel_vmap_range((unsigned long) vaddr, size);
133}
134
135static inline void invalidate_kernel_vmap_range(void *vaddr, int size)
136{
137 if (cpu_has_dc_aliases)
138 __flush_kernel_vmap_range((unsigned long) vaddr, size);
139}
140
141#endif /* _ASM_CACHEFLUSH_H */ 117#endif /* _ASM_CACHEFLUSH_H */
diff --git a/arch/mips/include/asm/clkdev.h b/arch/mips/include/asm/clkdev.h
deleted file mode 100644
index 262475414e5..00000000000
--- a/arch/mips/include/asm/clkdev.h
+++ /dev/null
@@ -1,25 +0,0 @@
1/*
2 * based on arch/arm/include/asm/clkdev.h
3 *
4 * Copyright (C) 2008 Russell King.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * Helper for the clk API to assist looking up a struct clk.
11 */
12#ifndef __ASM_CLKDEV_H
13#define __ASM_CLKDEV_H
14
15#include <linux/slab.h>
16
17#define __clk_get(clk) ({ 1; })
18#define __clk_put(clk) do { } while (0)
19
20static inline struct clk_lookup_alloc *__clkdev_alloc(size_t size)
21{
22 return kzalloc(size, GFP_KERNEL);
23}
24
25#endif
diff --git a/arch/mips/include/asm/clock.h b/arch/mips/include/asm/clock.h
index c9456e7a728..83894aa7932 100644
--- a/arch/mips/include/asm/clock.h
+++ b/arch/mips/include/asm/clock.h
@@ -50,4 +50,15 @@ void clk_recalc_rate(struct clk *);
50int clk_register(struct clk *); 50int clk_register(struct clk *);
51void clk_unregister(struct clk *); 51void clk_unregister(struct clk *);
52 52
53/* the exported API, in addition to clk_set_rate */
54/**
55 * clk_set_rate_ex - set the clock rate for a clock source, with additional parameter
56 * @clk: clock source
57 * @rate: desired clock rate in Hz
58 * @algo_id: algorithm id to be passed down to ops->set_rate
59 *
60 * Returns success (0) or negative errno.
61 */
62int clk_set_rate_ex(struct clk *clk, unsigned long rate, int algo_id);
63
53#endif /* __ASM_MIPS_CLOCK_H */ 64#endif /* __ASM_MIPS_CLOCK_H */
diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h
index eee10dc07ac..d8d1c2805ac 100644
--- a/arch/mips/include/asm/cmpxchg.h
+++ b/arch/mips/include/asm/cmpxchg.h
@@ -8,132 +8,7 @@
8#ifndef __ASM_CMPXCHG_H 8#ifndef __ASM_CMPXCHG_H
9#define __ASM_CMPXCHG_H 9#define __ASM_CMPXCHG_H
10 10
11#include <linux/bug.h>
12#include <linux/irqflags.h> 11#include <linux/irqflags.h>
13#include <asm/war.h>
14
15static inline unsigned long __xchg_u32(volatile int * m, unsigned int val)
16{
17 __u32 retval;
18
19 smp_mb__before_llsc();
20
21 if (kernel_uses_llsc && R10000_LLSC_WAR) {
22 unsigned long dummy;
23
24 __asm__ __volatile__(
25 " .set mips3 \n"
26 "1: ll %0, %3 # xchg_u32 \n"
27 " .set mips0 \n"
28 " move %2, %z4 \n"
29 " .set mips3 \n"
30 " sc %2, %1 \n"
31 " beqzl %2, 1b \n"
32 " .set mips0 \n"
33 : "=&r" (retval), "=m" (*m), "=&r" (dummy)
34 : "R" (*m), "Jr" (val)
35 : "memory");
36 } else if (kernel_uses_llsc) {
37 unsigned long dummy;
38
39 do {
40 __asm__ __volatile__(
41 " .set mips3 \n"
42 " ll %0, %3 # xchg_u32 \n"
43 " .set mips0 \n"
44 " move %2, %z4 \n"
45 " .set mips3 \n"
46 " sc %2, %1 \n"
47 " .set mips0 \n"
48 : "=&r" (retval), "=m" (*m), "=&r" (dummy)
49 : "R" (*m), "Jr" (val)
50 : "memory");
51 } while (unlikely(!dummy));
52 } else {
53 unsigned long flags;
54
55 raw_local_irq_save(flags);
56 retval = *m;
57 *m = val;
58 raw_local_irq_restore(flags); /* implies memory barrier */
59 }
60
61 smp_llsc_mb();
62
63 return retval;
64}
65
66#ifdef CONFIG_64BIT
67static inline __u64 __xchg_u64(volatile __u64 * m, __u64 val)
68{
69 __u64 retval;
70
71 smp_mb__before_llsc();
72
73 if (kernel_uses_llsc && R10000_LLSC_WAR) {
74 unsigned long dummy;
75
76 __asm__ __volatile__(
77 " .set mips3 \n"
78 "1: lld %0, %3 # xchg_u64 \n"
79 " move %2, %z4 \n"
80 " scd %2, %1 \n"
81 " beqzl %2, 1b \n"
82 " .set mips0 \n"
83 : "=&r" (retval), "=m" (*m), "=&r" (dummy)
84 : "R" (*m), "Jr" (val)
85 : "memory");
86 } else if (kernel_uses_llsc) {
87 unsigned long dummy;
88
89 do {
90 __asm__ __volatile__(
91 " .set mips3 \n"
92 " lld %0, %3 # xchg_u64 \n"
93 " move %2, %z4 \n"
94 " scd %2, %1 \n"
95 " .set mips0 \n"
96 : "=&r" (retval), "=m" (*m), "=&r" (dummy)
97 : "R" (*m), "Jr" (val)
98 : "memory");
99 } while (unlikely(!dummy));
100 } else {
101 unsigned long flags;
102
103 raw_local_irq_save(flags);
104 retval = *m;
105 *m = val;
106 raw_local_irq_restore(flags); /* implies memory barrier */
107 }
108
109 smp_llsc_mb();
110
111 return retval;
112}
113#else
114extern __u64 __xchg_u64_unsupported_on_32bit_kernels(volatile __u64 * m, __u64 val);
115#define __xchg_u64 __xchg_u64_unsupported_on_32bit_kernels
116#endif
117
118static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size)
119{
120 switch (size) {
121 case 4:
122 return __xchg_u32(ptr, x);
123 case 8:
124 return __xchg_u64(ptr, x);
125 }
126
127 return x;
128}
129
130#define xchg(ptr, x) \
131({ \
132 BUILD_BUG_ON(sizeof(*(ptr)) & ~0xc); \
133 \
134 ((__typeof__(*(ptr))) \
135 __xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))); \
136})
137 12
138#define __HAVE_ARCH_CMPXCHG 1 13#define __HAVE_ARCH_CMPXCHG 1
139 14
diff --git a/arch/mips/include/asm/compat-signal.h b/arch/mips/include/asm/compat-signal.h
index 6599a901b63..368a99e5c3e 100644
--- a/arch/mips/include/asm/compat-signal.h
+++ b/arch/mips/include/asm/compat-signal.h
@@ -10,6 +10,68 @@
10 10
11#include <asm/uaccess.h> 11#include <asm/uaccess.h>
12 12
13#define SI_PAD_SIZE32 ((SI_MAX_SIZE/sizeof(int)) - 3)
14
15typedef struct compat_siginfo {
16 int si_signo;
17 int si_code;
18 int si_errno;
19
20 union {
21 int _pad[SI_PAD_SIZE32];
22
23 /* kill() */
24 struct {
25 compat_pid_t _pid; /* sender's pid */
26 compat_uid_t _uid; /* sender's uid */
27 } _kill;
28
29 /* SIGCHLD */
30 struct {
31 compat_pid_t _pid; /* which child */
32 compat_uid_t _uid; /* sender's uid */
33 int _status; /* exit code */
34 compat_clock_t _utime;
35 compat_clock_t _stime;
36 } _sigchld;
37
38 /* IRIX SIGCHLD */
39 struct {
40 compat_pid_t _pid; /* which child */
41 compat_clock_t _utime;
42 int _status; /* exit code */
43 compat_clock_t _stime;
44 } _irix_sigchld;
45
46 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
47 struct {
48 s32 _addr; /* faulting insn/memory ref. */
49 } _sigfault;
50
51 /* SIGPOLL, SIGXFSZ (To do ...) */
52 struct {
53 int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
54 int _fd;
55 } _sigpoll;
56
57 /* POSIX.1b timers */
58 struct {
59 timer_t _tid; /* timer id */
60 int _overrun; /* overrun count */
61 compat_sigval_t _sigval;/* same as below */
62 int _sys_private; /* not to be passed to user */
63 } _timer;
64
65 /* POSIX.1b signals */
66 struct {
67 compat_pid_t _pid; /* sender's pid */
68 compat_uid_t _uid; /* sender's uid */
69 compat_sigval_t _sigval;
70 } _rt;
71
72 } _sifields;
73} compat_siginfo_t;
74
13static inline int __copy_conv_sigset_to_user(compat_sigset_t __user *d, 75static inline int __copy_conv_sigset_to_user(compat_sigset_t __user *d,
14 const sigset_t *s) 76 const sigset_t *s)
15{ 77{
diff --git a/arch/mips/include/asm/compat.h b/arch/mips/include/asm/compat.h
index 3c5d1464b7b..dbc51065df5 100644
--- a/arch/mips/include/asm/compat.h
+++ b/arch/mips/include/asm/compat.h
@@ -43,7 +43,6 @@ typedef s64 compat_s64;
43typedef u32 compat_uint_t; 43typedef u32 compat_uint_t;
44typedef u32 compat_ulong_t; 44typedef u32 compat_ulong_t;
45typedef u64 compat_u64; 45typedef u64 compat_u64;
46typedef u32 compat_uptr_t;
47 46
48struct compat_timespec { 47struct compat_timespec {
49 compat_time_t tv_sec; 48 compat_time_t tv_sec;
@@ -112,8 +111,7 @@ struct compat_statfs {
112 int f_bavail; 111 int f_bavail;
113 compat_fsid_t f_fsid; 112 compat_fsid_t f_fsid;
114 int f_namelen; 113 int f_namelen;
115 int f_flags; 114 int f_spare[6];
116 int f_spare[5];
117}; 115};
118 116
119#define COMPAT_RLIM_INFINITY 0x7fffffffUL 117#define COMPAT_RLIM_INFINITY 0x7fffffffUL
@@ -125,73 +123,6 @@ typedef u32 compat_old_sigset_t; /* at least 32 bits */
125 123
126typedef u32 compat_sigset_word; 124typedef u32 compat_sigset_word;
127 125
128typedef union compat_sigval {
129 compat_int_t sival_int;
130 compat_uptr_t sival_ptr;
131} compat_sigval_t;
132
133#define SI_PAD_SIZE32 (128/sizeof(int) - 3)
134
135typedef struct compat_siginfo {
136 int si_signo;
137 int si_code;
138 int si_errno;
139
140 union {
141 int _pad[SI_PAD_SIZE32];
142
143 /* kill() */
144 struct {
145 compat_pid_t _pid; /* sender's pid */
146 __compat_uid_t _uid; /* sender's uid */
147 } _kill;
148
149 /* SIGCHLD */
150 struct {
151 compat_pid_t _pid; /* which child */
152 __compat_uid_t _uid; /* sender's uid */
153 int _status; /* exit code */
154 compat_clock_t _utime;
155 compat_clock_t _stime;
156 } _sigchld;
157
158 /* IRIX SIGCHLD */
159 struct {
160 compat_pid_t _pid; /* which child */
161 compat_clock_t _utime;
162 int _status; /* exit code */
163 compat_clock_t _stime;
164 } _irix_sigchld;
165
166 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
167 struct {
168 s32 _addr; /* faulting insn/memory ref. */
169 } _sigfault;
170
171 /* SIGPOLL, SIGXFSZ (To do ...) */
172 struct {
173 int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
174 int _fd;
175 } _sigpoll;
176
177 /* POSIX.1b timers */
178 struct {
179 timer_t _tid; /* timer id */
180 int _overrun; /* overrun count */
181 compat_sigval_t _sigval;/* same as below */
182 int _sys_private; /* not to be passed to user */
183 } _timer;
184
185 /* POSIX.1b signals */
186 struct {
187 compat_pid_t _pid; /* sender's pid */
188 __compat_uid_t _uid; /* sender's uid */
189 compat_sigval_t _sigval;
190 } _rt;
191
192 } _sifields;
193} compat_siginfo_t;
194
195#define COMPAT_OFF_T_MAX 0x7fffffff 126#define COMPAT_OFF_T_MAX 0x7fffffff
196#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL 127#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
197 128
@@ -201,6 +132,7 @@ typedef struct compat_siginfo {
201 * as pointers because the syscall entry code will have 132 * as pointers because the syscall entry code will have
202 * appropriately converted them already. 133 * appropriately converted them already.
203 */ 134 */
135typedef u32 compat_uptr_t;
204 136
205static inline void __user *compat_ptr(compat_uptr_t uptr) 137static inline void __user *compat_ptr(compat_uptr_t uptr)
206{ 138{
@@ -290,7 +222,7 @@ struct compat_shmid64_ds {
290 222
291static inline int is_compat_task(void) 223static inline int is_compat_task(void)
292{ 224{
293 return test_thread_flag(TIF_32BIT_ADDR); 225 return test_thread_flag(TIF_32BIT);
294} 226}
295 227
296#endif /* _ASM_COMPAT_H */ 228#endif /* _ASM_COMPAT_H */
diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h
index c507b931b48..ca400f7c3f5 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 cpu_has_rixi 98#ifndef kernel_uses_smartmips_rixi
99#define cpu_has_rixi (cpu_data[0].options & MIPS_CPU_RIXI) 99#define kernel_uses_smartmips_rixi 0
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)
@@ -171,10 +171,6 @@
171#define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP) 171#define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP)
172#endif 172#endif
173 173
174#ifndef cpu_has_dsp2
175#define cpu_has_dsp2 (cpu_data[0].ases & MIPS_ASE_DSP2P)
176#endif
177
178#ifndef cpu_has_mipsmt 174#ifndef cpu_has_mipsmt
179#define cpu_has_mipsmt (cpu_data[0].ases & MIPS_ASE_MIPSMT) 175#define cpu_has_mipsmt (cpu_data[0].ases & MIPS_ASE_MIPSMT)
180#endif 176#endif
@@ -256,8 +252,4 @@
256#define cpu_hwrena_impl_bits 0 252#define cpu_hwrena_impl_bits 0
257#endif 253#endif
258 254
259#ifndef cpu_has_perf_cntr_intr_bit
260#define cpu_has_perf_cntr_intr_bit (cpu_data[0].options & MIPS_CPU_PCI)
261#endif
262
263#endif /* __ASM_CPU_FEATURES_H */ 255#endif /* __ASM_CPU_FEATURES_H */
diff --git a/arch/mips/include/asm/cpu.h b/arch/mips/include/asm/cpu.h
index 90112adb194..5f95a4bfc73 100644
--- a/arch/mips/include/asm/cpu.h
+++ b/arch/mips/include/asm/cpu.h
@@ -94,8 +94,6 @@
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
98#define PRID_IMP_M14KC 0x9c00
99 97
100/* 98/*
101 * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE 99 * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE
@@ -137,9 +135,6 @@
137#define PRID_IMP_CAVIUM_CN50XX 0x0600 135#define PRID_IMP_CAVIUM_CN50XX 0x0600
138#define PRID_IMP_CAVIUM_CN52XX 0x0700 136#define PRID_IMP_CAVIUM_CN52XX 0x0700
139#define PRID_IMP_CAVIUM_CN63XX 0x9000 137#define PRID_IMP_CAVIUM_CN63XX 0x9000
140#define PRID_IMP_CAVIUM_CN68XX 0x9100
141#define PRID_IMP_CAVIUM_CN66XX 0x9200
142#define PRID_IMP_CAVIUM_CN61XX 0x9300
143 138
144/* 139/*
145 * These are the PRID's for when 23:16 == PRID_COMP_INGENIC 140 * These are the PRID's for when 23:16 == PRID_COMP_INGENIC
@@ -171,10 +166,6 @@
171#define PRID_IMP_NETLOGIC_XLS412B 0x4c00 166#define PRID_IMP_NETLOGIC_XLS412B 0x4c00
172#define PRID_IMP_NETLOGIC_XLS408B 0x4e00 167#define PRID_IMP_NETLOGIC_XLS408B 0x4e00
173#define PRID_IMP_NETLOGIC_XLS404B 0x4f00 168#define PRID_IMP_NETLOGIC_XLS404B 0x4f00
174#define PRID_IMP_NETLOGIC_AU13XX 0x8000
175
176#define PRID_IMP_NETLOGIC_XLP8XX 0x1000
177#define PRID_IMP_NETLOGIC_XLP3XX 0x1100
178 169
179/* 170/*
180 * Definitions for 7:0 on legacy processors 171 * Definitions for 7:0 on legacy processors
@@ -198,7 +189,6 @@
198#define PRID_REV_VR4181A 0x0070 /* Same as VR4122 */ 189#define PRID_REV_VR4181A 0x0070 /* Same as VR4122 */
199#define PRID_REV_VR4130 0x0080 190#define PRID_REV_VR4130 0x0080
200#define PRID_REV_34K_V1_0_2 0x0022 191#define PRID_REV_34K_V1_0_2 0x0022
201#define PRID_REV_LOONGSON1B 0x0020
202#define PRID_REV_LOONGSON2E 0x0002 192#define PRID_REV_LOONGSON2E 0x0002
203#define PRID_REV_LOONGSON2F 0x0003 193#define PRID_REV_LOONGSON2F 0x0003
204 194
@@ -243,9 +233,9 @@ enum cpu_type_enum {
243 */ 233 */
244 CPU_R4000PC, CPU_R4000SC, CPU_R4000MC, CPU_R4200, CPU_R4300, CPU_R4310, 234 CPU_R4000PC, CPU_R4000SC, CPU_R4000MC, CPU_R4200, CPU_R4300, CPU_R4310,
245 CPU_R4400PC, CPU_R4400SC, CPU_R4400MC, CPU_R4600, CPU_R4640, CPU_R4650, 235 CPU_R4400PC, CPU_R4400SC, CPU_R4400MC, CPU_R4600, CPU_R4640, CPU_R4650,
246 CPU_R4700, CPU_R5000, CPU_R5500, CPU_NEVADA, CPU_R5432, CPU_R10000, 236 CPU_R4700, CPU_R5000, CPU_R5000A, CPU_R5500, CPU_NEVADA, CPU_R5432,
247 CPU_R12000, CPU_R14000, CPU_VR41XX, CPU_VR4111, CPU_VR4121, CPU_VR4122, 237 CPU_R10000, CPU_R12000, CPU_R14000, CPU_VR41XX, CPU_VR4111, CPU_VR4121,
248 CPU_VR4131, CPU_VR4133, CPU_VR4181, CPU_VR4181A, CPU_RM7000, 238 CPU_VR4122, CPU_VR4131, CPU_VR4133, CPU_VR4181, CPU_VR4181A, CPU_RM7000,
249 CPU_SR71000, CPU_RM9000, CPU_TX49XX, 239 CPU_SR71000, CPU_RM9000, CPU_TX49XX,
250 240
251 /* 241 /*
@@ -263,14 +253,14 @@ enum cpu_type_enum {
263 */ 253 */
264 CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_1004K, CPU_74K, 254 CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_1004K, CPU_74K,
265 CPU_ALCHEMY, CPU_PR4450, CPU_BMIPS32, CPU_BMIPS3300, CPU_BMIPS4350, 255 CPU_ALCHEMY, CPU_PR4450, CPU_BMIPS32, CPU_BMIPS3300, CPU_BMIPS4350,
266 CPU_BMIPS4380, CPU_BMIPS5000, CPU_JZRISC, CPU_LOONGSON1, CPU_M14KC, 256 CPU_BMIPS4380, CPU_BMIPS5000, CPU_JZRISC,
267 257
268 /* 258 /*
269 * MIPS64 class processors 259 * MIPS64 class processors
270 */ 260 */
271 CPU_5KC, CPU_5KE, CPU_20KC, CPU_25KF, CPU_SB1, CPU_SB1A, CPU_LOONGSON2, 261 CPU_5KC, CPU_20KC, CPU_25KF, CPU_SB1, CPU_SB1A, CPU_LOONGSON2,
272 CPU_CAVIUM_OCTEON, CPU_CAVIUM_OCTEON_PLUS, CPU_CAVIUM_OCTEON2, 262 CPU_CAVIUM_OCTEON, CPU_CAVIUM_OCTEON_PLUS, CPU_CAVIUM_OCTEON2,
273 CPU_XLR, CPU_XLP, 263 CPU_XLR,
274 264
275 CPU_LAST 265 CPU_LAST
276}; 266};
@@ -291,7 +281,7 @@ enum cpu_type_enum {
291#define MIPS_CPU_ISA_M64R2 0x00000100 281#define MIPS_CPU_ISA_M64R2 0x00000100
292 282
293#define MIPS_CPU_ISA_32BIT (MIPS_CPU_ISA_I | MIPS_CPU_ISA_II | \ 283#define MIPS_CPU_ISA_32BIT (MIPS_CPU_ISA_I | MIPS_CPU_ISA_II | \
294 MIPS_CPU_ISA_M32R1 | MIPS_CPU_ISA_M32R2) 284 MIPS_CPU_ISA_M32R1 | MIPS_CPU_ISA_M32R2 )
295#define MIPS_CPU_ISA_64BIT (MIPS_CPU_ISA_III | MIPS_CPU_ISA_IV | \ 285#define MIPS_CPU_ISA_64BIT (MIPS_CPU_ISA_III | MIPS_CPU_ISA_IV | \
296 MIPS_CPU_ISA_V | MIPS_CPU_ISA_M64R1 | MIPS_CPU_ISA_M64R2) 286 MIPS_CPU_ISA_V | MIPS_CPU_ISA_M64R1 | MIPS_CPU_ISA_M64R2)
297 287
@@ -320,8 +310,6 @@ enum cpu_type_enum {
320#define MIPS_CPU_VINT 0x00080000 /* CPU supports MIPSR2 vectored interrupts */ 310#define MIPS_CPU_VINT 0x00080000 /* CPU supports MIPSR2 vectored interrupts */
321#define MIPS_CPU_VEIC 0x00100000 /* CPU supports MIPSR2 external interrupt controller mode */ 311#define MIPS_CPU_VEIC 0x00100000 /* CPU supports MIPSR2 external interrupt controller mode */
322#define MIPS_CPU_ULRI 0x00200000 /* CPU has ULRI feature */ 312#define MIPS_CPU_ULRI 0x00200000 /* CPU has ULRI feature */
323#define MIPS_CPU_PCI 0x00400000 /* CPU has Perf Ctr Int indicator */
324#define MIPS_CPU_RIXI 0x00800000 /* CPU has TLB Read/eXec Inhibit */
325 313
326/* 314/*
327 * CPU ASE encodings 315 * CPU ASE encodings
@@ -332,7 +320,6 @@ enum cpu_type_enum {
332#define MIPS_ASE_SMARTMIPS 0x00000008 /* SmartMIPS */ 320#define MIPS_ASE_SMARTMIPS 0x00000008 /* SmartMIPS */
333#define MIPS_ASE_DSP 0x00000010 /* Signal Processing ASE */ 321#define MIPS_ASE_DSP 0x00000010 /* Signal Processing ASE */
334#define MIPS_ASE_MIPSMT 0x00000020 /* CPU supports MIPS MT */ 322#define MIPS_ASE_MIPSMT 0x00000020 /* CPU supports MIPS MT */
335#define MIPS_ASE_DSP2P 0x00000040 /* Signal Processing ASE Rev 2 */
336 323
337 324
338#endif /* _ASM_CPU_H */ 325#endif /* _ASM_CPU_H */
diff --git a/arch/mips/include/asm/delay.h b/arch/mips/include/asm/delay.h
index dc0a5f77a35..e7cd78277c2 100644
--- a/arch/mips/include/asm/delay.h
+++ b/arch/mips/include/asm/delay.h
@@ -13,9 +13,9 @@
13 13
14#include <linux/param.h> 14#include <linux/param.h>
15 15
16extern void __delay(unsigned long loops); 16extern void __delay(unsigned int loops);
17extern void __ndelay(unsigned long ns); 17extern void __ndelay(unsigned int ns);
18extern void __udelay(unsigned long us); 18extern void __udelay(unsigned int us);
19 19
20#define ndelay(ns) __ndelay(ns) 20#define ndelay(ns) __ndelay(ns)
21#define udelay(us) __udelay(us) 21#define udelay(us) __udelay(us)
diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h
index 006b43e38a9..7aa37ddfca4 100644
--- a/arch/mips/include/asm/dma-mapping.h
+++ b/arch/mips/include/asm/dma-mapping.h
@@ -40,8 +40,6 @@ static inline int dma_supported(struct device *dev, u64 mask)
40static inline int dma_mapping_error(struct device *dev, u64 mask) 40static inline int dma_mapping_error(struct device *dev, u64 mask)
41{ 41{
42 struct dma_map_ops *ops = get_dma_ops(dev); 42 struct dma_map_ops *ops = get_dma_ops(dev);
43
44 debug_dma_mapping_error(dev, mask);
45 return ops->mapping_error(dev, mask); 43 return ops->mapping_error(dev, mask);
46} 44}
47 45
@@ -59,31 +57,25 @@ dma_set_mask(struct device *dev, u64 mask)
59extern void dma_cache_sync(struct device *dev, void *vaddr, size_t size, 57extern void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
60 enum dma_data_direction direction); 58 enum dma_data_direction direction);
61 59
62#define dma_alloc_coherent(d,s,h,f) dma_alloc_attrs(d,s,h,f,NULL) 60static inline void *dma_alloc_coherent(struct device *dev, size_t size,
63 61 dma_addr_t *dma_handle, gfp_t gfp)
64static inline void *dma_alloc_attrs(struct device *dev, size_t size,
65 dma_addr_t *dma_handle, gfp_t gfp,
66 struct dma_attrs *attrs)
67{ 62{
68 void *ret; 63 void *ret;
69 struct dma_map_ops *ops = get_dma_ops(dev); 64 struct dma_map_ops *ops = get_dma_ops(dev);
70 65
71 ret = ops->alloc(dev, size, dma_handle, gfp, attrs); 66 ret = ops->alloc_coherent(dev, size, dma_handle, gfp);
72 67
73 debug_dma_alloc_coherent(dev, size, *dma_handle, ret); 68 debug_dma_alloc_coherent(dev, size, *dma_handle, ret);
74 69
75 return ret; 70 return ret;
76} 71}
77 72
78#define dma_free_coherent(d,s,c,h) dma_free_attrs(d,s,c,h,NULL) 73static inline void dma_free_coherent(struct device *dev, size_t size,
79 74 void *vaddr, dma_addr_t dma_handle)
80static inline void dma_free_attrs(struct device *dev, size_t size,
81 void *vaddr, dma_addr_t dma_handle,
82 struct dma_attrs *attrs)
83{ 75{
84 struct dma_map_ops *ops = get_dma_ops(dev); 76 struct dma_map_ops *ops = get_dma_ops(dev);
85 77
86 ops->free(dev, size, vaddr, dma_handle, attrs); 78 ops->free_coherent(dev, size, vaddr, dma_handle);
87 79
88 debug_dma_free_coherent(dev, size, vaddr, dma_handle); 80 debug_dma_free_coherent(dev, size, vaddr, dma_handle);
89} 81}
diff --git a/arch/mips/include/asm/dma.h b/arch/mips/include/asm/dma.h
index f5097f65a8a..2d47da62d5a 100644
--- a/arch/mips/include/asm/dma.h
+++ b/arch/mips/include/asm/dma.h
@@ -15,6 +15,7 @@
15#include <asm/io.h> /* need byte IO */ 15#include <asm/io.h> /* need byte IO */
16#include <linux/spinlock.h> /* And spinlocks */ 16#include <linux/spinlock.h> /* And spinlocks */
17#include <linux/delay.h> 17#include <linux/delay.h>
18#include <asm/system.h>
18 19
19 20
20#ifdef HAVE_REALLY_SLOW_DMA_CONTROLLER 21#ifdef HAVE_REALLY_SLOW_DMA_CONTROLLER
diff --git a/arch/mips/include/asm/errno.h b/arch/mips/include/asm/errno.h
index 21d91cdfe3c..6dcd3583ed0 100644
--- a/arch/mips/include/asm/errno.h
+++ b/arch/mips/include/asm/errno.h
@@ -8,10 +8,128 @@
8#ifndef _ASM_ERRNO_H 8#ifndef _ASM_ERRNO_H
9#define _ASM_ERRNO_H 9#define _ASM_ERRNO_H
10 10
11#include <uapi/asm/errno.h> 11/*
12 * These error numbers are intended to be MIPS ABI compatible
13 */
14
15#include <asm-generic/errno-base.h>
16
17#define ENOMSG 35 /* No message of desired type */
18#define EIDRM 36 /* Identifier removed */
19#define ECHRNG 37 /* Channel number out of range */
20#define EL2NSYNC 38 /* Level 2 not synchronized */
21#define EL3HLT 39 /* Level 3 halted */
22#define EL3RST 40 /* Level 3 reset */
23#define ELNRNG 41 /* Link number out of range */
24#define EUNATCH 42 /* Protocol driver not attached */
25#define ENOCSI 43 /* No CSI structure available */
26#define EL2HLT 44 /* Level 2 halted */
27#define EDEADLK 45 /* Resource deadlock would occur */
28#define ENOLCK 46 /* No record locks available */
29#define EBADE 50 /* Invalid exchange */
30#define EBADR 51 /* Invalid request descriptor */
31#define EXFULL 52 /* Exchange full */
32#define ENOANO 53 /* No anode */
33#define EBADRQC 54 /* Invalid request code */
34#define EBADSLT 55 /* Invalid slot */
35#define EDEADLOCK 56 /* File locking deadlock error */
36#define EBFONT 59 /* Bad font file format */
37#define ENOSTR 60 /* Device not a stream */
38#define ENODATA 61 /* No data available */
39#define ETIME 62 /* Timer expired */
40#define ENOSR 63 /* Out of streams resources */
41#define ENONET 64 /* Machine is not on the network */
42#define ENOPKG 65 /* Package not installed */
43#define EREMOTE 66 /* Object is remote */
44#define ENOLINK 67 /* Link has been severed */
45#define EADV 68 /* Advertise error */
46#define ESRMNT 69 /* Srmount error */
47#define ECOMM 70 /* Communication error on send */
48#define EPROTO 71 /* Protocol error */
49#define EDOTDOT 73 /* RFS specific error */
50#define EMULTIHOP 74 /* Multihop attempted */
51#define EBADMSG 77 /* Not a data message */
52#define ENAMETOOLONG 78 /* File name too long */
53#define EOVERFLOW 79 /* Value too large for defined data type */
54#define ENOTUNIQ 80 /* Name not unique on network */
55#define EBADFD 81 /* File descriptor in bad state */
56#define EREMCHG 82 /* Remote address changed */
57#define ELIBACC 83 /* Can not access a needed shared library */
58#define ELIBBAD 84 /* Accessing a corrupted shared library */
59#define ELIBSCN 85 /* .lib section in a.out corrupted */
60#define ELIBMAX 86 /* Attempting to link in too many shared libraries */
61#define ELIBEXEC 87 /* Cannot exec a shared library directly */
62#define EILSEQ 88 /* Illegal byte sequence */
63#define ENOSYS 89 /* Function not implemented */
64#define ELOOP 90 /* Too many symbolic links encountered */
65#define ERESTART 91 /* Interrupted system call should be restarted */
66#define ESTRPIPE 92 /* Streams pipe error */
67#define ENOTEMPTY 93 /* Directory not empty */
68#define EUSERS 94 /* Too many users */
69#define ENOTSOCK 95 /* Socket operation on non-socket */
70#define EDESTADDRREQ 96 /* Destination address required */
71#define EMSGSIZE 97 /* Message too long */
72#define EPROTOTYPE 98 /* Protocol wrong type for socket */
73#define ENOPROTOOPT 99 /* Protocol not available */
74#define EPROTONOSUPPORT 120 /* Protocol not supported */
75#define ESOCKTNOSUPPORT 121 /* Socket type not supported */
76#define EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
77#define EPFNOSUPPORT 123 /* Protocol family not supported */
78#define EAFNOSUPPORT 124 /* Address family not supported by protocol */
79#define EADDRINUSE 125 /* Address already in use */
80#define EADDRNOTAVAIL 126 /* Cannot assign requested address */
81#define ENETDOWN 127 /* Network is down */
82#define ENETUNREACH 128 /* Network is unreachable */
83#define ENETRESET 129 /* Network dropped connection because of reset */
84#define ECONNABORTED 130 /* Software caused connection abort */
85#define ECONNRESET 131 /* Connection reset by peer */
86#define ENOBUFS 132 /* No buffer space available */
87#define EISCONN 133 /* Transport endpoint is already connected */
88#define ENOTCONN 134 /* Transport endpoint is not connected */
89#define EUCLEAN 135 /* Structure needs cleaning */
90#define ENOTNAM 137 /* Not a XENIX named type file */
91#define ENAVAIL 138 /* No XENIX semaphores available */
92#define EISNAM 139 /* Is a named type file */
93#define EREMOTEIO 140 /* Remote I/O error */
94#define EINIT 141 /* Reserved */
95#define EREMDEV 142 /* Error 142 */
96#define ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
97#define ETOOMANYREFS 144 /* Too many references: cannot splice */
98#define ETIMEDOUT 145 /* Connection timed out */
99#define ECONNREFUSED 146 /* Connection refused */
100#define EHOSTDOWN 147 /* Host is down */
101#define EHOSTUNREACH 148 /* No route to host */
102#define EWOULDBLOCK EAGAIN /* Operation would block */
103#define EALREADY 149 /* Operation already in progress */
104#define EINPROGRESS 150 /* Operation now in progress */
105#define ESTALE 151 /* Stale NFS file handle */
106#define ECANCELED 158 /* AIO operation canceled */
107
108/*
109 * These error are Linux extensions.
110 */
111#define ENOMEDIUM 159 /* No medium found */
112#define EMEDIUMTYPE 160 /* Wrong medium type */
113#define ENOKEY 161 /* Required key not available */
114#define EKEYEXPIRED 162 /* Key has expired */
115#define EKEYREVOKED 163 /* Key has been revoked */
116#define EKEYREJECTED 164 /* Key was rejected by service */
117
118/* for robust mutexes */
119#define EOWNERDEAD 165 /* Owner died */
120#define ENOTRECOVERABLE 166 /* State not recoverable */
121
122#define ERFKILL 167 /* Operation not possible due to RF-kill */
12 123
124#define EHWPOISON 168 /* Memory page has hardware error */
125
126#define EDQUOT 1133 /* Quota exceeded */
127
128#ifdef __KERNEL__
13 129
14/* The biggest error number defined here or in <linux/errno.h>. */ 130/* The biggest error number defined here or in <linux/errno.h>. */
15#define EMAXERRNO 1133 131#define EMAXERRNO 1133
16 132
133#endif /* __KERNEL__ */
134
17#endif /* _ASM_ERRNO_H */ 135#endif /* _ASM_ERRNO_H */
diff --git a/arch/mips/include/asm/exec.h b/arch/mips/include/asm/exec.h
deleted file mode 100644
index c1f6afa4bc4..00000000000
--- a/arch/mips/include/asm/exec.h
+++ /dev/null
@@ -1,17 +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) 1994, 95, 96, 97, 98, 99, 2003, 06 by Ralf Baechle
7 * Copyright (C) 1996 by Paul M. Antoine
8 * Copyright (C) 1999 Silicon Graphics
9 * Kevin D. Kissell, kevink@mips.org and Carsten Langgaard, carstenl@mips.com
10 * Copyright (C) 2000 MIPS Technologies, Inc.
11 */
12#ifndef _ASM_EXEC_H
13#define _ASM_EXEC_H
14
15extern unsigned long arch_align_stack(unsigned long sp);
16
17#endif /* _ASM_EXEC_H */
diff --git a/arch/mips/include/asm/fw/arc/types.h b/arch/mips/include/asm/fw/arc/types.h
index 2b11f87d6fb..b9adcd6f086 100644
--- a/arch/mips/include/asm/fw/arc/types.h
+++ b/arch/mips/include/asm/fw/arc/types.h
@@ -10,7 +10,7 @@
10#define _ASM_ARC_TYPES_H 10#define _ASM_ARC_TYPES_H
11 11
12 12
13#ifdef CONFIG_FW_ARC32 13#ifdef CONFIG_ARC32
14 14
15typedef char CHAR; 15typedef char CHAR;
16typedef short SHORT; 16typedef short SHORT;
@@ -33,9 +33,9 @@ typedef LONG _PUSHORT;
33typedef LONG _PULONG; 33typedef LONG _PULONG;
34typedef LONG _PVOID; 34typedef LONG _PVOID;
35 35
36#endif /* CONFIG_FW_ARC32 */ 36#endif /* CONFIG_ARC32 */
37 37
38#ifdef CONFIG_FW_ARC64 38#ifdef CONFIG_ARC64
39 39
40typedef char CHAR; 40typedef char CHAR;
41typedef short SHORT; 41typedef short SHORT;
@@ -57,7 +57,7 @@ typedef USHORT *_PUSHORT;
57typedef ULONG *_PULONG; 57typedef ULONG *_PULONG;
58typedef VOID *_PVOID; 58typedef VOID *_PVOID;
59 59
60#endif /* CONFIG_FW_ARC64 */ 60#endif /* CONFIG_ARC64 */
61 61
62typedef CHAR *PCHAR; 62typedef CHAR *PCHAR;
63typedef SHORT *PSHORT; 63typedef SHORT *PSHORT;
diff --git a/arch/mips/include/asm/gic.h b/arch/mips/include/asm/gic.h
index 37620db588b..86548da650e 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
@@ -206,7 +206,7 @@
206 206
207#define GIC_VPE_EIC_SHADOW_SET_BASE 0x0100 207#define GIC_VPE_EIC_SHADOW_SET_BASE 0x0100
208#define GIC_VPE_EIC_SS(intr) \ 208#define GIC_VPE_EIC_SS(intr) \
209 (GIC_VPE_EIC_SHADOW_SET_BASE + (4 * intr)) 209 (GIC_EIC_SHADOW_SET_BASE + (4 * intr))
210 210
211#define GIC_VPE_EIC_VEC_BASE 0x0800 211#define GIC_VPE_EIC_VEC_BASE 0x0800
212#define GIC_VPE_EIC_VEC(intr) \ 212#define GIC_VPE_EIC_VEC(intr) \
@@ -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/*
@@ -330,55 +330,13 @@ struct gic_intr_map {
330#define GIC_FLAG_TRANSPARENT 0x02 330#define GIC_FLAG_TRANSPARENT 0x02
331}; 331};
332 332
333/*
334 * This is only used in EIC mode. This helps to figure out which
335 * shared interrupts we need to process when we get a vector interrupt.
336 */
337#define GIC_MAX_SHARED_INTR 0x5
338struct gic_shared_intr_map {
339 unsigned int num_shared_intr;
340 unsigned int intr_list[GIC_MAX_SHARED_INTR];
341 unsigned int local_intr_mask;
342};
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
367extern void gic_init(unsigned long gic_base_addr, 333extern void gic_init(unsigned long gic_base_addr,
368 unsigned long gic_addrspace_size, struct gic_intr_map *intrmap, 334 unsigned long gic_addrspace_size, struct gic_intr_map *intrmap,
369 unsigned int intrmap_size, unsigned int irqbase); 335 unsigned int intrmap_size, unsigned int irqbase);
370 336
371extern void gic_clocksource_init(unsigned int);
372extern unsigned int gic_get_int(void); 337extern unsigned int gic_get_int(void);
373extern void gic_send_ipi(unsigned int intr); 338extern void gic_send_ipi(unsigned int intr);
374extern unsigned int plat_ipi_call_int_xlate(unsigned int); 339extern unsigned int plat_ipi_call_int_xlate(unsigned int);
375extern unsigned int plat_ipi_resched_int_xlate(unsigned int); 340extern unsigned int plat_ipi_resched_int_xlate(unsigned int);
376extern void gic_bind_eic_interrupt(int irq, int set);
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);
383 341
384#endif /* _ASM_GICREGS_H */ 342#endif /* _ASM_GICREGS_H */
diff --git a/arch/mips/include/asm/gio_device.h b/arch/mips/include/asm/gio_device.h
deleted file mode 100644
index 5437c84664b..00000000000
--- a/arch/mips/include/asm/gio_device.h
+++ /dev/null
@@ -1,56 +0,0 @@
1#include <linux/device.h>
2#include <linux/mod_devicetable.h>
3
4struct gio_device_id {
5 __u8 id;
6};
7
8struct gio_device {
9 struct device dev;
10 struct resource resource;
11 unsigned int irq;
12 unsigned int slotno;
13
14 const char *name;
15 struct gio_device_id id;
16 unsigned id32:1;
17 unsigned gio64:1;
18};
19#define to_gio_device(d) container_of(d, struct gio_device, dev)
20
21struct gio_driver {
22 const char *name;
23 struct module *owner;
24 const struct gio_device_id *id_table;
25
26 int (*probe)(struct gio_device *, const struct gio_device_id *);
27 void (*remove)(struct gio_device *);
28 int (*suspend)(struct gio_device *, pm_message_t);
29 int (*resume)(struct gio_device *);
30 void (*shutdown)(struct gio_device *);
31
32 struct device_driver driver;
33};
34#define to_gio_driver(drv) container_of(drv, struct gio_driver, driver)
35
36extern const struct gio_device_id *gio_match_device(const struct gio_device_id *,
37 const struct gio_device *);
38extern struct gio_device *gio_dev_get(struct gio_device *);
39extern void gio_dev_put(struct gio_device *);
40
41extern int gio_device_register(struct gio_device *);
42extern void gio_device_unregister(struct gio_device *);
43extern void gio_release_dev(struct device *);
44
45static inline void gio_device_free(struct gio_device *dev)
46{
47 gio_release_dev(&dev->dev);
48}
49
50extern int gio_register_driver(struct gio_driver *);
51extern void gio_unregister_driver(struct gio_driver *);
52
53#define gio_get_drvdata(_dev) drv_get_drvdata(&(_dev)->dev)
54#define gio_set_drvdata(_dev, data) drv_set_drvdata(&(_dev)->dev, (data))
55
56extern void gio_set_master(struct gio_device *);
diff --git a/arch/mips/include/asm/hazards.h b/arch/mips/include/asm/hazards.h
index f0324e92d08..4e332165d7b 100644
--- a/arch/mips/include/asm/hazards.h
+++ b/arch/mips/include/asm/hazards.h
@@ -87,8 +87,7 @@ do { \
87 : "=r" (tmp)); \ 87 : "=r" (tmp)); \
88} while (0) 88} while (0)
89 89
90#elif (defined(CONFIG_CPU_MIPSR1) && !defined(CONFIG_MIPS_ALCHEMY)) || \ 90#elif defined(CONFIG_CPU_MIPSR1) && !defined(CONFIG_MIPS_ALCHEMY)
91 defined(CONFIG_CPU_BMIPS)
92 91
93/* 92/*
94 * These are slightly complicated by the fact that we guarantee R1 kernels to 93 * These are slightly complicated by the fact that we guarantee R1 kernels to
@@ -140,8 +139,8 @@ do { \
140} while (0) 139} while (0)
141 140
142#elif defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \ 141#elif defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \
143 defined(CONFIG_CPU_LOONGSON2) || defined(CONFIG_CPU_R10000) || \ 142 defined(CONFIG_CPU_LOONGSON2) || defined(CONFIG_CPU_R10000) || \
144 defined(CONFIG_CPU_R5500) 143 defined(CONFIG_CPU_R5500)
145 144
146/* 145/*
147 * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer. 146 * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer.
@@ -161,6 +160,31 @@ ASMMACRO(back_to_back_c0_hazard,
161 ) 160 )
162#define instruction_hazard() do { } while (0) 161#define instruction_hazard() do { } while (0)
163 162
163#elif defined(CONFIG_CPU_RM9000)
164
165/*
166 * RM9000 hazards. When the JTLB is updated by tlbwi or tlbwr, a subsequent
167 * use of the JTLB for instructions should not occur for 4 cpu cycles and use
168 * for data translations should not occur for 3 cpu cycles.
169 */
170
171ASMMACRO(mtc0_tlbw_hazard,
172 _ssnop; _ssnop; _ssnop; _ssnop
173 )
174ASMMACRO(tlbw_use_hazard,
175 _ssnop; _ssnop; _ssnop; _ssnop
176 )
177ASMMACRO(tlb_probe_hazard,
178 _ssnop; _ssnop; _ssnop; _ssnop
179 )
180ASMMACRO(irq_enable_hazard,
181 )
182ASMMACRO(irq_disable_hazard,
183 )
184ASMMACRO(back_to_back_c0_hazard,
185 )
186#define instruction_hazard() do { } while (0)
187
164#elif defined(CONFIG_CPU_SB1) 188#elif defined(CONFIG_CPU_SB1)
165 189
166/* 190/*
diff --git a/arch/mips/include/asm/highmem.h b/arch/mips/include/asm/highmem.h
index 2d91888c9b7..77e644082a3 100644
--- a/arch/mips/include/asm/highmem.h
+++ b/arch/mips/include/asm/highmem.h
@@ -47,7 +47,7 @@ extern void kunmap_high(struct page *page);
47 47
48extern void *kmap(struct page *page); 48extern void *kmap(struct page *page);
49extern void kunmap(struct page *page); 49extern void kunmap(struct page *page);
50extern void *kmap_atomic(struct page *page); 50extern void *__kmap_atomic(struct page *page);
51extern void __kunmap_atomic(void *kvaddr); 51extern void __kunmap_atomic(void *kvaddr);
52extern void *kmap_atomic_pfn(unsigned long pfn); 52extern void *kmap_atomic_pfn(unsigned long pfn);
53extern struct page *kmap_atomic_to_page(void *ptr); 53extern struct page *kmap_atomic_to_page(void *ptr);
diff --git a/arch/mips/include/asm/hugetlb.h b/arch/mips/include/asm/hugetlb.h
index ef99db994c2..c565b7c3f0b 100644
--- a/arch/mips/include/asm/hugetlb.h
+++ b/arch/mips/include/asm/hugetlb.h
@@ -70,7 +70,7 @@ static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,
70static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, 70static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,
71 unsigned long addr, pte_t *ptep) 71 unsigned long addr, pte_t *ptep)
72{ 72{
73 flush_tlb_page(vma, addr & huge_page_mask(hstate_vma(vma))); 73 flush_tlb_mm(vma->vm_mm);
74} 74}
75 75
76static inline int huge_pte_none(pte_t pte) 76static inline int huge_pte_none(pte_t pte)
@@ -95,17 +95,7 @@ static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,
95 pte_t *ptep, pte_t pte, 95 pte_t *ptep, pte_t pte,
96 int dirty) 96 int dirty)
97{ 97{
98 int changed = !pte_same(*ptep, pte); 98 return ptep_set_access_flags(vma, addr, ptep, pte, dirty);
99
100 if (changed) {
101 set_pte_at(vma->vm_mm, addr, ptep, pte);
102 /*
103 * There could be some standard sized pages in there,
104 * get them all.
105 */
106 flush_tlb_range(vma, addr, addr + HPAGE_SIZE);
107 }
108 return changed;
109} 99}
110 100
111static inline pte_t huge_ptep_get(pte_t *ptep) 101static inline pte_t huge_ptep_get(pte_t *ptep)
@@ -122,8 +112,4 @@ static inline void arch_release_hugepage(struct page *page)
122{ 112{
123} 113}
124 114
125static inline void arch_clear_hugepage_flags(struct page *page)
126{
127}
128
129#endif /* __ASM_HUGETLB_H */ 115#endif /* __ASM_HUGETLB_H */
diff --git a/arch/mips/include/asm/inst.h b/arch/mips/include/asm/inst.h
index ab84064283d..7ebfc392e58 100644
--- a/arch/mips/include/asm/inst.h
+++ b/arch/mips/include/asm/inst.h
@@ -251,7 +251,7 @@ struct f_format { /* FPU register format */
251 unsigned int func : 6; 251 unsigned int func : 6;
252}; 252};
253 253
254struct ma_format { /* FPU multiply and add format (MIPS IV) */ 254struct ma_format { /* FPU multipy and add format (MIPS IV) */
255 unsigned int opcode : 6; 255 unsigned int opcode : 6;
256 unsigned int fr : 5; 256 unsigned int fr : 5;
257 unsigned int ft : 5; 257 unsigned int ft : 5;
@@ -324,7 +324,7 @@ struct f_format { /* FPU register format */
324 unsigned int opcode : 6; 324 unsigned int opcode : 6;
325}; 325};
326 326
327struct ma_format { /* FPU multiply and add format (MIPS IV) */ 327struct ma_format { /* FPU multipy and add format (MIPS IV) */
328 unsigned int fmt : 2; 328 unsigned int fmt : 2;
329 unsigned int func : 4; 329 unsigned int func : 4;
330 unsigned int fd : 5; 330 unsigned int fd : 5;
diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index ff2e0345e01..b04e4de5dd2 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -15,10 +15,8 @@
15#include <linux/compiler.h> 15#include <linux/compiler.h>
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/types.h> 17#include <linux/types.h>
18#include <linux/irqflags.h>
19 18
20#include <asm/addrspace.h> 19#include <asm/addrspace.h>
21#include <asm/bug.h>
22#include <asm/byteorder.h> 20#include <asm/byteorder.h>
23#include <asm/cpu.h> 21#include <asm/cpu.h>
24#include <asm/cpu-features.h> 22#include <asm/cpu-features.h>
@@ -331,10 +329,14 @@ static inline void pfx##write##bwlq(type val, \
331 "dsrl32 %L0, %L0, 0" "\n\t" \ 329 "dsrl32 %L0, %L0, 0" "\n\t" \
332 "dsll32 %M0, %M0, 0" "\n\t" \ 330 "dsll32 %M0, %M0, 0" "\n\t" \
333 "or %L0, %L0, %M0" "\n\t" \ 331 "or %L0, %L0, %M0" "\n\t" \
332 ".set push" "\n\t" \
333 ".set noreorder" "\n\t" \
334 ".set nomacro" "\n\t" \
334 "sd %L0, %2" "\n\t" \ 335 "sd %L0, %2" "\n\t" \
336 ".set pop" "\n\t" \
335 ".set mips0" "\n" \ 337 ".set mips0" "\n" \
336 : "=r" (__tmp) \ 338 : "=r" (__tmp) \
337 : "0" (__val), "m" (*__mem)); \ 339 : "0" (__val), "R" (*__mem)); \
338 if (irq) \ 340 if (irq) \
339 local_irq_restore(__flags); \ 341 local_irq_restore(__flags); \
340 } else \ 342 } else \
@@ -357,12 +359,16 @@ static inline type pfx##read##bwlq(const volatile void __iomem *mem) \
357 local_irq_save(__flags); \ 359 local_irq_save(__flags); \
358 __asm__ __volatile__( \ 360 __asm__ __volatile__( \
359 ".set mips3" "\t\t# __readq" "\n\t" \ 361 ".set mips3" "\t\t# __readq" "\n\t" \
362 ".set push" "\n\t" \
363 ".set noreorder" "\n\t" \
364 ".set nomacro" "\n\t" \
360 "ld %L0, %1" "\n\t" \ 365 "ld %L0, %1" "\n\t" \
366 ".set pop" "\n\t" \
361 "dsra32 %M0, %L0, 0" "\n\t" \ 367 "dsra32 %M0, %L0, 0" "\n\t" \
362 "sll %L0, %L0, 0" "\n\t" \ 368 "sll %L0, %L0, 0" "\n\t" \
363 ".set mips0" "\n" \ 369 ".set mips0" "\n" \
364 : "=r" (__val) \ 370 : "=r" (__val) \
365 : "m" (*__mem)); \ 371 : "R" (*__mem)); \
366 if (irq) \ 372 if (irq) \
367 local_irq_restore(__flags); \ 373 local_irq_restore(__flags); \
368 } else { \ 374 } else { \
diff --git a/arch/mips/include/asm/ip32/mace.h b/arch/mips/include/asm/ip32/mace.h
index c523123df38..d08d7c67213 100644
--- a/arch/mips/include/asm/ip32/mace.h
+++ b/arch/mips/include/asm/ip32/mace.h
@@ -95,7 +95,7 @@ struct mace_video {
95 * Ethernet interface 95 * Ethernet interface
96 */ 96 */
97struct mace_ethernet { 97struct mace_ethernet {
98 volatile u64 mac_ctrl; 98 volatile unsigned long mac_ctrl;
99 volatile unsigned long int_stat; 99 volatile unsigned long int_stat;
100 volatile unsigned long dma_ctrl; 100 volatile unsigned long dma_ctrl;
101 volatile unsigned long timer; 101 volatile unsigned long timer;
diff --git a/arch/mips/include/asm/irq.h b/arch/mips/include/asm/irq.h
index 78dbb8a86da..2354c870a63 100644
--- a/arch/mips/include/asm/irq.h
+++ b/arch/mips/include/asm/irq.h
@@ -11,12 +11,15 @@
11 11
12#include <linux/linkage.h> 12#include <linux/linkage.h>
13#include <linux/smp.h> 13#include <linux/smp.h>
14#include <linux/irqdomain.h>
15 14
16#include <asm/mipsmtregs.h> 15#include <asm/mipsmtregs.h>
17 16
18#include <irq.h> 17#include <irq.h>
19 18
19static inline void irq_dispose_mapping(unsigned int virq)
20{
21}
22
20#ifdef CONFIG_I8259 23#ifdef CONFIG_I8259
21static inline int irq_canonicalize(int irq) 24static inline int irq_canonicalize(int irq)
22{ 25{
@@ -136,7 +139,6 @@ extern void free_irqno(unsigned int irq);
136 * IE7. Since R2 their number has to be read from the c0_intctl register. 139 * IE7. Since R2 their number has to be read from the c0_intctl register.
137 */ 140 */
138#define CP0_LEGACY_COMPARE_IRQ 7 141#define CP0_LEGACY_COMPARE_IRQ 7
139#define CP0_LEGACY_PERFCNT_IRQ 7
140 142
141extern int cp0_compare_irq; 143extern int cp0_compare_irq;
142extern int cp0_compare_irq_shift; 144extern int cp0_compare_irq_shift;
diff --git a/arch/mips/include/asm/irqflags.h b/arch/mips/include/asm/irqflags.h
index 9f3384c789d..309cbcd6909 100644
--- a/arch/mips/include/asm/irqflags.h
+++ b/arch/mips/include/asm/irqflags.h
@@ -16,13 +16,83 @@
16#include <linux/compiler.h> 16#include <linux/compiler.h>
17#include <asm/hazards.h> 17#include <asm/hazards.h>
18 18
19#if defined(CONFIG_CPU_MIPSR2) && !defined(CONFIG_MIPS_MT_SMTC) 19__asm__(
20 " .macro arch_local_irq_enable \n"
21 " .set push \n"
22 " .set reorder \n"
23 " .set noat \n"
24#ifdef CONFIG_MIPS_MT_SMTC
25 " mfc0 $1, $2, 1 # SMTC - clear TCStatus.IXMT \n"
26 " ori $1, 0x400 \n"
27 " xori $1, 0x400 \n"
28 " mtc0 $1, $2, 1 \n"
29#elif defined(CONFIG_CPU_MIPSR2)
30 " ei \n"
31#else
32 " mfc0 $1,$12 \n"
33 " ori $1,0x1f \n"
34 " xori $1,0x1e \n"
35 " mtc0 $1,$12 \n"
36#endif
37 " irq_enable_hazard \n"
38 " .set pop \n"
39 " .endm");
20 40
41extern void smtc_ipi_replay(void);
42
43static inline void arch_local_irq_enable(void)
44{
45#ifdef CONFIG_MIPS_MT_SMTC
46 /*
47 * SMTC kernel needs to do a software replay of queued
48 * IPIs, at the cost of call overhead on each local_irq_enable()
49 */
50 smtc_ipi_replay();
51#endif
52 __asm__ __volatile__(
53 "arch_local_irq_enable"
54 : /* no outputs */
55 : /* no inputs */
56 : "memory");
57}
58
59
60/*
61 * For cli() we have to insert nops to make sure that the new value
62 * has actually arrived in the status register before the end of this
63 * macro.
64 * R4000/R4400 need three nops, the R4600 two nops and the R10000 needs
65 * no nops at all.
66 */
67/*
68 * For TX49, operating only IE bit is not enough.
69 *
70 * If mfc0 $12 follows store and the mfc0 is last instruction of a
71 * page and fetching the next instruction causes TLB miss, the result
72 * of the mfc0 might wrongly contain EXL bit.
73 *
74 * ERT-TX49H2-027, ERT-TX49H3-012, ERT-TX49HL3-006, ERT-TX49H4-008
75 *
76 * Workaround: mask EXL bit of the result or place a nop before mfc0.
77 */
21__asm__( 78__asm__(
22 " .macro arch_local_irq_disable\n" 79 " .macro arch_local_irq_disable\n"
23 " .set push \n" 80 " .set push \n"
24 " .set noat \n" 81 " .set noat \n"
82#ifdef CONFIG_MIPS_MT_SMTC
83 " mfc0 $1, $2, 1 \n"
84 " ori $1, 0x400 \n"
85 " .set noreorder \n"
86 " mtc0 $1, $2, 1 \n"
87#elif defined(CONFIG_CPU_MIPSR2)
25 " di \n" 88 " di \n"
89#else
90 " mfc0 $1,$12 \n"
91 " ori $1,0x1f \n"
92 " xori $1,0x1f \n"
93 " .set noreorder \n"
94 " mtc0 $1,$12 \n"
95#endif
26 " irq_disable_hazard \n" 96 " irq_disable_hazard \n"
27 " .set pop \n" 97 " .set pop \n"
28 " .endm \n"); 98 " .endm \n");
@@ -36,14 +106,46 @@ static inline void arch_local_irq_disable(void)
36 : "memory"); 106 : "memory");
37} 107}
38 108
109__asm__(
110 " .macro arch_local_save_flags flags \n"
111 " .set push \n"
112 " .set reorder \n"
113#ifdef CONFIG_MIPS_MT_SMTC
114 " mfc0 \\flags, $2, 1 \n"
115#else
116 " mfc0 \\flags, $12 \n"
117#endif
118 " .set pop \n"
119 " .endm \n");
120
121static inline unsigned long arch_local_save_flags(void)
122{
123 unsigned long flags;
124 asm volatile("arch_local_save_flags %0" : "=r" (flags));
125 return flags;
126}
39 127
40__asm__( 128__asm__(
41 " .macro arch_local_irq_save result \n" 129 " .macro arch_local_irq_save result \n"
42 " .set push \n" 130 " .set push \n"
43 " .set reorder \n" 131 " .set reorder \n"
44 " .set noat \n" 132 " .set noat \n"
133#ifdef CONFIG_MIPS_MT_SMTC
134 " mfc0 \\result, $2, 1 \n"
135 " ori $1, \\result, 0x400 \n"
136 " .set noreorder \n"
137 " mtc0 $1, $2, 1 \n"
138 " andi \\result, \\result, 0x400 \n"
139#elif defined(CONFIG_CPU_MIPSR2)
45 " di \\result \n" 140 " di \\result \n"
46 " andi \\result, 1 \n" 141 " andi \\result, 1 \n"
142#else
143 " mfc0 \\result, $12 \n"
144 " ori $1, \\result, 0x1f \n"
145 " xori $1, 0x1f \n"
146 " .set noreorder \n"
147 " mtc0 $1, $12 \n"
148#endif
47 " irq_disable_hazard \n" 149 " irq_disable_hazard \n"
48 " .set pop \n" 150 " .set pop \n"
49 " .endm \n"); 151 " .endm \n");
@@ -58,37 +160,61 @@ static inline unsigned long arch_local_irq_save(void)
58 return flags; 160 return flags;
59} 161}
60 162
61
62__asm__( 163__asm__(
63 " .macro arch_local_irq_restore flags \n" 164 " .macro arch_local_irq_restore flags \n"
64 " .set push \n" 165 " .set push \n"
65 " .set noreorder \n" 166 " .set noreorder \n"
66 " .set noat \n" 167 " .set noat \n"
67#if defined(CONFIG_IRQ_CPU) 168#ifdef CONFIG_MIPS_MT_SMTC
169 "mfc0 $1, $2, 1 \n"
170 "andi \\flags, 0x400 \n"
171 "ori $1, 0x400 \n"
172 "xori $1, 0x400 \n"
173 "or \\flags, $1 \n"
174 "mtc0 \\flags, $2, 1 \n"
175#elif defined(CONFIG_CPU_MIPSR2) && defined(CONFIG_IRQ_CPU)
68 /* 176 /*
69 * Slow, but doesn't suffer from a relatively unlikely race 177 * Slow, but doesn't suffer from a relatively unlikely race
70 * condition we're having since days 1. 178 * condition we're having since days 1.
71 */ 179 */
72 " beqz \\flags, 1f \n" 180 " beqz \\flags, 1f \n"
73 " di \n" 181 " di \n"
74 " ei \n" 182 " ei \n"
75 "1: \n" 183 "1: \n"
76#else 184#elif defined(CONFIG_CPU_MIPSR2)
77 /* 185 /*
78 * Fast, dangerous. Life is fun, life is good. 186 * Fast, dangerous. Life is fun, life is good.
79 */ 187 */
80 " mfc0 $1, $12 \n" 188 " mfc0 $1, $12 \n"
81 " ins $1, \\flags, 0, 1 \n" 189 " ins $1, \\flags, 0, 1 \n"
82 " mtc0 $1, $12 \n" 190 " mtc0 $1, $12 \n"
191#else
192 " mfc0 $1, $12 \n"
193 " andi \\flags, 1 \n"
194 " ori $1, 0x1f \n"
195 " xori $1, 0x1f \n"
196 " or \\flags, $1 \n"
197 " mtc0 \\flags, $12 \n"
83#endif 198#endif
84 " irq_disable_hazard \n" 199 " irq_disable_hazard \n"
85 " .set pop \n" 200 " .set pop \n"
86 " .endm \n"); 201 " .endm \n");
87 202
203
88static inline void arch_local_irq_restore(unsigned long flags) 204static inline void arch_local_irq_restore(unsigned long flags)
89{ 205{
90 unsigned long __tmp1; 206 unsigned long __tmp1;
91 207
208#ifdef CONFIG_MIPS_MT_SMTC
209 /*
210 * SMTC kernel needs to do a software replay of queued
211 * IPIs, at the cost of branch and call overhead on each
212 * local_irq_restore()
213 */
214 if (unlikely(!(flags & 0x0400)))
215 smtc_ipi_replay();
216#endif
217
92 __asm__ __volatile__( 218 __asm__ __volatile__(
93 "arch_local_irq_restore\t%0" 219 "arch_local_irq_restore\t%0"
94 : "=r" (__tmp1) 220 : "=r" (__tmp1)
@@ -106,75 +232,6 @@ static inline void __arch_local_irq_restore(unsigned long flags)
106 : "0" (flags) 232 : "0" (flags)
107 : "memory"); 233 : "memory");
108} 234}
109#else
110/* Functions that require preempt_{dis,en}able() are in mips-atomic.c */
111void arch_local_irq_disable(void);
112unsigned long arch_local_irq_save(void);
113void arch_local_irq_restore(unsigned long flags);
114void __arch_local_irq_restore(unsigned long flags);
115#endif /* if defined(CONFIG_CPU_MIPSR2) && !defined(CONFIG_MIPS_MT_SMTC) */
116
117
118__asm__(
119 " .macro arch_local_irq_enable \n"
120 " .set push \n"
121 " .set reorder \n"
122 " .set noat \n"
123#ifdef CONFIG_MIPS_MT_SMTC
124 " mfc0 $1, $2, 1 # SMTC - clear TCStatus.IXMT \n"
125 " ori $1, 0x400 \n"
126 " xori $1, 0x400 \n"
127 " mtc0 $1, $2, 1 \n"
128#elif defined(CONFIG_CPU_MIPSR2)
129 " ei \n"
130#else
131 " mfc0 $1,$12 \n"
132 " ori $1,0x1f \n"
133 " xori $1,0x1e \n"
134 " mtc0 $1,$12 \n"
135#endif
136 " irq_enable_hazard \n"
137 " .set pop \n"
138 " .endm");
139
140extern void smtc_ipi_replay(void);
141
142static inline void arch_local_irq_enable(void)
143{
144#ifdef CONFIG_MIPS_MT_SMTC
145 /*
146 * SMTC kernel needs to do a software replay of queued
147 * IPIs, at the cost of call overhead on each local_irq_enable()
148 */
149 smtc_ipi_replay();
150#endif
151 __asm__ __volatile__(
152 "arch_local_irq_enable"
153 : /* no outputs */
154 : /* no inputs */
155 : "memory");
156}
157
158
159__asm__(
160 " .macro arch_local_save_flags flags \n"
161 " .set push \n"
162 " .set reorder \n"
163#ifdef CONFIG_MIPS_MT_SMTC
164 " mfc0 \\flags, $2, 1 \n"
165#else
166 " mfc0 \\flags, $12 \n"
167#endif
168 " .set pop \n"
169 " .endm \n");
170
171static inline unsigned long arch_local_save_flags(void)
172{
173 unsigned long flags;
174 asm volatile("arch_local_save_flags %0" : "=r" (flags));
175 return flags;
176}
177
178 235
179static inline int arch_irqs_disabled_flags(unsigned long flags) 236static inline int arch_irqs_disabled_flags(unsigned long flags)
180{ 237{
@@ -188,7 +245,7 @@ static inline int arch_irqs_disabled_flags(unsigned long flags)
188#endif 245#endif
189} 246}
190 247
191#endif /* #ifndef __ASSEMBLY__ */ 248#endif
192 249
193/* 250/*
194 * Do the CPU's IRQ-state tracing from assembly code. 251 * Do the CPU's IRQ-state tracing from assembly code.
diff --git a/arch/mips/include/asm/jump_label.h b/arch/mips/include/asm/jump_label.h
index 4d6d77ed9b9..1881b316ca4 100644
--- a/arch/mips/include/asm/jump_label.h
+++ b/arch/mips/include/asm/jump_label.h
@@ -20,7 +20,7 @@
20#define WORD_INSN ".word" 20#define WORD_INSN ".word"
21#endif 21#endif
22 22
23static __always_inline bool arch_static_branch(struct static_key *key) 23static __always_inline bool arch_static_branch(struct jump_label_key *key)
24{ 24{
25 asm goto("1:\tnop\n\t" 25 asm goto("1:\tnop\n\t"
26 "nop\n\t" 26 "nop\n\t"
diff --git a/arch/mips/include/asm/kexec.h b/arch/mips/include/asm/kexec.h
index ee25ebbf2a2..4314892aaeb 100644
--- a/arch/mips/include/asm/kexec.h
+++ b/arch/mips/include/asm/kexec.h
@@ -9,43 +9,22 @@
9#ifndef _MIPS_KEXEC 9#ifndef _MIPS_KEXEC
10# define _MIPS_KEXEC 10# define _MIPS_KEXEC
11 11
12#include <asm/stacktrace.h>
13
14/* Maximum physical address we can use pages from */ 12/* Maximum physical address we can use pages from */
15#define KEXEC_SOURCE_MEMORY_LIMIT (0x20000000) 13#define KEXEC_SOURCE_MEMORY_LIMIT (0x20000000)
16/* Maximum address we can reach in physical address mode */ 14/* Maximum address we can reach in physical address mode */
17#define KEXEC_DESTINATION_MEMORY_LIMIT (0x20000000) 15#define KEXEC_DESTINATION_MEMORY_LIMIT (0x20000000)
18 /* Maximum address we can use for the control code buffer */ 16 /* Maximum address we can use for the control code buffer */
19#define KEXEC_CONTROL_MEMORY_LIMIT (0x20000000) 17#define KEXEC_CONTROL_MEMORY_LIMIT (0x20000000)
20/* Reserve 3*4096 bytes for board-specific info */ 18
21#define KEXEC_CONTROL_PAGE_SIZE (4096 + 3*4096) 19#define KEXEC_CONTROL_PAGE_SIZE 4096
22 20
23/* The native architecture */ 21/* The native architecture */
24#define KEXEC_ARCH KEXEC_ARCH_MIPS 22#define KEXEC_ARCH KEXEC_ARCH_MIPS
25#define MAX_NOTE_BYTES 1024
26 23
27static inline void crash_setup_regs(struct pt_regs *newregs, 24static inline void crash_setup_regs(struct pt_regs *newregs,
28 struct pt_regs *oldregs) 25 struct pt_regs *oldregs)
29{ 26{
30 if (oldregs) 27 /* Dummy implementation for now */
31 memcpy(newregs, oldregs, sizeof(*newregs));
32 else
33 prepare_frametrace(newregs);
34} 28}
35 29
36#ifdef CONFIG_KEXEC
37struct kimage;
38extern unsigned long kexec_args[4];
39extern int (*_machine_kexec_prepare)(struct kimage *);
40extern void (*_machine_kexec_shutdown)(void);
41extern void (*_machine_crash_shutdown)(struct pt_regs *regs);
42extern void default_machine_crash_shutdown(struct pt_regs *regs);
43#ifdef CONFIG_SMP
44extern const unsigned char kexec_smp_wait[];
45extern unsigned long secondary_kexec_args[4];
46extern void (*relocated_kexec_smp_wait) (void *);
47extern atomic_t kexec_ready_to_reboot;
48#endif
49#endif
50
51#endif /* !_MIPS_KEXEC */ 30#endif /* !_MIPS_KEXEC */
diff --git a/arch/mips/include/asm/kprobes.h b/arch/mips/include/asm/kprobes.h
index 1fbbca01e68..e6ea4d4d720 100644
--- a/arch/mips/include/asm/kprobes.h
+++ b/arch/mips/include/asm/kprobes.h
@@ -74,8 +74,6 @@ struct prev_kprobe {
74 : MAX_JPROBES_STACK_SIZE) 74 : MAX_JPROBES_STACK_SIZE)
75 75
76 76
77#define SKIP_DELAYSLOT 0x0001
78
79/* per-cpu kprobe control block */ 77/* per-cpu kprobe control block */
80struct kprobe_ctlblk { 78struct kprobe_ctlblk {
81 unsigned long kprobe_status; 79 unsigned long kprobe_status;
@@ -84,9 +82,6 @@ struct kprobe_ctlblk {
84 unsigned long kprobe_saved_epc; 82 unsigned long kprobe_saved_epc;
85 unsigned long jprobe_saved_sp; 83 unsigned long jprobe_saved_sp;
86 struct pt_regs jprobe_saved_regs; 84 struct pt_regs jprobe_saved_regs;
87 /* Per-thread fields, used while emulating branches */
88 unsigned long flags;
89 unsigned long target_epc;
90 u8 jprobes_stack[MAX_JPROBES_STACK_SIZE]; 85 u8 jprobes_stack[MAX_JPROBES_STACK_SIZE];
91 struct prev_kprobe prev_kprobe; 86 struct prev_kprobe prev_kprobe;
92}; 87};
diff --git a/arch/mips/include/asm/kspd.h b/arch/mips/include/asm/kspd.h
index ec6832950ac..4e9e724c893 100644
--- a/arch/mips/include/asm/kspd.h
+++ b/arch/mips/include/asm/kspd.h
@@ -25,8 +25,12 @@ struct kspd_notifications {
25 struct list_head list; 25 struct list_head list;
26}; 26};
27 27
28#ifdef CONFIG_MIPS_APSP_KSPD
29extern void kspd_notify(struct kspd_notifications *notify);
30#else
28static inline void kspd_notify(struct kspd_notifications *notify) 31static inline void kspd_notify(struct kspd_notifications *notify)
29{ 32{
30} 33}
34#endif
31 35
32#endif 36#endif
diff --git a/arch/mips/include/asm/lasat/lasat.h b/arch/mips/include/asm/lasat/lasat.h
index e8ff70f80e1..a1ada1c27c1 100644
--- a/arch/mips/include/asm/lasat/lasat.h
+++ b/arch/mips/include/asm/lasat/lasat.h
@@ -41,8 +41,10 @@ enum lasat_mtdparts {
41 41
42/* 42/*
43 * The format of the data record in the EEPROM. 43 * The format of the data record in the EEPROM.
44 * See the LASAT Hardware Configuration field specification for a detailed 44 * See Documentation/LASAT/eeprom.txt for a detailed description
45 * description of the config field. 45 * of the fields in this struct, and the LASAT Hardware Configuration
46 * field specification for a detailed description of the config
47 * field.
46 */ 48 */
47#include <linux/types.h> 49#include <linux/types.h>
48 50
diff --git a/arch/mips/include/asm/mach-ar7/war.h b/arch/mips/include/asm/mach-ar7/war.h
index 99071e50faa..f4862b56308 100644
--- a/arch/mips/include/asm/mach-ar7/war.h
+++ b/arch/mips/include/asm/mach-ar7/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
index a5e0f17ea77..cda1c8070b2 100644
--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
@@ -1,11 +1,10 @@
1/* 1/*
2 * Atheros AR71XX/AR724X/AR913X SoC register definitions 2 * Atheros AR71XX/AR724X/AR913X SoC register definitions
3 * 3 *
4 * Copyright (C) 2010-2011 Jaiganesh Narayanan <jnarayanan@atheros.com>
5 * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org> 4 * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
6 * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> 5 * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
7 * 6 *
8 * Parts of this file are based on Atheros' 2.6.15/2.6.31 BSP 7 * Parts of this file are based on Atheros' 2.6.15 BSP
9 * 8 *
10 * This program is free software; you can redistribute it and/or modify it 9 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License version 2 as published 10 * under the terms of the GNU General Public License version 2 as published
@@ -21,10 +20,6 @@
21#include <linux/bitops.h> 20#include <linux/bitops.h>
22 21
23#define AR71XX_APB_BASE 0x18000000 22#define AR71XX_APB_BASE 0x18000000
24#define AR71XX_EHCI_BASE 0x1b000000
25#define AR71XX_EHCI_SIZE 0x1000
26#define AR71XX_OHCI_BASE 0x1c000000
27#define AR71XX_OHCI_SIZE 0x1000
28#define AR71XX_SPI_BASE 0x1f000000 23#define AR71XX_SPI_BASE 0x1f000000
29#define AR71XX_SPI_SIZE 0x01000000 24#define AR71XX_SPI_SIZE 0x01000000
30 25
@@ -32,8 +27,6 @@
32#define AR71XX_DDR_CTRL_SIZE 0x100 27#define AR71XX_DDR_CTRL_SIZE 0x100
33#define AR71XX_UART_BASE (AR71XX_APB_BASE + 0x00020000) 28#define AR71XX_UART_BASE (AR71XX_APB_BASE + 0x00020000)
34#define AR71XX_UART_SIZE 0x100 29#define AR71XX_UART_SIZE 0x100
35#define AR71XX_USB_CTRL_BASE (AR71XX_APB_BASE + 0x00030000)
36#define AR71XX_USB_CTRL_SIZE 0x100
37#define AR71XX_GPIO_BASE (AR71XX_APB_BASE + 0x00040000) 30#define AR71XX_GPIO_BASE (AR71XX_APB_BASE + 0x00040000)
38#define AR71XX_GPIO_SIZE 0x100 31#define AR71XX_GPIO_SIZE 0x100
39#define AR71XX_PLL_BASE (AR71XX_APB_BASE + 0x00050000) 32#define AR71XX_PLL_BASE (AR71XX_APB_BASE + 0x00050000)
@@ -41,33 +34,9 @@
41#define AR71XX_RESET_BASE (AR71XX_APB_BASE + 0x00060000) 34#define AR71XX_RESET_BASE (AR71XX_APB_BASE + 0x00060000)
42#define AR71XX_RESET_SIZE 0x100 35#define AR71XX_RESET_SIZE 0x100
43 36
44#define AR7240_USB_CTRL_BASE (AR71XX_APB_BASE + 0x00030000)
45#define AR7240_USB_CTRL_SIZE 0x100
46#define AR7240_OHCI_BASE 0x1b000000
47#define AR7240_OHCI_SIZE 0x1000
48
49#define AR724X_EHCI_BASE 0x1b000000
50#define AR724X_EHCI_SIZE 0x1000
51
52#define AR913X_EHCI_BASE 0x1b000000
53#define AR913X_EHCI_SIZE 0x1000
54#define AR913X_WMAC_BASE (AR71XX_APB_BASE + 0x000C0000) 37#define AR913X_WMAC_BASE (AR71XX_APB_BASE + 0x000C0000)
55#define AR913X_WMAC_SIZE 0x30000 38#define AR913X_WMAC_SIZE 0x30000
56 39
57#define AR933X_UART_BASE (AR71XX_APB_BASE + 0x00020000)
58#define AR933X_UART_SIZE 0x14
59#define AR933X_WMAC_BASE (AR71XX_APB_BASE + 0x00100000)
60#define AR933X_WMAC_SIZE 0x20000
61#define AR933X_EHCI_BASE 0x1b000000
62#define AR933X_EHCI_SIZE 0x1000
63
64#define AR934X_WMAC_BASE (AR71XX_APB_BASE + 0x00100000)
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
70
71/* 40/*
72 * DDR_CTRL block 41 * DDR_CTRL block
73 */ 42 */
@@ -94,17 +63,6 @@
94#define AR913X_DDR_REG_FLUSH_USB 0x84 63#define AR913X_DDR_REG_FLUSH_USB 0x84
95#define AR913X_DDR_REG_FLUSH_WMAC 0x88 64#define AR913X_DDR_REG_FLUSH_WMAC 0x88
96 65
97#define AR933X_DDR_REG_FLUSH_GE0 0x7c
98#define AR933X_DDR_REG_FLUSH_GE1 0x80
99#define AR933X_DDR_REG_FLUSH_USB 0x84
100#define AR933X_DDR_REG_FLUSH_WMAC 0x88
101
102#define AR934X_DDR_REG_FLUSH_GE0 0x9c
103#define AR934X_DDR_REG_FLUSH_GE1 0xa0
104#define AR934X_DDR_REG_FLUSH_USB 0xa4
105#define AR934X_DDR_REG_FLUSH_PCIE 0xa8
106#define AR934X_DDR_REG_FLUSH_WMAC 0xac
107
108/* 66/*
109 * PLL block 67 * PLL block
110 */ 68 */
@@ -146,65 +104,6 @@
146#define AR913X_AHB_DIV_SHIFT 19 104#define AR913X_AHB_DIV_SHIFT 19
147#define AR913X_AHB_DIV_MASK 0x1 105#define AR913X_AHB_DIV_MASK 0x1
148 106
149#define AR933X_PLL_CPU_CONFIG_REG 0x00
150#define AR933X_PLL_CLOCK_CTRL_REG 0x08
151
152#define AR933X_PLL_CPU_CONFIG_NINT_SHIFT 10
153#define AR933X_PLL_CPU_CONFIG_NINT_MASK 0x3f
154#define AR933X_PLL_CPU_CONFIG_REFDIV_SHIFT 16
155#define AR933X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f
156#define AR933X_PLL_CPU_CONFIG_OUTDIV_SHIFT 23
157#define AR933X_PLL_CPU_CONFIG_OUTDIV_MASK 0x7
158
159#define AR933X_PLL_CLOCK_CTRL_BYPASS BIT(2)
160#define AR933X_PLL_CLOCK_CTRL_CPU_DIV_SHIFT 5
161#define AR933X_PLL_CLOCK_CTRL_CPU_DIV_MASK 0x3
162#define AR933X_PLL_CLOCK_CTRL_DDR_DIV_SHIFT 10
163#define AR933X_PLL_CLOCK_CTRL_DDR_DIV_MASK 0x3
164#define AR933X_PLL_CLOCK_CTRL_AHB_DIV_SHIFT 15
165#define AR933X_PLL_CLOCK_CTRL_AHB_DIV_MASK 0x7
166
167#define AR934X_PLL_CPU_CONFIG_REG 0x00
168#define AR934X_PLL_DDR_CONFIG_REG 0x04
169#define AR934X_PLL_CPU_DDR_CLK_CTRL_REG 0x08
170
171#define AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT 0
172#define AR934X_PLL_CPU_CONFIG_NFRAC_MASK 0x3f
173#define AR934X_PLL_CPU_CONFIG_NINT_SHIFT 6
174#define AR934X_PLL_CPU_CONFIG_NINT_MASK 0x3f
175#define AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT 12
176#define AR934X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f
177#define AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT 19
178#define AR934X_PLL_CPU_CONFIG_OUTDIV_MASK 0x3
179
180#define AR934X_PLL_DDR_CONFIG_NFRAC_SHIFT 0
181#define AR934X_PLL_DDR_CONFIG_NFRAC_MASK 0x3ff
182#define AR934X_PLL_DDR_CONFIG_NINT_SHIFT 10
183#define AR934X_PLL_DDR_CONFIG_NINT_MASK 0x3f
184#define AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT 16
185#define AR934X_PLL_DDR_CONFIG_REFDIV_MASK 0x1f
186#define AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT 23
187#define AR934X_PLL_DDR_CONFIG_OUTDIV_MASK 0x7
188
189#define AR934X_PLL_CPU_DDR_CLK_CTRL_CPU_PLL_BYPASS BIT(2)
190#define AR934X_PLL_CPU_DDR_CLK_CTRL_DDR_PLL_BYPASS BIT(3)
191#define AR934X_PLL_CPU_DDR_CLK_CTRL_AHB_PLL_BYPASS BIT(4)
192#define AR934X_PLL_CPU_DDR_CLK_CTRL_CPU_POST_DIV_SHIFT 5
193#define AR934X_PLL_CPU_DDR_CLK_CTRL_CPU_POST_DIV_MASK 0x1f
194#define AR934X_PLL_CPU_DDR_CLK_CTRL_DDR_POST_DIV_SHIFT 10
195#define AR934X_PLL_CPU_DDR_CLK_CTRL_DDR_POST_DIV_MASK 0x1f
196#define AR934X_PLL_CPU_DDR_CLK_CTRL_AHB_POST_DIV_SHIFT 15
197#define AR934X_PLL_CPU_DDR_CLK_CTRL_AHB_POST_DIV_MASK 0x1f
198#define AR934X_PLL_CPU_DDR_CLK_CTRL_CPUCLK_FROM_CPUPLL BIT(20)
199#define AR934X_PLL_CPU_DDR_CLK_CTRL_DDRCLK_FROM_DDRPLL BIT(21)
200#define AR934X_PLL_CPU_DDR_CLK_CTRL_AHBCLK_FROM_DDRPLL BIT(24)
201
202/*
203 * USB_CONFIG block
204 */
205#define AR71XX_USB_CTRL_REG_FLADJ 0x00
206#define AR71XX_USB_CTRL_REG_CONFIG 0x04
207
208/* 107/*
209 * RESET block 108 * RESET block
210 */ 109 */
@@ -231,17 +130,6 @@
231 130
232#define AR724X_RESET_REG_RESET_MODULE 0x1c 131#define AR724X_RESET_REG_RESET_MODULE 0x1c
233 132
234#define AR933X_RESET_REG_RESET_MODULE 0x1c
235#define AR933X_RESET_REG_BOOTSTRAP 0xac
236
237#define AR934X_RESET_REG_RESET_MODULE 0x1c
238#define AR934X_RESET_REG_BOOTSTRAP 0xb0
239#define AR934X_RESET_REG_PCIE_WMAC_INT_STATUS 0xac
240
241#define MISC_INT_ETHSW BIT(12)
242#define MISC_INT_TIMER4 BIT(10)
243#define MISC_INT_TIMER3 BIT(9)
244#define MISC_INT_TIMER2 BIT(8)
245#define MISC_INT_DMA BIT(7) 133#define MISC_INT_DMA BIT(7)
246#define MISC_INT_OHCI BIT(6) 134#define MISC_INT_OHCI BIT(6)
247#define MISC_INT_PERFC BIT(5) 135#define MISC_INT_PERFC BIT(5)
@@ -270,68 +158,14 @@
270#define AR71XX_RESET_PCI_BUS BIT(1) 158#define AR71XX_RESET_PCI_BUS BIT(1)
271#define AR71XX_RESET_PCI_CORE BIT(0) 159#define AR71XX_RESET_PCI_CORE BIT(0)
272 160
273#define AR7240_RESET_USB_HOST BIT(5)
274#define AR7240_RESET_OHCI_DLL BIT(3)
275
276#define AR724X_RESET_GE1_MDIO BIT(23) 161#define AR724X_RESET_GE1_MDIO BIT(23)
277#define AR724X_RESET_GE0_MDIO BIT(22) 162#define AR724X_RESET_GE0_MDIO BIT(22)
278#define AR724X_RESET_PCIE_PHY_SERIAL BIT(10) 163#define AR724X_RESET_PCIE_PHY_SERIAL BIT(10)
279#define AR724X_RESET_PCIE_PHY BIT(7) 164#define AR724X_RESET_PCIE_PHY BIT(7)
280#define AR724X_RESET_PCIE BIT(6) 165#define AR724X_RESET_PCIE BIT(6)
281#define AR724X_RESET_USB_HOST BIT(5) 166#define AR724X_RESET_OHCI_DLL BIT(3)
282#define AR724X_RESET_USB_PHY BIT(4)
283#define AR724X_RESET_USBSUS_OVERRIDE BIT(3)
284 167
285#define AR913X_RESET_AMBA2WMAC BIT(22) 168#define AR913X_RESET_AMBA2WMAC BIT(22)
286#define AR913X_RESET_USBSUS_OVERRIDE BIT(10)
287#define AR913X_RESET_USB_HOST BIT(5)
288#define AR913X_RESET_USB_PHY BIT(4)
289
290#define AR933X_RESET_WMAC BIT(11)
291#define AR933X_RESET_USB_HOST BIT(5)
292#define AR933X_RESET_USB_PHY BIT(4)
293#define AR933X_RESET_USBSUS_OVERRIDE BIT(3)
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
300#define AR933X_BOOTSTRAP_REF_CLK_40 BIT(0)
301
302#define AR934X_BOOTSTRAP_SW_OPTION8 BIT(23)
303#define AR934X_BOOTSTRAP_SW_OPTION7 BIT(22)
304#define AR934X_BOOTSTRAP_SW_OPTION6 BIT(21)
305#define AR934X_BOOTSTRAP_SW_OPTION5 BIT(20)
306#define AR934X_BOOTSTRAP_SW_OPTION4 BIT(19)
307#define AR934X_BOOTSTRAP_SW_OPTION3 BIT(18)
308#define AR934X_BOOTSTRAP_SW_OPTION2 BIT(17)
309#define AR934X_BOOTSTRAP_SW_OPTION1 BIT(16)
310#define AR934X_BOOTSTRAP_USB_MODE_DEVICE BIT(7)
311#define AR934X_BOOTSTRAP_PCIE_RC BIT(6)
312#define AR934X_BOOTSTRAP_EJTAG_MODE BIT(5)
313#define AR934X_BOOTSTRAP_REF_CLK_40 BIT(4)
314#define AR934X_BOOTSTRAP_BOOT_FROM_SPI BIT(2)
315#define AR934X_BOOTSTRAP_SDRAM_DISABLED BIT(1)
316#define AR934X_BOOTSTRAP_DDR1 BIT(0)
317
318#define AR934X_PCIE_WMAC_INT_WMAC_MISC BIT(0)
319#define AR934X_PCIE_WMAC_INT_WMAC_TX BIT(1)
320#define AR934X_PCIE_WMAC_INT_WMAC_RXLP BIT(2)
321#define AR934X_PCIE_WMAC_INT_WMAC_RXHP BIT(3)
322#define AR934X_PCIE_WMAC_INT_PCIE_RC BIT(4)
323#define AR934X_PCIE_WMAC_INT_PCIE_RC0 BIT(5)
324#define AR934X_PCIE_WMAC_INT_PCIE_RC1 BIT(6)
325#define AR934X_PCIE_WMAC_INT_PCIE_RC2 BIT(7)
326#define AR934X_PCIE_WMAC_INT_PCIE_RC3 BIT(8)
327#define AR934X_PCIE_WMAC_INT_WMAC_ALL \
328 (AR934X_PCIE_WMAC_INT_WMAC_MISC | AR934X_PCIE_WMAC_INT_WMAC_TX | \
329 AR934X_PCIE_WMAC_INT_WMAC_RXLP | AR934X_PCIE_WMAC_INT_WMAC_RXHP)
330
331#define AR934X_PCIE_WMAC_INT_PCIE_ALL \
332 (AR934X_PCIE_WMAC_INT_PCIE_RC | AR934X_PCIE_WMAC_INT_PCIE_RC0 | \
333 AR934X_PCIE_WMAC_INT_PCIE_RC1 | AR934X_PCIE_WMAC_INT_PCIE_RC2 | \
334 AR934X_PCIE_WMAC_INT_PCIE_RC3)
335 169
336#define REV_ID_MAJOR_MASK 0xfff0 170#define REV_ID_MAJOR_MASK 0xfff0
337#define REV_ID_MAJOR_AR71XX 0x00a0 171#define REV_ID_MAJOR_AR71XX 0x00a0
@@ -339,11 +173,6 @@
339#define REV_ID_MAJOR_AR7240 0x00c0 173#define REV_ID_MAJOR_AR7240 0x00c0
340#define REV_ID_MAJOR_AR7241 0x0100 174#define REV_ID_MAJOR_AR7241 0x0100
341#define REV_ID_MAJOR_AR7242 0x1100 175#define REV_ID_MAJOR_AR7242 0x1100
342#define REV_ID_MAJOR_AR9330 0x0110
343#define REV_ID_MAJOR_AR9331 0x1110
344#define REV_ID_MAJOR_AR9341 0x0120
345#define REV_ID_MAJOR_AR9342 0x1120
346#define REV_ID_MAJOR_AR9344 0x2120
347 176
348#define AR71XX_REV_ID_MINOR_MASK 0x3 177#define AR71XX_REV_ID_MINOR_MASK 0x3
349#define AR71XX_REV_ID_MINOR_AR7130 0x0 178#define AR71XX_REV_ID_MINOR_AR7130 0x0
@@ -358,12 +187,8 @@
358#define AR913X_REV_ID_REVISION_MASK 0x3 187#define AR913X_REV_ID_REVISION_MASK 0x3
359#define AR913X_REV_ID_REVISION_SHIFT 2 188#define AR913X_REV_ID_REVISION_SHIFT 2
360 189
361#define AR933X_REV_ID_REVISION_MASK 0x3
362
363#define AR724X_REV_ID_REVISION_MASK 0x3 190#define AR724X_REV_ID_REVISION_MASK 0x3
364 191
365#define AR934X_REV_ID_REVISION_MASK 0xf
366
367/* 192/*
368 * SPI block 193 * SPI block
369 */ 194 */
@@ -402,31 +227,7 @@
402#define AR71XX_GPIO_REG_FUNC 0x28 227#define AR71XX_GPIO_REG_FUNC 0x28
403 228
404#define AR71XX_GPIO_COUNT 16 229#define AR71XX_GPIO_COUNT 16
405#define AR7240_GPIO_COUNT 18 230#define AR724X_GPIO_COUNT 18
406#define AR7241_GPIO_COUNT 20
407#define AR913X_GPIO_COUNT 22 231#define AR913X_GPIO_COUNT 22
408#define AR933X_GPIO_COUNT 30
409#define AR934X_GPIO_COUNT 23
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 232
432#endif /* __ASM_MACH_AR71XX_REGS_H */ 233#endif /* __ASM_MACH_AR71XX_REGS_H */
diff --git a/arch/mips/include/asm/mach-ath79/ar933x_uart.h b/arch/mips/include/asm/mach-ath79/ar933x_uart.h
deleted file mode 100644
index 52730555937..00000000000
--- a/arch/mips/include/asm/mach-ath79/ar933x_uart.h
+++ /dev/null
@@ -1,67 +0,0 @@
1/*
2 * Atheros AR933X UART defines
3 *
4 * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation.
9 */
10
11#ifndef __AR933X_UART_H
12#define __AR933X_UART_H
13
14#define AR933X_UART_REGS_SIZE 20
15#define AR933X_UART_FIFO_SIZE 16
16
17#define AR933X_UART_DATA_REG 0x00
18#define AR933X_UART_CS_REG 0x04
19#define AR933X_UART_CLOCK_REG 0x08
20#define AR933X_UART_INT_REG 0x0c
21#define AR933X_UART_INT_EN_REG 0x10
22
23#define AR933X_UART_DATA_TX_RX_MASK 0xff
24#define AR933X_UART_DATA_RX_CSR BIT(8)
25#define AR933X_UART_DATA_TX_CSR BIT(9)
26
27#define AR933X_UART_CS_PARITY_S 0
28#define AR933X_UART_CS_PARITY_M 0x3
29#define AR933X_UART_CS_PARITY_NONE 0
30#define AR933X_UART_CS_PARITY_ODD 1
31#define AR933X_UART_CS_PARITY_EVEN 2
32#define AR933X_UART_CS_IF_MODE_S 2
33#define AR933X_UART_CS_IF_MODE_M 0x3
34#define AR933X_UART_CS_IF_MODE_NONE 0
35#define AR933X_UART_CS_IF_MODE_DTE 1
36#define AR933X_UART_CS_IF_MODE_DCE 2
37#define AR933X_UART_CS_FLOW_CTRL_S 4
38#define AR933X_UART_CS_FLOW_CTRL_M 0x3
39#define AR933X_UART_CS_DMA_EN BIT(6)
40#define AR933X_UART_CS_TX_READY_ORIDE BIT(7)
41#define AR933X_UART_CS_RX_READY_ORIDE BIT(8)
42#define AR933X_UART_CS_TX_READY BIT(9)
43#define AR933X_UART_CS_RX_BREAK BIT(10)
44#define AR933X_UART_CS_TX_BREAK BIT(11)
45#define AR933X_UART_CS_HOST_INT BIT(12)
46#define AR933X_UART_CS_HOST_INT_EN BIT(13)
47#define AR933X_UART_CS_TX_BUSY BIT(14)
48#define AR933X_UART_CS_RX_BUSY BIT(15)
49
50#define AR933X_UART_CLOCK_STEP_M 0xffff
51#define AR933X_UART_CLOCK_SCALE_M 0xfff
52#define AR933X_UART_CLOCK_SCALE_S 16
53#define AR933X_UART_CLOCK_STEP_M 0xffff
54
55#define AR933X_UART_INT_RX_VALID BIT(0)
56#define AR933X_UART_INT_TX_READY BIT(1)
57#define AR933X_UART_INT_RX_FRAMING_ERR BIT(2)
58#define AR933X_UART_INT_RX_OFLOW_ERR BIT(3)
59#define AR933X_UART_INT_TX_OFLOW_ERR BIT(4)
60#define AR933X_UART_INT_RX_PARITY_ERR BIT(5)
61#define AR933X_UART_INT_RX_BREAK_ON BIT(6)
62#define AR933X_UART_INT_RX_BREAK_OFF BIT(7)
63#define AR933X_UART_INT_RX_FULL BIT(8)
64#define AR933X_UART_INT_TX_EMPTY BIT(9)
65#define AR933X_UART_INT_ALLINTS 0x3ff
66
67#endif /* __AR933X_UART_H */
diff --git a/arch/mips/include/asm/mach-ath79/ar933x_uart_platform.h b/arch/mips/include/asm/mach-ath79/ar933x_uart_platform.h
deleted file mode 100644
index 6cb30f2b719..00000000000
--- a/arch/mips/include/asm/mach-ath79/ar933x_uart_platform.h
+++ /dev/null
@@ -1,18 +0,0 @@
1/*
2 * Platform data definition for Atheros AR933X UART
3 *
4 * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation.
9 */
10
11#ifndef _AR933X_UART_PLATFORM_H
12#define _AR933X_UART_PLATFORM_H
13
14struct ar933x_uart_platform_data {
15 unsigned uartclk;
16};
17
18#endif /* _AR933X_UART_PLATFORM_H */
diff --git a/arch/mips/include/asm/mach-ath79/ath79.h b/arch/mips/include/asm/mach-ath79/ath79.h
index 4f248c3d7b2..6a9f168506f 100644
--- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/arch/mips/include/asm/mach-ath79/ath79.h
@@ -26,16 +26,10 @@ enum ath79_soc_type {
26 ATH79_SOC_AR7241, 26 ATH79_SOC_AR7241,
27 ATH79_SOC_AR7242, 27 ATH79_SOC_AR7242,
28 ATH79_SOC_AR9130, 28 ATH79_SOC_AR9130,
29 ATH79_SOC_AR9132, 29 ATH79_SOC_AR9132
30 ATH79_SOC_AR9330,
31 ATH79_SOC_AR9331,
32 ATH79_SOC_AR9341,
33 ATH79_SOC_AR9342,
34 ATH79_SOC_AR9344,
35}; 30};
36 31
37extern enum ath79_soc_type ath79_soc; 32extern enum ath79_soc_type ath79_soc;
38extern unsigned int ath79_soc_rev;
39 33
40static inline int soc_is_ar71xx(void) 34static inline int soc_is_ar71xx(void)
41{ 35{
@@ -72,32 +66,6 @@ static inline int soc_is_ar913x(void)
72 ath79_soc == ATH79_SOC_AR9132); 66 ath79_soc == ATH79_SOC_AR9132);
73} 67}
74 68
75static inline int soc_is_ar933x(void)
76{
77 return (ath79_soc == ATH79_SOC_AR9330 ||
78 ath79_soc == ATH79_SOC_AR9331);
79}
80
81static inline int soc_is_ar9341(void)
82{
83 return (ath79_soc == ATH79_SOC_AR9341);
84}
85
86static inline int soc_is_ar9342(void)
87{
88 return (ath79_soc == ATH79_SOC_AR9342);
89}
90
91static inline int soc_is_ar9344(void)
92{
93 return (ath79_soc == ATH79_SOC_AR9344);
94}
95
96static inline int soc_is_ar934x(void)
97{
98 return soc_is_ar9341() || soc_is_ar9342() || soc_is_ar9344();
99}
100
101extern void __iomem *ath79_ddr_base; 69extern void __iomem *ath79_ddr_base;
102extern void __iomem *ath79_pll_base; 70extern void __iomem *ath79_pll_base;
103extern void __iomem *ath79_reset_base; 71extern void __iomem *ath79_reset_base;
diff --git a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
index ea4b66dccf6..4476fa03bf3 100644
--- a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
@@ -43,7 +43,6 @@
43#define cpu_has_mips64r2 0 43#define cpu_has_mips64r2 0
44 44
45#define cpu_has_dsp 0 45#define cpu_has_dsp 0
46#define cpu_has_dsp2 0
47#define cpu_has_mipsmt 0 46#define cpu_has_mipsmt 0
48 47
49#define cpu_has_64bits 0 48#define cpu_has_64bits 0
diff --git a/arch/mips/include/asm/mach-ath79/irq.h b/arch/mips/include/asm/mach-ath79/irq.h
index 0968f69e201..189bc6eb9c1 100644
--- a/arch/mips/include/asm/mach-ath79/irq.h
+++ b/arch/mips/include/asm/mach-ath79/irq.h
@@ -10,18 +10,10 @@
10#define __ASM_MACH_ATH79_IRQ_H 10#define __ASM_MACH_ATH79_IRQ_H
11 11
12#define MIPS_CPU_IRQ_BASE 0 12#define MIPS_CPU_IRQ_BASE 0
13#define NR_IRQS 48 13#define NR_IRQS 16
14 14
15#define ATH79_MISC_IRQ_BASE 8 15#define ATH79_MISC_IRQ_BASE 8
16#define ATH79_MISC_IRQ_COUNT 32 16#define ATH79_MISC_IRQ_COUNT 8
17
18#define ATH79_PCI_IRQ_BASE (ATH79_MISC_IRQ_BASE + ATH79_MISC_IRQ_COUNT)
19#define ATH79_PCI_IRQ_COUNT 6
20#define ATH79_PCI_IRQ(_x) (ATH79_PCI_IRQ_BASE + (_x))
21
22#define ATH79_IP2_IRQ_BASE (ATH79_PCI_IRQ_BASE + ATH79_PCI_IRQ_COUNT)
23#define ATH79_IP2_IRQ_COUNT 2
24#define ATH79_IP2_IRQ(_x) (ATH79_IP2_IRQ_BASE + (_x))
25 17
26#define ATH79_CPU_IRQ_IP2 (MIPS_CPU_IRQ_BASE + 2) 18#define ATH79_CPU_IRQ_IP2 (MIPS_CPU_IRQ_BASE + 2)
27#define ATH79_CPU_IRQ_USB (MIPS_CPU_IRQ_BASE + 3) 19#define ATH79_CPU_IRQ_USB (MIPS_CPU_IRQ_BASE + 3)
@@ -38,10 +30,6 @@
38#define ATH79_MISC_IRQ_PERFC (ATH79_MISC_IRQ_BASE + 5) 30#define ATH79_MISC_IRQ_PERFC (ATH79_MISC_IRQ_BASE + 5)
39#define ATH79_MISC_IRQ_OHCI (ATH79_MISC_IRQ_BASE + 6) 31#define ATH79_MISC_IRQ_OHCI (ATH79_MISC_IRQ_BASE + 6)
40#define ATH79_MISC_IRQ_DMA (ATH79_MISC_IRQ_BASE + 7) 32#define ATH79_MISC_IRQ_DMA (ATH79_MISC_IRQ_BASE + 7)
41#define ATH79_MISC_IRQ_TIMER2 (ATH79_MISC_IRQ_BASE + 8)
42#define ATH79_MISC_IRQ_TIMER3 (ATH79_MISC_IRQ_BASE + 9)
43#define ATH79_MISC_IRQ_TIMER4 (ATH79_MISC_IRQ_BASE + 10)
44#define ATH79_MISC_IRQ_ETHSW (ATH79_MISC_IRQ_BASE + 12)
45 33
46#include_next <irq.h> 34#include_next <irq.h>
47 35
diff --git a/arch/mips/include/asm/mach-ath79/pci.h b/arch/mips/include/asm/mach-ath79/pci.h
deleted file mode 100644
index 7868f7fa028..00000000000
--- a/arch/mips/include/asm/mach-ath79/pci.h
+++ /dev/null
@@ -1,28 +0,0 @@
1/*
2 * Atheros AR71XX/AR724X PCI support
3 *
4 * Copyright (C) 2011 René Bolldorf <xsecute@googlemail.com>
5 * Copyright (C) 2008-2011 Gabor Juhos <juhosg@openwrt.org>
6 * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License version 2 as published
10 * by the Free Software Foundation.
11 */
12
13#ifndef __ASM_MACH_ATH79_PCI_H
14#define __ASM_MACH_ATH79_PCI_H
15
16#if defined(CONFIG_PCI) && defined(CONFIG_SOC_AR71XX)
17int ar71xx_pcibios_init(void);
18#else
19static inline int ar71xx_pcibios_init(void) { return 0; }
20#endif
21
22#if defined(CONFIG_PCI_AR724X)
23int ar724x_pcibios_init(int irq);
24#else
25static inline int ar724x_pcibios_init(int irq) { return 0; }
26#endif
27
28#endif /* __ASM_MACH_ATH79_PCI_H */
diff --git a/arch/mips/include/asm/mach-ath79/war.h b/arch/mips/include/asm/mach-ath79/war.h
index 0bb30905fd5..323d9f1d8c4 100644
--- a/arch/mips/include/asm/mach-ath79/war.h
+++ b/arch/mips/include/asm/mach-ath79/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-au1x00/au1000.h b/arch/mips/include/asm/mach-au1x00/au1000.h
index 569828d3cca..f260ebed713 100644
--- a/arch/mips/include/asm/mach-au1x00/au1000.h
+++ b/arch/mips/include/asm/mach-au1x00/au1000.h
@@ -136,7 +136,6 @@ static inline int au1xxx_cpu_needs_config_od(void)
136#define ALCHEMY_CPU_AU1100 2 136#define ALCHEMY_CPU_AU1100 2
137#define ALCHEMY_CPU_AU1550 3 137#define ALCHEMY_CPU_AU1550 3
138#define ALCHEMY_CPU_AU1200 4 138#define ALCHEMY_CPU_AU1200 4
139#define ALCHEMY_CPU_AU1300 5
140 139
141static inline int alchemy_get_cputype(void) 140static inline int alchemy_get_cputype(void)
142{ 141{
@@ -157,9 +156,6 @@ static inline int alchemy_get_cputype(void)
157 case 0x05030000: 156 case 0x05030000:
158 return ALCHEMY_CPU_AU1200; 157 return ALCHEMY_CPU_AU1200;
159 break; 158 break;
160 case 0x800c0000:
161 return ALCHEMY_CPU_AU1300;
162 break;
163 } 159 }
164 160
165 return ALCHEMY_CPU_UNKNOWN; 161 return ALCHEMY_CPU_UNKNOWN;
@@ -170,7 +166,6 @@ static inline int alchemy_get_uarts(int type)
170{ 166{
171 switch (type) { 167 switch (type) {
172 case ALCHEMY_CPU_AU1000: 168 case ALCHEMY_CPU_AU1000:
173 case ALCHEMY_CPU_AU1300:
174 return 4; 169 return 4;
175 case ALCHEMY_CPU_AU1500: 170 case ALCHEMY_CPU_AU1500:
176 case ALCHEMY_CPU_AU1200: 171 case ALCHEMY_CPU_AU1200:
@@ -248,114 +243,17 @@ extern unsigned long au1xxx_calc_clock(void);
248/* PM: arch/mips/alchemy/common/sleeper.S, power.c, irq.c */ 243/* PM: arch/mips/alchemy/common/sleeper.S, power.c, irq.c */
249void alchemy_sleep_au1000(void); 244void alchemy_sleep_au1000(void);
250void alchemy_sleep_au1550(void); 245void alchemy_sleep_au1550(void);
251void alchemy_sleep_au1300(void);
252void au_sleep(void); 246void au_sleep(void);
253 247
254/* USB: drivers/usb/host/alchemy-common.c */
255enum alchemy_usb_block {
256 ALCHEMY_USB_OHCI0,
257 ALCHEMY_USB_UDC0,
258 ALCHEMY_USB_EHCI0,
259 ALCHEMY_USB_OTG0,
260 ALCHEMY_USB_OHCI1,
261};
262int alchemy_usb_control(int block, int enable);
263
264/* PCI controller platform data */
265struct alchemy_pci_platdata {
266 int (*board_map_irq)(const struct pci_dev *d, u8 slot, u8 pin);
267 int (*board_pci_idsel)(unsigned int devsel, int assert);
268 /* bits to set/clear in PCI_CONFIG register */
269 unsigned long pci_cfg_set;
270 unsigned long pci_cfg_clr;
271};
272
273/* Multifunction pins: Each of these pins can either be assigned to the
274 * GPIO controller or a on-chip peripheral.
275 * Call "au1300_pinfunc_to_dev()" or "au1300_pinfunc_to_gpio()" to
276 * assign one of these to either the GPIO controller or the device.
277 */
278enum au1300_multifunc_pins {
279 /* wake-from-str pins 0-3 */
280 AU1300_PIN_WAKE0 = 0, AU1300_PIN_WAKE1, AU1300_PIN_WAKE2,
281 AU1300_PIN_WAKE3,
282 /* external clock sources for PSCs: 4-5 */
283 AU1300_PIN_EXTCLK0, AU1300_PIN_EXTCLK1,
284 /* 8bit MMC interface on SD0: 6-9 */
285 AU1300_PIN_SD0DAT4, AU1300_PIN_SD0DAT5, AU1300_PIN_SD0DAT6,
286 AU1300_PIN_SD0DAT7,
287 /* aux clk input for freqgen 3: 10 */
288 AU1300_PIN_FG3AUX,
289 /* UART1 pins: 11-18 */
290 AU1300_PIN_U1RI, AU1300_PIN_U1DCD, AU1300_PIN_U1DSR,
291 AU1300_PIN_U1CTS, AU1300_PIN_U1RTS, AU1300_PIN_U1DTR,
292 AU1300_PIN_U1RX, AU1300_PIN_U1TX,
293 /* UART0 pins: 19-24 */
294 AU1300_PIN_U0RI, AU1300_PIN_U0DCD, AU1300_PIN_U0DSR,
295 AU1300_PIN_U0CTS, AU1300_PIN_U0RTS, AU1300_PIN_U0DTR,
296 /* UART2: 25-26 */
297 AU1300_PIN_U2RX, AU1300_PIN_U2TX,
298 /* UART3: 27-28 */
299 AU1300_PIN_U3RX, AU1300_PIN_U3TX,
300 /* LCD controller PWMs, ext pixclock: 29-31 */
301 AU1300_PIN_LCDPWM0, AU1300_PIN_LCDPWM1, AU1300_PIN_LCDCLKIN,
302 /* SD1 interface: 32-37 */
303 AU1300_PIN_SD1DAT0, AU1300_PIN_SD1DAT1, AU1300_PIN_SD1DAT2,
304 AU1300_PIN_SD1DAT3, AU1300_PIN_SD1CMD, AU1300_PIN_SD1CLK,
305 /* SD2 interface: 38-43 */
306 AU1300_PIN_SD2DAT0, AU1300_PIN_SD2DAT1, AU1300_PIN_SD2DAT2,
307 AU1300_PIN_SD2DAT3, AU1300_PIN_SD2CMD, AU1300_PIN_SD2CLK,
308 /* PSC0/1 clocks: 44-45 */
309 AU1300_PIN_PSC0CLK, AU1300_PIN_PSC1CLK,
310 /* PSCs: 46-49/50-53/54-57/58-61 */
311 AU1300_PIN_PSC0SYNC0, AU1300_PIN_PSC0SYNC1, AU1300_PIN_PSC0D0,
312 AU1300_PIN_PSC0D1,
313 AU1300_PIN_PSC1SYNC0, AU1300_PIN_PSC1SYNC1, AU1300_PIN_PSC1D0,
314 AU1300_PIN_PSC1D1,
315 AU1300_PIN_PSC2SYNC0, AU1300_PIN_PSC2SYNC1, AU1300_PIN_PSC2D0,
316 AU1300_PIN_PSC2D1,
317 AU1300_PIN_PSC3SYNC0, AU1300_PIN_PSC3SYNC1, AU1300_PIN_PSC3D0,
318 AU1300_PIN_PSC3D1,
319 /* PCMCIA interface: 62-70 */
320 AU1300_PIN_PCE2, AU1300_PIN_PCE1, AU1300_PIN_PIOS16,
321 AU1300_PIN_PIOR, AU1300_PIN_PWE, AU1300_PIN_PWAIT,
322 AU1300_PIN_PREG, AU1300_PIN_POE, AU1300_PIN_PIOW,
323 /* camera interface H/V sync inputs: 71-72 */
324 AU1300_PIN_CIMLS, AU1300_PIN_CIMFS,
325 /* PSC2/3 clocks: 73-74 */
326 AU1300_PIN_PSC2CLK, AU1300_PIN_PSC3CLK,
327};
328
329/* GPIC (Au1300) pin management: arch/mips/alchemy/common/gpioint.c */
330extern void au1300_pinfunc_to_gpio(enum au1300_multifunc_pins gpio);
331extern void au1300_pinfunc_to_dev(enum au1300_multifunc_pins gpio);
332extern void au1300_set_irq_priority(unsigned int irq, int p);
333extern void au1300_set_dbdma_gpio(int dchan, unsigned int gpio);
334
335/* Au1300 allows to disconnect certain blocks from internal power supply */
336enum au1300_vss_block {
337 AU1300_VSS_MPE = 0,
338 AU1300_VSS_BSA,
339 AU1300_VSS_GPE,
340 AU1300_VSS_MGP,
341};
342
343extern void au1300_vss_block_control(int block, int enable);
344
345 248
346/* SOC Interrupt numbers */ 249/* SOC Interrupt numbers */
347/* Au1000-style (IC0/1): 2 controllers with 32 sources each */ 250
348#define AU1000_INTC0_INT_BASE (MIPS_CPU_IRQ_BASE + 8) 251#define AU1000_INTC0_INT_BASE (MIPS_CPU_IRQ_BASE + 8)
349#define AU1000_INTC0_INT_LAST (AU1000_INTC0_INT_BASE + 31) 252#define AU1000_INTC0_INT_LAST (AU1000_INTC0_INT_BASE + 31)
350#define AU1000_INTC1_INT_BASE (AU1000_INTC0_INT_LAST + 1) 253#define AU1000_INTC1_INT_BASE (AU1000_INTC0_INT_LAST + 1)
351#define AU1000_INTC1_INT_LAST (AU1000_INTC1_INT_BASE + 31) 254#define AU1000_INTC1_INT_LAST (AU1000_INTC1_INT_BASE + 31)
352#define AU1000_MAX_INTR AU1000_INTC1_INT_LAST 255#define AU1000_MAX_INTR AU1000_INTC1_INT_LAST
353 256
354/* Au1300-style (GPIC): 1 controller with up to 128 sources */
355#define ALCHEMY_GPIC_INT_BASE (MIPS_CPU_IRQ_BASE + 8)
356#define ALCHEMY_GPIC_INT_NUM 128
357#define ALCHEMY_GPIC_INT_LAST (ALCHEMY_GPIC_INT_BASE + ALCHEMY_GPIC_INT_NUM - 1)
358
359enum soc_au1000_ints { 257enum soc_au1000_ints {
360 AU1000_FIRST_INT = AU1000_INTC0_INT_BASE, 258 AU1000_FIRST_INT = AU1000_INTC0_INT_BASE,
361 AU1000_UART0_INT = AU1000_FIRST_INT, 259 AU1000_UART0_INT = AU1000_FIRST_INT,
@@ -676,208 +574,39 @@ enum soc_au1200_ints {
676 574
677#endif /* !defined (_LANGUAGE_ASSEMBLY) */ 575#endif /* !defined (_LANGUAGE_ASSEMBLY) */
678 576
679/* Au1300 peripheral interrupt numbers */
680#define AU1300_FIRST_INT (ALCHEMY_GPIC_INT_BASE)
681#define AU1300_UART1_INT (AU1300_FIRST_INT + 17)
682#define AU1300_UART2_INT (AU1300_FIRST_INT + 25)
683#define AU1300_UART3_INT (AU1300_FIRST_INT + 27)
684#define AU1300_SD1_INT (AU1300_FIRST_INT + 32)
685#define AU1300_SD2_INT (AU1300_FIRST_INT + 38)
686#define AU1300_PSC0_INT (AU1300_FIRST_INT + 48)
687#define AU1300_PSC1_INT (AU1300_FIRST_INT + 52)
688#define AU1300_PSC2_INT (AU1300_FIRST_INT + 56)
689#define AU1300_PSC3_INT (AU1300_FIRST_INT + 60)
690#define AU1300_NAND_INT (AU1300_FIRST_INT + 62)
691#define AU1300_DDMA_INT (AU1300_FIRST_INT + 75)
692#define AU1300_MMU_INT (AU1300_FIRST_INT + 76)
693#define AU1300_MPU_INT (AU1300_FIRST_INT + 77)
694#define AU1300_GPU_INT (AU1300_FIRST_INT + 78)
695#define AU1300_UDMA_INT (AU1300_FIRST_INT + 79)
696#define AU1300_TOY_INT (AU1300_FIRST_INT + 80)
697#define AU1300_TOY_MATCH0_INT (AU1300_FIRST_INT + 81)
698#define AU1300_TOY_MATCH1_INT (AU1300_FIRST_INT + 82)
699#define AU1300_TOY_MATCH2_INT (AU1300_FIRST_INT + 83)
700#define AU1300_RTC_INT (AU1300_FIRST_INT + 84)
701#define AU1300_RTC_MATCH0_INT (AU1300_FIRST_INT + 85)
702#define AU1300_RTC_MATCH1_INT (AU1300_FIRST_INT + 86)
703#define AU1300_RTC_MATCH2_INT (AU1300_FIRST_INT + 87)
704#define AU1300_UART0_INT (AU1300_FIRST_INT + 88)
705#define AU1300_SD0_INT (AU1300_FIRST_INT + 89)
706#define AU1300_USB_INT (AU1300_FIRST_INT + 90)
707#define AU1300_LCD_INT (AU1300_FIRST_INT + 91)
708#define AU1300_BSA_INT (AU1300_FIRST_INT + 92)
709#define AU1300_MPE_INT (AU1300_FIRST_INT + 93)
710#define AU1300_ITE_INT (AU1300_FIRST_INT + 94)
711#define AU1300_AES_INT (AU1300_FIRST_INT + 95)
712#define AU1300_CIM_INT (AU1300_FIRST_INT + 96)
713
714/**********************************************************************/
715
716/* 577/*
717 * Physical base addresses for integrated peripherals 578 * SDRAM register offsets
718 * 0..au1000 1..au1500 2..au1100 3..au1550 4..au1200 5..au1300
719 */ 579 */
720 580#if defined(CONFIG_SOC_AU1000) || defined(CONFIG_SOC_AU1500) || \
721#define AU1000_AC97_PHYS_ADDR 0x10000000 /* 012 */ 581 defined(CONFIG_SOC_AU1100)
722#define AU1300_ROM_PHYS_ADDR 0x10000000 /* 5 */ 582#define MEM_SDMODE0 0x0000
723#define AU1300_OTP_PHYS_ADDR 0x10002000 /* 5 */ 583#define MEM_SDMODE1 0x0004
724#define AU1300_VSS_PHYS_ADDR 0x10003000 /* 5 */ 584#define MEM_SDMODE2 0x0008
725#define AU1300_UART0_PHYS_ADDR 0x10100000 /* 5 */ 585#define MEM_SDADDR0 0x000C
726#define AU1300_UART1_PHYS_ADDR 0x10101000 /* 5 */ 586#define MEM_SDADDR1 0x0010
727#define AU1300_UART2_PHYS_ADDR 0x10102000 /* 5 */ 587#define MEM_SDADDR2 0x0014
728#define AU1300_UART3_PHYS_ADDR 0x10103000 /* 5 */ 588#define MEM_SDREFCFG 0x0018
729#define AU1000_USB_OHCI_PHYS_ADDR 0x10100000 /* 012 */ 589#define MEM_SDPRECMD 0x001C
730#define AU1000_USB_UDC_PHYS_ADDR 0x10200000 /* 0123 */ 590#define MEM_SDAUTOREF 0x0020
731#define AU1300_GPIC_PHYS_ADDR 0x10200000 /* 5 */ 591#define MEM_SDWRMD0 0x0024
732#define AU1000_IRDA_PHYS_ADDR 0x10300000 /* 02 */ 592#define MEM_SDWRMD1 0x0028
733#define AU1200_AES_PHYS_ADDR 0x10300000 /* 45 */ 593#define MEM_SDWRMD2 0x002C
734#define AU1000_IC0_PHYS_ADDR 0x10400000 /* 01234 */ 594#define MEM_SDSLEEP 0x0030
735#define AU1300_GPU_PHYS_ADDR 0x10500000 /* 5 */ 595#define MEM_SDSMCKE 0x0034
736#define AU1000_MAC0_PHYS_ADDR 0x10500000 /* 023 */
737#define AU1000_MAC1_PHYS_ADDR 0x10510000 /* 023 */
738#define AU1000_MACEN_PHYS_ADDR 0x10520000 /* 023 */
739#define AU1100_SD0_PHYS_ADDR 0x10600000 /* 245 */
740#define AU1300_SD1_PHYS_ADDR 0x10601000 /* 5 */
741#define AU1300_SD2_PHYS_ADDR 0x10602000 /* 5 */
742#define AU1100_SD1_PHYS_ADDR 0x10680000 /* 24 */
743#define AU1300_SYS_PHYS_ADDR 0x10900000 /* 5 */
744#define AU1550_PSC2_PHYS_ADDR 0x10A00000 /* 3 */
745#define AU1550_PSC3_PHYS_ADDR 0x10B00000 /* 3 */
746#define AU1300_PSC0_PHYS_ADDR 0x10A00000 /* 5 */
747#define AU1300_PSC1_PHYS_ADDR 0x10A01000 /* 5 */
748#define AU1300_PSC2_PHYS_ADDR 0x10A02000 /* 5 */
749#define AU1300_PSC3_PHYS_ADDR 0x10A03000 /* 5 */
750#define AU1000_I2S_PHYS_ADDR 0x11000000 /* 02 */
751#define AU1500_MAC0_PHYS_ADDR 0x11500000 /* 1 */
752#define AU1500_MAC1_PHYS_ADDR 0x11510000 /* 1 */
753#define AU1500_MACEN_PHYS_ADDR 0x11520000 /* 1 */
754#define AU1000_UART0_PHYS_ADDR 0x11100000 /* 01234 */
755#define AU1200_SWCNT_PHYS_ADDR 0x1110010C /* 4 */
756#define AU1000_UART1_PHYS_ADDR 0x11200000 /* 0234 */
757#define AU1000_UART2_PHYS_ADDR 0x11300000 /* 0 */
758#define AU1000_UART3_PHYS_ADDR 0x11400000 /* 0123 */
759#define AU1000_SSI0_PHYS_ADDR 0x11600000 /* 02 */
760#define AU1000_SSI1_PHYS_ADDR 0x11680000 /* 02 */
761#define AU1500_GPIO2_PHYS_ADDR 0x11700000 /* 1234 */
762#define AU1000_IC1_PHYS_ADDR 0x11800000 /* 01234 */
763#define AU1000_SYS_PHYS_ADDR 0x11900000 /* 012345 */
764#define AU1550_PSC0_PHYS_ADDR 0x11A00000 /* 34 */
765#define AU1550_PSC1_PHYS_ADDR 0x11B00000 /* 34 */
766#define AU1000_MEM_PHYS_ADDR 0x14000000 /* 01234 */
767#define AU1000_STATIC_MEM_PHYS_ADDR 0x14001000 /* 01234 */
768#define AU1300_UDMA_PHYS_ADDR 0x14001800 /* 5 */
769#define AU1000_DMA_PHYS_ADDR 0x14002000 /* 012 */
770#define AU1550_DBDMA_PHYS_ADDR 0x14002000 /* 345 */
771#define AU1550_DBDMA_CONF_PHYS_ADDR 0x14003000 /* 345 */
772#define AU1000_MACDMA0_PHYS_ADDR 0x14004000 /* 0123 */
773#define AU1000_MACDMA1_PHYS_ADDR 0x14004200 /* 0123 */
774#define AU1200_CIM_PHYS_ADDR 0x14004000 /* 45 */
775#define AU1500_PCI_PHYS_ADDR 0x14005000 /* 13 */
776#define AU1550_PE_PHYS_ADDR 0x14008000 /* 3 */
777#define AU1200_MAEBE_PHYS_ADDR 0x14010000 /* 4 */
778#define AU1200_MAEFE_PHYS_ADDR 0x14012000 /* 4 */
779#define AU1300_MAEITE_PHYS_ADDR 0x14010000 /* 5 */
780#define AU1300_MAEMPE_PHYS_ADDR 0x14014000 /* 5 */
781#define AU1550_USB_OHCI_PHYS_ADDR 0x14020000 /* 3 */
782#define AU1200_USB_CTL_PHYS_ADDR 0x14020000 /* 4 */
783#define AU1200_USB_OTG_PHYS_ADDR 0x14020020 /* 4 */
784#define AU1200_USB_OHCI_PHYS_ADDR 0x14020100 /* 4 */
785#define AU1200_USB_EHCI_PHYS_ADDR 0x14020200 /* 4 */
786#define AU1200_USB_UDC_PHYS_ADDR 0x14022000 /* 4 */
787#define AU1300_USB_EHCI_PHYS_ADDR 0x14020000 /* 5 */
788#define AU1300_USB_OHCI0_PHYS_ADDR 0x14020400 /* 5 */
789#define AU1300_USB_OHCI1_PHYS_ADDR 0x14020800 /* 5 */
790#define AU1300_USB_CTL_PHYS_ADDR 0x14021000 /* 5 */
791#define AU1300_USB_OTG_PHYS_ADDR 0x14022000 /* 5 */
792#define AU1300_MAEBSA_PHYS_ADDR 0x14030000 /* 5 */
793#define AU1100_LCD_PHYS_ADDR 0x15000000 /* 2 */
794#define AU1200_LCD_PHYS_ADDR 0x15000000 /* 45 */
795#define AU1500_PCI_MEM_PHYS_ADDR 0x400000000ULL /* 13 */
796#define AU1500_PCI_IO_PHYS_ADDR 0x500000000ULL /* 13 */
797#define AU1500_PCI_CONFIG0_PHYS_ADDR 0x600000000ULL /* 13 */
798#define AU1500_PCI_CONFIG1_PHYS_ADDR 0x680000000ULL /* 13 */
799#define AU1000_PCMCIA_IO_PHYS_ADDR 0xF00000000ULL /* 012345 */
800#define AU1000_PCMCIA_ATTR_PHYS_ADDR 0xF40000000ULL /* 012345 */
801#define AU1000_PCMCIA_MEM_PHYS_ADDR 0xF80000000ULL /* 012345 */
802
803/**********************************************************************/
804
805 596
806/* 597/*
807 * Au1300 GPIO+INT controller (GPIC) register offsets and bits 598 * MEM_SDMODE register content definitions
808 * Registers are 128bits (0x10 bytes), divided into 4 "banks".
809 */ 599 */
810#define AU1300_GPIC_PINVAL 0x0000
811#define AU1300_GPIC_PINVALCLR 0x0010
812#define AU1300_GPIC_IPEND 0x0020
813#define AU1300_GPIC_PRIENC 0x0030
814#define AU1300_GPIC_IEN 0x0040 /* int_mask in manual */
815#define AU1300_GPIC_IDIS 0x0050 /* int_maskclr in manual */
816#define AU1300_GPIC_DMASEL 0x0060
817#define AU1300_GPIC_DEVSEL 0x0080
818#define AU1300_GPIC_DEVCLR 0x0090
819#define AU1300_GPIC_RSTVAL 0x00a0
820/* pin configuration space. one 32bit register for up to 128 IRQs */
821#define AU1300_GPIC_PINCFG 0x1000
822
823#define GPIC_GPIO_TO_BIT(gpio) \
824 (1 << ((gpio) & 0x1f))
825
826#define GPIC_GPIO_BANKOFF(gpio) \
827 (((gpio) >> 5) * 4)
828
829/* Pin Control bits: who owns the pin, what does it do */
830#define GPIC_CFG_PC_GPIN 0
831#define GPIC_CFG_PC_DEV 1
832#define GPIC_CFG_PC_GPOLOW 2
833#define GPIC_CFG_PC_GPOHIGH 3
834#define GPIC_CFG_PC_MASK 3
835
836/* assign pin to MIPS IRQ line */
837#define GPIC_CFG_IL_SET(x) (((x) & 3) << 2)
838#define GPIC_CFG_IL_MASK (3 << 2)
839
840/* pin interrupt type setup */
841#define GPIC_CFG_IC_OFF (0 << 4)
842#define GPIC_CFG_IC_LEVEL_LOW (1 << 4)
843#define GPIC_CFG_IC_LEVEL_HIGH (2 << 4)
844#define GPIC_CFG_IC_EDGE_FALL (5 << 4)
845#define GPIC_CFG_IC_EDGE_RISE (6 << 4)
846#define GPIC_CFG_IC_EDGE_BOTH (7 << 4)
847#define GPIC_CFG_IC_MASK (7 << 4)
848
849/* allow interrupt to wake cpu from 'wait' */
850#define GPIC_CFG_IDLEWAKE (1 << 7)
851
852/***********************************************************************/
853
854/* Au1000 SDRAM memory controller register offsets */
855#define AU1000_MEM_SDMODE0 0x0000
856#define AU1000_MEM_SDMODE1 0x0004
857#define AU1000_MEM_SDMODE2 0x0008
858#define AU1000_MEM_SDADDR0 0x000C
859#define AU1000_MEM_SDADDR1 0x0010
860#define AU1000_MEM_SDADDR2 0x0014
861#define AU1000_MEM_SDREFCFG 0x0018
862#define AU1000_MEM_SDPRECMD 0x001C
863#define AU1000_MEM_SDAUTOREF 0x0020
864#define AU1000_MEM_SDWRMD0 0x0024
865#define AU1000_MEM_SDWRMD1 0x0028
866#define AU1000_MEM_SDWRMD2 0x002C
867#define AU1000_MEM_SDSLEEP 0x0030
868#define AU1000_MEM_SDSMCKE 0x0034
869
870/* MEM_SDMODE register content definitions */
871#define MEM_SDMODE_F (1 << 22) 600#define MEM_SDMODE_F (1 << 22)
872#define MEM_SDMODE_SR (1 << 21) 601#define MEM_SDMODE_SR (1 << 21)
873#define MEM_SDMODE_BS (1 << 20) 602#define MEM_SDMODE_BS (1 << 20)
874#define MEM_SDMODE_RS (3 << 18) 603#define MEM_SDMODE_RS (3 << 18)
875#define MEM_SDMODE_CS (7 << 15) 604#define MEM_SDMODE_CS (7 << 15)
876#define MEM_SDMODE_TRAS (15 << 11) 605#define MEM_SDMODE_TRAS (15 << 11)
877#define MEM_SDMODE_TMRD (3 << 9) 606#define MEM_SDMODE_TMRD (3 << 9)
878#define MEM_SDMODE_TWR (3 << 7) 607#define MEM_SDMODE_TWR (3 << 7)
879#define MEM_SDMODE_TRP (3 << 5) 608#define MEM_SDMODE_TRP (3 << 5)
880#define MEM_SDMODE_TRCD (3 << 3) 609#define MEM_SDMODE_TRCD (3 << 3)
881#define MEM_SDMODE_TCL (7 << 0) 610#define MEM_SDMODE_TCL (7 << 0)
882 611
883#define MEM_SDMODE_BS_2Bank (0 << 20) 612#define MEM_SDMODE_BS_2Bank (0 << 20)
@@ -899,43 +628,173 @@ enum soc_au1200_ints {
899#define MEM_SDMODE_TRCD_N(N) ((N) << 3) 628#define MEM_SDMODE_TRCD_N(N) ((N) << 3)
900#define MEM_SDMODE_TCL_N(N) ((N) << 0) 629#define MEM_SDMODE_TCL_N(N) ((N) << 0)
901 630
902/* MEM_SDADDR register contents definitions */ 631/*
632 * MEM_SDADDR register contents definitions
633 */
903#define MEM_SDADDR_E (1 << 20) 634#define MEM_SDADDR_E (1 << 20)
904#define MEM_SDADDR_CSBA (0x03FF << 10) 635#define MEM_SDADDR_CSBA (0x03FF << 10)
905#define MEM_SDADDR_CSMASK (0x03FF << 0) 636#define MEM_SDADDR_CSMASK (0x03FF << 0)
906#define MEM_SDADDR_CSBA_N(N) ((N) & (0x03FF << 22) >> 12) 637#define MEM_SDADDR_CSBA_N(N) ((N) & (0x03FF << 22) >> 12)
907#define MEM_SDADDR_CSMASK_N(N) ((N)&(0x03FF << 22) >> 22) 638#define MEM_SDADDR_CSMASK_N(N) ((N)&(0x03FF << 22) >> 22)
908 639
909/* MEM_SDREFCFG register content definitions */ 640/*
641 * MEM_SDREFCFG register content definitions
642 */
910#define MEM_SDREFCFG_TRC (15 << 28) 643#define MEM_SDREFCFG_TRC (15 << 28)
911#define MEM_SDREFCFG_TRPM (3 << 26) 644#define MEM_SDREFCFG_TRPM (3 << 26)
912#define MEM_SDREFCFG_E (1 << 25) 645#define MEM_SDREFCFG_E (1 << 25)
913#define MEM_SDREFCFG_RE (0x1ffffff << 0) 646#define MEM_SDREFCFG_RE (0x1ffffff << 0)
914#define MEM_SDREFCFG_TRC_N(N) ((N) << MEM_SDREFCFG_TRC) 647#define MEM_SDREFCFG_TRC_N(N) ((N) << MEM_SDREFCFG_TRC)
915#define MEM_SDREFCFG_TRPM_N(N) ((N) << MEM_SDREFCFG_TRPM) 648#define MEM_SDREFCFG_TRPM_N(N) ((N) << MEM_SDREFCFG_TRPM)
916#define MEM_SDREFCFG_REF_N(N) (N) 649#define MEM_SDREFCFG_REF_N(N) (N)
650#endif
651
652/***********************************************************************/
653
654/*
655 * Au1550 SDRAM Register Offsets
656 */
657
658/***********************************************************************/
659
660#if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200)
661#define MEM_SDMODE0 0x0800
662#define MEM_SDMODE1 0x0808
663#define MEM_SDMODE2 0x0810
664#define MEM_SDADDR0 0x0820
665#define MEM_SDADDR1 0x0828
666#define MEM_SDADDR2 0x0830
667#define MEM_SDCONFIGA 0x0840
668#define MEM_SDCONFIGB 0x0848
669#define MEM_SDSTAT 0x0850
670#define MEM_SDERRADDR 0x0858
671#define MEM_SDSTRIDE0 0x0860
672#define MEM_SDSTRIDE1 0x0868
673#define MEM_SDSTRIDE2 0x0870
674#define MEM_SDWRMD0 0x0880
675#define MEM_SDWRMD1 0x0888
676#define MEM_SDWRMD2 0x0890
677#define MEM_SDPRECMD 0x08C0
678#define MEM_SDAUTOREF 0x08C8
679#define MEM_SDSREF 0x08D0
680#define MEM_SDSLEEP MEM_SDSREF
681
682#endif
683
684/*
685 * Physical base addresses for integrated peripherals
686 * 0..au1000 1..au1500 2..au1100 3..au1550 4..au1200
687 */
688
689#define AU1000_AC97_PHYS_ADDR 0x10000000 /* 012 */
690#define AU1000_USBD_PHYS_ADDR 0x10200000 /* 0123 */
691#define AU1000_IC0_PHYS_ADDR 0x10400000 /* 01234 */
692#define AU1000_MAC0_PHYS_ADDR 0x10500000 /* 023 */
693#define AU1000_MAC1_PHYS_ADDR 0x10510000 /* 023 */
694#define AU1000_MACEN_PHYS_ADDR 0x10520000 /* 023 */
695#define AU1100_SD0_PHYS_ADDR 0x10600000 /* 24 */
696#define AU1100_SD1_PHYS_ADDR 0x10680000 /* 24 */
697#define AU1000_I2S_PHYS_ADDR 0x11000000 /* 02 */
698#define AU1500_MAC0_PHYS_ADDR 0x11500000 /* 1 */
699#define AU1500_MAC1_PHYS_ADDR 0x11510000 /* 1 */
700#define AU1500_MACEN_PHYS_ADDR 0x11520000 /* 1 */
701#define AU1000_UART0_PHYS_ADDR 0x11100000 /* 01234 */
702#define AU1000_UART1_PHYS_ADDR 0x11200000 /* 0234 */
703#define AU1000_UART2_PHYS_ADDR 0x11300000 /* 0 */
704#define AU1000_UART3_PHYS_ADDR 0x11400000 /* 0123 */
705#define AU1500_GPIO2_PHYS_ADDR 0x11700000 /* 1234 */
706#define AU1000_IC1_PHYS_ADDR 0x11800000 /* 01234 */
707#define AU1000_SYS_PHYS_ADDR 0x11900000 /* 01234 */
708#define AU1000_DMA_PHYS_ADDR 0x14002000 /* 012 */
709#define AU1550_DBDMA_PHYS_ADDR 0x14002000 /* 34 */
710#define AU1550_DBDMA_CONF_PHYS_ADDR 0x14003000 /* 34 */
711#define AU1000_MACDMA0_PHYS_ADDR 0x14004000 /* 0123 */
712#define AU1000_MACDMA1_PHYS_ADDR 0x14004200 /* 0123 */
713
714
715#ifdef CONFIG_SOC_AU1000
716#define MEM_PHYS_ADDR 0x14000000
717#define STATIC_MEM_PHYS_ADDR 0x14001000
718#define USBH_PHYS_ADDR 0x10100000
719#define IRDA_PHYS_ADDR 0x10300000
720#define SSI0_PHYS_ADDR 0x11600000
721#define SSI1_PHYS_ADDR 0x11680000
722#define PCMCIA_IO_PHYS_ADDR 0xF00000000ULL
723#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000ULL
724#define PCMCIA_MEM_PHYS_ADDR 0xF80000000ULL
725#endif
726
727/********************************************************************/
728
729#ifdef CONFIG_SOC_AU1500
730#define MEM_PHYS_ADDR 0x14000000
731#define STATIC_MEM_PHYS_ADDR 0x14001000
732#define USBH_PHYS_ADDR 0x10100000
733#define PCI_PHYS_ADDR 0x14005000
734#define PCI_MEM_PHYS_ADDR 0x400000000ULL
735#define PCI_IO_PHYS_ADDR 0x500000000ULL
736#define PCI_CONFIG0_PHYS_ADDR 0x600000000ULL
737#define PCI_CONFIG1_PHYS_ADDR 0x680000000ULL
738#define PCMCIA_IO_PHYS_ADDR 0xF00000000ULL
739#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000ULL
740#define PCMCIA_MEM_PHYS_ADDR 0xF80000000ULL
741#endif
742
743/********************************************************************/
744
745#ifdef CONFIG_SOC_AU1100
746#define MEM_PHYS_ADDR 0x14000000
747#define STATIC_MEM_PHYS_ADDR 0x14001000
748#define USBH_PHYS_ADDR 0x10100000
749#define IRDA_PHYS_ADDR 0x10300000
750#define SSI0_PHYS_ADDR 0x11600000
751#define SSI1_PHYS_ADDR 0x11680000
752#define LCD_PHYS_ADDR 0x15000000
753#define PCMCIA_IO_PHYS_ADDR 0xF00000000ULL
754#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000ULL
755#define PCMCIA_MEM_PHYS_ADDR 0xF80000000ULL
756#endif
757
758/***********************************************************************/
759
760#ifdef CONFIG_SOC_AU1550
761#define MEM_PHYS_ADDR 0x14000000
762#define STATIC_MEM_PHYS_ADDR 0x14001000
763#define USBH_PHYS_ADDR 0x14020000
764#define PCI_PHYS_ADDR 0x14005000
765#define PE_PHYS_ADDR 0x14008000
766#define PSC0_PHYS_ADDR 0x11A00000
767#define PSC1_PHYS_ADDR 0x11B00000
768#define PSC2_PHYS_ADDR 0x10A00000
769#define PSC3_PHYS_ADDR 0x10B00000
770#define PCI_MEM_PHYS_ADDR 0x400000000ULL
771#define PCI_IO_PHYS_ADDR 0x500000000ULL
772#define PCI_CONFIG0_PHYS_ADDR 0x600000000ULL
773#define PCI_CONFIG1_PHYS_ADDR 0x680000000ULL
774#define PCMCIA_IO_PHYS_ADDR 0xF00000000ULL
775#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000ULL
776#define PCMCIA_MEM_PHYS_ADDR 0xF80000000ULL
777#endif
778
779/***********************************************************************/
917 780
918/* Au1550 SDRAM Register Offsets */ 781#ifdef CONFIG_SOC_AU1200
919#define AU1550_MEM_SDMODE0 0x0800 782#define MEM_PHYS_ADDR 0x14000000
920#define AU1550_MEM_SDMODE1 0x0808 783#define STATIC_MEM_PHYS_ADDR 0x14001000
921#define AU1550_MEM_SDMODE2 0x0810 784#define AES_PHYS_ADDR 0x10300000
922#define AU1550_MEM_SDADDR0 0x0820 785#define CIM_PHYS_ADDR 0x14004000
923#define AU1550_MEM_SDADDR1 0x0828 786#define USBM_PHYS_ADDR 0x14020000
924#define AU1550_MEM_SDADDR2 0x0830 787#define USBH_PHYS_ADDR 0x14020100
925#define AU1550_MEM_SDCONFIGA 0x0840 788#define PSC0_PHYS_ADDR 0x11A00000
926#define AU1550_MEM_SDCONFIGB 0x0848 789#define PSC1_PHYS_ADDR 0x11B00000
927#define AU1550_MEM_SDSTAT 0x0850 790#define LCD_PHYS_ADDR 0x15000000
928#define AU1550_MEM_SDERRADDR 0x0858 791#define SWCNT_PHYS_ADDR 0x1110010C
929#define AU1550_MEM_SDSTRIDE0 0x0860 792#define MAEFE_PHYS_ADDR 0x14012000
930#define AU1550_MEM_SDSTRIDE1 0x0868 793#define MAEBE_PHYS_ADDR 0x14010000
931#define AU1550_MEM_SDSTRIDE2 0x0870 794#define PCMCIA_IO_PHYS_ADDR 0xF00000000ULL
932#define AU1550_MEM_SDWRMD0 0x0880 795#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000ULL
933#define AU1550_MEM_SDWRMD1 0x0888 796#define PCMCIA_MEM_PHYS_ADDR 0xF80000000ULL
934#define AU1550_MEM_SDWRMD2 0x0890 797#endif
935#define AU1550_MEM_SDPRECMD 0x08C0
936#define AU1550_MEM_SDAUTOREF 0x08C8
937#define AU1550_MEM_SDSREF 0x08D0
938#define AU1550_MEM_SDSLEEP MEM_SDSREF
939 798
940/* Static Bus Controller */ 799/* Static Bus Controller */
941#define MEM_STCFG0 0xB4001000 800#define MEM_STCFG0 0xB4001000
@@ -954,13 +813,80 @@ enum soc_au1200_ints {
954#define MEM_STTIME3 0xB4001034 813#define MEM_STTIME3 0xB4001034
955#define MEM_STADDR3 0xB4001038 814#define MEM_STADDR3 0xB4001038
956 815
816#if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200)
957#define MEM_STNDCTL 0xB4001100 817#define MEM_STNDCTL 0xB4001100
958#define MEM_STSTAT 0xB4001104 818#define MEM_STSTAT 0xB4001104
959 819
960#define MEM_STNAND_CMD 0x0 820#define MEM_STNAND_CMD 0x0
961#define MEM_STNAND_ADDR 0x4 821#define MEM_STNAND_ADDR 0x4
962#define MEM_STNAND_DATA 0x20 822#define MEM_STNAND_DATA 0x20
823#endif
824
825
826
963 827
828/* Au1000 */
829#ifdef CONFIG_SOC_AU1000
830
831#define USB_OHCI_BASE 0x10100000 /* phys addr for ioremap */
832#define USB_HOST_CONFIG 0xB017FFFC
833#define FOR_PLATFORM_C_USB_HOST_INT AU1000_USB_HOST_INT
834#endif /* CONFIG_SOC_AU1000 */
835
836/* Au1500 */
837#ifdef CONFIG_SOC_AU1500
838
839#define USB_OHCI_BASE 0x10100000 /* phys addr for ioremap */
840#define USB_HOST_CONFIG 0xB017fffc
841#define FOR_PLATFORM_C_USB_HOST_INT AU1500_USB_HOST_INT
842#endif /* CONFIG_SOC_AU1500 */
843
844/* Au1100 */
845#ifdef CONFIG_SOC_AU1100
846
847#define USB_OHCI_BASE 0x10100000 /* phys addr for ioremap */
848#define USB_HOST_CONFIG 0xB017FFFC
849#define FOR_PLATFORM_C_USB_HOST_INT AU1100_USB_HOST_INT
850#endif /* CONFIG_SOC_AU1100 */
851
852#ifdef CONFIG_SOC_AU1550
853
854#define USB_OHCI_BASE 0x14020000 /* phys addr for ioremap */
855#define USB_OHCI_LEN 0x00060000
856#define USB_HOST_CONFIG 0xB4027ffc
857#define FOR_PLATFORM_C_USB_HOST_INT AU1550_USB_HOST_INT
858#endif /* CONFIG_SOC_AU1550 */
859
860
861#ifdef CONFIG_SOC_AU1200
862
863#define USB_UOC_BASE 0x14020020
864#define USB_UOC_LEN 0x20
865#define USB_OHCI_BASE 0x14020100
866#define USB_OHCI_LEN 0x100
867#define USB_EHCI_BASE 0x14020200
868#define USB_EHCI_LEN 0x100
869#define USB_UDC_BASE 0x14022000
870#define USB_UDC_LEN 0x2000
871#define USB_MSR_BASE 0xB4020000
872#define USB_MSR_MCFG 4
873#define USBMSRMCFG_OMEMEN 0
874#define USBMSRMCFG_OBMEN 1
875#define USBMSRMCFG_EMEMEN 2
876#define USBMSRMCFG_EBMEN 3
877#define USBMSRMCFG_DMEMEN 4
878#define USBMSRMCFG_DBMEN 5
879#define USBMSRMCFG_GMEMEN 6
880#define USBMSRMCFG_OHCCLKEN 16
881#define USBMSRMCFG_EHCCLKEN 17
882#define USBMSRMCFG_UDCCLKEN 18
883#define USBMSRMCFG_PHYPLLEN 19
884#define USBMSRMCFG_RDCOMB 30
885#define USBMSRMCFG_PFEN 31
886
887#define FOR_PLATFORM_C_USB_HOST_INT AU1200_USB_INT
888
889#endif /* CONFIG_SOC_AU1200 */
964 890
965/* Programmable Counters 0 and 1 */ 891/* Programmable Counters 0 and 1 */
966#define SYS_BASE 0xB1900000 892#define SYS_BASE 0xB1900000
@@ -1032,6 +958,56 @@ enum soc_au1200_ints {
1032# define I2S_CONTROL_D (1 << 1) 958# define I2S_CONTROL_D (1 << 1)
1033# define I2S_CONTROL_CE (1 << 0) 959# define I2S_CONTROL_CE (1 << 0)
1034 960
961/* USB Host Controller */
962#ifndef USB_OHCI_LEN
963#define USB_OHCI_LEN 0x00100000
964#endif
965
966#ifndef CONFIG_SOC_AU1200
967
968/* USB Device Controller */
969#define USBD_EP0RD 0xB0200000
970#define USBD_EP0WR 0xB0200004
971#define USBD_EP2WR 0xB0200008
972#define USBD_EP3WR 0xB020000C
973#define USBD_EP4RD 0xB0200010
974#define USBD_EP5RD 0xB0200014
975#define USBD_INTEN 0xB0200018
976#define USBD_INTSTAT 0xB020001C
977# define USBDEV_INT_SOF (1 << 12)
978# define USBDEV_INT_HF_BIT 6
979# define USBDEV_INT_HF_MASK (0x3f << USBDEV_INT_HF_BIT)
980# define USBDEV_INT_CMPLT_BIT 0
981# define USBDEV_INT_CMPLT_MASK (0x3f << USBDEV_INT_CMPLT_BIT)
982#define USBD_CONFIG 0xB0200020
983#define USBD_EP0CS 0xB0200024
984#define USBD_EP2CS 0xB0200028
985#define USBD_EP3CS 0xB020002C
986#define USBD_EP4CS 0xB0200030
987#define USBD_EP5CS 0xB0200034
988# define USBDEV_CS_SU (1 << 14)
989# define USBDEV_CS_NAK (1 << 13)
990# define USBDEV_CS_ACK (1 << 12)
991# define USBDEV_CS_BUSY (1 << 11)
992# define USBDEV_CS_TSIZE_BIT 1
993# define USBDEV_CS_TSIZE_MASK (0x3ff << USBDEV_CS_TSIZE_BIT)
994# define USBDEV_CS_STALL (1 << 0)
995#define USBD_EP0RDSTAT 0xB0200040
996#define USBD_EP0WRSTAT 0xB0200044
997#define USBD_EP2WRSTAT 0xB0200048
998#define USBD_EP3WRSTAT 0xB020004C
999#define USBD_EP4RDSTAT 0xB0200050
1000#define USBD_EP5RDSTAT 0xB0200054
1001# define USBDEV_FSTAT_FLUSH (1 << 6)
1002# define USBDEV_FSTAT_UF (1 << 5)
1003# define USBDEV_FSTAT_OF (1 << 4)
1004# define USBDEV_FSTAT_FCNT_BIT 0
1005# define USBDEV_FSTAT_FCNT_MASK (0x0f << USBDEV_FSTAT_FCNT_BIT)
1006#define USBD_ENABLE 0xB0200058
1007# define USBDEV_ENABLE (1 << 1)
1008# define USBDEV_CE (1 << 0)
1009
1010#endif /* !CONFIG_SOC_AU1200 */
1035 1011
1036/* Ethernet Controllers */ 1012/* Ethernet Controllers */
1037 1013
@@ -1265,20 +1241,44 @@ enum soc_au1200_ints {
1265#define SSI_ENABLE_CD (1 << 1) 1241#define SSI_ENABLE_CD (1 << 1)
1266#define SSI_ENABLE_E (1 << 0) 1242#define SSI_ENABLE_E (1 << 0)
1267 1243
1268 1244/* IrDA Controller */
1269/* 1245#define IRDA_BASE 0xB0300000
1270 * The IrDA peripheral has an IRFIRSEL pin, but on the DB/PB boards it's not 1246#define IR_RING_PTR_STATUS (IRDA_BASE + 0x00)
1271 * used to select FIR/SIR mode on the transceiver but as a GPIO. Instead a 1247#define IR_RING_BASE_ADDR_H (IRDA_BASE + 0x04)
1272 * CPLD has to be told about the mode. 1248#define IR_RING_BASE_ADDR_L (IRDA_BASE + 0x08)
1273 */ 1249#define IR_RING_SIZE (IRDA_BASE + 0x0C)
1274#define AU1000_IRDA_PHY_MODE_OFF 0 1250#define IR_RING_PROMPT (IRDA_BASE + 0x10)
1275#define AU1000_IRDA_PHY_MODE_SIR 1 1251#define IR_RING_ADDR_CMPR (IRDA_BASE + 0x14)
1276#define AU1000_IRDA_PHY_MODE_FIR 2 1252#define IR_INT_CLEAR (IRDA_BASE + 0x18)
1277 1253#define IR_CONFIG_1 (IRDA_BASE + 0x20)
1278struct au1k_irda_platform_data { 1254# define IR_RX_INVERT_LED (1 << 0)
1279 void(*set_phy_mode)(int mode); 1255# define IR_TX_INVERT_LED (1 << 1)
1280}; 1256# define IR_ST (1 << 2)
1281 1257# define IR_SF (1 << 3)
1258# define IR_SIR (1 << 4)
1259# define IR_MIR (1 << 5)
1260# define IR_FIR (1 << 6)
1261# define IR_16CRC (1 << 7)
1262# define IR_TD (1 << 8)
1263# define IR_RX_ALL (1 << 9)
1264# define IR_DMA_ENABLE (1 << 10)
1265# define IR_RX_ENABLE (1 << 11)
1266# define IR_TX_ENABLE (1 << 12)
1267# define IR_LOOPBACK (1 << 14)
1268# define IR_SIR_MODE (IR_SIR | IR_DMA_ENABLE | \
1269 IR_RX_ALL | IR_RX_ENABLE | IR_SF | IR_16CRC)
1270#define IR_SIR_FLAGS (IRDA_BASE + 0x24)
1271#define IR_ENABLE (IRDA_BASE + 0x28)
1272# define IR_RX_STATUS (1 << 9)
1273# define IR_TX_STATUS (1 << 10)
1274#define IR_READ_PHY_CONFIG (IRDA_BASE + 0x2C)
1275#define IR_WRITE_PHY_CONFIG (IRDA_BASE + 0x30)
1276#define IR_MAX_PKT_LEN (IRDA_BASE + 0x34)
1277#define IR_RX_BYTE_CNT (IRDA_BASE + 0x38)
1278#define IR_CONFIG_2 (IRDA_BASE + 0x3C)
1279# define IR_MODE_INV (1 << 0)
1280# define IR_ONE_PIN (1 << 1)
1281#define IR_INTERFACE_CONFIG (IRDA_BASE + 0x40)
1282 1282
1283/* GPIO */ 1283/* GPIO */
1284#define SYS_PINFUNC 0xB190002C 1284#define SYS_PINFUNC 0xB190002C
@@ -1322,6 +1322,7 @@ struct au1k_irda_platform_data {
1322# define SYS_PF_MUST_BE_SET ((1 << 5) | (1 << 2)) 1322# define SYS_PF_MUST_BE_SET ((1 << 5) | (1 << 2))
1323 1323
1324/* Au1200 only */ 1324/* Au1200 only */
1325#ifdef CONFIG_SOC_AU1200
1325#define SYS_PINFUNC_DMA (1 << 31) 1326#define SYS_PINFUNC_DMA (1 << 31)
1326#define SYS_PINFUNC_S0A (1 << 30) 1327#define SYS_PINFUNC_S0A (1 << 30)
1327#define SYS_PINFUNC_S1A (1 << 29) 1328#define SYS_PINFUNC_S1A (1 << 29)
@@ -1349,6 +1350,7 @@ struct au1k_irda_platform_data {
1349#define SYS_PINFUNC_P0B (1 << 4) 1350#define SYS_PINFUNC_P0B (1 << 4)
1350#define SYS_PINFUNC_U0T (1 << 3) 1351#define SYS_PINFUNC_U0T (1 << 3)
1351#define SYS_PINFUNC_S1B (1 << 2) 1352#define SYS_PINFUNC_S1B (1 << 2)
1353#endif
1352 1354
1353/* Power Management */ 1355/* Power Management */
1354#define SYS_SCRATCH0 0xB1900018 1356#define SYS_SCRATCH0 0xB1900018
@@ -1404,12 +1406,12 @@ struct au1k_irda_platform_data {
1404# define SYS_CS_MI2_MASK (0x7 << SYS_CS_MI2_BIT) 1406# define SYS_CS_MI2_MASK (0x7 << SYS_CS_MI2_BIT)
1405# define SYS_CS_DI2 (1 << 16) 1407# define SYS_CS_DI2 (1 << 16)
1406# define SYS_CS_CI2 (1 << 15) 1408# define SYS_CS_CI2 (1 << 15)
1407 1409#ifdef CONFIG_SOC_AU1100
1408# define SYS_CS_ML_BIT 7 1410# define SYS_CS_ML_BIT 7
1409# define SYS_CS_ML_MASK (0x7 << SYS_CS_ML_BIT) 1411# define SYS_CS_ML_MASK (0x7 << SYS_CS_ML_BIT)
1410# define SYS_CS_DL (1 << 6) 1412# define SYS_CS_DL (1 << 6)
1411# define SYS_CS_CL (1 << 5) 1413# define SYS_CS_CL (1 << 5)
1412 1414#else
1413# define SYS_CS_MUH_BIT 12 1415# define SYS_CS_MUH_BIT 12
1414# define SYS_CS_MUH_MASK (0x7 << SYS_CS_MUH_BIT) 1416# define SYS_CS_MUH_MASK (0x7 << SYS_CS_MUH_BIT)
1415# define SYS_CS_DUH (1 << 11) 1417# define SYS_CS_DUH (1 << 11)
@@ -1418,7 +1420,7 @@ struct au1k_irda_platform_data {
1418# define SYS_CS_MUD_MASK (0x7 << SYS_CS_MUD_BIT) 1420# define SYS_CS_MUD_MASK (0x7 << SYS_CS_MUD_BIT)
1419# define SYS_CS_DUD (1 << 6) 1421# define SYS_CS_DUD (1 << 6)
1420# define SYS_CS_CUD (1 << 5) 1422# define SYS_CS_CUD (1 << 5)
1421 1423#endif
1422# define SYS_CS_MIR_BIT 2 1424# define SYS_CS_MIR_BIT 2
1423# define SYS_CS_MIR_MASK (0x7 << SYS_CS_MIR_BIT) 1425# define SYS_CS_MIR_MASK (0x7 << SYS_CS_MIR_BIT)
1424# define SYS_CS_DIR (1 << 1) 1426# define SYS_CS_DIR (1 << 1)
@@ -1465,30 +1467,58 @@ struct au1k_irda_platform_data {
1465# define AC97C_RS (1 << 1) 1467# define AC97C_RS (1 << 1)
1466# define AC97C_CE (1 << 0) 1468# define AC97C_CE (1 << 0)
1467 1469
1470#if defined(CONFIG_SOC_AU1500) || defined(CONFIG_SOC_AU1550)
1471/* Au1500 PCI Controller */
1472#define Au1500_CFG_BASE 0xB4005000 /* virtual, KSEG1 addr */
1473#define Au1500_PCI_CMEM (Au1500_CFG_BASE + 0)
1474#define Au1500_PCI_CFG (Au1500_CFG_BASE + 4)
1475# define PCI_ERROR ((1 << 22) | (1 << 23) | (1 << 24) | \
1476 (1 << 25) | (1 << 26) | (1 << 27))
1477#define Au1500_PCI_B2BMASK_CCH (Au1500_CFG_BASE + 8)
1478#define Au1500_PCI_B2B0_VID (Au1500_CFG_BASE + 0xC)
1479#define Au1500_PCI_B2B1_ID (Au1500_CFG_BASE + 0x10)
1480#define Au1500_PCI_MWMASK_DEV (Au1500_CFG_BASE + 0x14)
1481#define Au1500_PCI_MWBASE_REV_CCL (Au1500_CFG_BASE + 0x18)
1482#define Au1500_PCI_ERR_ADDR (Au1500_CFG_BASE + 0x1C)
1483#define Au1500_PCI_SPEC_INTACK (Au1500_CFG_BASE + 0x20)
1484#define Au1500_PCI_ID (Au1500_CFG_BASE + 0x100)
1485#define Au1500_PCI_STATCMD (Au1500_CFG_BASE + 0x104)
1486#define Au1500_PCI_CLASSREV (Au1500_CFG_BASE + 0x108)
1487#define Au1500_PCI_HDRTYPE (Au1500_CFG_BASE + 0x10C)
1488#define Au1500_PCI_MBAR (Au1500_CFG_BASE + 0x110)
1489
1490#define Au1500_PCI_HDR 0xB4005100 /* virtual, KSEG1 addr */
1468 1491
1469/* The PCI chip selects are outside the 32bit space, and since we can't 1492/*
1470 * just program the 36bit addresses into BARs, we have to take a chunk 1493 * All of our structures, like PCI resource, have 32-bit members.
1471 * out of the 32bit space and reserve it for PCI. When these addresses 1494 * Drivers are expected to do an ioremap on the PCI MEM resource, but it's
1472 * are ioremap()ed, they'll be fixed up to the real 36bit address before 1495 * hard to store 0x4 0000 0000 in a 32-bit type. We require a small patch
1473 * being passed to the real ioremap function. 1496 * to __ioremap to check for addresses between (u32)Au1500_PCI_MEM_START and
1497 * (u32)Au1500_PCI_MEM_END and change those to the full 36-bit PCI MEM
1498 * addresses. For PCI I/O, it's simpler because we get to do the ioremap
1499 * ourselves and then adjust the device's resources.
1474 */ 1500 */
1475#define ALCHEMY_PCI_MEMWIN_START (AU1500_PCI_MEM_PHYS_ADDR >> 4) 1501#define Au1500_EXT_CFG 0x600000000ULL
1476#define ALCHEMY_PCI_MEMWIN_END (ALCHEMY_PCI_MEMWIN_START + 0x0FFFFFFF) 1502#define Au1500_EXT_CFG_TYPE1 0x680000000ULL
1503#define Au1500_PCI_IO_START 0x500000000ULL
1504#define Au1500_PCI_IO_END 0x5000FFFFFULL
1505#define Au1500_PCI_MEM_START 0x440000000ULL
1506#define Au1500_PCI_MEM_END 0x44FFFFFFFULL
1477 1507
1478/* for PCI IO it's simpler because we get to do the ioremap ourselves and then 1508#define PCI_IO_START 0x00001000
1479 * adjust the device's resources. 1509#define PCI_IO_END 0x000FFFFF
1480 */ 1510#define PCI_MEM_START 0x40000000
1481#define ALCHEMY_PCI_IOWIN_START 0x00001000 1511#define PCI_MEM_END 0x4FFFFFFF
1482#define ALCHEMY_PCI_IOWIN_END 0x0000FFFF
1483 1512
1484#ifdef CONFIG_PCI 1513#define PCI_FIRST_DEVFN (0 << 3)
1514#define PCI_LAST_DEVFN (19 << 3)
1485 1515
1486#define IOPORT_RESOURCE_START 0x00001000 /* skip legacy probing */ 1516#define IOPORT_RESOURCE_START 0x00001000 /* skip legacy probing */
1487#define IOPORT_RESOURCE_END 0xffffffff 1517#define IOPORT_RESOURCE_END 0xffffffff
1488#define IOMEM_RESOURCE_START 0x10000000 1518#define IOMEM_RESOURCE_START 0x10000000
1489#define IOMEM_RESOURCE_END 0xfffffffffULL 1519#define IOMEM_RESOURCE_END 0xfffffffffULL
1490 1520
1491#else 1521#else /* Au1000 and Au1100 and Au1200 */
1492 1522
1493/* Don't allow any legacy ports probing */ 1523/* Don't allow any legacy ports probing */
1494#define IOPORT_RESOURCE_START 0x10000000 1524#define IOPORT_RESOURCE_START 0x10000000
@@ -1496,77 +1526,13 @@ struct au1k_irda_platform_data {
1496#define IOMEM_RESOURCE_START 0x10000000 1526#define IOMEM_RESOURCE_START 0x10000000
1497#define IOMEM_RESOURCE_END 0xfffffffffULL 1527#define IOMEM_RESOURCE_END 0xfffffffffULL
1498 1528
1499#endif 1529#define PCI_IO_START 0
1530#define PCI_IO_END 0
1531#define PCI_MEM_START 0
1532#define PCI_MEM_END 0
1533#define PCI_FIRST_DEVFN 0
1534#define PCI_LAST_DEVFN 0
1500 1535
1501/* PCI controller block register offsets */ 1536#endif
1502#define PCI_REG_CMEM 0x0000
1503#define PCI_REG_CONFIG 0x0004
1504#define PCI_REG_B2BMASK_CCH 0x0008
1505#define PCI_REG_B2BBASE0_VID 0x000C
1506#define PCI_REG_B2BBASE1_SID 0x0010
1507#define PCI_REG_MWMASK_DEV 0x0014
1508#define PCI_REG_MWBASE_REV_CCL 0x0018
1509#define PCI_REG_ERR_ADDR 0x001C
1510#define PCI_REG_SPEC_INTACK 0x0020
1511#define PCI_REG_ID 0x0100
1512#define PCI_REG_STATCMD 0x0104
1513#define PCI_REG_CLASSREV 0x0108
1514#define PCI_REG_PARAM 0x010C
1515#define PCI_REG_MBAR 0x0110
1516#define PCI_REG_TIMEOUT 0x0140
1517
1518/* PCI controller block register bits */
1519#define PCI_CMEM_E (1 << 28) /* enable cacheable memory */
1520#define PCI_CMEM_CMBASE(x) (((x) & 0x3fff) << 14)
1521#define PCI_CMEM_CMMASK(x) ((x) & 0x3fff)
1522#define PCI_CONFIG_ERD (1 << 27) /* pci error during R/W */
1523#define PCI_CONFIG_ET (1 << 26) /* error in target mode */
1524#define PCI_CONFIG_EF (1 << 25) /* fatal error */
1525#define PCI_CONFIG_EP (1 << 24) /* parity error */
1526#define PCI_CONFIG_EM (1 << 23) /* multiple errors */
1527#define PCI_CONFIG_BM (1 << 22) /* bad master error */
1528#define PCI_CONFIG_PD (1 << 20) /* PCI Disable */
1529#define PCI_CONFIG_BME (1 << 19) /* Byte Mask Enable for reads */
1530#define PCI_CONFIG_NC (1 << 16) /* mark mem access non-coherent */
1531#define PCI_CONFIG_IA (1 << 15) /* INTA# enabled (target mode) */
1532#define PCI_CONFIG_IP (1 << 13) /* int on PCI_PERR# */
1533#define PCI_CONFIG_IS (1 << 12) /* int on PCI_SERR# */
1534#define PCI_CONFIG_IMM (1 << 11) /* int on master abort */
1535#define PCI_CONFIG_ITM (1 << 10) /* int on target abort (as master) */
1536#define PCI_CONFIG_ITT (1 << 9) /* int on target abort (as target) */
1537#define PCI_CONFIG_IPB (1 << 8) /* int on PERR# in bus master acc */
1538#define PCI_CONFIG_SIC_NO (0 << 6) /* no byte mask changes */
1539#define PCI_CONFIG_SIC_BA_ADR (1 << 6) /* on byte/hw acc, invert adr bits */
1540#define PCI_CONFIG_SIC_HWA_DAT (2 << 6) /* on halfword acc, swap data */
1541#define PCI_CONFIG_SIC_ALL (3 << 6) /* swap data bytes on all accesses */
1542#define PCI_CONFIG_ST (1 << 5) /* swap data by target transactions */
1543#define PCI_CONFIG_SM (1 << 4) /* swap data from PCI ctl */
1544#define PCI_CONFIG_AEN (1 << 3) /* enable internal arbiter */
1545#define PCI_CONFIG_R2H (1 << 2) /* REQ2# to hi-prio arbiter */
1546#define PCI_CONFIG_R1H (1 << 1) /* REQ1# to hi-prio arbiter */
1547#define PCI_CONFIG_CH (1 << 0) /* PCI ctl to hi-prio arbiter */
1548#define PCI_B2BMASK_B2BMASK(x) (((x) & 0xffff) << 16)
1549#define PCI_B2BMASK_CCH(x) ((x) & 0xffff) /* 16 upper bits of class code */
1550#define PCI_B2BBASE0_VID_B0(x) (((x) & 0xffff) << 16)
1551#define PCI_B2BBASE0_VID_SV(x) ((x) & 0xffff)
1552#define PCI_B2BBASE1_SID_B1(x) (((x) & 0xffff) << 16)
1553#define PCI_B2BBASE1_SID_SI(x) ((x) & 0xffff)
1554#define PCI_MWMASKDEV_MWMASK(x) (((x) & 0xffff) << 16)
1555#define PCI_MWMASKDEV_DEVID(x) ((x) & 0xffff)
1556#define PCI_MWBASEREVCCL_BASE(x) (((x) & 0xffff) << 16)
1557#define PCI_MWBASEREVCCL_REV(x) (((x) & 0xff) << 8)
1558#define PCI_MWBASEREVCCL_CCL(x) ((x) & 0xff)
1559#define PCI_ID_DID(x) (((x) & 0xffff) << 16)
1560#define PCI_ID_VID(x) ((x) & 0xffff)
1561#define PCI_STATCMD_STATUS(x) (((x) & 0xffff) << 16)
1562#define PCI_STATCMD_CMD(x) ((x) & 0xffff)
1563#define PCI_CLASSREV_CLASS(x) (((x) & 0x00ffffff) << 8)
1564#define PCI_CLASSREV_REV(x) ((x) & 0xff)
1565#define PCI_PARAM_BIST(x) (((x) & 0xff) << 24)
1566#define PCI_PARAM_HT(x) (((x) & 0xff) << 16)
1567#define PCI_PARAM_LT(x) (((x) & 0xff) << 8)
1568#define PCI_PARAM_CLS(x) ((x) & 0xff)
1569#define PCI_TIMEOUT_RETRIES(x) (((x) & 0xff) << 8) /* max retries */
1570#define PCI_TIMEOUT_TO(x) ((x) & 0xff) /* target ready timeout */
1571 1537
1572#endif 1538#endif
diff --git a/arch/mips/include/asm/mach-au1x00/au1000_dma.h b/arch/mips/include/asm/mach-au1x00/au1000_dma.h
index ba4cf0e91c8..59f5b55b220 100644
--- a/arch/mips/include/asm/mach-au1x00/au1000_dma.h
+++ b/arch/mips/include/asm/mach-au1x00/au1000_dma.h
@@ -33,6 +33,7 @@
33#include <linux/io.h> /* need byte IO */ 33#include <linux/io.h> /* need byte IO */
34#include <linux/spinlock.h> /* And spinlocks */ 34#include <linux/spinlock.h> /* And spinlocks */
35#include <linux/delay.h> 35#include <linux/delay.h>
36#include <asm/system.h>
36 37
37#define NUM_AU1000_DMA_CHANNELS 8 38#define NUM_AU1000_DMA_CHANNELS 8
38 39
diff --git a/arch/mips/include/asm/mach-au1x00/au1100_mmc.h b/arch/mips/include/asm/mach-au1x00/au1100_mmc.h
index e221659f1bc..94000a3b6f0 100644
--- a/arch/mips/include/asm/mach-au1x00/au1100_mmc.h
+++ b/arch/mips/include/asm/mach-au1x00/au1100_mmc.h
@@ -130,10 +130,8 @@ struct au1xmmc_platform_data {
130#define SD_CONFIG2_DF (0x00000008) 130#define SD_CONFIG2_DF (0x00000008)
131#define SD_CONFIG2_DC (0x00000010) 131#define SD_CONFIG2_DC (0x00000010)
132#define SD_CONFIG2_xx2 (0x000000e0) 132#define SD_CONFIG2_xx2 (0x000000e0)
133#define SD_CONFIG2_BB (0x00000080)
134#define SD_CONFIG2_WB (0x00000100) 133#define SD_CONFIG2_WB (0x00000100)
135#define SD_CONFIG2_RW (0x00000200) 134#define SD_CONFIG2_RW (0x00000200)
136#define SD_CONFIG2_DP (0x00000400)
137 135
138 136
139/* 137/*
diff --git a/arch/mips/include/asm/mach-au1x00/au1200fb.h b/arch/mips/include/asm/mach-au1x00/au1200fb.h
deleted file mode 100644
index b3c87cc64bb..00000000000
--- a/arch/mips/include/asm/mach-au1x00/au1200fb.h
+++ /dev/null
@@ -1,14 +0,0 @@
1/*
2 * platform data for au1200fb driver.
3 */
4
5#ifndef _AU1200FB_PLAT_H_
6#define _AU1200FB_PLAT_H_
7
8struct au1200fb_platdata {
9 int (*panel_index)(void);
10 int (*panel_init)(void);
11 int (*panel_shutdown)(void);
12};
13
14#endif
diff --git a/arch/mips/include/asm/mach-au1x00/au1550nd.h b/arch/mips/include/asm/mach-au1x00/au1550nd.h
deleted file mode 100644
index ad4c0a03afe..00000000000
--- a/arch/mips/include/asm/mach-au1x00/au1550nd.h
+++ /dev/null
@@ -1,16 +0,0 @@
1/*
2 * platform data for the Au1550 NAND driver
3 */
4
5#ifndef _AU1550ND_H_
6#define _AU1550ND_H_
7
8#include <linux/mtd/partitions.h>
9
10struct au1550nd_platdata {
11 struct mtd_partition *parts;
12 int num_parts;
13 int devwidth; /* 0 = 8bit device, 1 = 16bit device */
14};
15
16#endif
diff --git a/arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h b/arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h
index 217810e1836..2fdacfe85e2 100644
--- a/arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h
+++ b/arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h
@@ -126,93 +126,66 @@ typedef volatile struct au1xxx_ddma_desc {
126#define SW_STATUS_INUSE (1 << 0) 126#define SW_STATUS_INUSE (1 << 0)
127 127
128/* Command 0 device IDs. */ 128/* Command 0 device IDs. */
129#define AU1550_DSCR_CMD0_UART0_TX 0 129#ifdef CONFIG_SOC_AU1550
130#define AU1550_DSCR_CMD0_UART0_RX 1 130#define DSCR_CMD0_UART0_TX 0
131#define AU1550_DSCR_CMD0_UART3_TX 2 131#define DSCR_CMD0_UART0_RX 1
132#define AU1550_DSCR_CMD0_UART3_RX 3 132#define DSCR_CMD0_UART3_TX 2
133#define AU1550_DSCR_CMD0_DMA_REQ0 4 133#define DSCR_CMD0_UART3_RX 3
134#define AU1550_DSCR_CMD0_DMA_REQ1 5 134#define DSCR_CMD0_DMA_REQ0 4
135#define AU1550_DSCR_CMD0_DMA_REQ2 6 135#define DSCR_CMD0_DMA_REQ1 5
136#define AU1550_DSCR_CMD0_DMA_REQ3 7 136#define DSCR_CMD0_DMA_REQ2 6
137#define AU1550_DSCR_CMD0_USBDEV_RX0 8 137#define DSCR_CMD0_DMA_REQ3 7
138#define AU1550_DSCR_CMD0_USBDEV_TX0 9 138#define DSCR_CMD0_USBDEV_RX0 8
139#define AU1550_DSCR_CMD0_USBDEV_TX1 10 139#define DSCR_CMD0_USBDEV_TX0 9
140#define AU1550_DSCR_CMD0_USBDEV_TX2 11 140#define DSCR_CMD0_USBDEV_TX1 10
141#define AU1550_DSCR_CMD0_USBDEV_RX3 12 141#define DSCR_CMD0_USBDEV_TX2 11
142#define AU1550_DSCR_CMD0_USBDEV_RX4 13 142#define DSCR_CMD0_USBDEV_RX3 12
143#define AU1550_DSCR_CMD0_PSC0_TX 14 143#define DSCR_CMD0_USBDEV_RX4 13
144#define AU1550_DSCR_CMD0_PSC0_RX 15 144#define DSCR_CMD0_PSC0_TX 14
145#define AU1550_DSCR_CMD0_PSC1_TX 16 145#define DSCR_CMD0_PSC0_RX 15
146#define AU1550_DSCR_CMD0_PSC1_RX 17 146#define DSCR_CMD0_PSC1_TX 16
147#define AU1550_DSCR_CMD0_PSC2_TX 18 147#define DSCR_CMD0_PSC1_RX 17
148#define AU1550_DSCR_CMD0_PSC2_RX 19 148#define DSCR_CMD0_PSC2_TX 18
149#define AU1550_DSCR_CMD0_PSC3_TX 20 149#define DSCR_CMD0_PSC2_RX 19
150#define AU1550_DSCR_CMD0_PSC3_RX 21 150#define DSCR_CMD0_PSC3_TX 20
151#define AU1550_DSCR_CMD0_PCI_WRITE 22 151#define DSCR_CMD0_PSC3_RX 21
152#define AU1550_DSCR_CMD0_NAND_FLASH 23 152#define DSCR_CMD0_PCI_WRITE 22
153#define AU1550_DSCR_CMD0_MAC0_RX 24 153#define DSCR_CMD0_NAND_FLASH 23
154#define AU1550_DSCR_CMD0_MAC0_TX 25 154#define DSCR_CMD0_MAC0_RX 24
155#define AU1550_DSCR_CMD0_MAC1_RX 26 155#define DSCR_CMD0_MAC0_TX 25
156#define AU1550_DSCR_CMD0_MAC1_TX 27 156#define DSCR_CMD0_MAC1_RX 26
157 157#define DSCR_CMD0_MAC1_TX 27
158#define AU1200_DSCR_CMD0_UART0_TX 0 158#endif /* CONFIG_SOC_AU1550 */
159#define AU1200_DSCR_CMD0_UART0_RX 1 159
160#define AU1200_DSCR_CMD0_UART1_TX 2 160#ifdef CONFIG_SOC_AU1200
161#define AU1200_DSCR_CMD0_UART1_RX 3 161#define DSCR_CMD0_UART0_TX 0
162#define AU1200_DSCR_CMD0_DMA_REQ0 4 162#define DSCR_CMD0_UART0_RX 1
163#define AU1200_DSCR_CMD0_DMA_REQ1 5 163#define DSCR_CMD0_UART1_TX 2
164#define AU1200_DSCR_CMD0_MAE_BE 6 164#define DSCR_CMD0_UART1_RX 3
165#define AU1200_DSCR_CMD0_MAE_FE 7 165#define DSCR_CMD0_DMA_REQ0 4
166#define AU1200_DSCR_CMD0_SDMS_TX0 8 166#define DSCR_CMD0_DMA_REQ1 5
167#define AU1200_DSCR_CMD0_SDMS_RX0 9 167#define DSCR_CMD0_MAE_BE 6
168#define AU1200_DSCR_CMD0_SDMS_TX1 10 168#define DSCR_CMD0_MAE_FE 7
169#define AU1200_DSCR_CMD0_SDMS_RX1 11 169#define DSCR_CMD0_SDMS_TX0 8
170#define AU1200_DSCR_CMD0_AES_TX 13 170#define DSCR_CMD0_SDMS_RX0 9
171#define AU1200_DSCR_CMD0_AES_RX 12 171#define DSCR_CMD0_SDMS_TX1 10
172#define AU1200_DSCR_CMD0_PSC0_TX 14 172#define DSCR_CMD0_SDMS_RX1 11
173#define AU1200_DSCR_CMD0_PSC0_RX 15 173#define DSCR_CMD0_AES_TX 13
174#define AU1200_DSCR_CMD0_PSC1_TX 16 174#define DSCR_CMD0_AES_RX 12
175#define AU1200_DSCR_CMD0_PSC1_RX 17 175#define DSCR_CMD0_PSC0_TX 14
176#define AU1200_DSCR_CMD0_CIM_RXA 18 176#define DSCR_CMD0_PSC0_RX 15
177#define AU1200_DSCR_CMD0_CIM_RXB 19 177#define DSCR_CMD0_PSC1_TX 16
178#define AU1200_DSCR_CMD0_CIM_RXC 20 178#define DSCR_CMD0_PSC1_RX 17
179#define AU1200_DSCR_CMD0_MAE_BOTH 21 179#define DSCR_CMD0_CIM_RXA 18
180#define AU1200_DSCR_CMD0_LCD 22 180#define DSCR_CMD0_CIM_RXB 19
181#define AU1200_DSCR_CMD0_NAND_FLASH 23 181#define DSCR_CMD0_CIM_RXC 20
182#define AU1200_DSCR_CMD0_PSC0_SYNC 24 182#define DSCR_CMD0_MAE_BOTH 21
183#define AU1200_DSCR_CMD0_PSC1_SYNC 25 183#define DSCR_CMD0_LCD 22
184#define AU1200_DSCR_CMD0_CIM_SYNC 26 184#define DSCR_CMD0_NAND_FLASH 23
185 185#define DSCR_CMD0_PSC0_SYNC 24
186#define AU1300_DSCR_CMD0_UART0_TX 0 186#define DSCR_CMD0_PSC1_SYNC 25
187#define AU1300_DSCR_CMD0_UART0_RX 1 187#define DSCR_CMD0_CIM_SYNC 26
188#define AU1300_DSCR_CMD0_UART1_TX 2 188#endif /* CONFIG_SOC_AU1200 */
189#define AU1300_DSCR_CMD0_UART1_RX 3
190#define AU1300_DSCR_CMD0_UART2_TX 4
191#define AU1300_DSCR_CMD0_UART2_RX 5
192#define AU1300_DSCR_CMD0_UART3_TX 6
193#define AU1300_DSCR_CMD0_UART3_RX 7
194#define AU1300_DSCR_CMD0_SDMS_TX0 8
195#define AU1300_DSCR_CMD0_SDMS_RX0 9
196#define AU1300_DSCR_CMD0_SDMS_TX1 10
197#define AU1300_DSCR_CMD0_SDMS_RX1 11
198#define AU1300_DSCR_CMD0_AES_TX 12
199#define AU1300_DSCR_CMD0_AES_RX 13
200#define AU1300_DSCR_CMD0_PSC0_TX 14
201#define AU1300_DSCR_CMD0_PSC0_RX 15
202#define AU1300_DSCR_CMD0_PSC1_TX 16
203#define AU1300_DSCR_CMD0_PSC1_RX 17
204#define AU1300_DSCR_CMD0_PSC2_TX 18
205#define AU1300_DSCR_CMD0_PSC2_RX 19
206#define AU1300_DSCR_CMD0_PSC3_TX 20
207#define AU1300_DSCR_CMD0_PSC3_RX 21
208#define AU1300_DSCR_CMD0_LCD 22
209#define AU1300_DSCR_CMD0_NAND_FLASH 23
210#define AU1300_DSCR_CMD0_SDMS_TX2 24
211#define AU1300_DSCR_CMD0_SDMS_RX2 25
212#define AU1300_DSCR_CMD0_CIM_SYNC 26
213#define AU1300_DSCR_CMD0_UDMA 27
214#define AU1300_DSCR_CMD0_DMA_REQ0 28
215#define AU1300_DSCR_CMD0_DMA_REQ1 29
216 189
217#define DSCR_CMD0_THROTTLE 30 190#define DSCR_CMD0_THROTTLE 30
218#define DSCR_CMD0_ALWAYS 31 191#define DSCR_CMD0_ALWAYS 31
diff --git a/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h b/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h
index e306384b141..5656c72de6d 100644
--- a/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h
+++ b/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h
@@ -58,7 +58,6 @@ typedef struct {
58#endif 58#endif
59 int irq; 59 int irq;
60 u32 regbase; 60 u32 regbase;
61 int ddma_id;
62} _auide_hwif; 61} _auide_hwif;
63 62
64/******************************************************************************/ 63/******************************************************************************/
diff --git a/arch/mips/include/asm/mach-au1x00/au1xxx_psc.h b/arch/mips/include/asm/mach-au1x00/au1xxx_psc.h
index 4e3f3bc26c6..892b7f168eb 100644
--- a/arch/mips/include/asm/mach-au1x00/au1xxx_psc.h
+++ b/arch/mips/include/asm/mach-au1x00/au1xxx_psc.h
@@ -33,6 +33,19 @@
33#ifndef _AU1000_PSC_H_ 33#ifndef _AU1000_PSC_H_
34#define _AU1000_PSC_H_ 34#define _AU1000_PSC_H_
35 35
36/* The PSC base addresses. */
37#ifdef CONFIG_SOC_AU1550
38#define PSC0_BASE_ADDR 0xb1a00000
39#define PSC1_BASE_ADDR 0xb1b00000
40#define PSC2_BASE_ADDR 0xb0a00000
41#define PSC3_BASE_ADDR 0xb0b00000
42#endif
43
44#ifdef CONFIG_SOC_AU1200
45#define PSC0_BASE_ADDR 0xb1a00000
46#define PSC1_BASE_ADDR 0xb1b00000
47#endif
48
36/* 49/*
37 * The PSC select and control registers are common to all protocols. 50 * The PSC select and control registers are common to all protocols.
38 */ 51 */
@@ -67,6 +80,19 @@
67#define PSC_AC97GPO_OFFSET 0x00000028 80#define PSC_AC97GPO_OFFSET 0x00000028
68#define PSC_AC97GPI_OFFSET 0x0000002c 81#define PSC_AC97GPI_OFFSET 0x0000002c
69 82
83#define AC97_PSC_SEL (AC97_PSC_BASE + PSC_SEL_OFFSET)
84#define AC97_PSC_CTRL (AC97_PSC_BASE + PSC_CTRL_OFFSET)
85#define PSC_AC97CFG (AC97_PSC_BASE + PSC_AC97CFG_OFFSET)
86#define PSC_AC97MSK (AC97_PSC_BASE + PSC_AC97MSK_OFFSET)
87#define PSC_AC97PCR (AC97_PSC_BASE + PSC_AC97PCR_OFFSET)
88#define PSC_AC97STAT (AC97_PSC_BASE + PSC_AC97STAT_OFFSET)
89#define PSC_AC97EVNT (AC97_PSC_BASE + PSC_AC97EVNT_OFFSET)
90#define PSC_AC97TXRX (AC97_PSC_BASE + PSC_AC97TXRX_OFFSET)
91#define PSC_AC97CDC (AC97_PSC_BASE + PSC_AC97CDC_OFFSET)
92#define PSC_AC97RST (AC97_PSC_BASE + PSC_AC97RST_OFFSET)
93#define PSC_AC97GPO (AC97_PSC_BASE + PSC_AC97GPO_OFFSET)
94#define PSC_AC97GPI (AC97_PSC_BASE + PSC_AC97GPI_OFFSET)
95
70/* AC97 Config Register. */ 96/* AC97 Config Register. */
71#define PSC_AC97CFG_RT_MASK (3 << 30) 97#define PSC_AC97CFG_RT_MASK (3 << 30)
72#define PSC_AC97CFG_RT_FIFO1 (0 << 30) 98#define PSC_AC97CFG_RT_FIFO1 (0 << 30)
@@ -368,6 +394,19 @@ typedef struct psc_spi {
368#define PSC_SPITXRX_LC (1 << 29) 394#define PSC_SPITXRX_LC (1 << 29)
369#define PSC_SPITXRX_SR (1 << 28) 395#define PSC_SPITXRX_SR (1 << 28)
370 396
397/* PSC in SMBus (I2C) Mode. */
398typedef struct psc_smb {
399 u32 psc_sel;
400 u32 psc_ctrl;
401 u32 psc_smbcfg;
402 u32 psc_smbmsk;
403 u32 psc_smbpcr;
404 u32 psc_smbstat;
405 u32 psc_smbevnt;
406 u32 psc_smbtxrx;
407 u32 psc_smbtmr;
408} psc_smb_t;
409
371/* SMBus Config Register. */ 410/* SMBus Config Register. */
372#define PSC_SMBCFG_RT_MASK (3 << 30) 411#define PSC_SMBCFG_RT_MASK (3 << 30)
373#define PSC_SMBCFG_RT_FIFO1 (0 << 30) 412#define PSC_SMBCFG_RT_FIFO1 (0 << 30)
diff --git a/arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h b/arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h
index 09f45e6afad..d5df0cab9b8 100644
--- a/arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h
@@ -13,14 +13,12 @@
13#define cpu_has_4k_cache 1 13#define cpu_has_4k_cache 1
14#define cpu_has_tx39_cache 0 14#define cpu_has_tx39_cache 0
15#define cpu_has_fpu 0 15#define cpu_has_fpu 0
16#define cpu_has_32fpr 0
17#define cpu_has_counter 1 16#define cpu_has_counter 1
18#define cpu_has_watch 1 17#define cpu_has_watch 1
19#define cpu_has_divec 1 18#define cpu_has_divec 1
20#define cpu_has_vce 0 19#define cpu_has_vce 0
21#define cpu_has_cache_cdex_p 0 20#define cpu_has_cache_cdex_p 0
22#define cpu_has_cache_cdex_s 0 21#define cpu_has_cache_cdex_s 0
23#define cpu_has_prefetch 1
24#define cpu_has_mcheck 1 22#define cpu_has_mcheck 1
25#define cpu_has_ejtag 1 23#define cpu_has_ejtag 1
26#define cpu_has_llsc 1 24#define cpu_has_llsc 1
@@ -31,13 +29,11 @@
31#define cpu_has_vtag_icache 0 29#define cpu_has_vtag_icache 0
32#define cpu_has_dc_aliases 0 30#define cpu_has_dc_aliases 0
33#define cpu_has_ic_fills_f_dc 1 31#define cpu_has_ic_fills_f_dc 1
34#define cpu_has_pindexed_dcache 0
35#define cpu_has_mips32r1 1 32#define cpu_has_mips32r1 1
36#define cpu_has_mips32r2 0 33#define cpu_has_mips32r2 0
37#define cpu_has_mips64r1 0 34#define cpu_has_mips64r1 0
38#define cpu_has_mips64r2 0 35#define cpu_has_mips64r2 0
39#define cpu_has_dsp 0 36#define cpu_has_dsp 0
40#define cpu_has_dsp2 0
41#define cpu_has_mipsmt 0 37#define cpu_has_mipsmt 0
42#define cpu_has_userlocal 0 38#define cpu_has_userlocal 0
43#define cpu_has_nofpuex 0 39#define cpu_has_nofpuex 0
diff --git a/arch/mips/include/asm/mach-au1x00/gpio-au1000.h b/arch/mips/include/asm/mach-au1x00/gpio-au1000.h
index 73853b5a2a3..1f41a522906 100644
--- a/arch/mips/include/asm/mach-au1x00/gpio-au1000.h
+++ b/arch/mips/include/asm/mach-au1x00/gpio-au1000.h
@@ -347,6 +347,17 @@ static inline int alchemy_gpio2_to_irq(int gpio)
347 347
348/**********************************************************************/ 348/**********************************************************************/
349 349
350/* On Au1000, Au1500 and Au1100 GPIOs won't work as inputs before
351 * SYS_PININPUTEN is written to at least once. On Au1550/Au1200 this
352 * register enables use of GPIOs as wake source.
353 */
354static inline void alchemy_gpio1_input_enable(void)
355{
356 void __iomem *base = (void __iomem *)KSEG1ADDR(AU1000_SYS_PHYS_ADDR);
357 __raw_writel(0, base + SYS_PININPUTEN); /* the write op is key */
358 wmb();
359}
360
350/* GPIO2 shared interrupts and control */ 361/* GPIO2 shared interrupts and control */
351 362
352static inline void __alchemy_gpio2_mod_int(int gpio2, int en) 363static inline void __alchemy_gpio2_mod_int(int gpio2, int en)
@@ -550,7 +561,6 @@ static inline int alchemy_irq_to_gpio(int irq)
550 561
551#ifndef CONFIG_GPIOLIB 562#ifndef CONFIG_GPIOLIB
552 563
553#ifdef CONFIG_ALCHEMY_GPIOINT_AU1000
554 564
555#ifndef CONFIG_ALCHEMY_GPIO_INDIRECT /* case (4) */ 565#ifndef CONFIG_ALCHEMY_GPIO_INDIRECT /* case (4) */
556 566
@@ -655,7 +665,24 @@ static inline void gpio_unexport(unsigned gpio)
655 665
656#endif /* !CONFIG_ALCHEMY_GPIO_INDIRECT */ 666#endif /* !CONFIG_ALCHEMY_GPIO_INDIRECT */
657 667
658#endif /* CONFIG_ALCHEMY_GPIOINT_AU1000 */ 668
669#else /* CONFIG GPIOLIB */
670
671
672 /* using gpiolib to provide up to 2 gpio_chips for on-chip gpios */
673#ifndef CONFIG_ALCHEMY_GPIO_INDIRECT /* case (2) */
674
675/* get everything through gpiolib */
676#define gpio_to_irq __gpio_to_irq
677#define gpio_get_value __gpio_get_value
678#define gpio_set_value __gpio_set_value
679#define gpio_cansleep __gpio_cansleep
680#define irq_to_gpio alchemy_irq_to_gpio
681
682#include <asm-generic/gpio.h>
683
684#endif /* !CONFIG_ALCHEMY_GPIO_INDIRECT */
685
659 686
660#endif /* !CONFIG_GPIOLIB */ 687#endif /* !CONFIG_GPIOLIB */
661 688
diff --git a/arch/mips/include/asm/mach-au1x00/gpio-au1300.h b/arch/mips/include/asm/mach-au1x00/gpio-au1300.h
deleted file mode 100644
index fb9975c74c5..00000000000
--- a/arch/mips/include/asm/mach-au1x00/gpio-au1300.h
+++ /dev/null
@@ -1,259 +0,0 @@
1/*
2 * gpio-au1300.h -- GPIO control for Au1300 GPIC and compatibles.
3 *
4 * Copyright (c) 2009-2011 Manuel Lauss <manuel.lauss@googlemail.com>
5 */
6
7#ifndef _GPIO_AU1300_H_
8#define _GPIO_AU1300_H_
9
10#include <asm/addrspace.h>
11#include <asm/io.h>
12#include <asm/mach-au1x00/au1000.h>
13
14struct gpio;
15struct gpio_chip;
16
17/* with the current GPIC design, up to 128 GPIOs are possible.
18 * The only implementation so far is in the Au1300, which has 75 externally
19 * available GPIOs.
20 */
21#define AU1300_GPIO_BASE 0
22#define AU1300_GPIO_NUM 75
23#define AU1300_GPIO_MAX (AU1300_GPIO_BASE + AU1300_GPIO_NUM - 1)
24
25#define AU1300_GPIC_ADDR \
26 (void __iomem *)KSEG1ADDR(AU1300_GPIC_PHYS_ADDR)
27
28static inline int au1300_gpio_get_value(unsigned int gpio)
29{
30 void __iomem *roff = AU1300_GPIC_ADDR;
31 int bit;
32
33 gpio -= AU1300_GPIO_BASE;
34 roff += GPIC_GPIO_BANKOFF(gpio);
35 bit = GPIC_GPIO_TO_BIT(gpio);
36 return __raw_readl(roff + AU1300_GPIC_PINVAL) & bit;
37}
38
39static inline int au1300_gpio_direction_input(unsigned int gpio)
40{
41 void __iomem *roff = AU1300_GPIC_ADDR;
42 unsigned long bit;
43
44 gpio -= AU1300_GPIO_BASE;
45
46 roff += GPIC_GPIO_BANKOFF(gpio);
47 bit = GPIC_GPIO_TO_BIT(gpio);
48 __raw_writel(bit, roff + AU1300_GPIC_DEVCLR);
49 wmb();
50
51 return 0;
52}
53
54static inline int au1300_gpio_set_value(unsigned int gpio, int v)
55{
56 void __iomem *roff = AU1300_GPIC_ADDR;
57 unsigned long bit;
58
59 gpio -= AU1300_GPIO_BASE;
60
61 roff += GPIC_GPIO_BANKOFF(gpio);
62 bit = GPIC_GPIO_TO_BIT(gpio);
63 __raw_writel(bit, roff + (v ? AU1300_GPIC_PINVAL
64 : AU1300_GPIC_PINVALCLR));
65 wmb();
66
67 return 0;
68}
69
70static inline int au1300_gpio_direction_output(unsigned int gpio, int v)
71{
72 /* hw switches to output automatically */
73 return au1300_gpio_set_value(gpio, v);
74}
75
76static inline int au1300_gpio_to_irq(unsigned int gpio)
77{
78 return AU1300_FIRST_INT + (gpio - AU1300_GPIO_BASE);
79}
80
81static inline int au1300_irq_to_gpio(unsigned int irq)
82{
83 return (irq - AU1300_FIRST_INT) + AU1300_GPIO_BASE;
84}
85
86static inline int au1300_gpio_is_valid(unsigned int gpio)
87{
88 int ret;
89
90 switch (alchemy_get_cputype()) {
91 case ALCHEMY_CPU_AU1300:
92 ret = ((gpio >= AU1300_GPIO_BASE) && (gpio <= AU1300_GPIO_MAX));
93 break;
94 default:
95 ret = 0;
96 }
97 return ret;
98}
99
100static inline int au1300_gpio_cansleep(unsigned int gpio)
101{
102 return 0;
103}
104
105/* hardware remembers gpio 0-63 levels on powerup */
106static inline int au1300_gpio_getinitlvl(unsigned int gpio)
107{
108 void __iomem *roff = AU1300_GPIC_ADDR;
109 unsigned long v;
110
111 if (unlikely(gpio > 63))
112 return 0;
113 else if (gpio > 31) {
114 gpio -= 32;
115 roff += 4;
116 }
117
118 v = __raw_readl(roff + AU1300_GPIC_RSTVAL);
119 return (v >> gpio) & 1;
120}
121
122/**********************************************************************/
123
124/* Linux gpio framework integration.
125*
126* 4 use cases of Alchemy GPIOS:
127*(1) GPIOLIB=y, ALCHEMY_GPIO_INDIRECT=y:
128* Board must register gpiochips.
129*(2) GPIOLIB=y, ALCHEMY_GPIO_INDIRECT=n:
130* A gpiochip for the 75 GPIOs is registered.
131*
132*(3) GPIOLIB=n, ALCHEMY_GPIO_INDIRECT=y:
133* the boards' gpio.h must provide the linux gpio wrapper functions,
134*
135*(4) GPIOLIB=n, ALCHEMY_GPIO_INDIRECT=n:
136* inlinable gpio functions are provided which enable access to the
137* Au1300 gpios only by using the numbers straight out of the data-
138* sheets.
139
140* Cases 1 and 3 are intended for boards which want to provide their own
141* GPIO namespace and -operations (i.e. for example you have 8 GPIOs
142* which are in part provided by spare Au1300 GPIO pins and in part by
143* an external FPGA but you still want them to be accssible in linux
144* as gpio0-7. The board can of course use the alchemy_gpioX_* functions
145* as required).
146*/
147
148#ifndef CONFIG_GPIOLIB
149
150#ifdef CONFIG_ALCHEMY_GPIOINT_AU1300
151
152#ifndef CONFIG_ALCHEMY_GPIO_INDIRECT /* case (4) */
153
154static inline int gpio_direction_input(unsigned int gpio)
155{
156 return au1300_gpio_direction_input(gpio);
157}
158
159static inline int gpio_direction_output(unsigned int gpio, int v)
160{
161 return au1300_gpio_direction_output(gpio, v);
162}
163
164static inline int gpio_get_value(unsigned int gpio)
165{
166 return au1300_gpio_get_value(gpio);
167}
168
169static inline void gpio_set_value(unsigned int gpio, int v)
170{
171 au1300_gpio_set_value(gpio, v);
172}
173
174static inline int gpio_get_value_cansleep(unsigned gpio)
175{
176 return gpio_get_value(gpio);
177}
178
179static inline void gpio_set_value_cansleep(unsigned gpio, int value)
180{
181 gpio_set_value(gpio, value);
182}
183
184static inline int gpio_is_valid(unsigned int gpio)
185{
186 return au1300_gpio_is_valid(gpio);
187}
188
189static inline int gpio_cansleep(unsigned int gpio)
190{
191 return au1300_gpio_cansleep(gpio);
192}
193
194static inline int gpio_to_irq(unsigned int gpio)
195{
196 return au1300_gpio_to_irq(gpio);
197}
198
199static inline int irq_to_gpio(unsigned int irq)
200{
201 return au1300_irq_to_gpio(irq);
202}
203
204static inline int gpio_request(unsigned int gpio, const char *label)
205{
206 return 0;
207}
208
209static inline int gpio_request_one(unsigned gpio,
210 unsigned long flags, const char *label)
211{
212 return 0;
213}
214
215static inline int gpio_request_array(struct gpio *array, size_t num)
216{
217 return 0;
218}
219
220static inline void gpio_free(unsigned gpio)
221{
222}
223
224static inline void gpio_free_array(struct gpio *array, size_t num)
225{
226}
227
228static inline int gpio_set_debounce(unsigned gpio, unsigned debounce)
229{
230 return -ENOSYS;
231}
232
233static inline void gpio_unexport(unsigned gpio)
234{
235}
236
237static inline int gpio_export(unsigned gpio, bool direction_may_change)
238{
239 return -ENOSYS;
240}
241
242static inline int gpio_sysfs_set_active_low(unsigned gpio, int value)
243{
244 return -ENOSYS;
245}
246
247static inline int gpio_export_link(struct device *dev, const char *name,
248 unsigned gpio)
249{
250 return -ENOSYS;
251}
252
253#endif /* !CONFIG_ALCHEMY_GPIO_INDIRECT */
254
255#endif /* CONFIG_ALCHEMY_GPIOINT_AU1300 */
256
257#endif /* CONFIG GPIOLIB */
258
259#endif /* _GPIO_AU1300_H_ */
diff --git a/arch/mips/include/asm/mach-au1x00/gpio.h b/arch/mips/include/asm/mach-au1x00/gpio.h
index 22e7ff17fc4..c3f60cdc320 100644
--- a/arch/mips/include/asm/mach-au1x00/gpio.h
+++ b/arch/mips/include/asm/mach-au1x00/gpio.h
@@ -1,86 +1,10 @@
1/*
2 * Alchemy GPIO support.
3 *
4 * With CONFIG_GPIOLIB=y different types of on-chip GPIO can be supported within
5 * the same kernel image.
6 * With CONFIG_GPIOLIB=n, your board must select ALCHEMY_GPIOINT_AU1XXX for the
7 * appropriate CPU type (AU1000 currently).
8 */
9
10#ifndef _ALCHEMY_GPIO_H_ 1#ifndef _ALCHEMY_GPIO_H_
11#define _ALCHEMY_GPIO_H_ 2#define _ALCHEMY_GPIO_H_
12 3
13#include <asm/mach-au1x00/au1000.h> 4#if defined(CONFIG_ALCHEMY_GPIOINT_AU1000)
14#include <asm/mach-au1x00/gpio-au1000.h>
15#include <asm/mach-au1x00/gpio-au1300.h>
16
17/* On Au1000, Au1500 and Au1100 GPIOs won't work as inputs before
18 * SYS_PININPUTEN is written to at least once. On Au1550/Au1200/Au1300 this
19 * register enables use of GPIOs as wake source.
20 */
21static inline void alchemy_gpio1_input_enable(void)
22{
23 void __iomem *base = (void __iomem *)KSEG1ADDR(AU1000_SYS_PHYS_ADDR);
24 __raw_writel(0, base + 0x110); /* the write op is key */
25 wmb();
26}
27
28
29/* Linux gpio framework integration.
30*
31* 4 use cases of Alchemy GPIOS:
32*(1) GPIOLIB=y, ALCHEMY_GPIO_INDIRECT=y:
33* Board must register gpiochips.
34*(2) GPIOLIB=y, ALCHEMY_GPIO_INDIRECT=n:
35* A gpiochip for the 75 GPIOs is registered.
36*
37*(3) GPIOLIB=n, ALCHEMY_GPIO_INDIRECT=y:
38* the boards' gpio.h must provide the linux gpio wrapper functions,
39*
40*(4) GPIOLIB=n, ALCHEMY_GPIO_INDIRECT=n:
41* inlinable gpio functions are provided which enable access to the
42* Au1300 gpios only by using the numbers straight out of the data-
43* sheets.
44
45* Cases 1 and 3 are intended for boards which want to provide their own
46* GPIO namespace and -operations (i.e. for example you have 8 GPIOs
47* which are in part provided by spare Au1300 GPIO pins and in part by
48* an external FPGA but you still want them to be accssible in linux
49* as gpio0-7. The board can of course use the alchemy_gpioX_* functions
50* as required).
51*/
52
53#ifdef CONFIG_GPIOLIB
54
55/* wraps the cpu-dependent irq_to_gpio functions */
56/* FIXME: gpiolib needs an irq_to_gpio hook */
57static inline int __au_irq_to_gpio(unsigned int irq)
58{
59 switch (alchemy_get_cputype()) {
60 case ALCHEMY_CPU_AU1000...ALCHEMY_CPU_AU1200:
61 return alchemy_irq_to_gpio(irq);
62 case ALCHEMY_CPU_AU1300:
63 return au1300_irq_to_gpio(irq);
64 }
65 return -EINVAL;
66}
67
68
69/* using gpiolib to provide up to 2 gpio_chips for on-chip gpios */
70#ifndef CONFIG_ALCHEMY_GPIO_INDIRECT /* case (2) */
71
72/* get everything through gpiolib */
73#define gpio_to_irq __gpio_to_irq
74#define gpio_get_value __gpio_get_value
75#define gpio_set_value __gpio_set_value
76#define gpio_cansleep __gpio_cansleep
77#define irq_to_gpio __au_irq_to_gpio
78
79#include <asm-generic/gpio.h>
80
81#endif /* !CONFIG_ALCHEMY_GPIO_INDIRECT */
82 5
6#include <asm/mach-au1x00/gpio-au1000.h>
83 7
84#endif /* CONFIG_GPIOLIB */ 8#endif
85 9
86#endif /* _ALCHEMY_GPIO_H_ */ 10#endif /* _ALCHEMY_GPIO_H_ */
diff --git a/arch/mips/include/asm/mach-au1x00/war.h b/arch/mips/include/asm/mach-au1x00/war.h
index 72e260d24e5..dd57d03d68b 100644
--- a/arch/mips/include/asm/mach-au1x00/war.h
+++ b/arch/mips/include/asm/mach-au1x00/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
index cc7563ba1cb..d008f47a28b 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
@@ -19,41 +19,7 @@
19#ifndef __ASM_BCM47XX_H 19#ifndef __ASM_BCM47XX_H
20#define __ASM_BCM47XX_H 20#define __ASM_BCM47XX_H
21 21
22#include <linux/ssb/ssb.h> 22/* SSB bus */
23#include <linux/bcma/bcma.h> 23extern struct ssb_bus ssb_bcm47xx;
24#include <linux/bcma/bcma_soc.h>
25
26enum bcm47xx_bus_type {
27#ifdef CONFIG_BCM47XX_SSB
28 BCM47XX_BUS_TYPE_SSB,
29#endif
30#ifdef CONFIG_BCM47XX_BCMA
31 BCM47XX_BUS_TYPE_BCMA,
32#endif
33};
34
35union bcm47xx_bus {
36#ifdef CONFIG_BCM47XX_SSB
37 struct ssb_bus ssb;
38#endif
39#ifdef CONFIG_BCM47XX_BCMA
40 struct bcma_soc bcma;
41#endif
42};
43
44extern union bcm47xx_bus bcm47xx_bus;
45extern enum bcm47xx_bus_type bcm47xx_bus_type;
46
47void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
48 bool fallback);
49
50#ifdef CONFIG_BCM47XX_SSB
51void bcm47xx_fill_ssb_boardinfo(struct ssb_boardinfo *boardinfo,
52 const char *prefix);
53#endif
54#ifdef CONFIG_BCM47XX_BCMA
55void bcm47xx_fill_bcma_boardinfo(struct bcma_boardinfo *boardinfo,
56 const char *prefix);
57#endif
58 24
59#endif /* __ASM_BCM47XX_H */ 25#endif /* __ASM_BCM47XX_H */
diff --git a/arch/mips/include/asm/mach-bcm47xx/gpio.h b/arch/mips/include/asm/mach-bcm47xx/gpio.h
index 90daefa24a4..98504142124 100644
--- a/arch/mips/include/asm/mach-bcm47xx/gpio.h
+++ b/arch/mips/include/asm/mach-bcm47xx/gpio.h
@@ -1,17 +1,65 @@
1#ifndef __ASM_MIPS_MACH_BCM47XX_GPIO_H 1/*
2#define __ASM_MIPS_MACH_BCM47XX_GPIO_H 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 Aurelien Jarno <aurelien@aurel32.net>
7 */
3 8
4#include <asm-generic/gpio.h> 9#ifndef __BCM47XX_GPIO_H
10#define __BCM47XX_GPIO_H
11
12#include <linux/ssb/ssb_embedded.h>
13#include <asm/mach-bcm47xx/bcm47xx.h>
14
15#define BCM47XX_EXTIF_GPIO_LINES 5
16#define BCM47XX_CHIPCO_GPIO_LINES 16
17
18extern int gpio_request(unsigned gpio, const char *label);
19extern void gpio_free(unsigned gpio);
20extern int gpio_to_irq(unsigned gpio);
21
22static inline int gpio_get_value(unsigned gpio)
23{
24 return ssb_gpio_in(&ssb_bcm47xx, 1 << gpio);
25}
26
27static inline void gpio_set_value(unsigned gpio, int value)
28{
29 ssb_gpio_out(&ssb_bcm47xx, 1 << gpio, value ? 1 << gpio : 0);
30}
5 31
6#define gpio_get_value __gpio_get_value 32static inline int gpio_direction_input(unsigned gpio)
7#define gpio_set_value __gpio_set_value 33{
34 ssb_gpio_outen(&ssb_bcm47xx, 1 << gpio, 0);
35 return 0;
36}
37
38static inline int gpio_direction_output(unsigned gpio, int value)
39{
40 /* first set the gpio out value */
41 ssb_gpio_out(&ssb_bcm47xx, 1 << gpio, value ? 1 << gpio : 0);
42 /* then set the gpio mode */
43 ssb_gpio_outen(&ssb_bcm47xx, 1 << gpio, 1 << gpio);
44 return 0;
45}
8 46
9#define gpio_cansleep __gpio_cansleep 47static inline int gpio_intmask(unsigned gpio, int value)
10#define gpio_to_irq __gpio_to_irq 48{
49 ssb_gpio_intmask(&ssb_bcm47xx, 1 << gpio,
50 value ? 1 << gpio : 0);
51 return 0;
52}
11 53
12static inline int irq_to_gpio(unsigned int irq) 54static inline int gpio_polarity(unsigned gpio, int value)
13{ 55{
14 return -EINVAL; 56 ssb_gpio_polarity(&ssb_bcm47xx, 1 << gpio,
57 value ? 1 << gpio : 0);
58 return 0;
15} 59}
16 60
17#endif 61
62/* cansleep wrappers */
63#include <asm-generic/gpio.h>
64
65#endif /* __BCM47XX_GPIO_H */
diff --git a/arch/mips/include/asm/mach-bcm47xx/nvram.h b/arch/mips/include/asm/mach-bcm47xx/nvram.h
index 69ef3efe06e..184d5ecb5f5 100644
--- a/arch/mips/include/asm/mach-bcm47xx/nvram.h
+++ b/arch/mips/include/asm/mach-bcm47xx/nvram.h
@@ -37,7 +37,7 @@ struct nvram_header {
37 37
38extern int nvram_getenv(char *name, char *val, size_t val_len); 38extern int nvram_getenv(char *name, char *val, size_t val_len);
39 39
40static inline void nvram_parse_macaddr(char *buf, u8 macaddr[6]) 40static inline void nvram_parse_macaddr(char *buf, u8 *macaddr)
41{ 41{
42 if (strchr(buf, ':')) 42 if (strchr(buf, ':'))
43 sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0], 43 sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0],
diff --git a/arch/mips/include/asm/mach-bcm47xx/war.h b/arch/mips/include/asm/mach-bcm47xx/war.h
index a3d2f448b10..87cd4651dda 100644
--- a/arch/mips/include/asm/mach-bcm47xx/war.h
+++ b/arch/mips/include/asm/mach-bcm47xx/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
index dbd5b5ad07a..96a2391ad85 100644
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
@@ -9,31 +9,16 @@
9 * compile time if only one CPU support is enabled (idea stolen from 9 * compile time if only one CPU support is enabled (idea stolen from
10 * arm mach-types) 10 * arm mach-types)
11 */ 11 */
12#define BCM6328_CPU_ID 0x6328
13#define BCM6338_CPU_ID 0x6338 12#define BCM6338_CPU_ID 0x6338
14#define BCM6345_CPU_ID 0x6345 13#define BCM6345_CPU_ID 0x6345
15#define BCM6348_CPU_ID 0x6348 14#define BCM6348_CPU_ID 0x6348
16#define BCM6358_CPU_ID 0x6358 15#define BCM6358_CPU_ID 0x6358
17#define BCM6368_CPU_ID 0x6368
18 16
19void __init bcm63xx_cpu_init(void); 17void __init bcm63xx_cpu_init(void);
20u16 __bcm63xx_get_cpu_id(void); 18u16 __bcm63xx_get_cpu_id(void);
21u16 bcm63xx_get_cpu_rev(void); 19u16 bcm63xx_get_cpu_rev(void);
22unsigned int bcm63xx_get_cpu_freq(void); 20unsigned int bcm63xx_get_cpu_freq(void);
23 21
24#ifdef CONFIG_BCM63XX_CPU_6328
25# ifdef bcm63xx_get_cpu_id
26# undef bcm63xx_get_cpu_id
27# define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id()
28# define BCMCPU_RUNTIME_DETECT
29# else
30# define bcm63xx_get_cpu_id() BCM6328_CPU_ID
31# endif
32# define BCMCPU_IS_6328() (bcm63xx_get_cpu_id() == BCM6328_CPU_ID)
33#else
34# define BCMCPU_IS_6328() (0)
35#endif
36
37#ifdef CONFIG_BCM63XX_CPU_6338 22#ifdef CONFIG_BCM63XX_CPU_6338
38# ifdef bcm63xx_get_cpu_id 23# ifdef bcm63xx_get_cpu_id
39# undef bcm63xx_get_cpu_id 24# undef bcm63xx_get_cpu_id
@@ -86,19 +71,6 @@ unsigned int bcm63xx_get_cpu_freq(void);
86# define BCMCPU_IS_6358() (0) 71# define BCMCPU_IS_6358() (0)
87#endif 72#endif
88 73
89#ifdef CONFIG_BCM63XX_CPU_6368
90# ifdef bcm63xx_get_cpu_id
91# undef bcm63xx_get_cpu_id
92# define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id()
93# define BCMCPU_RUNTIME_DETECT
94# else
95# define bcm63xx_get_cpu_id() BCM6368_CPU_ID
96# endif
97# define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID)
98#else
99# define BCMCPU_IS_6368() (0)
100#endif
101
102#ifndef bcm63xx_get_cpu_id 74#ifndef bcm63xx_get_cpu_id
103#error "No CPU support configured" 75#error "No CPU support configured"
104#endif 76#endif
@@ -120,107 +92,30 @@ enum bcm63xx_regs_set {
120 RSET_OHCI0, 92 RSET_OHCI0,
121 RSET_OHCI_PRIV, 93 RSET_OHCI_PRIV,
122 RSET_USBH_PRIV, 94 RSET_USBH_PRIV,
123 RSET_USBD,
124 RSET_USBDMA,
125 RSET_MPI, 95 RSET_MPI,
126 RSET_PCMCIA, 96 RSET_PCMCIA,
127 RSET_PCIE,
128 RSET_DSL, 97 RSET_DSL,
129 RSET_ENET0, 98 RSET_ENET0,
130 RSET_ENET1, 99 RSET_ENET1,
131 RSET_ENETDMA, 100 RSET_ENETDMA,
132 RSET_ENETDMAC,
133 RSET_ENETDMAS,
134 RSET_ENETSW,
135 RSET_EHCI0, 101 RSET_EHCI0,
136 RSET_SDRAM, 102 RSET_SDRAM,
137 RSET_MEMC, 103 RSET_MEMC,
138 RSET_DDR, 104 RSET_DDR,
139 RSET_M2M,
140 RSET_ATM,
141 RSET_XTM,
142 RSET_XTMDMA,
143 RSET_XTMDMAC,
144 RSET_XTMDMAS,
145 RSET_PCM,
146 RSET_PCMDMA,
147 RSET_PCMDMAC,
148 RSET_PCMDMAS,
149 RSET_RNG,
150 RSET_MISC
151}; 105};
152 106
153#define RSET_DSL_LMEM_SIZE (64 * 1024 * 4) 107#define RSET_DSL_LMEM_SIZE (64 * 1024 * 4)
154#define RSET_DSL_SIZE 4096 108#define RSET_DSL_SIZE 4096
155#define RSET_WDT_SIZE 12 109#define RSET_WDT_SIZE 12
156#define BCM_6338_RSET_SPI_SIZE 64
157#define BCM_6348_RSET_SPI_SIZE 64
158#define BCM_6358_RSET_SPI_SIZE 1804
159#define BCM_6368_RSET_SPI_SIZE 1804
160#define RSET_ENET_SIZE 2048 110#define RSET_ENET_SIZE 2048
161#define RSET_ENETDMA_SIZE 2048 111#define RSET_ENETDMA_SIZE 2048
162#define RSET_ENETSW_SIZE 65536
163#define RSET_UART_SIZE 24 112#define RSET_UART_SIZE 24
164#define RSET_UDC_SIZE 256 113#define RSET_UDC_SIZE 256
165#define RSET_OHCI_SIZE 256 114#define RSET_OHCI_SIZE 256
166#define RSET_EHCI_SIZE 256 115#define RSET_EHCI_SIZE 256
167#define RSET_USBD_SIZE 256
168#define RSET_USBDMA_SIZE 1280
169#define RSET_PCMCIA_SIZE 12 116#define RSET_PCMCIA_SIZE 12
170#define RSET_M2M_SIZE 256
171#define RSET_ATM_SIZE 4096
172#define RSET_XTM_SIZE 10240
173#define RSET_XTMDMA_SIZE 256
174#define RSET_XTMDMAC_SIZE(chans) (16 * (chans))
175#define RSET_XTMDMAS_SIZE(chans) (16 * (chans))
176#define RSET_RNG_SIZE 20
177 117
178/* 118/*
179 * 6328 register sets base address
180 */
181#define BCM_6328_DSL_LMEM_BASE (0xdeadbeef)
182#define BCM_6328_PERF_BASE (0xb0000000)
183#define BCM_6328_TIMER_BASE (0xb0000040)
184#define BCM_6328_WDT_BASE (0xb000005c)
185#define BCM_6328_UART0_BASE (0xb0000100)
186#define BCM_6328_UART1_BASE (0xb0000120)
187#define BCM_6328_GPIO_BASE (0xb0000080)
188#define BCM_6328_SPI_BASE (0xdeadbeef)
189#define BCM_6328_UDC0_BASE (0xdeadbeef)
190#define BCM_6328_USBDMA_BASE (0xb000c000)
191#define BCM_6328_OHCI0_BASE (0xb0002600)
192#define BCM_6328_OHCI_PRIV_BASE (0xdeadbeef)
193#define BCM_6328_USBH_PRIV_BASE (0xb0002700)
194#define BCM_6328_USBD_BASE (0xb0002400)
195#define BCM_6328_MPI_BASE (0xdeadbeef)
196#define BCM_6328_PCMCIA_BASE (0xdeadbeef)
197#define BCM_6328_PCIE_BASE (0xb0e40000)
198#define BCM_6328_SDRAM_REGS_BASE (0xdeadbeef)
199#define BCM_6328_DSL_BASE (0xb0001900)
200#define BCM_6328_UBUS_BASE (0xdeadbeef)
201#define BCM_6328_ENET0_BASE (0xdeadbeef)
202#define BCM_6328_ENET1_BASE (0xdeadbeef)
203#define BCM_6328_ENETDMA_BASE (0xb000d800)
204#define BCM_6328_ENETDMAC_BASE (0xb000da00)
205#define BCM_6328_ENETDMAS_BASE (0xb000dc00)
206#define BCM_6328_ENETSW_BASE (0xb0e00000)
207#define BCM_6328_EHCI0_BASE (0xb0002500)
208#define BCM_6328_SDRAM_BASE (0xdeadbeef)
209#define BCM_6328_MEMC_BASE (0xdeadbeef)
210#define BCM_6328_DDR_BASE (0xb0003000)
211#define BCM_6328_M2M_BASE (0xdeadbeef)
212#define BCM_6328_ATM_BASE (0xdeadbeef)
213#define BCM_6328_XTM_BASE (0xdeadbeef)
214#define BCM_6328_XTMDMA_BASE (0xb000b800)
215#define BCM_6328_XTMDMAC_BASE (0xdeadbeef)
216#define BCM_6328_XTMDMAS_BASE (0xdeadbeef)
217#define BCM_6328_PCM_BASE (0xb000a800)
218#define BCM_6328_PCMDMA_BASE (0xdeadbeef)
219#define BCM_6328_PCMDMAC_BASE (0xdeadbeef)
220#define BCM_6328_PCMDMAS_BASE (0xdeadbeef)
221#define BCM_6328_RNG_BASE (0xdeadbeef)
222#define BCM_6328_MISC_BASE (0xb0001800)
223/*
224 * 6338 register sets base address 119 * 6338 register sets base address
225 */ 120 */
226#define BCM_6338_DSL_LMEM_BASE (0xfff00000) 121#define BCM_6338_DSL_LMEM_BASE (0xfff00000)
@@ -237,35 +132,19 @@ enum bcm63xx_regs_set {
237#define BCM_6338_OHCI0_BASE (0xdeadbeef) 132#define BCM_6338_OHCI0_BASE (0xdeadbeef)
238#define BCM_6338_OHCI_PRIV_BASE (0xfffe3000) 133#define BCM_6338_OHCI_PRIV_BASE (0xfffe3000)
239#define BCM_6338_USBH_PRIV_BASE (0xdeadbeef) 134#define BCM_6338_USBH_PRIV_BASE (0xdeadbeef)
240#define BCM_6338_USBD_BASE (0xdeadbeef)
241#define BCM_6338_MPI_BASE (0xfffe3160) 135#define BCM_6338_MPI_BASE (0xfffe3160)
242#define BCM_6338_PCMCIA_BASE (0xdeadbeef) 136#define BCM_6338_PCMCIA_BASE (0xdeadbeef)
243#define BCM_6338_PCIE_BASE (0xdeadbeef)
244#define BCM_6338_SDRAM_REGS_BASE (0xfffe3100) 137#define BCM_6338_SDRAM_REGS_BASE (0xfffe3100)
245#define BCM_6338_DSL_BASE (0xfffe1000) 138#define BCM_6338_DSL_BASE (0xfffe1000)
139#define BCM_6338_SAR_BASE (0xfffe2000)
246#define BCM_6338_UBUS_BASE (0xdeadbeef) 140#define BCM_6338_UBUS_BASE (0xdeadbeef)
247#define BCM_6338_ENET0_BASE (0xfffe2800) 141#define BCM_6338_ENET0_BASE (0xfffe2800)
248#define BCM_6338_ENET1_BASE (0xdeadbeef) 142#define BCM_6338_ENET1_BASE (0xdeadbeef)
249#define BCM_6338_ENETDMA_BASE (0xfffe2400) 143#define BCM_6338_ENETDMA_BASE (0xfffe2400)
250#define BCM_6338_ENETDMAC_BASE (0xfffe2500)
251#define BCM_6338_ENETDMAS_BASE (0xfffe2600)
252#define BCM_6338_ENETSW_BASE (0xdeadbeef)
253#define BCM_6338_EHCI0_BASE (0xdeadbeef) 144#define BCM_6338_EHCI0_BASE (0xdeadbeef)
254#define BCM_6338_SDRAM_BASE (0xfffe3100) 145#define BCM_6338_SDRAM_BASE (0xfffe3100)
255#define BCM_6338_MEMC_BASE (0xdeadbeef) 146#define BCM_6338_MEMC_BASE (0xdeadbeef)
256#define BCM_6338_DDR_BASE (0xdeadbeef) 147#define BCM_6338_DDR_BASE (0xdeadbeef)
257#define BCM_6338_M2M_BASE (0xdeadbeef)
258#define BCM_6338_ATM_BASE (0xfffe2000)
259#define BCM_6338_XTM_BASE (0xdeadbeef)
260#define BCM_6338_XTMDMA_BASE (0xdeadbeef)
261#define BCM_6338_XTMDMAC_BASE (0xdeadbeef)
262#define BCM_6338_XTMDMAS_BASE (0xdeadbeef)
263#define BCM_6338_PCM_BASE (0xdeadbeef)
264#define BCM_6338_PCMDMA_BASE (0xdeadbeef)
265#define BCM_6338_PCMDMAC_BASE (0xdeadbeef)
266#define BCM_6338_PCMDMAS_BASE (0xdeadbeef)
267#define BCM_6338_RNG_BASE (0xdeadbeef)
268#define BCM_6338_MISC_BASE (0xdeadbeef)
269 148
270/* 149/*
271 * 6345 register sets base address 150 * 6345 register sets base address
@@ -283,36 +162,20 @@ enum bcm63xx_regs_set {
283#define BCM_6345_USBDMA_BASE (0xfffe2800) 162#define BCM_6345_USBDMA_BASE (0xfffe2800)
284#define BCM_6345_ENET0_BASE (0xfffe1800) 163#define BCM_6345_ENET0_BASE (0xfffe1800)
285#define BCM_6345_ENETDMA_BASE (0xfffe2800) 164#define BCM_6345_ENETDMA_BASE (0xfffe2800)
286#define BCM_6345_ENETDMAC_BASE (0xfffe2900)
287#define BCM_6345_ENETDMAS_BASE (0xfffe2a00)
288#define BCM_6345_ENETSW_BASE (0xdeadbeef)
289#define BCM_6345_PCMCIA_BASE (0xfffe2028) 165#define BCM_6345_PCMCIA_BASE (0xfffe2028)
290#define BCM_6345_MPI_BASE (0xfffe2000) 166#define BCM_6345_MPI_BASE (0xdeadbeef)
291#define BCM_6345_PCIE_BASE (0xdeadbeef)
292#define BCM_6345_OHCI0_BASE (0xfffe2100) 167#define BCM_6345_OHCI0_BASE (0xfffe2100)
293#define BCM_6345_OHCI_PRIV_BASE (0xfffe2200) 168#define BCM_6345_OHCI_PRIV_BASE (0xfffe2200)
294#define BCM_6345_USBH_PRIV_BASE (0xdeadbeef) 169#define BCM_6345_USBH_PRIV_BASE (0xdeadbeef)
295#define BCM_6345_USBD_BASE (0xdeadbeef)
296#define BCM_6345_SDRAM_REGS_BASE (0xfffe2300) 170#define BCM_6345_SDRAM_REGS_BASE (0xfffe2300)
297#define BCM_6345_DSL_BASE (0xdeadbeef) 171#define BCM_6345_DSL_BASE (0xdeadbeef)
172#define BCM_6345_SAR_BASE (0xdeadbeef)
298#define BCM_6345_UBUS_BASE (0xdeadbeef) 173#define BCM_6345_UBUS_BASE (0xdeadbeef)
299#define BCM_6345_ENET1_BASE (0xdeadbeef) 174#define BCM_6345_ENET1_BASE (0xdeadbeef)
300#define BCM_6345_EHCI0_BASE (0xdeadbeef) 175#define BCM_6345_EHCI0_BASE (0xdeadbeef)
301#define BCM_6345_SDRAM_BASE (0xfffe2300) 176#define BCM_6345_SDRAM_BASE (0xfffe2300)
302#define BCM_6345_MEMC_BASE (0xdeadbeef) 177#define BCM_6345_MEMC_BASE (0xdeadbeef)
303#define BCM_6345_DDR_BASE (0xdeadbeef) 178#define BCM_6345_DDR_BASE (0xdeadbeef)
304#define BCM_6345_M2M_BASE (0xdeadbeef)
305#define BCM_6345_ATM_BASE (0xfffe4000)
306#define BCM_6345_XTM_BASE (0xdeadbeef)
307#define BCM_6345_XTMDMA_BASE (0xdeadbeef)
308#define BCM_6345_XTMDMAC_BASE (0xdeadbeef)
309#define BCM_6345_XTMDMAS_BASE (0xdeadbeef)
310#define BCM_6345_PCM_BASE (0xdeadbeef)
311#define BCM_6345_PCMDMA_BASE (0xdeadbeef)
312#define BCM_6345_PCMDMAC_BASE (0xdeadbeef)
313#define BCM_6345_PCMDMAS_BASE (0xdeadbeef)
314#define BCM_6345_RNG_BASE (0xdeadbeef)
315#define BCM_6345_MISC_BASE (0xdeadbeef)
316 179
317/* 180/*
318 * 6348 register sets base address 181 * 6348 register sets base address
@@ -326,38 +189,20 @@ enum bcm63xx_regs_set {
326#define BCM_6348_GPIO_BASE (0xfffe0400) 189#define BCM_6348_GPIO_BASE (0xfffe0400)
327#define BCM_6348_SPI_BASE (0xfffe0c00) 190#define BCM_6348_SPI_BASE (0xfffe0c00)
328#define BCM_6348_UDC0_BASE (0xfffe1000) 191#define BCM_6348_UDC0_BASE (0xfffe1000)
329#define BCM_6348_USBDMA_BASE (0xdeadbeef)
330#define BCM_6348_OHCI0_BASE (0xfffe1b00) 192#define BCM_6348_OHCI0_BASE (0xfffe1b00)
331#define BCM_6348_OHCI_PRIV_BASE (0xfffe1c00) 193#define BCM_6348_OHCI_PRIV_BASE (0xfffe1c00)
332#define BCM_6348_USBH_PRIV_BASE (0xdeadbeef) 194#define BCM_6348_USBH_PRIV_BASE (0xdeadbeef)
333#define BCM_6348_USBD_BASE (0xdeadbeef)
334#define BCM_6348_MPI_BASE (0xfffe2000) 195#define BCM_6348_MPI_BASE (0xfffe2000)
335#define BCM_6348_PCMCIA_BASE (0xfffe2054) 196#define BCM_6348_PCMCIA_BASE (0xfffe2054)
336#define BCM_6348_PCIE_BASE (0xdeadbeef)
337#define BCM_6348_SDRAM_REGS_BASE (0xfffe2300) 197#define BCM_6348_SDRAM_REGS_BASE (0xfffe2300)
338#define BCM_6348_M2M_BASE (0xfffe2800)
339#define BCM_6348_DSL_BASE (0xfffe3000) 198#define BCM_6348_DSL_BASE (0xfffe3000)
340#define BCM_6348_ENET0_BASE (0xfffe6000) 199#define BCM_6348_ENET0_BASE (0xfffe6000)
341#define BCM_6348_ENET1_BASE (0xfffe6800) 200#define BCM_6348_ENET1_BASE (0xfffe6800)
342#define BCM_6348_ENETDMA_BASE (0xfffe7000) 201#define BCM_6348_ENETDMA_BASE (0xfffe7000)
343#define BCM_6348_ENETDMAC_BASE (0xfffe7100)
344#define BCM_6348_ENETDMAS_BASE (0xfffe7200)
345#define BCM_6348_ENETSW_BASE (0xdeadbeef)
346#define BCM_6348_EHCI0_BASE (0xdeadbeef) 202#define BCM_6348_EHCI0_BASE (0xdeadbeef)
347#define BCM_6348_SDRAM_BASE (0xfffe2300) 203#define BCM_6348_SDRAM_BASE (0xfffe2300)
348#define BCM_6348_MEMC_BASE (0xdeadbeef) 204#define BCM_6348_MEMC_BASE (0xdeadbeef)
349#define BCM_6348_DDR_BASE (0xdeadbeef) 205#define BCM_6348_DDR_BASE (0xdeadbeef)
350#define BCM_6348_ATM_BASE (0xfffe4000)
351#define BCM_6348_XTM_BASE (0xdeadbeef)
352#define BCM_6348_XTMDMA_BASE (0xdeadbeef)
353#define BCM_6348_XTMDMAC_BASE (0xdeadbeef)
354#define BCM_6348_XTMDMAS_BASE (0xdeadbeef)
355#define BCM_6348_PCM_BASE (0xdeadbeef)
356#define BCM_6348_PCMDMA_BASE (0xdeadbeef)
357#define BCM_6348_PCMDMAC_BASE (0xdeadbeef)
358#define BCM_6348_PCMDMAS_BASE (0xdeadbeef)
359#define BCM_6348_RNG_BASE (0xdeadbeef)
360#define BCM_6348_MISC_BASE (0xdeadbeef)
361 206
362/* 207/*
363 * 6358 register sets base address 208 * 6358 register sets base address
@@ -369,203 +214,222 @@ enum bcm63xx_regs_set {
369#define BCM_6358_UART0_BASE (0xfffe0100) 214#define BCM_6358_UART0_BASE (0xfffe0100)
370#define BCM_6358_UART1_BASE (0xfffe0120) 215#define BCM_6358_UART1_BASE (0xfffe0120)
371#define BCM_6358_GPIO_BASE (0xfffe0080) 216#define BCM_6358_GPIO_BASE (0xfffe0080)
372#define BCM_6358_SPI_BASE (0xfffe0800) 217#define BCM_6358_SPI_BASE (0xdeadbeef)
373#define BCM_6358_UDC0_BASE (0xfffe0800) 218#define BCM_6358_UDC0_BASE (0xfffe0800)
374#define BCM_6358_USBDMA_BASE (0xdeadbeef)
375#define BCM_6358_OHCI0_BASE (0xfffe1400) 219#define BCM_6358_OHCI0_BASE (0xfffe1400)
376#define BCM_6358_OHCI_PRIV_BASE (0xdeadbeef) 220#define BCM_6358_OHCI_PRIV_BASE (0xdeadbeef)
377#define BCM_6358_USBH_PRIV_BASE (0xfffe1500) 221#define BCM_6358_USBH_PRIV_BASE (0xfffe1500)
378#define BCM_6358_USBD_BASE (0xdeadbeef)
379#define BCM_6358_MPI_BASE (0xfffe1000) 222#define BCM_6358_MPI_BASE (0xfffe1000)
380#define BCM_6358_PCMCIA_BASE (0xfffe1054) 223#define BCM_6358_PCMCIA_BASE (0xfffe1054)
381#define BCM_6358_PCIE_BASE (0xdeadbeef)
382#define BCM_6358_SDRAM_REGS_BASE (0xfffe2300) 224#define BCM_6358_SDRAM_REGS_BASE (0xfffe2300)
383#define BCM_6358_M2M_BASE (0xdeadbeef)
384#define BCM_6358_DSL_BASE (0xfffe3000) 225#define BCM_6358_DSL_BASE (0xfffe3000)
385#define BCM_6358_ENET0_BASE (0xfffe4000) 226#define BCM_6358_ENET0_BASE (0xfffe4000)
386#define BCM_6358_ENET1_BASE (0xfffe4800) 227#define BCM_6358_ENET1_BASE (0xfffe4800)
387#define BCM_6358_ENETDMA_BASE (0xfffe5000) 228#define BCM_6358_ENETDMA_BASE (0xfffe5000)
388#define BCM_6358_ENETDMAC_BASE (0xfffe5100)
389#define BCM_6358_ENETDMAS_BASE (0xfffe5200)
390#define BCM_6358_ENETSW_BASE (0xdeadbeef)
391#define BCM_6358_EHCI0_BASE (0xfffe1300) 229#define BCM_6358_EHCI0_BASE (0xfffe1300)
392#define BCM_6358_SDRAM_BASE (0xdeadbeef) 230#define BCM_6358_SDRAM_BASE (0xdeadbeef)
393#define BCM_6358_MEMC_BASE (0xfffe1200) 231#define BCM_6358_MEMC_BASE (0xfffe1200)
394#define BCM_6358_DDR_BASE (0xfffe12a0) 232#define BCM_6358_DDR_BASE (0xfffe12a0)
395#define BCM_6358_ATM_BASE (0xfffe2000)
396#define BCM_6358_XTM_BASE (0xdeadbeef)
397#define BCM_6358_XTMDMA_BASE (0xdeadbeef)
398#define BCM_6358_XTMDMAC_BASE (0xdeadbeef)
399#define BCM_6358_XTMDMAS_BASE (0xdeadbeef)
400#define BCM_6358_PCM_BASE (0xfffe1600)
401#define BCM_6358_PCMDMA_BASE (0xfffe1800)
402#define BCM_6358_PCMDMAC_BASE (0xfffe1900)
403#define BCM_6358_PCMDMAS_BASE (0xfffe1a00)
404#define BCM_6358_RNG_BASE (0xdeadbeef)
405#define BCM_6358_MISC_BASE (0xdeadbeef)
406
407
408/*
409 * 6368 register sets base address
410 */
411#define BCM_6368_DSL_LMEM_BASE (0xdeadbeef)
412#define BCM_6368_PERF_BASE (0xb0000000)
413#define BCM_6368_TIMER_BASE (0xb0000040)
414#define BCM_6368_WDT_BASE (0xb000005c)
415#define BCM_6368_UART0_BASE (0xb0000100)
416#define BCM_6368_UART1_BASE (0xb0000120)
417#define BCM_6368_GPIO_BASE (0xb0000080)
418#define BCM_6368_SPI_BASE (0xb0000800)
419#define BCM_6368_UDC0_BASE (0xdeadbeef)
420#define BCM_6368_USBDMA_BASE (0xb0004800)
421#define BCM_6368_OHCI0_BASE (0xb0001600)
422#define BCM_6368_OHCI_PRIV_BASE (0xdeadbeef)
423#define BCM_6368_USBH_PRIV_BASE (0xb0001700)
424#define BCM_6368_USBD_BASE (0xb0001400)
425#define BCM_6368_MPI_BASE (0xb0001000)
426#define BCM_6368_PCMCIA_BASE (0xb0001054)
427#define BCM_6368_PCIE_BASE (0xdeadbeef)
428#define BCM_6368_SDRAM_REGS_BASE (0xdeadbeef)
429#define BCM_6368_M2M_BASE (0xdeadbeef)
430#define BCM_6368_DSL_BASE (0xdeadbeef)
431#define BCM_6368_ENET0_BASE (0xdeadbeef)
432#define BCM_6368_ENET1_BASE (0xdeadbeef)
433#define BCM_6368_ENETDMA_BASE (0xb0006800)
434#define BCM_6368_ENETDMAC_BASE (0xb0006a00)
435#define BCM_6368_ENETDMAS_BASE (0xb0006c00)
436#define BCM_6368_ENETSW_BASE (0xb0f00000)
437#define BCM_6368_EHCI0_BASE (0xb0001500)
438#define BCM_6368_SDRAM_BASE (0xdeadbeef)
439#define BCM_6368_MEMC_BASE (0xb0001200)
440#define BCM_6368_DDR_BASE (0xb0001280)
441#define BCM_6368_ATM_BASE (0xdeadbeef)
442#define BCM_6368_XTM_BASE (0xb0001800)
443#define BCM_6368_XTMDMA_BASE (0xb0005000)
444#define BCM_6368_XTMDMAC_BASE (0xb0005200)
445#define BCM_6368_XTMDMAS_BASE (0xb0005400)
446#define BCM_6368_PCM_BASE (0xb0004000)
447#define BCM_6368_PCMDMA_BASE (0xb0005800)
448#define BCM_6368_PCMDMAC_BASE (0xb0005a00)
449#define BCM_6368_PCMDMAS_BASE (0xb0005c00)
450#define BCM_6368_RNG_BASE (0xb0004180)
451#define BCM_6368_MISC_BASE (0xdeadbeef)
452 233
453 234
454extern const unsigned long *bcm63xx_regs_base; 235extern const unsigned long *bcm63xx_regs_base;
455 236
456#define __GEN_RSET_BASE(__cpu, __rset) \
457 case RSET_## __rset : \
458 return BCM_## __cpu ##_## __rset ##_BASE;
459
460#define __GEN_RSET(__cpu) \
461 switch (set) { \
462 __GEN_RSET_BASE(__cpu, DSL_LMEM) \
463 __GEN_RSET_BASE(__cpu, PERF) \
464 __GEN_RSET_BASE(__cpu, TIMER) \
465 __GEN_RSET_BASE(__cpu, WDT) \
466 __GEN_RSET_BASE(__cpu, UART0) \
467 __GEN_RSET_BASE(__cpu, UART1) \
468 __GEN_RSET_BASE(__cpu, GPIO) \
469 __GEN_RSET_BASE(__cpu, SPI) \
470 __GEN_RSET_BASE(__cpu, UDC0) \
471 __GEN_RSET_BASE(__cpu, OHCI0) \
472 __GEN_RSET_BASE(__cpu, OHCI_PRIV) \
473 __GEN_RSET_BASE(__cpu, USBH_PRIV) \
474 __GEN_RSET_BASE(__cpu, USBD) \
475 __GEN_RSET_BASE(__cpu, USBDMA) \
476 __GEN_RSET_BASE(__cpu, MPI) \
477 __GEN_RSET_BASE(__cpu, PCMCIA) \
478 __GEN_RSET_BASE(__cpu, PCIE) \
479 __GEN_RSET_BASE(__cpu, DSL) \
480 __GEN_RSET_BASE(__cpu, ENET0) \
481 __GEN_RSET_BASE(__cpu, ENET1) \
482 __GEN_RSET_BASE(__cpu, ENETDMA) \
483 __GEN_RSET_BASE(__cpu, ENETDMAC) \
484 __GEN_RSET_BASE(__cpu, ENETDMAS) \
485 __GEN_RSET_BASE(__cpu, ENETSW) \
486 __GEN_RSET_BASE(__cpu, EHCI0) \
487 __GEN_RSET_BASE(__cpu, SDRAM) \
488 __GEN_RSET_BASE(__cpu, MEMC) \
489 __GEN_RSET_BASE(__cpu, DDR) \
490 __GEN_RSET_BASE(__cpu, M2M) \
491 __GEN_RSET_BASE(__cpu, ATM) \
492 __GEN_RSET_BASE(__cpu, XTM) \
493 __GEN_RSET_BASE(__cpu, XTMDMA) \
494 __GEN_RSET_BASE(__cpu, XTMDMAC) \
495 __GEN_RSET_BASE(__cpu, XTMDMAS) \
496 __GEN_RSET_BASE(__cpu, PCM) \
497 __GEN_RSET_BASE(__cpu, PCMDMA) \
498 __GEN_RSET_BASE(__cpu, PCMDMAC) \
499 __GEN_RSET_BASE(__cpu, PCMDMAS) \
500 __GEN_RSET_BASE(__cpu, RNG) \
501 __GEN_RSET_BASE(__cpu, MISC) \
502 }
503
504#define __GEN_CPU_REGS_TABLE(__cpu) \
505 [RSET_DSL_LMEM] = BCM_## __cpu ##_DSL_LMEM_BASE, \
506 [RSET_PERF] = BCM_## __cpu ##_PERF_BASE, \
507 [RSET_TIMER] = BCM_## __cpu ##_TIMER_BASE, \
508 [RSET_WDT] = BCM_## __cpu ##_WDT_BASE, \
509 [RSET_UART0] = BCM_## __cpu ##_UART0_BASE, \
510 [RSET_UART1] = BCM_## __cpu ##_UART1_BASE, \
511 [RSET_GPIO] = BCM_## __cpu ##_GPIO_BASE, \
512 [RSET_SPI] = BCM_## __cpu ##_SPI_BASE, \
513 [RSET_UDC0] = BCM_## __cpu ##_UDC0_BASE, \
514 [RSET_OHCI0] = BCM_## __cpu ##_OHCI0_BASE, \
515 [RSET_OHCI_PRIV] = BCM_## __cpu ##_OHCI_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, \
519 [RSET_MPI] = BCM_## __cpu ##_MPI_BASE, \
520 [RSET_PCMCIA] = BCM_## __cpu ##_PCMCIA_BASE, \
521 [RSET_PCIE] = BCM_## __cpu ##_PCIE_BASE, \
522 [RSET_DSL] = BCM_## __cpu ##_DSL_BASE, \
523 [RSET_ENET0] = BCM_## __cpu ##_ENET0_BASE, \
524 [RSET_ENET1] = BCM_## __cpu ##_ENET1_BASE, \
525 [RSET_ENETDMA] = BCM_## __cpu ##_ENETDMA_BASE, \
526 [RSET_ENETDMAC] = BCM_## __cpu ##_ENETDMAC_BASE, \
527 [RSET_ENETDMAS] = BCM_## __cpu ##_ENETDMAS_BASE, \
528 [RSET_ENETSW] = BCM_## __cpu ##_ENETSW_BASE, \
529 [RSET_EHCI0] = BCM_## __cpu ##_EHCI0_BASE, \
530 [RSET_SDRAM] = BCM_## __cpu ##_SDRAM_BASE, \
531 [RSET_MEMC] = BCM_## __cpu ##_MEMC_BASE, \
532 [RSET_DDR] = BCM_## __cpu ##_DDR_BASE, \
533 [RSET_M2M] = BCM_## __cpu ##_M2M_BASE, \
534 [RSET_ATM] = BCM_## __cpu ##_ATM_BASE, \
535 [RSET_XTM] = BCM_## __cpu ##_XTM_BASE, \
536 [RSET_XTMDMA] = BCM_## __cpu ##_XTMDMA_BASE, \
537 [RSET_XTMDMAC] = BCM_## __cpu ##_XTMDMAC_BASE, \
538 [RSET_XTMDMAS] = BCM_## __cpu ##_XTMDMAS_BASE, \
539 [RSET_PCM] = BCM_## __cpu ##_PCM_BASE, \
540 [RSET_PCMDMA] = BCM_## __cpu ##_PCMDMA_BASE, \
541 [RSET_PCMDMAC] = BCM_## __cpu ##_PCMDMAC_BASE, \
542 [RSET_PCMDMAS] = BCM_## __cpu ##_PCMDMAS_BASE, \
543 [RSET_RNG] = BCM_## __cpu ##_RNG_BASE, \
544 [RSET_MISC] = BCM_## __cpu ##_MISC_BASE, \
545
546
547static inline unsigned long bcm63xx_regset_address(enum bcm63xx_regs_set set) 237static inline unsigned long bcm63xx_regset_address(enum bcm63xx_regs_set set)
548{ 238{
549#ifdef BCMCPU_RUNTIME_DETECT 239#ifdef BCMCPU_RUNTIME_DETECT
550 return bcm63xx_regs_base[set]; 240 return bcm63xx_regs_base[set];
551#else 241#else
552#ifdef CONFIG_BCM63XX_CPU_6328
553 __GEN_RSET(6328)
554#endif
555#ifdef CONFIG_BCM63XX_CPU_6338 242#ifdef CONFIG_BCM63XX_CPU_6338
556 __GEN_RSET(6338) 243 switch (set) {
244 case RSET_DSL_LMEM:
245 return BCM_6338_DSL_LMEM_BASE;
246 case RSET_PERF:
247 return BCM_6338_PERF_BASE;
248 case RSET_TIMER:
249 return BCM_6338_TIMER_BASE;
250 case RSET_WDT:
251 return BCM_6338_WDT_BASE;
252 case RSET_UART0:
253 return BCM_6338_UART0_BASE;
254 case RSET_UART1:
255 return BCM_6338_UART1_BASE;
256 case RSET_GPIO:
257 return BCM_6338_GPIO_BASE;
258 case RSET_SPI:
259 return BCM_6338_SPI_BASE;
260 case RSET_UDC0:
261 return BCM_6338_UDC0_BASE;
262 case RSET_OHCI0:
263 return BCM_6338_OHCI0_BASE;
264 case RSET_OHCI_PRIV:
265 return BCM_6338_OHCI_PRIV_BASE;
266 case RSET_USBH_PRIV:
267 return BCM_6338_USBH_PRIV_BASE;
268 case RSET_MPI:
269 return BCM_6338_MPI_BASE;
270 case RSET_PCMCIA:
271 return BCM_6338_PCMCIA_BASE;
272 case RSET_DSL:
273 return BCM_6338_DSL_BASE;
274 case RSET_ENET0:
275 return BCM_6338_ENET0_BASE;
276 case RSET_ENET1:
277 return BCM_6338_ENET1_BASE;
278 case RSET_ENETDMA:
279 return BCM_6338_ENETDMA_BASE;
280 case RSET_EHCI0:
281 return BCM_6338_EHCI0_BASE;
282 case RSET_SDRAM:
283 return BCM_6338_SDRAM_BASE;
284 case RSET_MEMC:
285 return BCM_6338_MEMC_BASE;
286 case RSET_DDR:
287 return BCM_6338_DDR_BASE;
288 }
557#endif 289#endif
558#ifdef CONFIG_BCM63XX_CPU_6345 290#ifdef CONFIG_BCM63XX_CPU_6345
559 __GEN_RSET(6345) 291 switch (set) {
292 case RSET_DSL_LMEM:
293 return BCM_6345_DSL_LMEM_BASE;
294 case RSET_PERF:
295 return BCM_6345_PERF_BASE;
296 case RSET_TIMER:
297 return BCM_6345_TIMER_BASE;
298 case RSET_WDT:
299 return BCM_6345_WDT_BASE;
300 case RSET_UART0:
301 return BCM_6345_UART0_BASE;
302 case RSET_UART1:
303 return BCM_6345_UART1_BASE;
304 case RSET_GPIO:
305 return BCM_6345_GPIO_BASE;
306 case RSET_SPI:
307 return BCM_6345_SPI_BASE;
308 case RSET_UDC0:
309 return BCM_6345_UDC0_BASE;
310 case RSET_OHCI0:
311 return BCM_6345_OHCI0_BASE;
312 case RSET_OHCI_PRIV:
313 return BCM_6345_OHCI_PRIV_BASE;
314 case RSET_USBH_PRIV:
315 return BCM_6345_USBH_PRIV_BASE;
316 case RSET_MPI:
317 return BCM_6345_MPI_BASE;
318 case RSET_PCMCIA:
319 return BCM_6345_PCMCIA_BASE;
320 case RSET_DSL:
321 return BCM_6345_DSL_BASE;
322 case RSET_ENET0:
323 return BCM_6345_ENET0_BASE;
324 case RSET_ENET1:
325 return BCM_6345_ENET1_BASE;
326 case RSET_ENETDMA:
327 return BCM_6345_ENETDMA_BASE;
328 case RSET_EHCI0:
329 return BCM_6345_EHCI0_BASE;
330 case RSET_SDRAM:
331 return BCM_6345_SDRAM_BASE;
332 case RSET_MEMC:
333 return BCM_6345_MEMC_BASE;
334 case RSET_DDR:
335 return BCM_6345_DDR_BASE;
336 }
560#endif 337#endif
561#ifdef CONFIG_BCM63XX_CPU_6348 338#ifdef CONFIG_BCM63XX_CPU_6348
562 __GEN_RSET(6348) 339 switch (set) {
340 case RSET_DSL_LMEM:
341 return BCM_6348_DSL_LMEM_BASE;
342 case RSET_PERF:
343 return BCM_6348_PERF_BASE;
344 case RSET_TIMER:
345 return BCM_6348_TIMER_BASE;
346 case RSET_WDT:
347 return BCM_6348_WDT_BASE;
348 case RSET_UART0:
349 return BCM_6348_UART0_BASE;
350 case RSET_UART1:
351 return BCM_6348_UART1_BASE;
352 case RSET_GPIO:
353 return BCM_6348_GPIO_BASE;
354 case RSET_SPI:
355 return BCM_6348_SPI_BASE;
356 case RSET_UDC0:
357 return BCM_6348_UDC0_BASE;
358 case RSET_OHCI0:
359 return BCM_6348_OHCI0_BASE;
360 case RSET_OHCI_PRIV:
361 return BCM_6348_OHCI_PRIV_BASE;
362 case RSET_USBH_PRIV:
363 return BCM_6348_USBH_PRIV_BASE;
364 case RSET_MPI:
365 return BCM_6348_MPI_BASE;
366 case RSET_PCMCIA:
367 return BCM_6348_PCMCIA_BASE;
368 case RSET_DSL:
369 return BCM_6348_DSL_BASE;
370 case RSET_ENET0:
371 return BCM_6348_ENET0_BASE;
372 case RSET_ENET1:
373 return BCM_6348_ENET1_BASE;
374 case RSET_ENETDMA:
375 return BCM_6348_ENETDMA_BASE;
376 case RSET_EHCI0:
377 return BCM_6348_EHCI0_BASE;
378 case RSET_SDRAM:
379 return BCM_6348_SDRAM_BASE;
380 case RSET_MEMC:
381 return BCM_6348_MEMC_BASE;
382 case RSET_DDR:
383 return BCM_6348_DDR_BASE;
384 }
563#endif 385#endif
564#ifdef CONFIG_BCM63XX_CPU_6358 386#ifdef CONFIG_BCM63XX_CPU_6358
565 __GEN_RSET(6358) 387 switch (set) {
566#endif 388 case RSET_DSL_LMEM:
567#ifdef CONFIG_BCM63XX_CPU_6368 389 return BCM_6358_DSL_LMEM_BASE;
568 __GEN_RSET(6368) 390 case RSET_PERF:
391 return BCM_6358_PERF_BASE;
392 case RSET_TIMER:
393 return BCM_6358_TIMER_BASE;
394 case RSET_WDT:
395 return BCM_6358_WDT_BASE;
396 case RSET_UART0:
397 return BCM_6358_UART0_BASE;
398 case RSET_UART1:
399 return BCM_6358_UART1_BASE;
400 case RSET_GPIO:
401 return BCM_6358_GPIO_BASE;
402 case RSET_SPI:
403 return BCM_6358_SPI_BASE;
404 case RSET_UDC0:
405 return BCM_6358_UDC0_BASE;
406 case RSET_OHCI0:
407 return BCM_6358_OHCI0_BASE;
408 case RSET_OHCI_PRIV:
409 return BCM_6358_OHCI_PRIV_BASE;
410 case RSET_USBH_PRIV:
411 return BCM_6358_USBH_PRIV_BASE;
412 case RSET_MPI:
413 return BCM_6358_MPI_BASE;
414 case RSET_PCMCIA:
415 return BCM_6358_PCMCIA_BASE;
416 case RSET_ENET0:
417 return BCM_6358_ENET0_BASE;
418 case RSET_ENET1:
419 return BCM_6358_ENET1_BASE;
420 case RSET_ENETDMA:
421 return BCM_6358_ENETDMA_BASE;
422 case RSET_DSL:
423 return BCM_6358_DSL_BASE;
424 case RSET_EHCI0:
425 return BCM_6358_EHCI0_BASE;
426 case RSET_SDRAM:
427 return BCM_6358_SDRAM_BASE;
428 case RSET_MEMC:
429 return BCM_6358_MEMC_BASE;
430 case RSET_DDR:
431 return BCM_6358_DDR_BASE;
432 }
569#endif 433#endif
570#endif 434#endif
571 /* unreached */ 435 /* unreached */
@@ -577,7 +441,6 @@ static inline unsigned long bcm63xx_regset_address(enum bcm63xx_regs_set set)
577 */ 441 */
578enum bcm63xx_irq { 442enum bcm63xx_irq {
579 IRQ_TIMER = 0, 443 IRQ_TIMER = 0,
580 IRQ_SPI,
581 IRQ_UART0, 444 IRQ_UART0,
582 IRQ_UART1, 445 IRQ_UART1,
583 IRQ_DSL, 446 IRQ_DSL,
@@ -586,326 +449,97 @@ enum bcm63xx_irq {
586 IRQ_ENET_PHY, 449 IRQ_ENET_PHY,
587 IRQ_OHCI0, 450 IRQ_OHCI0,
588 IRQ_EHCI0, 451 IRQ_EHCI0,
589 IRQ_USBD, 452 IRQ_PCMCIA0,
590 IRQ_USBD_RXDMA0,
591 IRQ_USBD_TXDMA0,
592 IRQ_USBD_RXDMA1,
593 IRQ_USBD_TXDMA1,
594 IRQ_USBD_RXDMA2,
595 IRQ_USBD_TXDMA2,
596 IRQ_ENET0_RXDMA, 453 IRQ_ENET0_RXDMA,
597 IRQ_ENET0_TXDMA, 454 IRQ_ENET0_TXDMA,
598 IRQ_ENET1_RXDMA, 455 IRQ_ENET1_RXDMA,
599 IRQ_ENET1_TXDMA, 456 IRQ_ENET1_TXDMA,
600 IRQ_PCI, 457 IRQ_PCI,
601 IRQ_PCMCIA, 458 IRQ_PCMCIA,
602 IRQ_ATM,
603 IRQ_ENETSW_RXDMA0,
604 IRQ_ENETSW_RXDMA1,
605 IRQ_ENETSW_RXDMA2,
606 IRQ_ENETSW_RXDMA3,
607 IRQ_ENETSW_TXDMA0,
608 IRQ_ENETSW_TXDMA1,
609 IRQ_ENETSW_TXDMA2,
610 IRQ_ENETSW_TXDMA3,
611 IRQ_XTM,
612 IRQ_XTM_DMA0,
613}; 459};
614 460
615/* 461/*
616 * 6328 irqs
617 */
618#define BCM_6328_HIGH_IRQ_BASE (IRQ_INTERNAL_BASE + 32)
619
620#define BCM_6328_TIMER_IRQ (IRQ_INTERNAL_BASE + 31)
621#define BCM_6328_SPI_IRQ 0
622#define BCM_6328_UART0_IRQ (IRQ_INTERNAL_BASE + 28)
623#define BCM_6328_UART1_IRQ (BCM_6328_HIGH_IRQ_BASE + 7)
624#define BCM_6328_DSL_IRQ (IRQ_INTERNAL_BASE + 4)
625#define BCM_6328_UDC0_IRQ 0
626#define BCM_6328_ENET0_IRQ 0
627#define BCM_6328_ENET1_IRQ 0
628#define BCM_6328_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12)
629#define BCM_6328_OHCI0_IRQ (BCM_6328_HIGH_IRQ_BASE + 9)
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)
638#define BCM_6328_PCMCIA_IRQ 0
639#define BCM_6328_ENET0_RXDMA_IRQ 0
640#define BCM_6328_ENET0_TXDMA_IRQ 0
641#define BCM_6328_ENET1_RXDMA_IRQ 0
642#define BCM_6328_ENET1_TXDMA_IRQ 0
643#define BCM_6328_PCI_IRQ (IRQ_INTERNAL_BASE + 23)
644#define BCM_6328_ATM_IRQ 0
645#define BCM_6328_ENETSW_RXDMA0_IRQ (BCM_6328_HIGH_IRQ_BASE + 0)
646#define BCM_6328_ENETSW_RXDMA1_IRQ (BCM_6328_HIGH_IRQ_BASE + 1)
647#define BCM_6328_ENETSW_RXDMA2_IRQ (BCM_6328_HIGH_IRQ_BASE + 2)
648#define BCM_6328_ENETSW_RXDMA3_IRQ (BCM_6328_HIGH_IRQ_BASE + 3)
649#define BCM_6328_ENETSW_TXDMA0_IRQ 0
650#define BCM_6328_ENETSW_TXDMA1_IRQ 0
651#define BCM_6328_ENETSW_TXDMA2_IRQ 0
652#define BCM_6328_ENETSW_TXDMA3_IRQ 0
653#define BCM_6328_XTM_IRQ (BCM_6328_HIGH_IRQ_BASE + 31)
654#define BCM_6328_XTM_DMA0_IRQ (BCM_6328_HIGH_IRQ_BASE + 11)
655
656#define BCM_6328_PCM_DMA0_IRQ (IRQ_INTERNAL_BASE + 2)
657#define BCM_6328_PCM_DMA1_IRQ (IRQ_INTERNAL_BASE + 3)
658#define BCM_6328_EXT_IRQ0 (IRQ_INTERNAL_BASE + 24)
659#define BCM_6328_EXT_IRQ1 (IRQ_INTERNAL_BASE + 25)
660#define BCM_6328_EXT_IRQ2 (IRQ_INTERNAL_BASE + 26)
661#define BCM_6328_EXT_IRQ3 (IRQ_INTERNAL_BASE + 27)
662
663/*
664 * 6338 irqs 462 * 6338 irqs
665 */ 463 */
666#define BCM_6338_TIMER_IRQ (IRQ_INTERNAL_BASE + 0) 464#define BCM_6338_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
667#define BCM_6338_SPI_IRQ (IRQ_INTERNAL_BASE + 1) 465#define BCM_6338_SPI_IRQ (IRQ_INTERNAL_BASE + 1)
668#define BCM_6338_UART0_IRQ (IRQ_INTERNAL_BASE + 2) 466#define BCM_6338_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
669#define BCM_6338_UART1_IRQ 0 467#define BCM_6338_DG_IRQ (IRQ_INTERNAL_BASE + 4)
670#define BCM_6338_DSL_IRQ (IRQ_INTERNAL_BASE + 5) 468#define BCM_6338_DSL_IRQ (IRQ_INTERNAL_BASE + 5)
469#define BCM_6338_ATM_IRQ (IRQ_INTERNAL_BASE + 6)
470#define BCM_6338_UDC0_IRQ (IRQ_INTERNAL_BASE + 7)
671#define BCM_6338_ENET0_IRQ (IRQ_INTERNAL_BASE + 8) 471#define BCM_6338_ENET0_IRQ (IRQ_INTERNAL_BASE + 8)
672#define BCM_6338_ENET1_IRQ 0
673#define BCM_6338_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9) 472#define BCM_6338_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9)
674#define BCM_6338_OHCI0_IRQ 0 473#define BCM_6338_SDRAM_IRQ (IRQ_INTERNAL_BASE + 10)
675#define BCM_6338_EHCI0_IRQ 0 474#define BCM_6338_USB_CNTL_RX_DMA_IRQ (IRQ_INTERNAL_BASE + 11)
676#define BCM_6338_USBD_IRQ 0 475#define BCM_6338_USB_CNTL_TX_DMA_IRQ (IRQ_INTERNAL_BASE + 12)
677#define BCM_6338_USBD_RXDMA0_IRQ 0 476#define BCM_6338_USB_BULK_RX_DMA_IRQ (IRQ_INTERNAL_BASE + 13)
678#define BCM_6338_USBD_TXDMA0_IRQ 0 477#define BCM_6338_USB_BULK_TX_DMA_IRQ (IRQ_INTERNAL_BASE + 14)
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
683#define BCM_6338_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 15) 478#define BCM_6338_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 15)
684#define BCM_6338_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 16) 479#define BCM_6338_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 16)
685#define BCM_6338_ENET1_RXDMA_IRQ 0 480#define BCM_6338_SDIO_IRQ (IRQ_INTERNAL_BASE + 17)
686#define BCM_6338_ENET1_TXDMA_IRQ 0
687#define BCM_6338_PCI_IRQ 0
688#define BCM_6338_PCMCIA_IRQ 0
689#define BCM_6338_ATM_IRQ 0
690#define BCM_6338_ENETSW_RXDMA0_IRQ 0
691#define BCM_6338_ENETSW_RXDMA1_IRQ 0
692#define BCM_6338_ENETSW_RXDMA2_IRQ 0
693#define BCM_6338_ENETSW_RXDMA3_IRQ 0
694#define BCM_6338_ENETSW_TXDMA0_IRQ 0
695#define BCM_6338_ENETSW_TXDMA1_IRQ 0
696#define BCM_6338_ENETSW_TXDMA2_IRQ 0
697#define BCM_6338_ENETSW_TXDMA3_IRQ 0
698#define BCM_6338_XTM_IRQ 0
699#define BCM_6338_XTM_DMA0_IRQ 0
700 481
701/* 482/*
702 * 6345 irqs 483 * 6345 irqs
703 */ 484 */
704#define BCM_6345_TIMER_IRQ (IRQ_INTERNAL_BASE + 0) 485#define BCM_6345_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
705#define BCM_6345_SPI_IRQ 0
706#define BCM_6345_UART0_IRQ (IRQ_INTERNAL_BASE + 2) 486#define BCM_6345_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
707#define BCM_6345_UART1_IRQ 0
708#define BCM_6345_DSL_IRQ (IRQ_INTERNAL_BASE + 3) 487#define BCM_6345_DSL_IRQ (IRQ_INTERNAL_BASE + 3)
488#define BCM_6345_ATM_IRQ (IRQ_INTERNAL_BASE + 4)
489#define BCM_6345_USB_IRQ (IRQ_INTERNAL_BASE + 5)
709#define BCM_6345_ENET0_IRQ (IRQ_INTERNAL_BASE + 8) 490#define BCM_6345_ENET0_IRQ (IRQ_INTERNAL_BASE + 8)
710#define BCM_6345_ENET1_IRQ 0
711#define BCM_6345_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12) 491#define BCM_6345_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12)
712#define BCM_6345_OHCI0_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
721#define BCM_6345_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 1) 492#define BCM_6345_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 1)
722#define BCM_6345_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 2) 493#define BCM_6345_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 2)
723#define BCM_6345_ENET1_RXDMA_IRQ 0 494#define BCM_6345_EBI_RX_IRQ (IRQ_INTERNAL_BASE + 13 + 5)
724#define BCM_6345_ENET1_TXDMA_IRQ 0 495#define BCM_6345_EBI_TX_IRQ (IRQ_INTERNAL_BASE + 13 + 6)
725#define BCM_6345_PCI_IRQ 0 496#define BCM_6345_RESERVED_RX_IRQ (IRQ_INTERNAL_BASE + 13 + 9)
726#define BCM_6345_PCMCIA_IRQ 0 497#define BCM_6345_RESERVED_TX_IRQ (IRQ_INTERNAL_BASE + 13 + 10)
727#define BCM_6345_ATM_IRQ 0 498#define BCM_6345_USB_BULK_RX_DMA_IRQ (IRQ_INTERNAL_BASE + 13 + 13)
728#define BCM_6345_ENETSW_RXDMA0_IRQ 0 499#define BCM_6345_USB_BULK_TX_DMA_IRQ (IRQ_INTERNAL_BASE + 13 + 14)
729#define BCM_6345_ENETSW_RXDMA1_IRQ 0 500#define BCM_6345_USB_CNTL_RX_DMA_IRQ (IRQ_INTERNAL_BASE + 13 + 15)
730#define BCM_6345_ENETSW_RXDMA2_IRQ 0 501#define BCM_6345_USB_CNTL_TX_DMA_IRQ (IRQ_INTERNAL_BASE + 13 + 16)
731#define BCM_6345_ENETSW_RXDMA3_IRQ 0 502#define BCM_6345_USB_ISO_RX_DMA_IRQ (IRQ_INTERNAL_BASE + 13 + 17)
732#define BCM_6345_ENETSW_TXDMA0_IRQ 0 503#define BCM_6345_USB_ISO_TX_DMA_IRQ (IRQ_INTERNAL_BASE + 13 + 18)
733#define BCM_6345_ENETSW_TXDMA1_IRQ 0
734#define BCM_6345_ENETSW_TXDMA2_IRQ 0
735#define BCM_6345_ENETSW_TXDMA3_IRQ 0
736#define BCM_6345_XTM_IRQ 0
737#define BCM_6345_XTM_DMA0_IRQ 0
738 504
739/* 505/*
740 * 6348 irqs 506 * 6348 irqs
741 */ 507 */
742#define BCM_6348_TIMER_IRQ (IRQ_INTERNAL_BASE + 0) 508#define BCM_6348_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
743#define BCM_6348_SPI_IRQ (IRQ_INTERNAL_BASE + 1)
744#define BCM_6348_UART0_IRQ (IRQ_INTERNAL_BASE + 2) 509#define BCM_6348_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
745#define BCM_6348_UART1_IRQ 0
746#define BCM_6348_DSL_IRQ (IRQ_INTERNAL_BASE + 4) 510#define BCM_6348_DSL_IRQ (IRQ_INTERNAL_BASE + 4)
747#define BCM_6348_ENET0_IRQ (IRQ_INTERNAL_BASE + 8)
748#define BCM_6348_ENET1_IRQ (IRQ_INTERNAL_BASE + 7) 511#define BCM_6348_ENET1_IRQ (IRQ_INTERNAL_BASE + 7)
512#define BCM_6348_ENET0_IRQ (IRQ_INTERNAL_BASE + 8)
749#define BCM_6348_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9) 513#define BCM_6348_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9)
750#define BCM_6348_OHCI0_IRQ (IRQ_INTERNAL_BASE + 12) 514#define BCM_6348_OHCI0_IRQ (IRQ_INTERNAL_BASE + 12)
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
759#define BCM_6348_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 20) 515#define BCM_6348_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 20)
760#define BCM_6348_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 21) 516#define BCM_6348_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 21)
761#define BCM_6348_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 22) 517#define BCM_6348_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 22)
762#define BCM_6348_ENET1_TXDMA_IRQ (IRQ_INTERNAL_BASE + 23) 518#define BCM_6348_ENET1_TXDMA_IRQ (IRQ_INTERNAL_BASE + 23)
763#define BCM_6348_PCI_IRQ (IRQ_INTERNAL_BASE + 24)
764#define BCM_6348_PCMCIA_IRQ (IRQ_INTERNAL_BASE + 24) 519#define BCM_6348_PCMCIA_IRQ (IRQ_INTERNAL_BASE + 24)
765#define BCM_6348_ATM_IRQ (IRQ_INTERNAL_BASE + 5) 520#define BCM_6348_PCI_IRQ (IRQ_INTERNAL_BASE + 24)
766#define BCM_6348_ENETSW_RXDMA0_IRQ 0
767#define BCM_6348_ENETSW_RXDMA1_IRQ 0
768#define BCM_6348_ENETSW_RXDMA2_IRQ 0
769#define BCM_6348_ENETSW_RXDMA3_IRQ 0
770#define BCM_6348_ENETSW_TXDMA0_IRQ 0
771#define BCM_6348_ENETSW_TXDMA1_IRQ 0
772#define BCM_6348_ENETSW_TXDMA2_IRQ 0
773#define BCM_6348_ENETSW_TXDMA3_IRQ 0
774#define BCM_6348_XTM_IRQ 0
775#define BCM_6348_XTM_DMA0_IRQ 0
776 521
777/* 522/*
778 * 6358 irqs 523 * 6358 irqs
779 */ 524 */
780#define BCM_6358_TIMER_IRQ (IRQ_INTERNAL_BASE + 0) 525#define BCM_6358_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
781#define BCM_6358_SPI_IRQ (IRQ_INTERNAL_BASE + 1)
782#define BCM_6358_UART0_IRQ (IRQ_INTERNAL_BASE + 2) 526#define BCM_6358_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
783#define BCM_6358_UART1_IRQ (IRQ_INTERNAL_BASE + 3) 527#define BCM_6358_UART1_IRQ (IRQ_INTERNAL_BASE + 3)
784#define BCM_6358_DSL_IRQ (IRQ_INTERNAL_BASE + 29) 528#define BCM_6358_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5)
785#define BCM_6358_ENET0_IRQ (IRQ_INTERNAL_BASE + 8)
786#define BCM_6358_ENET1_IRQ (IRQ_INTERNAL_BASE + 6) 529#define BCM_6358_ENET1_IRQ (IRQ_INTERNAL_BASE + 6)
530#define BCM_6358_ENET0_IRQ (IRQ_INTERNAL_BASE + 8)
787#define BCM_6358_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9) 531#define BCM_6358_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 9)
788#define BCM_6358_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5)
789#define BCM_6358_EHCI0_IRQ (IRQ_INTERNAL_BASE + 10) 532#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
797#define BCM_6358_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 15) 533#define BCM_6358_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 15)
798#define BCM_6358_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 16) 534#define BCM_6358_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 16)
799#define BCM_6358_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 17) 535#define BCM_6358_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 17)
800#define BCM_6358_ENET1_TXDMA_IRQ (IRQ_INTERNAL_BASE + 18) 536#define BCM_6358_ENET1_TXDMA_IRQ (IRQ_INTERNAL_BASE + 18)
537#define BCM_6358_DSL_IRQ (IRQ_INTERNAL_BASE + 29)
801#define BCM_6358_PCI_IRQ (IRQ_INTERNAL_BASE + 31) 538#define BCM_6358_PCI_IRQ (IRQ_INTERNAL_BASE + 31)
802#define BCM_6358_PCMCIA_IRQ (IRQ_INTERNAL_BASE + 24) 539#define BCM_6358_PCMCIA_IRQ (IRQ_INTERNAL_BASE + 24)
803#define BCM_6358_ATM_IRQ (IRQ_INTERNAL_BASE + 19)
804#define BCM_6358_ENETSW_RXDMA0_IRQ 0
805#define BCM_6358_ENETSW_RXDMA1_IRQ 0
806#define BCM_6358_ENETSW_RXDMA2_IRQ 0
807#define BCM_6358_ENETSW_RXDMA3_IRQ 0
808#define BCM_6358_ENETSW_TXDMA0_IRQ 0
809#define BCM_6358_ENETSW_TXDMA1_IRQ 0
810#define BCM_6358_ENETSW_TXDMA2_IRQ 0
811#define BCM_6358_ENETSW_TXDMA3_IRQ 0
812#define BCM_6358_XTM_IRQ 0
813#define BCM_6358_XTM_DMA0_IRQ 0
814
815#define BCM_6358_PCM_DMA0_IRQ (IRQ_INTERNAL_BASE + 23)
816#define BCM_6358_PCM_DMA1_IRQ (IRQ_INTERNAL_BASE + 24)
817#define BCM_6358_EXT_IRQ0 (IRQ_INTERNAL_BASE + 25)
818#define BCM_6358_EXT_IRQ1 (IRQ_INTERNAL_BASE + 26)
819#define BCM_6358_EXT_IRQ2 (IRQ_INTERNAL_BASE + 27)
820#define BCM_6358_EXT_IRQ3 (IRQ_INTERNAL_BASE + 28)
821
822/*
823 * 6368 irqs
824 */
825#define BCM_6368_HIGH_IRQ_BASE (IRQ_INTERNAL_BASE + 32)
826
827#define BCM_6368_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
828#define BCM_6368_SPI_IRQ (IRQ_INTERNAL_BASE + 1)
829#define BCM_6368_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
830#define BCM_6368_UART1_IRQ (IRQ_INTERNAL_BASE + 3)
831#define BCM_6368_DSL_IRQ (IRQ_INTERNAL_BASE + 4)
832#define BCM_6368_ENET0_IRQ 0
833#define BCM_6368_ENET1_IRQ 0
834#define BCM_6368_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 15)
835#define BCM_6368_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5)
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)
844#define BCM_6368_PCMCIA_IRQ 0
845#define BCM_6368_ENET0_RXDMA_IRQ 0
846#define BCM_6368_ENET0_TXDMA_IRQ 0
847#define BCM_6368_ENET1_RXDMA_IRQ 0
848#define BCM_6368_ENET1_TXDMA_IRQ 0
849#define BCM_6368_PCI_IRQ (IRQ_INTERNAL_BASE + 13)
850#define BCM_6368_ATM_IRQ 0
851#define BCM_6368_ENETSW_RXDMA0_IRQ (BCM_6368_HIGH_IRQ_BASE + 0)
852#define BCM_6368_ENETSW_RXDMA1_IRQ (BCM_6368_HIGH_IRQ_BASE + 1)
853#define BCM_6368_ENETSW_RXDMA2_IRQ (BCM_6368_HIGH_IRQ_BASE + 2)
854#define BCM_6368_ENETSW_RXDMA3_IRQ (BCM_6368_HIGH_IRQ_BASE + 3)
855#define BCM_6368_ENETSW_TXDMA0_IRQ (BCM_6368_HIGH_IRQ_BASE + 4)
856#define BCM_6368_ENETSW_TXDMA1_IRQ (BCM_6368_HIGH_IRQ_BASE + 5)
857#define BCM_6368_ENETSW_TXDMA2_IRQ (BCM_6368_HIGH_IRQ_BASE + 6)
858#define BCM_6368_ENETSW_TXDMA3_IRQ (BCM_6368_HIGH_IRQ_BASE + 7)
859#define BCM_6368_XTM_IRQ (IRQ_INTERNAL_BASE + 11)
860#define BCM_6368_XTM_DMA0_IRQ (BCM_6368_HIGH_IRQ_BASE + 8)
861
862#define BCM_6368_PCM_DMA0_IRQ (BCM_6368_HIGH_IRQ_BASE + 30)
863#define BCM_6368_PCM_DMA1_IRQ (BCM_6368_HIGH_IRQ_BASE + 31)
864#define BCM_6368_EXT_IRQ0 (IRQ_INTERNAL_BASE + 20)
865#define BCM_6368_EXT_IRQ1 (IRQ_INTERNAL_BASE + 21)
866#define BCM_6368_EXT_IRQ2 (IRQ_INTERNAL_BASE + 22)
867#define BCM_6368_EXT_IRQ3 (IRQ_INTERNAL_BASE + 23)
868#define BCM_6368_EXT_IRQ4 (IRQ_INTERNAL_BASE + 24)
869#define BCM_6368_EXT_IRQ5 (IRQ_INTERNAL_BASE + 25)
870 540
871extern const int *bcm63xx_irqs; 541extern const int *bcm63xx_irqs;
872 542
873#define __GEN_CPU_IRQ_TABLE(__cpu) \
874 [IRQ_TIMER] = BCM_## __cpu ##_TIMER_IRQ, \
875 [IRQ_SPI] = BCM_## __cpu ##_SPI_IRQ, \
876 [IRQ_UART0] = BCM_## __cpu ##_UART0_IRQ, \
877 [IRQ_UART1] = BCM_## __cpu ##_UART1_IRQ, \
878 [IRQ_DSL] = BCM_## __cpu ##_DSL_IRQ, \
879 [IRQ_ENET0] = BCM_## __cpu ##_ENET0_IRQ, \
880 [IRQ_ENET1] = BCM_## __cpu ##_ENET1_IRQ, \
881 [IRQ_ENET_PHY] = BCM_## __cpu ##_ENET_PHY_IRQ, \
882 [IRQ_OHCI0] = BCM_## __cpu ##_OHCI0_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, \
891 [IRQ_ENET0_RXDMA] = BCM_## __cpu ##_ENET0_RXDMA_IRQ, \
892 [IRQ_ENET0_TXDMA] = BCM_## __cpu ##_ENET0_TXDMA_IRQ, \
893 [IRQ_ENET1_RXDMA] = BCM_## __cpu ##_ENET1_RXDMA_IRQ, \
894 [IRQ_ENET1_TXDMA] = BCM_## __cpu ##_ENET1_TXDMA_IRQ, \
895 [IRQ_PCI] = BCM_## __cpu ##_PCI_IRQ, \
896 [IRQ_PCMCIA] = BCM_## __cpu ##_PCMCIA_IRQ, \
897 [IRQ_ATM] = BCM_## __cpu ##_ATM_IRQ, \
898 [IRQ_ENETSW_RXDMA0] = BCM_## __cpu ##_ENETSW_RXDMA0_IRQ, \
899 [IRQ_ENETSW_RXDMA1] = BCM_## __cpu ##_ENETSW_RXDMA1_IRQ, \
900 [IRQ_ENETSW_RXDMA2] = BCM_## __cpu ##_ENETSW_RXDMA2_IRQ, \
901 [IRQ_ENETSW_RXDMA3] = BCM_## __cpu ##_ENETSW_RXDMA3_IRQ, \
902 [IRQ_ENETSW_TXDMA0] = BCM_## __cpu ##_ENETSW_TXDMA0_IRQ, \
903 [IRQ_ENETSW_TXDMA1] = BCM_## __cpu ##_ENETSW_TXDMA1_IRQ, \
904 [IRQ_ENETSW_TXDMA2] = BCM_## __cpu ##_ENETSW_TXDMA2_IRQ, \
905 [IRQ_ENETSW_TXDMA3] = BCM_## __cpu ##_ENETSW_TXDMA3_IRQ, \
906 [IRQ_XTM] = BCM_## __cpu ##_XTM_IRQ, \
907 [IRQ_XTM_DMA0] = BCM_## __cpu ##_XTM_DMA0_IRQ, \
908
909static inline int bcm63xx_get_irq_number(enum bcm63xx_irq irq) 543static inline int bcm63xx_get_irq_number(enum bcm63xx_irq irq)
910{ 544{
911 return bcm63xx_irqs[irq]; 545 return bcm63xx_irqs[irq];
@@ -916,8 +550,4 @@ static inline int bcm63xx_get_irq_number(enum bcm63xx_irq irq)
916 */ 550 */
917unsigned int bcm63xx_get_memory_size(void); 551unsigned int bcm63xx_get_memory_size(void);
918 552
919void bcm63xx_machine_halt(void);
920
921void bcm63xx_machine_reboot(void);
922
923#endif /* !BCM63XX_CPU_H_ */ 553#endif /* !BCM63XX_CPU_H_ */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_flash.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_flash.h
deleted file mode 100644
index 354b8481ec4..00000000000
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_flash.h
+++ /dev/null
@@ -1,12 +0,0 @@
1#ifndef __BCM63XX_FLASH_H
2#define __BCM63XX_FLASH_H
3
4enum {
5 BCM63XX_FLASH_TYPE_PARALLEL,
6 BCM63XX_FLASH_TYPE_SERIAL,
7 BCM63XX_FLASH_TYPE_NAND,
8};
9
10int __init bcm63xx_flash_register(void);
11
12#endif /* __BCM63XX_FLASH_H */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h
deleted file mode 100644
index c9bae136260..00000000000
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h
+++ /dev/null
@@ -1,91 +0,0 @@
1#ifndef BCM63XX_DEV_SPI_H
2#define BCM63XX_DEV_SPI_H
3
4#include <linux/types.h>
5#include <bcm63xx_io.h>
6#include <bcm63xx_regs.h>
7
8int __init bcm63xx_spi_register(void);
9
10struct bcm63xx_spi_pdata {
11 unsigned int fifo_size;
12 unsigned int msg_type_shift;
13 unsigned int msg_ctl_width;
14 int bus_num;
15 int num_chipselect;
16 u32 speed_hz;
17};
18
19enum bcm63xx_regs_spi {
20 SPI_CMD,
21 SPI_INT_STATUS,
22 SPI_INT_MASK_ST,
23 SPI_INT_MASK,
24 SPI_ST,
25 SPI_CLK_CFG,
26 SPI_FILL_BYTE,
27 SPI_MSG_TAIL,
28 SPI_RX_TAIL,
29 SPI_MSG_CTL,
30 SPI_MSG_DATA,
31 SPI_RX_DATA,
32};
33
34#define __GEN_SPI_RSET_BASE(__cpu, __rset) \
35 case SPI_## __rset: \
36 return SPI_## __cpu ##_## __rset;
37
38#define __GEN_SPI_RSET(__cpu) \
39 switch (reg) { \
40 __GEN_SPI_RSET_BASE(__cpu, CMD) \
41 __GEN_SPI_RSET_BASE(__cpu, INT_STATUS) \
42 __GEN_SPI_RSET_BASE(__cpu, INT_MASK_ST) \
43 __GEN_SPI_RSET_BASE(__cpu, INT_MASK) \
44 __GEN_SPI_RSET_BASE(__cpu, ST) \
45 __GEN_SPI_RSET_BASE(__cpu, CLK_CFG) \
46 __GEN_SPI_RSET_BASE(__cpu, FILL_BYTE) \
47 __GEN_SPI_RSET_BASE(__cpu, MSG_TAIL) \
48 __GEN_SPI_RSET_BASE(__cpu, RX_TAIL) \
49 __GEN_SPI_RSET_BASE(__cpu, MSG_CTL) \
50 __GEN_SPI_RSET_BASE(__cpu, MSG_DATA) \
51 __GEN_SPI_RSET_BASE(__cpu, RX_DATA) \
52 }
53
54#define __GEN_SPI_REGS_TABLE(__cpu) \
55 [SPI_CMD] = SPI_## __cpu ##_CMD, \
56 [SPI_INT_STATUS] = SPI_## __cpu ##_INT_STATUS, \
57 [SPI_INT_MASK_ST] = SPI_## __cpu ##_INT_MASK_ST, \
58 [SPI_INT_MASK] = SPI_## __cpu ##_INT_MASK, \
59 [SPI_ST] = SPI_## __cpu ##_ST, \
60 [SPI_CLK_CFG] = SPI_## __cpu ##_CLK_CFG, \
61 [SPI_FILL_BYTE] = SPI_## __cpu ##_FILL_BYTE, \
62 [SPI_MSG_TAIL] = SPI_## __cpu ##_MSG_TAIL, \
63 [SPI_RX_TAIL] = SPI_## __cpu ##_RX_TAIL, \
64 [SPI_MSG_CTL] = SPI_## __cpu ##_MSG_CTL, \
65 [SPI_MSG_DATA] = SPI_## __cpu ##_MSG_DATA, \
66 [SPI_RX_DATA] = SPI_## __cpu ##_RX_DATA,
67
68static inline unsigned long bcm63xx_spireg(enum bcm63xx_regs_spi reg)
69{
70#ifdef BCMCPU_RUNTIME_DETECT
71 extern const unsigned long *bcm63xx_regs_spi;
72
73 return bcm63xx_regs_spi[reg];
74#else
75#ifdef CONFIG_BCM63XX_CPU_6338
76 __GEN_SPI_RSET(6338)
77#endif
78#ifdef CONFIG_BCM63XX_CPU_6348
79 __GEN_SPI_RSET(6348)
80#endif
81#ifdef CONFIG_BCM63XX_CPU_6358
82 __GEN_SPI_RSET(6358)
83#endif
84#ifdef CONFIG_BCM63XX_CPU_6368
85 __GEN_SPI_RSET(6368)
86#endif
87#endif
88 return 0;
89}
90
91#endif /* BCM63XX_DEV_SPI_H */
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
deleted file mode 100644
index 5d6d6986f40..00000000000
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_usbd.h
+++ /dev/null
@@ -1,17 +0,0 @@
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_gpio.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h
index 0a9891f7580..3999ec0aa7f 100644
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h
@@ -2,23 +2,18 @@
2#define BCM63XX_GPIO_H 2#define BCM63XX_GPIO_H
3 3
4#include <linux/init.h> 4#include <linux/init.h>
5#include <bcm63xx_cpu.h>
6 5
7int __init bcm63xx_gpio_init(void); 6int __init bcm63xx_gpio_init(void);
8 7
9static inline unsigned long bcm63xx_gpio_count(void) 8static inline unsigned long bcm63xx_gpio_count(void)
10{ 9{
11 switch (bcm63xx_get_cpu_id()) { 10 switch (bcm63xx_get_cpu_id()) {
12 case BCM6328_CPU_ID:
13 return 32;
14 case BCM6358_CPU_ID: 11 case BCM6358_CPU_ID:
15 return 40; 12 return 40;
16 case BCM6338_CPU_ID: 13 case BCM6338_CPU_ID:
17 return 8; 14 return 8;
18 case BCM6345_CPU_ID: 15 case BCM6345_CPU_ID:
19 return 16; 16 return 16;
20 case BCM6368_CPU_ID:
21 return 38;
22 case BCM6348_CPU_ID: 17 case BCM6348_CPU_ID:
23 default: 18 default:
24 return 37; 19 return 37;
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h
index 03a54df5fb8..91180fac6ed 100644
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h
@@ -1,7 +1,7 @@
1#ifndef BCM63XX_IO_H_ 1#ifndef BCM63XX_IO_H_
2#define BCM63XX_IO_H_ 2#define BCM63XX_IO_H_
3 3
4#include <asm/mach-bcm63xx/bcm63xx_cpu.h> 4#include "bcm63xx_cpu.h"
5 5
6/* 6/*
7 * Physical memory map, RAM is mapped at 0x0. 7 * Physical memory map, RAM is mapped at 0x0.
@@ -40,10 +40,6 @@
40#define BCM_CB_MEM_END_PA (BCM_CB_MEM_BASE_PA + \ 40#define BCM_CB_MEM_END_PA (BCM_CB_MEM_BASE_PA + \
41 BCM_CB_MEM_SIZE - 1) 41 BCM_CB_MEM_SIZE - 1)
42 42
43#define BCM_PCIE_MEM_BASE_PA 0x10f00000
44#define BCM_PCIE_MEM_SIZE (16 * 1024 * 1024)
45#define BCM_PCIE_MEM_END_PA (BCM_PCIE_MEM_BASE_PA + \
46 BCM_PCIE_MEM_SIZE - 1)
47 43
48/* 44/*
49 * Internal registers are accessed through KSEG3 45 * Internal registers are accessed through KSEG3
@@ -53,11 +49,9 @@
53#define bcm_readb(a) (*(volatile unsigned char *) BCM_REGS_VA(a)) 49#define bcm_readb(a) (*(volatile unsigned char *) BCM_REGS_VA(a))
54#define bcm_readw(a) (*(volatile unsigned short *) BCM_REGS_VA(a)) 50#define bcm_readw(a) (*(volatile unsigned short *) BCM_REGS_VA(a))
55#define bcm_readl(a) (*(volatile unsigned int *) BCM_REGS_VA(a)) 51#define bcm_readl(a) (*(volatile unsigned int *) BCM_REGS_VA(a))
56#define bcm_readq(a) (*(volatile u64 *) BCM_REGS_VA(a))
57#define bcm_writeb(v, a) (*(volatile unsigned char *) BCM_REGS_VA((a)) = (v)) 52#define bcm_writeb(v, a) (*(volatile unsigned char *) BCM_REGS_VA((a)) = (v))
58#define bcm_writew(v, a) (*(volatile unsigned short *) BCM_REGS_VA((a)) = (v)) 53#define bcm_writew(v, a) (*(volatile unsigned short *) BCM_REGS_VA((a)) = (v))
59#define bcm_writel(v, a) (*(volatile unsigned int *) BCM_REGS_VA((a)) = (v)) 54#define bcm_writel(v, a) (*(volatile unsigned int *) BCM_REGS_VA((a)) = (v))
60#define bcm_writeq(v, a) (*(volatile u64 *) BCM_REGS_VA((a)) = (v))
61 55
62/* 56/*
63 * IO helpers to access register set for current CPU 57 * IO helpers to access register set for current CPU
@@ -89,15 +83,11 @@
89#define bcm_mpi_writel(v, o) bcm_rset_writel(RSET_MPI, (v), (o)) 83#define bcm_mpi_writel(v, o) bcm_rset_writel(RSET_MPI, (v), (o))
90#define bcm_pcmcia_readl(o) bcm_rset_readl(RSET_PCMCIA, (o)) 84#define bcm_pcmcia_readl(o) bcm_rset_readl(RSET_PCMCIA, (o))
91#define bcm_pcmcia_writel(v, o) bcm_rset_writel(RSET_PCMCIA, (v), (o)) 85#define bcm_pcmcia_writel(v, o) bcm_rset_writel(RSET_PCMCIA, (v), (o))
92#define bcm_pcie_readl(o) bcm_rset_readl(RSET_PCIE, (o))
93#define bcm_pcie_writel(v, o) bcm_rset_writel(RSET_PCIE, (v), (o))
94#define bcm_sdram_readl(o) bcm_rset_readl(RSET_SDRAM, (o)) 86#define bcm_sdram_readl(o) bcm_rset_readl(RSET_SDRAM, (o))
95#define bcm_sdram_writel(v, o) bcm_rset_writel(RSET_SDRAM, (v), (o)) 87#define bcm_sdram_writel(v, o) bcm_rset_writel(RSET_SDRAM, (v), (o))
96#define bcm_memc_readl(o) bcm_rset_readl(RSET_MEMC, (o)) 88#define bcm_memc_readl(o) bcm_rset_readl(RSET_MEMC, (o))
97#define bcm_memc_writel(v, o) bcm_rset_writel(RSET_MEMC, (v), (o)) 89#define bcm_memc_writel(v, o) bcm_rset_writel(RSET_MEMC, (v), (o))
98#define bcm_ddr_readl(o) bcm_rset_readl(RSET_DDR, (o)) 90#define bcm_ddr_readl(o) bcm_rset_readl(RSET_DDR, (o))
99#define bcm_ddr_writel(v, o) bcm_rset_writel(RSET_DDR, (v), (o)) 91#define bcm_ddr_writel(v, o) bcm_rset_writel(RSET_DDR, (v), (o))
100#define bcm_misc_readl(o) bcm_rset_readl(RSET_MISC, (o))
101#define bcm_misc_writel(v, o) bcm_rset_writel(RSET_MISC, (v), (o))
102 92
103#endif /* ! BCM63XX_IO_H_ */ 93#endif /* ! BCM63XX_IO_H_ */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h
index 0c3074b871b..5f95577c821 100644
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h
@@ -3,11 +3,13 @@
3 3
4#include <bcm63xx_cpu.h> 4#include <bcm63xx_cpu.h>
5 5
6#define IRQ_MIPS_BASE 0
6#define IRQ_INTERNAL_BASE 8 7#define IRQ_INTERNAL_BASE 8
7#define IRQ_EXTERNAL_BASE 100 8
8#define IRQ_EXT_0 (IRQ_EXTERNAL_BASE + 0) 9#define IRQ_EXT_BASE (IRQ_MIPS_BASE + 3)
9#define IRQ_EXT_1 (IRQ_EXTERNAL_BASE + 1) 10#define IRQ_EXT_0 (IRQ_EXT_BASE + 0)
10#define IRQ_EXT_2 (IRQ_EXTERNAL_BASE + 2) 11#define IRQ_EXT_1 (IRQ_EXT_BASE + 1)
11#define IRQ_EXT_3 (IRQ_EXTERNAL_BASE + 3) 12#define IRQ_EXT_2 (IRQ_EXT_BASE + 2)
13#define IRQ_EXT_3 (IRQ_EXT_BASE + 3)
12 14
13#endif /* ! BCM63XX_IRQ_H_ */ 15#endif /* ! BCM63XX_IRQ_H_ */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h
deleted file mode 100644
index a5bbff31c89..00000000000
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h
+++ /dev/null
@@ -1,38 +0,0 @@
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_nvram.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_nvram.h
deleted file mode 100644
index 62d6a3b4d3b..00000000000
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_nvram.h
+++ /dev/null
@@ -1,35 +0,0 @@
1#ifndef BCM63XX_NVRAM_H
2#define BCM63XX_NVRAM_H
3
4#include <linux/types.h>
5
6/**
7 * bcm63xx_nvram_init() - initializes nvram
8 * @nvram: address of the nvram data
9 *
10 * Initialized the local nvram copy from the target address and checks
11 * its checksum.
12 *
13 * Returns 0 on success.
14 */
15int __init bcm63xx_nvram_init(void *nvram);
16
17/**
18 * bcm63xx_nvram_get_name() - returns the board name according to nvram
19 *
20 * Returns the board name field from nvram. Note that it might not be
21 * null terminated if it is exactly 16 bytes long.
22 */
23u8 *bcm63xx_nvram_get_name(void);
24
25/**
26 * bcm63xx_nvram_get_mac_address() - register & return a new mac address
27 * @mac: pointer to array for allocated mac
28 *
29 * Registers and returns a mac address from the allocated macs from nvram.
30 *
31 * Returns 0 on success.
32 */
33int bcm63xx_nvram_get_mac_address(u8 *mac);
34
35#endif /* BCM63XX_NVRAM_H */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
index c3eeb90b480..0ed5230243c 100644
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
@@ -15,30 +15,6 @@
15/* Clock Control register */ 15/* Clock Control register */
16#define PERF_CKCTL_REG 0x4 16#define PERF_CKCTL_REG 0x4
17 17
18#define CKCTL_6328_PHYMIPS_EN (1 << 0)
19#define CKCTL_6328_ADSL_QPROC_EN (1 << 1)
20#define CKCTL_6328_ADSL_AFE_EN (1 << 2)
21#define CKCTL_6328_ADSL_EN (1 << 3)
22#define CKCTL_6328_MIPS_EN (1 << 4)
23#define CKCTL_6328_SAR_EN (1 << 5)
24#define CKCTL_6328_PCM_EN (1 << 6)
25#define CKCTL_6328_USBD_EN (1 << 7)
26#define CKCTL_6328_USBH_EN (1 << 8)
27#define CKCTL_6328_HSSPI_EN (1 << 9)
28#define CKCTL_6328_PCIE_EN (1 << 10)
29#define CKCTL_6328_ROBOSW_EN (1 << 11)
30
31#define CKCTL_6328_ALL_SAFE_EN (CKCTL_6328_PHYMIPS_EN | \
32 CKCTL_6328_ADSL_QPROC_EN | \
33 CKCTL_6328_ADSL_AFE_EN | \
34 CKCTL_6328_ADSL_EN | \
35 CKCTL_6328_SAR_EN | \
36 CKCTL_6328_PCM_EN | \
37 CKCTL_6328_USBD_EN | \
38 CKCTL_6328_USBH_EN | \
39 CKCTL_6328_ROBOSW_EN | \
40 CKCTL_6328_PCIE_EN)
41
42#define CKCTL_6338_ADSLPHY_EN (1 << 0) 18#define CKCTL_6338_ADSLPHY_EN (1 << 0)
43#define CKCTL_6338_MPI_EN (1 << 1) 19#define CKCTL_6338_MPI_EN (1 << 1)
44#define CKCTL_6338_DRAM_EN (1 << 2) 20#define CKCTL_6338_DRAM_EN (1 << 2)
@@ -53,18 +29,13 @@
53 CKCTL_6338_SAR_EN | \ 29 CKCTL_6338_SAR_EN | \
54 CKCTL_6338_SPI_EN) 30 CKCTL_6338_SPI_EN)
55 31
56/* BCM6345 clock bits are shifted by 16 on the left, because of the test 32#define CKCTL_6345_CPU_EN (1 << 0)
57 * control register which is 16-bits wide. That way we do not have any 33#define CKCTL_6345_BUS_EN (1 << 1)
58 * specific BCM6345 code for handling clocks, and writing 0 to the test 34#define CKCTL_6345_EBI_EN (1 << 2)
59 * control register is fine. 35#define CKCTL_6345_UART_EN (1 << 3)
60 */ 36#define CKCTL_6345_ADSLPHY_EN (1 << 4)
61#define CKCTL_6345_CPU_EN (1 << 16) 37#define CKCTL_6345_ENET_EN (1 << 7)
62#define CKCTL_6345_BUS_EN (1 << 17) 38#define CKCTL_6345_USBH_EN (1 << 8)
63#define CKCTL_6345_EBI_EN (1 << 18)
64#define CKCTL_6345_UART_EN (1 << 19)
65#define CKCTL_6345_ADSLPHY_EN (1 << 20)
66#define CKCTL_6345_ENET_EN (1 << 23)
67#define CKCTL_6345_USBH_EN (1 << 24)
68 39
69#define CKCTL_6345_ALL_SAFE_EN (CKCTL_6345_ENET_EN | \ 40#define CKCTL_6345_ALL_SAFE_EN (CKCTL_6345_ENET_EN | \
70 CKCTL_6345_USBH_EN | \ 41 CKCTL_6345_USBH_EN | \
@@ -112,104 +83,30 @@
112 CKCTL_6358_USBSU_EN | \ 83 CKCTL_6358_USBSU_EN | \
113 CKCTL_6358_EPHY_EN) 84 CKCTL_6358_EPHY_EN)
114 85
115#define CKCTL_6368_VDSL_QPROC_EN (1 << 2)
116#define CKCTL_6368_VDSL_AFE_EN (1 << 3)
117#define CKCTL_6368_VDSL_BONDING_EN (1 << 4)
118#define CKCTL_6368_VDSL_EN (1 << 5)
119#define CKCTL_6368_PHYMIPS_EN (1 << 6)
120#define CKCTL_6368_SWPKT_USB_EN (1 << 7)
121#define CKCTL_6368_SWPKT_SAR_EN (1 << 8)
122#define CKCTL_6368_SPI_EN (1 << 9)
123#define CKCTL_6368_USBD_EN (1 << 10)
124#define CKCTL_6368_SAR_EN (1 << 11)
125#define CKCTL_6368_ROBOSW_EN (1 << 12)
126#define CKCTL_6368_UTOPIA_EN (1 << 13)
127#define CKCTL_6368_PCM_EN (1 << 14)
128#define CKCTL_6368_USBH_EN (1 << 15)
129#define CKCTL_6368_DISABLE_GLESS_EN (1 << 16)
130#define CKCTL_6368_NAND_EN (1 << 17)
131#define CKCTL_6368_IPSEC_EN (1 << 18)
132
133#define CKCTL_6368_ALL_SAFE_EN (CKCTL_6368_SWPKT_USB_EN | \
134 CKCTL_6368_SWPKT_SAR_EN | \
135 CKCTL_6368_SPI_EN | \
136 CKCTL_6368_USBD_EN | \
137 CKCTL_6368_SAR_EN | \
138 CKCTL_6368_ROBOSW_EN | \
139 CKCTL_6368_UTOPIA_EN | \
140 CKCTL_6368_PCM_EN | \
141 CKCTL_6368_USBH_EN | \
142 CKCTL_6368_DISABLE_GLESS_EN | \
143 CKCTL_6368_NAND_EN | \
144 CKCTL_6368_IPSEC_EN)
145
146/* System PLL Control register */ 86/* System PLL Control register */
147#define PERF_SYS_PLL_CTL_REG 0x8 87#define PERF_SYS_PLL_CTL_REG 0x8
148#define SYS_PLL_SOFT_RESET 0x1 88#define SYS_PLL_SOFT_RESET 0x1
149 89
150/* Interrupt Mask register */ 90/* Interrupt Mask register */
151#define PERF_IRQMASK_6328_REG 0x20 91#define PERF_IRQMASK_REG 0xc
152#define PERF_IRQMASK_6338_REG 0xc
153#define PERF_IRQMASK_6345_REG 0xc
154#define PERF_IRQMASK_6348_REG 0xc
155#define PERF_IRQMASK_6358_REG 0xc
156#define PERF_IRQMASK_6368_REG 0x20
157 92
158/* Interrupt Status register */ 93/* Interrupt Status register */
159#define PERF_IRQSTAT_6328_REG 0x28 94#define PERF_IRQSTAT_REG 0x10
160#define PERF_IRQSTAT_6338_REG 0x10
161#define PERF_IRQSTAT_6345_REG 0x10
162#define PERF_IRQSTAT_6348_REG 0x10
163#define PERF_IRQSTAT_6358_REG 0x10
164#define PERF_IRQSTAT_6368_REG 0x28
165 95
166/* External Interrupt Configuration register */ 96/* External Interrupt Configuration register */
167#define PERF_EXTIRQ_CFG_REG_6328 0x18 97#define PERF_EXTIRQ_CFG_REG 0x14
168#define PERF_EXTIRQ_CFG_REG_6338 0x14
169#define PERF_EXTIRQ_CFG_REG_6345 0x14
170#define PERF_EXTIRQ_CFG_REG_6348 0x14
171#define PERF_EXTIRQ_CFG_REG_6358 0x14
172#define PERF_EXTIRQ_CFG_REG_6368 0x18
173
174#define PERF_EXTIRQ_CFG_REG2_6368 0x1c
175
176/* for 6348 only */
177#define EXTIRQ_CFG_SENSE_6348(x) (1 << (x))
178#define EXTIRQ_CFG_STAT_6348(x) (1 << (x + 5))
179#define EXTIRQ_CFG_CLEAR_6348(x) (1 << (x + 10))
180#define EXTIRQ_CFG_MASK_6348(x) (1 << (x + 15))
181#define EXTIRQ_CFG_BOTHEDGE_6348(x) (1 << (x + 20))
182#define EXTIRQ_CFG_LEVELSENSE_6348(x) (1 << (x + 25))
183#define EXTIRQ_CFG_CLEAR_ALL_6348 (0xf << 10)
184#define EXTIRQ_CFG_MASK_ALL_6348 (0xf << 15)
185
186/* for all others */
187#define EXTIRQ_CFG_SENSE(x) (1 << (x)) 98#define EXTIRQ_CFG_SENSE(x) (1 << (x))
188#define EXTIRQ_CFG_STAT(x) (1 << (x + 4)) 99#define EXTIRQ_CFG_STAT(x) (1 << (x + 5))
189#define EXTIRQ_CFG_CLEAR(x) (1 << (x + 8)) 100#define EXTIRQ_CFG_CLEAR(x) (1 << (x + 10))
190#define EXTIRQ_CFG_MASK(x) (1 << (x + 12)) 101#define EXTIRQ_CFG_MASK(x) (1 << (x + 15))
191#define EXTIRQ_CFG_BOTHEDGE(x) (1 << (x + 16)) 102#define EXTIRQ_CFG_BOTHEDGE(x) (1 << (x + 20))
192#define EXTIRQ_CFG_LEVELSENSE(x) (1 << (x + 20)) 103#define EXTIRQ_CFG_LEVELSENSE(x) (1 << (x + 25))
193#define EXTIRQ_CFG_CLEAR_ALL (0xf << 8) 104
194#define EXTIRQ_CFG_MASK_ALL (0xf << 12) 105#define EXTIRQ_CFG_CLEAR_ALL (0xf << 10)
106#define EXTIRQ_CFG_MASK_ALL (0xf << 15)
195 107
196/* Soft Reset register */ 108/* Soft Reset register */
197#define PERF_SOFTRESET_REG 0x28 109#define PERF_SOFTRESET_REG 0x28
198#define PERF_SOFTRESET_6328_REG 0x10
199#define PERF_SOFTRESET_6358_REG 0x34
200#define PERF_SOFTRESET_6368_REG 0x10
201
202#define SOFTRESET_6328_SPI_MASK (1 << 0)
203#define SOFTRESET_6328_EPHY_MASK (1 << 1)
204#define SOFTRESET_6328_SAR_MASK (1 << 2)
205#define SOFTRESET_6328_ENETSW_MASK (1 << 3)
206#define SOFTRESET_6328_USBS_MASK (1 << 4)
207#define SOFTRESET_6328_USBH_MASK (1 << 5)
208#define SOFTRESET_6328_PCM_MASK (1 << 6)
209#define SOFTRESET_6328_PCIE_CORE_MASK (1 << 7)
210#define SOFTRESET_6328_PCIE_MASK (1 << 8)
211#define SOFTRESET_6328_PCIE_EXT_MASK (1 << 9)
212#define SOFTRESET_6328_PCIE_HARD_MASK (1 << 10)
213 110
214#define SOFTRESET_6338_SPI_MASK (1 << 0) 111#define SOFTRESET_6338_SPI_MASK (1 << 0)
215#define SOFTRESET_6338_ENET_MASK (1 << 2) 112#define SOFTRESET_6338_ENET_MASK (1 << 2)
@@ -250,24 +147,6 @@
250 SOFTRESET_6348_ACLC_MASK | \ 147 SOFTRESET_6348_ACLC_MASK | \
251 SOFTRESET_6348_ADSLMIPSPLL_MASK) 148 SOFTRESET_6348_ADSLMIPSPLL_MASK)
252 149
253#define SOFTRESET_6358_SPI_MASK (1 << 0)
254#define SOFTRESET_6358_ENET_MASK (1 << 2)
255#define SOFTRESET_6358_MPI_MASK (1 << 3)
256#define SOFTRESET_6358_EPHY_MASK (1 << 6)
257#define SOFTRESET_6358_SAR_MASK (1 << 7)
258#define SOFTRESET_6358_USBH_MASK (1 << 12)
259#define SOFTRESET_6358_PCM_MASK (1 << 13)
260#define SOFTRESET_6358_ADSL_MASK (1 << 14)
261
262#define SOFTRESET_6368_SPI_MASK (1 << 0)
263#define SOFTRESET_6368_MPI_MASK (1 << 3)
264#define SOFTRESET_6368_EPHY_MASK (1 << 6)
265#define SOFTRESET_6368_SAR_MASK (1 << 7)
266#define SOFTRESET_6368_ENETSW_MASK (1 << 10)
267#define SOFTRESET_6368_USBS_MASK (1 << 11)
268#define SOFTRESET_6368_USBH_MASK (1 << 12)
269#define SOFTRESET_6368_PCM_MASK (1 << 13)
270
271/* MIPS PLL control register */ 150/* MIPS PLL control register */
272#define PERF_MIPSPLLCTL_REG 0x34 151#define PERF_MIPSPLLCTL_REG 0x34
273#define MIPSPLLCTL_N1_SHIFT 20 152#define MIPSPLLCTL_N1_SHIFT 20
@@ -363,8 +242,6 @@
363/* Watchdog reset length register */ 242/* Watchdog reset length register */
364#define WDT_RSTLEN_REG 0x8 243#define WDT_RSTLEN_REG 0x8
365 244
366/* Watchdog soft reset register (BCM6328 only) */
367#define WDT_SOFTRESET_REG 0xc
368 245
369/************************************************************************* 246/*************************************************************************
370 * _REG relative to RSET_UARTx 247 * _REG relative to RSET_UARTx
@@ -495,7 +372,6 @@
495#define GPIO_CTL_LO_REG 0x4 372#define GPIO_CTL_LO_REG 0x4
496#define GPIO_DATA_HI_REG 0x8 373#define GPIO_DATA_HI_REG 0x8
497#define GPIO_DATA_LO_REG 0xC 374#define GPIO_DATA_LO_REG 0xC
498#define GPIO_DATA_LO_REG_6345 0x8
499 375
500/* GPIO mux registers and constants */ 376/* GPIO mux registers and constants */
501#define GPIO_MODE_REG 0x18 377#define GPIO_MODE_REG 0x18
@@ -526,59 +402,6 @@
526#define GPIO_MODE_6358_SERIAL_LED (1 << 10) 402#define GPIO_MODE_6358_SERIAL_LED (1 << 10)
527#define GPIO_MODE_6358_UTOPIA (1 << 12) 403#define GPIO_MODE_6358_UTOPIA (1 << 12)
528 404
529#define GPIO_MODE_6368_ANALOG_AFE_0 (1 << 0)
530#define GPIO_MODE_6368_ANALOG_AFE_1 (1 << 1)
531#define GPIO_MODE_6368_SYS_IRQ (1 << 2)
532#define GPIO_MODE_6368_SERIAL_LED_DATA (1 << 3)
533#define GPIO_MODE_6368_SERIAL_LED_CLK (1 << 4)
534#define GPIO_MODE_6368_INET_LED (1 << 5)
535#define GPIO_MODE_6368_EPHY0_LED (1 << 6)
536#define GPIO_MODE_6368_EPHY1_LED (1 << 7)
537#define GPIO_MODE_6368_EPHY2_LED (1 << 8)
538#define GPIO_MODE_6368_EPHY3_LED (1 << 9)
539#define GPIO_MODE_6368_ROBOSW_LED_DAT (1 << 10)
540#define GPIO_MODE_6368_ROBOSW_LED_CLK (1 << 11)
541#define GPIO_MODE_6368_ROBOSW_LED0 (1 << 12)
542#define GPIO_MODE_6368_ROBOSW_LED1 (1 << 13)
543#define GPIO_MODE_6368_USBD_LED (1 << 14)
544#define GPIO_MODE_6368_NTR_PULSE (1 << 15)
545#define GPIO_MODE_6368_PCI_REQ1 (1 << 16)
546#define GPIO_MODE_6368_PCI_GNT1 (1 << 17)
547#define GPIO_MODE_6368_PCI_INTB (1 << 18)
548#define GPIO_MODE_6368_PCI_REQ0 (1 << 19)
549#define GPIO_MODE_6368_PCI_GNT0 (1 << 20)
550#define GPIO_MODE_6368_PCMCIA_CD1 (1 << 22)
551#define GPIO_MODE_6368_PCMCIA_CD2 (1 << 23)
552#define GPIO_MODE_6368_PCMCIA_VS1 (1 << 24)
553#define GPIO_MODE_6368_PCMCIA_VS2 (1 << 25)
554#define GPIO_MODE_6368_EBI_CS2 (1 << 26)
555#define GPIO_MODE_6368_EBI_CS3 (1 << 27)
556#define GPIO_MODE_6368_SPI_SSN2 (1 << 28)
557#define GPIO_MODE_6368_SPI_SSN3 (1 << 29)
558#define GPIO_MODE_6368_SPI_SSN4 (1 << 30)
559#define GPIO_MODE_6368_SPI_SSN5 (1 << 31)
560
561
562#define GPIO_PINMUX_OTHR_REG 0x24
563#define GPIO_PINMUX_OTHR_6328_USB_SHIFT 12
564#define GPIO_PINMUX_OTHR_6328_USB_MASK (3 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
565#define GPIO_PINMUX_OTHR_6328_USB_HOST (1 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
566#define GPIO_PINMUX_OTHR_6328_USB_DEV (2 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
567
568#define GPIO_BASEMODE_6368_REG 0x38
569#define GPIO_BASEMODE_6368_UART2 0x1
570#define GPIO_BASEMODE_6368_GPIO 0x0
571#define GPIO_BASEMODE_6368_MASK 0x7
572/* those bits must be kept as read in gpio basemode register*/
573
574#define GPIO_STRAPBUS_REG 0x40
575#define STRAPBUS_6358_BOOT_SEL_PARALLEL (1 << 1)
576#define STRAPBUS_6358_BOOT_SEL_SERIAL (0 << 1)
577#define STRAPBUS_6368_BOOT_SEL_MASK 0x3
578#define STRAPBUS_6368_BOOT_SEL_NAND 0
579#define STRAPBUS_6368_BOOT_SEL_SERIAL 1
580#define STRAPBUS_6368_BOOT_SEL_PARALLEL 3
581
582 405
583/************************************************************************* 406/*************************************************************************
584 * _REG relative to RSET_ENET 407 * _REG relative to RSET_ENET
@@ -692,12 +515,6 @@
692#define ENETDMA_BUFALLOC_FORCE_SHIFT 31 515#define ENETDMA_BUFALLOC_FORCE_SHIFT 31
693#define ENETDMA_BUFALLOC_FORCE_MASK (1 << ENETDMA_BUFALLOC_FORCE_SHIFT) 516#define ENETDMA_BUFALLOC_FORCE_MASK (1 << ENETDMA_BUFALLOC_FORCE_SHIFT)
694 517
695/* Global interrupt status */
696#define ENETDMA_GLB_IRQSTAT_REG (0x40)
697
698/* Global interrupt mask */
699#define ENETDMA_GLB_IRQMASK_REG (0x44)
700
701/* Channel Configuration register */ 518/* Channel Configuration register */
702#define ENETDMA_CHANCFG_REG(x) (0x100 + (x) * 0x10) 519#define ENETDMA_CHANCFG_REG(x) (0x100 + (x) * 0x10)
703#define ENETDMA_CHANCFG_EN_SHIFT 0 520#define ENETDMA_CHANCFG_EN_SHIFT 0
@@ -731,58 +548,6 @@
731 548
732 549
733/************************************************************************* 550/*************************************************************************
734 * _REG relative to RSET_ENETDMAC
735 *************************************************************************/
736
737/* Channel Configuration register */
738#define ENETDMAC_CHANCFG_REG(x) ((x) * 0x10)
739#define ENETDMAC_CHANCFG_EN_SHIFT 0
740#define ENETDMAC_CHANCFG_EN_MASK (1 << ENETDMAC_CHANCFG_EN_SHIFT)
741#define ENETDMAC_CHANCFG_PKTHALT_SHIFT 1
742#define ENETDMAC_CHANCFG_PKTHALT_MASK (1 << ENETDMAC_CHANCFG_PKTHALT_SHIFT)
743#define ENETDMAC_CHANCFG_BUFHALT_SHIFT 2
744#define ENETDMAC_CHANCFG_BUFHALT_MASK (1 << ENETDMAC_CHANCFG_BUFHALT_SHIFT)
745
746/* Interrupt Control/Status register */
747#define ENETDMAC_IR_REG(x) (0x4 + (x) * 0x10)
748#define ENETDMAC_IR_BUFDONE_MASK (1 << 0)
749#define ENETDMAC_IR_PKTDONE_MASK (1 << 1)
750#define ENETDMAC_IR_NOTOWNER_MASK (1 << 2)
751
752/* Interrupt Mask register */
753#define ENETDMAC_IRMASK_REG(x) (0x8 + (x) * 0x10)
754
755/* Maximum Burst Length */
756#define ENETDMAC_MAXBURST_REG(x) (0xc + (x) * 0x10)
757
758
759/*************************************************************************
760 * _REG relative to RSET_ENETDMAS
761 *************************************************************************/
762
763/* Ring Start Address register */
764#define ENETDMAS_RSTART_REG(x) ((x) * 0x10)
765
766/* State Ram Word 2 */
767#define ENETDMAS_SRAM2_REG(x) (0x4 + (x) * 0x10)
768
769/* State Ram Word 3 */
770#define ENETDMAS_SRAM3_REG(x) (0x8 + (x) * 0x10)
771
772/* State Ram Word 4 */
773#define ENETDMAS_SRAM4_REG(x) (0xc + (x) * 0x10)
774
775
776/*************************************************************************
777 * _REG relative to RSET_ENETSW
778 *************************************************************************/
779
780/* MIB register */
781#define ENETSW_MIB_REG(x) (0x2800 + (x) * 4)
782#define ENETSW_MIB_REG_COUNT 47
783
784
785/*************************************************************************
786 * _REG relative to RSET_OHCI_PRIV 551 * _REG relative to RSET_OHCI_PRIV
787 *************************************************************************/ 552 *************************************************************************/
788 553
@@ -797,11 +562,7 @@
797 * _REG relative to RSET_USBH_PRIV 562 * _REG relative to RSET_USBH_PRIV
798 *************************************************************************/ 563 *************************************************************************/
799 564
800#define USBH_PRIV_SWAP_6358_REG 0x0 565#define USBH_PRIV_SWAP_REG 0x0
801#define USBH_PRIV_SWAP_6368_REG 0x1c
802
803#define USBH_PRIV_SWAP_USBD_SHIFT 6
804#define USBH_PRIV_SWAP_USBD_MASK (1 << USBH_PRIV_SWAP_USBD_SHIFT)
805#define USBH_PRIV_SWAP_EHCI_ENDN_SHIFT 4 566#define USBH_PRIV_SWAP_EHCI_ENDN_SHIFT 4
806#define USBH_PRIV_SWAP_EHCI_ENDN_MASK (1 << USBH_PRIV_SWAP_EHCI_ENDN_SHIFT) 567#define USBH_PRIV_SWAP_EHCI_ENDN_MASK (1 << USBH_PRIV_SWAP_EHCI_ENDN_SHIFT)
807#define USBH_PRIV_SWAP_EHCI_DATA_SHIFT 3 568#define USBH_PRIV_SWAP_EHCI_DATA_SHIFT 3
@@ -811,160 +572,7 @@
811#define USBH_PRIV_SWAP_OHCI_DATA_SHIFT 0 572#define USBH_PRIV_SWAP_OHCI_DATA_SHIFT 0
812#define USBH_PRIV_SWAP_OHCI_DATA_MASK (1 << USBH_PRIV_SWAP_OHCI_DATA_SHIFT) 573#define USBH_PRIV_SWAP_OHCI_DATA_MASK (1 << USBH_PRIV_SWAP_OHCI_DATA_SHIFT)
813 574
814#define USBH_PRIV_UTMI_CTL_6368_REG 0x10 575#define USBH_PRIV_TEST_REG 0x24
815#define USBH_PRIV_UTMI_CTL_NODRIV_SHIFT 12
816#define USBH_PRIV_UTMI_CTL_NODRIV_MASK (0xf << USBH_PRIV_UTMI_CTL_NODRIV_SHIFT)
817#define USBH_PRIV_UTMI_CTL_HOSTB_SHIFT 0
818#define USBH_PRIV_UTMI_CTL_HOSTB_MASK (0xf << USBH_PRIV_UTMI_CTL_HOSTB_SHIFT)
819
820#define USBH_PRIV_TEST_6358_REG 0x24
821#define USBH_PRIV_TEST_6368_REG 0x14
822
823#define USBH_PRIV_SETUP_6368_REG 0x28
824#define USBH_PRIV_SETUP_IOC_SHIFT 4
825#define USBH_PRIV_SETUP_IOC_MASK (1 << USBH_PRIV_SETUP_IOC_SHIFT)
826
827
828/*************************************************************************
829 * _REG relative to RSET_USBD
830 *************************************************************************/
831
832/* General control */
833#define USBD_CONTROL_REG 0x00
834#define USBD_CONTROL_TXZLENINS_SHIFT 14
835#define USBD_CONTROL_TXZLENINS_MASK (1 << USBD_CONTROL_TXZLENINS_SHIFT)
836#define USBD_CONTROL_AUTO_CSRS_SHIFT 13
837#define USBD_CONTROL_AUTO_CSRS_MASK (1 << USBD_CONTROL_AUTO_CSRS_SHIFT)
838#define USBD_CONTROL_RXZSCFG_SHIFT 12
839#define USBD_CONTROL_RXZSCFG_MASK (1 << USBD_CONTROL_RXZSCFG_SHIFT)
840#define USBD_CONTROL_INIT_SEL_SHIFT 8
841#define USBD_CONTROL_INIT_SEL_MASK (0xf << USBD_CONTROL_INIT_SEL_SHIFT)
842#define USBD_CONTROL_FIFO_RESET_SHIFT 6
843#define USBD_CONTROL_FIFO_RESET_MASK (3 << USBD_CONTROL_FIFO_RESET_SHIFT)
844#define USBD_CONTROL_SETUPERRLOCK_SHIFT 5
845#define USBD_CONTROL_SETUPERRLOCK_MASK (1 << USBD_CONTROL_SETUPERRLOCK_SHIFT)
846#define USBD_CONTROL_DONE_CSRS_SHIFT 0
847#define USBD_CONTROL_DONE_CSRS_MASK (1 << USBD_CONTROL_DONE_CSRS_SHIFT)
848
849/* Strap options */
850#define USBD_STRAPS_REG 0x04
851#define USBD_STRAPS_APP_SELF_PWR_SHIFT 10
852#define USBD_STRAPS_APP_SELF_PWR_MASK (1 << USBD_STRAPS_APP_SELF_PWR_SHIFT)
853#define USBD_STRAPS_APP_DISCON_SHIFT 9
854#define USBD_STRAPS_APP_DISCON_MASK (1 << USBD_STRAPS_APP_DISCON_SHIFT)
855#define USBD_STRAPS_APP_CSRPRGSUP_SHIFT 8
856#define USBD_STRAPS_APP_CSRPRGSUP_MASK (1 << USBD_STRAPS_APP_CSRPRGSUP_SHIFT)
857#define USBD_STRAPS_APP_RMTWKUP_SHIFT 6
858#define USBD_STRAPS_APP_RMTWKUP_MASK (1 << USBD_STRAPS_APP_RMTWKUP_SHIFT)
859#define USBD_STRAPS_APP_RAM_IF_SHIFT 7
860#define USBD_STRAPS_APP_RAM_IF_MASK (1 << USBD_STRAPS_APP_RAM_IF_SHIFT)
861#define USBD_STRAPS_APP_8BITPHY_SHIFT 2
862#define USBD_STRAPS_APP_8BITPHY_MASK (1 << USBD_STRAPS_APP_8BITPHY_SHIFT)
863#define USBD_STRAPS_SPEED_SHIFT 0
864#define USBD_STRAPS_SPEED_MASK (3 << USBD_STRAPS_SPEED_SHIFT)
865
866/* Stall control */
867#define USBD_STALL_REG 0x08
868#define USBD_STALL_UPDATE_SHIFT 7
869#define USBD_STALL_UPDATE_MASK (1 << USBD_STALL_UPDATE_SHIFT)
870#define USBD_STALL_ENABLE_SHIFT 6
871#define USBD_STALL_ENABLE_MASK (1 << USBD_STALL_ENABLE_SHIFT)
872#define USBD_STALL_EPNUM_SHIFT 0
873#define USBD_STALL_EPNUM_MASK (0xf << USBD_STALL_EPNUM_SHIFT)
874
875/* General status */
876#define USBD_STATUS_REG 0x0c
877#define USBD_STATUS_SOF_SHIFT 16
878#define USBD_STATUS_SOF_MASK (0x7ff << USBD_STATUS_SOF_SHIFT)
879#define USBD_STATUS_SPD_SHIFT 12
880#define USBD_STATUS_SPD_MASK (3 << USBD_STATUS_SPD_SHIFT)
881#define USBD_STATUS_ALTINTF_SHIFT 8
882#define USBD_STATUS_ALTINTF_MASK (0xf << USBD_STATUS_ALTINTF_SHIFT)
883#define USBD_STATUS_INTF_SHIFT 4
884#define USBD_STATUS_INTF_MASK (0xf << USBD_STATUS_INTF_SHIFT)
885#define USBD_STATUS_CFG_SHIFT 0
886#define USBD_STATUS_CFG_MASK (0xf << USBD_STATUS_CFG_SHIFT)
887
888/* Other events */
889#define USBD_EVENTS_REG 0x10
890#define USBD_EVENTS_USB_LINK_SHIFT 10
891#define USBD_EVENTS_USB_LINK_MASK (1 << USBD_EVENTS_USB_LINK_SHIFT)
892
893/* IRQ status */
894#define USBD_EVENT_IRQ_STATUS_REG 0x14
895
896/* IRQ level (2 bits per IRQ event) */
897#define USBD_EVENT_IRQ_CFG_HI_REG 0x18
898
899#define USBD_EVENT_IRQ_CFG_LO_REG 0x1c
900
901#define USBD_EVENT_IRQ_CFG_SHIFT(x) ((x & 0xf) << 1)
902#define USBD_EVENT_IRQ_CFG_MASK(x) (3 << USBD_EVENT_IRQ_CFG_SHIFT(x))
903#define USBD_EVENT_IRQ_CFG_RISING(x) (0 << USBD_EVENT_IRQ_CFG_SHIFT(x))
904#define USBD_EVENT_IRQ_CFG_FALLING(x) (1 << USBD_EVENT_IRQ_CFG_SHIFT(x))
905
906/* IRQ mask (1=unmasked) */
907#define USBD_EVENT_IRQ_MASK_REG 0x20
908
909/* IRQ bits */
910#define USBD_EVENT_IRQ_USB_LINK 10
911#define USBD_EVENT_IRQ_SETCFG 9
912#define USBD_EVENT_IRQ_SETINTF 8
913#define USBD_EVENT_IRQ_ERRATIC_ERR 7
914#define USBD_EVENT_IRQ_SET_CSRS 6
915#define USBD_EVENT_IRQ_SUSPEND 5
916#define USBD_EVENT_IRQ_EARLY_SUSPEND 4
917#define USBD_EVENT_IRQ_SOF 3
918#define USBD_EVENT_IRQ_ENUM_ON 2
919#define USBD_EVENT_IRQ_SETUP 1
920#define USBD_EVENT_IRQ_USB_RESET 0
921
922/* TX FIFO partitioning */
923#define USBD_TXFIFO_CONFIG_REG 0x40
924#define USBD_TXFIFO_CONFIG_END_SHIFT 16
925#define USBD_TXFIFO_CONFIG_END_MASK (0xff << USBD_TXFIFO_CONFIG_END_SHIFT)
926#define USBD_TXFIFO_CONFIG_START_SHIFT 0
927#define USBD_TXFIFO_CONFIG_START_MASK (0xff << USBD_TXFIFO_CONFIG_START_SHIFT)
928
929/* RX FIFO partitioning */
930#define USBD_RXFIFO_CONFIG_REG 0x44
931#define USBD_RXFIFO_CONFIG_END_SHIFT 16
932#define USBD_RXFIFO_CONFIG_END_MASK (0xff << USBD_TXFIFO_CONFIG_END_SHIFT)
933#define USBD_RXFIFO_CONFIG_START_SHIFT 0
934#define USBD_RXFIFO_CONFIG_START_MASK (0xff << USBD_TXFIFO_CONFIG_START_SHIFT)
935
936/* TX FIFO/endpoint configuration */
937#define USBD_TXFIFO_EPSIZE_REG 0x48
938
939/* RX FIFO/endpoint configuration */
940#define USBD_RXFIFO_EPSIZE_REG 0x4c
941
942/* Endpoint<->DMA mappings */
943#define USBD_EPNUM_TYPEMAP_REG 0x50
944#define USBD_EPNUM_TYPEMAP_TYPE_SHIFT 8
945#define USBD_EPNUM_TYPEMAP_TYPE_MASK (0x3 << USBD_EPNUM_TYPEMAP_TYPE_SHIFT)
946#define USBD_EPNUM_TYPEMAP_DMA_CH_SHIFT 0
947#define USBD_EPNUM_TYPEMAP_DMA_CH_MASK (0xf << USBD_EPNUM_TYPEMAP_DMACH_SHIFT)
948
949/* Misc per-endpoint settings */
950#define USBD_CSR_SETUPADDR_REG 0x80
951#define USBD_CSR_SETUPADDR_DEF 0xb550
952
953#define USBD_CSR_EP_REG(x) (0x84 + (x) * 4)
954#define USBD_CSR_EP_MAXPKT_SHIFT 19
955#define USBD_CSR_EP_MAXPKT_MASK (0x7ff << USBD_CSR_EP_MAXPKT_SHIFT)
956#define USBD_CSR_EP_ALTIFACE_SHIFT 15
957#define USBD_CSR_EP_ALTIFACE_MASK (0xf << USBD_CSR_EP_ALTIFACE_SHIFT)
958#define USBD_CSR_EP_IFACE_SHIFT 11
959#define USBD_CSR_EP_IFACE_MASK (0xf << USBD_CSR_EP_IFACE_SHIFT)
960#define USBD_CSR_EP_CFG_SHIFT 7
961#define USBD_CSR_EP_CFG_MASK (0xf << USBD_CSR_EP_CFG_SHIFT)
962#define USBD_CSR_EP_TYPE_SHIFT 5
963#define USBD_CSR_EP_TYPE_MASK (3 << USBD_CSR_EP_TYPE_SHIFT)
964#define USBD_CSR_EP_DIR_SHIFT 4
965#define USBD_CSR_EP_DIR_MASK (1 << USBD_CSR_EP_DIR_SHIFT)
966#define USBD_CSR_EP_LOG_SHIFT 0
967#define USBD_CSR_EP_LOG_MASK (0xf << USBD_CSR_EP_LOG_SHIFT)
968 576
969 577
970/************************************************************************* 578/*************************************************************************
@@ -1126,8 +734,6 @@
1126#define SDRAM_CFG_BANK_SHIFT 13 734#define SDRAM_CFG_BANK_SHIFT 13
1127#define SDRAM_CFG_BANK_MASK (1 << SDRAM_CFG_BANK_SHIFT) 735#define SDRAM_CFG_BANK_MASK (1 << SDRAM_CFG_BANK_SHIFT)
1128 736
1129#define SDRAM_MBASE_REG 0xc
1130
1131#define SDRAM_PRIO_REG 0x2C 737#define SDRAM_PRIO_REG 0x2C
1132#define SDRAM_PRIO_MIPS_SHIFT 29 738#define SDRAM_PRIO_MIPS_SHIFT 29
1133#define SDRAM_PRIO_MIPS_MASK (1 << SDRAM_PRIO_MIPS_SHIFT) 739#define SDRAM_PRIO_MIPS_MASK (1 << SDRAM_PRIO_MIPS_SHIFT)
@@ -1154,8 +760,6 @@
1154 * _REG relative to RSET_DDR 760 * _REG relative to RSET_DDR
1155 *************************************************************************/ 761 *************************************************************************/
1156 762
1157#define DDR_CSEND_REG 0x8
1158
1159#define DDR_DMIPSPLLCFG_REG 0x18 763#define DDR_DMIPSPLLCFG_REG 0x18
1160#define DMIPSPLLCFG_M1_SHIFT 0 764#define DMIPSPLLCFG_M1_SHIFT 0
1161#define DMIPSPLLCFG_M1_MASK (0xff << DMIPSPLLCFG_M1_SHIFT) 765#define DMIPSPLLCFG_M1_MASK (0xff << DMIPSPLLCFG_M1_SHIFT)
@@ -1164,249 +768,4 @@
1164#define DMIPSPLLCFG_N2_SHIFT 29 768#define DMIPSPLLCFG_N2_SHIFT 29
1165#define DMIPSPLLCFG_N2_MASK (0x7 << DMIPSPLLCFG_N2_SHIFT) 769#define DMIPSPLLCFG_N2_MASK (0x7 << DMIPSPLLCFG_N2_SHIFT)
1166 770
1167#define DDR_DMIPSPLLCFG_6368_REG 0x20
1168#define DMIPSPLLCFG_6368_P1_SHIFT 0
1169#define DMIPSPLLCFG_6368_P1_MASK (0xf << DMIPSPLLCFG_6368_P1_SHIFT)
1170#define DMIPSPLLCFG_6368_P2_SHIFT 4
1171#define DMIPSPLLCFG_6368_P2_MASK (0xf << DMIPSPLLCFG_6368_P2_SHIFT)
1172#define DMIPSPLLCFG_6368_NDIV_SHIFT 16
1173#define DMIPSPLLCFG_6368_NDIV_MASK (0x1ff << DMIPSPLLCFG_6368_NDIV_SHIFT)
1174
1175#define DDR_DMIPSPLLDIV_6368_REG 0x24
1176#define DMIPSPLLDIV_6368_MDIV_SHIFT 0
1177#define DMIPSPLLDIV_6368_MDIV_MASK (0xff << DMIPSPLLDIV_6368_MDIV_SHIFT)
1178
1179
1180/*************************************************************************
1181 * _REG relative to RSET_M2M
1182 *************************************************************************/
1183
1184#define M2M_RX 0
1185#define M2M_TX 1
1186
1187#define M2M_SRC_REG(x) ((x) * 0x40 + 0x00)
1188#define M2M_DST_REG(x) ((x) * 0x40 + 0x04)
1189#define M2M_SIZE_REG(x) ((x) * 0x40 + 0x08)
1190
1191#define M2M_CTRL_REG(x) ((x) * 0x40 + 0x0c)
1192#define M2M_CTRL_ENABLE_MASK (1 << 0)
1193#define M2M_CTRL_IRQEN_MASK (1 << 1)
1194#define M2M_CTRL_ERROR_CLR_MASK (1 << 6)
1195#define M2M_CTRL_DONE_CLR_MASK (1 << 7)
1196#define M2M_CTRL_NOINC_MASK (1 << 8)
1197#define M2M_CTRL_PCMCIASWAP_MASK (1 << 9)
1198#define M2M_CTRL_SWAPBYTE_MASK (1 << 10)
1199#define M2M_CTRL_ENDIAN_MASK (1 << 11)
1200
1201#define M2M_STAT_REG(x) ((x) * 0x40 + 0x10)
1202#define M2M_STAT_DONE (1 << 0)
1203#define M2M_STAT_ERROR (1 << 1)
1204
1205#define M2M_SRCID_REG(x) ((x) * 0x40 + 0x14)
1206#define M2M_DSTID_REG(x) ((x) * 0x40 + 0x18)
1207
1208/*************************************************************************
1209 * _REG relative to RSET_RNG
1210 *************************************************************************/
1211
1212#define RNG_CTRL 0x00
1213#define RNG_EN (1 << 0)
1214
1215#define RNG_STAT 0x04
1216#define RNG_AVAIL_MASK (0xff000000)
1217
1218#define RNG_DATA 0x08
1219#define RNG_THRES 0x0c
1220#define RNG_MASK 0x10
1221
1222/*************************************************************************
1223 * _REG relative to RSET_SPI
1224 *************************************************************************/
1225
1226/* BCM 6338 SPI core */
1227#define SPI_6338_CMD 0x00 /* 16-bits register */
1228#define SPI_6338_INT_STATUS 0x02
1229#define SPI_6338_INT_MASK_ST 0x03
1230#define SPI_6338_INT_MASK 0x04
1231#define SPI_6338_ST 0x05
1232#define SPI_6338_CLK_CFG 0x06
1233#define SPI_6338_FILL_BYTE 0x07
1234#define SPI_6338_MSG_TAIL 0x09
1235#define SPI_6338_RX_TAIL 0x0b
1236#define SPI_6338_MSG_CTL 0x40 /* 8-bits register */
1237#define SPI_6338_MSG_CTL_WIDTH 8
1238#define SPI_6338_MSG_DATA 0x41
1239#define SPI_6338_MSG_DATA_SIZE 0x3f
1240#define SPI_6338_RX_DATA 0x80
1241#define SPI_6338_RX_DATA_SIZE 0x3f
1242
1243/* BCM 6348 SPI core */
1244#define SPI_6348_CMD 0x00 /* 16-bits register */
1245#define SPI_6348_INT_STATUS 0x02
1246#define SPI_6348_INT_MASK_ST 0x03
1247#define SPI_6348_INT_MASK 0x04
1248#define SPI_6348_ST 0x05
1249#define SPI_6348_CLK_CFG 0x06
1250#define SPI_6348_FILL_BYTE 0x07
1251#define SPI_6348_MSG_TAIL 0x09
1252#define SPI_6348_RX_TAIL 0x0b
1253#define SPI_6348_MSG_CTL 0x40 /* 8-bits register */
1254#define SPI_6348_MSG_CTL_WIDTH 8
1255#define SPI_6348_MSG_DATA 0x41
1256#define SPI_6348_MSG_DATA_SIZE 0x3f
1257#define SPI_6348_RX_DATA 0x80
1258#define SPI_6348_RX_DATA_SIZE 0x3f
1259
1260/* BCM 6358 SPI core */
1261#define SPI_6358_MSG_CTL 0x00 /* 16-bits register */
1262#define SPI_6358_MSG_CTL_WIDTH 16
1263#define SPI_6358_MSG_DATA 0x02
1264#define SPI_6358_MSG_DATA_SIZE 0x21e
1265#define SPI_6358_RX_DATA 0x400
1266#define SPI_6358_RX_DATA_SIZE 0x220
1267#define SPI_6358_CMD 0x700 /* 16-bits register */
1268#define SPI_6358_INT_STATUS 0x702
1269#define SPI_6358_INT_MASK_ST 0x703
1270#define SPI_6358_INT_MASK 0x704
1271#define SPI_6358_ST 0x705
1272#define SPI_6358_CLK_CFG 0x706
1273#define SPI_6358_FILL_BYTE 0x707
1274#define SPI_6358_MSG_TAIL 0x709
1275#define SPI_6358_RX_TAIL 0x70B
1276
1277/* BCM 6358 SPI core */
1278#define SPI_6368_MSG_CTL 0x00 /* 16-bits register */
1279#define SPI_6368_MSG_CTL_WIDTH 16
1280#define SPI_6368_MSG_DATA 0x02
1281#define SPI_6368_MSG_DATA_SIZE 0x21e
1282#define SPI_6368_RX_DATA 0x400
1283#define SPI_6368_RX_DATA_SIZE 0x220
1284#define SPI_6368_CMD 0x700 /* 16-bits register */
1285#define SPI_6368_INT_STATUS 0x702
1286#define SPI_6368_INT_MASK_ST 0x703
1287#define SPI_6368_INT_MASK 0x704
1288#define SPI_6368_ST 0x705
1289#define SPI_6368_CLK_CFG 0x706
1290#define SPI_6368_FILL_BYTE 0x707
1291#define SPI_6368_MSG_TAIL 0x709
1292#define SPI_6368_RX_TAIL 0x70B
1293
1294/* Shared SPI definitions */
1295
1296/* Message configuration */
1297#define SPI_FD_RW 0x00
1298#define SPI_HD_W 0x01
1299#define SPI_HD_R 0x02
1300#define SPI_BYTE_CNT_SHIFT 0
1301#define SPI_6338_MSG_TYPE_SHIFT 6
1302#define SPI_6348_MSG_TYPE_SHIFT 6
1303#define SPI_6358_MSG_TYPE_SHIFT 14
1304#define SPI_6368_MSG_TYPE_SHIFT 14
1305
1306/* Command */
1307#define SPI_CMD_NOOP 0x00
1308#define SPI_CMD_SOFT_RESET 0x01
1309#define SPI_CMD_HARD_RESET 0x02
1310#define SPI_CMD_START_IMMEDIATE 0x03
1311#define SPI_CMD_COMMAND_SHIFT 0
1312#define SPI_CMD_COMMAND_MASK 0x000f
1313#define SPI_CMD_DEVICE_ID_SHIFT 4
1314#define SPI_CMD_PREPEND_BYTE_CNT_SHIFT 8
1315#define SPI_CMD_ONE_BYTE_SHIFT 11
1316#define SPI_CMD_ONE_WIRE_SHIFT 12
1317#define SPI_DEV_ID_0 0
1318#define SPI_DEV_ID_1 1
1319#define SPI_DEV_ID_2 2
1320#define SPI_DEV_ID_3 3
1321
1322/* Interrupt mask */
1323#define SPI_INTR_CMD_DONE 0x01
1324#define SPI_INTR_RX_OVERFLOW 0x02
1325#define SPI_INTR_TX_UNDERFLOW 0x04
1326#define SPI_INTR_TX_OVERFLOW 0x08
1327#define SPI_INTR_RX_UNDERFLOW 0x10
1328#define SPI_INTR_CLEAR_ALL 0x1f
1329
1330/* Status */
1331#define SPI_RX_EMPTY 0x02
1332#define SPI_CMD_BUSY 0x04
1333#define SPI_SERIAL_BUSY 0x08
1334
1335/* Clock configuration */
1336#define SPI_CLK_20MHZ 0x00
1337#define SPI_CLK_0_391MHZ 0x01
1338#define SPI_CLK_0_781MHZ 0x02 /* default */
1339#define SPI_CLK_1_563MHZ 0x03
1340#define SPI_CLK_3_125MHZ 0x04
1341#define SPI_CLK_6_250MHZ 0x05
1342#define SPI_CLK_12_50MHZ 0x06
1343#define SPI_CLK_MASK 0x07
1344#define SPI_SSOFFTIME_MASK 0x38
1345#define SPI_SSOFFTIME_SHIFT 3
1346#define SPI_BYTE_SWAP 0x80
1347
1348/*************************************************************************
1349 * _REG relative to RSET_MISC
1350 *************************************************************************/
1351#define MISC_SERDES_CTRL_REG 0x0
1352#define SERDES_PCIE_EN (1 << 0)
1353#define SERDES_PCIE_EXD_EN (1 << 15)
1354
1355#define MISC_STRAPBUS_6328_REG 0x240
1356#define STRAPBUS_6328_FCVO_SHIFT 7
1357#define STRAPBUS_6328_FCVO_MASK (0x1f << STRAPBUS_6328_FCVO_SHIFT)
1358#define STRAPBUS_6328_BOOT_SEL_SERIAL (1 << 28)
1359#define STRAPBUS_6328_BOOT_SEL_NAND (0 << 28)
1360
1361/*************************************************************************
1362 * _REG relative to RSET_PCIE
1363 *************************************************************************/
1364
1365#define PCIE_CONFIG2_REG 0x408
1366#define CONFIG2_BAR1_SIZE_EN 1
1367#define CONFIG2_BAR1_SIZE_MASK 0xf
1368
1369#define PCIE_IDVAL3_REG 0x43c
1370#define IDVAL3_CLASS_CODE_MASK 0xffffff
1371#define IDVAL3_SUBCLASS_SHIFT 8
1372#define IDVAL3_CLASS_SHIFT 16
1373
1374#define PCIE_DLSTATUS_REG 0x1048
1375#define DLSTATUS_PHYLINKUP (1 << 13)
1376
1377#define PCIE_BRIDGE_OPT1_REG 0x2820
1378#define OPT1_RD_BE_OPT_EN (1 << 7)
1379#define OPT1_RD_REPLY_BE_FIX_EN (1 << 9)
1380#define OPT1_PCIE_BRIDGE_HOLE_DET_EN (1 << 11)
1381#define OPT1_L1_INT_STATUS_MASK_POL (1 << 12)
1382
1383#define PCIE_BRIDGE_OPT2_REG 0x2824
1384#define OPT2_UBUS_UR_DECODE_DIS (1 << 2)
1385#define OPT2_TX_CREDIT_CHK_EN (1 << 4)
1386#define OPT2_CFG_TYPE1_BD_SEL (1 << 7)
1387#define OPT2_CFG_TYPE1_BUS_NO_SHIFT 16
1388#define OPT2_CFG_TYPE1_BUS_NO_MASK (0xff << OPT2_CFG_TYPE1_BUS_NO_SHIFT)
1389
1390#define PCIE_BRIDGE_BAR0_BASEMASK_REG 0x2828
1391#define PCIE_BRIDGE_BAR1_BASEMASK_REG 0x2830
1392#define BASEMASK_REMAP_EN (1 << 0)
1393#define BASEMASK_SWAP_EN (1 << 1)
1394#define BASEMASK_MASK_SHIFT 4
1395#define BASEMASK_MASK_MASK (0xfff << BASEMASK_MASK_SHIFT)
1396#define BASEMASK_BASE_SHIFT 20
1397#define BASEMASK_BASE_MASK (0xfff << BASEMASK_BASE_SHIFT)
1398
1399#define PCIE_BRIDGE_BAR0_REBASE_ADDR_REG 0x282c
1400#define PCIE_BRIDGE_BAR1_REBASE_ADDR_REG 0x2834
1401#define REBASE_ADDR_BASE_SHIFT 20
1402#define REBASE_ADDR_BASE_MASK (0xfff << REBASE_ADDR_BASE_SHIFT)
1403
1404#define PCIE_BRIDGE_RC_INT_MASK_REG 0x2854
1405#define PCIE_RC_INT_A (1 << 0)
1406#define PCIE_RC_INT_B (1 << 1)
1407#define PCIE_RC_INT_C (1 << 2)
1408#define PCIE_RC_INT_D (1 << 3)
1409
1410#define PCIE_DEVICE_OFFSET 0x8000
1411
1412#endif /* BCM63XX_REGS_H_ */ 771#endif /* BCM63XX_REGS_H_ */
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_reset.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_reset.h
deleted file mode 100644
index 3a6eb9c1adc..00000000000
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_reset.h
+++ /dev/null
@@ -1,21 +0,0 @@
1#ifndef __BCM63XX_RESET_H
2#define __BCM63XX_RESET_H
3
4enum bcm63xx_core_reset {
5 BCM63XX_RESET_SPI,
6 BCM63XX_RESET_ENET,
7 BCM63XX_RESET_USBH,
8 BCM63XX_RESET_USBD,
9 BCM63XX_RESET_SAR,
10 BCM63XX_RESET_DSL,
11 BCM63XX_RESET_EPHY,
12 BCM63XX_RESET_ENETSW,
13 BCM63XX_RESET_PCM,
14 BCM63XX_RESET_MPI,
15 BCM63XX_RESET_PCIE,
16 BCM63XX_RESET_PCIE_EXT,
17};
18
19void bcm63xx_core_set_reset(enum bcm63xx_core_reset, int reset);
20
21#endif
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm963xx_tag.h b/arch/mips/include/asm/mach-bcm63xx/bcm963xx_tag.h
index 1e6b587f62c..ed72e6a26b7 100644
--- a/arch/mips/include/asm/mach-bcm63xx/bcm963xx_tag.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm963xx_tag.h
@@ -16,6 +16,7 @@
16#define TAGINFO1_LEN 30 /* Length of vendor information field1 in tag */ 16#define TAGINFO1_LEN 30 /* Length of vendor information field1 in tag */
17#define FLASHLAYOUTVER_LEN 4 /* Length of Flash Layout Version String tag */ 17#define FLASHLAYOUTVER_LEN 4 /* Length of Flash Layout Version String tag */
18#define TAGINFO2_LEN 16 /* Length of vendor information field2 in tag */ 18#define TAGINFO2_LEN 16 /* Length of vendor information field2 in tag */
19#define CRC_LEN 4 /* Length of CRC in bytes */
19#define ALTTAGINFO_LEN 54 /* Alternate length for vendor information; Pirelli */ 20#define ALTTAGINFO_LEN 54 /* Alternate length for vendor information; Pirelli */
20 21
21#define NUM_PIRELLI 2 22#define NUM_PIRELLI 2
@@ -76,19 +77,19 @@ struct bcm_tag {
76 /* 192-195: Version flash layout */ 77 /* 192-195: Version flash layout */
77 char flash_layout_ver[FLASHLAYOUTVER_LEN]; 78 char flash_layout_ver[FLASHLAYOUTVER_LEN];
78 /* 196-199: kernel+rootfs CRC32 */ 79 /* 196-199: kernel+rootfs CRC32 */
79 __u32 fskernel_crc; 80 char fskernel_crc[CRC_LEN];
80 /* 200-215: Unused except on Alice Gate where is is information */ 81 /* 200-215: Unused except on Alice Gate where is is information */
81 char information2[TAGINFO2_LEN]; 82 char information2[TAGINFO2_LEN];
82 /* 216-219: CRC32 of image less imagetag (kernel for Alice Gate) */ 83 /* 216-219: CRC32 of image less imagetag (kernel for Alice Gate) */
83 __u32 image_crc; 84 char image_crc[CRC_LEN];
84 /* 220-223: CRC32 of rootfs partition */ 85 /* 220-223: CRC32 of rootfs partition */
85 __u32 rootfs_crc; 86 char rootfs_crc[CRC_LEN];
86 /* 224-227: CRC32 of kernel partition */ 87 /* 224-227: CRC32 of kernel partition */
87 __u32 kernel_crc; 88 char kernel_crc[CRC_LEN];
88 /* 228-235: Unused at present */ 89 /* 228-235: Unused at present */
89 char reserved1[8]; 90 char reserved1[8];
90 /* 236-239: CRC32 of header excluding last 20 bytes */ 91 /* 236-239: CRC32 of header excluding last 20 bytes */
91 __u32 header_crc; 92 char header_crc[CRC_LEN];
92 /* 240-255: Unused at present */ 93 /* 240-255: Unused at present */
93 char reserved2[16]; 94 char reserved2[16];
94}; 95};
diff --git a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
index 682bcf3b492..474daaa5349 100644
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -5,7 +5,6 @@
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>
9#include <bcm63xx_dev_dsp.h> 8#include <bcm63xx_dev_dsp.h>
10 9
11/* 10/*
@@ -15,6 +14,23 @@
15#define BCM963XX_NVRAM_OFFSET 0x580 14#define BCM963XX_NVRAM_OFFSET 0x580
16 15
17/* 16/*
17 * nvram structure
18 */
19struct bcm963xx_nvram {
20 u32 version;
21 u8 reserved1[256];
22 u8 name[16];
23 u32 main_tp_number;
24 u32 psi_size;
25 u32 mac_addr_count;
26 u8 mac_addr_base[6];
27 u8 reserved2[2];
28 u32 checksum_old;
29 u8 reserved3[720];
30 u32 checksum_high;
31};
32
33/*
18 * board definition 34 * board definition
19 */ 35 */
20struct board_info { 36struct board_info {
@@ -28,7 +44,6 @@ struct board_info {
28 unsigned int has_pccard:1; 44 unsigned int has_pccard:1;
29 unsigned int has_ohci0:1; 45 unsigned int has_ohci0:1;
30 unsigned int has_ehci0:1; 46 unsigned int has_ehci0:1;
31 unsigned int has_usbd:1;
32 unsigned int has_dsp:1; 47 unsigned int has_dsp:1;
33 unsigned int has_uart0:1; 48 unsigned int has_uart0:1;
34 unsigned int has_uart1:1; 49 unsigned int has_uart1:1;
@@ -37,9 +52,6 @@ struct board_info {
37 struct bcm63xx_enet_platform_data enet0; 52 struct bcm63xx_enet_platform_data enet0;
38 struct bcm63xx_enet_platform_data enet1; 53 struct bcm63xx_enet_platform_data enet1;
39 54
40 /* USB config */
41 struct bcm63xx_usbd_platform_data usbd;
42
43 /* DSP config */ 55 /* DSP config */
44 struct bcm63xx_dsp_platform_data dsp; 56 struct bcm63xx_dsp_platform_data dsp;
45 57
diff --git a/arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h b/arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h
index e9c408e8ff4..f453c01d067 100644
--- a/arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h
@@ -37,7 +37,6 @@
37#define cpu_has_mips64r2 0 37#define cpu_has_mips64r2 0
38 38
39#define cpu_has_dsp 0 39#define cpu_has_dsp 0
40#define cpu_has_dsp2 0
41#define cpu_has_mipsmt 0 40#define cpu_has_mipsmt 0
42#define cpu_has_userlocal 0 41#define cpu_has_userlocal 0
43 42
diff --git a/arch/mips/include/asm/mach-bcm63xx/ioremap.h b/arch/mips/include/asm/mach-bcm63xx/ioremap.h
deleted file mode 100644
index 30931c42379..00000000000
--- a/arch/mips/include/asm/mach-bcm63xx/ioremap.h
+++ /dev/null
@@ -1,43 +0,0 @@
1#ifndef BCM63XX_IOREMAP_H_
2#define BCM63XX_IOREMAP_H_
3
4#include <bcm63xx_cpu.h>
5
6static inline phys_t fixup_bigphys_addr(phys_t phys_addr, phys_t size)
7{
8 return phys_addr;
9}
10
11static inline int is_bcm63xx_internal_registers(phys_t offset)
12{
13 switch (bcm63xx_get_cpu_id()) {
14 case BCM6338_CPU_ID:
15 case BCM6345_CPU_ID:
16 case BCM6348_CPU_ID:
17 case BCM6358_CPU_ID:
18 if (offset >= 0xfff00000)
19 return 1;
20 break;
21 case BCM6328_CPU_ID:
22 case BCM6368_CPU_ID:
23 if (offset >= 0xb0000000 && offset < 0xb1000000)
24 return 1;
25 break;
26 }
27 return 0;
28}
29
30static inline void __iomem *plat_ioremap(phys_t offset, unsigned long size,
31 unsigned long flags)
32{
33 if (is_bcm63xx_internal_registers(offset))
34 return (void __iomem *)offset;
35 return NULL;
36}
37
38static inline int plat_iounmap(const volatile void __iomem *addr)
39{
40 return is_bcm63xx_internal_registers((unsigned long)addr);
41}
42
43#endif /* BCM63XX_IOREMAP_H_ */
diff --git a/arch/mips/include/asm/mach-bcm63xx/irq.h b/arch/mips/include/asm/mach-bcm63xx/irq.h
deleted file mode 100644
index 9332e788a5c..00000000000
--- a/arch/mips/include/asm/mach-bcm63xx/irq.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_BCM63XX_IRQ_H
2#define __ASM_MACH_BCM63XX_IRQ_H
3
4#define NR_IRQS 128
5#define MIPS_CPU_IRQ_BASE 0
6
7#endif
diff --git a/arch/mips/include/asm/mach-bcm63xx/war.h b/arch/mips/include/asm/mach-bcm63xx/war.h
index 05ee8671bef..8e3f3fdf320 100644
--- a/arch/mips/include/asm/mach-bcm63xx/war.h
+++ b/arch/mips/include/asm/mach-bcm63xx/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
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 94ed063eec9..a58addb98cf 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
@@ -53,13 +53,12 @@
53#define cpu_has_mips64r2 1 53#define cpu_has_mips64r2 1
54#define cpu_has_mips_r2_exec_hazard 0 54#define cpu_has_mips_r2_exec_hazard 0
55#define cpu_has_dsp 0 55#define cpu_has_dsp 0
56#define cpu_has_dsp2 0
57#define cpu_has_mipsmt 0 56#define cpu_has_mipsmt 0
58#define cpu_has_vint 0 57#define cpu_has_vint 0
59#define cpu_has_veic 0 58#define cpu_has_veic 0
60#define cpu_hwrena_impl_bits 0xc0000000 59#define cpu_hwrena_impl_bits 0xc0000000
61 60
62#define cpu_has_rixi (cpu_data[0].cputype != CPU_CAVIUM_OCTEON) 61#define kernel_uses_smartmips_rixi (cpu_data[0].cputype != CPU_CAVIUM_OCTEON)
63 62
64#define ARCH_HAS_IRQ_PER_CPU 1 63#define ARCH_HAS_IRQ_PER_CPU 1
65#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 502bb1815ae..5b05f186e39 100644
--- a/arch/mips/include/asm/mach-cavium-octeon/irq.h
+++ b/arch/mips/include/asm/mach-cavium-octeon/irq.h
@@ -21,11 +21,14 @@ 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 + 64, 24 OCTEON_IRQ_GPIO0 = OCTEON_IRQ_WORKQ0 + 16,
25 OCTEON_IRQ_MBOX0 = OCTEON_IRQ_WDOG0 + 32, 25 OCTEON_IRQ_WDOG0 = OCTEON_IRQ_GPIO0 + 16,
26 OCTEON_IRQ_WDOG15 = OCTEON_IRQ_WDOG0 + 15,
27 OCTEON_IRQ_MBOX0 = OCTEON_IRQ_WDOG0 + 16,
26 OCTEON_IRQ_MBOX1, 28 OCTEON_IRQ_MBOX1,
27 OCTEON_IRQ_MBOX2, 29 OCTEON_IRQ_UART0,
28 OCTEON_IRQ_MBOX3, 30 OCTEON_IRQ_UART1,
31 OCTEON_IRQ_UART2,
29 OCTEON_IRQ_PCI_INT0, 32 OCTEON_IRQ_PCI_INT0,
30 OCTEON_IRQ_PCI_INT1, 33 OCTEON_IRQ_PCI_INT1,
31 OCTEON_IRQ_PCI_INT2, 34 OCTEON_IRQ_PCI_INT2,
@@ -35,24 +38,64 @@ enum octeon_irq {
35 OCTEON_IRQ_PCI_MSI2, 38 OCTEON_IRQ_PCI_MSI2,
36 OCTEON_IRQ_PCI_MSI3, 39 OCTEON_IRQ_PCI_MSI3,
37 40
41 OCTEON_IRQ_TWSI,
42 OCTEON_IRQ_TWSI2,
38 OCTEON_IRQ_RML, 43 OCTEON_IRQ_RML,
44 OCTEON_IRQ_TRACE0,
45 OCTEON_IRQ_GMX_DRP0 = OCTEON_IRQ_TRACE0 + 4,
46 OCTEON_IRQ_IPD_DRP = OCTEON_IRQ_GMX_DRP0 + 5,
47 OCTEON_IRQ_KEY_ZERO,
39 OCTEON_IRQ_TIMER0, 48 OCTEON_IRQ_TIMER0,
40 OCTEON_IRQ_TIMER1, 49 OCTEON_IRQ_TIMER1,
41 OCTEON_IRQ_TIMER2, 50 OCTEON_IRQ_TIMER2,
42 OCTEON_IRQ_TIMER3, 51 OCTEON_IRQ_TIMER3,
43 OCTEON_IRQ_USB0, 52 OCTEON_IRQ_USB0,
44 OCTEON_IRQ_USB1, 53 OCTEON_IRQ_USB1,
45#ifndef CONFIG_PCI_MSI 54 OCTEON_IRQ_PCM,
46 OCTEON_IRQ_LAST = 127 55 OCTEON_IRQ_MPI,
47#endif 56 OCTEON_IRQ_POWIQ,
57 OCTEON_IRQ_IPDPPTHR,
58 OCTEON_IRQ_MII0,
59 OCTEON_IRQ_MII1,
60 OCTEON_IRQ_BOOTDMA,
61
62 OCTEON_IRQ_NAND,
63 OCTEON_IRQ_MIO, /* Summary of MIO_BOOT_ERR */
64 OCTEON_IRQ_IOB, /* Summary of IOB_INT_SUM */
65 OCTEON_IRQ_FPA, /* Summary of FPA_INT_SUM */
66 OCTEON_IRQ_POW, /* Summary of POW_ECC_ERR */
67 OCTEON_IRQ_L2C, /* Summary of L2C_INT_STAT */
68 OCTEON_IRQ_IPD, /* Summary of IPD_INT_SUM */
69 OCTEON_IRQ_PIP, /* Summary of PIP_INT_REG */
70 OCTEON_IRQ_PKO, /* Summary of PKO_REG_ERROR */
71 OCTEON_IRQ_ZIP, /* Summary of ZIP_ERROR */
72 OCTEON_IRQ_TIM, /* Summary of TIM_REG_ERROR */
73 OCTEON_IRQ_RAD, /* Summary of RAD_REG_ERROR */
74 OCTEON_IRQ_KEY, /* Summary of KEY_INT_SUM */
75 OCTEON_IRQ_DFA, /* Summary of DFA */
76 OCTEON_IRQ_USBCTL, /* Summary of USBN0_INT_SUM */
77 OCTEON_IRQ_SLI, /* Summary of SLI_INT_SUM */
78 OCTEON_IRQ_DPI, /* Summary of DPI_INT_SUM */
79 OCTEON_IRQ_AGX0, /* Summary of GMX0*+PCS0_INT*_REG */
80 OCTEON_IRQ_AGL = OCTEON_IRQ_AGX0 + 5,
81 OCTEON_IRQ_PTP,
82 OCTEON_IRQ_PEM0,
83 OCTEON_IRQ_PEM1,
84 OCTEON_IRQ_SRIO0,
85 OCTEON_IRQ_SRIO1,
86 OCTEON_IRQ_LMC0,
87 OCTEON_IRQ_DFM = OCTEON_IRQ_LMC0 + 4, /* Summary of DFM */
88 OCTEON_IRQ_RST,
48}; 89};
49 90
50#ifdef CONFIG_PCI_MSI 91#ifdef CONFIG_PCI_MSI
51/* 256 - 511 represent the MSI interrupts 0-255 */ 92/* 152 - 407 represent the MSI interrupts 0-255 */
52#define OCTEON_IRQ_MSI_BIT0 (256) 93#define OCTEON_IRQ_MSI_BIT0 (OCTEON_IRQ_RST + 1)
53 94
54#define OCTEON_IRQ_MSI_LAST (OCTEON_IRQ_MSI_BIT0 + 255) 95#define OCTEON_IRQ_MSI_LAST (OCTEON_IRQ_MSI_BIT0 + 255)
55#define OCTEON_IRQ_LAST (OCTEON_IRQ_MSI_LAST + 1) 96#define OCTEON_IRQ_LAST (OCTEON_IRQ_MSI_LAST + 1)
97#else
98#define OCTEON_IRQ_LAST (OCTEON_IRQ_RST + 1)
56#endif 99#endif
57 100
58#endif 101#endif
diff --git a/arch/mips/include/asm/mach-cavium-octeon/war.h b/arch/mips/include/asm/mach-cavium-octeon/war.h
index eb72b35cf04..c4712d7cc81 100644
--- a/arch/mips/include/asm/mach-cavium-octeon/war.h
+++ b/arch/mips/include/asm/mach-cavium-octeon/war.h
@@ -18,6 +18,7 @@
18#define MIPS4K_ICACHE_REFILL_WAR 0 18#define MIPS4K_ICACHE_REFILL_WAR 0
19#define MIPS_CACHE_SYNC_WAR 0 19#define MIPS_CACHE_SYNC_WAR 0
20#define TX49XX_ICACHE_INDEX_INV_WAR 0 20#define TX49XX_ICACHE_INDEX_INV_WAR 0
21#define RM9000_CDEX_SMP_WAR 0
21#define ICACHE_REFILLS_WORKAROUND_WAR 0 22#define ICACHE_REFILLS_WORKAROUND_WAR 0
22#define R10000_LLSC_WAR 0 23#define R10000_LLSC_WAR 0
23#define MIPS34K_MISSED_ITLB_WAR 0 24#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h b/arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h
index babc8374e37..b3314cf5319 100644
--- a/arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h
@@ -45,7 +45,6 @@
45#define cpu_has_ic_fills_f_dc 0 45#define cpu_has_ic_fills_f_dc 0
46#define cpu_icache_snoops_remote_store 0 46#define cpu_icache_snoops_remote_store 0
47#define cpu_has_dsp 0 47#define cpu_has_dsp 0
48#define cpu_has_dsp2 0
49#define cpu_has_mipsmt 0 48#define cpu_has_mipsmt 0
50#define cpu_has_userlocal 0 49#define cpu_has_userlocal 0
51 50
diff --git a/arch/mips/include/asm/mach-cobalt/war.h b/arch/mips/include/asm/mach-cobalt/war.h
index 34ae4046541..97884fd18ac 100644
--- a/arch/mips/include/asm/mach-cobalt/war.h
+++ b/arch/mips/include/asm/mach-cobalt/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-db1x00/bcsr.h b/arch/mips/include/asm/mach-db1x00/bcsr.h
index 16f1cf5982b..618d2de02ed 100644
--- a/arch/mips/include/asm/mach-db1x00/bcsr.h
+++ b/arch/mips/include/asm/mach-db1x00/bcsr.h
@@ -34,8 +34,6 @@
34#define PB1200_BCSR_PHYS_ADDR 0x0D800000 34#define PB1200_BCSR_PHYS_ADDR 0x0D800000
35#define PB1200_BCSR_HEXLED_OFS 0x00400000 35#define PB1200_BCSR_HEXLED_OFS 0x00400000
36 36
37#define DB1300_BCSR_PHYS_ADDR 0x19800000
38#define DB1300_BCSR_HEXLED_OFS 0x00400000
39 37
40enum bcsr_id { 38enum bcsr_id {
41 /* BCSR base 1 */ 39 /* BCSR base 1 */
@@ -107,7 +105,6 @@ enum bcsr_whoami_boards {
107 BCSR_WHOAMI_PB1200 = BCSR_WHOAMI_PB1200_DDR1, 105 BCSR_WHOAMI_PB1200 = BCSR_WHOAMI_PB1200_DDR1,
108 BCSR_WHOAMI_PB1200_DDR2, 106 BCSR_WHOAMI_PB1200_DDR2,
109 BCSR_WHOAMI_DB1200, 107 BCSR_WHOAMI_DB1200,
110 BCSR_WHOAMI_DB1300,
111}; 108};
112 109
113/* STATUS reg. Unless otherwise noted, they're valid on all boards. 110/* STATUS reg. Unless otherwise noted, they're valid on all boards.
@@ -121,12 +118,12 @@ enum bcsr_whoami_boards {
121#define BCSR_STATUS_SRAMWIDTH 0x0080 118#define BCSR_STATUS_SRAMWIDTH 0x0080
122#define BCSR_STATUS_FLASHBUSY 0x0100 119#define BCSR_STATUS_FLASHBUSY 0x0100
123#define BCSR_STATUS_ROMBUSY 0x0400 120#define BCSR_STATUS_ROMBUSY 0x0400
124#define BCSR_STATUS_SD0WP 0x0400 /* DB1200/DB1300:SD1 */ 121#define BCSR_STATUS_SD0WP 0x0400 /* DB1200 */
125#define BCSR_STATUS_SD1WP 0x0800 122#define BCSR_STATUS_SD1WP 0x0800
126#define BCSR_STATUS_USBOTGID 0x0800 /* PB/DB1550 */ 123#define BCSR_STATUS_USBOTGID 0x0800 /* PB/DB1550 */
127#define BCSR_STATUS_DB1000_SWAPBOOT 0x2000 124#define BCSR_STATUS_DB1000_SWAPBOOT 0x2000
128#define BCSR_STATUS_DB1200_SWAPBOOT 0x0040 /* DB1200/1300 */ 125#define BCSR_STATUS_DB1200_SWAPBOOT 0x0040 /* DB1200 */
129#define BCSR_STATUS_IDECBLID 0x0200 /* DB1200/1300 */ 126#define BCSR_STATUS_IDECBLID 0x0200 /* DB1200 */
130#define BCSR_STATUS_DB1200_U0RXD 0x1000 /* DB1200 */ 127#define BCSR_STATUS_DB1200_U0RXD 0x1000 /* DB1200 */
131#define BCSR_STATUS_DB1200_U1RXD 0x2000 /* DB1200 */ 128#define BCSR_STATUS_DB1200_U1RXD 0x2000 /* DB1200 */
132#define BCSR_STATUS_FLASHDEN 0xC000 129#define BCSR_STATUS_FLASHDEN 0xC000
@@ -136,11 +133,6 @@ enum bcsr_whoami_boards {
136#define BCSR_STATUS_PB1550_U1RXD 0x2000 /* PB1550 */ 133#define BCSR_STATUS_PB1550_U1RXD 0x2000 /* PB1550 */
137#define BCSR_STATUS_PB1550_U3RXD 0x8000 /* PB1550 */ 134#define BCSR_STATUS_PB1550_U3RXD 0x8000 /* PB1550 */
138 135
139#define BCSR_STATUS_CFWP 0x4000 /* DB1300 */
140#define BCSR_STATUS_USBOCn 0x2000 /* DB1300 */
141#define BCSR_STATUS_OTGOCn 0x1000 /* DB1300 */
142#define BCSR_STATUS_DCDMARQ 0x0010 /* DB1300 */
143#define BCSR_STATUS_IDEDMARQ 0x0020 /* DB1300 */
144 136
145/* DB/PB1000,1100,1500,1550 */ 137/* DB/PB1000,1100,1500,1550 */
146#define BCSR_RESETS_PHY0 0x0001 138#define BCSR_RESETS_PHY0 0x0001
@@ -162,20 +154,18 @@ enum bcsr_whoami_boards {
162#define BCSR_BOARD_PCIEXTARB 0x0200 154#define BCSR_BOARD_PCIEXTARB 0x0200
163#define BCSR_BOARD_GPIO200RST 0x0400 155#define BCSR_BOARD_GPIO200RST 0x0400
164#define BCSR_BOARD_PCICLKOUT 0x0800 156#define BCSR_BOARD_PCICLKOUT 0x0800
165#define BCSR_BOARD_PB1100_SD0PWR 0x0400
166#define BCSR_BOARD_PB1100_SD1PWR 0x0800
167#define BCSR_BOARD_PCICFG 0x1000 157#define BCSR_BOARD_PCICFG 0x1000
168#define BCSR_BOARD_SPISEL 0x2000 /* PB/DB1550 */ 158#define BCSR_BOARD_SPISEL 0x4000 /* PB/DB1550 */
169#define BCSR_BOARD_SD0WP 0x4000 /* DB1100 */ 159#define BCSR_BOARD_SD0WP 0x4000 /* DB1100 */
170#define BCSR_BOARD_SD1WP 0x8000 /* DB1100 */ 160#define BCSR_BOARD_SD1WP 0x8000 /* DB1100 */
171 161
172 162
173/* DB/PB1200/1300 */ 163/* DB/PB1200 */
174#define BCSR_RESETS_ETH 0x0001 164#define BCSR_RESETS_ETH 0x0001
175#define BCSR_RESETS_CAMERA 0x0002 165#define BCSR_RESETS_CAMERA 0x0002
176#define BCSR_RESETS_DC 0x0004 166#define BCSR_RESETS_DC 0x0004
177#define BCSR_RESETS_IDE 0x0008 167#define BCSR_RESETS_IDE 0x0008
178#define BCSR_RESETS_TV 0x0010 /* DB1200/1300 */ 168#define BCSR_RESETS_TV 0x0010 /* DB1200 */
179/* Not resets but in the same register */ 169/* Not resets but in the same register */
180#define BCSR_RESETS_PWMR1MUX 0x0800 /* DB1200 */ 170#define BCSR_RESETS_PWMR1MUX 0x0800 /* DB1200 */
181#define BCSR_RESETS_PB1200_WSCFSM 0x0800 /* PB1200 */ 171#define BCSR_RESETS_PB1200_WSCFSM 0x0800 /* PB1200 */
@@ -184,22 +174,13 @@ enum bcsr_whoami_boards {
184#define BCSR_RESETS_SPISEL 0x4000 174#define BCSR_RESETS_SPISEL 0x4000
185#define BCSR_RESETS_SD1MUX 0x8000 /* PB1200 */ 175#define BCSR_RESETS_SD1MUX 0x8000 /* PB1200 */
186 176
187#define BCSR_RESETS_VDDQSHDN 0x0200 /* DB1300 */
188#define BCSR_RESETS_OTPPGM 0x0400 /* DB1300 */
189#define BCSR_RESETS_OTPSCLK 0x0800 /* DB1300 */
190#define BCSR_RESETS_OTPWRPROT 0x1000 /* DB1300 */
191#define BCSR_RESETS_OTPCSB 0x2000 /* DB1300 */
192#define BCSR_RESETS_OTGPWR 0x4000 /* DB1300 */
193#define BCSR_RESETS_USBHPWR 0x8000 /* DB1300 */
194
195#define BCSR_BOARD_LCDVEE 0x0001 177#define BCSR_BOARD_LCDVEE 0x0001
196#define BCSR_BOARD_LCDVDD 0x0002 178#define BCSR_BOARD_LCDVDD 0x0002
197#define BCSR_BOARD_LCDBL 0x0004 179#define BCSR_BOARD_LCDBL 0x0004
198#define BCSR_BOARD_CAMSNAP 0x0010 180#define BCSR_BOARD_CAMSNAP 0x0010
199#define BCSR_BOARD_CAMPWR 0x0020 181#define BCSR_BOARD_CAMPWR 0x0020
200#define BCSR_BOARD_SD0PWR 0x0040 182#define BCSR_BOARD_SD0PWR 0x0040
201#define BCSR_BOARD_CAMCS 0x0010 /* DB1300 */ 183
202#define BCSR_BOARD_HDMI_DE 0x0040 /* DB1300 */
203 184
204#define BCSR_SWITCHES_DIP 0x00FF 185#define BCSR_SWITCHES_DIP 0x00FF
205#define BCSR_SWITCHES_DIP_1 0x0080 186#define BCSR_SWITCHES_DIP_1 0x0080
@@ -233,10 +214,7 @@ enum bcsr_whoami_boards {
233#define BCSR_SYSTEM_RESET 0x8000 /* clear to reset */ 214#define BCSR_SYSTEM_RESET 0x8000 /* clear to reset */
234#define BCSR_SYSTEM_PWROFF 0x4000 /* set to power off */ 215#define BCSR_SYSTEM_PWROFF 0x4000 /* set to power off */
235#define BCSR_SYSTEM_VDDI 0x001F /* PB1xxx boards */ 216#define BCSR_SYSTEM_VDDI 0x001F /* PB1xxx boards */
236#define BCSR_SYSTEM_DEBUGCSMASK 0x003F /* DB1300 */ 217
237#define BCSR_SYSTEM_UDMAMODE 0x0100 /* DB1300 */
238#define BCSR_SYSTEM_WAKEONIRQ 0x0200 /* DB1300 */
239#define BCSR_SYSTEM_VDDI1300 0x3C00 /* DB1300 */
240 218
241 219
242 220
diff --git a/arch/mips/include/asm/mach-db1x00/db1200.h b/arch/mips/include/asm/mach-db1x00/db1200.h
index b2a8319521e..3404248f509 100644
--- a/arch/mips/include/asm/mach-db1x00/db1200.h
+++ b/arch/mips/include/asm/mach-db1x00/db1200.h
@@ -43,20 +43,17 @@
43#define BCSR_INT_PC1EJECT 0x0800 43#define BCSR_INT_PC1EJECT 0x0800
44#define BCSR_INT_SD0INSERT 0x1000 44#define BCSR_INT_SD0INSERT 0x1000
45#define BCSR_INT_SD0EJECT 0x2000 45#define BCSR_INT_SD0EJECT 0x2000
46#define BCSR_INT_SD1INSERT 0x4000
47#define BCSR_INT_SD1EJECT 0x8000
48 46
47#define IDE_PHYS_ADDR 0x18800000
49#define IDE_REG_SHIFT 5 48#define IDE_REG_SHIFT 5
49#define IDE_DDMA_REQ DSCR_CMD0_DMA_REQ1
50#define IDE_RQSIZE 128
50 51
51#define DB1200_IDE_PHYS_ADDR 0x18800000 52#define DB1200_IDE_PHYS_ADDR IDE_PHYS_ADDR
52#define DB1200_IDE_PHYS_LEN (16 << IDE_REG_SHIFT) 53#define DB1200_IDE_PHYS_LEN (16 << IDE_REG_SHIFT)
53#define DB1200_ETH_PHYS_ADDR 0x19000300 54#define DB1200_ETH_PHYS_ADDR 0x19000300
54#define DB1200_NAND_PHYS_ADDR 0x20000000 55#define DB1200_NAND_PHYS_ADDR 0x20000000
55 56
56#define PB1200_IDE_PHYS_ADDR 0x0C800000
57#define PB1200_ETH_PHYS_ADDR 0x0D000300
58#define PB1200_NAND_PHYS_ADDR 0x1C000000
59
60/* 57/*
61 * External Interrupts for DBAu1200 as of 8/6/2004. 58 * External Interrupts for DBAu1200 as of 8/6/2004.
62 * Bit positions in the CPLD registers can be calculated by taking 59 * Bit positions in the CPLD registers can be calculated by taking
@@ -82,8 +79,6 @@ enum external_db1200_ints {
82 DB1200_PC1_EJECT_INT, 79 DB1200_PC1_EJECT_INT,
83 DB1200_SD0_INSERT_INT, 80 DB1200_SD0_INSERT_INT,
84 DB1200_SD0_EJECT_INT, 81 DB1200_SD0_EJECT_INT,
85 PB1200_SD1_INSERT_INT,
86 PB1200_SD1_EJECT_INT,
87 82
88 DB1200_INT_END = DB1200_INT_BEGIN + 15, 83 DB1200_INT_END = DB1200_INT_BEGIN + 15,
89}; 84};
diff --git a/arch/mips/include/asm/mach-db1x00/db1300.h b/arch/mips/include/asm/mach-db1x00/db1300.h
deleted file mode 100644
index 7fe5fb3ba87..00000000000
--- a/arch/mips/include/asm/mach-db1x00/db1300.h
+++ /dev/null
@@ -1,40 +0,0 @@
1/*
2 * NetLogic DB1300 board constants
3 */
4
5#ifndef _DB1300_H_
6#define _DB1300_H_
7
8/* FPGA (external mux) interrupt sources */
9#define DB1300_FIRST_INT (ALCHEMY_GPIC_INT_LAST + 1)
10#define DB1300_IDE_INT (DB1300_FIRST_INT + 0)
11#define DB1300_ETH_INT (DB1300_FIRST_INT + 1)
12#define DB1300_CF_INT (DB1300_FIRST_INT + 2)
13#define DB1300_VIDEO_INT (DB1300_FIRST_INT + 4)
14#define DB1300_HDMI_INT (DB1300_FIRST_INT + 5)
15#define DB1300_DC_INT (DB1300_FIRST_INT + 6)
16#define DB1300_FLASH_INT (DB1300_FIRST_INT + 7)
17#define DB1300_CF_INSERT_INT (DB1300_FIRST_INT + 8)
18#define DB1300_CF_EJECT_INT (DB1300_FIRST_INT + 9)
19#define DB1300_AC97_INT (DB1300_FIRST_INT + 10)
20#define DB1300_AC97_PEN_INT (DB1300_FIRST_INT + 11)
21#define DB1300_SD1_INSERT_INT (DB1300_FIRST_INT + 12)
22#define DB1300_SD1_EJECT_INT (DB1300_FIRST_INT + 13)
23#define DB1300_OTG_VBUS_OC_INT (DB1300_FIRST_INT + 14)
24#define DB1300_HOST_VBUS_OC_INT (DB1300_FIRST_INT + 15)
25#define DB1300_LAST_INT (DB1300_FIRST_INT + 15)
26
27/* SMSC9210 CS */
28#define DB1300_ETH_PHYS_ADDR 0x19000000
29#define DB1300_ETH_PHYS_END 0x197fffff
30
31/* ATA CS */
32#define DB1300_IDE_PHYS_ADDR 0x18800000
33#define DB1300_IDE_REG_SHIFT 5
34#define DB1300_IDE_PHYS_LEN (16 << DB1300_IDE_REG_SHIFT)
35
36/* NAND CS */
37#define DB1300_NAND_PHYS_ADDR 0x20000000
38#define DB1300_NAND_PHYS_END 0x20000fff
39
40#endif /* _DB1300_H_ */
diff --git a/arch/mips/include/asm/mach-db1x00/irq.h b/arch/mips/include/asm/mach-db1x00/irq.h
deleted file mode 100644
index 15b26693238..00000000000
--- a/arch/mips/include/asm/mach-db1x00/irq.h
+++ /dev/null
@@ -1,23 +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) 2003 by Ralf Baechle
7 */
8#ifndef __ASM_MACH_GENERIC_IRQ_H
9#define __ASM_MACH_GENERIC_IRQ_H
10
11
12#ifdef NR_IRQS
13#undef NR_IRQS
14#endif
15
16#ifndef MIPS_CPU_IRQ_BASE
17#define MIPS_CPU_IRQ_BASE 0
18#endif
19
20/* 8 (MIPS) + 128 (au1300) + 16 (cpld) */
21#define NR_IRQS 152
22
23#endif /* __ASM_MACH_GENERIC_IRQ_H */
diff --git a/arch/mips/include/asm/mach-dec/war.h b/arch/mips/include/asm/mach-dec/war.h
index d29996feb3e..ca5e2ef909a 100644
--- a/arch/mips/include/asm/mach-dec/war.h
+++ b/arch/mips/include/asm/mach-dec/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-emma2rh/war.h b/arch/mips/include/asm/mach-emma2rh/war.h
index 79ae82da3ec..b660a4c30e6 100644
--- a/arch/mips/include/asm/mach-emma2rh/war.h
+++ b/arch/mips/include/asm/mach-emma2rh/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-generic/floppy.h b/arch/mips/include/asm/mach-generic/floppy.h
index a38f4d43e5e..001a8ce17c1 100644
--- a/arch/mips/include/asm/mach-generic/floppy.h
+++ b/arch/mips/include/asm/mach-generic/floppy.h
@@ -98,7 +98,7 @@ static inline void fd_disable_irq(void)
98static inline int fd_request_irq(void) 98static inline int fd_request_irq(void)
99{ 99{
100 return request_irq(FLOPPY_IRQ, floppy_interrupt, 100 return request_irq(FLOPPY_IRQ, floppy_interrupt,
101 0, "floppy", NULL); 101 IRQF_DISABLED, "floppy", NULL);
102} 102}
103 103
104static inline void fd_free_irq(void) 104static inline void fd_free_irq(void)
diff --git a/arch/mips/include/asm/mach-generic/irq.h b/arch/mips/include/asm/mach-generic/irq.h
index e014264b2be..70d9a25132c 100644
--- a/arch/mips/include/asm/mach-generic/irq.h
+++ b/arch/mips/include/asm/mach-generic/irq.h
@@ -34,6 +34,12 @@
34#endif 34#endif
35#endif 35#endif
36 36
37#ifdef CONFIG_IRQ_CPU_RM9K
38#ifndef RM9K_CPU_IRQ_BASE
39#define RM9K_CPU_IRQ_BASE (MIPS_CPU_IRQ_BASE+12)
40#endif
41#endif
42
37#endif /* CONFIG_IRQ_CPU */ 43#endif /* CONFIG_IRQ_CPU */
38 44
39#endif /* __ASM_MACH_GENERIC_IRQ_H */ 45#endif /* __ASM_MACH_GENERIC_IRQ_H */
diff --git a/arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h b/arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h
index f4caacd2555..9c8735158da 100644
--- a/arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h
@@ -30,7 +30,6 @@
30#define cpu_has_ic_fills_f_dc 0 30#define cpu_has_ic_fills_f_dc 0
31 31
32#define cpu_has_dsp 0 32#define cpu_has_dsp 0
33#define cpu_has_dsp2 0
34#define cpu_has_mipsmt 0 33#define cpu_has_mipsmt 0
35#define cpu_has_userlocal 0 34#define cpu_has_userlocal 0
36 35
diff --git a/arch/mips/include/asm/mach-ip22/war.h b/arch/mips/include/asm/mach-ip22/war.h
index fba640517f4..a44fa9656a8 100644
--- a/arch/mips/include/asm/mach-ip22/war.h
+++ b/arch/mips/include/asm/mach-ip22/war.h
@@ -21,6 +21,7 @@
21#define MIPS4K_ICACHE_REFILL_WAR 0 21#define MIPS4K_ICACHE_REFILL_WAR 0
22#define MIPS_CACHE_SYNC_WAR 0 22#define MIPS_CACHE_SYNC_WAR 0
23#define TX49XX_ICACHE_INDEX_INV_WAR 0 23#define TX49XX_ICACHE_INDEX_INV_WAR 0
24#define RM9000_CDEX_SMP_WAR 0
24#define ICACHE_REFILLS_WORKAROUND_WAR 0 25#define ICACHE_REFILLS_WORKAROUND_WAR 0
25#define R10000_LLSC_WAR 0 26#define R10000_LLSC_WAR 0
26#define MIPS34K_MISSED_ITLB_WAR 0 27#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h b/arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h
index 1d2b6ff60d3..7d3112b148d 100644
--- a/arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h
@@ -26,7 +26,6 @@
26#define cpu_has_dc_aliases 0 26#define cpu_has_dc_aliases 0
27#define cpu_has_ic_fills_f_dc 0 27#define cpu_has_ic_fills_f_dc 0
28#define cpu_has_dsp 0 28#define cpu_has_dsp 0
29#define cpu_has_dsp2 0
30#define cpu_icache_snoops_remote_store 1 29#define cpu_icache_snoops_remote_store 1
31#define cpu_has_mipsmt 0 30#define cpu_has_mipsmt 0
32#define cpu_has_userlocal 0 31#define cpu_has_userlocal 0
diff --git a/arch/mips/include/asm/mach-ip27/topology.h b/arch/mips/include/asm/mach-ip27/topology.h
index b2cf641f206..1b1a7d1632b 100644
--- a/arch/mips/include/asm/mach-ip27/topology.h
+++ b/arch/mips/include/asm/mach-ip27/topology.h
@@ -36,6 +36,23 @@ extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES];
36 36
37#define node_distance(from, to) (__node_distances[(from)][(to)]) 37#define node_distance(from, to) (__node_distances[(from)][(to)])
38 38
39/* sched_domains SD_NODE_INIT for SGI IP27 machines */
40#define SD_NODE_INIT (struct sched_domain) { \
41 .parent = NULL, \
42 .child = NULL, \
43 .groups = NULL, \
44 .min_interval = 8, \
45 .max_interval = 32, \
46 .busy_factor = 32, \
47 .imbalance_pct = 125, \
48 .cache_nice_tries = 1, \
49 .flags = SD_LOAD_BALANCE | \
50 SD_BALANCE_EXEC, \
51 .last_balance = jiffies, \
52 .balance_interval = 1, \
53 .nr_balance_failed = 0, \
54}
55
39#include <asm-generic/topology.h> 56#include <asm-generic/topology.h>
40 57
41#endif /* _ASM_MACH_TOPOLOGY_H */ 58#endif /* _ASM_MACH_TOPOLOGY_H */
diff --git a/arch/mips/include/asm/mach-ip27/war.h b/arch/mips/include/asm/mach-ip27/war.h
index 4ee0e4bdf4f..e2ddcc9b1ff 100644
--- a/arch/mips/include/asm/mach-ip27/war.h
+++ b/arch/mips/include/asm/mach-ip27/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 1 22#define R10000_LLSC_WAR 1
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-ip28/cpu-feature-overrides.h b/arch/mips/include/asm/mach-ip28/cpu-feature-overrides.h
index 50d344ca60a..9a53b326f84 100644
--- a/arch/mips/include/asm/mach-ip28/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-ip28/cpu-feature-overrides.h
@@ -27,7 +27,6 @@
27#define cpu_has_dc_aliases 0 /* see probe_pcache() */ 27#define cpu_has_dc_aliases 0 /* see probe_pcache() */
28#define cpu_has_ic_fills_f_dc 0 28#define cpu_has_ic_fills_f_dc 0
29#define cpu_has_dsp 0 29#define cpu_has_dsp 0
30#define cpu_has_dsp2 0
31#define cpu_icache_snoops_remote_store 1 30#define cpu_icache_snoops_remote_store 1
32#define cpu_has_mipsmt 0 31#define cpu_has_mipsmt 0
33#define cpu_has_userlocal 0 32#define cpu_has_userlocal 0
diff --git a/arch/mips/include/asm/mach-ip28/war.h b/arch/mips/include/asm/mach-ip28/war.h
index 4821c7b7a38..a1baafab486 100644
--- a/arch/mips/include/asm/mach-ip28/war.h
+++ b/arch/mips/include/asm/mach-ip28/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 1 22#define R10000_LLSC_WAR 1
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h b/arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h
index 2e1ec6cfedd..6782fccebe8 100644
--- a/arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h
@@ -37,7 +37,6 @@
37#define cpu_has_vtag_icache 0 37#define cpu_has_vtag_icache 0
38#define cpu_has_ic_fills_f_dc 0 38#define cpu_has_ic_fills_f_dc 0
39#define cpu_has_dsp 0 39#define cpu_has_dsp 0
40#define cpu_has_dsp2 0
41#define cpu_has_4k_cache 1 40#define cpu_has_4k_cache 1
42#define cpu_has_mipsmt 0 41#define cpu_has_mipsmt 0
43#define cpu_has_userlocal 0 42#define cpu_has_userlocal 0
diff --git a/arch/mips/include/asm/mach-ip32/war.h b/arch/mips/include/asm/mach-ip32/war.h
index 7237a935a13..d194056dcd7 100644
--- a/arch/mips/include/asm/mach-ip32/war.h
+++ b/arch/mips/include/asm/mach-ip32/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 1 21#define ICACHE_REFILLS_WORKAROUND_WAR 1
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-jazz/floppy.h b/arch/mips/include/asm/mach-jazz/floppy.h
index 88b5acb7514..56e9ca6ae42 100644
--- a/arch/mips/include/asm/mach-jazz/floppy.h
+++ b/arch/mips/include/asm/mach-jazz/floppy.h
@@ -90,7 +90,7 @@ static inline void fd_disable_irq(void)
90static inline int fd_request_irq(void) 90static inline int fd_request_irq(void)
91{ 91{
92 return request_irq(FLOPPY_IRQ, floppy_interrupt, 92 return request_irq(FLOPPY_IRQ, floppy_interrupt,
93 0, "floppy", NULL); 93 IRQF_DISABLED, "floppy", NULL);
94} 94}
95 95
96static inline void fd_free_irq(void) 96static inline void fd_free_irq(void)
diff --git a/arch/mips/include/asm/mach-jazz/war.h b/arch/mips/include/asm/mach-jazz/war.h
index 5b18b9a3d0e..6158ee861bf 100644
--- a/arch/mips/include/asm/mach-jazz/war.h
+++ b/arch/mips/include/asm/mach-jazz/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h b/arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
index a225baaa215..d12e5c6477b 100644
--- a/arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
@@ -38,7 +38,6 @@
38#define cpu_has_mips64r1 0 38#define cpu_has_mips64r1 0
39#define cpu_has_mips64r2 0 39#define cpu_has_mips64r2 0
40#define cpu_has_dsp 0 40#define cpu_has_dsp 0
41#define cpu_has_dsp2 0
42#define cpu_has_mipsmt 0 41#define cpu_has_mipsmt 0
43#define cpu_has_userlocal 0 42#define cpu_has_userlocal 0
44#define cpu_has_nofpuex 0 43#define cpu_has_nofpuex 0
diff --git a/arch/mips/include/asm/mach-jz4740/irq.h b/arch/mips/include/asm/mach-jz4740/irq.h
index 5ad1a9c113c..a865c983c70 100644
--- a/arch/mips/include/asm/mach-jz4740/irq.h
+++ b/arch/mips/include/asm/mach-jz4740/irq.h
@@ -45,7 +45,7 @@
45#define JZ4740_IRQ_LCD JZ4740_IRQ(30) 45#define JZ4740_IRQ_LCD JZ4740_IRQ(30)
46 46
47/* 2nd-level interrupts */ 47/* 2nd-level interrupts */
48#define JZ4740_IRQ_DMA(x) (JZ4740_IRQ(32) + (x)) 48#define JZ4740_IRQ_DMA(x) (JZ4740_IRQ(32) + (X))
49 49
50#define JZ4740_IRQ_INTC_GPIO(x) (JZ4740_IRQ_GPIO0 - (x)) 50#define JZ4740_IRQ_INTC_GPIO(x) (JZ4740_IRQ_GPIO0 - (x))
51#define JZ4740_IRQ_GPIO(x) (JZ4740_IRQ(48) + (x)) 51#define JZ4740_IRQ_GPIO(x) (JZ4740_IRQ(48) + (x))
diff --git a/arch/mips/include/asm/mach-jz4740/jz4740_nand.h b/arch/mips/include/asm/mach-jz4740/jz4740_nand.h
index 986982db7c3..bb5b9a4e29c 100644
--- a/arch/mips/include/asm/mach-jz4740/jz4740_nand.h
+++ b/arch/mips/include/asm/mach-jz4740/jz4740_nand.h
@@ -19,8 +19,6 @@
19#include <linux/mtd/nand.h> 19#include <linux/mtd/nand.h>
20#include <linux/mtd/partitions.h> 20#include <linux/mtd/partitions.h>
21 21
22#define JZ_NAND_NUM_BANKS 4
23
24struct jz_nand_platform_data { 22struct jz_nand_platform_data {
25 int num_partitions; 23 int num_partitions;
26 struct mtd_partition *partitions; 24 struct mtd_partition *partitions;
@@ -29,8 +27,6 @@ struct jz_nand_platform_data {
29 27
30 unsigned int busy_gpio; 28 unsigned int busy_gpio;
31 29
32 unsigned char banks[JZ_NAND_NUM_BANKS];
33
34 void (*ident_callback)(struct platform_device *, struct nand_chip *, 30 void (*ident_callback)(struct platform_device *, struct nand_chip *,
35 struct mtd_partition **, int *num_partitions); 31 struct mtd_partition **, int *num_partitions);
36}; 32};
diff --git a/arch/mips/include/asm/mach-jz4740/platform.h b/arch/mips/include/asm/mach-jz4740/platform.h
index 163e81db880..564ab81d6cd 100644
--- a/arch/mips/include/asm/mach-jz4740/platform.h
+++ b/arch/mips/include/asm/mach-jz4740/platform.h
@@ -31,7 +31,6 @@ extern struct platform_device jz4740_pcm_device;
31extern struct platform_device jz4740_codec_device; 31extern struct platform_device jz4740_codec_device;
32extern struct platform_device jz4740_adc_device; 32extern struct platform_device jz4740_adc_device;
33extern struct platform_device jz4740_wdt_device; 33extern struct platform_device jz4740_wdt_device;
34extern struct platform_device jz4740_pwm_device;
35 34
36void jz4740_serial_device_register(void); 35void jz4740_serial_device_register(void);
37 36
diff --git a/arch/mips/include/asm/mach-jz4740/timer.h b/arch/mips/include/asm/mach-jz4740/timer.h
index a7759fb1f73..9baa03ce748 100644
--- a/arch/mips/include/asm/mach-jz4740/timer.h
+++ b/arch/mips/include/asm/mach-jz4740/timer.h
@@ -16,120 +16,7 @@
16#ifndef __ASM_MACH_JZ4740_TIMER 16#ifndef __ASM_MACH_JZ4740_TIMER
17#define __ASM_MACH_JZ4740_TIMER 17#define __ASM_MACH_JZ4740_TIMER
18 18
19#define JZ_REG_TIMER_STOP 0x0C
20#define JZ_REG_TIMER_STOP_SET 0x1C
21#define JZ_REG_TIMER_STOP_CLEAR 0x2C
22#define JZ_REG_TIMER_ENABLE 0x00
23#define JZ_REG_TIMER_ENABLE_SET 0x04
24#define JZ_REG_TIMER_ENABLE_CLEAR 0x08
25#define JZ_REG_TIMER_FLAG 0x10
26#define JZ_REG_TIMER_FLAG_SET 0x14
27#define JZ_REG_TIMER_FLAG_CLEAR 0x18
28#define JZ_REG_TIMER_MASK 0x20
29#define JZ_REG_TIMER_MASK_SET 0x24
30#define JZ_REG_TIMER_MASK_CLEAR 0x28
31
32#define JZ_REG_TIMER_DFR(x) (((x) * 0x10) + 0x30)
33#define JZ_REG_TIMER_DHR(x) (((x) * 0x10) + 0x34)
34#define JZ_REG_TIMER_CNT(x) (((x) * 0x10) + 0x38)
35#define JZ_REG_TIMER_CTRL(x) (((x) * 0x10) + 0x3C)
36
37#define JZ_TIMER_IRQ_HALF(x) BIT((x) + 0x10)
38#define JZ_TIMER_IRQ_FULL(x) BIT(x)
39
40#define JZ_TIMER_CTRL_PWM_ABBRUPT_SHUTDOWN BIT(9)
41#define JZ_TIMER_CTRL_PWM_ACTIVE_LOW BIT(8)
42#define JZ_TIMER_CTRL_PWM_ENABLE BIT(7)
43#define JZ_TIMER_CTRL_PRESCALE_MASK 0x1c
44#define JZ_TIMER_CTRL_PRESCALE_OFFSET 0x3
45#define JZ_TIMER_CTRL_PRESCALE_1 (0 << 3)
46#define JZ_TIMER_CTRL_PRESCALE_4 (1 << 3)
47#define JZ_TIMER_CTRL_PRESCALE_16 (2 << 3)
48#define JZ_TIMER_CTRL_PRESCALE_64 (3 << 3)
49#define JZ_TIMER_CTRL_PRESCALE_256 (4 << 3)
50#define JZ_TIMER_CTRL_PRESCALE_1024 (5 << 3)
51
52#define JZ_TIMER_CTRL_PRESCALER(x) ((x) << JZ_TIMER_CTRL_PRESCALE_OFFSET)
53
54#define JZ_TIMER_CTRL_SRC_EXT BIT(2)
55#define JZ_TIMER_CTRL_SRC_RTC BIT(1)
56#define JZ_TIMER_CTRL_SRC_PCLK BIT(0)
57
58extern void __iomem *jz4740_timer_base;
59void __init jz4740_timer_init(void);
60
61void jz4740_timer_enable_watchdog(void); 19void jz4740_timer_enable_watchdog(void);
62void jz4740_timer_disable_watchdog(void); 20void jz4740_timer_disable_watchdog(void);
63 21
64static inline void jz4740_timer_stop(unsigned int timer)
65{
66 writel(BIT(timer), jz4740_timer_base + JZ_REG_TIMER_STOP_SET);
67}
68
69static inline void jz4740_timer_start(unsigned int timer)
70{
71 writel(BIT(timer), jz4740_timer_base + JZ_REG_TIMER_STOP_CLEAR);
72}
73
74static inline bool jz4740_timer_is_enabled(unsigned int timer)
75{
76 return readb(jz4740_timer_base + JZ_REG_TIMER_ENABLE) & BIT(timer);
77}
78
79static inline void jz4740_timer_enable(unsigned int timer)
80{
81 writeb(BIT(timer), jz4740_timer_base + JZ_REG_TIMER_ENABLE_SET);
82}
83
84static inline void jz4740_timer_disable(unsigned int timer)
85{
86 writeb(BIT(timer), jz4740_timer_base + JZ_REG_TIMER_ENABLE_CLEAR);
87}
88
89static inline void jz4740_timer_set_period(unsigned int timer, uint16_t period)
90{
91 writew(period, jz4740_timer_base + JZ_REG_TIMER_DFR(timer));
92}
93
94static inline void jz4740_timer_set_duty(unsigned int timer, uint16_t duty)
95{
96 writew(duty, jz4740_timer_base + JZ_REG_TIMER_DHR(timer));
97}
98
99static inline void jz4740_timer_set_count(unsigned int timer, uint16_t count)
100{
101 writew(count, jz4740_timer_base + JZ_REG_TIMER_CNT(timer));
102}
103
104static inline uint16_t jz4740_timer_get_count(unsigned int timer)
105{
106 return readw(jz4740_timer_base + JZ_REG_TIMER_CNT(timer));
107}
108
109static inline void jz4740_timer_ack_full(unsigned int timer)
110{
111 writel(JZ_TIMER_IRQ_FULL(timer), jz4740_timer_base + JZ_REG_TIMER_FLAG_CLEAR);
112}
113
114static inline void jz4740_timer_irq_full_enable(unsigned int timer)
115{
116 writel(JZ_TIMER_IRQ_FULL(timer), jz4740_timer_base + JZ_REG_TIMER_FLAG_CLEAR);
117 writel(JZ_TIMER_IRQ_FULL(timer), jz4740_timer_base + JZ_REG_TIMER_MASK_CLEAR);
118}
119
120static inline void jz4740_timer_irq_full_disable(unsigned int timer)
121{
122 writel(JZ_TIMER_IRQ_FULL(timer), jz4740_timer_base + JZ_REG_TIMER_MASK_SET);
123}
124
125static inline void jz4740_timer_set_ctrl(unsigned int timer, uint16_t ctrl)
126{
127 writew(ctrl, jz4740_timer_base + JZ_REG_TIMER_CTRL(timer));
128}
129
130static inline uint16_t jz4740_timer_get_ctrl(unsigned int timer)
131{
132 return readw(jz4740_timer_base + JZ_REG_TIMER_CTRL(timer));
133}
134
135#endif 22#endif
diff --git a/arch/mips/include/asm/mach-jz4740/war.h b/arch/mips/include/asm/mach-jz4740/war.h
index 9b511d32383..3a5bc17e28f 100644
--- a/arch/mips/include/asm/mach-jz4740/war.h
+++ b/arch/mips/include/asm/mach-jz4740/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
deleted file mode 100644
index c6b63a40964..00000000000
--- a/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
+++ /dev/null
@@ -1,25 +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 Thomas Langer <thomas.langer@lantiq.com>
7 */
8
9#ifndef _FALCON_IRQ__
10#define _FALCON_IRQ__
11
12#define INT_NUM_IRQ0 8
13#define INT_NUM_IM0_IRL0 (INT_NUM_IRQ0 + 0)
14#define INT_NUM_IM1_IRL0 (INT_NUM_IM0_IRL0 + 32)
15#define INT_NUM_IM2_IRL0 (INT_NUM_IM1_IRL0 + 32)
16#define INT_NUM_IM3_IRL0 (INT_NUM_IM2_IRL0 + 32)
17#define INT_NUM_IM4_IRL0 (INT_NUM_IM3_IRL0 + 32)
18#define INT_NUM_EXTRA_START (INT_NUM_IM4_IRL0 + 32)
19#define INT_NUM_IM_OFFSET (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0)
20
21#define MIPS_CPU_TIMER_IRQ 7
22
23#define MAX_IM 5
24
25#endif /* _FALCON_IRQ__ */
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/irq.h b/arch/mips/include/asm/mach-lantiq/falcon/irq.h
deleted file mode 100644
index 2caccd9f9db..00000000000
--- a/arch/mips/include/asm/mach-lantiq/falcon/irq.h
+++ /dev/null
@@ -1,18 +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) 2011 Thomas Langer <thomas.langer@lantiq.com>
7 */
8
9#ifndef __FALCON_IRQ_H
10#define __FALCON_IRQ_H
11
12#include <falcon_irq.h>
13
14#define NR_IRQS 328
15
16#include_next <irq.h>
17
18#endif
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
deleted file mode 100644
index fccac359265..00000000000
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ /dev/null
@@ -1,71 +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#ifndef _LTQ_FALCON_H__
10#define _LTQ_FALCON_H__
11
12#ifdef CONFIG_SOC_FALCON
13
14#include <linux/pinctrl/pinctrl.h>
15#include <lantiq.h>
16
17/* Chip IDs */
18#define SOC_ID_FALCON 0x01B8
19
20/* SoC Types */
21#define SOC_TYPE_FALCON 0x01
22
23/*
24 * during early_printk no ioremap possible at this early stage
25 * lets use KSEG1 instead
26 */
27#define LTQ_ASC0_BASE_ADDR 0x1E100C00
28#define LTQ_EARLY_ASC KSEG1ADDR(LTQ_ASC0_BASE_ADDR)
29
30/* WDT */
31#define LTQ_RST_CAUSE_WDTRST 0x0002
32
33/* CHIP ID */
34#define LTQ_STATUS_BASE_ADDR 0x1E802000
35
36#define FALCON_CHIPID ((u32 *)(KSEG1 + LTQ_STATUS_BASE_ADDR + 0x0c))
37#define FALCON_CHIPTYPE ((u32 *)(KSEG1 + LTQ_STATUS_BASE_ADDR + 0x38))
38#define FALCON_CHIPCONF ((u32 *)(KSEG1 + LTQ_STATUS_BASE_ADDR + 0x40))
39
40/* SYSCTL - start/stop/restart/configure/... different parts of the Soc */
41#define SYSCTL_SYS1 0
42#define SYSCTL_SYSETH 1
43#define SYSCTL_SYSGPE 2
44
45/* BOOT_SEL - find what boot media we have */
46#define BS_FLASH 0x1
47#define BS_SPI 0x4
48
49/* global register ranges */
50extern __iomem void *ltq_ebu_membase;
51extern __iomem void *ltq_sys1_membase;
52#define ltq_ebu_w32(x, y) ltq_w32((x), ltq_ebu_membase + (y))
53#define ltq_ebu_r32(x) ltq_r32(ltq_ebu_membase + (x))
54
55#define ltq_sys1_w32(x, y) ltq_w32((x), ltq_sys1_membase + (y))
56#define ltq_sys1_r32(x) ltq_r32(ltq_sys1_membase + (x))
57#define ltq_sys1_w32_mask(clear, set, reg) \
58 ltq_sys1_w32((ltq_sys1_r32(reg) & ~(clear)) | (set), reg)
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
64/*
65 * to keep the irq code generic we need to define this to 0 as falcon
66 * has no EIU/EBU
67 */
68#define LTQ_EBU_PCC_ISTAT 0
69
70#endif /* CONFIG_SOC_FALCON */
71#endif /* _LTQ_XWAY_H__ */
diff --git a/arch/mips/include/asm/mach-lantiq/gpio.h b/arch/mips/include/asm/mach-lantiq/gpio.h
deleted file mode 100644
index 9ba1caebca5..00000000000
--- a/arch/mips/include/asm/mach-lantiq/gpio.h
+++ /dev/null
@@ -1,13 +0,0 @@
1#ifndef __ASM_MIPS_MACH_LANTIQ_GPIO_H
2#define __ASM_MIPS_MACH_LANTIQ_GPIO_H
3
4#define gpio_to_irq __gpio_to_irq
5
6#define gpio_get_value __gpio_get_value
7#define gpio_set_value __gpio_set_value
8
9#define gpio_cansleep __gpio_cansleep
10
11#include <asm-generic/gpio.h>
12
13#endif
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
index 5e8a6e96575..ce2f02929d2 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -9,8 +9,6 @@
9#define _LANTIQ_H__ 9#define _LANTIQ_H__
10 10
11#include <linux/irq.h> 11#include <linux/irq.h>
12#include <linux/device.h>
13#include <linux/clk.h>
14 12
15/* generic reg access functions */ 13/* generic reg access functions */
16#define ltq_r32(reg) __raw_readl(reg) 14#define ltq_r32(reg) __raw_readl(reg)
@@ -23,9 +21,25 @@
23/* register access macros for EBU and CGU */ 21/* register access macros for EBU and CGU */
24#define ltq_ebu_w32(x, y) ltq_w32((x), ltq_ebu_membase + (y)) 22#define ltq_ebu_w32(x, y) ltq_w32((x), ltq_ebu_membase + (y))
25#define ltq_ebu_r32(x) ltq_r32(ltq_ebu_membase + (x)) 23#define ltq_ebu_r32(x) ltq_r32(ltq_ebu_membase + (x))
26#define ltq_ebu_w32_mask(x, y, z) \ 24#define ltq_cgu_w32(x, y) ltq_w32((x), ltq_cgu_membase + (y))
27 ltq_w32_mask(x, y, ltq_ebu_membase + (z)) 25#define ltq_cgu_r32(x) ltq_r32(ltq_cgu_membase + (x))
26
28extern __iomem void *ltq_ebu_membase; 27extern __iomem void *ltq_ebu_membase;
28extern __iomem void *ltq_cgu_membase;
29
30extern unsigned int ltq_get_cpu_ver(void);
31extern unsigned int ltq_get_soc_type(void);
32
33/* clock speeds */
34#define CLOCK_60M 60000000
35#define CLOCK_83M 83333333
36#define CLOCK_111M 111111111
37#define CLOCK_133M 133333333
38#define CLOCK_167M 166666667
39#define CLOCK_200M 200000000
40#define CLOCK_266M 266666666
41#define CLOCK_333M 333333333
42#define CLOCK_400M 400000000
29 43
30/* spinlock all ebu i/o */ 44/* spinlock all ebu i/o */
31extern spinlock_t ebu_lock; 45extern spinlock_t ebu_lock;
@@ -35,21 +49,15 @@ extern void ltq_disable_irq(struct irq_data *data);
35extern void ltq_mask_and_ack_irq(struct irq_data *data); 49extern void ltq_mask_and_ack_irq(struct irq_data *data);
36extern void ltq_enable_irq(struct irq_data *data); 50extern void ltq_enable_irq(struct irq_data *data);
37 51
38/* clock handling */
39extern int clk_activate(struct clk *clk);
40extern void clk_deactivate(struct clk *clk);
41extern struct clk *clk_get_cpu(void);
42extern struct clk *clk_get_fpi(void);
43extern struct clk *clk_get_io(void);
44
45/* find out what bootsource we have */
46extern unsigned char ltq_boot_select(void);
47/* find out what caused the last cpu reset */ 52/* find out what caused the last cpu reset */
48extern int ltq_reset_cause(void); 53extern int ltq_reset_cause(void);
54#define LTQ_RST_CAUSE_WDTRST 0x20
49 55
50#define IOPORT_RESOURCE_START 0x10000000 56#define IOPORT_RESOURCE_START 0x10000000
51#define IOPORT_RESOURCE_END 0xffffffff 57#define IOPORT_RESOURCE_END 0xffffffff
52#define IOMEM_RESOURCE_START 0x10000000 58#define IOMEM_RESOURCE_START 0x10000000
53#define IOMEM_RESOURCE_END 0xffffffff 59#define IOMEM_RESOURCE_END 0xffffffff
60#define LTQ_FLASH_START 0x10000000
61#define LTQ_FLASH_MAX 0x04000000
54 62
55#endif 63#endif
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_platform.h b/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
index e23bf7c9a2d..a305f1d0259 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
@@ -9,8 +9,41 @@
9#ifndef _LANTIQ_PLATFORM_H__ 9#ifndef _LANTIQ_PLATFORM_H__
10#define _LANTIQ_PLATFORM_H__ 10#define _LANTIQ_PLATFORM_H__
11 11
12#include <linux/mtd/partitions.h>
12#include <linux/socket.h> 13#include <linux/socket.h>
13 14
15/* struct used to pass info to the pci core */
16enum {
17 PCI_CLOCK_INT = 0,
18 PCI_CLOCK_EXT
19};
20
21#define PCI_EXIN0 0x0001
22#define PCI_EXIN1 0x0002
23#define PCI_EXIN2 0x0004
24#define PCI_EXIN3 0x0008
25#define PCI_EXIN4 0x0010
26#define PCI_EXIN5 0x0020
27#define PCI_EXIN_MAX 6
28
29#define PCI_GNT1 0x0040
30#define PCI_GNT2 0x0080
31#define PCI_GNT3 0x0100
32#define PCI_GNT4 0x0200
33
34#define PCI_REQ1 0x0400
35#define PCI_REQ2 0x0800
36#define PCI_REQ3 0x1000
37#define PCI_REQ4 0x2000
38#define PCI_REQ_SHIFT 10
39#define PCI_REQ_MASK 0xf
40
41struct ltq_pci_data {
42 int clock;
43 int gpio;
44 int irq[16];
45};
46
14/* struct used to pass info to network drivers */ 47/* struct used to pass info to network drivers */
15struct ltq_eth_data { 48struct ltq_eth_data {
16 struct sockaddr mac; 49 struct sockaddr mac;
diff --git a/arch/mips/include/asm/mach-lantiq/war.h b/arch/mips/include/asm/mach-lantiq/war.h
index b6c568c280e..01b08ef368d 100644
--- a/arch/mips/include/asm/mach-lantiq/war.h
+++ b/arch/mips/include/asm/mach-lantiq/war.h
@@ -16,6 +16,7 @@
16#define MIPS4K_ICACHE_REFILL_WAR 0 16#define MIPS4K_ICACHE_REFILL_WAR 0
17#define MIPS_CACHE_SYNC_WAR 0 17#define MIPS_CACHE_SYNC_WAR 0
18#define TX49XX_ICACHE_INDEX_INV_WAR 0 18#define TX49XX_ICACHE_INDEX_INV_WAR 0
19#define RM9000_CDEX_SMP_WAR 0
19#define ICACHE_REFILLS_WORKAROUND_WAR 0 20#define ICACHE_REFILLS_WORKAROUND_WAR 0
20#define R10000_LLSC_WAR 0 21#define R10000_LLSC_WAR 0
21#define MIPS34K_MISSED_ITLB_WAR 0 22#define MIPS34K_MISSED_ITLB_WAR 0
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 5eadfe58252..b4465a888e2 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
@@ -17,10 +17,50 @@
17#define INT_NUM_IM4_IRL0 (INT_NUM_IRQ0 + 128) 17#define INT_NUM_IM4_IRL0 (INT_NUM_IRQ0 + 128)
18#define INT_NUM_IM_OFFSET (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0) 18#define INT_NUM_IM_OFFSET (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0)
19 19
20#define LTQ_ASC_TIR(x) (INT_NUM_IM3_IRL0 + (x * 8))
21#define LTQ_ASC_RIR(x) (INT_NUM_IM3_IRL0 + (x * 8) + 1)
22#define LTQ_ASC_EIR(x) (INT_NUM_IM3_IRL0 + (x * 8) + 2)
23
24#define LTQ_ASC_ASE_TIR INT_NUM_IM2_IRL0
25#define LTQ_ASC_ASE_RIR (INT_NUM_IM2_IRL0 + 2)
26#define LTQ_ASC_ASE_EIR (INT_NUM_IM2_IRL0 + 3)
27
28#define LTQ_SSC_TIR (INT_NUM_IM0_IRL0 + 15)
29#define LTQ_SSC_RIR (INT_NUM_IM0_IRL0 + 14)
30#define LTQ_SSC_EIR (INT_NUM_IM0_IRL0 + 16)
31
32#define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21)
33#define LTQ_MEI_INT (INT_NUM_IM1_IRL0 + 23)
34
35#define LTQ_TIMER6_INT (INT_NUM_IM1_IRL0 + 23)
36#define LTQ_USB_INT (INT_NUM_IM1_IRL0 + 22)
37#define LTQ_USB_OC_INT (INT_NUM_IM4_IRL0 + 23)
38
39#define MIPS_CPU_TIMER_IRQ 7
40
20#define LTQ_DMA_CH0_INT (INT_NUM_IM2_IRL0) 41#define LTQ_DMA_CH0_INT (INT_NUM_IM2_IRL0)
42#define LTQ_DMA_CH1_INT (INT_NUM_IM2_IRL0 + 1)
43#define LTQ_DMA_CH2_INT (INT_NUM_IM2_IRL0 + 2)
44#define LTQ_DMA_CH3_INT (INT_NUM_IM2_IRL0 + 3)
45#define LTQ_DMA_CH4_INT (INT_NUM_IM2_IRL0 + 4)
46#define LTQ_DMA_CH5_INT (INT_NUM_IM2_IRL0 + 5)
47#define LTQ_DMA_CH6_INT (INT_NUM_IM2_IRL0 + 6)
48#define LTQ_DMA_CH7_INT (INT_NUM_IM2_IRL0 + 7)
49#define LTQ_DMA_CH8_INT (INT_NUM_IM2_IRL0 + 8)
50#define LTQ_DMA_CH9_INT (INT_NUM_IM2_IRL0 + 9)
51#define LTQ_DMA_CH10_INT (INT_NUM_IM2_IRL0 + 10)
52#define LTQ_DMA_CH11_INT (INT_NUM_IM2_IRL0 + 11)
53#define LTQ_DMA_CH12_INT (INT_NUM_IM2_IRL0 + 25)
54#define LTQ_DMA_CH13_INT (INT_NUM_IM2_IRL0 + 26)
55#define LTQ_DMA_CH14_INT (INT_NUM_IM2_IRL0 + 27)
56#define LTQ_DMA_CH15_INT (INT_NUM_IM2_IRL0 + 28)
57#define LTQ_DMA_CH16_INT (INT_NUM_IM2_IRL0 + 29)
58#define LTQ_DMA_CH17_INT (INT_NUM_IM2_IRL0 + 30)
59#define LTQ_DMA_CH18_INT (INT_NUM_IM2_IRL0 + 16)
60#define LTQ_DMA_CH19_INT (INT_NUM_IM2_IRL0 + 21)
21 61
22#define MIPS_CPU_TIMER_IRQ 7 62#define LTQ_PPE_MBOX_INT (INT_NUM_IM2_IRL0 + 24)
23 63
24#define MAX_IM 5 64#define INT_NUM_IM4_IRL14 (INT_NUM_IM4_IRL0 + 14)
25 65
26#endif 66#endif
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 133336b493b..8a3c6be669d 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -17,56 +17,38 @@
17#define SOC_ID_DANUBE1 0x129 17#define SOC_ID_DANUBE1 0x129
18#define SOC_ID_DANUBE2 0x12B 18#define SOC_ID_DANUBE2 0x12B
19#define SOC_ID_TWINPASS 0x12D 19#define SOC_ID_TWINPASS 0x12D
20#define SOC_ID_AMAZON_SE_1 0x152 /* 50601 */ 20#define SOC_ID_AMAZON_SE 0x152
21#define SOC_ID_AMAZON_SE_2 0x153 /* 50600 */
22#define SOC_ID_ARX188 0x16C 21#define SOC_ID_ARX188 0x16C
23#define SOC_ID_ARX168_1 0x16D 22#define SOC_ID_ARX168 0x16D
24#define SOC_ID_ARX168_2 0x16E
25#define SOC_ID_ARX182 0x16F 23#define SOC_ID_ARX182 0x16F
26#define SOC_ID_GRX188 0x170 24
27#define SOC_ID_GRX168 0x171 25/* SoC Types */
28
29#define SOC_ID_VRX288 0x1C0 /* v1.1 */
30#define SOC_ID_VRX282 0x1C1 /* v1.1 */
31#define SOC_ID_VRX268 0x1C2 /* v1.1 */
32#define SOC_ID_GRX268 0x1C8 /* v1.1 */
33#define SOC_ID_GRX288 0x1C9 /* v1.1 */
34#define SOC_ID_VRX288_2 0x00B /* v1.2 */
35#define SOC_ID_VRX268_2 0x00C /* v1.2 */
36#define SOC_ID_GRX288_2 0x00D /* v1.2 */
37#define SOC_ID_GRX282_2 0x00E /* v1.2 */
38
39 /* SoC Types */
40#define SOC_TYPE_DANUBE 0x01 26#define SOC_TYPE_DANUBE 0x01
41#define SOC_TYPE_TWINPASS 0x02 27#define SOC_TYPE_TWINPASS 0x02
42#define SOC_TYPE_AR9 0x03 28#define SOC_TYPE_AR9 0x03
43#define SOC_TYPE_VR9 0x04 /* v1.1 */ 29#define SOC_TYPE_VR9 0x04
44#define SOC_TYPE_VR9_2 0x05 /* v1.2 */ 30#define SOC_TYPE_AMAZON_SE 0x05
45#define SOC_TYPE_AMAZON_SE 0x06
46
47/* BOOT_SEL - find what boot media we have */
48#define BS_EXT_ROM 0x0
49#define BS_FLASH 0x1
50#define BS_MII0 0x2
51#define BS_PCI 0x3
52#define BS_UART1 0x4
53#define BS_SPI 0x5
54#define BS_NAND 0x6
55#define BS_RMII0 0x7
56
57/* helpers used to access the cgu */
58#define ltq_cgu_w32(x, y) ltq_w32((x), ltq_cgu_membase + (y))
59#define ltq_cgu_r32(x) ltq_r32(ltq_cgu_membase + (x))
60extern __iomem void *ltq_cgu_membase;
61 31
62/* 32/* ASC0/1 - serial port */
63 * during early_printk no ioremap is possible 33#define LTQ_ASC0_BASE_ADDR 0x1E100400
64 * lets use KSEG1 instead
65 */
66#define LTQ_ASC1_BASE_ADDR 0x1E100C00 34#define LTQ_ASC1_BASE_ADDR 0x1E100C00
67#define LTQ_EARLY_ASC KSEG1ADDR(LTQ_ASC1_BASE_ADDR) 35#define LTQ_ASC_SIZE 0x400
36
37/* RCU - reset control unit */
38#define LTQ_RCU_BASE_ADDR 0x1F203000
39#define LTQ_RCU_SIZE 0x1000
40
41/* GPTU - general purpose timer unit */
42#define LTQ_GPTU_BASE_ADDR 0x18000300
43#define LTQ_GPTU_SIZE 0x100
68 44
69/* EBU - external bus unit */ 45/* EBU - external bus unit */
46#define LTQ_EBU_GPIO_START 0x14000000
47#define LTQ_EBU_GPIO_SIZE 0x1000
48
49#define LTQ_EBU_BASE_ADDR 0x1E105300
50#define LTQ_EBU_SIZE 0x100
51
70#define LTQ_EBU_BUSCON0 0x0060 52#define LTQ_EBU_BUSCON0 0x0060
71#define LTQ_EBU_PCC_CON 0x0090 53#define LTQ_EBU_PCC_CON 0x0090
72#define LTQ_EBU_PCC_IEN 0x00A4 54#define LTQ_EBU_PCC_IEN 0x00A4
@@ -75,20 +57,85 @@ extern __iomem void *ltq_cgu_membase;
75#define LTQ_EBU_ADDRSEL1 0x0024 57#define LTQ_EBU_ADDRSEL1 0x0024
76#define EBU_WRDIS 0x80000000 58#define EBU_WRDIS 0x80000000
77 59
60/* CGU - clock generation unit */
61#define LTQ_CGU_BASE_ADDR 0x1F103000
62#define LTQ_CGU_SIZE 0x1000
63
64/* ICU - interrupt control unit */
65#define LTQ_ICU_BASE_ADDR 0x1F880200
66#define LTQ_ICU_SIZE 0x100
67
68/* EIU - external interrupt unit */
69#define LTQ_EIU_BASE_ADDR 0x1F101000
70#define LTQ_EIU_SIZE 0x1000
71
72/* PMU - power management unit */
73#define LTQ_PMU_BASE_ADDR 0x1F102000
74#define LTQ_PMU_SIZE 0x1000
75
76#define PMU_DMA 0x0020
77#define PMU_USB 0x8041
78#define PMU_LED 0x0800
79#define PMU_GPT 0x1000
80#define PMU_PPE 0x2000
81#define PMU_FPI 0x4000
82#define PMU_SWITCH 0x10000000
83
84/* ETOP - ethernet */
85#define LTQ_ETOP_BASE_ADDR 0x1E180000
86#define LTQ_ETOP_SIZE 0x40000
87
88/* DMA */
89#define LTQ_DMA_BASE_ADDR 0x1E104100
90#define LTQ_DMA_SIZE 0x800
91
92/* PCI */
93#define PCI_CR_BASE_ADDR 0x1E105400
94#define PCI_CR_SIZE 0x400
95
78/* WDT */ 96/* WDT */
79#define LTQ_RST_CAUSE_WDTRST 0x20 97#define LTQ_WDT_BASE_ADDR 0x1F8803F0
98#define LTQ_WDT_SIZE 0x10
99
100/* STP - serial to parallel conversion unit */
101#define LTQ_STP_BASE_ADDR 0x1E100BB0
102#define LTQ_STP_SIZE 0x40
103
104/* GPIO */
105#define LTQ_GPIO0_BASE_ADDR 0x1E100B10
106#define LTQ_GPIO1_BASE_ADDR 0x1E100B40
107#define LTQ_GPIO2_BASE_ADDR 0x1E100B70
108#define LTQ_GPIO_SIZE 0x30
109
110/* SSC */
111#define LTQ_SSC_BASE_ADDR 0x1e100800
112#define LTQ_SSC_SIZE 0x100
113
114/* MEI - dsl core */
115#define LTQ_MEI_BASE_ADDR 0x1E116000
116
117/* DEU - data encryption unit */
118#define LTQ_DEU_BASE_ADDR 0x1E103100
80 119
81/* MPS - multi processor unit (voice) */ 120/* MPS - multi processor unit (voice) */
82#define LTQ_MPS_BASE_ADDR (KSEG1 + 0x1F107000) 121#define LTQ_MPS_BASE_ADDR (KSEG1 + 0x1F107000)
83#define LTQ_MPS_CHIPID ((u32 *)(LTQ_MPS_BASE_ADDR + 0x0344)) 122#define LTQ_MPS_CHIPID ((u32 *)(LTQ_MPS_BASE_ADDR + 0x0344))
84 123
85/* allow booting xrx200 phys */
86int xrx200_gphy_boot(struct device *dev, unsigned int id, dma_addr_t dev_addr);
87
88/* request a non-gpio and set the PIO config */ 124/* request a non-gpio and set the PIO config */
89#define PMU_PPE BIT(13) 125extern int ltq_gpio_request(unsigned int pin, unsigned int alt0,
126 unsigned int alt1, unsigned int dir, const char *name);
90extern void ltq_pmu_enable(unsigned int module); 127extern void ltq_pmu_enable(unsigned int module);
91extern void ltq_pmu_disable(unsigned int module); 128extern void ltq_pmu_disable(unsigned int module);
92 129
130static inline int ltq_is_ar9(void)
131{
132 return (ltq_get_soc_type() == SOC_TYPE_AR9);
133}
134
135static inline int ltq_is_vr9(void)
136{
137 return (ltq_get_soc_type() == SOC_TYPE_VR9);
138}
139
93#endif /* CONFIG_SOC_TYPE_XWAY */ 140#endif /* CONFIG_SOC_TYPE_XWAY */
94#endif /* _LTQ_XWAY_H__ */ 141#endif /* _LTQ_XWAY_H__ */
diff --git a/arch/mips/include/asm/mach-lasat/war.h b/arch/mips/include/asm/mach-lasat/war.h
index 741ae724adc..bb1e0325c9b 100644
--- a/arch/mips/include/asm/mach-lasat/war.h
+++ b/arch/mips/include/asm/mach-lasat/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h b/arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h
index 1a05d854e34..675bd8641d5 100644
--- a/arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h
@@ -32,7 +32,6 @@
32#define cpu_has_dc_aliases (PAGE_SIZE < 0x4000) 32#define cpu_has_dc_aliases (PAGE_SIZE < 0x4000)
33#define cpu_has_divec 0 33#define cpu_has_divec 0
34#define cpu_has_dsp 0 34#define cpu_has_dsp 0
35#define cpu_has_dsp2 0
36#define cpu_has_ejtag 0 35#define cpu_has_ejtag 0
37#define cpu_has_fpu 1 36#define cpu_has_fpu 1
38#define cpu_has_ic_fills_f_dc 0 37#define cpu_has_ic_fills_f_dc 0
diff --git a/arch/mips/include/asm/mach-loongson/loongson.h b/arch/mips/include/asm/mach-loongson/loongson.h
index 5222a007bc2..1e29b9dd1d7 100644
--- a/arch/mips/include/asm/mach-loongson/loongson.h
+++ b/arch/mips/include/asm/mach-loongson/loongson.h
@@ -14,7 +14,6 @@
14#include <linux/io.h> 14#include <linux/io.h>
15#include <linux/init.h> 15#include <linux/init.h>
16#include <linux/irq.h> 16#include <linux/irq.h>
17#include <linux/kconfig.h>
18 17
19/* loongson internal northbridge initialization */ 18/* loongson internal northbridge initialization */
20extern void bonito_irq_init(void); 19extern void bonito_irq_init(void);
@@ -67,7 +66,7 @@ extern int mach_i8259_irq(void);
67#include <linux/interrupt.h> 66#include <linux/interrupt.h>
68static inline void do_perfcnt_IRQ(void) 67static inline void do_perfcnt_IRQ(void)
69{ 68{
70#if IS_ENABLED(CONFIG_OPROFILE) 69#if defined(CONFIG_OPROFILE) || defined(CONFIG_OPROFILE_MODULE)
71 do_IRQ(LOONGSON2_PERFCNT_IRQ); 70 do_IRQ(LOONGSON2_PERFCNT_IRQ);
72#endif 71#endif
73} 72}
@@ -245,6 +244,7 @@ static inline void do_perfcnt_IRQ(void)
245 244
246#ifdef CONFIG_CPU_SUPPORTS_CPUFREQ 245#ifdef CONFIG_CPU_SUPPORTS_CPUFREQ
247#include <linux/cpufreq.h> 246#include <linux/cpufreq.h>
247extern void loongson2_cpu_wait(void);
248extern struct cpufreq_frequency_table loongson2_clockmod_table[]; 248extern struct cpufreq_frequency_table loongson2_clockmod_table[];
249 249
250/* Chip Config */ 250/* Chip Config */
diff --git a/arch/mips/include/asm/mach-loongson/war.h b/arch/mips/include/asm/mach-loongson/war.h
index f2570df66bb..4b971c3ffd8 100644
--- a/arch/mips/include/asm/mach-loongson/war.h
+++ b/arch/mips/include/asm/mach-loongson/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-loongson1/irq.h b/arch/mips/include/asm/mach-loongson1/irq.h
deleted file mode 100644
index da96ed42f73..00000000000
--- a/arch/mips/include/asm/mach-loongson1/irq.h
+++ /dev/null
@@ -1,73 +0,0 @@
1/*
2 * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
3 *
4 * IRQ mappings for Loongson 1
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12
13#ifndef __ASM_MACH_LOONGSON1_IRQ_H
14#define __ASM_MACH_LOONGSON1_IRQ_H
15
16/*
17 * CPU core Interrupt Numbers
18 */
19#define MIPS_CPU_IRQ_BASE 0
20#define MIPS_CPU_IRQ(x) (MIPS_CPU_IRQ_BASE + (x))
21
22#define SOFTINT0_IRQ MIPS_CPU_IRQ(0)
23#define SOFTINT1_IRQ MIPS_CPU_IRQ(1)
24#define INT0_IRQ MIPS_CPU_IRQ(2)
25#define INT1_IRQ MIPS_CPU_IRQ(3)
26#define INT2_IRQ MIPS_CPU_IRQ(4)
27#define INT3_IRQ MIPS_CPU_IRQ(5)
28#define INT4_IRQ MIPS_CPU_IRQ(6)
29#define TIMER_IRQ MIPS_CPU_IRQ(7) /* cpu timer */
30
31#define MIPS_CPU_IRQS (MIPS_CPU_IRQ(7) + 1 - MIPS_CPU_IRQ_BASE)
32
33/*
34 * INT0~3 Interrupt Numbers
35 */
36#define LS1X_IRQ_BASE MIPS_CPU_IRQS
37#define LS1X_IRQ(n, x) (LS1X_IRQ_BASE + (n << 5) + (x))
38
39#define LS1X_UART0_IRQ LS1X_IRQ(0, 2)
40#define LS1X_UART1_IRQ LS1X_IRQ(0, 3)
41#define LS1X_UART2_IRQ LS1X_IRQ(0, 4)
42#define LS1X_UART3_IRQ LS1X_IRQ(0, 5)
43#define LS1X_CAN0_IRQ LS1X_IRQ(0, 6)
44#define LS1X_CAN1_IRQ LS1X_IRQ(0, 7)
45#define LS1X_SPI0_IRQ LS1X_IRQ(0, 8)
46#define LS1X_SPI1_IRQ LS1X_IRQ(0, 9)
47#define LS1X_AC97_IRQ LS1X_IRQ(0, 10)
48#define LS1X_DMA0_IRQ LS1X_IRQ(0, 13)
49#define LS1X_DMA1_IRQ LS1X_IRQ(0, 14)
50#define LS1X_DMA2_IRQ LS1X_IRQ(0, 15)
51#define LS1X_PWM0_IRQ LS1X_IRQ(0, 17)
52#define LS1X_PWM1_IRQ LS1X_IRQ(0, 18)
53#define LS1X_PWM2_IRQ LS1X_IRQ(0, 19)
54#define LS1X_PWM3_IRQ LS1X_IRQ(0, 20)
55#define LS1X_RTC_INT0_IRQ LS1X_IRQ(0, 21)
56#define LS1X_RTC_INT1_IRQ LS1X_IRQ(0, 22)
57#define LS1X_RTC_INT2_IRQ LS1X_IRQ(0, 23)
58#define LS1X_TOY_INT0_IRQ LS1X_IRQ(0, 24)
59#define LS1X_TOY_INT1_IRQ LS1X_IRQ(0, 25)
60#define LS1X_TOY_INT2_IRQ LS1X_IRQ(0, 26)
61#define LS1X_RTC_TICK_IRQ LS1X_IRQ(0, 27)
62#define LS1X_TOY_TICK_IRQ LS1X_IRQ(0, 28)
63
64#define LS1X_EHCI_IRQ LS1X_IRQ(1, 0)
65#define LS1X_OHCI_IRQ LS1X_IRQ(1, 1)
66#define LS1X_GMAC0_IRQ LS1X_IRQ(1, 2)
67#define LS1X_GMAC1_IRQ LS1X_IRQ(1, 3)
68
69#define LS1X_IRQS (LS1X_IRQ(4, 31) + 1 - LS1X_IRQ_BASE)
70
71#define NR_IRQS (MIPS_CPU_IRQS + LS1X_IRQS)
72
73#endif /* __ASM_MACH_LOONGSON1_IRQ_H */
diff --git a/arch/mips/include/asm/mach-loongson1/loongson1.h b/arch/mips/include/asm/mach-loongson1/loongson1.h
deleted file mode 100644
index 4e18e88cebb..00000000000
--- a/arch/mips/include/asm/mach-loongson1/loongson1.h
+++ /dev/null
@@ -1,44 +0,0 @@
1/*
2 * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
3 *
4 * Register mappings for Loongson 1
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12
13#ifndef __ASM_MACH_LOONGSON1_LOONGSON1_H
14#define __ASM_MACH_LOONGSON1_LOONGSON1_H
15
16#define DEFAULT_MEMSIZE 256 /* If no memsize provided */
17
18/* Loongson 1 Register Bases */
19#define LS1X_INTC_BASE 0x1fd01040
20#define LS1X_EHCI_BASE 0x1fe00000
21#define LS1X_OHCI_BASE 0x1fe08000
22#define LS1X_GMAC0_BASE 0x1fe10000
23#define LS1X_GMAC1_BASE 0x1fe20000
24
25#define LS1X_UART0_BASE 0x1fe40000
26#define LS1X_UART1_BASE 0x1fe44000
27#define LS1X_UART2_BASE 0x1fe48000
28#define LS1X_UART3_BASE 0x1fe4c000
29#define LS1X_CAN0_BASE 0x1fe50000
30#define LS1X_CAN1_BASE 0x1fe54000
31#define LS1X_I2C0_BASE 0x1fe58000
32#define LS1X_I2C1_BASE 0x1fe68000
33#define LS1X_I2C2_BASE 0x1fe70000
34#define LS1X_PWM_BASE 0x1fe5c000
35#define LS1X_WDT_BASE 0x1fe5c060
36#define LS1X_RTC_BASE 0x1fe64000
37#define LS1X_AC97_BASE 0x1fe74000
38#define LS1X_NAND_BASE 0x1fe78000
39#define LS1X_CLK_BASE 0x1fe78030
40
41#include <regs-clk.h>
42#include <regs-wdt.h>
43
44#endif /* __ASM_MACH_LOONGSON1_LOONGSON1_H */
diff --git a/arch/mips/include/asm/mach-loongson1/platform.h b/arch/mips/include/asm/mach-loongson1/platform.h
deleted file mode 100644
index 718a1228a4f..00000000000
--- a/arch/mips/include/asm/mach-loongson1/platform.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/*
2 * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 */
9
10
11#ifndef __ASM_MACH_LOONGSON1_PLATFORM_H
12#define __ASM_MACH_LOONGSON1_PLATFORM_H
13
14#include <linux/platform_device.h>
15
16extern struct platform_device ls1x_uart_device;
17extern struct platform_device ls1x_eth0_device;
18extern struct platform_device ls1x_ehci_device;
19extern struct platform_device ls1x_rtc_device;
20
21extern void __init ls1x_clk_init(void);
22extern void __init ls1x_serial_setup(struct platform_device *pdev);
23
24#endif /* __ASM_MACH_LOONGSON1_PLATFORM_H */
diff --git a/arch/mips/include/asm/mach-loongson1/prom.h b/arch/mips/include/asm/mach-loongson1/prom.h
deleted file mode 100644
index b871dc41b8d..00000000000
--- a/arch/mips/include/asm/mach-loongson1/prom.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/*
2 * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 */
9
10#ifndef __ASM_MACH_LOONGSON1_PROM_H
11#define __ASM_MACH_LOONGSON1_PROM_H
12
13#include <linux/io.h>
14#include <linux/init.h>
15#include <linux/irq.h>
16
17/* environment arguments from bootloader */
18extern unsigned long memsize, highmemsize;
19
20/* loongson-specific command line, env and memory initialization */
21extern char *prom_getenv(char *name);
22extern void __init prom_init_cmdline(void);
23
24#endif /* __ASM_MACH_LOONGSON1_PROM_H */
diff --git a/arch/mips/include/asm/mach-loongson1/regs-clk.h b/arch/mips/include/asm/mach-loongson1/regs-clk.h
deleted file mode 100644
index a81fa3d0dc9..00000000000
--- a/arch/mips/include/asm/mach-loongson1/regs-clk.h
+++ /dev/null
@@ -1,34 +0,0 @@
1/*
2 * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
3 *
4 * Loongson 1 Clock Register Definitions.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12#ifndef __ASM_MACH_LOONGSON1_REGS_CLK_H
13#define __ASM_MACH_LOONGSON1_REGS_CLK_H
14
15#define LS1X_CLK_REG(x) \
16 ((void __iomem *)KSEG1ADDR(LS1X_CLK_BASE + (x)))
17
18#define LS1X_CLK_PLL_FREQ LS1X_CLK_REG(0x0)
19#define LS1X_CLK_PLL_DIV LS1X_CLK_REG(0x4)
20
21/* Clock PLL Divisor Register Bits */
22#define DIV_DC_EN (0x1 << 31)
23#define DIV_CPU_EN (0x1 << 25)
24#define DIV_DDR_EN (0x1 << 19)
25
26#define DIV_DC_SHIFT 26
27#define DIV_CPU_SHIFT 20
28#define DIV_DDR_SHIFT 14
29
30#define DIV_DC_WIDTH 5
31#define DIV_CPU_WIDTH 5
32#define DIV_DDR_WIDTH 5
33
34#endif /* __ASM_MACH_LOONGSON1_REGS_CLK_H */
diff --git a/arch/mips/include/asm/mach-loongson1/regs-wdt.h b/arch/mips/include/asm/mach-loongson1/regs-wdt.h
deleted file mode 100644
index f897de68c52..00000000000
--- a/arch/mips/include/asm/mach-loongson1/regs-wdt.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2 * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
3 *
4 * Loongson 1 watchdog register definitions.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12#ifndef __ASM_MACH_LOONGSON1_REGS_WDT_H
13#define __ASM_MACH_LOONGSON1_REGS_WDT_H
14
15#define LS1X_WDT_REG(x) \
16 ((void __iomem *)KSEG1ADDR(LS1X_WDT_BASE + (x)))
17
18#define LS1X_WDT_EN LS1X_WDT_REG(0x0)
19#define LS1X_WDT_SET LS1X_WDT_REG(0x4)
20#define LS1X_WDT_TIMER LS1X_WDT_REG(0x8)
21
22#endif /* __ASM_MACH_LOONGSON1_REGS_WDT_H */
diff --git a/arch/mips/include/asm/mach-loongson1/war.h b/arch/mips/include/asm/mach-loongson1/war.h
deleted file mode 100644
index 8fb50d00813..00000000000
--- a/arch/mips/include/asm/mach-loongson1/war.h
+++ /dev/null
@@ -1,24 +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) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org>
7 */
8#ifndef __ASM_MACH_LOONGSON1_WAR_H
9#define __ASM_MACH_LOONGSON1_WAR_H
10
11#define R4600_V1_INDEX_ICACHEOP_WAR 0
12#define R4600_V1_HIT_CACHEOP_WAR 0
13#define R4600_V2_HIT_CACHEOP_WAR 0
14#define R5432_CP0_INTERRUPT_WAR 0
15#define BCM1250_M3_WAR 0
16#define SIBYTE_1956_WAR 0
17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0
19#define TX49XX_ICACHE_INDEX_INV_WAR 0
20#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0
23
24#endif /* __ASM_MACH_LOONGSON1_WAR_H */
diff --git a/arch/mips/include/asm/mach-malta/war.h b/arch/mips/include/asm/mach-malta/war.h
index d068fc411f4..7c6931d5f45 100644
--- a/arch/mips/include/asm/mach-malta/war.h
+++ b/arch/mips/include/asm/mach-malta/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 1 17#define MIPS4K_ICACHE_REFILL_WAR 1
18#define MIPS_CACHE_SYNC_WAR 1 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 ICACHE_REFILLS_WORKAROUND_WAR 1 21#define ICACHE_REFILLS_WORKAROUND_WAR 1
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h b/arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h
index 091deb1700e..3b728275b9b 100644
--- a/arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h
@@ -24,33 +24,24 @@
24 24
25#define cpu_has_llsc 1 25#define cpu_has_llsc 1
26#define cpu_has_vtag_icache 0 26#define cpu_has_vtag_icache 0
27#define cpu_has_ic_fills_f_dc 1 27#define cpu_has_dc_aliases 0
28#define cpu_has_ic_fills_f_dc 0
28#define cpu_has_dsp 0 29#define cpu_has_dsp 0
29#define cpu_has_dsp2 0
30#define cpu_has_mipsmt 0 30#define cpu_has_mipsmt 0
31#define cpu_icache_snoops_remote_store 1 31#define cpu_has_userlocal 0
32#define cpu_icache_snoops_remote_store 0
32 33
34#define cpu_has_nofpuex 0
33#define cpu_has_64bits 1 35#define cpu_has_64bits 1
34 36
35#define cpu_has_mips32r1 1 37#define cpu_has_mips32r1 1
38#define cpu_has_mips32r2 0
36#define cpu_has_mips64r1 1 39#define cpu_has_mips64r1 1
40#define cpu_has_mips64r2 0
37 41
38#define cpu_has_inclusive_pcaches 0 42#define cpu_has_inclusive_pcaches 0
39 43
40#define cpu_dcache_line_size() 32 44#define cpu_dcache_line_size() 32
41#define cpu_icache_line_size() 32 45#define cpu_icache_line_size() 32
42 46
43#if defined(CONFIG_CPU_XLR)
44#define cpu_has_userlocal 0
45#define cpu_has_dc_aliases 0
46#define cpu_has_mips32r2 0
47#define cpu_has_mips64r2 0
48#elif defined(CONFIG_CPU_XLP)
49#define cpu_has_userlocal 1
50#define cpu_has_mips32r2 1
51#define cpu_has_mips64r2 1
52#else
53#error "Unknown Netlogic CPU"
54#endif
55
56#endif /* __ASM_MACH_NETLOGIC_CPU_FEATURE_OVERRIDES_H */ 47#endif /* __ASM_MACH_NETLOGIC_CPU_FEATURE_OVERRIDES_H */
diff --git a/arch/mips/include/asm/mach-netlogic/irq.h b/arch/mips/include/asm/mach-netlogic/irq.h
index 868ed8a2ed5..b5902458e7c 100644
--- a/arch/mips/include/asm/mach-netlogic/irq.h
+++ b/arch/mips/include/asm/mach-netlogic/irq.h
@@ -8,9 +8,7 @@
8#ifndef __ASM_NETLOGIC_IRQ_H 8#ifndef __ASM_NETLOGIC_IRQ_H
9#define __ASM_NETLOGIC_IRQ_H 9#define __ASM_NETLOGIC_IRQ_H
10 10
11#include <asm/mach-netlogic/multi-node.h> 11#define NR_IRQS 64
12#define NR_IRQS (64 * NLM_NR_NODES)
13
14#define MIPS_CPU_IRQ_BASE 0 12#define MIPS_CPU_IRQ_BASE 0
15 13
16#endif /* __ASM_NETLOGIC_IRQ_H */ 14#endif /* __ASM_NETLOGIC_IRQ_H */
diff --git a/arch/mips/include/asm/mach-netlogic/multi-node.h b/arch/mips/include/asm/mach-netlogic/multi-node.h
deleted file mode 100644
index d62fc773f4d..00000000000
--- a/arch/mips/include/asm/mach-netlogic/multi-node.h
+++ /dev/null
@@ -1,54 +0,0 @@
1/*
2 * Copyright (c) 2003-2012 Broadcom Corporation
3 * All Rights 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 Broadcom
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 BROADCOM ``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 BROADCOM 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#ifndef _NETLOGIC_MULTI_NODE_H_
36#define _NETLOGIC_MULTI_NODE_H_
37
38#ifndef CONFIG_NLM_MULTINODE
39#define NLM_NR_NODES 1
40#else
41#if defined(CONFIG_NLM_MULTINODE_2)
42#define NLM_NR_NODES 2
43#elif defined(CONFIG_NLM_MULTINODE_4)
44#define NLM_NR_NODES 4
45#else
46#define NLM_NR_NODES 1
47#endif
48#endif
49
50#define NLM_CORES_PER_NODE 8
51#define NLM_THREADS_PER_CORE 4
52#define NLM_CPUS_PER_NODE (NLM_CORES_PER_NODE * NLM_THREADS_PER_CORE)
53
54#endif
diff --git a/arch/mips/include/asm/mach-netlogic/war.h b/arch/mips/include/asm/mach-netlogic/war.h
index 2c7216840e1..22da8932735 100644
--- a/arch/mips/include/asm/mach-netlogic/war.h
+++ b/arch/mips/include/asm/mach-netlogic/war.h
@@ -18,6 +18,7 @@
18#define MIPS4K_ICACHE_REFILL_WAR 0 18#define MIPS4K_ICACHE_REFILL_WAR 0
19#define MIPS_CACHE_SYNC_WAR 0 19#define MIPS_CACHE_SYNC_WAR 0
20#define TX49XX_ICACHE_INDEX_INV_WAR 0 20#define TX49XX_ICACHE_INDEX_INV_WAR 0
21#define RM9000_CDEX_SMP_WAR 0
21#define ICACHE_REFILLS_WORKAROUND_WAR 0 22#define ICACHE_REFILLS_WORKAROUND_WAR 0
22#define R10000_LLSC_WAR 0 23#define R10000_LLSC_WAR 0
23#define MIPS34K_MISSED_ITLB_WAR 0 24#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-pnx833x/gpio.h b/arch/mips/include/asm/mach-pnx833x/gpio.h
index f192acf4a8a..ed3a88da70f 100644
--- a/arch/mips/include/asm/mach-pnx833x/gpio.h
+++ b/arch/mips/include/asm/mach-pnx833x/gpio.h
@@ -30,7 +30,7 @@
30 - including locking between different uses 30 - including locking between different uses
31*/ 31*/
32 32
33#include <asm/mach-pnx833x/pnx833x.h> 33#include "pnx833x.h"
34 34
35#define SET_REG_BIT(reg, bit) do { (reg |= (1 << (bit))); } while (0) 35#define SET_REG_BIT(reg, bit) do { (reg |= (1 << (bit))); } while (0)
36#define CLEAR_REG_BIT(reg, bit) do { (reg &= ~(1 << (bit))); } while (0) 36#define CLEAR_REG_BIT(reg, bit) do { (reg &= ~(1 << (bit))); } while (0)
diff --git a/arch/mips/include/asm/mach-pnx833x/war.h b/arch/mips/include/asm/mach-pnx833x/war.h
index edaa06d9d49..82cd1e97bc2 100644
--- a/arch/mips/include/asm/mach-pnx833x/war.h
+++ b/arch/mips/include/asm/mach-pnx833x/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-pnx8550/war.h b/arch/mips/include/asm/mach-pnx8550/war.h
index de8894c4668..d0458dd082f 100644
--- a/arch/mips/include/asm/mach-pnx8550/war.h
+++ b/arch/mips/include/asm/mach-pnx8550/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h b/arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h
index 58c76ec32a1..f751e3ec56f 100644
--- a/arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h
@@ -45,7 +45,6 @@
45#define cpu_has_mips64r1 0 45#define cpu_has_mips64r1 0
46#define cpu_has_mips64r2 0 46#define cpu_has_mips64r2 0
47#define cpu_has_dsp 0 47#define cpu_has_dsp 0
48#define cpu_has_dsp2 0
49#define cpu_has_mipsmt 0 48#define cpu_has_mipsmt 0
50#define cpu_has_userlocal 0 49#define cpu_has_userlocal 0
51#define cpu_has_nofpuex 0 50#define cpu_has_nofpuex 0
diff --git a/arch/mips/include/asm/mach-powertv/war.h b/arch/mips/include/asm/mach-powertv/war.h
index c5651c8e58d..7ac05ecc512 100644
--- a/arch/mips/include/asm/mach-powertv/war.h
+++ b/arch/mips/include/asm/mach-powertv/war.h
@@ -20,6 +20,7 @@
20#define MIPS4K_ICACHE_REFILL_WAR 1 20#define MIPS4K_ICACHE_REFILL_WAR 1
21#define MIPS_CACHE_SYNC_WAR 1 21#define MIPS_CACHE_SYNC_WAR 1
22#define TX49XX_ICACHE_INDEX_INV_WAR 0 22#define TX49XX_ICACHE_INDEX_INV_WAR 0
23#define RM9000_CDEX_SMP_WAR 0
23#define ICACHE_REFILLS_WORKAROUND_WAR 1 24#define ICACHE_REFILLS_WORKAROUND_WAR 1
24#define R10000_LLSC_WAR 0 25#define R10000_LLSC_WAR 0
25#define MIPS34K_MISSED_ITLB_WAR 0 26#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-rc32434/cpu-feature-overrides.h b/arch/mips/include/asm/mach-rc32434/cpu-feature-overrides.h
index b15307597ee..c3e4d3a4c95 100644
--- a/arch/mips/include/asm/mach-rc32434/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-rc32434/cpu-feature-overrides.h
@@ -60,7 +60,6 @@
60#define cpu_has_mips64r2 0 60#define cpu_has_mips64r2 0
61 61
62#define cpu_has_dsp 0 62#define cpu_has_dsp 0
63#define cpu_has_dsp2 0
64#define cpu_has_mipsmt 0 63#define cpu_has_mipsmt 0
65 64
66/* #define cpu_has_nofpuex ? */ 65/* #define cpu_has_nofpuex ? */
diff --git a/arch/mips/include/asm/mach-rc32434/war.h b/arch/mips/include/asm/mach-rc32434/war.h
index 1bfd489a370..3ddf187e98a 100644
--- a/arch/mips/include/asm/mach-rc32434/war.h
+++ b/arch/mips/include/asm/mach-rc32434/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 1 17#define MIPS4K_ICACHE_REFILL_WAR 1
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-rm/cpu-feature-overrides.h b/arch/mips/include/asm/mach-rm/cpu-feature-overrides.h
index f095c529c48..ccf54336353 100644
--- a/arch/mips/include/asm/mach-rm/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-rm/cpu-feature-overrides.h
@@ -30,7 +30,6 @@
30#define cpu_has_dc_aliases (PAGE_SIZE < 0x4000) 30#define cpu_has_dc_aliases (PAGE_SIZE < 0x4000)
31#define cpu_has_ic_fills_f_dc 0 31#define cpu_has_ic_fills_f_dc 0
32#define cpu_has_dsp 0 32#define cpu_has_dsp 0
33#define cpu_has_dsp2 0
34#define cpu_has_nofpuex 0 33#define cpu_has_nofpuex 0
35#define cpu_has_64bits 1 34#define cpu_has_64bits 1
36#define cpu_has_mipsmt 0 35#define cpu_has_mipsmt 0
diff --git a/arch/mips/include/asm/mach-rm/war.h b/arch/mips/include/asm/mach-rm/war.h
index a3dde98549b..948d3129a11 100644
--- a/arch/mips/include/asm/mach-rm/war.h
+++ b/arch/mips/include/asm/mach-rm/war.h
@@ -21,6 +21,7 @@
21#define MIPS4K_ICACHE_REFILL_WAR 0 21#define MIPS4K_ICACHE_REFILL_WAR 0
22#define MIPS_CACHE_SYNC_WAR 0 22#define MIPS_CACHE_SYNC_WAR 0
23#define TX49XX_ICACHE_INDEX_INV_WAR 0 23#define TX49XX_ICACHE_INDEX_INV_WAR 0
24#define RM9000_CDEX_SMP_WAR 0
24#define ICACHE_REFILLS_WORKAROUND_WAR 0 25#define ICACHE_REFILLS_WORKAROUND_WAR 0
25#define R10000_LLSC_WAR 0 26#define R10000_LLSC_WAR 0
26#define MIPS34K_MISSED_ITLB_WAR 0 27#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-sead3/cpu-feature-overrides.h b/arch/mips/include/asm/mach-sead3/cpu-feature-overrides.h
deleted file mode 100644
index 7f3e3f9bd23..00000000000
--- a/arch/mips/include/asm/mach-sead3/cpu-feature-overrides.h
+++ /dev/null
@@ -1,72 +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) 2003, 2004 Chris Dearman
7 * Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
8 */
9#ifndef __ASM_MACH_MIPS_CPU_FEATURE_OVERRIDES_H
10#define __ASM_MACH_MIPS_CPU_FEATURE_OVERRIDES_H
11
12
13/*
14 * CPU feature overrides for MIPS boards
15 */
16#ifdef CONFIG_CPU_MIPS32
17#define cpu_has_tlb 1
18#define cpu_has_4kex 1
19#define cpu_has_4k_cache 1
20/* #define cpu_has_fpu ? */
21/* #define cpu_has_32fpr ? */
22#define cpu_has_counter 1
23/* #define cpu_has_watch ? */
24#define cpu_has_divec 1
25#define cpu_has_vce 0
26/* #define cpu_has_cache_cdex_p ? */
27/* #define cpu_has_cache_cdex_s ? */
28/* #define cpu_has_prefetch ? */
29#define cpu_has_mcheck 1
30/* #define cpu_has_ejtag ? */
31#ifdef CONFIG_CPU_HAS_LLSC
32#define cpu_has_llsc 1
33#else
34#define cpu_has_llsc 0
35#endif
36/* #define cpu_has_vtag_icache ? */
37/* #define cpu_has_dc_aliases ? */
38/* #define cpu_has_ic_fills_f_dc ? */
39#define cpu_has_nofpuex 0
40/* #define cpu_has_64bits ? */
41/* #define cpu_has_64bit_zero_reg ? */
42/* #define cpu_has_inclusive_pcaches ? */
43#define cpu_icache_snoops_remote_store 1
44#endif
45
46#ifdef CONFIG_CPU_MIPS64
47#define cpu_has_tlb 1
48#define cpu_has_4kex 1
49#define cpu_has_4k_cache 1
50/* #define cpu_has_fpu ? */
51/* #define cpu_has_32fpr ? */
52#define cpu_has_counter 1
53/* #define cpu_has_watch ? */
54#define cpu_has_divec 1
55#define cpu_has_vce 0
56/* #define cpu_has_cache_cdex_p ? */
57/* #define cpu_has_cache_cdex_s ? */
58/* #define cpu_has_prefetch ? */
59#define cpu_has_mcheck 1
60/* #define cpu_has_ejtag ? */
61#define cpu_has_llsc 1
62/* #define cpu_has_vtag_icache ? */
63/* #define cpu_has_dc_aliases ? */
64/* #define cpu_has_ic_fills_f_dc ? */
65#define cpu_has_nofpuex 0
66/* #define cpu_has_64bits ? */
67/* #define cpu_has_64bit_zero_reg ? */
68/* #define cpu_has_inclusive_pcaches ? */
69#define cpu_icache_snoops_remote_store 1
70#endif
71
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
deleted file mode 100644
index 652ea4c38cd..00000000000
--- a/arch/mips/include/asm/mach-sead3/irq.h
+++ /dev/null
@@ -1,9 +0,0 @@
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
deleted file mode 100644
index 3dfbd8e7947..00000000000
--- a/arch/mips/include/asm/mach-sead3/kernel-entry-init.h
+++ /dev/null
@@ -1,52 +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 * 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-sead3/war.h b/arch/mips/include/asm/mach-sead3/war.h
deleted file mode 100644
index d068fc411f4..00000000000
--- a/arch/mips/include/asm/mach-sead3/war.h
+++ /dev/null
@@ -1,24 +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) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org>
7 */
8#ifndef __ASM_MIPS_MACH_MIPS_WAR_H
9#define __ASM_MIPS_MACH_MIPS_WAR_H
10
11#define R4600_V1_INDEX_ICACHEOP_WAR 0
12#define R4600_V1_HIT_CACHEOP_WAR 0
13#define R4600_V2_HIT_CACHEOP_WAR 0
14#define R5432_CP0_INTERRUPT_WAR 0
15#define BCM1250_M3_WAR 0
16#define SIBYTE_1956_WAR 0
17#define MIPS4K_ICACHE_REFILL_WAR 1
18#define MIPS_CACHE_SYNC_WAR 1
19#define TX49XX_ICACHE_INDEX_INV_WAR 0
20#define ICACHE_REFILLS_WORKAROUND_WAR 1
21#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0
23
24#endif /* __ASM_MIPS_MACH_MIPS_WAR_H */
diff --git a/arch/mips/include/asm/mach-sibyte/cpu-feature-overrides.h b/arch/mips/include/asm/mach-sibyte/cpu-feature-overrides.h
index 92927b62b5a..1c1f92415b9 100644
--- a/arch/mips/include/asm/mach-sibyte/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-sibyte/cpu-feature-overrides.h
@@ -26,7 +26,6 @@
26#define cpu_has_dc_aliases 0 26#define cpu_has_dc_aliases 0
27#define cpu_has_ic_fills_f_dc 0 27#define cpu_has_ic_fills_f_dc 0
28#define cpu_has_dsp 0 28#define cpu_has_dsp 0
29#define cpu_has_dsp2 0
30#define cpu_has_mipsmt 0 29#define cpu_has_mipsmt 0
31#define cpu_has_userlocal 0 30#define cpu_has_userlocal 0
32#define cpu_icache_snoops_remote_store 0 31#define cpu_icache_snoops_remote_store 0
diff --git a/arch/mips/include/asm/mach-sibyte/war.h b/arch/mips/include/asm/mach-sibyte/war.h
index 176f5b32dc6..743385d7b5f 100644
--- a/arch/mips/include/asm/mach-sibyte/war.h
+++ b/arch/mips/include/asm/mach-sibyte/war.h
@@ -33,6 +33,7 @@ extern int sb1250_m3_workaround_needed(void);
33#define MIPS4K_ICACHE_REFILL_WAR 0 33#define MIPS4K_ICACHE_REFILL_WAR 0
34#define MIPS_CACHE_SYNC_WAR 0 34#define MIPS_CACHE_SYNC_WAR 0
35#define TX49XX_ICACHE_INDEX_INV_WAR 0 35#define TX49XX_ICACHE_INDEX_INV_WAR 0
36#define RM9000_CDEX_SMP_WAR 0
36#define ICACHE_REFILLS_WORKAROUND_WAR 0 37#define ICACHE_REFILLS_WORKAROUND_WAR 0
37#define R10000_LLSC_WAR 0 38#define R10000_LLSC_WAR 0
38#define MIPS34K_MISSED_ITLB_WAR 0 39#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-tx39xx/war.h b/arch/mips/include/asm/mach-tx39xx/war.h
index 6a52e653477..43381461635 100644
--- a/arch/mips/include/asm/mach-tx39xx/war.h
+++ b/arch/mips/include/asm/mach-tx39xx/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h b/arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h
index 7f5144c6ce2..275eaf92c74 100644
--- a/arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h
@@ -12,7 +12,6 @@
12#define cpu_has_vtag_icache 0 12#define cpu_has_vtag_icache 0
13#define cpu_has_ic_fills_f_dc 0 13#define cpu_has_ic_fills_f_dc 0
14#define cpu_has_dsp 0 14#define cpu_has_dsp 0
15#define cpu_has_dsp2 0
16#define cpu_has_mipsmt 0 15#define cpu_has_mipsmt 0
17#define cpu_has_userlocal 0 16#define cpu_has_userlocal 0
18 17
diff --git a/arch/mips/include/asm/mach-tx49xx/mangle-port.h b/arch/mips/include/asm/mach-tx49xx/mangle-port.h
index 490867b03c8..5e6912fdd0e 100644
--- a/arch/mips/include/asm/mach-tx49xx/mangle-port.h
+++ b/arch/mips/include/asm/mach-tx49xx/mangle-port.h
@@ -9,7 +9,7 @@
9#define ioswabb(a, x) (x) 9#define ioswabb(a, x) (x)
10#define __mem_ioswabb(a, x) (x) 10#define __mem_ioswabb(a, x) (x)
11#if defined(CONFIG_TOSHIBA_RBTX4939) && \ 11#if defined(CONFIG_TOSHIBA_RBTX4939) && \
12 IS_ENABLED(CONFIG_SMC91X) && \ 12 (defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)) && \
13 defined(__BIG_ENDIAN) 13 defined(__BIG_ENDIAN)
14#define NEEDS_TXX9_IOSWABW 14#define NEEDS_TXX9_IOSWABW
15extern u16 (*ioswabw)(volatile u16 *a, u16 x); 15extern u16 (*ioswabw)(volatile u16 *a, u16 x);
diff --git a/arch/mips/include/asm/mach-tx49xx/war.h b/arch/mips/include/asm/mach-tx49xx/war.h
index a8e2c586a18..39b5d1177c5 100644
--- a/arch/mips/include/asm/mach-tx49xx/war.h
+++ b/arch/mips/include/asm/mach-tx49xx/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
19#define TX49XX_ICACHE_INDEX_INV_WAR 1 19#define TX49XX_ICACHE_INDEX_INV_WAR 1
20#define RM9000_CDEX_SMP_WAR 0
20#define ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-vr41xx/war.h b/arch/mips/include/asm/mach-vr41xx/war.h
index ffe31e73600..56a38926412 100644
--- a/arch/mips/include/asm/mach-vr41xx/war.h
+++ b/arch/mips/include/asm/mach-vr41xx/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mach-wrppmc/war.h b/arch/mips/include/asm/mach-wrppmc/war.h
index e86084c0bd6..ac48629bb1c 100644
--- a/arch/mips/include/asm/mach-wrppmc/war.h
+++ b/arch/mips/include/asm/mach-wrppmc/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 1 21#define ICACHE_REFILLS_WORKAROUND_WAR 1
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#define MIPS34K_MISSED_ITLB_WAR 0 23#define MIPS34K_MISSED_ITLB_WAR 0
diff --git a/arch/mips/include/asm/mips-boards/generic.h b/arch/mips/include/asm/mips-boards/generic.h
index 6e23ceb0ba8..46c08563e53 100644
--- a/arch/mips/include/asm/mips-boards/generic.h
+++ b/arch/mips/include/asm/mips-boards/generic.h
@@ -93,4 +93,8 @@ extern void mips_pcibios_init(void);
93#define mips_pcibios_init() do { } while (0) 93#define mips_pcibios_init() do { } while (0)
94#endif 94#endif
95 95
96#ifdef CONFIG_KGDB
97extern void kgdb_config(void);
98#endif
99
96#endif /* __ASM_MIPS_BOARDS_GENERIC_H */ 100#endif /* __ASM_MIPS_BOARDS_GENERIC_H */
diff --git a/arch/mips/include/asm/mips-boards/maltaint.h b/arch/mips/include/asm/mips-boards/maltaint.h
index 66924481575..d11aa02a956 100644
--- a/arch/mips/include/asm/mips-boards/maltaint.h
+++ b/arch/mips/include/asm/mips-boards/maltaint.h
@@ -1,16 +1,31 @@
1/* 1/*
2 * This file is subject to the terms and conditions of the GNU General Public 2 * Carsten Langgaard, carstenl@mips.com
3 * License. See the file "COPYING" in the main directory of this archive 3 * Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved.
4 * for more details. 4 *
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.
5 * 23 *
6 * Copyright (C) 2000,2012 MIPS Technologies, Inc. All rights reserved.
7 * Carsten Langgaard <carstenl@mips.com>
8 * Steven J. Hill <sjhill@mips.com>
9 */ 24 */
10#ifndef _MIPS_MALTAINT_H 25#ifndef _MIPS_MALTAINT_H
11#define _MIPS_MALTAINT_H 26#define _MIPS_MALTAINT_H
12 27
13#define MIPS_GIC_IRQ_BASE (MIPS_CPU_IRQ_BASE + 8) 28#include <irq.h>
14 29
15/* 30/*
16 * Interrupts 0..15 are used for Malta ISA compatible interrupts 31 * Interrupts 0..15 are used for Malta ISA compatible interrupts
@@ -63,6 +78,16 @@
63#define MSC01E_INT_PERFCTR 10 78#define MSC01E_INT_PERFCTR 10
64#define MSC01E_INT_CPUCTR 11 79#define MSC01E_INT_CPUCTR 11
65 80
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#define GIC_EXT_INTR(x) x
90
66/* External Interrupts used for IPI */ 91/* External Interrupts used for IPI */
67#define GIC_IPI_EXT_INTR_RESCHED_VPE0 16 92#define GIC_IPI_EXT_INTR_RESCHED_VPE0 16
68#define GIC_IPI_EXT_INTR_CALLFNC_VPE0 17 93#define GIC_IPI_EXT_INTR_CALLFNC_VPE0 17
@@ -73,4 +98,10 @@
73#define GIC_IPI_EXT_INTR_RESCHED_VPE3 22 98#define GIC_IPI_EXT_INTR_RESCHED_VPE3 22
74#define GIC_IPI_EXT_INTR_CALLFNC_VPE3 23 99#define GIC_IPI_EXT_INTR_CALLFNC_VPE3 23
75 100
101#define MIPS_GIC_IRQ_BASE (MIPS_CPU_IRQ_BASE + 8)
102
103#ifndef __ASSEMBLY__
104extern void maltaint_init(void);
105#endif
106
76#endif /* !(_MIPS_MALTAINT_H) */ 107#endif /* !(_MIPS_MALTAINT_H) */
diff --git a/arch/mips/include/asm/mips-boards/sead3int.h b/arch/mips/include/asm/mips-boards/sead3int.h
deleted file mode 100644
index d634d9a807f..00000000000
--- a/arch/mips/include/asm/mips-boards/sead3int.h
+++ /dev/null
@@ -1,19 +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) 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/mipsmtregs.h b/arch/mips/include/asm/mipsmtregs.h
index 5b3cb8553e9..c9420aa97e3 100644
--- a/arch/mips/include/asm/mipsmtregs.h
+++ b/arch/mips/include/asm/mipsmtregs.h
@@ -28,9 +28,6 @@
28#define read_c0_vpeconf0() __read_32bit_c0_register($1, 2) 28#define read_c0_vpeconf0() __read_32bit_c0_register($1, 2)
29#define write_c0_vpeconf0(val) __write_32bit_c0_register($1, 2, val) 29#define write_c0_vpeconf0(val) __write_32bit_c0_register($1, 2, val)
30 30
31#define read_c0_vpeconf1() __read_32bit_c0_register($1, 3)
32#define write_c0_vpeconf1(val) __write_32bit_c0_register($1, 3, val)
33
34#define read_c0_tcstatus() __read_32bit_c0_register($2, 1) 31#define read_c0_tcstatus() __read_32bit_c0_register($2, 1)
35#define write_c0_tcstatus(val) __write_32bit_c0_register($2, 1, val) 32#define write_c0_tcstatus(val) __write_32bit_c0_register($2, 1, val)
36 33
@@ -51,7 +48,7 @@
51#define CP0_VPECONF0 $1, 2 48#define CP0_VPECONF0 $1, 2
52#define CP0_VPECONF1 $1, 3 49#define CP0_VPECONF1 $1, 3
53#define CP0_YQMASK $1, 4 50#define CP0_YQMASK $1, 4
54#define CP0_VPESCHEDULE $1, 5 51#define CP0_VPESCHEDULE $1, 5
55#define CP0_VPESCHEFBK $1, 6 52#define CP0_VPESCHEFBK $1, 6
56#define CP0_TCSTATUS $2, 1 53#define CP0_TCSTATUS $2, 1
57#define CP0_TCBIND $2, 2 54#define CP0_TCBIND $2, 2
@@ -127,14 +124,6 @@
127#define VPECONF0_XTC_SHIFT 21 124#define VPECONF0_XTC_SHIFT 21
128#define VPECONF0_XTC (_ULCAST_(0xff) << VPECONF0_XTC_SHIFT) 125#define VPECONF0_XTC (_ULCAST_(0xff) << VPECONF0_XTC_SHIFT)
129 126
130/* VPEConf1 fields (per VPE) */
131#define VPECONF1_NCP1_SHIFT 0
132#define VPECONF1_NCP1 (_ULCAST_(0xff) << VPECONF1_NCP1_SHIFT)
133#define VPECONF1_NCP2_SHIFT 10
134#define VPECONF1_NCP2 (_ULCAST_(0xff) << VPECONF1_NCP2_SHIFT)
135#define VPECONF1_NCX_SHIFT 20
136#define VPECONF1_NCX (_ULCAST_(0xff) << VPECONF1_NCX_SHIFT)
137
138/* TCStatus fields (per TC) */ 127/* TCStatus fields (per TC) */
139#define TCSTATUS_TASID (_ULCAST_(0xff)) 128#define TCSTATUS_TASID (_ULCAST_(0xff))
140#define TCSTATUS_IXMT_SHIFT 10 129#define TCSTATUS_IXMT_SHIFT 10
@@ -361,8 +350,6 @@ do { \
361#define write_vpe_c0_vpecontrol(val) mttc0(1, 1, val) 350#define write_vpe_c0_vpecontrol(val) mttc0(1, 1, val)
362#define read_vpe_c0_vpeconf0() mftc0(1, 2) 351#define read_vpe_c0_vpeconf0() mftc0(1, 2)
363#define write_vpe_c0_vpeconf0(val) mttc0(1, 2, val) 352#define write_vpe_c0_vpeconf0(val) mttc0(1, 2, val)
364#define read_vpe_c0_vpeconf1() mftc0(1, 3)
365#define write_vpe_c0_vpeconf1(val) mttc0(1, 3, val)
366#define read_vpe_c0_count() mftc0(9, 0) 353#define read_vpe_c0_count() mftc0(9, 0)
367#define write_vpe_c0_count(val) mttc0(9, 0, val) 354#define write_vpe_c0_count(val) mttc0(9, 0, val)
368#define read_vpe_c0_status() mftc0(12, 0) 355#define read_vpe_c0_status() mftc0(12, 0)
diff --git a/arch/mips/include/asm/mipsprom.h b/arch/mips/include/asm/mipsprom.h
index e93943fabea..146d41b67ad 100644
--- a/arch/mips/include/asm/mipsprom.h
+++ b/arch/mips/include/asm/mipsprom.h
@@ -1,5 +1,5 @@
1#ifndef __ASM_MIPSPROM_H 1#ifndef __ASM_MIPS_PROM_H
2#define __ASM_MIPSPROM_H 2#define __ASM_MIPS_PROM_H
3 3
4#define PROM_RESET 0 4#define PROM_RESET 0
5#define PROM_EXEC 1 5#define PROM_EXEC 1
@@ -73,4 +73,4 @@
73 73
74extern char *prom_getenv(char *); 74extern char *prom_getenv(char *);
75 75
76#endif /* __ASM_MIPSPROM_H */ 76#endif /* __ASM_MIPS_PROM_H */
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
index 7e4e6f8fab3..6a6f8a8f542 100644
--- a/arch/mips/include/asm/mipsregs.h
+++ b/arch/mips/include/asm/mipsregs.h
@@ -240,7 +240,7 @@
240#define PM_HUGE_MASK PM_64M 240#define PM_HUGE_MASK PM_64M
241#elif defined(CONFIG_PAGE_SIZE_64KB) 241#elif defined(CONFIG_PAGE_SIZE_64KB)
242#define PM_HUGE_MASK PM_256M 242#define PM_HUGE_MASK PM_256M
243#elif defined(CONFIG_MIPS_HUGE_TLB_SUPPORT) 243#elif defined(CONFIG_HUGETLB_PAGE)
244#error Bad page size configuration for hugetlbfs! 244#error Bad page size configuration for hugetlbfs!
245#endif 245#endif
246 246
@@ -458,8 +458,6 @@
458#define CAUSEF_IP7 (_ULCAST_(1) << 15) 458#define CAUSEF_IP7 (_ULCAST_(1) << 15)
459#define CAUSEB_IV 23 459#define CAUSEB_IV 23
460#define CAUSEF_IV (_ULCAST_(1) << 23) 460#define CAUSEF_IV (_ULCAST_(1) << 23)
461#define CAUSEB_PCI 26
462#define CAUSEF_PCI (_ULCAST_(1) << 26)
463#define CAUSEB_CE 28 461#define CAUSEB_CE 28
464#define CAUSEF_CE (_ULCAST_(3) << 28) 462#define CAUSEF_CE (_ULCAST_(3) << 28)
465#define CAUSEB_TI 30 463#define CAUSEB_TI 30
@@ -592,16 +590,12 @@
592#define MIPS_CONF3_VEIC (_ULCAST_(1) << 6) 590#define MIPS_CONF3_VEIC (_ULCAST_(1) << 6)
593#define MIPS_CONF3_LPA (_ULCAST_(1) << 7) 591#define MIPS_CONF3_LPA (_ULCAST_(1) << 7)
594#define MIPS_CONF3_DSP (_ULCAST_(1) << 10) 592#define MIPS_CONF3_DSP (_ULCAST_(1) << 10)
595#define MIPS_CONF3_DSP2P (_ULCAST_(1) << 11)
596#define MIPS_CONF3_RXI (_ULCAST_(1) << 12)
597#define MIPS_CONF3_ULRI (_ULCAST_(1) << 13) 593#define MIPS_CONF3_ULRI (_ULCAST_(1) << 13)
598 594
599#define MIPS_CONF4_MMUSIZEEXT (_ULCAST_(255) << 0) 595#define MIPS_CONF4_MMUSIZEEXT (_ULCAST_(255) << 0)
600#define MIPS_CONF4_MMUEXTDEF (_ULCAST_(3) << 14) 596#define MIPS_CONF4_MMUEXTDEF (_ULCAST_(3) << 14)
601#define MIPS_CONF4_MMUEXTDEF_MMUSIZEEXT (_ULCAST_(1) << 14) 597#define MIPS_CONF4_MMUEXTDEF_MMUSIZEEXT (_ULCAST_(1) << 14)
602 598
603#define MIPS_CONF6_SYND (_ULCAST_(1) << 13)
604
605#define MIPS_CONF7_WII (_ULCAST_(1) << 31) 599#define MIPS_CONF7_WII (_ULCAST_(1) << 31)
606 600
607#define MIPS_CONF7_RPS (_ULCAST_(1) << 2) 601#define MIPS_CONF7_RPS (_ULCAST_(1) << 2)
@@ -977,6 +971,10 @@ do { \
977#define read_c0_framemask() __read_32bit_c0_register($21, 0) 971#define read_c0_framemask() __read_32bit_c0_register($21, 0)
978#define write_c0_framemask(val) __write_32bit_c0_register($21, 0, val) 972#define write_c0_framemask(val) __write_32bit_c0_register($21, 0, val)
979 973
974/* RM9000 PerfControl performance counter control register */
975#define read_c0_perfcontrol() __read_32bit_c0_register($22, 0)
976#define write_c0_perfcontrol(val) __write_32bit_c0_register($22, 0, val)
977
980#define read_c0_diag() __read_32bit_c0_register($22, 0) 978#define read_c0_diag() __read_32bit_c0_register($22, 0)
981#define write_c0_diag(val) __write_32bit_c0_register($22, 0, val) 979#define write_c0_diag(val) __write_32bit_c0_register($22, 0, val)
982 980
@@ -1008,26 +1006,22 @@ do { \
1008#define write_c0_perfctrl0(val) __write_32bit_c0_register($25, 0, val) 1006#define write_c0_perfctrl0(val) __write_32bit_c0_register($25, 0, val)
1009#define read_c0_perfcntr0() __read_32bit_c0_register($25, 1) 1007#define read_c0_perfcntr0() __read_32bit_c0_register($25, 1)
1010#define write_c0_perfcntr0(val) __write_32bit_c0_register($25, 1, val) 1008#define write_c0_perfcntr0(val) __write_32bit_c0_register($25, 1, val)
1011#define read_c0_perfcntr0_64() __read_64bit_c0_register($25, 1)
1012#define write_c0_perfcntr0_64(val) __write_64bit_c0_register($25, 1, val)
1013#define read_c0_perfctrl1() __read_32bit_c0_register($25, 2) 1009#define read_c0_perfctrl1() __read_32bit_c0_register($25, 2)
1014#define write_c0_perfctrl1(val) __write_32bit_c0_register($25, 2, val) 1010#define write_c0_perfctrl1(val) __write_32bit_c0_register($25, 2, val)
1015#define read_c0_perfcntr1() __read_32bit_c0_register($25, 3) 1011#define read_c0_perfcntr1() __read_32bit_c0_register($25, 3)
1016#define write_c0_perfcntr1(val) __write_32bit_c0_register($25, 3, val) 1012#define write_c0_perfcntr1(val) __write_32bit_c0_register($25, 3, val)
1017#define read_c0_perfcntr1_64() __read_64bit_c0_register($25, 3)
1018#define write_c0_perfcntr1_64(val) __write_64bit_c0_register($25, 3, val)
1019#define read_c0_perfctrl2() __read_32bit_c0_register($25, 4) 1013#define read_c0_perfctrl2() __read_32bit_c0_register($25, 4)
1020#define write_c0_perfctrl2(val) __write_32bit_c0_register($25, 4, val) 1014#define write_c0_perfctrl2(val) __write_32bit_c0_register($25, 4, val)
1021#define read_c0_perfcntr2() __read_32bit_c0_register($25, 5) 1015#define read_c0_perfcntr2() __read_32bit_c0_register($25, 5)
1022#define write_c0_perfcntr2(val) __write_32bit_c0_register($25, 5, val) 1016#define write_c0_perfcntr2(val) __write_32bit_c0_register($25, 5, val)
1023#define read_c0_perfcntr2_64() __read_64bit_c0_register($25, 5)
1024#define write_c0_perfcntr2_64(val) __write_64bit_c0_register($25, 5, val)
1025#define read_c0_perfctrl3() __read_32bit_c0_register($25, 6) 1017#define read_c0_perfctrl3() __read_32bit_c0_register($25, 6)
1026#define write_c0_perfctrl3(val) __write_32bit_c0_register($25, 6, val) 1018#define write_c0_perfctrl3(val) __write_32bit_c0_register($25, 6, val)
1027#define read_c0_perfcntr3() __read_32bit_c0_register($25, 7) 1019#define read_c0_perfcntr3() __read_32bit_c0_register($25, 7)
1028#define write_c0_perfcntr3(val) __write_32bit_c0_register($25, 7, val) 1020#define write_c0_perfcntr3(val) __write_32bit_c0_register($25, 7, val)
1029#define read_c0_perfcntr3_64() __read_64bit_c0_register($25, 7) 1021
1030#define write_c0_perfcntr3_64(val) __write_64bit_c0_register($25, 7, val) 1022/* RM9000 PerfCount performance counter register */
1023#define read_c0_perfcount() __read_64bit_c0_register($25, 0)
1024#define write_c0_perfcount(val) __write_64bit_c0_register($25, 0, val)
1031 1025
1032#define read_c0_ecc() __read_32bit_c0_register($26, 0) 1026#define read_c0_ecc() __read_32bit_c0_register($26, 0)
1033#define write_c0_ecc(val) __write_32bit_c0_register($26, 0, val) 1027#define write_c0_ecc(val) __write_32bit_c0_register($26, 0, val)
@@ -1104,7 +1098,7 @@ do { \
1104#define read_c0_brcm_reset() __read_32bit_c0_register($22, 5) 1098#define read_c0_brcm_reset() __read_32bit_c0_register($22, 5)
1105#define write_c0_brcm_reset(val) __write_32bit_c0_register($22, 5, val) 1099#define write_c0_brcm_reset(val) __write_32bit_c0_register($22, 5, val)
1106 1100
1107/* BMIPS43xx */ 1101/* BMIPS4380 */
1108#define read_c0_brcm_cmt_intr() __read_32bit_c0_register($22, 1) 1102#define read_c0_brcm_cmt_intr() __read_32bit_c0_register($22, 1)
1109#define write_c0_brcm_cmt_intr(val) __write_32bit_c0_register($22, 1, val) 1103#define write_c0_brcm_cmt_intr(val) __write_32bit_c0_register($22, 1, val)
1110 1104
@@ -1665,13 +1659,6 @@ __BUILD_SET_C0(config)
1665__BUILD_SET_C0(intcontrol) 1659__BUILD_SET_C0(intcontrol)
1666__BUILD_SET_C0(intctl) 1660__BUILD_SET_C0(intctl)
1667__BUILD_SET_C0(srsmap) 1661__BUILD_SET_C0(srsmap)
1668__BUILD_SET_C0(brcm_config_0)
1669__BUILD_SET_C0(brcm_bus_pll)
1670__BUILD_SET_C0(brcm_reset)
1671__BUILD_SET_C0(brcm_cmt_intr)
1672__BUILD_SET_C0(brcm_cmt_ctrl)
1673__BUILD_SET_C0(brcm_config)
1674__BUILD_SET_C0(brcm_mode)
1675 1662
1676#endif /* !__ASSEMBLY__ */ 1663#endif /* !__ASSEMBLY__ */
1677 1664
diff --git a/arch/mips/include/asm/mmu_context.h b/arch/mips/include/asm/mmu_context.h
index 45cfa1ad86a..73c0d45798d 100644
--- a/arch/mips/include/asm/mmu_context.h
+++ b/arch/mips/include/asm/mmu_context.h
@@ -37,6 +37,12 @@ extern void tlbmiss_handler_setup_pgd(unsigned long pgd);
37 write_c0_xcontext((unsigned long) smp_processor_id() << 51); \ 37 write_c0_xcontext((unsigned long) smp_processor_id() << 51); \
38 } while (0) 38 } while (0)
39 39
40
41static inline unsigned long get_current_pgd(void)
42{
43 return PHYS_TO_XKSEG_CACHED((read_c0_context() >> 11) & ~0xfffUL);
44}
45
40#else /* CONFIG_MIPS_PGD_C0_CONTEXT: using pgd_current*/ 46#else /* CONFIG_MIPS_PGD_C0_CONTEXT: using pgd_current*/
41 47
42/* 48/*
@@ -72,6 +78,12 @@ extern unsigned long pgd_current[];
72#define ASID_INC 0x10 78#define ASID_INC 0x10
73#define ASID_MASK 0xff0 79#define ASID_MASK 0xff0
74 80
81#elif defined(CONFIG_CPU_RM9000)
82
83#define ASID_INC 0x1
84#define ASID_MASK 0xfff
85
86/* SMTC/34K debug hack - but maybe we'll keep it */
75#elif defined(CONFIG_MIPS_MT_SMTC) 87#elif defined(CONFIG_MIPS_MT_SMTC)
76 88
77#define ASID_INC 0x1 89#define ASID_INC 0x1
diff --git a/arch/mips/include/asm/module.h b/arch/mips/include/asm/module.h
index 44b705d0826..bc01a02cacd 100644
--- a/arch/mips/include/asm/module.h
+++ b/arch/mips/include/asm/module.h
@@ -2,7 +2,6 @@
2#define _ASM_MODULE_H 2#define _ASM_MODULE_H
3 3
4#include <linux/list.h> 4#include <linux/list.h>
5#include <linux/elf.h>
6#include <asm/uaccess.h> 5#include <asm/uaccess.h>
7 6
8struct mod_arch_specific { 7struct mod_arch_specific {
@@ -10,7 +9,6 @@ struct mod_arch_specific {
10 struct list_head dbe_list; 9 struct list_head dbe_list;
11 const struct exception_table_entry *dbe_start; 10 const struct exception_table_entry *dbe_start;
12 const struct exception_table_entry *dbe_end; 11 const struct exception_table_entry *dbe_end;
13 struct mips_hi16 *r_mips_hi16_list;
14}; 12};
15 13
16typedef uint8_t Elf64_Byte; /* Type for a 8-bit quantity. */ 14typedef uint8_t Elf64_Byte; /* Type for a 8-bit quantity. */
@@ -35,14 +33,11 @@ typedef struct {
35} Elf64_Mips_Rela; 33} Elf64_Mips_Rela;
36 34
37#ifdef CONFIG_32BIT 35#ifdef CONFIG_32BIT
36
38#define Elf_Shdr Elf32_Shdr 37#define Elf_Shdr Elf32_Shdr
39#define Elf_Sym Elf32_Sym 38#define Elf_Sym Elf32_Sym
40#define Elf_Ehdr Elf32_Ehdr 39#define Elf_Ehdr Elf32_Ehdr
41#define Elf_Addr Elf32_Addr 40#define Elf_Addr Elf32_Addr
42#define Elf_Rel Elf32_Rel
43#define Elf_Rela Elf32_Rela
44#define ELF_R_TYPE(X) ELF32_R_TYPE(X)
45#define ELF_R_SYM(X) ELF32_R_SYM(X)
46 41
47#define Elf_Mips_Rel Elf32_Rel 42#define Elf_Mips_Rel Elf32_Rel
48#define Elf_Mips_Rela Elf32_Rela 43#define Elf_Mips_Rela Elf32_Rela
@@ -53,14 +48,11 @@ typedef struct {
53#endif 48#endif
54 49
55#ifdef CONFIG_64BIT 50#ifdef CONFIG_64BIT
51
56#define Elf_Shdr Elf64_Shdr 52#define Elf_Shdr Elf64_Shdr
57#define Elf_Sym Elf64_Sym 53#define Elf_Sym Elf64_Sym
58#define Elf_Ehdr Elf64_Ehdr 54#define Elf_Ehdr Elf64_Ehdr
59#define Elf_Addr Elf64_Addr 55#define Elf_Addr Elf64_Addr
60#define Elf_Rel Elf64_Rel
61#define Elf_Rela Elf64_Rela
62#define ELF_R_TYPE(X) ELF64_R_TYPE(X)
63#define ELF_R_SYM(X) ELF64_R_SYM(X)
64 56
65#define Elf_Mips_Rel Elf64_Mips_Rel 57#define Elf_Mips_Rel Elf64_Mips_Rel
66#define Elf_Mips_Rela Elf64_Mips_Rela 58#define Elf_Mips_Rela Elf64_Mips_Rela
@@ -82,9 +74,7 @@ search_module_dbetables(unsigned long addr)
82} 74}
83#endif 75#endif
84 76
85#ifdef CONFIG_CPU_BMIPS 77#ifdef CONFIG_CPU_MIPS32_R1
86#define MODULE_PROC_FAMILY "BMIPS "
87#elif defined CONFIG_CPU_MIPS32_R1
88#define MODULE_PROC_FAMILY "MIPS32_R1 " 78#define MODULE_PROC_FAMILY "MIPS32_R1 "
89#elif defined CONFIG_CPU_MIPS32_R2 79#elif defined CONFIG_CPU_MIPS32_R2
90#define MODULE_PROC_FAMILY "MIPS32_R2 " 80#define MODULE_PROC_FAMILY "MIPS32_R2 "
@@ -120,18 +110,16 @@ search_module_dbetables(unsigned long addr)
120#define MODULE_PROC_FAMILY "R10000 " 110#define MODULE_PROC_FAMILY "R10000 "
121#elif defined CONFIG_CPU_RM7000 111#elif defined CONFIG_CPU_RM7000
122#define MODULE_PROC_FAMILY "RM7000 " 112#define MODULE_PROC_FAMILY "RM7000 "
113#elif defined CONFIG_CPU_RM9000
114#define MODULE_PROC_FAMILY "RM9000 "
123#elif defined CONFIG_CPU_SB1 115#elif defined CONFIG_CPU_SB1
124#define MODULE_PROC_FAMILY "SB1 " 116#define MODULE_PROC_FAMILY "SB1 "
125#elif defined CONFIG_CPU_LOONGSON1
126#define MODULE_PROC_FAMILY "LOONGSON1 "
127#elif defined CONFIG_CPU_LOONGSON2 117#elif defined CONFIG_CPU_LOONGSON2
128#define MODULE_PROC_FAMILY "LOONGSON2 " 118#define MODULE_PROC_FAMILY "LOONGSON2 "
129#elif defined CONFIG_CPU_CAVIUM_OCTEON 119#elif defined CONFIG_CPU_CAVIUM_OCTEON
130#define MODULE_PROC_FAMILY "OCTEON " 120#define MODULE_PROC_FAMILY "OCTEON "
131#elif defined CONFIG_CPU_XLR 121#elif defined CONFIG_CPU_XLR
132#define MODULE_PROC_FAMILY "XLR " 122#define MODULE_PROC_FAMILY "XLR "
133#elif defined CONFIG_CPU_XLP
134#define MODULE_PROC_FAMILY "XLP "
135#else 123#else
136#error MODULE_PROC_FAMILY undefined for your processor configuration 124#error MODULE_PROC_FAMILY undefined for your processor configuration
137#endif 125#endif
diff --git a/arch/mips/include/asm/netlogic/common.h b/arch/mips/include/asm/netlogic/common.h
deleted file mode 100644
index 42bfd5f1eee..00000000000
--- a/arch/mips/include/asm/netlogic/common.h
+++ /dev/null
@@ -1,113 +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#ifndef _NETLOGIC_COMMON_H_
36#define _NETLOGIC_COMMON_H_
37
38/*
39 * Common SMP definitions
40 */
41#define RESET_VEC_PHYS 0x1fc00000
42#define RESET_DATA_PHYS (RESET_VEC_PHYS + (1<<10))
43#define BOOT_THREAD_MODE 0
44#define BOOT_NMI_LOCK 4
45#define BOOT_NMI_HANDLER 8
46
47#ifndef __ASSEMBLY__
48#include <linux/cpumask.h>
49#include <linux/spinlock.h>
50#include <asm/irq.h>
51#include <asm/mach-netlogic/multi-node.h>
52
53struct irq_desc;
54void nlm_smp_function_ipi_handler(unsigned int irq, struct irq_desc *desc);
55void nlm_smp_resched_ipi_handler(unsigned int irq, struct irq_desc *desc);
56void nlm_smp_irq_init(int hwcpuid);
57void nlm_boot_secondary_cpus(void);
58int nlm_wakeup_secondary_cpus(void);
59void nlm_rmiboot_preboot(void);
60void nlm_percpu_init(int hwcpuid);
61
62static inline void
63nlm_set_nmi_handler(void *handler)
64{
65 char *reset_data;
66
67 reset_data = (char *)CKSEG1ADDR(RESET_DATA_PHYS);
68 *(int64_t *)(reset_data + BOOT_NMI_HANDLER) = (long)handler;
69}
70
71/*
72 * Misc.
73 */
74unsigned int nlm_get_cpu_frequency(void);
75void nlm_node_init(int node);
76extern struct plat_smp_ops nlm_smp_ops;
77extern char nlm_reset_entry[], nlm_reset_entry_end[];
78
79extern unsigned int nlm_threads_per_core;
80extern cpumask_t nlm_cpumask;
81
82struct nlm_soc_info {
83 unsigned long coremask; /* cores enabled on the soc */
84 unsigned long ebase;
85 uint64_t irqmask;
86 uint64_t sysbase; /* only for XLP */
87 uint64_t picbase;
88 spinlock_t piclock;
89};
90
91#define nlm_get_node(i) (&nlm_nodes[i])
92#ifdef CONFIG_CPU_XLR
93#define nlm_current_node() (&nlm_nodes[0])
94#else
95#define nlm_current_node() (&nlm_nodes[nlm_nodeid()])
96#endif
97
98struct irq_data;
99uint64_t nlm_pci_irqmask(int node);
100void nlm_set_pic_extra_ack(int node, int irq, void (*xack)(struct irq_data *));
101
102/*
103 * The NR_IRQs is divided between nodes, each of them has a separate irq space
104 */
105static inline int nlm_irq_to_xirq(int node, int irq)
106{
107 return node * NR_IRQS / NLM_NR_NODES + irq;
108}
109
110extern struct nlm_soc_info nlm_nodes[NLM_NR_NODES];
111extern int nlm_cpu_ready[];
112#endif
113#endif /* _NETLOGIC_COMMON_H_ */
diff --git a/arch/mips/include/asm/netlogic/haldefs.h b/arch/mips/include/asm/netlogic/haldefs.h
deleted file mode 100644
index 72a0c788b47..00000000000
--- a/arch/mips/include/asm/netlogic/haldefs.h
+++ /dev/null
@@ -1,163 +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#ifndef __NLM_HAL_HALDEFS_H__
36#define __NLM_HAL_HALDEFS_H__
37
38/*
39 * This file contains platform specific memory mapped IO implementation
40 * and will provide a way to read 32/64 bit memory mapped registers in
41 * all ABIs
42 */
43#if !defined(CONFIG_64BIT) && defined(CONFIG_CPU_XLP)
44#error "o32 compile not supported on XLP yet"
45#endif
46/*
47 * For o32 compilation, we have to disable interrupts and enable KX bit to
48 * access 64 bit addresses or data.
49 *
50 * We need to disable interrupts because we save just the lower 32 bits of
51 * registers in interrupt handling. So if we get hit by an interrupt while
52 * using the upper 32 bits of a register, we lose.
53 */
54static inline uint32_t nlm_save_flags_kx(void)
55{
56 return change_c0_status(ST0_KX | ST0_IE, ST0_KX);
57}
58
59static inline uint32_t nlm_save_flags_cop2(void)
60{
61 return change_c0_status(ST0_CU2 | ST0_IE, ST0_CU2);
62}
63
64static inline void nlm_restore_flags(uint32_t sr)
65{
66 write_c0_status(sr);
67}
68
69/*
70 * The n64 implementations are simple, the o32 implementations when they
71 * are added, will have to disable interrupts and enable KX before doing
72 * 64 bit ops.
73 */
74static inline uint32_t
75nlm_read_reg(uint64_t base, uint32_t reg)
76{
77 volatile uint32_t *addr = (volatile uint32_t *)(long)base + reg;
78
79 return *addr;
80}
81
82static inline void
83nlm_write_reg(uint64_t base, uint32_t reg, uint32_t val)
84{
85 volatile uint32_t *addr = (volatile uint32_t *)(long)base + reg;
86
87 *addr = val;
88}
89
90static inline uint64_t
91nlm_read_reg64(uint64_t base, uint32_t reg)
92{
93 uint64_t addr = base + (reg >> 1) * sizeof(uint64_t);
94 volatile uint64_t *ptr = (volatile uint64_t *)(long)addr;
95
96 return *ptr;
97}
98
99static inline void
100nlm_write_reg64(uint64_t base, uint32_t reg, uint64_t val)
101{
102 uint64_t addr = base + (reg >> 1) * sizeof(uint64_t);
103 volatile uint64_t *ptr = (volatile uint64_t *)(long)addr;
104
105 *ptr = val;
106}
107
108/*
109 * Routines to store 32/64 bit values to 64 bit addresses,
110 * used when going thru XKPHYS to access registers
111 */
112static inline uint32_t
113nlm_read_reg_xkphys(uint64_t base, uint32_t reg)
114{
115 return nlm_read_reg(base, reg);
116}
117
118static inline void
119nlm_write_reg_xkphys(uint64_t base, uint32_t reg, uint32_t val)
120{
121 nlm_write_reg(base, reg, val);
122}
123
124static inline uint64_t
125nlm_read_reg64_xkphys(uint64_t base, uint32_t reg)
126{
127 return nlm_read_reg64(base, reg);
128}
129
130static inline void
131nlm_write_reg64_xkphys(uint64_t base, uint32_t reg, uint64_t val)
132{
133 nlm_write_reg64(base, reg, val);
134}
135
136/* Location where IO base is mapped */
137extern uint64_t nlm_io_base;
138
139#if defined(CONFIG_CPU_XLP)
140static inline uint64_t
141nlm_pcicfg_base(uint32_t devoffset)
142{
143 return nlm_io_base + devoffset;
144}
145
146static inline uint64_t
147nlm_xkphys_map_pcibar0(uint64_t pcibase)
148{
149 uint64_t paddr;
150
151 paddr = nlm_read_reg(pcibase, 0x4) & ~0xfu;
152 return (uint64_t)0x9000000000000000 | paddr;
153}
154#elif defined(CONFIG_CPU_XLR)
155
156static inline uint64_t
157nlm_mmio_base(uint32_t devoffset)
158{
159 return nlm_io_base + devoffset;
160}
161#endif
162
163#endif
diff --git a/arch/mips/include/asm/netlogic/interrupt.h b/arch/mips/include/asm/netlogic/interrupt.h
index ed5993d9b7b..a85aadb6cfd 100644
--- a/arch/mips/include/asm/netlogic/interrupt.h
+++ b/arch/mips/include/asm/netlogic/interrupt.h
@@ -39,7 +39,7 @@
39 39
40#define IRQ_IPI_SMP_FUNCTION 3 40#define IRQ_IPI_SMP_FUNCTION 3
41#define IRQ_IPI_SMP_RESCHEDULE 4 41#define IRQ_IPI_SMP_RESCHEDULE 4
42#define IRQ_FMN 5 42#define IRQ_MSGRING 6
43#define IRQ_TIMER 7 43#define IRQ_TIMER 7
44 44
45#endif 45#endif
diff --git a/arch/mips/include/asm/netlogic/mips-extns.h b/arch/mips/include/asm/netlogic/mips-extns.h
index 32ba6d95d47..8c53d0ba4bf 100644
--- a/arch/mips/include/asm/netlogic/mips-extns.h
+++ b/arch/mips/include/asm/netlogic/mips-extns.h
@@ -73,146 +73,4 @@ static inline int hard_smp_processor_id(void)
73 return __read_32bit_c0_register($15, 1) & 0x3ff; 73 return __read_32bit_c0_register($15, 1) & 0x3ff;
74} 74}
75 75
76static inline int nlm_nodeid(void)
77{
78 return (__read_32bit_c0_register($15, 1) >> 5) & 0x3;
79}
80
81static inline unsigned int nlm_core_id(void)
82{
83 return (read_c0_ebase() & 0x1c) >> 2;
84}
85
86static inline unsigned int nlm_thread_id(void)
87{
88 return read_c0_ebase() & 0x3;
89}
90
91#define __read_64bit_c2_split(source, sel) \
92({ \
93 unsigned long long __val; \
94 unsigned long __flags; \
95 \
96 local_irq_save(__flags); \
97 if (sel == 0) \
98 __asm__ __volatile__( \
99 ".set\tmips64\n\t" \
100 "dmfc2\t%M0, " #source "\n\t" \
101 "dsll\t%L0, %M0, 32\n\t" \
102 "dsra\t%M0, %M0, 32\n\t" \
103 "dsra\t%L0, %L0, 32\n\t" \
104 ".set\tmips0\n\t" \
105 : "=r" (__val)); \
106 else \
107 __asm__ __volatile__( \
108 ".set\tmips64\n\t" \
109 "dmfc2\t%M0, " #source ", " #sel "\n\t" \
110 "dsll\t%L0, %M0, 32\n\t" \
111 "dsra\t%M0, %M0, 32\n\t" \
112 "dsra\t%L0, %L0, 32\n\t" \
113 ".set\tmips0\n\t" \
114 : "=r" (__val)); \
115 local_irq_restore(__flags); \
116 \
117 __val; \
118})
119
120#define __write_64bit_c2_split(source, sel, val) \
121do { \
122 unsigned long __flags; \
123 \
124 local_irq_save(__flags); \
125 if (sel == 0) \
126 __asm__ __volatile__( \
127 ".set\tmips64\n\t" \
128 "dsll\t%L0, %L0, 32\n\t" \
129 "dsrl\t%L0, %L0, 32\n\t" \
130 "dsll\t%M0, %M0, 32\n\t" \
131 "or\t%L0, %L0, %M0\n\t" \
132 "dmtc2\t%L0, " #source "\n\t" \
133 ".set\tmips0\n\t" \
134 : : "r" (val)); \
135 else \
136 __asm__ __volatile__( \
137 ".set\tmips64\n\t" \
138 "dsll\t%L0, %L0, 32\n\t" \
139 "dsrl\t%L0, %L0, 32\n\t" \
140 "dsll\t%M0, %M0, 32\n\t" \
141 "or\t%L0, %L0, %M0\n\t" \
142 "dmtc2\t%L0, " #source ", " #sel "\n\t" \
143 ".set\tmips0\n\t" \
144 : : "r" (val)); \
145 local_irq_restore(__flags); \
146} while (0)
147
148#define __read_32bit_c2_register(source, sel) \
149({ uint32_t __res; \
150 if (sel == 0) \
151 __asm__ __volatile__( \
152 ".set\tmips32\n\t" \
153 "mfc2\t%0, " #source "\n\t" \
154 ".set\tmips0\n\t" \
155 : "=r" (__res)); \
156 else \
157 __asm__ __volatile__( \
158 ".set\tmips32\n\t" \
159 "mfc2\t%0, " #source ", " #sel "\n\t" \
160 ".set\tmips0\n\t" \
161 : "=r" (__res)); \
162 __res; \
163})
164
165#define __read_64bit_c2_register(source, sel) \
166({ unsigned long long __res; \
167 if (sizeof(unsigned long) == 4) \
168 __res = __read_64bit_c2_split(source, sel); \
169 else if (sel == 0) \
170 __asm__ __volatile__( \
171 ".set\tmips64\n\t" \
172 "dmfc2\t%0, " #source "\n\t" \
173 ".set\tmips0\n\t" \
174 : "=r" (__res)); \
175 else \
176 __asm__ __volatile__( \
177 ".set\tmips64\n\t" \
178 "dmfc2\t%0, " #source ", " #sel "\n\t" \
179 ".set\tmips0\n\t" \
180 : "=r" (__res)); \
181 __res; \
182})
183
184#define __write_64bit_c2_register(register, sel, value) \
185do { \
186 if (sizeof(unsigned long) == 4) \
187 __write_64bit_c2_split(register, sel, value); \
188 else if (sel == 0) \
189 __asm__ __volatile__( \
190 ".set\tmips64\n\t" \
191 "dmtc2\t%z0, " #register "\n\t" \
192 ".set\tmips0\n\t" \
193 : : "Jr" (value)); \
194 else \
195 __asm__ __volatile__( \
196 ".set\tmips64\n\t" \
197 "dmtc2\t%z0, " #register ", " #sel "\n\t" \
198 ".set\tmips0\n\t" \
199 : : "Jr" (value)); \
200} while (0)
201
202#define __write_32bit_c2_register(reg, sel, value) \
203({ \
204 if (sel == 0) \
205 __asm__ __volatile__( \
206 ".set\tmips32\n\t" \
207 "mtc2\t%z0, " #reg "\n\t" \
208 ".set\tmips0\n\t" \
209 : : "Jr" (value)); \
210 else \
211 __asm__ __volatile__( \
212 ".set\tmips32\n\t" \
213 "mtc2\t%z0, " #reg ", " #sel "\n\t" \
214 ".set\tmips0\n\t" \
215 : : "Jr" (value)); \
216})
217
218#endif /*_ASM_NLM_MIPS_EXTS_H */ 76#endif /*_ASM_NLM_MIPS_EXTS_H */
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/bridge.h b/arch/mips/include/asm/netlogic/xlp-hal/bridge.h
deleted file mode 100644
index ca95133f1ad..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/bridge.h
+++ /dev/null
@@ -1,187 +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#ifndef __NLM_HAL_BRIDGE_H__
36#define __NLM_HAL_BRIDGE_H__
37
38/**
39* @file_name mio.h
40* @author Netlogic Microsystems
41* @brief Basic definitions of XLP memory and io subsystem
42*/
43
44/*
45 * BRIDGE specific registers
46 *
47 * These registers start after the PCIe header, which has 0x40
48 * standard entries
49 */
50#define BRIDGE_MODE 0x00
51#define BRIDGE_PCI_CFG_BASE 0x01
52#define BRIDGE_PCI_CFG_LIMIT 0x02
53#define BRIDGE_PCIE_CFG_BASE 0x03
54#define BRIDGE_PCIE_CFG_LIMIT 0x04
55#define BRIDGE_BUSNUM_BAR0 0x05
56#define BRIDGE_BUSNUM_BAR1 0x06
57#define BRIDGE_BUSNUM_BAR2 0x07
58#define BRIDGE_BUSNUM_BAR3 0x08
59#define BRIDGE_BUSNUM_BAR4 0x09
60#define BRIDGE_BUSNUM_BAR5 0x0a
61#define BRIDGE_BUSNUM_BAR6 0x0b
62#define BRIDGE_FLASH_BAR0 0x0c
63#define BRIDGE_FLASH_BAR1 0x0d
64#define BRIDGE_FLASH_BAR2 0x0e
65#define BRIDGE_FLASH_BAR3 0x0f
66#define BRIDGE_FLASH_LIMIT0 0x10
67#define BRIDGE_FLASH_LIMIT1 0x11
68#define BRIDGE_FLASH_LIMIT2 0x12
69#define BRIDGE_FLASH_LIMIT3 0x13
70
71#define BRIDGE_DRAM_BAR(i) (0x14 + (i))
72#define BRIDGE_DRAM_BAR0 0x14
73#define BRIDGE_DRAM_BAR1 0x15
74#define BRIDGE_DRAM_BAR2 0x16
75#define BRIDGE_DRAM_BAR3 0x17
76#define BRIDGE_DRAM_BAR4 0x18
77#define BRIDGE_DRAM_BAR5 0x19
78#define BRIDGE_DRAM_BAR6 0x1a
79#define BRIDGE_DRAM_BAR7 0x1b
80
81#define BRIDGE_DRAM_LIMIT(i) (0x1c + (i))
82#define BRIDGE_DRAM_LIMIT0 0x1c
83#define BRIDGE_DRAM_LIMIT1 0x1d
84#define BRIDGE_DRAM_LIMIT2 0x1e
85#define BRIDGE_DRAM_LIMIT3 0x1f
86#define BRIDGE_DRAM_LIMIT4 0x20
87#define BRIDGE_DRAM_LIMIT5 0x21
88#define BRIDGE_DRAM_LIMIT6 0x22
89#define BRIDGE_DRAM_LIMIT7 0x23
90
91#define BRIDGE_DRAM_NODE_TRANSLN0 0x24
92#define BRIDGE_DRAM_NODE_TRANSLN1 0x25
93#define BRIDGE_DRAM_NODE_TRANSLN2 0x26
94#define BRIDGE_DRAM_NODE_TRANSLN3 0x27
95#define BRIDGE_DRAM_NODE_TRANSLN4 0x28
96#define BRIDGE_DRAM_NODE_TRANSLN5 0x29
97#define BRIDGE_DRAM_NODE_TRANSLN6 0x2a
98#define BRIDGE_DRAM_NODE_TRANSLN7 0x2b
99#define BRIDGE_DRAM_CHNL_TRANSLN0 0x2c
100#define BRIDGE_DRAM_CHNL_TRANSLN1 0x2d
101#define BRIDGE_DRAM_CHNL_TRANSLN2 0x2e
102#define BRIDGE_DRAM_CHNL_TRANSLN3 0x2f
103#define BRIDGE_DRAM_CHNL_TRANSLN4 0x30
104#define BRIDGE_DRAM_CHNL_TRANSLN5 0x31
105#define BRIDGE_DRAM_CHNL_TRANSLN6 0x32
106#define BRIDGE_DRAM_CHNL_TRANSLN7 0x33
107#define BRIDGE_PCIEMEM_BASE0 0x34
108#define BRIDGE_PCIEMEM_BASE1 0x35
109#define BRIDGE_PCIEMEM_BASE2 0x36
110#define BRIDGE_PCIEMEM_BASE3 0x37
111#define BRIDGE_PCIEMEM_LIMIT0 0x38
112#define BRIDGE_PCIEMEM_LIMIT1 0x39
113#define BRIDGE_PCIEMEM_LIMIT2 0x3a
114#define BRIDGE_PCIEMEM_LIMIT3 0x3b
115#define BRIDGE_PCIEIO_BASE0 0x3c
116#define BRIDGE_PCIEIO_BASE1 0x3d
117#define BRIDGE_PCIEIO_BASE2 0x3e
118#define BRIDGE_PCIEIO_BASE3 0x3f
119#define BRIDGE_PCIEIO_LIMIT0 0x40
120#define BRIDGE_PCIEIO_LIMIT1 0x41
121#define BRIDGE_PCIEIO_LIMIT2 0x42
122#define BRIDGE_PCIEIO_LIMIT3 0x43
123#define BRIDGE_PCIEMEM_BASE4 0x44
124#define BRIDGE_PCIEMEM_BASE5 0x45
125#define BRIDGE_PCIEMEM_BASE6 0x46
126#define BRIDGE_PCIEMEM_LIMIT4 0x47
127#define BRIDGE_PCIEMEM_LIMIT5 0x48
128#define BRIDGE_PCIEMEM_LIMIT6 0x49
129#define BRIDGE_PCIEIO_BASE4 0x4a
130#define BRIDGE_PCIEIO_BASE5 0x4b
131#define BRIDGE_PCIEIO_BASE6 0x4c
132#define BRIDGE_PCIEIO_LIMIT4 0x4d
133#define BRIDGE_PCIEIO_LIMIT5 0x4e
134#define BRIDGE_PCIEIO_LIMIT6 0x4f
135#define BRIDGE_NBU_EVENT_CNT_CTL 0x50
136#define BRIDGE_EVNTCTR1_LOW 0x51
137#define BRIDGE_EVNTCTR1_HI 0x52
138#define BRIDGE_EVNT_CNT_CTL2 0x53
139#define BRIDGE_EVNTCTR2_LOW 0x54
140#define BRIDGE_EVNTCTR2_HI 0x55
141#define BRIDGE_TRACEBUF_MATCH0 0x56
142#define BRIDGE_TRACEBUF_MATCH1 0x57
143#define BRIDGE_TRACEBUF_MATCH_LOW 0x58
144#define BRIDGE_TRACEBUF_MATCH_HI 0x59
145#define BRIDGE_TRACEBUF_CTRL 0x5a
146#define BRIDGE_TRACEBUF_INIT 0x5b
147#define BRIDGE_TRACEBUF_ACCESS 0x5c
148#define BRIDGE_TRACEBUF_READ_DATA0 0x5d
149#define BRIDGE_TRACEBUF_READ_DATA1 0x5d
150#define BRIDGE_TRACEBUF_READ_DATA2 0x5f
151#define BRIDGE_TRACEBUF_READ_DATA3 0x60
152#define BRIDGE_TRACEBUF_STATUS 0x61
153#define BRIDGE_ADDRESS_ERROR0 0x62
154#define BRIDGE_ADDRESS_ERROR1 0x63
155#define BRIDGE_ADDRESS_ERROR2 0x64
156#define BRIDGE_TAG_ECC_ADDR_ERROR0 0x65
157#define BRIDGE_TAG_ECC_ADDR_ERROR1 0x66
158#define BRIDGE_TAG_ECC_ADDR_ERROR2 0x67
159#define BRIDGE_LINE_FLUSH0 0x68
160#define BRIDGE_LINE_FLUSH1 0x69
161#define BRIDGE_NODE_ID 0x6a
162#define BRIDGE_ERROR_INTERRUPT_EN 0x6b
163#define BRIDGE_PCIE0_WEIGHT 0x2c0
164#define BRIDGE_PCIE1_WEIGHT 0x2c1
165#define BRIDGE_PCIE2_WEIGHT 0x2c2
166#define BRIDGE_PCIE3_WEIGHT 0x2c3
167#define BRIDGE_USB_WEIGHT 0x2c4
168#define BRIDGE_NET_WEIGHT 0x2c5
169#define BRIDGE_POE_WEIGHT 0x2c6
170#define BRIDGE_CMS_WEIGHT 0x2c7
171#define BRIDGE_DMAENG_WEIGHT 0x2c8
172#define BRIDGE_SEC_WEIGHT 0x2c9
173#define BRIDGE_COMP_WEIGHT 0x2ca
174#define BRIDGE_GIO_WEIGHT 0x2cb
175#define BRIDGE_FLASH_WEIGHT 0x2cc
176
177#ifndef __ASSEMBLY__
178
179#define nlm_read_bridge_reg(b, r) nlm_read_reg(b, r)
180#define nlm_write_bridge_reg(b, r, v) nlm_write_reg(b, r, v)
181#define nlm_get_bridge_pcibase(node) \
182 nlm_pcicfg_base(XLP_IO_BRIDGE_OFFSET(node))
183#define nlm_get_bridge_regbase(node) \
184 (nlm_get_bridge_pcibase(node) + XLP_IO_PCI_HDRSZ)
185
186#endif /* __ASSEMBLY__ */
187#endif /* __NLM_HAL_BRIDGE_H__ */
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/cpucontrol.h b/arch/mips/include/asm/netlogic/xlp-hal/cpucontrol.h
deleted file mode 100644
index 7b63a6b722a..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/cpucontrol.h
+++ /dev/null
@@ -1,85 +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#ifndef __NLM_HAL_CPUCONTROL_H__
36#define __NLM_HAL_CPUCONTROL_H__
37
38#define CPU_BLOCKID_IFU 0
39#define CPU_BLOCKID_ICU 1
40#define CPU_BLOCKID_IEU 2
41#define CPU_BLOCKID_LSU 3
42#define CPU_BLOCKID_MMU 4
43#define CPU_BLOCKID_PRF 5
44#define CPU_BLOCKID_SCH 7
45#define CPU_BLOCKID_SCU 8
46#define CPU_BLOCKID_FPU 9
47#define CPU_BLOCKID_MAP 10
48
49#define LSU_DEFEATURE 0x304
50#define LSU_DEBUG_ADDR 0x305
51#define LSU_DEBUG_DATA0 0x306
52#define LSU_CERRLOG_REGID 0x309
53#define SCHED_DEFEATURE 0x700
54
55/* Offsets of interest from the 'MAP' Block */
56#define MAP_THREADMODE 0x00
57#define MAP_EXT_EBASE_ENABLE 0x04
58#define MAP_CCDI_CONFIG 0x08
59#define MAP_THRD0_CCDI_STATUS 0x0c
60#define MAP_THRD1_CCDI_STATUS 0x10
61#define MAP_THRD2_CCDI_STATUS 0x14
62#define MAP_THRD3_CCDI_STATUS 0x18
63#define MAP_THRD0_DEBUG_MODE 0x1c
64#define MAP_THRD1_DEBUG_MODE 0x20
65#define MAP_THRD2_DEBUG_MODE 0x24
66#define MAP_THRD3_DEBUG_MODE 0x28
67#define MAP_MISC_STATE 0x60
68#define MAP_DEBUG_READ_CTL 0x64
69#define MAP_DEBUG_READ_REG0 0x68
70#define MAP_DEBUG_READ_REG1 0x6c
71
72#define MMU_SETUP 0x400
73#define MMU_LFSRSEED 0x401
74#define MMU_HPW_NUM_PAGE_LVL 0x410
75#define MMU_PGWKR_PGDBASE 0x411
76#define MMU_PGWKR_PGDSHFT 0x412
77#define MMU_PGWKR_PGDMASK 0x413
78#define MMU_PGWKR_PUDSHFT 0x414
79#define MMU_PGWKR_PUDMASK 0x415
80#define MMU_PGWKR_PMDSHFT 0x416
81#define MMU_PGWKR_PMDMASK 0x417
82#define MMU_PGWKR_PTESHFT 0x418
83#define MMU_PGWKR_PTEMASK 0x419
84
85#endif /* __NLM_CPUCONTROL_H__ */
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/iomap.h b/arch/mips/include/asm/netlogic/xlp-hal/iomap.h
deleted file mode 100644
index 2c63f975464..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/iomap.h
+++ /dev/null
@@ -1,156 +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#ifndef __NLM_HAL_IOMAP_H__
36#define __NLM_HAL_IOMAP_H__
37
38#define XLP_DEFAULT_IO_BASE 0x18000000
39#define XLP_DEFAULT_PCI_ECFG_BASE XLP_DEFAULT_IO_BASE
40#define XLP_DEFAULT_PCI_CFG_BASE 0x1c000000
41
42#define NMI_BASE 0xbfc00000
43#define XLP_IO_CLK 133333333
44
45#define XLP_PCIE_CFG_SIZE 0x1000 /* 4K */
46#define XLP_PCIE_DEV_BLK_SIZE (8 * XLP_PCIE_CFG_SIZE)
47#define XLP_PCIE_BUS_BLK_SIZE (256 * XLP_PCIE_DEV_BLK_SIZE)
48#define XLP_IO_SIZE (64 << 20) /* ECFG space size */
49#define XLP_IO_PCI_HDRSZ 0x100
50#define XLP_IO_DEV(node, dev) ((dev) + (node) * 8)
51#define XLP_HDR_OFFSET(node, bus, dev, fn) (((bus) << 20) | \
52 ((XLP_IO_DEV(node, dev)) << 15) | ((fn) << 12))
53
54#define XLP_IO_BRIDGE_OFFSET(node) XLP_HDR_OFFSET(node, 0, 0, 0)
55/* coherent inter chip */
56#define XLP_IO_CIC0_OFFSET(node) XLP_HDR_OFFSET(node, 0, 0, 1)
57#define XLP_IO_CIC1_OFFSET(node) XLP_HDR_OFFSET(node, 0, 0, 2)
58#define XLP_IO_CIC2_OFFSET(node) XLP_HDR_OFFSET(node, 0, 0, 3)
59#define XLP_IO_PIC_OFFSET(node) XLP_HDR_OFFSET(node, 0, 0, 4)
60
61#define XLP_IO_PCIE_OFFSET(node, i) XLP_HDR_OFFSET(node, 0, 1, i)
62#define XLP_IO_PCIE0_OFFSET(node) XLP_HDR_OFFSET(node, 0, 1, 0)
63#define XLP_IO_PCIE1_OFFSET(node) XLP_HDR_OFFSET(node, 0, 1, 1)
64#define XLP_IO_PCIE2_OFFSET(node) XLP_HDR_OFFSET(node, 0, 1, 2)
65#define XLP_IO_PCIE3_OFFSET(node) XLP_HDR_OFFSET(node, 0, 1, 3)
66
67#define XLP_IO_USB_OFFSET(node, i) XLP_HDR_OFFSET(node, 0, 2, i)
68#define XLP_IO_USB_EHCI0_OFFSET(node) XLP_HDR_OFFSET(node, 0, 2, 0)
69#define XLP_IO_USB_OHCI0_OFFSET(node) XLP_HDR_OFFSET(node, 0, 2, 1)
70#define XLP_IO_USB_OHCI1_OFFSET(node) XLP_HDR_OFFSET(node, 0, 2, 2)
71#define XLP_IO_USB_EHCI1_OFFSET(node) XLP_HDR_OFFSET(node, 0, 2, 3)
72#define XLP_IO_USB_OHCI2_OFFSET(node) XLP_HDR_OFFSET(node, 0, 2, 4)
73#define XLP_IO_USB_OHCI3_OFFSET(node) XLP_HDR_OFFSET(node, 0, 2, 5)
74
75#define XLP_IO_NAE_OFFSET(node) XLP_HDR_OFFSET(node, 0, 3, 0)
76#define XLP_IO_POE_OFFSET(node) XLP_HDR_OFFSET(node, 0, 3, 1)
77
78#define XLP_IO_CMS_OFFSET(node) XLP_HDR_OFFSET(node, 0, 4, 0)
79
80#define XLP_IO_DMA_OFFSET(node) XLP_HDR_OFFSET(node, 0, 5, 1)
81#define XLP_IO_SEC_OFFSET(node) XLP_HDR_OFFSET(node, 0, 5, 2)
82#define XLP_IO_CMP_OFFSET(node) XLP_HDR_OFFSET(node, 0, 5, 3)
83
84#define XLP_IO_UART_OFFSET(node, i) XLP_HDR_OFFSET(node, 0, 6, i)
85#define XLP_IO_UART0_OFFSET(node) XLP_HDR_OFFSET(node, 0, 6, 0)
86#define XLP_IO_UART1_OFFSET(node) XLP_HDR_OFFSET(node, 0, 6, 1)
87#define XLP_IO_I2C_OFFSET(node, i) XLP_HDR_OFFSET(node, 0, 6, 2 + i)
88#define XLP_IO_I2C0_OFFSET(node) XLP_HDR_OFFSET(node, 0, 6, 2)
89#define XLP_IO_I2C1_OFFSET(node) XLP_HDR_OFFSET(node, 0, 6, 3)
90#define XLP_IO_GPIO_OFFSET(node) XLP_HDR_OFFSET(node, 0, 6, 4)
91/* system management */
92#define XLP_IO_SYS_OFFSET(node) XLP_HDR_OFFSET(node, 0, 6, 5)
93#define XLP_IO_JTAG_OFFSET(node) XLP_HDR_OFFSET(node, 0, 6, 6)
94
95#define XLP_IO_NOR_OFFSET(node) XLP_HDR_OFFSET(node, 0, 7, 0)
96#define XLP_IO_NAND_OFFSET(node) XLP_HDR_OFFSET(node, 0, 7, 1)
97#define XLP_IO_SPI_OFFSET(node) XLP_HDR_OFFSET(node, 0, 7, 2)
98/* SD flash */
99#define XLP_IO_SD_OFFSET(node) XLP_HDR_OFFSET(node, 0, 7, 3)
100#define XLP_IO_MMC_OFFSET(node, slot) \
101 ((XLP_IO_SD_OFFSET(node))+(slot*0x100)+XLP_IO_PCI_HDRSZ)
102
103/* PCI config header register id's */
104#define XLP_PCI_CFGREG0 0x00
105#define XLP_PCI_CFGREG1 0x01
106#define XLP_PCI_CFGREG2 0x02
107#define XLP_PCI_CFGREG3 0x03
108#define XLP_PCI_CFGREG4 0x04
109#define XLP_PCI_CFGREG5 0x05
110#define XLP_PCI_DEVINFO_REG0 0x30
111#define XLP_PCI_DEVINFO_REG1 0x31
112#define XLP_PCI_DEVINFO_REG2 0x32
113#define XLP_PCI_DEVINFO_REG3 0x33
114#define XLP_PCI_DEVINFO_REG4 0x34
115#define XLP_PCI_DEVINFO_REG5 0x35
116#define XLP_PCI_DEVINFO_REG6 0x36
117#define XLP_PCI_DEVINFO_REG7 0x37
118#define XLP_PCI_DEVSCRATCH_REG0 0x38
119#define XLP_PCI_DEVSCRATCH_REG1 0x39
120#define XLP_PCI_DEVSCRATCH_REG2 0x3a
121#define XLP_PCI_DEVSCRATCH_REG3 0x3b
122#define XLP_PCI_MSGSTN_REG 0x3c
123#define XLP_PCI_IRTINFO_REG 0x3d
124#define XLP_PCI_UCODEINFO_REG 0x3e
125#define XLP_PCI_SBB_WT_REG 0x3f
126
127/* PCI IDs for SoC device */
128#define PCI_VENDOR_NETLOGIC 0x184e
129
130#define PCI_DEVICE_ID_NLM_ROOT 0x1001
131#define PCI_DEVICE_ID_NLM_ICI 0x1002
132#define PCI_DEVICE_ID_NLM_PIC 0x1003
133#define PCI_DEVICE_ID_NLM_PCIE 0x1004
134#define PCI_DEVICE_ID_NLM_EHCI 0x1007
135#define PCI_DEVICE_ID_NLM_OHCI 0x1008
136#define PCI_DEVICE_ID_NLM_NAE 0x1009
137#define PCI_DEVICE_ID_NLM_POE 0x100A
138#define PCI_DEVICE_ID_NLM_FMN 0x100B
139#define PCI_DEVICE_ID_NLM_RAID 0x100D
140#define PCI_DEVICE_ID_NLM_SAE 0x100D
141#define PCI_DEVICE_ID_NLM_RSA 0x100E
142#define PCI_DEVICE_ID_NLM_CMP 0x100F
143#define PCI_DEVICE_ID_NLM_UART 0x1010
144#define PCI_DEVICE_ID_NLM_I2C 0x1011
145#define PCI_DEVICE_ID_NLM_NOR 0x1015
146#define PCI_DEVICE_ID_NLM_NAND 0x1016
147#define PCI_DEVICE_ID_NLM_MMC 0x1018
148
149#ifndef __ASSEMBLY__
150
151#define nlm_read_pci_reg(b, r) nlm_read_reg(b, r)
152#define nlm_write_pci_reg(b, r, v) nlm_write_reg(b, r, v)
153
154#endif /* !__ASSEMBLY */
155
156#endif /* __NLM_HAL_IOMAP_H__ */
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/pcibus.h b/arch/mips/include/asm/netlogic/xlp-hal/pcibus.h
deleted file mode 100644
index 66c323d1bd7..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/pcibus.h
+++ /dev/null
@@ -1,76 +0,0 @@
1/*
2 * Copyright (c) 2003-2012 Broadcom Corporation
3 * All Rights 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 Broadcom
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 BROADCOM ``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 BROADCOM 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#ifndef __NLM_HAL_PCIBUS_H__
36#define __NLM_HAL_PCIBUS_H__
37
38/* PCIE Memory and IO regions */
39#define PCIE_MEM_BASE 0xd0000000ULL
40#define PCIE_MEM_LIMIT 0xdfffffffULL
41#define PCIE_IO_BASE 0x14000000ULL
42#define PCIE_IO_LIMIT 0x15ffffffULL
43
44#define PCIE_BRIDGE_CMD 0x1
45#define PCIE_BRIDGE_MSI_CAP 0x14
46#define PCIE_BRIDGE_MSI_ADDRL 0x15
47#define PCIE_BRIDGE_MSI_ADDRH 0x16
48#define PCIE_BRIDGE_MSI_DATA 0x17
49
50/* XLP Global PCIE configuration space registers */
51#define PCIE_BYTE_SWAP_MEM_BASE 0x247
52#define PCIE_BYTE_SWAP_MEM_LIM 0x248
53#define PCIE_BYTE_SWAP_IO_BASE 0x249
54#define PCIE_BYTE_SWAP_IO_LIM 0x24A
55#define PCIE_MSI_STATUS 0x25A
56#define PCIE_MSI_EN 0x25B
57#define PCIE_INT_EN0 0x261
58
59/* PCIE_MSI_EN */
60#define PCIE_MSI_VECTOR_INT_EN 0xFFFFFFFF
61
62/* PCIE_INT_EN0 */
63#define PCIE_MSI_INT_EN (1 << 9)
64
65#ifndef __ASSEMBLY__
66
67#define nlm_read_pcie_reg(b, r) nlm_read_reg(b, r)
68#define nlm_write_pcie_reg(b, r, v) nlm_write_reg(b, r, v)
69#define nlm_get_pcie_base(node, inst) \
70 nlm_pcicfg_base(XLP_IO_PCIE_OFFSET(node, inst))
71#define nlm_get_pcie_regbase(node, inst) \
72 (nlm_get_pcie_base(node, inst) + XLP_IO_PCI_HDRSZ)
73
74int xlp_pcie_link_irt(int link);
75#endif
76#endif /* __NLM_HAL_PCIBUS_H__ */
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/pic.h b/arch/mips/include/asm/netlogic/xlp-hal/pic.h
deleted file mode 100644
index b2e53a5383a..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/pic.h
+++ /dev/null
@@ -1,387 +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#ifndef _NLM_HAL_PIC_H
36#define _NLM_HAL_PIC_H
37
38/* PIC Specific registers */
39#define PIC_CTRL 0x00
40
41/* PIC control register defines */
42#define PIC_CTRL_ITV 32 /* interrupt timeout value */
43#define PIC_CTRL_ICI 19 /* ICI interrupt timeout enable */
44#define PIC_CTRL_ITE 18 /* interrupt timeout enable */
45#define PIC_CTRL_STE 10 /* system timer interrupt enable */
46#define PIC_CTRL_WWR1 8 /* watchdog 1 wraparound count for reset */
47#define PIC_CTRL_WWR0 6 /* watchdog 0 wraparound count for reset */
48#define PIC_CTRL_WWN1 4 /* watchdog 1 wraparound count for NMI */
49#define PIC_CTRL_WWN0 2 /* watchdog 0 wraparound count for NMI */
50#define PIC_CTRL_WTE 0 /* watchdog timer enable */
51
52/* PIC Status register defines */
53#define PIC_ICI_STATUS 33 /* ICI interrupt timeout status */
54#define PIC_ITE_STATUS 32 /* interrupt timeout status */
55#define PIC_STS_STATUS 4 /* System timer interrupt status */
56#define PIC_WNS_STATUS 2 /* NMI status for watchdog timers */
57#define PIC_WIS_STATUS 0 /* Interrupt status for watchdog timers */
58
59/* PIC IPI control register offsets */
60#define PIC_IPICTRL_NMI 32
61#define PIC_IPICTRL_RIV 20 /* received interrupt vector */
62#define PIC_IPICTRL_IDB 16 /* interrupt destination base */
63#define PIC_IPICTRL_DTE 0 /* interrupt destination thread enables */
64
65/* PIC IRT register offsets */
66#define PIC_IRT_ENABLE 31
67#define PIC_IRT_NMI 29
68#define PIC_IRT_SCH 28 /* Scheduling scheme */
69#define PIC_IRT_RVEC 20 /* Interrupt receive vectors */
70#define PIC_IRT_DT 19 /* Destination type */
71#define PIC_IRT_DB 16 /* Destination base */
72#define PIC_IRT_DTE 0 /* Destination thread enables */
73
74#define PIC_BYTESWAP 0x02
75#define PIC_STATUS 0x04
76#define PIC_INTR_TIMEOUT 0x06
77#define PIC_ICI0_INTR_TIMEOUT 0x08
78#define PIC_ICI1_INTR_TIMEOUT 0x0a
79#define PIC_ICI2_INTR_TIMEOUT 0x0c
80#define PIC_IPI_CTL 0x0e
81#define PIC_INT_ACK 0x10
82#define PIC_INT_PENDING0 0x12
83#define PIC_INT_PENDING1 0x14
84#define PIC_INT_PENDING2 0x16
85
86#define PIC_WDOG0_MAXVAL 0x18
87#define PIC_WDOG0_COUNT 0x1a
88#define PIC_WDOG0_ENABLE0 0x1c
89#define PIC_WDOG0_ENABLE1 0x1e
90#define PIC_WDOG0_BEATCMD 0x20
91#define PIC_WDOG0_BEAT0 0x22
92#define PIC_WDOG0_BEAT1 0x24
93
94#define PIC_WDOG1_MAXVAL 0x26
95#define PIC_WDOG1_COUNT 0x28
96#define PIC_WDOG1_ENABLE0 0x2a
97#define PIC_WDOG1_ENABLE1 0x2c
98#define PIC_WDOG1_BEATCMD 0x2e
99#define PIC_WDOG1_BEAT0 0x30
100#define PIC_WDOG1_BEAT1 0x32
101
102#define PIC_WDOG_MAXVAL(i) (PIC_WDOG0_MAXVAL + ((i) ? 7 : 0))
103#define PIC_WDOG_COUNT(i) (PIC_WDOG0_COUNT + ((i) ? 7 : 0))
104#define PIC_WDOG_ENABLE0(i) (PIC_WDOG0_ENABLE0 + ((i) ? 7 : 0))
105#define PIC_WDOG_ENABLE1(i) (PIC_WDOG0_ENABLE1 + ((i) ? 7 : 0))
106#define PIC_WDOG_BEATCMD(i) (PIC_WDOG0_BEATCMD + ((i) ? 7 : 0))
107#define PIC_WDOG_BEAT0(i) (PIC_WDOG0_BEAT0 + ((i) ? 7 : 0))
108#define PIC_WDOG_BEAT1(i) (PIC_WDOG0_BEAT1 + ((i) ? 7 : 0))
109
110#define PIC_TIMER0_MAXVAL 0x34
111#define PIC_TIMER1_MAXVAL 0x36
112#define PIC_TIMER2_MAXVAL 0x38
113#define PIC_TIMER3_MAXVAL 0x3a
114#define PIC_TIMER4_MAXVAL 0x3c
115#define PIC_TIMER5_MAXVAL 0x3e
116#define PIC_TIMER6_MAXVAL 0x40
117#define PIC_TIMER7_MAXVAL 0x42
118#define PIC_TIMER_MAXVAL(i) (PIC_TIMER0_MAXVAL + ((i) * 2))
119
120#define PIC_TIMER0_COUNT 0x44
121#define PIC_TIMER1_COUNT 0x46
122#define PIC_TIMER2_COUNT 0x48
123#define PIC_TIMER3_COUNT 0x4a
124#define PIC_TIMER4_COUNT 0x4c
125#define PIC_TIMER5_COUNT 0x4e
126#define PIC_TIMER6_COUNT 0x50
127#define PIC_TIMER7_COUNT 0x52
128#define PIC_TIMER_COUNT(i) (PIC_TIMER0_COUNT + ((i) * 2))
129
130#define PIC_ITE0_N0_N1 0x54
131#define PIC_ITE1_N0_N1 0x58
132#define PIC_ITE2_N0_N1 0x5c
133#define PIC_ITE3_N0_N1 0x60
134#define PIC_ITE4_N0_N1 0x64
135#define PIC_ITE5_N0_N1 0x68
136#define PIC_ITE6_N0_N1 0x6c
137#define PIC_ITE7_N0_N1 0x70
138#define PIC_ITE_N0_N1(i) (PIC_ITE0_N0_N1 + ((i) * 4))
139
140#define PIC_ITE0_N2_N3 0x56
141#define PIC_ITE1_N2_N3 0x5a
142#define PIC_ITE2_N2_N3 0x5e
143#define PIC_ITE3_N2_N3 0x62
144#define PIC_ITE4_N2_N3 0x66
145#define PIC_ITE5_N2_N3 0x6a
146#define PIC_ITE6_N2_N3 0x6e
147#define PIC_ITE7_N2_N3 0x72
148#define PIC_ITE_N2_N3(i) (PIC_ITE0_N2_N3 + ((i) * 4))
149
150#define PIC_IRT0 0x74
151#define PIC_IRT(i) (PIC_IRT0 + ((i) * 2))
152
153#define TIMER_CYCLES_MAXVAL 0xffffffffffffffffULL
154
155/*
156 * IRT Map
157 */
158#define PIC_NUM_IRTS 160
159
160#define PIC_IRT_WD_0_INDEX 0
161#define PIC_IRT_WD_1_INDEX 1
162#define PIC_IRT_WD_NMI_0_INDEX 2
163#define PIC_IRT_WD_NMI_1_INDEX 3
164#define PIC_IRT_TIMER_0_INDEX 4
165#define PIC_IRT_TIMER_1_INDEX 5
166#define PIC_IRT_TIMER_2_INDEX 6
167#define PIC_IRT_TIMER_3_INDEX 7
168#define PIC_IRT_TIMER_4_INDEX 8
169#define PIC_IRT_TIMER_5_INDEX 9
170#define PIC_IRT_TIMER_6_INDEX 10
171#define PIC_IRT_TIMER_7_INDEX 11
172#define PIC_IRT_CLOCK_INDEX PIC_IRT_TIMER_7_INDEX
173#define PIC_IRT_TIMER_INDEX(num) ((num) + PIC_IRT_TIMER_0_INDEX)
174
175
176/* 11 and 12 */
177#define PIC_NUM_MSG_Q_IRTS 32
178#define PIC_IRT_MSG_Q0_INDEX 12
179#define PIC_IRT_MSG_Q_INDEX(qid) ((qid) + PIC_IRT_MSG_Q0_INDEX)
180/* 12 to 43 */
181#define PIC_IRT_MSG_0_INDEX 44
182#define PIC_IRT_MSG_1_INDEX 45
183/* 44 and 45 */
184#define PIC_NUM_PCIE_MSIX_IRTS 32
185#define PIC_IRT_PCIE_MSIX_0_INDEX 46
186#define PIC_IRT_PCIE_MSIX_INDEX(num) ((num) + PIC_IRT_PCIE_MSIX_0_INDEX)
187/* 46 to 77 */
188#define PIC_NUM_PCIE_LINK_IRTS 4
189#define PIC_IRT_PCIE_LINK_0_INDEX 78
190#define PIC_IRT_PCIE_LINK_1_INDEX 79
191#define PIC_IRT_PCIE_LINK_2_INDEX 80
192#define PIC_IRT_PCIE_LINK_3_INDEX 81
193#define PIC_IRT_PCIE_LINK_INDEX(num) ((num) + PIC_IRT_PCIE_LINK_0_INDEX)
194/* 78 to 81 */
195#define PIC_NUM_NA_IRTS 32
196/* 82 to 113 */
197#define PIC_IRT_NA_0_INDEX 82
198#define PIC_IRT_NA_INDEX(num) ((num) + PIC_IRT_NA_0_INDEX)
199#define PIC_IRT_POE_INDEX 114
200
201#define PIC_NUM_USB_IRTS 6
202#define PIC_IRT_USB_0_INDEX 115
203#define PIC_IRT_EHCI_0_INDEX 115
204#define PIC_IRT_OHCI_0_INDEX 116
205#define PIC_IRT_OHCI_1_INDEX 117
206#define PIC_IRT_EHCI_1_INDEX 118
207#define PIC_IRT_OHCI_2_INDEX 119
208#define PIC_IRT_OHCI_3_INDEX 120
209#define PIC_IRT_USB_INDEX(num) ((num) + PIC_IRT_USB_0_INDEX)
210/* 115 to 120 */
211#define PIC_IRT_GDX_INDEX 121
212#define PIC_IRT_SEC_INDEX 122
213#define PIC_IRT_RSA_INDEX 123
214
215#define PIC_NUM_COMP_IRTS 4
216#define PIC_IRT_COMP_0_INDEX 124
217#define PIC_IRT_COMP_INDEX(num) ((num) + PIC_IRT_COMP_0_INDEX)
218/* 124 to 127 */
219#define PIC_IRT_GBU_INDEX 128
220#define PIC_IRT_ICC_0_INDEX 129 /* ICC - Inter Chip Coherency */
221#define PIC_IRT_ICC_1_INDEX 130
222#define PIC_IRT_ICC_2_INDEX 131
223#define PIC_IRT_CAM_INDEX 132
224#define PIC_IRT_UART_0_INDEX 133
225#define PIC_IRT_UART_1_INDEX 134
226#define PIC_IRT_I2C_0_INDEX 135
227#define PIC_IRT_I2C_1_INDEX 136
228#define PIC_IRT_SYS_0_INDEX 137
229#define PIC_IRT_SYS_1_INDEX 138
230#define PIC_IRT_JTAG_INDEX 139
231#define PIC_IRT_PIC_INDEX 140
232#define PIC_IRT_NBU_INDEX 141
233#define PIC_IRT_TCU_INDEX 142
234#define PIC_IRT_GCU_INDEX 143 /* GBC - Global Coherency */
235#define PIC_IRT_DMC_0_INDEX 144
236#define PIC_IRT_DMC_1_INDEX 145
237
238#define PIC_NUM_GPIO_IRTS 4
239#define PIC_IRT_GPIO_0_INDEX 146
240#define PIC_IRT_GPIO_INDEX(num) ((num) + PIC_IRT_GPIO_0_INDEX)
241
242/* 146 to 149 */
243#define PIC_IRT_NOR_INDEX 150
244#define PIC_IRT_NAND_INDEX 151
245#define PIC_IRT_SPI_INDEX 152
246#define PIC_IRT_MMC_INDEX 153
247
248#define PIC_CLOCK_TIMER 7
249#define PIC_IRQ_BASE 8
250
251#if !defined(LOCORE) && !defined(__ASSEMBLY__)
252
253#define PIC_IRT_FIRST_IRQ (PIC_IRQ_BASE)
254#define PIC_IRT_LAST_IRQ 63
255#define PIC_IRQ_IS_IRT(irq) ((irq) >= PIC_IRT_FIRST_IRQ)
256
257/*
258 * Misc
259 */
260#define PIC_IRT_VALID 1
261#define PIC_LOCAL_SCHEDULING 1
262#define PIC_GLOBAL_SCHEDULING 0
263
264#define nlm_read_pic_reg(b, r) nlm_read_reg64(b, r)
265#define nlm_write_pic_reg(b, r, v) nlm_write_reg64(b, r, v)
266#define nlm_get_pic_pcibase(node) nlm_pcicfg_base(XLP_IO_PIC_OFFSET(node))
267#define nlm_get_pic_regbase(node) (nlm_get_pic_pcibase(node) + XLP_IO_PCI_HDRSZ)
268
269/* IRT and h/w interrupt routines */
270static inline int
271nlm_pic_read_irt(uint64_t base, int irt_index)
272{
273 return nlm_read_pic_reg(base, PIC_IRT(irt_index));
274}
275
276static inline void
277nlm_set_irt_to_cpu(uint64_t base, int irt, int cpu)
278{
279 uint64_t val;
280
281 val = nlm_read_pic_reg(base, PIC_IRT(irt));
282 /* clear cpuset and mask */
283 val &= ~((0x7ull << 16) | 0xffff);
284 /* set DB, cpuset and cpumask */
285 val |= (1 << 19) | ((cpu >> 4) << 16) | (1 << (cpu & 0xf));
286 nlm_write_pic_reg(base, PIC_IRT(irt), val);
287}
288
289static inline void
290nlm_pic_write_irt(uint64_t base, int irt_num, int en, int nmi,
291 int sch, int vec, int dt, int db, int dte)
292{
293 uint64_t val;
294
295 val = (((uint64_t)en & 0x1) << 31) | ((nmi & 0x1) << 29) |
296 ((sch & 0x1) << 28) | ((vec & 0x3f) << 20) |
297 ((dt & 0x1) << 19) | ((db & 0x7) << 16) |
298 (dte & 0xffff);
299
300 nlm_write_pic_reg(base, PIC_IRT(irt_num), val);
301}
302
303static inline void
304nlm_pic_write_irt_direct(uint64_t base, int irt_num, int en, int nmi,
305 int sch, int vec, int cpu)
306{
307 nlm_pic_write_irt(base, irt_num, en, nmi, sch, vec, 1,
308 (cpu >> 4), /* thread group */
309 1 << (cpu & 0xf)); /* thread mask */
310}
311
312static inline uint64_t
313nlm_pic_read_timer(uint64_t base, int timer)
314{
315 return nlm_read_pic_reg(base, PIC_TIMER_COUNT(timer));
316}
317
318static inline void
319nlm_pic_write_timer(uint64_t base, int timer, uint64_t value)
320{
321 nlm_write_pic_reg(base, PIC_TIMER_COUNT(timer), value);
322}
323
324static inline void
325nlm_pic_set_timer(uint64_t base, int timer, uint64_t value, int irq, int cpu)
326{
327 uint64_t pic_ctrl = nlm_read_pic_reg(base, PIC_CTRL);
328 int en;
329
330 en = (irq > 0);
331 nlm_write_pic_reg(base, PIC_TIMER_MAXVAL(timer), value);
332 nlm_pic_write_irt_direct(base, PIC_IRT_TIMER_INDEX(timer),
333 en, 0, 0, irq, cpu);
334
335 /* enable the timer */
336 pic_ctrl |= (1 << (PIC_CTRL_STE + timer));
337 nlm_write_pic_reg(base, PIC_CTRL, pic_ctrl);
338}
339
340static inline void
341nlm_pic_enable_irt(uint64_t base, int irt)
342{
343 uint64_t reg;
344
345 reg = nlm_read_pic_reg(base, PIC_IRT(irt));
346 nlm_write_pic_reg(base, PIC_IRT(irt), reg | (1u << 31));
347}
348
349static inline void
350nlm_pic_disable_irt(uint64_t base, int irt)
351{
352 uint64_t reg;
353
354 reg = nlm_read_pic_reg(base, PIC_IRT(irt));
355 nlm_write_pic_reg(base, PIC_IRT(irt), reg & ~((uint64_t)1 << 31));
356}
357
358static inline void
359nlm_pic_send_ipi(uint64_t base, int hwt, int irq, int nmi)
360{
361 uint64_t ipi;
362
363 ipi = (nmi << 31) | (irq << 20);
364 ipi |= ((hwt >> 4) << 16) | (1 << (hwt & 0xf)); /* cpuset and mask */
365 nlm_write_pic_reg(base, PIC_IPI_CTL, ipi);
366}
367
368static inline void
369nlm_pic_ack(uint64_t base, int irt_num)
370{
371 nlm_write_pic_reg(base, PIC_INT_ACK, irt_num);
372
373 /* Ack the Status register for Watchdog & System timers */
374 if (irt_num < 12)
375 nlm_write_pic_reg(base, PIC_STATUS, (1 << irt_num));
376}
377
378static inline void
379nlm_pic_init_irt(uint64_t base, int irt, int irq, int hwt)
380{
381 nlm_pic_write_irt_direct(base, irt, 0, 0, 0, irq, hwt);
382}
383
384int nlm_irq_to_irt(int irq);
385
386#endif /* __ASSEMBLY__ */
387#endif /* _NLM_HAL_PIC_H */
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/sys.h b/arch/mips/include/asm/netlogic/xlp-hal/sys.h
deleted file mode 100644
index 258e8cc00e9..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/sys.h
+++ /dev/null
@@ -1,128 +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#ifndef __NLM_HAL_SYS_H__
36#define __NLM_HAL_SYS_H__
37
38/**
39* @file_name sys.h
40* @author Netlogic Microsystems
41* @brief HAL for System configuration registers
42*/
43#define SYS_CHIP_RESET 0x00
44#define SYS_POWER_ON_RESET_CFG 0x01
45#define SYS_EFUSE_DEVICE_CFG_STATUS0 0x02
46#define SYS_EFUSE_DEVICE_CFG_STATUS1 0x03
47#define SYS_EFUSE_DEVICE_CFG_STATUS2 0x04
48#define SYS_EFUSE_DEVICE_CFG3 0x05
49#define SYS_EFUSE_DEVICE_CFG4 0x06
50#define SYS_EFUSE_DEVICE_CFG5 0x07
51#define SYS_EFUSE_DEVICE_CFG6 0x08
52#define SYS_EFUSE_DEVICE_CFG7 0x09
53#define SYS_PLL_CTRL 0x0a
54#define SYS_CPU_RESET 0x0b
55#define SYS_CPU_NONCOHERENT_MODE 0x0d
56#define SYS_CORE_DFS_DIS_CTRL 0x0e
57#define SYS_CORE_DFS_RST_CTRL 0x0f
58#define SYS_CORE_DFS_BYP_CTRL 0x10
59#define SYS_CORE_DFS_PHA_CTRL 0x11
60#define SYS_CORE_DFS_DIV_INC_CTRL 0x12
61#define SYS_CORE_DFS_DIV_DEC_CTRL 0x13
62#define SYS_CORE_DFS_DIV_VALUE 0x14
63#define SYS_RESET 0x15
64#define SYS_DFS_DIS_CTRL 0x16
65#define SYS_DFS_RST_CTRL 0x17
66#define SYS_DFS_BYP_CTRL 0x18
67#define SYS_DFS_DIV_INC_CTRL 0x19
68#define SYS_DFS_DIV_DEC_CTRL 0x1a
69#define SYS_DFS_DIV_VALUE0 0x1b
70#define SYS_DFS_DIV_VALUE1 0x1c
71#define SYS_SENSE_AMP_DLY 0x1d
72#define SYS_SOC_SENSE_AMP_DLY 0x1e
73#define SYS_CTRL0 0x1f
74#define SYS_CTRL1 0x20
75#define SYS_TIMEOUT_BS1 0x21
76#define SYS_BYTE_SWAP 0x22
77#define SYS_VRM_VID 0x23
78#define SYS_PWR_RAM_CMD 0x24
79#define SYS_PWR_RAM_ADDR 0x25
80#define SYS_PWR_RAM_DATA0 0x26
81#define SYS_PWR_RAM_DATA1 0x27
82#define SYS_PWR_RAM_DATA2 0x28
83#define SYS_PWR_UCODE 0x29
84#define SYS_CPU0_PWR_STATUS 0x2a
85#define SYS_CPU1_PWR_STATUS 0x2b
86#define SYS_CPU2_PWR_STATUS 0x2c
87#define SYS_CPU3_PWR_STATUS 0x2d
88#define SYS_CPU4_PWR_STATUS 0x2e
89#define SYS_CPU5_PWR_STATUS 0x2f
90#define SYS_CPU6_PWR_STATUS 0x30
91#define SYS_CPU7_PWR_STATUS 0x31
92#define SYS_STATUS 0x32
93#define SYS_INT_POL 0x33
94#define SYS_INT_TYPE 0x34
95#define SYS_INT_STATUS 0x35
96#define SYS_INT_MASK0 0x36
97#define SYS_INT_MASK1 0x37
98#define SYS_UCO_S_ECC 0x38
99#define SYS_UCO_M_ECC 0x39
100#define SYS_UCO_ADDR 0x3a
101#define SYS_UCO_INSTR 0x3b
102#define SYS_MEM_BIST0 0x3c
103#define SYS_MEM_BIST1 0x3d
104#define SYS_MEM_BIST2 0x3e
105#define SYS_MEM_BIST3 0x3f
106#define SYS_MEM_BIST4 0x40
107#define SYS_MEM_BIST5 0x41
108#define SYS_MEM_BIST6 0x42
109#define SYS_MEM_BIST7 0x43
110#define SYS_MEM_BIST8 0x44
111#define SYS_MEM_BIST9 0x45
112#define SYS_MEM_BIST10 0x46
113#define SYS_MEM_BIST11 0x47
114#define SYS_MEM_BIST12 0x48
115#define SYS_SCRTCH0 0x49
116#define SYS_SCRTCH1 0x4a
117#define SYS_SCRTCH2 0x4b
118#define SYS_SCRTCH3 0x4c
119
120#ifndef __ASSEMBLY__
121
122#define nlm_read_sys_reg(b, r) nlm_read_reg(b, r)
123#define nlm_write_sys_reg(b, r, v) nlm_write_reg(b, r, v)
124#define nlm_get_sys_pcibase(node) nlm_pcicfg_base(XLP_IO_SYS_OFFSET(node))
125#define nlm_get_sys_regbase(node) (nlm_get_sys_pcibase(node) + XLP_IO_PCI_HDRSZ)
126
127#endif
128#endif
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/uart.h b/arch/mips/include/asm/netlogic/xlp-hal/uart.h
deleted file mode 100644
index 6a7046ca094..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/uart.h
+++ /dev/null
@@ -1,191 +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#ifndef __XLP_HAL_UART_H__
36#define __XLP_HAL_UART_H__
37
38/* UART Specific registers */
39#define UART_RX_DATA 0x00
40#define UART_TX_DATA 0x00
41
42#define UART_INT_EN 0x01
43#define UART_INT_ID 0x02
44#define UART_FIFO_CTL 0x02
45#define UART_LINE_CTL 0x03
46#define UART_MODEM_CTL 0x04
47#define UART_LINE_STS 0x05
48#define UART_MODEM_STS 0x06
49
50#define UART_DIVISOR0 0x00
51#define UART_DIVISOR1 0x01
52
53#define BASE_BAUD (XLP_IO_CLK/16)
54#define BAUD_DIVISOR(baud) (BASE_BAUD / baud)
55
56/* LCR mask values */
57#define LCR_5BITS 0x00
58#define LCR_6BITS 0x01
59#define LCR_7BITS 0x02
60#define LCR_8BITS 0x03
61#define LCR_STOPB 0x04
62#define LCR_PENAB 0x08
63#define LCR_PODD 0x00
64#define LCR_PEVEN 0x10
65#define LCR_PONE 0x20
66#define LCR_PZERO 0x30
67#define LCR_SBREAK 0x40
68#define LCR_EFR_ENABLE 0xbf
69#define LCR_DLAB 0x80
70
71/* MCR mask values */
72#define MCR_DTR 0x01
73#define MCR_RTS 0x02
74#define MCR_DRS 0x04
75#define MCR_IE 0x08
76#define MCR_LOOPBACK 0x10
77
78/* FCR mask values */
79#define FCR_RCV_RST 0x02
80#define FCR_XMT_RST 0x04
81#define FCR_RX_LOW 0x00
82#define FCR_RX_MEDL 0x40
83#define FCR_RX_MEDH 0x80
84#define FCR_RX_HIGH 0xc0
85
86/* IER mask values */
87#define IER_ERXRDY 0x1
88#define IER_ETXRDY 0x2
89#define IER_ERLS 0x4
90#define IER_EMSC 0x8
91
92#if !defined(LOCORE) && !defined(__ASSEMBLY__)
93
94#define nlm_read_uart_reg(b, r) nlm_read_reg(b, r)
95#define nlm_write_uart_reg(b, r, v) nlm_write_reg(b, r, v)
96#define nlm_get_uart_pcibase(node, inst) \
97 nlm_pcicfg_base(XLP_IO_UART_OFFSET(node, inst))
98#define nlm_get_uart_regbase(node, inst) \
99 (nlm_get_uart_pcibase(node, inst) + XLP_IO_PCI_HDRSZ)
100
101static inline void
102nlm_uart_set_baudrate(uint64_t base, int baud)
103{
104 uint32_t lcr;
105
106 lcr = nlm_read_uart_reg(base, UART_LINE_CTL);
107
108 /* enable divisor register, and write baud values */
109 nlm_write_uart_reg(base, UART_LINE_CTL, lcr | (1 << 7));
110 nlm_write_uart_reg(base, UART_DIVISOR0,
111 (BAUD_DIVISOR(baud) & 0xff));
112 nlm_write_uart_reg(base, UART_DIVISOR1,
113 ((BAUD_DIVISOR(baud) >> 8) & 0xff));
114
115 /* restore default lcr */
116 nlm_write_uart_reg(base, UART_LINE_CTL, lcr);
117}
118
119static inline void
120nlm_uart_outbyte(uint64_t base, char c)
121{
122 uint32_t lsr;
123
124 for (;;) {
125 lsr = nlm_read_uart_reg(base, UART_LINE_STS);
126 if (lsr & 0x20)
127 break;
128 }
129
130 nlm_write_uart_reg(base, UART_TX_DATA, (int)c);
131}
132
133static inline char
134nlm_uart_inbyte(uint64_t base)
135{
136 int data, lsr;
137
138 for (;;) {
139 lsr = nlm_read_uart_reg(base, UART_LINE_STS);
140 if (lsr & 0x80) { /* parity/frame/break-error - push a zero */
141 data = 0;
142 break;
143 }
144 if (lsr & 0x01) { /* Rx data */
145 data = nlm_read_uart_reg(base, UART_RX_DATA);
146 break;
147 }
148 }
149
150 return (char)data;
151}
152
153static inline int
154nlm_uart_init(uint64_t base, int baud, int databits, int stopbits,
155 int parity, int int_en, int loopback)
156{
157 uint32_t lcr;
158
159 lcr = 0;
160 if (databits >= 8)
161 lcr |= LCR_8BITS;
162 else if (databits == 7)
163 lcr |= LCR_7BITS;
164 else if (databits == 6)
165 lcr |= LCR_6BITS;
166 else
167 lcr |= LCR_5BITS;
168
169 if (stopbits > 1)
170 lcr |= LCR_STOPB;
171
172 lcr |= parity << 3;
173
174 /* setup default lcr */
175 nlm_write_uart_reg(base, UART_LINE_CTL, lcr);
176
177 /* Reset the FIFOs */
178 nlm_write_uart_reg(base, UART_LINE_CTL, FCR_RCV_RST | FCR_XMT_RST);
179
180 nlm_uart_set_baudrate(base, baud);
181
182 if (loopback)
183 nlm_write_uart_reg(base, UART_MODEM_CTL, 0x1f);
184
185 if (int_en)
186 nlm_write_uart_reg(base, UART_INT_EN, IER_ERXRDY | IER_ETXRDY);
187
188 return 0;
189}
190#endif /* !LOCORE && !__ASSEMBLY__ */
191#endif /* __XLP_HAL_UART_H__ */
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/usb.h b/arch/mips/include/asm/netlogic/xlp-hal/usb.h
deleted file mode 100644
index a9cd350dfb6..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/usb.h
+++ /dev/null
@@ -1,64 +0,0 @@
1/*
2 * Copyright (c) 2003-2012 Broadcom Corporation
3 * All Rights 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 Broadcom
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 BROADCOM ``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 BROADCOM 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#ifndef __NLM_HAL_USB_H__
36#define __NLM_HAL_USB_H__
37
38#define USB_CTL_0 0x01
39#define USB_PHY_0 0x0A
40#define USB_PHY_RESET 0x01
41#define USB_PHY_PORT_RESET_0 0x10
42#define USB_PHY_PORT_RESET_1 0x20
43#define USB_CONTROLLER_RESET 0x01
44#define USB_INT_STATUS 0x0E
45#define USB_INT_EN 0x0F
46#define USB_PHY_INTERRUPT_EN 0x01
47#define USB_OHCI_INTERRUPT_EN 0x02
48#define USB_OHCI_INTERRUPT1_EN 0x04
49#define USB_OHCI_INTERRUPT2_EN 0x08
50#define USB_CTRL_INTERRUPT_EN 0x10
51
52#ifndef __ASSEMBLY__
53
54#define nlm_read_usb_reg(b, r) nlm_read_reg(b, r)
55#define nlm_write_usb_reg(b, r, v) nlm_write_reg(b, r, v)
56#define nlm_get_usb_pcibase(node, inst) \
57 nlm_pcicfg_base(XLP_IO_USB_OFFSET(node, inst))
58#define nlm_get_usb_hcd_base(node, inst) \
59 nlm_xkphys_map_pcibar0(nlm_get_usb_pcibase(node, inst))
60#define nlm_get_usb_regbase(node, inst) \
61 (nlm_get_usb_pcibase(node, inst) + XLP_IO_PCI_HDRSZ)
62
63#endif
64#endif /* __NLM_HAL_USB_H__ */
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/xlp.h b/arch/mips/include/asm/netlogic/xlp-hal/xlp.h
deleted file mode 100644
index 7e47209327a..00000000000
--- a/arch/mips/include/asm/netlogic/xlp-hal/xlp.h
+++ /dev/null
@@ -1,64 +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#ifndef _NLM_HAL_XLP_H
36#define _NLM_HAL_XLP_H
37
38#define PIC_UART_0_IRQ 17
39#define PIC_UART_1_IRQ 18
40#define PIC_PCIE_LINK_0_IRQ 19
41#define PIC_PCIE_LINK_1_IRQ 20
42#define PIC_PCIE_LINK_2_IRQ 21
43#define PIC_PCIE_LINK_3_IRQ 22
44#define PIC_EHCI_0_IRQ 23
45#define PIC_EHCI_1_IRQ 24
46#define PIC_OHCI_0_IRQ 25
47#define PIC_OHCI_1_IRQ 26
48#define PIC_OHCI_2_IRQ 27
49#define PIC_OHCI_3_IRQ 28
50#define PIC_MMC_IRQ 29
51#define PIC_I2C_0_IRQ 30
52#define PIC_I2C_1_IRQ 31
53
54#ifndef __ASSEMBLY__
55
56/* SMP support functions */
57void xlp_boot_core0_siblings(void);
58void xlp_wakeup_secondary_cpus(void);
59
60void xlp_mmu_init(void);
61void nlm_hal_init(void);
62
63#endif /* !__ASSEMBLY__ */
64#endif /* _ASM_NLM_XLP_H */
diff --git a/arch/mips/include/asm/netlogic/xlr/bridge.h b/arch/mips/include/asm/netlogic/xlr/bridge.h
deleted file mode 100644
index 2d02428c4f1..00000000000
--- a/arch/mips/include/asm/netlogic/xlr/bridge.h
+++ /dev/null
@@ -1,104 +0,0 @@
1/*
2 * Copyright (c) 2003-2012 Broadcom Corporation
3 * All Rights 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 Broadcom
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 BROADCOM ``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 BROADCOM 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#ifndef _ASM_NLM_BRIDGE_H_
35#define _ASM_NLM_BRIDGE_H_
36
37#define BRIDGE_DRAM_0_BAR 0
38#define BRIDGE_DRAM_1_BAR 1
39#define BRIDGE_DRAM_2_BAR 2
40#define BRIDGE_DRAM_3_BAR 3
41#define BRIDGE_DRAM_4_BAR 4
42#define BRIDGE_DRAM_5_BAR 5
43#define BRIDGE_DRAM_6_BAR 6
44#define BRIDGE_DRAM_7_BAR 7
45#define BRIDGE_DRAM_CHN_0_MTR_0_BAR 8
46#define BRIDGE_DRAM_CHN_0_MTR_1_BAR 9
47#define BRIDGE_DRAM_CHN_0_MTR_2_BAR 10
48#define BRIDGE_DRAM_CHN_0_MTR_3_BAR 11
49#define BRIDGE_DRAM_CHN_0_MTR_4_BAR 12
50#define BRIDGE_DRAM_CHN_0_MTR_5_BAR 13
51#define BRIDGE_DRAM_CHN_0_MTR_6_BAR 14
52#define BRIDGE_DRAM_CHN_0_MTR_7_BAR 15
53#define BRIDGE_DRAM_CHN_1_MTR_0_BAR 16
54#define BRIDGE_DRAM_CHN_1_MTR_1_BAR 17
55#define BRIDGE_DRAM_CHN_1_MTR_2_BAR 18
56#define BRIDGE_DRAM_CHN_1_MTR_3_BAR 19
57#define BRIDGE_DRAM_CHN_1_MTR_4_BAR 20
58#define BRIDGE_DRAM_CHN_1_MTR_5_BAR 21
59#define BRIDGE_DRAM_CHN_1_MTR_6_BAR 22
60#define BRIDGE_DRAM_CHN_1_MTR_7_BAR 23
61#define BRIDGE_CFG_BAR 24
62#define BRIDGE_PHNX_IO_BAR 25
63#define BRIDGE_FLASH_BAR 26
64#define BRIDGE_SRAM_BAR 27
65#define BRIDGE_HTMEM_BAR 28
66#define BRIDGE_HTINT_BAR 29
67#define BRIDGE_HTPIC_BAR 30
68#define BRIDGE_HTSM_BAR 31
69#define BRIDGE_HTIO_BAR 32
70#define BRIDGE_HTCFG_BAR 33
71#define BRIDGE_PCIXCFG_BAR 34
72#define BRIDGE_PCIXMEM_BAR 35
73#define BRIDGE_PCIXIO_BAR 36
74#define BRIDGE_DEVICE_MASK 37
75#define BRIDGE_AERR_INTR_LOG1 38
76#define BRIDGE_AERR_INTR_LOG2 39
77#define BRIDGE_AERR_INTR_LOG3 40
78#define BRIDGE_AERR_DEV_STAT 41
79#define BRIDGE_AERR1_LOG1 42
80#define BRIDGE_AERR1_LOG2 43
81#define BRIDGE_AERR1_LOG3 44
82#define BRIDGE_AERR1_DEV_STAT 45
83#define BRIDGE_AERR_INTR_EN 46
84#define BRIDGE_AERR_UPG 47
85#define BRIDGE_AERR_CLEAR 48
86#define BRIDGE_AERR1_CLEAR 49
87#define BRIDGE_SBE_COUNTS 50
88#define BRIDGE_DBE_COUNTS 51
89#define BRIDGE_BITERR_INT_EN 52
90
91#define BRIDGE_SYS2IO_CREDITS 53
92#define BRIDGE_EVNT_CNT_CTRL1 54
93#define BRIDGE_EVNT_COUNTER1 55
94#define BRIDGE_EVNT_CNT_CTRL2 56
95#define BRIDGE_EVNT_COUNTER2 57
96#define BRIDGE_RESERVED1 58
97
98#define BRIDGE_DEFEATURE 59
99#define BRIDGE_SCRATCH0 60
100#define BRIDGE_SCRATCH1 61
101#define BRIDGE_SCRATCH2 62
102#define BRIDGE_SCRATCH3 63
103
104#endif
diff --git a/arch/mips/include/asm/netlogic/xlr/flash.h b/arch/mips/include/asm/netlogic/xlr/flash.h
deleted file mode 100644
index f8aca5472b6..00000000000
--- a/arch/mips/include/asm/netlogic/xlr/flash.h
+++ /dev/null
@@ -1,55 +0,0 @@
1/*
2 * Copyright (c) 2003-2012 Broadcom Corporation
3 * All Rights 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 Broadcom
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 BROADCOM ``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 BROADCOM 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#ifndef _ASM_NLM_FLASH_H_
35#define _ASM_NLM_FLASH_H_
36
37#define FLASH_CSBASE_ADDR(cs) (cs)
38#define FLASH_CSADDR_MASK(cs) (0x10 + (cs))
39#define FLASH_CSDEV_PARM(cs) (0x20 + (cs))
40#define FLASH_CSTIME_PARMA(cs) (0x30 + (cs))
41#define FLASH_CSTIME_PARMB(cs) (0x40 + (cs))
42
43#define FLASH_INT_MASK 0x50
44#define FLASH_INT_STATUS 0x60
45#define FLASH_ERROR_STATUS 0x70
46#define FLASH_ERROR_ADDR 0x80
47
48#define FLASH_NAND_CLE(cs) (0x90 + (cs))
49#define FLASH_NAND_ALE(cs) (0xa0 + (cs))
50
51#define FLASH_NAND_CSDEV_PARAM 0x000041e6
52#define FLASH_NAND_CSTIME_PARAMA 0x4f400e22
53#define FLASH_NAND_CSTIME_PARAMB 0x000083cf
54
55#endif
diff --git a/arch/mips/include/asm/netlogic/xlr/fmn.h b/arch/mips/include/asm/netlogic/xlr/fmn.h
deleted file mode 100644
index 68d5167c86b..00000000000
--- a/arch/mips/include/asm/netlogic/xlr/fmn.h
+++ /dev/null
@@ -1,363 +0,0 @@
1/*
2 * Copyright (c) 2003-2012 Broadcom Corporation
3 * All Rights 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 Broadcom
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 BROADCOM ``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 BROADCOM 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#ifndef _NLM_FMN_H_
36#define _NLM_FMN_H_
37
38#include <asm/netlogic/mips-extns.h> /* for COP2 access */
39
40/* Station IDs */
41#define FMN_STNID_CPU0 0x00
42#define FMN_STNID_CPU1 0x08
43#define FMN_STNID_CPU2 0x10
44#define FMN_STNID_CPU3 0x18
45#define FMN_STNID_CPU4 0x20
46#define FMN_STNID_CPU5 0x28
47#define FMN_STNID_CPU6 0x30
48#define FMN_STNID_CPU7 0x38
49
50#define FMN_STNID_XGS0_TX 64
51#define FMN_STNID_XMAC0_00_TX 64
52#define FMN_STNID_XMAC0_01_TX 65
53#define FMN_STNID_XMAC0_02_TX 66
54#define FMN_STNID_XMAC0_03_TX 67
55#define FMN_STNID_XMAC0_04_TX 68
56#define FMN_STNID_XMAC0_05_TX 69
57#define FMN_STNID_XMAC0_06_TX 70
58#define FMN_STNID_XMAC0_07_TX 71
59#define FMN_STNID_XMAC0_08_TX 72
60#define FMN_STNID_XMAC0_09_TX 73
61#define FMN_STNID_XMAC0_10_TX 74
62#define FMN_STNID_XMAC0_11_TX 75
63#define FMN_STNID_XMAC0_12_TX 76
64#define FMN_STNID_XMAC0_13_TX 77
65#define FMN_STNID_XMAC0_14_TX 78
66#define FMN_STNID_XMAC0_15_TX 79
67
68#define FMN_STNID_XGS1_TX 80
69#define FMN_STNID_XMAC1_00_TX 80
70#define FMN_STNID_XMAC1_01_TX 81
71#define FMN_STNID_XMAC1_02_TX 82
72#define FMN_STNID_XMAC1_03_TX 83
73#define FMN_STNID_XMAC1_04_TX 84
74#define FMN_STNID_XMAC1_05_TX 85
75#define FMN_STNID_XMAC1_06_TX 86
76#define FMN_STNID_XMAC1_07_TX 87
77#define FMN_STNID_XMAC1_08_TX 88
78#define FMN_STNID_XMAC1_09_TX 89
79#define FMN_STNID_XMAC1_10_TX 90
80#define FMN_STNID_XMAC1_11_TX 91
81#define FMN_STNID_XMAC1_12_TX 92
82#define FMN_STNID_XMAC1_13_TX 93
83#define FMN_STNID_XMAC1_14_TX 94
84#define FMN_STNID_XMAC1_15_TX 95
85
86#define FMN_STNID_GMAC 96
87#define FMN_STNID_GMACJFR_0 96
88#define FMN_STNID_GMACRFR_0 97
89#define FMN_STNID_GMACTX0 98
90#define FMN_STNID_GMACTX1 99
91#define FMN_STNID_GMACTX2 100
92#define FMN_STNID_GMACTX3 101
93#define FMN_STNID_GMACJFR_1 102
94#define FMN_STNID_GMACRFR_1 103
95
96#define FMN_STNID_DMA 104
97#define FMN_STNID_DMA_0 104
98#define FMN_STNID_DMA_1 105
99#define FMN_STNID_DMA_2 106
100#define FMN_STNID_DMA_3 107
101
102#define FMN_STNID_XGS0FR 112
103#define FMN_STNID_XMAC0JFR 112
104#define FMN_STNID_XMAC0RFR 113
105
106#define FMN_STNID_XGS1FR 114
107#define FMN_STNID_XMAC1JFR 114
108#define FMN_STNID_XMAC1RFR 115
109#define FMN_STNID_SEC 120
110#define FMN_STNID_SEC0 120
111#define FMN_STNID_SEC1 121
112#define FMN_STNID_SEC2 122
113#define FMN_STNID_SEC3 123
114#define FMN_STNID_PK0 124
115#define FMN_STNID_SEC_RSA 124
116#define FMN_STNID_SEC_RSVD0 125
117#define FMN_STNID_SEC_RSVD1 126
118#define FMN_STNID_SEC_RSVD2 127
119
120#define FMN_STNID_GMAC1 80
121#define FMN_STNID_GMAC1_FR_0 81
122#define FMN_STNID_GMAC1_TX0 82
123#define FMN_STNID_GMAC1_TX1 83
124#define FMN_STNID_GMAC1_TX2 84
125#define FMN_STNID_GMAC1_TX3 85
126#define FMN_STNID_GMAC1_FR_1 87
127#define FMN_STNID_GMAC0 96
128#define FMN_STNID_GMAC0_FR_0 97
129#define FMN_STNID_GMAC0_TX0 98
130#define FMN_STNID_GMAC0_TX1 99
131#define FMN_STNID_GMAC0_TX2 100
132#define FMN_STNID_GMAC0_TX3 101
133#define FMN_STNID_GMAC0_FR_1 103
134#define FMN_STNID_CMP_0 108
135#define FMN_STNID_CMP_1 109
136#define FMN_STNID_CMP_2 110
137#define FMN_STNID_CMP_3 111
138#define FMN_STNID_PCIE_0 116
139#define FMN_STNID_PCIE_1 117
140#define FMN_STNID_PCIE_2 118
141#define FMN_STNID_PCIE_3 119
142#define FMN_STNID_XLS_PK0 121
143
144#define nlm_read_c2_cc0(s) __read_32bit_c2_register($16, s)
145#define nlm_read_c2_cc1(s) __read_32bit_c2_register($17, s)
146#define nlm_read_c2_cc2(s) __read_32bit_c2_register($18, s)
147#define nlm_read_c2_cc3(s) __read_32bit_c2_register($19, s)
148#define nlm_read_c2_cc4(s) __read_32bit_c2_register($20, s)
149#define nlm_read_c2_cc5(s) __read_32bit_c2_register($21, s)
150#define nlm_read_c2_cc6(s) __read_32bit_c2_register($22, s)
151#define nlm_read_c2_cc7(s) __read_32bit_c2_register($23, s)
152#define nlm_read_c2_cc8(s) __read_32bit_c2_register($24, s)
153#define nlm_read_c2_cc9(s) __read_32bit_c2_register($25, s)
154#define nlm_read_c2_cc10(s) __read_32bit_c2_register($26, s)
155#define nlm_read_c2_cc11(s) __read_32bit_c2_register($27, s)
156#define nlm_read_c2_cc12(s) __read_32bit_c2_register($28, s)
157#define nlm_read_c2_cc13(s) __read_32bit_c2_register($29, s)
158#define nlm_read_c2_cc14(s) __read_32bit_c2_register($30, s)
159#define nlm_read_c2_cc15(s) __read_32bit_c2_register($31, s)
160
161#define nlm_write_c2_cc0(s, v) __write_32bit_c2_register($16, s, v)
162#define nlm_write_c2_cc1(s, v) __write_32bit_c2_register($17, s, v)
163#define nlm_write_c2_cc2(s, v) __write_32bit_c2_register($18, s, v)
164#define nlm_write_c2_cc3(s, v) __write_32bit_c2_register($19, s, v)
165#define nlm_write_c2_cc4(s, v) __write_32bit_c2_register($20, s, v)
166#define nlm_write_c2_cc5(s, v) __write_32bit_c2_register($21, s, v)
167#define nlm_write_c2_cc6(s, v) __write_32bit_c2_register($22, s, v)
168#define nlm_write_c2_cc7(s, v) __write_32bit_c2_register($23, s, v)
169#define nlm_write_c2_cc8(s, v) __write_32bit_c2_register($24, s, v)
170#define nlm_write_c2_cc9(s, v) __write_32bit_c2_register($25, s, v)
171#define nlm_write_c2_cc10(s, v) __write_32bit_c2_register($26, s, v)
172#define nlm_write_c2_cc11(s, v) __write_32bit_c2_register($27, s, v)
173#define nlm_write_c2_cc12(s, v) __write_32bit_c2_register($28, s, v)
174#define nlm_write_c2_cc13(s, v) __write_32bit_c2_register($29, s, v)
175#define nlm_write_c2_cc14(s, v) __write_32bit_c2_register($30, s, v)
176#define nlm_write_c2_cc15(s, v) __write_32bit_c2_register($31, s, v)
177
178#define nlm_read_c2_status(sel) __read_32bit_c2_register($2, 0)
179#define nlm_read_c2_config() __read_32bit_c2_register($3, 0)
180#define nlm_write_c2_config(v) __write_32bit_c2_register($3, 0, v)
181#define nlm_read_c2_bucksize(b) __read_32bit_c2_register($4, b)
182#define nlm_write_c2_bucksize(b, v) __write_32bit_c2_register($4, b, v)
183
184#define nlm_read_c2_rx_msg0() __read_64bit_c2_register($1, 0)
185#define nlm_read_c2_rx_msg1() __read_64bit_c2_register($1, 1)
186#define nlm_read_c2_rx_msg2() __read_64bit_c2_register($1, 2)
187#define nlm_read_c2_rx_msg3() __read_64bit_c2_register($1, 3)
188
189#define nlm_write_c2_tx_msg0(v) __write_64bit_c2_register($0, 0, v)
190#define nlm_write_c2_tx_msg1(v) __write_64bit_c2_register($0, 1, v)
191#define nlm_write_c2_tx_msg2(v) __write_64bit_c2_register($0, 2, v)
192#define nlm_write_c2_tx_msg3(v) __write_64bit_c2_register($0, 3, v)
193
194#define FMN_STN_RX_QSIZE 256
195#define FMN_NSTATIONS 128
196#define FMN_CORE_NBUCKETS 8
197
198static inline void nlm_msgsnd(unsigned int stid)
199{
200 __asm__ volatile (
201 ".set push\n"
202 ".set noreorder\n"
203 ".set noat\n"
204 "move $1, %0\n"
205 "c2 0x10001\n" /* msgsnd $1 */
206 ".set pop\n"
207 : : "r" (stid) : "$1"
208 );
209}
210
211static inline void nlm_msgld(unsigned int pri)
212{
213 __asm__ volatile (
214 ".set push\n"
215 ".set noreorder\n"
216 ".set noat\n"
217 "move $1, %0\n"
218 "c2 0x10002\n" /* msgld $1 */
219 ".set pop\n"
220 : : "r" (pri) : "$1"
221 );
222}
223
224static inline void nlm_msgwait(unsigned int mask)
225{
226 __asm__ volatile (
227 ".set push\n"
228 ".set noreorder\n"
229 ".set noat\n"
230 "move $8, %0\n"
231 "c2 0x10003\n" /* msgwait $1 */
232 ".set pop\n"
233 : : "r" (mask) : "$1"
234 );
235}
236
237/*
238 * Disable interrupts and enable COP2 access
239 */
240static inline uint32_t nlm_cop2_enable(void)
241{
242 uint32_t sr = read_c0_status();
243
244 write_c0_status((sr & ~ST0_IE) | ST0_CU2);
245 return sr;
246}
247
248static inline void nlm_cop2_restore(uint32_t sr)
249{
250 write_c0_status(sr);
251}
252
253static inline void nlm_fmn_setup_intr(int irq, unsigned int tmask)
254{
255 uint32_t config;
256
257 config = (1 << 24) /* interrupt water mark - 1 msg */
258 | (irq << 16) /* irq */
259 | (tmask << 8) /* thread mask */
260 | 0x2; /* enable watermark intr, disable empty intr */
261 nlm_write_c2_config(config);
262}
263
264struct nlm_fmn_msg {
265 uint64_t msg0;
266 uint64_t msg1;
267 uint64_t msg2;
268 uint64_t msg3;
269};
270
271static inline int nlm_fmn_send(unsigned int size, unsigned int code,
272 unsigned int stid, struct nlm_fmn_msg *msg)
273{
274 unsigned int dest;
275 uint32_t status;
276 int i;
277
278 /*
279 * Make sure that all the writes pending at the cpu are flushed.
280 * Any writes pending on CPU will not be see by devices. L1/L2
281 * caches are coherent with IO, so no cache flush needed.
282 */
283 __asm __volatile("sync");
284
285 /* Load TX message buffers */
286 nlm_write_c2_tx_msg0(msg->msg0);
287 nlm_write_c2_tx_msg1(msg->msg1);
288 nlm_write_c2_tx_msg2(msg->msg2);
289 nlm_write_c2_tx_msg3(msg->msg3);
290 dest = ((size - 1) << 16) | (code << 8) | stid;
291
292 /*
293 * Retry a few times on credit fail, this should be a
294 * transient condition, unless there is a configuration
295 * failure, or the receiver is stuck.
296 */
297 for (i = 0; i < 8; i++) {
298 nlm_msgsnd(dest);
299 status = nlm_read_c2_status(0);
300 if ((status & 0x2) == 1)
301 pr_info("Send pending fail!\n");
302 if ((status & 0x4) == 0)
303 return 0;
304 }
305
306 /* If there is a credit failure, return error */
307 return status & 0x06;
308}
309
310static inline int nlm_fmn_receive(int bucket, int *size, int *code, int *stid,
311 struct nlm_fmn_msg *msg)
312{
313 uint32_t status, tmp;
314
315 nlm_msgld(bucket);
316
317 /* wait for load pending to clear */
318 do {
319 status = nlm_read_c2_status(1);
320 } while ((status & 0x08) != 0);
321
322 /* receive error bits */
323 tmp = status & 0x30;
324 if (tmp != 0)
325 return tmp;
326
327 *size = ((status & 0xc0) >> 6) + 1;
328 *code = (status & 0xff00) >> 8;
329 *stid = (status & 0x7f0000) >> 16;
330 msg->msg0 = nlm_read_c2_rx_msg0();
331 msg->msg1 = nlm_read_c2_rx_msg1();
332 msg->msg2 = nlm_read_c2_rx_msg2();
333 msg->msg3 = nlm_read_c2_rx_msg3();
334
335 return 0;
336}
337
338struct xlr_fmn_info {
339 int num_buckets;
340 int start_stn_id;
341 int end_stn_id;
342 int credit_config[128];
343};
344
345struct xlr_board_fmn_config {
346 int bucket_size[128]; /* size of buckets for all stations */
347 struct xlr_fmn_info cpu[8];
348 struct xlr_fmn_info gmac[2];
349 struct xlr_fmn_info dma;
350 struct xlr_fmn_info cmp;
351 struct xlr_fmn_info sae;
352 struct xlr_fmn_info xgmac[2];
353};
354
355extern int nlm_register_fmn_handler(int start, int end,
356 void (*fn)(int, int, int, int, struct nlm_fmn_msg *, void *),
357 void *arg);
358extern void xlr_percpu_fmn_init(void);
359extern void nlm_setup_fmn_irq(void);
360extern void xlr_board_info_setup(void);
361
362extern struct xlr_board_fmn_config xlr_board_fmn_config;
363#endif
diff --git a/arch/mips/include/asm/netlogic/xlr/gpio.h b/arch/mips/include/asm/netlogic/xlr/gpio.h
index 8492e835b11..51f6ad4aeb1 100644
--- a/arch/mips/include/asm/netlogic/xlr/gpio.h
+++ b/arch/mips/include/asm/netlogic/xlr/gpio.h
@@ -35,40 +35,39 @@
35#ifndef _ASM_NLM_GPIO_H 35#ifndef _ASM_NLM_GPIO_H
36#define _ASM_NLM_GPIO_H 36#define _ASM_NLM_GPIO_H
37 37
38#define GPIO_INT_EN_REG 0 38#define NETLOGIC_GPIO_INT_EN_REG 0
39#define GPIO_INPUT_INVERSION_REG 1 39#define NETLOGIC_GPIO_INPUT_INVERSION_REG 1
40#define GPIO_IO_DIR_REG 2 40#define NETLOGIC_GPIO_IO_DIR_REG 2
41#define GPIO_IO_DATA_WR_REG 3 41#define NETLOGIC_GPIO_IO_DATA_WR_REG 3
42#define GPIO_IO_DATA_RD_REG 4 42#define NETLOGIC_GPIO_IO_DATA_RD_REG 4
43 43
44#define GPIO_SWRESET_REG 8 44#define NETLOGIC_GPIO_SWRESET_REG 8
45#define GPIO_DRAM1_CNTRL_REG 9 45#define NETLOGIC_GPIO_DRAM1_CNTRL_REG 9
46#define GPIO_DRAM1_RATIO_REG 10 46#define NETLOGIC_GPIO_DRAM1_RATIO_REG 10
47#define GPIO_DRAM1_RESET_REG 11 47#define NETLOGIC_GPIO_DRAM1_RESET_REG 11
48#define GPIO_DRAM1_STATUS_REG 12 48#define NETLOGIC_GPIO_DRAM1_STATUS_REG 12
49#define GPIO_DRAM2_CNTRL_REG 13 49#define NETLOGIC_GPIO_DRAM2_CNTRL_REG 13
50#define GPIO_DRAM2_RATIO_REG 14 50#define NETLOGIC_GPIO_DRAM2_RATIO_REG 14
51#define GPIO_DRAM2_RESET_REG 15 51#define NETLOGIC_GPIO_DRAM2_RESET_REG 15
52#define GPIO_DRAM2_STATUS_REG 16 52#define NETLOGIC_GPIO_DRAM2_STATUS_REG 16
53 53
54#define GPIO_PWRON_RESET_CFG_REG 21 54#define NETLOGIC_GPIO_PWRON_RESET_CFG_REG 21
55#define GPIO_BIST_ALL_GO_STATUS_REG 24 55#define NETLOGIC_GPIO_BIST_ALL_GO_STATUS_REG 24
56#define GPIO_BIST_CPU_GO_STATUS_REG 25 56#define NETLOGIC_GPIO_BIST_CPU_GO_STATUS_REG 25
57#define GPIO_BIST_DEV_GO_STATUS_REG 26 57#define NETLOGIC_GPIO_BIST_DEV_GO_STATUS_REG 26
58 58
59#define GPIO_FUSE_BANK_REG 35 59#define NETLOGIC_GPIO_FUSE_BANK_REG 35
60#define GPIO_CPU_RESET_REG 40 60#define NETLOGIC_GPIO_CPU_RESET_REG 40
61#define GPIO_RNG_REG 43 61#define NETLOGIC_GPIO_RNG_REG 43
62 62
63#define PWRON_RESET_PCMCIA_BOOT 17 63#define NETLOGIC_PWRON_RESET_PCMCIA_BOOT 17
64#define NETLOGIC_GPIO_LED_BITMAP 0x1700000
65#define NETLOGIC_GPIO_LED_0_SHIFT 20
66#define NETLOGIC_GPIO_LED_1_SHIFT 24
64 67
65#define GPIO_LED_BITMAP 0x1700000 68#define NETLOGIC_GPIO_LED_OUTPUT_CODE_RESET 0x01
66#define GPIO_LED_0_SHIFT 20 69#define NETLOGIC_GPIO_LED_OUTPUT_CODE_HARD_RESET 0x02
67#define GPIO_LED_1_SHIFT 24 70#define NETLOGIC_GPIO_LED_OUTPUT_CODE_SOFT_RESET 0x03
68 71#define NETLOGIC_GPIO_LED_OUTPUT_CODE_MAIN 0x04
69#define GPIO_LED_OUTPUT_CODE_RESET 0x01
70#define GPIO_LED_OUTPUT_CODE_HARD_RESET 0x02
71#define GPIO_LED_OUTPUT_CODE_SOFT_RESET 0x03
72#define GPIO_LED_OUTPUT_CODE_MAIN 0x04
73 72
74#endif 73#endif
diff --git a/arch/mips/include/asm/netlogic/xlr/iomap.h b/arch/mips/include/asm/netlogic/xlr/iomap.h
index 2e768f032e8..2e3a4dd5304 100644
--- a/arch/mips/include/asm/netlogic/xlr/iomap.h
+++ b/arch/mips/include/asm/netlogic/xlr/iomap.h
@@ -106,4 +106,26 @@
106#define DEFAULT_HT_TYPE0_CFG_BASE 0x16000000 106#define DEFAULT_HT_TYPE0_CFG_BASE 0x16000000
107#define DEFAULT_HT_TYPE1_CFG_BASE 0x17000000 107#define DEFAULT_HT_TYPE1_CFG_BASE 0x17000000
108 108
109#ifndef __ASSEMBLY__
110#include <linux/types.h>
111#include <asm/byteorder.h>
112
113typedef volatile __u32 nlm_reg_t;
114extern unsigned long netlogic_io_base;
115
116/* FIXME read once in write_reg */
117#ifdef CONFIG_CPU_LITTLE_ENDIAN
118#define netlogic_read_reg(base, offset) ((base)[(offset)])
119#define netlogic_write_reg(base, offset, value) ((base)[(offset)] = (value))
120#else
121#define netlogic_read_reg(base, offset) (be32_to_cpu((base)[(offset)]))
122#define netlogic_write_reg(base, offset, value) \
123 ((base)[(offset)] = cpu_to_be32((value)))
124#endif
125
126#define netlogic_read_reg_le32(base, offset) (le32_to_cpu((base)[(offset)]))
127#define netlogic_write_reg_le32(base, offset, value) \
128 ((base)[(offset)] = cpu_to_le32((value)))
129#define netlogic_io_mmio(offset) ((nlm_reg_t *)(netlogic_io_base+(offset)))
130#endif /* __ASSEMBLY__ */
109#endif 131#endif
diff --git a/arch/mips/include/asm/netlogic/xlr/msidef.h b/arch/mips/include/asm/netlogic/xlr/msidef.h
deleted file mode 100644
index 7e39d40be4f..00000000000
--- a/arch/mips/include/asm/netlogic/xlr/msidef.h
+++ /dev/null
@@ -1,84 +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#ifndef ASM_RMI_MSIDEF_H
36#define ASM_RMI_MSIDEF_H
37
38/*
39 * Constants for Intel APIC based MSI messages.
40 * Adapted for the RMI XLR using identical defines
41 */
42
43/*
44 * Shifts for MSI data
45 */
46
47#define MSI_DATA_VECTOR_SHIFT 0
48#define MSI_DATA_VECTOR_MASK 0x000000ff
49#define MSI_DATA_VECTOR(v) (((v) << MSI_DATA_VECTOR_SHIFT) & \
50 MSI_DATA_VECTOR_MASK)
51
52#define MSI_DATA_DELIVERY_MODE_SHIFT 8
53#define MSI_DATA_DELIVERY_FIXED (0 << MSI_DATA_DELIVERY_MODE_SHIFT)
54#define MSI_DATA_DELIVERY_LOWPRI (1 << MSI_DATA_DELIVERY_MODE_SHIFT)
55
56#define MSI_DATA_LEVEL_SHIFT 14
57#define MSI_DATA_LEVEL_DEASSERT (0 << MSI_DATA_LEVEL_SHIFT)
58#define MSI_DATA_LEVEL_ASSERT (1 << MSI_DATA_LEVEL_SHIFT)
59
60#define MSI_DATA_TRIGGER_SHIFT 15
61#define MSI_DATA_TRIGGER_EDGE (0 << MSI_DATA_TRIGGER_SHIFT)
62#define MSI_DATA_TRIGGER_LEVEL (1 << MSI_DATA_TRIGGER_SHIFT)
63
64/*
65 * Shift/mask fields for msi address
66 */
67
68#define MSI_ADDR_BASE_HI 0
69#define MSI_ADDR_BASE_LO 0xfee00000
70
71#define MSI_ADDR_DEST_MODE_SHIFT 2
72#define MSI_ADDR_DEST_MODE_PHYSICAL (0 << MSI_ADDR_DEST_MODE_SHIFT)
73#define MSI_ADDR_DEST_MODE_LOGICAL (1 << MSI_ADDR_DEST_MODE_SHIFT)
74
75#define MSI_ADDR_REDIRECTION_SHIFT 3
76#define MSI_ADDR_REDIRECTION_CPU (0 << MSI_ADDR_REDIRECTION_SHIFT)
77#define MSI_ADDR_REDIRECTION_LOWPRI (1 << MSI_ADDR_REDIRECTION_SHIFT)
78
79#define MSI_ADDR_DEST_ID_SHIFT 12
80#define MSI_ADDR_DEST_ID_MASK 0x00ffff0
81#define MSI_ADDR_DEST_ID(dest) (((dest) << MSI_ADDR_DEST_ID_SHIFT) & \
82 MSI_ADDR_DEST_ID_MASK)
83
84#endif /* ASM_RMI_MSIDEF_H */
diff --git a/arch/mips/include/asm/netlogic/xlr/pic.h b/arch/mips/include/asm/netlogic/xlr/pic.h
index 9a691b1f91b..5cceb746f08 100644
--- a/arch/mips/include/asm/netlogic/xlr/pic.h
+++ b/arch/mips/include/asm/netlogic/xlr/pic.h
@@ -193,70 +193,39 @@
193/* end XLS */ 193/* end XLS */
194 194
195#ifndef __ASSEMBLY__ 195#ifndef __ASSEMBLY__
196 196static inline void pic_send_ipi(u32 ipi)
197#define PIC_IRQ_IS_EDGE_TRIGGERED(irq) (((irq) >= PIC_TIMER_0_IRQ) && \
198 ((irq) <= PIC_TIMER_7_IRQ))
199#define PIC_IRQ_IS_IRT(irq) (((irq) >= PIC_IRT_FIRST_IRQ) && \
200 ((irq) <= PIC_IRT_LAST_IRQ))
201
202static inline int
203nlm_irq_to_irt(int irq)
204{
205 if (PIC_IRQ_IS_IRT(irq) == 0)
206 return -1;
207
208 return PIC_IRQ_TO_INTR(irq);
209}
210
211static inline int
212nlm_irt_to_irq(int irt)
213{ 197{
198 nlm_reg_t *mmio = netlogic_io_mmio(NETLOGIC_IO_PIC_OFFSET);
214 199
215 return PIC_INTR_TO_IRQ(irt); 200 netlogic_write_reg(mmio, PIC_IPI, ipi);
216} 201}
217 202
218static inline void 203static inline u32 pic_read_control(void)
219nlm_pic_enable_irt(uint64_t base, int irt)
220{ 204{
221 uint32_t reg; 205 nlm_reg_t *mmio = netlogic_io_mmio(NETLOGIC_IO_PIC_OFFSET);
222 206
223 reg = nlm_read_reg(base, PIC_IRT_1(irt)); 207 return netlogic_read_reg(mmio, PIC_CTRL);
224 nlm_write_reg(base, PIC_IRT_1(irt), reg | (1u << 31));
225} 208}
226 209
227static inline void 210static inline void pic_write_control(u32 control)
228nlm_pic_disable_irt(uint64_t base, int irt)
229{ 211{
230 uint32_t reg; 212 nlm_reg_t *mmio = netlogic_io_mmio(NETLOGIC_IO_PIC_OFFSET);
231 213
232 reg = nlm_read_reg(base, PIC_IRT_1(irt)); 214 netlogic_write_reg(mmio, PIC_CTRL, control);
233 nlm_write_reg(base, PIC_IRT_1(irt), reg & ~(1u << 31));
234} 215}
235 216
236static inline void 217static inline void pic_update_control(u32 control)
237nlm_pic_send_ipi(uint64_t base, int hwt, int irq, int nmi)
238{ 218{
239 unsigned int tid, pid; 219 nlm_reg_t *mmio = netlogic_io_mmio(NETLOGIC_IO_PIC_OFFSET);
240 220
241 tid = hwt & 0x3; 221 netlogic_write_reg(mmio, PIC_CTRL,
242 pid = (hwt >> 2) & 0x07; 222 (control | netlogic_read_reg(mmio, PIC_CTRL)));
243 nlm_write_reg(base, PIC_IPI,
244 (pid << 20) | (tid << 16) | (nmi << 8) | irq);
245} 223}
246 224
247static inline void 225#define PIC_IRQ_IS_EDGE_TRIGGERED(irq) (((irq) >= PIC_TIMER_0_IRQ) && \
248nlm_pic_ack(uint64_t base, int irt) 226 ((irq) <= PIC_TIMER_7_IRQ))
249{ 227#define PIC_IRQ_IS_IRT(irq) (((irq) >= PIC_IRT_FIRST_IRQ) && \
250 nlm_write_reg(base, PIC_INT_ACK, 1u << irt); 228 ((irq) <= PIC_IRT_LAST_IRQ))
251}
252
253static inline void
254nlm_pic_init_irt(uint64_t base, int irt, int irq, int hwt)
255{
256 nlm_write_reg(base, PIC_IRT_0(irt), (1u << hwt));
257 /* local scheduling, invalid, level by default */
258 nlm_write_reg(base, PIC_IRT_1(irt),
259 (1 << 30) | (1 << 6) | irq);
260}
261#endif 229#endif
230
262#endif /* _ASM_NLM_XLR_PIC_H */ 231#endif /* _ASM_NLM_XLR_PIC_H */
diff --git a/arch/mips/include/asm/netlogic/xlr/xlr.h b/arch/mips/include/asm/netlogic/xlr/xlr.h
index c1667e0c272..3e6372692a0 100644
--- a/arch/mips/include/asm/netlogic/xlr/xlr.h
+++ b/arch/mips/include/asm/netlogic/xlr/xlr.h
@@ -40,8 +40,17 @@ struct uart_port;
40unsigned int nlm_xlr_uart_in(struct uart_port *, int); 40unsigned int nlm_xlr_uart_in(struct uart_port *, int);
41void nlm_xlr_uart_out(struct uart_port *, int, int); 41void nlm_xlr_uart_out(struct uart_port *, int, int);
42 42
43/* SMP helpers */ 43/* SMP support functions */
44void xlr_wakeup_secondary_cpus(void); 44struct irq_desc;
45void nlm_smp_function_ipi_handler(unsigned int irq, struct irq_desc *desc);
46void nlm_smp_resched_ipi_handler(unsigned int irq, struct irq_desc *desc);
47int nlm_wakeup_secondary_cpus(u32 wakeup_mask);
48void nlm_smp_irq_init(void);
49void nlm_boot_smp_nmi(void);
50void prom_pre_boot_secondary_cpus(void);
51
52extern struct plat_smp_ops nlm_smp_ops;
53extern unsigned long nlm_common_ebase;
45 54
46/* XLS B silicon "Rook" */ 55/* XLS B silicon "Rook" */
47static inline unsigned int nlm_chip_is_xls_b(void) 56static inline unsigned int nlm_chip_is_xls_b(void)
@@ -51,8 +60,10 @@ static inline unsigned int nlm_chip_is_xls_b(void)
51 return ((prid & 0xf000) == 0x4000); 60 return ((prid & 0xf000) == 0x4000);
52} 61}
53 62
54/* XLR chip types */ 63/*
55/* The XLS product line has chip versions 0x[48c]? */ 64 * XLR chip types
65 */
66 /* The XLS product line has chip versions 0x[48c]? */
56static inline unsigned int nlm_chip_is_xls(void) 67static inline unsigned int nlm_chip_is_xls(void)
57{ 68{
58 uint32_t prid = read_c0_prid(); 69 uint32_t prid = read_c0_prid();
diff --git a/arch/mips/include/asm/octeon/cvmx-address.h b/arch/mips/include/asm/octeon/cvmx-address.h
deleted file mode 100644
index 3c74d826e2e..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-address.h
+++ /dev/null
@@ -1,274 +0,0 @@
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-2009 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/**
29 * Typedefs and defines for working with Octeon physical addresses.
30 *
31 */
32#ifndef __CVMX_ADDRESS_H__
33#define __CVMX_ADDRESS_H__
34
35#if 0
36typedef enum {
37 CVMX_MIPS_SPACE_XKSEG = 3LL,
38 CVMX_MIPS_SPACE_XKPHYS = 2LL,
39 CVMX_MIPS_SPACE_XSSEG = 1LL,
40 CVMX_MIPS_SPACE_XUSEG = 0LL
41} cvmx_mips_space_t;
42#endif
43
44typedef enum {
45 CVMX_MIPS_XKSEG_SPACE_KSEG0 = 0LL,
46 CVMX_MIPS_XKSEG_SPACE_KSEG1 = 1LL,
47 CVMX_MIPS_XKSEG_SPACE_SSEG = 2LL,
48 CVMX_MIPS_XKSEG_SPACE_KSEG3 = 3LL
49} cvmx_mips_xkseg_space_t;
50
51/* decodes <14:13> of a kseg3 window address */
52typedef enum {
53 CVMX_ADD_WIN_SCR = 0L,
54 /* see cvmx_add_win_dma_dec_t for further decode */
55 CVMX_ADD_WIN_DMA = 1L,
56 CVMX_ADD_WIN_UNUSED = 2L,
57 CVMX_ADD_WIN_UNUSED2 = 3L
58} cvmx_add_win_dec_t;
59
60/* decode within DMA space */
61typedef enum {
62 /*
63 * Add store data to the write buffer entry, allocating it if
64 * necessary.
65 */
66 CVMX_ADD_WIN_DMA_ADD = 0L,
67 /* send out the write buffer entry to DRAM */
68 CVMX_ADD_WIN_DMA_SENDMEM = 1L,
69 /* store data must be normal DRAM memory space address in this case */
70 /* send out the write buffer entry as an IOBDMA command */
71 CVMX_ADD_WIN_DMA_SENDDMA = 2L,
72 /* see CVMX_ADD_WIN_DMA_SEND_DEC for data contents */
73 /* send out the write buffer entry as an IO write */
74 CVMX_ADD_WIN_DMA_SENDIO = 3L,
75 /* store data must be normal IO space address in this case */
76 /* send out a single-tick command on the NCB bus */
77 CVMX_ADD_WIN_DMA_SENDSINGLE = 4L,
78 /* no write buffer data needed/used */
79} cvmx_add_win_dma_dec_t;
80
81/*
82 * Physical Address Decode
83 *
84 * Octeon-I HW never interprets this X (<39:36> reserved
85 * for future expansion), software should set to 0.
86 *
87 * - 0x0 XXX0 0000 0000 to DRAM Cached
88 * - 0x0 XXX0 0FFF FFFF
89 *
90 * - 0x0 XXX0 1000 0000 to Boot Bus Uncached (Converted to 0x1 00X0 1000 0000
91 * - 0x0 XXX0 1FFF FFFF + EJTAG to 0x1 00X0 1FFF FFFF)
92 *
93 * - 0x0 XXX0 2000 0000 to DRAM Cached
94 * - 0x0 XXXF FFFF FFFF
95 *
96 * - 0x1 00X0 0000 0000 to Boot Bus Uncached
97 * - 0x1 00XF FFFF FFFF
98 *
99 * - 0x1 01X0 0000 0000 to Other NCB Uncached
100 * - 0x1 FFXF FFFF FFFF devices
101 *
102 * Decode of all Octeon addresses
103 */
104typedef union {
105
106 uint64_t u64;
107 /* mapped or unmapped virtual address */
108 struct {
109 uint64_t R:2;
110 uint64_t offset:62;
111 } sva;
112
113 /* mapped USEG virtual addresses (typically) */
114 struct {
115 uint64_t zeroes:33;
116 uint64_t offset:31;
117 } suseg;
118
119 /* mapped or unmapped virtual address */
120 struct {
121 uint64_t ones:33;
122 uint64_t sp:2;
123 uint64_t offset:29;
124 } sxkseg;
125
126 /*
127 * physical address accessed through xkphys unmapped virtual
128 * address.
129 */
130 struct {
131 uint64_t R:2; /* CVMX_MIPS_SPACE_XKPHYS in this case */
132 uint64_t cca:3; /* ignored by octeon */
133 uint64_t mbz:10;
134 uint64_t pa:49; /* physical address */
135 } sxkphys;
136
137 /* physical address */
138 struct {
139 uint64_t mbz:15;
140 /* if set, the address is uncached and resides on MCB bus */
141 uint64_t is_io:1;
142 /*
143 * the hardware ignores this field when is_io==0, else
144 * device ID.
145 */
146 uint64_t did:8;
147 /* the hardware ignores <39:36> in Octeon I */
148 uint64_t unaddr:4;
149 uint64_t offset:36;
150 } sphys;
151
152 /* physical mem address */
153 struct {
154 /* techically, <47:40> are dont-cares */
155 uint64_t zeroes:24;
156 /* the hardware ignores <39:36> in Octeon I */
157 uint64_t unaddr:4;
158 uint64_t offset:36;
159 } smem;
160
161 /* physical IO address */
162 struct {
163 uint64_t mem_region:2;
164 uint64_t mbz:13;
165 /* 1 in this case */
166 uint64_t is_io:1;
167 /*
168 * The hardware ignores this field when is_io==0, else
169 * device ID.
170 */
171 uint64_t did:8;
172 /* the hardware ignores <39:36> in Octeon I */
173 uint64_t unaddr:4;
174 uint64_t offset:36;
175 } sio;
176
177 /*
178 * Scratchpad virtual address - accessed through a window at
179 * the end of kseg3
180 */
181 struct {
182 uint64_t ones:49;
183 /* CVMX_ADD_WIN_SCR (0) in this case */
184 cvmx_add_win_dec_t csrdec:2;
185 uint64_t addr:13;
186 } sscr;
187
188 /* there should only be stores to IOBDMA space, no loads */
189 /*
190 * IOBDMA virtual address - accessed through a window at the
191 * end of kseg3
192 */
193 struct {
194 uint64_t ones:49;
195 uint64_t csrdec:2; /* CVMX_ADD_WIN_DMA (1) in this case */
196 uint64_t unused2:3;
197 uint64_t type:3;
198 uint64_t addr:7;
199 } sdma;
200
201 struct {
202 uint64_t didspace:24;
203 uint64_t unused:40;
204 } sfilldidspace;
205
206} cvmx_addr_t;
207
208/* These macros for used by 32 bit applications */
209
210#define CVMX_MIPS32_SPACE_KSEG0 1l
211#define CVMX_ADD_SEG32(segment, add) \
212 (((int32_t)segment << 31) | (int32_t)(add))
213
214/*
215 * Currently all IOs are performed using XKPHYS addressing. Linux uses
216 * the CvmMemCtl register to enable XKPHYS addressing to IO space from
217 * user mode. Future OSes may need to change the upper bits of IO
218 * addresses. The following define controls the upper two bits for all
219 * IO addresses generated by the simple executive library.
220 */
221#define CVMX_IO_SEG CVMX_MIPS_SPACE_XKPHYS
222
223/* These macros simplify the process of creating common IO addresses */
224#define CVMX_ADD_SEG(segment, add) ((((uint64_t)segment) << 62) | (add))
225#ifndef CVMX_ADD_IO_SEG
226#define CVMX_ADD_IO_SEG(add) CVMX_ADD_SEG(CVMX_IO_SEG, (add))
227#endif
228#define CVMX_ADDR_DIDSPACE(did) (((CVMX_IO_SEG) << 22) | ((1ULL) << 8) | (did))
229#define CVMX_ADDR_DID(did) (CVMX_ADDR_DIDSPACE(did) << 40)
230#define CVMX_FULL_DID(did, subdid) (((did) << 3) | (subdid))
231
232 /* from include/ncb_rsl_id.v */
233#define CVMX_OCT_DID_MIS 0ULL /* misc stuff */
234#define CVMX_OCT_DID_GMX0 1ULL
235#define CVMX_OCT_DID_GMX1 2ULL
236#define CVMX_OCT_DID_PCI 3ULL
237#define CVMX_OCT_DID_KEY 4ULL
238#define CVMX_OCT_DID_FPA 5ULL
239#define CVMX_OCT_DID_DFA 6ULL
240#define CVMX_OCT_DID_ZIP 7ULL
241#define CVMX_OCT_DID_RNG 8ULL
242#define CVMX_OCT_DID_IPD 9ULL
243#define CVMX_OCT_DID_PKT 10ULL
244#define CVMX_OCT_DID_TIM 11ULL
245#define CVMX_OCT_DID_TAG 12ULL
246 /* the rest are not on the IO bus */
247#define CVMX_OCT_DID_L2C 16ULL
248#define CVMX_OCT_DID_LMC 17ULL
249#define CVMX_OCT_DID_SPX0 18ULL
250#define CVMX_OCT_DID_SPX1 19ULL
251#define CVMX_OCT_DID_PIP 20ULL
252#define CVMX_OCT_DID_ASX0 22ULL
253#define CVMX_OCT_DID_ASX1 23ULL
254#define CVMX_OCT_DID_IOB 30ULL
255
256#define CVMX_OCT_DID_PKT_SEND CVMX_FULL_DID(CVMX_OCT_DID_PKT, 2ULL)
257#define CVMX_OCT_DID_TAG_SWTAG CVMX_FULL_DID(CVMX_OCT_DID_TAG, 0ULL)
258#define CVMX_OCT_DID_TAG_TAG1 CVMX_FULL_DID(CVMX_OCT_DID_TAG, 1ULL)
259#define CVMX_OCT_DID_TAG_TAG2 CVMX_FULL_DID(CVMX_OCT_DID_TAG, 2ULL)
260#define CVMX_OCT_DID_TAG_TAG3 CVMX_FULL_DID(CVMX_OCT_DID_TAG, 3ULL)
261#define CVMX_OCT_DID_TAG_NULL_RD CVMX_FULL_DID(CVMX_OCT_DID_TAG, 4ULL)
262#define CVMX_OCT_DID_TAG_CSR CVMX_FULL_DID(CVMX_OCT_DID_TAG, 7ULL)
263#define CVMX_OCT_DID_FAU_FAI CVMX_FULL_DID(CVMX_OCT_DID_IOB, 0ULL)
264#define CVMX_OCT_DID_TIM_CSR CVMX_FULL_DID(CVMX_OCT_DID_TIM, 0ULL)
265#define CVMX_OCT_DID_KEY_RW CVMX_FULL_DID(CVMX_OCT_DID_KEY, 0ULL)
266#define CVMX_OCT_DID_PCI_6 CVMX_FULL_DID(CVMX_OCT_DID_PCI, 6ULL)
267#define CVMX_OCT_DID_MIS_BOO CVMX_FULL_DID(CVMX_OCT_DID_MIS, 0ULL)
268#define CVMX_OCT_DID_PCI_RML CVMX_FULL_DID(CVMX_OCT_DID_PCI, 0ULL)
269#define CVMX_OCT_DID_IPD_CSR CVMX_FULL_DID(CVMX_OCT_DID_IPD, 7ULL)
270#define CVMX_OCT_DID_DFA_CSR CVMX_FULL_DID(CVMX_OCT_DID_DFA, 7ULL)
271#define CVMX_OCT_DID_MIS_CSR CVMX_FULL_DID(CVMX_OCT_DID_MIS, 7ULL)
272#define CVMX_OCT_DID_ZIP_CSR CVMX_FULL_DID(CVMX_OCT_DID_ZIP, 0ULL)
273
274#endif /* __CVMX_ADDRESS_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-agl-defs.h b/arch/mips/include/asm/octeon/cvmx-agl-defs.h
index 542ee09510b..30d68f2365e 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,7 +106,6 @@
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
110 uint64_t reserved_38_63:26; 109 uint64_t reserved_38_63:26;
111 uint64_t txpsh1:1; 110 uint64_t txpsh1:1;
112 uint64_t txpop1:1; 111 uint64_t txpop1:1;
@@ -121,25 +120,8 @@ union cvmx_agl_gmx_bad_reg {
121 uint64_t reserved_4_21:18; 120 uint64_t reserved_4_21:18;
122 uint64_t out_ovr:2; 121 uint64_t out_ovr:2;
123 uint64_t reserved_0_1:2; 122 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
140 } s; 123 } s;
141 struct cvmx_agl_gmx_bad_reg_cn52xx { 124 struct cvmx_agl_gmx_bad_reg_cn52xx {
142#ifdef __BIG_ENDIAN_BITFIELD
143 uint64_t reserved_38_63:26; 125 uint64_t reserved_38_63:26;
144 uint64_t txpsh1:1; 126 uint64_t txpsh1:1;
145 uint64_t txpop1:1; 127 uint64_t txpop1:1;
@@ -154,26 +136,9 @@ union cvmx_agl_gmx_bad_reg {
154 uint64_t reserved_4_21:18; 136 uint64_t reserved_4_21:18;
155 uint64_t out_ovr:2; 137 uint64_t out_ovr:2;
156 uint64_t reserved_0_1:2; 138 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
173 } cn52xx; 139 } cn52xx;
174 struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1; 140 struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1;
175 struct cvmx_agl_gmx_bad_reg_cn56xx { 141 struct cvmx_agl_gmx_bad_reg_cn56xx {
176#ifdef __BIG_ENDIAN_BITFIELD
177 uint64_t reserved_35_63:29; 142 uint64_t reserved_35_63:29;
178 uint64_t txpsh:1; 143 uint64_t txpsh:1;
179 uint64_t txpop:1; 144 uint64_t txpop:1;
@@ -185,64 +150,32 @@ union cvmx_agl_gmx_bad_reg {
185 uint64_t reserved_3_21:19; 150 uint64_t reserved_3_21:19;
186 uint64_t out_ovr:1; 151 uint64_t out_ovr:1;
187 uint64_t reserved_0_1:2; 152 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
201 } cn56xx; 153 } cn56xx;
202 struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1; 154 struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1;
203 struct cvmx_agl_gmx_bad_reg_s cn61xx;
204 struct cvmx_agl_gmx_bad_reg_s cn63xx; 155 struct cvmx_agl_gmx_bad_reg_s cn63xx;
205 struct cvmx_agl_gmx_bad_reg_s cn63xxp1; 156 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;
209}; 157};
210 158
211union cvmx_agl_gmx_bist { 159union cvmx_agl_gmx_bist {
212 uint64_t u64; 160 uint64_t u64;
213 struct cvmx_agl_gmx_bist_s { 161 struct cvmx_agl_gmx_bist_s {
214#ifdef __BIG_ENDIAN_BITFIELD
215 uint64_t reserved_25_63:39; 162 uint64_t reserved_25_63:39;
216 uint64_t status:25; 163 uint64_t status:25;
217#else
218 uint64_t status:25;
219 uint64_t reserved_25_63:39;
220#endif
221 } s; 164 } s;
222 struct cvmx_agl_gmx_bist_cn52xx { 165 struct cvmx_agl_gmx_bist_cn52xx {
223#ifdef __BIG_ENDIAN_BITFIELD
224 uint64_t reserved_10_63:54; 166 uint64_t reserved_10_63:54;
225 uint64_t status:10; 167 uint64_t status:10;
226#else
227 uint64_t status:10;
228 uint64_t reserved_10_63:54;
229#endif
230 } cn52xx; 168 } cn52xx;
231 struct cvmx_agl_gmx_bist_cn52xx cn52xxp1; 169 struct cvmx_agl_gmx_bist_cn52xx cn52xxp1;
232 struct cvmx_agl_gmx_bist_cn52xx cn56xx; 170 struct cvmx_agl_gmx_bist_cn52xx cn56xx;
233 struct cvmx_agl_gmx_bist_cn52xx cn56xxp1; 171 struct cvmx_agl_gmx_bist_cn52xx cn56xxp1;
234 struct cvmx_agl_gmx_bist_s cn61xx;
235 struct cvmx_agl_gmx_bist_s cn63xx; 172 struct cvmx_agl_gmx_bist_s cn63xx;
236 struct cvmx_agl_gmx_bist_s cn63xxp1; 173 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;
240}; 174};
241 175
242union cvmx_agl_gmx_drv_ctl { 176union cvmx_agl_gmx_drv_ctl {
243 uint64_t u64; 177 uint64_t u64;
244 struct cvmx_agl_gmx_drv_ctl_s { 178 struct cvmx_agl_gmx_drv_ctl_s {
245#ifdef __BIG_ENDIAN_BITFIELD
246 uint64_t reserved_49_63:15; 179 uint64_t reserved_49_63:15;
247 uint64_t byp_en1:1; 180 uint64_t byp_en1:1;
248 uint64_t reserved_45_47:3; 181 uint64_t reserved_45_47:3;
@@ -255,39 +188,16 @@ union cvmx_agl_gmx_drv_ctl {
255 uint64_t pctl:5; 188 uint64_t pctl:5;
256 uint64_t reserved_5_7:3; 189 uint64_t reserved_5_7:3;
257 uint64_t nctl:5; 190 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
272 } s; 191 } s;
273 struct cvmx_agl_gmx_drv_ctl_s cn52xx; 192 struct cvmx_agl_gmx_drv_ctl_s cn52xx;
274 struct cvmx_agl_gmx_drv_ctl_s cn52xxp1; 193 struct cvmx_agl_gmx_drv_ctl_s cn52xxp1;
275 struct cvmx_agl_gmx_drv_ctl_cn56xx { 194 struct cvmx_agl_gmx_drv_ctl_cn56xx {
276#ifdef __BIG_ENDIAN_BITFIELD
277 uint64_t reserved_17_63:47; 195 uint64_t reserved_17_63:47;
278 uint64_t byp_en:1; 196 uint64_t byp_en:1;
279 uint64_t reserved_13_15:3; 197 uint64_t reserved_13_15:3;
280 uint64_t pctl:5; 198 uint64_t pctl:5;
281 uint64_t reserved_5_7:3; 199 uint64_t reserved_5_7:3;
282 uint64_t nctl:5; 200 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
291 } cn56xx; 201 } cn56xx;
292 struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1; 202 struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1;
293}; 203};
@@ -295,15 +205,9 @@ union cvmx_agl_gmx_drv_ctl {
295union cvmx_agl_gmx_inf_mode { 205union cvmx_agl_gmx_inf_mode {
296 uint64_t u64; 206 uint64_t u64;
297 struct cvmx_agl_gmx_inf_mode_s { 207 struct cvmx_agl_gmx_inf_mode_s {
298#ifdef __BIG_ENDIAN_BITFIELD
299 uint64_t reserved_2_63:62; 208 uint64_t reserved_2_63:62;
300 uint64_t en:1; 209 uint64_t en:1;
301 uint64_t reserved_0_0:1; 210 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
307 } s; 211 } s;
308 struct cvmx_agl_gmx_inf_mode_s cn52xx; 212 struct cvmx_agl_gmx_inf_mode_s cn52xx;
309 struct cvmx_agl_gmx_inf_mode_s cn52xxp1; 213 struct cvmx_agl_gmx_inf_mode_s cn52xxp1;
@@ -314,7 +218,6 @@ union cvmx_agl_gmx_inf_mode {
314union cvmx_agl_gmx_prtx_cfg { 218union cvmx_agl_gmx_prtx_cfg {
315 uint64_t u64; 219 uint64_t u64;
316 struct cvmx_agl_gmx_prtx_cfg_s { 220 struct cvmx_agl_gmx_prtx_cfg_s {
317#ifdef __BIG_ENDIAN_BITFIELD
318 uint64_t reserved_14_63:50; 221 uint64_t reserved_14_63:50;
319 uint64_t tx_idle:1; 222 uint64_t tx_idle:1;
320 uint64_t rx_idle:1; 223 uint64_t rx_idle:1;
@@ -328,24 +231,8 @@ union cvmx_agl_gmx_prtx_cfg {
328 uint64_t duplex:1; 231 uint64_t duplex:1;
329 uint64_t speed:1; 232 uint64_t speed:1;
330 uint64_t en:1; 233 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
346 } s; 234 } s;
347 struct cvmx_agl_gmx_prtx_cfg_cn52xx { 235 struct cvmx_agl_gmx_prtx_cfg_cn52xx {
348#ifdef __BIG_ENDIAN_BITFIELD
349 uint64_t reserved_6_63:58; 236 uint64_t reserved_6_63:58;
350 uint64_t tx_en:1; 237 uint64_t tx_en:1;
351 uint64_t rx_en:1; 238 uint64_t rx_en:1;
@@ -353,230 +240,139 @@ union cvmx_agl_gmx_prtx_cfg {
353 uint64_t duplex:1; 240 uint64_t duplex:1;
354 uint64_t speed:1; 241 uint64_t speed:1;
355 uint64_t en:1; 242 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
365 } cn52xx; 243 } cn52xx;
366 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1; 244 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1;
367 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx; 245 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx;
368 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1; 246 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1;
369 struct cvmx_agl_gmx_prtx_cfg_s cn61xx;
370 struct cvmx_agl_gmx_prtx_cfg_s cn63xx; 247 struct cvmx_agl_gmx_prtx_cfg_s cn63xx;
371 struct cvmx_agl_gmx_prtx_cfg_s cn63xxp1; 248 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;
375}; 249};
376 250
377union cvmx_agl_gmx_rxx_adr_cam0 { 251union cvmx_agl_gmx_rxx_adr_cam0 {
378 uint64_t u64; 252 uint64_t u64;
379 struct cvmx_agl_gmx_rxx_adr_cam0_s { 253 struct cvmx_agl_gmx_rxx_adr_cam0_s {
380#ifdef __BIG_ENDIAN_BITFIELD
381 uint64_t adr:64; 254 uint64_t adr:64;
382#else
383 uint64_t adr:64;
384#endif
385 } s; 255 } s;
386 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx; 256 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx;
387 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1; 257 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1;
388 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx; 258 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx;
389 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1; 259 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1;
390 struct cvmx_agl_gmx_rxx_adr_cam0_s cn61xx;
391 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx; 260 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx;
392 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xxp1; 261 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;
396}; 262};
397 263
398union cvmx_agl_gmx_rxx_adr_cam1 { 264union cvmx_agl_gmx_rxx_adr_cam1 {
399 uint64_t u64; 265 uint64_t u64;
400 struct cvmx_agl_gmx_rxx_adr_cam1_s { 266 struct cvmx_agl_gmx_rxx_adr_cam1_s {
401#ifdef __BIG_ENDIAN_BITFIELD
402 uint64_t adr:64; 267 uint64_t adr:64;
403#else
404 uint64_t adr:64;
405#endif
406 } s; 268 } s;
407 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx; 269 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx;
408 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1; 270 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1;
409 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx; 271 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx;
410 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1; 272 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1;
411 struct cvmx_agl_gmx_rxx_adr_cam1_s cn61xx;
412 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx; 273 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx;
413 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xxp1; 274 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;
417}; 275};
418 276
419union cvmx_agl_gmx_rxx_adr_cam2 { 277union cvmx_agl_gmx_rxx_adr_cam2 {
420 uint64_t u64; 278 uint64_t u64;
421 struct cvmx_agl_gmx_rxx_adr_cam2_s { 279 struct cvmx_agl_gmx_rxx_adr_cam2_s {
422#ifdef __BIG_ENDIAN_BITFIELD
423 uint64_t adr:64; 280 uint64_t adr:64;
424#else
425 uint64_t adr:64;
426#endif
427 } s; 281 } s;
428 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx; 282 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx;
429 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1; 283 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1;
430 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx; 284 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx;
431 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1; 285 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1;
432 struct cvmx_agl_gmx_rxx_adr_cam2_s cn61xx;
433 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx; 286 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx;
434 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xxp1; 287 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;
438}; 288};
439 289
440union cvmx_agl_gmx_rxx_adr_cam3 { 290union cvmx_agl_gmx_rxx_adr_cam3 {
441 uint64_t u64; 291 uint64_t u64;
442 struct cvmx_agl_gmx_rxx_adr_cam3_s { 292 struct cvmx_agl_gmx_rxx_adr_cam3_s {
443#ifdef __BIG_ENDIAN_BITFIELD
444 uint64_t adr:64; 293 uint64_t adr:64;
445#else
446 uint64_t adr:64;
447#endif
448 } s; 294 } s;
449 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx; 295 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx;
450 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1; 296 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1;
451 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx; 297 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx;
452 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1; 298 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1;
453 struct cvmx_agl_gmx_rxx_adr_cam3_s cn61xx;
454 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx; 299 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx;
455 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xxp1; 300 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;
459}; 301};
460 302
461union cvmx_agl_gmx_rxx_adr_cam4 { 303union cvmx_agl_gmx_rxx_adr_cam4 {
462 uint64_t u64; 304 uint64_t u64;
463 struct cvmx_agl_gmx_rxx_adr_cam4_s { 305 struct cvmx_agl_gmx_rxx_adr_cam4_s {
464#ifdef __BIG_ENDIAN_BITFIELD
465 uint64_t adr:64; 306 uint64_t adr:64;
466#else
467 uint64_t adr:64;
468#endif
469 } s; 307 } s;
470 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx; 308 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx;
471 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1; 309 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1;
472 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx; 310 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx;
473 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1; 311 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1;
474 struct cvmx_agl_gmx_rxx_adr_cam4_s cn61xx;
475 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx; 312 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx;
476 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xxp1; 313 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;
480}; 314};
481 315
482union cvmx_agl_gmx_rxx_adr_cam5 { 316union cvmx_agl_gmx_rxx_adr_cam5 {
483 uint64_t u64; 317 uint64_t u64;
484 struct cvmx_agl_gmx_rxx_adr_cam5_s { 318 struct cvmx_agl_gmx_rxx_adr_cam5_s {
485#ifdef __BIG_ENDIAN_BITFIELD
486 uint64_t adr:64;
487#else
488 uint64_t adr:64; 319 uint64_t adr:64;
489#endif
490 } s; 320 } s;
491 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx; 321 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx;
492 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1; 322 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1;
493 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx; 323 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx;
494 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1; 324 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1;
495 struct cvmx_agl_gmx_rxx_adr_cam5_s cn61xx;
496 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx; 325 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx;
497 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xxp1; 326 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;
501}; 327};
502 328
503union cvmx_agl_gmx_rxx_adr_cam_en { 329union cvmx_agl_gmx_rxx_adr_cam_en {
504 uint64_t u64; 330 uint64_t u64;
505 struct cvmx_agl_gmx_rxx_adr_cam_en_s { 331 struct cvmx_agl_gmx_rxx_adr_cam_en_s {
506#ifdef __BIG_ENDIAN_BITFIELD
507 uint64_t reserved_8_63:56; 332 uint64_t reserved_8_63:56;
508 uint64_t en:8; 333 uint64_t en:8;
509#else
510 uint64_t en:8;
511 uint64_t reserved_8_63:56;
512#endif
513 } s; 334 } s;
514 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx; 335 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx;
515 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1; 336 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1;
516 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx; 337 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx;
517 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1; 338 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1;
518 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn61xx;
519 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx; 339 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx;
520 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xxp1; 340 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;
524}; 341};
525 342
526union cvmx_agl_gmx_rxx_adr_ctl { 343union cvmx_agl_gmx_rxx_adr_ctl {
527 uint64_t u64; 344 uint64_t u64;
528 struct cvmx_agl_gmx_rxx_adr_ctl_s { 345 struct cvmx_agl_gmx_rxx_adr_ctl_s {
529#ifdef __BIG_ENDIAN_BITFIELD
530 uint64_t reserved_4_63:60; 346 uint64_t reserved_4_63:60;
531 uint64_t cam_mode:1; 347 uint64_t cam_mode:1;
532 uint64_t mcst:2; 348 uint64_t mcst:2;
533 uint64_t bcst:1; 349 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
540 } s; 350 } s;
541 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx; 351 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx;
542 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1; 352 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1;
543 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx; 353 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx;
544 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1; 354 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1;
545 struct cvmx_agl_gmx_rxx_adr_ctl_s cn61xx;
546 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx; 355 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx;
547 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xxp1; 356 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;
551}; 357};
552 358
553union cvmx_agl_gmx_rxx_decision { 359union cvmx_agl_gmx_rxx_decision {
554 uint64_t u64; 360 uint64_t u64;
555 struct cvmx_agl_gmx_rxx_decision_s { 361 struct cvmx_agl_gmx_rxx_decision_s {
556#ifdef __BIG_ENDIAN_BITFIELD
557 uint64_t reserved_5_63:59; 362 uint64_t reserved_5_63:59;
558 uint64_t cnt:5; 363 uint64_t cnt:5;
559#else
560 uint64_t cnt:5;
561 uint64_t reserved_5_63:59;
562#endif
563 } s; 364 } s;
564 struct cvmx_agl_gmx_rxx_decision_s cn52xx; 365 struct cvmx_agl_gmx_rxx_decision_s cn52xx;
565 struct cvmx_agl_gmx_rxx_decision_s cn52xxp1; 366 struct cvmx_agl_gmx_rxx_decision_s cn52xxp1;
566 struct cvmx_agl_gmx_rxx_decision_s cn56xx; 367 struct cvmx_agl_gmx_rxx_decision_s cn56xx;
567 struct cvmx_agl_gmx_rxx_decision_s cn56xxp1; 368 struct cvmx_agl_gmx_rxx_decision_s cn56xxp1;
568 struct cvmx_agl_gmx_rxx_decision_s cn61xx;
569 struct cvmx_agl_gmx_rxx_decision_s cn63xx; 369 struct cvmx_agl_gmx_rxx_decision_s cn63xx;
570 struct cvmx_agl_gmx_rxx_decision_s cn63xxp1; 370 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;
574}; 371};
575 372
576union cvmx_agl_gmx_rxx_frm_chk { 373union cvmx_agl_gmx_rxx_frm_chk {
577 uint64_t u64; 374 uint64_t u64;
578 struct cvmx_agl_gmx_rxx_frm_chk_s { 375 struct cvmx_agl_gmx_rxx_frm_chk_s {
579#ifdef __BIG_ENDIAN_BITFIELD
580 uint64_t reserved_10_63:54; 376 uint64_t reserved_10_63:54;
581 uint64_t niberr:1; 377 uint64_t niberr:1;
582 uint64_t skperr:1; 378 uint64_t skperr:1;
@@ -588,22 +384,8 @@ union cvmx_agl_gmx_rxx_frm_chk {
588 uint64_t maxerr:1; 384 uint64_t maxerr:1;
589 uint64_t carext:1; 385 uint64_t carext:1;
590 uint64_t minerr:1; 386 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
604 } s; 387 } s;
605 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx { 388 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx {
606#ifdef __BIG_ENDIAN_BITFIELD
607 uint64_t reserved_9_63:55; 389 uint64_t reserved_9_63:55;
608 uint64_t skperr:1; 390 uint64_t skperr:1;
609 uint64_t rcverr:1; 391 uint64_t rcverr:1;
@@ -614,34 +396,17 @@ union cvmx_agl_gmx_rxx_frm_chk {
614 uint64_t maxerr:1; 396 uint64_t maxerr:1;
615 uint64_t reserved_1_1:1; 397 uint64_t reserved_1_1:1;
616 uint64_t minerr:1; 398 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
629 } cn52xx; 399 } cn52xx;
630 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1; 400 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1;
631 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx; 401 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx;
632 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1; 402 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1;
633 struct cvmx_agl_gmx_rxx_frm_chk_s cn61xx;
634 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx; 403 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx;
635 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xxp1; 404 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;
639}; 405};
640 406
641union cvmx_agl_gmx_rxx_frm_ctl { 407union cvmx_agl_gmx_rxx_frm_ctl {
642 uint64_t u64; 408 uint64_t u64;
643 struct cvmx_agl_gmx_rxx_frm_ctl_s { 409 struct cvmx_agl_gmx_rxx_frm_ctl_s {
644#ifdef __BIG_ENDIAN_BITFIELD
645 uint64_t reserved_13_63:51; 410 uint64_t reserved_13_63:51;
646 uint64_t ptp_mode:1; 411 uint64_t ptp_mode:1;
647 uint64_t reserved_11_11:1; 412 uint64_t reserved_11_11:1;
@@ -656,25 +421,8 @@ union cvmx_agl_gmx_rxx_frm_ctl {
656 uint64_t ctl_drp:1; 421 uint64_t ctl_drp:1;
657 uint64_t pre_strp:1; 422 uint64_t pre_strp:1;
658 uint64_t pre_chk:1; 423 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
675 } s; 424 } s;
676 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx { 425 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx {
677#ifdef __BIG_ENDIAN_BITFIELD
678 uint64_t reserved_10_63:54; 426 uint64_t reserved_10_63:54;
679 uint64_t pre_align:1; 427 uint64_t pre_align:1;
680 uint64_t pad_len:1; 428 uint64_t pad_len:1;
@@ -686,104 +434,59 @@ union cvmx_agl_gmx_rxx_frm_ctl {
686 uint64_t ctl_drp:1; 434 uint64_t ctl_drp:1;
687 uint64_t pre_strp:1; 435 uint64_t pre_strp:1;
688 uint64_t pre_chk:1; 436 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
702 } cn52xx; 437 } cn52xx;
703 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1; 438 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1;
704 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx; 439 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx;
705 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1; 440 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1;
706 struct cvmx_agl_gmx_rxx_frm_ctl_s cn61xx;
707 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx; 441 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx;
708 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xxp1; 442 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;
712}; 443};
713 444
714union cvmx_agl_gmx_rxx_frm_max { 445union cvmx_agl_gmx_rxx_frm_max {
715 uint64_t u64; 446 uint64_t u64;
716 struct cvmx_agl_gmx_rxx_frm_max_s { 447 struct cvmx_agl_gmx_rxx_frm_max_s {
717#ifdef __BIG_ENDIAN_BITFIELD
718 uint64_t reserved_16_63:48; 448 uint64_t reserved_16_63:48;
719 uint64_t len:16; 449 uint64_t len:16;
720#else
721 uint64_t len:16;
722 uint64_t reserved_16_63:48;
723#endif
724 } s; 450 } s;
725 struct cvmx_agl_gmx_rxx_frm_max_s cn52xx; 451 struct cvmx_agl_gmx_rxx_frm_max_s cn52xx;
726 struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1; 452 struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1;
727 struct cvmx_agl_gmx_rxx_frm_max_s cn56xx; 453 struct cvmx_agl_gmx_rxx_frm_max_s cn56xx;
728 struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1; 454 struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1;
729 struct cvmx_agl_gmx_rxx_frm_max_s cn61xx;
730 struct cvmx_agl_gmx_rxx_frm_max_s cn63xx; 455 struct cvmx_agl_gmx_rxx_frm_max_s cn63xx;
731 struct cvmx_agl_gmx_rxx_frm_max_s cn63xxp1; 456 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;
735}; 457};
736 458
737union cvmx_agl_gmx_rxx_frm_min { 459union cvmx_agl_gmx_rxx_frm_min {
738 uint64_t u64; 460 uint64_t u64;
739 struct cvmx_agl_gmx_rxx_frm_min_s { 461 struct cvmx_agl_gmx_rxx_frm_min_s {
740#ifdef __BIG_ENDIAN_BITFIELD
741 uint64_t reserved_16_63:48; 462 uint64_t reserved_16_63:48;
742 uint64_t len:16; 463 uint64_t len:16;
743#else
744 uint64_t len:16;
745 uint64_t reserved_16_63:48;
746#endif
747 } s; 464 } s;
748 struct cvmx_agl_gmx_rxx_frm_min_s cn52xx; 465 struct cvmx_agl_gmx_rxx_frm_min_s cn52xx;
749 struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1; 466 struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1;
750 struct cvmx_agl_gmx_rxx_frm_min_s cn56xx; 467 struct cvmx_agl_gmx_rxx_frm_min_s cn56xx;
751 struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1; 468 struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1;
752 struct cvmx_agl_gmx_rxx_frm_min_s cn61xx;
753 struct cvmx_agl_gmx_rxx_frm_min_s cn63xx; 469 struct cvmx_agl_gmx_rxx_frm_min_s cn63xx;
754 struct cvmx_agl_gmx_rxx_frm_min_s cn63xxp1; 470 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;
758}; 471};
759 472
760union cvmx_agl_gmx_rxx_ifg { 473union cvmx_agl_gmx_rxx_ifg {
761 uint64_t u64; 474 uint64_t u64;
762 struct cvmx_agl_gmx_rxx_ifg_s { 475 struct cvmx_agl_gmx_rxx_ifg_s {
763#ifdef __BIG_ENDIAN_BITFIELD
764 uint64_t reserved_4_63:60; 476 uint64_t reserved_4_63:60;
765 uint64_t ifg:4; 477 uint64_t ifg:4;
766#else
767 uint64_t ifg:4;
768 uint64_t reserved_4_63:60;
769#endif
770 } s; 478 } s;
771 struct cvmx_agl_gmx_rxx_ifg_s cn52xx; 479 struct cvmx_agl_gmx_rxx_ifg_s cn52xx;
772 struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1; 480 struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1;
773 struct cvmx_agl_gmx_rxx_ifg_s cn56xx; 481 struct cvmx_agl_gmx_rxx_ifg_s cn56xx;
774 struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1; 482 struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1;
775 struct cvmx_agl_gmx_rxx_ifg_s cn61xx;
776 struct cvmx_agl_gmx_rxx_ifg_s cn63xx; 483 struct cvmx_agl_gmx_rxx_ifg_s cn63xx;
777 struct cvmx_agl_gmx_rxx_ifg_s cn63xxp1; 484 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;
781}; 485};
782 486
783union cvmx_agl_gmx_rxx_int_en { 487union cvmx_agl_gmx_rxx_int_en {
784 uint64_t u64; 488 uint64_t u64;
785 struct cvmx_agl_gmx_rxx_int_en_s { 489 struct cvmx_agl_gmx_rxx_int_en_s {
786#ifdef __BIG_ENDIAN_BITFIELD
787 uint64_t reserved_20_63:44; 490 uint64_t reserved_20_63:44;
788 uint64_t pause_drp:1; 491 uint64_t pause_drp:1;
789 uint64_t phy_dupx:1; 492 uint64_t phy_dupx:1;
@@ -805,32 +508,8 @@ union cvmx_agl_gmx_rxx_int_en {
805 uint64_t maxerr:1; 508 uint64_t maxerr:1;
806 uint64_t carext:1; 509 uint64_t carext:1;
807 uint64_t minerr:1; 510 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
831 } s; 511 } s;
832 struct cvmx_agl_gmx_rxx_int_en_cn52xx { 512 struct cvmx_agl_gmx_rxx_int_en_cn52xx {
833#ifdef __BIG_ENDIAN_BITFIELD
834 uint64_t reserved_20_63:44; 513 uint64_t reserved_20_63:44;
835 uint64_t pause_drp:1; 514 uint64_t pause_drp:1;
836 uint64_t reserved_16_18:3; 515 uint64_t reserved_16_18:3;
@@ -850,43 +529,17 @@ union cvmx_agl_gmx_rxx_int_en {
850 uint64_t maxerr:1; 529 uint64_t maxerr:1;
851 uint64_t reserved_1_1:1; 530 uint64_t reserved_1_1:1;
852 uint64_t minerr:1; 531 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
874 } cn52xx; 532 } cn52xx;
875 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1; 533 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1;
876 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx; 534 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx;
877 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1; 535 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1;
878 struct cvmx_agl_gmx_rxx_int_en_s cn61xx;
879 struct cvmx_agl_gmx_rxx_int_en_s cn63xx; 536 struct cvmx_agl_gmx_rxx_int_en_s cn63xx;
880 struct cvmx_agl_gmx_rxx_int_en_s cn63xxp1; 537 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;
884}; 538};
885 539
886union cvmx_agl_gmx_rxx_int_reg { 540union cvmx_agl_gmx_rxx_int_reg {
887 uint64_t u64; 541 uint64_t u64;
888 struct cvmx_agl_gmx_rxx_int_reg_s { 542 struct cvmx_agl_gmx_rxx_int_reg_s {
889#ifdef __BIG_ENDIAN_BITFIELD
890 uint64_t reserved_20_63:44; 543 uint64_t reserved_20_63:44;
891 uint64_t pause_drp:1; 544 uint64_t pause_drp:1;
892 uint64_t phy_dupx:1; 545 uint64_t phy_dupx:1;
@@ -908,32 +561,8 @@ union cvmx_agl_gmx_rxx_int_reg {
908 uint64_t maxerr:1; 561 uint64_t maxerr:1;
909 uint64_t carext:1; 562 uint64_t carext:1;
910 uint64_t minerr:1; 563 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
934 } s; 564 } s;
935 struct cvmx_agl_gmx_rxx_int_reg_cn52xx { 565 struct cvmx_agl_gmx_rxx_int_reg_cn52xx {
936#ifdef __BIG_ENDIAN_BITFIELD
937 uint64_t reserved_20_63:44; 566 uint64_t reserved_20_63:44;
938 uint64_t pause_drp:1; 567 uint64_t pause_drp:1;
939 uint64_t reserved_16_18:3; 568 uint64_t reserved_16_18:3;
@@ -953,1130 +582,666 @@ union cvmx_agl_gmx_rxx_int_reg {
953 uint64_t maxerr:1; 582 uint64_t maxerr:1;
954 uint64_t reserved_1_1:1; 583 uint64_t reserved_1_1:1;
955 uint64_t minerr:1; 584 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
977 } cn52xx; 585 } cn52xx;
978 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1; 586 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1;
979 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx; 587 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx;
980 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1; 588 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1;
981 struct cvmx_agl_gmx_rxx_int_reg_s cn61xx;
982 struct cvmx_agl_gmx_rxx_int_reg_s cn63xx; 589 struct cvmx_agl_gmx_rxx_int_reg_s cn63xx;
983 struct cvmx_agl_gmx_rxx_int_reg_s cn63xxp1; 590 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;
987}; 591};
988 592
989union cvmx_agl_gmx_rxx_jabber { 593union cvmx_agl_gmx_rxx_jabber {
990 uint64_t u64; 594 uint64_t u64;
991 struct cvmx_agl_gmx_rxx_jabber_s { 595 struct cvmx_agl_gmx_rxx_jabber_s {
992#ifdef __BIG_ENDIAN_BITFIELD
993 uint64_t reserved_16_63:48; 596 uint64_t reserved_16_63:48;
994 uint64_t cnt:16; 597 uint64_t cnt:16;
995#else
996 uint64_t cnt:16;
997 uint64_t reserved_16_63:48;
998#endif
999 } s; 598 } s;
1000 struct cvmx_agl_gmx_rxx_jabber_s cn52xx; 599 struct cvmx_agl_gmx_rxx_jabber_s cn52xx;
1001 struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1; 600 struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1;
1002 struct cvmx_agl_gmx_rxx_jabber_s cn56xx; 601 struct cvmx_agl_gmx_rxx_jabber_s cn56xx;
1003 struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1; 602 struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1;
1004 struct cvmx_agl_gmx_rxx_jabber_s cn61xx;
1005 struct cvmx_agl_gmx_rxx_jabber_s cn63xx; 603 struct cvmx_agl_gmx_rxx_jabber_s cn63xx;
1006 struct cvmx_agl_gmx_rxx_jabber_s cn63xxp1; 604 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;
1010}; 605};
1011 606
1012union cvmx_agl_gmx_rxx_pause_drop_time { 607union cvmx_agl_gmx_rxx_pause_drop_time {
1013 uint64_t u64; 608 uint64_t u64;
1014 struct cvmx_agl_gmx_rxx_pause_drop_time_s { 609 struct cvmx_agl_gmx_rxx_pause_drop_time_s {
1015#ifdef __BIG_ENDIAN_BITFIELD
1016 uint64_t reserved_16_63:48; 610 uint64_t reserved_16_63:48;
1017 uint64_t status:16; 611 uint64_t status:16;
1018#else
1019 uint64_t status:16;
1020 uint64_t reserved_16_63:48;
1021#endif
1022 } s; 612 } s;
1023 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx; 613 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx;
1024 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1; 614 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1;
1025 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx; 615 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx;
1026 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1; 616 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1;
1027 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn61xx;
1028 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx; 617 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx;
1029 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xxp1; 618 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;
1033}; 619};
1034 620
1035union cvmx_agl_gmx_rxx_rx_inbnd { 621union cvmx_agl_gmx_rxx_rx_inbnd {
1036 uint64_t u64; 622 uint64_t u64;
1037 struct cvmx_agl_gmx_rxx_rx_inbnd_s { 623 struct cvmx_agl_gmx_rxx_rx_inbnd_s {
1038#ifdef __BIG_ENDIAN_BITFIELD
1039 uint64_t reserved_4_63:60; 624 uint64_t reserved_4_63:60;
1040 uint64_t duplex:1; 625 uint64_t duplex:1;
1041 uint64_t speed:2; 626 uint64_t speed:2;
1042 uint64_t status:1; 627 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
1049 } s; 628 } s;
1050 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn61xx;
1051 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx; 629 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx;
1052 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xxp1; 630 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;
1056}; 631};
1057 632
1058union cvmx_agl_gmx_rxx_stats_ctl { 633union cvmx_agl_gmx_rxx_stats_ctl {
1059 uint64_t u64; 634 uint64_t u64;
1060 struct cvmx_agl_gmx_rxx_stats_ctl_s { 635 struct cvmx_agl_gmx_rxx_stats_ctl_s {
1061#ifdef __BIG_ENDIAN_BITFIELD
1062 uint64_t reserved_1_63:63; 636 uint64_t reserved_1_63:63;
1063 uint64_t rd_clr:1; 637 uint64_t rd_clr:1;
1064#else
1065 uint64_t rd_clr:1;
1066 uint64_t reserved_1_63:63;
1067#endif
1068 } s; 638 } s;
1069 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx; 639 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx;
1070 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1; 640 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1;
1071 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx; 641 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx;
1072 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1; 642 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1;
1073 struct cvmx_agl_gmx_rxx_stats_ctl_s cn61xx;
1074 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx; 643 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx;
1075 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xxp1; 644 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;
1079}; 645};
1080 646
1081union cvmx_agl_gmx_rxx_stats_octs { 647union cvmx_agl_gmx_rxx_stats_octs {
1082 uint64_t u64; 648 uint64_t u64;
1083 struct cvmx_agl_gmx_rxx_stats_octs_s { 649 struct cvmx_agl_gmx_rxx_stats_octs_s {
1084#ifdef __BIG_ENDIAN_BITFIELD
1085 uint64_t reserved_48_63:16; 650 uint64_t reserved_48_63:16;
1086 uint64_t cnt:48; 651 uint64_t cnt:48;
1087#else
1088 uint64_t cnt:48;
1089 uint64_t reserved_48_63:16;
1090#endif
1091 } s; 652 } s;
1092 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx; 653 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx;
1093 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1; 654 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1;
1094 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx; 655 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx;
1095 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1; 656 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1;
1096 struct cvmx_agl_gmx_rxx_stats_octs_s cn61xx;
1097 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx; 657 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx;
1098 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xxp1; 658 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;
1102}; 659};
1103 660
1104union cvmx_agl_gmx_rxx_stats_octs_ctl { 661union cvmx_agl_gmx_rxx_stats_octs_ctl {
1105 uint64_t u64; 662 uint64_t u64;
1106 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s { 663 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s {
1107#ifdef __BIG_ENDIAN_BITFIELD
1108 uint64_t reserved_48_63:16; 664 uint64_t reserved_48_63:16;
1109 uint64_t cnt:48; 665 uint64_t cnt:48;
1110#else
1111 uint64_t cnt:48;
1112 uint64_t reserved_48_63:16;
1113#endif
1114 } s; 666 } s;
1115 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx; 667 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx;
1116 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1; 668 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1;
1117 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx; 669 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx;
1118 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1; 670 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1;
1119 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn61xx;
1120 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx; 671 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx;
1121 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xxp1; 672 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;
1125}; 673};
1126 674
1127union cvmx_agl_gmx_rxx_stats_octs_dmac { 675union cvmx_agl_gmx_rxx_stats_octs_dmac {
1128 uint64_t u64; 676 uint64_t u64;
1129 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s { 677 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s {
1130#ifdef __BIG_ENDIAN_BITFIELD
1131 uint64_t reserved_48_63:16; 678 uint64_t reserved_48_63:16;
1132 uint64_t cnt:48; 679 uint64_t cnt:48;
1133#else
1134 uint64_t cnt:48;
1135 uint64_t reserved_48_63:16;
1136#endif
1137 } s; 680 } s;
1138 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx; 681 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx;
1139 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1; 682 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1;
1140 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx; 683 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx;
1141 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1; 684 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1;
1142 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn61xx;
1143 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx; 685 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx;
1144 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xxp1; 686 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;
1148}; 687};
1149 688
1150union cvmx_agl_gmx_rxx_stats_octs_drp { 689union cvmx_agl_gmx_rxx_stats_octs_drp {
1151 uint64_t u64; 690 uint64_t u64;
1152 struct cvmx_agl_gmx_rxx_stats_octs_drp_s { 691 struct cvmx_agl_gmx_rxx_stats_octs_drp_s {
1153#ifdef __BIG_ENDIAN_BITFIELD
1154 uint64_t reserved_48_63:16; 692 uint64_t reserved_48_63:16;
1155 uint64_t cnt:48; 693 uint64_t cnt:48;
1156#else
1157 uint64_t cnt:48;
1158 uint64_t reserved_48_63:16;
1159#endif
1160 } s; 694 } s;
1161 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx; 695 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx;
1162 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1; 696 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1;
1163 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx; 697 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx;
1164 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1; 698 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1;
1165 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn61xx;
1166 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx; 699 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx;
1167 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xxp1; 700 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;
1171}; 701};
1172 702
1173union cvmx_agl_gmx_rxx_stats_pkts { 703union cvmx_agl_gmx_rxx_stats_pkts {
1174 uint64_t u64; 704 uint64_t u64;
1175 struct cvmx_agl_gmx_rxx_stats_pkts_s { 705 struct cvmx_agl_gmx_rxx_stats_pkts_s {
1176#ifdef __BIG_ENDIAN_BITFIELD
1177 uint64_t reserved_32_63:32; 706 uint64_t reserved_32_63:32;
1178 uint64_t cnt:32; 707 uint64_t cnt:32;
1179#else
1180 uint64_t cnt:32;
1181 uint64_t reserved_32_63:32;
1182#endif
1183 } s; 708 } s;
1184 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx; 709 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx;
1185 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1; 710 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1;
1186 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx; 711 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx;
1187 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1; 712 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1;
1188 struct cvmx_agl_gmx_rxx_stats_pkts_s cn61xx;
1189 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx; 713 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx;
1190 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xxp1; 714 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;
1194}; 715};
1195 716
1196union cvmx_agl_gmx_rxx_stats_pkts_bad { 717union cvmx_agl_gmx_rxx_stats_pkts_bad {
1197 uint64_t u64; 718 uint64_t u64;
1198 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s { 719 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s {
1199#ifdef __BIG_ENDIAN_BITFIELD
1200 uint64_t reserved_32_63:32; 720 uint64_t reserved_32_63:32;
1201 uint64_t cnt:32; 721 uint64_t cnt:32;
1202#else
1203 uint64_t cnt:32;
1204 uint64_t reserved_32_63:32;
1205#endif
1206 } s; 722 } s;
1207 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx; 723 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx;
1208 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1; 724 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1;
1209 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx; 725 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx;
1210 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1; 726 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1;
1211 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn61xx;
1212 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx; 727 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx;
1213 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xxp1; 728 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;
1217}; 729};
1218 730
1219union cvmx_agl_gmx_rxx_stats_pkts_ctl { 731union cvmx_agl_gmx_rxx_stats_pkts_ctl {
1220 uint64_t u64; 732 uint64_t u64;
1221 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s { 733 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s {
1222#ifdef __BIG_ENDIAN_BITFIELD
1223 uint64_t reserved_32_63:32; 734 uint64_t reserved_32_63:32;
1224 uint64_t cnt:32; 735 uint64_t cnt:32;
1225#else
1226 uint64_t cnt:32;
1227 uint64_t reserved_32_63:32;
1228#endif
1229 } s; 736 } s;
1230 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx; 737 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx;
1231 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1; 738 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1;
1232 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx; 739 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx;
1233 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1; 740 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1;
1234 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn61xx;
1235 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx; 741 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx;
1236 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xxp1; 742 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;
1240}; 743};
1241 744
1242union cvmx_agl_gmx_rxx_stats_pkts_dmac { 745union cvmx_agl_gmx_rxx_stats_pkts_dmac {
1243 uint64_t u64; 746 uint64_t u64;
1244 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s { 747 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s {
1245#ifdef __BIG_ENDIAN_BITFIELD
1246 uint64_t reserved_32_63:32; 748 uint64_t reserved_32_63:32;
1247 uint64_t cnt:32; 749 uint64_t cnt:32;
1248#else
1249 uint64_t cnt:32;
1250 uint64_t reserved_32_63:32;
1251#endif
1252 } s; 750 } s;
1253 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx; 751 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx;
1254 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1; 752 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1;
1255 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx; 753 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx;
1256 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1; 754 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1;
1257 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn61xx;
1258 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx; 755 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx;
1259 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xxp1; 756 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;
1263}; 757};
1264 758
1265union cvmx_agl_gmx_rxx_stats_pkts_drp { 759union cvmx_agl_gmx_rxx_stats_pkts_drp {
1266 uint64_t u64; 760 uint64_t u64;
1267 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s { 761 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s {
1268#ifdef __BIG_ENDIAN_BITFIELD
1269 uint64_t reserved_32_63:32; 762 uint64_t reserved_32_63:32;
1270 uint64_t cnt:32; 763 uint64_t cnt:32;
1271#else
1272 uint64_t cnt:32;
1273 uint64_t reserved_32_63:32;
1274#endif
1275 } s; 764 } s;
1276 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx; 765 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx;
1277 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1; 766 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1;
1278 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx; 767 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx;
1279 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1; 768 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1;
1280 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn61xx;
1281 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx; 769 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx;
1282 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xxp1; 770 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;
1286}; 771};
1287 772
1288union cvmx_agl_gmx_rxx_udd_skp { 773union cvmx_agl_gmx_rxx_udd_skp {
1289 uint64_t u64; 774 uint64_t u64;
1290 struct cvmx_agl_gmx_rxx_udd_skp_s { 775 struct cvmx_agl_gmx_rxx_udd_skp_s {
1291#ifdef __BIG_ENDIAN_BITFIELD
1292 uint64_t reserved_9_63:55; 776 uint64_t reserved_9_63:55;
1293 uint64_t fcssel:1; 777 uint64_t fcssel:1;
1294 uint64_t reserved_7_7:1; 778 uint64_t reserved_7_7:1;
1295 uint64_t len:7; 779 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
1302 } s; 780 } s;
1303 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx; 781 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx;
1304 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1; 782 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1;
1305 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx; 783 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx;
1306 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1; 784 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1;
1307 struct cvmx_agl_gmx_rxx_udd_skp_s cn61xx;
1308 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx; 785 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx;
1309 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xxp1; 786 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;
1313}; 787};
1314 788
1315union cvmx_agl_gmx_rx_bp_dropx { 789union cvmx_agl_gmx_rx_bp_dropx {
1316 uint64_t u64; 790 uint64_t u64;
1317 struct cvmx_agl_gmx_rx_bp_dropx_s { 791 struct cvmx_agl_gmx_rx_bp_dropx_s {
1318#ifdef __BIG_ENDIAN_BITFIELD
1319 uint64_t reserved_6_63:58; 792 uint64_t reserved_6_63:58;
1320 uint64_t mark:6; 793 uint64_t mark:6;
1321#else
1322 uint64_t mark:6;
1323 uint64_t reserved_6_63:58;
1324#endif
1325 } s; 794 } s;
1326 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx; 795 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx;
1327 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1; 796 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1;
1328 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx; 797 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx;
1329 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1; 798 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1;
1330 struct cvmx_agl_gmx_rx_bp_dropx_s cn61xx;
1331 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx; 799 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx;
1332 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xxp1; 800 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;
1336}; 801};
1337 802
1338union cvmx_agl_gmx_rx_bp_offx { 803union cvmx_agl_gmx_rx_bp_offx {
1339 uint64_t u64; 804 uint64_t u64;
1340 struct cvmx_agl_gmx_rx_bp_offx_s { 805 struct cvmx_agl_gmx_rx_bp_offx_s {
1341#ifdef __BIG_ENDIAN_BITFIELD
1342 uint64_t reserved_6_63:58; 806 uint64_t reserved_6_63:58;
1343 uint64_t mark:6; 807 uint64_t mark:6;
1344#else
1345 uint64_t mark:6;
1346 uint64_t reserved_6_63:58;
1347#endif
1348 } s; 808 } s;
1349 struct cvmx_agl_gmx_rx_bp_offx_s cn52xx; 809 struct cvmx_agl_gmx_rx_bp_offx_s cn52xx;
1350 struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1; 810 struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1;
1351 struct cvmx_agl_gmx_rx_bp_offx_s cn56xx; 811 struct cvmx_agl_gmx_rx_bp_offx_s cn56xx;
1352 struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1; 812 struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1;
1353 struct cvmx_agl_gmx_rx_bp_offx_s cn61xx;
1354 struct cvmx_agl_gmx_rx_bp_offx_s cn63xx; 813 struct cvmx_agl_gmx_rx_bp_offx_s cn63xx;
1355 struct cvmx_agl_gmx_rx_bp_offx_s cn63xxp1; 814 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;
1359}; 815};
1360 816
1361union cvmx_agl_gmx_rx_bp_onx { 817union cvmx_agl_gmx_rx_bp_onx {
1362 uint64_t u64; 818 uint64_t u64;
1363 struct cvmx_agl_gmx_rx_bp_onx_s { 819 struct cvmx_agl_gmx_rx_bp_onx_s {
1364#ifdef __BIG_ENDIAN_BITFIELD
1365 uint64_t reserved_9_63:55; 820 uint64_t reserved_9_63:55;
1366 uint64_t mark:9; 821 uint64_t mark:9;
1367#else
1368 uint64_t mark:9;
1369 uint64_t reserved_9_63:55;
1370#endif
1371 } s; 822 } s;
1372 struct cvmx_agl_gmx_rx_bp_onx_s cn52xx; 823 struct cvmx_agl_gmx_rx_bp_onx_s cn52xx;
1373 struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1; 824 struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1;
1374 struct cvmx_agl_gmx_rx_bp_onx_s cn56xx; 825 struct cvmx_agl_gmx_rx_bp_onx_s cn56xx;
1375 struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1; 826 struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1;
1376 struct cvmx_agl_gmx_rx_bp_onx_s cn61xx;
1377 struct cvmx_agl_gmx_rx_bp_onx_s cn63xx; 827 struct cvmx_agl_gmx_rx_bp_onx_s cn63xx;
1378 struct cvmx_agl_gmx_rx_bp_onx_s cn63xxp1; 828 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;
1382}; 829};
1383 830
1384union cvmx_agl_gmx_rx_prt_info { 831union cvmx_agl_gmx_rx_prt_info {
1385 uint64_t u64; 832 uint64_t u64;
1386 struct cvmx_agl_gmx_rx_prt_info_s { 833 struct cvmx_agl_gmx_rx_prt_info_s {
1387#ifdef __BIG_ENDIAN_BITFIELD
1388 uint64_t reserved_18_63:46; 834 uint64_t reserved_18_63:46;
1389 uint64_t drop:2; 835 uint64_t drop:2;
1390 uint64_t reserved_2_15:14; 836 uint64_t reserved_2_15:14;
1391 uint64_t commit:2; 837 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
1398 } s; 838 } s;
1399 struct cvmx_agl_gmx_rx_prt_info_s cn52xx; 839 struct cvmx_agl_gmx_rx_prt_info_s cn52xx;
1400 struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1; 840 struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1;
1401 struct cvmx_agl_gmx_rx_prt_info_cn56xx { 841 struct cvmx_agl_gmx_rx_prt_info_cn56xx {
1402#ifdef __BIG_ENDIAN_BITFIELD
1403 uint64_t reserved_17_63:47; 842 uint64_t reserved_17_63:47;
1404 uint64_t drop:1; 843 uint64_t drop:1;
1405 uint64_t reserved_1_15:15; 844 uint64_t reserved_1_15:15;
1406 uint64_t commit:1; 845 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
1413 } cn56xx; 846 } cn56xx;
1414 struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1; 847 struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1;
1415 struct cvmx_agl_gmx_rx_prt_info_s cn61xx;
1416 struct cvmx_agl_gmx_rx_prt_info_s cn63xx; 848 struct cvmx_agl_gmx_rx_prt_info_s cn63xx;
1417 struct cvmx_agl_gmx_rx_prt_info_s cn63xxp1; 849 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;
1421}; 850};
1422 851
1423union cvmx_agl_gmx_rx_tx_status { 852union cvmx_agl_gmx_rx_tx_status {
1424 uint64_t u64; 853 uint64_t u64;
1425 struct cvmx_agl_gmx_rx_tx_status_s { 854 struct cvmx_agl_gmx_rx_tx_status_s {
1426#ifdef __BIG_ENDIAN_BITFIELD
1427 uint64_t reserved_6_63:58; 855 uint64_t reserved_6_63:58;
1428 uint64_t tx:2; 856 uint64_t tx:2;
1429 uint64_t reserved_2_3:2; 857 uint64_t reserved_2_3:2;
1430 uint64_t rx:2; 858 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
1437 } s; 859 } s;
1438 struct cvmx_agl_gmx_rx_tx_status_s cn52xx; 860 struct cvmx_agl_gmx_rx_tx_status_s cn52xx;
1439 struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1; 861 struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1;
1440 struct cvmx_agl_gmx_rx_tx_status_cn56xx { 862 struct cvmx_agl_gmx_rx_tx_status_cn56xx {
1441#ifdef __BIG_ENDIAN_BITFIELD
1442 uint64_t reserved_5_63:59; 863 uint64_t reserved_5_63:59;
1443 uint64_t tx:1; 864 uint64_t tx:1;
1444 uint64_t reserved_1_3:3; 865 uint64_t reserved_1_3:3;
1445 uint64_t rx:1; 866 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
1452 } cn56xx; 867 } cn56xx;
1453 struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1; 868 struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1;
1454 struct cvmx_agl_gmx_rx_tx_status_s cn61xx;
1455 struct cvmx_agl_gmx_rx_tx_status_s cn63xx; 869 struct cvmx_agl_gmx_rx_tx_status_s cn63xx;
1456 struct cvmx_agl_gmx_rx_tx_status_s cn63xxp1; 870 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;
1460}; 871};
1461 872
1462union cvmx_agl_gmx_smacx { 873union cvmx_agl_gmx_smacx {
1463 uint64_t u64; 874 uint64_t u64;
1464 struct cvmx_agl_gmx_smacx_s { 875 struct cvmx_agl_gmx_smacx_s {
1465#ifdef __BIG_ENDIAN_BITFIELD
1466 uint64_t reserved_48_63:16; 876 uint64_t reserved_48_63:16;
1467 uint64_t smac:48; 877 uint64_t smac:48;
1468#else
1469 uint64_t smac:48;
1470 uint64_t reserved_48_63:16;
1471#endif
1472 } s; 878 } s;
1473 struct cvmx_agl_gmx_smacx_s cn52xx; 879 struct cvmx_agl_gmx_smacx_s cn52xx;
1474 struct cvmx_agl_gmx_smacx_s cn52xxp1; 880 struct cvmx_agl_gmx_smacx_s cn52xxp1;
1475 struct cvmx_agl_gmx_smacx_s cn56xx; 881 struct cvmx_agl_gmx_smacx_s cn56xx;
1476 struct cvmx_agl_gmx_smacx_s cn56xxp1; 882 struct cvmx_agl_gmx_smacx_s cn56xxp1;
1477 struct cvmx_agl_gmx_smacx_s cn61xx;
1478 struct cvmx_agl_gmx_smacx_s cn63xx; 883 struct cvmx_agl_gmx_smacx_s cn63xx;
1479 struct cvmx_agl_gmx_smacx_s cn63xxp1; 884 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;
1483}; 885};
1484 886
1485union cvmx_agl_gmx_stat_bp { 887union cvmx_agl_gmx_stat_bp {
1486 uint64_t u64; 888 uint64_t u64;
1487 struct cvmx_agl_gmx_stat_bp_s { 889 struct cvmx_agl_gmx_stat_bp_s {
1488#ifdef __BIG_ENDIAN_BITFIELD
1489 uint64_t reserved_17_63:47; 890 uint64_t reserved_17_63:47;
1490 uint64_t bp:1; 891 uint64_t bp:1;
1491 uint64_t cnt:16; 892 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
1497 } s; 893 } s;
1498 struct cvmx_agl_gmx_stat_bp_s cn52xx; 894 struct cvmx_agl_gmx_stat_bp_s cn52xx;
1499 struct cvmx_agl_gmx_stat_bp_s cn52xxp1; 895 struct cvmx_agl_gmx_stat_bp_s cn52xxp1;
1500 struct cvmx_agl_gmx_stat_bp_s cn56xx; 896 struct cvmx_agl_gmx_stat_bp_s cn56xx;
1501 struct cvmx_agl_gmx_stat_bp_s cn56xxp1; 897 struct cvmx_agl_gmx_stat_bp_s cn56xxp1;
1502 struct cvmx_agl_gmx_stat_bp_s cn61xx;
1503 struct cvmx_agl_gmx_stat_bp_s cn63xx; 898 struct cvmx_agl_gmx_stat_bp_s cn63xx;
1504 struct cvmx_agl_gmx_stat_bp_s cn63xxp1; 899 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;
1508}; 900};
1509 901
1510union cvmx_agl_gmx_txx_append { 902union cvmx_agl_gmx_txx_append {
1511 uint64_t u64; 903 uint64_t u64;
1512 struct cvmx_agl_gmx_txx_append_s { 904 struct cvmx_agl_gmx_txx_append_s {
1513#ifdef __BIG_ENDIAN_BITFIELD
1514 uint64_t reserved_4_63:60; 905 uint64_t reserved_4_63:60;
1515 uint64_t force_fcs:1; 906 uint64_t force_fcs:1;
1516 uint64_t fcs:1; 907 uint64_t fcs:1;
1517 uint64_t pad:1; 908 uint64_t pad:1;
1518 uint64_t preamble:1; 909 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
1526 } s; 910 } s;
1527 struct cvmx_agl_gmx_txx_append_s cn52xx; 911 struct cvmx_agl_gmx_txx_append_s cn52xx;
1528 struct cvmx_agl_gmx_txx_append_s cn52xxp1; 912 struct cvmx_agl_gmx_txx_append_s cn52xxp1;
1529 struct cvmx_agl_gmx_txx_append_s cn56xx; 913 struct cvmx_agl_gmx_txx_append_s cn56xx;
1530 struct cvmx_agl_gmx_txx_append_s cn56xxp1; 914 struct cvmx_agl_gmx_txx_append_s cn56xxp1;
1531 struct cvmx_agl_gmx_txx_append_s cn61xx;
1532 struct cvmx_agl_gmx_txx_append_s cn63xx; 915 struct cvmx_agl_gmx_txx_append_s cn63xx;
1533 struct cvmx_agl_gmx_txx_append_s cn63xxp1; 916 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;
1537}; 917};
1538 918
1539union cvmx_agl_gmx_txx_clk { 919union cvmx_agl_gmx_txx_clk {
1540 uint64_t u64; 920 uint64_t u64;
1541 struct cvmx_agl_gmx_txx_clk_s { 921 struct cvmx_agl_gmx_txx_clk_s {
1542#ifdef __BIG_ENDIAN_BITFIELD
1543 uint64_t reserved_6_63:58; 922 uint64_t reserved_6_63:58;
1544 uint64_t clk_cnt:6; 923 uint64_t clk_cnt:6;
1545#else
1546 uint64_t clk_cnt:6;
1547 uint64_t reserved_6_63:58;
1548#endif
1549 } s; 924 } s;
1550 struct cvmx_agl_gmx_txx_clk_s cn61xx;
1551 struct cvmx_agl_gmx_txx_clk_s cn63xx; 925 struct cvmx_agl_gmx_txx_clk_s cn63xx;
1552 struct cvmx_agl_gmx_txx_clk_s cn63xxp1; 926 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;
1556}; 927};
1557 928
1558union cvmx_agl_gmx_txx_ctl { 929union cvmx_agl_gmx_txx_ctl {
1559 uint64_t u64; 930 uint64_t u64;
1560 struct cvmx_agl_gmx_txx_ctl_s { 931 struct cvmx_agl_gmx_txx_ctl_s {
1561#ifdef __BIG_ENDIAN_BITFIELD
1562 uint64_t reserved_2_63:62; 932 uint64_t reserved_2_63:62;
1563 uint64_t xsdef_en:1; 933 uint64_t xsdef_en:1;
1564 uint64_t xscol_en:1; 934 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
1570 } s; 935 } s;
1571 struct cvmx_agl_gmx_txx_ctl_s cn52xx; 936 struct cvmx_agl_gmx_txx_ctl_s cn52xx;
1572 struct cvmx_agl_gmx_txx_ctl_s cn52xxp1; 937 struct cvmx_agl_gmx_txx_ctl_s cn52xxp1;
1573 struct cvmx_agl_gmx_txx_ctl_s cn56xx; 938 struct cvmx_agl_gmx_txx_ctl_s cn56xx;
1574 struct cvmx_agl_gmx_txx_ctl_s cn56xxp1; 939 struct cvmx_agl_gmx_txx_ctl_s cn56xxp1;
1575 struct cvmx_agl_gmx_txx_ctl_s cn61xx;
1576 struct cvmx_agl_gmx_txx_ctl_s cn63xx; 940 struct cvmx_agl_gmx_txx_ctl_s cn63xx;
1577 struct cvmx_agl_gmx_txx_ctl_s cn63xxp1; 941 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;
1581}; 942};
1582 943
1583union cvmx_agl_gmx_txx_min_pkt { 944union cvmx_agl_gmx_txx_min_pkt {
1584 uint64_t u64; 945 uint64_t u64;
1585 struct cvmx_agl_gmx_txx_min_pkt_s { 946 struct cvmx_agl_gmx_txx_min_pkt_s {
1586#ifdef __BIG_ENDIAN_BITFIELD
1587 uint64_t reserved_8_63:56; 947 uint64_t reserved_8_63:56;
1588 uint64_t min_size:8; 948 uint64_t min_size:8;
1589#else
1590 uint64_t min_size:8;
1591 uint64_t reserved_8_63:56;
1592#endif
1593 } s; 949 } s;
1594 struct cvmx_agl_gmx_txx_min_pkt_s cn52xx; 950 struct cvmx_agl_gmx_txx_min_pkt_s cn52xx;
1595 struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1; 951 struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1;
1596 struct cvmx_agl_gmx_txx_min_pkt_s cn56xx; 952 struct cvmx_agl_gmx_txx_min_pkt_s cn56xx;
1597 struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1; 953 struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1;
1598 struct cvmx_agl_gmx_txx_min_pkt_s cn61xx;
1599 struct cvmx_agl_gmx_txx_min_pkt_s cn63xx; 954 struct cvmx_agl_gmx_txx_min_pkt_s cn63xx;
1600 struct cvmx_agl_gmx_txx_min_pkt_s cn63xxp1; 955 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;
1604}; 956};
1605 957
1606union cvmx_agl_gmx_txx_pause_pkt_interval { 958union cvmx_agl_gmx_txx_pause_pkt_interval {
1607 uint64_t u64; 959 uint64_t u64;
1608 struct cvmx_agl_gmx_txx_pause_pkt_interval_s { 960 struct cvmx_agl_gmx_txx_pause_pkt_interval_s {
1609#ifdef __BIG_ENDIAN_BITFIELD
1610 uint64_t reserved_16_63:48; 961 uint64_t reserved_16_63:48;
1611 uint64_t interval:16; 962 uint64_t interval:16;
1612#else
1613 uint64_t interval:16;
1614 uint64_t reserved_16_63:48;
1615#endif
1616 } s; 963 } s;
1617 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx; 964 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx;
1618 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1; 965 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1;
1619 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx; 966 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx;
1620 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1; 967 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1;
1621 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn61xx;
1622 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx; 968 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx;
1623 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xxp1; 969 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;
1627}; 970};
1628 971
1629union cvmx_agl_gmx_txx_pause_pkt_time { 972union cvmx_agl_gmx_txx_pause_pkt_time {
1630 uint64_t u64; 973 uint64_t u64;
1631 struct cvmx_agl_gmx_txx_pause_pkt_time_s { 974 struct cvmx_agl_gmx_txx_pause_pkt_time_s {
1632#ifdef __BIG_ENDIAN_BITFIELD
1633 uint64_t reserved_16_63:48; 975 uint64_t reserved_16_63:48;
1634 uint64_t time:16; 976 uint64_t time:16;
1635#else
1636 uint64_t time:16;
1637 uint64_t reserved_16_63:48;
1638#endif
1639 } s; 977 } s;
1640 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx; 978 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx;
1641 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1; 979 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1;
1642 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx; 980 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx;
1643 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1; 981 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1;
1644 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn61xx;
1645 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx; 982 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx;
1646 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xxp1; 983 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;
1650}; 984};
1651 985
1652union cvmx_agl_gmx_txx_pause_togo { 986union cvmx_agl_gmx_txx_pause_togo {
1653 uint64_t u64; 987 uint64_t u64;
1654 struct cvmx_agl_gmx_txx_pause_togo_s { 988 struct cvmx_agl_gmx_txx_pause_togo_s {
1655#ifdef __BIG_ENDIAN_BITFIELD
1656 uint64_t reserved_16_63:48; 989 uint64_t reserved_16_63:48;
1657 uint64_t time:16; 990 uint64_t time:16;
1658#else
1659 uint64_t time:16;
1660 uint64_t reserved_16_63:48;
1661#endif
1662 } s; 991 } s;
1663 struct cvmx_agl_gmx_txx_pause_togo_s cn52xx; 992 struct cvmx_agl_gmx_txx_pause_togo_s cn52xx;
1664 struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1; 993 struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1;
1665 struct cvmx_agl_gmx_txx_pause_togo_s cn56xx; 994 struct cvmx_agl_gmx_txx_pause_togo_s cn56xx;
1666 struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1; 995 struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1;
1667 struct cvmx_agl_gmx_txx_pause_togo_s cn61xx;
1668 struct cvmx_agl_gmx_txx_pause_togo_s cn63xx; 996 struct cvmx_agl_gmx_txx_pause_togo_s cn63xx;
1669 struct cvmx_agl_gmx_txx_pause_togo_s cn63xxp1; 997 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;
1673}; 998};
1674 999
1675union cvmx_agl_gmx_txx_pause_zero { 1000union cvmx_agl_gmx_txx_pause_zero {
1676 uint64_t u64; 1001 uint64_t u64;
1677 struct cvmx_agl_gmx_txx_pause_zero_s { 1002 struct cvmx_agl_gmx_txx_pause_zero_s {
1678#ifdef __BIG_ENDIAN_BITFIELD
1679 uint64_t reserved_1_63:63; 1003 uint64_t reserved_1_63:63;
1680 uint64_t send:1; 1004 uint64_t send:1;
1681#else
1682 uint64_t send:1;
1683 uint64_t reserved_1_63:63;
1684#endif
1685 } s; 1005 } s;
1686 struct cvmx_agl_gmx_txx_pause_zero_s cn52xx; 1006 struct cvmx_agl_gmx_txx_pause_zero_s cn52xx;
1687 struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1; 1007 struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1;
1688 struct cvmx_agl_gmx_txx_pause_zero_s cn56xx; 1008 struct cvmx_agl_gmx_txx_pause_zero_s cn56xx;
1689 struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1; 1009 struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1;
1690 struct cvmx_agl_gmx_txx_pause_zero_s cn61xx;
1691 struct cvmx_agl_gmx_txx_pause_zero_s cn63xx; 1010 struct cvmx_agl_gmx_txx_pause_zero_s cn63xx;
1692 struct cvmx_agl_gmx_txx_pause_zero_s cn63xxp1; 1011 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;
1696}; 1012};
1697 1013
1698union cvmx_agl_gmx_txx_soft_pause { 1014union cvmx_agl_gmx_txx_soft_pause {
1699 uint64_t u64; 1015 uint64_t u64;
1700 struct cvmx_agl_gmx_txx_soft_pause_s { 1016 struct cvmx_agl_gmx_txx_soft_pause_s {
1701#ifdef __BIG_ENDIAN_BITFIELD
1702 uint64_t reserved_16_63:48; 1017 uint64_t reserved_16_63:48;
1703 uint64_t time:16; 1018 uint64_t time:16;
1704#else
1705 uint64_t time:16;
1706 uint64_t reserved_16_63:48;
1707#endif
1708 } s; 1019 } s;
1709 struct cvmx_agl_gmx_txx_soft_pause_s cn52xx; 1020 struct cvmx_agl_gmx_txx_soft_pause_s cn52xx;
1710 struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1; 1021 struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1;
1711 struct cvmx_agl_gmx_txx_soft_pause_s cn56xx; 1022 struct cvmx_agl_gmx_txx_soft_pause_s cn56xx;
1712 struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1; 1023 struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1;
1713 struct cvmx_agl_gmx_txx_soft_pause_s cn61xx;
1714 struct cvmx_agl_gmx_txx_soft_pause_s cn63xx; 1024 struct cvmx_agl_gmx_txx_soft_pause_s cn63xx;
1715 struct cvmx_agl_gmx_txx_soft_pause_s cn63xxp1; 1025 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;
1719}; 1026};
1720 1027
1721union cvmx_agl_gmx_txx_stat0 { 1028union cvmx_agl_gmx_txx_stat0 {
1722 uint64_t u64; 1029 uint64_t u64;
1723 struct cvmx_agl_gmx_txx_stat0_s { 1030 struct cvmx_agl_gmx_txx_stat0_s {
1724#ifdef __BIG_ENDIAN_BITFIELD
1725 uint64_t xsdef:32; 1031 uint64_t xsdef:32;
1726 uint64_t xscol:32; 1032 uint64_t xscol:32;
1727#else
1728 uint64_t xscol:32;
1729 uint64_t xsdef:32;
1730#endif
1731 } s; 1033 } s;
1732 struct cvmx_agl_gmx_txx_stat0_s cn52xx; 1034 struct cvmx_agl_gmx_txx_stat0_s cn52xx;
1733 struct cvmx_agl_gmx_txx_stat0_s cn52xxp1; 1035 struct cvmx_agl_gmx_txx_stat0_s cn52xxp1;
1734 struct cvmx_agl_gmx_txx_stat0_s cn56xx; 1036 struct cvmx_agl_gmx_txx_stat0_s cn56xx;
1735 struct cvmx_agl_gmx_txx_stat0_s cn56xxp1; 1037 struct cvmx_agl_gmx_txx_stat0_s cn56xxp1;
1736 struct cvmx_agl_gmx_txx_stat0_s cn61xx;
1737 struct cvmx_agl_gmx_txx_stat0_s cn63xx; 1038 struct cvmx_agl_gmx_txx_stat0_s cn63xx;
1738 struct cvmx_agl_gmx_txx_stat0_s cn63xxp1; 1039 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;
1742}; 1040};
1743 1041
1744union cvmx_agl_gmx_txx_stat1 { 1042union cvmx_agl_gmx_txx_stat1 {
1745 uint64_t u64; 1043 uint64_t u64;
1746 struct cvmx_agl_gmx_txx_stat1_s { 1044 struct cvmx_agl_gmx_txx_stat1_s {
1747#ifdef __BIG_ENDIAN_BITFIELD
1748 uint64_t scol:32; 1045 uint64_t scol:32;
1749 uint64_t mcol:32; 1046 uint64_t mcol:32;
1750#else
1751 uint64_t mcol:32;
1752 uint64_t scol:32;
1753#endif
1754 } s; 1047 } s;
1755 struct cvmx_agl_gmx_txx_stat1_s cn52xx; 1048 struct cvmx_agl_gmx_txx_stat1_s cn52xx;
1756 struct cvmx_agl_gmx_txx_stat1_s cn52xxp1; 1049 struct cvmx_agl_gmx_txx_stat1_s cn52xxp1;
1757 struct cvmx_agl_gmx_txx_stat1_s cn56xx; 1050 struct cvmx_agl_gmx_txx_stat1_s cn56xx;
1758 struct cvmx_agl_gmx_txx_stat1_s cn56xxp1; 1051 struct cvmx_agl_gmx_txx_stat1_s cn56xxp1;
1759 struct cvmx_agl_gmx_txx_stat1_s cn61xx;
1760 struct cvmx_agl_gmx_txx_stat1_s cn63xx; 1052 struct cvmx_agl_gmx_txx_stat1_s cn63xx;
1761 struct cvmx_agl_gmx_txx_stat1_s cn63xxp1; 1053 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;
1765}; 1054};
1766 1055
1767union cvmx_agl_gmx_txx_stat2 { 1056union cvmx_agl_gmx_txx_stat2 {
1768 uint64_t u64; 1057 uint64_t u64;
1769 struct cvmx_agl_gmx_txx_stat2_s { 1058 struct cvmx_agl_gmx_txx_stat2_s {
1770#ifdef __BIG_ENDIAN_BITFIELD
1771 uint64_t reserved_48_63:16; 1059 uint64_t reserved_48_63:16;
1772 uint64_t octs:48; 1060 uint64_t octs:48;
1773#else
1774 uint64_t octs:48;
1775 uint64_t reserved_48_63:16;
1776#endif
1777 } s; 1061 } s;
1778 struct cvmx_agl_gmx_txx_stat2_s cn52xx; 1062 struct cvmx_agl_gmx_txx_stat2_s cn52xx;
1779 struct cvmx_agl_gmx_txx_stat2_s cn52xxp1; 1063 struct cvmx_agl_gmx_txx_stat2_s cn52xxp1;
1780 struct cvmx_agl_gmx_txx_stat2_s cn56xx; 1064 struct cvmx_agl_gmx_txx_stat2_s cn56xx;
1781 struct cvmx_agl_gmx_txx_stat2_s cn56xxp1; 1065 struct cvmx_agl_gmx_txx_stat2_s cn56xxp1;
1782 struct cvmx_agl_gmx_txx_stat2_s cn61xx;
1783 struct cvmx_agl_gmx_txx_stat2_s cn63xx; 1066 struct cvmx_agl_gmx_txx_stat2_s cn63xx;
1784 struct cvmx_agl_gmx_txx_stat2_s cn63xxp1; 1067 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;
1788}; 1068};
1789 1069
1790union cvmx_agl_gmx_txx_stat3 { 1070union cvmx_agl_gmx_txx_stat3 {
1791 uint64_t u64; 1071 uint64_t u64;
1792 struct cvmx_agl_gmx_txx_stat3_s { 1072 struct cvmx_agl_gmx_txx_stat3_s {
1793#ifdef __BIG_ENDIAN_BITFIELD
1794 uint64_t reserved_32_63:32; 1073 uint64_t reserved_32_63:32;
1795 uint64_t pkts:32; 1074 uint64_t pkts:32;
1796#else
1797 uint64_t pkts:32;
1798 uint64_t reserved_32_63:32;
1799#endif
1800 } s; 1075 } s;
1801 struct cvmx_agl_gmx_txx_stat3_s cn52xx; 1076 struct cvmx_agl_gmx_txx_stat3_s cn52xx;
1802 struct cvmx_agl_gmx_txx_stat3_s cn52xxp1; 1077 struct cvmx_agl_gmx_txx_stat3_s cn52xxp1;
1803 struct cvmx_agl_gmx_txx_stat3_s cn56xx; 1078 struct cvmx_agl_gmx_txx_stat3_s cn56xx;
1804 struct cvmx_agl_gmx_txx_stat3_s cn56xxp1; 1079 struct cvmx_agl_gmx_txx_stat3_s cn56xxp1;
1805 struct cvmx_agl_gmx_txx_stat3_s cn61xx;
1806 struct cvmx_agl_gmx_txx_stat3_s cn63xx; 1080 struct cvmx_agl_gmx_txx_stat3_s cn63xx;
1807 struct cvmx_agl_gmx_txx_stat3_s cn63xxp1; 1081 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;
1811}; 1082};
1812 1083
1813union cvmx_agl_gmx_txx_stat4 { 1084union cvmx_agl_gmx_txx_stat4 {
1814 uint64_t u64; 1085 uint64_t u64;
1815 struct cvmx_agl_gmx_txx_stat4_s { 1086 struct cvmx_agl_gmx_txx_stat4_s {
1816#ifdef __BIG_ENDIAN_BITFIELD
1817 uint64_t hist1:32; 1087 uint64_t hist1:32;
1818 uint64_t hist0:32; 1088 uint64_t hist0:32;
1819#else
1820 uint64_t hist0:32;
1821 uint64_t hist1:32;
1822#endif
1823 } s; 1089 } s;
1824 struct cvmx_agl_gmx_txx_stat4_s cn52xx; 1090 struct cvmx_agl_gmx_txx_stat4_s cn52xx;
1825 struct cvmx_agl_gmx_txx_stat4_s cn52xxp1; 1091 struct cvmx_agl_gmx_txx_stat4_s cn52xxp1;
1826 struct cvmx_agl_gmx_txx_stat4_s cn56xx; 1092 struct cvmx_agl_gmx_txx_stat4_s cn56xx;
1827 struct cvmx_agl_gmx_txx_stat4_s cn56xxp1; 1093 struct cvmx_agl_gmx_txx_stat4_s cn56xxp1;
1828 struct cvmx_agl_gmx_txx_stat4_s cn61xx;
1829 struct cvmx_agl_gmx_txx_stat4_s cn63xx; 1094 struct cvmx_agl_gmx_txx_stat4_s cn63xx;
1830 struct cvmx_agl_gmx_txx_stat4_s cn63xxp1; 1095 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;
1834}; 1096};
1835 1097
1836union cvmx_agl_gmx_txx_stat5 { 1098union cvmx_agl_gmx_txx_stat5 {
1837 uint64_t u64; 1099 uint64_t u64;
1838 struct cvmx_agl_gmx_txx_stat5_s { 1100 struct cvmx_agl_gmx_txx_stat5_s {
1839#ifdef __BIG_ENDIAN_BITFIELD
1840 uint64_t hist3:32; 1101 uint64_t hist3:32;
1841 uint64_t hist2:32; 1102 uint64_t hist2:32;
1842#else
1843 uint64_t hist2:32;
1844 uint64_t hist3:32;
1845#endif
1846 } s; 1103 } s;
1847 struct cvmx_agl_gmx_txx_stat5_s cn52xx; 1104 struct cvmx_agl_gmx_txx_stat5_s cn52xx;
1848 struct cvmx_agl_gmx_txx_stat5_s cn52xxp1; 1105 struct cvmx_agl_gmx_txx_stat5_s cn52xxp1;
1849 struct cvmx_agl_gmx_txx_stat5_s cn56xx; 1106 struct cvmx_agl_gmx_txx_stat5_s cn56xx;
1850 struct cvmx_agl_gmx_txx_stat5_s cn56xxp1; 1107 struct cvmx_agl_gmx_txx_stat5_s cn56xxp1;
1851 struct cvmx_agl_gmx_txx_stat5_s cn61xx;
1852 struct cvmx_agl_gmx_txx_stat5_s cn63xx; 1108 struct cvmx_agl_gmx_txx_stat5_s cn63xx;
1853 struct cvmx_agl_gmx_txx_stat5_s cn63xxp1; 1109 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;
1857}; 1110};
1858 1111
1859union cvmx_agl_gmx_txx_stat6 { 1112union cvmx_agl_gmx_txx_stat6 {
1860 uint64_t u64; 1113 uint64_t u64;
1861 struct cvmx_agl_gmx_txx_stat6_s { 1114 struct cvmx_agl_gmx_txx_stat6_s {
1862#ifdef __BIG_ENDIAN_BITFIELD
1863 uint64_t hist5:32; 1115 uint64_t hist5:32;
1864 uint64_t hist4:32; 1116 uint64_t hist4:32;
1865#else
1866 uint64_t hist4:32;
1867 uint64_t hist5:32;
1868#endif
1869 } s; 1117 } s;
1870 struct cvmx_agl_gmx_txx_stat6_s cn52xx; 1118 struct cvmx_agl_gmx_txx_stat6_s cn52xx;
1871 struct cvmx_agl_gmx_txx_stat6_s cn52xxp1; 1119 struct cvmx_agl_gmx_txx_stat6_s cn52xxp1;
1872 struct cvmx_agl_gmx_txx_stat6_s cn56xx; 1120 struct cvmx_agl_gmx_txx_stat6_s cn56xx;
1873 struct cvmx_agl_gmx_txx_stat6_s cn56xxp1; 1121 struct cvmx_agl_gmx_txx_stat6_s cn56xxp1;
1874 struct cvmx_agl_gmx_txx_stat6_s cn61xx;
1875 struct cvmx_agl_gmx_txx_stat6_s cn63xx; 1122 struct cvmx_agl_gmx_txx_stat6_s cn63xx;
1876 struct cvmx_agl_gmx_txx_stat6_s cn63xxp1; 1123 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;
1880}; 1124};
1881 1125
1882union cvmx_agl_gmx_txx_stat7 { 1126union cvmx_agl_gmx_txx_stat7 {
1883 uint64_t u64; 1127 uint64_t u64;
1884 struct cvmx_agl_gmx_txx_stat7_s { 1128 struct cvmx_agl_gmx_txx_stat7_s {
1885#ifdef __BIG_ENDIAN_BITFIELD
1886 uint64_t hist7:32; 1129 uint64_t hist7:32;
1887 uint64_t hist6:32; 1130 uint64_t hist6:32;
1888#else
1889 uint64_t hist6:32;
1890 uint64_t hist7:32;
1891#endif
1892 } s; 1131 } s;
1893 struct cvmx_agl_gmx_txx_stat7_s cn52xx; 1132 struct cvmx_agl_gmx_txx_stat7_s cn52xx;
1894 struct cvmx_agl_gmx_txx_stat7_s cn52xxp1; 1133 struct cvmx_agl_gmx_txx_stat7_s cn52xxp1;
1895 struct cvmx_agl_gmx_txx_stat7_s cn56xx; 1134 struct cvmx_agl_gmx_txx_stat7_s cn56xx;
1896 struct cvmx_agl_gmx_txx_stat7_s cn56xxp1; 1135 struct cvmx_agl_gmx_txx_stat7_s cn56xxp1;
1897 struct cvmx_agl_gmx_txx_stat7_s cn61xx;
1898 struct cvmx_agl_gmx_txx_stat7_s cn63xx; 1136 struct cvmx_agl_gmx_txx_stat7_s cn63xx;
1899 struct cvmx_agl_gmx_txx_stat7_s cn63xxp1; 1137 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;
1903}; 1138};
1904 1139
1905union cvmx_agl_gmx_txx_stat8 { 1140union cvmx_agl_gmx_txx_stat8 {
1906 uint64_t u64; 1141 uint64_t u64;
1907 struct cvmx_agl_gmx_txx_stat8_s { 1142 struct cvmx_agl_gmx_txx_stat8_s {
1908#ifdef __BIG_ENDIAN_BITFIELD
1909 uint64_t mcst:32; 1143 uint64_t mcst:32;
1910 uint64_t bcst:32; 1144 uint64_t bcst:32;
1911#else
1912 uint64_t bcst:32;
1913 uint64_t mcst:32;
1914#endif
1915 } s; 1145 } s;
1916 struct cvmx_agl_gmx_txx_stat8_s cn52xx; 1146 struct cvmx_agl_gmx_txx_stat8_s cn52xx;
1917 struct cvmx_agl_gmx_txx_stat8_s cn52xxp1; 1147 struct cvmx_agl_gmx_txx_stat8_s cn52xxp1;
1918 struct cvmx_agl_gmx_txx_stat8_s cn56xx; 1148 struct cvmx_agl_gmx_txx_stat8_s cn56xx;
1919 struct cvmx_agl_gmx_txx_stat8_s cn56xxp1; 1149 struct cvmx_agl_gmx_txx_stat8_s cn56xxp1;
1920 struct cvmx_agl_gmx_txx_stat8_s cn61xx;
1921 struct cvmx_agl_gmx_txx_stat8_s cn63xx; 1150 struct cvmx_agl_gmx_txx_stat8_s cn63xx;
1922 struct cvmx_agl_gmx_txx_stat8_s cn63xxp1; 1151 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;
1926}; 1152};
1927 1153
1928union cvmx_agl_gmx_txx_stat9 { 1154union cvmx_agl_gmx_txx_stat9 {
1929 uint64_t u64; 1155 uint64_t u64;
1930 struct cvmx_agl_gmx_txx_stat9_s { 1156 struct cvmx_agl_gmx_txx_stat9_s {
1931#ifdef __BIG_ENDIAN_BITFIELD
1932 uint64_t undflw:32; 1157 uint64_t undflw:32;
1933 uint64_t ctl:32; 1158 uint64_t ctl:32;
1934#else
1935 uint64_t ctl:32;
1936 uint64_t undflw:32;
1937#endif
1938 } s; 1159 } s;
1939 struct cvmx_agl_gmx_txx_stat9_s cn52xx; 1160 struct cvmx_agl_gmx_txx_stat9_s cn52xx;
1940 struct cvmx_agl_gmx_txx_stat9_s cn52xxp1; 1161 struct cvmx_agl_gmx_txx_stat9_s cn52xxp1;
1941 struct cvmx_agl_gmx_txx_stat9_s cn56xx; 1162 struct cvmx_agl_gmx_txx_stat9_s cn56xx;
1942 struct cvmx_agl_gmx_txx_stat9_s cn56xxp1; 1163 struct cvmx_agl_gmx_txx_stat9_s cn56xxp1;
1943 struct cvmx_agl_gmx_txx_stat9_s cn61xx;
1944 struct cvmx_agl_gmx_txx_stat9_s cn63xx; 1164 struct cvmx_agl_gmx_txx_stat9_s cn63xx;
1945 struct cvmx_agl_gmx_txx_stat9_s cn63xxp1; 1165 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;
1949}; 1166};
1950 1167
1951union cvmx_agl_gmx_txx_stats_ctl { 1168union cvmx_agl_gmx_txx_stats_ctl {
1952 uint64_t u64; 1169 uint64_t u64;
1953 struct cvmx_agl_gmx_txx_stats_ctl_s { 1170 struct cvmx_agl_gmx_txx_stats_ctl_s {
1954#ifdef __BIG_ENDIAN_BITFIELD
1955 uint64_t reserved_1_63:63; 1171 uint64_t reserved_1_63:63;
1956 uint64_t rd_clr:1; 1172 uint64_t rd_clr:1;
1957#else
1958 uint64_t rd_clr:1;
1959 uint64_t reserved_1_63:63;
1960#endif
1961 } s; 1173 } s;
1962 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx; 1174 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx;
1963 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1; 1175 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1;
1964 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx; 1176 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx;
1965 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1; 1177 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1;
1966 struct cvmx_agl_gmx_txx_stats_ctl_s cn61xx;
1967 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx; 1178 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx;
1968 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xxp1; 1179 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;
1972}; 1180};
1973 1181
1974union cvmx_agl_gmx_txx_thresh { 1182union cvmx_agl_gmx_txx_thresh {
1975 uint64_t u64; 1183 uint64_t u64;
1976 struct cvmx_agl_gmx_txx_thresh_s { 1184 struct cvmx_agl_gmx_txx_thresh_s {
1977#ifdef __BIG_ENDIAN_BITFIELD
1978 uint64_t reserved_6_63:58; 1185 uint64_t reserved_6_63:58;
1979 uint64_t cnt:6; 1186 uint64_t cnt:6;
1980#else
1981 uint64_t cnt:6;
1982 uint64_t reserved_6_63:58;
1983#endif
1984 } s; 1187 } s;
1985 struct cvmx_agl_gmx_txx_thresh_s cn52xx; 1188 struct cvmx_agl_gmx_txx_thresh_s cn52xx;
1986 struct cvmx_agl_gmx_txx_thresh_s cn52xxp1; 1189 struct cvmx_agl_gmx_txx_thresh_s cn52xxp1;
1987 struct cvmx_agl_gmx_txx_thresh_s cn56xx; 1190 struct cvmx_agl_gmx_txx_thresh_s cn56xx;
1988 struct cvmx_agl_gmx_txx_thresh_s cn56xxp1; 1191 struct cvmx_agl_gmx_txx_thresh_s cn56xxp1;
1989 struct cvmx_agl_gmx_txx_thresh_s cn61xx;
1990 struct cvmx_agl_gmx_txx_thresh_s cn63xx; 1192 struct cvmx_agl_gmx_txx_thresh_s cn63xx;
1991 struct cvmx_agl_gmx_txx_thresh_s cn63xxp1; 1193 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;
1995}; 1194};
1996 1195
1997union cvmx_agl_gmx_tx_bp { 1196union cvmx_agl_gmx_tx_bp {
1998 uint64_t u64; 1197 uint64_t u64;
1999 struct cvmx_agl_gmx_tx_bp_s { 1198 struct cvmx_agl_gmx_tx_bp_s {
2000#ifdef __BIG_ENDIAN_BITFIELD
2001 uint64_t reserved_2_63:62; 1199 uint64_t reserved_2_63:62;
2002 uint64_t bp:2; 1200 uint64_t bp:2;
2003#else
2004 uint64_t bp:2;
2005 uint64_t reserved_2_63:62;
2006#endif
2007 } s; 1201 } s;
2008 struct cvmx_agl_gmx_tx_bp_s cn52xx; 1202 struct cvmx_agl_gmx_tx_bp_s cn52xx;
2009 struct cvmx_agl_gmx_tx_bp_s cn52xxp1; 1203 struct cvmx_agl_gmx_tx_bp_s cn52xxp1;
2010 struct cvmx_agl_gmx_tx_bp_cn56xx { 1204 struct cvmx_agl_gmx_tx_bp_cn56xx {
2011#ifdef __BIG_ENDIAN_BITFIELD
2012 uint64_t reserved_1_63:63; 1205 uint64_t reserved_1_63:63;
2013 uint64_t bp:1; 1206 uint64_t bp:1;
2014#else
2015 uint64_t bp:1;
2016 uint64_t reserved_1_63:63;
2017#endif
2018 } cn56xx; 1207 } cn56xx;
2019 struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1; 1208 struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1;
2020 struct cvmx_agl_gmx_tx_bp_s cn61xx;
2021 struct cvmx_agl_gmx_tx_bp_s cn63xx; 1209 struct cvmx_agl_gmx_tx_bp_s cn63xx;
2022 struct cvmx_agl_gmx_tx_bp_s cn63xxp1; 1210 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;
2026}; 1211};
2027 1212
2028union cvmx_agl_gmx_tx_col_attempt { 1213union cvmx_agl_gmx_tx_col_attempt {
2029 uint64_t u64; 1214 uint64_t u64;
2030 struct cvmx_agl_gmx_tx_col_attempt_s { 1215 struct cvmx_agl_gmx_tx_col_attempt_s {
2031#ifdef __BIG_ENDIAN_BITFIELD
2032 uint64_t reserved_5_63:59; 1216 uint64_t reserved_5_63:59;
2033 uint64_t limit:5; 1217 uint64_t limit:5;
2034#else
2035 uint64_t limit:5;
2036 uint64_t reserved_5_63:59;
2037#endif
2038 } s; 1218 } s;
2039 struct cvmx_agl_gmx_tx_col_attempt_s cn52xx; 1219 struct cvmx_agl_gmx_tx_col_attempt_s cn52xx;
2040 struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1; 1220 struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1;
2041 struct cvmx_agl_gmx_tx_col_attempt_s cn56xx; 1221 struct cvmx_agl_gmx_tx_col_attempt_s cn56xx;
2042 struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1; 1222 struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1;
2043 struct cvmx_agl_gmx_tx_col_attempt_s cn61xx;
2044 struct cvmx_agl_gmx_tx_col_attempt_s cn63xx; 1223 struct cvmx_agl_gmx_tx_col_attempt_s cn63xx;
2045 struct cvmx_agl_gmx_tx_col_attempt_s cn63xxp1; 1224 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;
2049}; 1225};
2050 1226
2051union cvmx_agl_gmx_tx_ifg { 1227union cvmx_agl_gmx_tx_ifg {
2052 uint64_t u64; 1228 uint64_t u64;
2053 struct cvmx_agl_gmx_tx_ifg_s { 1229 struct cvmx_agl_gmx_tx_ifg_s {
2054#ifdef __BIG_ENDIAN_BITFIELD
2055 uint64_t reserved_8_63:56; 1230 uint64_t reserved_8_63:56;
2056 uint64_t ifg2:4; 1231 uint64_t ifg2:4;
2057 uint64_t ifg1:4; 1232 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
2063 } s; 1233 } s;
2064 struct cvmx_agl_gmx_tx_ifg_s cn52xx; 1234 struct cvmx_agl_gmx_tx_ifg_s cn52xx;
2065 struct cvmx_agl_gmx_tx_ifg_s cn52xxp1; 1235 struct cvmx_agl_gmx_tx_ifg_s cn52xxp1;
2066 struct cvmx_agl_gmx_tx_ifg_s cn56xx; 1236 struct cvmx_agl_gmx_tx_ifg_s cn56xx;
2067 struct cvmx_agl_gmx_tx_ifg_s cn56xxp1; 1237 struct cvmx_agl_gmx_tx_ifg_s cn56xxp1;
2068 struct cvmx_agl_gmx_tx_ifg_s cn61xx;
2069 struct cvmx_agl_gmx_tx_ifg_s cn63xx; 1238 struct cvmx_agl_gmx_tx_ifg_s cn63xx;
2070 struct cvmx_agl_gmx_tx_ifg_s cn63xxp1; 1239 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;
2074}; 1240};
2075 1241
2076union cvmx_agl_gmx_tx_int_en { 1242union cvmx_agl_gmx_tx_int_en {
2077 uint64_t u64; 1243 uint64_t u64;
2078 struct cvmx_agl_gmx_tx_int_en_s { 1244 struct cvmx_agl_gmx_tx_int_en_s {
2079#ifdef __BIG_ENDIAN_BITFIELD
2080 uint64_t reserved_22_63:42; 1245 uint64_t reserved_22_63:42;
2081 uint64_t ptp_lost:2; 1246 uint64_t ptp_lost:2;
2082 uint64_t reserved_18_19:2; 1247 uint64_t reserved_18_19:2;
@@ -2089,23 +1254,8 @@ union cvmx_agl_gmx_tx_int_en {
2089 uint64_t undflw:2; 1254 uint64_t undflw:2;
2090 uint64_t reserved_1_1:1; 1255 uint64_t reserved_1_1:1;
2091 uint64_t pko_nxa:1; 1256 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
2106 } s; 1257 } s;
2107 struct cvmx_agl_gmx_tx_int_en_cn52xx { 1258 struct cvmx_agl_gmx_tx_int_en_cn52xx {
2108#ifdef __BIG_ENDIAN_BITFIELD
2109 uint64_t reserved_18_63:46; 1259 uint64_t reserved_18_63:46;
2110 uint64_t late_col:2; 1260 uint64_t late_col:2;
2111 uint64_t reserved_14_15:2; 1261 uint64_t reserved_14_15:2;
@@ -2116,22 +1266,9 @@ union cvmx_agl_gmx_tx_int_en {
2116 uint64_t undflw:2; 1266 uint64_t undflw:2;
2117 uint64_t reserved_1_1:1; 1267 uint64_t reserved_1_1:1;
2118 uint64_t pko_nxa:1; 1268 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
2131 } cn52xx; 1269 } cn52xx;
2132 struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1; 1270 struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1;
2133 struct cvmx_agl_gmx_tx_int_en_cn56xx { 1271 struct cvmx_agl_gmx_tx_int_en_cn56xx {
2134#ifdef __BIG_ENDIAN_BITFIELD
2135 uint64_t reserved_17_63:47; 1272 uint64_t reserved_17_63:47;
2136 uint64_t late_col:1; 1273 uint64_t late_col:1;
2137 uint64_t reserved_13_15:3; 1274 uint64_t reserved_13_15:3;
@@ -2142,32 +1279,15 @@ union cvmx_agl_gmx_tx_int_en {
2142 uint64_t undflw:1; 1279 uint64_t undflw:1;
2143 uint64_t reserved_1_1:1; 1280 uint64_t reserved_1_1:1;
2144 uint64_t pko_nxa:1; 1281 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
2157 } cn56xx; 1282 } cn56xx;
2158 struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1; 1283 struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1;
2159 struct cvmx_agl_gmx_tx_int_en_s cn61xx;
2160 struct cvmx_agl_gmx_tx_int_en_s cn63xx; 1284 struct cvmx_agl_gmx_tx_int_en_s cn63xx;
2161 struct cvmx_agl_gmx_tx_int_en_s cn63xxp1; 1285 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;
2165}; 1286};
2166 1287
2167union cvmx_agl_gmx_tx_int_reg { 1288union cvmx_agl_gmx_tx_int_reg {
2168 uint64_t u64; 1289 uint64_t u64;
2169 struct cvmx_agl_gmx_tx_int_reg_s { 1290 struct cvmx_agl_gmx_tx_int_reg_s {
2170#ifdef __BIG_ENDIAN_BITFIELD
2171 uint64_t reserved_22_63:42; 1291 uint64_t reserved_22_63:42;
2172 uint64_t ptp_lost:2; 1292 uint64_t ptp_lost:2;
2173 uint64_t reserved_18_19:2; 1293 uint64_t reserved_18_19:2;
@@ -2180,23 +1300,8 @@ union cvmx_agl_gmx_tx_int_reg {
2180 uint64_t undflw:2; 1300 uint64_t undflw:2;
2181 uint64_t reserved_1_1:1; 1301 uint64_t reserved_1_1:1;
2182 uint64_t pko_nxa:1; 1302 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
2197 } s; 1303 } s;
2198 struct cvmx_agl_gmx_tx_int_reg_cn52xx { 1304 struct cvmx_agl_gmx_tx_int_reg_cn52xx {
2199#ifdef __BIG_ENDIAN_BITFIELD
2200 uint64_t reserved_18_63:46; 1305 uint64_t reserved_18_63:46;
2201 uint64_t late_col:2; 1306 uint64_t late_col:2;
2202 uint64_t reserved_14_15:2; 1307 uint64_t reserved_14_15:2;
@@ -2207,22 +1312,9 @@ union cvmx_agl_gmx_tx_int_reg {
2207 uint64_t undflw:2; 1312 uint64_t undflw:2;
2208 uint64_t reserved_1_1:1; 1313 uint64_t reserved_1_1:1;
2209 uint64_t pko_nxa:1; 1314 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
2222 } cn52xx; 1315 } cn52xx;
2223 struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1; 1316 struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1;
2224 struct cvmx_agl_gmx_tx_int_reg_cn56xx { 1317 struct cvmx_agl_gmx_tx_int_reg_cn56xx {
2225#ifdef __BIG_ENDIAN_BITFIELD
2226 uint64_t reserved_17_63:47; 1318 uint64_t reserved_17_63:47;
2227 uint64_t late_col:1; 1319 uint64_t late_col:1;
2228 uint64_t reserved_13_15:3; 1320 uint64_t reserved_13_15:3;
@@ -2233,171 +1325,96 @@ union cvmx_agl_gmx_tx_int_reg {
2233 uint64_t undflw:1; 1325 uint64_t undflw:1;
2234 uint64_t reserved_1_1:1; 1326 uint64_t reserved_1_1:1;
2235 uint64_t pko_nxa:1; 1327 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
2248 } cn56xx; 1328 } cn56xx;
2249 struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1; 1329 struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1;
2250 struct cvmx_agl_gmx_tx_int_reg_s cn61xx;
2251 struct cvmx_agl_gmx_tx_int_reg_s cn63xx; 1330 struct cvmx_agl_gmx_tx_int_reg_s cn63xx;
2252 struct cvmx_agl_gmx_tx_int_reg_s cn63xxp1; 1331 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;
2256}; 1332};
2257 1333
2258union cvmx_agl_gmx_tx_jam { 1334union cvmx_agl_gmx_tx_jam {
2259 uint64_t u64; 1335 uint64_t u64;
2260 struct cvmx_agl_gmx_tx_jam_s { 1336 struct cvmx_agl_gmx_tx_jam_s {
2261#ifdef __BIG_ENDIAN_BITFIELD
2262 uint64_t reserved_8_63:56; 1337 uint64_t reserved_8_63:56;
2263 uint64_t jam:8; 1338 uint64_t jam:8;
2264#else
2265 uint64_t jam:8;
2266 uint64_t reserved_8_63:56;
2267#endif
2268 } s; 1339 } s;
2269 struct cvmx_agl_gmx_tx_jam_s cn52xx; 1340 struct cvmx_agl_gmx_tx_jam_s cn52xx;
2270 struct cvmx_agl_gmx_tx_jam_s cn52xxp1; 1341 struct cvmx_agl_gmx_tx_jam_s cn52xxp1;
2271 struct cvmx_agl_gmx_tx_jam_s cn56xx; 1342 struct cvmx_agl_gmx_tx_jam_s cn56xx;
2272 struct cvmx_agl_gmx_tx_jam_s cn56xxp1; 1343 struct cvmx_agl_gmx_tx_jam_s cn56xxp1;
2273 struct cvmx_agl_gmx_tx_jam_s cn61xx;
2274 struct cvmx_agl_gmx_tx_jam_s cn63xx; 1344 struct cvmx_agl_gmx_tx_jam_s cn63xx;
2275 struct cvmx_agl_gmx_tx_jam_s cn63xxp1; 1345 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;
2279}; 1346};
2280 1347
2281union cvmx_agl_gmx_tx_lfsr { 1348union cvmx_agl_gmx_tx_lfsr {
2282 uint64_t u64; 1349 uint64_t u64;
2283 struct cvmx_agl_gmx_tx_lfsr_s { 1350 struct cvmx_agl_gmx_tx_lfsr_s {
2284#ifdef __BIG_ENDIAN_BITFIELD
2285 uint64_t reserved_16_63:48; 1351 uint64_t reserved_16_63:48;
2286 uint64_t lfsr:16; 1352 uint64_t lfsr:16;
2287#else
2288 uint64_t lfsr:16;
2289 uint64_t reserved_16_63:48;
2290#endif
2291 } s; 1353 } s;
2292 struct cvmx_agl_gmx_tx_lfsr_s cn52xx; 1354 struct cvmx_agl_gmx_tx_lfsr_s cn52xx;
2293 struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1; 1355 struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1;
2294 struct cvmx_agl_gmx_tx_lfsr_s cn56xx; 1356 struct cvmx_agl_gmx_tx_lfsr_s cn56xx;
2295 struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1; 1357 struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1;
2296 struct cvmx_agl_gmx_tx_lfsr_s cn61xx;
2297 struct cvmx_agl_gmx_tx_lfsr_s cn63xx; 1358 struct cvmx_agl_gmx_tx_lfsr_s cn63xx;
2298 struct cvmx_agl_gmx_tx_lfsr_s cn63xxp1; 1359 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;
2302}; 1360};
2303 1361
2304union cvmx_agl_gmx_tx_ovr_bp { 1362union cvmx_agl_gmx_tx_ovr_bp {
2305 uint64_t u64; 1363 uint64_t u64;
2306 struct cvmx_agl_gmx_tx_ovr_bp_s { 1364 struct cvmx_agl_gmx_tx_ovr_bp_s {
2307#ifdef __BIG_ENDIAN_BITFIELD
2308 uint64_t reserved_10_63:54; 1365 uint64_t reserved_10_63:54;
2309 uint64_t en:2; 1366 uint64_t en:2;
2310 uint64_t reserved_6_7:2; 1367 uint64_t reserved_6_7:2;
2311 uint64_t bp:2; 1368 uint64_t bp:2;
2312 uint64_t reserved_2_3:2; 1369 uint64_t reserved_2_3:2;
2313 uint64_t ign_full:2; 1370 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
2322 } s; 1371 } s;
2323 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx; 1372 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx;
2324 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1; 1373 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1;
2325 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx { 1374 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx {
2326#ifdef __BIG_ENDIAN_BITFIELD
2327 uint64_t reserved_9_63:55; 1375 uint64_t reserved_9_63:55;
2328 uint64_t en:1; 1376 uint64_t en:1;
2329 uint64_t reserved_5_7:3; 1377 uint64_t reserved_5_7:3;
2330 uint64_t bp:1; 1378 uint64_t bp:1;
2331 uint64_t reserved_1_3:3; 1379 uint64_t reserved_1_3:3;
2332 uint64_t ign_full:1; 1380 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
2341 } cn56xx; 1381 } cn56xx;
2342 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1; 1382 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1;
2343 struct cvmx_agl_gmx_tx_ovr_bp_s cn61xx;
2344 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx; 1383 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx;
2345 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xxp1; 1384 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;
2349}; 1385};
2350 1386
2351union cvmx_agl_gmx_tx_pause_pkt_dmac { 1387union cvmx_agl_gmx_tx_pause_pkt_dmac {
2352 uint64_t u64; 1388 uint64_t u64;
2353 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s { 1389 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s {
2354#ifdef __BIG_ENDIAN_BITFIELD
2355 uint64_t reserved_48_63:16; 1390 uint64_t reserved_48_63:16;
2356 uint64_t dmac:48; 1391 uint64_t dmac:48;
2357#else
2358 uint64_t dmac:48;
2359 uint64_t reserved_48_63:16;
2360#endif
2361 } s; 1392 } s;
2362 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx; 1393 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx;
2363 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1; 1394 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1;
2364 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx; 1395 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx;
2365 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1; 1396 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1;
2366 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn61xx;
2367 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx; 1397 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx;
2368 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xxp1; 1398 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;
2372}; 1399};
2373 1400
2374union cvmx_agl_gmx_tx_pause_pkt_type { 1401union cvmx_agl_gmx_tx_pause_pkt_type {
2375 uint64_t u64; 1402 uint64_t u64;
2376 struct cvmx_agl_gmx_tx_pause_pkt_type_s { 1403 struct cvmx_agl_gmx_tx_pause_pkt_type_s {
2377#ifdef __BIG_ENDIAN_BITFIELD
2378 uint64_t reserved_16_63:48; 1404 uint64_t reserved_16_63:48;
2379 uint64_t type:16; 1405 uint64_t type:16;
2380#else
2381 uint64_t type:16;
2382 uint64_t reserved_16_63:48;
2383#endif
2384 } s; 1406 } s;
2385 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx; 1407 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx;
2386 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1; 1408 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1;
2387 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx; 1409 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx;
2388 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1; 1410 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1;
2389 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn61xx;
2390 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx; 1411 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx;
2391 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xxp1; 1412 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;
2395}; 1413};
2396 1414
2397union cvmx_agl_prtx_ctl { 1415union cvmx_agl_prtx_ctl {
2398 uint64_t u64; 1416 uint64_t u64;
2399 struct cvmx_agl_prtx_ctl_s { 1417 struct cvmx_agl_prtx_ctl_s {
2400#ifdef __BIG_ENDIAN_BITFIELD
2401 uint64_t drv_byp:1; 1418 uint64_t drv_byp:1;
2402 uint64_t reserved_62_62:1; 1419 uint64_t reserved_62_62:1;
2403 uint64_t cmp_pctl:6; 1420 uint64_t cmp_pctl:6;
@@ -2421,38 +1438,9 @@ union cvmx_agl_prtx_ctl {
2421 uint64_t enable:1; 1438 uint64_t enable:1;
2422 uint64_t clkrst:1; 1439 uint64_t clkrst:1;
2423 uint64_t mode:1; 1440 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
2449 } s; 1441 } s;
2450 struct cvmx_agl_prtx_ctl_s cn61xx;
2451 struct cvmx_agl_prtx_ctl_s cn63xx; 1442 struct cvmx_agl_prtx_ctl_s cn63xx;
2452 struct cvmx_agl_prtx_ctl_s cn63xxp1; 1443 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;
2456}; 1444};
2457 1445
2458#endif 1446#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-asm.h b/arch/mips/include/asm/octeon/cvmx-asm.h
index 31eacc24b77..5de5de95311 100644
--- a/arch/mips/include/asm/octeon/cvmx-asm.h
+++ b/arch/mips/include/asm/octeon/cvmx-asm.h
@@ -32,7 +32,7 @@
32#ifndef __CVMX_ASM_H__ 32#ifndef __CVMX_ASM_H__
33#define __CVMX_ASM_H__ 33#define __CVMX_ASM_H__
34 34
35#include <asm/octeon/octeon-model.h> 35#include "octeon-model.h"
36 36
37/* other useful stuff */ 37/* other useful stuff */
38#define CVMX_SYNC asm volatile ("sync" : : : "memory") 38#define CVMX_SYNC asm volatile ("sync" : : : "memory")
diff --git a/arch/mips/include/asm/octeon/cvmx-asxx-defs.h b/arch/mips/include/asm/octeon/cvmx-asxx-defs.h
deleted file mode 100644
index a1e21a3854c..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-asxx-defs.h
+++ /dev/null
@@ -1,669 +0,0 @@
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_ASXX_DEFS_H__
29#define __CVMX_ASXX_DEFS_H__
30
31#define CVMX_ASXX_GMII_RX_CLK_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000180ull))
32#define CVMX_ASXX_GMII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000188ull))
33#define CVMX_ASXX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000018ull) + ((block_id) & 1) * 0x8000000ull)
34#define CVMX_ASXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000010ull) + ((block_id) & 1) * 0x8000000ull)
35#define CVMX_ASXX_MII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000190ull))
36#define CVMX_ASXX_PRT_LOOP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000040ull) + ((block_id) & 1) * 0x8000000ull)
37#define CVMX_ASXX_RLD_BYPASS(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000248ull) + ((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_RLD_COMP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000220ull) + ((block_id) & 1) * 0x8000000ull)
40#define CVMX_ASXX_RLD_DATA_DRV(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000218ull) + ((block_id) & 1) * 0x8000000ull)
41#define CVMX_ASXX_RLD_FCRAM_MODE(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000210ull) + ((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_NCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000240ull) + ((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_PCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000238ull) + ((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_RX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000020ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
48#define CVMX_ASXX_RX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000000ull) + ((block_id) & 1) * 0x8000000ull)
49#define CVMX_ASXX_RX_WOL(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000100ull) + ((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_RX_WOL_POWOK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000118ull) + ((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_TX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
54#define CVMX_ASXX_TX_COMP_BYP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000068ull) + ((block_id) & 1) * 0x8000000ull)
55#define CVMX_ASXX_TX_HI_WATERX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000080ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
56#define CVMX_ASXX_TX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000008ull) + ((block_id) & 1) * 0x8000000ull)
57
58union cvmx_asxx_gmii_rx_clk_set {
59 uint64_t u64;
60 struct cvmx_asxx_gmii_rx_clk_set_s {
61#ifdef __BIG_ENDIAN_BITFIELD
62 uint64_t reserved_5_63:59;
63 uint64_t setting:5;
64#else
65 uint64_t setting:5;
66 uint64_t reserved_5_63:59;
67#endif
68 } s;
69 struct cvmx_asxx_gmii_rx_clk_set_s cn30xx;
70 struct cvmx_asxx_gmii_rx_clk_set_s cn31xx;
71 struct cvmx_asxx_gmii_rx_clk_set_s cn50xx;
72};
73
74union cvmx_asxx_gmii_rx_dat_set {
75 uint64_t u64;
76 struct cvmx_asxx_gmii_rx_dat_set_s {
77#ifdef __BIG_ENDIAN_BITFIELD
78 uint64_t reserved_5_63:59;
79 uint64_t setting:5;
80#else
81 uint64_t setting:5;
82 uint64_t reserved_5_63:59;
83#endif
84 } s;
85 struct cvmx_asxx_gmii_rx_dat_set_s cn30xx;
86 struct cvmx_asxx_gmii_rx_dat_set_s cn31xx;
87 struct cvmx_asxx_gmii_rx_dat_set_s cn50xx;
88};
89
90union cvmx_asxx_int_en {
91 uint64_t u64;
92 struct cvmx_asxx_int_en_s {
93#ifdef __BIG_ENDIAN_BITFIELD
94 uint64_t reserved_12_63:52;
95 uint64_t txpsh:4;
96 uint64_t txpop: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
104 } s;
105 struct cvmx_asxx_int_en_cn30xx {
106#ifdef __BIG_ENDIAN_BITFIELD
107 uint64_t reserved_11_63:53;
108 uint64_t txpsh:3;
109 uint64_t reserved_7_7:1;
110 uint64_t txpop:3;
111 uint64_t reserved_3_3:1;
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;
122 struct cvmx_asxx_int_en_cn30xx cn31xx;
123 struct cvmx_asxx_int_en_s cn38xx;
124 struct cvmx_asxx_int_en_s cn38xxp2;
125 struct cvmx_asxx_int_en_cn30xx cn50xx;
126 struct cvmx_asxx_int_en_s cn58xx;
127 struct cvmx_asxx_int_en_s cn58xxp1;
128};
129
130union cvmx_asxx_int_reg {
131 uint64_t u64;
132 struct cvmx_asxx_int_reg_s {
133#ifdef __BIG_ENDIAN_BITFIELD
134 uint64_t reserved_12_63:52;
135 uint64_t txpsh:4;
136 uint64_t txpop: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
144 } s;
145 struct cvmx_asxx_int_reg_cn30xx {
146#ifdef __BIG_ENDIAN_BITFIELD
147 uint64_t reserved_11_63:53;
148 uint64_t txpsh:3;
149 uint64_t reserved_7_7:1;
150 uint64_t txpop:3;
151 uint64_t reserved_3_3:1;
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
161 } cn30xx;
162 struct cvmx_asxx_int_reg_cn30xx cn31xx;
163 struct cvmx_asxx_int_reg_s cn38xx;
164 struct cvmx_asxx_int_reg_s cn38xxp2;
165 struct cvmx_asxx_int_reg_cn30xx cn50xx;
166 struct cvmx_asxx_int_reg_s cn58xx;
167 struct cvmx_asxx_int_reg_s cn58xxp1;
168};
169
170union cvmx_asxx_mii_rx_dat_set {
171 uint64_t u64;
172 struct cvmx_asxx_mii_rx_dat_set_s {
173#ifdef __BIG_ENDIAN_BITFIELD
174 uint64_t reserved_5_63:59;
175 uint64_t setting:5;
176#else
177 uint64_t setting:5;
178 uint64_t reserved_5_63:59;
179#endif
180 } s;
181 struct cvmx_asxx_mii_rx_dat_set_s cn30xx;
182 struct cvmx_asxx_mii_rx_dat_set_s cn50xx;
183};
184
185union cvmx_asxx_prt_loop {
186 uint64_t u64;
187 struct cvmx_asxx_prt_loop_s {
188#ifdef __BIG_ENDIAN_BITFIELD
189 uint64_t reserved_8_63:56;
190 uint64_t ext_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
197 } s;
198 struct cvmx_asxx_prt_loop_cn30xx {
199#ifdef __BIG_ENDIAN_BITFIELD
200 uint64_t reserved_7_63:57;
201 uint64_t ext_loop:3;
202 uint64_t reserved_3_3:1;
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
210 } cn30xx;
211 struct cvmx_asxx_prt_loop_cn30xx cn31xx;
212 struct cvmx_asxx_prt_loop_s cn38xx;
213 struct cvmx_asxx_prt_loop_s cn38xxp2;
214 struct cvmx_asxx_prt_loop_cn30xx cn50xx;
215 struct cvmx_asxx_prt_loop_s cn58xx;
216 struct cvmx_asxx_prt_loop_s cn58xxp1;
217};
218
219union cvmx_asxx_rld_bypass {
220 uint64_t u64;
221 struct cvmx_asxx_rld_bypass_s {
222#ifdef __BIG_ENDIAN_BITFIELD
223 uint64_t reserved_1_63:63;
224 uint64_t bypass:1;
225#else
226 uint64_t bypass:1;
227 uint64_t reserved_1_63:63;
228#endif
229 } s;
230 struct cvmx_asxx_rld_bypass_s cn38xx;
231 struct cvmx_asxx_rld_bypass_s cn38xxp2;
232 struct cvmx_asxx_rld_bypass_s cn58xx;
233 struct cvmx_asxx_rld_bypass_s cn58xxp1;
234};
235
236union cvmx_asxx_rld_bypass_setting {
237 uint64_t u64;
238 struct cvmx_asxx_rld_bypass_setting_s {
239#ifdef __BIG_ENDIAN_BITFIELD
240 uint64_t reserved_5_63:59;
241 uint64_t setting:5;
242#else
243 uint64_t setting:5;
244 uint64_t reserved_5_63:59;
245#endif
246 } s;
247 struct cvmx_asxx_rld_bypass_setting_s cn38xx;
248 struct cvmx_asxx_rld_bypass_setting_s cn38xxp2;
249 struct cvmx_asxx_rld_bypass_setting_s cn58xx;
250 struct cvmx_asxx_rld_bypass_setting_s cn58xxp1;
251};
252
253union cvmx_asxx_rld_comp {
254 uint64_t u64;
255 struct cvmx_asxx_rld_comp_s {
256#ifdef __BIG_ENDIAN_BITFIELD
257 uint64_t reserved_9_63:55;
258 uint64_t pctl:5;
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
265 } s;
266 struct cvmx_asxx_rld_comp_cn38xx {
267#ifdef __BIG_ENDIAN_BITFIELD
268 uint64_t reserved_8_63:56;
269 uint64_t pctl: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
276 } cn38xx;
277 struct cvmx_asxx_rld_comp_cn38xx cn38xxp2;
278 struct cvmx_asxx_rld_comp_s cn58xx;
279 struct cvmx_asxx_rld_comp_s cn58xxp1;
280};
281
282union cvmx_asxx_rld_data_drv {
283 uint64_t u64;
284 struct cvmx_asxx_rld_data_drv_s {
285#ifdef __BIG_ENDIAN_BITFIELD
286 uint64_t reserved_8_63:56;
287 uint64_t pctl: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
294 } s;
295 struct cvmx_asxx_rld_data_drv_s cn38xx;
296 struct cvmx_asxx_rld_data_drv_s cn38xxp2;
297 struct cvmx_asxx_rld_data_drv_s cn58xx;
298 struct cvmx_asxx_rld_data_drv_s cn58xxp1;
299};
300
301union cvmx_asxx_rld_fcram_mode {
302 uint64_t u64;
303 struct cvmx_asxx_rld_fcram_mode_s {
304#ifdef __BIG_ENDIAN_BITFIELD
305 uint64_t reserved_1_63:63;
306 uint64_t mode:1;
307#else
308 uint64_t mode:1;
309 uint64_t reserved_1_63:63;
310#endif
311 } s;
312 struct cvmx_asxx_rld_fcram_mode_s cn38xx;
313 struct cvmx_asxx_rld_fcram_mode_s cn38xxp2;
314};
315
316union cvmx_asxx_rld_nctl_strong {
317 uint64_t u64;
318 struct cvmx_asxx_rld_nctl_strong_s {
319#ifdef __BIG_ENDIAN_BITFIELD
320 uint64_t reserved_5_63:59;
321 uint64_t nctl:5;
322#else
323 uint64_t nctl:5;
324 uint64_t reserved_5_63:59;
325#endif
326 } s;
327 struct cvmx_asxx_rld_nctl_strong_s cn38xx;
328 struct cvmx_asxx_rld_nctl_strong_s cn38xxp2;
329 struct cvmx_asxx_rld_nctl_strong_s cn58xx;
330 struct cvmx_asxx_rld_nctl_strong_s cn58xxp1;
331};
332
333union cvmx_asxx_rld_nctl_weak {
334 uint64_t u64;
335 struct cvmx_asxx_rld_nctl_weak_s {
336#ifdef __BIG_ENDIAN_BITFIELD
337 uint64_t reserved_5_63:59;
338 uint64_t nctl:5;
339#else
340 uint64_t nctl:5;
341 uint64_t reserved_5_63:59;
342#endif
343 } s;
344 struct cvmx_asxx_rld_nctl_weak_s cn38xx;
345 struct cvmx_asxx_rld_nctl_weak_s cn38xxp2;
346 struct cvmx_asxx_rld_nctl_weak_s cn58xx;
347 struct cvmx_asxx_rld_nctl_weak_s cn58xxp1;
348};
349
350union cvmx_asxx_rld_pctl_strong {
351 uint64_t u64;
352 struct cvmx_asxx_rld_pctl_strong_s {
353#ifdef __BIG_ENDIAN_BITFIELD
354 uint64_t reserved_5_63:59;
355 uint64_t pctl:5;
356#else
357 uint64_t pctl:5;
358 uint64_t reserved_5_63:59;
359#endif
360 } s;
361 struct cvmx_asxx_rld_pctl_strong_s cn38xx;
362 struct cvmx_asxx_rld_pctl_strong_s cn38xxp2;
363 struct cvmx_asxx_rld_pctl_strong_s cn58xx;
364 struct cvmx_asxx_rld_pctl_strong_s cn58xxp1;
365};
366
367union cvmx_asxx_rld_pctl_weak {
368 uint64_t u64;
369 struct cvmx_asxx_rld_pctl_weak_s {
370#ifdef __BIG_ENDIAN_BITFIELD
371 uint64_t reserved_5_63:59;
372 uint64_t pctl:5;
373#else
374 uint64_t pctl:5;
375 uint64_t reserved_5_63:59;
376#endif
377 } s;
378 struct cvmx_asxx_rld_pctl_weak_s cn38xx;
379 struct cvmx_asxx_rld_pctl_weak_s cn38xxp2;
380 struct cvmx_asxx_rld_pctl_weak_s cn58xx;
381 struct cvmx_asxx_rld_pctl_weak_s cn58xxp1;
382};
383
384union cvmx_asxx_rld_setting {
385 uint64_t u64;
386 struct cvmx_asxx_rld_setting_s {
387#ifdef __BIG_ENDIAN_BITFIELD
388 uint64_t reserved_13_63:51;
389 uint64_t dfaset:5;
390 uint64_t dfalag:1;
391 uint64_t dfalead:1;
392 uint64_t dfalock:1;
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
402 } s;
403 struct cvmx_asxx_rld_setting_cn38xx {
404#ifdef __BIG_ENDIAN_BITFIELD
405 uint64_t reserved_5_63:59;
406 uint64_t setting:5;
407#else
408 uint64_t setting:5;
409 uint64_t reserved_5_63:59;
410#endif
411 } cn38xx;
412 struct cvmx_asxx_rld_setting_cn38xx cn38xxp2;
413 struct cvmx_asxx_rld_setting_s cn58xx;
414 struct cvmx_asxx_rld_setting_s cn58xxp1;
415};
416
417union cvmx_asxx_rx_clk_setx {
418 uint64_t u64;
419 struct cvmx_asxx_rx_clk_setx_s {
420#ifdef __BIG_ENDIAN_BITFIELD
421 uint64_t reserved_5_63:59;
422 uint64_t setting:5;
423#else
424 uint64_t setting:5;
425 uint64_t reserved_5_63:59;
426#endif
427 } s;
428 struct cvmx_asxx_rx_clk_setx_s cn30xx;
429 struct cvmx_asxx_rx_clk_setx_s cn31xx;
430 struct cvmx_asxx_rx_clk_setx_s cn38xx;
431 struct cvmx_asxx_rx_clk_setx_s cn38xxp2;
432 struct cvmx_asxx_rx_clk_setx_s cn50xx;
433 struct cvmx_asxx_rx_clk_setx_s cn58xx;
434 struct cvmx_asxx_rx_clk_setx_s cn58xxp1;
435};
436
437union cvmx_asxx_rx_prt_en {
438 uint64_t u64;
439 struct cvmx_asxx_rx_prt_en_s {
440#ifdef __BIG_ENDIAN_BITFIELD
441 uint64_t reserved_4_63:60;
442 uint64_t prt_en:4;
443#else
444 uint64_t prt_en:4;
445 uint64_t reserved_4_63:60;
446#endif
447 } s;
448 struct cvmx_asxx_rx_prt_en_cn30xx {
449#ifdef __BIG_ENDIAN_BITFIELD
450 uint64_t reserved_3_63:61;
451 uint64_t prt_en:3;
452#else
453 uint64_t prt_en:3;
454 uint64_t reserved_3_63:61;
455#endif
456 } cn30xx;
457 struct cvmx_asxx_rx_prt_en_cn30xx cn31xx;
458 struct cvmx_asxx_rx_prt_en_s cn38xx;
459 struct cvmx_asxx_rx_prt_en_s cn38xxp2;
460 struct cvmx_asxx_rx_prt_en_cn30xx cn50xx;
461 struct cvmx_asxx_rx_prt_en_s cn58xx;
462 struct cvmx_asxx_rx_prt_en_s cn58xxp1;
463};
464
465union cvmx_asxx_rx_wol {
466 uint64_t u64;
467 struct cvmx_asxx_rx_wol_s {
468#ifdef __BIG_ENDIAN_BITFIELD
469 uint64_t reserved_2_63:62;
470 uint64_t status: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
477 } s;
478 struct cvmx_asxx_rx_wol_s cn38xx;
479 struct cvmx_asxx_rx_wol_s cn38xxp2;
480};
481
482union cvmx_asxx_rx_wol_msk {
483 uint64_t u64;
484 struct cvmx_asxx_rx_wol_msk_s {
485#ifdef __BIG_ENDIAN_BITFIELD
486 uint64_t msk:64;
487#else
488 uint64_t msk:64;
489#endif
490 } s;
491 struct cvmx_asxx_rx_wol_msk_s cn38xx;
492 struct cvmx_asxx_rx_wol_msk_s cn38xxp2;
493};
494
495union cvmx_asxx_rx_wol_powok {
496 uint64_t u64;
497 struct cvmx_asxx_rx_wol_powok_s {
498#ifdef __BIG_ENDIAN_BITFIELD
499 uint64_t reserved_1_63:63;
500 uint64_t powerok:1;
501#else
502 uint64_t powerok:1;
503 uint64_t reserved_1_63:63;
504#endif
505 } s;
506 struct cvmx_asxx_rx_wol_powok_s cn38xx;
507 struct cvmx_asxx_rx_wol_powok_s cn38xxp2;
508};
509
510union cvmx_asxx_rx_wol_sig {
511 uint64_t u64;
512 struct cvmx_asxx_rx_wol_sig_s {
513#ifdef __BIG_ENDIAN_BITFIELD
514 uint64_t reserved_32_63:32;
515 uint64_t sig:32;
516#else
517 uint64_t sig:32;
518 uint64_t reserved_32_63:32;
519#endif
520 } s;
521 struct cvmx_asxx_rx_wol_sig_s cn38xx;
522 struct cvmx_asxx_rx_wol_sig_s cn38xxp2;
523};
524
525union cvmx_asxx_tx_clk_setx {
526 uint64_t u64;
527 struct cvmx_asxx_tx_clk_setx_s {
528#ifdef __BIG_ENDIAN_BITFIELD
529 uint64_t reserved_5_63:59;
530 uint64_t setting:5;
531#else
532 uint64_t setting:5;
533 uint64_t reserved_5_63:59;
534#endif
535 } s;
536 struct cvmx_asxx_tx_clk_setx_s cn30xx;
537 struct cvmx_asxx_tx_clk_setx_s cn31xx;
538 struct cvmx_asxx_tx_clk_setx_s cn38xx;
539 struct cvmx_asxx_tx_clk_setx_s cn38xxp2;
540 struct cvmx_asxx_tx_clk_setx_s cn50xx;
541 struct cvmx_asxx_tx_clk_setx_s cn58xx;
542 struct cvmx_asxx_tx_clk_setx_s cn58xxp1;
543};
544
545union cvmx_asxx_tx_comp_byp {
546 uint64_t u64;
547 struct cvmx_asxx_tx_comp_byp_s {
548#ifdef __BIG_ENDIAN_BITFIELD
549 uint64_t reserved_0_63:64;
550#else
551 uint64_t reserved_0_63:64;
552#endif
553 } s;
554 struct cvmx_asxx_tx_comp_byp_cn30xx {
555#ifdef __BIG_ENDIAN_BITFIELD
556 uint64_t reserved_9_63:55;
557 uint64_t bypass:1;
558 uint64_t pctl: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
566 } cn30xx;
567 struct cvmx_asxx_tx_comp_byp_cn30xx cn31xx;
568 struct cvmx_asxx_tx_comp_byp_cn38xx {
569#ifdef __BIG_ENDIAN_BITFIELD
570 uint64_t reserved_8_63:56;
571 uint64_t pctl: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
578 } cn38xx;
579 struct cvmx_asxx_tx_comp_byp_cn38xx cn38xxp2;
580 struct cvmx_asxx_tx_comp_byp_cn50xx {
581#ifdef __BIG_ENDIAN_BITFIELD
582 uint64_t reserved_17_63:47;
583 uint64_t bypass:1;
584 uint64_t reserved_13_15:3;
585 uint64_t pctl:5;
586 uint64_t reserved_5_7:3;
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
596 } cn50xx;
597 struct cvmx_asxx_tx_comp_byp_cn58xx {
598#ifdef __BIG_ENDIAN_BITFIELD
599 uint64_t reserved_13_63:51;
600 uint64_t pctl:5;
601 uint64_t reserved_5_7:3;
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
609 } cn58xx;
610 struct cvmx_asxx_tx_comp_byp_cn58xx cn58xxp1;
611};
612
613union cvmx_asxx_tx_hi_waterx {
614 uint64_t u64;
615 struct cvmx_asxx_tx_hi_waterx_s {
616#ifdef __BIG_ENDIAN_BITFIELD
617 uint64_t reserved_4_63:60;
618 uint64_t mark:4;
619#else
620 uint64_t mark:4;
621 uint64_t reserved_4_63:60;
622#endif
623 } s;
624 struct cvmx_asxx_tx_hi_waterx_cn30xx {
625#ifdef __BIG_ENDIAN_BITFIELD
626 uint64_t reserved_3_63:61;
627 uint64_t mark:3;
628#else
629 uint64_t mark:3;
630 uint64_t reserved_3_63:61;
631#endif
632 } cn30xx;
633 struct cvmx_asxx_tx_hi_waterx_cn30xx cn31xx;
634 struct cvmx_asxx_tx_hi_waterx_s cn38xx;
635 struct cvmx_asxx_tx_hi_waterx_s cn38xxp2;
636 struct cvmx_asxx_tx_hi_waterx_cn30xx cn50xx;
637 struct cvmx_asxx_tx_hi_waterx_s cn58xx;
638 struct cvmx_asxx_tx_hi_waterx_s cn58xxp1;
639};
640
641union cvmx_asxx_tx_prt_en {
642 uint64_t u64;
643 struct cvmx_asxx_tx_prt_en_s {
644#ifdef __BIG_ENDIAN_BITFIELD
645 uint64_t reserved_4_63:60;
646 uint64_t prt_en:4;
647#else
648 uint64_t prt_en:4;
649 uint64_t reserved_4_63:60;
650#endif
651 } s;
652 struct cvmx_asxx_tx_prt_en_cn30xx {
653#ifdef __BIG_ENDIAN_BITFIELD
654 uint64_t reserved_3_63:61;
655 uint64_t prt_en:3;
656#else
657 uint64_t prt_en:3;
658 uint64_t reserved_3_63:61;
659#endif
660 } cn30xx;
661 struct cvmx_asxx_tx_prt_en_cn30xx cn31xx;
662 struct cvmx_asxx_tx_prt_en_s cn38xx;
663 struct cvmx_asxx_tx_prt_en_s cn38xxp2;
664 struct cvmx_asxx_tx_prt_en_cn30xx cn50xx;
665 struct cvmx_asxx_tx_prt_en_s cn58xx;
666 struct cvmx_asxx_tx_prt_en_s cn58xxp1;
667};
668
669#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-bootinfo.h b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
index 1db1dc2724c..4e4c3a8282d 100644
--- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h
+++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
@@ -39,7 +39,7 @@
39 * versions. 39 * versions.
40 */ 40 */
41#define CVMX_BOOTINFO_MAJ_VER 1 41#define CVMX_BOOTINFO_MAJ_VER 1
42#define CVMX_BOOTINFO_MIN_VER 3 42#define CVMX_BOOTINFO_MIN_VER 2
43 43
44#if (CVMX_BOOTINFO_MAJ_VER == 1) 44#if (CVMX_BOOTINFO_MAJ_VER == 1)
45#define CVMX_BOOTINFO_OCTEON_SERIAL_LEN 20 45#define CVMX_BOOTINFO_OCTEON_SERIAL_LEN 20
@@ -116,13 +116,7 @@ struct cvmx_bootinfo {
116 */ 116 */
117 uint32_t config_flags; 117 uint32_t config_flags;
118#endif 118#endif
119#if (CVMX_BOOTINFO_MIN_VER >= 3) 119
120 /*
121 * Address of the OF Flattened Device Tree structure
122 * describing the board.
123 */
124 uint64_t fdt_addr;
125#endif
126}; 120};
127 121
128#define CVMX_BOOTINFO_CFG_FLAG_PCI_HOST (1ull << 0) 122#define CVMX_BOOTINFO_CFG_FLAG_PCI_HOST (1ull << 0)
@@ -170,22 +164,6 @@ enum cvmx_board_types_enum {
170 /* Special 'generic' board type, supports many boards */ 164 /* Special 'generic' board type, supports many boards */
171 CVMX_BOARD_TYPE_GENERIC = 28, 165 CVMX_BOARD_TYPE_GENERIC = 28,
172 CVMX_BOARD_TYPE_EBH5610 = 29, 166 CVMX_BOARD_TYPE_EBH5610 = 29,
173 CVMX_BOARD_TYPE_LANAI2_A = 30,
174 CVMX_BOARD_TYPE_LANAI2_U = 31,
175 CVMX_BOARD_TYPE_EBB5600 = 32,
176 CVMX_BOARD_TYPE_EBB6300 = 33,
177 CVMX_BOARD_TYPE_NIC_XLE_10G = 34,
178 CVMX_BOARD_TYPE_LANAI2_G = 35,
179 CVMX_BOARD_TYPE_EBT5810 = 36,
180 CVMX_BOARD_TYPE_NIC10E = 37,
181 CVMX_BOARD_TYPE_EP6300C = 38,
182 CVMX_BOARD_TYPE_EBB6800 = 39,
183 CVMX_BOARD_TYPE_NIC4E = 40,
184 CVMX_BOARD_TYPE_NIC2E = 41,
185 CVMX_BOARD_TYPE_EBB6600 = 42,
186 CVMX_BOARD_TYPE_REDWING = 43,
187 CVMX_BOARD_TYPE_NIC68_4 = 44,
188 CVMX_BOARD_TYPE_NIC10E_66 = 45,
189 CVMX_BOARD_TYPE_MAX, 167 CVMX_BOARD_TYPE_MAX,
190 168
191 /* 169 /*
@@ -203,23 +181,6 @@ enum cvmx_board_types_enum {
203 CVMX_BOARD_TYPE_CUST_NS0216 = 10002, 181 CVMX_BOARD_TYPE_CUST_NS0216 = 10002,
204 CVMX_BOARD_TYPE_CUST_NB5 = 10003, 182 CVMX_BOARD_TYPE_CUST_NB5 = 10003,
205 CVMX_BOARD_TYPE_CUST_WMR500 = 10004, 183 CVMX_BOARD_TYPE_CUST_WMR500 = 10004,
206 CVMX_BOARD_TYPE_CUST_ITB101 = 10005,
207 CVMX_BOARD_TYPE_CUST_NTE102 = 10006,
208 CVMX_BOARD_TYPE_CUST_AGS103 = 10007,
209 CVMX_BOARD_TYPE_CUST_GST104 = 10008,
210 CVMX_BOARD_TYPE_CUST_GCT105 = 10009,
211 CVMX_BOARD_TYPE_CUST_AGS106 = 10010,
212 CVMX_BOARD_TYPE_CUST_SGM107 = 10011,
213 CVMX_BOARD_TYPE_CUST_GCT108 = 10012,
214 CVMX_BOARD_TYPE_CUST_AGS109 = 10013,
215 CVMX_BOARD_TYPE_CUST_GCT110 = 10014,
216 CVMX_BOARD_TYPE_CUST_L2_AIR_SENDER = 10015,
217 CVMX_BOARD_TYPE_CUST_L2_AIR_RECEIVER = 10016,
218 CVMX_BOARD_TYPE_CUST_L2_ACCTON2_TX = 10017,
219 CVMX_BOARD_TYPE_CUST_L2_ACCTON2_RX = 10018,
220 CVMX_BOARD_TYPE_CUST_L2_WSTRNSNIC_TX = 10019,
221 CVMX_BOARD_TYPE_CUST_L2_WSTRNSNIC_RX = 10020,
222 CVMX_BOARD_TYPE_CUST_L2_ZINWELL = 10021,
223 CVMX_BOARD_TYPE_CUST_DEFINED_MAX = 20000, 184 CVMX_BOARD_TYPE_CUST_DEFINED_MAX = 20000,
224 185
225 /* 186 /*
@@ -280,22 +241,6 @@ static inline const char *cvmx_board_type_to_string(enum
280 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CB5200) 241 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CB5200)
281 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_GENERIC) 242 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_GENERIC)
282 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH5610) 243 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH5610)
283 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_LANAI2_A)
284 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_LANAI2_U)
285 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBB5600)
286 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBB6300)
287 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIC_XLE_10G)
288 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_LANAI2_G)
289 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT5810)
290 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIC10E)
291 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EP6300C)
292 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBB6800)
293 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIC4E)
294 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIC2E)
295 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBB6600)
296 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_REDWING)
297 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIC68_4)
298 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIC10E_66)
299 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_MAX) 244 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_MAX)
300 245
301 /* Customer boards listed here */ 246 /* Customer boards listed here */
@@ -304,23 +249,6 @@ static inline const char *cvmx_board_type_to_string(enum
304 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_NS0216) 249 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_NS0216)
305 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_NB5) 250 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_NB5)
306 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_WMR500) 251 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_WMR500)
307 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_ITB101)
308 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_NTE102)
309 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_AGS103)
310 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_GST104)
311 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_GCT105)
312 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_AGS106)
313 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_SGM107)
314 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_GCT108)
315 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_AGS109)
316 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_GCT110)
317 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_L2_AIR_SENDER)
318 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_L2_AIR_RECEIVER)
319 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_L2_ACCTON2_TX)
320 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_L2_ACCTON2_RX)
321 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_L2_WSTRNSNIC_TX)
322 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_L2_WSTRNSNIC_RX)
323 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_L2_ZINWELL)
324 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DEFINED_MAX) 252 ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DEFINED_MAX)
325 253
326 /* Customer private range */ 254 /* Customer private range */
@@ -337,9 +265,9 @@ static inline const char *cvmx_chip_type_to_string(enum
337{ 265{
338 switch (type) { 266 switch (type) {
339 ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL) 267 ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
340 ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED) 268 ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
341 ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE) 269 ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
342 ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX) 270 ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
343 } 271 }
344 return "Unsupported Chip"; 272 return "Unsupported Chip";
345} 273}
diff --git a/arch/mips/include/asm/octeon/cvmx-bootmem.h b/arch/mips/include/asm/octeon/cvmx-bootmem.h
index 42db2be663f..877845b84b1 100644
--- a/arch/mips/include/asm/octeon/cvmx-bootmem.h
+++ b/arch/mips/include/asm/octeon/cvmx-bootmem.h
@@ -370,6 +370,4 @@ void cvmx_bootmem_lock(void);
370 */ 370 */
371void cvmx_bootmem_unlock(void); 371void cvmx_bootmem_unlock(void);
372 372
373extern struct cvmx_bootmem_desc *cvmx_bootmem_get_desc(void);
374
375#endif /* __CVMX_BOOTMEM_H__ */ 373#endif /* __CVMX_BOOTMEM_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-ciu-defs.h b/arch/mips/include/asm/octeon/cvmx-ciu-defs.h
index 0dd0e40c96d..27cead37041 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,18 +31,6 @@
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)
46#define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull)) 34#define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull))
47#define CVMX_CIU_GSTOP (CVMX_ADD_IO_SEG(0x0001070000000710ull)) 35#define CVMX_CIU_GSTOP (CVMX_ADD_IO_SEG(0x0001070000000710ull))
48#define CVMX_CIU_INT33_SUM0 (CVMX_ADD_IO_SEG(0x0001070000000110ull)) 36#define CVMX_CIU_INT33_SUM0 (CVMX_ADD_IO_SEG(0x0001070000000110ull))
@@ -62,378 +50,59 @@
62#define CVMX_CIU_INTX_SUM4(offset) (CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8) 50#define CVMX_CIU_INTX_SUM4(offset) (CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8)
63#define CVMX_CIU_INT_DBG_SEL (CVMX_ADD_IO_SEG(0x00010700000007D0ull)) 51#define CVMX_CIU_INT_DBG_SEL (CVMX_ADD_IO_SEG(0x00010700000007D0ull))
64#define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull)) 52#define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull))
65static inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned long offset) 53#define CVMX_CIU_MBOX_CLRX(offset) (CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8)
66{ 54#define CVMX_CIU_MBOX_SETX(offset) (CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8)
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
119#define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull)) 55#define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull))
120#define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull)) 56#define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull))
121#define CVMX_CIU_PP_BIST_STAT (CVMX_ADD_IO_SEG(0x00010700000007E0ull))
122#define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull)) 57#define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull))
123static inline uint64_t CVMX_CIU_PP_POKEX(unsigned long offset) 58#define CVMX_CIU_PP_POKEX(offset) (CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8)
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
150#define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull)) 59#define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull))
151#define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull)) 60#define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull))
152#define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull)) 61#define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull))
153#define CVMX_CIU_QLM2 (CVMX_ADD_IO_SEG(0x0001070000000790ull)) 62#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))
156#define CVMX_CIU_QLM_DCOK (CVMX_ADD_IO_SEG(0x0001070000000760ull)) 63#define CVMX_CIU_QLM_DCOK (CVMX_ADD_IO_SEG(0x0001070000000760ull))
157#define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull)) 64#define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull))
158#define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull)) 65#define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull))
159#define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull)) 66#define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull))
160#define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull)) 67#define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull))
161#define CVMX_CIU_SOFT_PRST1 (CVMX_ADD_IO_SEG(0x0001070000000758ull)) 68#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))
164#define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull)) 69#define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull))
165#define CVMX_CIU_SUM1_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008600ull) + ((offset) & 1) * 8) 70#define CVMX_CIU_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 3) * 8)
166#define CVMX_CIU_SUM1_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008000ull) + ((offset) & 15) * 8) 71#define CVMX_CIU_WDOGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((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}
201 72
202union cvmx_ciu_bist { 73union cvmx_ciu_bist {
203 uint64_t u64; 74 uint64_t u64;
204 struct cvmx_ciu_bist_s { 75 struct cvmx_ciu_bist_s {
205#ifdef __BIG_ENDIAN_BITFIELD 76 uint64_t reserved_5_63:59;
206 uint64_t reserved_7_63:57; 77 uint64_t bist:5;
207 uint64_t bist:7;
208#else
209 uint64_t bist:7;
210 uint64_t reserved_7_63:57;
211#endif
212 } s; 78 } s;
213 struct cvmx_ciu_bist_cn30xx { 79 struct cvmx_ciu_bist_cn30xx {
214#ifdef __BIG_ENDIAN_BITFIELD
215 uint64_t reserved_4_63:60; 80 uint64_t reserved_4_63:60;
216 uint64_t bist:4; 81 uint64_t bist:4;
217#else
218 uint64_t bist:4;
219 uint64_t reserved_4_63:60;
220#endif
221 } cn30xx; 82 } cn30xx;
222 struct cvmx_ciu_bist_cn30xx cn31xx; 83 struct cvmx_ciu_bist_cn30xx cn31xx;
223 struct cvmx_ciu_bist_cn30xx cn38xx; 84 struct cvmx_ciu_bist_cn30xx cn38xx;
224 struct cvmx_ciu_bist_cn30xx cn38xxp2; 85 struct cvmx_ciu_bist_cn30xx cn38xxp2;
225 struct cvmx_ciu_bist_cn50xx { 86 struct cvmx_ciu_bist_cn50xx {
226#ifdef __BIG_ENDIAN_BITFIELD
227 uint64_t reserved_2_63:62; 87 uint64_t reserved_2_63:62;
228 uint64_t bist:2; 88 uint64_t bist:2;
229#else
230 uint64_t bist:2;
231 uint64_t reserved_2_63:62;
232#endif
233 } cn50xx; 89 } cn50xx;
234 struct cvmx_ciu_bist_cn52xx { 90 struct cvmx_ciu_bist_cn52xx {
235#ifdef __BIG_ENDIAN_BITFIELD
236 uint64_t reserved_3_63:61; 91 uint64_t reserved_3_63:61;
237 uint64_t bist:3; 92 uint64_t bist:3;
238#else
239 uint64_t bist:3;
240 uint64_t reserved_3_63:61;
241#endif
242 } cn52xx; 93 } cn52xx;
243 struct cvmx_ciu_bist_cn52xx cn52xxp1; 94 struct cvmx_ciu_bist_cn52xx cn52xxp1;
244 struct cvmx_ciu_bist_cn30xx cn56xx; 95 struct cvmx_ciu_bist_cn30xx cn56xx;
245 struct cvmx_ciu_bist_cn30xx cn56xxp1; 96 struct cvmx_ciu_bist_cn30xx cn56xxp1;
246 struct cvmx_ciu_bist_cn30xx cn58xx; 97 struct cvmx_ciu_bist_cn30xx cn58xx;
247 struct cvmx_ciu_bist_cn30xx cn58xxp1; 98 struct cvmx_ciu_bist_cn30xx cn58xxp1;
248 struct cvmx_ciu_bist_cn61xx { 99 struct cvmx_ciu_bist_s cn63xx;
249#ifdef __BIG_ENDIAN_BITFIELD 100 struct cvmx_ciu_bist_s cn63xxp1;
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;
271}; 101};
272 102
273union cvmx_ciu_block_int { 103union cvmx_ciu_block_int {
274 uint64_t u64; 104 uint64_t u64;
275 struct cvmx_ciu_block_int_s { 105 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
437 uint64_t reserved_43_63:21; 106 uint64_t reserved_43_63:21;
438 uint64_t ptp:1; 107 uint64_t ptp:1;
439 uint64_t dpi:1; 108 uint64_t dpi:1;
@@ -471,789 +140,88 @@ union cvmx_ciu_block_int {
471 uint64_t reserved_2_2:1; 140 uint64_t reserved_2_2:1;
472 uint64_t gmx0:1; 141 uint64_t gmx0:1;
473 uint64_t mio:1; 142 uint64_t mio:1;
474#else 143 } s;
475 uint64_t mio:1; 144 struct cvmx_ciu_block_int_s cn63xx;
476 uint64_t gmx0:1; 145 struct cvmx_ciu_block_int_s cn63xxp1;
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;
663}; 146};
664 147
665union cvmx_ciu_dint { 148union cvmx_ciu_dint {
666 uint64_t u64; 149 uint64_t u64;
667 struct cvmx_ciu_dint_s { 150 struct cvmx_ciu_dint_s {
668#ifdef __BIG_ENDIAN_BITFIELD 151 uint64_t reserved_16_63:48;
669 uint64_t reserved_32_63:32; 152 uint64_t dint:16;
670 uint64_t dint:32;
671#else
672 uint64_t dint:32;
673 uint64_t reserved_32_63:32;
674#endif
675 } s; 153 } s;
676 struct cvmx_ciu_dint_cn30xx { 154 struct cvmx_ciu_dint_cn30xx {
677#ifdef __BIG_ENDIAN_BITFIELD
678 uint64_t reserved_1_63:63; 155 uint64_t reserved_1_63:63;
679 uint64_t dint:1; 156 uint64_t dint:1;
680#else
681 uint64_t dint:1;
682 uint64_t reserved_1_63:63;
683#endif
684 } cn30xx; 157 } cn30xx;
685 struct cvmx_ciu_dint_cn31xx { 158 struct cvmx_ciu_dint_cn31xx {
686#ifdef __BIG_ENDIAN_BITFIELD
687 uint64_t reserved_2_63:62; 159 uint64_t reserved_2_63:62;
688 uint64_t dint:2; 160 uint64_t dint:2;
689#else
690 uint64_t dint:2;
691 uint64_t reserved_2_63:62;
692#endif
693 } cn31xx; 161 } cn31xx;
694 struct cvmx_ciu_dint_cn38xx { 162 struct cvmx_ciu_dint_s cn38xx;
695#ifdef __BIG_ENDIAN_BITFIELD 163 struct cvmx_ciu_dint_s cn38xxp2;
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;
704 struct cvmx_ciu_dint_cn31xx cn50xx; 164 struct cvmx_ciu_dint_cn31xx cn50xx;
705 struct cvmx_ciu_dint_cn52xx { 165 struct cvmx_ciu_dint_cn52xx {
706#ifdef __BIG_ENDIAN_BITFIELD
707 uint64_t reserved_4_63:60; 166 uint64_t reserved_4_63:60;
708 uint64_t dint:4; 167 uint64_t dint:4;
709#else
710 uint64_t dint:4;
711 uint64_t reserved_4_63:60;
712#endif
713 } cn52xx; 168 } cn52xx;
714 struct cvmx_ciu_dint_cn52xx cn52xxp1; 169 struct cvmx_ciu_dint_cn52xx cn52xxp1;
715 struct cvmx_ciu_dint_cn56xx { 170 struct cvmx_ciu_dint_cn56xx {
716#ifdef __BIG_ENDIAN_BITFIELD
717 uint64_t reserved_12_63:52; 171 uint64_t reserved_12_63:52;
718 uint64_t dint:12; 172 uint64_t dint:12;
719#else
720 uint64_t dint:12;
721 uint64_t reserved_12_63:52;
722#endif
723 } cn56xx; 173 } cn56xx;
724 struct cvmx_ciu_dint_cn56xx cn56xxp1; 174 struct cvmx_ciu_dint_cn56xx cn56xxp1;
725 struct cvmx_ciu_dint_cn38xx cn58xx; 175 struct cvmx_ciu_dint_s cn58xx;
726 struct cvmx_ciu_dint_cn38xx cn58xxp1; 176 struct cvmx_ciu_dint_s cn58xxp1;
727 struct cvmx_ciu_dint_cn52xx cn61xx;
728 struct cvmx_ciu_dint_cn63xx { 177 struct cvmx_ciu_dint_cn63xx {
729#ifdef __BIG_ENDIAN_BITFIELD
730 uint64_t reserved_6_63:58; 178 uint64_t reserved_6_63:58;
731 uint64_t dint:6; 179 uint64_t dint:6;
732#else
733 uint64_t dint:6;
734 uint64_t reserved_6_63:58;
735#endif
736 } cn63xx; 180 } cn63xx;
737 struct cvmx_ciu_dint_cn63xx cn63xxp1; 181 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;
1158}; 182};
1159 183
1160union cvmx_ciu_fuse { 184union cvmx_ciu_fuse {
1161 uint64_t u64; 185 uint64_t u64;
1162 struct cvmx_ciu_fuse_s { 186 struct cvmx_ciu_fuse_s {
1163#ifdef __BIG_ENDIAN_BITFIELD 187 uint64_t reserved_16_63:48;
1164 uint64_t reserved_32_63:32; 188 uint64_t fuse:16;
1165 uint64_t fuse:32;
1166#else
1167 uint64_t fuse:32;
1168 uint64_t reserved_32_63:32;
1169#endif
1170 } s; 189 } s;
1171 struct cvmx_ciu_fuse_cn30xx { 190 struct cvmx_ciu_fuse_cn30xx {
1172#ifdef __BIG_ENDIAN_BITFIELD
1173 uint64_t reserved_1_63:63; 191 uint64_t reserved_1_63:63;
1174 uint64_t fuse:1; 192 uint64_t fuse:1;
1175#else
1176 uint64_t fuse:1;
1177 uint64_t reserved_1_63:63;
1178#endif
1179 } cn30xx; 193 } cn30xx;
1180 struct cvmx_ciu_fuse_cn31xx { 194 struct cvmx_ciu_fuse_cn31xx {
1181#ifdef __BIG_ENDIAN_BITFIELD
1182 uint64_t reserved_2_63:62; 195 uint64_t reserved_2_63:62;
1183 uint64_t fuse:2; 196 uint64_t fuse:2;
1184#else
1185 uint64_t fuse:2;
1186 uint64_t reserved_2_63:62;
1187#endif
1188 } cn31xx; 197 } cn31xx;
1189 struct cvmx_ciu_fuse_cn38xx { 198 struct cvmx_ciu_fuse_s cn38xx;
1190#ifdef __BIG_ENDIAN_BITFIELD 199 struct cvmx_ciu_fuse_s cn38xxp2;
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;
1199 struct cvmx_ciu_fuse_cn31xx cn50xx; 200 struct cvmx_ciu_fuse_cn31xx cn50xx;
1200 struct cvmx_ciu_fuse_cn52xx { 201 struct cvmx_ciu_fuse_cn52xx {
1201#ifdef __BIG_ENDIAN_BITFIELD
1202 uint64_t reserved_4_63:60; 202 uint64_t reserved_4_63:60;
1203 uint64_t fuse:4; 203 uint64_t fuse:4;
1204#else
1205 uint64_t fuse:4;
1206 uint64_t reserved_4_63:60;
1207#endif
1208 } cn52xx; 204 } cn52xx;
1209 struct cvmx_ciu_fuse_cn52xx cn52xxp1; 205 struct cvmx_ciu_fuse_cn52xx cn52xxp1;
1210 struct cvmx_ciu_fuse_cn56xx { 206 struct cvmx_ciu_fuse_cn56xx {
1211#ifdef __BIG_ENDIAN_BITFIELD
1212 uint64_t reserved_12_63:52; 207 uint64_t reserved_12_63:52;
1213 uint64_t fuse:12; 208 uint64_t fuse:12;
1214#else
1215 uint64_t fuse:12;
1216 uint64_t reserved_12_63:52;
1217#endif
1218 } cn56xx; 209 } cn56xx;
1219 struct cvmx_ciu_fuse_cn56xx cn56xxp1; 210 struct cvmx_ciu_fuse_cn56xx cn56xxp1;
1220 struct cvmx_ciu_fuse_cn38xx cn58xx; 211 struct cvmx_ciu_fuse_s cn58xx;
1221 struct cvmx_ciu_fuse_cn38xx cn58xxp1; 212 struct cvmx_ciu_fuse_s cn58xxp1;
1222 struct cvmx_ciu_fuse_cn52xx cn61xx;
1223 struct cvmx_ciu_fuse_cn63xx { 213 struct cvmx_ciu_fuse_cn63xx {
1224#ifdef __BIG_ENDIAN_BITFIELD
1225 uint64_t reserved_6_63:58; 214 uint64_t reserved_6_63:58;
1226 uint64_t fuse:6; 215 uint64_t fuse:6;
1227#else
1228 uint64_t fuse:6;
1229 uint64_t reserved_6_63:58;
1230#endif
1231 } cn63xx; 216 } cn63xx;
1232 struct cvmx_ciu_fuse_cn63xx cn63xxp1; 217 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;
1245}; 218};
1246 219
1247union cvmx_ciu_gstop { 220union cvmx_ciu_gstop {
1248 uint64_t u64; 221 uint64_t u64;
1249 struct cvmx_ciu_gstop_s { 222 struct cvmx_ciu_gstop_s {
1250#ifdef __BIG_ENDIAN_BITFIELD
1251 uint64_t reserved_1_63:63; 223 uint64_t reserved_1_63:63;
1252 uint64_t gstop:1; 224 uint64_t gstop:1;
1253#else
1254 uint64_t gstop:1;
1255 uint64_t reserved_1_63:63;
1256#endif
1257 } s; 225 } s;
1258 struct cvmx_ciu_gstop_s cn30xx; 226 struct cvmx_ciu_gstop_s cn30xx;
1259 struct cvmx_ciu_gstop_s cn31xx; 227 struct cvmx_ciu_gstop_s cn31xx;
@@ -1266,19 +234,13 @@ union cvmx_ciu_gstop {
1266 struct cvmx_ciu_gstop_s cn56xxp1; 234 struct cvmx_ciu_gstop_s cn56xxp1;
1267 struct cvmx_ciu_gstop_s cn58xx; 235 struct cvmx_ciu_gstop_s cn58xx;
1268 struct cvmx_ciu_gstop_s cn58xxp1; 236 struct cvmx_ciu_gstop_s cn58xxp1;
1269 struct cvmx_ciu_gstop_s cn61xx;
1270 struct cvmx_ciu_gstop_s cn63xx; 237 struct cvmx_ciu_gstop_s cn63xx;
1271 struct cvmx_ciu_gstop_s cn63xxp1; 238 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;
1276}; 239};
1277 240
1278union cvmx_ciu_intx_en0 { 241union cvmx_ciu_intx_en0 {
1279 uint64_t u64; 242 uint64_t u64;
1280 struct cvmx_ciu_intx_en0_s { 243 struct cvmx_ciu_intx_en0_s {
1281#ifdef __BIG_ENDIAN_BITFIELD
1282 uint64_t bootdma:1; 244 uint64_t bootdma:1;
1283 uint64_t mii:1; 245 uint64_t mii:1;
1284 uint64_t ipdppthr:1; 246 uint64_t ipdppthr:1;
@@ -1301,33 +263,8 @@ union cvmx_ciu_intx_en0 {
1301 uint64_t mbox:2; 263 uint64_t mbox:2;
1302 uint64_t gpio:16; 264 uint64_t gpio:16;
1303 uint64_t workq:16; 265 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
1328 } s; 266 } s;
1329 struct cvmx_ciu_intx_en0_cn30xx { 267 struct cvmx_ciu_intx_en0_cn30xx {
1330#ifdef __BIG_ENDIAN_BITFIELD
1331 uint64_t reserved_59_63:5; 268 uint64_t reserved_59_63:5;
1332 uint64_t mpi:1; 269 uint64_t mpi:1;
1333 uint64_t pcm:1; 270 uint64_t pcm:1;
@@ -1347,30 +284,8 @@ union cvmx_ciu_intx_en0 {
1347 uint64_t mbox:2; 284 uint64_t mbox:2;
1348 uint64_t gpio:16; 285 uint64_t gpio:16;
1349 uint64_t workq:16; 286 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
1371 } cn30xx; 287 } cn30xx;
1372 struct cvmx_ciu_intx_en0_cn31xx { 288 struct cvmx_ciu_intx_en0_cn31xx {
1373#ifdef __BIG_ENDIAN_BITFIELD
1374 uint64_t reserved_59_63:5; 289 uint64_t reserved_59_63:5;
1375 uint64_t mpi:1; 290 uint64_t mpi:1;
1376 uint64_t pcm:1; 291 uint64_t pcm:1;
@@ -1390,30 +305,8 @@ union cvmx_ciu_intx_en0 {
1390 uint64_t mbox:2; 305 uint64_t mbox:2;
1391 uint64_t gpio:16; 306 uint64_t gpio:16;
1392 uint64_t workq:16; 307 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
1414 } cn31xx; 308 } cn31xx;
1415 struct cvmx_ciu_intx_en0_cn38xx { 309 struct cvmx_ciu_intx_en0_cn38xx {
1416#ifdef __BIG_ENDIAN_BITFIELD
1417 uint64_t reserved_56_63:8; 310 uint64_t reserved_56_63:8;
1418 uint64_t timer:4; 311 uint64_t timer:4;
1419 uint64_t key_zero:1; 312 uint64_t key_zero:1;
@@ -1429,28 +322,10 @@ union cvmx_ciu_intx_en0 {
1429 uint64_t mbox:2; 322 uint64_t mbox:2;
1430 uint64_t gpio:16; 323 uint64_t gpio:16;
1431 uint64_t workq:16; 324 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
1449 } cn38xx; 325 } cn38xx;
1450 struct cvmx_ciu_intx_en0_cn38xx cn38xxp2; 326 struct cvmx_ciu_intx_en0_cn38xx cn38xxp2;
1451 struct cvmx_ciu_intx_en0_cn30xx cn50xx; 327 struct cvmx_ciu_intx_en0_cn30xx cn50xx;
1452 struct cvmx_ciu_intx_en0_cn52xx { 328 struct cvmx_ciu_intx_en0_cn52xx {
1453#ifdef __BIG_ENDIAN_BITFIELD
1454 uint64_t bootdma:1; 329 uint64_t bootdma:1;
1455 uint64_t mii:1; 330 uint64_t mii:1;
1456 uint64_t ipdppthr:1; 331 uint64_t ipdppthr:1;
@@ -1473,34 +348,9 @@ union cvmx_ciu_intx_en0 {
1473 uint64_t mbox:2; 348 uint64_t mbox:2;
1474 uint64_t gpio:16; 349 uint64_t gpio:16;
1475 uint64_t workq:16; 350 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
1500 } cn52xx; 351 } cn52xx;
1501 struct cvmx_ciu_intx_en0_cn52xx cn52xxp1; 352 struct cvmx_ciu_intx_en0_cn52xx cn52xxp1;
1502 struct cvmx_ciu_intx_en0_cn56xx { 353 struct cvmx_ciu_intx_en0_cn56xx {
1503#ifdef __BIG_ENDIAN_BITFIELD
1504 uint64_t bootdma:1; 354 uint64_t bootdma:1;
1505 uint64_t mii:1; 355 uint64_t mii:1;
1506 uint64_t ipdppthr:1; 356 uint64_t ipdppthr:1;
@@ -1522,197 +372,23 @@ union cvmx_ciu_intx_en0 {
1522 uint64_t mbox:2; 372 uint64_t mbox:2;
1523 uint64_t gpio:16; 373 uint64_t gpio:16;
1524 uint64_t workq:16; 374 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
1548 } cn56xx; 375 } cn56xx;
1549 struct cvmx_ciu_intx_en0_cn56xx cn56xxp1; 376 struct cvmx_ciu_intx_en0_cn56xx cn56xxp1;
1550 struct cvmx_ciu_intx_en0_cn38xx cn58xx; 377 struct cvmx_ciu_intx_en0_cn38xx cn58xx;
1551 struct cvmx_ciu_intx_en0_cn38xx cn58xxp1; 378 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;
1601 struct cvmx_ciu_intx_en0_cn52xx cn63xx; 379 struct cvmx_ciu_intx_en0_cn52xx cn63xx;
1602 struct cvmx_ciu_intx_en0_cn52xx cn63xxp1; 380 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;
1703}; 381};
1704 382
1705union cvmx_ciu_intx_en0_w1c { 383union cvmx_ciu_intx_en0_w1c {
1706 uint64_t u64; 384 uint64_t u64;
1707 struct cvmx_ciu_intx_en0_w1c_s { 385 struct cvmx_ciu_intx_en0_w1c_s {
1708#ifdef __BIG_ENDIAN_BITFIELD
1709 uint64_t bootdma:1; 386 uint64_t bootdma:1;
1710 uint64_t mii:1; 387 uint64_t mii:1;
1711 uint64_t ipdppthr:1; 388 uint64_t ipdppthr:1;
1712 uint64_t powiq:1; 389 uint64_t powiq:1;
1713 uint64_t twsi2:1; 390 uint64_t twsi2:1;
1714 uint64_t mpi:1; 391 uint64_t reserved_57_58:2;
1715 uint64_t pcm:1;
1716 uint64_t usb:1; 392 uint64_t usb:1;
1717 uint64_t timer:4; 393 uint64_t timer:4;
1718 uint64_t key_zero:1; 394 uint64_t key_zero:1;
@@ -1728,33 +404,8 @@ union cvmx_ciu_intx_en0_w1c {
1728 uint64_t mbox:2; 404 uint64_t mbox:2;
1729 uint64_t gpio:16; 405 uint64_t gpio:16;
1730 uint64_t workq:16; 406 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
1755 } s; 407 } s;
1756 struct cvmx_ciu_intx_en0_w1c_cn52xx { 408 struct cvmx_ciu_intx_en0_w1c_cn52xx {
1757#ifdef __BIG_ENDIAN_BITFIELD
1758 uint64_t bootdma:1; 409 uint64_t bootdma:1;
1759 uint64_t mii:1; 410 uint64_t mii:1;
1760 uint64_t ipdppthr:1; 411 uint64_t ipdppthr:1;
@@ -1777,80 +428,9 @@ union cvmx_ciu_intx_en0_w1c {
1777 uint64_t mbox:2; 428 uint64_t mbox:2;
1778 uint64_t gpio:16; 429 uint64_t gpio:16;
1779 uint64_t workq:16; 430 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
1804 } cn52xx; 431 } cn52xx;
1805 struct cvmx_ciu_intx_en0_w1c_cn56xx { 432 struct cvmx_ciu_intx_en0_w1c_s 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;
1852 struct cvmx_ciu_intx_en0_w1c_cn58xx { 433 struct cvmx_ciu_intx_en0_w1c_cn58xx {
1853#ifdef __BIG_ENDIAN_BITFIELD
1854 uint64_t reserved_56_63:8; 434 uint64_t reserved_56_63:8;
1855 uint64_t timer:4; 435 uint64_t timer:4;
1856 uint64_t key_zero:1; 436 uint64_t key_zero:1;
@@ -1866,188 +446,20 @@ union cvmx_ciu_intx_en0_w1c {
1866 uint64_t mbox:2; 446 uint64_t mbox:2;
1867 uint64_t gpio:16; 447 uint64_t gpio:16;
1868 uint64_t workq:16; 448 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
1886 } cn58xx; 449 } 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;
1936 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xx; 450 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xx;
1937 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xxp1; 451 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;
2038}; 452};
2039 453
2040union cvmx_ciu_intx_en0_w1s { 454union cvmx_ciu_intx_en0_w1s {
2041 uint64_t u64; 455 uint64_t u64;
2042 struct cvmx_ciu_intx_en0_w1s_s { 456 struct cvmx_ciu_intx_en0_w1s_s {
2043#ifdef __BIG_ENDIAN_BITFIELD
2044 uint64_t bootdma:1; 457 uint64_t bootdma:1;
2045 uint64_t mii:1; 458 uint64_t mii:1;
2046 uint64_t ipdppthr:1; 459 uint64_t ipdppthr:1;
2047 uint64_t powiq:1; 460 uint64_t powiq:1;
2048 uint64_t twsi2:1; 461 uint64_t twsi2:1;
2049 uint64_t mpi:1; 462 uint64_t reserved_57_58:2;
2050 uint64_t pcm:1;
2051 uint64_t usb:1; 463 uint64_t usb:1;
2052 uint64_t timer:4; 464 uint64_t timer:4;
2053 uint64_t key_zero:1; 465 uint64_t key_zero:1;
@@ -2063,33 +475,8 @@ union cvmx_ciu_intx_en0_w1s {
2063 uint64_t mbox:2; 475 uint64_t mbox:2;
2064 uint64_t gpio:16; 476 uint64_t gpio:16;
2065 uint64_t workq:16; 477 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
2090 } s; 478 } s;
2091 struct cvmx_ciu_intx_en0_w1s_cn52xx { 479 struct cvmx_ciu_intx_en0_w1s_cn52xx {
2092#ifdef __BIG_ENDIAN_BITFIELD
2093 uint64_t bootdma:1; 480 uint64_t bootdma:1;
2094 uint64_t mii:1; 481 uint64_t mii:1;
2095 uint64_t ipdppthr:1; 482 uint64_t ipdppthr:1;
@@ -2112,80 +499,9 @@ union cvmx_ciu_intx_en0_w1s {
2112 uint64_t mbox:2; 499 uint64_t mbox:2;
2113 uint64_t gpio:16; 500 uint64_t gpio:16;
2114 uint64_t workq:16; 501 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
2139 } cn52xx; 502 } cn52xx;
2140 struct cvmx_ciu_intx_en0_w1s_cn56xx { 503 struct cvmx_ciu_intx_en0_w1s_s 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;
2187 struct cvmx_ciu_intx_en0_w1s_cn58xx { 504 struct cvmx_ciu_intx_en0_w1s_cn58xx {
2188#ifdef __BIG_ENDIAN_BITFIELD
2189 uint64_t reserved_56_63:8; 505 uint64_t reserved_56_63:8;
2190 uint64_t timer:4; 506 uint64_t timer:4;
2191 uint64_t key_zero:1; 507 uint64_t key_zero:1;
@@ -2201,186 +517,16 @@ union cvmx_ciu_intx_en0_w1s {
2201 uint64_t mbox:2; 517 uint64_t mbox:2;
2202 uint64_t gpio:16; 518 uint64_t gpio:16;
2203 uint64_t workq:16; 519 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
2221 } cn58xx; 520 } 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;
2271 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xx; 521 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xx;
2272 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xxp1; 522 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;
2373}; 523};
2374 524
2375union cvmx_ciu_intx_en1 { 525union cvmx_ciu_intx_en1 {
2376 uint64_t u64; 526 uint64_t u64;
2377 struct cvmx_ciu_intx_en1_s { 527 struct cvmx_ciu_intx_en1_s {
2378#ifdef __BIG_ENDIAN_BITFIELD
2379 uint64_t rst:1; 528 uint64_t rst:1;
2380 uint64_t reserved_62_62:1; 529 uint64_t reserved_57_62:6;
2381 uint64_t srio3:1;
2382 uint64_t srio2:1;
2383 uint64_t reserved_57_59:3;
2384 uint64_t dfm:1; 530 uint64_t dfm:1;
2385 uint64_t reserved_53_55:3; 531 uint64_t reserved_53_55:3;
2386 uint64_t lmc0:1; 532 uint64_t lmc0:1;
@@ -2390,10 +536,7 @@ union cvmx_ciu_intx_en1 {
2390 uint64_t pem0:1; 536 uint64_t pem0:1;
2391 uint64_t ptp:1; 537 uint64_t ptp:1;
2392 uint64_t agl:1; 538 uint64_t agl:1;
2393 uint64_t reserved_41_45:5; 539 uint64_t reserved_37_45:9;
2394 uint64_t dpi_dma:1;
2395 uint64_t reserved_38_39:2;
2396 uint64_t agx1:1;
2397 uint64_t agx0:1; 540 uint64_t agx0:1;
2398 uint64_t dpi:1; 541 uint64_t dpi:1;
2399 uint64_t sli:1; 542 uint64_t sli:1;
@@ -2416,80 +559,22 @@ union cvmx_ciu_intx_en1 {
2416 uint64_t usb1:1; 559 uint64_t usb1:1;
2417 uint64_t uart2:1; 560 uint64_t uart2:1;
2418 uint64_t wdog:16; 561 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
2461 } s; 562 } s;
2462 struct cvmx_ciu_intx_en1_cn30xx { 563 struct cvmx_ciu_intx_en1_cn30xx {
2463#ifdef __BIG_ENDIAN_BITFIELD
2464 uint64_t reserved_1_63:63; 564 uint64_t reserved_1_63:63;
2465 uint64_t wdog:1; 565 uint64_t wdog:1;
2466#else
2467 uint64_t wdog:1;
2468 uint64_t reserved_1_63:63;
2469#endif
2470 } cn30xx; 566 } cn30xx;
2471 struct cvmx_ciu_intx_en1_cn31xx { 567 struct cvmx_ciu_intx_en1_cn31xx {
2472#ifdef __BIG_ENDIAN_BITFIELD
2473 uint64_t reserved_2_63:62; 568 uint64_t reserved_2_63:62;
2474 uint64_t wdog:2; 569 uint64_t wdog:2;
2475#else
2476 uint64_t wdog:2;
2477 uint64_t reserved_2_63:62;
2478#endif
2479 } cn31xx; 570 } cn31xx;
2480 struct cvmx_ciu_intx_en1_cn38xx { 571 struct cvmx_ciu_intx_en1_cn38xx {
2481#ifdef __BIG_ENDIAN_BITFIELD
2482 uint64_t reserved_16_63:48; 572 uint64_t reserved_16_63:48;
2483 uint64_t wdog:16; 573 uint64_t wdog:16;
2484#else
2485 uint64_t wdog:16;
2486 uint64_t reserved_16_63:48;
2487#endif
2488 } cn38xx; 574 } cn38xx;
2489 struct cvmx_ciu_intx_en1_cn38xx cn38xxp2; 575 struct cvmx_ciu_intx_en1_cn38xx cn38xxp2;
2490 struct cvmx_ciu_intx_en1_cn31xx cn50xx; 576 struct cvmx_ciu_intx_en1_cn31xx cn50xx;
2491 struct cvmx_ciu_intx_en1_cn52xx { 577 struct cvmx_ciu_intx_en1_cn52xx {
2492#ifdef __BIG_ENDIAN_BITFIELD
2493 uint64_t reserved_20_63:44; 578 uint64_t reserved_20_63:44;
2494 uint64_t nand:1; 579 uint64_t nand:1;
2495 uint64_t mii1:1; 580 uint64_t mii1:1;
@@ -2497,118 +582,23 @@ union cvmx_ciu_intx_en1 {
2497 uint64_t uart2:1; 582 uint64_t uart2:1;
2498 uint64_t reserved_4_15:12; 583 uint64_t reserved_4_15:12;
2499 uint64_t wdog:4; 584 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
2509 } cn52xx; 585 } cn52xx;
2510 struct cvmx_ciu_intx_en1_cn52xxp1 { 586 struct cvmx_ciu_intx_en1_cn52xxp1 {
2511#ifdef __BIG_ENDIAN_BITFIELD
2512 uint64_t reserved_19_63:45; 587 uint64_t reserved_19_63:45;
2513 uint64_t mii1:1; 588 uint64_t mii1:1;
2514 uint64_t usb1:1; 589 uint64_t usb1:1;
2515 uint64_t uart2:1; 590 uint64_t uart2:1;
2516 uint64_t reserved_4_15:12; 591 uint64_t reserved_4_15:12;
2517 uint64_t wdog:4; 592 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
2526 } cn52xxp1; 593 } cn52xxp1;
2527 struct cvmx_ciu_intx_en1_cn56xx { 594 struct cvmx_ciu_intx_en1_cn56xx {
2528#ifdef __BIG_ENDIAN_BITFIELD
2529 uint64_t reserved_12_63:52; 595 uint64_t reserved_12_63:52;
2530 uint64_t wdog:12; 596 uint64_t wdog:12;
2531#else
2532 uint64_t wdog:12;
2533 uint64_t reserved_12_63:52;
2534#endif
2535 } cn56xx; 597 } cn56xx;
2536 struct cvmx_ciu_intx_en1_cn56xx cn56xxp1; 598 struct cvmx_ciu_intx_en1_cn56xx cn56xxp1;
2537 struct cvmx_ciu_intx_en1_cn38xx cn58xx; 599 struct cvmx_ciu_intx_en1_cn38xx cn58xx;
2538 struct cvmx_ciu_intx_en1_cn38xx cn58xxp1; 600 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;
2610 struct cvmx_ciu_intx_en1_cn63xx { 601 struct cvmx_ciu_intx_en1_cn63xx {
2611#ifdef __BIG_ENDIAN_BITFIELD
2612 uint64_t rst:1; 602 uint64_t rst:1;
2613 uint64_t reserved_57_62:6; 603 uint64_t reserved_57_62:6;
2614 uint64_t dfm:1; 604 uint64_t dfm:1;
@@ -2642,198 +632,15 @@ union cvmx_ciu_intx_en1 {
2642 uint64_t mii1:1; 632 uint64_t mii1:1;
2643 uint64_t reserved_6_17:12; 633 uint64_t reserved_6_17:12;
2644 uint64_t wdog:6; 634 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
2680 } cn63xx; 635 } cn63xx;
2681 struct cvmx_ciu_intx_en1_cn63xx cn63xxp1; 636 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;
2826}; 637};
2827 638
2828union cvmx_ciu_intx_en1_w1c { 639union cvmx_ciu_intx_en1_w1c {
2829 uint64_t u64; 640 uint64_t u64;
2830 struct cvmx_ciu_intx_en1_w1c_s { 641 struct cvmx_ciu_intx_en1_w1c_s {
2831#ifdef __BIG_ENDIAN_BITFIELD
2832 uint64_t rst:1; 642 uint64_t rst:1;
2833 uint64_t reserved_62_62:1; 643 uint64_t reserved_57_62:6;
2834 uint64_t srio3:1;
2835 uint64_t srio2:1;
2836 uint64_t reserved_57_59:3;
2837 uint64_t dfm:1; 644 uint64_t dfm:1;
2838 uint64_t reserved_53_55:3; 645 uint64_t reserved_53_55:3;
2839 uint64_t lmc0:1; 646 uint64_t lmc0:1;
@@ -2843,10 +650,7 @@ union cvmx_ciu_intx_en1_w1c {
2843 uint64_t pem0:1; 650 uint64_t pem0:1;
2844 uint64_t ptp:1; 651 uint64_t ptp:1;
2845 uint64_t agl:1; 652 uint64_t agl:1;
2846 uint64_t reserved_41_45:5; 653 uint64_t reserved_37_45:9;
2847 uint64_t dpi_dma:1;
2848 uint64_t reserved_38_39:2;
2849 uint64_t agx1:1;
2850 uint64_t agx0:1; 654 uint64_t agx0:1;
2851 uint64_t dpi:1; 655 uint64_t dpi:1;
2852 uint64_t sli:1; 656 uint64_t sli:1;
@@ -2869,51 +673,8 @@ union cvmx_ciu_intx_en1_w1c {
2869 uint64_t usb1:1; 673 uint64_t usb1:1;
2870 uint64_t uart2:1; 674 uint64_t uart2:1;
2871 uint64_t wdog:16; 675 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
2914 } s; 676 } s;
2915 struct cvmx_ciu_intx_en1_w1c_cn52xx { 677 struct cvmx_ciu_intx_en1_w1c_cn52xx {
2916#ifdef __BIG_ENDIAN_BITFIELD
2917 uint64_t reserved_20_63:44; 678 uint64_t reserved_20_63:44;
2918 uint64_t nand:1; 679 uint64_t nand:1;
2919 uint64_t mii1:1; 680 uint64_t mii1:1;
@@ -2921,107 +682,16 @@ union cvmx_ciu_intx_en1_w1c {
2921 uint64_t uart2:1; 682 uint64_t uart2:1;
2922 uint64_t reserved_4_15:12; 683 uint64_t reserved_4_15:12;
2923 uint64_t wdog:4; 684 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
2933 } cn52xx; 685 } cn52xx;
2934 struct cvmx_ciu_intx_en1_w1c_cn56xx { 686 struct cvmx_ciu_intx_en1_w1c_cn56xx {
2935#ifdef __BIG_ENDIAN_BITFIELD
2936 uint64_t reserved_12_63:52; 687 uint64_t reserved_12_63:52;
2937 uint64_t wdog:12; 688 uint64_t wdog:12;
2938#else
2939 uint64_t wdog:12;
2940 uint64_t reserved_12_63:52;
2941#endif
2942 } cn56xx; 689 } cn56xx;
2943 struct cvmx_ciu_intx_en1_w1c_cn58xx { 690 struct cvmx_ciu_intx_en1_w1c_cn58xx {
2944#ifdef __BIG_ENDIAN_BITFIELD
2945 uint64_t reserved_16_63:48; 691 uint64_t reserved_16_63:48;
2946 uint64_t wdog:16; 692 uint64_t wdog:16;
2947#else
2948 uint64_t wdog:16;
2949 uint64_t reserved_16_63:48;
2950#endif
2951 } cn58xx; 693 } 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;
3023 struct cvmx_ciu_intx_en1_w1c_cn63xx { 694 struct cvmx_ciu_intx_en1_w1c_cn63xx {
3024#ifdef __BIG_ENDIAN_BITFIELD
3025 uint64_t rst:1; 695 uint64_t rst:1;
3026 uint64_t reserved_57_62:6; 696 uint64_t reserved_57_62:6;
3027 uint64_t dfm:1; 697 uint64_t dfm:1;
@@ -3055,198 +725,15 @@ union cvmx_ciu_intx_en1_w1c {
3055 uint64_t mii1:1; 725 uint64_t mii1:1;
3056 uint64_t reserved_6_17:12; 726 uint64_t reserved_6_17:12;
3057 uint64_t wdog:6; 727 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
3093 } cn63xx; 728 } cn63xx;
3094 struct cvmx_ciu_intx_en1_w1c_cn63xx cn63xxp1; 729 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;
3239}; 730};
3240 731
3241union cvmx_ciu_intx_en1_w1s { 732union cvmx_ciu_intx_en1_w1s {
3242 uint64_t u64; 733 uint64_t u64;
3243 struct cvmx_ciu_intx_en1_w1s_s { 734 struct cvmx_ciu_intx_en1_w1s_s {
3244#ifdef __BIG_ENDIAN_BITFIELD
3245 uint64_t rst:1; 735 uint64_t rst:1;
3246 uint64_t reserved_62_62:1; 736 uint64_t reserved_57_62:6;
3247 uint64_t srio3:1;
3248 uint64_t srio2:1;
3249 uint64_t reserved_57_59:3;
3250 uint64_t dfm:1; 737 uint64_t dfm:1;
3251 uint64_t reserved_53_55:3; 738 uint64_t reserved_53_55:3;
3252 uint64_t lmc0:1; 739 uint64_t lmc0:1;
@@ -3256,10 +743,7 @@ union cvmx_ciu_intx_en1_w1s {
3256 uint64_t pem0:1; 743 uint64_t pem0:1;
3257 uint64_t ptp:1; 744 uint64_t ptp:1;
3258 uint64_t agl:1; 745 uint64_t agl:1;
3259 uint64_t reserved_41_45:5; 746 uint64_t reserved_37_45:9;
3260 uint64_t dpi_dma:1;
3261 uint64_t reserved_38_39:2;
3262 uint64_t agx1:1;
3263 uint64_t agx0:1; 747 uint64_t agx0:1;
3264 uint64_t dpi:1; 748 uint64_t dpi:1;
3265 uint64_t sli:1; 749 uint64_t sli:1;
@@ -3282,51 +766,8 @@ union cvmx_ciu_intx_en1_w1s {
3282 uint64_t usb1:1; 766 uint64_t usb1:1;
3283 uint64_t uart2:1; 767 uint64_t uart2:1;
3284 uint64_t wdog:16; 768 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
3327 } s; 769 } s;
3328 struct cvmx_ciu_intx_en1_w1s_cn52xx { 770 struct cvmx_ciu_intx_en1_w1s_cn52xx {
3329#ifdef __BIG_ENDIAN_BITFIELD
3330 uint64_t reserved_20_63:44; 771 uint64_t reserved_20_63:44;
3331 uint64_t nand:1; 772 uint64_t nand:1;
3332 uint64_t mii1:1; 773 uint64_t mii1:1;
@@ -3334,107 +775,16 @@ union cvmx_ciu_intx_en1_w1s {
3334 uint64_t uart2:1; 775 uint64_t uart2:1;
3335 uint64_t reserved_4_15:12; 776 uint64_t reserved_4_15:12;
3336 uint64_t wdog:4; 777 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
3346 } cn52xx; 778 } cn52xx;
3347 struct cvmx_ciu_intx_en1_w1s_cn56xx { 779 struct cvmx_ciu_intx_en1_w1s_cn56xx {
3348#ifdef __BIG_ENDIAN_BITFIELD
3349 uint64_t reserved_12_63:52; 780 uint64_t reserved_12_63:52;
3350 uint64_t wdog:12; 781 uint64_t wdog:12;
3351#else
3352 uint64_t wdog:12;
3353 uint64_t reserved_12_63:52;
3354#endif
3355 } cn56xx; 782 } cn56xx;
3356 struct cvmx_ciu_intx_en1_w1s_cn58xx { 783 struct cvmx_ciu_intx_en1_w1s_cn58xx {
3357#ifdef __BIG_ENDIAN_BITFIELD
3358 uint64_t reserved_16_63:48; 784 uint64_t reserved_16_63:48;
3359 uint64_t wdog:16; 785 uint64_t wdog:16;
3360#else
3361 uint64_t wdog:16;
3362 uint64_t reserved_16_63:48;
3363#endif
3364 } cn58xx; 786 } 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;
3436 struct cvmx_ciu_intx_en1_w1s_cn63xx { 787 struct cvmx_ciu_intx_en1_w1s_cn63xx {
3437#ifdef __BIG_ENDIAN_BITFIELD
3438 uint64_t rst:1; 788 uint64_t rst:1;
3439 uint64_t reserved_57_62:6; 789 uint64_t reserved_57_62:6;
3440 uint64_t dfm:1; 790 uint64_t dfm:1;
@@ -3468,193 +818,13 @@ union cvmx_ciu_intx_en1_w1s {
3468 uint64_t mii1:1; 818 uint64_t mii1:1;
3469 uint64_t reserved_6_17:12; 819 uint64_t reserved_6_17:12;
3470 uint64_t wdog:6; 820 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
3506 } cn63xx; 821 } cn63xx;
3507 struct cvmx_ciu_intx_en1_w1s_cn63xx cn63xxp1; 822 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;
3652}; 823};
3653 824
3654union cvmx_ciu_intx_en4_0 { 825union cvmx_ciu_intx_en4_0 {
3655 uint64_t u64; 826 uint64_t u64;
3656 struct cvmx_ciu_intx_en4_0_s { 827 struct cvmx_ciu_intx_en4_0_s {
3657#ifdef __BIG_ENDIAN_BITFIELD
3658 uint64_t bootdma:1; 828 uint64_t bootdma:1;
3659 uint64_t mii:1; 829 uint64_t mii:1;
3660 uint64_t ipdppthr:1; 830 uint64_t ipdppthr:1;
@@ -3677,33 +847,8 @@ union cvmx_ciu_intx_en4_0 {
3677 uint64_t mbox:2; 847 uint64_t mbox:2;
3678 uint64_t gpio:16; 848 uint64_t gpio:16;
3679 uint64_t workq:16; 849 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
3704 } s; 850 } s;
3705 struct cvmx_ciu_intx_en4_0_cn50xx { 851 struct cvmx_ciu_intx_en4_0_cn50xx {
3706#ifdef __BIG_ENDIAN_BITFIELD
3707 uint64_t reserved_59_63:5; 852 uint64_t reserved_59_63:5;
3708 uint64_t mpi:1; 853 uint64_t mpi:1;
3709 uint64_t pcm:1; 854 uint64_t pcm:1;
@@ -3723,30 +868,8 @@ union cvmx_ciu_intx_en4_0 {
3723 uint64_t mbox:2; 868 uint64_t mbox:2;
3724 uint64_t gpio:16; 869 uint64_t gpio:16;
3725 uint64_t workq:16; 870 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
3747 } cn50xx; 871 } cn50xx;
3748 struct cvmx_ciu_intx_en4_0_cn52xx { 872 struct cvmx_ciu_intx_en4_0_cn52xx {
3749#ifdef __BIG_ENDIAN_BITFIELD
3750 uint64_t bootdma:1; 873 uint64_t bootdma:1;
3751 uint64_t mii:1; 874 uint64_t mii:1;
3752 uint64_t ipdppthr:1; 875 uint64_t ipdppthr:1;
@@ -3769,34 +892,9 @@ union cvmx_ciu_intx_en4_0 {
3769 uint64_t mbox:2; 892 uint64_t mbox:2;
3770 uint64_t gpio:16; 893 uint64_t gpio:16;
3771 uint64_t workq:16; 894 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
3796 } cn52xx; 895 } cn52xx;
3797 struct cvmx_ciu_intx_en4_0_cn52xx cn52xxp1; 896 struct cvmx_ciu_intx_en4_0_cn52xx cn52xxp1;
3798 struct cvmx_ciu_intx_en4_0_cn56xx { 897 struct cvmx_ciu_intx_en4_0_cn56xx {
3799#ifdef __BIG_ENDIAN_BITFIELD
3800 uint64_t bootdma:1; 898 uint64_t bootdma:1;
3801 uint64_t mii:1; 899 uint64_t mii:1;
3802 uint64_t ipdppthr:1; 900 uint64_t ipdppthr:1;
@@ -3818,33 +916,9 @@ union cvmx_ciu_intx_en4_0 {
3818 uint64_t mbox:2; 916 uint64_t mbox:2;
3819 uint64_t gpio:16; 917 uint64_t gpio:16;
3820 uint64_t workq:16; 918 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
3844 } cn56xx; 919 } cn56xx;
3845 struct cvmx_ciu_intx_en4_0_cn56xx cn56xxp1; 920 struct cvmx_ciu_intx_en4_0_cn56xx cn56xxp1;
3846 struct cvmx_ciu_intx_en4_0_cn58xx { 921 struct cvmx_ciu_intx_en4_0_cn58xx {
3847#ifdef __BIG_ENDIAN_BITFIELD
3848 uint64_t reserved_56_63:8; 922 uint64_t reserved_56_63:8;
3849 uint64_t timer:4; 923 uint64_t timer:4;
3850 uint64_t key_zero:1; 924 uint64_t key_zero:1;
@@ -3860,189 +934,21 @@ union cvmx_ciu_intx_en4_0 {
3860 uint64_t mbox:2; 934 uint64_t mbox:2;
3861 uint64_t gpio:16; 935 uint64_t gpio:16;
3862 uint64_t workq:16; 936 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
3880 } cn58xx; 937 } cn58xx;
3881 struct cvmx_ciu_intx_en4_0_cn58xx cn58xxp1; 938 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;
3931 struct cvmx_ciu_intx_en4_0_cn52xx cn63xx; 939 struct cvmx_ciu_intx_en4_0_cn52xx cn63xx;
3932 struct cvmx_ciu_intx_en4_0_cn52xx cn63xxp1; 940 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;
4033}; 941};
4034 942
4035union cvmx_ciu_intx_en4_0_w1c { 943union cvmx_ciu_intx_en4_0_w1c {
4036 uint64_t u64; 944 uint64_t u64;
4037 struct cvmx_ciu_intx_en4_0_w1c_s { 945 struct cvmx_ciu_intx_en4_0_w1c_s {
4038#ifdef __BIG_ENDIAN_BITFIELD
4039 uint64_t bootdma:1; 946 uint64_t bootdma:1;
4040 uint64_t mii:1; 947 uint64_t mii:1;
4041 uint64_t ipdppthr:1; 948 uint64_t ipdppthr:1;
4042 uint64_t powiq:1; 949 uint64_t powiq:1;
4043 uint64_t twsi2:1; 950 uint64_t twsi2:1;
4044 uint64_t mpi:1; 951 uint64_t reserved_57_58:2;
4045 uint64_t pcm:1;
4046 uint64_t usb:1; 952 uint64_t usb:1;
4047 uint64_t timer:4; 953 uint64_t timer:4;
4048 uint64_t key_zero:1; 954 uint64_t key_zero:1;
@@ -4058,33 +964,8 @@ union cvmx_ciu_intx_en4_0_w1c {
4058 uint64_t mbox:2; 964 uint64_t mbox:2;
4059 uint64_t gpio:16; 965 uint64_t gpio:16;
4060 uint64_t workq:16; 966 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
4085 } s; 967 } s;
4086 struct cvmx_ciu_intx_en4_0_w1c_cn52xx { 968 struct cvmx_ciu_intx_en4_0_w1c_cn52xx {
4087#ifdef __BIG_ENDIAN_BITFIELD
4088 uint64_t bootdma:1; 969 uint64_t bootdma:1;
4089 uint64_t mii:1; 970 uint64_t mii:1;
4090 uint64_t ipdppthr:1; 971 uint64_t ipdppthr:1;
@@ -4107,80 +988,9 @@ union cvmx_ciu_intx_en4_0_w1c {
4107 uint64_t mbox:2; 988 uint64_t mbox:2;
4108 uint64_t gpio:16; 989 uint64_t gpio:16;
4109 uint64_t workq:16; 990 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
4134 } cn52xx; 991 } cn52xx;
4135 struct cvmx_ciu_intx_en4_0_w1c_cn56xx { 992 struct cvmx_ciu_intx_en4_0_w1c_s 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;
4182 struct cvmx_ciu_intx_en4_0_w1c_cn58xx { 993 struct cvmx_ciu_intx_en4_0_w1c_cn58xx {
4183#ifdef __BIG_ENDIAN_BITFIELD
4184 uint64_t reserved_56_63:8; 994 uint64_t reserved_56_63:8;
4185 uint64_t timer:4; 995 uint64_t timer:4;
4186 uint64_t key_zero:1; 996 uint64_t key_zero:1;
@@ -4196,188 +1006,20 @@ union cvmx_ciu_intx_en4_0_w1c {
4196 uint64_t mbox:2; 1006 uint64_t mbox:2;
4197 uint64_t gpio:16; 1007 uint64_t gpio:16;
4198 uint64_t workq:16; 1008 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
4216 } cn58xx; 1009 } 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;
4266 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx; 1010 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx;
4267 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xxp1; 1011 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;
4368}; 1012};
4369 1013
4370union cvmx_ciu_intx_en4_0_w1s { 1014union cvmx_ciu_intx_en4_0_w1s {
4371 uint64_t u64; 1015 uint64_t u64;
4372 struct cvmx_ciu_intx_en4_0_w1s_s { 1016 struct cvmx_ciu_intx_en4_0_w1s_s {
4373#ifdef __BIG_ENDIAN_BITFIELD
4374 uint64_t bootdma:1; 1017 uint64_t bootdma:1;
4375 uint64_t mii:1; 1018 uint64_t mii:1;
4376 uint64_t ipdppthr:1; 1019 uint64_t ipdppthr:1;
4377 uint64_t powiq:1; 1020 uint64_t powiq:1;
4378 uint64_t twsi2:1; 1021 uint64_t twsi2:1;
4379 uint64_t mpi:1; 1022 uint64_t reserved_57_58:2;
4380 uint64_t pcm:1;
4381 uint64_t usb:1; 1023 uint64_t usb:1;
4382 uint64_t timer:4; 1024 uint64_t timer:4;
4383 uint64_t key_zero:1; 1025 uint64_t key_zero:1;
@@ -4393,33 +1035,8 @@ union cvmx_ciu_intx_en4_0_w1s {
4393 uint64_t mbox:2; 1035 uint64_t mbox:2;
4394 uint64_t gpio:16; 1036 uint64_t gpio:16;
4395 uint64_t workq:16; 1037 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
4420 } s; 1038 } s;
4421 struct cvmx_ciu_intx_en4_0_w1s_cn52xx { 1039 struct cvmx_ciu_intx_en4_0_w1s_cn52xx {
4422#ifdef __BIG_ENDIAN_BITFIELD
4423 uint64_t bootdma:1; 1040 uint64_t bootdma:1;
4424 uint64_t mii:1; 1041 uint64_t mii:1;
4425 uint64_t ipdppthr:1; 1042 uint64_t ipdppthr:1;
@@ -4442,80 +1059,9 @@ union cvmx_ciu_intx_en4_0_w1s {
4442 uint64_t mbox:2; 1059 uint64_t mbox:2;
4443 uint64_t gpio:16; 1060 uint64_t gpio:16;
4444 uint64_t workq:16; 1061 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
4469 } cn52xx; 1062 } cn52xx;
4470 struct cvmx_ciu_intx_en4_0_w1s_cn56xx { 1063 struct cvmx_ciu_intx_en4_0_w1s_s 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;
4517 struct cvmx_ciu_intx_en4_0_w1s_cn58xx { 1064 struct cvmx_ciu_intx_en4_0_w1s_cn58xx {
4518#ifdef __BIG_ENDIAN_BITFIELD
4519 uint64_t reserved_56_63:8; 1065 uint64_t reserved_56_63:8;
4520 uint64_t timer:4; 1066 uint64_t timer:4;
4521 uint64_t key_zero:1; 1067 uint64_t key_zero:1;
@@ -4531,186 +1077,16 @@ union cvmx_ciu_intx_en4_0_w1s {
4531 uint64_t mbox:2; 1077 uint64_t mbox:2;
4532 uint64_t gpio:16; 1078 uint64_t gpio:16;
4533 uint64_t workq:16; 1079 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
4551 } cn58xx; 1080 } 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;
4601 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx; 1081 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx;
4602 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xxp1; 1082 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;
4703}; 1083};
4704 1084
4705union cvmx_ciu_intx_en4_1 { 1085union cvmx_ciu_intx_en4_1 {
4706 uint64_t u64; 1086 uint64_t u64;
4707 struct cvmx_ciu_intx_en4_1_s { 1087 struct cvmx_ciu_intx_en4_1_s {
4708#ifdef __BIG_ENDIAN_BITFIELD
4709 uint64_t rst:1; 1088 uint64_t rst:1;
4710 uint64_t reserved_62_62:1; 1089 uint64_t reserved_57_62:6;
4711 uint64_t srio3:1;
4712 uint64_t srio2:1;
4713 uint64_t reserved_57_59:3;
4714 uint64_t dfm:1; 1090 uint64_t dfm:1;
4715 uint64_t reserved_53_55:3; 1091 uint64_t reserved_53_55:3;
4716 uint64_t lmc0:1; 1092 uint64_t lmc0:1;
@@ -4720,10 +1096,7 @@ union cvmx_ciu_intx_en4_1 {
4720 uint64_t pem0:1; 1096 uint64_t pem0:1;
4721 uint64_t ptp:1; 1097 uint64_t ptp:1;
4722 uint64_t agl:1; 1098 uint64_t agl:1;
4723 uint64_t reserved_41_45:5; 1099 uint64_t reserved_37_45:9;
4724 uint64_t dpi_dma:1;
4725 uint64_t reserved_38_39:2;
4726 uint64_t agx1:1;
4727 uint64_t agx0:1; 1100 uint64_t agx0:1;
4728 uint64_t dpi:1; 1101 uint64_t dpi:1;
4729 uint64_t sli:1; 1102 uint64_t sli:1;
@@ -4746,60 +1119,12 @@ union cvmx_ciu_intx_en4_1 {
4746 uint64_t usb1:1; 1119 uint64_t usb1:1;
4747 uint64_t uart2:1; 1120 uint64_t uart2:1;
4748 uint64_t wdog:16; 1121 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
4791 } s; 1122 } s;
4792 struct cvmx_ciu_intx_en4_1_cn50xx { 1123 struct cvmx_ciu_intx_en4_1_cn50xx {
4793#ifdef __BIG_ENDIAN_BITFIELD
4794 uint64_t reserved_2_63:62; 1124 uint64_t reserved_2_63:62;
4795 uint64_t wdog:2; 1125 uint64_t wdog:2;
4796#else
4797 uint64_t wdog:2;
4798 uint64_t reserved_2_63:62;
4799#endif
4800 } cn50xx; 1126 } cn50xx;
4801 struct cvmx_ciu_intx_en4_1_cn52xx { 1127 struct cvmx_ciu_intx_en4_1_cn52xx {
4802#ifdef __BIG_ENDIAN_BITFIELD
4803 uint64_t reserved_20_63:44; 1128 uint64_t reserved_20_63:44;
4804 uint64_t nand:1; 1129 uint64_t nand:1;
4805 uint64_t mii1:1; 1130 uint64_t mii1:1;
@@ -4807,126 +1132,26 @@ union cvmx_ciu_intx_en4_1 {
4807 uint64_t uart2:1; 1132 uint64_t uart2:1;
4808 uint64_t reserved_4_15:12; 1133 uint64_t reserved_4_15:12;
4809 uint64_t wdog:4; 1134 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
4819 } cn52xx; 1135 } cn52xx;
4820 struct cvmx_ciu_intx_en4_1_cn52xxp1 { 1136 struct cvmx_ciu_intx_en4_1_cn52xxp1 {
4821#ifdef __BIG_ENDIAN_BITFIELD
4822 uint64_t reserved_19_63:45; 1137 uint64_t reserved_19_63:45;
4823 uint64_t mii1:1; 1138 uint64_t mii1:1;
4824 uint64_t usb1:1; 1139 uint64_t usb1:1;
4825 uint64_t uart2:1; 1140 uint64_t uart2:1;
4826 uint64_t reserved_4_15:12; 1141 uint64_t reserved_4_15:12;
4827 uint64_t wdog:4; 1142 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
4836 } cn52xxp1; 1143 } cn52xxp1;
4837 struct cvmx_ciu_intx_en4_1_cn56xx { 1144 struct cvmx_ciu_intx_en4_1_cn56xx {
4838#ifdef __BIG_ENDIAN_BITFIELD
4839 uint64_t reserved_12_63:52; 1145 uint64_t reserved_12_63:52;
4840 uint64_t wdog:12; 1146 uint64_t wdog:12;
4841#else
4842 uint64_t wdog:12;
4843 uint64_t reserved_12_63:52;
4844#endif
4845 } cn56xx; 1147 } cn56xx;
4846 struct cvmx_ciu_intx_en4_1_cn56xx cn56xxp1; 1148 struct cvmx_ciu_intx_en4_1_cn56xx cn56xxp1;
4847 struct cvmx_ciu_intx_en4_1_cn58xx { 1149 struct cvmx_ciu_intx_en4_1_cn58xx {
4848#ifdef __BIG_ENDIAN_BITFIELD
4849 uint64_t reserved_16_63:48; 1150 uint64_t reserved_16_63:48;
4850 uint64_t wdog:16; 1151 uint64_t wdog:16;
4851#else
4852 uint64_t wdog:16;
4853 uint64_t reserved_16_63:48;
4854#endif
4855 } cn58xx; 1152 } cn58xx;
4856 struct cvmx_ciu_intx_en4_1_cn58xx cn58xxp1; 1153 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;
4928 struct cvmx_ciu_intx_en4_1_cn63xx { 1154 struct cvmx_ciu_intx_en4_1_cn63xx {
4929#ifdef __BIG_ENDIAN_BITFIELD
4930 uint64_t rst:1; 1155 uint64_t rst:1;
4931 uint64_t reserved_57_62:6; 1156 uint64_t reserved_57_62:6;
4932 uint64_t dfm:1; 1157 uint64_t dfm:1;
@@ -4960,198 +1185,15 @@ union cvmx_ciu_intx_en4_1 {
4960 uint64_t mii1:1; 1185 uint64_t mii1:1;
4961 uint64_t reserved_6_17:12; 1186 uint64_t reserved_6_17:12;
4962 uint64_t wdog:6; 1187 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
4998 } cn63xx; 1188 } cn63xx;
4999 struct cvmx_ciu_intx_en4_1_cn63xx cn63xxp1; 1189 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;
5144}; 1190};
5145 1191
5146union cvmx_ciu_intx_en4_1_w1c { 1192union cvmx_ciu_intx_en4_1_w1c {
5147 uint64_t u64; 1193 uint64_t u64;
5148 struct cvmx_ciu_intx_en4_1_w1c_s { 1194 struct cvmx_ciu_intx_en4_1_w1c_s {
5149#ifdef __BIG_ENDIAN_BITFIELD
5150 uint64_t rst:1; 1195 uint64_t rst:1;
5151 uint64_t reserved_62_62:1; 1196 uint64_t reserved_57_62:6;
5152 uint64_t srio3:1;
5153 uint64_t srio2:1;
5154 uint64_t reserved_57_59:3;
5155 uint64_t dfm:1; 1197 uint64_t dfm:1;
5156 uint64_t reserved_53_55:3; 1198 uint64_t reserved_53_55:3;
5157 uint64_t lmc0:1; 1199 uint64_t lmc0:1;
@@ -5161,10 +1203,7 @@ union cvmx_ciu_intx_en4_1_w1c {
5161 uint64_t pem0:1; 1203 uint64_t pem0:1;
5162 uint64_t ptp:1; 1204 uint64_t ptp:1;
5163 uint64_t agl:1; 1205 uint64_t agl:1;
5164 uint64_t reserved_41_45:5; 1206 uint64_t reserved_37_45:9;
5165 uint64_t dpi_dma:1;
5166 uint64_t reserved_38_39:2;
5167 uint64_t agx1:1;
5168 uint64_t agx0:1; 1207 uint64_t agx0:1;
5169 uint64_t dpi:1; 1208 uint64_t dpi:1;
5170 uint64_t sli:1; 1209 uint64_t sli:1;
@@ -5187,51 +1226,8 @@ union cvmx_ciu_intx_en4_1_w1c {
5187 uint64_t usb1:1; 1226 uint64_t usb1:1;
5188 uint64_t uart2:1; 1227 uint64_t uart2:1;
5189 uint64_t wdog:16; 1228 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
5232 } s; 1229 } s;
5233 struct cvmx_ciu_intx_en4_1_w1c_cn52xx { 1230 struct cvmx_ciu_intx_en4_1_w1c_cn52xx {
5234#ifdef __BIG_ENDIAN_BITFIELD
5235 uint64_t reserved_20_63:44; 1231 uint64_t reserved_20_63:44;
5236 uint64_t nand:1; 1232 uint64_t nand:1;
5237 uint64_t mii1:1; 1233 uint64_t mii1:1;
@@ -5239,107 +1235,16 @@ union cvmx_ciu_intx_en4_1_w1c {
5239 uint64_t uart2:1; 1235 uint64_t uart2:1;
5240 uint64_t reserved_4_15:12; 1236 uint64_t reserved_4_15:12;
5241 uint64_t wdog:4; 1237 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
5251 } cn52xx; 1238 } cn52xx;
5252 struct cvmx_ciu_intx_en4_1_w1c_cn56xx { 1239 struct cvmx_ciu_intx_en4_1_w1c_cn56xx {
5253#ifdef __BIG_ENDIAN_BITFIELD
5254 uint64_t reserved_12_63:52; 1240 uint64_t reserved_12_63:52;
5255 uint64_t wdog:12; 1241 uint64_t wdog:12;
5256#else
5257 uint64_t wdog:12;
5258 uint64_t reserved_12_63:52;
5259#endif
5260 } cn56xx; 1242 } cn56xx;
5261 struct cvmx_ciu_intx_en4_1_w1c_cn58xx { 1243 struct cvmx_ciu_intx_en4_1_w1c_cn58xx {
5262#ifdef __BIG_ENDIAN_BITFIELD
5263 uint64_t reserved_16_63:48; 1244 uint64_t reserved_16_63:48;
5264 uint64_t wdog:16; 1245 uint64_t wdog:16;
5265#else
5266 uint64_t wdog:16;
5267 uint64_t reserved_16_63:48;
5268#endif
5269 } cn58xx; 1246 } 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;
5341 struct cvmx_ciu_intx_en4_1_w1c_cn63xx { 1247 struct cvmx_ciu_intx_en4_1_w1c_cn63xx {
5342#ifdef __BIG_ENDIAN_BITFIELD
5343 uint64_t rst:1; 1248 uint64_t rst:1;
5344 uint64_t reserved_57_62:6; 1249 uint64_t reserved_57_62:6;
5345 uint64_t dfm:1; 1250 uint64_t dfm:1;
@@ -5373,198 +1278,15 @@ union cvmx_ciu_intx_en4_1_w1c {
5373 uint64_t mii1:1; 1278 uint64_t mii1:1;
5374 uint64_t reserved_6_17:12; 1279 uint64_t reserved_6_17:12;
5375 uint64_t wdog:6; 1280 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
5411 } cn63xx; 1281 } cn63xx;
5412 struct cvmx_ciu_intx_en4_1_w1c_cn63xx cn63xxp1; 1282 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;
5557}; 1283};
5558 1284
5559union cvmx_ciu_intx_en4_1_w1s { 1285union cvmx_ciu_intx_en4_1_w1s {
5560 uint64_t u64; 1286 uint64_t u64;
5561 struct cvmx_ciu_intx_en4_1_w1s_s { 1287 struct cvmx_ciu_intx_en4_1_w1s_s {
5562#ifdef __BIG_ENDIAN_BITFIELD
5563 uint64_t rst:1; 1288 uint64_t rst:1;
5564 uint64_t reserved_62_62:1; 1289 uint64_t reserved_57_62:6;
5565 uint64_t srio3:1;
5566 uint64_t srio2:1;
5567 uint64_t reserved_57_59:3;
5568 uint64_t dfm:1; 1290 uint64_t dfm:1;
5569 uint64_t reserved_53_55:3; 1291 uint64_t reserved_53_55:3;
5570 uint64_t lmc0:1; 1292 uint64_t lmc0:1;
@@ -5574,10 +1296,7 @@ union cvmx_ciu_intx_en4_1_w1s {
5574 uint64_t pem0:1; 1296 uint64_t pem0:1;
5575 uint64_t ptp:1; 1297 uint64_t ptp:1;
5576 uint64_t agl:1; 1298 uint64_t agl:1;
5577 uint64_t reserved_41_45:5; 1299 uint64_t reserved_37_45:9;
5578 uint64_t dpi_dma:1;
5579 uint64_t reserved_38_39:2;
5580 uint64_t agx1:1;
5581 uint64_t agx0:1; 1300 uint64_t agx0:1;
5582 uint64_t dpi:1; 1301 uint64_t dpi:1;
5583 uint64_t sli:1; 1302 uint64_t sli:1;
@@ -5600,51 +1319,8 @@ union cvmx_ciu_intx_en4_1_w1s {
5600 uint64_t usb1:1; 1319 uint64_t usb1:1;
5601 uint64_t uart2:1; 1320 uint64_t uart2:1;
5602 uint64_t wdog:16; 1321 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
5645 } s; 1322 } s;
5646 struct cvmx_ciu_intx_en4_1_w1s_cn52xx { 1323 struct cvmx_ciu_intx_en4_1_w1s_cn52xx {
5647#ifdef __BIG_ENDIAN_BITFIELD
5648 uint64_t reserved_20_63:44; 1324 uint64_t reserved_20_63:44;
5649 uint64_t nand:1; 1325 uint64_t nand:1;
5650 uint64_t mii1:1; 1326 uint64_t mii1:1;
@@ -5652,107 +1328,16 @@ union cvmx_ciu_intx_en4_1_w1s {
5652 uint64_t uart2:1; 1328 uint64_t uart2:1;
5653 uint64_t reserved_4_15:12; 1329 uint64_t reserved_4_15:12;
5654 uint64_t wdog:4; 1330 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
5664 } cn52xx; 1331 } cn52xx;
5665 struct cvmx_ciu_intx_en4_1_w1s_cn56xx { 1332 struct cvmx_ciu_intx_en4_1_w1s_cn56xx {
5666#ifdef __BIG_ENDIAN_BITFIELD
5667 uint64_t reserved_12_63:52; 1333 uint64_t reserved_12_63:52;
5668 uint64_t wdog:12; 1334 uint64_t wdog:12;
5669#else
5670 uint64_t wdog:12;
5671 uint64_t reserved_12_63:52;
5672#endif
5673 } cn56xx; 1335 } cn56xx;
5674 struct cvmx_ciu_intx_en4_1_w1s_cn58xx { 1336 struct cvmx_ciu_intx_en4_1_w1s_cn58xx {
5675#ifdef __BIG_ENDIAN_BITFIELD
5676 uint64_t reserved_16_63:48; 1337 uint64_t reserved_16_63:48;
5677 uint64_t wdog:16; 1338 uint64_t wdog:16;
5678#else
5679 uint64_t wdog:16;
5680 uint64_t reserved_16_63:48;
5681#endif
5682 } cn58xx; 1339 } 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;
5754 struct cvmx_ciu_intx_en4_1_w1s_cn63xx { 1340 struct cvmx_ciu_intx_en4_1_w1s_cn63xx {
5755#ifdef __BIG_ENDIAN_BITFIELD
5756 uint64_t rst:1; 1341 uint64_t rst:1;
5757 uint64_t reserved_57_62:6; 1342 uint64_t reserved_57_62:6;
5758 uint64_t dfm:1; 1343 uint64_t dfm:1;
@@ -5786,193 +1371,13 @@ union cvmx_ciu_intx_en4_1_w1s {
5786 uint64_t mii1:1; 1371 uint64_t mii1:1;
5787 uint64_t reserved_6_17:12; 1372 uint64_t reserved_6_17:12;
5788 uint64_t wdog:6; 1373 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
5824 } cn63xx; 1374 } cn63xx;
5825 struct cvmx_ciu_intx_en4_1_w1s_cn63xx cn63xxp1; 1375 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;
5970}; 1376};
5971 1377
5972union cvmx_ciu_intx_sum0 { 1378union cvmx_ciu_intx_sum0 {
5973 uint64_t u64; 1379 uint64_t u64;
5974 struct cvmx_ciu_intx_sum0_s { 1380 struct cvmx_ciu_intx_sum0_s {
5975#ifdef __BIG_ENDIAN_BITFIELD
5976 uint64_t bootdma:1; 1381 uint64_t bootdma:1;
5977 uint64_t mii:1; 1382 uint64_t mii:1;
5978 uint64_t ipdppthr:1; 1383 uint64_t ipdppthr:1;
@@ -5982,7 +1387,7 @@ union cvmx_ciu_intx_sum0 {
5982 uint64_t pcm:1; 1387 uint64_t pcm:1;
5983 uint64_t usb:1; 1388 uint64_t usb:1;
5984 uint64_t timer:4; 1389 uint64_t timer:4;
5985 uint64_t reserved_51_51:1; 1390 uint64_t key_zero:1;
5986 uint64_t ipd_drp:1; 1391 uint64_t ipd_drp:1;
5987 uint64_t gmx_drp:2; 1392 uint64_t gmx_drp:2;
5988 uint64_t trace:1; 1393 uint64_t trace:1;
@@ -5995,33 +1400,8 @@ union cvmx_ciu_intx_sum0 {
5995 uint64_t mbox:2; 1400 uint64_t mbox:2;
5996 uint64_t gpio:16; 1401 uint64_t gpio:16;
5997 uint64_t workq:16; 1402 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
6022 } s; 1403 } s;
6023 struct cvmx_ciu_intx_sum0_cn30xx { 1404 struct cvmx_ciu_intx_sum0_cn30xx {
6024#ifdef __BIG_ENDIAN_BITFIELD
6025 uint64_t reserved_59_63:5; 1405 uint64_t reserved_59_63:5;
6026 uint64_t mpi:1; 1406 uint64_t mpi:1;
6027 uint64_t pcm:1; 1407 uint64_t pcm:1;
@@ -6041,30 +1421,8 @@ union cvmx_ciu_intx_sum0 {
6041 uint64_t mbox:2; 1421 uint64_t mbox:2;
6042 uint64_t gpio:16; 1422 uint64_t gpio:16;
6043 uint64_t workq:16; 1423 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
6065 } cn30xx; 1424 } cn30xx;
6066 struct cvmx_ciu_intx_sum0_cn31xx { 1425 struct cvmx_ciu_intx_sum0_cn31xx {
6067#ifdef __BIG_ENDIAN_BITFIELD
6068 uint64_t reserved_59_63:5; 1426 uint64_t reserved_59_63:5;
6069 uint64_t mpi:1; 1427 uint64_t mpi:1;
6070 uint64_t pcm:1; 1428 uint64_t pcm:1;
@@ -6084,30 +1442,8 @@ union cvmx_ciu_intx_sum0 {
6084 uint64_t mbox:2; 1442 uint64_t mbox:2;
6085 uint64_t gpio:16; 1443 uint64_t gpio:16;
6086 uint64_t workq:16; 1444 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
6108 } cn31xx; 1445 } cn31xx;
6109 struct cvmx_ciu_intx_sum0_cn38xx { 1446 struct cvmx_ciu_intx_sum0_cn38xx {
6110#ifdef __BIG_ENDIAN_BITFIELD
6111 uint64_t reserved_56_63:8; 1447 uint64_t reserved_56_63:8;
6112 uint64_t timer:4; 1448 uint64_t timer:4;
6113 uint64_t key_zero:1; 1449 uint64_t key_zero:1;
@@ -6123,28 +1459,10 @@ union cvmx_ciu_intx_sum0 {
6123 uint64_t mbox:2; 1459 uint64_t mbox:2;
6124 uint64_t gpio:16; 1460 uint64_t gpio:16;
6125 uint64_t workq:16; 1461 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
6143 } cn38xx; 1462 } cn38xx;
6144 struct cvmx_ciu_intx_sum0_cn38xx cn38xxp2; 1463 struct cvmx_ciu_intx_sum0_cn38xx cn38xxp2;
6145 struct cvmx_ciu_intx_sum0_cn30xx cn50xx; 1464 struct cvmx_ciu_intx_sum0_cn30xx cn50xx;
6146 struct cvmx_ciu_intx_sum0_cn52xx { 1465 struct cvmx_ciu_intx_sum0_cn52xx {
6147#ifdef __BIG_ENDIAN_BITFIELD
6148 uint64_t bootdma:1; 1466 uint64_t bootdma:1;
6149 uint64_t mii:1; 1467 uint64_t mii:1;
6150 uint64_t ipdppthr:1; 1468 uint64_t ipdppthr:1;
@@ -6167,34 +1485,9 @@ union cvmx_ciu_intx_sum0 {
6167 uint64_t mbox:2; 1485 uint64_t mbox:2;
6168 uint64_t gpio:16; 1486 uint64_t gpio:16;
6169 uint64_t workq:16; 1487 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
6194 } cn52xx; 1488 } cn52xx;
6195 struct cvmx_ciu_intx_sum0_cn52xx cn52xxp1; 1489 struct cvmx_ciu_intx_sum0_cn52xx cn52xxp1;
6196 struct cvmx_ciu_intx_sum0_cn56xx { 1490 struct cvmx_ciu_intx_sum0_cn56xx {
6197#ifdef __BIG_ENDIAN_BITFIELD
6198 uint64_t bootdma:1; 1491 uint64_t bootdma:1;
6199 uint64_t mii:1; 1492 uint64_t mii:1;
6200 uint64_t ipdppthr:1; 1493 uint64_t ipdppthr:1;
@@ -6216,190 +1509,17 @@ union cvmx_ciu_intx_sum0 {
6216 uint64_t mbox:2; 1509 uint64_t mbox:2;
6217 uint64_t gpio:16; 1510 uint64_t gpio:16;
6218 uint64_t workq:16; 1511 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
6242 } cn56xx; 1512 } cn56xx;
6243 struct cvmx_ciu_intx_sum0_cn56xx cn56xxp1; 1513 struct cvmx_ciu_intx_sum0_cn56xx cn56xxp1;
6244 struct cvmx_ciu_intx_sum0_cn38xx cn58xx; 1514 struct cvmx_ciu_intx_sum0_cn38xx cn58xx;
6245 struct cvmx_ciu_intx_sum0_cn38xx cn58xxp1; 1515 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;
6295 struct cvmx_ciu_intx_sum0_cn52xx cn63xx; 1516 struct cvmx_ciu_intx_sum0_cn52xx cn63xx;
6296 struct cvmx_ciu_intx_sum0_cn52xx cn63xxp1; 1517 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;
6397}; 1518};
6398 1519
6399union cvmx_ciu_intx_sum4 { 1520union cvmx_ciu_intx_sum4 {
6400 uint64_t u64; 1521 uint64_t u64;
6401 struct cvmx_ciu_intx_sum4_s { 1522 struct cvmx_ciu_intx_sum4_s {
6402#ifdef __BIG_ENDIAN_BITFIELD
6403 uint64_t bootdma:1; 1523 uint64_t bootdma:1;
6404 uint64_t mii:1; 1524 uint64_t mii:1;
6405 uint64_t ipdppthr:1; 1525 uint64_t ipdppthr:1;
@@ -6409,7 +1529,7 @@ union cvmx_ciu_intx_sum4 {
6409 uint64_t pcm:1; 1529 uint64_t pcm:1;
6410 uint64_t usb:1; 1530 uint64_t usb:1;
6411 uint64_t timer:4; 1531 uint64_t timer:4;
6412 uint64_t reserved_51_51:1; 1532 uint64_t key_zero:1;
6413 uint64_t ipd_drp:1; 1533 uint64_t ipd_drp:1;
6414 uint64_t gmx_drp:2; 1534 uint64_t gmx_drp:2;
6415 uint64_t trace:1; 1535 uint64_t trace:1;
@@ -6422,33 +1542,8 @@ union cvmx_ciu_intx_sum4 {
6422 uint64_t mbox:2; 1542 uint64_t mbox:2;
6423 uint64_t gpio:16; 1543 uint64_t gpio:16;
6424 uint64_t workq:16; 1544 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
6449 } s; 1545 } s;
6450 struct cvmx_ciu_intx_sum4_cn50xx { 1546 struct cvmx_ciu_intx_sum4_cn50xx {
6451#ifdef __BIG_ENDIAN_BITFIELD
6452 uint64_t reserved_59_63:5; 1547 uint64_t reserved_59_63:5;
6453 uint64_t mpi:1; 1548 uint64_t mpi:1;
6454 uint64_t pcm:1; 1549 uint64_t pcm:1;
@@ -6468,30 +1563,8 @@ union cvmx_ciu_intx_sum4 {
6468 uint64_t mbox:2; 1563 uint64_t mbox:2;
6469 uint64_t gpio:16; 1564 uint64_t gpio:16;
6470 uint64_t workq:16; 1565 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
6492 } cn50xx; 1566 } cn50xx;
6493 struct cvmx_ciu_intx_sum4_cn52xx { 1567 struct cvmx_ciu_intx_sum4_cn52xx {
6494#ifdef __BIG_ENDIAN_BITFIELD
6495 uint64_t bootdma:1; 1568 uint64_t bootdma:1;
6496 uint64_t mii:1; 1569 uint64_t mii:1;
6497 uint64_t ipdppthr:1; 1570 uint64_t ipdppthr:1;
@@ -6514,34 +1587,9 @@ union cvmx_ciu_intx_sum4 {
6514 uint64_t mbox:2; 1587 uint64_t mbox:2;
6515 uint64_t gpio:16; 1588 uint64_t gpio:16;
6516 uint64_t workq:16; 1589 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
6541 } cn52xx; 1590 } cn52xx;
6542 struct cvmx_ciu_intx_sum4_cn52xx cn52xxp1; 1591 struct cvmx_ciu_intx_sum4_cn52xx cn52xxp1;
6543 struct cvmx_ciu_intx_sum4_cn56xx { 1592 struct cvmx_ciu_intx_sum4_cn56xx {
6544#ifdef __BIG_ENDIAN_BITFIELD
6545 uint64_t bootdma:1; 1593 uint64_t bootdma:1;
6546 uint64_t mii:1; 1594 uint64_t mii:1;
6547 uint64_t ipdppthr:1; 1595 uint64_t ipdppthr:1;
@@ -6563,33 +1611,9 @@ union cvmx_ciu_intx_sum4 {
6563 uint64_t mbox:2; 1611 uint64_t mbox:2;
6564 uint64_t gpio:16; 1612 uint64_t gpio:16;
6565 uint64_t workq:16; 1613 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
6589 } cn56xx; 1614 } cn56xx;
6590 struct cvmx_ciu_intx_sum4_cn56xx cn56xxp1; 1615 struct cvmx_ciu_intx_sum4_cn56xx cn56xxp1;
6591 struct cvmx_ciu_intx_sum4_cn58xx { 1616 struct cvmx_ciu_intx_sum4_cn58xx {
6592#ifdef __BIG_ENDIAN_BITFIELD
6593 uint64_t reserved_56_63:8; 1617 uint64_t reserved_56_63:8;
6594 uint64_t timer:4; 1618 uint64_t timer:4;
6595 uint64_t key_zero:1; 1619 uint64_t key_zero:1;
@@ -6605,232 +1629,15 @@ union cvmx_ciu_intx_sum4 {
6605 uint64_t mbox:2; 1629 uint64_t mbox:2;
6606 uint64_t gpio:16; 1630 uint64_t gpio:16;
6607 uint64_t workq:16; 1631 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
6625 } cn58xx; 1632 } cn58xx;
6626 struct cvmx_ciu_intx_sum4_cn58xx cn58xxp1; 1633 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;
6676 struct cvmx_ciu_intx_sum4_cn52xx cn63xx; 1634 struct cvmx_ciu_intx_sum4_cn52xx cn63xx;
6677 struct cvmx_ciu_intx_sum4_cn52xx cn63xxp1; 1635 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;
6778}; 1636};
6779 1637
6780union cvmx_ciu_int33_sum0 { 1638union cvmx_ciu_int33_sum0 {
6781 uint64_t u64; 1639 uint64_t u64;
6782 struct cvmx_ciu_int33_sum0_s { 1640 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
6834 uint64_t bootdma:1; 1641 uint64_t bootdma:1;
6835 uint64_t mii:1; 1642 uint64_t mii:1;
6836 uint64_t ipdppthr:1; 1643 uint64_t ipdppthr:1;
@@ -6853,202 +1660,29 @@ union cvmx_ciu_int33_sum0 {
6853 uint64_t mbox:2; 1660 uint64_t mbox:2;
6854 uint64_t gpio:16; 1661 uint64_t gpio:16;
6855 uint64_t workq:16; 1662 uint64_t workq:16;
6856#else 1663 } s;
6857 uint64_t workq:16; 1664 struct cvmx_ciu_int33_sum0_s cn63xx;
6858 uint64_t gpio:16; 1665 struct cvmx_ciu_int33_sum0_s cn63xxp1;
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;
6982}; 1666};
6983 1667
6984union cvmx_ciu_int_dbg_sel { 1668union cvmx_ciu_int_dbg_sel {
6985 uint64_t u64; 1669 uint64_t u64;
6986 struct cvmx_ciu_int_dbg_sel_s { 1670 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
7022 uint64_t reserved_19_63:45; 1671 uint64_t reserved_19_63:45;
7023 uint64_t sel:3; 1672 uint64_t sel:3;
7024 uint64_t reserved_10_15:6; 1673 uint64_t reserved_10_15:6;
7025 uint64_t irq:2; 1674 uint64_t irq:2;
7026 uint64_t reserved_3_7:5; 1675 uint64_t reserved_3_7:5;
7027 uint64_t pp:3; 1676 uint64_t pp:3;
7028#else 1677 } s;
7029 uint64_t pp:3; 1678 struct cvmx_ciu_int_dbg_sel_s cn63xx;
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;
7041}; 1679};
7042 1680
7043union cvmx_ciu_int_sum1 { 1681union cvmx_ciu_int_sum1 {
7044 uint64_t u64; 1682 uint64_t u64;
7045 struct cvmx_ciu_int_sum1_s { 1683 struct cvmx_ciu_int_sum1_s {
7046#ifdef __BIG_ENDIAN_BITFIELD
7047 uint64_t rst:1; 1684 uint64_t rst:1;
7048 uint64_t reserved_62_62:1; 1685 uint64_t reserved_57_62:6;
7049 uint64_t srio3:1;
7050 uint64_t srio2:1;
7051 uint64_t reserved_57_59:3;
7052 uint64_t dfm:1; 1686 uint64_t dfm:1;
7053 uint64_t reserved_53_55:3; 1687 uint64_t reserved_53_55:3;
7054 uint64_t lmc0:1; 1688 uint64_t lmc0:1;
@@ -7058,8 +1692,7 @@ union cvmx_ciu_int_sum1 {
7058 uint64_t pem0:1; 1692 uint64_t pem0:1;
7059 uint64_t ptp:1; 1693 uint64_t ptp:1;
7060 uint64_t agl:1; 1694 uint64_t agl:1;
7061 uint64_t reserved_38_45:8; 1695 uint64_t reserved_37_45:9;
7062 uint64_t agx1:1;
7063 uint64_t agx0:1; 1696 uint64_t agx0:1;
7064 uint64_t dpi:1; 1697 uint64_t dpi:1;
7065 uint64_t sli:1; 1698 uint64_t sli:1;
@@ -7082,78 +1715,22 @@ union cvmx_ciu_int_sum1 {
7082 uint64_t usb1:1; 1715 uint64_t usb1:1;
7083 uint64_t uart2:1; 1716 uint64_t uart2:1;
7084 uint64_t wdog:16; 1717 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
7125 } s; 1718 } s;
7126 struct cvmx_ciu_int_sum1_cn30xx { 1719 struct cvmx_ciu_int_sum1_cn30xx {
7127#ifdef __BIG_ENDIAN_BITFIELD
7128 uint64_t reserved_1_63:63; 1720 uint64_t reserved_1_63:63;
7129 uint64_t wdog:1; 1721 uint64_t wdog:1;
7130#else
7131 uint64_t wdog:1;
7132 uint64_t reserved_1_63:63;
7133#endif
7134 } cn30xx; 1722 } cn30xx;
7135 struct cvmx_ciu_int_sum1_cn31xx { 1723 struct cvmx_ciu_int_sum1_cn31xx {
7136#ifdef __BIG_ENDIAN_BITFIELD
7137 uint64_t reserved_2_63:62; 1724 uint64_t reserved_2_63:62;
7138 uint64_t wdog:2; 1725 uint64_t wdog:2;
7139#else
7140 uint64_t wdog:2;
7141 uint64_t reserved_2_63:62;
7142#endif
7143 } cn31xx; 1726 } cn31xx;
7144 struct cvmx_ciu_int_sum1_cn38xx { 1727 struct cvmx_ciu_int_sum1_cn38xx {
7145#ifdef __BIG_ENDIAN_BITFIELD
7146 uint64_t reserved_16_63:48; 1728 uint64_t reserved_16_63:48;
7147 uint64_t wdog:16; 1729 uint64_t wdog:16;
7148#else
7149 uint64_t wdog:16;
7150 uint64_t reserved_16_63:48;
7151#endif
7152 } cn38xx; 1730 } cn38xx;
7153 struct cvmx_ciu_int_sum1_cn38xx cn38xxp2; 1731 struct cvmx_ciu_int_sum1_cn38xx cn38xxp2;
7154 struct cvmx_ciu_int_sum1_cn31xx cn50xx; 1732 struct cvmx_ciu_int_sum1_cn31xx cn50xx;
7155 struct cvmx_ciu_int_sum1_cn52xx { 1733 struct cvmx_ciu_int_sum1_cn52xx {
7156#ifdef __BIG_ENDIAN_BITFIELD
7157 uint64_t reserved_20_63:44; 1734 uint64_t reserved_20_63:44;
7158 uint64_t nand:1; 1735 uint64_t nand:1;
7159 uint64_t mii1:1; 1736 uint64_t mii1:1;
@@ -7161,114 +1738,23 @@ union cvmx_ciu_int_sum1 {
7161 uint64_t uart2:1; 1738 uint64_t uart2:1;
7162 uint64_t reserved_4_15:12; 1739 uint64_t reserved_4_15:12;
7163 uint64_t wdog:4; 1740 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
7173 } cn52xx; 1741 } cn52xx;
7174 struct cvmx_ciu_int_sum1_cn52xxp1 { 1742 struct cvmx_ciu_int_sum1_cn52xxp1 {
7175#ifdef __BIG_ENDIAN_BITFIELD
7176 uint64_t reserved_19_63:45; 1743 uint64_t reserved_19_63:45;
7177 uint64_t mii1:1; 1744 uint64_t mii1:1;
7178 uint64_t usb1:1; 1745 uint64_t usb1:1;
7179 uint64_t uart2:1; 1746 uint64_t uart2:1;
7180 uint64_t reserved_4_15:12; 1747 uint64_t reserved_4_15:12;
7181 uint64_t wdog:4; 1748 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
7190 } cn52xxp1; 1749 } cn52xxp1;
7191 struct cvmx_ciu_int_sum1_cn56xx { 1750 struct cvmx_ciu_int_sum1_cn56xx {
7192#ifdef __BIG_ENDIAN_BITFIELD
7193 uint64_t reserved_12_63:52; 1751 uint64_t reserved_12_63:52;
7194 uint64_t wdog:12; 1752 uint64_t wdog:12;
7195#else
7196 uint64_t wdog:12;
7197 uint64_t reserved_12_63:52;
7198#endif
7199 } cn56xx; 1753 } cn56xx;
7200 struct cvmx_ciu_int_sum1_cn56xx cn56xxp1; 1754 struct cvmx_ciu_int_sum1_cn56xx cn56xxp1;
7201 struct cvmx_ciu_int_sum1_cn38xx cn58xx; 1755 struct cvmx_ciu_int_sum1_cn38xx cn58xx;
7202 struct cvmx_ciu_int_sum1_cn38xx cn58xxp1; 1756 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;
7270 struct cvmx_ciu_int_sum1_cn63xx { 1757 struct cvmx_ciu_int_sum1_cn63xx {
7271#ifdef __BIG_ENDIAN_BITFIELD
7272 uint64_t rst:1; 1758 uint64_t rst:1;
7273 uint64_t reserved_57_62:6; 1759 uint64_t reserved_57_62:6;
7274 uint64_t dfm:1; 1760 uint64_t dfm:1;
@@ -7302,195 +1788,15 @@ union cvmx_ciu_int_sum1 {
7302 uint64_t mii1:1; 1788 uint64_t mii1:1;
7303 uint64_t reserved_6_17:12; 1789 uint64_t reserved_6_17:12;
7304 uint64_t wdog:6; 1790 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
7340 } cn63xx; 1791 } cn63xx;
7341 struct cvmx_ciu_int_sum1_cn63xx cn63xxp1; 1792 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;
7482}; 1793};
7483 1794
7484union cvmx_ciu_mbox_clrx { 1795union cvmx_ciu_mbox_clrx {
7485 uint64_t u64; 1796 uint64_t u64;
7486 struct cvmx_ciu_mbox_clrx_s { 1797 struct cvmx_ciu_mbox_clrx_s {
7487#ifdef __BIG_ENDIAN_BITFIELD
7488 uint64_t reserved_32_63:32; 1798 uint64_t reserved_32_63:32;
7489 uint64_t bits:32; 1799 uint64_t bits:32;
7490#else
7491 uint64_t bits:32;
7492 uint64_t reserved_32_63:32;
7493#endif
7494 } s; 1800 } s;
7495 struct cvmx_ciu_mbox_clrx_s cn30xx; 1801 struct cvmx_ciu_mbox_clrx_s cn30xx;
7496 struct cvmx_ciu_mbox_clrx_s cn31xx; 1802 struct cvmx_ciu_mbox_clrx_s cn31xx;
@@ -7503,25 +1809,15 @@ union cvmx_ciu_mbox_clrx {
7503 struct cvmx_ciu_mbox_clrx_s cn56xxp1; 1809 struct cvmx_ciu_mbox_clrx_s cn56xxp1;
7504 struct cvmx_ciu_mbox_clrx_s cn58xx; 1810 struct cvmx_ciu_mbox_clrx_s cn58xx;
7505 struct cvmx_ciu_mbox_clrx_s cn58xxp1; 1811 struct cvmx_ciu_mbox_clrx_s cn58xxp1;
7506 struct cvmx_ciu_mbox_clrx_s cn61xx;
7507 struct cvmx_ciu_mbox_clrx_s cn63xx; 1812 struct cvmx_ciu_mbox_clrx_s cn63xx;
7508 struct cvmx_ciu_mbox_clrx_s cn63xxp1; 1813 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;
7513}; 1814};
7514 1815
7515union cvmx_ciu_mbox_setx { 1816union cvmx_ciu_mbox_setx {
7516 uint64_t u64; 1817 uint64_t u64;
7517 struct cvmx_ciu_mbox_setx_s { 1818 struct cvmx_ciu_mbox_setx_s {
7518#ifdef __BIG_ENDIAN_BITFIELD
7519 uint64_t reserved_32_63:32; 1819 uint64_t reserved_32_63:32;
7520 uint64_t bits:32; 1820 uint64_t bits:32;
7521#else
7522 uint64_t bits:32;
7523 uint64_t reserved_32_63:32;
7524#endif
7525 } s; 1821 } s;
7526 struct cvmx_ciu_mbox_setx_s cn30xx; 1822 struct cvmx_ciu_mbox_setx_s cn30xx;
7527 struct cvmx_ciu_mbox_setx_s cn31xx; 1823 struct cvmx_ciu_mbox_setx_s cn31xx;
@@ -7534,112 +1830,51 @@ union cvmx_ciu_mbox_setx {
7534 struct cvmx_ciu_mbox_setx_s cn56xxp1; 1830 struct cvmx_ciu_mbox_setx_s cn56xxp1;
7535 struct cvmx_ciu_mbox_setx_s cn58xx; 1831 struct cvmx_ciu_mbox_setx_s cn58xx;
7536 struct cvmx_ciu_mbox_setx_s cn58xxp1; 1832 struct cvmx_ciu_mbox_setx_s cn58xxp1;
7537 struct cvmx_ciu_mbox_setx_s cn61xx;
7538 struct cvmx_ciu_mbox_setx_s cn63xx; 1833 struct cvmx_ciu_mbox_setx_s cn63xx;
7539 struct cvmx_ciu_mbox_setx_s cn63xxp1; 1834 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;
7544}; 1835};
7545 1836
7546union cvmx_ciu_nmi { 1837union cvmx_ciu_nmi {
7547 uint64_t u64; 1838 uint64_t u64;
7548 struct cvmx_ciu_nmi_s { 1839 struct cvmx_ciu_nmi_s {
7549#ifdef __BIG_ENDIAN_BITFIELD 1840 uint64_t reserved_16_63:48;
7550 uint64_t reserved_32_63:32; 1841 uint64_t nmi:16;
7551 uint64_t nmi:32;
7552#else
7553 uint64_t nmi:32;
7554 uint64_t reserved_32_63:32;
7555#endif
7556 } s; 1842 } s;
7557 struct cvmx_ciu_nmi_cn30xx { 1843 struct cvmx_ciu_nmi_cn30xx {
7558#ifdef __BIG_ENDIAN_BITFIELD
7559 uint64_t reserved_1_63:63; 1844 uint64_t reserved_1_63:63;
7560 uint64_t nmi:1; 1845 uint64_t nmi:1;
7561#else
7562 uint64_t nmi:1;
7563 uint64_t reserved_1_63:63;
7564#endif
7565 } cn30xx; 1846 } cn30xx;
7566 struct cvmx_ciu_nmi_cn31xx { 1847 struct cvmx_ciu_nmi_cn31xx {
7567#ifdef __BIG_ENDIAN_BITFIELD
7568 uint64_t reserved_2_63:62; 1848 uint64_t reserved_2_63:62;
7569 uint64_t nmi:2; 1849 uint64_t nmi:2;
7570#else
7571 uint64_t nmi:2;
7572 uint64_t reserved_2_63:62;
7573#endif
7574 } cn31xx; 1850 } cn31xx;
7575 struct cvmx_ciu_nmi_cn38xx { 1851 struct cvmx_ciu_nmi_s cn38xx;
7576#ifdef __BIG_ENDIAN_BITFIELD 1852 struct cvmx_ciu_nmi_s cn38xxp2;
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;
7585 struct cvmx_ciu_nmi_cn31xx cn50xx; 1853 struct cvmx_ciu_nmi_cn31xx cn50xx;
7586 struct cvmx_ciu_nmi_cn52xx { 1854 struct cvmx_ciu_nmi_cn52xx {
7587#ifdef __BIG_ENDIAN_BITFIELD
7588 uint64_t reserved_4_63:60; 1855 uint64_t reserved_4_63:60;
7589 uint64_t nmi:4; 1856 uint64_t nmi:4;
7590#else
7591 uint64_t nmi:4;
7592 uint64_t reserved_4_63:60;
7593#endif
7594 } cn52xx; 1857 } cn52xx;
7595 struct cvmx_ciu_nmi_cn52xx cn52xxp1; 1858 struct cvmx_ciu_nmi_cn52xx cn52xxp1;
7596 struct cvmx_ciu_nmi_cn56xx { 1859 struct cvmx_ciu_nmi_cn56xx {
7597#ifdef __BIG_ENDIAN_BITFIELD
7598 uint64_t reserved_12_63:52; 1860 uint64_t reserved_12_63:52;
7599 uint64_t nmi:12; 1861 uint64_t nmi:12;
7600#else
7601 uint64_t nmi:12;
7602 uint64_t reserved_12_63:52;
7603#endif
7604 } cn56xx; 1862 } cn56xx;
7605 struct cvmx_ciu_nmi_cn56xx cn56xxp1; 1863 struct cvmx_ciu_nmi_cn56xx cn56xxp1;
7606 struct cvmx_ciu_nmi_cn38xx cn58xx; 1864 struct cvmx_ciu_nmi_s cn58xx;
7607 struct cvmx_ciu_nmi_cn38xx cn58xxp1; 1865 struct cvmx_ciu_nmi_s cn58xxp1;
7608 struct cvmx_ciu_nmi_cn52xx cn61xx;
7609 struct cvmx_ciu_nmi_cn63xx { 1866 struct cvmx_ciu_nmi_cn63xx {
7610#ifdef __BIG_ENDIAN_BITFIELD
7611 uint64_t reserved_6_63:58; 1867 uint64_t reserved_6_63:58;
7612 uint64_t nmi:6; 1868 uint64_t nmi:6;
7613#else
7614 uint64_t nmi:6;
7615 uint64_t reserved_6_63:58;
7616#endif
7617 } cn63xx; 1869 } cn63xx;
7618 struct cvmx_ciu_nmi_cn63xx cn63xxp1; 1870 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;
7631}; 1871};
7632 1872
7633union cvmx_ciu_pci_inta { 1873union cvmx_ciu_pci_inta {
7634 uint64_t u64; 1874 uint64_t u64;
7635 struct cvmx_ciu_pci_inta_s { 1875 struct cvmx_ciu_pci_inta_s {
7636#ifdef __BIG_ENDIAN_BITFIELD
7637 uint64_t reserved_2_63:62; 1876 uint64_t reserved_2_63:62;
7638 uint64_t intr:2; 1877 uint64_t intr:2;
7639#else
7640 uint64_t intr:2;
7641 uint64_t reserved_2_63:62;
7642#endif
7643 } s; 1878 } s;
7644 struct cvmx_ciu_pci_inta_s cn30xx; 1879 struct cvmx_ciu_pci_inta_s cn30xx;
7645 struct cvmx_ciu_pci_inta_s cn31xx; 1880 struct cvmx_ciu_pci_inta_s cn31xx;
@@ -7652,125 +1887,50 @@ union cvmx_ciu_pci_inta {
7652 struct cvmx_ciu_pci_inta_s cn56xxp1; 1887 struct cvmx_ciu_pci_inta_s cn56xxp1;
7653 struct cvmx_ciu_pci_inta_s cn58xx; 1888 struct cvmx_ciu_pci_inta_s cn58xx;
7654 struct cvmx_ciu_pci_inta_s cn58xxp1; 1889 struct cvmx_ciu_pci_inta_s cn58xxp1;
7655 struct cvmx_ciu_pci_inta_s cn61xx;
7656 struct cvmx_ciu_pci_inta_s cn63xx; 1890 struct cvmx_ciu_pci_inta_s cn63xx;
7657 struct cvmx_ciu_pci_inta_s cn63xxp1; 1891 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;
7677}; 1892};
7678 1893
7679union cvmx_ciu_pp_dbg { 1894union cvmx_ciu_pp_dbg {
7680 uint64_t u64; 1895 uint64_t u64;
7681 struct cvmx_ciu_pp_dbg_s { 1896 struct cvmx_ciu_pp_dbg_s {
7682#ifdef __BIG_ENDIAN_BITFIELD 1897 uint64_t reserved_16_63:48;
7683 uint64_t reserved_32_63:32; 1898 uint64_t ppdbg:16;
7684 uint64_t ppdbg:32;
7685#else
7686 uint64_t ppdbg:32;
7687 uint64_t reserved_32_63:32;
7688#endif
7689 } s; 1899 } s;
7690 struct cvmx_ciu_pp_dbg_cn30xx { 1900 struct cvmx_ciu_pp_dbg_cn30xx {
7691#ifdef __BIG_ENDIAN_BITFIELD
7692 uint64_t reserved_1_63:63; 1901 uint64_t reserved_1_63:63;
7693 uint64_t ppdbg:1; 1902 uint64_t ppdbg:1;
7694#else
7695 uint64_t ppdbg:1;
7696 uint64_t reserved_1_63:63;
7697#endif
7698 } cn30xx; 1903 } cn30xx;
7699 struct cvmx_ciu_pp_dbg_cn31xx { 1904 struct cvmx_ciu_pp_dbg_cn31xx {
7700#ifdef __BIG_ENDIAN_BITFIELD
7701 uint64_t reserved_2_63:62; 1905 uint64_t reserved_2_63:62;
7702 uint64_t ppdbg:2; 1906 uint64_t ppdbg:2;
7703#else
7704 uint64_t ppdbg:2;
7705 uint64_t reserved_2_63:62;
7706#endif
7707 } cn31xx; 1907 } cn31xx;
7708 struct cvmx_ciu_pp_dbg_cn38xx { 1908 struct cvmx_ciu_pp_dbg_s cn38xx;
7709#ifdef __BIG_ENDIAN_BITFIELD 1909 struct cvmx_ciu_pp_dbg_s cn38xxp2;
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;
7718 struct cvmx_ciu_pp_dbg_cn31xx cn50xx; 1910 struct cvmx_ciu_pp_dbg_cn31xx cn50xx;
7719 struct cvmx_ciu_pp_dbg_cn52xx { 1911 struct cvmx_ciu_pp_dbg_cn52xx {
7720#ifdef __BIG_ENDIAN_BITFIELD
7721 uint64_t reserved_4_63:60; 1912 uint64_t reserved_4_63:60;
7722 uint64_t ppdbg:4; 1913 uint64_t ppdbg:4;
7723#else
7724 uint64_t ppdbg:4;
7725 uint64_t reserved_4_63:60;
7726#endif
7727 } cn52xx; 1914 } cn52xx;
7728 struct cvmx_ciu_pp_dbg_cn52xx cn52xxp1; 1915 struct cvmx_ciu_pp_dbg_cn52xx cn52xxp1;
7729 struct cvmx_ciu_pp_dbg_cn56xx { 1916 struct cvmx_ciu_pp_dbg_cn56xx {
7730#ifdef __BIG_ENDIAN_BITFIELD
7731 uint64_t reserved_12_63:52; 1917 uint64_t reserved_12_63:52;
7732 uint64_t ppdbg:12; 1918 uint64_t ppdbg:12;
7733#else
7734 uint64_t ppdbg:12;
7735 uint64_t reserved_12_63:52;
7736#endif
7737 } cn56xx; 1919 } cn56xx;
7738 struct cvmx_ciu_pp_dbg_cn56xx cn56xxp1; 1920 struct cvmx_ciu_pp_dbg_cn56xx cn56xxp1;
7739 struct cvmx_ciu_pp_dbg_cn38xx cn58xx; 1921 struct cvmx_ciu_pp_dbg_s cn58xx;
7740 struct cvmx_ciu_pp_dbg_cn38xx cn58xxp1; 1922 struct cvmx_ciu_pp_dbg_s cn58xxp1;
7741 struct cvmx_ciu_pp_dbg_cn52xx cn61xx;
7742 struct cvmx_ciu_pp_dbg_cn63xx { 1923 struct cvmx_ciu_pp_dbg_cn63xx {
7743#ifdef __BIG_ENDIAN_BITFIELD
7744 uint64_t reserved_6_63:58; 1924 uint64_t reserved_6_63:58;
7745 uint64_t ppdbg:6; 1925 uint64_t ppdbg:6;
7746#else
7747 uint64_t ppdbg:6;
7748 uint64_t reserved_6_63:58;
7749#endif
7750 } cn63xx; 1926 } cn63xx;
7751 struct cvmx_ciu_pp_dbg_cn63xx cn63xxp1; 1927 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;
7764}; 1928};
7765 1929
7766union cvmx_ciu_pp_pokex { 1930union cvmx_ciu_pp_pokex {
7767 uint64_t u64; 1931 uint64_t u64;
7768 struct cvmx_ciu_pp_pokex_s { 1932 struct cvmx_ciu_pp_pokex_s {
7769#ifdef __BIG_ENDIAN_BITFIELD
7770 uint64_t poke:64; 1933 uint64_t poke:64;
7771#else
7772 uint64_t poke:64;
7773#endif
7774 } s; 1934 } s;
7775 struct cvmx_ciu_pp_pokex_s cn30xx; 1935 struct cvmx_ciu_pp_pokex_s cn30xx;
7776 struct cvmx_ciu_pp_pokex_s cn31xx; 1936 struct cvmx_ciu_pp_pokex_s cn31xx;
@@ -7783,120 +1943,54 @@ union cvmx_ciu_pp_pokex {
7783 struct cvmx_ciu_pp_pokex_s cn56xxp1; 1943 struct cvmx_ciu_pp_pokex_s cn56xxp1;
7784 struct cvmx_ciu_pp_pokex_s cn58xx; 1944 struct cvmx_ciu_pp_pokex_s cn58xx;
7785 struct cvmx_ciu_pp_pokex_s cn58xxp1; 1945 struct cvmx_ciu_pp_pokex_s cn58xxp1;
7786 struct cvmx_ciu_pp_pokex_s cn61xx;
7787 struct cvmx_ciu_pp_pokex_s cn63xx; 1946 struct cvmx_ciu_pp_pokex_s cn63xx;
7788 struct cvmx_ciu_pp_pokex_s cn63xxp1; 1947 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;
7793}; 1948};
7794 1949
7795union cvmx_ciu_pp_rst { 1950union cvmx_ciu_pp_rst {
7796 uint64_t u64; 1951 uint64_t u64;
7797 struct cvmx_ciu_pp_rst_s { 1952 struct cvmx_ciu_pp_rst_s {
7798#ifdef __BIG_ENDIAN_BITFIELD 1953 uint64_t reserved_16_63:48;
7799 uint64_t reserved_32_63:32; 1954 uint64_t rst:15;
7800 uint64_t rst:31;
7801 uint64_t rst0:1;
7802#else
7803 uint64_t rst0:1; 1955 uint64_t rst0:1;
7804 uint64_t rst:31;
7805 uint64_t reserved_32_63:32;
7806#endif
7807 } s; 1956 } s;
7808 struct cvmx_ciu_pp_rst_cn30xx { 1957 struct cvmx_ciu_pp_rst_cn30xx {
7809#ifdef __BIG_ENDIAN_BITFIELD
7810 uint64_t reserved_1_63:63; 1958 uint64_t reserved_1_63:63;
7811 uint64_t rst0:1; 1959 uint64_t rst0:1;
7812#else
7813 uint64_t rst0:1;
7814 uint64_t reserved_1_63:63;
7815#endif
7816 } cn30xx; 1960 } cn30xx;
7817 struct cvmx_ciu_pp_rst_cn31xx { 1961 struct cvmx_ciu_pp_rst_cn31xx {
7818#ifdef __BIG_ENDIAN_BITFIELD
7819 uint64_t reserved_2_63:62; 1962 uint64_t reserved_2_63:62;
7820 uint64_t rst:1; 1963 uint64_t rst:1;
7821 uint64_t rst0:1; 1964 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
7827 } cn31xx; 1965 } cn31xx;
7828 struct cvmx_ciu_pp_rst_cn38xx { 1966 struct cvmx_ciu_pp_rst_s cn38xx;
7829#ifdef __BIG_ENDIAN_BITFIELD 1967 struct cvmx_ciu_pp_rst_s cn38xxp2;
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;
7840 struct cvmx_ciu_pp_rst_cn31xx cn50xx; 1968 struct cvmx_ciu_pp_rst_cn31xx cn50xx;
7841 struct cvmx_ciu_pp_rst_cn52xx { 1969 struct cvmx_ciu_pp_rst_cn52xx {
7842#ifdef __BIG_ENDIAN_BITFIELD
7843 uint64_t reserved_4_63:60; 1970 uint64_t reserved_4_63:60;
7844 uint64_t rst:3; 1971 uint64_t rst:3;
7845 uint64_t rst0:1; 1972 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
7851 } cn52xx; 1973 } cn52xx;
7852 struct cvmx_ciu_pp_rst_cn52xx cn52xxp1; 1974 struct cvmx_ciu_pp_rst_cn52xx cn52xxp1;
7853 struct cvmx_ciu_pp_rst_cn56xx { 1975 struct cvmx_ciu_pp_rst_cn56xx {
7854#ifdef __BIG_ENDIAN_BITFIELD
7855 uint64_t reserved_12_63:52; 1976 uint64_t reserved_12_63:52;
7856 uint64_t rst:11; 1977 uint64_t rst:11;
7857 uint64_t rst0:1; 1978 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
7863 } cn56xx; 1979 } cn56xx;
7864 struct cvmx_ciu_pp_rst_cn56xx cn56xxp1; 1980 struct cvmx_ciu_pp_rst_cn56xx cn56xxp1;
7865 struct cvmx_ciu_pp_rst_cn38xx cn58xx; 1981 struct cvmx_ciu_pp_rst_s cn58xx;
7866 struct cvmx_ciu_pp_rst_cn38xx cn58xxp1; 1982 struct cvmx_ciu_pp_rst_s cn58xxp1;
7867 struct cvmx_ciu_pp_rst_cn52xx cn61xx;
7868 struct cvmx_ciu_pp_rst_cn63xx { 1983 struct cvmx_ciu_pp_rst_cn63xx {
7869#ifdef __BIG_ENDIAN_BITFIELD
7870 uint64_t reserved_6_63:58; 1984 uint64_t reserved_6_63:58;
7871 uint64_t rst:5; 1985 uint64_t rst:5;
7872 uint64_t rst0:1; 1986 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
7878 } cn63xx; 1987 } cn63xx;
7879 struct cvmx_ciu_pp_rst_cn63xx cn63xxp1; 1988 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;
7894}; 1989};
7895 1990
7896union cvmx_ciu_qlm0 { 1991union cvmx_ciu_qlm0 {
7897 uint64_t u64; 1992 uint64_t u64;
7898 struct cvmx_ciu_qlm0_s { 1993 struct cvmx_ciu_qlm0_s {
7899#ifdef __BIG_ENDIAN_BITFIELD
7900 uint64_t g2bypass:1; 1994 uint64_t g2bypass:1;
7901 uint64_t reserved_53_62:10; 1995 uint64_t reserved_53_62:10;
7902 uint64_t g2deemph:5; 1996 uint64_t g2deemph:5;
@@ -7910,26 +2004,9 @@ union cvmx_ciu_qlm0 {
7910 uint64_t txmargin:5; 2004 uint64_t txmargin:5;
7911 uint64_t reserved_4_7:4; 2005 uint64_t reserved_4_7:4;
7912 uint64_t lane_en:4; 2006 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
7928 } s; 2007 } s;
7929 struct cvmx_ciu_qlm0_s cn61xx;
7930 struct cvmx_ciu_qlm0_s cn63xx; 2008 struct cvmx_ciu_qlm0_s cn63xx;
7931 struct cvmx_ciu_qlm0_cn63xxp1 { 2009 struct cvmx_ciu_qlm0_cn63xxp1 {
7932#ifdef __BIG_ENDIAN_BITFIELD
7933 uint64_t reserved_32_63:32; 2010 uint64_t reserved_32_63:32;
7934 uint64_t txbypass:1; 2011 uint64_t txbypass:1;
7935 uint64_t reserved_20_30:11; 2012 uint64_t reserved_20_30:11;
@@ -7938,47 +2015,12 @@ union cvmx_ciu_qlm0 {
7938 uint64_t txmargin:5; 2015 uint64_t txmargin:5;
7939 uint64_t reserved_4_7:4; 2016 uint64_t reserved_4_7:4;
7940 uint64_t lane_en:4; 2017 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
7951 } cn63xxp1; 2018 } 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;
7976}; 2019};
7977 2020
7978union cvmx_ciu_qlm1 { 2021union cvmx_ciu_qlm1 {
7979 uint64_t u64; 2022 uint64_t u64;
7980 struct cvmx_ciu_qlm1_s { 2023 struct cvmx_ciu_qlm1_s {
7981#ifdef __BIG_ENDIAN_BITFIELD
7982 uint64_t g2bypass:1; 2024 uint64_t g2bypass:1;
7983 uint64_t reserved_53_62:10; 2025 uint64_t reserved_53_62:10;
7984 uint64_t g2deemph:5; 2026 uint64_t g2deemph:5;
@@ -7992,26 +2034,9 @@ union cvmx_ciu_qlm1 {
7992 uint64_t txmargin:5; 2034 uint64_t txmargin:5;
7993 uint64_t reserved_4_7:4; 2035 uint64_t reserved_4_7:4;
7994 uint64_t lane_en:4; 2036 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
8010 } s; 2037 } s;
8011 struct cvmx_ciu_qlm1_s cn61xx;
8012 struct cvmx_ciu_qlm1_s cn63xx; 2038 struct cvmx_ciu_qlm1_s cn63xx;
8013 struct cvmx_ciu_qlm1_cn63xxp1 { 2039 struct cvmx_ciu_qlm1_cn63xxp1 {
8014#ifdef __BIG_ENDIAN_BITFIELD
8015 uint64_t reserved_32_63:32; 2040 uint64_t reserved_32_63:32;
8016 uint64_t txbypass:1; 2041 uint64_t txbypass:1;
8017 uint64_t reserved_20_30:11; 2042 uint64_t reserved_20_30:11;
@@ -8020,58 +2045,12 @@ union cvmx_ciu_qlm1 {
8020 uint64_t txmargin:5; 2045 uint64_t txmargin:5;
8021 uint64_t reserved_4_7:4; 2046 uint64_t reserved_4_7:4;
8022 uint64_t lane_en:4; 2047 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
8033 } cn63xxp1; 2048 } 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;
8038}; 2049};
8039 2050
8040union cvmx_ciu_qlm2 { 2051union cvmx_ciu_qlm2 {
8041 uint64_t u64; 2052 uint64_t u64;
8042 struct cvmx_ciu_qlm2_s { 2053 struct cvmx_ciu_qlm2_s {
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;
8050 uint64_t txbypass:1;
8051 uint64_t reserved_21_30:10;
8052 uint64_t txdeemph:5;
8053 uint64_t reserved_13_15:3;
8054 uint64_t txmargin:5;
8055 uint64_t reserved_4_7: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
8072 } s;
8073 struct cvmx_ciu_qlm2_cn61xx {
8074#ifdef __BIG_ENDIAN_BITFIELD
8075 uint64_t reserved_32_63:32; 2054 uint64_t reserved_32_63:32;
8076 uint64_t txbypass:1; 2055 uint64_t txbypass:1;
8077 uint64_t reserved_21_30:10; 2056 uint64_t reserved_21_30:10;
@@ -8080,20 +2059,9 @@ union cvmx_ciu_qlm2 {
8080 uint64_t txmargin:5; 2059 uint64_t txmargin:5;
8081 uint64_t reserved_4_7:4; 2060 uint64_t reserved_4_7:4;
8082 uint64_t lane_en:4; 2061 uint64_t lane_en:4;
8083#else 2062 } s;
8084 uint64_t lane_en:4; 2063 struct cvmx_ciu_qlm2_s cn63xx;
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;
8095 struct cvmx_ciu_qlm2_cn63xxp1 { 2064 struct cvmx_ciu_qlm2_cn63xxp1 {
8096#ifdef __BIG_ENDIAN_BITFIELD
8097 uint64_t reserved_32_63:32; 2065 uint64_t reserved_32_63:32;
8098 uint64_t txbypass:1; 2066 uint64_t txbypass:1;
8099 uint64_t reserved_20_30:11; 2067 uint64_t reserved_20_30:11;
@@ -8102,116 +2070,18 @@ union cvmx_ciu_qlm2 {
8102 uint64_t txmargin:5; 2070 uint64_t txmargin:5;
8103 uint64_t reserved_4_7:4; 2071 uint64_t reserved_4_7:4;
8104 uint64_t lane_en:4; 2072 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
8115 } cn63xxp1; 2073 } 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;
8194}; 2074};
8195 2075
8196union cvmx_ciu_qlm_dcok { 2076union cvmx_ciu_qlm_dcok {
8197 uint64_t u64; 2077 uint64_t u64;
8198 struct cvmx_ciu_qlm_dcok_s { 2078 struct cvmx_ciu_qlm_dcok_s {
8199#ifdef __BIG_ENDIAN_BITFIELD
8200 uint64_t reserved_4_63:60; 2079 uint64_t reserved_4_63:60;
8201 uint64_t qlm_dcok:4; 2080 uint64_t qlm_dcok:4;
8202#else
8203 uint64_t qlm_dcok:4;
8204 uint64_t reserved_4_63:60;
8205#endif
8206 } s; 2081 } s;
8207 struct cvmx_ciu_qlm_dcok_cn52xx { 2082 struct cvmx_ciu_qlm_dcok_cn52xx {
8208#ifdef __BIG_ENDIAN_BITFIELD
8209 uint64_t reserved_2_63:62; 2083 uint64_t reserved_2_63:62;
8210 uint64_t qlm_dcok:2; 2084 uint64_t qlm_dcok:2;
8211#else
8212 uint64_t qlm_dcok:2;
8213 uint64_t reserved_2_63:62;
8214#endif
8215 } cn52xx; 2085 } cn52xx;
8216 struct cvmx_ciu_qlm_dcok_cn52xx cn52xxp1; 2086 struct cvmx_ciu_qlm_dcok_cn52xx cn52xxp1;
8217 struct cvmx_ciu_qlm_dcok_s cn56xx; 2087 struct cvmx_ciu_qlm_dcok_s cn56xx;
@@ -8221,108 +2091,47 @@ union cvmx_ciu_qlm_dcok {
8221union cvmx_ciu_qlm_jtgc { 2091union cvmx_ciu_qlm_jtgc {
8222 uint64_t u64; 2092 uint64_t u64;
8223 struct cvmx_ciu_qlm_jtgc_s { 2093 struct cvmx_ciu_qlm_jtgc_s {
8224#ifdef __BIG_ENDIAN_BITFIELD 2094 uint64_t reserved_11_63:53;
8225 uint64_t reserved_17_63:47;
8226 uint64_t bypass_ext:1;
8227 uint64_t reserved_11_15:5;
8228 uint64_t clk_div:3; 2095 uint64_t clk_div:3;
8229 uint64_t reserved_7_7:1; 2096 uint64_t reserved_6_7:2;
8230 uint64_t mux_sel:3; 2097 uint64_t mux_sel:2;
8231 uint64_t bypass:4;
8232#else
8233 uint64_t bypass:4; 2098 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
8241 } s; 2099 } s;
8242 struct cvmx_ciu_qlm_jtgc_cn52xx { 2100 struct cvmx_ciu_qlm_jtgc_cn52xx {
8243#ifdef __BIG_ENDIAN_BITFIELD
8244 uint64_t reserved_11_63:53; 2101 uint64_t reserved_11_63:53;
8245 uint64_t clk_div:3; 2102 uint64_t clk_div:3;
8246 uint64_t reserved_5_7:3; 2103 uint64_t reserved_5_7:3;
8247 uint64_t mux_sel:1; 2104 uint64_t mux_sel:1;
8248 uint64_t reserved_2_3:2; 2105 uint64_t reserved_2_3:2;
8249 uint64_t bypass:2; 2106 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
8258 } cn52xx; 2107 } cn52xx;
8259 struct cvmx_ciu_qlm_jtgc_cn52xx cn52xxp1; 2108 struct cvmx_ciu_qlm_jtgc_cn52xx cn52xxp1;
8260 struct cvmx_ciu_qlm_jtgc_cn56xx { 2109 struct cvmx_ciu_qlm_jtgc_s cn56xx;
8261#ifdef __BIG_ENDIAN_BITFIELD 2110 struct cvmx_ciu_qlm_jtgc_s cn56xxp1;
8262 uint64_t reserved_11_63:53; 2111 struct cvmx_ciu_qlm_jtgc_cn63xx {
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
8278 uint64_t reserved_11_63:53; 2112 uint64_t reserved_11_63:53;
8279 uint64_t clk_div:3; 2113 uint64_t clk_div:3;
8280 uint64_t reserved_6_7:2; 2114 uint64_t reserved_6_7:2;
8281 uint64_t mux_sel:2; 2115 uint64_t mux_sel:2;
8282 uint64_t reserved_3_3:1; 2116 uint64_t reserved_3_3:1;
8283 uint64_t bypass:3; 2117 uint64_t bypass:3;
8284#else 2118 } cn63xx;
8285 uint64_t bypass:3; 2119 struct cvmx_ciu_qlm_jtgc_cn63xx cn63xxp1;
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;
8299}; 2120};
8300 2121
8301union cvmx_ciu_qlm_jtgd { 2122union cvmx_ciu_qlm_jtgd {
8302 uint64_t u64; 2123 uint64_t u64;
8303 struct cvmx_ciu_qlm_jtgd_s { 2124 struct cvmx_ciu_qlm_jtgd_s {
8304#ifdef __BIG_ENDIAN_BITFIELD
8305 uint64_t capture:1; 2125 uint64_t capture:1;
8306 uint64_t shift:1; 2126 uint64_t shift:1;
8307 uint64_t update:1; 2127 uint64_t update:1;
8308 uint64_t reserved_45_60:16; 2128 uint64_t reserved_44_60:17;
8309 uint64_t select:5; 2129 uint64_t select:4;
8310 uint64_t reserved_37_39:3; 2130 uint64_t reserved_37_39:3;
8311 uint64_t shft_cnt:5; 2131 uint64_t shft_cnt:5;
8312 uint64_t shft_reg:32; 2132 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
8323 } s; 2133 } s;
8324 struct cvmx_ciu_qlm_jtgd_cn52xx { 2134 struct cvmx_ciu_qlm_jtgd_cn52xx {
8325#ifdef __BIG_ENDIAN_BITFIELD
8326 uint64_t capture:1; 2135 uint64_t capture:1;
8327 uint64_t shift:1; 2136 uint64_t shift:1;
8328 uint64_t update:1; 2137 uint64_t update:1;
@@ -8331,58 +2140,18 @@ union cvmx_ciu_qlm_jtgd {
8331 uint64_t reserved_37_39:3; 2140 uint64_t reserved_37_39:3;
8332 uint64_t shft_cnt:5; 2141 uint64_t shft_cnt:5;
8333 uint64_t shft_reg:32; 2142 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
8344 } cn52xx; 2143 } cn52xx;
8345 struct cvmx_ciu_qlm_jtgd_cn52xx cn52xxp1; 2144 struct cvmx_ciu_qlm_jtgd_cn52xx cn52xxp1;
8346 struct cvmx_ciu_qlm_jtgd_cn56xx { 2145 struct cvmx_ciu_qlm_jtgd_s 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;
8367 struct cvmx_ciu_qlm_jtgd_cn56xxp1 { 2146 struct cvmx_ciu_qlm_jtgd_cn56xxp1 {
8368#ifdef __BIG_ENDIAN_BITFIELD
8369 uint64_t capture:1; 2147 uint64_t capture:1;
8370 uint64_t shift:1; 2148 uint64_t shift:1;
8371 uint64_t update:1; 2149 uint64_t update:1;
8372 uint64_t reserved_37_60:24; 2150 uint64_t reserved_37_60:24;
8373 uint64_t shft_cnt:5; 2151 uint64_t shft_cnt:5;
8374 uint64_t shft_reg:32; 2152 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
8383 } cn56xxp1; 2153 } cn56xxp1;
8384 struct cvmx_ciu_qlm_jtgd_cn61xx { 2154 struct cvmx_ciu_qlm_jtgd_cn63xx {
8385#ifdef __BIG_ENDIAN_BITFIELD
8386 uint64_t capture:1; 2155 uint64_t capture:1;
8387 uint64_t shift:1; 2156 uint64_t shift:1;
8388 uint64_t update:1; 2157 uint64_t update:1;
@@ -8391,35 +2160,15 @@ union cvmx_ciu_qlm_jtgd {
8391 uint64_t reserved_37_39:3; 2160 uint64_t reserved_37_39:3;
8392 uint64_t shft_cnt:5; 2161 uint64_t shft_cnt:5;
8393 uint64_t shft_reg:32; 2162 uint64_t shft_reg:32;
8394#else 2163 } cn63xx;
8395 uint64_t shft_reg:32; 2164 struct cvmx_ciu_qlm_jtgd_cn63xx cn63xxp1;
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;
8411}; 2165};
8412 2166
8413union cvmx_ciu_soft_bist { 2167union cvmx_ciu_soft_bist {
8414 uint64_t u64; 2168 uint64_t u64;
8415 struct cvmx_ciu_soft_bist_s { 2169 struct cvmx_ciu_soft_bist_s {
8416#ifdef __BIG_ENDIAN_BITFIELD
8417 uint64_t reserved_1_63:63; 2170 uint64_t reserved_1_63:63;
8418 uint64_t soft_bist:1; 2171 uint64_t soft_bist:1;
8419#else
8420 uint64_t soft_bist:1;
8421 uint64_t reserved_1_63:63;
8422#endif
8423 } s; 2172 } s;
8424 struct cvmx_ciu_soft_bist_s cn30xx; 2173 struct cvmx_ciu_soft_bist_s cn30xx;
8425 struct cvmx_ciu_soft_bist_s cn31xx; 2174 struct cvmx_ciu_soft_bist_s cn31xx;
@@ -8432,29 +2181,17 @@ union cvmx_ciu_soft_bist {
8432 struct cvmx_ciu_soft_bist_s cn56xxp1; 2181 struct cvmx_ciu_soft_bist_s cn56xxp1;
8433 struct cvmx_ciu_soft_bist_s cn58xx; 2182 struct cvmx_ciu_soft_bist_s cn58xx;
8434 struct cvmx_ciu_soft_bist_s cn58xxp1; 2183 struct cvmx_ciu_soft_bist_s cn58xxp1;
8435 struct cvmx_ciu_soft_bist_s cn61xx;
8436 struct cvmx_ciu_soft_bist_s cn63xx; 2184 struct cvmx_ciu_soft_bist_s cn63xx;
8437 struct cvmx_ciu_soft_bist_s cn63xxp1; 2185 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;
8442}; 2186};
8443 2187
8444union cvmx_ciu_soft_prst { 2188union cvmx_ciu_soft_prst {
8445 uint64_t u64; 2189 uint64_t u64;
8446 struct cvmx_ciu_soft_prst_s { 2190 struct cvmx_ciu_soft_prst_s {
8447#ifdef __BIG_ENDIAN_BITFIELD
8448 uint64_t reserved_3_63:61; 2191 uint64_t reserved_3_63:61;
8449 uint64_t host64:1; 2192 uint64_t host64:1;
8450 uint64_t npi:1; 2193 uint64_t npi:1;
8451 uint64_t soft_prst:1; 2194 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
8458 } s; 2195 } s;
8459 struct cvmx_ciu_soft_prst_s cn30xx; 2196 struct cvmx_ciu_soft_prst_s cn30xx;
8460 struct cvmx_ciu_soft_prst_s cn31xx; 2197 struct cvmx_ciu_soft_prst_s cn31xx;
@@ -8462,90 +2199,37 @@ union cvmx_ciu_soft_prst {
8462 struct cvmx_ciu_soft_prst_s cn38xxp2; 2199 struct cvmx_ciu_soft_prst_s cn38xxp2;
8463 struct cvmx_ciu_soft_prst_s cn50xx; 2200 struct cvmx_ciu_soft_prst_s cn50xx;
8464 struct cvmx_ciu_soft_prst_cn52xx { 2201 struct cvmx_ciu_soft_prst_cn52xx {
8465#ifdef __BIG_ENDIAN_BITFIELD
8466 uint64_t reserved_1_63:63; 2202 uint64_t reserved_1_63:63;
8467 uint64_t soft_prst:1; 2203 uint64_t soft_prst:1;
8468#else
8469 uint64_t soft_prst:1;
8470 uint64_t reserved_1_63:63;
8471#endif
8472 } cn52xx; 2204 } cn52xx;
8473 struct cvmx_ciu_soft_prst_cn52xx cn52xxp1; 2205 struct cvmx_ciu_soft_prst_cn52xx cn52xxp1;
8474 struct cvmx_ciu_soft_prst_cn52xx cn56xx; 2206 struct cvmx_ciu_soft_prst_cn52xx cn56xx;
8475 struct cvmx_ciu_soft_prst_cn52xx cn56xxp1; 2207 struct cvmx_ciu_soft_prst_cn52xx cn56xxp1;
8476 struct cvmx_ciu_soft_prst_s cn58xx; 2208 struct cvmx_ciu_soft_prst_s cn58xx;
8477 struct cvmx_ciu_soft_prst_s cn58xxp1; 2209 struct cvmx_ciu_soft_prst_s cn58xxp1;
8478 struct cvmx_ciu_soft_prst_cn52xx cn61xx;
8479 struct cvmx_ciu_soft_prst_cn52xx cn63xx; 2210 struct cvmx_ciu_soft_prst_cn52xx cn63xx;
8480 struct cvmx_ciu_soft_prst_cn52xx cn63xxp1; 2211 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;
8485}; 2212};
8486 2213
8487union cvmx_ciu_soft_prst1 { 2214union cvmx_ciu_soft_prst1 {
8488 uint64_t u64; 2215 uint64_t u64;
8489 struct cvmx_ciu_soft_prst1_s { 2216 struct cvmx_ciu_soft_prst1_s {
8490#ifdef __BIG_ENDIAN_BITFIELD
8491 uint64_t reserved_1_63:63; 2217 uint64_t reserved_1_63:63;
8492 uint64_t soft_prst:1; 2218 uint64_t soft_prst:1;
8493#else
8494 uint64_t soft_prst:1;
8495 uint64_t reserved_1_63:63;
8496#endif
8497 } s; 2219 } s;
8498 struct cvmx_ciu_soft_prst1_s cn52xx; 2220 struct cvmx_ciu_soft_prst1_s cn52xx;
8499 struct cvmx_ciu_soft_prst1_s cn52xxp1; 2221 struct cvmx_ciu_soft_prst1_s cn52xxp1;
8500 struct cvmx_ciu_soft_prst1_s cn56xx; 2222 struct cvmx_ciu_soft_prst1_s cn56xx;
8501 struct cvmx_ciu_soft_prst1_s cn56xxp1; 2223 struct cvmx_ciu_soft_prst1_s cn56xxp1;
8502 struct cvmx_ciu_soft_prst1_s cn61xx;
8503 struct cvmx_ciu_soft_prst1_s cn63xx; 2224 struct cvmx_ciu_soft_prst1_s cn63xx;
8504 struct cvmx_ciu_soft_prst1_s cn63xxp1; 2225 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;
8537}; 2226};
8538 2227
8539union cvmx_ciu_soft_rst { 2228union cvmx_ciu_soft_rst {
8540 uint64_t u64; 2229 uint64_t u64;
8541 struct cvmx_ciu_soft_rst_s { 2230 struct cvmx_ciu_soft_rst_s {
8542#ifdef __BIG_ENDIAN_BITFIELD
8543 uint64_t reserved_1_63:63; 2231 uint64_t reserved_1_63:63;
8544 uint64_t soft_rst:1; 2232 uint64_t soft_rst:1;
8545#else
8546 uint64_t soft_rst:1;
8547 uint64_t reserved_1_63:63;
8548#endif
8549 } s; 2233 } s;
8550 struct cvmx_ciu_soft_rst_s cn30xx; 2234 struct cvmx_ciu_soft_rst_s cn30xx;
8551 struct cvmx_ciu_soft_rst_s cn31xx; 2235 struct cvmx_ciu_soft_rst_s cn31xx;
@@ -8558,1371 +2242,16 @@ union cvmx_ciu_soft_rst {
8558 struct cvmx_ciu_soft_rst_s cn56xxp1; 2242 struct cvmx_ciu_soft_rst_s cn56xxp1;
8559 struct cvmx_ciu_soft_rst_s cn58xx; 2243 struct cvmx_ciu_soft_rst_s cn58xx;
8560 struct cvmx_ciu_soft_rst_s cn58xxp1; 2244 struct cvmx_ciu_soft_rst_s cn58xxp1;
8561 struct cvmx_ciu_soft_rst_s cn61xx;
8562 struct cvmx_ciu_soft_rst_s cn63xx; 2245 struct cvmx_ciu_soft_rst_s cn63xx;
8563 struct cvmx_ciu_soft_rst_s cn63xxp1; 2246 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;
9912}; 2247};
9913 2248
9914union cvmx_ciu_timx { 2249union cvmx_ciu_timx {
9915 uint64_t u64; 2250 uint64_t u64;
9916 struct cvmx_ciu_timx_s { 2251 struct cvmx_ciu_timx_s {
9917#ifdef __BIG_ENDIAN_BITFIELD
9918 uint64_t reserved_37_63:27; 2252 uint64_t reserved_37_63:27;
9919 uint64_t one_shot:1; 2253 uint64_t one_shot:1;
9920 uint64_t len:36; 2254 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
9926 } s; 2255 } s;
9927 struct cvmx_ciu_timx_s cn30xx; 2256 struct cvmx_ciu_timx_s cn30xx;
9928 struct cvmx_ciu_timx_s cn31xx; 2257 struct cvmx_ciu_timx_s cn31xx;
@@ -9935,35 +2264,13 @@ union cvmx_ciu_timx {
9935 struct cvmx_ciu_timx_s cn56xxp1; 2264 struct cvmx_ciu_timx_s cn56xxp1;
9936 struct cvmx_ciu_timx_s cn58xx; 2265 struct cvmx_ciu_timx_s cn58xx;
9937 struct cvmx_ciu_timx_s cn58xxp1; 2266 struct cvmx_ciu_timx_s cn58xxp1;
9938 struct cvmx_ciu_timx_s cn61xx;
9939 struct cvmx_ciu_timx_s cn63xx; 2267 struct cvmx_ciu_timx_s cn63xx;
9940 struct cvmx_ciu_timx_s cn63xxp1; 2268 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;
9961}; 2269};
9962 2270
9963union cvmx_ciu_wdogx { 2271union cvmx_ciu_wdogx {
9964 uint64_t u64; 2272 uint64_t u64;
9965 struct cvmx_ciu_wdogx_s { 2273 struct cvmx_ciu_wdogx_s {
9966#ifdef __BIG_ENDIAN_BITFIELD
9967 uint64_t reserved_46_63:18; 2274 uint64_t reserved_46_63:18;
9968 uint64_t gstopen:1; 2275 uint64_t gstopen:1;
9969 uint64_t dstop:1; 2276 uint64_t dstop:1;
@@ -9971,15 +2278,6 @@ union cvmx_ciu_wdogx {
9971 uint64_t len:16; 2278 uint64_t len:16;
9972 uint64_t state:2; 2279 uint64_t state:2;
9973 uint64_t mode:2; 2280 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
9983 } s; 2281 } s;
9984 struct cvmx_ciu_wdogx_s cn30xx; 2282 struct cvmx_ciu_wdogx_s cn30xx;
9985 struct cvmx_ciu_wdogx_s cn31xx; 2283 struct cvmx_ciu_wdogx_s cn31xx;
@@ -9992,13 +2290,8 @@ union cvmx_ciu_wdogx {
9992 struct cvmx_ciu_wdogx_s cn56xxp1; 2290 struct cvmx_ciu_wdogx_s cn56xxp1;
9993 struct cvmx_ciu_wdogx_s cn58xx; 2291 struct cvmx_ciu_wdogx_s cn58xx;
9994 struct cvmx_ciu_wdogx_s cn58xxp1; 2292 struct cvmx_ciu_wdogx_s cn58xxp1;
9995 struct cvmx_ciu_wdogx_s cn61xx;
9996 struct cvmx_ciu_wdogx_s cn63xx; 2293 struct cvmx_ciu_wdogx_s cn63xx;
9997 struct cvmx_ciu_wdogx_s cn63xxp1; 2294 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;
10002}; 2295};
10003 2296
10004#endif 2297#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-ciu2-defs.h b/arch/mips/include/asm/octeon/cvmx-ciu2-defs.h
deleted file mode 100644
index 148bc9a0085..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-ciu2-defs.h
+++ /dev/null
@@ -1,7108 +0,0 @@
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-cmd-queue.h b/arch/mips/include/asm/octeon/cvmx-cmd-queue.h
deleted file mode 100644
index fed91125317..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-cmd-queue.h
+++ /dev/null
@@ -1,617 +0,0 @@
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-2008 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/*
29 *
30 * Support functions for managing command queues used for
31 * various hardware blocks.
32 *
33 * The common command queue infrastructure abstracts out the
34 * software necessary for adding to Octeon's chained queue
35 * structures. These structures are used for commands to the
36 * PKO, ZIP, DFA, RAID, and DMA engine blocks. Although each
37 * hardware unit takes commands and CSRs of different types,
38 * they all use basic linked command buffers to store the
39 * pending request. In general, users of the CVMX API don't
40 * call cvmx-cmd-queue functions directly. Instead the hardware
41 * unit specific wrapper should be used. The wrappers perform
42 * unit specific validation and CSR writes to submit the
43 * commands.
44 *
45 * Even though most software will never directly interact with
46 * cvmx-cmd-queue, knowledge of its internal working can help
47 * in diagnosing performance problems and help with debugging.
48 *
49 * Command queue pointers are stored in a global named block
50 * called "cvmx_cmd_queues". Except for the PKO queues, each
51 * hardware queue is stored in its own cache line to reduce SMP
52 * contention on spin locks. The PKO queues are stored such that
53 * every 16th queue is next to each other in memory. This scheme
54 * allows for queues being in separate cache lines when there
55 * are low number of queues per port. With 16 queues per port,
56 * the first queue for each port is in the same cache area. The
57 * second queues for each port are in another area, etc. This
58 * allows software to implement very efficient lockless PKO with
59 * 16 queues per port using a minimum of cache lines per core.
60 * All queues for a given core will be isolated in the same
61 * cache area.
62 *
63 * In addition to the memory pointer layout, cvmx-cmd-queue
64 * provides an optimized fair ll/sc locking mechanism for the
65 * queues. The lock uses a "ticket / now serving" model to
66 * maintain fair order on contended locks. In addition, it uses
67 * predicted locking time to limit cache contention. When a core
68 * know it must wait in line for a lock, it spins on the
69 * internal cycle counter to completely eliminate any causes of
70 * bus traffic.
71 *
72 */
73
74#ifndef __CVMX_CMD_QUEUE_H__
75#define __CVMX_CMD_QUEUE_H__
76
77#include <linux/prefetch.h>
78
79#include <asm/octeon/cvmx-fpa.h>
80/**
81 * By default we disable the max depth support. Most programs
82 * don't use it and it slows down the command queue processing
83 * significantly.
84 */
85#ifndef CVMX_CMD_QUEUE_ENABLE_MAX_DEPTH
86#define CVMX_CMD_QUEUE_ENABLE_MAX_DEPTH 0
87#endif
88
89/**
90 * Enumeration representing all hardware blocks that use command
91 * queues. Each hardware block has up to 65536 sub identifiers for
92 * multiple command queues. Not all chips support all hardware
93 * units.
94 */
95typedef enum {
96 CVMX_CMD_QUEUE_PKO_BASE = 0x00000,
97
98#define CVMX_CMD_QUEUE_PKO(queue) \
99 ((cvmx_cmd_queue_id_t)(CVMX_CMD_QUEUE_PKO_BASE + (0xffff&(queue))))
100
101 CVMX_CMD_QUEUE_ZIP = 0x10000,
102 CVMX_CMD_QUEUE_DFA = 0x20000,
103 CVMX_CMD_QUEUE_RAID = 0x30000,
104 CVMX_CMD_QUEUE_DMA_BASE = 0x40000,
105
106#define CVMX_CMD_QUEUE_DMA(queue) \
107 ((cvmx_cmd_queue_id_t)(CVMX_CMD_QUEUE_DMA_BASE + (0xffff&(queue))))
108
109 CVMX_CMD_QUEUE_END = 0x50000,
110} cvmx_cmd_queue_id_t;
111
112/**
113 * Command write operations can fail if the command queue needs
114 * a new buffer and the associated FPA pool is empty. It can also
115 * fail if the number of queued command words reaches the maximum
116 * set at initialization.
117 */
118typedef enum {
119 CVMX_CMD_QUEUE_SUCCESS = 0,
120 CVMX_CMD_QUEUE_NO_MEMORY = -1,
121 CVMX_CMD_QUEUE_FULL = -2,
122 CVMX_CMD_QUEUE_INVALID_PARAM = -3,
123 CVMX_CMD_QUEUE_ALREADY_SETUP = -4,
124} cvmx_cmd_queue_result_t;
125
126typedef struct {
127 /* You have lock when this is your ticket */
128 uint8_t now_serving;
129 uint64_t unused1:24;
130 /* Maximum outstanding command words */
131 uint32_t max_depth;
132 /* FPA pool buffers come from */
133 uint64_t fpa_pool:3;
134 /* Top of command buffer pointer shifted 7 */
135 uint64_t base_ptr_div128:29;
136 uint64_t unused2:6;
137 /* FPA buffer size in 64bit words minus 1 */
138 uint64_t pool_size_m1:13;
139 /* Number of commands already used in buffer */
140 uint64_t index:13;
141} __cvmx_cmd_queue_state_t;
142
143/**
144 * This structure contains the global state of all command queues.
145 * It is stored in a bootmem named block and shared by all
146 * applications running on Octeon. Tickets are stored in a differnet
147 * cahce line that queue information to reduce the contention on the
148 * ll/sc used to get a ticket. If this is not the case, the update
149 * of queue state causes the ll/sc to fail quite often.
150 */
151typedef struct {
152 uint64_t ticket[(CVMX_CMD_QUEUE_END >> 16) * 256];
153 __cvmx_cmd_queue_state_t state[(CVMX_CMD_QUEUE_END >> 16) * 256];
154} __cvmx_cmd_queue_all_state_t;
155
156/**
157 * Initialize a command queue for use. The initial FPA buffer is
158 * allocated and the hardware unit is configured to point to the
159 * new command queue.
160 *
161 * @queue_id: Hardware command queue to initialize.
162 * @max_depth: Maximum outstanding commands that can be queued.
163 * @fpa_pool: FPA pool the command queues should come from.
164 * @pool_size: Size of each buffer in the FPA pool (bytes)
165 *
166 * Returns CVMX_CMD_QUEUE_SUCCESS or a failure code
167 */
168cvmx_cmd_queue_result_t cvmx_cmd_queue_initialize(cvmx_cmd_queue_id_t queue_id,
169 int max_depth, int fpa_pool,
170 int pool_size);
171
172/**
173 * Shutdown a queue a free it's command buffers to the FPA. The
174 * hardware connected to the queue must be stopped before this
175 * function is called.
176 *
177 * @queue_id: Queue to shutdown
178 *
179 * Returns CVMX_CMD_QUEUE_SUCCESS or a failure code
180 */
181cvmx_cmd_queue_result_t cvmx_cmd_queue_shutdown(cvmx_cmd_queue_id_t queue_id);
182
183/**
184 * Return the number of command words pending in the queue. This
185 * function may be relatively slow for some hardware units.
186 *
187 * @queue_id: Hardware command queue to query
188 *
189 * Returns Number of outstanding commands
190 */
191int cvmx_cmd_queue_length(cvmx_cmd_queue_id_t queue_id);
192
193/**
194 * Return the command buffer to be written to. The purpose of this
195 * function is to allow CVMX routine access t othe low level buffer
196 * for initial hardware setup. User applications should not call this
197 * function directly.
198 *
199 * @queue_id: Command queue to query
200 *
201 * Returns Command buffer or NULL on failure
202 */
203void *cvmx_cmd_queue_buffer(cvmx_cmd_queue_id_t queue_id);
204
205/**
206 * Get the index into the state arrays for the supplied queue id.
207 *
208 * @queue_id: Queue ID to get an index for
209 *
210 * Returns Index into the state arrays
211 */
212static inline int __cvmx_cmd_queue_get_index(cvmx_cmd_queue_id_t queue_id)
213{
214 /*
215 * Warning: This code currently only works with devices that
216 * have 256 queues or less. Devices with more than 16 queues
217 * are laid out in memory to allow cores quick access to
218 * every 16th queue. This reduces cache thrashing when you are
219 * running 16 queues per port to support lockless operation.
220 */
221 int unit = queue_id >> 16;
222 int q = (queue_id >> 4) & 0xf;
223 int core = queue_id & 0xf;
224 return unit * 256 + core * 16 + q;
225}
226
227/**
228 * Lock the supplied queue so nobody else is updating it at the same
229 * time as us.
230 *
231 * @queue_id: Queue ID to lock
232 * @qptr: Pointer to the queue's global state
233 */
234static inline void __cvmx_cmd_queue_lock(cvmx_cmd_queue_id_t queue_id,
235 __cvmx_cmd_queue_state_t *qptr)
236{
237 extern __cvmx_cmd_queue_all_state_t
238 *__cvmx_cmd_queue_state_ptr;
239 int tmp;
240 int my_ticket;
241 prefetch(qptr);
242 asm volatile (
243 ".set push\n"
244 ".set noreorder\n"
245 "1:\n"
246 /* Atomic add one to ticket_ptr */
247 "ll %[my_ticket], %[ticket_ptr]\n"
248 /* and store the original value */
249 "li %[ticket], 1\n"
250 /* in my_ticket */
251 "baddu %[ticket], %[my_ticket]\n"
252 "sc %[ticket], %[ticket_ptr]\n"
253 "beqz %[ticket], 1b\n"
254 " nop\n"
255 /* Load the current now_serving ticket */
256 "lbu %[ticket], %[now_serving]\n"
257 "2:\n"
258 /* Jump out if now_serving == my_ticket */
259 "beq %[ticket], %[my_ticket], 4f\n"
260 /* Find out how many tickets are in front of me */
261 " subu %[ticket], %[my_ticket], %[ticket]\n"
262 /* Use tickets in front of me minus one to delay */
263 "subu %[ticket], 1\n"
264 /* Delay will be ((tickets in front)-1)*32 loops */
265 "cins %[ticket], %[ticket], 5, 7\n"
266 "3:\n"
267 /* Loop here until our ticket might be up */
268 "bnez %[ticket], 3b\n"
269 " subu %[ticket], 1\n"
270 /* Jump back up to check out ticket again */
271 "b 2b\n"
272 /* Load the current now_serving ticket */
273 " lbu %[ticket], %[now_serving]\n"
274 "4:\n"
275 ".set pop\n" :
276 [ticket_ptr] "=m"(__cvmx_cmd_queue_state_ptr->ticket[__cvmx_cmd_queue_get_index(queue_id)]),
277 [now_serving] "=m"(qptr->now_serving), [ticket] "=r"(tmp),
278 [my_ticket] "=r"(my_ticket)
279 );
280}
281
282/**
283 * Unlock the queue, flushing all writes.
284 *
285 * @qptr: Queue to unlock
286 */
287static inline void __cvmx_cmd_queue_unlock(__cvmx_cmd_queue_state_t *qptr)
288{
289 qptr->now_serving++;
290 CVMX_SYNCWS;
291}
292
293/**
294 * Get the queue state structure for the given queue id
295 *
296 * @queue_id: Queue id to get
297 *
298 * Returns Queue structure or NULL on failure
299 */
300static inline __cvmx_cmd_queue_state_t
301 *__cvmx_cmd_queue_get_state(cvmx_cmd_queue_id_t queue_id)
302{
303 extern __cvmx_cmd_queue_all_state_t
304 *__cvmx_cmd_queue_state_ptr;
305 return &__cvmx_cmd_queue_state_ptr->
306 state[__cvmx_cmd_queue_get_index(queue_id)];
307}
308
309/**
310 * Write an arbitrary number of command words to a command queue.
311 * This is a generic function; the fixed number of command word
312 * functions yield higher performance.
313 *
314 * @queue_id: Hardware command queue to write to
315 * @use_locking:
316 * Use internal locking to ensure exclusive access for queue
317 * updates. If you don't use this locking you must ensure
318 * exclusivity some other way. Locking is strongly recommended.
319 * @cmd_count: Number of command words to write
320 * @cmds: Array of commands to write
321 *
322 * Returns CVMX_CMD_QUEUE_SUCCESS or a failure code
323 */
324static inline cvmx_cmd_queue_result_t cvmx_cmd_queue_write(cvmx_cmd_queue_id_t
325 queue_id,
326 int use_locking,
327 int cmd_count,
328 uint64_t *cmds)
329{
330 __cvmx_cmd_queue_state_t *qptr = __cvmx_cmd_queue_get_state(queue_id);
331
332 /* Make sure nobody else is updating the same queue */
333 if (likely(use_locking))
334 __cvmx_cmd_queue_lock(queue_id, qptr);
335
336 /*
337 * If a max queue length was specified then make sure we don't
338 * exceed it. If any part of the command would be below the
339 * limit we allow it.
340 */
341 if (CVMX_CMD_QUEUE_ENABLE_MAX_DEPTH && unlikely(qptr->max_depth)) {
342 if (unlikely
343 (cvmx_cmd_queue_length(queue_id) > (int)qptr->max_depth)) {
344 if (likely(use_locking))
345 __cvmx_cmd_queue_unlock(qptr);
346 return CVMX_CMD_QUEUE_FULL;
347 }
348 }
349
350 /*
351 * Normally there is plenty of room in the current buffer for
352 * the command.
353 */
354 if (likely(qptr->index + cmd_count < qptr->pool_size_m1)) {
355 uint64_t *ptr =
356 (uint64_t *) cvmx_phys_to_ptr((uint64_t) qptr->
357 base_ptr_div128 << 7);
358 ptr += qptr->index;
359 qptr->index += cmd_count;
360 while (cmd_count--)
361 *ptr++ = *cmds++;
362 } else {
363 uint64_t *ptr;
364 int count;
365 /*
366 * We need a new command buffer. Fail if there isn't
367 * one available.
368 */
369 uint64_t *new_buffer =
370 (uint64_t *) cvmx_fpa_alloc(qptr->fpa_pool);
371 if (unlikely(new_buffer == NULL)) {
372 if (likely(use_locking))
373 __cvmx_cmd_queue_unlock(qptr);
374 return CVMX_CMD_QUEUE_NO_MEMORY;
375 }
376 ptr =
377 (uint64_t *) cvmx_phys_to_ptr((uint64_t) qptr->
378 base_ptr_div128 << 7);
379 /*
380 * Figure out how many command words will fit in this
381 * buffer. One location will be needed for the next
382 * buffer pointer.
383 */
384 count = qptr->pool_size_m1 - qptr->index;
385 ptr += qptr->index;
386 cmd_count -= count;
387 while (count--)
388 *ptr++ = *cmds++;
389 *ptr = cvmx_ptr_to_phys(new_buffer);
390 /*
391 * The current buffer is full and has a link to the
392 * next buffer. Time to write the rest of the commands
393 * into the new buffer.
394 */
395 qptr->base_ptr_div128 = *ptr >> 7;
396 qptr->index = cmd_count;
397 ptr = new_buffer;
398 while (cmd_count--)
399 *ptr++ = *cmds++;
400 }
401
402 /* All updates are complete. Release the lock and return */
403 if (likely(use_locking))
404 __cvmx_cmd_queue_unlock(qptr);
405 return CVMX_CMD_QUEUE_SUCCESS;
406}
407
408/**
409 * Simple function to write two command words to a command
410 * queue.
411 *
412 * @queue_id: Hardware command queue to write to
413 * @use_locking:
414 * Use internal locking to ensure exclusive access for queue
415 * updates. If you don't use this locking you must ensure
416 * exclusivity some other way. Locking is strongly recommended.
417 * @cmd1: Command
418 * @cmd2: Command
419 *
420 * Returns CVMX_CMD_QUEUE_SUCCESS or a failure code
421 */
422static inline cvmx_cmd_queue_result_t cvmx_cmd_queue_write2(cvmx_cmd_queue_id_t
423 queue_id,
424 int use_locking,
425 uint64_t cmd1,
426 uint64_t cmd2)
427{
428 __cvmx_cmd_queue_state_t *qptr = __cvmx_cmd_queue_get_state(queue_id);
429
430 /* Make sure nobody else is updating the same queue */
431 if (likely(use_locking))
432 __cvmx_cmd_queue_lock(queue_id, qptr);
433
434 /*
435 * If a max queue length was specified then make sure we don't
436 * exceed it. If any part of the command would be below the
437 * limit we allow it.
438 */
439 if (CVMX_CMD_QUEUE_ENABLE_MAX_DEPTH && unlikely(qptr->max_depth)) {
440 if (unlikely
441 (cvmx_cmd_queue_length(queue_id) > (int)qptr->max_depth)) {
442 if (likely(use_locking))
443 __cvmx_cmd_queue_unlock(qptr);
444 return CVMX_CMD_QUEUE_FULL;
445 }
446 }
447
448 /*
449 * Normally there is plenty of room in the current buffer for
450 * the command.
451 */
452 if (likely(qptr->index + 2 < qptr->pool_size_m1)) {
453 uint64_t *ptr =
454 (uint64_t *) cvmx_phys_to_ptr((uint64_t) qptr->
455 base_ptr_div128 << 7);
456 ptr += qptr->index;
457 qptr->index += 2;
458 ptr[0] = cmd1;
459 ptr[1] = cmd2;
460 } else {
461 uint64_t *ptr;
462 /*
463 * Figure out how many command words will fit in this
464 * buffer. One location will be needed for the next
465 * buffer pointer.
466 */
467 int count = qptr->pool_size_m1 - qptr->index;
468 /*
469 * We need a new command buffer. Fail if there isn't
470 * one available.
471 */
472 uint64_t *new_buffer =
473 (uint64_t *) cvmx_fpa_alloc(qptr->fpa_pool);
474 if (unlikely(new_buffer == NULL)) {
475 if (likely(use_locking))
476 __cvmx_cmd_queue_unlock(qptr);
477 return CVMX_CMD_QUEUE_NO_MEMORY;
478 }
479 count--;
480 ptr =
481 (uint64_t *) cvmx_phys_to_ptr((uint64_t) qptr->
482 base_ptr_div128 << 7);
483 ptr += qptr->index;
484 *ptr++ = cmd1;
485 if (likely(count))
486 *ptr++ = cmd2;
487 *ptr = cvmx_ptr_to_phys(new_buffer);
488 /*
489 * The current buffer is full and has a link to the
490 * next buffer. Time to write the rest of the commands
491 * into the new buffer.
492 */
493 qptr->base_ptr_div128 = *ptr >> 7;
494 qptr->index = 0;
495 if (unlikely(count == 0)) {
496 qptr->index = 1;
497 new_buffer[0] = cmd2;
498 }
499 }
500
501 /* All updates are complete. Release the lock and return */
502 if (likely(use_locking))
503 __cvmx_cmd_queue_unlock(qptr);
504 return CVMX_CMD_QUEUE_SUCCESS;
505}
506
507/**
508 * Simple function to write three command words to a command
509 * queue.
510 *
511 * @queue_id: Hardware command queue to write to
512 * @use_locking:
513 * Use internal locking to ensure exclusive access for queue
514 * updates. If you don't use this locking you must ensure
515 * exclusivity some other way. Locking is strongly recommended.
516 * @cmd1: Command
517 * @cmd2: Command
518 * @cmd3: Command
519 *
520 * Returns CVMX_CMD_QUEUE_SUCCESS or a failure code
521 */
522static inline cvmx_cmd_queue_result_t cvmx_cmd_queue_write3(cvmx_cmd_queue_id_t
523 queue_id,
524 int use_locking,
525 uint64_t cmd1,
526 uint64_t cmd2,
527 uint64_t cmd3)
528{
529 __cvmx_cmd_queue_state_t *qptr = __cvmx_cmd_queue_get_state(queue_id);
530
531 /* Make sure nobody else is updating the same queue */
532 if (likely(use_locking))
533 __cvmx_cmd_queue_lock(queue_id, qptr);
534
535 /*
536 * If a max queue length was specified then make sure we don't
537 * exceed it. If any part of the command would be below the
538 * limit we allow it.
539 */
540 if (CVMX_CMD_QUEUE_ENABLE_MAX_DEPTH && unlikely(qptr->max_depth)) {
541 if (unlikely
542 (cvmx_cmd_queue_length(queue_id) > (int)qptr->max_depth)) {
543 if (likely(use_locking))
544 __cvmx_cmd_queue_unlock(qptr);
545 return CVMX_CMD_QUEUE_FULL;
546 }
547 }
548
549 /*
550 * Normally there is plenty of room in the current buffer for
551 * the command.
552 */
553 if (likely(qptr->index + 3 < qptr->pool_size_m1)) {
554 uint64_t *ptr =
555 (uint64_t *) cvmx_phys_to_ptr((uint64_t) qptr->
556 base_ptr_div128 << 7);
557 ptr += qptr->index;
558 qptr->index += 3;
559 ptr[0] = cmd1;
560 ptr[1] = cmd2;
561 ptr[2] = cmd3;
562 } else {
563 uint64_t *ptr;
564 /*
565 * Figure out how many command words will fit in this
566 * buffer. One location will be needed for the next
567 * buffer pointer
568 */
569 int count = qptr->pool_size_m1 - qptr->index;
570 /*
571 * We need a new command buffer. Fail if there isn't
572 * one available
573 */
574 uint64_t *new_buffer =
575 (uint64_t *) cvmx_fpa_alloc(qptr->fpa_pool);
576 if (unlikely(new_buffer == NULL)) {
577 if (likely(use_locking))
578 __cvmx_cmd_queue_unlock(qptr);
579 return CVMX_CMD_QUEUE_NO_MEMORY;
580 }
581 count--;
582 ptr =
583 (uint64_t *) cvmx_phys_to_ptr((uint64_t) qptr->
584 base_ptr_div128 << 7);
585 ptr += qptr->index;
586 *ptr++ = cmd1;
587 if (count) {
588 *ptr++ = cmd2;
589 if (count > 1)
590 *ptr++ = cmd3;
591 }
592 *ptr = cvmx_ptr_to_phys(new_buffer);
593 /*
594 * The current buffer is full and has a link to the
595 * next buffer. Time to write the rest of the commands
596 * into the new buffer.
597 */
598 qptr->base_ptr_div128 = *ptr >> 7;
599 qptr->index = 0;
600 ptr = new_buffer;
601 if (count == 0) {
602 *ptr++ = cmd2;
603 qptr->index++;
604 }
605 if (count < 2) {
606 *ptr++ = cmd3;
607 qptr->index++;
608 }
609 }
610
611 /* All updates are complete. Release the lock and return */
612 if (likely(use_locking))
613 __cvmx_cmd_queue_unlock(qptr);
614 return CVMX_CMD_QUEUE_SUCCESS;
615}
616
617#endif /* __CVMX_CMD_QUEUE_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-config.h b/arch/mips/include/asm/octeon/cvmx-config.h
deleted file mode 100644
index 26835d1b43b..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-config.h
+++ /dev/null
@@ -1,168 +0,0 @@
1#ifndef __CVMX_CONFIG_H__
2#define __CVMX_CONFIG_H__
3
4/************************* Config Specific Defines ************************/
5#define CVMX_LLM_NUM_PORTS 1
6#define CVMX_NULL_POINTER_PROTECT 1
7#define CVMX_ENABLE_DEBUG_PRINTS 1
8/* PKO queues per port for interface 0 (ports 0-15) */
9#define CVMX_PKO_QUEUES_PER_PORT_INTERFACE0 1
10/* PKO queues per port for interface 1 (ports 16-31) */
11#define CVMX_PKO_QUEUES_PER_PORT_INTERFACE1 1
12/* Limit on the number of PKO ports enabled for interface 0 */
13#define CVMX_PKO_MAX_PORTS_INTERFACE0 CVMX_HELPER_PKO_MAX_PORTS_INTERFACE0
14/* Limit on the number of PKO ports enabled for interface 1 */
15#define CVMX_PKO_MAX_PORTS_INTERFACE1 CVMX_HELPER_PKO_MAX_PORTS_INTERFACE1
16/* PKO queues per port for PCI (ports 32-35) */
17#define CVMX_PKO_QUEUES_PER_PORT_PCI 1
18/* PKO queues per port for Loop devices (ports 36-39) */
19#define CVMX_PKO_QUEUES_PER_PORT_LOOP 1
20
21/************************* FPA allocation *********************************/
22/* Pool sizes in bytes, must be multiple of a cache line */
23#define CVMX_FPA_POOL_0_SIZE (16 * CVMX_CACHE_LINE_SIZE)
24#define CVMX_FPA_POOL_1_SIZE (1 * CVMX_CACHE_LINE_SIZE)
25#define CVMX_FPA_POOL_2_SIZE (8 * CVMX_CACHE_LINE_SIZE)
26#define CVMX_FPA_POOL_3_SIZE (0 * CVMX_CACHE_LINE_SIZE)
27#define CVMX_FPA_POOL_4_SIZE (0 * CVMX_CACHE_LINE_SIZE)
28#define CVMX_FPA_POOL_5_SIZE (0 * CVMX_CACHE_LINE_SIZE)
29#define CVMX_FPA_POOL_6_SIZE (0 * CVMX_CACHE_LINE_SIZE)
30#define CVMX_FPA_POOL_7_SIZE (0 * CVMX_CACHE_LINE_SIZE)
31
32/* Pools in use */
33/* Packet buffers */
34#define CVMX_FPA_PACKET_POOL (0)
35#define CVMX_FPA_PACKET_POOL_SIZE CVMX_FPA_POOL_0_SIZE
36/* Work queue entrys */
37#define CVMX_FPA_WQE_POOL (1)
38#define CVMX_FPA_WQE_POOL_SIZE CVMX_FPA_POOL_1_SIZE
39/* PKO queue command buffers */
40#define CVMX_FPA_OUTPUT_BUFFER_POOL (2)
41#define CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE CVMX_FPA_POOL_2_SIZE
42
43/************************* FAU allocation ********************************/
44/* The fetch and add registers are allocated here. They are arranged
45 * in order of descending size so that all alignment constraints are
46 * automatically met. The enums are linked so that the following enum
47 * continues allocating where the previous one left off, so the
48 * numbering within each enum always starts with zero. The macros
49 * take care of the address increment size, so the values entered
50 * always increase by 1. FAU registers are accessed with byte
51 * addresses.
52 */
53
54#define CVMX_FAU_REG_64_ADDR(x) ((x << 3) + CVMX_FAU_REG_64_START)
55typedef enum {
56 CVMX_FAU_REG_64_START = 0,
57 CVMX_FAU_REG_64_END = CVMX_FAU_REG_64_ADDR(0),
58} cvmx_fau_reg_64_t;
59
60#define CVMX_FAU_REG_32_ADDR(x) ((x << 2) + CVMX_FAU_REG_32_START)
61typedef enum {
62 CVMX_FAU_REG_32_START = CVMX_FAU_REG_64_END,
63 CVMX_FAU_REG_32_END = CVMX_FAU_REG_32_ADDR(0),
64} cvmx_fau_reg_32_t;
65
66#define CVMX_FAU_REG_16_ADDR(x) ((x << 1) + CVMX_FAU_REG_16_START)
67typedef enum {
68 CVMX_FAU_REG_16_START = CVMX_FAU_REG_32_END,
69 CVMX_FAU_REG_16_END = CVMX_FAU_REG_16_ADDR(0),
70} cvmx_fau_reg_16_t;
71
72#define CVMX_FAU_REG_8_ADDR(x) ((x) + CVMX_FAU_REG_8_START)
73typedef enum {
74 CVMX_FAU_REG_8_START = CVMX_FAU_REG_16_END,
75 CVMX_FAU_REG_8_END = CVMX_FAU_REG_8_ADDR(0),
76} cvmx_fau_reg_8_t;
77
78/*
79 * The name CVMX_FAU_REG_AVAIL_BASE is provided to indicate the first
80 * available FAU address that is not allocated in cvmx-config.h. This
81 * is 64 bit aligned.
82 */
83#define CVMX_FAU_REG_AVAIL_BASE ((CVMX_FAU_REG_8_END + 0x7) & (~0x7ULL))
84#define CVMX_FAU_REG_END (2048)
85
86/********************** scratch memory allocation *************************/
87/* Scratchpad memory allocation. Note that these are byte memory
88 * addresses. Some uses of scratchpad (IOBDMA for example) require
89 * the use of 8-byte aligned addresses, so proper alignment needs to
90 * be taken into account.
91 */
92/* Generic scratch iobdma area */
93#define CVMX_SCR_SCRATCH (0)
94/* First location available after cvmx-config.h allocated region. */
95#define CVMX_SCR_REG_AVAIL_BASE (8)
96
97/*
98 * CVMX_HELPER_FIRST_MBUFF_SKIP is the number of bytes to reserve
99 * before the beginning of the packet. If necessary, override the
100 * default here. See the IPD section of the hardware manual for MBUFF
101 * SKIP details.
102 */
103#define CVMX_HELPER_FIRST_MBUFF_SKIP 184
104
105/*
106 * CVMX_HELPER_NOT_FIRST_MBUFF_SKIP is the number of bytes to reserve
107 * in each chained packet element. If necessary, override the default
108 * here.
109 */
110#define CVMX_HELPER_NOT_FIRST_MBUFF_SKIP 0
111
112/*
113 * CVMX_HELPER_ENABLE_BACK_PRESSURE controls whether back pressure is
114 * enabled for all input ports. This controls if IPD sends
115 * backpressure to all ports if Octeon's FPA pools don't have enough
116 * packet or work queue entries. Even when this is off, it is still
117 * possible to get backpressure from individual hardware ports. When
118 * configuring backpressure, also check
119 * CVMX_HELPER_DISABLE_*_BACKPRESSURE below. If necessary, override
120 * the default here.
121 */
122#define CVMX_HELPER_ENABLE_BACK_PRESSURE 1
123
124/*
125 * CVMX_HELPER_ENABLE_IPD controls if the IPD is enabled in the helper
126 * function. Once it is enabled the hardware starts accepting
127 * packets. You might want to skip the IPD enable if configuration
128 * changes are need from the default helper setup. If necessary,
129 * override the default here.
130 */
131#define CVMX_HELPER_ENABLE_IPD 0
132
133/*
134 * CVMX_HELPER_INPUT_TAG_TYPE selects the type of tag that the IPD assigns
135 * to incoming packets.
136 */
137#define CVMX_HELPER_INPUT_TAG_TYPE CVMX_POW_TAG_TYPE_ORDERED
138
139#define CVMX_ENABLE_PARAMETER_CHECKING 0
140
141/*
142 * The following select which fields are used by the PIP to generate
143 * the tag on INPUT
144 * 0: don't include
145 * 1: include
146 */
147#define CVMX_HELPER_INPUT_TAG_IPV6_SRC_IP 0
148#define CVMX_HELPER_INPUT_TAG_IPV6_DST_IP 0
149#define CVMX_HELPER_INPUT_TAG_IPV6_SRC_PORT 0
150#define CVMX_HELPER_INPUT_TAG_IPV6_DST_PORT 0
151#define CVMX_HELPER_INPUT_TAG_IPV6_NEXT_HEADER 0
152#define CVMX_HELPER_INPUT_TAG_IPV4_SRC_IP 0
153#define CVMX_HELPER_INPUT_TAG_IPV4_DST_IP 0
154#define CVMX_HELPER_INPUT_TAG_IPV4_SRC_PORT 0
155#define CVMX_HELPER_INPUT_TAG_IPV4_DST_PORT 0
156#define CVMX_HELPER_INPUT_TAG_IPV4_PROTOCOL 0
157#define CVMX_HELPER_INPUT_TAG_INPUT_PORT 1
158
159/* Select skip mode for input ports */
160#define CVMX_HELPER_INPUT_PORT_SKIP_MODE CVMX_PIP_PORT_CFG_MODE_SKIPL2
161
162/*
163 * Force backpressure to be disabled. This overrides all other
164 * backpressure configuration.
165 */
166#define CVMX_HELPER_DISABLE_RGMII_BACKPRESSURE 0
167
168#endif /* __CVMX_CONFIG_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-dbg-defs.h b/arch/mips/include/asm/octeon/cvmx-dbg-defs.h
deleted file mode 100644
index 40799cdae69..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-dbg-defs.h
+++ /dev/null
@@ -1,105 +0,0 @@
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_DBG_DEFS_H__
29#define __CVMX_DBG_DEFS_H__
30
31#define CVMX_DBG_DATA (CVMX_ADD_IO_SEG(0x00011F00000001E8ull))
32
33union cvmx_dbg_data {
34 uint64_t u64;
35 struct cvmx_dbg_data_s {
36#ifdef __BIG_ENDIAN_BITFIELD
37 uint64_t reserved_23_63:41;
38 uint64_t c_mul:5;
39 uint64_t dsel_ext:1;
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
47 } s;
48 struct cvmx_dbg_data_cn30xx {
49#ifdef __BIG_ENDIAN_BITFIELD
50 uint64_t reserved_31_63:33;
51 uint64_t pll_mul:3;
52 uint64_t reserved_23_27:5;
53 uint64_t c_mul:5;
54 uint64_t dsel_ext:1;
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
64 } cn30xx;
65 struct cvmx_dbg_data_cn30xx cn31xx;
66 struct cvmx_dbg_data_cn38xx {
67#ifdef __BIG_ENDIAN_BITFIELD
68 uint64_t reserved_29_63:35;
69 uint64_t d_mul:4;
70 uint64_t dclk_mul2:1;
71 uint64_t cclk_div2:1;
72 uint64_t c_mul:5;
73 uint64_t dsel_ext:1;
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
84 } cn38xx;
85 struct cvmx_dbg_data_cn38xx cn38xxp2;
86 struct cvmx_dbg_data_cn30xx cn50xx;
87 struct cvmx_dbg_data_cn58xx {
88#ifdef __BIG_ENDIAN_BITFIELD
89 uint64_t reserved_29_63:35;
90 uint64_t rem:6;
91 uint64_t c_mul:5;
92 uint64_t dsel_ext:1;
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
101 } cn58xx;
102 struct cvmx_dbg_data_cn58xx cn58xxp1;
103};
104
105#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-dpi-defs.h b/arch/mips/include/asm/octeon/cvmx-dpi-defs.h
deleted file mode 100644
index dd5b0428de3..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-dpi-defs.h
+++ /dev/null
@@ -1,1052 +0,0 @@
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_DPI_DEFS_H__
29#define __CVMX_DPI_DEFS_H__
30
31#define CVMX_DPI_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001DF0000000000ull))
32#define CVMX_DPI_CTL (CVMX_ADD_IO_SEG(0x0001DF0000000040ull))
33#define CVMX_DPI_DMAX_COUNTS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000300ull) + ((offset) & 7) * 8)
34#define CVMX_DPI_DMAX_DBELL(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000200ull) + ((offset) & 7) * 8)
35#define CVMX_DPI_DMAX_ERR_RSP_STATUS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A80ull) + ((offset) & 7) * 8)
36#define CVMX_DPI_DMAX_IBUFF_SADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000280ull) + ((offset) & 7) * 8)
37#define CVMX_DPI_DMAX_IFLIGHT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A00ull) + ((offset) & 7) * 8)
38#define CVMX_DPI_DMAX_NADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000380ull) + ((offset) & 7) * 8)
39#define CVMX_DPI_DMAX_REQBNK0(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000400ull) + ((offset) & 7) * 8)
40#define CVMX_DPI_DMAX_REQBNK1(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000480ull) + ((offset) & 7) * 8)
41#define CVMX_DPI_DMA_CONTROL (CVMX_ADD_IO_SEG(0x0001DF0000000048ull))
42#define CVMX_DPI_DMA_ENGX_EN(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000080ull) + ((offset) & 7) * 8)
43#define CVMX_DPI_DMA_PPX_CNT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000B00ull) + ((offset) & 31) * 8)
44#define CVMX_DPI_ENGX_BUF(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000880ull) + ((offset) & 7) * 8)
45#define CVMX_DPI_INFO_REG (CVMX_ADD_IO_SEG(0x0001DF0000000980ull))
46#define CVMX_DPI_INT_EN (CVMX_ADD_IO_SEG(0x0001DF0000000010ull))
47#define CVMX_DPI_INT_REG (CVMX_ADD_IO_SEG(0x0001DF0000000008ull))
48#define CVMX_DPI_NCBX_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001DF0000000800ull))
49#define CVMX_DPI_PINT_INFO (CVMX_ADD_IO_SEG(0x0001DF0000000830ull))
50#define CVMX_DPI_PKT_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000078ull))
51#define CVMX_DPI_REQ_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000058ull))
52#define CVMX_DPI_REQ_ERR_RSP_EN (CVMX_ADD_IO_SEG(0x0001DF0000000068ull))
53#define CVMX_DPI_REQ_ERR_RST (CVMX_ADD_IO_SEG(0x0001DF0000000060ull))
54#define CVMX_DPI_REQ_ERR_RST_EN (CVMX_ADD_IO_SEG(0x0001DF0000000070ull))
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))
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
79#define CVMX_DPI_SLI_PRTX_ERR_INFO(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000940ull) + ((offset) & 3) * 8)
80
81union cvmx_dpi_bist_status {
82 uint64_t u64;
83 struct cvmx_dpi_bist_status_s {
84#ifdef __BIG_ENDIAN_BITFIELD
85 uint64_t reserved_47_63:17;
86 uint64_t bist:47;
87#else
88 uint64_t bist:47;
89 uint64_t reserved_47_63:17;
90#endif
91 } s;
92 struct cvmx_dpi_bist_status_s cn61xx;
93 struct cvmx_dpi_bist_status_cn63xx {
94#ifdef __BIG_ENDIAN_BITFIELD
95 uint64_t reserved_45_63:19;
96 uint64_t bist:45;
97#else
98 uint64_t bist:45;
99 uint64_t reserved_45_63:19;
100#endif
101 } cn63xx;
102 struct cvmx_dpi_bist_status_cn63xxp1 {
103#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_37_63:27;
105 uint64_t bist:37;
106#else
107 uint64_t bist:37;
108 uint64_t reserved_37_63:27;
109#endif
110 } cn63xxp1;
111 struct cvmx_dpi_bist_status_s cn66xx;
112 struct cvmx_dpi_bist_status_cn63xx cn68xx;
113 struct cvmx_dpi_bist_status_cn63xx cn68xxp1;
114 struct cvmx_dpi_bist_status_s cnf71xx;
115};
116
117union cvmx_dpi_ctl {
118 uint64_t u64;
119 struct cvmx_dpi_ctl_s {
120#ifdef __BIG_ENDIAN_BITFIELD
121 uint64_t reserved_2_63:62;
122 uint64_t clk: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
129 } s;
130 struct cvmx_dpi_ctl_cn61xx {
131#ifdef __BIG_ENDIAN_BITFIELD
132 uint64_t reserved_1_63:63;
133 uint64_t en:1;
134#else
135 uint64_t en:1;
136 uint64_t reserved_1_63:63;
137#endif
138 } cn61xx;
139 struct cvmx_dpi_ctl_s cn63xx;
140 struct cvmx_dpi_ctl_s cn63xxp1;
141 struct cvmx_dpi_ctl_s cn66xx;
142 struct cvmx_dpi_ctl_s cn68xx;
143 struct cvmx_dpi_ctl_s cn68xxp1;
144 struct cvmx_dpi_ctl_cn61xx cnf71xx;
145};
146
147union cvmx_dpi_dmax_counts {
148 uint64_t u64;
149 struct cvmx_dpi_dmax_counts_s {
150#ifdef __BIG_ENDIAN_BITFIELD
151 uint64_t reserved_39_63:25;
152 uint64_t fcnt:7;
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
159 } s;
160 struct cvmx_dpi_dmax_counts_s cn61xx;
161 struct cvmx_dpi_dmax_counts_s cn63xx;
162 struct cvmx_dpi_dmax_counts_s cn63xxp1;
163 struct cvmx_dpi_dmax_counts_s cn66xx;
164 struct cvmx_dpi_dmax_counts_s cn68xx;
165 struct cvmx_dpi_dmax_counts_s cn68xxp1;
166 struct cvmx_dpi_dmax_counts_s cnf71xx;
167};
168
169union cvmx_dpi_dmax_dbell {
170 uint64_t u64;
171 struct cvmx_dpi_dmax_dbell_s {
172#ifdef __BIG_ENDIAN_BITFIELD
173 uint64_t reserved_16_63:48;
174 uint64_t dbell:16;
175#else
176 uint64_t dbell:16;
177 uint64_t reserved_16_63:48;
178#endif
179 } s;
180 struct cvmx_dpi_dmax_dbell_s cn61xx;
181 struct cvmx_dpi_dmax_dbell_s cn63xx;
182 struct cvmx_dpi_dmax_dbell_s cn63xxp1;
183 struct cvmx_dpi_dmax_dbell_s cn66xx;
184 struct cvmx_dpi_dmax_dbell_s cn68xx;
185 struct cvmx_dpi_dmax_dbell_s cn68xxp1;
186 struct cvmx_dpi_dmax_dbell_s cnf71xx;
187};
188
189union cvmx_dpi_dmax_err_rsp_status {
190 uint64_t u64;
191 struct cvmx_dpi_dmax_err_rsp_status_s {
192#ifdef __BIG_ENDIAN_BITFIELD
193 uint64_t reserved_6_63:58;
194 uint64_t status:6;
195#else
196 uint64_t status:6;
197 uint64_t reserved_6_63:58;
198#endif
199 } s;
200 struct cvmx_dpi_dmax_err_rsp_status_s cn61xx;
201 struct cvmx_dpi_dmax_err_rsp_status_s cn66xx;
202 struct cvmx_dpi_dmax_err_rsp_status_s cn68xx;
203 struct cvmx_dpi_dmax_err_rsp_status_s cn68xxp1;
204 struct cvmx_dpi_dmax_err_rsp_status_s cnf71xx;
205};
206
207union cvmx_dpi_dmax_ibuff_saddr {
208 uint64_t u64;
209 struct cvmx_dpi_dmax_ibuff_saddr_s {
210#ifdef __BIG_ENDIAN_BITFIELD
211 uint64_t reserved_62_63:2;
212 uint64_t csize:14;
213 uint64_t reserved_41_47:7;
214 uint64_t idle:1;
215 uint64_t saddr:33;
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
225 } s;
226 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx {
227#ifdef __BIG_ENDIAN_BITFIELD
228 uint64_t reserved_62_63:2;
229 uint64_t csize:14;
230 uint64_t reserved_41_47:7;
231 uint64_t idle:1;
232 uint64_t reserved_36_39:4;
233 uint64_t saddr:29;
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
244 } cn61xx;
245 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xx;
246 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xxp1;
247 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn66xx;
248 struct cvmx_dpi_dmax_ibuff_saddr_s cn68xx;
249 struct cvmx_dpi_dmax_ibuff_saddr_s cn68xxp1;
250 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cnf71xx;
251};
252
253union cvmx_dpi_dmax_iflight {
254 uint64_t u64;
255 struct cvmx_dpi_dmax_iflight_s {
256#ifdef __BIG_ENDIAN_BITFIELD
257 uint64_t reserved_3_63:61;
258 uint64_t cnt:3;
259#else
260 uint64_t cnt:3;
261 uint64_t reserved_3_63:61;
262#endif
263 } s;
264 struct cvmx_dpi_dmax_iflight_s cn61xx;
265 struct cvmx_dpi_dmax_iflight_s cn66xx;
266 struct cvmx_dpi_dmax_iflight_s cn68xx;
267 struct cvmx_dpi_dmax_iflight_s cn68xxp1;
268 struct cvmx_dpi_dmax_iflight_s cnf71xx;
269};
270
271union cvmx_dpi_dmax_naddr {
272 uint64_t u64;
273 struct cvmx_dpi_dmax_naddr_s {
274#ifdef __BIG_ENDIAN_BITFIELD
275 uint64_t reserved_40_63:24;
276 uint64_t addr:40;
277#else
278 uint64_t addr:40;
279 uint64_t reserved_40_63:24;
280#endif
281 } s;
282 struct cvmx_dpi_dmax_naddr_cn61xx {
283#ifdef __BIG_ENDIAN_BITFIELD
284 uint64_t reserved_36_63:28;
285 uint64_t addr:36;
286#else
287 uint64_t addr:36;
288 uint64_t reserved_36_63:28;
289#endif
290 } cn61xx;
291 struct cvmx_dpi_dmax_naddr_cn61xx cn63xx;
292 struct cvmx_dpi_dmax_naddr_cn61xx cn63xxp1;
293 struct cvmx_dpi_dmax_naddr_cn61xx cn66xx;
294 struct cvmx_dpi_dmax_naddr_s cn68xx;
295 struct cvmx_dpi_dmax_naddr_s cn68xxp1;
296 struct cvmx_dpi_dmax_naddr_cn61xx cnf71xx;
297};
298
299union cvmx_dpi_dmax_reqbnk0 {
300 uint64_t u64;
301 struct cvmx_dpi_dmax_reqbnk0_s {
302#ifdef __BIG_ENDIAN_BITFIELD
303 uint64_t state:64;
304#else
305 uint64_t state:64;
306#endif
307 } s;
308 struct cvmx_dpi_dmax_reqbnk0_s cn61xx;
309 struct cvmx_dpi_dmax_reqbnk0_s cn63xx;
310 struct cvmx_dpi_dmax_reqbnk0_s cn63xxp1;
311 struct cvmx_dpi_dmax_reqbnk0_s cn66xx;
312 struct cvmx_dpi_dmax_reqbnk0_s cn68xx;
313 struct cvmx_dpi_dmax_reqbnk0_s cn68xxp1;
314 struct cvmx_dpi_dmax_reqbnk0_s cnf71xx;
315};
316
317union cvmx_dpi_dmax_reqbnk1 {
318 uint64_t u64;
319 struct cvmx_dpi_dmax_reqbnk1_s {
320#ifdef __BIG_ENDIAN_BITFIELD
321 uint64_t state:64;
322#else
323 uint64_t state:64;
324#endif
325 } s;
326 struct cvmx_dpi_dmax_reqbnk1_s cn61xx;
327 struct cvmx_dpi_dmax_reqbnk1_s cn63xx;
328 struct cvmx_dpi_dmax_reqbnk1_s cn63xxp1;
329 struct cvmx_dpi_dmax_reqbnk1_s cn66xx;
330 struct cvmx_dpi_dmax_reqbnk1_s cn68xx;
331 struct cvmx_dpi_dmax_reqbnk1_s cn68xxp1;
332 struct cvmx_dpi_dmax_reqbnk1_s cnf71xx;
333};
334
335union cvmx_dpi_dma_control {
336 uint64_t u64;
337 struct cvmx_dpi_dma_control_s {
338#ifdef __BIG_ENDIAN_BITFIELD
339 uint64_t reserved_62_63:2;
340 uint64_t dici_mode:1;
341 uint64_t pkt_en1:1;
342 uint64_t ffp_dis:1;
343 uint64_t commit_mode:1;
344 uint64_t pkt_hp:1;
345 uint64_t pkt_en:1;
346 uint64_t reserved_54_55:2;
347 uint64_t dma_enb:6;
348 uint64_t reserved_34_47:14;
349 uint64_t b0_lend:1;
350 uint64_t dwb_denb:1;
351 uint64_t dwb_ichk:9;
352 uint64_t fpa_que:3;
353 uint64_t o_add1:1;
354 uint64_t o_ro:1;
355 uint64_t o_ns:1;
356 uint64_t o_es:2;
357 uint64_t o_mode:1;
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
381 } s;
382 struct cvmx_dpi_dma_control_s cn61xx;
383 struct cvmx_dpi_dma_control_cn63xx {
384#ifdef __BIG_ENDIAN_BITFIELD
385 uint64_t reserved_61_63:3;
386 uint64_t pkt_en1:1;
387 uint64_t ffp_dis:1;
388 uint64_t commit_mode:1;
389 uint64_t pkt_hp:1;
390 uint64_t pkt_en:1;
391 uint64_t reserved_54_55:2;
392 uint64_t dma_enb:6;
393 uint64_t reserved_34_47:14;
394 uint64_t b0_lend:1;
395 uint64_t dwb_denb:1;
396 uint64_t dwb_ichk:9;
397 uint64_t fpa_que:3;
398 uint64_t o_add1:1;
399 uint64_t o_ro:1;
400 uint64_t o_ns:1;
401 uint64_t o_es:2;
402 uint64_t o_mode:1;
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
425 } cn63xx;
426 struct cvmx_dpi_dma_control_cn63xxp1 {
427#ifdef __BIG_ENDIAN_BITFIELD
428 uint64_t reserved_59_63:5;
429 uint64_t commit_mode:1;
430 uint64_t pkt_hp:1;
431 uint64_t pkt_en:1;
432 uint64_t reserved_54_55:2;
433 uint64_t dma_enb:6;
434 uint64_t reserved_34_47:14;
435 uint64_t b0_lend:1;
436 uint64_t dwb_denb:1;
437 uint64_t dwb_ichk:9;
438 uint64_t fpa_que:3;
439 uint64_t o_add1:1;
440 uint64_t o_ro:1;
441 uint64_t o_ns:1;
442 uint64_t o_es:2;
443 uint64_t o_mode:1;
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
464 } cn63xxp1;
465 struct cvmx_dpi_dma_control_cn63xx cn66xx;
466 struct cvmx_dpi_dma_control_s cn68xx;
467 struct cvmx_dpi_dma_control_cn63xx cn68xxp1;
468 struct cvmx_dpi_dma_control_s cnf71xx;
469};
470
471union cvmx_dpi_dma_engx_en {
472 uint64_t u64;
473 struct cvmx_dpi_dma_engx_en_s {
474#ifdef __BIG_ENDIAN_BITFIELD
475 uint64_t reserved_8_63:56;
476 uint64_t qen:8;
477#else
478 uint64_t qen:8;
479 uint64_t reserved_8_63:56;
480#endif
481 } s;
482 struct cvmx_dpi_dma_engx_en_s cn61xx;
483 struct cvmx_dpi_dma_engx_en_s cn63xx;
484 struct cvmx_dpi_dma_engx_en_s cn63xxp1;
485 struct cvmx_dpi_dma_engx_en_s cn66xx;
486 struct cvmx_dpi_dma_engx_en_s cn68xx;
487 struct cvmx_dpi_dma_engx_en_s cn68xxp1;
488 struct cvmx_dpi_dma_engx_en_s cnf71xx;
489};
490
491union cvmx_dpi_dma_ppx_cnt {
492 uint64_t u64;
493 struct cvmx_dpi_dma_ppx_cnt_s {
494#ifdef __BIG_ENDIAN_BITFIELD
495 uint64_t reserved_16_63:48;
496 uint64_t cnt:16;
497#else
498 uint64_t cnt:16;
499 uint64_t reserved_16_63:48;
500#endif
501 } s;
502 struct cvmx_dpi_dma_ppx_cnt_s cn61xx;
503 struct cvmx_dpi_dma_ppx_cnt_s cn68xx;
504 struct cvmx_dpi_dma_ppx_cnt_s cnf71xx;
505};
506
507union cvmx_dpi_engx_buf {
508 uint64_t u64;
509 struct cvmx_dpi_engx_buf_s {
510#ifdef __BIG_ENDIAN_BITFIELD
511 uint64_t reserved_37_63:27;
512 uint64_t compblks:5;
513 uint64_t reserved_9_31:23;
514 uint64_t base:5;
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
523 } s;
524 struct cvmx_dpi_engx_buf_s cn61xx;
525 struct cvmx_dpi_engx_buf_cn63xx {
526#ifdef __BIG_ENDIAN_BITFIELD
527 uint64_t reserved_8_63:56;
528 uint64_t base: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
535 } cn63xx;
536 struct cvmx_dpi_engx_buf_cn63xx cn63xxp1;
537 struct cvmx_dpi_engx_buf_s cn66xx;
538 struct cvmx_dpi_engx_buf_s cn68xx;
539 struct cvmx_dpi_engx_buf_s cn68xxp1;
540 struct cvmx_dpi_engx_buf_s cnf71xx;
541};
542
543union cvmx_dpi_info_reg {
544 uint64_t u64;
545 struct cvmx_dpi_info_reg_s {
546#ifdef __BIG_ENDIAN_BITFIELD
547 uint64_t reserved_8_63:56;
548 uint64_t ffp:4;
549 uint64_t reserved_2_3:2;
550 uint64_t ncb: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
559 } s;
560 struct cvmx_dpi_info_reg_s cn61xx;
561 struct cvmx_dpi_info_reg_s cn63xx;
562 struct cvmx_dpi_info_reg_cn63xxp1 {
563#ifdef __BIG_ENDIAN_BITFIELD
564 uint64_t reserved_2_63:62;
565 uint64_t ncb: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
572 } cn63xxp1;
573 struct cvmx_dpi_info_reg_s cn66xx;
574 struct cvmx_dpi_info_reg_s cn68xx;
575 struct cvmx_dpi_info_reg_s cn68xxp1;
576 struct cvmx_dpi_info_reg_s cnf71xx;
577};
578
579union cvmx_dpi_int_en {
580 uint64_t u64;
581 struct cvmx_dpi_int_en_s {
582#ifdef __BIG_ENDIAN_BITFIELD
583 uint64_t reserved_28_63:36;
584 uint64_t sprt3_rst:1;
585 uint64_t sprt2_rst:1;
586 uint64_t sprt1_rst:1;
587 uint64_t sprt0_rst:1;
588 uint64_t reserved_23_23:1;
589 uint64_t req_badfil:1;
590 uint64_t req_inull:1;
591 uint64_t req_anull:1;
592 uint64_t req_undflw:1;
593 uint64_t req_ovrflw:1;
594 uint64_t req_badlen:1;
595 uint64_t req_badadr:1;
596 uint64_t dmadbo:8;
597 uint64_t reserved_2_7:6;
598 uint64_t nfovr: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
619 } s;
620 struct cvmx_dpi_int_en_s cn61xx;
621 struct cvmx_dpi_int_en_cn63xx {
622#ifdef __BIG_ENDIAN_BITFIELD
623 uint64_t reserved_26_63:38;
624 uint64_t sprt1_rst:1;
625 uint64_t sprt0_rst:1;
626 uint64_t reserved_23_23:1;
627 uint64_t req_badfil:1;
628 uint64_t req_inull:1;
629 uint64_t req_anull:1;
630 uint64_t req_undflw:1;
631 uint64_t req_ovrflw:1;
632 uint64_t req_badlen:1;
633 uint64_t req_badadr:1;
634 uint64_t dmadbo:8;
635 uint64_t reserved_2_7:6;
636 uint64_t nfovr: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
655 } cn63xx;
656 struct cvmx_dpi_int_en_cn63xx cn63xxp1;
657 struct cvmx_dpi_int_en_s cn66xx;
658 struct cvmx_dpi_int_en_cn63xx cn68xx;
659 struct cvmx_dpi_int_en_cn63xx cn68xxp1;
660 struct cvmx_dpi_int_en_s cnf71xx;
661};
662
663union cvmx_dpi_int_reg {
664 uint64_t u64;
665 struct cvmx_dpi_int_reg_s {
666#ifdef __BIG_ENDIAN_BITFIELD
667 uint64_t reserved_28_63:36;
668 uint64_t sprt3_rst:1;
669 uint64_t sprt2_rst:1;
670 uint64_t sprt1_rst:1;
671 uint64_t sprt0_rst:1;
672 uint64_t reserved_23_23:1;
673 uint64_t req_badfil:1;
674 uint64_t req_inull:1;
675 uint64_t req_anull:1;
676 uint64_t req_undflw:1;
677 uint64_t req_ovrflw:1;
678 uint64_t req_badlen:1;
679 uint64_t req_badadr:1;
680 uint64_t dmadbo:8;
681 uint64_t reserved_2_7:6;
682 uint64_t nfovr: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
703 } s;
704 struct cvmx_dpi_int_reg_s cn61xx;
705 struct cvmx_dpi_int_reg_cn63xx {
706#ifdef __BIG_ENDIAN_BITFIELD
707 uint64_t reserved_26_63:38;
708 uint64_t sprt1_rst:1;
709 uint64_t sprt0_rst:1;
710 uint64_t reserved_23_23:1;
711 uint64_t req_badfil:1;
712 uint64_t req_inull:1;
713 uint64_t req_anull:1;
714 uint64_t req_undflw:1;
715 uint64_t req_ovrflw:1;
716 uint64_t req_badlen:1;
717 uint64_t req_badadr:1;
718 uint64_t dmadbo:8;
719 uint64_t reserved_2_7:6;
720 uint64_t nfovr: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
739 } cn63xx;
740 struct cvmx_dpi_int_reg_cn63xx cn63xxp1;
741 struct cvmx_dpi_int_reg_s cn66xx;
742 struct cvmx_dpi_int_reg_cn63xx cn68xx;
743 struct cvmx_dpi_int_reg_cn63xx cn68xxp1;
744 struct cvmx_dpi_int_reg_s cnf71xx;
745};
746
747union cvmx_dpi_ncbx_cfg {
748 uint64_t u64;
749 struct cvmx_dpi_ncbx_cfg_s {
750#ifdef __BIG_ENDIAN_BITFIELD
751 uint64_t reserved_6_63:58;
752 uint64_t molr:6;
753#else
754 uint64_t molr:6;
755 uint64_t reserved_6_63:58;
756#endif
757 } s;
758 struct cvmx_dpi_ncbx_cfg_s cn61xx;
759 struct cvmx_dpi_ncbx_cfg_s cn66xx;
760 struct cvmx_dpi_ncbx_cfg_s cn68xx;
761 struct cvmx_dpi_ncbx_cfg_s cnf71xx;
762};
763
764union cvmx_dpi_pint_info {
765 uint64_t u64;
766 struct cvmx_dpi_pint_info_s {
767#ifdef __BIG_ENDIAN_BITFIELD
768 uint64_t reserved_14_63:50;
769 uint64_t iinfo:6;
770 uint64_t reserved_6_7:2;
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
778 } s;
779 struct cvmx_dpi_pint_info_s cn61xx;
780 struct cvmx_dpi_pint_info_s cn63xx;
781 struct cvmx_dpi_pint_info_s cn63xxp1;
782 struct cvmx_dpi_pint_info_s cn66xx;
783 struct cvmx_dpi_pint_info_s cn68xx;
784 struct cvmx_dpi_pint_info_s cn68xxp1;
785 struct cvmx_dpi_pint_info_s cnf71xx;
786};
787
788union cvmx_dpi_pkt_err_rsp {
789 uint64_t u64;
790 struct cvmx_dpi_pkt_err_rsp_s {
791#ifdef __BIG_ENDIAN_BITFIELD
792 uint64_t reserved_1_63:63;
793 uint64_t pkterr:1;
794#else
795 uint64_t pkterr:1;
796 uint64_t reserved_1_63:63;
797#endif
798 } s;
799 struct cvmx_dpi_pkt_err_rsp_s cn61xx;
800 struct cvmx_dpi_pkt_err_rsp_s cn63xx;
801 struct cvmx_dpi_pkt_err_rsp_s cn63xxp1;
802 struct cvmx_dpi_pkt_err_rsp_s cn66xx;
803 struct cvmx_dpi_pkt_err_rsp_s cn68xx;
804 struct cvmx_dpi_pkt_err_rsp_s cn68xxp1;
805 struct cvmx_dpi_pkt_err_rsp_s cnf71xx;
806};
807
808union cvmx_dpi_req_err_rsp {
809 uint64_t u64;
810 struct cvmx_dpi_req_err_rsp_s {
811#ifdef __BIG_ENDIAN_BITFIELD
812 uint64_t reserved_8_63:56;
813 uint64_t qerr:8;
814#else
815 uint64_t qerr:8;
816 uint64_t reserved_8_63:56;
817#endif
818 } s;
819 struct cvmx_dpi_req_err_rsp_s cn61xx;
820 struct cvmx_dpi_req_err_rsp_s cn63xx;
821 struct cvmx_dpi_req_err_rsp_s cn63xxp1;
822 struct cvmx_dpi_req_err_rsp_s cn66xx;
823 struct cvmx_dpi_req_err_rsp_s cn68xx;
824 struct cvmx_dpi_req_err_rsp_s cn68xxp1;
825 struct cvmx_dpi_req_err_rsp_s cnf71xx;
826};
827
828union cvmx_dpi_req_err_rsp_en {
829 uint64_t u64;
830 struct cvmx_dpi_req_err_rsp_en_s {
831#ifdef __BIG_ENDIAN_BITFIELD
832 uint64_t reserved_8_63:56;
833 uint64_t en:8;
834#else
835 uint64_t en:8;
836 uint64_t reserved_8_63:56;
837#endif
838 } s;
839 struct cvmx_dpi_req_err_rsp_en_s cn61xx;
840 struct cvmx_dpi_req_err_rsp_en_s cn63xx;
841 struct cvmx_dpi_req_err_rsp_en_s cn63xxp1;
842 struct cvmx_dpi_req_err_rsp_en_s cn66xx;
843 struct cvmx_dpi_req_err_rsp_en_s cn68xx;
844 struct cvmx_dpi_req_err_rsp_en_s cn68xxp1;
845 struct cvmx_dpi_req_err_rsp_en_s cnf71xx;
846};
847
848union cvmx_dpi_req_err_rst {
849 uint64_t u64;
850 struct cvmx_dpi_req_err_rst_s {
851#ifdef __BIG_ENDIAN_BITFIELD
852 uint64_t reserved_8_63:56;
853 uint64_t qerr:8;
854#else
855 uint64_t qerr:8;
856 uint64_t reserved_8_63:56;
857#endif
858 } s;
859 struct cvmx_dpi_req_err_rst_s cn61xx;
860 struct cvmx_dpi_req_err_rst_s cn63xx;
861 struct cvmx_dpi_req_err_rst_s cn63xxp1;
862 struct cvmx_dpi_req_err_rst_s cn66xx;
863 struct cvmx_dpi_req_err_rst_s cn68xx;
864 struct cvmx_dpi_req_err_rst_s cn68xxp1;
865 struct cvmx_dpi_req_err_rst_s cnf71xx;
866};
867
868union cvmx_dpi_req_err_rst_en {
869 uint64_t u64;
870 struct cvmx_dpi_req_err_rst_en_s {
871#ifdef __BIG_ENDIAN_BITFIELD
872 uint64_t reserved_8_63:56;
873 uint64_t en:8;
874#else
875 uint64_t en:8;
876 uint64_t reserved_8_63:56;
877#endif
878 } s;
879 struct cvmx_dpi_req_err_rst_en_s cn61xx;
880 struct cvmx_dpi_req_err_rst_en_s cn63xx;
881 struct cvmx_dpi_req_err_rst_en_s cn63xxp1;
882 struct cvmx_dpi_req_err_rst_en_s cn66xx;
883 struct cvmx_dpi_req_err_rst_en_s cn68xx;
884 struct cvmx_dpi_req_err_rst_en_s cn68xxp1;
885 struct cvmx_dpi_req_err_rst_en_s cnf71xx;
886};
887
888union cvmx_dpi_req_err_skip_comp {
889 uint64_t u64;
890 struct cvmx_dpi_req_err_skip_comp_s {
891#ifdef __BIG_ENDIAN_BITFIELD
892 uint64_t reserved_24_63:40;
893 uint64_t en_rst:8;
894 uint64_t reserved_8_15: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
902 } s;
903 struct cvmx_dpi_req_err_skip_comp_s cn61xx;
904 struct cvmx_dpi_req_err_skip_comp_s cn66xx;
905 struct cvmx_dpi_req_err_skip_comp_s cn68xx;
906 struct cvmx_dpi_req_err_skip_comp_s cn68xxp1;
907 struct cvmx_dpi_req_err_skip_comp_s cnf71xx;
908};
909
910union cvmx_dpi_req_gbl_en {
911 uint64_t u64;
912 struct cvmx_dpi_req_gbl_en_s {
913#ifdef __BIG_ENDIAN_BITFIELD
914 uint64_t reserved_8_63:56;
915 uint64_t qen:8;
916#else
917 uint64_t qen:8;
918 uint64_t reserved_8_63:56;
919#endif
920 } s;
921 struct cvmx_dpi_req_gbl_en_s cn61xx;
922 struct cvmx_dpi_req_gbl_en_s cn63xx;
923 struct cvmx_dpi_req_gbl_en_s cn63xxp1;
924 struct cvmx_dpi_req_gbl_en_s cn66xx;
925 struct cvmx_dpi_req_gbl_en_s cn68xx;
926 struct cvmx_dpi_req_gbl_en_s cn68xxp1;
927 struct cvmx_dpi_req_gbl_en_s cnf71xx;
928};
929
930union cvmx_dpi_sli_prtx_cfg {
931 uint64_t u64;
932 struct cvmx_dpi_sli_prtx_cfg_s {
933#ifdef __BIG_ENDIAN_BITFIELD
934 uint64_t reserved_25_63:39;
935 uint64_t halt:1;
936 uint64_t qlm_cfg:4;
937 uint64_t reserved_17_19:3;
938 uint64_t rd_mode:1;
939 uint64_t reserved_14_15:2;
940 uint64_t molr:6;
941 uint64_t mps_lim:1;
942 uint64_t reserved_5_6:2;
943 uint64_t mps:1;
944 uint64_t mrrs_lim:1;
945 uint64_t reserved_2_2:1;
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
962 } s;
963 struct cvmx_dpi_sli_prtx_cfg_s cn61xx;
964 struct cvmx_dpi_sli_prtx_cfg_cn63xx {
965#ifdef __BIG_ENDIAN_BITFIELD
966 uint64_t reserved_25_63:39;
967 uint64_t halt:1;
968 uint64_t reserved_21_23:3;
969 uint64_t qlm_cfg:1;
970 uint64_t reserved_17_19:3;
971 uint64_t rd_mode:1;
972 uint64_t reserved_14_15:2;
973 uint64_t molr:6;
974 uint64_t mps_lim:1;
975 uint64_t reserved_5_6:2;
976 uint64_t mps:1;
977 uint64_t mrrs_lim:1;
978 uint64_t reserved_2_2:1;
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
996 } cn63xx;
997 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn63xxp1;
998 struct cvmx_dpi_sli_prtx_cfg_s cn66xx;
999 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xx;
1000 struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xxp1;
1001 struct cvmx_dpi_sli_prtx_cfg_s cnf71xx;
1002};
1003
1004union cvmx_dpi_sli_prtx_err {
1005 uint64_t u64;
1006 struct cvmx_dpi_sli_prtx_err_s {
1007#ifdef __BIG_ENDIAN_BITFIELD
1008 uint64_t addr:61;
1009 uint64_t reserved_0_2:3;
1010#else
1011 uint64_t reserved_0_2:3;
1012 uint64_t addr:61;
1013#endif
1014 } s;
1015 struct cvmx_dpi_sli_prtx_err_s cn61xx;
1016 struct cvmx_dpi_sli_prtx_err_s cn63xx;
1017 struct cvmx_dpi_sli_prtx_err_s cn63xxp1;
1018 struct cvmx_dpi_sli_prtx_err_s cn66xx;
1019 struct cvmx_dpi_sli_prtx_err_s cn68xx;
1020 struct cvmx_dpi_sli_prtx_err_s cn68xxp1;
1021 struct cvmx_dpi_sli_prtx_err_s cnf71xx;
1022};
1023
1024union cvmx_dpi_sli_prtx_err_info {
1025 uint64_t u64;
1026 struct cvmx_dpi_sli_prtx_err_info_s {
1027#ifdef __BIG_ENDIAN_BITFIELD
1028 uint64_t reserved_9_63:55;
1029 uint64_t lock:1;
1030 uint64_t reserved_5_7:3;
1031 uint64_t type:1;
1032 uint64_t reserved_3_3:1;
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
1042 } s;
1043 struct cvmx_dpi_sli_prtx_err_info_s cn61xx;
1044 struct cvmx_dpi_sli_prtx_err_info_s cn63xx;
1045 struct cvmx_dpi_sli_prtx_err_info_s cn63xxp1;
1046 struct cvmx_dpi_sli_prtx_err_info_s cn66xx;
1047 struct cvmx_dpi_sli_prtx_err_info_s cn68xx;
1048 struct cvmx_dpi_sli_prtx_err_info_s cn68xxp1;
1049 struct cvmx_dpi_sli_prtx_err_info_s cnf71xx;
1050};
1051
1052#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-fau.h b/arch/mips/include/asm/octeon/cvmx-fau.h
deleted file mode 100644
index a6939fc8ba1..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-fau.h
+++ /dev/null
@@ -1,597 +0,0 @@
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-2008 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/*
29 * Interface to the hardware Fetch and Add Unit.
30 */
31
32#ifndef __CVMX_FAU_H__
33#define __CVMX_FAU_H__
34
35/*
36 * Octeon Fetch and Add Unit (FAU)
37 */
38
39#define CVMX_FAU_LOAD_IO_ADDRESS cvmx_build_io_address(0x1e, 0)
40#define CVMX_FAU_BITS_SCRADDR 63, 56
41#define CVMX_FAU_BITS_LEN 55, 48
42#define CVMX_FAU_BITS_INEVAL 35, 14
43#define CVMX_FAU_BITS_TAGWAIT 13, 13
44#define CVMX_FAU_BITS_NOADD 13, 13
45#define CVMX_FAU_BITS_SIZE 12, 11
46#define CVMX_FAU_BITS_REGISTER 10, 0
47
48typedef enum {
49 CVMX_FAU_OP_SIZE_8 = 0,
50 CVMX_FAU_OP_SIZE_16 = 1,
51 CVMX_FAU_OP_SIZE_32 = 2,
52 CVMX_FAU_OP_SIZE_64 = 3
53} cvmx_fau_op_size_t;
54
55/**
56 * Tagwait return definition. If a timeout occurs, the error
57 * bit will be set. Otherwise the value of the register before
58 * the update will be returned.
59 */
60typedef struct {
61 uint64_t error:1;
62 int64_t value:63;
63} cvmx_fau_tagwait64_t;
64
65/**
66 * Tagwait return definition. If a timeout occurs, the error
67 * bit will be set. Otherwise the value of the register before
68 * the update will be returned.
69 */
70typedef struct {
71 uint64_t error:1;
72 int32_t value:31;
73} cvmx_fau_tagwait32_t;
74
75/**
76 * Tagwait return definition. If a timeout occurs, the error
77 * bit will be set. Otherwise the value of the register before
78 * the update will be returned.
79 */
80typedef struct {
81 uint64_t error:1;
82 int16_t value:15;
83} cvmx_fau_tagwait16_t;
84
85/**
86 * Tagwait return definition. If a timeout occurs, the error
87 * bit will be set. Otherwise the value of the register before
88 * the update will be returned.
89 */
90typedef struct {
91 uint64_t error:1;
92 int8_t value:7;
93} cvmx_fau_tagwait8_t;
94
95/**
96 * Asynchronous tagwait return definition. If a timeout occurs,
97 * the error bit will be set. Otherwise the value of the
98 * register before the update will be returned.
99 */
100typedef union {
101 uint64_t u64;
102 struct {
103 uint64_t invalid:1;
104 uint64_t data:63; /* unpredictable if invalid is set */
105 } s;
106} cvmx_fau_async_tagwait_result_t;
107
108/**
109 * Builds a store I/O address for writing to the FAU
110 *
111 * @noadd: 0 = Store value is atomically added to the current value
112 * 1 = Store value is atomically written over the current value
113 * @reg: FAU atomic register to access. 0 <= reg < 2048.
114 * - Step by 2 for 16 bit access.
115 * - Step by 4 for 32 bit access.
116 * - Step by 8 for 64 bit access.
117 * Returns Address to store for atomic update
118 */
119static inline uint64_t __cvmx_fau_store_address(uint64_t noadd, uint64_t reg)
120{
121 return CVMX_ADD_IO_SEG(CVMX_FAU_LOAD_IO_ADDRESS) |
122 cvmx_build_bits(CVMX_FAU_BITS_NOADD, noadd) |
123 cvmx_build_bits(CVMX_FAU_BITS_REGISTER, reg);
124}
125
126/**
127 * Builds a I/O address for accessing the FAU
128 *
129 * @tagwait: Should the atomic add wait for the current tag switch
130 * operation to complete.
131 * - 0 = Don't wait
132 * - 1 = Wait for tag switch to complete
133 * @reg: FAU atomic register to access. 0 <= reg < 2048.
134 * - Step by 2 for 16 bit access.
135 * - Step by 4 for 32 bit access.
136 * - Step by 8 for 64 bit access.
137 * @value: Signed value to add.
138 * Note: When performing 32 and 64 bit access, only the low
139 * 22 bits are available.
140 * Returns Address to read from for atomic update
141 */
142static inline uint64_t __cvmx_fau_atomic_address(uint64_t tagwait, uint64_t reg,
143 int64_t value)
144{
145 return CVMX_ADD_IO_SEG(CVMX_FAU_LOAD_IO_ADDRESS) |
146 cvmx_build_bits(CVMX_FAU_BITS_INEVAL, value) |
147 cvmx_build_bits(CVMX_FAU_BITS_TAGWAIT, tagwait) |
148 cvmx_build_bits(CVMX_FAU_BITS_REGISTER, reg);
149}
150
151/**
152 * Perform an atomic 64 bit add
153 *
154 * @reg: FAU atomic register to access. 0 <= reg < 2048.
155 * - Step by 8 for 64 bit access.
156 * @value: Signed value to add.
157 * Note: Only the low 22 bits are available.
158 * Returns Value of the register before the update
159 */
160static inline int64_t cvmx_fau_fetch_and_add64(cvmx_fau_reg_64_t reg,
161 int64_t value)
162{
163 return cvmx_read64_int64(__cvmx_fau_atomic_address(0, reg, value));
164}
165
166/**
167 * Perform an atomic 32 bit add
168 *
169 * @reg: FAU atomic register to access. 0 <= reg < 2048.
170 * - Step by 4 for 32 bit access.
171 * @value: Signed value to add.
172 * Note: Only the low 22 bits are available.
173 * Returns Value of the register before the update
174 */
175static inline int32_t cvmx_fau_fetch_and_add32(cvmx_fau_reg_32_t reg,
176 int32_t value)
177{
178 return cvmx_read64_int32(__cvmx_fau_atomic_address(0, reg, value));
179}
180
181/**
182 * Perform an atomic 16 bit add
183 *
184 * @reg: FAU atomic register to access. 0 <= reg < 2048.
185 * - Step by 2 for 16 bit access.
186 * @value: Signed value to add.
187 * Returns Value of the register before the update
188 */
189static inline int16_t cvmx_fau_fetch_and_add16(cvmx_fau_reg_16_t reg,
190 int16_t value)
191{
192 return cvmx_read64_int16(__cvmx_fau_atomic_address(0, reg, value));
193}
194
195/**
196 * Perform an atomic 8 bit add
197 *
198 * @reg: FAU atomic register to access. 0 <= reg < 2048.
199 * @value: Signed value to add.
200 * Returns Value of the register before the update
201 */
202static inline int8_t cvmx_fau_fetch_and_add8(cvmx_fau_reg_8_t reg, int8_t value)
203{
204 return cvmx_read64_int8(__cvmx_fau_atomic_address(0, reg, value));
205}
206
207/**
208 * Perform an atomic 64 bit add after the current tag switch
209 * completes
210 *
211 * @reg: FAU atomic register to access. 0 <= reg < 2048.
212 * - Step by 8 for 64 bit access.
213 * @value: Signed value to add.
214 * Note: Only the low 22 bits are available.
215 * Returns If a timeout occurs, the error bit will be set. Otherwise
216 * the value of the register before the update will be
217 * returned
218 */
219static inline cvmx_fau_tagwait64_t
220cvmx_fau_tagwait_fetch_and_add64(cvmx_fau_reg_64_t reg, int64_t value)
221{
222 union {
223 uint64_t i64;
224 cvmx_fau_tagwait64_t t;
225 } result;
226 result.i64 =
227 cvmx_read64_int64(__cvmx_fau_atomic_address(1, reg, value));
228 return result.t;
229}
230
231/**
232 * Perform an atomic 32 bit add after the current tag switch
233 * completes
234 *
235 * @reg: FAU atomic register to access. 0 <= reg < 2048.
236 * - Step by 4 for 32 bit access.
237 * @value: Signed value to add.
238 * Note: Only the low 22 bits are available.
239 * Returns If a timeout occurs, the error bit will be set. Otherwise
240 * the value of the register before the update will be
241 * returned
242 */
243static inline cvmx_fau_tagwait32_t
244cvmx_fau_tagwait_fetch_and_add32(cvmx_fau_reg_32_t reg, int32_t value)
245{
246 union {
247 uint64_t i32;
248 cvmx_fau_tagwait32_t t;
249 } result;
250 result.i32 =
251 cvmx_read64_int32(__cvmx_fau_atomic_address(1, reg, value));
252 return result.t;
253}
254
255/**
256 * Perform an atomic 16 bit add after the current tag switch
257 * completes
258 *
259 * @reg: FAU atomic register to access. 0 <= reg < 2048.
260 * - Step by 2 for 16 bit access.
261 * @value: Signed value to add.
262 * Returns If a timeout occurs, the error bit will be set. Otherwise
263 * the value of the register before the update will be
264 * returned
265 */
266static inline cvmx_fau_tagwait16_t
267cvmx_fau_tagwait_fetch_and_add16(cvmx_fau_reg_16_t reg, int16_t value)
268{
269 union {
270 uint64_t i16;
271 cvmx_fau_tagwait16_t t;
272 } result;
273 result.i16 =
274 cvmx_read64_int16(__cvmx_fau_atomic_address(1, reg, value));
275 return result.t;
276}
277
278/**
279 * Perform an atomic 8 bit add after the current tag switch
280 * completes
281 *
282 * @reg: FAU atomic register to access. 0 <= reg < 2048.
283 * @value: Signed value to add.
284 * Returns If a timeout occurs, the error bit will be set. Otherwise
285 * the value of the register before the update will be
286 * returned
287 */
288static inline cvmx_fau_tagwait8_t
289cvmx_fau_tagwait_fetch_and_add8(cvmx_fau_reg_8_t reg, int8_t value)
290{
291 union {
292 uint64_t i8;
293 cvmx_fau_tagwait8_t t;
294 } result;
295 result.i8 = cvmx_read64_int8(__cvmx_fau_atomic_address(1, reg, value));
296 return result.t;
297}
298
299/**
300 * Builds I/O data for async operations
301 *
302 * @scraddr: Scratch pad byte address to write to. Must be 8 byte aligned
303 * @value: Signed value to add.
304 * Note: When performing 32 and 64 bit access, only the low
305 * 22 bits are available.
306 * @tagwait: Should the atomic add wait for the current tag switch
307 * operation to complete.
308 * - 0 = Don't wait
309 * - 1 = Wait for tag switch to complete
310 * @size: The size of the operation:
311 * - CVMX_FAU_OP_SIZE_8 (0) = 8 bits
312 * - CVMX_FAU_OP_SIZE_16 (1) = 16 bits
313 * - CVMX_FAU_OP_SIZE_32 (2) = 32 bits
314 * - CVMX_FAU_OP_SIZE_64 (3) = 64 bits
315 * @reg: FAU atomic register to access. 0 <= reg < 2048.
316 * - Step by 2 for 16 bit access.
317 * - Step by 4 for 32 bit access.
318 * - Step by 8 for 64 bit access.
319 * Returns Data to write using cvmx_send_single
320 */
321static inline uint64_t __cvmx_fau_iobdma_data(uint64_t scraddr, int64_t value,
322 uint64_t tagwait,
323 cvmx_fau_op_size_t size,
324 uint64_t reg)
325{
326 return CVMX_FAU_LOAD_IO_ADDRESS |
327 cvmx_build_bits(CVMX_FAU_BITS_SCRADDR, scraddr >> 3) |
328 cvmx_build_bits(CVMX_FAU_BITS_LEN, 1) |
329 cvmx_build_bits(CVMX_FAU_BITS_INEVAL, value) |
330 cvmx_build_bits(CVMX_FAU_BITS_TAGWAIT, tagwait) |
331 cvmx_build_bits(CVMX_FAU_BITS_SIZE, size) |
332 cvmx_build_bits(CVMX_FAU_BITS_REGISTER, reg);
333}
334
335/**
336 * Perform an async atomic 64 bit add. The old value is
337 * placed in the scratch memory at byte address scraddr.
338 *
339 * @scraddr: Scratch memory byte address to put response in.
340 * Must be 8 byte aligned.
341 * @reg: FAU atomic register to access. 0 <= reg < 2048.
342 * - Step by 8 for 64 bit access.
343 * @value: Signed value to add.
344 * Note: Only the low 22 bits are available.
345 * Returns Placed in the scratch pad register
346 */
347static inline void cvmx_fau_async_fetch_and_add64(uint64_t scraddr,
348 cvmx_fau_reg_64_t reg,
349 int64_t value)
350{
351 cvmx_send_single(__cvmx_fau_iobdma_data
352 (scraddr, value, 0, CVMX_FAU_OP_SIZE_64, reg));
353}
354
355/**
356 * Perform an async atomic 32 bit add. The old value is
357 * placed in the scratch memory at byte address scraddr.
358 *
359 * @scraddr: Scratch memory byte address to put response in.
360 * Must be 8 byte aligned.
361 * @reg: FAU atomic register to access. 0 <= reg < 2048.
362 * - Step by 4 for 32 bit access.
363 * @value: Signed value to add.
364 * Note: Only the low 22 bits are available.
365 * Returns Placed in the scratch pad register
366 */
367static inline void cvmx_fau_async_fetch_and_add32(uint64_t scraddr,
368 cvmx_fau_reg_32_t reg,
369 int32_t value)
370{
371 cvmx_send_single(__cvmx_fau_iobdma_data
372 (scraddr, value, 0, CVMX_FAU_OP_SIZE_32, reg));
373}
374
375/**
376 * Perform an async atomic 16 bit add. The old value is
377 * placed in the scratch memory at byte address scraddr.
378 *
379 * @scraddr: Scratch memory byte address to put response in.
380 * Must be 8 byte aligned.
381 * @reg: FAU atomic register to access. 0 <= reg < 2048.
382 * - Step by 2 for 16 bit access.
383 * @value: Signed value to add.
384 * Returns Placed in the scratch pad register
385 */
386static inline void cvmx_fau_async_fetch_and_add16(uint64_t scraddr,
387 cvmx_fau_reg_16_t reg,
388 int16_t value)
389{
390 cvmx_send_single(__cvmx_fau_iobdma_data
391 (scraddr, value, 0, CVMX_FAU_OP_SIZE_16, reg));
392}
393
394/**
395 * Perform an async atomic 8 bit add. The old value is
396 * placed in the scratch memory at byte address scraddr.
397 *
398 * @scraddr: Scratch memory byte address to put response in.
399 * Must be 8 byte aligned.
400 * @reg: FAU atomic register to access. 0 <= reg < 2048.
401 * @value: Signed value to add.
402 * Returns Placed in the scratch pad register
403 */
404static inline void cvmx_fau_async_fetch_and_add8(uint64_t scraddr,
405 cvmx_fau_reg_8_t reg,
406 int8_t value)
407{
408 cvmx_send_single(__cvmx_fau_iobdma_data
409 (scraddr, value, 0, CVMX_FAU_OP_SIZE_8, reg));
410}
411
412/**
413 * Perform an async atomic 64 bit add after the current tag
414 * switch completes.
415 *
416 * @scraddr: Scratch memory byte address to put response in. Must be
417 * 8 byte aligned. If a timeout occurs, the error bit (63)
418 * will be set. Otherwise the value of the register before
419 * the update will be returned
420 *
421 * @reg: FAU atomic register to access. 0 <= reg < 2048.
422 * - Step by 8 for 64 bit access.
423 * @value: Signed value to add.
424 * Note: Only the low 22 bits are available.
425 * Returns Placed in the scratch pad register
426 */
427static inline void cvmx_fau_async_tagwait_fetch_and_add64(uint64_t scraddr,
428 cvmx_fau_reg_64_t reg,
429 int64_t value)
430{
431 cvmx_send_single(__cvmx_fau_iobdma_data
432 (scraddr, value, 1, CVMX_FAU_OP_SIZE_64, reg));
433}
434
435/**
436 * Perform an async atomic 32 bit add after the current tag
437 * switch completes.
438 *
439 * @scraddr: Scratch memory byte address to put response in. Must be
440 * 8 byte aligned. If a timeout occurs, the error bit (63)
441 * will be set. Otherwise the value of the register before
442 * the update will be returned
443 *
444 * @reg: FAU atomic register to access. 0 <= reg < 2048.
445 * - Step by 4 for 32 bit access.
446 * @value: Signed value to add.
447 * Note: Only the low 22 bits are available.
448 * Returns Placed in the scratch pad register
449 */
450static inline void cvmx_fau_async_tagwait_fetch_and_add32(uint64_t scraddr,
451 cvmx_fau_reg_32_t reg,
452 int32_t value)
453{
454 cvmx_send_single(__cvmx_fau_iobdma_data
455 (scraddr, value, 1, CVMX_FAU_OP_SIZE_32, reg));
456}
457
458/**
459 * Perform an async atomic 16 bit add after the current tag
460 * switch completes.
461 *
462 * @scraddr: Scratch memory byte address to put response in. Must be
463 * 8 byte aligned. If a timeout occurs, the error bit (63)
464 * will be set. Otherwise the value of the register before
465 * the update will be returned
466 *
467 * @reg: FAU atomic register to access. 0 <= reg < 2048.
468 * - Step by 2 for 16 bit access.
469 * @value: Signed value to add.
470 *
471 * Returns Placed in the scratch pad register
472 */
473static inline void cvmx_fau_async_tagwait_fetch_and_add16(uint64_t scraddr,
474 cvmx_fau_reg_16_t reg,
475 int16_t value)
476{
477 cvmx_send_single(__cvmx_fau_iobdma_data
478 (scraddr, value, 1, CVMX_FAU_OP_SIZE_16, reg));
479}
480
481/**
482 * Perform an async atomic 8 bit add after the current tag
483 * switch completes.
484 *
485 * @scraddr: Scratch memory byte address to put response in. Must be
486 * 8 byte aligned. If a timeout occurs, the error bit (63)
487 * will be set. Otherwise the value of the register before
488 * the update will be returned
489 *
490 * @reg: FAU atomic register to access. 0 <= reg < 2048.
491 * @value: Signed value to add.
492 *
493 * Returns Placed in the scratch pad register
494 */
495static inline void cvmx_fau_async_tagwait_fetch_and_add8(uint64_t scraddr,
496 cvmx_fau_reg_8_t reg,
497 int8_t value)
498{
499 cvmx_send_single(__cvmx_fau_iobdma_data
500 (scraddr, value, 1, CVMX_FAU_OP_SIZE_8, reg));
501}
502
503/**
504 * Perform an atomic 64 bit add
505 *
506 * @reg: FAU atomic register to access. 0 <= reg < 2048.
507 * - Step by 8 for 64 bit access.
508 * @value: Signed value to add.
509 */
510static inline void cvmx_fau_atomic_add64(cvmx_fau_reg_64_t reg, int64_t value)
511{
512 cvmx_write64_int64(__cvmx_fau_store_address(0, reg), value);
513}
514
515/**
516 * Perform an atomic 32 bit add
517 *
518 * @reg: FAU atomic register to access. 0 <= reg < 2048.
519 * - Step by 4 for 32 bit access.
520 * @value: Signed value to add.
521 */
522static inline void cvmx_fau_atomic_add32(cvmx_fau_reg_32_t reg, int32_t value)
523{
524 cvmx_write64_int32(__cvmx_fau_store_address(0, reg), value);
525}
526
527/**
528 * Perform an atomic 16 bit add
529 *
530 * @reg: FAU atomic register to access. 0 <= reg < 2048.
531 * - Step by 2 for 16 bit access.
532 * @value: Signed value to add.
533 */
534static inline void cvmx_fau_atomic_add16(cvmx_fau_reg_16_t reg, int16_t value)
535{
536 cvmx_write64_int16(__cvmx_fau_store_address(0, reg), value);
537}
538
539/**
540 * Perform an atomic 8 bit add
541 *
542 * @reg: FAU atomic register to access. 0 <= reg < 2048.
543 * @value: Signed value to add.
544 */
545static inline void cvmx_fau_atomic_add8(cvmx_fau_reg_8_t reg, int8_t value)
546{
547 cvmx_write64_int8(__cvmx_fau_store_address(0, reg), value);
548}
549
550/**
551 * Perform an atomic 64 bit write
552 *
553 * @reg: FAU atomic register to access. 0 <= reg < 2048.
554 * - Step by 8 for 64 bit access.
555 * @value: Signed value to write.
556 */
557static inline void cvmx_fau_atomic_write64(cvmx_fau_reg_64_t reg, int64_t value)
558{
559 cvmx_write64_int64(__cvmx_fau_store_address(1, reg), value);
560}
561
562/**
563 * Perform an atomic 32 bit write
564 *
565 * @reg: FAU atomic register to access. 0 <= reg < 2048.
566 * - Step by 4 for 32 bit access.
567 * @value: Signed value to write.
568 */
569static inline void cvmx_fau_atomic_write32(cvmx_fau_reg_32_t reg, int32_t value)
570{
571 cvmx_write64_int32(__cvmx_fau_store_address(1, reg), value);
572}
573
574/**
575 * Perform an atomic 16 bit write
576 *
577 * @reg: FAU atomic register to access. 0 <= reg < 2048.
578 * - Step by 2 for 16 bit access.
579 * @value: Signed value to write.
580 */
581static inline void cvmx_fau_atomic_write16(cvmx_fau_reg_16_t reg, int16_t value)
582{
583 cvmx_write64_int16(__cvmx_fau_store_address(1, reg), value);
584}
585
586/**
587 * Perform an atomic 8 bit write
588 *
589 * @reg: FAU atomic register to access. 0 <= reg < 2048.
590 * @value: Signed value to write.
591 */
592static inline void cvmx_fau_atomic_write8(cvmx_fau_reg_8_t reg, int8_t value)
593{
594 cvmx_write64_int8(__cvmx_fau_store_address(1, reg), value);
595}
596
597#endif /* __CVMX_FAU_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-fpa-defs.h b/arch/mips/include/asm/octeon/cvmx-fpa-defs.h
deleted file mode 100644
index 1d79e3c7040..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-fpa-defs.h
+++ /dev/null
@@ -1,1498 +0,0 @@
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_FPA_DEFS_H__
29#define __CVMX_FPA_DEFS_H__
30
31#define CVMX_FPA_ADDR_RANGE_ERROR (CVMX_ADD_IO_SEG(0x0001180028000458ull))
32#define CVMX_FPA_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E8ull))
33#define CVMX_FPA_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180028000050ull))
34#define CVMX_FPA_FPF0_MARKS (CVMX_ADD_IO_SEG(0x0001180028000000ull))
35#define CVMX_FPA_FPF0_SIZE (CVMX_ADD_IO_SEG(0x0001180028000058ull))
36#define CVMX_FPA_FPF1_MARKS CVMX_FPA_FPFX_MARKS(1)
37#define CVMX_FPA_FPF2_MARKS CVMX_FPA_FPFX_MARKS(2)
38#define CVMX_FPA_FPF3_MARKS CVMX_FPA_FPFX_MARKS(3)
39#define CVMX_FPA_FPF4_MARKS CVMX_FPA_FPFX_MARKS(4)
40#define CVMX_FPA_FPF5_MARKS CVMX_FPA_FPFX_MARKS(5)
41#define CVMX_FPA_FPF6_MARKS CVMX_FPA_FPFX_MARKS(6)
42#define CVMX_FPA_FPF7_MARKS CVMX_FPA_FPFX_MARKS(7)
43#define CVMX_FPA_FPF8_MARKS (CVMX_ADD_IO_SEG(0x0001180028000240ull))
44#define CVMX_FPA_FPF8_SIZE (CVMX_ADD_IO_SEG(0x0001180028000248ull))
45#define CVMX_FPA_FPFX_MARKS(offset) (CVMX_ADD_IO_SEG(0x0001180028000008ull) + ((offset) & 7) * 8 - 8*1)
46#define CVMX_FPA_FPFX_SIZE(offset) (CVMX_ADD_IO_SEG(0x0001180028000060ull) + ((offset) & 7) * 8 - 8*1)
47#define CVMX_FPA_INT_ENB (CVMX_ADD_IO_SEG(0x0001180028000048ull))
48#define CVMX_FPA_INT_SUM (CVMX_ADD_IO_SEG(0x0001180028000040ull))
49#define CVMX_FPA_PACKET_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000460ull))
50#define CVMX_FPA_POOLX_END_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000358ull) + ((offset) & 15) * 8)
51#define CVMX_FPA_POOLX_START_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000258ull) + ((offset) & 15) * 8)
52#define CVMX_FPA_POOLX_THRESHOLD(offset) (CVMX_ADD_IO_SEG(0x0001180028000140ull) + ((offset) & 15) * 8)
53#define CVMX_FPA_QUE0_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(0)
54#define CVMX_FPA_QUE1_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(1)
55#define CVMX_FPA_QUE2_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(2)
56#define CVMX_FPA_QUE3_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(3)
57#define CVMX_FPA_QUE4_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(4)
58#define CVMX_FPA_QUE5_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(5)
59#define CVMX_FPA_QUE6_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(6)
60#define CVMX_FPA_QUE7_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(7)
61#define CVMX_FPA_QUE8_PAGE_INDEX (CVMX_ADD_IO_SEG(0x0001180028000250ull))
62#define CVMX_FPA_QUEX_AVAILABLE(offset) (CVMX_ADD_IO_SEG(0x0001180028000098ull) + ((offset) & 15) * 8)
63#define CVMX_FPA_QUEX_PAGE_INDEX(offset) (CVMX_ADD_IO_SEG(0x00011800280000F0ull) + ((offset) & 7) * 8)
64#define CVMX_FPA_QUE_ACT (CVMX_ADD_IO_SEG(0x0001180028000138ull))
65#define CVMX_FPA_QUE_EXP (CVMX_ADD_IO_SEG(0x0001180028000130ull))
66#define CVMX_FPA_WART_CTL (CVMX_ADD_IO_SEG(0x00011800280000D8ull))
67#define CVMX_FPA_WART_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E0ull))
68#define CVMX_FPA_WQE_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000468ull))
69
70union cvmx_fpa_addr_range_error {
71 uint64_t u64;
72 struct cvmx_fpa_addr_range_error_s {
73#ifdef __BIG_ENDIAN_BITFIELD
74 uint64_t reserved_38_63:26;
75 uint64_t pool:5;
76 uint64_t addr:33;
77#else
78 uint64_t addr:33;
79 uint64_t pool:5;
80 uint64_t reserved_38_63:26;
81#endif
82 } s;
83 struct cvmx_fpa_addr_range_error_s cn61xx;
84 struct cvmx_fpa_addr_range_error_s cn66xx;
85 struct cvmx_fpa_addr_range_error_s cn68xx;
86 struct cvmx_fpa_addr_range_error_s cn68xxp1;
87 struct cvmx_fpa_addr_range_error_s cnf71xx;
88};
89
90union cvmx_fpa_bist_status {
91 uint64_t u64;
92 struct cvmx_fpa_bist_status_s {
93#ifdef __BIG_ENDIAN_BITFIELD
94 uint64_t reserved_5_63:59;
95 uint64_t frd:1;
96 uint64_t fpf0:1;
97 uint64_t fpf1:1;
98 uint64_t ffr: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
108 } s;
109 struct cvmx_fpa_bist_status_s cn30xx;
110 struct cvmx_fpa_bist_status_s cn31xx;
111 struct cvmx_fpa_bist_status_s cn38xx;
112 struct cvmx_fpa_bist_status_s cn38xxp2;
113 struct cvmx_fpa_bist_status_s cn50xx;
114 struct cvmx_fpa_bist_status_s cn52xx;
115 struct cvmx_fpa_bist_status_s cn52xxp1;
116 struct cvmx_fpa_bist_status_s cn56xx;
117 struct cvmx_fpa_bist_status_s cn56xxp1;
118 struct cvmx_fpa_bist_status_s cn58xx;
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;
127};
128
129union cvmx_fpa_ctl_status {
130 uint64_t u64;
131 struct cvmx_fpa_ctl_status_s {
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;
137 uint64_t reset:1;
138 uint64_t use_ldt:1;
139 uint64_t use_stt:1;
140 uint64_t enb:1;
141 uint64_t mem1_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
155 } s;
156 struct cvmx_fpa_ctl_status_cn30xx {
157#ifdef __BIG_ENDIAN_BITFIELD
158 uint64_t reserved_18_63:46;
159 uint64_t reset:1;
160 uint64_t use_ldt:1;
161 uint64_t use_stt:1;
162 uint64_t enb:1;
163 uint64_t mem1_err:7;
164 uint64_t mem0_err:7;
165#else
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;
192};
193
194union cvmx_fpa_fpfx_marks {
195 uint64_t u64;
196 struct cvmx_fpa_fpfx_marks_s {
197#ifdef __BIG_ENDIAN_BITFIELD
198 uint64_t reserved_22_63:42;
199 uint64_t fpf_wr: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
206 } s;
207 struct cvmx_fpa_fpfx_marks_s cn38xx;
208 struct cvmx_fpa_fpfx_marks_s cn38xxp2;
209 struct cvmx_fpa_fpfx_marks_s cn56xx;
210 struct cvmx_fpa_fpfx_marks_s cn56xxp1;
211 struct cvmx_fpa_fpfx_marks_s cn58xx;
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;
220};
221
222union cvmx_fpa_fpfx_size {
223 uint64_t u64;
224 struct cvmx_fpa_fpfx_size_s {
225#ifdef __BIG_ENDIAN_BITFIELD
226 uint64_t reserved_11_63:53;
227 uint64_t fpf_siz:11;
228#else
229 uint64_t fpf_siz:11;
230 uint64_t reserved_11_63:53;
231#endif
232 } s;
233 struct cvmx_fpa_fpfx_size_s cn38xx;
234 struct cvmx_fpa_fpfx_size_s cn38xxp2;
235 struct cvmx_fpa_fpfx_size_s cn56xx;
236 struct cvmx_fpa_fpfx_size_s cn56xxp1;
237 struct cvmx_fpa_fpfx_size_s cn58xx;
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;
246};
247
248union cvmx_fpa_fpf0_marks {
249 uint64_t u64;
250 struct cvmx_fpa_fpf0_marks_s {
251#ifdef __BIG_ENDIAN_BITFIELD
252 uint64_t reserved_24_63:40;
253 uint64_t fpf_wr: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
260 } s;
261 struct cvmx_fpa_fpf0_marks_s cn38xx;
262 struct cvmx_fpa_fpf0_marks_s cn38xxp2;
263 struct cvmx_fpa_fpf0_marks_s cn56xx;
264 struct cvmx_fpa_fpf0_marks_s cn56xxp1;
265 struct cvmx_fpa_fpf0_marks_s cn58xx;
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;
274};
275
276union cvmx_fpa_fpf0_size {
277 uint64_t u64;
278 struct cvmx_fpa_fpf0_size_s {
279#ifdef __BIG_ENDIAN_BITFIELD
280 uint64_t reserved_12_63:52;
281 uint64_t fpf_siz:12;
282#else
283 uint64_t fpf_siz:12;
284 uint64_t reserved_12_63:52;
285#endif
286 } s;
287 struct cvmx_fpa_fpf0_size_s cn38xx;
288 struct cvmx_fpa_fpf0_size_s cn38xxp2;
289 struct cvmx_fpa_fpf0_size_s cn56xx;
290 struct cvmx_fpa_fpf0_size_s cn56xxp1;
291 struct cvmx_fpa_fpf0_size_s cn58xx;
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;
332};
333
334union cvmx_fpa_int_enb {
335 uint64_t u64;
336 struct cvmx_fpa_int_enb_s {
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;
357 uint64_t q7_perr:1;
358 uint64_t q7_coff:1;
359 uint64_t q7_und:1;
360 uint64_t q6_perr:1;
361 uint64_t q6_coff:1;
362 uint64_t q6_und:1;
363 uint64_t q5_perr:1;
364 uint64_t q5_coff:1;
365 uint64_t q5_und:1;
366 uint64_t q4_perr:1;
367 uint64_t q4_coff:1;
368 uint64_t q4_und:1;
369 uint64_t q3_perr:1;
370 uint64_t q3_coff:1;
371 uint64_t q3_und:1;
372 uint64_t q2_perr:1;
373 uint64_t q2_coff:1;
374 uint64_t q2_und:1;
375 uint64_t q1_perr:1;
376 uint64_t q1_coff:1;
377 uint64_t q1_und:1;
378 uint64_t q0_perr:1;
379 uint64_t q0_coff:1;
380 uint64_t q0_und:1;
381 uint64_t fed1_dbe:1;
382 uint64_t fed1_sbe:1;
383 uint64_t fed0_dbe: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
434 } s;
435 struct cvmx_fpa_int_enb_cn30xx {
436#ifdef __BIG_ENDIAN_BITFIELD
437 uint64_t reserved_28_63:36;
438 uint64_t q7_perr:1;
439 uint64_t q7_coff:1;
440 uint64_t q7_und:1;
441 uint64_t q6_perr:1;
442 uint64_t q6_coff:1;
443 uint64_t q6_und:1;
444 uint64_t q5_perr:1;
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;
813};
814
815union cvmx_fpa_int_sum {
816 uint64_t u64;
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
926 uint64_t reserved_28_63:36;
927 uint64_t q7_perr:1;
928 uint64_t q7_coff:1;
929 uint64_t q7_und:1;
930 uint64_t q6_perr:1;
931 uint64_t q6_coff:1;
932 uint64_t q6_und:1;
933 uint64_t q5_perr:1;
934 uint64_t q5_coff:1;
935 uint64_t q5_und:1;
936 uint64_t q4_perr:1;
937 uint64_t q4_coff:1;
938 uint64_t q4_und:1;
939 uint64_t q3_perr:1;
940 uint64_t q3_coff:1;
941 uint64_t q3_und:1;
942 uint64_t q2_perr:1;
943 uint64_t q2_coff:1;
944 uint64_t q2_und:1;
945 uint64_t q1_perr:1;
946 uint64_t q1_coff:1;
947 uint64_t q1_und:1;
948 uint64_t q0_perr:1;
949 uint64_t q0_coff:1;
950 uint64_t q0_und:1;
951 uint64_t fed1_dbe:1;
952 uint64_t fed1_sbe:1;
953 uint64_t fed0_dbe: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
1208 } s;
1209 struct cvmx_fpa_packet_threshold_s cn61xx;
1210 struct cvmx_fpa_packet_threshold_s cn63xx;
1211 struct cvmx_fpa_packet_threshold_s cn66xx;
1212 struct cvmx_fpa_packet_threshold_s cn68xx;
1213 struct cvmx_fpa_packet_threshold_s cn68xxp1;
1214 struct cvmx_fpa_packet_threshold_s cnf71xx;
1215};
1216
1217union cvmx_fpa_poolx_end_addr {
1218 uint64_t u64;
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;
1278};
1279
1280union cvmx_fpa_quex_available {
1281 uint64_t u64;
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
1293 uint64_t reserved_29_63:35;
1294 uint64_t que_siz:29;
1295#else
1296 uint64_t que_siz:29;
1297 uint64_t reserved_29_63:35;
1298#endif
1299 } cn30xx;
1300 struct cvmx_fpa_quex_available_cn30xx cn31xx;
1301 struct cvmx_fpa_quex_available_cn30xx cn38xx;
1302 struct cvmx_fpa_quex_available_cn30xx cn38xxp2;
1303 struct cvmx_fpa_quex_available_cn30xx cn50xx;
1304 struct cvmx_fpa_quex_available_cn30xx cn52xx;
1305 struct cvmx_fpa_quex_available_cn30xx cn52xxp1;
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;
1317};
1318
1319union cvmx_fpa_quex_page_index {
1320 uint64_t u64;
1321 struct cvmx_fpa_quex_page_index_s {
1322#ifdef __BIG_ENDIAN_BITFIELD
1323 uint64_t reserved_25_63:39;
1324 uint64_t pg_num:25;
1325#else
1326 uint64_t pg_num:25;
1327 uint64_t reserved_25_63:39;
1328#endif
1329 } s;
1330 struct cvmx_fpa_quex_page_index_s cn30xx;
1331 struct cvmx_fpa_quex_page_index_s cn31xx;
1332 struct cvmx_fpa_quex_page_index_s cn38xx;
1333 struct cvmx_fpa_quex_page_index_s cn38xxp2;
1334 struct cvmx_fpa_quex_page_index_s cn50xx;
1335 struct cvmx_fpa_quex_page_index_s cn52xx;
1336 struct cvmx_fpa_quex_page_index_s cn52xxp1;
1337 struct cvmx_fpa_quex_page_index_s cn56xx;
1338 struct cvmx_fpa_quex_page_index_s cn56xxp1;
1339 struct cvmx_fpa_quex_page_index_s cn58xx;
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;
1363};
1364
1365union cvmx_fpa_que_act {
1366 uint64_t u64;
1367 struct cvmx_fpa_que_act_s {
1368#ifdef __BIG_ENDIAN_BITFIELD
1369 uint64_t reserved_29_63:35;
1370 uint64_t act_que:3;
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
1377 } s;
1378 struct cvmx_fpa_que_act_s cn30xx;
1379 struct cvmx_fpa_que_act_s cn31xx;
1380 struct cvmx_fpa_que_act_s cn38xx;
1381 struct cvmx_fpa_que_act_s cn38xxp2;
1382 struct cvmx_fpa_que_act_s cn50xx;
1383 struct cvmx_fpa_que_act_s cn52xx;
1384 struct cvmx_fpa_que_act_s cn52xxp1;
1385 struct cvmx_fpa_que_act_s cn56xx;
1386 struct cvmx_fpa_que_act_s cn56xxp1;
1387 struct cvmx_fpa_que_act_s cn58xx;
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;
1396};
1397
1398union cvmx_fpa_que_exp {
1399 uint64_t u64;
1400 struct cvmx_fpa_que_exp_s {
1401#ifdef __BIG_ENDIAN_BITFIELD
1402 uint64_t reserved_29_63:35;
1403 uint64_t exp_que:3;
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
1410 } s;
1411 struct cvmx_fpa_que_exp_s cn30xx;
1412 struct cvmx_fpa_que_exp_s cn31xx;
1413 struct cvmx_fpa_que_exp_s cn38xx;
1414 struct cvmx_fpa_que_exp_s cn38xxp2;
1415 struct cvmx_fpa_que_exp_s cn50xx;
1416 struct cvmx_fpa_que_exp_s cn52xx;
1417 struct cvmx_fpa_que_exp_s cn52xxp1;
1418 struct cvmx_fpa_que_exp_s cn56xx;
1419 struct cvmx_fpa_que_exp_s cn56xxp1;
1420 struct cvmx_fpa_que_exp_s cn58xx;
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;
1429};
1430
1431union cvmx_fpa_wart_ctl {
1432 uint64_t u64;
1433 struct cvmx_fpa_wart_ctl_s {
1434#ifdef __BIG_ENDIAN_BITFIELD
1435 uint64_t reserved_16_63:48;
1436 uint64_t ctl:16;
1437#else
1438 uint64_t ctl:16;
1439 uint64_t reserved_16_63:48;
1440#endif
1441 } s;
1442 struct cvmx_fpa_wart_ctl_s cn30xx;
1443 struct cvmx_fpa_wart_ctl_s cn31xx;
1444 struct cvmx_fpa_wart_ctl_s cn38xx;
1445 struct cvmx_fpa_wart_ctl_s cn38xxp2;
1446 struct cvmx_fpa_wart_ctl_s cn50xx;
1447 struct cvmx_fpa_wart_ctl_s cn52xx;
1448 struct cvmx_fpa_wart_ctl_s cn52xxp1;
1449 struct cvmx_fpa_wart_ctl_s cn56xx;
1450 struct cvmx_fpa_wart_ctl_s cn56xxp1;
1451 struct cvmx_fpa_wart_ctl_s cn58xx;
1452 struct cvmx_fpa_wart_ctl_s cn58xxp1;
1453};
1454
1455union cvmx_fpa_wart_status {
1456 uint64_t u64;
1457 struct cvmx_fpa_wart_status_s {
1458#ifdef __BIG_ENDIAN_BITFIELD
1459 uint64_t reserved_32_63:32;
1460 uint64_t status:32;
1461#else
1462 uint64_t status:32;
1463 uint64_t reserved_32_63:32;
1464#endif
1465 } s;
1466 struct cvmx_fpa_wart_status_s cn30xx;
1467 struct cvmx_fpa_wart_status_s cn31xx;
1468 struct cvmx_fpa_wart_status_s cn38xx;
1469 struct cvmx_fpa_wart_status_s cn38xxp2;
1470 struct cvmx_fpa_wart_status_s cn50xx;
1471 struct cvmx_fpa_wart_status_s cn52xx;
1472 struct cvmx_fpa_wart_status_s cn52xxp1;
1473 struct cvmx_fpa_wart_status_s cn56xx;
1474 struct cvmx_fpa_wart_status_s cn56xxp1;
1475 struct cvmx_fpa_wart_status_s cn58xx;
1476 struct cvmx_fpa_wart_status_s cn58xxp1;
1477};
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
1498#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-fpa.h b/arch/mips/include/asm/octeon/cvmx-fpa.h
deleted file mode 100644
index 541a1ae02b6..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-fpa.h
+++ /dev/null
@@ -1,299 +0,0 @@
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-2008 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/**
29 * @file
30 *
31 * Interface to the hardware Free Pool Allocator.
32 *
33 *
34 */
35
36#ifndef __CVMX_FPA_H__
37#define __CVMX_FPA_H__
38
39#include <asm/octeon/cvmx-address.h>
40#include <asm/octeon/cvmx-fpa-defs.h>
41
42#define CVMX_FPA_NUM_POOLS 8
43#define CVMX_FPA_MIN_BLOCK_SIZE 128
44#define CVMX_FPA_ALIGNMENT 128
45
46/**
47 * Structure describing the data format used for stores to the FPA.
48 */
49typedef union {
50 uint64_t u64;
51 struct {
52 /*
53 * the (64-bit word) location in scratchpad to write
54 * to (if len != 0)
55 */
56 uint64_t scraddr:8;
57 /* the number of words in the response (0 => no response) */
58 uint64_t len:8;
59 /* the ID of the device on the non-coherent bus */
60 uint64_t did:8;
61 /*
62 * the address that will appear in the first tick on
63 * the NCB bus.
64 */
65 uint64_t addr:40;
66 } s;
67} cvmx_fpa_iobdma_data_t;
68
69/**
70 * Structure describing the current state of a FPA pool.
71 */
72typedef struct {
73 /* Name it was created under */
74 const char *name;
75 /* Size of each block */
76 uint64_t size;
77 /* The base memory address of whole block */
78 void *base;
79 /* The number of elements in the pool at creation */
80 uint64_t starting_element_count;
81} cvmx_fpa_pool_info_t;
82
83/**
84 * Current state of all the pools. Use access functions
85 * instead of using it directly.
86 */
87extern cvmx_fpa_pool_info_t cvmx_fpa_pool_info[CVMX_FPA_NUM_POOLS];
88
89/* CSR typedefs have been moved to cvmx-csr-*.h */
90
91/**
92 * Return the name of the pool
93 *
94 * @pool: Pool to get the name of
95 * Returns The name
96 */
97static inline const char *cvmx_fpa_get_name(uint64_t pool)
98{
99 return cvmx_fpa_pool_info[pool].name;
100}
101
102/**
103 * Return the base of the pool
104 *
105 * @pool: Pool to get the base of
106 * Returns The base
107 */
108static inline void *cvmx_fpa_get_base(uint64_t pool)
109{
110 return cvmx_fpa_pool_info[pool].base;
111}
112
113/**
114 * Check if a pointer belongs to an FPA pool. Return non-zero
115 * if the supplied pointer is inside the memory controlled by
116 * an FPA pool.
117 *
118 * @pool: Pool to check
119 * @ptr: Pointer to check
120 * Returns Non-zero if pointer is in the pool. Zero if not
121 */
122static inline int cvmx_fpa_is_member(uint64_t pool, void *ptr)
123{
124 return ((ptr >= cvmx_fpa_pool_info[pool].base) &&
125 ((char *)ptr <
126 ((char *)(cvmx_fpa_pool_info[pool].base)) +
127 cvmx_fpa_pool_info[pool].size *
128 cvmx_fpa_pool_info[pool].starting_element_count));
129}
130
131/**
132 * Enable the FPA for use. Must be performed after any CSR
133 * configuration but before any other FPA functions.
134 */
135static inline void cvmx_fpa_enable(void)
136{
137 union cvmx_fpa_ctl_status status;
138
139 status.u64 = cvmx_read_csr(CVMX_FPA_CTL_STATUS);
140 if (status.s.enb) {
141 cvmx_dprintf
142 ("Warning: Enabling FPA when FPA already enabled.\n");
143 }
144
145 /*
146 * Do runtime check as we allow pass1 compiled code to run on
147 * pass2 chips.
148 */
149 if (cvmx_octeon_is_pass1()) {
150 union cvmx_fpa_fpfx_marks marks;
151 int i;
152 for (i = 1; i < 8; i++) {
153 marks.u64 =
154 cvmx_read_csr(CVMX_FPA_FPF1_MARKS + (i - 1) * 8ull);
155 marks.s.fpf_wr = 0xe0;
156 cvmx_write_csr(CVMX_FPA_FPF1_MARKS + (i - 1) * 8ull,
157 marks.u64);
158 }
159
160 /* Enforce a 10 cycle delay between config and enable */
161 cvmx_wait(10);
162 }
163
164 /* FIXME: CVMX_FPA_CTL_STATUS read is unmodelled */
165 status.u64 = 0;
166 status.s.enb = 1;
167 cvmx_write_csr(CVMX_FPA_CTL_STATUS, status.u64);
168}
169
170/**
171 * Get a new block from the FPA
172 *
173 * @pool: Pool to get the block from
174 * Returns Pointer to the block or NULL on failure
175 */
176static inline void *cvmx_fpa_alloc(uint64_t pool)
177{
178 uint64_t address =
179 cvmx_read_csr(CVMX_ADDR_DID(CVMX_FULL_DID(CVMX_OCT_DID_FPA, pool)));
180 if (address)
181 return cvmx_phys_to_ptr(address);
182 else
183 return NULL;
184}
185
186/**
187 * Asynchronously get a new block from the FPA
188 *
189 * @scr_addr: Local scratch address to put response in. This is a byte address,
190 * but must be 8 byte aligned.
191 * @pool: Pool to get the block from
192 */
193static inline void cvmx_fpa_async_alloc(uint64_t scr_addr, uint64_t pool)
194{
195 cvmx_fpa_iobdma_data_t data;
196
197 /*
198 * Hardware only uses 64 bit aligned locations, so convert
199 * from byte address to 64-bit index
200 */
201 data.s.scraddr = scr_addr >> 3;
202 data.s.len = 1;
203 data.s.did = CVMX_FULL_DID(CVMX_OCT_DID_FPA, pool);
204 data.s.addr = 0;
205 cvmx_send_single(data.u64);
206}
207
208/**
209 * Free a block allocated with a FPA pool. Does NOT provide memory
210 * ordering in cases where the memory block was modified by the core.
211 *
212 * @ptr: Block to free
213 * @pool: Pool to put it in
214 * @num_cache_lines:
215 * Cache lines to invalidate
216 */
217static inline void cvmx_fpa_free_nosync(void *ptr, uint64_t pool,
218 uint64_t num_cache_lines)
219{
220 cvmx_addr_t newptr;
221 newptr.u64 = cvmx_ptr_to_phys(ptr);
222 newptr.sfilldidspace.didspace =
223 CVMX_ADDR_DIDSPACE(CVMX_FULL_DID(CVMX_OCT_DID_FPA, pool));
224 /* Prevent GCC from reordering around free */
225 barrier();
226 /* value written is number of cache lines not written back */
227 cvmx_write_io(newptr.u64, num_cache_lines);
228}
229
230/**
231 * Free a block allocated with a FPA pool. Provides required memory
232 * ordering in cases where memory block was modified by core.
233 *
234 * @ptr: Block to free
235 * @pool: Pool to put it in
236 * @num_cache_lines:
237 * Cache lines to invalidate
238 */
239static inline void cvmx_fpa_free(void *ptr, uint64_t pool,
240 uint64_t num_cache_lines)
241{
242 cvmx_addr_t newptr;
243 newptr.u64 = cvmx_ptr_to_phys(ptr);
244 newptr.sfilldidspace.didspace =
245 CVMX_ADDR_DIDSPACE(CVMX_FULL_DID(CVMX_OCT_DID_FPA, pool));
246 /*
247 * Make sure that any previous writes to memory go out before
248 * we free this buffer. This also serves as a barrier to
249 * prevent GCC from reordering operations to after the
250 * free.
251 */
252 CVMX_SYNCWS;
253 /* value written is number of cache lines not written back */
254 cvmx_write_io(newptr.u64, num_cache_lines);
255}
256
257/**
258 * Setup a FPA pool to control a new block of memory.
259 * This can only be called once per pool. Make sure proper
260 * locking enforces this.
261 *
262 * @pool: Pool to initialize
263 * 0 <= pool < 8
264 * @name: Constant character string to name this pool.
265 * String is not copied.
266 * @buffer: Pointer to the block of memory to use. This must be
267 * accessible by all processors and external hardware.
268 * @block_size: Size for each block controlled by the FPA
269 * @num_blocks: Number of blocks
270 *
271 * Returns 0 on Success,
272 * -1 on failure
273 */
274extern int cvmx_fpa_setup_pool(uint64_t pool, const char *name, void *buffer,
275 uint64_t block_size, uint64_t num_blocks);
276
277/**
278 * Shutdown a Memory pool and validate that it had all of
279 * the buffers originally placed in it. This should only be
280 * called by one processor after all hardware has finished
281 * using the pool.
282 *
283 * @pool: Pool to shutdown
284 * Returns Zero on success
285 * - Positive is count of missing buffers
286 * - Negative is too many buffers or corrupted pointers
287 */
288extern uint64_t cvmx_fpa_shutdown_pool(uint64_t pool);
289
290/**
291 * Get the size of blocks controlled by the pool
292 * This is resolved to a constant at compile time.
293 *
294 * @pool: Pool to access
295 * Returns Size of the block in bytes
296 */
297uint64_t cvmx_fpa_get_block_size(uint64_t pool);
298
299#endif /* __CVM_FPA_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h b/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h
deleted file mode 100644
index e347496a33c..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h
+++ /dev/null
@@ -1,6929 +0,0 @@
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_GMXX_DEFS_H__
29#define __CVMX_GMXX_DEFS_H__
30
31static inline uint64_t CVMX_GMXX_BAD_REG(unsigned long block_id)
32{
33 switch (cvmx_get_octeon_family()) {
34 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
35 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
36 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
37 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
38 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
39 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
40 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
41 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
42 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
43 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
44 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
45 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
46 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
47 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
48 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x1000000ull;
49 }
50 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
51}
52
53static inline uint64_t CVMX_GMXX_BIST(unsigned long block_id)
54{
55 switch (cvmx_get_octeon_family()) {
56 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
57 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
58 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
59 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
60 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
61 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
62 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
63 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
64 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
65 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
66 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
67 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
68 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
69 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
70 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x1000000ull;
71 }
72 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
73}
74
75#define CVMX_GMXX_BPID_MAPX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000680ull) + (((offset) & 15) + ((block_id) & 7) * 0x200000ull) * 8)
76#define CVMX_GMXX_BPID_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180008000700ull) + ((block_id) & 7) * 0x1000000ull)
77static inline uint64_t CVMX_GMXX_CLK_EN(unsigned long block_id)
78{
79 switch (cvmx_get_octeon_family()) {
80 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
81 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
82 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
83 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
84 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
85 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
86 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
87 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
88 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
89 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x1000000ull;
90 }
91 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
92}
93
94#define CVMX_GMXX_EBP_DIS(block_id) (CVMX_ADD_IO_SEG(0x0001180008000608ull) + ((block_id) & 7) * 0x1000000ull)
95#define CVMX_GMXX_EBP_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180008000600ull) + ((block_id) & 7) * 0x1000000ull)
96static inline uint64_t CVMX_GMXX_HG2_CONTROL(unsigned long block_id)
97{
98 switch (cvmx_get_octeon_family()) {
99 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
100 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
101 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
102 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
103 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
104 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
105 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
106 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
107 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
108 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x1000000ull;
109 }
110 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
111}
112
113static inline uint64_t CVMX_GMXX_INF_MODE(unsigned long block_id)
114{
115 switch (cvmx_get_octeon_family()) {
116 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
117 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
118 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
119 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
120 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
121 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
122 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
123 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
124 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
125 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
126 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
127 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
128 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
129 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
130 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x1000000ull;
131 }
132 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
133}
134
135static inline uint64_t CVMX_GMXX_NXA_ADR(unsigned long block_id)
136{
137 switch (cvmx_get_octeon_family()) {
138 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
139 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
140 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
141 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
142 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
143 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
144 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
145 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
146 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
147 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
148 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
149 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
150 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
151 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
152 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x1000000ull;
153 }
154 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
155}
156
157#define CVMX_GMXX_PIPE_STATUS(block_id) (CVMX_ADD_IO_SEG(0x0001180008000760ull) + ((block_id) & 7) * 0x1000000ull)
158static inline uint64_t CVMX_GMXX_PRTX_CBFC_CTL(unsigned long offset, unsigned long block_id)
159{
160 switch (cvmx_get_octeon_family()) {
161 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
162 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
163 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
164 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull;
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(0x0001180008000580ull) + (block_id) * 0x8000000ull;
169 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
170 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x1000000ull;
171 }
172 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull;
173}
174
175static inline uint64_t CVMX_GMXX_PRTX_CFG(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(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
180 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
181 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
182 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
183 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
184 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
185 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
186 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
187 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
188 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
189 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
190 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
191 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
192 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
193 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x0ull) * 2048;
194 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
195 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
196 }
197 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
198}
199
200#define CVMX_GMXX_RXAUI_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180008000740ull) + ((block_id) & 7) * 0x1000000ull)
201static inline uint64_t CVMX_GMXX_RXX_ADR_CAM0(unsigned long offset, unsigned long block_id)
202{
203 switch (cvmx_get_octeon_family()) {
204 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
205 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
206 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
207 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
208 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
209 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
210 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
211 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
212 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
213 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
214 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
215 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
216 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
217 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
218 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x0ull) * 2048;
219 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
220 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
221 }
222 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
223}
224
225static inline uint64_t CVMX_GMXX_RXX_ADR_CAM1(unsigned long offset, unsigned long block_id)
226{
227 switch (cvmx_get_octeon_family()) {
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}
2072
2073union cvmx_gmxx_bad_reg {
2074 uint64_t u64;
2075 struct cvmx_gmxx_bad_reg_s {
2076#ifdef __BIG_ENDIAN_BITFIELD
2077 uint64_t reserved_31_63:33;
2078 uint64_t inb_nxa:4;
2079 uint64_t statovr:1;
2080 uint64_t loststat:4;
2081 uint64_t reserved_18_21:4;
2082 uint64_t out_ovr:16;
2083 uint64_t ncb_ovr: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
2095 } s;
2096 struct cvmx_gmxx_bad_reg_cn30xx {
2097#ifdef __BIG_ENDIAN_BITFIELD
2098 uint64_t reserved_31_63:33;
2099 uint64_t inb_nxa:4;
2100 uint64_t statovr:1;
2101 uint64_t reserved_25_25:1;
2102 uint64_t loststat:3;
2103 uint64_t reserved_5_21:17;
2104 uint64_t out_ovr:3;
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
2116 } cn30xx;
2117 struct cvmx_gmxx_bad_reg_cn30xx cn31xx;
2118 struct cvmx_gmxx_bad_reg_s cn38xx;
2119 struct cvmx_gmxx_bad_reg_s cn38xxp2;
2120 struct cvmx_gmxx_bad_reg_cn30xx cn50xx;
2121 struct cvmx_gmxx_bad_reg_cn52xx {
2122#ifdef __BIG_ENDIAN_BITFIELD
2123 uint64_t reserved_31_63:33;
2124 uint64_t inb_nxa:4;
2125 uint64_t statovr:1;
2126 uint64_t loststat:4;
2127 uint64_t reserved_6_21:16;
2128 uint64_t out_ovr:4;
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
2139 } cn52xx;
2140 struct cvmx_gmxx_bad_reg_cn52xx cn52xxp1;
2141 struct cvmx_gmxx_bad_reg_cn52xx cn56xx;
2142 struct cvmx_gmxx_bad_reg_cn52xx cn56xxp1;
2143 struct cvmx_gmxx_bad_reg_s cn58xx;
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;
2152};
2153
2154union cvmx_gmxx_bist {
2155 uint64_t u64;
2156 struct cvmx_gmxx_bist_s {
2157#ifdef __BIG_ENDIAN_BITFIELD
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
2164 } s;
2165 struct cvmx_gmxx_bist_cn30xx {
2166#ifdef __BIG_ENDIAN_BITFIELD
2167 uint64_t reserved_10_63:54;
2168 uint64_t status:10;
2169#else
2170 uint64_t status:10;
2171 uint64_t reserved_10_63:54;
2172#endif
2173 } cn30xx;
2174 struct cvmx_gmxx_bist_cn30xx cn31xx;
2175 struct cvmx_gmxx_bist_cn30xx cn38xx;
2176 struct cvmx_gmxx_bist_cn30xx cn38xxp2;
2177 struct cvmx_gmxx_bist_cn50xx {
2178#ifdef __BIG_ENDIAN_BITFIELD
2179 uint64_t reserved_12_63:52;
2180 uint64_t status:12;
2181#else
2182 uint64_t status:12;
2183 uint64_t reserved_12_63:52;
2184#endif
2185 } cn50xx;
2186 struct cvmx_gmxx_bist_cn52xx {
2187#ifdef __BIG_ENDIAN_BITFIELD
2188 uint64_t reserved_16_63:48;
2189 uint64_t status:16;
2190#else
2191 uint64_t status:16;
2192 uint64_t reserved_16_63:48;
2193#endif
2194 } cn52xx;
2195 struct cvmx_gmxx_bist_cn52xx cn52xxp1;
2196 struct cvmx_gmxx_bist_cn52xx cn56xx;
2197 struct cvmx_gmxx_bist_cn52xx cn56xxp1;
2198 struct cvmx_gmxx_bist_cn58xx {
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;
2257};
2258
2259union cvmx_gmxx_clk_en {
2260 uint64_t u64;
2261 struct cvmx_gmxx_clk_en_s {
2262#ifdef __BIG_ENDIAN_BITFIELD
2263 uint64_t reserved_1_63:63;
2264 uint64_t clk_en:1;
2265#else
2266 uint64_t clk_en:1;
2267 uint64_t reserved_1_63:63;
2268#endif
2269 } s;
2270 struct cvmx_gmxx_clk_en_s cn52xx;
2271 struct cvmx_gmxx_clk_en_s cn52xxp1;
2272 struct cvmx_gmxx_clk_en_s cn56xx;
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;
2311};
2312
2313union cvmx_gmxx_hg2_control {
2314 uint64_t u64;
2315 struct cvmx_gmxx_hg2_control_s {
2316#ifdef __BIG_ENDIAN_BITFIELD
2317 uint64_t reserved_19_63:45;
2318 uint64_t hg2tx_en:1;
2319 uint64_t hg2rx_en:1;
2320 uint64_t phys_en:1;
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
2329 } s;
2330 struct cvmx_gmxx_hg2_control_s cn52xx;
2331 struct cvmx_gmxx_hg2_control_s cn52xxp1;
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;
2340};
2341
2342union cvmx_gmxx_inf_mode {
2343 uint64_t u64;
2344 struct cvmx_gmxx_inf_mode_s {
2345#ifdef __BIG_ENDIAN_BITFIELD
2346 uint64_t reserved_20_63:44;
2347 uint64_t rate:4;
2348 uint64_t reserved_12_15:4;
2349 uint64_t speed:4;
2350 uint64_t reserved_7_7:1;
2351 uint64_t mode:3;
2352 uint64_t reserved_3_3:1;
2353 uint64_t p0mii:1;
2354 uint64_t en: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
2368 } s;
2369 struct cvmx_gmxx_inf_mode_cn30xx {
2370#ifdef __BIG_ENDIAN_BITFIELD
2371 uint64_t reserved_3_63:61;
2372 uint64_t p0mii:1;
2373 uint64_t en: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
2381 } cn30xx;
2382 struct cvmx_gmxx_inf_mode_cn31xx {
2383#ifdef __BIG_ENDIAN_BITFIELD
2384 uint64_t reserved_2_63:62;
2385 uint64_t en: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
2392 } cn31xx;
2393 struct cvmx_gmxx_inf_mode_cn31xx cn38xx;
2394 struct cvmx_gmxx_inf_mode_cn31xx cn38xxp2;
2395 struct cvmx_gmxx_inf_mode_cn30xx cn50xx;
2396 struct cvmx_gmxx_inf_mode_cn52xx {
2397#ifdef __BIG_ENDIAN_BITFIELD
2398 uint64_t reserved_10_63:54;
2399 uint64_t speed:2;
2400 uint64_t reserved_6_7:2;
2401 uint64_t mode:2;
2402 uint64_t reserved_2_3:2;
2403 uint64_t en: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
2414 } cn52xx;
2415 struct cvmx_gmxx_inf_mode_cn52xx cn52xxp1;
2416 struct cvmx_gmxx_inf_mode_cn52xx cn56xx;
2417 struct cvmx_gmxx_inf_mode_cn52xx cn56xxp1;
2418 struct cvmx_gmxx_inf_mode_cn31xx cn58xx;
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;
2485};
2486
2487union cvmx_gmxx_nxa_adr {
2488 uint64_t u64;
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
2504 uint64_t reserved_6_63:58;
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
2548 } s;
2549 struct cvmx_gmxx_pipe_status_s cn68xx;
2550 struct cvmx_gmxx_pipe_status_s cn68xxp1;
2551};
2552
2553union cvmx_gmxx_prtx_cbfc_ctl {
2554 uint64_t u64;
2555 struct cvmx_gmxx_prtx_cbfc_ctl_s {
2556#ifdef __BIG_ENDIAN_BITFIELD
2557 uint64_t phys_en:16;
2558 uint64_t logl_en:16;
2559 uint64_t phys_bp:16;
2560 uint64_t reserved_4_15:12;
2561 uint64_t bck_en:1;
2562 uint64_t drp_en:1;
2563 uint64_t tx_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
2575 } s;
2576 struct cvmx_gmxx_prtx_cbfc_ctl_s cn52xx;
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;
2585};
2586
2587union cvmx_gmxx_prtx_cfg {
2588 uint64_t u64;
2589 struct cvmx_gmxx_prtx_cfg_s {
2590#ifdef __BIG_ENDIAN_BITFIELD
2591 uint64_t reserved_22_63:42;
2592 uint64_t pknd:6;
2593 uint64_t reserved_14_15:2;
2594 uint64_t tx_idle:1;
2595 uint64_t rx_idle:1;
2596 uint64_t reserved_9_11:3;
2597 uint64_t speed_msb:1;
2598 uint64_t reserved_4_7:4;
2599 uint64_t slottime:1;
2600 uint64_t duplex:1;
2601 uint64_t speed: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
2617 } s;
2618 struct cvmx_gmxx_prtx_cfg_cn30xx {
2619#ifdef __BIG_ENDIAN_BITFIELD
2620 uint64_t reserved_4_63:60;
2621 uint64_t slottime:1;
2622 uint64_t duplex:1;
2623 uint64_t speed: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
2632 } cn30xx;
2633 struct cvmx_gmxx_prtx_cfg_cn30xx cn31xx;
2634 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xx;
2635 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xxp2;
2636 struct cvmx_gmxx_prtx_cfg_cn30xx cn50xx;
2637 struct cvmx_gmxx_prtx_cfg_cn52xx {
2638#ifdef __BIG_ENDIAN_BITFIELD
2639 uint64_t reserved_14_63:50;
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;
2665 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xx;
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;
2674};
2675
2676union cvmx_gmxx_rxx_adr_cam0 {
2677 uint64_t u64;
2678 struct cvmx_gmxx_rxx_adr_cam0_s {
2679#ifdef __BIG_ENDIAN_BITFIELD
2680 uint64_t adr:64;
2681#else
2682 uint64_t adr:64;
2683#endif
2684 } s;
2685 struct cvmx_gmxx_rxx_adr_cam0_s cn30xx;
2686 struct cvmx_gmxx_rxx_adr_cam0_s cn31xx;
2687 struct cvmx_gmxx_rxx_adr_cam0_s cn38xx;
2688 struct cvmx_gmxx_rxx_adr_cam0_s cn38xxp2;
2689 struct cvmx_gmxx_rxx_adr_cam0_s cn50xx;
2690 struct cvmx_gmxx_rxx_adr_cam0_s cn52xx;
2691 struct cvmx_gmxx_rxx_adr_cam0_s cn52xxp1;
2692 struct cvmx_gmxx_rxx_adr_cam0_s cn56xx;
2693 struct cvmx_gmxx_rxx_adr_cam0_s cn56xxp1;
2694 struct cvmx_gmxx_rxx_adr_cam0_s cn58xx;
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;
2703};
2704
2705union cvmx_gmxx_rxx_adr_cam1 {
2706 uint64_t u64;
2707 struct cvmx_gmxx_rxx_adr_cam1_s {
2708#ifdef __BIG_ENDIAN_BITFIELD
2709 uint64_t adr:64;
2710#else
2711 uint64_t adr:64;
2712#endif
2713 } s;
2714 struct cvmx_gmxx_rxx_adr_cam1_s cn30xx;
2715 struct cvmx_gmxx_rxx_adr_cam1_s cn31xx;
2716 struct cvmx_gmxx_rxx_adr_cam1_s cn38xx;
2717 struct cvmx_gmxx_rxx_adr_cam1_s cn38xxp2;
2718 struct cvmx_gmxx_rxx_adr_cam1_s cn50xx;
2719 struct cvmx_gmxx_rxx_adr_cam1_s cn52xx;
2720 struct cvmx_gmxx_rxx_adr_cam1_s cn52xxp1;
2721 struct cvmx_gmxx_rxx_adr_cam1_s cn56xx;
2722 struct cvmx_gmxx_rxx_adr_cam1_s cn56xxp1;
2723 struct cvmx_gmxx_rxx_adr_cam1_s cn58xx;
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;
2732};
2733
2734union cvmx_gmxx_rxx_adr_cam2 {
2735 uint64_t u64;
2736 struct cvmx_gmxx_rxx_adr_cam2_s {
2737#ifdef __BIG_ENDIAN_BITFIELD
2738 uint64_t adr:64;
2739#else
2740 uint64_t adr:64;
2741#endif
2742 } s;
2743 struct cvmx_gmxx_rxx_adr_cam2_s cn30xx;
2744 struct cvmx_gmxx_rxx_adr_cam2_s cn31xx;
2745 struct cvmx_gmxx_rxx_adr_cam2_s cn38xx;
2746 struct cvmx_gmxx_rxx_adr_cam2_s cn38xxp2;
2747 struct cvmx_gmxx_rxx_adr_cam2_s cn50xx;
2748 struct cvmx_gmxx_rxx_adr_cam2_s cn52xx;
2749 struct cvmx_gmxx_rxx_adr_cam2_s cn52xxp1;
2750 struct cvmx_gmxx_rxx_adr_cam2_s cn56xx;
2751 struct cvmx_gmxx_rxx_adr_cam2_s cn56xxp1;
2752 struct cvmx_gmxx_rxx_adr_cam2_s cn58xx;
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;
2761};
2762
2763union cvmx_gmxx_rxx_adr_cam3 {
2764 uint64_t u64;
2765 struct cvmx_gmxx_rxx_adr_cam3_s {
2766#ifdef __BIG_ENDIAN_BITFIELD
2767 uint64_t adr:64;
2768#else
2769 uint64_t adr:64;
2770#endif
2771 } s;
2772 struct cvmx_gmxx_rxx_adr_cam3_s cn30xx;
2773 struct cvmx_gmxx_rxx_adr_cam3_s cn31xx;
2774 struct cvmx_gmxx_rxx_adr_cam3_s cn38xx;
2775 struct cvmx_gmxx_rxx_adr_cam3_s cn38xxp2;
2776 struct cvmx_gmxx_rxx_adr_cam3_s cn50xx;
2777 struct cvmx_gmxx_rxx_adr_cam3_s cn52xx;
2778 struct cvmx_gmxx_rxx_adr_cam3_s cn52xxp1;
2779 struct cvmx_gmxx_rxx_adr_cam3_s cn56xx;
2780 struct cvmx_gmxx_rxx_adr_cam3_s cn56xxp1;
2781 struct cvmx_gmxx_rxx_adr_cam3_s cn58xx;
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;
2790};
2791
2792union cvmx_gmxx_rxx_adr_cam4 {
2793 uint64_t u64;
2794 struct cvmx_gmxx_rxx_adr_cam4_s {
2795#ifdef __BIG_ENDIAN_BITFIELD
2796 uint64_t adr:64;
2797#else
2798 uint64_t adr:64;
2799#endif
2800 } s;
2801 struct cvmx_gmxx_rxx_adr_cam4_s cn30xx;
2802 struct cvmx_gmxx_rxx_adr_cam4_s cn31xx;
2803 struct cvmx_gmxx_rxx_adr_cam4_s cn38xx;
2804 struct cvmx_gmxx_rxx_adr_cam4_s cn38xxp2;
2805 struct cvmx_gmxx_rxx_adr_cam4_s cn50xx;
2806 struct cvmx_gmxx_rxx_adr_cam4_s cn52xx;
2807 struct cvmx_gmxx_rxx_adr_cam4_s cn52xxp1;
2808 struct cvmx_gmxx_rxx_adr_cam4_s cn56xx;
2809 struct cvmx_gmxx_rxx_adr_cam4_s cn56xxp1;
2810 struct cvmx_gmxx_rxx_adr_cam4_s cn58xx;
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;
2819};
2820
2821union cvmx_gmxx_rxx_adr_cam5 {
2822 uint64_t u64;
2823 struct cvmx_gmxx_rxx_adr_cam5_s {
2824#ifdef __BIG_ENDIAN_BITFIELD
2825 uint64_t adr:64;
2826#else
2827 uint64_t adr:64;
2828#endif
2829 } s;
2830 struct cvmx_gmxx_rxx_adr_cam5_s cn30xx;
2831 struct cvmx_gmxx_rxx_adr_cam5_s cn31xx;
2832 struct cvmx_gmxx_rxx_adr_cam5_s cn38xx;
2833 struct cvmx_gmxx_rxx_adr_cam5_s cn38xxp2;
2834 struct cvmx_gmxx_rxx_adr_cam5_s cn50xx;
2835 struct cvmx_gmxx_rxx_adr_cam5_s cn52xx;
2836 struct cvmx_gmxx_rxx_adr_cam5_s cn52xxp1;
2837 struct cvmx_gmxx_rxx_adr_cam5_s cn56xx;
2838 struct cvmx_gmxx_rxx_adr_cam5_s cn56xxp1;
2839 struct cvmx_gmxx_rxx_adr_cam5_s cn58xx;
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;
2865};
2866
2867union cvmx_gmxx_rxx_adr_cam_en {
2868 uint64_t u64;
2869 struct cvmx_gmxx_rxx_adr_cam_en_s {
2870#ifdef __BIG_ENDIAN_BITFIELD
2871 uint64_t reserved_8_63:56;
2872 uint64_t en:8;
2873#else
2874 uint64_t en:8;
2875 uint64_t reserved_8_63:56;
2876#endif
2877 } s;
2878 struct cvmx_gmxx_rxx_adr_cam_en_s cn30xx;
2879 struct cvmx_gmxx_rxx_adr_cam_en_s cn31xx;
2880 struct cvmx_gmxx_rxx_adr_cam_en_s cn38xx;
2881 struct cvmx_gmxx_rxx_adr_cam_en_s cn38xxp2;
2882 struct cvmx_gmxx_rxx_adr_cam_en_s cn50xx;
2883 struct cvmx_gmxx_rxx_adr_cam_en_s cn52xx;
2884 struct cvmx_gmxx_rxx_adr_cam_en_s cn52xxp1;
2885 struct cvmx_gmxx_rxx_adr_cam_en_s cn56xx;
2886 struct cvmx_gmxx_rxx_adr_cam_en_s cn56xxp1;
2887 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xx;
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;
2896};
2897
2898union cvmx_gmxx_rxx_adr_ctl {
2899 uint64_t u64;
2900 struct cvmx_gmxx_rxx_adr_ctl_s {
2901#ifdef __BIG_ENDIAN_BITFIELD
2902 uint64_t reserved_4_63:60;
2903 uint64_t cam_mode:1;
2904 uint64_t mcst:2;
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
2912 } s;
2913 struct cvmx_gmxx_rxx_adr_ctl_s cn30xx;
2914 struct cvmx_gmxx_rxx_adr_ctl_s cn31xx;
2915 struct cvmx_gmxx_rxx_adr_ctl_s cn38xx;
2916 struct cvmx_gmxx_rxx_adr_ctl_s cn38xxp2;
2917 struct cvmx_gmxx_rxx_adr_ctl_s cn50xx;
2918 struct cvmx_gmxx_rxx_adr_ctl_s cn52xx;
2919 struct cvmx_gmxx_rxx_adr_ctl_s cn52xxp1;
2920 struct cvmx_gmxx_rxx_adr_ctl_s cn56xx;
2921 struct cvmx_gmxx_rxx_adr_ctl_s cn56xxp1;
2922 struct cvmx_gmxx_rxx_adr_ctl_s cn58xx;
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;
2931};
2932
2933union cvmx_gmxx_rxx_decision {
2934 uint64_t u64;
2935 struct cvmx_gmxx_rxx_decision_s {
2936#ifdef __BIG_ENDIAN_BITFIELD
2937 uint64_t reserved_5_63:59;
2938 uint64_t cnt:5;
2939#else
2940 uint64_t cnt:5;
2941 uint64_t reserved_5_63:59;
2942#endif
2943 } s;
2944 struct cvmx_gmxx_rxx_decision_s cn30xx;
2945 struct cvmx_gmxx_rxx_decision_s cn31xx;
2946 struct cvmx_gmxx_rxx_decision_s cn38xx;
2947 struct cvmx_gmxx_rxx_decision_s cn38xxp2;
2948 struct cvmx_gmxx_rxx_decision_s cn50xx;
2949 struct cvmx_gmxx_rxx_decision_s cn52xx;
2950 struct cvmx_gmxx_rxx_decision_s cn52xxp1;
2951 struct cvmx_gmxx_rxx_decision_s cn56xx;
2952 struct cvmx_gmxx_rxx_decision_s cn56xxp1;
2953 struct cvmx_gmxx_rxx_decision_s cn58xx;
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;
2962};
2963
2964union cvmx_gmxx_rxx_frm_chk {
2965 uint64_t u64;
2966 struct cvmx_gmxx_rxx_frm_chk_s {
2967#ifdef __BIG_ENDIAN_BITFIELD
2968 uint64_t reserved_10_63:54;
2969 uint64_t niberr:1;
2970 uint64_t skperr:1;
2971 uint64_t rcverr:1;
2972 uint64_t lenerr:1;
2973 uint64_t alnerr:1;
2974 uint64_t fcserr:1;
2975 uint64_t jabber:1;
2976 uint64_t maxerr:1;
2977 uint64_t carext: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
2992 } s;
2993 struct cvmx_gmxx_rxx_frm_chk_s cn30xx;
2994 struct cvmx_gmxx_rxx_frm_chk_s cn31xx;
2995 struct cvmx_gmxx_rxx_frm_chk_s cn38xx;
2996 struct cvmx_gmxx_rxx_frm_chk_s cn38xxp2;
2997 struct cvmx_gmxx_rxx_frm_chk_cn50xx {
2998#ifdef __BIG_ENDIAN_BITFIELD
2999 uint64_t reserved_10_63:54;
3000 uint64_t niberr:1;
3001 uint64_t skperr:1;
3002 uint64_t rcverr:1;
3003 uint64_t reserved_6_6:1;
3004 uint64_t alnerr:1;
3005 uint64_t fcserr:1;
3006 uint64_t jabber:1;
3007 uint64_t reserved_2_2:1;
3008 uint64_t carext: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
3023 } cn50xx;
3024 struct cvmx_gmxx_rxx_frm_chk_cn52xx {
3025#ifdef __BIG_ENDIAN_BITFIELD
3026 uint64_t reserved_9_63:55;
3027 uint64_t skperr:1;
3028 uint64_t rcverr:1;
3029 uint64_t reserved_5_6:2;
3030 uint64_t fcserr:1;
3031 uint64_t jabber:1;
3032 uint64_t reserved_2_2:1;
3033 uint64_t carext: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
3046 } cn52xx;
3047 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn52xxp1;
3048 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xx;
3049 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xxp1;
3050 struct cvmx_gmxx_rxx_frm_chk_s cn58xx;
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;
3081};
3082
3083union cvmx_gmxx_rxx_frm_ctl {
3084 uint64_t u64;
3085 struct cvmx_gmxx_rxx_frm_ctl_s {
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;
3090 uint64_t null_dis:1;
3091 uint64_t pre_align:1;
3092 uint64_t pad_len:1;
3093 uint64_t vlan_len:1;
3094 uint64_t pre_free:1;
3095 uint64_t ctl_smac:1;
3096 uint64_t ctl_mcst:1;
3097 uint64_t ctl_bck:1;
3098 uint64_t ctl_drp:1;
3099 uint64_t pre_strp: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
3117 } s;
3118 struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
3119#ifdef __BIG_ENDIAN_BITFIELD
3120 uint64_t reserved_9_63:55;
3121 uint64_t pad_len:1;
3122 uint64_t vlan_len:1;
3123 uint64_t pre_free:1;
3124 uint64_t ctl_smac:1;
3125 uint64_t ctl_mcst:1;
3126 uint64_t ctl_bck:1;
3127 uint64_t ctl_drp:1;
3128 uint64_t pre_strp: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
3142 } cn30xx;
3143 struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
3144#ifdef __BIG_ENDIAN_BITFIELD
3145 uint64_t reserved_8_63:56;
3146 uint64_t vlan_len:1;
3147 uint64_t pre_free:1;
3148 uint64_t ctl_smac:1;
3149 uint64_t ctl_mcst:1;
3150 uint64_t ctl_bck:1;
3151 uint64_t ctl_drp:1;
3152 uint64_t pre_strp: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
3165 } cn31xx;
3166 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn38xx;
3167 struct cvmx_gmxx_rxx_frm_ctl_cn31xx cn38xxp2;
3168 struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
3169#ifdef __BIG_ENDIAN_BITFIELD
3170 uint64_t reserved_11_63:53;
3171 uint64_t null_dis:1;
3172 uint64_t pre_align:1;
3173 uint64_t reserved_7_8:2;
3174 uint64_t pre_free:1;
3175 uint64_t ctl_smac:1;
3176 uint64_t ctl_mcst:1;
3177 uint64_t ctl_bck:1;
3178 uint64_t ctl_drp:1;
3179 uint64_t pre_strp: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
3194 } cn50xx;
3195 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xx;
3196 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xxp1;
3197 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn56xx;
3198 struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
3199#ifdef __BIG_ENDIAN_BITFIELD
3200 uint64_t reserved_10_63:54;
3201 uint64_t pre_align:1;
3202 uint64_t reserved_7_8:2;
3203 uint64_t pre_free:1;
3204 uint64_t ctl_smac:1;
3205 uint64_t ctl_mcst:1;
3206 uint64_t ctl_bck:1;
3207 uint64_t ctl_drp:1;
3208 uint64_t pre_strp: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
3222 } cn56xxp1;
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;
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;
3290};
3291
3292union cvmx_gmxx_rxx_frm_max {
3293 uint64_t u64;
3294 struct cvmx_gmxx_rxx_frm_max_s {
3295#ifdef __BIG_ENDIAN_BITFIELD
3296 uint64_t reserved_16_63:48;
3297 uint64_t len:16;
3298#else
3299 uint64_t len:16;
3300 uint64_t reserved_16_63:48;
3301#endif
3302 } s;
3303 struct cvmx_gmxx_rxx_frm_max_s cn30xx;
3304 struct cvmx_gmxx_rxx_frm_max_s cn31xx;
3305 struct cvmx_gmxx_rxx_frm_max_s cn38xx;
3306 struct cvmx_gmxx_rxx_frm_max_s cn38xxp2;
3307 struct cvmx_gmxx_rxx_frm_max_s cn58xx;
3308 struct cvmx_gmxx_rxx_frm_max_s cn58xxp1;
3309};
3310
3311union cvmx_gmxx_rxx_frm_min {
3312 uint64_t u64;
3313 struct cvmx_gmxx_rxx_frm_min_s {
3314#ifdef __BIG_ENDIAN_BITFIELD
3315 uint64_t reserved_16_63:48;
3316 uint64_t len:16;
3317#else
3318 uint64_t len:16;
3319 uint64_t reserved_16_63:48;
3320#endif
3321 } s;
3322 struct cvmx_gmxx_rxx_frm_min_s cn30xx;
3323 struct cvmx_gmxx_rxx_frm_min_s cn31xx;
3324 struct cvmx_gmxx_rxx_frm_min_s cn38xx;
3325 struct cvmx_gmxx_rxx_frm_min_s cn38xxp2;
3326 struct cvmx_gmxx_rxx_frm_min_s cn58xx;
3327 struct cvmx_gmxx_rxx_frm_min_s cn58xxp1;
3328};
3329
3330union cvmx_gmxx_rxx_ifg {
3331 uint64_t u64;
3332 struct cvmx_gmxx_rxx_ifg_s {
3333#ifdef __BIG_ENDIAN_BITFIELD
3334 uint64_t reserved_4_63:60;
3335 uint64_t ifg:4;
3336#else
3337 uint64_t ifg:4;
3338 uint64_t reserved_4_63:60;
3339#endif
3340 } s;
3341 struct cvmx_gmxx_rxx_ifg_s cn30xx;
3342 struct cvmx_gmxx_rxx_ifg_s cn31xx;
3343 struct cvmx_gmxx_rxx_ifg_s cn38xx;
3344 struct cvmx_gmxx_rxx_ifg_s cn38xxp2;
3345 struct cvmx_gmxx_rxx_ifg_s cn50xx;
3346 struct cvmx_gmxx_rxx_ifg_s cn52xx;
3347 struct cvmx_gmxx_rxx_ifg_s cn52xxp1;
3348 struct cvmx_gmxx_rxx_ifg_s cn56xx;
3349 struct cvmx_gmxx_rxx_ifg_s cn56xxp1;
3350 struct cvmx_gmxx_rxx_ifg_s cn58xx;
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;
3359};
3360
3361union cvmx_gmxx_rxx_int_en {
3362 uint64_t u64;
3363 struct cvmx_gmxx_rxx_int_en_s {
3364#ifdef __BIG_ENDIAN_BITFIELD
3365 uint64_t reserved_29_63:35;
3366 uint64_t hg2cc:1;
3367 uint64_t hg2fld:1;
3368 uint64_t undat:1;
3369 uint64_t uneop:1;
3370 uint64_t unsop:1;
3371 uint64_t bad_term:1;
3372 uint64_t bad_seq:1;
3373 uint64_t rem_fault:1;
3374 uint64_t loc_fault:1;
3375 uint64_t pause_drp:1;
3376 uint64_t phy_dupx:1;
3377 uint64_t phy_spd:1;
3378 uint64_t phy_link:1;
3379 uint64_t ifgerr:1;
3380 uint64_t coldet:1;
3381 uint64_t falerr:1;
3382 uint64_t rsverr:1;
3383 uint64_t pcterr:1;
3384 uint64_t ovrerr:1;
3385 uint64_t niberr:1;
3386 uint64_t skperr:1;
3387 uint64_t rcverr:1;
3388 uint64_t lenerr:1;
3389 uint64_t alnerr:1;
3390 uint64_t fcserr:1;
3391 uint64_t jabber:1;
3392 uint64_t maxerr:1;
3393 uint64_t carext: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
3427 } s;
3428 struct cvmx_gmxx_rxx_int_en_cn30xx {
3429#ifdef __BIG_ENDIAN_BITFIELD
3430 uint64_t reserved_19_63:45;
3431 uint64_t phy_dupx:1;
3432 uint64_t phy_spd:1;
3433 uint64_t phy_link:1;
3434 uint64_t ifgerr:1;
3435 uint64_t coldet:1;
3436 uint64_t falerr:1;
3437 uint64_t rsverr:1;
3438 uint64_t pcterr:1;
3439 uint64_t ovrerr:1;
3440 uint64_t niberr:1;
3441 uint64_t skperr:1;
3442 uint64_t rcverr:1;
3443 uint64_t lenerr:1;
3444 uint64_t alnerr:1;
3445 uint64_t fcserr:1;
3446 uint64_t jabber:1;
3447 uint64_t maxerr:1;
3448 uint64_t carext: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
3472 } cn30xx;
3473 struct cvmx_gmxx_rxx_int_en_cn30xx cn31xx;
3474 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xx;
3475 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xxp2;
3476 struct cvmx_gmxx_rxx_int_en_cn50xx {
3477#ifdef __BIG_ENDIAN_BITFIELD
3478 uint64_t reserved_20_63:44;
3479 uint64_t pause_drp:1;
3480 uint64_t phy_dupx:1;
3481 uint64_t phy_spd:1;
3482 uint64_t phy_link:1;
3483 uint64_t ifgerr:1;
3484 uint64_t coldet:1;
3485 uint64_t falerr:1;
3486 uint64_t rsverr:1;
3487 uint64_t pcterr:1;
3488 uint64_t ovrerr:1;
3489 uint64_t niberr:1;
3490 uint64_t skperr:1;
3491 uint64_t rcverr:1;
3492 uint64_t reserved_6_6:1;
3493 uint64_t alnerr:1;
3494 uint64_t fcserr:1;
3495 uint64_t jabber:1;
3496 uint64_t reserved_2_2:1;
3497 uint64_t carext: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
3522 } cn50xx;
3523 struct cvmx_gmxx_rxx_int_en_cn52xx {
3524#ifdef __BIG_ENDIAN_BITFIELD
3525 uint64_t reserved_29_63:35;
3526 uint64_t hg2cc:1;
3527 uint64_t hg2fld:1;
3528 uint64_t undat:1;
3529 uint64_t uneop:1;
3530 uint64_t unsop:1;
3531 uint64_t bad_term:1;
3532 uint64_t bad_seq:1;
3533 uint64_t rem_fault:1;
3534 uint64_t loc_fault:1;
3535 uint64_t pause_drp:1;
3536 uint64_t reserved_16_18:3;
3537 uint64_t ifgerr:1;
3538 uint64_t coldet:1;
3539 uint64_t falerr:1;
3540 uint64_t rsverr:1;
3541 uint64_t pcterr:1;
3542 uint64_t ovrerr:1;
3543 uint64_t reserved_9_9:1;
3544 uint64_t skperr:1;
3545 uint64_t rcverr:1;
3546 uint64_t reserved_5_6:2;
3547 uint64_t fcserr:1;
3548 uint64_t jabber:1;
3549 uint64_t reserved_2_2:1;
3550 uint64_t carext: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
3581 } cn52xx;
3582 struct cvmx_gmxx_rxx_int_en_cn52xx cn52xxp1;
3583 struct cvmx_gmxx_rxx_int_en_cn52xx cn56xx;
3584 struct cvmx_gmxx_rxx_int_en_cn56xxp1 {
3585#ifdef __BIG_ENDIAN_BITFIELD
3586 uint64_t reserved_27_63:37;
3587 uint64_t undat:1;
3588 uint64_t uneop:1;
3589 uint64_t unsop:1;
3590 uint64_t bad_term:1;
3591 uint64_t bad_seq:1;
3592 uint64_t rem_fault:1;
3593 uint64_t loc_fault:1;
3594 uint64_t pause_drp:1;
3595 uint64_t reserved_16_18:3;
3596 uint64_t ifgerr:1;
3597 uint64_t coldet:1;
3598 uint64_t falerr:1;
3599 uint64_t rsverr:1;
3600 uint64_t pcterr:1;
3601 uint64_t ovrerr:1;
3602 uint64_t reserved_9_9:1;
3603 uint64_t skperr:1;
3604 uint64_t rcverr:1;
3605 uint64_t reserved_5_6:2;
3606 uint64_t fcserr:1;
3607 uint64_t jabber:1;
3608 uint64_t reserved_2_2:1;
3609 uint64_t carext: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
3638 } cn56xxp1;
3639 struct cvmx_gmxx_rxx_int_en_cn58xx {
3640#ifdef __BIG_ENDIAN_BITFIELD
3641 uint64_t reserved_20_63:44;
3642 uint64_t pause_drp:1;
3643 uint64_t phy_dupx:1;
3644 uint64_t phy_spd:1;
3645 uint64_t phy_link:1;
3646 uint64_t ifgerr:1;
3647 uint64_t coldet:1;
3648 uint64_t falerr:1;
3649 uint64_t rsverr:1;
3650 uint64_t pcterr:1;
3651 uint64_t ovrerr:1;
3652 uint64_t niberr:1;
3653 uint64_t skperr:1;
3654 uint64_t rcverr:1;
3655 uint64_t lenerr:1;
3656 uint64_t alnerr:1;
3657 uint64_t fcserr:1;
3658 uint64_t jabber:1;
3659 uint64_t maxerr:1;
3660 uint64_t carext: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
3685 } cn58xx;
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;
3752};
3753
3754union cvmx_gmxx_rxx_int_reg {
3755 uint64_t u64;
3756 struct cvmx_gmxx_rxx_int_reg_s {
3757#ifdef __BIG_ENDIAN_BITFIELD
3758 uint64_t reserved_29_63:35;
3759 uint64_t hg2cc:1;
3760 uint64_t hg2fld:1;
3761 uint64_t undat:1;
3762 uint64_t uneop:1;
3763 uint64_t unsop:1;
3764 uint64_t bad_term:1;
3765 uint64_t bad_seq:1;
3766 uint64_t rem_fault:1;
3767 uint64_t loc_fault:1;
3768 uint64_t pause_drp:1;
3769 uint64_t phy_dupx:1;
3770 uint64_t phy_spd:1;
3771 uint64_t phy_link:1;
3772 uint64_t ifgerr:1;
3773 uint64_t coldet:1;
3774 uint64_t falerr:1;
3775 uint64_t rsverr:1;
3776 uint64_t pcterr:1;
3777 uint64_t ovrerr:1;
3778 uint64_t niberr:1;
3779 uint64_t skperr:1;
3780 uint64_t rcverr:1;
3781 uint64_t lenerr:1;
3782 uint64_t alnerr:1;
3783 uint64_t fcserr:1;
3784 uint64_t jabber:1;
3785 uint64_t maxerr:1;
3786 uint64_t carext: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
3820 } s;
3821 struct cvmx_gmxx_rxx_int_reg_cn30xx {
3822#ifdef __BIG_ENDIAN_BITFIELD
3823 uint64_t reserved_19_63:45;
3824 uint64_t phy_dupx:1;
3825 uint64_t phy_spd:1;
3826 uint64_t phy_link:1;
3827 uint64_t ifgerr:1;
3828 uint64_t coldet:1;
3829 uint64_t falerr:1;
3830 uint64_t rsverr:1;
3831 uint64_t pcterr:1;
3832 uint64_t ovrerr:1;
3833 uint64_t niberr:1;
3834 uint64_t skperr:1;
3835 uint64_t rcverr:1;
3836 uint64_t lenerr:1;
3837 uint64_t alnerr:1;
3838 uint64_t fcserr:1;
3839 uint64_t jabber:1;
3840 uint64_t maxerr:1;
3841 uint64_t carext: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
3865 } cn30xx;
3866 struct cvmx_gmxx_rxx_int_reg_cn30xx cn31xx;
3867 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xx;
3868 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xxp2;
3869 struct cvmx_gmxx_rxx_int_reg_cn50xx {
3870#ifdef __BIG_ENDIAN_BITFIELD
3871 uint64_t reserved_20_63:44;
3872 uint64_t pause_drp:1;
3873 uint64_t phy_dupx:1;
3874 uint64_t phy_spd:1;
3875 uint64_t phy_link:1;
3876 uint64_t ifgerr:1;
3877 uint64_t coldet:1;
3878 uint64_t falerr:1;
3879 uint64_t rsverr:1;
3880 uint64_t pcterr:1;
3881 uint64_t ovrerr:1;
3882 uint64_t niberr:1;
3883 uint64_t skperr:1;
3884 uint64_t rcverr:1;
3885 uint64_t reserved_6_6:1;
3886 uint64_t alnerr:1;
3887 uint64_t fcserr:1;
3888 uint64_t jabber:1;
3889 uint64_t reserved_2_2:1;
3890 uint64_t carext: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
3915 } cn50xx;
3916 struct cvmx_gmxx_rxx_int_reg_cn52xx {
3917#ifdef __BIG_ENDIAN_BITFIELD
3918 uint64_t reserved_29_63:35;
3919 uint64_t hg2cc:1;
3920 uint64_t hg2fld:1;
3921 uint64_t undat:1;
3922 uint64_t uneop:1;
3923 uint64_t unsop:1;
3924 uint64_t bad_term:1;
3925 uint64_t bad_seq:1;
3926 uint64_t rem_fault:1;
3927 uint64_t loc_fault:1;
3928 uint64_t pause_drp:1;
3929 uint64_t reserved_16_18:3;
3930 uint64_t ifgerr:1;
3931 uint64_t coldet:1;
3932 uint64_t falerr:1;
3933 uint64_t rsverr:1;
3934 uint64_t pcterr:1;
3935 uint64_t ovrerr:1;
3936 uint64_t reserved_9_9:1;
3937 uint64_t skperr:1;
3938 uint64_t rcverr:1;
3939 uint64_t reserved_5_6:2;
3940 uint64_t fcserr:1;
3941 uint64_t jabber:1;
3942 uint64_t reserved_2_2:1;
3943 uint64_t carext: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
3974 } cn52xx;
3975 struct cvmx_gmxx_rxx_int_reg_cn52xx cn52xxp1;
3976 struct cvmx_gmxx_rxx_int_reg_cn52xx cn56xx;
3977 struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
3978#ifdef __BIG_ENDIAN_BITFIELD
3979 uint64_t reserved_27_63:37;
3980 uint64_t undat:1;
3981 uint64_t uneop:1;
3982 uint64_t unsop:1;
3983 uint64_t bad_term:1;
3984 uint64_t bad_seq:1;
3985 uint64_t rem_fault:1;
3986 uint64_t loc_fault:1;
3987 uint64_t pause_drp:1;
3988 uint64_t reserved_16_18:3;
3989 uint64_t ifgerr:1;
3990 uint64_t coldet:1;
3991 uint64_t falerr:1;
3992 uint64_t rsverr:1;
3993 uint64_t pcterr:1;
3994 uint64_t ovrerr:1;
3995 uint64_t reserved_9_9:1;
3996 uint64_t skperr:1;
3997 uint64_t rcverr:1;
3998 uint64_t reserved_5_6:2;
3999 uint64_t fcserr:1;
4000 uint64_t jabber:1;
4001 uint64_t reserved_2_2:1;
4002 uint64_t carext: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
4031 } cn56xxp1;
4032 struct cvmx_gmxx_rxx_int_reg_cn58xx {
4033#ifdef __BIG_ENDIAN_BITFIELD
4034 uint64_t reserved_20_63:44;
4035 uint64_t pause_drp:1;
4036 uint64_t phy_dupx:1;
4037 uint64_t phy_spd:1;
4038 uint64_t phy_link:1;
4039 uint64_t ifgerr:1;
4040 uint64_t coldet:1;
4041 uint64_t falerr:1;
4042 uint64_t rsverr:1;
4043 uint64_t pcterr:1;
4044 uint64_t ovrerr:1;
4045 uint64_t niberr:1;
4046 uint64_t skperr:1;
4047 uint64_t rcverr:1;
4048 uint64_t lenerr:1;
4049 uint64_t alnerr:1;
4050 uint64_t fcserr:1;
4051 uint64_t jabber:1;
4052 uint64_t maxerr:1;
4053 uint64_t carext: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
4078 } cn58xx;
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;
4145};
4146
4147union cvmx_gmxx_rxx_jabber {
4148 uint64_t u64;
4149 struct cvmx_gmxx_rxx_jabber_s {
4150#ifdef __BIG_ENDIAN_BITFIELD
4151 uint64_t reserved_16_63:48;
4152 uint64_t cnt:16;
4153#else
4154 uint64_t cnt:16;
4155 uint64_t reserved_16_63:48;
4156#endif
4157 } s;
4158 struct cvmx_gmxx_rxx_jabber_s cn30xx;
4159 struct cvmx_gmxx_rxx_jabber_s cn31xx;
4160 struct cvmx_gmxx_rxx_jabber_s cn38xx;
4161 struct cvmx_gmxx_rxx_jabber_s cn38xxp2;
4162 struct cvmx_gmxx_rxx_jabber_s cn50xx;
4163 struct cvmx_gmxx_rxx_jabber_s cn52xx;
4164 struct cvmx_gmxx_rxx_jabber_s cn52xxp1;
4165 struct cvmx_gmxx_rxx_jabber_s cn56xx;
4166 struct cvmx_gmxx_rxx_jabber_s cn56xxp1;
4167 struct cvmx_gmxx_rxx_jabber_s cn58xx;
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;
4176};
4177
4178union cvmx_gmxx_rxx_pause_drop_time {
4179 uint64_t u64;
4180 struct cvmx_gmxx_rxx_pause_drop_time_s {
4181#ifdef __BIG_ENDIAN_BITFIELD
4182 uint64_t reserved_16_63:48;
4183 uint64_t status:16;
4184#else
4185 uint64_t status:16;
4186 uint64_t reserved_16_63:48;
4187#endif
4188 } s;
4189 struct cvmx_gmxx_rxx_pause_drop_time_s cn50xx;
4190 struct cvmx_gmxx_rxx_pause_drop_time_s cn52xx;
4191 struct cvmx_gmxx_rxx_pause_drop_time_s cn52xxp1;
4192 struct cvmx_gmxx_rxx_pause_drop_time_s cn56xx;
4193 struct cvmx_gmxx_rxx_pause_drop_time_s cn56xxp1;
4194 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xx;
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;
4203};
4204
4205union cvmx_gmxx_rxx_rx_inbnd {
4206 uint64_t u64;
4207 struct cvmx_gmxx_rxx_rx_inbnd_s {
4208#ifdef __BIG_ENDIAN_BITFIELD
4209 uint64_t reserved_4_63:60;
4210 uint64_t duplex:1;
4211 uint64_t speed:2;
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
4219 } s;
4220 struct cvmx_gmxx_rxx_rx_inbnd_s cn30xx;
4221 struct cvmx_gmxx_rxx_rx_inbnd_s cn31xx;
4222 struct cvmx_gmxx_rxx_rx_inbnd_s cn38xx;
4223 struct cvmx_gmxx_rxx_rx_inbnd_s cn38xxp2;
4224 struct cvmx_gmxx_rxx_rx_inbnd_s cn50xx;
4225 struct cvmx_gmxx_rxx_rx_inbnd_s cn58xx;
4226 struct cvmx_gmxx_rxx_rx_inbnd_s cn58xxp1;
4227};
4228
4229union cvmx_gmxx_rxx_stats_ctl {
4230 uint64_t u64;
4231 struct cvmx_gmxx_rxx_stats_ctl_s {
4232#ifdef __BIG_ENDIAN_BITFIELD
4233 uint64_t reserved_1_63:63;
4234 uint64_t rd_clr:1;
4235#else
4236 uint64_t rd_clr:1;
4237 uint64_t reserved_1_63:63;
4238#endif
4239 } s;
4240 struct cvmx_gmxx_rxx_stats_ctl_s cn30xx;
4241 struct cvmx_gmxx_rxx_stats_ctl_s cn31xx;
4242 struct cvmx_gmxx_rxx_stats_ctl_s cn38xx;
4243 struct cvmx_gmxx_rxx_stats_ctl_s cn38xxp2;
4244 struct cvmx_gmxx_rxx_stats_ctl_s cn50xx;
4245 struct cvmx_gmxx_rxx_stats_ctl_s cn52xx;
4246 struct cvmx_gmxx_rxx_stats_ctl_s cn52xxp1;
4247 struct cvmx_gmxx_rxx_stats_ctl_s cn56xx;
4248 struct cvmx_gmxx_rxx_stats_ctl_s cn56xxp1;
4249 struct cvmx_gmxx_rxx_stats_ctl_s cn58xx;
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;
4258};
4259
4260union cvmx_gmxx_rxx_stats_octs {
4261 uint64_t u64;
4262 struct cvmx_gmxx_rxx_stats_octs_s {
4263#ifdef __BIG_ENDIAN_BITFIELD
4264 uint64_t reserved_48_63:16;
4265 uint64_t cnt:48;
4266#else
4267 uint64_t cnt:48;
4268 uint64_t reserved_48_63:16;
4269#endif
4270 } s;
4271 struct cvmx_gmxx_rxx_stats_octs_s cn30xx;
4272 struct cvmx_gmxx_rxx_stats_octs_s cn31xx;
4273 struct cvmx_gmxx_rxx_stats_octs_s cn38xx;
4274 struct cvmx_gmxx_rxx_stats_octs_s cn38xxp2;
4275 struct cvmx_gmxx_rxx_stats_octs_s cn50xx;
4276 struct cvmx_gmxx_rxx_stats_octs_s cn52xx;
4277 struct cvmx_gmxx_rxx_stats_octs_s cn52xxp1;
4278 struct cvmx_gmxx_rxx_stats_octs_s cn56xx;
4279 struct cvmx_gmxx_rxx_stats_octs_s cn56xxp1;
4280 struct cvmx_gmxx_rxx_stats_octs_s cn58xx;
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;
4289};
4290
4291union cvmx_gmxx_rxx_stats_octs_ctl {
4292 uint64_t u64;
4293 struct cvmx_gmxx_rxx_stats_octs_ctl_s {
4294#ifdef __BIG_ENDIAN_BITFIELD
4295 uint64_t reserved_48_63:16;
4296 uint64_t cnt:48;
4297#else
4298 uint64_t cnt:48;
4299 uint64_t reserved_48_63:16;
4300#endif
4301 } s;
4302 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn30xx;
4303 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn31xx;
4304 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xx;
4305 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xxp2;
4306 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn50xx;
4307 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xx;
4308 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xxp1;
4309 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xx;
4310 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xxp1;
4311 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xx;
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;
4320};
4321
4322union cvmx_gmxx_rxx_stats_octs_dmac {
4323 uint64_t u64;
4324 struct cvmx_gmxx_rxx_stats_octs_dmac_s {
4325#ifdef __BIG_ENDIAN_BITFIELD
4326 uint64_t reserved_48_63:16;
4327 uint64_t cnt:48;
4328#else
4329 uint64_t cnt:48;
4330 uint64_t reserved_48_63:16;
4331#endif
4332 } s;
4333 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn30xx;
4334 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn31xx;
4335 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xx;
4336 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xxp2;
4337 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn50xx;
4338 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xx;
4339 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xxp1;
4340 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xx;
4341 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xxp1;
4342 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xx;
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;
4351};
4352
4353union cvmx_gmxx_rxx_stats_octs_drp {
4354 uint64_t u64;
4355 struct cvmx_gmxx_rxx_stats_octs_drp_s {
4356#ifdef __BIG_ENDIAN_BITFIELD
4357 uint64_t reserved_48_63:16;
4358 uint64_t cnt:48;
4359#else
4360 uint64_t cnt:48;
4361 uint64_t reserved_48_63:16;
4362#endif
4363 } s;
4364 struct cvmx_gmxx_rxx_stats_octs_drp_s cn30xx;
4365 struct cvmx_gmxx_rxx_stats_octs_drp_s cn31xx;
4366 struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xx;
4367 struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xxp2;
4368 struct cvmx_gmxx_rxx_stats_octs_drp_s cn50xx;
4369 struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xx;
4370 struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xxp1;
4371 struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xx;
4372 struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xxp1;
4373 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xx;
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;
4382};
4383
4384union cvmx_gmxx_rxx_stats_pkts {
4385 uint64_t u64;
4386 struct cvmx_gmxx_rxx_stats_pkts_s {
4387#ifdef __BIG_ENDIAN_BITFIELD
4388 uint64_t reserved_32_63:32;
4389 uint64_t cnt:32;
4390#else
4391 uint64_t cnt:32;
4392 uint64_t reserved_32_63:32;
4393#endif
4394 } s;
4395 struct cvmx_gmxx_rxx_stats_pkts_s cn30xx;
4396 struct cvmx_gmxx_rxx_stats_pkts_s cn31xx;
4397 struct cvmx_gmxx_rxx_stats_pkts_s cn38xx;
4398 struct cvmx_gmxx_rxx_stats_pkts_s cn38xxp2;
4399 struct cvmx_gmxx_rxx_stats_pkts_s cn50xx;
4400 struct cvmx_gmxx_rxx_stats_pkts_s cn52xx;
4401 struct cvmx_gmxx_rxx_stats_pkts_s cn52xxp1;
4402 struct cvmx_gmxx_rxx_stats_pkts_s cn56xx;
4403 struct cvmx_gmxx_rxx_stats_pkts_s cn56xxp1;
4404 struct cvmx_gmxx_rxx_stats_pkts_s cn58xx;
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;
4413};
4414
4415union cvmx_gmxx_rxx_stats_pkts_bad {
4416 uint64_t u64;
4417 struct cvmx_gmxx_rxx_stats_pkts_bad_s {
4418#ifdef __BIG_ENDIAN_BITFIELD
4419 uint64_t reserved_32_63:32;
4420 uint64_t cnt:32;
4421#else
4422 uint64_t cnt:32;
4423 uint64_t reserved_32_63:32;
4424#endif
4425 } s;
4426 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn30xx;
4427 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn31xx;
4428 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xx;
4429 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xxp2;
4430 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn50xx;
4431 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xx;
4432 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xxp1;
4433 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xx;
4434 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xxp1;
4435 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xx;
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;
4444};
4445
4446union cvmx_gmxx_rxx_stats_pkts_ctl {
4447 uint64_t u64;
4448 struct cvmx_gmxx_rxx_stats_pkts_ctl_s {
4449#ifdef __BIG_ENDIAN_BITFIELD
4450 uint64_t reserved_32_63:32;
4451 uint64_t cnt:32;
4452#else
4453 uint64_t cnt:32;
4454 uint64_t reserved_32_63:32;
4455#endif
4456 } s;
4457 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn30xx;
4458 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn31xx;
4459 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xx;
4460 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xxp2;
4461 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn50xx;
4462 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xx;
4463 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xxp1;
4464 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xx;
4465 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xxp1;
4466 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xx;
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;
4475};
4476
4477union cvmx_gmxx_rxx_stats_pkts_dmac {
4478 uint64_t u64;
4479 struct cvmx_gmxx_rxx_stats_pkts_dmac_s {
4480#ifdef __BIG_ENDIAN_BITFIELD
4481 uint64_t reserved_32_63:32;
4482 uint64_t cnt:32;
4483#else
4484 uint64_t cnt:32;
4485 uint64_t reserved_32_63:32;
4486#endif
4487 } s;
4488 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn30xx;
4489 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn31xx;
4490 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xx;
4491 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xxp2;
4492 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn50xx;
4493 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xx;
4494 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xxp1;
4495 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xx;
4496 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xxp1;
4497 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xx;
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;
4506};
4507
4508union cvmx_gmxx_rxx_stats_pkts_drp {
4509 uint64_t u64;
4510 struct cvmx_gmxx_rxx_stats_pkts_drp_s {
4511#ifdef __BIG_ENDIAN_BITFIELD
4512 uint64_t reserved_32_63:32;
4513 uint64_t cnt:32;
4514#else
4515 uint64_t cnt:32;
4516 uint64_t reserved_32_63:32;
4517#endif
4518 } s;
4519 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn30xx;
4520 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn31xx;
4521 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xx;
4522 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xxp2;
4523 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn50xx;
4524 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xx;
4525 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xxp1;
4526 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xx;
4527 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xxp1;
4528 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xx;
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;
4537};
4538
4539union cvmx_gmxx_rxx_udd_skp {
4540 uint64_t u64;
4541 struct cvmx_gmxx_rxx_udd_skp_s {
4542#ifdef __BIG_ENDIAN_BITFIELD
4543 uint64_t reserved_9_63:55;
4544 uint64_t fcssel:1;
4545 uint64_t reserved_7_7:1;
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
4553 } s;
4554 struct cvmx_gmxx_rxx_udd_skp_s cn30xx;
4555 struct cvmx_gmxx_rxx_udd_skp_s cn31xx;
4556 struct cvmx_gmxx_rxx_udd_skp_s cn38xx;
4557 struct cvmx_gmxx_rxx_udd_skp_s cn38xxp2;
4558 struct cvmx_gmxx_rxx_udd_skp_s cn50xx;
4559 struct cvmx_gmxx_rxx_udd_skp_s cn52xx;
4560 struct cvmx_gmxx_rxx_udd_skp_s cn52xxp1;
4561 struct cvmx_gmxx_rxx_udd_skp_s cn56xx;
4562 struct cvmx_gmxx_rxx_udd_skp_s cn56xxp1;
4563 struct cvmx_gmxx_rxx_udd_skp_s cn58xx;
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;
4572};
4573
4574union cvmx_gmxx_rx_bp_dropx {
4575 uint64_t u64;
4576 struct cvmx_gmxx_rx_bp_dropx_s {
4577#ifdef __BIG_ENDIAN_BITFIELD
4578 uint64_t reserved_6_63:58;
4579 uint64_t mark:6;
4580#else
4581 uint64_t mark:6;
4582 uint64_t reserved_6_63:58;
4583#endif
4584 } s;
4585 struct cvmx_gmxx_rx_bp_dropx_s cn30xx;
4586 struct cvmx_gmxx_rx_bp_dropx_s cn31xx;
4587 struct cvmx_gmxx_rx_bp_dropx_s cn38xx;
4588 struct cvmx_gmxx_rx_bp_dropx_s cn38xxp2;
4589 struct cvmx_gmxx_rx_bp_dropx_s cn50xx;
4590 struct cvmx_gmxx_rx_bp_dropx_s cn52xx;
4591 struct cvmx_gmxx_rx_bp_dropx_s cn52xxp1;
4592 struct cvmx_gmxx_rx_bp_dropx_s cn56xx;
4593 struct cvmx_gmxx_rx_bp_dropx_s cn56xxp1;
4594 struct cvmx_gmxx_rx_bp_dropx_s cn58xx;
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;
4603};
4604
4605union cvmx_gmxx_rx_bp_offx {
4606 uint64_t u64;
4607 struct cvmx_gmxx_rx_bp_offx_s {
4608#ifdef __BIG_ENDIAN_BITFIELD
4609 uint64_t reserved_6_63:58;
4610 uint64_t mark:6;
4611#else
4612 uint64_t mark:6;
4613 uint64_t reserved_6_63:58;
4614#endif
4615 } s;
4616 struct cvmx_gmxx_rx_bp_offx_s cn30xx;
4617 struct cvmx_gmxx_rx_bp_offx_s cn31xx;
4618 struct cvmx_gmxx_rx_bp_offx_s cn38xx;
4619 struct cvmx_gmxx_rx_bp_offx_s cn38xxp2;
4620 struct cvmx_gmxx_rx_bp_offx_s cn50xx;
4621 struct cvmx_gmxx_rx_bp_offx_s cn52xx;
4622 struct cvmx_gmxx_rx_bp_offx_s cn52xxp1;
4623 struct cvmx_gmxx_rx_bp_offx_s cn56xx;
4624 struct cvmx_gmxx_rx_bp_offx_s cn56xxp1;
4625 struct cvmx_gmxx_rx_bp_offx_s cn58xx;
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;
4634};
4635
4636union cvmx_gmxx_rx_bp_onx {
4637 uint64_t u64;
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
4649 uint64_t reserved_9_63:55;
4650 uint64_t mark:9;
4651#else
4652 uint64_t mark:9;
4653 uint64_t reserved_9_63:55;
4654#endif
4655 } cn30xx;
4656 struct cvmx_gmxx_rx_bp_onx_cn30xx cn31xx;
4657 struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xx;
4658 struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xxp2;
4659 struct cvmx_gmxx_rx_bp_onx_cn30xx cn50xx;
4660 struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xx;
4661 struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xxp1;
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;
4673};
4674
4675union cvmx_gmxx_rx_hg2_status {
4676 uint64_t u64;
4677 struct cvmx_gmxx_rx_hg2_status_s {
4678#ifdef __BIG_ENDIAN_BITFIELD
4679 uint64_t reserved_48_63:16;
4680 uint64_t phtim2go:16;
4681 uint64_t xof: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
4689 } s;
4690 struct cvmx_gmxx_rx_hg2_status_s cn52xx;
4691 struct cvmx_gmxx_rx_hg2_status_s cn52xxp1;
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;
4700};
4701
4702union cvmx_gmxx_rx_pass_en {
4703 uint64_t u64;
4704 struct cvmx_gmxx_rx_pass_en_s {
4705#ifdef __BIG_ENDIAN_BITFIELD
4706 uint64_t reserved_16_63:48;
4707 uint64_t en:16;
4708#else
4709 uint64_t en:16;
4710 uint64_t reserved_16_63:48;
4711#endif
4712 } s;
4713 struct cvmx_gmxx_rx_pass_en_s cn38xx;
4714 struct cvmx_gmxx_rx_pass_en_s cn38xxp2;
4715 struct cvmx_gmxx_rx_pass_en_s cn58xx;
4716 struct cvmx_gmxx_rx_pass_en_s cn58xxp1;
4717};
4718
4719union cvmx_gmxx_rx_pass_mapx {
4720 uint64_t u64;
4721 struct cvmx_gmxx_rx_pass_mapx_s {
4722#ifdef __BIG_ENDIAN_BITFIELD
4723 uint64_t reserved_4_63:60;
4724 uint64_t dprt:4;
4725#else
4726 uint64_t dprt:4;
4727 uint64_t reserved_4_63:60;
4728#endif
4729 } s;
4730 struct cvmx_gmxx_rx_pass_mapx_s cn38xx;
4731 struct cvmx_gmxx_rx_pass_mapx_s cn38xxp2;
4732 struct cvmx_gmxx_rx_pass_mapx_s cn58xx;
4733 struct cvmx_gmxx_rx_pass_mapx_s cn58xxp1;
4734};
4735
4736union cvmx_gmxx_rx_prt_info {
4737 uint64_t u64;
4738 struct cvmx_gmxx_rx_prt_info_s {
4739#ifdef __BIG_ENDIAN_BITFIELD
4740 uint64_t reserved_32_63:32;
4741 uint64_t drop: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
4748 } s;
4749 struct cvmx_gmxx_rx_prt_info_cn30xx {
4750#ifdef __BIG_ENDIAN_BITFIELD
4751 uint64_t reserved_19_63:45;
4752 uint64_t drop:3;
4753 uint64_t reserved_3_15:13;
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
4761 } cn30xx;
4762 struct cvmx_gmxx_rx_prt_info_cn30xx cn31xx;
4763 struct cvmx_gmxx_rx_prt_info_s cn38xx;
4764 struct cvmx_gmxx_rx_prt_info_cn30xx cn50xx;
4765 struct cvmx_gmxx_rx_prt_info_cn52xx {
4766#ifdef __BIG_ENDIAN_BITFIELD
4767 uint64_t reserved_20_63:44;
4768 uint64_t drop:4;
4769 uint64_t reserved_4_15:12;
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
4777 } cn52xx;
4778 struct cvmx_gmxx_rx_prt_info_cn52xx cn52xxp1;
4779 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xx;
4780 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xxp1;
4781 struct cvmx_gmxx_rx_prt_info_s cn58xx;
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;
4802};
4803
4804union cvmx_gmxx_rx_prts {
4805 uint64_t u64;
4806 struct cvmx_gmxx_rx_prts_s {
4807#ifdef __BIG_ENDIAN_BITFIELD
4808 uint64_t reserved_3_63:61;
4809 uint64_t prts:3;
4810#else
4811 uint64_t prts:3;
4812 uint64_t reserved_3_63:61;
4813#endif
4814 } s;
4815 struct cvmx_gmxx_rx_prts_s cn30xx;
4816 struct cvmx_gmxx_rx_prts_s cn31xx;
4817 struct cvmx_gmxx_rx_prts_s cn38xx;
4818 struct cvmx_gmxx_rx_prts_s cn38xxp2;
4819 struct cvmx_gmxx_rx_prts_s cn50xx;
4820 struct cvmx_gmxx_rx_prts_s cn52xx;
4821 struct cvmx_gmxx_rx_prts_s cn52xxp1;
4822 struct cvmx_gmxx_rx_prts_s cn56xx;
4823 struct cvmx_gmxx_rx_prts_s cn56xxp1;
4824 struct cvmx_gmxx_rx_prts_s cn58xx;
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;
4833};
4834
4835union cvmx_gmxx_rx_tx_status {
4836 uint64_t u64;
4837 struct cvmx_gmxx_rx_tx_status_s {
4838#ifdef __BIG_ENDIAN_BITFIELD
4839 uint64_t reserved_7_63:57;
4840 uint64_t tx:3;
4841 uint64_t reserved_3_3:1;
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
4849 } s;
4850 struct cvmx_gmxx_rx_tx_status_s cn30xx;
4851 struct cvmx_gmxx_rx_tx_status_s cn31xx;
4852 struct cvmx_gmxx_rx_tx_status_s cn50xx;
4853};
4854
4855union cvmx_gmxx_rx_xaui_bad_col {
4856 uint64_t u64;
4857 struct cvmx_gmxx_rx_xaui_bad_col_s {
4858#ifdef __BIG_ENDIAN_BITFIELD
4859 uint64_t reserved_40_63:24;
4860 uint64_t val:1;
4861 uint64_t state:3;
4862 uint64_t lane_rxc:4;
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
4871 } s;
4872 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xx;
4873 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xxp1;
4874 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xx;
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;
4883};
4884
4885union cvmx_gmxx_rx_xaui_ctl {
4886 uint64_t u64;
4887 struct cvmx_gmxx_rx_xaui_ctl_s {
4888#ifdef __BIG_ENDIAN_BITFIELD
4889 uint64_t reserved_2_63:62;
4890 uint64_t status:2;
4891#else
4892 uint64_t status:2;
4893 uint64_t reserved_2_63:62;
4894#endif
4895 } s;
4896 struct cvmx_gmxx_rx_xaui_ctl_s cn52xx;
4897 struct cvmx_gmxx_rx_xaui_ctl_s cn52xxp1;
4898 struct cvmx_gmxx_rx_xaui_ctl_s cn56xx;
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;
4922};
4923
4924union cvmx_gmxx_smacx {
4925 uint64_t u64;
4926 struct cvmx_gmxx_smacx_s {
4927#ifdef __BIG_ENDIAN_BITFIELD
4928 uint64_t reserved_48_63:16;
4929 uint64_t smac:48;
4930#else
4931 uint64_t smac:48;
4932 uint64_t reserved_48_63:16;
4933#endif
4934 } s;
4935 struct cvmx_gmxx_smacx_s cn30xx;
4936 struct cvmx_gmxx_smacx_s cn31xx;
4937 struct cvmx_gmxx_smacx_s cn38xx;
4938 struct cvmx_gmxx_smacx_s cn38xxp2;
4939 struct cvmx_gmxx_smacx_s cn50xx;
4940 struct cvmx_gmxx_smacx_s cn52xx;
4941 struct cvmx_gmxx_smacx_s cn52xxp1;
4942 struct cvmx_gmxx_smacx_s cn56xx;
4943 struct cvmx_gmxx_smacx_s cn56xxp1;
4944 struct cvmx_gmxx_smacx_s cn58xx;
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;
4973};
4974
4975union cvmx_gmxx_stat_bp {
4976 uint64_t u64;
4977 struct cvmx_gmxx_stat_bp_s {
4978#ifdef __BIG_ENDIAN_BITFIELD
4979 uint64_t reserved_17_63:47;
4980 uint64_t bp:1;
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
4987 } s;
4988 struct cvmx_gmxx_stat_bp_s cn30xx;
4989 struct cvmx_gmxx_stat_bp_s cn31xx;
4990 struct cvmx_gmxx_stat_bp_s cn38xx;
4991 struct cvmx_gmxx_stat_bp_s cn38xxp2;
4992 struct cvmx_gmxx_stat_bp_s cn50xx;
4993 struct cvmx_gmxx_stat_bp_s cn52xx;
4994 struct cvmx_gmxx_stat_bp_s cn52xxp1;
4995 struct cvmx_gmxx_stat_bp_s cn56xx;
4996 struct cvmx_gmxx_stat_bp_s cn56xxp1;
4997 struct cvmx_gmxx_stat_bp_s cn58xx;
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;
5023};
5024
5025union cvmx_gmxx_txx_append {
5026 uint64_t u64;
5027 struct cvmx_gmxx_txx_append_s {
5028#ifdef __BIG_ENDIAN_BITFIELD
5029 uint64_t reserved_4_63:60;
5030 uint64_t force_fcs:1;
5031 uint64_t fcs:1;
5032 uint64_t pad: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
5041 } s;
5042 struct cvmx_gmxx_txx_append_s cn30xx;
5043 struct cvmx_gmxx_txx_append_s cn31xx;
5044 struct cvmx_gmxx_txx_append_s cn38xx;
5045 struct cvmx_gmxx_txx_append_s cn38xxp2;
5046 struct cvmx_gmxx_txx_append_s cn50xx;
5047 struct cvmx_gmxx_txx_append_s cn52xx;
5048 struct cvmx_gmxx_txx_append_s cn52xxp1;
5049 struct cvmx_gmxx_txx_append_s cn56xx;
5050 struct cvmx_gmxx_txx_append_s cn56xxp1;
5051 struct cvmx_gmxx_txx_append_s cn58xx;
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;
5060};
5061
5062union cvmx_gmxx_txx_burst {
5063 uint64_t u64;
5064 struct cvmx_gmxx_txx_burst_s {
5065#ifdef __BIG_ENDIAN_BITFIELD
5066 uint64_t reserved_16_63:48;
5067 uint64_t burst:16;
5068#else
5069 uint64_t burst:16;
5070 uint64_t reserved_16_63:48;
5071#endif
5072 } s;
5073 struct cvmx_gmxx_txx_burst_s cn30xx;
5074 struct cvmx_gmxx_txx_burst_s cn31xx;
5075 struct cvmx_gmxx_txx_burst_s cn38xx;
5076 struct cvmx_gmxx_txx_burst_s cn38xxp2;
5077 struct cvmx_gmxx_txx_burst_s cn50xx;
5078 struct cvmx_gmxx_txx_burst_s cn52xx;
5079 struct cvmx_gmxx_txx_burst_s cn52xxp1;
5080 struct cvmx_gmxx_txx_burst_s cn56xx;
5081 struct cvmx_gmxx_txx_burst_s cn56xxp1;
5082 struct cvmx_gmxx_txx_burst_s cn58xx;
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;
5091};
5092
5093union cvmx_gmxx_txx_cbfc_xoff {
5094 uint64_t u64;
5095 struct cvmx_gmxx_txx_cbfc_xoff_s {
5096#ifdef __BIG_ENDIAN_BITFIELD
5097 uint64_t reserved_16_63:48;
5098 uint64_t xoff:16;
5099#else
5100 uint64_t xoff:16;
5101 uint64_t reserved_16_63:48;
5102#endif
5103 } s;
5104 struct cvmx_gmxx_txx_cbfc_xoff_s cn52xx;
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;
5113};
5114
5115union cvmx_gmxx_txx_cbfc_xon {
5116 uint64_t u64;
5117 struct cvmx_gmxx_txx_cbfc_xon_s {
5118#ifdef __BIG_ENDIAN_BITFIELD
5119 uint64_t reserved_16_63:48;
5120 uint64_t xon:16;
5121#else
5122 uint64_t xon:16;
5123 uint64_t reserved_16_63:48;
5124#endif
5125 } s;
5126 struct cvmx_gmxx_txx_cbfc_xon_s cn52xx;
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;
5135};
5136
5137union cvmx_gmxx_txx_clk {
5138 uint64_t u64;
5139 struct cvmx_gmxx_txx_clk_s {
5140#ifdef __BIG_ENDIAN_BITFIELD
5141 uint64_t reserved_6_63:58;
5142 uint64_t clk_cnt:6;
5143#else
5144 uint64_t clk_cnt:6;
5145 uint64_t reserved_6_63:58;
5146#endif
5147 } s;
5148 struct cvmx_gmxx_txx_clk_s cn30xx;
5149 struct cvmx_gmxx_txx_clk_s cn31xx;
5150 struct cvmx_gmxx_txx_clk_s cn38xx;
5151 struct cvmx_gmxx_txx_clk_s cn38xxp2;
5152 struct cvmx_gmxx_txx_clk_s cn50xx;
5153 struct cvmx_gmxx_txx_clk_s cn58xx;
5154 struct cvmx_gmxx_txx_clk_s cn58xxp1;
5155};
5156
5157union cvmx_gmxx_txx_ctl {
5158 uint64_t u64;
5159 struct cvmx_gmxx_txx_ctl_s {
5160#ifdef __BIG_ENDIAN_BITFIELD
5161 uint64_t reserved_2_63:62;
5162 uint64_t xsdef_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
5169 } s;
5170 struct cvmx_gmxx_txx_ctl_s cn30xx;
5171 struct cvmx_gmxx_txx_ctl_s cn31xx;
5172 struct cvmx_gmxx_txx_ctl_s cn38xx;
5173 struct cvmx_gmxx_txx_ctl_s cn38xxp2;
5174 struct cvmx_gmxx_txx_ctl_s cn50xx;
5175 struct cvmx_gmxx_txx_ctl_s cn52xx;
5176 struct cvmx_gmxx_txx_ctl_s cn52xxp1;
5177 struct cvmx_gmxx_txx_ctl_s cn56xx;
5178 struct cvmx_gmxx_txx_ctl_s cn56xxp1;
5179 struct cvmx_gmxx_txx_ctl_s cn58xx;
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;
5188};
5189
5190union cvmx_gmxx_txx_min_pkt {
5191 uint64_t u64;
5192 struct cvmx_gmxx_txx_min_pkt_s {
5193#ifdef __BIG_ENDIAN_BITFIELD
5194 uint64_t reserved_8_63:56;
5195 uint64_t min_size:8;
5196#else
5197 uint64_t min_size:8;
5198 uint64_t reserved_8_63:56;
5199#endif
5200 } s;
5201 struct cvmx_gmxx_txx_min_pkt_s cn30xx;
5202 struct cvmx_gmxx_txx_min_pkt_s cn31xx;
5203 struct cvmx_gmxx_txx_min_pkt_s cn38xx;
5204 struct cvmx_gmxx_txx_min_pkt_s cn38xxp2;
5205 struct cvmx_gmxx_txx_min_pkt_s cn50xx;
5206 struct cvmx_gmxx_txx_min_pkt_s cn52xx;
5207 struct cvmx_gmxx_txx_min_pkt_s cn52xxp1;
5208 struct cvmx_gmxx_txx_min_pkt_s cn56xx;
5209 struct cvmx_gmxx_txx_min_pkt_s cn56xxp1;
5210 struct cvmx_gmxx_txx_min_pkt_s cn58xx;
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;
5219};
5220
5221union cvmx_gmxx_txx_pause_pkt_interval {
5222 uint64_t u64;
5223 struct cvmx_gmxx_txx_pause_pkt_interval_s {
5224#ifdef __BIG_ENDIAN_BITFIELD
5225 uint64_t reserved_16_63:48;
5226 uint64_t interval:16;
5227#else
5228 uint64_t interval:16;
5229 uint64_t reserved_16_63:48;
5230#endif
5231 } s;
5232 struct cvmx_gmxx_txx_pause_pkt_interval_s cn30xx;
5233 struct cvmx_gmxx_txx_pause_pkt_interval_s cn31xx;
5234 struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xx;
5235 struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xxp2;
5236 struct cvmx_gmxx_txx_pause_pkt_interval_s cn50xx;
5237 struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xx;
5238 struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xxp1;
5239 struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xx;
5240 struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xxp1;
5241 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xx;
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;
5250};
5251
5252union cvmx_gmxx_txx_pause_pkt_time {
5253 uint64_t u64;
5254 struct cvmx_gmxx_txx_pause_pkt_time_s {
5255#ifdef __BIG_ENDIAN_BITFIELD
5256 uint64_t reserved_16_63:48;
5257 uint64_t time:16;
5258#else
5259 uint64_t time:16;
5260 uint64_t reserved_16_63:48;
5261#endif
5262 } s;
5263 struct cvmx_gmxx_txx_pause_pkt_time_s cn30xx;
5264 struct cvmx_gmxx_txx_pause_pkt_time_s cn31xx;
5265 struct cvmx_gmxx_txx_pause_pkt_time_s cn38xx;
5266 struct cvmx_gmxx_txx_pause_pkt_time_s cn38xxp2;
5267 struct cvmx_gmxx_txx_pause_pkt_time_s cn50xx;
5268 struct cvmx_gmxx_txx_pause_pkt_time_s cn52xx;
5269 struct cvmx_gmxx_txx_pause_pkt_time_s cn52xxp1;
5270 struct cvmx_gmxx_txx_pause_pkt_time_s cn56xx;
5271 struct cvmx_gmxx_txx_pause_pkt_time_s cn56xxp1;
5272 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xx;
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;
5281};
5282
5283union cvmx_gmxx_txx_pause_togo {
5284 uint64_t u64;
5285 struct cvmx_gmxx_txx_pause_togo_s {
5286#ifdef __BIG_ENDIAN_BITFIELD
5287 uint64_t reserved_32_63:32;
5288 uint64_t msg_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
5295 } s;
5296 struct cvmx_gmxx_txx_pause_togo_cn30xx {
5297#ifdef __BIG_ENDIAN_BITFIELD
5298 uint64_t reserved_16_63:48;
5299 uint64_t time:16;
5300#else
5301 uint64_t time:16;
5302 uint64_t reserved_16_63:48;
5303#endif
5304 } cn30xx;
5305 struct cvmx_gmxx_txx_pause_togo_cn30xx cn31xx;
5306 struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xx;
5307 struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xxp2;
5308 struct cvmx_gmxx_txx_pause_togo_cn30xx cn50xx;
5309 struct cvmx_gmxx_txx_pause_togo_s cn52xx;
5310 struct cvmx_gmxx_txx_pause_togo_s cn52xxp1;
5311 struct cvmx_gmxx_txx_pause_togo_s cn56xx;
5312 struct cvmx_gmxx_txx_pause_togo_cn30xx cn56xxp1;
5313 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xx;
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;
5322};
5323
5324union cvmx_gmxx_txx_pause_zero {
5325 uint64_t u64;
5326 struct cvmx_gmxx_txx_pause_zero_s {
5327#ifdef __BIG_ENDIAN_BITFIELD
5328 uint64_t reserved_1_63:63;
5329 uint64_t send:1;
5330#else
5331 uint64_t send:1;
5332 uint64_t reserved_1_63:63;
5333#endif
5334 } s;
5335 struct cvmx_gmxx_txx_pause_zero_s cn30xx;
5336 struct cvmx_gmxx_txx_pause_zero_s cn31xx;
5337 struct cvmx_gmxx_txx_pause_zero_s cn38xx;
5338 struct cvmx_gmxx_txx_pause_zero_s cn38xxp2;
5339 struct cvmx_gmxx_txx_pause_zero_s cn50xx;
5340 struct cvmx_gmxx_txx_pause_zero_s cn52xx;
5341 struct cvmx_gmxx_txx_pause_zero_s cn52xxp1;
5342 struct cvmx_gmxx_txx_pause_zero_s cn56xx;
5343 struct cvmx_gmxx_txx_pause_zero_s cn56xxp1;
5344 struct cvmx_gmxx_txx_pause_zero_s cn58xx;
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;
5376};
5377
5378union cvmx_gmxx_txx_sgmii_ctl {
5379 uint64_t u64;
5380 struct cvmx_gmxx_txx_sgmii_ctl_s {
5381#ifdef __BIG_ENDIAN_BITFIELD
5382 uint64_t reserved_1_63:63;
5383 uint64_t align:1;
5384#else
5385 uint64_t align:1;
5386 uint64_t reserved_1_63:63;
5387#endif
5388 } s;
5389 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xx;
5390 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xxp1;
5391 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xx;
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;
5400};
5401
5402union cvmx_gmxx_txx_slot {
5403 uint64_t u64;
5404 struct cvmx_gmxx_txx_slot_s {
5405#ifdef __BIG_ENDIAN_BITFIELD
5406 uint64_t reserved_10_63:54;
5407 uint64_t slot:10;
5408#else
5409 uint64_t slot:10;
5410 uint64_t reserved_10_63:54;
5411#endif
5412 } s;
5413 struct cvmx_gmxx_txx_slot_s cn30xx;
5414 struct cvmx_gmxx_txx_slot_s cn31xx;
5415 struct cvmx_gmxx_txx_slot_s cn38xx;
5416 struct cvmx_gmxx_txx_slot_s cn38xxp2;
5417 struct cvmx_gmxx_txx_slot_s cn50xx;
5418 struct cvmx_gmxx_txx_slot_s cn52xx;
5419 struct cvmx_gmxx_txx_slot_s cn52xxp1;
5420 struct cvmx_gmxx_txx_slot_s cn56xx;
5421 struct cvmx_gmxx_txx_slot_s cn56xxp1;
5422 struct cvmx_gmxx_txx_slot_s cn58xx;
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;
5431};
5432
5433union cvmx_gmxx_txx_soft_pause {
5434 uint64_t u64;
5435 struct cvmx_gmxx_txx_soft_pause_s {
5436#ifdef __BIG_ENDIAN_BITFIELD
5437 uint64_t reserved_16_63:48;
5438 uint64_t time:16;
5439#else
5440 uint64_t time:16;
5441 uint64_t reserved_16_63:48;
5442#endif
5443 } s;
5444 struct cvmx_gmxx_txx_soft_pause_s cn30xx;
5445 struct cvmx_gmxx_txx_soft_pause_s cn31xx;
5446 struct cvmx_gmxx_txx_soft_pause_s cn38xx;
5447 struct cvmx_gmxx_txx_soft_pause_s cn38xxp2;
5448 struct cvmx_gmxx_txx_soft_pause_s cn50xx;
5449 struct cvmx_gmxx_txx_soft_pause_s cn52xx;
5450 struct cvmx_gmxx_txx_soft_pause_s cn52xxp1;
5451 struct cvmx_gmxx_txx_soft_pause_s cn56xx;
5452 struct cvmx_gmxx_txx_soft_pause_s cn56xxp1;
5453 struct cvmx_gmxx_txx_soft_pause_s cn58xx;
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;
5462};
5463
5464union cvmx_gmxx_txx_stat0 {
5465 uint64_t u64;
5466 struct cvmx_gmxx_txx_stat0_s {
5467#ifdef __BIG_ENDIAN_BITFIELD
5468 uint64_t xsdef:32;
5469 uint64_t xscol:32;
5470#else
5471 uint64_t xscol:32;
5472 uint64_t xsdef:32;
5473#endif
5474 } s;
5475 struct cvmx_gmxx_txx_stat0_s cn30xx;
5476 struct cvmx_gmxx_txx_stat0_s cn31xx;
5477 struct cvmx_gmxx_txx_stat0_s cn38xx;
5478 struct cvmx_gmxx_txx_stat0_s cn38xxp2;
5479 struct cvmx_gmxx_txx_stat0_s cn50xx;
5480 struct cvmx_gmxx_txx_stat0_s cn52xx;
5481 struct cvmx_gmxx_txx_stat0_s cn52xxp1;
5482 struct cvmx_gmxx_txx_stat0_s cn56xx;
5483 struct cvmx_gmxx_txx_stat0_s cn56xxp1;
5484 struct cvmx_gmxx_txx_stat0_s cn58xx;
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;
5493};
5494
5495union cvmx_gmxx_txx_stat1 {
5496 uint64_t u64;
5497 struct cvmx_gmxx_txx_stat1_s {
5498#ifdef __BIG_ENDIAN_BITFIELD
5499 uint64_t scol:32;
5500 uint64_t mcol:32;
5501#else
5502 uint64_t mcol:32;
5503 uint64_t scol:32;
5504#endif
5505 } s;
5506 struct cvmx_gmxx_txx_stat1_s cn30xx;
5507 struct cvmx_gmxx_txx_stat1_s cn31xx;
5508 struct cvmx_gmxx_txx_stat1_s cn38xx;
5509 struct cvmx_gmxx_txx_stat1_s cn38xxp2;
5510 struct cvmx_gmxx_txx_stat1_s cn50xx;
5511 struct cvmx_gmxx_txx_stat1_s cn52xx;
5512 struct cvmx_gmxx_txx_stat1_s cn52xxp1;
5513 struct cvmx_gmxx_txx_stat1_s cn56xx;
5514 struct cvmx_gmxx_txx_stat1_s cn56xxp1;
5515 struct cvmx_gmxx_txx_stat1_s cn58xx;
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;
5524};
5525
5526union cvmx_gmxx_txx_stat2 {
5527 uint64_t u64;
5528 struct cvmx_gmxx_txx_stat2_s {
5529#ifdef __BIG_ENDIAN_BITFIELD
5530 uint64_t reserved_48_63:16;
5531 uint64_t octs:48;
5532#else
5533 uint64_t octs:48;
5534 uint64_t reserved_48_63:16;
5535#endif
5536 } s;
5537 struct cvmx_gmxx_txx_stat2_s cn30xx;
5538 struct cvmx_gmxx_txx_stat2_s cn31xx;
5539 struct cvmx_gmxx_txx_stat2_s cn38xx;
5540 struct cvmx_gmxx_txx_stat2_s cn38xxp2;
5541 struct cvmx_gmxx_txx_stat2_s cn50xx;
5542 struct cvmx_gmxx_txx_stat2_s cn52xx;
5543 struct cvmx_gmxx_txx_stat2_s cn52xxp1;
5544 struct cvmx_gmxx_txx_stat2_s cn56xx;
5545 struct cvmx_gmxx_txx_stat2_s cn56xxp1;
5546 struct cvmx_gmxx_txx_stat2_s cn58xx;
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;
5555};
5556
5557union cvmx_gmxx_txx_stat3 {
5558 uint64_t u64;
5559 struct cvmx_gmxx_txx_stat3_s {
5560#ifdef __BIG_ENDIAN_BITFIELD
5561 uint64_t reserved_32_63:32;
5562 uint64_t pkts:32;
5563#else
5564 uint64_t pkts:32;
5565 uint64_t reserved_32_63:32;
5566#endif
5567 } s;
5568 struct cvmx_gmxx_txx_stat3_s cn30xx;
5569 struct cvmx_gmxx_txx_stat3_s cn31xx;
5570 struct cvmx_gmxx_txx_stat3_s cn38xx;
5571 struct cvmx_gmxx_txx_stat3_s cn38xxp2;
5572 struct cvmx_gmxx_txx_stat3_s cn50xx;
5573 struct cvmx_gmxx_txx_stat3_s cn52xx;
5574 struct cvmx_gmxx_txx_stat3_s cn52xxp1;
5575 struct cvmx_gmxx_txx_stat3_s cn56xx;
5576 struct cvmx_gmxx_txx_stat3_s cn56xxp1;
5577 struct cvmx_gmxx_txx_stat3_s cn58xx;
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;
5586};
5587
5588union cvmx_gmxx_txx_stat4 {
5589 uint64_t u64;
5590 struct cvmx_gmxx_txx_stat4_s {
5591#ifdef __BIG_ENDIAN_BITFIELD
5592 uint64_t hist1:32;
5593 uint64_t hist0:32;
5594#else
5595 uint64_t hist0:32;
5596 uint64_t hist1:32;
5597#endif
5598 } s;
5599 struct cvmx_gmxx_txx_stat4_s cn30xx;
5600 struct cvmx_gmxx_txx_stat4_s cn31xx;
5601 struct cvmx_gmxx_txx_stat4_s cn38xx;
5602 struct cvmx_gmxx_txx_stat4_s cn38xxp2;
5603 struct cvmx_gmxx_txx_stat4_s cn50xx;
5604 struct cvmx_gmxx_txx_stat4_s cn52xx;
5605 struct cvmx_gmxx_txx_stat4_s cn52xxp1;
5606 struct cvmx_gmxx_txx_stat4_s cn56xx;
5607 struct cvmx_gmxx_txx_stat4_s cn56xxp1;
5608 struct cvmx_gmxx_txx_stat4_s cn58xx;
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;
5617};
5618
5619union cvmx_gmxx_txx_stat5 {
5620 uint64_t u64;
5621 struct cvmx_gmxx_txx_stat5_s {
5622#ifdef __BIG_ENDIAN_BITFIELD
5623 uint64_t hist3:32;
5624 uint64_t hist2:32;
5625#else
5626 uint64_t hist2:32;
5627 uint64_t hist3:32;
5628#endif
5629 } s;
5630 struct cvmx_gmxx_txx_stat5_s cn30xx;
5631 struct cvmx_gmxx_txx_stat5_s cn31xx;
5632 struct cvmx_gmxx_txx_stat5_s cn38xx;
5633 struct cvmx_gmxx_txx_stat5_s cn38xxp2;
5634 struct cvmx_gmxx_txx_stat5_s cn50xx;
5635 struct cvmx_gmxx_txx_stat5_s cn52xx;
5636 struct cvmx_gmxx_txx_stat5_s cn52xxp1;
5637 struct cvmx_gmxx_txx_stat5_s cn56xx;
5638 struct cvmx_gmxx_txx_stat5_s cn56xxp1;
5639 struct cvmx_gmxx_txx_stat5_s cn58xx;
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;
5648};
5649
5650union cvmx_gmxx_txx_stat6 {
5651 uint64_t u64;
5652 struct cvmx_gmxx_txx_stat6_s {
5653#ifdef __BIG_ENDIAN_BITFIELD
5654 uint64_t hist5:32;
5655 uint64_t hist4:32;
5656#else
5657 uint64_t hist4:32;
5658 uint64_t hist5:32;
5659#endif
5660 } s;
5661 struct cvmx_gmxx_txx_stat6_s cn30xx;
5662 struct cvmx_gmxx_txx_stat6_s cn31xx;
5663 struct cvmx_gmxx_txx_stat6_s cn38xx;
5664 struct cvmx_gmxx_txx_stat6_s cn38xxp2;
5665 struct cvmx_gmxx_txx_stat6_s cn50xx;
5666 struct cvmx_gmxx_txx_stat6_s cn52xx;
5667 struct cvmx_gmxx_txx_stat6_s cn52xxp1;
5668 struct cvmx_gmxx_txx_stat6_s cn56xx;
5669 struct cvmx_gmxx_txx_stat6_s cn56xxp1;
5670 struct cvmx_gmxx_txx_stat6_s cn58xx;
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;
5679};
5680
5681union cvmx_gmxx_txx_stat7 {
5682 uint64_t u64;
5683 struct cvmx_gmxx_txx_stat7_s {
5684#ifdef __BIG_ENDIAN_BITFIELD
5685 uint64_t hist7:32;
5686 uint64_t hist6:32;
5687#else
5688 uint64_t hist6:32;
5689 uint64_t hist7:32;
5690#endif
5691 } s;
5692 struct cvmx_gmxx_txx_stat7_s cn30xx;
5693 struct cvmx_gmxx_txx_stat7_s cn31xx;
5694 struct cvmx_gmxx_txx_stat7_s cn38xx;
5695 struct cvmx_gmxx_txx_stat7_s cn38xxp2;
5696 struct cvmx_gmxx_txx_stat7_s cn50xx;
5697 struct cvmx_gmxx_txx_stat7_s cn52xx;
5698 struct cvmx_gmxx_txx_stat7_s cn52xxp1;
5699 struct cvmx_gmxx_txx_stat7_s cn56xx;
5700 struct cvmx_gmxx_txx_stat7_s cn56xxp1;
5701 struct cvmx_gmxx_txx_stat7_s cn58xx;
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;
5710};
5711
5712union cvmx_gmxx_txx_stat8 {
5713 uint64_t u64;
5714 struct cvmx_gmxx_txx_stat8_s {
5715#ifdef __BIG_ENDIAN_BITFIELD
5716 uint64_t mcst:32;
5717 uint64_t bcst:32;
5718#else
5719 uint64_t bcst:32;
5720 uint64_t mcst:32;
5721#endif
5722 } s;
5723 struct cvmx_gmxx_txx_stat8_s cn30xx;
5724 struct cvmx_gmxx_txx_stat8_s cn31xx;
5725 struct cvmx_gmxx_txx_stat8_s cn38xx;
5726 struct cvmx_gmxx_txx_stat8_s cn38xxp2;
5727 struct cvmx_gmxx_txx_stat8_s cn50xx;
5728 struct cvmx_gmxx_txx_stat8_s cn52xx;
5729 struct cvmx_gmxx_txx_stat8_s cn52xxp1;
5730 struct cvmx_gmxx_txx_stat8_s cn56xx;
5731 struct cvmx_gmxx_txx_stat8_s cn56xxp1;
5732 struct cvmx_gmxx_txx_stat8_s cn58xx;
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;
5741};
5742
5743union cvmx_gmxx_txx_stat9 {
5744 uint64_t u64;
5745 struct cvmx_gmxx_txx_stat9_s {
5746#ifdef __BIG_ENDIAN_BITFIELD
5747 uint64_t undflw:32;
5748 uint64_t ctl:32;
5749#else
5750 uint64_t ctl:32;
5751 uint64_t undflw:32;
5752#endif
5753 } s;
5754 struct cvmx_gmxx_txx_stat9_s cn30xx;
5755 struct cvmx_gmxx_txx_stat9_s cn31xx;
5756 struct cvmx_gmxx_txx_stat9_s cn38xx;
5757 struct cvmx_gmxx_txx_stat9_s cn38xxp2;
5758 struct cvmx_gmxx_txx_stat9_s cn50xx;
5759 struct cvmx_gmxx_txx_stat9_s cn52xx;
5760 struct cvmx_gmxx_txx_stat9_s cn52xxp1;
5761 struct cvmx_gmxx_txx_stat9_s cn56xx;
5762 struct cvmx_gmxx_txx_stat9_s cn56xxp1;
5763 struct cvmx_gmxx_txx_stat9_s cn58xx;
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;
5772};
5773
5774union cvmx_gmxx_txx_stats_ctl {
5775 uint64_t u64;
5776 struct cvmx_gmxx_txx_stats_ctl_s {
5777#ifdef __BIG_ENDIAN_BITFIELD
5778 uint64_t reserved_1_63:63;
5779 uint64_t rd_clr:1;
5780#else
5781 uint64_t rd_clr:1;
5782 uint64_t reserved_1_63:63;
5783#endif
5784 } s;
5785 struct cvmx_gmxx_txx_stats_ctl_s cn30xx;
5786 struct cvmx_gmxx_txx_stats_ctl_s cn31xx;
5787 struct cvmx_gmxx_txx_stats_ctl_s cn38xx;
5788 struct cvmx_gmxx_txx_stats_ctl_s cn38xxp2;
5789 struct cvmx_gmxx_txx_stats_ctl_s cn50xx;
5790 struct cvmx_gmxx_txx_stats_ctl_s cn52xx;
5791 struct cvmx_gmxx_txx_stats_ctl_s cn52xxp1;
5792 struct cvmx_gmxx_txx_stats_ctl_s cn56xx;
5793 struct cvmx_gmxx_txx_stats_ctl_s cn56xxp1;
5794 struct cvmx_gmxx_txx_stats_ctl_s cn58xx;
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;
5803};
5804
5805union cvmx_gmxx_txx_thresh {
5806 uint64_t u64;
5807 struct cvmx_gmxx_txx_thresh_s {
5808#ifdef __BIG_ENDIAN_BITFIELD
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
5815 } s;
5816 struct cvmx_gmxx_txx_thresh_cn30xx {
5817#ifdef __BIG_ENDIAN_BITFIELD
5818 uint64_t reserved_7_63:57;
5819 uint64_t cnt:7;
5820#else
5821 uint64_t cnt:7;
5822 uint64_t reserved_7_63:57;
5823#endif
5824 } cn30xx;
5825 struct cvmx_gmxx_txx_thresh_cn30xx cn31xx;
5826 struct cvmx_gmxx_txx_thresh_cn38xx {
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;
5836 struct cvmx_gmxx_txx_thresh_cn30xx cn50xx;
5837 struct cvmx_gmxx_txx_thresh_cn38xx cn52xx;
5838 struct cvmx_gmxx_txx_thresh_cn38xx cn52xxp1;
5839 struct cvmx_gmxx_txx_thresh_cn38xx cn56xx;
5840 struct cvmx_gmxx_txx_thresh_cn38xx cn56xxp1;
5841 struct cvmx_gmxx_txx_thresh_cn38xx cn58xx;
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;
5850};
5851
5852union cvmx_gmxx_tx_bp {
5853 uint64_t u64;
5854 struct cvmx_gmxx_tx_bp_s {
5855#ifdef __BIG_ENDIAN_BITFIELD
5856 uint64_t reserved_4_63:60;
5857 uint64_t bp:4;
5858#else
5859 uint64_t bp:4;
5860 uint64_t reserved_4_63:60;
5861#endif
5862 } s;
5863 struct cvmx_gmxx_tx_bp_cn30xx {
5864#ifdef __BIG_ENDIAN_BITFIELD
5865 uint64_t reserved_3_63:61;
5866 uint64_t bp:3;
5867#else
5868 uint64_t bp:3;
5869 uint64_t reserved_3_63:61;
5870#endif
5871 } cn30xx;
5872 struct cvmx_gmxx_tx_bp_cn30xx cn31xx;
5873 struct cvmx_gmxx_tx_bp_s cn38xx;
5874 struct cvmx_gmxx_tx_bp_s cn38xxp2;
5875 struct cvmx_gmxx_tx_bp_cn30xx cn50xx;
5876 struct cvmx_gmxx_tx_bp_s cn52xx;
5877 struct cvmx_gmxx_tx_bp_s cn52xxp1;
5878 struct cvmx_gmxx_tx_bp_s cn56xx;
5879 struct cvmx_gmxx_tx_bp_s cn56xxp1;
5880 struct cvmx_gmxx_tx_bp_s cn58xx;
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;
5897};
5898
5899union cvmx_gmxx_tx_clk_mskx {
5900 uint64_t u64;
5901 struct cvmx_gmxx_tx_clk_mskx_s {
5902#ifdef __BIG_ENDIAN_BITFIELD
5903 uint64_t reserved_1_63:63;
5904 uint64_t msk:1;
5905#else
5906 uint64_t msk:1;
5907 uint64_t reserved_1_63:63;
5908#endif
5909 } s;
5910 struct cvmx_gmxx_tx_clk_mskx_s cn30xx;
5911 struct cvmx_gmxx_tx_clk_mskx_s cn50xx;
5912};
5913
5914union cvmx_gmxx_tx_col_attempt {
5915 uint64_t u64;
5916 struct cvmx_gmxx_tx_col_attempt_s {
5917#ifdef __BIG_ENDIAN_BITFIELD
5918 uint64_t reserved_5_63:59;
5919 uint64_t limit:5;
5920#else
5921 uint64_t limit:5;
5922 uint64_t reserved_5_63:59;
5923#endif
5924 } s;
5925 struct cvmx_gmxx_tx_col_attempt_s cn30xx;
5926 struct cvmx_gmxx_tx_col_attempt_s cn31xx;
5927 struct cvmx_gmxx_tx_col_attempt_s cn38xx;
5928 struct cvmx_gmxx_tx_col_attempt_s cn38xxp2;
5929 struct cvmx_gmxx_tx_col_attempt_s cn50xx;
5930 struct cvmx_gmxx_tx_col_attempt_s cn52xx;
5931 struct cvmx_gmxx_tx_col_attempt_s cn52xxp1;
5932 struct cvmx_gmxx_tx_col_attempt_s cn56xx;
5933 struct cvmx_gmxx_tx_col_attempt_s cn56xxp1;
5934 struct cvmx_gmxx_tx_col_attempt_s cn58xx;
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;
5943};
5944
5945union cvmx_gmxx_tx_corrupt {
5946 uint64_t u64;
5947 struct cvmx_gmxx_tx_corrupt_s {
5948#ifdef __BIG_ENDIAN_BITFIELD
5949 uint64_t reserved_4_63:60;
5950 uint64_t corrupt:4;
5951#else
5952 uint64_t corrupt:4;
5953 uint64_t reserved_4_63:60;
5954#endif
5955 } s;
5956 struct cvmx_gmxx_tx_corrupt_cn30xx {
5957#ifdef __BIG_ENDIAN_BITFIELD
5958 uint64_t reserved_3_63:61;
5959 uint64_t corrupt:3;
5960#else
5961 uint64_t corrupt:3;
5962 uint64_t reserved_3_63:61;
5963#endif
5964 } cn30xx;
5965 struct cvmx_gmxx_tx_corrupt_cn30xx cn31xx;
5966 struct cvmx_gmxx_tx_corrupt_s cn38xx;
5967 struct cvmx_gmxx_tx_corrupt_s cn38xxp2;
5968 struct cvmx_gmxx_tx_corrupt_cn30xx cn50xx;
5969 struct cvmx_gmxx_tx_corrupt_s cn52xx;
5970 struct cvmx_gmxx_tx_corrupt_s cn52xxp1;
5971 struct cvmx_gmxx_tx_corrupt_s cn56xx;
5972 struct cvmx_gmxx_tx_corrupt_s cn56xxp1;
5973 struct cvmx_gmxx_tx_corrupt_s cn58xx;
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;
5990};
5991
5992union cvmx_gmxx_tx_hg2_reg1 {
5993 uint64_t u64;
5994 struct cvmx_gmxx_tx_hg2_reg1_s {
5995#ifdef __BIG_ENDIAN_BITFIELD
5996 uint64_t reserved_16_63:48;
5997 uint64_t tx_xof:16;
5998#else
5999 uint64_t tx_xof:16;
6000 uint64_t reserved_16_63:48;
6001#endif
6002 } s;
6003 struct cvmx_gmxx_tx_hg2_reg1_s cn52xx;
6004 struct cvmx_gmxx_tx_hg2_reg1_s cn52xxp1;
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;
6013};
6014
6015union cvmx_gmxx_tx_hg2_reg2 {
6016 uint64_t u64;
6017 struct cvmx_gmxx_tx_hg2_reg2_s {
6018#ifdef __BIG_ENDIAN_BITFIELD
6019 uint64_t reserved_16_63:48;
6020 uint64_t tx_xon:16;
6021#else
6022 uint64_t tx_xon:16;
6023 uint64_t reserved_16_63:48;
6024#endif
6025 } s;
6026 struct cvmx_gmxx_tx_hg2_reg2_s cn52xx;
6027 struct cvmx_gmxx_tx_hg2_reg2_s cn52xxp1;
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;
6036};
6037
6038union cvmx_gmxx_tx_ifg {
6039 uint64_t u64;
6040 struct cvmx_gmxx_tx_ifg_s {
6041#ifdef __BIG_ENDIAN_BITFIELD
6042 uint64_t reserved_8_63:56;
6043 uint64_t ifg2: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
6050 } s;
6051 struct cvmx_gmxx_tx_ifg_s cn30xx;
6052 struct cvmx_gmxx_tx_ifg_s cn31xx;
6053 struct cvmx_gmxx_tx_ifg_s cn38xx;
6054 struct cvmx_gmxx_tx_ifg_s cn38xxp2;
6055 struct cvmx_gmxx_tx_ifg_s cn50xx;
6056 struct cvmx_gmxx_tx_ifg_s cn52xx;
6057 struct cvmx_gmxx_tx_ifg_s cn52xxp1;
6058 struct cvmx_gmxx_tx_ifg_s cn56xx;
6059 struct cvmx_gmxx_tx_ifg_s cn56xxp1;
6060 struct cvmx_gmxx_tx_ifg_s cn58xx;
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;
6069};
6070
6071union cvmx_gmxx_tx_int_en {
6072 uint64_t u64;
6073 struct cvmx_gmxx_tx_int_en_s {
6074#ifdef __BIG_ENDIAN_BITFIELD
6075 uint64_t reserved_25_63:39;
6076 uint64_t xchange:1;
6077 uint64_t ptp_lost:4;
6078 uint64_t late_col:4;
6079 uint64_t xsdef:4;
6080 uint64_t xscol:4;
6081 uint64_t reserved_6_7:2;
6082 uint64_t undflw:4;
6083 uint64_t reserved_1_1:1;
6084 uint64_t pko_nxa:1;
6085#else
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
6097 } s;
6098 struct cvmx_gmxx_tx_int_en_cn30xx {
6099#ifdef __BIG_ENDIAN_BITFIELD
6100 uint64_t reserved_19_63:45;
6101 uint64_t late_col:3;
6102 uint64_t reserved_15_15:1;
6103 uint64_t xsdef:3;
6104 uint64_t reserved_11_11:1;
6105 uint64_t xscol:3;
6106 uint64_t reserved_5_7:3;
6107 uint64_t undflw:3;
6108 uint64_t reserved_1_1: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
6122 } cn30xx;
6123 struct cvmx_gmxx_tx_int_en_cn31xx {
6124#ifdef __BIG_ENDIAN_BITFIELD
6125 uint64_t reserved_15_63:49;
6126 uint64_t xsdef:3;
6127 uint64_t reserved_11_11:1;
6128 uint64_t xscol:3;
6129 uint64_t reserved_5_7:3;
6130 uint64_t undflw:3;
6131 uint64_t reserved_1_1: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
6143 } cn31xx;
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;
6165 struct cvmx_gmxx_tx_int_en_cn38xxp2 {
6166#ifdef __BIG_ENDIAN_BITFIELD
6167 uint64_t reserved_16_63:48;
6168 uint64_t xsdef:4;
6169 uint64_t xscol:4;
6170 uint64_t reserved_6_7:2;
6171 uint64_t undflw:4;
6172 uint64_t ncb_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
6183 } cn38xxp2;
6184 struct cvmx_gmxx_tx_int_en_cn30xx cn50xx;
6185 struct cvmx_gmxx_tx_int_en_cn52xx {
6186#ifdef __BIG_ENDIAN_BITFIELD
6187 uint64_t reserved_20_63:44;
6188 uint64_t late_col:4;
6189 uint64_t xsdef:4;
6190 uint64_t xscol:4;
6191 uint64_t reserved_6_7:2;
6192 uint64_t undflw:4;
6193 uint64_t reserved_1_1: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
6205 } cn52xx;
6206 struct cvmx_gmxx_tx_int_en_cn52xx cn52xxp1;
6207 struct cvmx_gmxx_tx_int_en_cn52xx cn56xx;
6208 struct cvmx_gmxx_tx_int_en_cn52xx cn56xxp1;
6209 struct cvmx_gmxx_tx_int_en_cn38xx cn58xx;
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;
6296};
6297
6298union cvmx_gmxx_tx_int_reg {
6299 uint64_t u64;
6300 struct cvmx_gmxx_tx_int_reg_s {
6301#ifdef __BIG_ENDIAN_BITFIELD
6302 uint64_t reserved_25_63:39;
6303 uint64_t xchange:1;
6304 uint64_t ptp_lost:4;
6305 uint64_t late_col:4;
6306 uint64_t xsdef:4;
6307 uint64_t xscol:4;
6308 uint64_t reserved_6_7:2;
6309 uint64_t undflw:4;
6310 uint64_t reserved_1_1: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
6324 } s;
6325 struct cvmx_gmxx_tx_int_reg_cn30xx {
6326#ifdef __BIG_ENDIAN_BITFIELD
6327 uint64_t reserved_19_63:45;
6328 uint64_t late_col:3;
6329 uint64_t reserved_15_15:1;
6330 uint64_t xsdef:3;
6331 uint64_t reserved_11_11:1;
6332 uint64_t xscol:3;
6333 uint64_t reserved_5_7:3;
6334 uint64_t undflw:3;
6335 uint64_t reserved_1_1: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
6349 } cn30xx;
6350 struct cvmx_gmxx_tx_int_reg_cn31xx {
6351#ifdef __BIG_ENDIAN_BITFIELD
6352 uint64_t reserved_15_63:49;
6353 uint64_t xsdef:3;
6354 uint64_t reserved_11_11:1;
6355 uint64_t xscol:3;
6356 uint64_t reserved_5_7:3;
6357 uint64_t undflw:3;
6358 uint64_t reserved_1_1: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
6370 } cn31xx;
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;
6392 struct cvmx_gmxx_tx_int_reg_cn38xxp2 {
6393#ifdef __BIG_ENDIAN_BITFIELD
6394 uint64_t reserved_16_63:48;
6395 uint64_t xsdef:4;
6396 uint64_t xscol:4;
6397 uint64_t reserved_6_7:2;
6398 uint64_t undflw:4;
6399 uint64_t ncb_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
6410 } cn38xxp2;
6411 struct cvmx_gmxx_tx_int_reg_cn30xx cn50xx;
6412 struct cvmx_gmxx_tx_int_reg_cn52xx {
6413#ifdef __BIG_ENDIAN_BITFIELD
6414 uint64_t reserved_20_63:44;
6415 uint64_t late_col:4;
6416 uint64_t xsdef:4;
6417 uint64_t xscol:4;
6418 uint64_t reserved_6_7:2;
6419 uint64_t undflw:4;
6420 uint64_t reserved_1_1: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
6432 } cn52xx;
6433 struct cvmx_gmxx_tx_int_reg_cn52xx cn52xxp1;
6434 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xx;
6435 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xxp1;
6436 struct cvmx_gmxx_tx_int_reg_cn38xx cn58xx;
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;
6523};
6524
6525union cvmx_gmxx_tx_jam {
6526 uint64_t u64;
6527 struct cvmx_gmxx_tx_jam_s {
6528#ifdef __BIG_ENDIAN_BITFIELD
6529 uint64_t reserved_8_63:56;
6530 uint64_t jam:8;
6531#else
6532 uint64_t jam:8;
6533 uint64_t reserved_8_63:56;
6534#endif
6535 } s;
6536 struct cvmx_gmxx_tx_jam_s cn30xx;
6537 struct cvmx_gmxx_tx_jam_s cn31xx;
6538 struct cvmx_gmxx_tx_jam_s cn38xx;
6539 struct cvmx_gmxx_tx_jam_s cn38xxp2;
6540 struct cvmx_gmxx_tx_jam_s cn50xx;
6541 struct cvmx_gmxx_tx_jam_s cn52xx;
6542 struct cvmx_gmxx_tx_jam_s cn52xxp1;
6543 struct cvmx_gmxx_tx_jam_s cn56xx;
6544 struct cvmx_gmxx_tx_jam_s cn56xxp1;
6545 struct cvmx_gmxx_tx_jam_s cn58xx;
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;
6554};
6555
6556union cvmx_gmxx_tx_lfsr {
6557 uint64_t u64;
6558 struct cvmx_gmxx_tx_lfsr_s {
6559#ifdef __BIG_ENDIAN_BITFIELD
6560 uint64_t reserved_16_63:48;
6561 uint64_t lfsr:16;
6562#else
6563 uint64_t lfsr:16;
6564 uint64_t reserved_16_63:48;
6565#endif
6566 } s;
6567 struct cvmx_gmxx_tx_lfsr_s cn30xx;
6568 struct cvmx_gmxx_tx_lfsr_s cn31xx;
6569 struct cvmx_gmxx_tx_lfsr_s cn38xx;
6570 struct cvmx_gmxx_tx_lfsr_s cn38xxp2;
6571 struct cvmx_gmxx_tx_lfsr_s cn50xx;
6572 struct cvmx_gmxx_tx_lfsr_s cn52xx;
6573 struct cvmx_gmxx_tx_lfsr_s cn52xxp1;
6574 struct cvmx_gmxx_tx_lfsr_s cn56xx;
6575 struct cvmx_gmxx_tx_lfsr_s cn56xxp1;
6576 struct cvmx_gmxx_tx_lfsr_s cn58xx;
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;
6585};
6586
6587union cvmx_gmxx_tx_ovr_bp {
6588 uint64_t u64;
6589 struct cvmx_gmxx_tx_ovr_bp_s {
6590#ifdef __BIG_ENDIAN_BITFIELD
6591 uint64_t reserved_48_63:16;
6592 uint64_t tx_prt_bp:16;
6593 uint64_t reserved_12_31:20;
6594 uint64_t en:4;
6595 uint64_t bp: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
6605 } s;
6606 struct cvmx_gmxx_tx_ovr_bp_cn30xx {
6607#ifdef __BIG_ENDIAN_BITFIELD
6608 uint64_t reserved_11_63:53;
6609 uint64_t en:3;
6610 uint64_t reserved_7_7:1;
6611 uint64_t bp:3;
6612 uint64_t reserved_3_3:1;
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
6622 } cn30xx;
6623 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn31xx;
6624 struct cvmx_gmxx_tx_ovr_bp_cn38xx {
6625#ifdef __BIG_ENDIAN_BITFIELD
6626 uint64_t reserved_12_63:52;
6627 uint64_t en:4;
6628 uint64_t bp: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
6636 } cn38xx;
6637 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn38xxp2;
6638 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn50xx;
6639 struct cvmx_gmxx_tx_ovr_bp_s cn52xx;
6640 struct cvmx_gmxx_tx_ovr_bp_s cn52xxp1;
6641 struct cvmx_gmxx_tx_ovr_bp_s cn56xx;
6642 struct cvmx_gmxx_tx_ovr_bp_s cn56xxp1;
6643 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xx;
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;
6672};
6673
6674union cvmx_gmxx_tx_pause_pkt_dmac {
6675 uint64_t u64;
6676 struct cvmx_gmxx_tx_pause_pkt_dmac_s {
6677#ifdef __BIG_ENDIAN_BITFIELD
6678 uint64_t reserved_48_63:16;
6679 uint64_t dmac:48;
6680#else
6681 uint64_t dmac:48;
6682 uint64_t reserved_48_63:16;
6683#endif
6684 } s;
6685 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn30xx;
6686 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn31xx;
6687 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xx;
6688 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xxp2;
6689 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn50xx;
6690 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xx;
6691 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xxp1;
6692 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xx;
6693 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xxp1;
6694 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xx;
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;
6703};
6704
6705union cvmx_gmxx_tx_pause_pkt_type {
6706 uint64_t u64;
6707 struct cvmx_gmxx_tx_pause_pkt_type_s {
6708#ifdef __BIG_ENDIAN_BITFIELD
6709 uint64_t reserved_16_63:48;
6710 uint64_t type:16;
6711#else
6712 uint64_t type:16;
6713 uint64_t reserved_16_63:48;
6714#endif
6715 } s;
6716 struct cvmx_gmxx_tx_pause_pkt_type_s cn30xx;
6717 struct cvmx_gmxx_tx_pause_pkt_type_s cn31xx;
6718 struct cvmx_gmxx_tx_pause_pkt_type_s cn38xx;
6719 struct cvmx_gmxx_tx_pause_pkt_type_s cn38xxp2;
6720 struct cvmx_gmxx_tx_pause_pkt_type_s cn50xx;
6721 struct cvmx_gmxx_tx_pause_pkt_type_s cn52xx;
6722 struct cvmx_gmxx_tx_pause_pkt_type_s cn52xxp1;
6723 struct cvmx_gmxx_tx_pause_pkt_type_s cn56xx;
6724 struct cvmx_gmxx_tx_pause_pkt_type_s cn56xxp1;
6725 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xx;
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;
6734};
6735
6736union cvmx_gmxx_tx_prts {
6737 uint64_t u64;
6738 struct cvmx_gmxx_tx_prts_s {
6739#ifdef __BIG_ENDIAN_BITFIELD
6740 uint64_t reserved_5_63:59;
6741 uint64_t prts:5;
6742#else
6743 uint64_t prts:5;
6744 uint64_t reserved_5_63:59;
6745#endif
6746 } s;
6747 struct cvmx_gmxx_tx_prts_s cn30xx;
6748 struct cvmx_gmxx_tx_prts_s cn31xx;
6749 struct cvmx_gmxx_tx_prts_s cn38xx;
6750 struct cvmx_gmxx_tx_prts_s cn38xxp2;
6751 struct cvmx_gmxx_tx_prts_s cn50xx;
6752 struct cvmx_gmxx_tx_prts_s cn52xx;
6753 struct cvmx_gmxx_tx_prts_s cn52xxp1;
6754 struct cvmx_gmxx_tx_prts_s cn56xx;
6755 struct cvmx_gmxx_tx_prts_s cn56xxp1;
6756 struct cvmx_gmxx_tx_prts_s cn58xx;
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;
6765};
6766
6767union cvmx_gmxx_tx_spi_ctl {
6768 uint64_t u64;
6769 struct cvmx_gmxx_tx_spi_ctl_s {
6770#ifdef __BIG_ENDIAN_BITFIELD
6771 uint64_t reserved_2_63:62;
6772 uint64_t tpa_clr: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
6779 } s;
6780 struct cvmx_gmxx_tx_spi_ctl_s cn38xx;
6781 struct cvmx_gmxx_tx_spi_ctl_s cn38xxp2;
6782 struct cvmx_gmxx_tx_spi_ctl_s cn58xx;
6783 struct cvmx_gmxx_tx_spi_ctl_s cn58xxp1;
6784};
6785
6786union cvmx_gmxx_tx_spi_drain {
6787 uint64_t u64;
6788 struct cvmx_gmxx_tx_spi_drain_s {
6789#ifdef __BIG_ENDIAN_BITFIELD
6790 uint64_t reserved_16_63:48;
6791 uint64_t drain:16;
6792#else
6793 uint64_t drain:16;
6794 uint64_t reserved_16_63:48;
6795#endif
6796 } s;
6797 struct cvmx_gmxx_tx_spi_drain_s cn38xx;
6798 struct cvmx_gmxx_tx_spi_drain_s cn58xx;
6799 struct cvmx_gmxx_tx_spi_drain_s cn58xxp1;
6800};
6801
6802union cvmx_gmxx_tx_spi_max {
6803 uint64_t u64;
6804 struct cvmx_gmxx_tx_spi_max_s {
6805#ifdef __BIG_ENDIAN_BITFIELD
6806 uint64_t reserved_23_63:41;
6807 uint64_t slice:7;
6808 uint64_t max2: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
6816 } s;
6817 struct cvmx_gmxx_tx_spi_max_cn38xx {
6818#ifdef __BIG_ENDIAN_BITFIELD
6819 uint64_t reserved_16_63:48;
6820 uint64_t max2: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
6827 } cn38xx;
6828 struct cvmx_gmxx_tx_spi_max_cn38xx cn38xxp2;
6829 struct cvmx_gmxx_tx_spi_max_s cn58xx;
6830 struct cvmx_gmxx_tx_spi_max_s cn58xxp1;
6831};
6832
6833union cvmx_gmxx_tx_spi_roundx {
6834 uint64_t u64;
6835 struct cvmx_gmxx_tx_spi_roundx_s {
6836#ifdef __BIG_ENDIAN_BITFIELD
6837 uint64_t reserved_16_63:48;
6838 uint64_t round:16;
6839#else
6840 uint64_t round:16;
6841 uint64_t reserved_16_63:48;
6842#endif
6843 } s;
6844 struct cvmx_gmxx_tx_spi_roundx_s cn58xx;
6845 struct cvmx_gmxx_tx_spi_roundx_s cn58xxp1;
6846};
6847
6848union cvmx_gmxx_tx_spi_thresh {
6849 uint64_t u64;
6850 struct cvmx_gmxx_tx_spi_thresh_s {
6851#ifdef __BIG_ENDIAN_BITFIELD
6852 uint64_t reserved_6_63:58;
6853 uint64_t thresh:6;
6854#else
6855 uint64_t thresh:6;
6856 uint64_t reserved_6_63:58;
6857#endif
6858 } s;
6859 struct cvmx_gmxx_tx_spi_thresh_s cn38xx;
6860 struct cvmx_gmxx_tx_spi_thresh_s cn38xxp2;
6861 struct cvmx_gmxx_tx_spi_thresh_s cn58xx;
6862 struct cvmx_gmxx_tx_spi_thresh_s cn58xxp1;
6863};
6864
6865union cvmx_gmxx_tx_xaui_ctl {
6866 uint64_t u64;
6867 struct cvmx_gmxx_tx_xaui_ctl_s {
6868#ifdef __BIG_ENDIAN_BITFIELD
6869 uint64_t reserved_11_63:53;
6870 uint64_t hg_pause_hgi:2;
6871 uint64_t hg_en:1;
6872 uint64_t reserved_7_7:1;
6873 uint64_t ls_byp:1;
6874 uint64_t ls:2;
6875 uint64_t reserved_2_3:2;
6876 uint64_t uni_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
6889 } s;
6890 struct cvmx_gmxx_tx_xaui_ctl_s cn52xx;
6891 struct cvmx_gmxx_tx_xaui_ctl_s cn52xxp1;
6892 struct cvmx_gmxx_tx_xaui_ctl_s cn56xx;
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;
6901};
6902
6903union cvmx_gmxx_xaui_ext_loopback {
6904 uint64_t u64;
6905 struct cvmx_gmxx_xaui_ext_loopback_s {
6906#ifdef __BIG_ENDIAN_BITFIELD
6907 uint64_t reserved_5_63:59;
6908 uint64_t en:1;
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
6915 } s;
6916 struct cvmx_gmxx_xaui_ext_loopback_s cn52xx;
6917 struct cvmx_gmxx_xaui_ext_loopback_s cn52xxp1;
6918 struct cvmx_gmxx_xaui_ext_loopback_s cn56xx;
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;
6927};
6928
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 4719fcfa886..395564e8d1f 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,10 +34,7 @@
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))
39#define CVMX_GPIO_RX_DAT (CVMX_ADD_IO_SEG(0x0001070000000880ull)) 37#define CVMX_GPIO_RX_DAT (CVMX_ADD_IO_SEG(0x0001070000000880ull))
40#define CVMX_GPIO_TIM_CTL (CVMX_ADD_IO_SEG(0x00010700000008A0ull))
41#define CVMX_GPIO_TX_CLR (CVMX_ADD_IO_SEG(0x0001070000000890ull)) 38#define CVMX_GPIO_TX_CLR (CVMX_ADD_IO_SEG(0x0001070000000890ull))
42#define CVMX_GPIO_TX_SET (CVMX_ADD_IO_SEG(0x0001070000000888ull)) 39#define CVMX_GPIO_TX_SET (CVMX_ADD_IO_SEG(0x0001070000000888ull))
43#define CVMX_GPIO_XBIT_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000900ull) + ((offset) & 31) * 8 - 8*16) 40#define CVMX_GPIO_XBIT_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000900ull) + ((offset) & 31) * 8 - 8*16)
@@ -45,7 +42,6 @@
45union cvmx_gpio_bit_cfgx { 42union cvmx_gpio_bit_cfgx {
46 uint64_t u64; 43 uint64_t u64;
47 struct cvmx_gpio_bit_cfgx_s { 44 struct cvmx_gpio_bit_cfgx_s {
48#ifdef __BIG_ENDIAN_BITFIELD
49 uint64_t reserved_17_63:47; 45 uint64_t reserved_17_63:47;
50 uint64_t synce_sel:2; 46 uint64_t synce_sel:2;
51 uint64_t clk_gen:1; 47 uint64_t clk_gen:1;
@@ -56,21 +52,8 @@ union cvmx_gpio_bit_cfgx {
56 uint64_t int_en:1; 52 uint64_t int_en:1;
57 uint64_t rx_xor:1; 53 uint64_t rx_xor:1;
58 uint64_t tx_oe:1; 54 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
71 } s; 55 } s;
72 struct cvmx_gpio_bit_cfgx_cn30xx { 56 struct cvmx_gpio_bit_cfgx_cn30xx {
73#ifdef __BIG_ENDIAN_BITFIELD
74 uint64_t reserved_12_63:52; 57 uint64_t reserved_12_63:52;
75 uint64_t fil_sel:4; 58 uint64_t fil_sel:4;
76 uint64_t fil_cnt:4; 59 uint64_t fil_cnt:4;
@@ -78,22 +61,12 @@ union cvmx_gpio_bit_cfgx {
78 uint64_t int_en:1; 61 uint64_t int_en:1;
79 uint64_t rx_xor:1; 62 uint64_t rx_xor:1;
80 uint64_t tx_oe:1; 63 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
90 } cn30xx; 64 } cn30xx;
91 struct cvmx_gpio_bit_cfgx_cn30xx cn31xx; 65 struct cvmx_gpio_bit_cfgx_cn30xx cn31xx;
92 struct cvmx_gpio_bit_cfgx_cn30xx cn38xx; 66 struct cvmx_gpio_bit_cfgx_cn30xx cn38xx;
93 struct cvmx_gpio_bit_cfgx_cn30xx cn38xxp2; 67 struct cvmx_gpio_bit_cfgx_cn30xx cn38xxp2;
94 struct cvmx_gpio_bit_cfgx_cn30xx cn50xx; 68 struct cvmx_gpio_bit_cfgx_cn30xx cn50xx;
95 struct cvmx_gpio_bit_cfgx_cn52xx { 69 struct cvmx_gpio_bit_cfgx_cn52xx {
96#ifdef __BIG_ENDIAN_BITFIELD
97 uint64_t reserved_15_63:49; 70 uint64_t reserved_15_63:49;
98 uint64_t clk_gen:1; 71 uint64_t clk_gen:1;
99 uint64_t clk_sel:2; 72 uint64_t clk_sel:2;
@@ -103,44 +76,22 @@ union cvmx_gpio_bit_cfgx {
103 uint64_t int_en:1; 76 uint64_t int_en:1;
104 uint64_t rx_xor:1; 77 uint64_t rx_xor:1;
105 uint64_t tx_oe:1; 78 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
117 } cn52xx; 79 } cn52xx;
118 struct cvmx_gpio_bit_cfgx_cn52xx cn52xxp1; 80 struct cvmx_gpio_bit_cfgx_cn52xx cn52xxp1;
119 struct cvmx_gpio_bit_cfgx_cn52xx cn56xx; 81 struct cvmx_gpio_bit_cfgx_cn52xx cn56xx;
120 struct cvmx_gpio_bit_cfgx_cn52xx cn56xxp1; 82 struct cvmx_gpio_bit_cfgx_cn52xx cn56xxp1;
121 struct cvmx_gpio_bit_cfgx_cn30xx cn58xx; 83 struct cvmx_gpio_bit_cfgx_cn30xx cn58xx;
122 struct cvmx_gpio_bit_cfgx_cn30xx cn58xxp1; 84 struct cvmx_gpio_bit_cfgx_cn30xx cn58xxp1;
123 struct cvmx_gpio_bit_cfgx_s cn61xx;
124 struct cvmx_gpio_bit_cfgx_s cn63xx; 85 struct cvmx_gpio_bit_cfgx_s cn63xx;
125 struct cvmx_gpio_bit_cfgx_s cn63xxp1; 86 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;
130}; 87};
131 88
132union cvmx_gpio_boot_ena { 89union cvmx_gpio_boot_ena {
133 uint64_t u64; 90 uint64_t u64;
134 struct cvmx_gpio_boot_ena_s { 91 struct cvmx_gpio_boot_ena_s {
135#ifdef __BIG_ENDIAN_BITFIELD
136 uint64_t reserved_12_63:52; 92 uint64_t reserved_12_63:52;
137 uint64_t boot_ena:4; 93 uint64_t boot_ena:4;
138 uint64_t reserved_0_7:8; 94 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
144 } s; 95 } s;
145 struct cvmx_gpio_boot_ena_s cn30xx; 96 struct cvmx_gpio_boot_ena_s cn30xx;
146 struct cvmx_gpio_boot_ena_s cn31xx; 97 struct cvmx_gpio_boot_ena_s cn31xx;
@@ -150,87 +101,33 @@ union cvmx_gpio_boot_ena {
150union cvmx_gpio_clk_genx { 101union cvmx_gpio_clk_genx {
151 uint64_t u64; 102 uint64_t u64;
152 struct cvmx_gpio_clk_genx_s { 103 struct cvmx_gpio_clk_genx_s {
153#ifdef __BIG_ENDIAN_BITFIELD
154 uint64_t reserved_32_63:32; 104 uint64_t reserved_32_63:32;
155 uint64_t n:32; 105 uint64_t n:32;
156#else
157 uint64_t n:32;
158 uint64_t reserved_32_63:32;
159#endif
160 } s; 106 } s;
161 struct cvmx_gpio_clk_genx_s cn52xx; 107 struct cvmx_gpio_clk_genx_s cn52xx;
162 struct cvmx_gpio_clk_genx_s cn52xxp1; 108 struct cvmx_gpio_clk_genx_s cn52xxp1;
163 struct cvmx_gpio_clk_genx_s cn56xx; 109 struct cvmx_gpio_clk_genx_s cn56xx;
164 struct cvmx_gpio_clk_genx_s cn56xxp1; 110 struct cvmx_gpio_clk_genx_s cn56xxp1;
165 struct cvmx_gpio_clk_genx_s cn61xx;
166 struct cvmx_gpio_clk_genx_s cn63xx; 111 struct cvmx_gpio_clk_genx_s cn63xx;
167 struct cvmx_gpio_clk_genx_s cn63xxp1; 112 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;
172}; 113};
173 114
174union cvmx_gpio_clk_qlmx { 115union cvmx_gpio_clk_qlmx {
175 uint64_t u64; 116 uint64_t u64;
176 struct cvmx_gpio_clk_qlmx_s { 117 struct cvmx_gpio_clk_qlmx_s {
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;
181 uint64_t div:1;
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
190 } s;
191 struct cvmx_gpio_clk_qlmx_cn61xx {
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; 118 uint64_t reserved_3_63:61;
209 uint64_t div:1; 119 uint64_t div:1;
210 uint64_t lane_sel:2; 120 uint64_t lane_sel:2;
211#else 121 } s;
212 uint64_t lane_sel:2; 122 struct cvmx_gpio_clk_qlmx_s cn63xx;
213 uint64_t div:1; 123 struct cvmx_gpio_clk_qlmx_s cn63xxp1;
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;
222}; 124};
223 125
224union cvmx_gpio_dbg_ena { 126union cvmx_gpio_dbg_ena {
225 uint64_t u64; 127 uint64_t u64;
226 struct cvmx_gpio_dbg_ena_s { 128 struct cvmx_gpio_dbg_ena_s {
227#ifdef __BIG_ENDIAN_BITFIELD
228 uint64_t reserved_21_63:43; 129 uint64_t reserved_21_63:43;
229 uint64_t dbg_ena:21; 130 uint64_t dbg_ena:21;
230#else
231 uint64_t dbg_ena:21;
232 uint64_t reserved_21_63:43;
233#endif
234 } s; 131 } s;
235 struct cvmx_gpio_dbg_ena_s cn30xx; 132 struct cvmx_gpio_dbg_ena_s cn30xx;
236 struct cvmx_gpio_dbg_ena_s cn31xx; 133 struct cvmx_gpio_dbg_ena_s cn31xx;
@@ -240,13 +137,8 @@ union cvmx_gpio_dbg_ena {
240union cvmx_gpio_int_clr { 137union cvmx_gpio_int_clr {
241 uint64_t u64; 138 uint64_t u64;
242 struct cvmx_gpio_int_clr_s { 139 struct cvmx_gpio_int_clr_s {
243#ifdef __BIG_ENDIAN_BITFIELD
244 uint64_t reserved_16_63:48; 140 uint64_t reserved_16_63:48;
245 uint64_t type:16; 141 uint64_t type:16;
246#else
247 uint64_t type:16;
248 uint64_t reserved_16_63:48;
249#endif
250 } s; 142 } s;
251 struct cvmx_gpio_int_clr_s cn30xx; 143 struct cvmx_gpio_int_clr_s cn30xx;
252 struct cvmx_gpio_int_clr_s cn31xx; 144 struct cvmx_gpio_int_clr_s cn31xx;
@@ -259,69 +151,21 @@ union cvmx_gpio_int_clr {
259 struct cvmx_gpio_int_clr_s cn56xxp1; 151 struct cvmx_gpio_int_clr_s cn56xxp1;
260 struct cvmx_gpio_int_clr_s cn58xx; 152 struct cvmx_gpio_int_clr_s cn58xx;
261 struct cvmx_gpio_int_clr_s cn58xxp1; 153 struct cvmx_gpio_int_clr_s cn58xxp1;
262 struct cvmx_gpio_int_clr_s cn61xx;
263 struct cvmx_gpio_int_clr_s cn63xx; 154 struct cvmx_gpio_int_clr_s cn63xx;
264 struct cvmx_gpio_int_clr_s cn63xxp1; 155 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;
302}; 156};
303 157
304union cvmx_gpio_rx_dat { 158union cvmx_gpio_rx_dat {
305 uint64_t u64; 159 uint64_t u64;
306 struct cvmx_gpio_rx_dat_s { 160 struct cvmx_gpio_rx_dat_s {
307#ifdef __BIG_ENDIAN_BITFIELD
308 uint64_t reserved_24_63:40; 161 uint64_t reserved_24_63:40;
309 uint64_t dat:24; 162 uint64_t dat:24;
310#else
311 uint64_t dat:24;
312 uint64_t reserved_24_63:40;
313#endif
314 } s; 163 } s;
315 struct cvmx_gpio_rx_dat_s cn30xx; 164 struct cvmx_gpio_rx_dat_s cn30xx;
316 struct cvmx_gpio_rx_dat_s cn31xx; 165 struct cvmx_gpio_rx_dat_s cn31xx;
317 struct cvmx_gpio_rx_dat_cn38xx { 166 struct cvmx_gpio_rx_dat_cn38xx {
318#ifdef __BIG_ENDIAN_BITFIELD
319 uint64_t reserved_16_63:48; 167 uint64_t reserved_16_63:48;
320 uint64_t dat:16; 168 uint64_t dat:16;
321#else
322 uint64_t dat:16;
323 uint64_t reserved_16_63:48;
324#endif
325 } cn38xx; 169 } cn38xx;
326 struct cvmx_gpio_rx_dat_cn38xx cn38xxp2; 170 struct cvmx_gpio_rx_dat_cn38xx cn38xxp2;
327 struct cvmx_gpio_rx_dat_s cn50xx; 171 struct cvmx_gpio_rx_dat_s cn50xx;
@@ -331,59 +175,21 @@ union cvmx_gpio_rx_dat {
331 struct cvmx_gpio_rx_dat_cn38xx cn56xxp1; 175 struct cvmx_gpio_rx_dat_cn38xx cn56xxp1;
332 struct cvmx_gpio_rx_dat_cn38xx cn58xx; 176 struct cvmx_gpio_rx_dat_cn38xx cn58xx;
333 struct cvmx_gpio_rx_dat_cn38xx cn58xxp1; 177 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;
343 struct cvmx_gpio_rx_dat_cn38xx cn63xx; 178 struct cvmx_gpio_rx_dat_cn38xx cn63xx;
344 struct cvmx_gpio_rx_dat_cn38xx cn63xxp1; 179 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;
364}; 180};
365 181
366union cvmx_gpio_tx_clr { 182union cvmx_gpio_tx_clr {
367 uint64_t u64; 183 uint64_t u64;
368 struct cvmx_gpio_tx_clr_s { 184 struct cvmx_gpio_tx_clr_s {
369#ifdef __BIG_ENDIAN_BITFIELD
370 uint64_t reserved_24_63:40; 185 uint64_t reserved_24_63:40;
371 uint64_t clr:24; 186 uint64_t clr:24;
372#else
373 uint64_t clr:24;
374 uint64_t reserved_24_63:40;
375#endif
376 } s; 187 } s;
377 struct cvmx_gpio_tx_clr_s cn30xx; 188 struct cvmx_gpio_tx_clr_s cn30xx;
378 struct cvmx_gpio_tx_clr_s cn31xx; 189 struct cvmx_gpio_tx_clr_s cn31xx;
379 struct cvmx_gpio_tx_clr_cn38xx { 190 struct cvmx_gpio_tx_clr_cn38xx {
380#ifdef __BIG_ENDIAN_BITFIELD
381 uint64_t reserved_16_63:48; 191 uint64_t reserved_16_63:48;
382 uint64_t clr:16; 192 uint64_t clr:16;
383#else
384 uint64_t clr:16;
385 uint64_t reserved_16_63:48;
386#endif
387 } cn38xx; 193 } cn38xx;
388 struct cvmx_gpio_tx_clr_cn38xx cn38xxp2; 194 struct cvmx_gpio_tx_clr_cn38xx cn38xxp2;
389 struct cvmx_gpio_tx_clr_s cn50xx; 195 struct cvmx_gpio_tx_clr_s cn50xx;
@@ -393,44 +199,21 @@ union cvmx_gpio_tx_clr {
393 struct cvmx_gpio_tx_clr_cn38xx cn56xxp1; 199 struct cvmx_gpio_tx_clr_cn38xx cn56xxp1;
394 struct cvmx_gpio_tx_clr_cn38xx cn58xx; 200 struct cvmx_gpio_tx_clr_cn38xx cn58xx;
395 struct cvmx_gpio_tx_clr_cn38xx cn58xxp1; 201 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;
405 struct cvmx_gpio_tx_clr_cn38xx cn63xx; 202 struct cvmx_gpio_tx_clr_cn38xx cn63xx;
406 struct cvmx_gpio_tx_clr_cn38xx cn63xxp1; 203 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;
411}; 204};
412 205
413union cvmx_gpio_tx_set { 206union cvmx_gpio_tx_set {
414 uint64_t u64; 207 uint64_t u64;
415 struct cvmx_gpio_tx_set_s { 208 struct cvmx_gpio_tx_set_s {
416#ifdef __BIG_ENDIAN_BITFIELD
417 uint64_t reserved_24_63:40; 209 uint64_t reserved_24_63:40;
418 uint64_t set:24; 210 uint64_t set:24;
419#else
420 uint64_t set:24;
421 uint64_t reserved_24_63:40;
422#endif
423 } s; 211 } s;
424 struct cvmx_gpio_tx_set_s cn30xx; 212 struct cvmx_gpio_tx_set_s cn30xx;
425 struct cvmx_gpio_tx_set_s cn31xx; 213 struct cvmx_gpio_tx_set_s cn31xx;
426 struct cvmx_gpio_tx_set_cn38xx { 214 struct cvmx_gpio_tx_set_cn38xx {
427#ifdef __BIG_ENDIAN_BITFIELD
428 uint64_t reserved_16_63:48; 215 uint64_t reserved_16_63:48;
429 uint64_t set:16; 216 uint64_t set:16;
430#else
431 uint64_t set:16;
432 uint64_t reserved_16_63:48;
433#endif
434 } cn38xx; 217 } cn38xx;
435 struct cvmx_gpio_tx_set_cn38xx cn38xxp2; 218 struct cvmx_gpio_tx_set_cn38xx cn38xxp2;
436 struct cvmx_gpio_tx_set_s cn50xx; 219 struct cvmx_gpio_tx_set_s cn50xx;
@@ -440,72 +223,23 @@ union cvmx_gpio_tx_set {
440 struct cvmx_gpio_tx_set_cn38xx cn56xxp1; 223 struct cvmx_gpio_tx_set_cn38xx cn56xxp1;
441 struct cvmx_gpio_tx_set_cn38xx cn58xx; 224 struct cvmx_gpio_tx_set_cn38xx cn58xx;
442 struct cvmx_gpio_tx_set_cn38xx cn58xxp1; 225 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;
452 struct cvmx_gpio_tx_set_cn38xx cn63xx; 226 struct cvmx_gpio_tx_set_cn38xx cn63xx;
453 struct cvmx_gpio_tx_set_cn38xx cn63xxp1; 227 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;
458}; 228};
459 229
460union cvmx_gpio_xbit_cfgx { 230union cvmx_gpio_xbit_cfgx {
461 uint64_t u64; 231 uint64_t u64;
462 struct cvmx_gpio_xbit_cfgx_s { 232 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
489 uint64_t reserved_12_63:52; 233 uint64_t reserved_12_63:52;
490 uint64_t fil_sel:4; 234 uint64_t fil_sel:4;
491 uint64_t fil_cnt:4; 235 uint64_t fil_cnt:4;
492 uint64_t reserved_2_3:2; 236 uint64_t reserved_2_3:2;
493 uint64_t rx_xor:1; 237 uint64_t rx_xor:1;
494 uint64_t tx_oe:1; 238 uint64_t tx_oe:1;
495#else 239 } s;
496 uint64_t tx_oe:1; 240 struct cvmx_gpio_xbit_cfgx_s cn30xx;
497 uint64_t rx_xor:1; 241 struct cvmx_gpio_xbit_cfgx_s cn31xx;
498 uint64_t reserved_2_3:2; 242 struct cvmx_gpio_xbit_cfgx_s cn50xx;
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;
509}; 243};
510 244
511#endif 245#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-helper-board.h b/arch/mips/include/asm/octeon/cvmx-helper-board.h
deleted file mode 100644
index 442f508eaac..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper-board.h
+++ /dev/null
@@ -1,157 +0,0 @@
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-2008 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/**
29 *
30 * Helper functions to abstract board specific data about
31 * network ports from the rest of the cvmx-helper files.
32 *
33 */
34#ifndef __CVMX_HELPER_BOARD_H__
35#define __CVMX_HELPER_BOARD_H__
36
37#include <asm/octeon/cvmx-helper.h>
38
39typedef enum {
40 set_phy_link_flags_autoneg = 0x1,
41 set_phy_link_flags_flow_control_dont_touch = 0x0 << 1,
42 set_phy_link_flags_flow_control_enable = 0x1 << 1,
43 set_phy_link_flags_flow_control_disable = 0x2 << 1,
44 set_phy_link_flags_flow_control_mask = 0x3 << 1, /* Mask for 2 bit wide flow control field */
45} cvmx_helper_board_set_phy_link_flags_types_t;
46
47/*
48 * Fake IPD port, the RGMII/MII interface may use different PHY, use
49 * this macro to return appropriate MIX address to read the PHY.
50 */
51#define CVMX_HELPER_BOARD_MGMT_IPD_PORT -10
52
53/**
54 * cvmx_override_board_link_get(int ipd_port) is a function
55 * pointer. It is meant to allow customization of the process of
56 * talking to a PHY to determine link speed. It is called every
57 * time a PHY must be polled for link status. Users should set
58 * this pointer to a function before calling any cvmx-helper
59 * operations.
60 */
61extern cvmx_helper_link_info_t(*cvmx_override_board_link_get) (int ipd_port);
62
63/**
64 * Return the MII PHY address associated with the given IPD
65 * port. A result of -1 means there isn't a MII capable PHY
66 * connected to this port. On chips supporting multiple MII
67 * busses the bus number is encoded in bits <15:8>.
68 *
69 * This function must be modifed for every new Octeon board.
70 * Internally it uses switch statements based on the cvmx_sysinfo
71 * data to determine board types and revisions. It relys on the
72 * fact that every Octeon board receives a unique board type
73 * enumeration from the bootloader.
74 *
75 * @ipd_port: Octeon IPD port to get the MII address for.
76 *
77 * Returns MII PHY address and bus number or -1.
78 */
79extern int cvmx_helper_board_get_mii_address(int ipd_port);
80
81/**
82 * This function as a board specific method of changing the PHY
83 * speed, duplex, and autonegotiation. This programs the PHY and
84 * not Octeon. This can be used to force Octeon's links to
85 * specific settings.
86 *
87 * @phy_addr: The address of the PHY to program
88 * @link_flags:
89 * Flags to control autonegotiation. Bit 0 is autonegotiation
90 * enable/disable to maintain backware compatibility.
91 * @link_info: Link speed to program. If the speed is zero and autonegotiation
92 * is enabled, all possible negotiation speeds are advertised.
93 *
94 * Returns Zero on success, negative on failure
95 */
96int cvmx_helper_board_link_set_phy(int phy_addr,
97 cvmx_helper_board_set_phy_link_flags_types_t
98 link_flags,
99 cvmx_helper_link_info_t link_info);
100
101/**
102 * This function is the board specific method of determining an
103 * ethernet ports link speed. Most Octeon boards have Marvell PHYs
104 * and are handled by the fall through case. This function must be
105 * updated for boards that don't have the normal Marvell PHYs.
106 *
107 * This function must be modifed for every new Octeon board.
108 * Internally it uses switch statements based on the cvmx_sysinfo
109 * data to determine board types and revisions. It relys on the
110 * fact that every Octeon board receives a unique board type
111 * enumeration from the bootloader.
112 *
113 * @ipd_port: IPD input port associated with the port we want to get link
114 * status for.
115 *
116 * Returns The ports link status. If the link isn't fully resolved, this must
117 * return zero.
118 */
119extern cvmx_helper_link_info_t __cvmx_helper_board_link_get(int ipd_port);
120
121/**
122 * This function is called by cvmx_helper_interface_probe() after it
123 * determines the number of ports Octeon can support on a specific
124 * interface. This function is the per board location to override
125 * this value. It is called with the number of ports Octeon might
126 * support and should return the number of actual ports on the
127 * board.
128 *
129 * This function must be modifed for every new Octeon board.
130 * Internally it uses switch statements based on the cvmx_sysinfo
131 * data to determine board types and revisions. It relys on the
132 * fact that every Octeon board receives a unique board type
133 * enumeration from the bootloader.
134 *
135 * @interface: Interface to probe
136 * @supported_ports:
137 * Number of ports Octeon supports.
138 *
139 * Returns Number of ports the actual board supports. Many times this will
140 * simple be "support_ports".
141 */
142extern int __cvmx_helper_board_interface_probe(int interface,
143 int supported_ports);
144
145/**
146 * Enable packet input/output from the hardware. This function is
147 * called after by cvmx_helper_packet_hardware_enable() to
148 * perform board specific initialization. For most boards
149 * nothing is needed.
150 *
151 * @interface: Interface to enable
152 *
153 * Returns Zero on success, negative on failure
154 */
155extern int __cvmx_helper_board_hardware_enable(int interface);
156
157#endif /* __CVMX_HELPER_BOARD_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-helper-loop.h b/arch/mips/include/asm/octeon/cvmx-helper-loop.h
deleted file mode 100644
index 077f0e9d3b2..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper-loop.h
+++ /dev/null
@@ -1,60 +0,0 @@
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-2008 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 published by
11 * the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful,
14 * but AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or NONINFRINGEMENT.
16 * See the GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this file; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 * or visit http://www.gnu.org/licenses/.
22 *
23 * This file may also be available under a different license from Cavium.
24 * Contact Cavium Networks for more information
25 ***********************license end**************************************/
26
27/**
28 * @file
29 *
30 * Functions for LOOP initialization, configuration,
31 * and monitoring.
32 *
33 */
34#ifndef __CVMX_HELPER_LOOP_H__
35#define __CVMX_HELPER_LOOP_H__
36
37/**
38 * Probe a LOOP interface and determine the number of ports
39 * connected to it. The LOOP interface should still be down after
40 * this call.
41 *
42 * @interface: Interface to probe
43 *
44 * Returns Number of ports on the interface. Zero to disable.
45 */
46extern int __cvmx_helper_loop_probe(int interface);
47static inline int __cvmx_helper_loop_enumerate(int interface) {return 4; }
48
49/**
50 * Bringup and enable a LOOP interface. After this call packet
51 * I/O should be fully functional. This is called with IPD
52 * enabled but PKO disabled.
53 *
54 * @interface: Interface to bring up
55 *
56 * Returns Zero on success, negative on failure
57 */
58extern int __cvmx_helper_loop_enable(int interface);
59
60#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-helper-npi.h b/arch/mips/include/asm/octeon/cvmx-helper-npi.h
deleted file mode 100644
index 8df4c7fafdb..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper-npi.h
+++ /dev/null
@@ -1,61 +0,0 @@
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-2008 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/**
29 * @file
30 *
31 * Functions for NPI initialization, configuration,
32 * and monitoring.
33 *
34 */
35#ifndef __CVMX_HELPER_NPI_H__
36#define __CVMX_HELPER_NPI_H__
37
38/**
39 * Probe a NPI interface and determine the number of ports
40 * connected to it. The NPI interface should still be down after
41 * this call.
42 *
43 * @interface: Interface to probe
44 *
45 * Returns Number of ports on the interface. Zero to disable.
46 */
47extern int __cvmx_helper_npi_probe(int interface);
48#define __cvmx_helper_npi_enumerate __cvmx_helper_npi_probe
49
50/**
51 * Bringup and enable a NPI interface. After this call packet
52 * I/O should be fully functional. This is called with IPD
53 * enabled but PKO disabled.
54 *
55 * @interface: Interface to bring up
56 *
57 * Returns Zero on success, negative on failure
58 */
59extern int __cvmx_helper_npi_enable(int interface);
60
61#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-helper-rgmii.h b/arch/mips/include/asm/octeon/cvmx-helper-rgmii.h
deleted file mode 100644
index 78295ba0050..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper-rgmii.h
+++ /dev/null
@@ -1,111 +0,0 @@
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-2008 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/**
29 * @file
30 *
31 * Functions for RGMII/GMII/MII initialization, configuration,
32 * and monitoring.
33 *
34 */
35#ifndef __CVMX_HELPER_RGMII_H__
36#define __CVMX_HELPER_RGMII_H__
37
38/**
39 * Probe RGMII ports and determine the number present
40 *
41 * @interface: Interface to probe
42 *
43 * Returns Number of RGMII/GMII/MII ports (0-4).
44 */
45extern int __cvmx_helper_rgmii_probe(int interface);
46#define __cvmx_helper_rgmii_enumerate __cvmx_helper_rgmii_probe
47
48/**
49 * Put an RGMII interface in loopback mode. Internal packets sent
50 * out will be received back again on the same port. Externally
51 * received packets will echo back out.
52 *
53 * @port: IPD port number to loop.
54 */
55extern void cvmx_helper_rgmii_internal_loopback(int port);
56
57/**
58 * Configure all of the ASX, GMX, and PKO regsiters required
59 * to get RGMII to function on the supplied interface.
60 *
61 * @interface: PKO Interface to configure (0 or 1)
62 *
63 * Returns Zero on success
64 */
65extern int __cvmx_helper_rgmii_enable(int interface);
66
67/**
68 * Return the link state of an IPD/PKO port as returned by
69 * auto negotiation. The result of this function may not match
70 * Octeon's link config if auto negotiation has changed since
71 * the last call to cvmx_helper_link_set().
72 *
73 * @ipd_port: IPD/PKO port to query
74 *
75 * Returns Link state
76 */
77extern cvmx_helper_link_info_t __cvmx_helper_rgmii_link_get(int ipd_port);
78
79/**
80 * Configure an IPD/PKO port for the specified link state. This
81 * function does not influence auto negotiation at the PHY level.
82 * The passed link state must always match the link state returned
83 * by cvmx_helper_link_get(). It is normally best to use
84 * cvmx_helper_link_autoconf() instead.
85 *
86 * @ipd_port: IPD/PKO port to configure
87 * @link_info: The new link state
88 *
89 * Returns Zero on success, negative on failure
90 */
91extern int __cvmx_helper_rgmii_link_set(int ipd_port,
92 cvmx_helper_link_info_t link_info);
93
94/**
95 * Configure a port for internal and/or external loopback. Internal loopback
96 * causes packets sent by the port to be received by Octeon. External loopback
97 * causes packets received from the wire to sent out again.
98 *
99 * @ipd_port: IPD/PKO port to loopback.
100 * @enable_internal:
101 * Non zero if you want internal loopback
102 * @enable_external:
103 * Non zero if you want external loopback
104 *
105 * Returns Zero on success, negative on failure.
106 */
107extern int __cvmx_helper_rgmii_configure_loopback(int ipd_port,
108 int enable_internal,
109 int enable_external);
110
111#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-helper-sgmii.h b/arch/mips/include/asm/octeon/cvmx-helper-sgmii.h
deleted file mode 100644
index 9a9b6c103ed..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper-sgmii.h
+++ /dev/null
@@ -1,105 +0,0 @@
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-2008 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/**
29 * @file
30 *
31 * Functions for SGMII initialization, configuration,
32 * and monitoring.
33 *
34 */
35#ifndef __CVMX_HELPER_SGMII_H__
36#define __CVMX_HELPER_SGMII_H__
37
38/**
39 * Probe a SGMII interface and determine the number of ports
40 * connected to it. The SGMII interface should still be down after
41 * this call.
42 *
43 * @interface: Interface to probe
44 *
45 * Returns Number of ports on the interface. Zero to disable.
46 */
47extern int __cvmx_helper_sgmii_probe(int interface);
48extern int __cvmx_helper_sgmii_enumerate(int interface);
49
50/**
51 * Bringup and enable a SGMII interface. After this call packet
52 * I/O should be fully functional. This is called with IPD
53 * enabled but PKO disabled.
54 *
55 * @interface: Interface to bring up
56 *
57 * Returns Zero on success, negative on failure
58 */
59extern int __cvmx_helper_sgmii_enable(int interface);
60
61/**
62 * Return the link state of an IPD/PKO port as returned by
63 * auto negotiation. The result of this function may not match
64 * Octeon's link config if auto negotiation has changed since
65 * the last call to cvmx_helper_link_set().
66 *
67 * @ipd_port: IPD/PKO port to query
68 *
69 * Returns Link state
70 */
71extern cvmx_helper_link_info_t __cvmx_helper_sgmii_link_get(int ipd_port);
72
73/**
74 * Configure an IPD/PKO port for the specified link state. This
75 * function does not influence auto negotiation at the PHY level.
76 * The passed link state must always match the link state returned
77 * by cvmx_helper_link_get(). It is normally best to use
78 * cvmx_helper_link_autoconf() instead.
79 *
80 * @ipd_port: IPD/PKO port to configure
81 * @link_info: The new link state
82 *
83 * Returns Zero on success, negative on failure
84 */
85extern int __cvmx_helper_sgmii_link_set(int ipd_port,
86 cvmx_helper_link_info_t link_info);
87
88/**
89 * Configure a port for internal and/or external loopback. Internal loopback
90 * causes packets sent by the port to be received by Octeon. External loopback
91 * causes packets received from the wire to sent out again.
92 *
93 * @ipd_port: IPD/PKO port to loopback.
94 * @enable_internal:
95 * Non zero if you want internal loopback
96 * @enable_external:
97 * Non zero if you want external loopback
98 *
99 * Returns Zero on success, negative on failure.
100 */
101extern int __cvmx_helper_sgmii_configure_loopback(int ipd_port,
102 int enable_internal,
103 int enable_external);
104
105#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-helper-spi.h b/arch/mips/include/asm/octeon/cvmx-helper-spi.h
deleted file mode 100644
index 9f1c6b968f9..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper-spi.h
+++ /dev/null
@@ -1,85 +0,0 @@
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-2008 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/*
29 * Functions for SPI initialization, configuration,
30 * and monitoring.
31 */
32#ifndef __CVMX_HELPER_SPI_H__
33#define __CVMX_HELPER_SPI_H__
34
35/**
36 * Probe a SPI interface and determine the number of ports
37 * connected to it. The SPI interface should still be down after
38 * this call.
39 *
40 * @interface: Interface to probe
41 *
42 * Returns Number of ports on the interface. Zero to disable.
43 */
44extern int __cvmx_helper_spi_probe(int interface);
45extern int __cvmx_helper_spi_enumerate(int interface);
46
47/**
48 * Bringup and enable a SPI interface. After this call packet I/O
49 * should be fully functional. This is called with IPD enabled but
50 * PKO disabled.
51 *
52 * @interface: Interface to bring up
53 *
54 * Returns Zero on success, negative on failure
55 */
56extern int __cvmx_helper_spi_enable(int interface);
57
58/**
59 * Return the link state of an IPD/PKO port as returned by
60 * auto negotiation. The result of this function may not match
61 * Octeon's link config if auto negotiation has changed since
62 * the last call to cvmx_helper_link_set().
63 *
64 * @ipd_port: IPD/PKO port to query
65 *
66 * Returns Link state
67 */
68extern cvmx_helper_link_info_t __cvmx_helper_spi_link_get(int ipd_port);
69
70/**
71 * Configure an IPD/PKO port for the specified link state. This
72 * function does not influence auto negotiation at the PHY level.
73 * The passed link state must always match the link state returned
74 * by cvmx_helper_link_get(). It is normally best to use
75 * cvmx_helper_link_autoconf() instead.
76 *
77 * @ipd_port: IPD/PKO port to configure
78 * @link_info: The new link state
79 *
80 * Returns Zero on success, negative on failure
81 */
82extern int __cvmx_helper_spi_link_set(int ipd_port,
83 cvmx_helper_link_info_t link_info);
84
85#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-helper-util.h b/arch/mips/include/asm/octeon/cvmx-helper-util.h
deleted file mode 100644
index 6a6e52fc22c..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper-util.h
+++ /dev/null
@@ -1,215 +0,0 @@
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-2008 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/*
29 *
30 * Small helper utilities.
31 *
32 */
33
34#ifndef __CVMX_HELPER_UTIL_H__
35#define __CVMX_HELPER_UTIL_H__
36
37/**
38 * Convert a interface mode into a human readable string
39 *
40 * @mode: Mode to convert
41 *
42 * Returns String
43 */
44extern const char
45 *cvmx_helper_interface_mode_to_string(cvmx_helper_interface_mode_t mode);
46
47/**
48 * Debug routine to dump the packet structure to the console
49 *
50 * @work: Work queue entry containing the packet to dump
51 * Returns
52 */
53extern int cvmx_helper_dump_packet(cvmx_wqe_t *work);
54
55/**
56 * Setup Random Early Drop on a specific input queue
57 *
58 * @queue: Input queue to setup RED on (0-7)
59 * @pass_thresh:
60 * Packets will begin slowly dropping when there are less than
61 * this many packet buffers free in FPA 0.
62 * @drop_thresh:
63 * All incomming packets will be dropped when there are less
64 * than this many free packet buffers in FPA 0.
65 * Returns Zero on success. Negative on failure
66 */
67extern int cvmx_helper_setup_red_queue(int queue, int pass_thresh,
68 int drop_thresh);
69
70/**
71 * Setup Random Early Drop to automatically begin dropping packets.
72 *
73 * @pass_thresh:
74 * Packets will begin slowly dropping when there are less than
75 * this many packet buffers free in FPA 0.
76 * @drop_thresh:
77 * All incomming packets will be dropped when there are less
78 * than this many free packet buffers in FPA 0.
79 * Returns Zero on success. Negative on failure
80 */
81extern int cvmx_helper_setup_red(int pass_thresh, int drop_thresh);
82
83/**
84 * Get the version of the CVMX libraries.
85 *
86 * Returns Version string. Note this buffer is allocated statically
87 * and will be shared by all callers.
88 */
89extern const char *cvmx_helper_get_version(void);
90
91/**
92 * Setup the common GMX settings that determine the number of
93 * ports. These setting apply to almost all configurations of all
94 * chips.
95 *
96 * @interface: Interface to configure
97 * @num_ports: Number of ports on the interface
98 *
99 * Returns Zero on success, negative on failure
100 */
101extern int __cvmx_helper_setup_gmx(int interface, int num_ports);
102
103/**
104 * Returns the IPD/PKO port number for a port on the given
105 * interface.
106 *
107 * @interface: Interface to use
108 * @port: Port on the interface
109 *
110 * Returns IPD/PKO port number
111 */
112extern int cvmx_helper_get_ipd_port(int interface, int port);
113
114/**
115 * Returns the IPD/PKO port number for the first port on the given
116 * interface.
117 *
118 * @interface: Interface to use
119 *
120 * Returns IPD/PKO port number
121 */
122static inline int cvmx_helper_get_first_ipd_port(int interface)
123{
124 return cvmx_helper_get_ipd_port(interface, 0);
125}
126
127/**
128 * Returns the IPD/PKO port number for the last port on the given
129 * interface.
130 *
131 * @interface: Interface to use
132 *
133 * Returns IPD/PKO port number
134 */
135static inline int cvmx_helper_get_last_ipd_port(int interface)
136{
137 extern int cvmx_helper_ports_on_interface(int interface);
138
139 return cvmx_helper_get_first_ipd_port(interface) +
140 cvmx_helper_ports_on_interface(interface) - 1;
141}
142
143/**
144 * Free the packet buffers contained in a work queue entry.
145 * The work queue entry is not freed.
146 *
147 * @work: Work queue entry with packet to free
148 */
149static inline void cvmx_helper_free_packet_data(cvmx_wqe_t *work)
150{
151 uint64_t number_buffers;
152 union cvmx_buf_ptr buffer_ptr;
153 union cvmx_buf_ptr next_buffer_ptr;
154 uint64_t start_of_buffer;
155
156 number_buffers = work->word2.s.bufs;
157 if (number_buffers == 0)
158 return;
159 buffer_ptr = work->packet_ptr;
160
161 /*
162 * Since the number of buffers is not zero, we know this is
163 * not a dynamic short packet. We need to check if it is a
164 * packet received with IPD_CTL_STATUS[NO_WPTR]. If this is
165 * true, we need to free all buffers except for the first
166 * one. The caller doesn't expect their WQE pointer to be
167 * freed
168 */
169 start_of_buffer = ((buffer_ptr.s.addr >> 7) - buffer_ptr.s.back) << 7;
170 if (cvmx_ptr_to_phys(work) == start_of_buffer) {
171 next_buffer_ptr =
172 *(union cvmx_buf_ptr *) cvmx_phys_to_ptr(buffer_ptr.s.addr - 8);
173 buffer_ptr = next_buffer_ptr;
174 number_buffers--;
175 }
176
177 while (number_buffers--) {
178 /*
179 * Remember the back pointer is in cache lines, not
180 * 64bit words
181 */
182 start_of_buffer =
183 ((buffer_ptr.s.addr >> 7) - buffer_ptr.s.back) << 7;
184 /*
185 * Read pointer to next buffer before we free the
186 * current buffer.
187 */
188 next_buffer_ptr =
189 *(union cvmx_buf_ptr *) cvmx_phys_to_ptr(buffer_ptr.s.addr - 8);
190 cvmx_fpa_free(cvmx_phys_to_ptr(start_of_buffer),
191 buffer_ptr.s.pool, 0);
192 buffer_ptr = next_buffer_ptr;
193 }
194}
195
196/**
197 * Returns the interface number for an IPD/PKO port number.
198 *
199 * @ipd_port: IPD/PKO port number
200 *
201 * Returns Interface number
202 */
203extern int cvmx_helper_get_interface_num(int ipd_port);
204
205/**
206 * Returns the interface index number for an IPD/PKO port
207 * number.
208 *
209 * @ipd_port: IPD/PKO port number
210 *
211 * Returns Interface index number
212 */
213extern int cvmx_helper_get_interface_index_num(int ipd_port);
214
215#endif /* __CVMX_HELPER_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-helper-xaui.h b/arch/mips/include/asm/octeon/cvmx-helper-xaui.h
deleted file mode 100644
index f6fbc4f45b5..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper-xaui.h
+++ /dev/null
@@ -1,104 +0,0 @@
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-2008 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/**
29 * @file
30 *
31 * Functions for XAUI initialization, configuration,
32 * and monitoring.
33 *
34 */
35#ifndef __CVMX_HELPER_XAUI_H__
36#define __CVMX_HELPER_XAUI_H__
37
38/**
39 * Probe a XAUI interface and determine the number of ports
40 * connected to it. The XAUI interface should still be down
41 * after this call.
42 *
43 * @interface: Interface to probe
44 *
45 * Returns Number of ports on the interface. Zero to disable.
46 */
47extern int __cvmx_helper_xaui_probe(int interface);
48extern int __cvmx_helper_xaui_enumerate(int interface);
49
50/**
51 * Bringup and enable a XAUI interface. After this call packet
52 * I/O should be fully functional. This is called with IPD
53 * enabled but PKO disabled.
54 *
55 * @interface: Interface to bring up
56 *
57 * Returns Zero on success, negative on failure
58 */
59extern int __cvmx_helper_xaui_enable(int interface);
60
61/**
62 * Return the link state of an IPD/PKO port as returned by
63 * auto negotiation. The result of this function may not match
64 * Octeon's link config if auto negotiation has changed since
65 * the last call to cvmx_helper_link_set().
66 *
67 * @ipd_port: IPD/PKO port to query
68 *
69 * Returns Link state
70 */
71extern cvmx_helper_link_info_t __cvmx_helper_xaui_link_get(int ipd_port);
72
73/**
74 * Configure an IPD/PKO port for the specified link state. This
75 * function does not influence auto negotiation at the PHY level.
76 * The passed link state must always match the link state returned
77 * by cvmx_helper_link_get(). It is normally best to use
78 * cvmx_helper_link_autoconf() instead.
79 *
80 * @ipd_port: IPD/PKO port to configure
81 * @link_info: The new link state
82 *
83 * Returns Zero on success, negative on failure
84 */
85extern int __cvmx_helper_xaui_link_set(int ipd_port,
86 cvmx_helper_link_info_t link_info);
87
88/**
89 * Configure a port for internal and/or external loopback. Internal loopback
90 * causes packets sent by the port to be received by Octeon. External loopback
91 * causes packets received from the wire to sent out again.
92 *
93 * @ipd_port: IPD/PKO port to loopback.
94 * @enable_internal:
95 * Non zero if you want internal loopback
96 * @enable_external:
97 * Non zero if you want external loopback
98 *
99 * Returns Zero on success, negative on failure.
100 */
101extern int __cvmx_helper_xaui_configure_loopback(int ipd_port,
102 int enable_internal,
103 int enable_external);
104#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-helper.h b/arch/mips/include/asm/octeon/cvmx-helper.h
deleted file mode 100644
index 691c8142cd4..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-helper.h
+++ /dev/null
@@ -1,226 +0,0 @@
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-2008 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/*
29 *
30 * Helper functions for common, but complicated tasks.
31 *
32 */
33
34#ifndef __CVMX_HELPER_H__
35#define __CVMX_HELPER_H__
36
37#include <asm/octeon/cvmx-config.h>
38#include <asm/octeon/cvmx-fpa.h>
39#include <asm/octeon/cvmx-wqe.h>
40
41typedef enum {
42 CVMX_HELPER_INTERFACE_MODE_DISABLED,
43 CVMX_HELPER_INTERFACE_MODE_RGMII,
44 CVMX_HELPER_INTERFACE_MODE_GMII,
45 CVMX_HELPER_INTERFACE_MODE_SPI,
46 CVMX_HELPER_INTERFACE_MODE_PCIE,
47 CVMX_HELPER_INTERFACE_MODE_XAUI,
48 CVMX_HELPER_INTERFACE_MODE_SGMII,
49 CVMX_HELPER_INTERFACE_MODE_PICMG,
50 CVMX_HELPER_INTERFACE_MODE_NPI,
51 CVMX_HELPER_INTERFACE_MODE_LOOP,
52} cvmx_helper_interface_mode_t;
53
54typedef union {
55 uint64_t u64;
56 struct {
57 uint64_t reserved_20_63:44;
58 uint64_t link_up:1; /**< Is the physical link up? */
59 uint64_t full_duplex:1; /**< 1 if the link is full duplex */
60 uint64_t speed:18; /**< Speed of the link in Mbps */
61 } s;
62} cvmx_helper_link_info_t;
63
64#include <asm/octeon/cvmx-helper-errata.h>
65#include <asm/octeon/cvmx-helper-loop.h>
66#include <asm/octeon/cvmx-helper-npi.h>
67#include <asm/octeon/cvmx-helper-rgmii.h>
68#include <asm/octeon/cvmx-helper-sgmii.h>
69#include <asm/octeon/cvmx-helper-spi.h>
70#include <asm/octeon/cvmx-helper-util.h>
71#include <asm/octeon/cvmx-helper-xaui.h>
72
73/**
74 * cvmx_override_pko_queue_priority(int ipd_port, uint64_t
75 * priorities[16]) is a function pointer. It is meant to allow
76 * customization of the PKO queue priorities based on the port
77 * number. Users should set this pointer to a function before
78 * calling any cvmx-helper operations.
79 */
80extern void (*cvmx_override_pko_queue_priority) (int pko_port,
81 uint64_t priorities[16]);
82
83/**
84 * cvmx_override_ipd_port_setup(int ipd_port) is a function
85 * pointer. It is meant to allow customization of the IPD port
86 * setup before packet input/output comes online. It is called
87 * after cvmx-helper does the default IPD configuration, but
88 * before IPD is enabled. Users should set this pointer to a
89 * function before calling any cvmx-helper operations.
90 */
91extern void (*cvmx_override_ipd_port_setup) (int ipd_port);
92
93/**
94 * This function enables the IPD and also enables the packet interfaces.
95 * The packet interfaces (RGMII and SPI) must be enabled after the
96 * IPD. This should be called by the user program after any additional
97 * IPD configuration changes are made if CVMX_HELPER_ENABLE_IPD
98 * is not set in the executive-config.h file.
99 *
100 * Returns 0 on success
101 * -1 on failure
102 */
103extern int cvmx_helper_ipd_and_packet_input_enable(void);
104
105/**
106 * Initialize the PIP, IPD, and PKO hardware to support
107 * simple priority based queues for the ethernet ports. Each
108 * port is configured with a number of priority queues based
109 * on CVMX_PKO_QUEUES_PER_PORT_* where each queue is lower
110 * priority than the previous.
111 *
112 * Returns Zero on success, non-zero on failure
113 */
114extern int cvmx_helper_initialize_packet_io_global(void);
115
116/**
117 * Does core local initialization for packet io
118 *
119 * Returns Zero on success, non-zero on failure
120 */
121extern int cvmx_helper_initialize_packet_io_local(void);
122
123/**
124 * Returns the number of ports on the given interface.
125 * The interface must be initialized before the port count
126 * can be returned.
127 *
128 * @interface: Which interface to return port count for.
129 *
130 * Returns Port count for interface
131 * -1 for uninitialized interface
132 */
133extern int cvmx_helper_ports_on_interface(int interface);
134
135/**
136 * Return the number of interfaces the chip has. Each interface
137 * may have multiple ports. Most chips support two interfaces,
138 * but the CNX0XX and CNX1XX are exceptions. These only support
139 * one interface.
140 *
141 * Returns Number of interfaces on chip
142 */
143extern int cvmx_helper_get_number_of_interfaces(void);
144
145/**
146 * Get the operating mode of an interface. Depending on the Octeon
147 * chip and configuration, this function returns an enumeration
148 * of the type of packet I/O supported by an interface.
149 *
150 * @interface: Interface to probe
151 *
152 * Returns Mode of the interface. Unknown or unsupported interfaces return
153 * DISABLED.
154 */
155extern cvmx_helper_interface_mode_t cvmx_helper_interface_get_mode(int
156 interface);
157
158/**
159 * Auto configure an IPD/PKO port link state and speed. This
160 * function basically does the equivalent of:
161 * cvmx_helper_link_set(ipd_port, cvmx_helper_link_get(ipd_port));
162 *
163 * @ipd_port: IPD/PKO port to auto configure
164 *
165 * Returns Link state after configure
166 */
167extern cvmx_helper_link_info_t cvmx_helper_link_autoconf(int ipd_port);
168
169/**
170 * Return the link state of an IPD/PKO port as returned by
171 * auto negotiation. The result of this function may not match
172 * Octeon's link config if auto negotiation has changed since
173 * the last call to cvmx_helper_link_set().
174 *
175 * @ipd_port: IPD/PKO port to query
176 *
177 * Returns Link state
178 */
179extern cvmx_helper_link_info_t cvmx_helper_link_get(int ipd_port);
180
181/**
182 * Configure an IPD/PKO port for the specified link state. This
183 * function does not influence auto negotiation at the PHY level.
184 * The passed link state must always match the link state returned
185 * by cvmx_helper_link_get(). It is normally best to use
186 * cvmx_helper_link_autoconf() instead.
187 *
188 * @ipd_port: IPD/PKO port to configure
189 * @link_info: The new link state
190 *
191 * Returns Zero on success, negative on failure
192 */
193extern int cvmx_helper_link_set(int ipd_port,
194 cvmx_helper_link_info_t link_info);
195
196/**
197 * This function probes an interface to determine the actual
198 * number of hardware ports connected to it. It doesn't setup the
199 * ports or enable them. The main goal here is to set the global
200 * interface_port_count[interface] correctly. Hardware setup of the
201 * ports will be performed later.
202 *
203 * @interface: Interface to probe
204 *
205 * Returns Zero on success, negative on failure
206 */
207extern int cvmx_helper_interface_probe(int interface);
208extern int cvmx_helper_interface_enumerate(int interface);
209
210/**
211 * Configure a port for internal and/or external loopback. Internal loopback
212 * causes packets sent by the port to be received by Octeon. External loopback
213 * causes packets received from the wire to sent out again.
214 *
215 * @ipd_port: IPD/PKO port to loopback.
216 * @enable_internal:
217 * Non zero if you want internal loopback
218 * @enable_external:
219 * Non zero if you want external loopback
220 *
221 * Returns Zero on success, negative on failure.
222 */
223extern int cvmx_helper_configure_loopback(int ipd_port, int enable_internal,
224 int enable_external);
225
226#endif /* __CVMX_HELPER_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-iob-defs.h b/arch/mips/include/asm/octeon/cvmx-iob-defs.h
index 7936f816e93..d7d856c2483 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,86 +51,10 @@
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))
65 54
66union cvmx_iob_bist_status { 55union cvmx_iob_bist_status {
67 uint64_t u64; 56 uint64_t u64;
68 struct cvmx_iob_bist_status_s { 57 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
134 uint64_t reserved_23_63:41; 58 uint64_t reserved_23_63:41;
135 uint64_t xmdfif:1; 59 uint64_t xmdfif:1;
136 uint64_t xmcfif:1; 60 uint64_t xmcfif:1;
@@ -155,48 +79,16 @@ union cvmx_iob_bist_status {
155 uint64_t icrp1:1; 79 uint64_t icrp1:1;
156 uint64_t ibd:1; 80 uint64_t ibd:1;
157 uint64_t icd:1; 81 uint64_t icd:1;
158#else 82 } s;
159 uint64_t icd:1; 83 struct cvmx_iob_bist_status_cn30xx {
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
190 uint64_t reserved_18_63:46; 84 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;
196 uint64_t icnrcb:1; 85 uint64_t icnrcb:1;
197 uint64_t icr0:1; 86 uint64_t icr0:1;
198 uint64_t icr1:1; 87 uint64_t icr1:1;
88 uint64_t icnr1:1;
199 uint64_t icnr0:1; 89 uint64_t icnr0:1;
90 uint64_t ibdr0:1;
91 uint64_t ibdr1:1;
200 uint64_t ibr0:1; 92 uint64_t ibr0:1;
201 uint64_t ibr1:1; 93 uint64_t ibr1:1;
202 uint64_t icnrt:1; 94 uint64_t icnrt:1;
@@ -204,82 +96,50 @@ union cvmx_iob_bist_status {
204 uint64_t ibrq1:1; 96 uint64_t ibrq1:1;
205 uint64_t icrn0:1; 97 uint64_t icrn0:1;
206 uint64_t icrn1:1; 98 uint64_t icrn1:1;
99 uint64_t icrp0:1;
100 uint64_t icrp1:1;
207 uint64_t ibd:1; 101 uint64_t ibd:1;
208 uint64_t icd:1; 102 uint64_t icd:1;
209#else 103 } cn30xx;
210 uint64_t icd:1; 104 struct cvmx_iob_bist_status_cn30xx cn31xx;
211 uint64_t ibd:1; 105 struct cvmx_iob_bist_status_cn30xx cn38xx;
212 uint64_t icrn1:1; 106 struct cvmx_iob_bist_status_cn30xx cn38xxp2;
213 uint64_t icrn0:1; 107 struct cvmx_iob_bist_status_cn30xx cn50xx;
214 uint64_t ibrq1:1; 108 struct cvmx_iob_bist_status_cn30xx cn52xx;
215 uint64_t ibrq0:1; 109 struct cvmx_iob_bist_status_cn30xx cn52xxp1;
216 uint64_t icnrt:1; 110 struct cvmx_iob_bist_status_cn30xx cn56xx;
217 uint64_t ibr1:1; 111 struct cvmx_iob_bist_status_cn30xx cn56xxp1;
218 uint64_t ibr0:1; 112 struct cvmx_iob_bist_status_cn30xx cn58xx;
219 uint64_t icnr0:1; 113 struct cvmx_iob_bist_status_cn30xx cn58xxp1;
220 uint64_t icr1:1; 114 struct cvmx_iob_bist_status_s cn63xx;
221 uint64_t icr0:1; 115 struct cvmx_iob_bist_status_s cn63xxp1;
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;
233}; 116};
234 117
235union cvmx_iob_ctl_status { 118union cvmx_iob_ctl_status {
236 uint64_t u64; 119 uint64_t u64;
237 struct cvmx_iob_ctl_status_s { 120 struct cvmx_iob_ctl_status_s {
238#ifdef __BIG_ENDIAN_BITFIELD 121 uint64_t reserved_10_63:54;
239 uint64_t reserved_11_63:53;
240 uint64_t fif_dly:1;
241 uint64_t xmc_per:4; 122 uint64_t xmc_per:4;
242 uint64_t reserved_5_5:1; 123 uint64_t rr_mode:1;
243 uint64_t outb_mat:1; 124 uint64_t outb_mat:1;
244 uint64_t inb_mat:1; 125 uint64_t inb_mat:1;
245 uint64_t pko_enb:1; 126 uint64_t pko_enb:1;
246 uint64_t dwb_enb:1; 127 uint64_t dwb_enb:1;
247 uint64_t fau_end:1; 128 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
259 } s; 129 } s;
260 struct cvmx_iob_ctl_status_cn30xx { 130 struct cvmx_iob_ctl_status_cn30xx {
261#ifdef __BIG_ENDIAN_BITFIELD
262 uint64_t reserved_5_63:59; 131 uint64_t reserved_5_63:59;
263 uint64_t outb_mat:1; 132 uint64_t outb_mat:1;
264 uint64_t inb_mat:1; 133 uint64_t inb_mat:1;
265 uint64_t pko_enb:1; 134 uint64_t pko_enb:1;
266 uint64_t dwb_enb:1; 135 uint64_t dwb_enb:1;
267 uint64_t fau_end:1; 136 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
276 } cn30xx; 137 } cn30xx;
277 struct cvmx_iob_ctl_status_cn30xx cn31xx; 138 struct cvmx_iob_ctl_status_cn30xx cn31xx;
278 struct cvmx_iob_ctl_status_cn30xx cn38xx; 139 struct cvmx_iob_ctl_status_cn30xx cn38xx;
279 struct cvmx_iob_ctl_status_cn30xx cn38xxp2; 140 struct cvmx_iob_ctl_status_cn30xx cn38xxp2;
280 struct cvmx_iob_ctl_status_cn30xx cn50xx; 141 struct cvmx_iob_ctl_status_cn30xx cn50xx;
281 struct cvmx_iob_ctl_status_cn52xx { 142 struct cvmx_iob_ctl_status_cn52xx {
282#ifdef __BIG_ENDIAN_BITFIELD
283 uint64_t reserved_6_63:58; 143 uint64_t reserved_6_63:58;
284 uint64_t rr_mode:1; 144 uint64_t rr_mode:1;
285 uint64_t outb_mat:1; 145 uint64_t outb_mat:1;
@@ -287,106 +147,22 @@ union cvmx_iob_ctl_status {
287 uint64_t pko_enb:1; 147 uint64_t pko_enb:1;
288 uint64_t dwb_enb:1; 148 uint64_t dwb_enb:1;
289 uint64_t fau_end:1; 149 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
299 } cn52xx; 150 } cn52xx;
300 struct cvmx_iob_ctl_status_cn30xx cn52xxp1; 151 struct cvmx_iob_ctl_status_cn30xx cn52xxp1;
301 struct cvmx_iob_ctl_status_cn30xx cn56xx; 152 struct cvmx_iob_ctl_status_cn30xx cn56xx;
302 struct cvmx_iob_ctl_status_cn30xx cn56xxp1; 153 struct cvmx_iob_ctl_status_cn30xx cn56xxp1;
303 struct cvmx_iob_ctl_status_cn30xx cn58xx; 154 struct cvmx_iob_ctl_status_cn30xx cn58xx;
304 struct cvmx_iob_ctl_status_cn30xx cn58xxp1; 155 struct cvmx_iob_ctl_status_cn30xx cn58xxp1;
305 struct cvmx_iob_ctl_status_cn61xx { 156 struct cvmx_iob_ctl_status_s cn63xx;
306#ifdef __BIG_ENDIAN_BITFIELD 157 struct cvmx_iob_ctl_status_s cn63xxp1;
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;
376}; 158};
377 159
378union cvmx_iob_dwb_pri_cnt { 160union cvmx_iob_dwb_pri_cnt {
379 uint64_t u64; 161 uint64_t u64;
380 struct cvmx_iob_dwb_pri_cnt_s { 162 struct cvmx_iob_dwb_pri_cnt_s {
381#ifdef __BIG_ENDIAN_BITFIELD
382 uint64_t reserved_16_63:48; 163 uint64_t reserved_16_63:48;
383 uint64_t cnt_enb:1; 164 uint64_t cnt_enb:1;
384 uint64_t cnt_val:15; 165 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
390 } s; 166 } s;
391 struct cvmx_iob_dwb_pri_cnt_s cn38xx; 167 struct cvmx_iob_dwb_pri_cnt_s cn38xx;
392 struct cvmx_iob_dwb_pri_cnt_s cn38xxp2; 168 struct cvmx_iob_dwb_pri_cnt_s cn38xxp2;
@@ -396,25 +172,16 @@ union cvmx_iob_dwb_pri_cnt {
396 struct cvmx_iob_dwb_pri_cnt_s cn56xxp1; 172 struct cvmx_iob_dwb_pri_cnt_s cn56xxp1;
397 struct cvmx_iob_dwb_pri_cnt_s cn58xx; 173 struct cvmx_iob_dwb_pri_cnt_s cn58xx;
398 struct cvmx_iob_dwb_pri_cnt_s cn58xxp1; 174 struct cvmx_iob_dwb_pri_cnt_s cn58xxp1;
399 struct cvmx_iob_dwb_pri_cnt_s cn61xx;
400 struct cvmx_iob_dwb_pri_cnt_s cn63xx; 175 struct cvmx_iob_dwb_pri_cnt_s cn63xx;
401 struct cvmx_iob_dwb_pri_cnt_s cn63xxp1; 176 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;
404}; 177};
405 178
406union cvmx_iob_fau_timeout { 179union cvmx_iob_fau_timeout {
407 uint64_t u64; 180 uint64_t u64;
408 struct cvmx_iob_fau_timeout_s { 181 struct cvmx_iob_fau_timeout_s {
409#ifdef __BIG_ENDIAN_BITFIELD
410 uint64_t reserved_13_63:51; 182 uint64_t reserved_13_63:51;
411 uint64_t tout_enb:1; 183 uint64_t tout_enb:1;
412 uint64_t tout_val:12; 184 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
418 } s; 185 } s;
419 struct cvmx_iob_fau_timeout_s cn30xx; 186 struct cvmx_iob_fau_timeout_s cn30xx;
420 struct cvmx_iob_fau_timeout_s cn31xx; 187 struct cvmx_iob_fau_timeout_s cn31xx;
@@ -427,27 +194,16 @@ union cvmx_iob_fau_timeout {
427 struct cvmx_iob_fau_timeout_s cn56xxp1; 194 struct cvmx_iob_fau_timeout_s cn56xxp1;
428 struct cvmx_iob_fau_timeout_s cn58xx; 195 struct cvmx_iob_fau_timeout_s cn58xx;
429 struct cvmx_iob_fau_timeout_s cn58xxp1; 196 struct cvmx_iob_fau_timeout_s cn58xxp1;
430 struct cvmx_iob_fau_timeout_s cn61xx;
431 struct cvmx_iob_fau_timeout_s cn63xx; 197 struct cvmx_iob_fau_timeout_s cn63xx;
432 struct cvmx_iob_fau_timeout_s cn63xxp1; 198 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;
437}; 199};
438 200
439union cvmx_iob_i2c_pri_cnt { 201union cvmx_iob_i2c_pri_cnt {
440 uint64_t u64; 202 uint64_t u64;
441 struct cvmx_iob_i2c_pri_cnt_s { 203 struct cvmx_iob_i2c_pri_cnt_s {
442#ifdef __BIG_ENDIAN_BITFIELD
443 uint64_t reserved_16_63:48; 204 uint64_t reserved_16_63:48;
444 uint64_t cnt_enb:1; 205 uint64_t cnt_enb:1;
445 uint64_t cnt_val:15; 206 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
451 } s; 207 } s;
452 struct cvmx_iob_i2c_pri_cnt_s cn38xx; 208 struct cvmx_iob_i2c_pri_cnt_s cn38xx;
453 struct cvmx_iob_i2c_pri_cnt_s cn38xxp2; 209 struct cvmx_iob_i2c_pri_cnt_s cn38xxp2;
@@ -457,29 +213,18 @@ union cvmx_iob_i2c_pri_cnt {
457 struct cvmx_iob_i2c_pri_cnt_s cn56xxp1; 213 struct cvmx_iob_i2c_pri_cnt_s cn56xxp1;
458 struct cvmx_iob_i2c_pri_cnt_s cn58xx; 214 struct cvmx_iob_i2c_pri_cnt_s cn58xx;
459 struct cvmx_iob_i2c_pri_cnt_s cn58xxp1; 215 struct cvmx_iob_i2c_pri_cnt_s cn58xxp1;
460 struct cvmx_iob_i2c_pri_cnt_s cn61xx;
461 struct cvmx_iob_i2c_pri_cnt_s cn63xx; 216 struct cvmx_iob_i2c_pri_cnt_s cn63xx;
462 struct cvmx_iob_i2c_pri_cnt_s cn63xxp1; 217 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;
465}; 218};
466 219
467union cvmx_iob_inb_control_match { 220union cvmx_iob_inb_control_match {
468 uint64_t u64; 221 uint64_t u64;
469 struct cvmx_iob_inb_control_match_s { 222 struct cvmx_iob_inb_control_match_s {
470#ifdef __BIG_ENDIAN_BITFIELD
471 uint64_t reserved_29_63:35; 223 uint64_t reserved_29_63:35;
472 uint64_t mask:8; 224 uint64_t mask:8;
473 uint64_t opc:4; 225 uint64_t opc:4;
474 uint64_t dst:9; 226 uint64_t dst:9;
475 uint64_t src:8; 227 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
483 } s; 228 } s;
484 struct cvmx_iob_inb_control_match_s cn30xx; 229 struct cvmx_iob_inb_control_match_s cn30xx;
485 struct cvmx_iob_inb_control_match_s cn31xx; 230 struct cvmx_iob_inb_control_match_s cn31xx;
@@ -492,31 +237,18 @@ union cvmx_iob_inb_control_match {
492 struct cvmx_iob_inb_control_match_s cn56xxp1; 237 struct cvmx_iob_inb_control_match_s cn56xxp1;
493 struct cvmx_iob_inb_control_match_s cn58xx; 238 struct cvmx_iob_inb_control_match_s cn58xx;
494 struct cvmx_iob_inb_control_match_s cn58xxp1; 239 struct cvmx_iob_inb_control_match_s cn58xxp1;
495 struct cvmx_iob_inb_control_match_s cn61xx;
496 struct cvmx_iob_inb_control_match_s cn63xx; 240 struct cvmx_iob_inb_control_match_s cn63xx;
497 struct cvmx_iob_inb_control_match_s cn63xxp1; 241 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;
502}; 242};
503 243
504union cvmx_iob_inb_control_match_enb { 244union cvmx_iob_inb_control_match_enb {
505 uint64_t u64; 245 uint64_t u64;
506 struct cvmx_iob_inb_control_match_enb_s { 246 struct cvmx_iob_inb_control_match_enb_s {
507#ifdef __BIG_ENDIAN_BITFIELD
508 uint64_t reserved_29_63:35; 247 uint64_t reserved_29_63:35;
509 uint64_t mask:8; 248 uint64_t mask:8;
510 uint64_t opc:4; 249 uint64_t opc:4;
511 uint64_t dst:9; 250 uint64_t dst:9;
512 uint64_t src:8; 251 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
520 } s; 252 } s;
521 struct cvmx_iob_inb_control_match_enb_s cn30xx; 253 struct cvmx_iob_inb_control_match_enb_s cn30xx;
522 struct cvmx_iob_inb_control_match_enb_s cn31xx; 254 struct cvmx_iob_inb_control_match_enb_s cn31xx;
@@ -529,23 +261,14 @@ union cvmx_iob_inb_control_match_enb {
529 struct cvmx_iob_inb_control_match_enb_s cn56xxp1; 261 struct cvmx_iob_inb_control_match_enb_s cn56xxp1;
530 struct cvmx_iob_inb_control_match_enb_s cn58xx; 262 struct cvmx_iob_inb_control_match_enb_s cn58xx;
531 struct cvmx_iob_inb_control_match_enb_s cn58xxp1; 263 struct cvmx_iob_inb_control_match_enb_s cn58xxp1;
532 struct cvmx_iob_inb_control_match_enb_s cn61xx;
533 struct cvmx_iob_inb_control_match_enb_s cn63xx; 264 struct cvmx_iob_inb_control_match_enb_s cn63xx;
534 struct cvmx_iob_inb_control_match_enb_s cn63xxp1; 265 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;
539}; 266};
540 267
541union cvmx_iob_inb_data_match { 268union cvmx_iob_inb_data_match {
542 uint64_t u64; 269 uint64_t u64;
543 struct cvmx_iob_inb_data_match_s { 270 struct cvmx_iob_inb_data_match_s {
544#ifdef __BIG_ENDIAN_BITFIELD
545 uint64_t data:64;
546#else
547 uint64_t data:64; 271 uint64_t data:64;
548#endif
549 } s; 272 } s;
550 struct cvmx_iob_inb_data_match_s cn30xx; 273 struct cvmx_iob_inb_data_match_s cn30xx;
551 struct cvmx_iob_inb_data_match_s cn31xx; 274 struct cvmx_iob_inb_data_match_s cn31xx;
@@ -558,23 +281,14 @@ union cvmx_iob_inb_data_match {
558 struct cvmx_iob_inb_data_match_s cn56xxp1; 281 struct cvmx_iob_inb_data_match_s cn56xxp1;
559 struct cvmx_iob_inb_data_match_s cn58xx; 282 struct cvmx_iob_inb_data_match_s cn58xx;
560 struct cvmx_iob_inb_data_match_s cn58xxp1; 283 struct cvmx_iob_inb_data_match_s cn58xxp1;
561 struct cvmx_iob_inb_data_match_s cn61xx;
562 struct cvmx_iob_inb_data_match_s cn63xx; 284 struct cvmx_iob_inb_data_match_s cn63xx;
563 struct cvmx_iob_inb_data_match_s cn63xxp1; 285 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;
568}; 286};
569 287
570union cvmx_iob_inb_data_match_enb { 288union cvmx_iob_inb_data_match_enb {
571 uint64_t u64; 289 uint64_t u64;
572 struct cvmx_iob_inb_data_match_enb_s { 290 struct cvmx_iob_inb_data_match_enb_s {
573#ifdef __BIG_ENDIAN_BITFIELD
574 uint64_t data:64; 291 uint64_t data:64;
575#else
576 uint64_t data:64;
577#endif
578 } s; 292 } s;
579 struct cvmx_iob_inb_data_match_enb_s cn30xx; 293 struct cvmx_iob_inb_data_match_enb_s cn30xx;
580 struct cvmx_iob_inb_data_match_enb_s cn31xx; 294 struct cvmx_iob_inb_data_match_enb_s cn31xx;
@@ -587,19 +301,13 @@ union cvmx_iob_inb_data_match_enb {
587 struct cvmx_iob_inb_data_match_enb_s cn56xxp1; 301 struct cvmx_iob_inb_data_match_enb_s cn56xxp1;
588 struct cvmx_iob_inb_data_match_enb_s cn58xx; 302 struct cvmx_iob_inb_data_match_enb_s cn58xx;
589 struct cvmx_iob_inb_data_match_enb_s cn58xxp1; 303 struct cvmx_iob_inb_data_match_enb_s cn58xxp1;
590 struct cvmx_iob_inb_data_match_enb_s cn61xx;
591 struct cvmx_iob_inb_data_match_enb_s cn63xx; 304 struct cvmx_iob_inb_data_match_enb_s cn63xx;
592 struct cvmx_iob_inb_data_match_enb_s cn63xxp1; 305 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;
597}; 306};
598 307
599union cvmx_iob_int_enb { 308union cvmx_iob_int_enb {
600 uint64_t u64; 309 uint64_t u64;
601 struct cvmx_iob_int_enb_s { 310 struct cvmx_iob_int_enb_s {
602#ifdef __BIG_ENDIAN_BITFIELD
603 uint64_t reserved_6_63:58; 311 uint64_t reserved_6_63:58;
604 uint64_t p_dat:1; 312 uint64_t p_dat:1;
605 uint64_t np_dat:1; 313 uint64_t np_dat:1;
@@ -607,30 +315,13 @@ union cvmx_iob_int_enb {
607 uint64_t p_sop:1; 315 uint64_t p_sop:1;
608 uint64_t np_eop:1; 316 uint64_t np_eop:1;
609 uint64_t np_sop:1; 317 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
619 } s; 318 } s;
620 struct cvmx_iob_int_enb_cn30xx { 319 struct cvmx_iob_int_enb_cn30xx {
621#ifdef __BIG_ENDIAN_BITFIELD
622 uint64_t reserved_4_63:60; 320 uint64_t reserved_4_63:60;
623 uint64_t p_eop:1; 321 uint64_t p_eop:1;
624 uint64_t p_sop:1; 322 uint64_t p_sop:1;
625 uint64_t np_eop:1; 323 uint64_t np_eop:1;
626 uint64_t np_sop:1; 324 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
634 } cn30xx; 325 } cn30xx;
635 struct cvmx_iob_int_enb_cn30xx cn31xx; 326 struct cvmx_iob_int_enb_cn30xx cn31xx;
636 struct cvmx_iob_int_enb_cn30xx cn38xx; 327 struct cvmx_iob_int_enb_cn30xx cn38xx;
@@ -642,25 +333,13 @@ union cvmx_iob_int_enb {
642 struct cvmx_iob_int_enb_s cn56xxp1; 333 struct cvmx_iob_int_enb_s cn56xxp1;
643 struct cvmx_iob_int_enb_s cn58xx; 334 struct cvmx_iob_int_enb_s cn58xx;
644 struct cvmx_iob_int_enb_s cn58xxp1; 335 struct cvmx_iob_int_enb_s cn58xxp1;
645 struct cvmx_iob_int_enb_s cn61xx;
646 struct cvmx_iob_int_enb_s cn63xx; 336 struct cvmx_iob_int_enb_s cn63xx;
647 struct cvmx_iob_int_enb_s cn63xxp1; 337 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;
658}; 338};
659 339
660union cvmx_iob_int_sum { 340union cvmx_iob_int_sum {
661 uint64_t u64; 341 uint64_t u64;
662 struct cvmx_iob_int_sum_s { 342 struct cvmx_iob_int_sum_s {
663#ifdef __BIG_ENDIAN_BITFIELD
664 uint64_t reserved_6_63:58; 343 uint64_t reserved_6_63:58;
665 uint64_t p_dat:1; 344 uint64_t p_dat:1;
666 uint64_t np_dat:1; 345 uint64_t np_dat:1;
@@ -668,30 +347,13 @@ union cvmx_iob_int_sum {
668 uint64_t p_sop:1; 347 uint64_t p_sop:1;
669 uint64_t np_eop:1; 348 uint64_t np_eop:1;
670 uint64_t np_sop:1; 349 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
680 } s; 350 } s;
681 struct cvmx_iob_int_sum_cn30xx { 351 struct cvmx_iob_int_sum_cn30xx {
682#ifdef __BIG_ENDIAN_BITFIELD
683 uint64_t reserved_4_63:60; 352 uint64_t reserved_4_63:60;
684 uint64_t p_eop:1; 353 uint64_t p_eop:1;
685 uint64_t p_sop:1; 354 uint64_t p_sop:1;
686 uint64_t np_eop:1; 355 uint64_t np_eop:1;
687 uint64_t np_sop:1; 356 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
695 } cn30xx; 357 } cn30xx;
696 struct cvmx_iob_int_sum_cn30xx cn31xx; 358 struct cvmx_iob_int_sum_cn30xx cn31xx;
697 struct cvmx_iob_int_sum_cn30xx cn38xx; 359 struct cvmx_iob_int_sum_cn30xx cn38xx;
@@ -703,33 +365,16 @@ union cvmx_iob_int_sum {
703 struct cvmx_iob_int_sum_s cn56xxp1; 365 struct cvmx_iob_int_sum_s cn56xxp1;
704 struct cvmx_iob_int_sum_s cn58xx; 366 struct cvmx_iob_int_sum_s cn58xx;
705 struct cvmx_iob_int_sum_s cn58xxp1; 367 struct cvmx_iob_int_sum_s cn58xxp1;
706 struct cvmx_iob_int_sum_s cn61xx;
707 struct cvmx_iob_int_sum_s cn63xx; 368 struct cvmx_iob_int_sum_s cn63xx;
708 struct cvmx_iob_int_sum_s cn63xxp1; 369 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;
719}; 370};
720 371
721union cvmx_iob_n2c_l2c_pri_cnt { 372union cvmx_iob_n2c_l2c_pri_cnt {
722 uint64_t u64; 373 uint64_t u64;
723 struct cvmx_iob_n2c_l2c_pri_cnt_s { 374 struct cvmx_iob_n2c_l2c_pri_cnt_s {
724#ifdef __BIG_ENDIAN_BITFIELD
725 uint64_t reserved_16_63:48; 375 uint64_t reserved_16_63:48;
726 uint64_t cnt_enb:1; 376 uint64_t cnt_enb:1;
727 uint64_t cnt_val:15; 377 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
733 } s; 378 } s;
734 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx; 379 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx;
735 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2; 380 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2;
@@ -739,25 +384,16 @@ union cvmx_iob_n2c_l2c_pri_cnt {
739 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1; 384 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1;
740 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx; 385 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx;
741 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1; 386 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1;
742 struct cvmx_iob_n2c_l2c_pri_cnt_s cn61xx;
743 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xx; 387 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xx;
744 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xxp1; 388 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;
747}; 389};
748 390
749union cvmx_iob_n2c_rsp_pri_cnt { 391union cvmx_iob_n2c_rsp_pri_cnt {
750 uint64_t u64; 392 uint64_t u64;
751 struct cvmx_iob_n2c_rsp_pri_cnt_s { 393 struct cvmx_iob_n2c_rsp_pri_cnt_s {
752#ifdef __BIG_ENDIAN_BITFIELD
753 uint64_t reserved_16_63:48; 394 uint64_t reserved_16_63:48;
754 uint64_t cnt_enb:1; 395 uint64_t cnt_enb:1;
755 uint64_t cnt_val:15; 396 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
761 } s; 397 } s;
762 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx; 398 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx;
763 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2; 399 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2;
@@ -767,25 +403,16 @@ union cvmx_iob_n2c_rsp_pri_cnt {
767 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1; 403 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1;
768 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx; 404 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx;
769 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1; 405 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1;
770 struct cvmx_iob_n2c_rsp_pri_cnt_s cn61xx;
771 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xx; 406 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xx;
772 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xxp1; 407 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;
775}; 408};
776 409
777union cvmx_iob_outb_com_pri_cnt { 410union cvmx_iob_outb_com_pri_cnt {
778 uint64_t u64; 411 uint64_t u64;
779 struct cvmx_iob_outb_com_pri_cnt_s { 412 struct cvmx_iob_outb_com_pri_cnt_s {
780#ifdef __BIG_ENDIAN_BITFIELD
781 uint64_t reserved_16_63:48; 413 uint64_t reserved_16_63:48;
782 uint64_t cnt_enb:1; 414 uint64_t cnt_enb:1;
783 uint64_t cnt_val:15; 415 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
789 } s; 416 } s;
790 struct cvmx_iob_outb_com_pri_cnt_s cn38xx; 417 struct cvmx_iob_outb_com_pri_cnt_s cn38xx;
791 struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2; 418 struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2;
@@ -795,31 +422,18 @@ union cvmx_iob_outb_com_pri_cnt {
795 struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1; 422 struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1;
796 struct cvmx_iob_outb_com_pri_cnt_s cn58xx; 423 struct cvmx_iob_outb_com_pri_cnt_s cn58xx;
797 struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1; 424 struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1;
798 struct cvmx_iob_outb_com_pri_cnt_s cn61xx;
799 struct cvmx_iob_outb_com_pri_cnt_s cn63xx; 425 struct cvmx_iob_outb_com_pri_cnt_s cn63xx;
800 struct cvmx_iob_outb_com_pri_cnt_s cn63xxp1; 426 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;
805}; 427};
806 428
807union cvmx_iob_outb_control_match { 429union cvmx_iob_outb_control_match {
808 uint64_t u64; 430 uint64_t u64;
809 struct cvmx_iob_outb_control_match_s { 431 struct cvmx_iob_outb_control_match_s {
810#ifdef __BIG_ENDIAN_BITFIELD
811 uint64_t reserved_26_63:38; 432 uint64_t reserved_26_63:38;
812 uint64_t mask:8; 433 uint64_t mask:8;
813 uint64_t eot:1; 434 uint64_t eot:1;
814 uint64_t dst:8; 435 uint64_t dst:8;
815 uint64_t src:9; 436 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
823 } s; 437 } s;
824 struct cvmx_iob_outb_control_match_s cn30xx; 438 struct cvmx_iob_outb_control_match_s cn30xx;
825 struct cvmx_iob_outb_control_match_s cn31xx; 439 struct cvmx_iob_outb_control_match_s cn31xx;
@@ -832,31 +446,18 @@ union cvmx_iob_outb_control_match {
832 struct cvmx_iob_outb_control_match_s cn56xxp1; 446 struct cvmx_iob_outb_control_match_s cn56xxp1;
833 struct cvmx_iob_outb_control_match_s cn58xx; 447 struct cvmx_iob_outb_control_match_s cn58xx;
834 struct cvmx_iob_outb_control_match_s cn58xxp1; 448 struct cvmx_iob_outb_control_match_s cn58xxp1;
835 struct cvmx_iob_outb_control_match_s cn61xx;
836 struct cvmx_iob_outb_control_match_s cn63xx; 449 struct cvmx_iob_outb_control_match_s cn63xx;
837 struct cvmx_iob_outb_control_match_s cn63xxp1; 450 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;
842}; 451};
843 452
844union cvmx_iob_outb_control_match_enb { 453union cvmx_iob_outb_control_match_enb {
845 uint64_t u64; 454 uint64_t u64;
846 struct cvmx_iob_outb_control_match_enb_s { 455 struct cvmx_iob_outb_control_match_enb_s {
847#ifdef __BIG_ENDIAN_BITFIELD
848 uint64_t reserved_26_63:38; 456 uint64_t reserved_26_63:38;
849 uint64_t mask:8; 457 uint64_t mask:8;
850 uint64_t eot:1; 458 uint64_t eot:1;
851 uint64_t dst:8; 459 uint64_t dst:8;
852 uint64_t src:9; 460 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
860 } s; 461 } s;
861 struct cvmx_iob_outb_control_match_enb_s cn30xx; 462 struct cvmx_iob_outb_control_match_enb_s cn30xx;
862 struct cvmx_iob_outb_control_match_enb_s cn31xx; 463 struct cvmx_iob_outb_control_match_enb_s cn31xx;
@@ -869,23 +470,14 @@ union cvmx_iob_outb_control_match_enb {
869 struct cvmx_iob_outb_control_match_enb_s cn56xxp1; 470 struct cvmx_iob_outb_control_match_enb_s cn56xxp1;
870 struct cvmx_iob_outb_control_match_enb_s cn58xx; 471 struct cvmx_iob_outb_control_match_enb_s cn58xx;
871 struct cvmx_iob_outb_control_match_enb_s cn58xxp1; 472 struct cvmx_iob_outb_control_match_enb_s cn58xxp1;
872 struct cvmx_iob_outb_control_match_enb_s cn61xx;
873 struct cvmx_iob_outb_control_match_enb_s cn63xx; 473 struct cvmx_iob_outb_control_match_enb_s cn63xx;
874 struct cvmx_iob_outb_control_match_enb_s cn63xxp1; 474 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;
879}; 475};
880 476
881union cvmx_iob_outb_data_match { 477union cvmx_iob_outb_data_match {
882 uint64_t u64; 478 uint64_t u64;
883 struct cvmx_iob_outb_data_match_s { 479 struct cvmx_iob_outb_data_match_s {
884#ifdef __BIG_ENDIAN_BITFIELD
885 uint64_t data:64; 480 uint64_t data:64;
886#else
887 uint64_t data:64;
888#endif
889 } s; 481 } s;
890 struct cvmx_iob_outb_data_match_s cn30xx; 482 struct cvmx_iob_outb_data_match_s cn30xx;
891 struct cvmx_iob_outb_data_match_s cn31xx; 483 struct cvmx_iob_outb_data_match_s cn31xx;
@@ -898,23 +490,14 @@ union cvmx_iob_outb_data_match {
898 struct cvmx_iob_outb_data_match_s cn56xxp1; 490 struct cvmx_iob_outb_data_match_s cn56xxp1;
899 struct cvmx_iob_outb_data_match_s cn58xx; 491 struct cvmx_iob_outb_data_match_s cn58xx;
900 struct cvmx_iob_outb_data_match_s cn58xxp1; 492 struct cvmx_iob_outb_data_match_s cn58xxp1;
901 struct cvmx_iob_outb_data_match_s cn61xx;
902 struct cvmx_iob_outb_data_match_s cn63xx; 493 struct cvmx_iob_outb_data_match_s cn63xx;
903 struct cvmx_iob_outb_data_match_s cn63xxp1; 494 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;
908}; 495};
909 496
910union cvmx_iob_outb_data_match_enb { 497union cvmx_iob_outb_data_match_enb {
911 uint64_t u64; 498 uint64_t u64;
912 struct cvmx_iob_outb_data_match_enb_s { 499 struct cvmx_iob_outb_data_match_enb_s {
913#ifdef __BIG_ENDIAN_BITFIELD
914 uint64_t data:64;
915#else
916 uint64_t data:64; 500 uint64_t data:64;
917#endif
918 } s; 501 } s;
919 struct cvmx_iob_outb_data_match_enb_s cn30xx; 502 struct cvmx_iob_outb_data_match_enb_s cn30xx;
920 struct cvmx_iob_outb_data_match_enb_s cn31xx; 503 struct cvmx_iob_outb_data_match_enb_s cn31xx;
@@ -927,27 +510,16 @@ union cvmx_iob_outb_data_match_enb {
927 struct cvmx_iob_outb_data_match_enb_s cn56xxp1; 510 struct cvmx_iob_outb_data_match_enb_s cn56xxp1;
928 struct cvmx_iob_outb_data_match_enb_s cn58xx; 511 struct cvmx_iob_outb_data_match_enb_s cn58xx;
929 struct cvmx_iob_outb_data_match_enb_s cn58xxp1; 512 struct cvmx_iob_outb_data_match_enb_s cn58xxp1;
930 struct cvmx_iob_outb_data_match_enb_s cn61xx;
931 struct cvmx_iob_outb_data_match_enb_s cn63xx; 513 struct cvmx_iob_outb_data_match_enb_s cn63xx;
932 struct cvmx_iob_outb_data_match_enb_s cn63xxp1; 514 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;
937}; 515};
938 516
939union cvmx_iob_outb_fpa_pri_cnt { 517union cvmx_iob_outb_fpa_pri_cnt {
940 uint64_t u64; 518 uint64_t u64;
941 struct cvmx_iob_outb_fpa_pri_cnt_s { 519 struct cvmx_iob_outb_fpa_pri_cnt_s {
942#ifdef __BIG_ENDIAN_BITFIELD
943 uint64_t reserved_16_63:48; 520 uint64_t reserved_16_63:48;
944 uint64_t cnt_enb:1; 521 uint64_t cnt_enb:1;
945 uint64_t cnt_val:15; 522 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
951 } s; 523 } s;
952 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx; 524 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx;
953 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2; 525 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2;
@@ -957,27 +529,16 @@ union cvmx_iob_outb_fpa_pri_cnt {
957 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1; 529 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1;
958 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx; 530 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx;
959 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1; 531 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1;
960 struct cvmx_iob_outb_fpa_pri_cnt_s cn61xx;
961 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xx; 532 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xx;
962 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xxp1; 533 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;
967}; 534};
968 535
969union cvmx_iob_outb_req_pri_cnt { 536union cvmx_iob_outb_req_pri_cnt {
970 uint64_t u64; 537 uint64_t u64;
971 struct cvmx_iob_outb_req_pri_cnt_s { 538 struct cvmx_iob_outb_req_pri_cnt_s {
972#ifdef __BIG_ENDIAN_BITFIELD
973 uint64_t reserved_16_63:48; 539 uint64_t reserved_16_63:48;
974 uint64_t cnt_enb:1; 540 uint64_t cnt_enb:1;
975 uint64_t cnt_val:15; 541 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
981 } s; 542 } s;
982 struct cvmx_iob_outb_req_pri_cnt_s cn38xx; 543 struct cvmx_iob_outb_req_pri_cnt_s cn38xx;
983 struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2; 544 struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2;
@@ -987,27 +548,16 @@ union cvmx_iob_outb_req_pri_cnt {
987 struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1; 548 struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1;
988 struct cvmx_iob_outb_req_pri_cnt_s cn58xx; 549 struct cvmx_iob_outb_req_pri_cnt_s cn58xx;
989 struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1; 550 struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1;
990 struct cvmx_iob_outb_req_pri_cnt_s cn61xx;
991 struct cvmx_iob_outb_req_pri_cnt_s cn63xx; 551 struct cvmx_iob_outb_req_pri_cnt_s cn63xx;
992 struct cvmx_iob_outb_req_pri_cnt_s cn63xxp1; 552 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;
997}; 553};
998 554
999union cvmx_iob_p2c_req_pri_cnt { 555union cvmx_iob_p2c_req_pri_cnt {
1000 uint64_t u64; 556 uint64_t u64;
1001 struct cvmx_iob_p2c_req_pri_cnt_s { 557 struct cvmx_iob_p2c_req_pri_cnt_s {
1002#ifdef __BIG_ENDIAN_BITFIELD
1003 uint64_t reserved_16_63:48; 558 uint64_t reserved_16_63:48;
1004 uint64_t cnt_enb:1; 559 uint64_t cnt_enb:1;
1005 uint64_t cnt_val:15; 560 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
1011 } s; 561 } s;
1012 struct cvmx_iob_p2c_req_pri_cnt_s cn38xx; 562 struct cvmx_iob_p2c_req_pri_cnt_s cn38xx;
1013 struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2; 563 struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2;
@@ -1017,34 +567,20 @@ union cvmx_iob_p2c_req_pri_cnt {
1017 struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1; 567 struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1;
1018 struct cvmx_iob_p2c_req_pri_cnt_s cn58xx; 568 struct cvmx_iob_p2c_req_pri_cnt_s cn58xx;
1019 struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1; 569 struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1;
1020 struct cvmx_iob_p2c_req_pri_cnt_s cn61xx;
1021 struct cvmx_iob_p2c_req_pri_cnt_s cn63xx; 570 struct cvmx_iob_p2c_req_pri_cnt_s cn63xx;
1022 struct cvmx_iob_p2c_req_pri_cnt_s cn63xxp1; 571 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;
1025}; 572};
1026 573
1027union cvmx_iob_pkt_err { 574union cvmx_iob_pkt_err {
1028 uint64_t u64; 575 uint64_t u64;
1029 struct cvmx_iob_pkt_err_s { 576 struct cvmx_iob_pkt_err_s {
1030#ifdef __BIG_ENDIAN_BITFIELD
1031 uint64_t reserved_12_63:52; 577 uint64_t reserved_12_63:52;
1032 uint64_t vport:6; 578 uint64_t vport:6;
1033 uint64_t port:6; 579 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
1039 } s; 580 } s;
1040 struct cvmx_iob_pkt_err_cn30xx { 581 struct cvmx_iob_pkt_err_cn30xx {
1041#ifdef __BIG_ENDIAN_BITFIELD
1042 uint64_t reserved_6_63:58; 582 uint64_t reserved_6_63:58;
1043 uint64_t port:6; 583 uint64_t port:6;
1044#else
1045 uint64_t port:6;
1046 uint64_t reserved_6_63:58;
1047#endif
1048 } cn30xx; 584 } cn30xx;
1049 struct cvmx_iob_pkt_err_cn30xx cn31xx; 585 struct cvmx_iob_pkt_err_cn30xx cn31xx;
1050 struct cvmx_iob_pkt_err_cn30xx cn38xx; 586 struct cvmx_iob_pkt_err_cn30xx cn38xx;
@@ -1056,223 +592,21 @@ union cvmx_iob_pkt_err {
1056 struct cvmx_iob_pkt_err_cn30xx cn56xxp1; 592 struct cvmx_iob_pkt_err_cn30xx cn56xxp1;
1057 struct cvmx_iob_pkt_err_cn30xx cn58xx; 593 struct cvmx_iob_pkt_err_cn30xx cn58xx;
1058 struct cvmx_iob_pkt_err_cn30xx cn58xxp1; 594 struct cvmx_iob_pkt_err_cn30xx cn58xxp1;
1059 struct cvmx_iob_pkt_err_s cn61xx;
1060 struct cvmx_iob_pkt_err_s cn63xx; 595 struct cvmx_iob_pkt_err_s cn63xx;
1061 struct cvmx_iob_pkt_err_s cn63xxp1; 596 struct cvmx_iob_pkt_err_s cn63xxp1;
1062 struct cvmx_iob_pkt_err_s cn66xx;
1063 struct cvmx_iob_pkt_err_s cnf71xx;
1064}; 597};
1065 598
1066union cvmx_iob_to_cmb_credits { 599union cvmx_iob_to_cmb_credits {
1067 uint64_t u64; 600 uint64_t u64;
1068 struct cvmx_iob_to_cmb_credits_s { 601 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
1081 uint64_t reserved_9_63:55; 602 uint64_t reserved_9_63:55;
1082 uint64_t pko_rd:3; 603 uint64_t pko_rd:3;
1083 uint64_t ncb_rd:3; 604 uint64_t ncb_rd:3;
1084 uint64_t ncb_wr:3; 605 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
1273 } s; 606 } s;
1274 struct cvmx_iob_to_ncb_did_98_credits_s cn68xx; 607 struct cvmx_iob_to_cmb_credits_s cn52xx;
1275 struct cvmx_iob_to_ncb_did_98_credits_s cn68xxp1; 608 struct cvmx_iob_to_cmb_credits_s cn63xx;
609 struct cvmx_iob_to_cmb_credits_s cn63xxp1;
1276}; 610};
1277 611
1278#endif 612#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-ipd-defs.h b/arch/mips/include/asm/octeon/cvmx-ipd-defs.h
index 1193f73bb74..e0a5bfe88d0 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,37 +32,23 @@
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)
37#define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull)) 35#define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull))
38#define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull)) 36#define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull))
39#define CVMX_IPD_CREDITS (CVMX_ADD_IO_SEG(0x00014F0000004410ull))
40#define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull)) 37#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))
45#define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull)) 38#define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull))
46#define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull)) 39#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))
49#define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull)) 40#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))
51#define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull)) 41#define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull))
52#define CVMX_IPD_PKT_ERR (CVMX_ADD_IO_SEG(0x00014F00000003F0ull))
53#define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull)) 42#define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull))
54#define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8) 43#define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8)
55#define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36) 44#define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36)
56#define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40) 45#define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40)
57#define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36) 46#define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36)
58#define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40) 47#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)
60#define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8) 48#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))
62#define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8) 49#define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8)
63#define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8) 50#define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8)
64#define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8) 51#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))
66#define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull)) 52#define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull))
67#define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull)) 53#define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull))
68#define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull)) 54#define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull))
@@ -77,8 +63,6 @@
77#define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7) 63#define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
78#define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8) 64#define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8)
79#define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull)) 65#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))
82#define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull)) 66#define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull))
83#define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull)) 67#define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull))
84#define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0) 68#define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
@@ -90,7 +74,6 @@
90#define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6) 74#define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
91#define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7) 75#define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
92#define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8) 76#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))
94#define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull)) 77#define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull))
95#define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull)) 78#define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull))
96#define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull)) 79#define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull))
@@ -100,13 +83,8 @@
100union cvmx_ipd_1st_mbuff_skip { 83union cvmx_ipd_1st_mbuff_skip {
101 uint64_t u64; 84 uint64_t u64;
102 struct cvmx_ipd_1st_mbuff_skip_s { 85 struct cvmx_ipd_1st_mbuff_skip_s {
103#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_6_63:58; 86 uint64_t reserved_6_63:58;
105 uint64_t skip_sz:6; 87 uint64_t skip_sz:6;
106#else
107 uint64_t skip_sz:6;
108 uint64_t reserved_6_63:58;
109#endif
110 } s; 88 } s;
111 struct cvmx_ipd_1st_mbuff_skip_s cn30xx; 89 struct cvmx_ipd_1st_mbuff_skip_s cn30xx;
112 struct cvmx_ipd_1st_mbuff_skip_s cn31xx; 90 struct cvmx_ipd_1st_mbuff_skip_s cn31xx;
@@ -119,25 +97,15 @@ union cvmx_ipd_1st_mbuff_skip {
119 struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1; 97 struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1;
120 struct cvmx_ipd_1st_mbuff_skip_s cn58xx; 98 struct cvmx_ipd_1st_mbuff_skip_s cn58xx;
121 struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1; 99 struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1;
122 struct cvmx_ipd_1st_mbuff_skip_s cn61xx;
123 struct cvmx_ipd_1st_mbuff_skip_s cn63xx; 100 struct cvmx_ipd_1st_mbuff_skip_s cn63xx;
124 struct cvmx_ipd_1st_mbuff_skip_s cn63xxp1; 101 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;
129}; 102};
130 103
131union cvmx_ipd_1st_next_ptr_back { 104union cvmx_ipd_1st_next_ptr_back {
132 uint64_t u64; 105 uint64_t u64;
133 struct cvmx_ipd_1st_next_ptr_back_s { 106 struct cvmx_ipd_1st_next_ptr_back_s {
134#ifdef __BIG_ENDIAN_BITFIELD
135 uint64_t reserved_4_63:60; 107 uint64_t reserved_4_63:60;
136 uint64_t back:4; 108 uint64_t back:4;
137#else
138 uint64_t back:4;
139 uint64_t reserved_4_63:60;
140#endif
141 } s; 109 } s;
142 struct cvmx_ipd_1st_next_ptr_back_s cn30xx; 110 struct cvmx_ipd_1st_next_ptr_back_s cn30xx;
143 struct cvmx_ipd_1st_next_ptr_back_s cn31xx; 111 struct cvmx_ipd_1st_next_ptr_back_s cn31xx;
@@ -150,25 +118,15 @@ union cvmx_ipd_1st_next_ptr_back {
150 struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1; 118 struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1;
151 struct cvmx_ipd_1st_next_ptr_back_s cn58xx; 119 struct cvmx_ipd_1st_next_ptr_back_s cn58xx;
152 struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1; 120 struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1;
153 struct cvmx_ipd_1st_next_ptr_back_s cn61xx;
154 struct cvmx_ipd_1st_next_ptr_back_s cn63xx; 121 struct cvmx_ipd_1st_next_ptr_back_s cn63xx;
155 struct cvmx_ipd_1st_next_ptr_back_s cn63xxp1; 122 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;
160}; 123};
161 124
162union cvmx_ipd_2nd_next_ptr_back { 125union cvmx_ipd_2nd_next_ptr_back {
163 uint64_t u64; 126 uint64_t u64;
164 struct cvmx_ipd_2nd_next_ptr_back_s { 127 struct cvmx_ipd_2nd_next_ptr_back_s {
165#ifdef __BIG_ENDIAN_BITFIELD
166 uint64_t reserved_4_63:60; 128 uint64_t reserved_4_63:60;
167 uint64_t back:4; 129 uint64_t back:4;
168#else
169 uint64_t back:4;
170 uint64_t reserved_4_63:60;
171#endif
172 } s; 130 } s;
173 struct cvmx_ipd_2nd_next_ptr_back_s cn30xx; 131 struct cvmx_ipd_2nd_next_ptr_back_s cn30xx;
174 struct cvmx_ipd_2nd_next_ptr_back_s cn31xx; 132 struct cvmx_ipd_2nd_next_ptr_back_s cn31xx;
@@ -181,25 +139,14 @@ union cvmx_ipd_2nd_next_ptr_back {
181 struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1; 139 struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1;
182 struct cvmx_ipd_2nd_next_ptr_back_s cn58xx; 140 struct cvmx_ipd_2nd_next_ptr_back_s cn58xx;
183 struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1; 141 struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1;
184 struct cvmx_ipd_2nd_next_ptr_back_s cn61xx;
185 struct cvmx_ipd_2nd_next_ptr_back_s cn63xx; 142 struct cvmx_ipd_2nd_next_ptr_back_s cn63xx;
186 struct cvmx_ipd_2nd_next_ptr_back_s cn63xxp1; 143 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;
191}; 144};
192 145
193union cvmx_ipd_bist_status { 146union cvmx_ipd_bist_status {
194 uint64_t u64; 147 uint64_t u64;
195 struct cvmx_ipd_bist_status_s { 148 struct cvmx_ipd_bist_status_s {
196#ifdef __BIG_ENDIAN_BITFIELD 149 uint64_t reserved_18_63:46;
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;
203 uint64_t csr_mem:1; 150 uint64_t csr_mem:1;
204 uint64_t csr_ncmd:1; 151 uint64_t csr_ncmd:1;
205 uint64_t pwq_wqed:1; 152 uint64_t pwq_wqed:1;
@@ -218,35 +165,8 @@ union cvmx_ipd_bist_status {
218 uint64_t ipd_old:1; 165 uint64_t ipd_old:1;
219 uint64_t ipd_new:1; 166 uint64_t ipd_new:1;
220 uint64_t pwp:1; 167 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
247 } s; 168 } s;
248 struct cvmx_ipd_bist_status_cn30xx { 169 struct cvmx_ipd_bist_status_cn30xx {
249#ifdef __BIG_ENDIAN_BITFIELD
250 uint64_t reserved_16_63:48; 170 uint64_t reserved_16_63:48;
251 uint64_t pwq_wqed:1; 171 uint64_t pwq_wqed:1;
252 uint64_t pwq_wp1:1; 172 uint64_t pwq_wp1:1;
@@ -264,180 +184,52 @@ union cvmx_ipd_bist_status {
264 uint64_t ipd_old:1; 184 uint64_t ipd_old:1;
265 uint64_t ipd_new:1; 185 uint64_t ipd_new:1;
266 uint64_t pwp:1; 186 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
286 } cn30xx; 187 } cn30xx;
287 struct cvmx_ipd_bist_status_cn30xx cn31xx; 188 struct cvmx_ipd_bist_status_cn30xx cn31xx;
288 struct cvmx_ipd_bist_status_cn30xx cn38xx; 189 struct cvmx_ipd_bist_status_cn30xx cn38xx;
289 struct cvmx_ipd_bist_status_cn30xx cn38xxp2; 190 struct cvmx_ipd_bist_status_cn30xx cn38xxp2;
290 struct cvmx_ipd_bist_status_cn30xx cn50xx; 191 struct cvmx_ipd_bist_status_cn30xx cn50xx;
291 struct cvmx_ipd_bist_status_cn52xx { 192 struct cvmx_ipd_bist_status_s cn52xx;
292#ifdef __BIG_ENDIAN_BITFIELD 193 struct cvmx_ipd_bist_status_s cn52xxp1;
293 uint64_t reserved_18_63:46; 194 struct cvmx_ipd_bist_status_s cn56xx;
294 uint64_t csr_mem:1; 195 struct cvmx_ipd_bist_status_s cn56xxp1;
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;
337 struct cvmx_ipd_bist_status_cn30xx cn58xx; 196 struct cvmx_ipd_bist_status_cn30xx cn58xx;
338 struct cvmx_ipd_bist_status_cn30xx cn58xxp1; 197 struct cvmx_ipd_bist_status_cn30xx cn58xxp1;
339 struct cvmx_ipd_bist_status_cn52xx cn61xx; 198 struct cvmx_ipd_bist_status_s cn63xx;
340 struct cvmx_ipd_bist_status_cn52xx cn63xx; 199 struct cvmx_ipd_bist_status_s cn63xxp1;
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;
346}; 200};
347 201
348union cvmx_ipd_bp_prt_red_end { 202union cvmx_ipd_bp_prt_red_end {
349 uint64_t u64; 203 uint64_t u64;
350 struct cvmx_ipd_bp_prt_red_end_s { 204 struct cvmx_ipd_bp_prt_red_end_s {
351#ifdef __BIG_ENDIAN_BITFIELD 205 uint64_t reserved_44_63:20;
352 uint64_t reserved_48_63:16; 206 uint64_t prt_enb:44;
353 uint64_t prt_enb:48;
354#else
355 uint64_t prt_enb:48;
356 uint64_t reserved_48_63:16;
357#endif
358 } s; 207 } s;
359 struct cvmx_ipd_bp_prt_red_end_cn30xx { 208 struct cvmx_ipd_bp_prt_red_end_cn30xx {
360#ifdef __BIG_ENDIAN_BITFIELD
361 uint64_t reserved_36_63:28; 209 uint64_t reserved_36_63:28;
362 uint64_t prt_enb:36; 210 uint64_t prt_enb:36;
363#else
364 uint64_t prt_enb:36;
365 uint64_t reserved_36_63:28;
366#endif
367 } cn30xx; 211 } cn30xx;
368 struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx; 212 struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx;
369 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx; 213 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx;
370 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2; 214 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2;
371 struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx; 215 struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx;
372 struct cvmx_ipd_bp_prt_red_end_cn52xx { 216 struct cvmx_ipd_bp_prt_red_end_cn52xx {
373#ifdef __BIG_ENDIAN_BITFIELD
374 uint64_t reserved_40_63:24; 217 uint64_t reserved_40_63:24;
375 uint64_t prt_enb:40; 218 uint64_t prt_enb:40;
376#else
377 uint64_t prt_enb:40;
378 uint64_t reserved_40_63:24;
379#endif
380 } cn52xx; 219 } cn52xx;
381 struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1; 220 struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1;
382 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx; 221 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx;
383 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1; 222 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1;
384 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx; 223 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx;
385 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1; 224 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1;
386 struct cvmx_ipd_bp_prt_red_end_s cn61xx; 225 struct cvmx_ipd_bp_prt_red_end_s cn63xx;
387 struct cvmx_ipd_bp_prt_red_end_cn63xx { 226 struct cvmx_ipd_bp_prt_red_end_s cn63xxp1;
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;
431}; 227};
432 228
433union cvmx_ipd_clk_count { 229union cvmx_ipd_clk_count {
434 uint64_t u64; 230 uint64_t u64;
435 struct cvmx_ipd_clk_count_s { 231 struct cvmx_ipd_clk_count_s {
436#ifdef __BIG_ENDIAN_BITFIELD
437 uint64_t clk_cnt:64; 232 uint64_t clk_cnt:64;
438#else
439 uint64_t clk_cnt:64;
440#endif
441 } s; 233 } s;
442 struct cvmx_ipd_clk_count_s cn30xx; 234 struct cvmx_ipd_clk_count_s cn30xx;
443 struct cvmx_ipd_clk_count_s cn31xx; 235 struct cvmx_ipd_clk_count_s cn31xx;
@@ -450,36 +242,13 @@ union cvmx_ipd_clk_count {
450 struct cvmx_ipd_clk_count_s cn56xxp1; 242 struct cvmx_ipd_clk_count_s cn56xxp1;
451 struct cvmx_ipd_clk_count_s cn58xx; 243 struct cvmx_ipd_clk_count_s cn58xx;
452 struct cvmx_ipd_clk_count_s cn58xxp1; 244 struct cvmx_ipd_clk_count_s cn58xxp1;
453 struct cvmx_ipd_clk_count_s cn61xx;
454 struct cvmx_ipd_clk_count_s cn63xx; 245 struct cvmx_ipd_clk_count_s cn63xx;
455 struct cvmx_ipd_clk_count_s cn63xxp1; 246 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;
477}; 247};
478 248
479union cvmx_ipd_ctl_status { 249union cvmx_ipd_ctl_status {
480 uint64_t u64; 250 uint64_t u64;
481 struct cvmx_ipd_ctl_status_s { 251 struct cvmx_ipd_ctl_status_s {
482#ifdef __BIG_ENDIAN_BITFIELD
483 uint64_t reserved_18_63:46; 252 uint64_t reserved_18_63:46;
484 uint64_t use_sop:1; 253 uint64_t use_sop:1;
485 uint64_t rst_done:1; 254 uint64_t rst_done:1;
@@ -498,29 +267,8 @@ union cvmx_ipd_ctl_status {
498 uint64_t pbp_en:1; 267 uint64_t pbp_en:1;
499 uint64_t opc_mode:2; 268 uint64_t opc_mode:2;
500 uint64_t ipd_en:1; 269 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
521 } s; 270 } s;
522 struct cvmx_ipd_ctl_status_cn30xx { 271 struct cvmx_ipd_ctl_status_cn30xx {
523#ifdef __BIG_ENDIAN_BITFIELD
524 uint64_t reserved_10_63:54; 272 uint64_t reserved_10_63:54;
525 uint64_t len_m8:1; 273 uint64_t len_m8:1;
526 uint64_t reset:1; 274 uint64_t reset:1;
@@ -531,23 +279,10 @@ union cvmx_ipd_ctl_status {
531 uint64_t pbp_en:1; 279 uint64_t pbp_en:1;
532 uint64_t opc_mode:2; 280 uint64_t opc_mode:2;
533 uint64_t ipd_en:1; 281 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
546 } cn30xx; 282 } cn30xx;
547 struct cvmx_ipd_ctl_status_cn30xx cn31xx; 283 struct cvmx_ipd_ctl_status_cn30xx cn31xx;
548 struct cvmx_ipd_ctl_status_cn30xx cn38xx; 284 struct cvmx_ipd_ctl_status_cn30xx cn38xx;
549 struct cvmx_ipd_ctl_status_cn38xxp2 { 285 struct cvmx_ipd_ctl_status_cn38xxp2 {
550#ifdef __BIG_ENDIAN_BITFIELD
551 uint64_t reserved_9_63:55; 286 uint64_t reserved_9_63:55;
552 uint64_t reset:1; 287 uint64_t reset:1;
553 uint64_t addpkt:1; 288 uint64_t addpkt:1;
@@ -557,20 +292,8 @@ union cvmx_ipd_ctl_status {
557 uint64_t pbp_en:1; 292 uint64_t pbp_en:1;
558 uint64_t opc_mode:2; 293 uint64_t opc_mode:2;
559 uint64_t ipd_en:1; 294 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
571 } cn38xxp2; 295 } cn38xxp2;
572 struct cvmx_ipd_ctl_status_cn50xx { 296 struct cvmx_ipd_ctl_status_cn50xx {
573#ifdef __BIG_ENDIAN_BITFIELD
574 uint64_t reserved_15_63:49; 297 uint64_t reserved_15_63:49;
575 uint64_t no_wptr:1; 298 uint64_t no_wptr:1;
576 uint64_t pq_apkt:1; 299 uint64_t pq_apkt:1;
@@ -586,30 +309,12 @@ union cvmx_ipd_ctl_status {
586 uint64_t pbp_en:1; 309 uint64_t pbp_en:1;
587 uint64_t opc_mode:2; 310 uint64_t opc_mode:2;
588 uint64_t ipd_en:1; 311 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
606 } cn50xx; 312 } cn50xx;
607 struct cvmx_ipd_ctl_status_cn50xx cn52xx; 313 struct cvmx_ipd_ctl_status_cn50xx cn52xx;
608 struct cvmx_ipd_ctl_status_cn50xx cn52xxp1; 314 struct cvmx_ipd_ctl_status_cn50xx cn52xxp1;
609 struct cvmx_ipd_ctl_status_cn50xx cn56xx; 315 struct cvmx_ipd_ctl_status_cn50xx cn56xx;
610 struct cvmx_ipd_ctl_status_cn50xx cn56xxp1; 316 struct cvmx_ipd_ctl_status_cn50xx cn56xxp1;
611 struct cvmx_ipd_ctl_status_cn58xx { 317 struct cvmx_ipd_ctl_status_cn58xx {
612#ifdef __BIG_ENDIAN_BITFIELD
613 uint64_t reserved_12_63:52; 318 uint64_t reserved_12_63:52;
614 uint64_t ipd_full:1; 319 uint64_t ipd_full:1;
615 uint64_t pkt_off:1; 320 uint64_t pkt_off:1;
@@ -622,26 +327,10 @@ union cvmx_ipd_ctl_status {
622 uint64_t pbp_en:1; 327 uint64_t pbp_en:1;
623 uint64_t opc_mode:2; 328 uint64_t opc_mode:2;
624 uint64_t ipd_en:1; 329 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
639 } cn58xx; 330 } cn58xx;
640 struct cvmx_ipd_ctl_status_cn58xx cn58xxp1; 331 struct cvmx_ipd_ctl_status_cn58xx cn58xxp1;
641 struct cvmx_ipd_ctl_status_s cn61xx;
642 struct cvmx_ipd_ctl_status_s cn63xx; 332 struct cvmx_ipd_ctl_status_s cn63xx;
643 struct cvmx_ipd_ctl_status_cn63xxp1 { 333 struct cvmx_ipd_ctl_status_cn63xxp1 {
644#ifdef __BIG_ENDIAN_BITFIELD
645 uint64_t reserved_16_63:48; 334 uint64_t reserved_16_63:48;
646 uint64_t clken:1; 335 uint64_t clken:1;
647 uint64_t no_wptr:1; 336 uint64_t no_wptr:1;
@@ -658,129 +347,13 @@ union cvmx_ipd_ctl_status {
658 uint64_t pbp_en:1; 347 uint64_t pbp_en:1;
659 uint64_t opc_mode:2; 348 uint64_t opc_mode:2;
660 uint64_t ipd_en:1; 349 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
679 } cn63xxp1; 350 } 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;
766}; 351};
767 352
768union cvmx_ipd_int_enb { 353union cvmx_ipd_int_enb {
769 uint64_t u64; 354 uint64_t u64;
770 struct cvmx_ipd_int_enb_s { 355 struct cvmx_ipd_int_enb_s {
771#ifdef __BIG_ENDIAN_BITFIELD 356 uint64_t reserved_12_63:52;
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;
784 uint64_t pq_sub:1; 357 uint64_t pq_sub:1;
785 uint64_t pq_add:1; 358 uint64_t pq_add:1;
786 uint64_t bc_ovr:1; 359 uint64_t bc_ovr:1;
@@ -793,53 +366,17 @@ union cvmx_ipd_int_enb {
793 uint64_t prc_par2:1; 366 uint64_t prc_par2:1;
794 uint64_t prc_par1:1; 367 uint64_t prc_par1:1;
795 uint64_t prc_par0:1; 368 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
822 } s; 369 } s;
823 struct cvmx_ipd_int_enb_cn30xx { 370 struct cvmx_ipd_int_enb_cn30xx {
824#ifdef __BIG_ENDIAN_BITFIELD
825 uint64_t reserved_5_63:59; 371 uint64_t reserved_5_63:59;
826 uint64_t bp_sub:1; 372 uint64_t bp_sub:1;
827 uint64_t prc_par3:1; 373 uint64_t prc_par3:1;
828 uint64_t prc_par2:1; 374 uint64_t prc_par2:1;
829 uint64_t prc_par1:1; 375 uint64_t prc_par1:1;
830 uint64_t prc_par0:1; 376 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
839 } cn30xx; 377 } cn30xx;
840 struct cvmx_ipd_int_enb_cn30xx cn31xx; 378 struct cvmx_ipd_int_enb_cn30xx cn31xx;
841 struct cvmx_ipd_int_enb_cn38xx { 379 struct cvmx_ipd_int_enb_cn38xx {
842#ifdef __BIG_ENDIAN_BITFIELD
843 uint64_t reserved_10_63:54; 380 uint64_t reserved_10_63:54;
844 uint64_t bc_ovr:1; 381 uint64_t bc_ovr:1;
845 uint64_t d_coll:1; 382 uint64_t d_coll:1;
@@ -851,83 +388,23 @@ union cvmx_ipd_int_enb {
851 uint64_t prc_par2:1; 388 uint64_t prc_par2:1;
852 uint64_t prc_par1:1; 389 uint64_t prc_par1:1;
853 uint64_t prc_par0:1; 390 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
867 } cn38xx; 391 } cn38xx;
868 struct cvmx_ipd_int_enb_cn30xx cn38xxp2; 392 struct cvmx_ipd_int_enb_cn30xx cn38xxp2;
869 struct cvmx_ipd_int_enb_cn38xx cn50xx; 393 struct cvmx_ipd_int_enb_cn38xx cn50xx;
870 struct cvmx_ipd_int_enb_cn52xx { 394 struct cvmx_ipd_int_enb_s cn52xx;
871#ifdef __BIG_ENDIAN_BITFIELD 395 struct cvmx_ipd_int_enb_s cn52xxp1;
872 uint64_t reserved_12_63:52; 396 struct cvmx_ipd_int_enb_s cn56xx;
873 uint64_t pq_sub:1; 397 struct cvmx_ipd_int_enb_s cn56xxp1;
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;
904 struct cvmx_ipd_int_enb_cn38xx cn58xx; 398 struct cvmx_ipd_int_enb_cn38xx cn58xx;
905 struct cvmx_ipd_int_enb_cn38xx cn58xxp1; 399 struct cvmx_ipd_int_enb_cn38xx cn58xxp1;
906 struct cvmx_ipd_int_enb_cn52xx cn61xx; 400 struct cvmx_ipd_int_enb_s cn63xx;
907 struct cvmx_ipd_int_enb_cn52xx cn63xx; 401 struct cvmx_ipd_int_enb_s cn63xxp1;
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;
913}; 402};
914 403
915union cvmx_ipd_int_sum { 404union cvmx_ipd_int_sum {
916 uint64_t u64; 405 uint64_t u64;
917 struct cvmx_ipd_int_sum_s { 406 struct cvmx_ipd_int_sum_s {
918#ifdef __BIG_ENDIAN_BITFIELD 407 uint64_t reserved_12_63:52;
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;
931 uint64_t pq_sub:1; 408 uint64_t pq_sub:1;
932 uint64_t pq_add:1; 409 uint64_t pq_add:1;
933 uint64_t bc_ovr:1; 410 uint64_t bc_ovr:1;
@@ -940,53 +417,17 @@ union cvmx_ipd_int_sum {
940 uint64_t prc_par2:1; 417 uint64_t prc_par2:1;
941 uint64_t prc_par1:1; 418 uint64_t prc_par1:1;
942 uint64_t prc_par0:1; 419 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
969 } s; 420 } s;
970 struct cvmx_ipd_int_sum_cn30xx { 421 struct cvmx_ipd_int_sum_cn30xx {
971#ifdef __BIG_ENDIAN_BITFIELD
972 uint64_t reserved_5_63:59; 422 uint64_t reserved_5_63:59;
973 uint64_t bp_sub:1; 423 uint64_t bp_sub:1;
974 uint64_t prc_par3:1; 424 uint64_t prc_par3:1;
975 uint64_t prc_par2:1; 425 uint64_t prc_par2:1;
976 uint64_t prc_par1:1; 426 uint64_t prc_par1:1;
977 uint64_t prc_par0:1; 427 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
986 } cn30xx; 428 } cn30xx;
987 struct cvmx_ipd_int_sum_cn30xx cn31xx; 429 struct cvmx_ipd_int_sum_cn30xx cn31xx;
988 struct cvmx_ipd_int_sum_cn38xx { 430 struct cvmx_ipd_int_sum_cn38xx {
989#ifdef __BIG_ENDIAN_BITFIELD
990 uint64_t reserved_10_63:54; 431 uint64_t reserved_10_63:54;
991 uint64_t bc_ovr:1; 432 uint64_t bc_ovr:1;
992 uint64_t d_coll:1; 433 uint64_t d_coll:1;
@@ -998,107 +439,24 @@ union cvmx_ipd_int_sum {
998 uint64_t prc_par2:1; 439 uint64_t prc_par2:1;
999 uint64_t prc_par1:1; 440 uint64_t prc_par1:1;
1000 uint64_t prc_par0:1; 441 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
1014 } cn38xx; 442 } cn38xx;
1015 struct cvmx_ipd_int_sum_cn30xx cn38xxp2; 443 struct cvmx_ipd_int_sum_cn30xx cn38xxp2;
1016 struct cvmx_ipd_int_sum_cn38xx cn50xx; 444 struct cvmx_ipd_int_sum_cn38xx cn50xx;
1017 struct cvmx_ipd_int_sum_cn52xx { 445 struct cvmx_ipd_int_sum_s cn52xx;
1018#ifdef __BIG_ENDIAN_BITFIELD 446 struct cvmx_ipd_int_sum_s cn52xxp1;
1019 uint64_t reserved_12_63:52; 447 struct cvmx_ipd_int_sum_s cn56xx;
1020 uint64_t pq_sub:1; 448 struct cvmx_ipd_int_sum_s cn56xxp1;
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;
1051 struct cvmx_ipd_int_sum_cn38xx cn58xx; 449 struct cvmx_ipd_int_sum_cn38xx cn58xx;
1052 struct cvmx_ipd_int_sum_cn38xx cn58xxp1; 450 struct cvmx_ipd_int_sum_cn38xx cn58xxp1;
1053 struct cvmx_ipd_int_sum_cn52xx cn61xx; 451 struct cvmx_ipd_int_sum_s cn63xx;
1054 struct cvmx_ipd_int_sum_cn52xx cn63xx; 452 struct cvmx_ipd_int_sum_s cn63xxp1;
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;
1090}; 453};
1091 454
1092union cvmx_ipd_not_1st_mbuff_skip { 455union cvmx_ipd_not_1st_mbuff_skip {
1093 uint64_t u64; 456 uint64_t u64;
1094 struct cvmx_ipd_not_1st_mbuff_skip_s { 457 struct cvmx_ipd_not_1st_mbuff_skip_s {
1095#ifdef __BIG_ENDIAN_BITFIELD
1096 uint64_t reserved_6_63:58; 458 uint64_t reserved_6_63:58;
1097 uint64_t skip_sz:6; 459 uint64_t skip_sz:6;
1098#else
1099 uint64_t skip_sz:6;
1100 uint64_t reserved_6_63:58;
1101#endif
1102 } s; 460 } s;
1103 struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx; 461 struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx;
1104 struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx; 462 struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx;
@@ -1111,38 +469,15 @@ union cvmx_ipd_not_1st_mbuff_skip {
1111 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1; 469 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1;
1112 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx; 470 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx;
1113 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1; 471 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1;
1114 struct cvmx_ipd_not_1st_mbuff_skip_s cn61xx;
1115 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx; 472 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx;
1116 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xxp1; 473 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;
1134}; 474};
1135 475
1136union cvmx_ipd_packet_mbuff_size { 476union cvmx_ipd_packet_mbuff_size {
1137 uint64_t u64; 477 uint64_t u64;
1138 struct cvmx_ipd_packet_mbuff_size_s { 478 struct cvmx_ipd_packet_mbuff_size_s {
1139#ifdef __BIG_ENDIAN_BITFIELD
1140 uint64_t reserved_12_63:52; 479 uint64_t reserved_12_63:52;
1141 uint64_t mb_size:12; 480 uint64_t mb_size:12;
1142#else
1143 uint64_t mb_size:12;
1144 uint64_t reserved_12_63:52;
1145#endif
1146 } s; 481 } s;
1147 struct cvmx_ipd_packet_mbuff_size_s cn30xx; 482 struct cvmx_ipd_packet_mbuff_size_s cn30xx;
1148 struct cvmx_ipd_packet_mbuff_size_s cn31xx; 483 struct cvmx_ipd_packet_mbuff_size_s cn31xx;
@@ -1155,40 +490,15 @@ union cvmx_ipd_packet_mbuff_size {
1155 struct cvmx_ipd_packet_mbuff_size_s cn56xxp1; 490 struct cvmx_ipd_packet_mbuff_size_s cn56xxp1;
1156 struct cvmx_ipd_packet_mbuff_size_s cn58xx; 491 struct cvmx_ipd_packet_mbuff_size_s cn58xx;
1157 struct cvmx_ipd_packet_mbuff_size_s cn58xxp1; 492 struct cvmx_ipd_packet_mbuff_size_s cn58xxp1;
1158 struct cvmx_ipd_packet_mbuff_size_s cn61xx;
1159 struct cvmx_ipd_packet_mbuff_size_s cn63xx; 493 struct cvmx_ipd_packet_mbuff_size_s cn63xx;
1160 struct cvmx_ipd_packet_mbuff_size_s cn63xxp1; 494 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;
1180}; 495};
1181 496
1182union cvmx_ipd_pkt_ptr_valid { 497union cvmx_ipd_pkt_ptr_valid {
1183 uint64_t u64; 498 uint64_t u64;
1184 struct cvmx_ipd_pkt_ptr_valid_s { 499 struct cvmx_ipd_pkt_ptr_valid_s {
1185#ifdef __BIG_ENDIAN_BITFIELD
1186 uint64_t reserved_29_63:35; 500 uint64_t reserved_29_63:35;
1187 uint64_t ptr:29; 501 uint64_t ptr:29;
1188#else
1189 uint64_t ptr:29;
1190 uint64_t reserved_29_63:35;
1191#endif
1192 } s; 502 } s;
1193 struct cvmx_ipd_pkt_ptr_valid_s cn30xx; 503 struct cvmx_ipd_pkt_ptr_valid_s cn30xx;
1194 struct cvmx_ipd_pkt_ptr_valid_s cn31xx; 504 struct cvmx_ipd_pkt_ptr_valid_s cn31xx;
@@ -1200,25 +510,16 @@ union cvmx_ipd_pkt_ptr_valid {
1200 struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1; 510 struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1;
1201 struct cvmx_ipd_pkt_ptr_valid_s cn58xx; 511 struct cvmx_ipd_pkt_ptr_valid_s cn58xx;
1202 struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1; 512 struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1;
1203 struct cvmx_ipd_pkt_ptr_valid_s cn61xx;
1204 struct cvmx_ipd_pkt_ptr_valid_s cn63xx; 513 struct cvmx_ipd_pkt_ptr_valid_s cn63xx;
1205 struct cvmx_ipd_pkt_ptr_valid_s cn63xxp1; 514 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;
1208}; 515};
1209 516
1210union cvmx_ipd_portx_bp_page_cnt { 517union cvmx_ipd_portx_bp_page_cnt {
1211 uint64_t u64; 518 uint64_t u64;
1212 struct cvmx_ipd_portx_bp_page_cnt_s { 519 struct cvmx_ipd_portx_bp_page_cnt_s {
1213#ifdef __BIG_ENDIAN_BITFIELD
1214 uint64_t reserved_18_63:46; 520 uint64_t reserved_18_63:46;
1215 uint64_t bp_enb:1; 521 uint64_t bp_enb:1;
1216 uint64_t page_cnt:17; 522 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
1222 } s; 523 } s;
1223 struct cvmx_ipd_portx_bp_page_cnt_s cn30xx; 524 struct cvmx_ipd_portx_bp_page_cnt_s cn30xx;
1224 struct cvmx_ipd_portx_bp_page_cnt_s cn31xx; 525 struct cvmx_ipd_portx_bp_page_cnt_s cn31xx;
@@ -1231,123 +532,65 @@ union cvmx_ipd_portx_bp_page_cnt {
1231 struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1; 532 struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1;
1232 struct cvmx_ipd_portx_bp_page_cnt_s cn58xx; 533 struct cvmx_ipd_portx_bp_page_cnt_s cn58xx;
1233 struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1; 534 struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1;
1234 struct cvmx_ipd_portx_bp_page_cnt_s cn61xx;
1235 struct cvmx_ipd_portx_bp_page_cnt_s cn63xx; 535 struct cvmx_ipd_portx_bp_page_cnt_s cn63xx;
1236 struct cvmx_ipd_portx_bp_page_cnt_s cn63xxp1; 536 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;
1239}; 537};
1240 538
1241union cvmx_ipd_portx_bp_page_cnt2 { 539union cvmx_ipd_portx_bp_page_cnt2 {
1242 uint64_t u64; 540 uint64_t u64;
1243 struct cvmx_ipd_portx_bp_page_cnt2_s { 541 struct cvmx_ipd_portx_bp_page_cnt2_s {
1244#ifdef __BIG_ENDIAN_BITFIELD
1245 uint64_t reserved_18_63:46; 542 uint64_t reserved_18_63:46;
1246 uint64_t bp_enb:1; 543 uint64_t bp_enb:1;
1247 uint64_t page_cnt:17; 544 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
1253 } s; 545 } s;
1254 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx; 546 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx;
1255 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1; 547 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1;
1256 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx; 548 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx;
1257 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1; 549 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1;
1258 struct cvmx_ipd_portx_bp_page_cnt2_s cn61xx;
1259 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx; 550 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx;
1260 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xxp1; 551 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;
1263}; 552};
1264 553
1265union cvmx_ipd_portx_bp_page_cnt3 { 554union cvmx_ipd_portx_bp_page_cnt3 {
1266 uint64_t u64; 555 uint64_t u64;
1267 struct cvmx_ipd_portx_bp_page_cnt3_s { 556 struct cvmx_ipd_portx_bp_page_cnt3_s {
1268#ifdef __BIG_ENDIAN_BITFIELD
1269 uint64_t reserved_18_63:46; 557 uint64_t reserved_18_63:46;
1270 uint64_t bp_enb:1; 558 uint64_t bp_enb:1;
1271 uint64_t page_cnt:17; 559 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
1277 } s; 560 } s;
1278 struct cvmx_ipd_portx_bp_page_cnt3_s cn61xx;
1279 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx; 561 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx;
1280 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xxp1; 562 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;
1283}; 563};
1284 564
1285union cvmx_ipd_port_bp_counters2_pairx { 565union cvmx_ipd_port_bp_counters2_pairx {
1286 uint64_t u64; 566 uint64_t u64;
1287 struct cvmx_ipd_port_bp_counters2_pairx_s { 567 struct cvmx_ipd_port_bp_counters2_pairx_s {
1288#ifdef __BIG_ENDIAN_BITFIELD
1289 uint64_t reserved_25_63:39; 568 uint64_t reserved_25_63:39;
1290 uint64_t cnt_val:25; 569 uint64_t cnt_val:25;
1291#else
1292 uint64_t cnt_val:25;
1293 uint64_t reserved_25_63:39;
1294#endif
1295 } s; 570 } s;
1296 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx; 571 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx;
1297 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1; 572 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1;
1298 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx; 573 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx;
1299 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1; 574 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1;
1300 struct cvmx_ipd_port_bp_counters2_pairx_s cn61xx;
1301 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx; 575 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx;
1302 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xxp1; 576 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;
1305}; 577};
1306 578
1307union cvmx_ipd_port_bp_counters3_pairx { 579union cvmx_ipd_port_bp_counters3_pairx {
1308 uint64_t u64; 580 uint64_t u64;
1309 struct cvmx_ipd_port_bp_counters3_pairx_s { 581 struct cvmx_ipd_port_bp_counters3_pairx_s {
1310#ifdef __BIG_ENDIAN_BITFIELD
1311 uint64_t reserved_25_63:39; 582 uint64_t reserved_25_63:39;
1312 uint64_t cnt_val:25; 583 uint64_t cnt_val:25;
1313#else
1314 uint64_t cnt_val:25;
1315 uint64_t reserved_25_63:39;
1316#endif
1317 } s; 584 } s;
1318 struct cvmx_ipd_port_bp_counters3_pairx_s cn61xx;
1319 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx; 585 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx;
1320 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xxp1; 586 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;
1339}; 587};
1340 588
1341union cvmx_ipd_port_bp_counters_pairx { 589union cvmx_ipd_port_bp_counters_pairx {
1342 uint64_t u64; 590 uint64_t u64;
1343 struct cvmx_ipd_port_bp_counters_pairx_s { 591 struct cvmx_ipd_port_bp_counters_pairx_s {
1344#ifdef __BIG_ENDIAN_BITFIELD
1345 uint64_t reserved_25_63:39; 592 uint64_t reserved_25_63:39;
1346 uint64_t cnt_val:25; 593 uint64_t cnt_val:25;
1347#else
1348 uint64_t cnt_val:25;
1349 uint64_t reserved_25_63:39;
1350#endif
1351 } s; 594 } s;
1352 struct cvmx_ipd_port_bp_counters_pairx_s cn30xx; 595 struct cvmx_ipd_port_bp_counters_pairx_s cn30xx;
1353 struct cvmx_ipd_port_bp_counters_pairx_s cn31xx; 596 struct cvmx_ipd_port_bp_counters_pairx_s cn31xx;
@@ -1360,133 +603,59 @@ union cvmx_ipd_port_bp_counters_pairx {
1360 struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1; 603 struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1;
1361 struct cvmx_ipd_port_bp_counters_pairx_s cn58xx; 604 struct cvmx_ipd_port_bp_counters_pairx_s cn58xx;
1362 struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1; 605 struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1;
1363 struct cvmx_ipd_port_bp_counters_pairx_s cn61xx;
1364 struct cvmx_ipd_port_bp_counters_pairx_s cn63xx; 606 struct cvmx_ipd_port_bp_counters_pairx_s cn63xx;
1365 struct cvmx_ipd_port_bp_counters_pairx_s cn63xxp1; 607 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;
1389}; 608};
1390 609
1391union cvmx_ipd_port_qos_x_cnt { 610union cvmx_ipd_port_qos_x_cnt {
1392 uint64_t u64; 611 uint64_t u64;
1393 struct cvmx_ipd_port_qos_x_cnt_s { 612 struct cvmx_ipd_port_qos_x_cnt_s {
1394#ifdef __BIG_ENDIAN_BITFIELD
1395 uint64_t wmark:32; 613 uint64_t wmark:32;
1396 uint64_t cnt:32; 614 uint64_t cnt:32;
1397#else
1398 uint64_t cnt:32;
1399 uint64_t wmark:32;
1400#endif
1401 } s; 615 } s;
1402 struct cvmx_ipd_port_qos_x_cnt_s cn52xx; 616 struct cvmx_ipd_port_qos_x_cnt_s cn52xx;
1403 struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1; 617 struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1;
1404 struct cvmx_ipd_port_qos_x_cnt_s cn56xx; 618 struct cvmx_ipd_port_qos_x_cnt_s cn56xx;
1405 struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1; 619 struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1;
1406 struct cvmx_ipd_port_qos_x_cnt_s cn61xx;
1407 struct cvmx_ipd_port_qos_x_cnt_s cn63xx; 620 struct cvmx_ipd_port_qos_x_cnt_s cn63xx;
1408 struct cvmx_ipd_port_qos_x_cnt_s cn63xxp1; 621 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;
1413}; 622};
1414 623
1415union cvmx_ipd_port_qos_intx { 624union cvmx_ipd_port_qos_intx {
1416 uint64_t u64; 625 uint64_t u64;
1417 struct cvmx_ipd_port_qos_intx_s { 626 struct cvmx_ipd_port_qos_intx_s {
1418#ifdef __BIG_ENDIAN_BITFIELD
1419 uint64_t intr:64;
1420#else
1421 uint64_t intr:64; 627 uint64_t intr:64;
1422#endif
1423 } s; 628 } s;
1424 struct cvmx_ipd_port_qos_intx_s cn52xx; 629 struct cvmx_ipd_port_qos_intx_s cn52xx;
1425 struct cvmx_ipd_port_qos_intx_s cn52xxp1; 630 struct cvmx_ipd_port_qos_intx_s cn52xxp1;
1426 struct cvmx_ipd_port_qos_intx_s cn56xx; 631 struct cvmx_ipd_port_qos_intx_s cn56xx;
1427 struct cvmx_ipd_port_qos_intx_s cn56xxp1; 632 struct cvmx_ipd_port_qos_intx_s cn56xxp1;
1428 struct cvmx_ipd_port_qos_intx_s cn61xx;
1429 struct cvmx_ipd_port_qos_intx_s cn63xx; 633 struct cvmx_ipd_port_qos_intx_s cn63xx;
1430 struct cvmx_ipd_port_qos_intx_s cn63xxp1; 634 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;
1435}; 635};
1436 636
1437union cvmx_ipd_port_qos_int_enbx { 637union cvmx_ipd_port_qos_int_enbx {
1438 uint64_t u64; 638 uint64_t u64;
1439 struct cvmx_ipd_port_qos_int_enbx_s { 639 struct cvmx_ipd_port_qos_int_enbx_s {
1440#ifdef __BIG_ENDIAN_BITFIELD
1441 uint64_t enb:64;
1442#else
1443 uint64_t enb:64; 640 uint64_t enb:64;
1444#endif
1445 } s; 641 } s;
1446 struct cvmx_ipd_port_qos_int_enbx_s cn52xx; 642 struct cvmx_ipd_port_qos_int_enbx_s cn52xx;
1447 struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1; 643 struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1;
1448 struct cvmx_ipd_port_qos_int_enbx_s cn56xx; 644 struct cvmx_ipd_port_qos_int_enbx_s cn56xx;
1449 struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1; 645 struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1;
1450 struct cvmx_ipd_port_qos_int_enbx_s cn61xx;
1451 struct cvmx_ipd_port_qos_int_enbx_s cn63xx; 646 struct cvmx_ipd_port_qos_int_enbx_s cn63xx;
1452 struct cvmx_ipd_port_qos_int_enbx_s cn63xxp1; 647 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;
1470}; 648};
1471 649
1472union cvmx_ipd_prc_hold_ptr_fifo_ctl { 650union cvmx_ipd_prc_hold_ptr_fifo_ctl {
1473 uint64_t u64; 651 uint64_t u64;
1474 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s { 652 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s {
1475#ifdef __BIG_ENDIAN_BITFIELD
1476 uint64_t reserved_39_63:25; 653 uint64_t reserved_39_63:25;
1477 uint64_t max_pkt:3; 654 uint64_t max_pkt:3;
1478 uint64_t praddr:3; 655 uint64_t praddr:3;
1479 uint64_t ptr:29; 656 uint64_t ptr:29;
1480 uint64_t cena:1; 657 uint64_t cena:1;
1481 uint64_t raddr:3; 658 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
1490 } s; 659 } s;
1491 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx; 660 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx;
1492 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx; 661 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx;
@@ -1498,29 +667,18 @@ union cvmx_ipd_prc_hold_ptr_fifo_ctl {
1498 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1; 667 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1;
1499 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx; 668 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx;
1500 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1; 669 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1;
1501 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn61xx;
1502 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx; 670 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx;
1503 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xxp1; 671 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;
1506}; 672};
1507 673
1508union cvmx_ipd_prc_port_ptr_fifo_ctl { 674union cvmx_ipd_prc_port_ptr_fifo_ctl {
1509 uint64_t u64; 675 uint64_t u64;
1510 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s { 676 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s {
1511#ifdef __BIG_ENDIAN_BITFIELD
1512 uint64_t reserved_44_63:20; 677 uint64_t reserved_44_63:20;
1513 uint64_t max_pkt:7; 678 uint64_t max_pkt:7;
1514 uint64_t ptr:29; 679 uint64_t ptr:29;
1515 uint64_t cena:1; 680 uint64_t cena:1;
1516 uint64_t raddr:7; 681 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
1524 } s; 682 } s;
1525 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx; 683 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx;
1526 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx; 684 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx;
@@ -1532,31 +690,19 @@ union cvmx_ipd_prc_port_ptr_fifo_ctl {
1532 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1; 690 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1;
1533 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx; 691 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx;
1534 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1; 692 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1;
1535 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn61xx;
1536 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx; 693 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx;
1537 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xxp1; 694 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;
1540}; 695};
1541 696
1542union cvmx_ipd_ptr_count { 697union cvmx_ipd_ptr_count {
1543 uint64_t u64; 698 uint64_t u64;
1544 struct cvmx_ipd_ptr_count_s { 699 struct cvmx_ipd_ptr_count_s {
1545#ifdef __BIG_ENDIAN_BITFIELD
1546 uint64_t reserved_19_63:45; 700 uint64_t reserved_19_63:45;
1547 uint64_t pktv_cnt:1; 701 uint64_t pktv_cnt:1;
1548 uint64_t wqev_cnt:1; 702 uint64_t wqev_cnt:1;
1549 uint64_t pfif_cnt:3; 703 uint64_t pfif_cnt:3;
1550 uint64_t pkt_pcnt:7; 704 uint64_t pkt_pcnt:7;
1551 uint64_t wqe_pcnt:7; 705 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
1560 } s; 706 } s;
1561 struct cvmx_ipd_ptr_count_s cn30xx; 707 struct cvmx_ipd_ptr_count_s cn30xx;
1562 struct cvmx_ipd_ptr_count_s cn31xx; 708 struct cvmx_ipd_ptr_count_s cn31xx;
@@ -1569,19 +715,13 @@ union cvmx_ipd_ptr_count {
1569 struct cvmx_ipd_ptr_count_s cn56xxp1; 715 struct cvmx_ipd_ptr_count_s cn56xxp1;
1570 struct cvmx_ipd_ptr_count_s cn58xx; 716 struct cvmx_ipd_ptr_count_s cn58xx;
1571 struct cvmx_ipd_ptr_count_s cn58xxp1; 717 struct cvmx_ipd_ptr_count_s cn58xxp1;
1572 struct cvmx_ipd_ptr_count_s cn61xx;
1573 struct cvmx_ipd_ptr_count_s cn63xx; 718 struct cvmx_ipd_ptr_count_s cn63xx;
1574 struct cvmx_ipd_ptr_count_s cn63xxp1; 719 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;
1579}; 720};
1580 721
1581union cvmx_ipd_pwp_ptr_fifo_ctl { 722union cvmx_ipd_pwp_ptr_fifo_ctl {
1582 uint64_t u64; 723 uint64_t u64;
1583 struct cvmx_ipd_pwp_ptr_fifo_ctl_s { 724 struct cvmx_ipd_pwp_ptr_fifo_ctl_s {
1584#ifdef __BIG_ENDIAN_BITFIELD
1585 uint64_t reserved_61_63:3; 725 uint64_t reserved_61_63:3;
1586 uint64_t max_cnts:7; 726 uint64_t max_cnts:7;
1587 uint64_t wraddr:8; 727 uint64_t wraddr:8;
@@ -1589,15 +729,6 @@ union cvmx_ipd_pwp_ptr_fifo_ctl {
1589 uint64_t ptr:29; 729 uint64_t ptr:29;
1590 uint64_t cena:1; 730 uint64_t cena:1;
1591 uint64_t raddr:8; 731 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
1601 } s; 732 } s;
1602 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx; 733 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx;
1603 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx; 734 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx;
@@ -1609,23 +740,15 @@ union cvmx_ipd_pwp_ptr_fifo_ctl {
1609 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1; 740 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1;
1610 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx; 741 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx;
1611 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1; 742 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1;
1612 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn61xx;
1613 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx; 743 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx;
1614 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xxp1; 744 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;
1617}; 745};
1618 746
1619union cvmx_ipd_qosx_red_marks { 747union cvmx_ipd_qosx_red_marks {
1620 uint64_t u64; 748 uint64_t u64;
1621 struct cvmx_ipd_qosx_red_marks_s { 749 struct cvmx_ipd_qosx_red_marks_s {
1622#ifdef __BIG_ENDIAN_BITFIELD
1623 uint64_t drop:32; 750 uint64_t drop:32;
1624 uint64_t pass:32; 751 uint64_t pass:32;
1625#else
1626 uint64_t pass:32;
1627 uint64_t drop:32;
1628#endif
1629 } s; 752 } s;
1630 struct cvmx_ipd_qosx_red_marks_s cn30xx; 753 struct cvmx_ipd_qosx_red_marks_s cn30xx;
1631 struct cvmx_ipd_qosx_red_marks_s cn31xx; 754 struct cvmx_ipd_qosx_red_marks_s cn31xx;
@@ -1638,25 +761,15 @@ union cvmx_ipd_qosx_red_marks {
1638 struct cvmx_ipd_qosx_red_marks_s cn56xxp1; 761 struct cvmx_ipd_qosx_red_marks_s cn56xxp1;
1639 struct cvmx_ipd_qosx_red_marks_s cn58xx; 762 struct cvmx_ipd_qosx_red_marks_s cn58xx;
1640 struct cvmx_ipd_qosx_red_marks_s cn58xxp1; 763 struct cvmx_ipd_qosx_red_marks_s cn58xxp1;
1641 struct cvmx_ipd_qosx_red_marks_s cn61xx;
1642 struct cvmx_ipd_qosx_red_marks_s cn63xx; 764 struct cvmx_ipd_qosx_red_marks_s cn63xx;
1643 struct cvmx_ipd_qosx_red_marks_s cn63xxp1; 765 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;
1648}; 766};
1649 767
1650union cvmx_ipd_que0_free_page_cnt { 768union cvmx_ipd_que0_free_page_cnt {
1651 uint64_t u64; 769 uint64_t u64;
1652 struct cvmx_ipd_que0_free_page_cnt_s { 770 struct cvmx_ipd_que0_free_page_cnt_s {
1653#ifdef __BIG_ENDIAN_BITFIELD
1654 uint64_t reserved_32_63:32; 771 uint64_t reserved_32_63:32;
1655 uint64_t q0_pcnt:32; 772 uint64_t q0_pcnt:32;
1656#else
1657 uint64_t q0_pcnt:32;
1658 uint64_t reserved_32_63:32;
1659#endif
1660 } s; 773 } s;
1661 struct cvmx_ipd_que0_free_page_cnt_s cn30xx; 774 struct cvmx_ipd_que0_free_page_cnt_s cn30xx;
1662 struct cvmx_ipd_que0_free_page_cnt_s cn31xx; 775 struct cvmx_ipd_que0_free_page_cnt_s cn31xx;
@@ -1669,57 +782,16 @@ union cvmx_ipd_que0_free_page_cnt {
1669 struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1; 782 struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1;
1670 struct cvmx_ipd_que0_free_page_cnt_s cn58xx; 783 struct cvmx_ipd_que0_free_page_cnt_s cn58xx;
1671 struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1; 784 struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1;
1672 struct cvmx_ipd_que0_free_page_cnt_s cn61xx;
1673 struct cvmx_ipd_que0_free_page_cnt_s cn63xx; 785 struct cvmx_ipd_que0_free_page_cnt_s cn63xx;
1674 struct cvmx_ipd_que0_free_page_cnt_s cn63xxp1; 786 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;
1709}; 787};
1710 788
1711union cvmx_ipd_red_port_enable { 789union cvmx_ipd_red_port_enable {
1712 uint64_t u64; 790 uint64_t u64;
1713 struct cvmx_ipd_red_port_enable_s { 791 struct cvmx_ipd_red_port_enable_s {
1714#ifdef __BIG_ENDIAN_BITFIELD
1715 uint64_t prb_dly:14; 792 uint64_t prb_dly:14;
1716 uint64_t avg_dly:14; 793 uint64_t avg_dly:14;
1717 uint64_t prt_enb:36; 794 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
1723 } s; 795 } s;
1724 struct cvmx_ipd_red_port_enable_s cn30xx; 796 struct cvmx_ipd_red_port_enable_s cn30xx;
1725 struct cvmx_ipd_red_port_enable_s cn31xx; 797 struct cvmx_ipd_red_port_enable_s cn31xx;
@@ -1732,67 +804,35 @@ union cvmx_ipd_red_port_enable {
1732 struct cvmx_ipd_red_port_enable_s cn56xxp1; 804 struct cvmx_ipd_red_port_enable_s cn56xxp1;
1733 struct cvmx_ipd_red_port_enable_s cn58xx; 805 struct cvmx_ipd_red_port_enable_s cn58xx;
1734 struct cvmx_ipd_red_port_enable_s cn58xxp1; 806 struct cvmx_ipd_red_port_enable_s cn58xxp1;
1735 struct cvmx_ipd_red_port_enable_s cn61xx;
1736 struct cvmx_ipd_red_port_enable_s cn63xx; 807 struct cvmx_ipd_red_port_enable_s cn63xx;
1737 struct cvmx_ipd_red_port_enable_s cn63xxp1; 808 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;
1740}; 809};
1741 810
1742union cvmx_ipd_red_port_enable2 { 811union cvmx_ipd_red_port_enable2 {
1743 uint64_t u64; 812 uint64_t u64;
1744 struct cvmx_ipd_red_port_enable2_s { 813 struct cvmx_ipd_red_port_enable2_s {
1745#ifdef __BIG_ENDIAN_BITFIELD 814 uint64_t reserved_8_63:56;
1746 uint64_t reserved_12_63:52; 815 uint64_t prt_enb:8;
1747 uint64_t prt_enb:12;
1748#else
1749 uint64_t prt_enb:12;
1750 uint64_t reserved_12_63:52;
1751#endif
1752 } s; 816 } s;
1753 struct cvmx_ipd_red_port_enable2_cn52xx { 817 struct cvmx_ipd_red_port_enable2_cn52xx {
1754#ifdef __BIG_ENDIAN_BITFIELD
1755 uint64_t reserved_4_63:60; 818 uint64_t reserved_4_63:60;
1756 uint64_t prt_enb:4; 819 uint64_t prt_enb:4;
1757#else
1758 uint64_t prt_enb:4;
1759 uint64_t reserved_4_63:60;
1760#endif
1761 } cn52xx; 820 } cn52xx;
1762 struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1; 821 struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1;
1763 struct cvmx_ipd_red_port_enable2_cn52xx cn56xx; 822 struct cvmx_ipd_red_port_enable2_cn52xx cn56xx;
1764 struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1; 823 struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1;
1765 struct cvmx_ipd_red_port_enable2_s cn61xx; 824 struct cvmx_ipd_red_port_enable2_s cn63xx;
1766 struct cvmx_ipd_red_port_enable2_cn63xx { 825 struct cvmx_ipd_red_port_enable2_s cn63xxp1;
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;
1778}; 826};
1779 827
1780union cvmx_ipd_red_quex_param { 828union cvmx_ipd_red_quex_param {
1781 uint64_t u64; 829 uint64_t u64;
1782 struct cvmx_ipd_red_quex_param_s { 830 struct cvmx_ipd_red_quex_param_s {
1783#ifdef __BIG_ENDIAN_BITFIELD
1784 uint64_t reserved_49_63:15; 831 uint64_t reserved_49_63:15;
1785 uint64_t use_pcnt:1; 832 uint64_t use_pcnt:1;
1786 uint64_t new_con:8; 833 uint64_t new_con:8;
1787 uint64_t avg_con:8; 834 uint64_t avg_con:8;
1788 uint64_t prb_con:32; 835 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
1796 } s; 836 } s;
1797 struct cvmx_ipd_red_quex_param_s cn30xx; 837 struct cvmx_ipd_red_quex_param_s cn30xx;
1798 struct cvmx_ipd_red_quex_param_s cn31xx; 838 struct cvmx_ipd_red_quex_param_s cn31xx;
@@ -1805,53 +845,16 @@ union cvmx_ipd_red_quex_param {
1805 struct cvmx_ipd_red_quex_param_s cn56xxp1; 845 struct cvmx_ipd_red_quex_param_s cn56xxp1;
1806 struct cvmx_ipd_red_quex_param_s cn58xx; 846 struct cvmx_ipd_red_quex_param_s cn58xx;
1807 struct cvmx_ipd_red_quex_param_s cn58xxp1; 847 struct cvmx_ipd_red_quex_param_s cn58xxp1;
1808 struct cvmx_ipd_red_quex_param_s cn61xx;
1809 struct cvmx_ipd_red_quex_param_s cn63xx; 848 struct cvmx_ipd_red_quex_param_s cn63xx;
1810 struct cvmx_ipd_red_quex_param_s cn63xxp1; 849 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;
1841}; 850};
1842 851
1843union cvmx_ipd_sub_port_bp_page_cnt { 852union cvmx_ipd_sub_port_bp_page_cnt {
1844 uint64_t u64; 853 uint64_t u64;
1845 struct cvmx_ipd_sub_port_bp_page_cnt_s { 854 struct cvmx_ipd_sub_port_bp_page_cnt_s {
1846#ifdef __BIG_ENDIAN_BITFIELD
1847 uint64_t reserved_31_63:33; 855 uint64_t reserved_31_63:33;
1848 uint64_t port:6; 856 uint64_t port:6;
1849 uint64_t page_cnt:25; 857 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
1855 } s; 858 } s;
1856 struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx; 859 struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx;
1857 struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx; 860 struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx;
@@ -1864,48 +867,26 @@ union cvmx_ipd_sub_port_bp_page_cnt {
1864 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1; 867 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1;
1865 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx; 868 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx;
1866 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1; 869 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1;
1867 struct cvmx_ipd_sub_port_bp_page_cnt_s cn61xx;
1868 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx; 870 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx;
1869 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xxp1; 871 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;
1874}; 872};
1875 873
1876union cvmx_ipd_sub_port_fcs { 874union cvmx_ipd_sub_port_fcs {
1877 uint64_t u64; 875 uint64_t u64;
1878 struct cvmx_ipd_sub_port_fcs_s { 876 struct cvmx_ipd_sub_port_fcs_s {
1879#ifdef __BIG_ENDIAN_BITFIELD
1880 uint64_t reserved_40_63:24; 877 uint64_t reserved_40_63:24;
1881 uint64_t port_bit2:4; 878 uint64_t port_bit2:4;
1882 uint64_t reserved_32_35:4; 879 uint64_t reserved_32_35:4;
1883 uint64_t port_bit:32; 880 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
1890 } s; 881 } s;
1891 struct cvmx_ipd_sub_port_fcs_cn30xx { 882 struct cvmx_ipd_sub_port_fcs_cn30xx {
1892#ifdef __BIG_ENDIAN_BITFIELD
1893 uint64_t reserved_3_63:61; 883 uint64_t reserved_3_63:61;
1894 uint64_t port_bit:3; 884 uint64_t port_bit:3;
1895#else
1896 uint64_t port_bit:3;
1897 uint64_t reserved_3_63:61;
1898#endif
1899 } cn30xx; 885 } cn30xx;
1900 struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx; 886 struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx;
1901 struct cvmx_ipd_sub_port_fcs_cn38xx { 887 struct cvmx_ipd_sub_port_fcs_cn38xx {
1902#ifdef __BIG_ENDIAN_BITFIELD
1903 uint64_t reserved_32_63:32; 888 uint64_t reserved_32_63:32;
1904 uint64_t port_bit:32; 889 uint64_t port_bit:32;
1905#else
1906 uint64_t port_bit:32;
1907 uint64_t reserved_32_63:32;
1908#endif
1909 } cn38xx; 890 } cn38xx;
1910 struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2; 891 struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2;
1911 struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx; 892 struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx;
@@ -1915,49 +896,30 @@ union cvmx_ipd_sub_port_fcs {
1915 struct cvmx_ipd_sub_port_fcs_s cn56xxp1; 896 struct cvmx_ipd_sub_port_fcs_s cn56xxp1;
1916 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx; 897 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx;
1917 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1; 898 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1;
1918 struct cvmx_ipd_sub_port_fcs_s cn61xx;
1919 struct cvmx_ipd_sub_port_fcs_s cn63xx; 899 struct cvmx_ipd_sub_port_fcs_s cn63xx;
1920 struct cvmx_ipd_sub_port_fcs_s cn63xxp1; 900 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;
1923}; 901};
1924 902
1925union cvmx_ipd_sub_port_qos_cnt { 903union cvmx_ipd_sub_port_qos_cnt {
1926 uint64_t u64; 904 uint64_t u64;
1927 struct cvmx_ipd_sub_port_qos_cnt_s { 905 struct cvmx_ipd_sub_port_qos_cnt_s {
1928#ifdef __BIG_ENDIAN_BITFIELD
1929 uint64_t reserved_41_63:23; 906 uint64_t reserved_41_63:23;
1930 uint64_t port_qos:9; 907 uint64_t port_qos:9;
1931 uint64_t cnt:32; 908 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
1937 } s; 909 } s;
1938 struct cvmx_ipd_sub_port_qos_cnt_s cn52xx; 910 struct cvmx_ipd_sub_port_qos_cnt_s cn52xx;
1939 struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1; 911 struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1;
1940 struct cvmx_ipd_sub_port_qos_cnt_s cn56xx; 912 struct cvmx_ipd_sub_port_qos_cnt_s cn56xx;
1941 struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1; 913 struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1;
1942 struct cvmx_ipd_sub_port_qos_cnt_s cn61xx;
1943 struct cvmx_ipd_sub_port_qos_cnt_s cn63xx; 914 struct cvmx_ipd_sub_port_qos_cnt_s cn63xx;
1944 struct cvmx_ipd_sub_port_qos_cnt_s cn63xxp1; 915 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;
1949}; 916};
1950 917
1951union cvmx_ipd_wqe_fpa_queue { 918union cvmx_ipd_wqe_fpa_queue {
1952 uint64_t u64; 919 uint64_t u64;
1953 struct cvmx_ipd_wqe_fpa_queue_s { 920 struct cvmx_ipd_wqe_fpa_queue_s {
1954#ifdef __BIG_ENDIAN_BITFIELD
1955 uint64_t reserved_3_63:61; 921 uint64_t reserved_3_63:61;
1956 uint64_t wqe_pool:3; 922 uint64_t wqe_pool:3;
1957#else
1958 uint64_t wqe_pool:3;
1959 uint64_t reserved_3_63:61;
1960#endif
1961 } s; 923 } s;
1962 struct cvmx_ipd_wqe_fpa_queue_s cn30xx; 924 struct cvmx_ipd_wqe_fpa_queue_s cn30xx;
1963 struct cvmx_ipd_wqe_fpa_queue_s cn31xx; 925 struct cvmx_ipd_wqe_fpa_queue_s cn31xx;
@@ -1970,25 +932,15 @@ union cvmx_ipd_wqe_fpa_queue {
1970 struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1; 932 struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1;
1971 struct cvmx_ipd_wqe_fpa_queue_s cn58xx; 933 struct cvmx_ipd_wqe_fpa_queue_s cn58xx;
1972 struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1; 934 struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1;
1973 struct cvmx_ipd_wqe_fpa_queue_s cn61xx;
1974 struct cvmx_ipd_wqe_fpa_queue_s cn63xx; 935 struct cvmx_ipd_wqe_fpa_queue_s cn63xx;
1975 struct cvmx_ipd_wqe_fpa_queue_s cn63xxp1; 936 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;
1980}; 937};
1981 938
1982union cvmx_ipd_wqe_ptr_valid { 939union cvmx_ipd_wqe_ptr_valid {
1983 uint64_t u64; 940 uint64_t u64;
1984 struct cvmx_ipd_wqe_ptr_valid_s { 941 struct cvmx_ipd_wqe_ptr_valid_s {
1985#ifdef __BIG_ENDIAN_BITFIELD
1986 uint64_t reserved_29_63:35; 942 uint64_t reserved_29_63:35;
1987 uint64_t ptr:29; 943 uint64_t ptr:29;
1988#else
1989 uint64_t ptr:29;
1990 uint64_t reserved_29_63:35;
1991#endif
1992 } s; 944 } s;
1993 struct cvmx_ipd_wqe_ptr_valid_s cn30xx; 945 struct cvmx_ipd_wqe_ptr_valid_s cn30xx;
1994 struct cvmx_ipd_wqe_ptr_valid_s cn31xx; 946 struct cvmx_ipd_wqe_ptr_valid_s cn31xx;
@@ -2000,11 +952,8 @@ union cvmx_ipd_wqe_ptr_valid {
2000 struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1; 952 struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1;
2001 struct cvmx_ipd_wqe_ptr_valid_s cn58xx; 953 struct cvmx_ipd_wqe_ptr_valid_s cn58xx;
2002 struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1; 954 struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1;
2003 struct cvmx_ipd_wqe_ptr_valid_s cn61xx;
2004 struct cvmx_ipd_wqe_ptr_valid_s cn63xx; 955 struct cvmx_ipd_wqe_ptr_valid_s cn63xx;
2005 struct cvmx_ipd_wqe_ptr_valid_s cn63xxp1; 956 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;
2008}; 957};
2009 958
2010#endif 959#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-ipd.h b/arch/mips/include/asm/octeon/cvmx-ipd.h
deleted file mode 100644
index 115a552c5c7..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-ipd.h
+++ /dev/null
@@ -1,338 +0,0 @@
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-2008 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/**
29 *
30 * Interface to the hardware Input Packet Data unit.
31 */
32
33#ifndef __CVMX_IPD_H__
34#define __CVMX_IPD_H__
35
36#include <asm/octeon/octeon-feature.h>
37
38#include <asm/octeon/cvmx-ipd-defs.h>
39
40enum cvmx_ipd_mode {
41 CVMX_IPD_OPC_MODE_STT = 0LL, /* All blocks DRAM, not cached in L2 */
42 CVMX_IPD_OPC_MODE_STF = 1LL, /* All bloccks into L2 */
43 CVMX_IPD_OPC_MODE_STF1_STT = 2LL, /* 1st block L2, rest DRAM */
44 CVMX_IPD_OPC_MODE_STF2_STT = 3LL /* 1st, 2nd blocks L2, rest DRAM */
45};
46
47#ifndef CVMX_ENABLE_LEN_M8_FIX
48#define CVMX_ENABLE_LEN_M8_FIX 0
49#endif
50
51/* CSR typedefs have been moved to cvmx-csr-*.h */
52typedef union cvmx_ipd_1st_mbuff_skip cvmx_ipd_mbuff_first_skip_t;
53typedef union cvmx_ipd_1st_next_ptr_back cvmx_ipd_first_next_ptr_back_t;
54
55typedef cvmx_ipd_mbuff_first_skip_t cvmx_ipd_mbuff_not_first_skip_t;
56typedef cvmx_ipd_first_next_ptr_back_t cvmx_ipd_second_next_ptr_back_t;
57
58/**
59 * Configure IPD
60 *
61 * @mbuff_size: Packets buffer size in 8 byte words
62 * @first_mbuff_skip:
63 * Number of 8 byte words to skip in the first buffer
64 * @not_first_mbuff_skip:
65 * Number of 8 byte words to skip in each following buffer
66 * @first_back: Must be same as first_mbuff_skip / 128
67 * @second_back:
68 * Must be same as not_first_mbuff_skip / 128
69 * @wqe_fpa_pool:
70 * FPA pool to get work entries from
71 * @cache_mode:
72 * @back_pres_enable_flag:
73 * Enable or disable port back pressure
74 */
75static inline void cvmx_ipd_config(uint64_t mbuff_size,
76 uint64_t first_mbuff_skip,
77 uint64_t not_first_mbuff_skip,
78 uint64_t first_back,
79 uint64_t second_back,
80 uint64_t wqe_fpa_pool,
81 enum cvmx_ipd_mode cache_mode,
82 uint64_t back_pres_enable_flag)
83{
84 cvmx_ipd_mbuff_first_skip_t first_skip;
85 cvmx_ipd_mbuff_not_first_skip_t not_first_skip;
86 union cvmx_ipd_packet_mbuff_size size;
87 cvmx_ipd_first_next_ptr_back_t first_back_struct;
88 cvmx_ipd_second_next_ptr_back_t second_back_struct;
89 union cvmx_ipd_wqe_fpa_queue wqe_pool;
90 union cvmx_ipd_ctl_status ipd_ctl_reg;
91
92 first_skip.u64 = 0;
93 first_skip.s.skip_sz = first_mbuff_skip;
94 cvmx_write_csr(CVMX_IPD_1ST_MBUFF_SKIP, first_skip.u64);
95
96 not_first_skip.u64 = 0;
97 not_first_skip.s.skip_sz = not_first_mbuff_skip;
98 cvmx_write_csr(CVMX_IPD_NOT_1ST_MBUFF_SKIP, not_first_skip.u64);
99
100 size.u64 = 0;
101 size.s.mb_size = mbuff_size;
102 cvmx_write_csr(CVMX_IPD_PACKET_MBUFF_SIZE, size.u64);
103
104 first_back_struct.u64 = 0;
105 first_back_struct.s.back = first_back;
106 cvmx_write_csr(CVMX_IPD_1st_NEXT_PTR_BACK, first_back_struct.u64);
107
108 second_back_struct.u64 = 0;
109 second_back_struct.s.back = second_back;
110 cvmx_write_csr(CVMX_IPD_2nd_NEXT_PTR_BACK, second_back_struct.u64);
111
112 wqe_pool.u64 = 0;
113 wqe_pool.s.wqe_pool = wqe_fpa_pool;
114 cvmx_write_csr(CVMX_IPD_WQE_FPA_QUEUE, wqe_pool.u64);
115
116 ipd_ctl_reg.u64 = cvmx_read_csr(CVMX_IPD_CTL_STATUS);
117 ipd_ctl_reg.s.opc_mode = cache_mode;
118 ipd_ctl_reg.s.pbp_en = back_pres_enable_flag;
119 cvmx_write_csr(CVMX_IPD_CTL_STATUS, ipd_ctl_reg.u64);
120
121 /* Note: the example RED code that used to be here has been moved to
122 cvmx_helper_setup_red */
123}
124
125/**
126 * Enable IPD
127 */
128static inline void cvmx_ipd_enable(void)
129{
130 union cvmx_ipd_ctl_status ipd_reg;
131 ipd_reg.u64 = cvmx_read_csr(CVMX_IPD_CTL_STATUS);
132 if (ipd_reg.s.ipd_en) {
133 cvmx_dprintf
134 ("Warning: Enabling IPD when IPD already enabled.\n");
135 }
136 ipd_reg.s.ipd_en = 1;
137#if CVMX_ENABLE_LEN_M8_FIX
138 if (!OCTEON_IS_MODEL(OCTEON_CN38XX_PASS2))
139 ipd_reg.s.len_m8 = TRUE;
140#endif
141 cvmx_write_csr(CVMX_IPD_CTL_STATUS, ipd_reg.u64);
142}
143
144/**
145 * Disable IPD
146 */
147static inline void cvmx_ipd_disable(void)
148{
149 union cvmx_ipd_ctl_status ipd_reg;
150 ipd_reg.u64 = cvmx_read_csr(CVMX_IPD_CTL_STATUS);
151 ipd_reg.s.ipd_en = 0;
152 cvmx_write_csr(CVMX_IPD_CTL_STATUS, ipd_reg.u64);
153}
154
155/**
156 * Supportive function for cvmx_fpa_shutdown_pool.
157 */
158static inline void cvmx_ipd_free_ptr(void)
159{
160 /* Only CN38XXp{1,2} cannot read pointer out of the IPD */
161 if (!OCTEON_IS_MODEL(OCTEON_CN38XX_PASS1)
162 && !OCTEON_IS_MODEL(OCTEON_CN38XX_PASS2)) {
163 int no_wptr = 0;
164 union cvmx_ipd_ptr_count ipd_ptr_count;
165 ipd_ptr_count.u64 = cvmx_read_csr(CVMX_IPD_PTR_COUNT);
166
167 /* Handle Work Queue Entry in cn56xx and cn52xx */
168 if (octeon_has_feature(OCTEON_FEATURE_NO_WPTR)) {
169 union cvmx_ipd_ctl_status ipd_ctl_status;
170 ipd_ctl_status.u64 = cvmx_read_csr(CVMX_IPD_CTL_STATUS);
171 if (ipd_ctl_status.s.no_wptr)
172 no_wptr = 1;
173 }
174
175 /* Free the prefetched WQE */
176 if (ipd_ptr_count.s.wqev_cnt) {
177 union cvmx_ipd_wqe_ptr_valid ipd_wqe_ptr_valid;
178 ipd_wqe_ptr_valid.u64 =
179 cvmx_read_csr(CVMX_IPD_WQE_PTR_VALID);
180 if (no_wptr)
181 cvmx_fpa_free(cvmx_phys_to_ptr
182 ((uint64_t) ipd_wqe_ptr_valid.s.
183 ptr << 7), CVMX_FPA_PACKET_POOL,
184 0);
185 else
186 cvmx_fpa_free(cvmx_phys_to_ptr
187 ((uint64_t) ipd_wqe_ptr_valid.s.
188 ptr << 7), CVMX_FPA_WQE_POOL, 0);
189 }
190
191 /* Free all WQE in the fifo */
192 if (ipd_ptr_count.s.wqe_pcnt) {
193 int i;
194 union cvmx_ipd_pwp_ptr_fifo_ctl ipd_pwp_ptr_fifo_ctl;
195 ipd_pwp_ptr_fifo_ctl.u64 =
196 cvmx_read_csr(CVMX_IPD_PWP_PTR_FIFO_CTL);
197 for (i = 0; i < ipd_ptr_count.s.wqe_pcnt; i++) {
198 ipd_pwp_ptr_fifo_ctl.s.cena = 0;
199 ipd_pwp_ptr_fifo_ctl.s.raddr =
200 ipd_pwp_ptr_fifo_ctl.s.max_cnts +
201 (ipd_pwp_ptr_fifo_ctl.s.wraddr +
202 i) % ipd_pwp_ptr_fifo_ctl.s.max_cnts;
203 cvmx_write_csr(CVMX_IPD_PWP_PTR_FIFO_CTL,
204 ipd_pwp_ptr_fifo_ctl.u64);
205 ipd_pwp_ptr_fifo_ctl.u64 =
206 cvmx_read_csr(CVMX_IPD_PWP_PTR_FIFO_CTL);
207 if (no_wptr)
208 cvmx_fpa_free(cvmx_phys_to_ptr
209 ((uint64_t)
210 ipd_pwp_ptr_fifo_ctl.s.
211 ptr << 7),
212 CVMX_FPA_PACKET_POOL, 0);
213 else
214 cvmx_fpa_free(cvmx_phys_to_ptr
215 ((uint64_t)
216 ipd_pwp_ptr_fifo_ctl.s.
217 ptr << 7),
218 CVMX_FPA_WQE_POOL, 0);
219 }
220 ipd_pwp_ptr_fifo_ctl.s.cena = 1;
221 cvmx_write_csr(CVMX_IPD_PWP_PTR_FIFO_CTL,
222 ipd_pwp_ptr_fifo_ctl.u64);
223 }
224
225 /* Free the prefetched packet */
226 if (ipd_ptr_count.s.pktv_cnt) {
227 union cvmx_ipd_pkt_ptr_valid ipd_pkt_ptr_valid;
228 ipd_pkt_ptr_valid.u64 =
229 cvmx_read_csr(CVMX_IPD_PKT_PTR_VALID);
230 cvmx_fpa_free(cvmx_phys_to_ptr
231 (ipd_pkt_ptr_valid.s.ptr << 7),
232 CVMX_FPA_PACKET_POOL, 0);
233 }
234
235 /* Free the per port prefetched packets */
236 if (1) {
237 int i;
238 union cvmx_ipd_prc_port_ptr_fifo_ctl
239 ipd_prc_port_ptr_fifo_ctl;
240 ipd_prc_port_ptr_fifo_ctl.u64 =
241 cvmx_read_csr(CVMX_IPD_PRC_PORT_PTR_FIFO_CTL);
242
243 for (i = 0; i < ipd_prc_port_ptr_fifo_ctl.s.max_pkt;
244 i++) {
245 ipd_prc_port_ptr_fifo_ctl.s.cena = 0;
246 ipd_prc_port_ptr_fifo_ctl.s.raddr =
247 i % ipd_prc_port_ptr_fifo_ctl.s.max_pkt;
248 cvmx_write_csr(CVMX_IPD_PRC_PORT_PTR_FIFO_CTL,
249 ipd_prc_port_ptr_fifo_ctl.u64);
250 ipd_prc_port_ptr_fifo_ctl.u64 =
251 cvmx_read_csr
252 (CVMX_IPD_PRC_PORT_PTR_FIFO_CTL);
253 cvmx_fpa_free(cvmx_phys_to_ptr
254 ((uint64_t)
255 ipd_prc_port_ptr_fifo_ctl.s.
256 ptr << 7), CVMX_FPA_PACKET_POOL,
257 0);
258 }
259 ipd_prc_port_ptr_fifo_ctl.s.cena = 1;
260 cvmx_write_csr(CVMX_IPD_PRC_PORT_PTR_FIFO_CTL,
261 ipd_prc_port_ptr_fifo_ctl.u64);
262 }
263
264 /* Free all packets in the holding fifo */
265 if (ipd_ptr_count.s.pfif_cnt) {
266 int i;
267 union cvmx_ipd_prc_hold_ptr_fifo_ctl
268 ipd_prc_hold_ptr_fifo_ctl;
269
270 ipd_prc_hold_ptr_fifo_ctl.u64 =
271 cvmx_read_csr(CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL);
272
273 for (i = 0; i < ipd_ptr_count.s.pfif_cnt; i++) {
274 ipd_prc_hold_ptr_fifo_ctl.s.cena = 0;
275 ipd_prc_hold_ptr_fifo_ctl.s.raddr =
276 (ipd_prc_hold_ptr_fifo_ctl.s.praddr +
277 i) % ipd_prc_hold_ptr_fifo_ctl.s.max_pkt;
278 cvmx_write_csr(CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL,
279 ipd_prc_hold_ptr_fifo_ctl.u64);
280 ipd_prc_hold_ptr_fifo_ctl.u64 =
281 cvmx_read_csr
282 (CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL);
283 cvmx_fpa_free(cvmx_phys_to_ptr
284 ((uint64_t)
285 ipd_prc_hold_ptr_fifo_ctl.s.
286 ptr << 7), CVMX_FPA_PACKET_POOL,
287 0);
288 }
289 ipd_prc_hold_ptr_fifo_ctl.s.cena = 1;
290 cvmx_write_csr(CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL,
291 ipd_prc_hold_ptr_fifo_ctl.u64);
292 }
293
294 /* Free all packets in the fifo */
295 if (ipd_ptr_count.s.pkt_pcnt) {
296 int i;
297 union cvmx_ipd_pwp_ptr_fifo_ctl ipd_pwp_ptr_fifo_ctl;
298 ipd_pwp_ptr_fifo_ctl.u64 =
299 cvmx_read_csr(CVMX_IPD_PWP_PTR_FIFO_CTL);
300
301 for (i = 0; i < ipd_ptr_count.s.pkt_pcnt; i++) {
302 ipd_pwp_ptr_fifo_ctl.s.cena = 0;
303 ipd_pwp_ptr_fifo_ctl.s.raddr =
304 (ipd_pwp_ptr_fifo_ctl.s.praddr +
305 i) % ipd_pwp_ptr_fifo_ctl.s.max_cnts;
306 cvmx_write_csr(CVMX_IPD_PWP_PTR_FIFO_CTL,
307 ipd_pwp_ptr_fifo_ctl.u64);
308 ipd_pwp_ptr_fifo_ctl.u64 =
309 cvmx_read_csr(CVMX_IPD_PWP_PTR_FIFO_CTL);
310 cvmx_fpa_free(cvmx_phys_to_ptr
311 ((uint64_t) ipd_pwp_ptr_fifo_ctl.
312 s.ptr << 7),
313 CVMX_FPA_PACKET_POOL, 0);
314 }
315 ipd_pwp_ptr_fifo_ctl.s.cena = 1;
316 cvmx_write_csr(CVMX_IPD_PWP_PTR_FIFO_CTL,
317 ipd_pwp_ptr_fifo_ctl.u64);
318 }
319
320 /* Reset the IPD to get all buffers out of it */
321 {
322 union cvmx_ipd_ctl_status ipd_ctl_status;
323 ipd_ctl_status.u64 = cvmx_read_csr(CVMX_IPD_CTL_STATUS);
324 ipd_ctl_status.s.reset = 1;
325 cvmx_write_csr(CVMX_IPD_CTL_STATUS, ipd_ctl_status.u64);
326 }
327
328 /* Reset the PIP */
329 {
330 union cvmx_pip_sft_rst pip_sft_rst;
331 pip_sft_rst.u64 = cvmx_read_csr(CVMX_PIP_SFT_RST);
332 pip_sft_rst.s.rst = 1;
333 cvmx_write_csr(CVMX_PIP_SFT_RST, pip_sft_rst.u64);
334 }
335 }
336}
337
338#endif /* __CVMX_IPD_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-l2c-defs.h b/arch/mips/include/asm/octeon/cvmx-l2c-defs.h
index 10262cb6ff5..7a50a0beb47 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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) + ((block_id) & 3) * 0x40000ull) 36#define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull))
37#define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull) + ((block_id) & 3) * 0x40000ull) 37#define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull))
38#define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull) + ((block_id) & 3) * 0x40000ull) 38#define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull))
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) & 8191) * 8) 44#define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 2047) * 8)
45#define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull) + ((block_id) & 3) * 0x40000ull) 45#define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull))
46#define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull) + ((block_id) & 3) * 0x40000ull) 46#define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull))
47#define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull) + ((block_id) & 3) * 0x40000ull) 47#define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull))
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,119 +71,54 @@
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(offset) (CVMX_ADD_IO_SEG(0x0001180080880200ull) + ((offset) & 1) * 8) 74#define CVMX_L2C_QOS_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080880200ull))
75#define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 31) * 8) 75#define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 7) * 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(offset) (CVMX_ADD_IO_SEG(0x0001180080800410ull) + ((offset) & 3) * 64) 77#define CVMX_L2C_RSCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800410ull))
78#define CVMX_L2C_RSDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800418ull) + ((offset) & 3) * 64) 78#define CVMX_L2C_RSDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800418ull))
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) + ((block_id) & 3) * 0x40000ull) 84#define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull))
85#define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull) + ((block_id) & 3) * 0x40000ull) 85#define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull))
86#define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull) + ((block_id) & 3) * 0x40000ull) 86#define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull))
87#define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull) + ((block_id) & 3) * 0x40000ull) 87#define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull))
88#define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull) + ((block_id) & 3) * 0x40000ull) 88#define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull))
89#define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull) + ((block_id) & 3) * 0x40000ull) 89#define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull))
90#define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull) + ((block_id) & 3) * 0x40000ull) 90#define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull))
91#define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull) + ((block_id) & 3) * 0x40000ull) 91#define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull))
92#define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull) + ((block_id) & 3) * 0x40000ull) 92#define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull))
93#define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull) + ((block_id) & 3) * 0x40000ull) 93#define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull))
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(offset) (CVMX_ADD_IO_SEG(0x00011800808C0200ull) + ((offset) & 1) * 8) 98#define CVMX_L2C_VIRTID_IOBX(block_id) (CVMX_ADD_IO_SEG(0x00011800808C0200ull))
99#define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 31) * 8) 99#define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 7) * 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(offset) (CVMX_ADD_IO_SEG(0x0001180080840200ull) + ((offset) & 1) * 8) 102#define CVMX_L2C_WPAR_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080840200ull))
103#define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 31) * 8) 103#define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 7) * 8)
104#define CVMX_L2C_XMCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800400ull) + ((offset) & 3) * 64) 104#define CVMX_L2C_XMCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800400ull))
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(offset) (CVMX_ADD_IO_SEG(0x0001180080800408ull) + ((offset) & 3) * 64) 106#define CVMX_L2C_XMDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800408ull))
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
112 uint64_t reserved_8_63:56; 111 uint64_t reserved_8_63:56;
113 uint64_t maxdram:4; 112 uint64_t maxdram:4;
114 uint64_t reserved_1_3:3; 113 uint64_t reserved_1_3:3;
115 uint64_t disable:1; 114 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
122 } s; 115 } s;
123 struct cvmx_l2c_big_ctl_s cn61xx;
124 struct cvmx_l2c_big_ctl_s cn63xx; 116 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;
129}; 117};
130 118
131union cvmx_l2c_bst { 119union cvmx_l2c_bst {
132 uint64_t u64; 120 uint64_t u64;
133 struct cvmx_l2c_bst_s { 121 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
187 uint64_t reserved_38_63:26; 122 uint64_t reserved_38_63:26;
188 uint64_t dutfl:6; 123 uint64_t dutfl:6;
189 uint64_t reserved_17_31:15; 124 uint64_t reserved_17_31:15;
@@ -196,60 +131,14 @@ union cvmx_l2c_bst {
196 uint64_t vrtfl:1; 131 uint64_t vrtfl:1;
197 uint64_t reserved_1_3:3; 132 uint64_t reserved_1_3:3;
198 uint64_t tdffl:1; 133 uint64_t tdffl:1;
199#else 134 } s;
200 uint64_t tdffl:1; 135 struct cvmx_l2c_bst_s cn63xx;
201 uint64_t reserved_1_3:3; 136 struct cvmx_l2c_bst_s cn63xxp1;
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;
247}; 137};
248 138
249union cvmx_l2c_bst0 { 139union cvmx_l2c_bst0 {
250 uint64_t u64; 140 uint64_t u64;
251 struct cvmx_l2c_bst0_s { 141 struct cvmx_l2c_bst0_s {
252#ifdef __BIG_ENDIAN_BITFIELD
253 uint64_t reserved_24_63:40; 142 uint64_t reserved_24_63:40;
254 uint64_t dtbnk:1; 143 uint64_t dtbnk:1;
255 uint64_t wlb_msk:4; 144 uint64_t wlb_msk:4;
@@ -257,18 +146,8 @@ union cvmx_l2c_bst0 {
257 uint64_t dt:1; 146 uint64_t dt:1;
258 uint64_t stin_msk:1; 147 uint64_t stin_msk:1;
259 uint64_t wlb_dat:4; 148 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
269 } s; 149 } s;
270 struct cvmx_l2c_bst0_cn30xx { 150 struct cvmx_l2c_bst0_cn30xx {
271#ifdef __BIG_ENDIAN_BITFIELD
272 uint64_t reserved_23_63:41; 151 uint64_t reserved_23_63:41;
273 uint64_t wlb_msk:4; 152 uint64_t wlb_msk:4;
274 uint64_t reserved_15_18:4; 153 uint64_t reserved_15_18:4;
@@ -276,18 +155,8 @@ union cvmx_l2c_bst0 {
276 uint64_t dt:1; 155 uint64_t dt:1;
277 uint64_t reserved_4_4:1; 156 uint64_t reserved_4_4:1;
278 uint64_t wlb_dat:4; 157 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
288 } cn30xx; 158 } cn30xx;
289 struct cvmx_l2c_bst0_cn31xx { 159 struct cvmx_l2c_bst0_cn31xx {
290#ifdef __BIG_ENDIAN_BITFIELD
291 uint64_t reserved_23_63:41; 160 uint64_t reserved_23_63:41;
292 uint64_t wlb_msk:4; 161 uint64_t wlb_msk:4;
293 uint64_t reserved_16_18:3; 162 uint64_t reserved_16_18:3;
@@ -295,34 +164,16 @@ union cvmx_l2c_bst0 {
295 uint64_t dt:1; 164 uint64_t dt:1;
296 uint64_t stin_msk:1; 165 uint64_t stin_msk:1;
297 uint64_t wlb_dat:4; 166 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
307 } cn31xx; 167 } cn31xx;
308 struct cvmx_l2c_bst0_cn38xx { 168 struct cvmx_l2c_bst0_cn38xx {
309#ifdef __BIG_ENDIAN_BITFIELD
310 uint64_t reserved_19_63:45; 169 uint64_t reserved_19_63:45;
311 uint64_t dtcnt:13; 170 uint64_t dtcnt:13;
312 uint64_t dt:1; 171 uint64_t dt:1;
313 uint64_t stin_msk:1; 172 uint64_t stin_msk:1;
314 uint64_t wlb_dat:4; 173 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
322 } cn38xx; 174 } cn38xx;
323 struct cvmx_l2c_bst0_cn38xx cn38xxp2; 175 struct cvmx_l2c_bst0_cn38xx cn38xxp2;
324 struct cvmx_l2c_bst0_cn50xx { 176 struct cvmx_l2c_bst0_cn50xx {
325#ifdef __BIG_ENDIAN_BITFIELD
326 uint64_t reserved_24_63:40; 177 uint64_t reserved_24_63:40;
327 uint64_t dtbnk:1; 178 uint64_t dtbnk:1;
328 uint64_t wlb_msk:4; 179 uint64_t wlb_msk:4;
@@ -331,16 +182,6 @@ union cvmx_l2c_bst0 {
331 uint64_t dt:1; 182 uint64_t dt:1;
332 uint64_t stin_msk:1; 183 uint64_t stin_msk:1;
333 uint64_t wlb_dat:4; 184 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
344 } cn50xx; 185 } cn50xx;
345 struct cvmx_l2c_bst0_cn50xx cn52xx; 186 struct cvmx_l2c_bst0_cn50xx cn52xx;
346 struct cvmx_l2c_bst0_cn50xx cn52xxp1; 187 struct cvmx_l2c_bst0_cn50xx cn52xxp1;
@@ -353,51 +194,28 @@ union cvmx_l2c_bst0 {
353union cvmx_l2c_bst1 { 194union cvmx_l2c_bst1 {
354 uint64_t u64; 195 uint64_t u64;
355 struct cvmx_l2c_bst1_s { 196 struct cvmx_l2c_bst1_s {
356#ifdef __BIG_ENDIAN_BITFIELD
357 uint64_t reserved_9_63:55; 197 uint64_t reserved_9_63:55;
358 uint64_t l2t:9; 198 uint64_t l2t:9;
359#else
360 uint64_t l2t:9;
361 uint64_t reserved_9_63:55;
362#endif
363 } s; 199 } s;
364 struct cvmx_l2c_bst1_cn30xx { 200 struct cvmx_l2c_bst1_cn30xx {
365#ifdef __BIG_ENDIAN_BITFIELD
366 uint64_t reserved_16_63:48; 201 uint64_t reserved_16_63:48;
367 uint64_t vwdf:4; 202 uint64_t vwdf:4;
368 uint64_t lrf:2; 203 uint64_t lrf:2;
369 uint64_t vab_vwcf:1; 204 uint64_t vab_vwcf:1;
370 uint64_t reserved_5_8:4; 205 uint64_t reserved_5_8:4;
371 uint64_t l2t:5; 206 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
380 } cn30xx; 207 } cn30xx;
381 struct cvmx_l2c_bst1_cn30xx cn31xx; 208 struct cvmx_l2c_bst1_cn30xx cn31xx;
382 struct cvmx_l2c_bst1_cn38xx { 209 struct cvmx_l2c_bst1_cn38xx {
383#ifdef __BIG_ENDIAN_BITFIELD
384 uint64_t reserved_16_63:48; 210 uint64_t reserved_16_63:48;
385 uint64_t vwdf:4; 211 uint64_t vwdf:4;
386 uint64_t lrf:2; 212 uint64_t lrf:2;
387 uint64_t vab_vwcf:1; 213 uint64_t vab_vwcf:1;
388 uint64_t l2t:9; 214 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
396 } cn38xx; 215 } cn38xx;
397 struct cvmx_l2c_bst1_cn38xx cn38xxp2; 216 struct cvmx_l2c_bst1_cn38xx cn38xxp2;
398 struct cvmx_l2c_bst1_cn38xx cn50xx; 217 struct cvmx_l2c_bst1_cn38xx cn50xx;
399 struct cvmx_l2c_bst1_cn52xx { 218 struct cvmx_l2c_bst1_cn52xx {
400#ifdef __BIG_ENDIAN_BITFIELD
401 uint64_t reserved_19_63:45; 219 uint64_t reserved_19_63:45;
402 uint64_t plc2:1; 220 uint64_t plc2:1;
403 uint64_t plc1:1; 221 uint64_t plc1:1;
@@ -407,21 +225,9 @@ union cvmx_l2c_bst1 {
407 uint64_t ilc:1; 225 uint64_t ilc:1;
408 uint64_t vab_vwcf:1; 226 uint64_t vab_vwcf:1;
409 uint64_t l2t:9; 227 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
421 } cn52xx; 228 } cn52xx;
422 struct cvmx_l2c_bst1_cn52xx cn52xxp1; 229 struct cvmx_l2c_bst1_cn52xx cn52xxp1;
423 struct cvmx_l2c_bst1_cn56xx { 230 struct cvmx_l2c_bst1_cn56xx {
424#ifdef __BIG_ENDIAN_BITFIELD
425 uint64_t reserved_24_63:40; 231 uint64_t reserved_24_63:40;
426 uint64_t plc2:1; 232 uint64_t plc2:1;
427 uint64_t plc1:1; 233 uint64_t plc1:1;
@@ -433,19 +239,6 @@ union cvmx_l2c_bst1 {
433 uint64_t reserved_10_10:1; 239 uint64_t reserved_10_10:1;
434 uint64_t vab_vwcf0:1; 240 uint64_t vab_vwcf0:1;
435 uint64_t l2t:9; 241 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
449 } cn56xx; 242 } cn56xx;
450 struct cvmx_l2c_bst1_cn56xx cn56xxp1; 243 struct cvmx_l2c_bst1_cn56xx cn56xxp1;
451 struct cvmx_l2c_bst1_cn38xx cn58xx; 244 struct cvmx_l2c_bst1_cn38xx cn58xx;
@@ -455,7 +248,6 @@ union cvmx_l2c_bst1 {
455union cvmx_l2c_bst2 { 248union cvmx_l2c_bst2 {
456 uint64_t u64; 249 uint64_t u64;
457 struct cvmx_l2c_bst2_s { 250 struct cvmx_l2c_bst2_s {
458#ifdef __BIG_ENDIAN_BITFIELD
459 uint64_t reserved_16_63:48; 251 uint64_t reserved_16_63:48;
460 uint64_t mrb:4; 252 uint64_t mrb:4;
461 uint64_t reserved_4_11:8; 253 uint64_t reserved_4_11:8;
@@ -463,18 +255,8 @@ union cvmx_l2c_bst2 {
463 uint64_t picbst:1; 255 uint64_t picbst:1;
464 uint64_t xrdmsk:1; 256 uint64_t xrdmsk:1;
465 uint64_t xrddat:1; 257 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
475 } s; 258 } s;
476 struct cvmx_l2c_bst2_cn30xx { 259 struct cvmx_l2c_bst2_cn30xx {
477#ifdef __BIG_ENDIAN_BITFIELD
478 uint64_t reserved_16_63:48; 260 uint64_t reserved_16_63:48;
479 uint64_t mrb:4; 261 uint64_t mrb:4;
480 uint64_t rmdf:4; 262 uint64_t rmdf:4;
@@ -483,20 +265,9 @@ union cvmx_l2c_bst2 {
483 uint64_t reserved_2_2:1; 265 uint64_t reserved_2_2:1;
484 uint64_t xrdmsk:1; 266 uint64_t xrdmsk:1;
485 uint64_t xrddat:1; 267 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
496 } cn30xx; 268 } cn30xx;
497 struct cvmx_l2c_bst2_cn30xx cn31xx; 269 struct cvmx_l2c_bst2_cn30xx cn31xx;
498 struct cvmx_l2c_bst2_cn38xx { 270 struct cvmx_l2c_bst2_cn38xx {
499#ifdef __BIG_ENDIAN_BITFIELD
500 uint64_t reserved_16_63:48; 271 uint64_t reserved_16_63:48;
501 uint64_t mrb:4; 272 uint64_t mrb:4;
502 uint64_t rmdf:4; 273 uint64_t rmdf:4;
@@ -505,23 +276,12 @@ union cvmx_l2c_bst2 {
505 uint64_t picbst:1; 276 uint64_t picbst:1;
506 uint64_t xrdmsk:1; 277 uint64_t xrdmsk:1;
507 uint64_t xrddat:1; 278 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
518 } cn38xx; 279 } cn38xx;
519 struct cvmx_l2c_bst2_cn38xx cn38xxp2; 280 struct cvmx_l2c_bst2_cn38xx cn38xxp2;
520 struct cvmx_l2c_bst2_cn30xx cn50xx; 281 struct cvmx_l2c_bst2_cn30xx cn50xx;
521 struct cvmx_l2c_bst2_cn30xx cn52xx; 282 struct cvmx_l2c_bst2_cn30xx cn52xx;
522 struct cvmx_l2c_bst2_cn30xx cn52xxp1; 283 struct cvmx_l2c_bst2_cn30xx cn52xxp1;
523 struct cvmx_l2c_bst2_cn56xx { 284 struct cvmx_l2c_bst2_cn56xx {
524#ifdef __BIG_ENDIAN_BITFIELD
525 uint64_t reserved_16_63:48; 285 uint64_t reserved_16_63:48;
526 uint64_t mrb:4; 286 uint64_t mrb:4;
527 uint64_t rmdb:4; 287 uint64_t rmdb:4;
@@ -530,16 +290,6 @@ union cvmx_l2c_bst2 {
530 uint64_t picbst:1; 290 uint64_t picbst:1;
531 uint64_t xrdmsk:1; 291 uint64_t xrdmsk:1;
532 uint64_t xrddat:1; 292 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
543 } cn56xx; 293 } cn56xx;
544 struct cvmx_l2c_bst2_cn56xx cn56xxp1; 294 struct cvmx_l2c_bst2_cn56xx cn56xxp1;
545 struct cvmx_l2c_bst2_cn56xx cn58xx; 295 struct cvmx_l2c_bst2_cn56xx cn58xx;
@@ -549,93 +299,48 @@ union cvmx_l2c_bst2 {
549union cvmx_l2c_bst_memx { 299union cvmx_l2c_bst_memx {
550 uint64_t u64; 300 uint64_t u64;
551 struct cvmx_l2c_bst_memx_s { 301 struct cvmx_l2c_bst_memx_s {
552#ifdef __BIG_ENDIAN_BITFIELD
553 uint64_t start_bist:1; 302 uint64_t start_bist:1;
554 uint64_t clear_bist:1; 303 uint64_t clear_bist:1;
555 uint64_t reserved_5_61:57; 304 uint64_t reserved_5_61:57;
556 uint64_t rdffl:1; 305 uint64_t rdffl:1;
557 uint64_t vbffl:4; 306 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
565 } s; 307 } s;
566 struct cvmx_l2c_bst_memx_s cn61xx;
567 struct cvmx_l2c_bst_memx_s cn63xx; 308 struct cvmx_l2c_bst_memx_s cn63xx;
568 struct cvmx_l2c_bst_memx_s cn63xxp1; 309 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;
573}; 310};
574 311
575union cvmx_l2c_bst_tdtx { 312union cvmx_l2c_bst_tdtx {
576 uint64_t u64; 313 uint64_t u64;
577 struct cvmx_l2c_bst_tdtx_s { 314 struct cvmx_l2c_bst_tdtx_s {
578#ifdef __BIG_ENDIAN_BITFIELD
579 uint64_t reserved_32_63:32; 315 uint64_t reserved_32_63:32;
580 uint64_t fbfrspfl:8; 316 uint64_t fbfrspfl:8;
581 uint64_t sbffl:8; 317 uint64_t sbffl:8;
582 uint64_t fbffl:8; 318 uint64_t fbffl:8;
583 uint64_t l2dfl:8; 319 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
591 } s; 320 } s;
592 struct cvmx_l2c_bst_tdtx_s cn61xx;
593 struct cvmx_l2c_bst_tdtx_s cn63xx; 321 struct cvmx_l2c_bst_tdtx_s cn63xx;
594 struct cvmx_l2c_bst_tdtx_cn63xxp1 { 322 struct cvmx_l2c_bst_tdtx_cn63xxp1 {
595#ifdef __BIG_ENDIAN_BITFIELD
596 uint64_t reserved_24_63:40; 323 uint64_t reserved_24_63:40;
597 uint64_t sbffl:8; 324 uint64_t sbffl:8;
598 uint64_t fbffl:8; 325 uint64_t fbffl:8;
599 uint64_t l2dfl:8; 326 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
606 } cn63xxp1; 327 } 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;
611}; 328};
612 329
613union cvmx_l2c_bst_ttgx { 330union cvmx_l2c_bst_ttgx {
614 uint64_t u64; 331 uint64_t u64;
615 struct cvmx_l2c_bst_ttgx_s { 332 struct cvmx_l2c_bst_ttgx_s {
616#ifdef __BIG_ENDIAN_BITFIELD
617 uint64_t reserved_17_63:47; 333 uint64_t reserved_17_63:47;
618 uint64_t lrufl:1; 334 uint64_t lrufl:1;
619 uint64_t tagfl:16; 335 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
625 } s; 336 } s;
626 struct cvmx_l2c_bst_ttgx_s cn61xx;
627 struct cvmx_l2c_bst_ttgx_s cn63xx; 337 struct cvmx_l2c_bst_ttgx_s cn63xx;
628 struct cvmx_l2c_bst_ttgx_s cn63xxp1; 338 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;
633}; 339};
634 340
635union cvmx_l2c_cfg { 341union cvmx_l2c_cfg {
636 uint64_t u64; 342 uint64_t u64;
637 struct cvmx_l2c_cfg_s { 343 struct cvmx_l2c_cfg_s {
638#ifdef __BIG_ENDIAN_BITFIELD
639 uint64_t reserved_20_63:44; 344 uint64_t reserved_20_63:44;
640 uint64_t bstrun:1; 345 uint64_t bstrun:1;
641 uint64_t lbist:1; 346 uint64_t lbist:1;
@@ -651,26 +356,8 @@ union cvmx_l2c_cfg {
651 uint64_t rsp_arb_mode:1; 356 uint64_t rsp_arb_mode:1;
652 uint64_t rfb_arb_mode:1; 357 uint64_t rfb_arb_mode:1;
653 uint64_t lrf_arb_mode:1; 358 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
671 } s; 359 } s;
672 struct cvmx_l2c_cfg_cn30xx { 360 struct cvmx_l2c_cfg_cn30xx {
673#ifdef __BIG_ENDIAN_BITFIELD
674 uint64_t reserved_14_63:50; 361 uint64_t reserved_14_63:50;
675 uint64_t fpexp:4; 362 uint64_t fpexp:4;
676 uint64_t fpempty:1; 363 uint64_t fpempty:1;
@@ -680,23 +367,11 @@ union cvmx_l2c_cfg {
680 uint64_t rsp_arb_mode:1; 367 uint64_t rsp_arb_mode:1;
681 uint64_t rfb_arb_mode:1; 368 uint64_t rfb_arb_mode:1;
682 uint64_t lrf_arb_mode:1; 369 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
694 } cn30xx; 370 } cn30xx;
695 struct cvmx_l2c_cfg_cn30xx cn31xx; 371 struct cvmx_l2c_cfg_cn30xx cn31xx;
696 struct cvmx_l2c_cfg_cn30xx cn38xx; 372 struct cvmx_l2c_cfg_cn30xx cn38xx;
697 struct cvmx_l2c_cfg_cn30xx cn38xxp2; 373 struct cvmx_l2c_cfg_cn30xx cn38xxp2;
698 struct cvmx_l2c_cfg_cn50xx { 374 struct cvmx_l2c_cfg_cn50xx {
699#ifdef __BIG_ENDIAN_BITFIELD
700 uint64_t reserved_20_63:44; 375 uint64_t reserved_20_63:44;
701 uint64_t bstrun:1; 376 uint64_t bstrun:1;
702 uint64_t lbist:1; 377 uint64_t lbist:1;
@@ -709,27 +384,12 @@ union cvmx_l2c_cfg {
709 uint64_t rsp_arb_mode:1; 384 uint64_t rsp_arb_mode:1;
710 uint64_t rfb_arb_mode:1; 385 uint64_t rfb_arb_mode:1;
711 uint64_t lrf_arb_mode:1; 386 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
726 } cn50xx; 387 } cn50xx;
727 struct cvmx_l2c_cfg_cn50xx cn52xx; 388 struct cvmx_l2c_cfg_cn50xx cn52xx;
728 struct cvmx_l2c_cfg_cn50xx cn52xxp1; 389 struct cvmx_l2c_cfg_cn50xx cn52xxp1;
729 struct cvmx_l2c_cfg_s cn56xx; 390 struct cvmx_l2c_cfg_s cn56xx;
730 struct cvmx_l2c_cfg_s cn56xxp1; 391 struct cvmx_l2c_cfg_s cn56xxp1;
731 struct cvmx_l2c_cfg_cn58xx { 392 struct cvmx_l2c_cfg_cn58xx {
732#ifdef __BIG_ENDIAN_BITFIELD
733 uint64_t reserved_20_63:44; 393 uint64_t reserved_20_63:44;
734 uint64_t bstrun:1; 394 uint64_t bstrun:1;
735 uint64_t lbist:1; 395 uint64_t lbist:1;
@@ -743,24 +403,8 @@ union cvmx_l2c_cfg {
743 uint64_t rsp_arb_mode:1; 403 uint64_t rsp_arb_mode:1;
744 uint64_t rfb_arb_mode:1; 404 uint64_t rfb_arb_mode:1;
745 uint64_t lrf_arb_mode:1; 405 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
761 } cn58xx; 406 } cn58xx;
762 struct cvmx_l2c_cfg_cn58xxp1 { 407 struct cvmx_l2c_cfg_cn58xxp1 {
763#ifdef __BIG_ENDIAN_BITFIELD
764 uint64_t reserved_15_63:49; 408 uint64_t reserved_15_63:49;
765 uint64_t dfill_dis:1; 409 uint64_t dfill_dis:1;
766 uint64_t fpexp:4; 410 uint64_t fpexp:4;
@@ -771,115 +415,21 @@ union cvmx_l2c_cfg {
771 uint64_t rsp_arb_mode:1; 415 uint64_t rsp_arb_mode:1;
772 uint64_t rfb_arb_mode:1; 416 uint64_t rfb_arb_mode:1;
773 uint64_t lrf_arb_mode:1; 417 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
786 } cn58xxp1; 418 } cn58xxp1;
787}; 419};
788 420
789union cvmx_l2c_cop0_mapx { 421union cvmx_l2c_cop0_mapx {
790 uint64_t u64; 422 uint64_t u64;
791 struct cvmx_l2c_cop0_mapx_s { 423 struct cvmx_l2c_cop0_mapx_s {
792#ifdef __BIG_ENDIAN_BITFIELD
793 uint64_t data:64; 424 uint64_t data:64;
794#else
795 uint64_t data:64;
796#endif
797 } s; 425 } s;
798 struct cvmx_l2c_cop0_mapx_s cn61xx;
799 struct cvmx_l2c_cop0_mapx_s cn63xx; 426 struct cvmx_l2c_cop0_mapx_s cn63xx;
800 struct cvmx_l2c_cop0_mapx_s cn63xxp1; 427 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;
805}; 428};
806 429
807union cvmx_l2c_ctl { 430union cvmx_l2c_ctl {
808 uint64_t u64; 431 uint64_t u64;
809 struct cvmx_l2c_ctl_s { 432 struct cvmx_l2c_ctl_s {
810#ifdef __BIG_ENDIAN_BITFIELD
811 uint64_t reserved_30_63:34;
812 uint64_t sepcmt:1;
813 uint64_t rdf_fast:1;
814 uint64_t disstgl2i:1;
815 uint64_t l2dfsbe:1;
816 uint64_t l2dfdbe:1;
817 uint64_t discclk:1;
818 uint64_t maxvab:4;
819 uint64_t maxlfb:4;
820 uint64_t rsp_arb_mode:1;
821 uint64_t xmc_arb_mode:1;
822 uint64_t ef_ena:1;
823 uint64_t ef_cnt:7;
824 uint64_t vab_thresh:4;
825 uint64_t disecc: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
845 } s;
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; 433 uint64_t reserved_28_63:36;
884 uint64_t disstgl2i:1; 434 uint64_t disstgl2i:1;
885 uint64_t l2dfsbe:1; 435 uint64_t l2dfsbe:1;
@@ -894,25 +444,9 @@ union cvmx_l2c_ctl {
894 uint64_t vab_thresh:4; 444 uint64_t vab_thresh:4;
895 uint64_t disecc:1; 445 uint64_t disecc:1;
896 uint64_t disidxalias:1; 446 uint64_t disidxalias:1;
897#else 447 } s;
898 uint64_t disidxalias:1; 448 struct cvmx_l2c_ctl_s cn63xx;
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;
914 struct cvmx_l2c_ctl_cn63xxp1 { 449 struct cvmx_l2c_ctl_cn63xxp1 {
915#ifdef __BIG_ENDIAN_BITFIELD
916 uint64_t reserved_25_63:39; 450 uint64_t reserved_25_63:39;
917 uint64_t discclk:1; 451 uint64_t discclk:1;
918 uint64_t maxvab:4; 452 uint64_t maxvab:4;
@@ -924,30 +458,12 @@ union cvmx_l2c_ctl {
924 uint64_t vab_thresh:4; 458 uint64_t vab_thresh:4;
925 uint64_t disecc:1; 459 uint64_t disecc:1;
926 uint64_t disidxalias:1; 460 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
940 } cn63xxp1; 461 } 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;
945}; 462};
946 463
947union cvmx_l2c_dbg { 464union cvmx_l2c_dbg {
948 uint64_t u64; 465 uint64_t u64;
949 struct cvmx_l2c_dbg_s { 466 struct cvmx_l2c_dbg_s {
950#ifdef __BIG_ENDIAN_BITFIELD
951 uint64_t reserved_15_63:49; 467 uint64_t reserved_15_63:49;
952 uint64_t lfb_enum:4; 468 uint64_t lfb_enum:4;
953 uint64_t lfb_dmp:1; 469 uint64_t lfb_dmp:1;
@@ -956,19 +472,8 @@ union cvmx_l2c_dbg {
956 uint64_t finv:1; 472 uint64_t finv:1;
957 uint64_t l2d:1; 473 uint64_t l2d:1;
958 uint64_t l2t:1; 474 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
969 } s; 475 } s;
970 struct cvmx_l2c_dbg_cn30xx { 476 struct cvmx_l2c_dbg_cn30xx {
971#ifdef __BIG_ENDIAN_BITFIELD
972 uint64_t reserved_13_63:51; 477 uint64_t reserved_13_63:51;
973 uint64_t lfb_enum:2; 478 uint64_t lfb_enum:2;
974 uint64_t lfb_dmp:1; 479 uint64_t lfb_dmp:1;
@@ -979,21 +484,8 @@ union cvmx_l2c_dbg {
979 uint64_t finv:1; 484 uint64_t finv:1;
980 uint64_t l2d:1; 485 uint64_t l2d:1;
981 uint64_t l2t:1; 486 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
994 } cn30xx; 487 } cn30xx;
995 struct cvmx_l2c_dbg_cn31xx { 488 struct cvmx_l2c_dbg_cn31xx {
996#ifdef __BIG_ENDIAN_BITFIELD
997 uint64_t reserved_14_63:50; 489 uint64_t reserved_14_63:50;
998 uint64_t lfb_enum:3; 490 uint64_t lfb_enum:3;
999 uint64_t lfb_dmp:1; 491 uint64_t lfb_dmp:1;
@@ -1004,23 +496,10 @@ union cvmx_l2c_dbg {
1004 uint64_t finv:1; 496 uint64_t finv:1;
1005 uint64_t l2d:1; 497 uint64_t l2d:1;
1006 uint64_t l2t:1; 498 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
1019 } cn31xx; 499 } cn31xx;
1020 struct cvmx_l2c_dbg_s cn38xx; 500 struct cvmx_l2c_dbg_s cn38xx;
1021 struct cvmx_l2c_dbg_s cn38xxp2; 501 struct cvmx_l2c_dbg_s cn38xxp2;
1022 struct cvmx_l2c_dbg_cn50xx { 502 struct cvmx_l2c_dbg_cn50xx {
1023#ifdef __BIG_ENDIAN_BITFIELD
1024 uint64_t reserved_14_63:50; 503 uint64_t reserved_14_63:50;
1025 uint64_t lfb_enum:3; 504 uint64_t lfb_enum:3;
1026 uint64_t lfb_dmp:1; 505 uint64_t lfb_dmp:1;
@@ -1030,20 +509,8 @@ union cvmx_l2c_dbg {
1030 uint64_t finv:1; 509 uint64_t finv:1;
1031 uint64_t l2d:1; 510 uint64_t l2d:1;
1032 uint64_t l2t:1; 511 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
1044 } cn50xx; 512 } cn50xx;
1045 struct cvmx_l2c_dbg_cn52xx { 513 struct cvmx_l2c_dbg_cn52xx {
1046#ifdef __BIG_ENDIAN_BITFIELD
1047 uint64_t reserved_14_63:50; 514 uint64_t reserved_14_63:50;
1048 uint64_t lfb_enum:3; 515 uint64_t lfb_enum:3;
1049 uint64_t lfb_dmp:1; 516 uint64_t lfb_dmp:1;
@@ -1053,17 +520,6 @@ union cvmx_l2c_dbg {
1053 uint64_t finv:1; 520 uint64_t finv:1;
1054 uint64_t l2d:1; 521 uint64_t l2d:1;
1055 uint64_t l2t:1; 522 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
1067 } cn52xx; 523 } cn52xx;
1068 struct cvmx_l2c_dbg_cn52xx cn52xxp1; 524 struct cvmx_l2c_dbg_cn52xx cn52xxp1;
1069 struct cvmx_l2c_dbg_s cn56xx; 525 struct cvmx_l2c_dbg_s cn56xx;
@@ -1075,19 +531,11 @@ union cvmx_l2c_dbg {
1075union cvmx_l2c_dut { 531union cvmx_l2c_dut {
1076 uint64_t u64; 532 uint64_t u64;
1077 struct cvmx_l2c_dut_s { 533 struct cvmx_l2c_dut_s {
1078#ifdef __BIG_ENDIAN_BITFIELD
1079 uint64_t reserved_32_63:32; 534 uint64_t reserved_32_63:32;
1080 uint64_t dtena:1; 535 uint64_t dtena:1;
1081 uint64_t reserved_30_30:1; 536 uint64_t reserved_30_30:1;
1082 uint64_t dt_vld:1; 537 uint64_t dt_vld:1;
1083 uint64_t dt_tag:29; 538 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
1091 } s; 539 } s;
1092 struct cvmx_l2c_dut_s cn30xx; 540 struct cvmx_l2c_dut_s cn30xx;
1093 struct cvmx_l2c_dut_s cn31xx; 541 struct cvmx_l2c_dut_s cn31xx;
@@ -1105,77 +553,18 @@ union cvmx_l2c_dut {
1105union cvmx_l2c_dut_mapx { 553union cvmx_l2c_dut_mapx {
1106 uint64_t u64; 554 uint64_t u64;
1107 struct cvmx_l2c_dut_mapx_s { 555 struct cvmx_l2c_dut_mapx_s {
1108#ifdef __BIG_ENDIAN_BITFIELD
1109 uint64_t reserved_38_63:26; 556 uint64_t reserved_38_63:26;
1110 uint64_t tag:28; 557 uint64_t tag:28;
1111 uint64_t reserved_1_9:9; 558 uint64_t reserved_1_9:9;
1112 uint64_t valid:1; 559 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
1119 } s; 560 } s;
1120 struct cvmx_l2c_dut_mapx_s cn61xx;
1121 struct cvmx_l2c_dut_mapx_s cn63xx; 561 struct cvmx_l2c_dut_mapx_s cn63xx;
1122 struct cvmx_l2c_dut_mapx_s cn63xxp1; 562 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;
1127}; 563};
1128 564
1129union cvmx_l2c_err_tdtx { 565union cvmx_l2c_err_tdtx {
1130 uint64_t u64; 566 uint64_t u64;
1131 struct cvmx_l2c_err_tdtx_s { 567 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
1179 uint64_t dbe:1; 568 uint64_t dbe:1;
1180 uint64_t sbe:1; 569 uint64_t sbe:1;
1181 uint64_t vdbe:1; 570 uint64_t vdbe:1;
@@ -1185,75 +574,14 @@ union cvmx_l2c_err_tdtx {
1185 uint64_t wayidx:17; 574 uint64_t wayidx:17;
1186 uint64_t reserved_2_3:2; 575 uint64_t reserved_2_3:2;
1187 uint64_t type:2; 576 uint64_t type:2;
1188#else 577 } s;
1189 uint64_t type:2; 578 struct cvmx_l2c_err_tdtx_s cn63xx;
1190 uint64_t reserved_2_3:2; 579 struct cvmx_l2c_err_tdtx_s cn63xxp1;
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;
1205}; 580};
1206 581
1207union cvmx_l2c_err_ttgx { 582union cvmx_l2c_err_ttgx {
1208 uint64_t u64; 583 uint64_t u64;
1209 struct cvmx_l2c_err_ttgx_s { 584 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
1257 uint64_t dbe:1; 585 uint64_t dbe:1;
1258 uint64_t sbe:1; 586 uint64_t sbe:1;
1259 uint64_t noway:1; 587 uint64_t noway:1;
@@ -1263,117 +591,43 @@ union cvmx_l2c_err_ttgx {
1263 uint64_t wayidx:14; 591 uint64_t wayidx:14;
1264 uint64_t reserved_2_6:5; 592 uint64_t reserved_2_6:5;
1265 uint64_t type:2; 593 uint64_t type:2;
1266#else 594 } s;
1267 uint64_t type:2; 595 struct cvmx_l2c_err_ttgx_s cn63xx;
1268 uint64_t reserved_2_6:5; 596 struct cvmx_l2c_err_ttgx_s cn63xxp1;
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;
1283}; 597};
1284 598
1285union cvmx_l2c_err_vbfx { 599union cvmx_l2c_err_vbfx {
1286 uint64_t u64; 600 uint64_t u64;
1287 struct cvmx_l2c_err_vbfx_s { 601 struct cvmx_l2c_err_vbfx_s {
1288#ifdef __BIG_ENDIAN_BITFIELD
1289 uint64_t reserved_62_63:2; 602 uint64_t reserved_62_63:2;
1290 uint64_t vdbe:1; 603 uint64_t vdbe:1;
1291 uint64_t vsbe:1; 604 uint64_t vsbe:1;
1292 uint64_t vsyn:10; 605 uint64_t vsyn:10;
1293 uint64_t reserved_2_49:48; 606 uint64_t reserved_2_49:48;
1294 uint64_t type:2; 607 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
1303 } s; 608 } s;
1304 struct cvmx_l2c_err_vbfx_s cn61xx;
1305 struct cvmx_l2c_err_vbfx_s cn63xx; 609 struct cvmx_l2c_err_vbfx_s cn63xx;
1306 struct cvmx_l2c_err_vbfx_s cn63xxp1; 610 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;
1311}; 611};
1312 612
1313union cvmx_l2c_err_xmc { 613union cvmx_l2c_err_xmc {
1314 uint64_t u64; 614 uint64_t u64;
1315 struct cvmx_l2c_err_xmc_s { 615 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
1332 uint64_t cmd:6; 616 uint64_t cmd:6;
1333 uint64_t reserved_52_57:6; 617 uint64_t reserved_52_57:6;
1334 uint64_t sid:4; 618 uint64_t sid:4;
1335 uint64_t reserved_38_47:10; 619 uint64_t reserved_38_47:10;
1336 uint64_t addr:38; 620 uint64_t addr:38;
1337#else 621 } s;
1338 uint64_t addr:38; 622 struct cvmx_l2c_err_xmc_s cn63xx;
1339 uint64_t reserved_38_47:10; 623 struct cvmx_l2c_err_xmc_s cn63xxp1;
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;
1365}; 624};
1366 625
1367union cvmx_l2c_grpwrr0 { 626union cvmx_l2c_grpwrr0 {
1368 uint64_t u64; 627 uint64_t u64;
1369 struct cvmx_l2c_grpwrr0_s { 628 struct cvmx_l2c_grpwrr0_s {
1370#ifdef __BIG_ENDIAN_BITFIELD
1371 uint64_t plc1rmsk:32; 629 uint64_t plc1rmsk:32;
1372 uint64_t plc0rmsk:32; 630 uint64_t plc0rmsk:32;
1373#else
1374 uint64_t plc0rmsk:32;
1375 uint64_t plc1rmsk:32;
1376#endif
1377 } s; 631 } s;
1378 struct cvmx_l2c_grpwrr0_s cn52xx; 632 struct cvmx_l2c_grpwrr0_s cn52xx;
1379 struct cvmx_l2c_grpwrr0_s cn52xxp1; 633 struct cvmx_l2c_grpwrr0_s cn52xxp1;
@@ -1384,13 +638,8 @@ union cvmx_l2c_grpwrr0 {
1384union cvmx_l2c_grpwrr1 { 638union cvmx_l2c_grpwrr1 {
1385 uint64_t u64; 639 uint64_t u64;
1386 struct cvmx_l2c_grpwrr1_s { 640 struct cvmx_l2c_grpwrr1_s {
1387#ifdef __BIG_ENDIAN_BITFIELD
1388 uint64_t ilcrmsk:32; 641 uint64_t ilcrmsk:32;
1389 uint64_t plc2rmsk:32; 642 uint64_t plc2rmsk:32;
1390#else
1391 uint64_t plc2rmsk:32;
1392 uint64_t ilcrmsk:32;
1393#endif
1394 } s; 643 } s;
1395 struct cvmx_l2c_grpwrr1_s cn52xx; 644 struct cvmx_l2c_grpwrr1_s cn52xx;
1396 struct cvmx_l2c_grpwrr1_s cn52xxp1; 645 struct cvmx_l2c_grpwrr1_s cn52xxp1;
@@ -1401,7 +650,6 @@ union cvmx_l2c_grpwrr1 {
1401union cvmx_l2c_int_en { 650union cvmx_l2c_int_en {
1402 uint64_t u64; 651 uint64_t u64;
1403 struct cvmx_l2c_int_en_s { 652 struct cvmx_l2c_int_en_s {
1404#ifdef __BIG_ENDIAN_BITFIELD
1405 uint64_t reserved_9_63:55; 653 uint64_t reserved_9_63:55;
1406 uint64_t lck2ena:1; 654 uint64_t lck2ena:1;
1407 uint64_t lckena:1; 655 uint64_t lckena:1;
@@ -1412,18 +660,6 @@ union cvmx_l2c_int_en {
1412 uint64_t oob3en:1; 660 uint64_t oob3en:1;
1413 uint64_t oob2en:1; 661 uint64_t oob2en:1;
1414 uint64_t oob1en:1; 662 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
1427 } s; 663 } s;
1428 struct cvmx_l2c_int_en_s cn52xx; 664 struct cvmx_l2c_int_en_s cn52xx;
1429 struct cvmx_l2c_int_en_s cn52xxp1; 665 struct cvmx_l2c_int_en_s cn52xxp1;
@@ -1434,7 +670,6 @@ union cvmx_l2c_int_en {
1434union cvmx_l2c_int_ena { 670union cvmx_l2c_int_ena {
1435 uint64_t u64; 671 uint64_t u64;
1436 struct cvmx_l2c_int_ena_s { 672 struct cvmx_l2c_int_ena_s {
1437#ifdef __BIG_ENDIAN_BITFIELD
1438 uint64_t reserved_8_63:56; 673 uint64_t reserved_8_63:56;
1439 uint64_t bigrd:1; 674 uint64_t bigrd:1;
1440 uint64_t bigwr:1; 675 uint64_t bigwr:1;
@@ -1444,22 +679,9 @@ union cvmx_l2c_int_ena {
1444 uint64_t vrtwr:1; 679 uint64_t vrtwr:1;
1445 uint64_t holewr:1; 680 uint64_t holewr:1;
1446 uint64_t holerd:1; 681 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
1458 } s; 682 } s;
1459 struct cvmx_l2c_int_ena_s cn61xx;
1460 struct cvmx_l2c_int_ena_s cn63xx; 683 struct cvmx_l2c_int_ena_s cn63xx;
1461 struct cvmx_l2c_int_ena_cn63xxp1 { 684 struct cvmx_l2c_int_ena_cn63xxp1 {
1462#ifdef __BIG_ENDIAN_BITFIELD
1463 uint64_t reserved_6_63:58; 685 uint64_t reserved_6_63:58;
1464 uint64_t vrtpe:1; 686 uint64_t vrtpe:1;
1465 uint64_t vrtadrng:1; 687 uint64_t vrtadrng:1;
@@ -1467,59 +689,12 @@ union cvmx_l2c_int_ena {
1467 uint64_t vrtwr:1; 689 uint64_t vrtwr:1;
1468 uint64_t holewr:1; 690 uint64_t holewr:1;
1469 uint64_t holerd:1; 691 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
1479 } cn63xxp1; 692 } 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;
1484}; 693};
1485 694
1486union cvmx_l2c_int_reg { 695union cvmx_l2c_int_reg {
1487 uint64_t u64; 696 uint64_t u64;
1488 struct cvmx_l2c_int_reg_s { 697 struct cvmx_l2c_int_reg_s {
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;
1494 uint64_t tad0:1;
1495 uint64_t reserved_8_15:8;
1496 uint64_t bigrd:1;
1497 uint64_t bigwr:1;
1498 uint64_t vrtpe:1;
1499 uint64_t vrtadrng:1;
1500 uint64_t vrtidrng:1;
1501 uint64_t vrtwr:1;
1502 uint64_t holewr: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
1520 } s;
1521 struct cvmx_l2c_int_reg_cn61xx {
1522#ifdef __BIG_ENDIAN_BITFIELD
1523 uint64_t reserved_17_63:47; 698 uint64_t reserved_17_63:47;
1524 uint64_t tad0:1; 699 uint64_t tad0:1;
1525 uint64_t reserved_8_15:8; 700 uint64_t reserved_8_15:8;
@@ -1531,23 +706,9 @@ union cvmx_l2c_int_reg {
1531 uint64_t vrtwr:1; 706 uint64_t vrtwr:1;
1532 uint64_t holewr:1; 707 uint64_t holewr:1;
1533 uint64_t holerd:1; 708 uint64_t holerd:1;
1534#else 709 } s;
1535 uint64_t holerd:1; 710 struct cvmx_l2c_int_reg_s cn63xx;
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;
1549 struct cvmx_l2c_int_reg_cn63xxp1 { 711 struct cvmx_l2c_int_reg_cn63xxp1 {
1550#ifdef __BIG_ENDIAN_BITFIELD
1551 uint64_t reserved_17_63:47; 712 uint64_t reserved_17_63:47;
1552 uint64_t tad0:1; 713 uint64_t tad0:1;
1553 uint64_t reserved_6_15:10; 714 uint64_t reserved_6_15:10;
@@ -1557,28 +718,12 @@ union cvmx_l2c_int_reg {
1557 uint64_t vrtwr:1; 718 uint64_t vrtwr:1;
1558 uint64_t holewr:1; 719 uint64_t holewr:1;
1559 uint64_t holerd:1; 720 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
1571 } cn63xxp1; 721 } 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;
1576}; 722};
1577 723
1578union cvmx_l2c_int_stat { 724union cvmx_l2c_int_stat {
1579 uint64_t u64; 725 uint64_t u64;
1580 struct cvmx_l2c_int_stat_s { 726 struct cvmx_l2c_int_stat_s {
1581#ifdef __BIG_ENDIAN_BITFIELD
1582 uint64_t reserved_9_63:55; 727 uint64_t reserved_9_63:55;
1583 uint64_t lck2:1; 728 uint64_t lck2:1;
1584 uint64_t lck:1; 729 uint64_t lck:1;
@@ -1589,18 +734,6 @@ union cvmx_l2c_int_stat {
1589 uint64_t oob3:1; 734 uint64_t oob3:1;
1590 uint64_t oob2:1; 735 uint64_t oob2:1;
1591 uint64_t oob1:1; 736 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
1604 } s; 737 } s;
1605 struct cvmx_l2c_int_stat_s cn52xx; 738 struct cvmx_l2c_int_stat_s cn52xx;
1606 struct cvmx_l2c_int_stat_s cn52xxp1; 739 struct cvmx_l2c_int_stat_s cn52xxp1;
@@ -1611,53 +744,28 @@ union cvmx_l2c_int_stat {
1611union cvmx_l2c_iocx_pfc { 744union cvmx_l2c_iocx_pfc {
1612 uint64_t u64; 745 uint64_t u64;
1613 struct cvmx_l2c_iocx_pfc_s { 746 struct cvmx_l2c_iocx_pfc_s {
1614#ifdef __BIG_ENDIAN_BITFIELD
1615 uint64_t count:64;
1616#else
1617 uint64_t count:64; 747 uint64_t count:64;
1618#endif
1619 } s; 748 } s;
1620 struct cvmx_l2c_iocx_pfc_s cn61xx;
1621 struct cvmx_l2c_iocx_pfc_s cn63xx; 749 struct cvmx_l2c_iocx_pfc_s cn63xx;
1622 struct cvmx_l2c_iocx_pfc_s cn63xxp1; 750 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;
1627}; 751};
1628 752
1629union cvmx_l2c_iorx_pfc { 753union cvmx_l2c_iorx_pfc {
1630 uint64_t u64; 754 uint64_t u64;
1631 struct cvmx_l2c_iorx_pfc_s { 755 struct cvmx_l2c_iorx_pfc_s {
1632#ifdef __BIG_ENDIAN_BITFIELD
1633 uint64_t count:64;
1634#else
1635 uint64_t count:64; 756 uint64_t count:64;
1636#endif
1637 } s; 757 } s;
1638 struct cvmx_l2c_iorx_pfc_s cn61xx;
1639 struct cvmx_l2c_iorx_pfc_s cn63xx; 758 struct cvmx_l2c_iorx_pfc_s cn63xx;
1640 struct cvmx_l2c_iorx_pfc_s cn63xxp1; 759 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;
1645}; 760};
1646 761
1647union cvmx_l2c_lckbase { 762union cvmx_l2c_lckbase {
1648 uint64_t u64; 763 uint64_t u64;
1649 struct cvmx_l2c_lckbase_s { 764 struct cvmx_l2c_lckbase_s {
1650#ifdef __BIG_ENDIAN_BITFIELD
1651 uint64_t reserved_31_63:33; 765 uint64_t reserved_31_63:33;
1652 uint64_t lck_base:27; 766 uint64_t lck_base:27;
1653 uint64_t reserved_1_3:3; 767 uint64_t reserved_1_3:3;
1654 uint64_t lck_ena:1; 768 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
1661 } s; 769 } s;
1662 struct cvmx_l2c_lckbase_s cn30xx; 770 struct cvmx_l2c_lckbase_s cn30xx;
1663 struct cvmx_l2c_lckbase_s cn31xx; 771 struct cvmx_l2c_lckbase_s cn31xx;
@@ -1675,13 +783,8 @@ union cvmx_l2c_lckbase {
1675union cvmx_l2c_lckoff { 783union cvmx_l2c_lckoff {
1676 uint64_t u64; 784 uint64_t u64;
1677 struct cvmx_l2c_lckoff_s { 785 struct cvmx_l2c_lckoff_s {
1678#ifdef __BIG_ENDIAN_BITFIELD
1679 uint64_t reserved_10_63:54; 786 uint64_t reserved_10_63:54;
1680 uint64_t lck_offset:10; 787 uint64_t lck_offset:10;
1681#else
1682 uint64_t lck_offset:10;
1683 uint64_t reserved_10_63:54;
1684#endif
1685 } s; 788 } s;
1686 struct cvmx_l2c_lckoff_s cn30xx; 789 struct cvmx_l2c_lckoff_s cn30xx;
1687 struct cvmx_l2c_lckoff_s cn31xx; 790 struct cvmx_l2c_lckoff_s cn31xx;
@@ -1699,7 +802,6 @@ union cvmx_l2c_lckoff {
1699union cvmx_l2c_lfb0 { 802union cvmx_l2c_lfb0 {
1700 uint64_t u64; 803 uint64_t u64;
1701 struct cvmx_l2c_lfb0_s { 804 struct cvmx_l2c_lfb0_s {
1702#ifdef __BIG_ENDIAN_BITFIELD
1703 uint64_t reserved_32_63:32; 805 uint64_t reserved_32_63:32;
1704 uint64_t stcpnd:1; 806 uint64_t stcpnd:1;
1705 uint64_t stpnd:1; 807 uint64_t stpnd:1;
@@ -1714,25 +816,8 @@ union cvmx_l2c_lfb0 {
1714 uint64_t sid:9; 816 uint64_t sid:9;
1715 uint64_t cmd:4; 817 uint64_t cmd:4;
1716 uint64_t vld:1; 818 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
1733 } s; 819 } s;
1734 struct cvmx_l2c_lfb0_cn30xx { 820 struct cvmx_l2c_lfb0_cn30xx {
1735#ifdef __BIG_ENDIAN_BITFIELD
1736 uint64_t reserved_32_63:32; 821 uint64_t reserved_32_63:32;
1737 uint64_t stcpnd:1; 822 uint64_t stcpnd:1;
1738 uint64_t stpnd:1; 823 uint64_t stpnd:1;
@@ -1750,28 +835,8 @@ union cvmx_l2c_lfb0 {
1750 uint64_t sid:9; 835 uint64_t sid:9;
1751 uint64_t cmd:4; 836 uint64_t cmd:4;
1752 uint64_t vld:1; 837 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
1772 } cn30xx; 838 } cn30xx;
1773 struct cvmx_l2c_lfb0_cn31xx { 839 struct cvmx_l2c_lfb0_cn31xx {
1774#ifdef __BIG_ENDIAN_BITFIELD
1775 uint64_t reserved_32_63:32; 840 uint64_t reserved_32_63:32;
1776 uint64_t stcpnd:1; 841 uint64_t stcpnd:1;
1777 uint64_t stpnd:1; 842 uint64_t stpnd:1;
@@ -1789,30 +854,10 @@ union cvmx_l2c_lfb0 {
1789 uint64_t sid:9; 854 uint64_t sid:9;
1790 uint64_t cmd:4; 855 uint64_t cmd:4;
1791 uint64_t vld:1; 856 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
1811 } cn31xx; 857 } cn31xx;
1812 struct cvmx_l2c_lfb0_s cn38xx; 858 struct cvmx_l2c_lfb0_s cn38xx;
1813 struct cvmx_l2c_lfb0_s cn38xxp2; 859 struct cvmx_l2c_lfb0_s cn38xxp2;
1814 struct cvmx_l2c_lfb0_cn50xx { 860 struct cvmx_l2c_lfb0_cn50xx {
1815#ifdef __BIG_ENDIAN_BITFIELD
1816 uint64_t reserved_32_63:32; 861 uint64_t reserved_32_63:32;
1817 uint64_t stcpnd:1; 862 uint64_t stcpnd:1;
1818 uint64_t stpnd:1; 863 uint64_t stpnd:1;
@@ -1829,24 +874,6 @@ union cvmx_l2c_lfb0 {
1829 uint64_t sid:9; 874 uint64_t sid:9;
1830 uint64_t cmd:4; 875 uint64_t cmd:4;
1831 uint64_t vld:1; 876 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
1850 } cn50xx; 877 } cn50xx;
1851 struct cvmx_l2c_lfb0_cn50xx cn52xx; 878 struct cvmx_l2c_lfb0_cn50xx cn52xx;
1852 struct cvmx_l2c_lfb0_cn50xx cn52xxp1; 879 struct cvmx_l2c_lfb0_cn50xx cn52xxp1;
@@ -1859,7 +886,6 @@ union cvmx_l2c_lfb0 {
1859union cvmx_l2c_lfb1 { 886union cvmx_l2c_lfb1 {
1860 uint64_t u64; 887 uint64_t u64;
1861 struct cvmx_l2c_lfb1_s { 888 struct cvmx_l2c_lfb1_s {
1862#ifdef __BIG_ENDIAN_BITFIELD
1863 uint64_t reserved_19_63:45; 889 uint64_t reserved_19_63:45;
1864 uint64_t dsgoing:1; 890 uint64_t dsgoing:1;
1865 uint64_t bid:2; 891 uint64_t bid:2;
@@ -1879,27 +905,6 @@ union cvmx_l2c_lfb1 {
1879 uint64_t prbrty:1; 905 uint64_t prbrty:1;
1880 uint64_t wtprb:1; 906 uint64_t wtprb:1;
1881 uint64_t vld:1; 907 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
1903 } s; 908 } s;
1904 struct cvmx_l2c_lfb1_s cn30xx; 909 struct cvmx_l2c_lfb1_s cn30xx;
1905 struct cvmx_l2c_lfb1_s cn31xx; 910 struct cvmx_l2c_lfb1_s cn31xx;
@@ -1917,69 +922,35 @@ union cvmx_l2c_lfb1 {
1917union cvmx_l2c_lfb2 { 922union cvmx_l2c_lfb2 {
1918 uint64_t u64; 923 uint64_t u64;
1919 struct cvmx_l2c_lfb2_s { 924 struct cvmx_l2c_lfb2_s {
1920#ifdef __BIG_ENDIAN_BITFIELD
1921 uint64_t reserved_0_63:64; 925 uint64_t reserved_0_63:64;
1922#else
1923 uint64_t reserved_0_63:64;
1924#endif
1925 } s; 926 } s;
1926 struct cvmx_l2c_lfb2_cn30xx { 927 struct cvmx_l2c_lfb2_cn30xx {
1927#ifdef __BIG_ENDIAN_BITFIELD
1928 uint64_t reserved_27_63:37; 928 uint64_t reserved_27_63:37;
1929 uint64_t lfb_tag:19; 929 uint64_t lfb_tag:19;
1930 uint64_t lfb_idx:8; 930 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
1936 } cn30xx; 931 } cn30xx;
1937 struct cvmx_l2c_lfb2_cn31xx { 932 struct cvmx_l2c_lfb2_cn31xx {
1938#ifdef __BIG_ENDIAN_BITFIELD
1939 uint64_t reserved_27_63:37; 933 uint64_t reserved_27_63:37;
1940 uint64_t lfb_tag:17; 934 uint64_t lfb_tag:17;
1941 uint64_t lfb_idx:10; 935 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
1947 } cn31xx; 936 } cn31xx;
1948 struct cvmx_l2c_lfb2_cn31xx cn38xx; 937 struct cvmx_l2c_lfb2_cn31xx cn38xx;
1949 struct cvmx_l2c_lfb2_cn31xx cn38xxp2; 938 struct cvmx_l2c_lfb2_cn31xx cn38xxp2;
1950 struct cvmx_l2c_lfb2_cn50xx { 939 struct cvmx_l2c_lfb2_cn50xx {
1951#ifdef __BIG_ENDIAN_BITFIELD
1952 uint64_t reserved_27_63:37; 940 uint64_t reserved_27_63:37;
1953 uint64_t lfb_tag:20; 941 uint64_t lfb_tag:20;
1954 uint64_t lfb_idx:7; 942 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
1960 } cn50xx; 943 } cn50xx;
1961 struct cvmx_l2c_lfb2_cn52xx { 944 struct cvmx_l2c_lfb2_cn52xx {
1962#ifdef __BIG_ENDIAN_BITFIELD
1963 uint64_t reserved_27_63:37; 945 uint64_t reserved_27_63:37;
1964 uint64_t lfb_tag:18; 946 uint64_t lfb_tag:18;
1965 uint64_t lfb_idx:9; 947 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
1971 } cn52xx; 948 } cn52xx;
1972 struct cvmx_l2c_lfb2_cn52xx cn52xxp1; 949 struct cvmx_l2c_lfb2_cn52xx cn52xxp1;
1973 struct cvmx_l2c_lfb2_cn56xx { 950 struct cvmx_l2c_lfb2_cn56xx {
1974#ifdef __BIG_ENDIAN_BITFIELD
1975 uint64_t reserved_27_63:37; 951 uint64_t reserved_27_63:37;
1976 uint64_t lfb_tag:16; 952 uint64_t lfb_tag:16;
1977 uint64_t lfb_idx:11; 953 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
1983 } cn56xx; 954 } cn56xx;
1984 struct cvmx_l2c_lfb2_cn56xx cn56xxp1; 955 struct cvmx_l2c_lfb2_cn56xx cn56xxp1;
1985 struct cvmx_l2c_lfb2_cn56xx cn58xx; 956 struct cvmx_l2c_lfb2_cn56xx cn58xx;
@@ -1989,41 +960,21 @@ union cvmx_l2c_lfb2 {
1989union cvmx_l2c_lfb3 { 960union cvmx_l2c_lfb3 {
1990 uint64_t u64; 961 uint64_t u64;
1991 struct cvmx_l2c_lfb3_s { 962 struct cvmx_l2c_lfb3_s {
1992#ifdef __BIG_ENDIAN_BITFIELD
1993 uint64_t reserved_5_63:59; 963 uint64_t reserved_5_63:59;
1994 uint64_t stpartdis:1; 964 uint64_t stpartdis:1;
1995 uint64_t lfb_hwm:4; 965 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
2001 } s; 966 } s;
2002 struct cvmx_l2c_lfb3_cn30xx { 967 struct cvmx_l2c_lfb3_cn30xx {
2003#ifdef __BIG_ENDIAN_BITFIELD
2004 uint64_t reserved_5_63:59; 968 uint64_t reserved_5_63:59;
2005 uint64_t stpartdis:1; 969 uint64_t stpartdis:1;
2006 uint64_t reserved_2_3:2; 970 uint64_t reserved_2_3:2;
2007 uint64_t lfb_hwm:2; 971 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
2014 } cn30xx; 972 } cn30xx;
2015 struct cvmx_l2c_lfb3_cn31xx { 973 struct cvmx_l2c_lfb3_cn31xx {
2016#ifdef __BIG_ENDIAN_BITFIELD
2017 uint64_t reserved_5_63:59; 974 uint64_t reserved_5_63:59;
2018 uint64_t stpartdis:1; 975 uint64_t stpartdis:1;
2019 uint64_t reserved_3_3:1; 976 uint64_t reserved_3_3:1;
2020 uint64_t lfb_hwm:3; 977 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
2027 } cn31xx; 978 } cn31xx;
2028 struct cvmx_l2c_lfb3_s cn38xx; 979 struct cvmx_l2c_lfb3_s cn38xx;
2029 struct cvmx_l2c_lfb3_s cn38xxp2; 980 struct cvmx_l2c_lfb3_s cn38xxp2;
@@ -2039,15 +990,9 @@ union cvmx_l2c_lfb3 {
2039union cvmx_l2c_oob { 990union cvmx_l2c_oob {
2040 uint64_t u64; 991 uint64_t u64;
2041 struct cvmx_l2c_oob_s { 992 struct cvmx_l2c_oob_s {
2042#ifdef __BIG_ENDIAN_BITFIELD
2043 uint64_t reserved_2_63:62; 993 uint64_t reserved_2_63:62;
2044 uint64_t dwbena:1; 994 uint64_t dwbena:1;
2045 uint64_t stena:1; 995 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
2051 } s; 996 } s;
2052 struct cvmx_l2c_oob_s cn52xx; 997 struct cvmx_l2c_oob_s cn52xx;
2053 struct cvmx_l2c_oob_s cn52xxp1; 998 struct cvmx_l2c_oob_s cn52xxp1;
@@ -2058,21 +1003,12 @@ union cvmx_l2c_oob {
2058union cvmx_l2c_oob1 { 1003union cvmx_l2c_oob1 {
2059 uint64_t u64; 1004 uint64_t u64;
2060 struct cvmx_l2c_oob1_s { 1005 struct cvmx_l2c_oob1_s {
2061#ifdef __BIG_ENDIAN_BITFIELD
2062 uint64_t fadr:27; 1006 uint64_t fadr:27;
2063 uint64_t fsrc:1; 1007 uint64_t fsrc:1;
2064 uint64_t reserved_34_35:2; 1008 uint64_t reserved_34_35:2;
2065 uint64_t sadr:14; 1009 uint64_t sadr:14;
2066 uint64_t reserved_14_19:6; 1010 uint64_t reserved_14_19:6;
2067 uint64_t size:14; 1011 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
2076 } s; 1012 } s;
2077 struct cvmx_l2c_oob1_s cn52xx; 1013 struct cvmx_l2c_oob1_s cn52xx;
2078 struct cvmx_l2c_oob1_s cn52xxp1; 1014 struct cvmx_l2c_oob1_s cn52xxp1;
@@ -2083,21 +1019,12 @@ union cvmx_l2c_oob1 {
2083union cvmx_l2c_oob2 { 1019union cvmx_l2c_oob2 {
2084 uint64_t u64; 1020 uint64_t u64;
2085 struct cvmx_l2c_oob2_s { 1021 struct cvmx_l2c_oob2_s {
2086#ifdef __BIG_ENDIAN_BITFIELD
2087 uint64_t fadr:27; 1022 uint64_t fadr:27;
2088 uint64_t fsrc:1; 1023 uint64_t fsrc:1;
2089 uint64_t reserved_34_35:2; 1024 uint64_t reserved_34_35:2;
2090 uint64_t sadr:14; 1025 uint64_t sadr:14;
2091 uint64_t reserved_14_19:6; 1026 uint64_t reserved_14_19:6;
2092 uint64_t size:14; 1027 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
2101 } s; 1028 } s;
2102 struct cvmx_l2c_oob2_s cn52xx; 1029 struct cvmx_l2c_oob2_s cn52xx;
2103 struct cvmx_l2c_oob2_s cn52xxp1; 1030 struct cvmx_l2c_oob2_s cn52xxp1;
@@ -2108,21 +1035,12 @@ union cvmx_l2c_oob2 {
2108union cvmx_l2c_oob3 { 1035union cvmx_l2c_oob3 {
2109 uint64_t u64; 1036 uint64_t u64;
2110 struct cvmx_l2c_oob3_s { 1037 struct cvmx_l2c_oob3_s {
2111#ifdef __BIG_ENDIAN_BITFIELD
2112 uint64_t fadr:27; 1038 uint64_t fadr:27;
2113 uint64_t fsrc:1; 1039 uint64_t fsrc:1;
2114 uint64_t reserved_34_35:2; 1040 uint64_t reserved_34_35:2;
2115 uint64_t sadr:14; 1041 uint64_t sadr:14;
2116 uint64_t reserved_14_19:6; 1042 uint64_t reserved_14_19:6;
2117 uint64_t size:14; 1043 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
2126 } s; 1044 } s;
2127 struct cvmx_l2c_oob3_s cn52xx; 1045 struct cvmx_l2c_oob3_s cn52xx;
2128 struct cvmx_l2c_oob3_s cn52xxp1; 1046 struct cvmx_l2c_oob3_s cn52xxp1;
@@ -2133,13 +1051,8 @@ union cvmx_l2c_oob3 {
2133union cvmx_l2c_pfcx { 1051union cvmx_l2c_pfcx {
2134 uint64_t u64; 1052 uint64_t u64;
2135 struct cvmx_l2c_pfcx_s { 1053 struct cvmx_l2c_pfcx_s {
2136#ifdef __BIG_ENDIAN_BITFIELD
2137 uint64_t reserved_36_63:28; 1054 uint64_t reserved_36_63:28;
2138 uint64_t pfcnt0:36; 1055 uint64_t pfcnt0:36;
2139#else
2140 uint64_t pfcnt0:36;
2141 uint64_t reserved_36_63:28;
2142#endif
2143 } s; 1056 } s;
2144 struct cvmx_l2c_pfcx_s cn30xx; 1057 struct cvmx_l2c_pfcx_s cn30xx;
2145 struct cvmx_l2c_pfcx_s cn31xx; 1058 struct cvmx_l2c_pfcx_s cn31xx;
@@ -2157,7 +1070,6 @@ union cvmx_l2c_pfcx {
2157union cvmx_l2c_pfctl { 1070union cvmx_l2c_pfctl {
2158 uint64_t u64; 1071 uint64_t u64;
2159 struct cvmx_l2c_pfctl_s { 1072 struct cvmx_l2c_pfctl_s {
2160#ifdef __BIG_ENDIAN_BITFIELD
2161 uint64_t reserved_36_63:28; 1073 uint64_t reserved_36_63:28;
2162 uint64_t cnt3rdclr:1; 1074 uint64_t cnt3rdclr:1;
2163 uint64_t cnt2rdclr:1; 1075 uint64_t cnt2rdclr:1;
@@ -2175,25 +1087,6 @@ union cvmx_l2c_pfctl {
2175 uint64_t cnt0ena:1; 1087 uint64_t cnt0ena:1;
2176 uint64_t cnt0clr:1; 1088 uint64_t cnt0clr:1;
2177 uint64_t cnt0sel:6; 1089 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
2197 } s; 1090 } s;
2198 struct cvmx_l2c_pfctl_s cn30xx; 1091 struct cvmx_l2c_pfctl_s cn30xx;
2199 struct cvmx_l2c_pfctl_s cn31xx; 1092 struct cvmx_l2c_pfctl_s cn31xx;
@@ -2211,7 +1104,6 @@ union cvmx_l2c_pfctl {
2211union cvmx_l2c_ppgrp { 1104union cvmx_l2c_ppgrp {
2212 uint64_t u64; 1105 uint64_t u64;
2213 struct cvmx_l2c_ppgrp_s { 1106 struct cvmx_l2c_ppgrp_s {
2214#ifdef __BIG_ENDIAN_BITFIELD
2215 uint64_t reserved_24_63:40; 1107 uint64_t reserved_24_63:40;
2216 uint64_t pp11grp:2; 1108 uint64_t pp11grp:2;
2217 uint64_t pp10grp:2; 1109 uint64_t pp10grp:2;
@@ -2225,36 +1117,13 @@ union cvmx_l2c_ppgrp {
2225 uint64_t pp2grp:2; 1117 uint64_t pp2grp:2;
2226 uint64_t pp1grp:2; 1118 uint64_t pp1grp:2;
2227 uint64_t pp0grp:2; 1119 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
2243 } s; 1120 } s;
2244 struct cvmx_l2c_ppgrp_cn52xx { 1121 struct cvmx_l2c_ppgrp_cn52xx {
2245#ifdef __BIG_ENDIAN_BITFIELD
2246 uint64_t reserved_8_63:56; 1122 uint64_t reserved_8_63:56;
2247 uint64_t pp3grp:2; 1123 uint64_t pp3grp:2;
2248 uint64_t pp2grp:2; 1124 uint64_t pp2grp:2;
2249 uint64_t pp1grp:2; 1125 uint64_t pp1grp:2;
2250 uint64_t pp0grp:2; 1126 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
2258 } cn52xx; 1127 } cn52xx;
2259 struct cvmx_l2c_ppgrp_cn52xx cn52xxp1; 1128 struct cvmx_l2c_ppgrp_cn52xx cn52xxp1;
2260 struct cvmx_l2c_ppgrp_s cn56xx; 1129 struct cvmx_l2c_ppgrp_s cn56xx;
@@ -2264,200 +1133,81 @@ union cvmx_l2c_ppgrp {
2264union cvmx_l2c_qos_iobx { 1133union cvmx_l2c_qos_iobx {
2265 uint64_t u64; 1134 uint64_t u64;
2266 struct cvmx_l2c_qos_iobx_s { 1135 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
2281 uint64_t reserved_6_63:58; 1136 uint64_t reserved_6_63:58;
2282 uint64_t dwblvl:2; 1137 uint64_t dwblvl:2;
2283 uint64_t reserved_2_3:2; 1138 uint64_t reserved_2_3:2;
2284 uint64_t lvl:2; 1139 uint64_t lvl:2;
2285#else 1140 } s;
2286 uint64_t lvl:2; 1141 struct cvmx_l2c_qos_iobx_s cn63xx;
2287 uint64_t reserved_2_3:2; 1142 struct cvmx_l2c_qos_iobx_s cn63xxp1;
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;
2298}; 1143};
2299 1144
2300union cvmx_l2c_qos_ppx { 1145union cvmx_l2c_qos_ppx {
2301 uint64_t u64; 1146 uint64_t u64;
2302 struct cvmx_l2c_qos_ppx_s { 1147 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
2313 uint64_t reserved_2_63:62; 1148 uint64_t reserved_2_63:62;
2314 uint64_t lvl:2; 1149 uint64_t lvl:2;
2315#else 1150 } s;
2316 uint64_t lvl:2; 1151 struct cvmx_l2c_qos_ppx_s cn63xx;
2317 uint64_t reserved_2_63:62; 1152 struct cvmx_l2c_qos_ppx_s cn63xxp1;
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;
2326}; 1153};
2327 1154
2328union cvmx_l2c_qos_wgt { 1155union cvmx_l2c_qos_wgt {
2329 uint64_t u64; 1156 uint64_t u64;
2330 struct cvmx_l2c_qos_wgt_s { 1157 struct cvmx_l2c_qos_wgt_s {
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;
2336 uint64_t wgt3:8;
2337 uint64_t wgt2:8;
2338 uint64_t wgt1: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
2350 } s;
2351 struct cvmx_l2c_qos_wgt_cn61xx {
2352#ifdef __BIG_ENDIAN_BITFIELD
2353 uint64_t reserved_32_63:32; 1158 uint64_t reserved_32_63:32;
2354 uint64_t wgt3:8; 1159 uint64_t wgt3:8;
2355 uint64_t wgt2:8; 1160 uint64_t wgt2:8;
2356 uint64_t wgt1:8; 1161 uint64_t wgt1:8;
2357 uint64_t wgt0:8; 1162 uint64_t wgt0:8;
2358#else 1163 } s;
2359 uint64_t wgt0:8; 1164 struct cvmx_l2c_qos_wgt_s cn63xx;
2360 uint64_t wgt1:8; 1165 struct cvmx_l2c_qos_wgt_s cn63xxp1;
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;
2372}; 1166};
2373 1167
2374union cvmx_l2c_rscx_pfc { 1168union cvmx_l2c_rscx_pfc {
2375 uint64_t u64; 1169 uint64_t u64;
2376 struct cvmx_l2c_rscx_pfc_s { 1170 struct cvmx_l2c_rscx_pfc_s {
2377#ifdef __BIG_ENDIAN_BITFIELD
2378 uint64_t count:64; 1171 uint64_t count:64;
2379#else
2380 uint64_t count:64;
2381#endif
2382 } s; 1172 } s;
2383 struct cvmx_l2c_rscx_pfc_s cn61xx;
2384 struct cvmx_l2c_rscx_pfc_s cn63xx; 1173 struct cvmx_l2c_rscx_pfc_s cn63xx;
2385 struct cvmx_l2c_rscx_pfc_s cn63xxp1; 1174 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;
2390}; 1175};
2391 1176
2392union cvmx_l2c_rsdx_pfc { 1177union cvmx_l2c_rsdx_pfc {
2393 uint64_t u64; 1178 uint64_t u64;
2394 struct cvmx_l2c_rsdx_pfc_s { 1179 struct cvmx_l2c_rsdx_pfc_s {
2395#ifdef __BIG_ENDIAN_BITFIELD
2396 uint64_t count:64; 1180 uint64_t count:64;
2397#else
2398 uint64_t count:64;
2399#endif
2400 } s; 1181 } s;
2401 struct cvmx_l2c_rsdx_pfc_s cn61xx;
2402 struct cvmx_l2c_rsdx_pfc_s cn63xx; 1182 struct cvmx_l2c_rsdx_pfc_s cn63xx;
2403 struct cvmx_l2c_rsdx_pfc_s cn63xxp1; 1183 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;
2408}; 1184};
2409 1185
2410union cvmx_l2c_spar0 { 1186union cvmx_l2c_spar0 {
2411 uint64_t u64; 1187 uint64_t u64;
2412 struct cvmx_l2c_spar0_s { 1188 struct cvmx_l2c_spar0_s {
2413#ifdef __BIG_ENDIAN_BITFIELD
2414 uint64_t reserved_32_63:32; 1189 uint64_t reserved_32_63:32;
2415 uint64_t umsk3:8; 1190 uint64_t umsk3:8;
2416 uint64_t umsk2:8; 1191 uint64_t umsk2:8;
2417 uint64_t umsk1:8; 1192 uint64_t umsk1:8;
2418 uint64_t umsk0:8; 1193 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
2426 } s; 1194 } s;
2427 struct cvmx_l2c_spar0_cn30xx { 1195 struct cvmx_l2c_spar0_cn30xx {
2428#ifdef __BIG_ENDIAN_BITFIELD
2429 uint64_t reserved_4_63:60; 1196 uint64_t reserved_4_63:60;
2430 uint64_t umsk0:4; 1197 uint64_t umsk0:4;
2431#else
2432 uint64_t umsk0:4;
2433 uint64_t reserved_4_63:60;
2434#endif
2435 } cn30xx; 1198 } cn30xx;
2436 struct cvmx_l2c_spar0_cn31xx { 1199 struct cvmx_l2c_spar0_cn31xx {
2437#ifdef __BIG_ENDIAN_BITFIELD
2438 uint64_t reserved_12_63:52; 1200 uint64_t reserved_12_63:52;
2439 uint64_t umsk1:4; 1201 uint64_t umsk1:4;
2440 uint64_t reserved_4_7:4; 1202 uint64_t reserved_4_7:4;
2441 uint64_t umsk0:4; 1203 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
2448 } cn31xx; 1204 } cn31xx;
2449 struct cvmx_l2c_spar0_s cn38xx; 1205 struct cvmx_l2c_spar0_s cn38xx;
2450 struct cvmx_l2c_spar0_s cn38xxp2; 1206 struct cvmx_l2c_spar0_s cn38xxp2;
2451 struct cvmx_l2c_spar0_cn50xx { 1207 struct cvmx_l2c_spar0_cn50xx {
2452#ifdef __BIG_ENDIAN_BITFIELD
2453 uint64_t reserved_16_63:48; 1208 uint64_t reserved_16_63:48;
2454 uint64_t umsk1:8; 1209 uint64_t umsk1:8;
2455 uint64_t umsk0:8; 1210 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
2461 } cn50xx; 1211 } cn50xx;
2462 struct cvmx_l2c_spar0_s cn52xx; 1212 struct cvmx_l2c_spar0_s cn52xx;
2463 struct cvmx_l2c_spar0_s cn52xxp1; 1213 struct cvmx_l2c_spar0_s cn52xxp1;
@@ -2470,19 +1220,11 @@ union cvmx_l2c_spar0 {
2470union cvmx_l2c_spar1 { 1220union cvmx_l2c_spar1 {
2471 uint64_t u64; 1221 uint64_t u64;
2472 struct cvmx_l2c_spar1_s { 1222 struct cvmx_l2c_spar1_s {
2473#ifdef __BIG_ENDIAN_BITFIELD
2474 uint64_t reserved_32_63:32; 1223 uint64_t reserved_32_63:32;
2475 uint64_t umsk7:8; 1224 uint64_t umsk7:8;
2476 uint64_t umsk6:8; 1225 uint64_t umsk6:8;
2477 uint64_t umsk5:8; 1226 uint64_t umsk5:8;
2478 uint64_t umsk4:8; 1227 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
2486 } s; 1228 } s;
2487 struct cvmx_l2c_spar1_s cn38xx; 1229 struct cvmx_l2c_spar1_s cn38xx;
2488 struct cvmx_l2c_spar1_s cn38xxp2; 1230 struct cvmx_l2c_spar1_s cn38xxp2;
@@ -2495,19 +1237,11 @@ union cvmx_l2c_spar1 {
2495union cvmx_l2c_spar2 { 1237union cvmx_l2c_spar2 {
2496 uint64_t u64; 1238 uint64_t u64;
2497 struct cvmx_l2c_spar2_s { 1239 struct cvmx_l2c_spar2_s {
2498#ifdef __BIG_ENDIAN_BITFIELD
2499 uint64_t reserved_32_63:32; 1240 uint64_t reserved_32_63:32;
2500 uint64_t umsk11:8; 1241 uint64_t umsk11:8;
2501 uint64_t umsk10:8; 1242 uint64_t umsk10:8;
2502 uint64_t umsk9:8; 1243 uint64_t umsk9:8;
2503 uint64_t umsk8:8; 1244 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
2511 } s; 1245 } s;
2512 struct cvmx_l2c_spar2_s cn38xx; 1246 struct cvmx_l2c_spar2_s cn38xx;
2513 struct cvmx_l2c_spar2_s cn38xxp2; 1247 struct cvmx_l2c_spar2_s cn38xxp2;
@@ -2520,19 +1254,11 @@ union cvmx_l2c_spar2 {
2520union cvmx_l2c_spar3 { 1254union cvmx_l2c_spar3 {
2521 uint64_t u64; 1255 uint64_t u64;
2522 struct cvmx_l2c_spar3_s { 1256 struct cvmx_l2c_spar3_s {
2523#ifdef __BIG_ENDIAN_BITFIELD
2524 uint64_t reserved_32_63:32; 1257 uint64_t reserved_32_63:32;
2525 uint64_t umsk15:8; 1258 uint64_t umsk15:8;
2526 uint64_t umsk14:8; 1259 uint64_t umsk14:8;
2527 uint64_t umsk13:8; 1260 uint64_t umsk13:8;
2528 uint64_t umsk12:8; 1261 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
2536 } s; 1262 } s;
2537 struct cvmx_l2c_spar3_s cn38xx; 1263 struct cvmx_l2c_spar3_s cn38xx;
2538 struct cvmx_l2c_spar3_s cn38xxp2; 1264 struct cvmx_l2c_spar3_s cn38xxp2;
@@ -2543,22 +1269,12 @@ union cvmx_l2c_spar3 {
2543union cvmx_l2c_spar4 { 1269union cvmx_l2c_spar4 {
2544 uint64_t u64; 1270 uint64_t u64;
2545 struct cvmx_l2c_spar4_s { 1271 struct cvmx_l2c_spar4_s {
2546#ifdef __BIG_ENDIAN_BITFIELD
2547 uint64_t reserved_8_63:56; 1272 uint64_t reserved_8_63:56;
2548 uint64_t umskiob:8; 1273 uint64_t umskiob:8;
2549#else
2550 uint64_t umskiob:8;
2551 uint64_t reserved_8_63:56;
2552#endif
2553 } s; 1274 } s;
2554 struct cvmx_l2c_spar4_cn30xx { 1275 struct cvmx_l2c_spar4_cn30xx {
2555#ifdef __BIG_ENDIAN_BITFIELD
2556 uint64_t reserved_4_63:60; 1276 uint64_t reserved_4_63:60;
2557 uint64_t umskiob:4; 1277 uint64_t umskiob:4;
2558#else
2559 uint64_t umskiob:4;
2560 uint64_t reserved_4_63:60;
2561#endif
2562 } cn30xx; 1278 } cn30xx;
2563 struct cvmx_l2c_spar4_cn30xx cn31xx; 1279 struct cvmx_l2c_spar4_cn30xx cn31xx;
2564 struct cvmx_l2c_spar4_s cn38xx; 1280 struct cvmx_l2c_spar4_s cn38xx;
@@ -2575,7 +1291,6 @@ union cvmx_l2c_spar4 {
2575union cvmx_l2c_tadx_ecc0 { 1291union cvmx_l2c_tadx_ecc0 {
2576 uint64_t u64; 1292 uint64_t u64;
2577 struct cvmx_l2c_tadx_ecc0_s { 1293 struct cvmx_l2c_tadx_ecc0_s {
2578#ifdef __BIG_ENDIAN_BITFIELD
2579 uint64_t reserved_58_63:6; 1294 uint64_t reserved_58_63:6;
2580 uint64_t ow3ecc:10; 1295 uint64_t ow3ecc:10;
2581 uint64_t reserved_42_47:6; 1296 uint64_t reserved_42_47:6;
@@ -2584,30 +1299,14 @@ union cvmx_l2c_tadx_ecc0 {
2584 uint64_t ow1ecc:10; 1299 uint64_t ow1ecc:10;
2585 uint64_t reserved_10_15:6; 1300 uint64_t reserved_10_15:6;
2586 uint64_t ow0ecc:10; 1301 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
2597 } s; 1302 } s;
2598 struct cvmx_l2c_tadx_ecc0_s cn61xx;
2599 struct cvmx_l2c_tadx_ecc0_s cn63xx; 1303 struct cvmx_l2c_tadx_ecc0_s cn63xx;
2600 struct cvmx_l2c_tadx_ecc0_s cn63xxp1; 1304 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;
2605}; 1305};
2606 1306
2607union cvmx_l2c_tadx_ecc1 { 1307union cvmx_l2c_tadx_ecc1 {
2608 uint64_t u64; 1308 uint64_t u64;
2609 struct cvmx_l2c_tadx_ecc1_s { 1309 struct cvmx_l2c_tadx_ecc1_s {
2610#ifdef __BIG_ENDIAN_BITFIELD
2611 uint64_t reserved_58_63:6; 1310 uint64_t reserved_58_63:6;
2612 uint64_t ow7ecc:10; 1311 uint64_t ow7ecc:10;
2613 uint64_t reserved_42_47:6; 1312 uint64_t reserved_42_47:6;
@@ -2616,30 +1315,14 @@ union cvmx_l2c_tadx_ecc1 {
2616 uint64_t ow5ecc:10; 1315 uint64_t ow5ecc:10;
2617 uint64_t reserved_10_15:6; 1316 uint64_t reserved_10_15:6;
2618 uint64_t ow4ecc:10; 1317 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
2629 } s; 1318 } s;
2630 struct cvmx_l2c_tadx_ecc1_s cn61xx;
2631 struct cvmx_l2c_tadx_ecc1_s cn63xx; 1319 struct cvmx_l2c_tadx_ecc1_s cn63xx;
2632 struct cvmx_l2c_tadx_ecc1_s cn63xxp1; 1320 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;
2637}; 1321};
2638 1322
2639union cvmx_l2c_tadx_ien { 1323union cvmx_l2c_tadx_ien {
2640 uint64_t u64; 1324 uint64_t u64;
2641 struct cvmx_l2c_tadx_ien_s { 1325 struct cvmx_l2c_tadx_ien_s {
2642#ifdef __BIG_ENDIAN_BITFIELD
2643 uint64_t reserved_9_63:55; 1326 uint64_t reserved_9_63:55;
2644 uint64_t wrdislmc:1; 1327 uint64_t wrdislmc:1;
2645 uint64_t rddislmc:1; 1328 uint64_t rddislmc:1;
@@ -2650,23 +1333,9 @@ union cvmx_l2c_tadx_ien {
2650 uint64_t tagsbe:1; 1333 uint64_t tagsbe:1;
2651 uint64_t l2ddbe:1; 1334 uint64_t l2ddbe:1;
2652 uint64_t l2dsbe:1; 1335 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
2665 } s; 1336 } s;
2666 struct cvmx_l2c_tadx_ien_s cn61xx;
2667 struct cvmx_l2c_tadx_ien_s cn63xx; 1337 struct cvmx_l2c_tadx_ien_s cn63xx;
2668 struct cvmx_l2c_tadx_ien_cn63xxp1 { 1338 struct cvmx_l2c_tadx_ien_cn63xxp1 {
2669#ifdef __BIG_ENDIAN_BITFIELD
2670 uint64_t reserved_7_63:57; 1339 uint64_t reserved_7_63:57;
2671 uint64_t noway:1; 1340 uint64_t noway:1;
2672 uint64_t vbfdbe:1; 1341 uint64_t vbfdbe:1;
@@ -2675,27 +1344,12 @@ union cvmx_l2c_tadx_ien {
2675 uint64_t tagsbe:1; 1344 uint64_t tagsbe:1;
2676 uint64_t l2ddbe:1; 1345 uint64_t l2ddbe:1;
2677 uint64_t l2dsbe:1; 1346 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
2688 } cn63xxp1; 1347 } 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;
2693}; 1348};
2694 1349
2695union cvmx_l2c_tadx_int { 1350union cvmx_l2c_tadx_int {
2696 uint64_t u64; 1351 uint64_t u64;
2697 struct cvmx_l2c_tadx_int_s { 1352 struct cvmx_l2c_tadx_int_s {
2698#ifdef __BIG_ENDIAN_BITFIELD
2699 uint64_t reserved_9_63:55; 1353 uint64_t reserved_9_63:55;
2700 uint64_t wrdislmc:1; 1354 uint64_t wrdislmc:1;
2701 uint64_t rddislmc:1; 1355 uint64_t rddislmc:1;
@@ -2706,129 +1360,62 @@ union cvmx_l2c_tadx_int {
2706 uint64_t tagsbe:1; 1360 uint64_t tagsbe:1;
2707 uint64_t l2ddbe:1; 1361 uint64_t l2ddbe:1;
2708 uint64_t l2dsbe:1; 1362 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
2721 } s; 1363 } s;
2722 struct cvmx_l2c_tadx_int_s cn61xx;
2723 struct cvmx_l2c_tadx_int_s cn63xx; 1364 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;
2728}; 1365};
2729 1366
2730union cvmx_l2c_tadx_pfc0 { 1367union cvmx_l2c_tadx_pfc0 {
2731 uint64_t u64; 1368 uint64_t u64;
2732 struct cvmx_l2c_tadx_pfc0_s { 1369 struct cvmx_l2c_tadx_pfc0_s {
2733#ifdef __BIG_ENDIAN_BITFIELD
2734 uint64_t count:64; 1370 uint64_t count:64;
2735#else
2736 uint64_t count:64;
2737#endif
2738 } s; 1371 } s;
2739 struct cvmx_l2c_tadx_pfc0_s cn61xx;
2740 struct cvmx_l2c_tadx_pfc0_s cn63xx; 1372 struct cvmx_l2c_tadx_pfc0_s cn63xx;
2741 struct cvmx_l2c_tadx_pfc0_s cn63xxp1; 1373 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;
2746}; 1374};
2747 1375
2748union cvmx_l2c_tadx_pfc1 { 1376union cvmx_l2c_tadx_pfc1 {
2749 uint64_t u64; 1377 uint64_t u64;
2750 struct cvmx_l2c_tadx_pfc1_s { 1378 struct cvmx_l2c_tadx_pfc1_s {
2751#ifdef __BIG_ENDIAN_BITFIELD
2752 uint64_t count:64; 1379 uint64_t count:64;
2753#else
2754 uint64_t count:64;
2755#endif
2756 } s; 1380 } s;
2757 struct cvmx_l2c_tadx_pfc1_s cn61xx;
2758 struct cvmx_l2c_tadx_pfc1_s cn63xx; 1381 struct cvmx_l2c_tadx_pfc1_s cn63xx;
2759 struct cvmx_l2c_tadx_pfc1_s cn63xxp1; 1382 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;
2764}; 1383};
2765 1384
2766union cvmx_l2c_tadx_pfc2 { 1385union cvmx_l2c_tadx_pfc2 {
2767 uint64_t u64; 1386 uint64_t u64;
2768 struct cvmx_l2c_tadx_pfc2_s { 1387 struct cvmx_l2c_tadx_pfc2_s {
2769#ifdef __BIG_ENDIAN_BITFIELD
2770 uint64_t count:64; 1388 uint64_t count:64;
2771#else
2772 uint64_t count:64;
2773#endif
2774 } s; 1389 } s;
2775 struct cvmx_l2c_tadx_pfc2_s cn61xx;
2776 struct cvmx_l2c_tadx_pfc2_s cn63xx; 1390 struct cvmx_l2c_tadx_pfc2_s cn63xx;
2777 struct cvmx_l2c_tadx_pfc2_s cn63xxp1; 1391 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;
2782}; 1392};
2783 1393
2784union cvmx_l2c_tadx_pfc3 { 1394union cvmx_l2c_tadx_pfc3 {
2785 uint64_t u64; 1395 uint64_t u64;
2786 struct cvmx_l2c_tadx_pfc3_s { 1396 struct cvmx_l2c_tadx_pfc3_s {
2787#ifdef __BIG_ENDIAN_BITFIELD
2788 uint64_t count:64; 1397 uint64_t count:64;
2789#else
2790 uint64_t count:64;
2791#endif
2792 } s; 1398 } s;
2793 struct cvmx_l2c_tadx_pfc3_s cn61xx;
2794 struct cvmx_l2c_tadx_pfc3_s cn63xx; 1399 struct cvmx_l2c_tadx_pfc3_s cn63xx;
2795 struct cvmx_l2c_tadx_pfc3_s cn63xxp1; 1400 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;
2800}; 1401};
2801 1402
2802union cvmx_l2c_tadx_prf { 1403union cvmx_l2c_tadx_prf {
2803 uint64_t u64; 1404 uint64_t u64;
2804 struct cvmx_l2c_tadx_prf_s { 1405 struct cvmx_l2c_tadx_prf_s {
2805#ifdef __BIG_ENDIAN_BITFIELD
2806 uint64_t reserved_32_63:32; 1406 uint64_t reserved_32_63:32;
2807 uint64_t cnt3sel:8; 1407 uint64_t cnt3sel:8;
2808 uint64_t cnt2sel:8; 1408 uint64_t cnt2sel:8;
2809 uint64_t cnt1sel:8; 1409 uint64_t cnt1sel:8;
2810 uint64_t cnt0sel:8; 1410 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
2818 } s; 1411 } s;
2819 struct cvmx_l2c_tadx_prf_s cn61xx;
2820 struct cvmx_l2c_tadx_prf_s cn63xx; 1412 struct cvmx_l2c_tadx_prf_s cn63xx;
2821 struct cvmx_l2c_tadx_prf_s cn63xxp1; 1413 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;
2826}; 1414};
2827 1415
2828union cvmx_l2c_tadx_tag { 1416union cvmx_l2c_tadx_tag {
2829 uint64_t u64; 1417 uint64_t u64;
2830 struct cvmx_l2c_tadx_tag_s { 1418 struct cvmx_l2c_tadx_tag_s {
2831#ifdef __BIG_ENDIAN_BITFIELD
2832 uint64_t reserved_46_63:18; 1419 uint64_t reserved_46_63:18;
2833 uint64_t ecc:6; 1420 uint64_t ecc:6;
2834 uint64_t reserved_36_39:4; 1421 uint64_t reserved_36_39:4;
@@ -2838,330 +1425,145 @@ union cvmx_l2c_tadx_tag {
2838 uint64_t valid:1; 1425 uint64_t valid:1;
2839 uint64_t dirty:1; 1426 uint64_t dirty:1;
2840 uint64_t lock:1; 1427 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
2852 } s; 1428 } s;
2853 struct cvmx_l2c_tadx_tag_s cn61xx;
2854 struct cvmx_l2c_tadx_tag_s cn63xx; 1429 struct cvmx_l2c_tadx_tag_s cn63xx;
2855 struct cvmx_l2c_tadx_tag_s cn63xxp1; 1430 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;
2860}; 1431};
2861 1432
2862union cvmx_l2c_ver_id { 1433union cvmx_l2c_ver_id {
2863 uint64_t u64; 1434 uint64_t u64;
2864 struct cvmx_l2c_ver_id_s { 1435 struct cvmx_l2c_ver_id_s {
2865#ifdef __BIG_ENDIAN_BITFIELD
2866 uint64_t mask:64; 1436 uint64_t mask:64;
2867#else
2868 uint64_t mask:64;
2869#endif
2870 } s; 1437 } s;
2871 struct cvmx_l2c_ver_id_s cn61xx;
2872 struct cvmx_l2c_ver_id_s cn63xx; 1438 struct cvmx_l2c_ver_id_s cn63xx;
2873 struct cvmx_l2c_ver_id_s cn63xxp1; 1439 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;
2878}; 1440};
2879 1441
2880union cvmx_l2c_ver_iob { 1442union cvmx_l2c_ver_iob {
2881 uint64_t u64; 1443 uint64_t u64;
2882 struct cvmx_l2c_ver_iob_s { 1444 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
2893 uint64_t reserved_1_63:63; 1445 uint64_t reserved_1_63:63;
2894 uint64_t mask:1; 1446 uint64_t mask:1;
2895#else 1447 } s;
2896 uint64_t mask:1; 1448 struct cvmx_l2c_ver_iob_s cn63xx;
2897 uint64_t reserved_1_63:63; 1449 struct cvmx_l2c_ver_iob_s cn63xxp1;
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;
2906}; 1450};
2907 1451
2908union cvmx_l2c_ver_msc { 1452union cvmx_l2c_ver_msc {
2909 uint64_t u64; 1453 uint64_t u64;
2910 struct cvmx_l2c_ver_msc_s { 1454 struct cvmx_l2c_ver_msc_s {
2911#ifdef __BIG_ENDIAN_BITFIELD
2912 uint64_t reserved_2_63:62; 1455 uint64_t reserved_2_63:62;
2913 uint64_t invl2:1; 1456 uint64_t invl2:1;
2914 uint64_t dwb:1; 1457 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
2920 } s; 1458 } s;
2921 struct cvmx_l2c_ver_msc_s cn61xx;
2922 struct cvmx_l2c_ver_msc_s cn63xx; 1459 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;
2927}; 1460};
2928 1461
2929union cvmx_l2c_ver_pp { 1462union cvmx_l2c_ver_pp {
2930 uint64_t u64; 1463 uint64_t u64;
2931 struct cvmx_l2c_ver_pp_s { 1464 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
2951 uint64_t reserved_6_63:58; 1465 uint64_t reserved_6_63:58;
2952 uint64_t mask:6; 1466 uint64_t mask:6;
2953#else 1467 } s;
2954 uint64_t mask:6; 1468 struct cvmx_l2c_ver_pp_s cn63xx;
2955 uint64_t reserved_6_63:58; 1469 struct cvmx_l2c_ver_pp_s cn63xxp1;
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;
2971}; 1470};
2972 1471
2973union cvmx_l2c_virtid_iobx { 1472union cvmx_l2c_virtid_iobx {
2974 uint64_t u64; 1473 uint64_t u64;
2975 struct cvmx_l2c_virtid_iobx_s { 1474 struct cvmx_l2c_virtid_iobx_s {
2976#ifdef __BIG_ENDIAN_BITFIELD
2977 uint64_t reserved_14_63:50; 1475 uint64_t reserved_14_63:50;
2978 uint64_t dwbid:6; 1476 uint64_t dwbid:6;
2979 uint64_t reserved_6_7:2; 1477 uint64_t reserved_6_7:2;
2980 uint64_t id:6; 1478 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
2987 } s; 1479 } s;
2988 struct cvmx_l2c_virtid_iobx_s cn61xx;
2989 struct cvmx_l2c_virtid_iobx_s cn63xx; 1480 struct cvmx_l2c_virtid_iobx_s cn63xx;
2990 struct cvmx_l2c_virtid_iobx_s cn63xxp1; 1481 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;
2995}; 1482};
2996 1483
2997union cvmx_l2c_virtid_ppx { 1484union cvmx_l2c_virtid_ppx {
2998 uint64_t u64; 1485 uint64_t u64;
2999 struct cvmx_l2c_virtid_ppx_s { 1486 struct cvmx_l2c_virtid_ppx_s {
3000#ifdef __BIG_ENDIAN_BITFIELD
3001 uint64_t reserved_6_63:58; 1487 uint64_t reserved_6_63:58;
3002 uint64_t id:6; 1488 uint64_t id:6;
3003#else
3004 uint64_t id:6;
3005 uint64_t reserved_6_63:58;
3006#endif
3007 } s; 1489 } s;
3008 struct cvmx_l2c_virtid_ppx_s cn61xx;
3009 struct cvmx_l2c_virtid_ppx_s cn63xx; 1490 struct cvmx_l2c_virtid_ppx_s cn63xx;
3010 struct cvmx_l2c_virtid_ppx_s cn63xxp1; 1491 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;
3015}; 1492};
3016 1493
3017union cvmx_l2c_vrt_ctl { 1494union cvmx_l2c_vrt_ctl {
3018 uint64_t u64; 1495 uint64_t u64;
3019 struct cvmx_l2c_vrt_ctl_s { 1496 struct cvmx_l2c_vrt_ctl_s {
3020#ifdef __BIG_ENDIAN_BITFIELD
3021 uint64_t reserved_9_63:55; 1497 uint64_t reserved_9_63:55;
3022 uint64_t ooberr:1; 1498 uint64_t ooberr:1;
3023 uint64_t reserved_7_7:1; 1499 uint64_t reserved_7_7:1;
3024 uint64_t memsz:3; 1500 uint64_t memsz:3;
3025 uint64_t numid:3; 1501 uint64_t numid:3;
3026 uint64_t enable:1; 1502 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
3035 } s; 1503 } s;
3036 struct cvmx_l2c_vrt_ctl_s cn61xx;
3037 struct cvmx_l2c_vrt_ctl_s cn63xx; 1504 struct cvmx_l2c_vrt_ctl_s cn63xx;
3038 struct cvmx_l2c_vrt_ctl_s cn63xxp1; 1505 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;
3043}; 1506};
3044 1507
3045union cvmx_l2c_vrt_memx { 1508union cvmx_l2c_vrt_memx {
3046 uint64_t u64; 1509 uint64_t u64;
3047 struct cvmx_l2c_vrt_memx_s { 1510 struct cvmx_l2c_vrt_memx_s {
3048#ifdef __BIG_ENDIAN_BITFIELD
3049 uint64_t reserved_36_63:28; 1511 uint64_t reserved_36_63:28;
3050 uint64_t parity:4; 1512 uint64_t parity:4;
3051 uint64_t data:32; 1513 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
3057 } s; 1514 } s;
3058 struct cvmx_l2c_vrt_memx_s cn61xx;
3059 struct cvmx_l2c_vrt_memx_s cn63xx; 1515 struct cvmx_l2c_vrt_memx_s cn63xx;
3060 struct cvmx_l2c_vrt_memx_s cn63xxp1; 1516 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;
3065}; 1517};
3066 1518
3067union cvmx_l2c_wpar_iobx { 1519union cvmx_l2c_wpar_iobx {
3068 uint64_t u64; 1520 uint64_t u64;
3069 struct cvmx_l2c_wpar_iobx_s { 1521 struct cvmx_l2c_wpar_iobx_s {
3070#ifdef __BIG_ENDIAN_BITFIELD
3071 uint64_t reserved_16_63:48; 1522 uint64_t reserved_16_63:48;
3072 uint64_t mask:16; 1523 uint64_t mask:16;
3073#else
3074 uint64_t mask:16;
3075 uint64_t reserved_16_63:48;
3076#endif
3077 } s; 1524 } s;
3078 struct cvmx_l2c_wpar_iobx_s cn61xx;
3079 struct cvmx_l2c_wpar_iobx_s cn63xx; 1525 struct cvmx_l2c_wpar_iobx_s cn63xx;
3080 struct cvmx_l2c_wpar_iobx_s cn63xxp1; 1526 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;
3085}; 1527};
3086 1528
3087union cvmx_l2c_wpar_ppx { 1529union cvmx_l2c_wpar_ppx {
3088 uint64_t u64; 1530 uint64_t u64;
3089 struct cvmx_l2c_wpar_ppx_s { 1531 struct cvmx_l2c_wpar_ppx_s {
3090#ifdef __BIG_ENDIAN_BITFIELD
3091 uint64_t reserved_16_63:48; 1532 uint64_t reserved_16_63:48;
3092 uint64_t mask:16; 1533 uint64_t mask:16;
3093#else
3094 uint64_t mask:16;
3095 uint64_t reserved_16_63:48;
3096#endif
3097 } s; 1534 } s;
3098 struct cvmx_l2c_wpar_ppx_s cn61xx;
3099 struct cvmx_l2c_wpar_ppx_s cn63xx; 1535 struct cvmx_l2c_wpar_ppx_s cn63xx;
3100 struct cvmx_l2c_wpar_ppx_s cn63xxp1; 1536 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;
3105}; 1537};
3106 1538
3107union cvmx_l2c_xmcx_pfc { 1539union cvmx_l2c_xmcx_pfc {
3108 uint64_t u64; 1540 uint64_t u64;
3109 struct cvmx_l2c_xmcx_pfc_s { 1541 struct cvmx_l2c_xmcx_pfc_s {
3110#ifdef __BIG_ENDIAN_BITFIELD
3111 uint64_t count:64;
3112#else
3113 uint64_t count:64; 1542 uint64_t count:64;
3114#endif
3115 } s; 1543 } s;
3116 struct cvmx_l2c_xmcx_pfc_s cn61xx;
3117 struct cvmx_l2c_xmcx_pfc_s cn63xx; 1544 struct cvmx_l2c_xmcx_pfc_s cn63xx;
3118 struct cvmx_l2c_xmcx_pfc_s cn63xxp1; 1545 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;
3123}; 1546};
3124 1547
3125union cvmx_l2c_xmc_cmd { 1548union cvmx_l2c_xmc_cmd {
3126 uint64_t u64; 1549 uint64_t u64;
3127 struct cvmx_l2c_xmc_cmd_s { 1550 struct cvmx_l2c_xmc_cmd_s {
3128#ifdef __BIG_ENDIAN_BITFIELD
3129 uint64_t inuse:1; 1551 uint64_t inuse:1;
3130 uint64_t cmd:6; 1552 uint64_t cmd:6;
3131 uint64_t reserved_38_56:19; 1553 uint64_t reserved_38_56:19;
3132 uint64_t addr:38; 1554 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
3139 } s; 1555 } s;
3140 struct cvmx_l2c_xmc_cmd_s cn61xx;
3141 struct cvmx_l2c_xmc_cmd_s cn63xx; 1556 struct cvmx_l2c_xmc_cmd_s cn63xx;
3142 struct cvmx_l2c_xmc_cmd_s cn63xxp1; 1557 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;
3147}; 1558};
3148 1559
3149union cvmx_l2c_xmdx_pfc { 1560union cvmx_l2c_xmdx_pfc {
3150 uint64_t u64; 1561 uint64_t u64;
3151 struct cvmx_l2c_xmdx_pfc_s { 1562 struct cvmx_l2c_xmdx_pfc_s {
3152#ifdef __BIG_ENDIAN_BITFIELD
3153 uint64_t count:64; 1563 uint64_t count:64;
3154#else
3155 uint64_t count:64;
3156#endif
3157 } s; 1564 } s;
3158 struct cvmx_l2c_xmdx_pfc_s cn61xx;
3159 struct cvmx_l2c_xmdx_pfc_s cn63xx; 1565 struct cvmx_l2c_xmdx_pfc_s cn63xx;
3160 struct cvmx_l2c_xmdx_pfc_s cn63xxp1; 1566 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;
3165}; 1567};
3166 1568
3167#endif 1569#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-l2d-defs.h b/arch/mips/include/asm/octeon/cvmx-l2d-defs.h
index 11a45621563..60543e0e77f 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,15 +44,9 @@
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
48 uint64_t reserved_35_63:29; 47 uint64_t reserved_35_63:29;
49 uint64_t ftl:1; 48 uint64_t ftl:1;
50 uint64_t q0stat:34; 49 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
56 } s; 50 } s;
57 struct cvmx_l2d_bst0_s cn30xx; 51 struct cvmx_l2d_bst0_s cn30xx;
58 struct cvmx_l2d_bst0_s cn31xx; 52 struct cvmx_l2d_bst0_s cn31xx;
@@ -70,13 +64,8 @@ union cvmx_l2d_bst0 {
70union cvmx_l2d_bst1 { 64union cvmx_l2d_bst1 {
71 uint64_t u64; 65 uint64_t u64;
72 struct cvmx_l2d_bst1_s { 66 struct cvmx_l2d_bst1_s {
73#ifdef __BIG_ENDIAN_BITFIELD
74 uint64_t reserved_34_63:30; 67 uint64_t reserved_34_63:30;
75 uint64_t q1stat:34; 68 uint64_t q1stat:34;
76#else
77 uint64_t q1stat:34;
78 uint64_t reserved_34_63:30;
79#endif
80 } s; 69 } s;
81 struct cvmx_l2d_bst1_s cn30xx; 70 struct cvmx_l2d_bst1_s cn30xx;
82 struct cvmx_l2d_bst1_s cn31xx; 71 struct cvmx_l2d_bst1_s cn31xx;
@@ -94,13 +83,8 @@ union cvmx_l2d_bst1 {
94union cvmx_l2d_bst2 { 83union cvmx_l2d_bst2 {
95 uint64_t u64; 84 uint64_t u64;
96 struct cvmx_l2d_bst2_s { 85 struct cvmx_l2d_bst2_s {
97#ifdef __BIG_ENDIAN_BITFIELD
98 uint64_t reserved_34_63:30; 86 uint64_t reserved_34_63:30;
99 uint64_t q2stat:34; 87 uint64_t q2stat:34;
100#else
101 uint64_t q2stat:34;
102 uint64_t reserved_34_63:30;
103#endif
104 } s; 88 } s;
105 struct cvmx_l2d_bst2_s cn30xx; 89 struct cvmx_l2d_bst2_s cn30xx;
106 struct cvmx_l2d_bst2_s cn31xx; 90 struct cvmx_l2d_bst2_s cn31xx;
@@ -118,13 +102,8 @@ union cvmx_l2d_bst2 {
118union cvmx_l2d_bst3 { 102union cvmx_l2d_bst3 {
119 uint64_t u64; 103 uint64_t u64;
120 struct cvmx_l2d_bst3_s { 104 struct cvmx_l2d_bst3_s {
121#ifdef __BIG_ENDIAN_BITFIELD
122 uint64_t reserved_34_63:30; 105 uint64_t reserved_34_63:30;
123 uint64_t q3stat:34; 106 uint64_t q3stat:34;
124#else
125 uint64_t q3stat:34;
126 uint64_t reserved_34_63:30;
127#endif
128 } s; 107 } s;
129 struct cvmx_l2d_bst3_s cn30xx; 108 struct cvmx_l2d_bst3_s cn30xx;
130 struct cvmx_l2d_bst3_s cn31xx; 109 struct cvmx_l2d_bst3_s cn31xx;
@@ -142,7 +121,6 @@ union cvmx_l2d_bst3 {
142union cvmx_l2d_err { 121union cvmx_l2d_err {
143 uint64_t u64; 122 uint64_t u64;
144 struct cvmx_l2d_err_s { 123 struct cvmx_l2d_err_s {
145#ifdef __BIG_ENDIAN_BITFIELD
146 uint64_t reserved_6_63:58; 124 uint64_t reserved_6_63:58;
147 uint64_t bmhclsel:1; 125 uint64_t bmhclsel:1;
148 uint64_t ded_err:1; 126 uint64_t ded_err:1;
@@ -150,15 +128,6 @@ union cvmx_l2d_err {
150 uint64_t ded_intena:1; 128 uint64_t ded_intena:1;
151 uint64_t sec_intena:1; 129 uint64_t sec_intena:1;
152 uint64_t ecc_ena:1; 130 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
162 } s; 131 } s;
163 struct cvmx_l2d_err_s cn30xx; 132 struct cvmx_l2d_err_s cn30xx;
164 struct cvmx_l2d_err_s cn31xx; 133 struct cvmx_l2d_err_s cn31xx;
@@ -176,97 +145,48 @@ union cvmx_l2d_err {
176union cvmx_l2d_fadr { 145union cvmx_l2d_fadr {
177 uint64_t u64; 146 uint64_t u64;
178 struct cvmx_l2d_fadr_s { 147 struct cvmx_l2d_fadr_s {
179#ifdef __BIG_ENDIAN_BITFIELD
180 uint64_t reserved_19_63:45; 148 uint64_t reserved_19_63:45;
181 uint64_t fadru:1; 149 uint64_t fadru:1;
182 uint64_t fowmsk:4; 150 uint64_t fowmsk:4;
183 uint64_t fset:3; 151 uint64_t fset:3;
184 uint64_t fadr:11; 152 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
192 } s; 153 } s;
193 struct cvmx_l2d_fadr_cn30xx { 154 struct cvmx_l2d_fadr_cn30xx {
194#ifdef __BIG_ENDIAN_BITFIELD
195 uint64_t reserved_18_63:46; 155 uint64_t reserved_18_63:46;
196 uint64_t fowmsk:4; 156 uint64_t fowmsk:4;
197 uint64_t reserved_13_13:1; 157 uint64_t reserved_13_13:1;
198 uint64_t fset:2; 158 uint64_t fset:2;
199 uint64_t reserved_9_10:2; 159 uint64_t reserved_9_10:2;
200 uint64_t fadr:9; 160 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
209 } cn30xx; 161 } cn30xx;
210 struct cvmx_l2d_fadr_cn31xx { 162 struct cvmx_l2d_fadr_cn31xx {
211#ifdef __BIG_ENDIAN_BITFIELD
212 uint64_t reserved_18_63:46; 163 uint64_t reserved_18_63:46;
213 uint64_t fowmsk:4; 164 uint64_t fowmsk:4;
214 uint64_t reserved_13_13:1; 165 uint64_t reserved_13_13:1;
215 uint64_t fset:2; 166 uint64_t fset:2;
216 uint64_t reserved_10_10:1; 167 uint64_t reserved_10_10:1;
217 uint64_t fadr:10; 168 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
226 } cn31xx; 169 } cn31xx;
227 struct cvmx_l2d_fadr_cn38xx { 170 struct cvmx_l2d_fadr_cn38xx {
228#ifdef __BIG_ENDIAN_BITFIELD
229 uint64_t reserved_18_63:46; 171 uint64_t reserved_18_63:46;
230 uint64_t fowmsk:4; 172 uint64_t fowmsk:4;
231 uint64_t fset:3; 173 uint64_t fset:3;
232 uint64_t fadr:11; 174 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
239 } cn38xx; 175 } cn38xx;
240 struct cvmx_l2d_fadr_cn38xx cn38xxp2; 176 struct cvmx_l2d_fadr_cn38xx cn38xxp2;
241 struct cvmx_l2d_fadr_cn50xx { 177 struct cvmx_l2d_fadr_cn50xx {
242#ifdef __BIG_ENDIAN_BITFIELD
243 uint64_t reserved_18_63:46; 178 uint64_t reserved_18_63:46;
244 uint64_t fowmsk:4; 179 uint64_t fowmsk:4;
245 uint64_t fset:3; 180 uint64_t fset:3;
246 uint64_t reserved_8_10:3; 181 uint64_t reserved_8_10:3;
247 uint64_t fadr:8; 182 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
255 } cn50xx; 183 } cn50xx;
256 struct cvmx_l2d_fadr_cn52xx { 184 struct cvmx_l2d_fadr_cn52xx {
257#ifdef __BIG_ENDIAN_BITFIELD
258 uint64_t reserved_18_63:46; 185 uint64_t reserved_18_63:46;
259 uint64_t fowmsk:4; 186 uint64_t fowmsk:4;
260 uint64_t fset:3; 187 uint64_t fset:3;
261 uint64_t reserved_10_10:1; 188 uint64_t reserved_10_10:1;
262 uint64_t fadr:10; 189 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
270 } cn52xx; 190 } cn52xx;
271 struct cvmx_l2d_fadr_cn52xx cn52xxp1; 191 struct cvmx_l2d_fadr_cn52xx cn52xxp1;
272 struct cvmx_l2d_fadr_s cn56xx; 192 struct cvmx_l2d_fadr_s cn56xx;
@@ -278,15 +198,9 @@ union cvmx_l2d_fadr {
278union cvmx_l2d_fsyn0 { 198union cvmx_l2d_fsyn0 {
279 uint64_t u64; 199 uint64_t u64;
280 struct cvmx_l2d_fsyn0_s { 200 struct cvmx_l2d_fsyn0_s {
281#ifdef __BIG_ENDIAN_BITFIELD
282 uint64_t reserved_20_63:44; 201 uint64_t reserved_20_63:44;
283 uint64_t fsyn_ow1:10; 202 uint64_t fsyn_ow1:10;
284 uint64_t fsyn_ow0:10; 203 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
290 } s; 204 } s;
291 struct cvmx_l2d_fsyn0_s cn30xx; 205 struct cvmx_l2d_fsyn0_s cn30xx;
292 struct cvmx_l2d_fsyn0_s cn31xx; 206 struct cvmx_l2d_fsyn0_s cn31xx;
@@ -304,15 +218,9 @@ union cvmx_l2d_fsyn0 {
304union cvmx_l2d_fsyn1 { 218union cvmx_l2d_fsyn1 {
305 uint64_t u64; 219 uint64_t u64;
306 struct cvmx_l2d_fsyn1_s { 220 struct cvmx_l2d_fsyn1_s {
307#ifdef __BIG_ENDIAN_BITFIELD
308 uint64_t reserved_20_63:44; 221 uint64_t reserved_20_63:44;
309 uint64_t fsyn_ow3:10; 222 uint64_t fsyn_ow3:10;
310 uint64_t fsyn_ow2:10; 223 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
316 } s; 224 } s;
317 struct cvmx_l2d_fsyn1_s cn30xx; 225 struct cvmx_l2d_fsyn1_s cn30xx;
318 struct cvmx_l2d_fsyn1_s cn31xx; 226 struct cvmx_l2d_fsyn1_s cn31xx;
@@ -330,13 +238,8 @@ union cvmx_l2d_fsyn1 {
330union cvmx_l2d_fus0 { 238union cvmx_l2d_fus0 {
331 uint64_t u64; 239 uint64_t u64;
332 struct cvmx_l2d_fus0_s { 240 struct cvmx_l2d_fus0_s {
333#ifdef __BIG_ENDIAN_BITFIELD
334 uint64_t reserved_34_63:30; 241 uint64_t reserved_34_63:30;
335 uint64_t q0fus:34; 242 uint64_t q0fus:34;
336#else
337 uint64_t q0fus:34;
338 uint64_t reserved_34_63:30;
339#endif
340 } s; 243 } s;
341 struct cvmx_l2d_fus0_s cn30xx; 244 struct cvmx_l2d_fus0_s cn30xx;
342 struct cvmx_l2d_fus0_s cn31xx; 245 struct cvmx_l2d_fus0_s cn31xx;
@@ -354,13 +257,8 @@ union cvmx_l2d_fus0 {
354union cvmx_l2d_fus1 { 257union cvmx_l2d_fus1 {
355 uint64_t u64; 258 uint64_t u64;
356 struct cvmx_l2d_fus1_s { 259 struct cvmx_l2d_fus1_s {
357#ifdef __BIG_ENDIAN_BITFIELD
358 uint64_t reserved_34_63:30; 260 uint64_t reserved_34_63:30;
359 uint64_t q1fus:34; 261 uint64_t q1fus:34;
360#else
361 uint64_t q1fus:34;
362 uint64_t reserved_34_63:30;
363#endif
364 } s; 262 } s;
365 struct cvmx_l2d_fus1_s cn30xx; 263 struct cvmx_l2d_fus1_s cn30xx;
366 struct cvmx_l2d_fus1_s cn31xx; 264 struct cvmx_l2d_fus1_s cn31xx;
@@ -378,13 +276,8 @@ union cvmx_l2d_fus1 {
378union cvmx_l2d_fus2 { 276union cvmx_l2d_fus2 {
379 uint64_t u64; 277 uint64_t u64;
380 struct cvmx_l2d_fus2_s { 278 struct cvmx_l2d_fus2_s {
381#ifdef __BIG_ENDIAN_BITFIELD
382 uint64_t reserved_34_63:30; 279 uint64_t reserved_34_63:30;
383 uint64_t q2fus:34; 280 uint64_t q2fus:34;
384#else
385 uint64_t q2fus:34;
386 uint64_t reserved_34_63:30;
387#endif
388 } s; 281 } s;
389 struct cvmx_l2d_fus2_s cn30xx; 282 struct cvmx_l2d_fus2_s cn30xx;
390 struct cvmx_l2d_fus2_s cn31xx; 283 struct cvmx_l2d_fus2_s cn31xx;
@@ -402,123 +295,61 @@ union cvmx_l2d_fus2 {
402union cvmx_l2d_fus3 { 295union cvmx_l2d_fus3 {
403 uint64_t u64; 296 uint64_t u64;
404 struct cvmx_l2d_fus3_s { 297 struct cvmx_l2d_fus3_s {
405#ifdef __BIG_ENDIAN_BITFIELD
406 uint64_t reserved_40_63:24; 298 uint64_t reserved_40_63:24;
407 uint64_t ema_ctl:3; 299 uint64_t ema_ctl:3;
408 uint64_t reserved_34_36:3; 300 uint64_t reserved_34_36:3;
409 uint64_t q3fus:34; 301 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
416 } s; 302 } s;
417 struct cvmx_l2d_fus3_cn30xx { 303 struct cvmx_l2d_fus3_cn30xx {
418#ifdef __BIG_ENDIAN_BITFIELD
419 uint64_t reserved_35_63:29; 304 uint64_t reserved_35_63:29;
420 uint64_t crip_64k:1; 305 uint64_t crip_64k:1;
421 uint64_t q3fus:34; 306 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
427 } cn30xx; 307 } cn30xx;
428 struct cvmx_l2d_fus3_cn31xx { 308 struct cvmx_l2d_fus3_cn31xx {
429#ifdef __BIG_ENDIAN_BITFIELD
430 uint64_t reserved_35_63:29; 309 uint64_t reserved_35_63:29;
431 uint64_t crip_128k:1; 310 uint64_t crip_128k:1;
432 uint64_t q3fus:34; 311 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
438 } cn31xx; 312 } cn31xx;
439 struct cvmx_l2d_fus3_cn38xx { 313 struct cvmx_l2d_fus3_cn38xx {
440#ifdef __BIG_ENDIAN_BITFIELD
441 uint64_t reserved_36_63:28; 314 uint64_t reserved_36_63:28;
442 uint64_t crip_256k:1; 315 uint64_t crip_256k:1;
443 uint64_t crip_512k:1; 316 uint64_t crip_512k:1;
444 uint64_t q3fus:34; 317 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
451 } cn38xx; 318 } cn38xx;
452 struct cvmx_l2d_fus3_cn38xx cn38xxp2; 319 struct cvmx_l2d_fus3_cn38xx cn38xxp2;
453 struct cvmx_l2d_fus3_cn50xx { 320 struct cvmx_l2d_fus3_cn50xx {
454#ifdef __BIG_ENDIAN_BITFIELD
455 uint64_t reserved_40_63:24; 321 uint64_t reserved_40_63:24;
456 uint64_t ema_ctl:3; 322 uint64_t ema_ctl:3;
457 uint64_t reserved_36_36:1; 323 uint64_t reserved_36_36:1;
458 uint64_t crip_32k:1; 324 uint64_t crip_32k:1;
459 uint64_t crip_64k:1; 325 uint64_t crip_64k:1;
460 uint64_t q3fus:34; 326 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
469 } cn50xx; 327 } cn50xx;
470 struct cvmx_l2d_fus3_cn52xx { 328 struct cvmx_l2d_fus3_cn52xx {
471#ifdef __BIG_ENDIAN_BITFIELD
472 uint64_t reserved_40_63:24; 329 uint64_t reserved_40_63:24;
473 uint64_t ema_ctl:3; 330 uint64_t ema_ctl:3;
474 uint64_t reserved_36_36:1; 331 uint64_t reserved_36_36:1;
475 uint64_t crip_128k:1; 332 uint64_t crip_128k:1;
476 uint64_t crip_256k:1; 333 uint64_t crip_256k:1;
477 uint64_t q3fus:34; 334 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
486 } cn52xx; 335 } cn52xx;
487 struct cvmx_l2d_fus3_cn52xx cn52xxp1; 336 struct cvmx_l2d_fus3_cn52xx cn52xxp1;
488 struct cvmx_l2d_fus3_cn56xx { 337 struct cvmx_l2d_fus3_cn56xx {
489#ifdef __BIG_ENDIAN_BITFIELD
490 uint64_t reserved_40_63:24; 338 uint64_t reserved_40_63:24;
491 uint64_t ema_ctl:3; 339 uint64_t ema_ctl:3;
492 uint64_t reserved_36_36:1; 340 uint64_t reserved_36_36:1;
493 uint64_t crip_512k:1; 341 uint64_t crip_512k:1;
494 uint64_t crip_1024k:1; 342 uint64_t crip_1024k:1;
495 uint64_t q3fus:34; 343 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
504 } cn56xx; 344 } cn56xx;
505 struct cvmx_l2d_fus3_cn56xx cn56xxp1; 345 struct cvmx_l2d_fus3_cn56xx cn56xxp1;
506 struct cvmx_l2d_fus3_cn58xx { 346 struct cvmx_l2d_fus3_cn58xx {
507#ifdef __BIG_ENDIAN_BITFIELD
508 uint64_t reserved_39_63:25; 347 uint64_t reserved_39_63:25;
509 uint64_t ema_ctl:2; 348 uint64_t ema_ctl:2;
510 uint64_t reserved_36_36:1; 349 uint64_t reserved_36_36:1;
511 uint64_t crip_512k:1; 350 uint64_t crip_512k:1;
512 uint64_t crip_1024k:1; 351 uint64_t crip_1024k:1;
513 uint64_t q3fus:34; 352 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
522 } cn58xx; 353 } cn58xx;
523 struct cvmx_l2d_fus3_cn58xx cn58xxp1; 354 struct cvmx_l2d_fus3_cn58xx cn58xxp1;
524}; 355};
diff --git a/arch/mips/include/asm/octeon/cvmx-l2t-defs.h b/arch/mips/include/asm/octeon/cvmx-l2t-defs.h
index 83ce22c080e..873968f55ee 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,7 +33,6 @@
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
37 uint64_t reserved_29_63:35; 36 uint64_t reserved_29_63:35;
38 uint64_t fadru:1; 37 uint64_t fadru:1;
39 uint64_t lck_intena2:1; 38 uint64_t lck_intena2:1;
@@ -48,25 +47,8 @@ union cvmx_l2t_err {
48 uint64_t ded_intena:1; 47 uint64_t ded_intena:1;
49 uint64_t sec_intena:1; 48 uint64_t sec_intena:1;
50 uint64_t ecc_ena:1; 49 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
67 } s; 50 } s;
68 struct cvmx_l2t_err_cn30xx { 51 struct cvmx_l2t_err_cn30xx {
69#ifdef __BIG_ENDIAN_BITFIELD
70 uint64_t reserved_28_63:36; 52 uint64_t reserved_28_63:36;
71 uint64_t lck_intena2:1; 53 uint64_t lck_intena2:1;
72 uint64_t lckerr2:1; 54 uint64_t lckerr2:1;
@@ -82,26 +64,8 @@ union cvmx_l2t_err {
82 uint64_t ded_intena:1; 64 uint64_t ded_intena:1;
83 uint64_t sec_intena:1; 65 uint64_t sec_intena:1;
84 uint64_t ecc_ena:1; 66 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
102 } cn30xx; 67 } cn30xx;
103 struct cvmx_l2t_err_cn31xx { 68 struct cvmx_l2t_err_cn31xx {
104#ifdef __BIG_ENDIAN_BITFIELD
105 uint64_t reserved_28_63:36; 69 uint64_t reserved_28_63:36;
106 uint64_t lck_intena2:1; 70 uint64_t lck_intena2:1;
107 uint64_t lckerr2:1; 71 uint64_t lckerr2:1;
@@ -117,26 +81,8 @@ union cvmx_l2t_err {
117 uint64_t ded_intena:1; 81 uint64_t ded_intena:1;
118 uint64_t sec_intena:1; 82 uint64_t sec_intena:1;
119 uint64_t ecc_ena:1; 83 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
137 } cn31xx; 84 } cn31xx;
138 struct cvmx_l2t_err_cn38xx { 85 struct cvmx_l2t_err_cn38xx {
139#ifdef __BIG_ENDIAN_BITFIELD
140 uint64_t reserved_28_63:36; 86 uint64_t reserved_28_63:36;
141 uint64_t lck_intena2:1; 87 uint64_t lck_intena2:1;
142 uint64_t lckerr2:1; 88 uint64_t lckerr2:1;
@@ -150,25 +96,9 @@ union cvmx_l2t_err {
150 uint64_t ded_intena:1; 96 uint64_t ded_intena:1;
151 uint64_t sec_intena:1; 97 uint64_t sec_intena:1;
152 uint64_t ecc_ena:1; 98 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
168 } cn38xx; 99 } cn38xx;
169 struct cvmx_l2t_err_cn38xx cn38xxp2; 100 struct cvmx_l2t_err_cn38xx cn38xxp2;
170 struct cvmx_l2t_err_cn50xx { 101 struct cvmx_l2t_err_cn50xx {
171#ifdef __BIG_ENDIAN_BITFIELD
172 uint64_t reserved_28_63:36; 102 uint64_t reserved_28_63:36;
173 uint64_t lck_intena2:1; 103 uint64_t lck_intena2:1;
174 uint64_t lckerr2:1; 104 uint64_t lckerr2:1;
@@ -183,25 +113,8 @@ union cvmx_l2t_err {
183 uint64_t ded_intena:1; 113 uint64_t ded_intena:1;
184 uint64_t sec_intena:1; 114 uint64_t sec_intena:1;
185 uint64_t ecc_ena:1; 115 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
202 } cn50xx; 116 } cn50xx;
203 struct cvmx_l2t_err_cn52xx { 117 struct cvmx_l2t_err_cn52xx {
204#ifdef __BIG_ENDIAN_BITFIELD
205 uint64_t reserved_28_63:36; 118 uint64_t reserved_28_63:36;
206 uint64_t lck_intena2:1; 119 uint64_t lck_intena2:1;
207 uint64_t lckerr2:1; 120 uint64_t lckerr2:1;
@@ -216,22 +129,6 @@ union cvmx_l2t_err {
216 uint64_t ded_intena:1; 129 uint64_t ded_intena:1;
217 uint64_t sec_intena:1; 130 uint64_t sec_intena:1;
218 uint64_t ecc_ena:1; 131 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
235 } cn52xx; 132 } cn52xx;
236 struct cvmx_l2t_err_cn52xx cn52xxp1; 133 struct cvmx_l2t_err_cn52xx cn52xxp1;
237 struct cvmx_l2t_err_s cn56xx; 134 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 d36d42b8307..e25173bb8bb 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,13 +45,8 @@
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
49 uint64_t reserved_8_63:56; 48 uint64_t reserved_8_63:56;
50 uint64_t rate:8; 49 uint64_t rate:8;
51#else
52 uint64_t rate:8;
53 uint64_t reserved_8_63:56;
54#endif
55 } s; 50 } s;
56 struct cvmx_led_blink_s cn38xx; 51 struct cvmx_led_blink_s cn38xx;
57 struct cvmx_led_blink_s cn38xxp2; 52 struct cvmx_led_blink_s cn38xxp2;
@@ -64,13 +59,8 @@ union cvmx_led_blink {
64union cvmx_led_clk_phase { 59union cvmx_led_clk_phase {
65 uint64_t u64; 60 uint64_t u64;
66 struct cvmx_led_clk_phase_s { 61 struct cvmx_led_clk_phase_s {
67#ifdef __BIG_ENDIAN_BITFIELD
68 uint64_t reserved_7_63:57; 62 uint64_t reserved_7_63:57;
69 uint64_t phase:7; 63 uint64_t phase:7;
70#else
71 uint64_t phase:7;
72 uint64_t reserved_7_63:57;
73#endif
74 } s; 64 } s;
75 struct cvmx_led_clk_phase_s cn38xx; 65 struct cvmx_led_clk_phase_s cn38xx;
76 struct cvmx_led_clk_phase_s cn38xxp2; 66 struct cvmx_led_clk_phase_s cn38xxp2;
@@ -83,13 +73,8 @@ union cvmx_led_clk_phase {
83union cvmx_led_cylon { 73union cvmx_led_cylon {
84 uint64_t u64; 74 uint64_t u64;
85 struct cvmx_led_cylon_s { 75 struct cvmx_led_cylon_s {
86#ifdef __BIG_ENDIAN_BITFIELD
87 uint64_t reserved_16_63:48; 76 uint64_t reserved_16_63:48;
88 uint64_t rate:16; 77 uint64_t rate:16;
89#else
90 uint64_t rate:16;
91 uint64_t reserved_16_63:48;
92#endif
93 } s; 78 } s;
94 struct cvmx_led_cylon_s cn38xx; 79 struct cvmx_led_cylon_s cn38xx;
95 struct cvmx_led_cylon_s cn38xxp2; 80 struct cvmx_led_cylon_s cn38xxp2;
@@ -102,13 +87,8 @@ union cvmx_led_cylon {
102union cvmx_led_dbg { 87union cvmx_led_dbg {
103 uint64_t u64; 88 uint64_t u64;
104 struct cvmx_led_dbg_s { 89 struct cvmx_led_dbg_s {
105#ifdef __BIG_ENDIAN_BITFIELD
106 uint64_t reserved_1_63:63; 90 uint64_t reserved_1_63:63;
107 uint64_t dbg_en:1; 91 uint64_t dbg_en:1;
108#else
109 uint64_t dbg_en:1;
110 uint64_t reserved_1_63:63;
111#endif
112 } s; 92 } s;
113 struct cvmx_led_dbg_s cn38xx; 93 struct cvmx_led_dbg_s cn38xx;
114 struct cvmx_led_dbg_s cn38xxp2; 94 struct cvmx_led_dbg_s cn38xxp2;
@@ -121,13 +101,8 @@ union cvmx_led_dbg {
121union cvmx_led_en { 101union cvmx_led_en {
122 uint64_t u64; 102 uint64_t u64;
123 struct cvmx_led_en_s { 103 struct cvmx_led_en_s {
124#ifdef __BIG_ENDIAN_BITFIELD
125 uint64_t reserved_1_63:63; 104 uint64_t reserved_1_63:63;
126 uint64_t en:1; 105 uint64_t en:1;
127#else
128 uint64_t en:1;
129 uint64_t reserved_1_63:63;
130#endif
131 } s; 106 } s;
132 struct cvmx_led_en_s cn38xx; 107 struct cvmx_led_en_s cn38xx;
133 struct cvmx_led_en_s cn38xxp2; 108 struct cvmx_led_en_s cn38xxp2;
@@ -140,13 +115,8 @@ union cvmx_led_en {
140union cvmx_led_polarity { 115union cvmx_led_polarity {
141 uint64_t u64; 116 uint64_t u64;
142 struct cvmx_led_polarity_s { 117 struct cvmx_led_polarity_s {
143#ifdef __BIG_ENDIAN_BITFIELD
144 uint64_t reserved_1_63:63; 118 uint64_t reserved_1_63:63;
145 uint64_t polarity:1; 119 uint64_t polarity:1;
146#else
147 uint64_t polarity:1;
148 uint64_t reserved_1_63:63;
149#endif
150 } s; 120 } s;
151 struct cvmx_led_polarity_s cn38xx; 121 struct cvmx_led_polarity_s cn38xx;
152 struct cvmx_led_polarity_s cn38xxp2; 122 struct cvmx_led_polarity_s cn38xxp2;
@@ -159,13 +129,8 @@ union cvmx_led_polarity {
159union cvmx_led_prt { 129union cvmx_led_prt {
160 uint64_t u64; 130 uint64_t u64;
161 struct cvmx_led_prt_s { 131 struct cvmx_led_prt_s {
162#ifdef __BIG_ENDIAN_BITFIELD
163 uint64_t reserved_8_63:56; 132 uint64_t reserved_8_63:56;
164 uint64_t prt_en:8; 133 uint64_t prt_en:8;
165#else
166 uint64_t prt_en:8;
167 uint64_t reserved_8_63:56;
168#endif
169 } s; 134 } s;
170 struct cvmx_led_prt_s cn38xx; 135 struct cvmx_led_prt_s cn38xx;
171 struct cvmx_led_prt_s cn38xxp2; 136 struct cvmx_led_prt_s cn38xxp2;
@@ -178,13 +143,8 @@ union cvmx_led_prt {
178union cvmx_led_prt_fmt { 143union cvmx_led_prt_fmt {
179 uint64_t u64; 144 uint64_t u64;
180 struct cvmx_led_prt_fmt_s { 145 struct cvmx_led_prt_fmt_s {
181#ifdef __BIG_ENDIAN_BITFIELD
182 uint64_t reserved_4_63:60; 146 uint64_t reserved_4_63:60;
183 uint64_t format:4; 147 uint64_t format:4;
184#else
185 uint64_t format:4;
186 uint64_t reserved_4_63:60;
187#endif
188 } s; 148 } s;
189 struct cvmx_led_prt_fmt_s cn38xx; 149 struct cvmx_led_prt_fmt_s cn38xx;
190 struct cvmx_led_prt_fmt_s cn38xxp2; 150 struct cvmx_led_prt_fmt_s cn38xxp2;
@@ -197,13 +157,8 @@ union cvmx_led_prt_fmt {
197union cvmx_led_prt_statusx { 157union cvmx_led_prt_statusx {
198 uint64_t u64; 158 uint64_t u64;
199 struct cvmx_led_prt_statusx_s { 159 struct cvmx_led_prt_statusx_s {
200#ifdef __BIG_ENDIAN_BITFIELD
201 uint64_t reserved_6_63:58; 160 uint64_t reserved_6_63:58;
202 uint64_t status:6; 161 uint64_t status:6;
203#else
204 uint64_t status:6;
205 uint64_t reserved_6_63:58;
206#endif
207 } s; 162 } s;
208 struct cvmx_led_prt_statusx_s cn38xx; 163 struct cvmx_led_prt_statusx_s cn38xx;
209 struct cvmx_led_prt_statusx_s cn38xxp2; 164 struct cvmx_led_prt_statusx_s cn38xxp2;
@@ -216,13 +171,8 @@ union cvmx_led_prt_statusx {
216union cvmx_led_udd_cntx { 171union cvmx_led_udd_cntx {
217 uint64_t u64; 172 uint64_t u64;
218 struct cvmx_led_udd_cntx_s { 173 struct cvmx_led_udd_cntx_s {
219#ifdef __BIG_ENDIAN_BITFIELD
220 uint64_t reserved_6_63:58; 174 uint64_t reserved_6_63:58;
221 uint64_t cnt:6; 175 uint64_t cnt:6;
222#else
223 uint64_t cnt:6;
224 uint64_t reserved_6_63:58;
225#endif
226 } s; 176 } s;
227 struct cvmx_led_udd_cntx_s cn38xx; 177 struct cvmx_led_udd_cntx_s cn38xx;
228 struct cvmx_led_udd_cntx_s cn38xxp2; 178 struct cvmx_led_udd_cntx_s cn38xxp2;
@@ -235,13 +185,8 @@ union cvmx_led_udd_cntx {
235union cvmx_led_udd_datx { 185union cvmx_led_udd_datx {
236 uint64_t u64; 186 uint64_t u64;
237 struct cvmx_led_udd_datx_s { 187 struct cvmx_led_udd_datx_s {
238#ifdef __BIG_ENDIAN_BITFIELD
239 uint64_t reserved_32_63:32; 188 uint64_t reserved_32_63:32;
240 uint64_t dat:32; 189 uint64_t dat:32;
241#else
242 uint64_t dat:32;
243 uint64_t reserved_32_63:32;
244#endif
245 } s; 190 } s;
246 struct cvmx_led_udd_datx_s cn38xx; 191 struct cvmx_led_udd_datx_s cn38xx;
247 struct cvmx_led_udd_datx_s cn38xxp2; 192 struct cvmx_led_udd_datx_s cn38xxp2;
@@ -254,13 +199,8 @@ union cvmx_led_udd_datx {
254union cvmx_led_udd_dat_clrx { 199union cvmx_led_udd_dat_clrx {
255 uint64_t u64; 200 uint64_t u64;
256 struct cvmx_led_udd_dat_clrx_s { 201 struct cvmx_led_udd_dat_clrx_s {
257#ifdef __BIG_ENDIAN_BITFIELD
258 uint64_t reserved_32_63:32; 202 uint64_t reserved_32_63:32;
259 uint64_t clr:32; 203 uint64_t clr:32;
260#else
261 uint64_t clr:32;
262 uint64_t reserved_32_63:32;
263#endif
264 } s; 204 } s;
265 struct cvmx_led_udd_dat_clrx_s cn38xx; 205 struct cvmx_led_udd_dat_clrx_s cn38xx;
266 struct cvmx_led_udd_dat_clrx_s cn38xxp2; 206 struct cvmx_led_udd_dat_clrx_s cn38xxp2;
@@ -273,13 +213,8 @@ union cvmx_led_udd_dat_clrx {
273union cvmx_led_udd_dat_setx { 213union cvmx_led_udd_dat_setx {
274 uint64_t u64; 214 uint64_t u64;
275 struct cvmx_led_udd_dat_setx_s { 215 struct cvmx_led_udd_dat_setx_s {
276#ifdef __BIG_ENDIAN_BITFIELD
277 uint64_t reserved_32_63:32; 216 uint64_t reserved_32_63:32;
278 uint64_t set:32; 217 uint64_t set:32;
279#else
280 uint64_t set:32;
281 uint64_t reserved_32_63:32;
282#endif
283 } s; 218 } s;
284 struct cvmx_led_udd_dat_setx_s cn38xx; 219 struct cvmx_led_udd_dat_setx_s cn38xx;
285 struct cvmx_led_udd_dat_setx_s cn38xxp2; 220 struct cvmx_led_udd_dat_setx_s cn38xxp2;
diff --git a/arch/mips/include/asm/octeon/cvmx-lmcx-defs.h b/arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
deleted file mode 100644
index 36f51072114..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
+++ /dev/null
@@ -1,3457 +0,0 @@
1/***********************license start***************
2 * Author: Cavium Inc.
3 *
4 * Contact: support@cavium.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2012 Cavium Inc.
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 Inc. for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_LMCX_DEFS_H__
29#define __CVMX_LMCX_DEFS_H__
30
31#define CVMX_LMCX_BIST_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F0ull) + ((block_id) & 1) * 0x60000000ull)
32#define CVMX_LMCX_BIST_RESULT(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F8ull) + ((block_id) & 1) * 0x60000000ull)
33#define CVMX_LMCX_CHAR_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000220ull) + ((block_id) & 3) * 0x1000000ull)
34#define CVMX_LMCX_CHAR_MASK0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000228ull) + ((block_id) & 3) * 0x1000000ull)
35#define CVMX_LMCX_CHAR_MASK1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000230ull) + ((block_id) & 3) * 0x1000000ull)
36#define CVMX_LMCX_CHAR_MASK2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000238ull) + ((block_id) & 3) * 0x1000000ull)
37#define CVMX_LMCX_CHAR_MASK3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000240ull) + ((block_id) & 3) * 0x1000000ull)
38#define CVMX_LMCX_CHAR_MASK4(block_id) (CVMX_ADD_IO_SEG(0x0001180088000318ull) + ((block_id) & 3) * 0x1000000ull)
39#define CVMX_LMCX_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000028ull) + ((block_id) & 1) * 0x60000000ull)
40#define CVMX_LMCX_COMP_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B8ull) + ((block_id) & 3) * 0x1000000ull)
41#define CVMX_LMCX_CONFIG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000188ull) + ((block_id) & 3) * 0x1000000ull)
42#define CVMX_LMCX_CONTROL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000190ull) + ((block_id) & 3) * 0x1000000ull)
43#define CVMX_LMCX_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000010ull) + ((block_id) & 1) * 0x60000000ull)
44#define CVMX_LMCX_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000090ull) + ((block_id) & 1) * 0x60000000ull)
45#define CVMX_LMCX_DCLK_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E0ull) + ((block_id) & 3) * 0x1000000ull)
46#define CVMX_LMCX_DCLK_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000070ull) + ((block_id) & 1) * 0x60000000ull)
47#define CVMX_LMCX_DCLK_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000068ull) + ((block_id) & 1) * 0x60000000ull)
48#define CVMX_LMCX_DCLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B8ull) + ((block_id) & 1) * 0x60000000ull)
49#define CVMX_LMCX_DDR2_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000018ull) + ((block_id) & 1) * 0x60000000ull)
50#define CVMX_LMCX_DDR_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000258ull) + ((block_id) & 3) * 0x1000000ull)
51#define CVMX_LMCX_DELAY_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000088ull) + ((block_id) & 1) * 0x60000000ull)
52#define CVMX_LMCX_DIMMX_PARAMS(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000270ull) + (((offset) & 1) + ((block_id) & 3) * 0x200000ull) * 8)
53#define CVMX_LMCX_DIMM_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000310ull) + ((block_id) & 3) * 0x1000000ull)
54#define CVMX_LMCX_DLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000C0ull) + ((block_id) & 1) * 0x60000000ull)
55#define CVMX_LMCX_DLL_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001C8ull) + ((block_id) & 3) * 0x1000000ull)
56#define CVMX_LMCX_DLL_CTL3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000218ull) + ((block_id) & 3) * 0x1000000ull)
57static inline uint64_t CVMX_LMCX_DUAL_MEMCFG(unsigned long block_id)
58{
59 switch (cvmx_get_octeon_family()) {
60 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
61 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
62 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
63 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
64 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
65 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
66 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
67 return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
68 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
69 return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
70 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
71 return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x1000000ull;
72 }
73 return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
74}
75
76static inline uint64_t CVMX_LMCX_ECC_SYND(unsigned long block_id)
77{
78 switch (cvmx_get_octeon_family()) {
79 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
80 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
81 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
82 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
83 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
84 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
85 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
86 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
87 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
88 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
89 return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
90 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
91 return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
92 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
93 return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x1000000ull;
94 }
95 return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
96}
97
98static inline uint64_t CVMX_LMCX_FADR(unsigned long block_id)
99{
100 switch (cvmx_get_octeon_family()) {
101 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
102 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
103 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
104 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
105 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
106 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
107 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
108 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
109 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
110 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
111 return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
112 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
113 return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
114 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
115 return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x1000000ull;
116 }
117 return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
118}
119
120#define CVMX_LMCX_IFB_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D0ull) + ((block_id) & 3) * 0x1000000ull)
121#define CVMX_LMCX_IFB_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000050ull) + ((block_id) & 1) * 0x60000000ull)
122#define CVMX_LMCX_IFB_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000048ull) + ((block_id) & 1) * 0x60000000ull)
123#define CVMX_LMCX_INT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F0ull) + ((block_id) & 3) * 0x1000000ull)
124#define CVMX_LMCX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E8ull) + ((block_id) & 3) * 0x1000000ull)
125#define CVMX_LMCX_MEM_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000000ull) + ((block_id) & 1) * 0x60000000ull)
126#define CVMX_LMCX_MEM_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000008ull) + ((block_id) & 1) * 0x60000000ull)
127#define CVMX_LMCX_MODEREG_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A8ull) + ((block_id) & 3) * 0x1000000ull)
128#define CVMX_LMCX_MODEREG_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000260ull) + ((block_id) & 3) * 0x1000000ull)
129static inline uint64_t CVMX_LMCX_NXM(unsigned long block_id)
130{
131 switch (cvmx_get_octeon_family()) {
132 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
133 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
134 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
135 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
136 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
137 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
138 return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
139 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
140 return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
141 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
142 return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x1000000ull;
143 }
144 return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
145}
146
147#define CVMX_LMCX_OPS_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D8ull) + ((block_id) & 3) * 0x1000000ull)
148#define CVMX_LMCX_OPS_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000060ull) + ((block_id) & 1) * 0x60000000ull)
149#define CVMX_LMCX_OPS_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000058ull) + ((block_id) & 1) * 0x60000000ull)
150#define CVMX_LMCX_PHY_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000210ull) + ((block_id) & 3) * 0x1000000ull)
151#define CVMX_LMCX_PLL_BWCTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000040ull))
152#define CVMX_LMCX_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A8ull) + ((block_id) & 1) * 0x60000000ull)
153#define CVMX_LMCX_PLL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B0ull) + ((block_id) & 1) * 0x60000000ull)
154#define CVMX_LMCX_READ_LEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000140ull) + ((block_id) & 1) * 0x60000000ull)
155#define CVMX_LMCX_READ_LEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000148ull) + ((block_id) & 1) * 0x60000000ull)
156#define CVMX_LMCX_READ_LEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000100ull) + (((offset) & 3) + ((block_id) & 1) * 0xC000000ull) * 8)
157#define CVMX_LMCX_RESET_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000180ull) + ((block_id) & 3) * 0x1000000ull)
158#define CVMX_LMCX_RLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A0ull) + ((block_id) & 3) * 0x1000000ull)
159#define CVMX_LMCX_RLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A8ull) + ((block_id) & 3) * 0x1000000ull)
160#define CVMX_LMCX_RLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000280ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
161#define CVMX_LMCX_RODT_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A0ull) + ((block_id) & 1) * 0x60000000ull)
162#define CVMX_LMCX_RODT_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000078ull) + ((block_id) & 1) * 0x60000000ull)
163#define CVMX_LMCX_RODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x0001180088000268ull) + ((block_id) & 3) * 0x1000000ull)
164#define CVMX_LMCX_SCRAMBLED_FADR(block_id) (CVMX_ADD_IO_SEG(0x0001180088000330ull))
165#define CVMX_LMCX_SCRAMBLE_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000320ull))
166#define CVMX_LMCX_SCRAMBLE_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000328ull))
167#define CVMX_LMCX_SLOT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F8ull) + ((block_id) & 3) * 0x1000000ull)
168#define CVMX_LMCX_SLOT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000200ull) + ((block_id) & 3) * 0x1000000ull)
169#define CVMX_LMCX_SLOT_CTL2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000208ull) + ((block_id) & 3) * 0x1000000ull)
170#define CVMX_LMCX_TIMING_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000198ull) + ((block_id) & 3) * 0x1000000ull)
171#define CVMX_LMCX_TIMING_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A0ull) + ((block_id) & 3) * 0x1000000ull)
172#define CVMX_LMCX_TRO_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000248ull) + ((block_id) & 3) * 0x1000000ull)
173#define CVMX_LMCX_TRO_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180088000250ull) + ((block_id) & 3) * 0x1000000ull)
174#define CVMX_LMCX_WLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000300ull) + ((block_id) & 3) * 0x1000000ull)
175#define CVMX_LMCX_WLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000308ull) + ((block_id) & 3) * 0x1000000ull)
176#define CVMX_LMCX_WLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800880002B0ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
177#define CVMX_LMCX_WODT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000030ull) + ((block_id) & 1) * 0x60000000ull)
178#define CVMX_LMCX_WODT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000080ull) + ((block_id) & 1) * 0x60000000ull)
179#define CVMX_LMCX_WODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B0ull) + ((block_id) & 3) * 0x1000000ull)
180
181union cvmx_lmcx_bist_ctl {
182 uint64_t u64;
183 struct cvmx_lmcx_bist_ctl_s {
184#ifdef __BIG_ENDIAN_BITFIELD
185 uint64_t reserved_1_63:63;
186 uint64_t start:1;
187#else
188 uint64_t start:1;
189 uint64_t reserved_1_63:63;
190#endif
191 } s;
192 struct cvmx_lmcx_bist_ctl_s cn50xx;
193 struct cvmx_lmcx_bist_ctl_s cn52xx;
194 struct cvmx_lmcx_bist_ctl_s cn52xxp1;
195 struct cvmx_lmcx_bist_ctl_s cn56xx;
196 struct cvmx_lmcx_bist_ctl_s cn56xxp1;
197};
198
199union cvmx_lmcx_bist_result {
200 uint64_t u64;
201 struct cvmx_lmcx_bist_result_s {
202#ifdef __BIG_ENDIAN_BITFIELD
203 uint64_t reserved_11_63:53;
204 uint64_t csrd2e:1;
205 uint64_t csre2d:1;
206 uint64_t mwf:1;
207 uint64_t mwd:3;
208 uint64_t mwc:1;
209 uint64_t mrf:1;
210 uint64_t mrd:3;
211#else
212 uint64_t mrd:3;
213 uint64_t mrf:1;
214 uint64_t mwc:1;
215 uint64_t mwd:3;
216 uint64_t mwf:1;
217 uint64_t csre2d:1;
218 uint64_t csrd2e:1;
219 uint64_t reserved_11_63:53;
220#endif
221 } s;
222 struct cvmx_lmcx_bist_result_cn50xx {
223#ifdef __BIG_ENDIAN_BITFIELD
224 uint64_t reserved_9_63:55;
225 uint64_t mwf:1;
226 uint64_t mwd:3;
227 uint64_t mwc:1;
228 uint64_t mrf:1;
229 uint64_t mrd:3;
230#else
231 uint64_t mrd:3;
232 uint64_t mrf:1;
233 uint64_t mwc:1;
234 uint64_t mwd:3;
235 uint64_t mwf:1;
236 uint64_t reserved_9_63:55;
237#endif
238 } cn50xx;
239 struct cvmx_lmcx_bist_result_s cn52xx;
240 struct cvmx_lmcx_bist_result_s cn52xxp1;
241 struct cvmx_lmcx_bist_result_s cn56xx;
242 struct cvmx_lmcx_bist_result_s cn56xxp1;
243};
244
245union cvmx_lmcx_char_ctl {
246 uint64_t u64;
247 struct cvmx_lmcx_char_ctl_s {
248#ifdef __BIG_ENDIAN_BITFIELD
249 uint64_t reserved_44_63:20;
250 uint64_t dr:1;
251 uint64_t skew_on:1;
252 uint64_t en:1;
253 uint64_t sel:1;
254 uint64_t prog:8;
255 uint64_t prbs:32;
256#else
257 uint64_t prbs:32;
258 uint64_t prog:8;
259 uint64_t sel:1;
260 uint64_t en:1;
261 uint64_t skew_on:1;
262 uint64_t dr:1;
263 uint64_t reserved_44_63:20;
264#endif
265 } s;
266 struct cvmx_lmcx_char_ctl_s cn61xx;
267 struct cvmx_lmcx_char_ctl_cn63xx {
268#ifdef __BIG_ENDIAN_BITFIELD
269 uint64_t reserved_42_63:22;
270 uint64_t en:1;
271 uint64_t sel:1;
272 uint64_t prog:8;
273 uint64_t prbs:32;
274#else
275 uint64_t prbs:32;
276 uint64_t prog:8;
277 uint64_t sel:1;
278 uint64_t en:1;
279 uint64_t reserved_42_63:22;
280#endif
281 } cn63xx;
282 struct cvmx_lmcx_char_ctl_cn63xx cn63xxp1;
283 struct cvmx_lmcx_char_ctl_s cn66xx;
284 struct cvmx_lmcx_char_ctl_s cn68xx;
285 struct cvmx_lmcx_char_ctl_cn63xx cn68xxp1;
286 struct cvmx_lmcx_char_ctl_s cnf71xx;
287};
288
289union cvmx_lmcx_char_mask0 {
290 uint64_t u64;
291 struct cvmx_lmcx_char_mask0_s {
292#ifdef __BIG_ENDIAN_BITFIELD
293 uint64_t mask:64;
294#else
295 uint64_t mask:64;
296#endif
297 } s;
298 struct cvmx_lmcx_char_mask0_s cn61xx;
299 struct cvmx_lmcx_char_mask0_s cn63xx;
300 struct cvmx_lmcx_char_mask0_s cn63xxp1;
301 struct cvmx_lmcx_char_mask0_s cn66xx;
302 struct cvmx_lmcx_char_mask0_s cn68xx;
303 struct cvmx_lmcx_char_mask0_s cn68xxp1;
304 struct cvmx_lmcx_char_mask0_s cnf71xx;
305};
306
307union cvmx_lmcx_char_mask1 {
308 uint64_t u64;
309 struct cvmx_lmcx_char_mask1_s {
310#ifdef __BIG_ENDIAN_BITFIELD
311 uint64_t reserved_8_63:56;
312 uint64_t mask:8;
313#else
314 uint64_t mask:8;
315 uint64_t reserved_8_63:56;
316#endif
317 } s;
318 struct cvmx_lmcx_char_mask1_s cn61xx;
319 struct cvmx_lmcx_char_mask1_s cn63xx;
320 struct cvmx_lmcx_char_mask1_s cn63xxp1;
321 struct cvmx_lmcx_char_mask1_s cn66xx;
322 struct cvmx_lmcx_char_mask1_s cn68xx;
323 struct cvmx_lmcx_char_mask1_s cn68xxp1;
324 struct cvmx_lmcx_char_mask1_s cnf71xx;
325};
326
327union cvmx_lmcx_char_mask2 {
328 uint64_t u64;
329 struct cvmx_lmcx_char_mask2_s {
330#ifdef __BIG_ENDIAN_BITFIELD
331 uint64_t mask:64;
332#else
333 uint64_t mask:64;
334#endif
335 } s;
336 struct cvmx_lmcx_char_mask2_s cn61xx;
337 struct cvmx_lmcx_char_mask2_s cn63xx;
338 struct cvmx_lmcx_char_mask2_s cn63xxp1;
339 struct cvmx_lmcx_char_mask2_s cn66xx;
340 struct cvmx_lmcx_char_mask2_s cn68xx;
341 struct cvmx_lmcx_char_mask2_s cn68xxp1;
342 struct cvmx_lmcx_char_mask2_s cnf71xx;
343};
344
345union cvmx_lmcx_char_mask3 {
346 uint64_t u64;
347 struct cvmx_lmcx_char_mask3_s {
348#ifdef __BIG_ENDIAN_BITFIELD
349 uint64_t reserved_8_63:56;
350 uint64_t mask:8;
351#else
352 uint64_t mask:8;
353 uint64_t reserved_8_63:56;
354#endif
355 } s;
356 struct cvmx_lmcx_char_mask3_s cn61xx;
357 struct cvmx_lmcx_char_mask3_s cn63xx;
358 struct cvmx_lmcx_char_mask3_s cn63xxp1;
359 struct cvmx_lmcx_char_mask3_s cn66xx;
360 struct cvmx_lmcx_char_mask3_s cn68xx;
361 struct cvmx_lmcx_char_mask3_s cn68xxp1;
362 struct cvmx_lmcx_char_mask3_s cnf71xx;
363};
364
365union cvmx_lmcx_char_mask4 {
366 uint64_t u64;
367 struct cvmx_lmcx_char_mask4_s {
368#ifdef __BIG_ENDIAN_BITFIELD
369 uint64_t reserved_33_63:31;
370 uint64_t reset_n_mask:1;
371 uint64_t a_mask:16;
372 uint64_t ba_mask:3;
373 uint64_t we_n_mask:1;
374 uint64_t cas_n_mask:1;
375 uint64_t ras_n_mask:1;
376 uint64_t odt1_mask:2;
377 uint64_t odt0_mask:2;
378 uint64_t cs1_n_mask:2;
379 uint64_t cs0_n_mask:2;
380 uint64_t cke_mask:2;
381#else
382 uint64_t cke_mask:2;
383 uint64_t cs0_n_mask:2;
384 uint64_t cs1_n_mask:2;
385 uint64_t odt0_mask:2;
386 uint64_t odt1_mask:2;
387 uint64_t ras_n_mask:1;
388 uint64_t cas_n_mask:1;
389 uint64_t we_n_mask:1;
390 uint64_t ba_mask:3;
391 uint64_t a_mask:16;
392 uint64_t reset_n_mask:1;
393 uint64_t reserved_33_63:31;
394#endif
395 } s;
396 struct cvmx_lmcx_char_mask4_s cn61xx;
397 struct cvmx_lmcx_char_mask4_s cn63xx;
398 struct cvmx_lmcx_char_mask4_s cn63xxp1;
399 struct cvmx_lmcx_char_mask4_s cn66xx;
400 struct cvmx_lmcx_char_mask4_s cn68xx;
401 struct cvmx_lmcx_char_mask4_s cn68xxp1;
402 struct cvmx_lmcx_char_mask4_s cnf71xx;
403};
404
405union cvmx_lmcx_comp_ctl {
406 uint64_t u64;
407 struct cvmx_lmcx_comp_ctl_s {
408#ifdef __BIG_ENDIAN_BITFIELD
409 uint64_t reserved_32_63:32;
410 uint64_t nctl_csr:4;
411 uint64_t nctl_clk:4;
412 uint64_t nctl_cmd:4;
413 uint64_t nctl_dat:4;
414 uint64_t pctl_csr:4;
415 uint64_t pctl_clk:4;
416 uint64_t reserved_0_7:8;
417#else
418 uint64_t reserved_0_7:8;
419 uint64_t pctl_clk:4;
420 uint64_t pctl_csr:4;
421 uint64_t nctl_dat:4;
422 uint64_t nctl_cmd:4;
423 uint64_t nctl_clk:4;
424 uint64_t nctl_csr:4;
425 uint64_t reserved_32_63:32;
426#endif
427 } s;
428 struct cvmx_lmcx_comp_ctl_cn30xx {
429#ifdef __BIG_ENDIAN_BITFIELD
430 uint64_t reserved_32_63:32;
431 uint64_t nctl_csr:4;
432 uint64_t nctl_clk:4;
433 uint64_t nctl_cmd:4;
434 uint64_t nctl_dat:4;
435 uint64_t pctl_csr:4;
436 uint64_t pctl_clk:4;
437 uint64_t pctl_cmd:4;
438 uint64_t pctl_dat:4;
439#else
440 uint64_t pctl_dat:4;
441 uint64_t pctl_cmd:4;
442 uint64_t pctl_clk:4;
443 uint64_t pctl_csr:4;
444 uint64_t nctl_dat:4;
445 uint64_t nctl_cmd:4;
446 uint64_t nctl_clk:4;
447 uint64_t nctl_csr:4;
448 uint64_t reserved_32_63:32;
449#endif
450 } cn30xx;
451 struct cvmx_lmcx_comp_ctl_cn30xx cn31xx;
452 struct cvmx_lmcx_comp_ctl_cn30xx cn38xx;
453 struct cvmx_lmcx_comp_ctl_cn30xx cn38xxp2;
454 struct cvmx_lmcx_comp_ctl_cn50xx {
455#ifdef __BIG_ENDIAN_BITFIELD
456 uint64_t reserved_32_63:32;
457 uint64_t nctl_csr:4;
458 uint64_t reserved_20_27:8;
459 uint64_t nctl_dat:4;
460 uint64_t pctl_csr:4;
461 uint64_t reserved_5_11:7;
462 uint64_t pctl_dat:5;
463#else
464 uint64_t pctl_dat:5;
465 uint64_t reserved_5_11:7;
466 uint64_t pctl_csr:4;
467 uint64_t nctl_dat:4;
468 uint64_t reserved_20_27:8;
469 uint64_t nctl_csr:4;
470 uint64_t reserved_32_63:32;
471#endif
472 } cn50xx;
473 struct cvmx_lmcx_comp_ctl_cn50xx cn52xx;
474 struct cvmx_lmcx_comp_ctl_cn50xx cn52xxp1;
475 struct cvmx_lmcx_comp_ctl_cn50xx cn56xx;
476 struct cvmx_lmcx_comp_ctl_cn50xx cn56xxp1;
477 struct cvmx_lmcx_comp_ctl_cn50xx cn58xx;
478 struct cvmx_lmcx_comp_ctl_cn58xxp1 {
479#ifdef __BIG_ENDIAN_BITFIELD
480 uint64_t reserved_32_63:32;
481 uint64_t nctl_csr:4;
482 uint64_t reserved_20_27:8;
483 uint64_t nctl_dat:4;
484 uint64_t pctl_csr:4;
485 uint64_t reserved_4_11:8;
486 uint64_t pctl_dat:4;
487#else
488 uint64_t pctl_dat:4;
489 uint64_t reserved_4_11:8;
490 uint64_t pctl_csr:4;
491 uint64_t nctl_dat:4;
492 uint64_t reserved_20_27:8;
493 uint64_t nctl_csr:4;
494 uint64_t reserved_32_63:32;
495#endif
496 } cn58xxp1;
497};
498
499union cvmx_lmcx_comp_ctl2 {
500 uint64_t u64;
501 struct cvmx_lmcx_comp_ctl2_s {
502#ifdef __BIG_ENDIAN_BITFIELD
503 uint64_t reserved_34_63:30;
504 uint64_t ddr__ptune:4;
505 uint64_t ddr__ntune:4;
506 uint64_t m180:1;
507 uint64_t byp:1;
508 uint64_t ptune:4;
509 uint64_t ntune:4;
510 uint64_t rodt_ctl:4;
511 uint64_t cmd_ctl:4;
512 uint64_t ck_ctl:4;
513 uint64_t dqx_ctl:4;
514#else
515 uint64_t dqx_ctl:4;
516 uint64_t ck_ctl:4;
517 uint64_t cmd_ctl:4;
518 uint64_t rodt_ctl:4;
519 uint64_t ntune:4;
520 uint64_t ptune:4;
521 uint64_t byp:1;
522 uint64_t m180:1;
523 uint64_t ddr__ntune:4;
524 uint64_t ddr__ptune:4;
525 uint64_t reserved_34_63:30;
526#endif
527 } s;
528 struct cvmx_lmcx_comp_ctl2_s cn61xx;
529 struct cvmx_lmcx_comp_ctl2_s cn63xx;
530 struct cvmx_lmcx_comp_ctl2_s cn63xxp1;
531 struct cvmx_lmcx_comp_ctl2_s cn66xx;
532 struct cvmx_lmcx_comp_ctl2_s cn68xx;
533 struct cvmx_lmcx_comp_ctl2_s cn68xxp1;
534 struct cvmx_lmcx_comp_ctl2_s cnf71xx;
535};
536
537union cvmx_lmcx_config {
538 uint64_t u64;
539 struct cvmx_lmcx_config_s {
540#ifdef __BIG_ENDIAN_BITFIELD
541 uint64_t reserved_61_63:3;
542 uint64_t mode32b:1;
543 uint64_t scrz:1;
544 uint64_t early_unload_d1_r1:1;
545 uint64_t early_unload_d1_r0:1;
546 uint64_t early_unload_d0_r1:1;
547 uint64_t early_unload_d0_r0:1;
548 uint64_t init_status:4;
549 uint64_t mirrmask:4;
550 uint64_t rankmask:4;
551 uint64_t rank_ena:1;
552 uint64_t sref_with_dll:1;
553 uint64_t early_dqx:1;
554 uint64_t sequence:3;
555 uint64_t ref_zqcs_int:19;
556 uint64_t reset:1;
557 uint64_t ecc_adr:1;
558 uint64_t forcewrite:4;
559 uint64_t idlepower:3;
560 uint64_t pbank_lsb:4;
561 uint64_t row_lsb:3;
562 uint64_t ecc_ena:1;
563 uint64_t init_start:1;
564#else
565 uint64_t init_start:1;
566 uint64_t ecc_ena:1;
567 uint64_t row_lsb:3;
568 uint64_t pbank_lsb:4;
569 uint64_t idlepower:3;
570 uint64_t forcewrite:4;
571 uint64_t ecc_adr:1;
572 uint64_t reset:1;
573 uint64_t ref_zqcs_int:19;
574 uint64_t sequence:3;
575 uint64_t early_dqx:1;
576 uint64_t sref_with_dll:1;
577 uint64_t rank_ena:1;
578 uint64_t rankmask:4;
579 uint64_t mirrmask:4;
580 uint64_t init_status:4;
581 uint64_t early_unload_d0_r0:1;
582 uint64_t early_unload_d0_r1:1;
583 uint64_t early_unload_d1_r0:1;
584 uint64_t early_unload_d1_r1:1;
585 uint64_t scrz:1;
586 uint64_t mode32b:1;
587 uint64_t reserved_61_63:3;
588#endif
589 } s;
590 struct cvmx_lmcx_config_s cn61xx;
591 struct cvmx_lmcx_config_cn63xx {
592#ifdef __BIG_ENDIAN_BITFIELD
593 uint64_t reserved_59_63:5;
594 uint64_t early_unload_d1_r1:1;
595 uint64_t early_unload_d1_r0:1;
596 uint64_t early_unload_d0_r1:1;
597 uint64_t early_unload_d0_r0:1;
598 uint64_t init_status:4;
599 uint64_t mirrmask:4;
600 uint64_t rankmask:4;
601 uint64_t rank_ena:1;
602 uint64_t sref_with_dll:1;
603 uint64_t early_dqx:1;
604 uint64_t sequence:3;
605 uint64_t ref_zqcs_int:19;
606 uint64_t reset:1;
607 uint64_t ecc_adr:1;
608 uint64_t forcewrite:4;
609 uint64_t idlepower:3;
610 uint64_t pbank_lsb:4;
611 uint64_t row_lsb:3;
612 uint64_t ecc_ena:1;
613 uint64_t init_start:1;
614#else
615 uint64_t init_start:1;
616 uint64_t ecc_ena:1;
617 uint64_t row_lsb:3;
618 uint64_t pbank_lsb:4;
619 uint64_t idlepower:3;
620 uint64_t forcewrite:4;
621 uint64_t ecc_adr:1;
622 uint64_t reset:1;
623 uint64_t ref_zqcs_int:19;
624 uint64_t sequence:3;
625 uint64_t early_dqx:1;
626 uint64_t sref_with_dll:1;
627 uint64_t rank_ena:1;
628 uint64_t rankmask:4;
629 uint64_t mirrmask:4;
630 uint64_t init_status:4;
631 uint64_t early_unload_d0_r0:1;
632 uint64_t early_unload_d0_r1:1;
633 uint64_t early_unload_d1_r0:1;
634 uint64_t early_unload_d1_r1:1;
635 uint64_t reserved_59_63:5;
636#endif
637 } cn63xx;
638 struct cvmx_lmcx_config_cn63xxp1 {
639#ifdef __BIG_ENDIAN_BITFIELD
640 uint64_t reserved_55_63:9;
641 uint64_t init_status:4;
642 uint64_t mirrmask:4;
643 uint64_t rankmask:4;
644 uint64_t rank_ena:1;
645 uint64_t sref_with_dll:1;
646 uint64_t early_dqx:1;
647 uint64_t sequence:3;
648 uint64_t ref_zqcs_int:19;
649 uint64_t reset:1;
650 uint64_t ecc_adr:1;
651 uint64_t forcewrite:4;
652 uint64_t idlepower:3;
653 uint64_t pbank_lsb:4;
654 uint64_t row_lsb:3;
655 uint64_t ecc_ena:1;
656 uint64_t init_start:1;
657#else
658 uint64_t init_start:1;
659 uint64_t ecc_ena:1;
660 uint64_t row_lsb:3;
661 uint64_t pbank_lsb:4;
662 uint64_t idlepower:3;
663 uint64_t forcewrite:4;
664 uint64_t ecc_adr:1;
665 uint64_t reset:1;
666 uint64_t ref_zqcs_int:19;
667 uint64_t sequence:3;
668 uint64_t early_dqx:1;
669 uint64_t sref_with_dll:1;
670 uint64_t rank_ena:1;
671 uint64_t rankmask:4;
672 uint64_t mirrmask:4;
673 uint64_t init_status:4;
674 uint64_t reserved_55_63:9;
675#endif
676 } cn63xxp1;
677 struct cvmx_lmcx_config_cn66xx {
678#ifdef __BIG_ENDIAN_BITFIELD
679 uint64_t reserved_60_63:4;
680 uint64_t scrz:1;
681 uint64_t early_unload_d1_r1:1;
682 uint64_t early_unload_d1_r0:1;
683 uint64_t early_unload_d0_r1:1;
684 uint64_t early_unload_d0_r0:1;
685 uint64_t init_status:4;
686 uint64_t mirrmask:4;
687 uint64_t rankmask:4;
688 uint64_t rank_ena:1;
689 uint64_t sref_with_dll:1;
690 uint64_t early_dqx:1;
691 uint64_t sequence:3;
692 uint64_t ref_zqcs_int:19;
693 uint64_t reset:1;
694 uint64_t ecc_adr:1;
695 uint64_t forcewrite:4;
696 uint64_t idlepower:3;
697 uint64_t pbank_lsb:4;
698 uint64_t row_lsb:3;
699 uint64_t ecc_ena:1;
700 uint64_t init_start:1;
701#else
702 uint64_t init_start:1;
703 uint64_t ecc_ena:1;
704 uint64_t row_lsb:3;
705 uint64_t pbank_lsb:4;
706 uint64_t idlepower:3;
707 uint64_t forcewrite:4;
708 uint64_t ecc_adr:1;
709 uint64_t reset:1;
710 uint64_t ref_zqcs_int:19;
711 uint64_t sequence:3;
712 uint64_t early_dqx:1;
713 uint64_t sref_with_dll:1;
714 uint64_t rank_ena:1;
715 uint64_t rankmask:4;
716 uint64_t mirrmask:4;
717 uint64_t init_status:4;
718 uint64_t early_unload_d0_r0:1;
719 uint64_t early_unload_d0_r1:1;
720 uint64_t early_unload_d1_r0:1;
721 uint64_t early_unload_d1_r1:1;
722 uint64_t scrz:1;
723 uint64_t reserved_60_63:4;
724#endif
725 } cn66xx;
726 struct cvmx_lmcx_config_cn63xx cn68xx;
727 struct cvmx_lmcx_config_cn63xx cn68xxp1;
728 struct cvmx_lmcx_config_s cnf71xx;
729};
730
731union cvmx_lmcx_control {
732 uint64_t u64;
733 struct cvmx_lmcx_control_s {
734#ifdef __BIG_ENDIAN_BITFIELD
735 uint64_t scramble_ena:1;
736 uint64_t thrcnt:12;
737 uint64_t persub:8;
738 uint64_t thrmax:4;
739 uint64_t crm_cnt:5;
740 uint64_t crm_thr:5;
741 uint64_t crm_max:5;
742 uint64_t rodt_bprch:1;
743 uint64_t wodt_bprch:1;
744 uint64_t bprch:2;
745 uint64_t ext_zqcs_dis:1;
746 uint64_t int_zqcs_dis:1;
747 uint64_t auto_dclkdis:1;
748 uint64_t xor_bank:1;
749 uint64_t max_write_batch:4;
750 uint64_t nxm_write_en:1;
751 uint64_t elev_prio_dis:1;
752 uint64_t inorder_wr:1;
753 uint64_t inorder_rd:1;
754 uint64_t throttle_wr:1;
755 uint64_t throttle_rd:1;
756 uint64_t fprch2:2;
757 uint64_t pocas:1;
758 uint64_t ddr2t:1;
759 uint64_t bwcnt:1;
760 uint64_t rdimm_ena:1;
761#else
762 uint64_t rdimm_ena:1;
763 uint64_t bwcnt:1;
764 uint64_t ddr2t:1;
765 uint64_t pocas:1;
766 uint64_t fprch2:2;
767 uint64_t throttle_rd:1;
768 uint64_t throttle_wr:1;
769 uint64_t inorder_rd:1;
770 uint64_t inorder_wr:1;
771 uint64_t elev_prio_dis:1;
772 uint64_t nxm_write_en:1;
773 uint64_t max_write_batch:4;
774 uint64_t xor_bank:1;
775 uint64_t auto_dclkdis:1;
776 uint64_t int_zqcs_dis:1;
777 uint64_t ext_zqcs_dis:1;
778 uint64_t bprch:2;
779 uint64_t wodt_bprch:1;
780 uint64_t rodt_bprch:1;
781 uint64_t crm_max:5;
782 uint64_t crm_thr:5;
783 uint64_t crm_cnt:5;
784 uint64_t thrmax:4;
785 uint64_t persub:8;
786 uint64_t thrcnt:12;
787 uint64_t scramble_ena:1;
788#endif
789 } s;
790 struct cvmx_lmcx_control_s cn61xx;
791 struct cvmx_lmcx_control_cn63xx {
792#ifdef __BIG_ENDIAN_BITFIELD
793 uint64_t reserved_24_63:40;
794 uint64_t rodt_bprch:1;
795 uint64_t wodt_bprch:1;
796 uint64_t bprch:2;
797 uint64_t ext_zqcs_dis:1;
798 uint64_t int_zqcs_dis:1;
799 uint64_t auto_dclkdis:1;
800 uint64_t xor_bank:1;
801 uint64_t max_write_batch:4;
802 uint64_t nxm_write_en:1;
803 uint64_t elev_prio_dis:1;
804 uint64_t inorder_wr:1;
805 uint64_t inorder_rd:1;
806 uint64_t throttle_wr:1;
807 uint64_t throttle_rd:1;
808 uint64_t fprch2:2;
809 uint64_t pocas:1;
810 uint64_t ddr2t:1;
811 uint64_t bwcnt:1;
812 uint64_t rdimm_ena:1;
813#else
814 uint64_t rdimm_ena:1;
815 uint64_t bwcnt:1;
816 uint64_t ddr2t:1;
817 uint64_t pocas:1;
818 uint64_t fprch2:2;
819 uint64_t throttle_rd:1;
820 uint64_t throttle_wr:1;
821 uint64_t inorder_rd:1;
822 uint64_t inorder_wr:1;
823 uint64_t elev_prio_dis:1;
824 uint64_t nxm_write_en:1;
825 uint64_t max_write_batch:4;
826 uint64_t xor_bank:1;
827 uint64_t auto_dclkdis:1;
828 uint64_t int_zqcs_dis:1;
829 uint64_t ext_zqcs_dis:1;
830 uint64_t bprch:2;
831 uint64_t wodt_bprch:1;
832 uint64_t rodt_bprch:1;
833 uint64_t reserved_24_63:40;
834#endif
835 } cn63xx;
836 struct cvmx_lmcx_control_cn63xx cn63xxp1;
837 struct cvmx_lmcx_control_cn66xx {
838#ifdef __BIG_ENDIAN_BITFIELD
839 uint64_t scramble_ena:1;
840 uint64_t reserved_24_62:39;
841 uint64_t rodt_bprch:1;
842 uint64_t wodt_bprch:1;
843 uint64_t bprch:2;
844 uint64_t ext_zqcs_dis:1;
845 uint64_t int_zqcs_dis:1;
846 uint64_t auto_dclkdis:1;
847 uint64_t xor_bank:1;
848 uint64_t max_write_batch:4;
849 uint64_t nxm_write_en:1;
850 uint64_t elev_prio_dis:1;
851 uint64_t inorder_wr:1;
852 uint64_t inorder_rd:1;
853 uint64_t throttle_wr:1;
854 uint64_t throttle_rd:1;
855 uint64_t fprch2:2;
856 uint64_t pocas:1;
857 uint64_t ddr2t:1;
858 uint64_t bwcnt:1;
859 uint64_t rdimm_ena:1;
860#else
861 uint64_t rdimm_ena:1;
862 uint64_t bwcnt:1;
863 uint64_t ddr2t:1;
864 uint64_t pocas:1;
865 uint64_t fprch2:2;
866 uint64_t throttle_rd:1;
867 uint64_t throttle_wr:1;
868 uint64_t inorder_rd:1;
869 uint64_t inorder_wr:1;
870 uint64_t elev_prio_dis:1;
871 uint64_t nxm_write_en:1;
872 uint64_t max_write_batch:4;
873 uint64_t xor_bank:1;
874 uint64_t auto_dclkdis:1;
875 uint64_t int_zqcs_dis:1;
876 uint64_t ext_zqcs_dis:1;
877 uint64_t bprch:2;
878 uint64_t wodt_bprch:1;
879 uint64_t rodt_bprch:1;
880 uint64_t reserved_24_62:39;
881 uint64_t scramble_ena:1;
882#endif
883 } cn66xx;
884 struct cvmx_lmcx_control_cn68xx {
885#ifdef __BIG_ENDIAN_BITFIELD
886 uint64_t reserved_63_63:1;
887 uint64_t thrcnt:12;
888 uint64_t persub:8;
889 uint64_t thrmax:4;
890 uint64_t crm_cnt:5;
891 uint64_t crm_thr:5;
892 uint64_t crm_max:5;
893 uint64_t rodt_bprch:1;
894 uint64_t wodt_bprch:1;
895 uint64_t bprch:2;
896 uint64_t ext_zqcs_dis:1;
897 uint64_t int_zqcs_dis:1;
898 uint64_t auto_dclkdis:1;
899 uint64_t xor_bank:1;
900 uint64_t max_write_batch:4;
901 uint64_t nxm_write_en:1;
902 uint64_t elev_prio_dis:1;
903 uint64_t inorder_wr:1;
904 uint64_t inorder_rd:1;
905 uint64_t throttle_wr:1;
906 uint64_t throttle_rd:1;
907 uint64_t fprch2:2;
908 uint64_t pocas:1;
909 uint64_t ddr2t:1;
910 uint64_t bwcnt:1;
911 uint64_t rdimm_ena:1;
912#else
913 uint64_t rdimm_ena:1;
914 uint64_t bwcnt:1;
915 uint64_t ddr2t:1;
916 uint64_t pocas:1;
917 uint64_t fprch2:2;
918 uint64_t throttle_rd:1;
919 uint64_t throttle_wr:1;
920 uint64_t inorder_rd:1;
921 uint64_t inorder_wr:1;
922 uint64_t elev_prio_dis:1;
923 uint64_t nxm_write_en:1;
924 uint64_t max_write_batch:4;
925 uint64_t xor_bank:1;
926 uint64_t auto_dclkdis:1;
927 uint64_t int_zqcs_dis:1;
928 uint64_t ext_zqcs_dis:1;
929 uint64_t bprch:2;
930 uint64_t wodt_bprch:1;
931 uint64_t rodt_bprch:1;
932 uint64_t crm_max:5;
933 uint64_t crm_thr:5;
934 uint64_t crm_cnt:5;
935 uint64_t thrmax:4;
936 uint64_t persub:8;
937 uint64_t thrcnt:12;
938 uint64_t reserved_63_63:1;
939#endif
940 } cn68xx;
941 struct cvmx_lmcx_control_cn68xx cn68xxp1;
942 struct cvmx_lmcx_control_cn66xx cnf71xx;
943};
944
945union cvmx_lmcx_ctl {
946 uint64_t u64;
947 struct cvmx_lmcx_ctl_s {
948#ifdef __BIG_ENDIAN_BITFIELD
949 uint64_t reserved_32_63:32;
950 uint64_t ddr__nctl:4;
951 uint64_t ddr__pctl:4;
952 uint64_t slow_scf:1;
953 uint64_t xor_bank:1;
954 uint64_t max_write_batch:4;
955 uint64_t pll_div2:1;
956 uint64_t pll_bypass:1;
957 uint64_t rdimm_ena:1;
958 uint64_t r2r_slot:1;
959 uint64_t inorder_mwf:1;
960 uint64_t inorder_mrf:1;
961 uint64_t reserved_10_11:2;
962 uint64_t fprch2:1;
963 uint64_t bprch:1;
964 uint64_t sil_lat:2;
965 uint64_t tskw:2;
966 uint64_t qs_dic:2;
967 uint64_t dic:2;
968#else
969 uint64_t dic:2;
970 uint64_t qs_dic:2;
971 uint64_t tskw:2;
972 uint64_t sil_lat:2;
973 uint64_t bprch:1;
974 uint64_t fprch2:1;
975 uint64_t reserved_10_11:2;
976 uint64_t inorder_mrf:1;
977 uint64_t inorder_mwf:1;
978 uint64_t r2r_slot:1;
979 uint64_t rdimm_ena:1;
980 uint64_t pll_bypass:1;
981 uint64_t pll_div2:1;
982 uint64_t max_write_batch:4;
983 uint64_t xor_bank:1;
984 uint64_t slow_scf:1;
985 uint64_t ddr__pctl:4;
986 uint64_t ddr__nctl:4;
987 uint64_t reserved_32_63:32;
988#endif
989 } s;
990 struct cvmx_lmcx_ctl_cn30xx {
991#ifdef __BIG_ENDIAN_BITFIELD
992 uint64_t reserved_32_63:32;
993 uint64_t ddr__nctl:4;
994 uint64_t ddr__pctl:4;
995 uint64_t slow_scf:1;
996 uint64_t xor_bank:1;
997 uint64_t max_write_batch:4;
998 uint64_t pll_div2:1;
999 uint64_t pll_bypass:1;
1000 uint64_t rdimm_ena:1;
1001 uint64_t r2r_slot:1;
1002 uint64_t inorder_mwf:1;
1003 uint64_t inorder_mrf:1;
1004 uint64_t dreset:1;
1005 uint64_t mode32b:1;
1006 uint64_t fprch2:1;
1007 uint64_t bprch:1;
1008 uint64_t sil_lat:2;
1009 uint64_t tskw:2;
1010 uint64_t qs_dic:2;
1011 uint64_t dic:2;
1012#else
1013 uint64_t dic:2;
1014 uint64_t qs_dic:2;
1015 uint64_t tskw:2;
1016 uint64_t sil_lat:2;
1017 uint64_t bprch:1;
1018 uint64_t fprch2:1;
1019 uint64_t mode32b:1;
1020 uint64_t dreset:1;
1021 uint64_t inorder_mrf:1;
1022 uint64_t inorder_mwf:1;
1023 uint64_t r2r_slot:1;
1024 uint64_t rdimm_ena:1;
1025 uint64_t pll_bypass:1;
1026 uint64_t pll_div2:1;
1027 uint64_t max_write_batch:4;
1028 uint64_t xor_bank:1;
1029 uint64_t slow_scf:1;
1030 uint64_t ddr__pctl:4;
1031 uint64_t ddr__nctl:4;
1032 uint64_t reserved_32_63:32;
1033#endif
1034 } cn30xx;
1035 struct cvmx_lmcx_ctl_cn30xx cn31xx;
1036 struct cvmx_lmcx_ctl_cn38xx {
1037#ifdef __BIG_ENDIAN_BITFIELD
1038 uint64_t reserved_32_63:32;
1039 uint64_t ddr__nctl:4;
1040 uint64_t ddr__pctl:4;
1041 uint64_t slow_scf:1;
1042 uint64_t xor_bank:1;
1043 uint64_t max_write_batch:4;
1044 uint64_t reserved_16_17:2;
1045 uint64_t rdimm_ena:1;
1046 uint64_t r2r_slot:1;
1047 uint64_t inorder_mwf:1;
1048 uint64_t inorder_mrf:1;
1049 uint64_t set_zero:1;
1050 uint64_t mode128b:1;
1051 uint64_t fprch2:1;
1052 uint64_t bprch:1;
1053 uint64_t sil_lat:2;
1054 uint64_t tskw:2;
1055 uint64_t qs_dic:2;
1056 uint64_t dic:2;
1057#else
1058 uint64_t dic:2;
1059 uint64_t qs_dic:2;
1060 uint64_t tskw:2;
1061 uint64_t sil_lat:2;
1062 uint64_t bprch:1;
1063 uint64_t fprch2:1;
1064 uint64_t mode128b:1;
1065 uint64_t set_zero:1;
1066 uint64_t inorder_mrf:1;
1067 uint64_t inorder_mwf:1;
1068 uint64_t r2r_slot:1;
1069 uint64_t rdimm_ena:1;
1070 uint64_t reserved_16_17:2;
1071 uint64_t max_write_batch:4;
1072 uint64_t xor_bank:1;
1073 uint64_t slow_scf:1;
1074 uint64_t ddr__pctl:4;
1075 uint64_t ddr__nctl:4;
1076 uint64_t reserved_32_63:32;
1077#endif
1078 } cn38xx;
1079 struct cvmx_lmcx_ctl_cn38xx cn38xxp2;
1080 struct cvmx_lmcx_ctl_cn50xx {
1081#ifdef __BIG_ENDIAN_BITFIELD
1082 uint64_t reserved_32_63:32;
1083 uint64_t ddr__nctl:4;
1084 uint64_t ddr__pctl:4;
1085 uint64_t slow_scf:1;
1086 uint64_t xor_bank:1;
1087 uint64_t max_write_batch:4;
1088 uint64_t reserved_17_17:1;
1089 uint64_t pll_bypass:1;
1090 uint64_t rdimm_ena:1;
1091 uint64_t r2r_slot:1;
1092 uint64_t inorder_mwf:1;
1093 uint64_t inorder_mrf:1;
1094 uint64_t dreset:1;
1095 uint64_t mode32b:1;
1096 uint64_t fprch2:1;
1097 uint64_t bprch:1;
1098 uint64_t sil_lat:2;
1099 uint64_t tskw:2;
1100 uint64_t qs_dic:2;
1101 uint64_t dic:2;
1102#else
1103 uint64_t dic:2;
1104 uint64_t qs_dic:2;
1105 uint64_t tskw:2;
1106 uint64_t sil_lat:2;
1107 uint64_t bprch:1;
1108 uint64_t fprch2:1;
1109 uint64_t mode32b:1;
1110 uint64_t dreset:1;
1111 uint64_t inorder_mrf:1;
1112 uint64_t inorder_mwf:1;
1113 uint64_t r2r_slot:1;
1114 uint64_t rdimm_ena:1;
1115 uint64_t pll_bypass:1;
1116 uint64_t reserved_17_17:1;
1117 uint64_t max_write_batch:4;
1118 uint64_t xor_bank:1;
1119 uint64_t slow_scf:1;
1120 uint64_t ddr__pctl:4;
1121 uint64_t ddr__nctl:4;
1122 uint64_t reserved_32_63:32;
1123#endif
1124 } cn50xx;
1125 struct cvmx_lmcx_ctl_cn52xx {
1126#ifdef __BIG_ENDIAN_BITFIELD
1127 uint64_t reserved_32_63:32;
1128 uint64_t ddr__nctl:4;
1129 uint64_t ddr__pctl:4;
1130 uint64_t slow_scf:1;
1131 uint64_t xor_bank:1;
1132 uint64_t max_write_batch:4;
1133 uint64_t reserved_16_17:2;
1134 uint64_t rdimm_ena:1;
1135 uint64_t r2r_slot:1;
1136 uint64_t inorder_mwf:1;
1137 uint64_t inorder_mrf:1;
1138 uint64_t dreset:1;
1139 uint64_t mode32b:1;
1140 uint64_t fprch2:1;
1141 uint64_t bprch:1;
1142 uint64_t sil_lat:2;
1143 uint64_t tskw:2;
1144 uint64_t qs_dic:2;
1145 uint64_t dic:2;
1146#else
1147 uint64_t dic:2;
1148 uint64_t qs_dic:2;
1149 uint64_t tskw:2;
1150 uint64_t sil_lat:2;
1151 uint64_t bprch:1;
1152 uint64_t fprch2:1;
1153 uint64_t mode32b:1;
1154 uint64_t dreset:1;
1155 uint64_t inorder_mrf:1;
1156 uint64_t inorder_mwf:1;
1157 uint64_t r2r_slot:1;
1158 uint64_t rdimm_ena:1;
1159 uint64_t reserved_16_17:2;
1160 uint64_t max_write_batch:4;
1161 uint64_t xor_bank:1;
1162 uint64_t slow_scf:1;
1163 uint64_t ddr__pctl:4;
1164 uint64_t ddr__nctl:4;
1165 uint64_t reserved_32_63:32;
1166#endif
1167 } cn52xx;
1168 struct cvmx_lmcx_ctl_cn52xx cn52xxp1;
1169 struct cvmx_lmcx_ctl_cn52xx cn56xx;
1170 struct cvmx_lmcx_ctl_cn52xx cn56xxp1;
1171 struct cvmx_lmcx_ctl_cn58xx {
1172#ifdef __BIG_ENDIAN_BITFIELD
1173 uint64_t reserved_32_63:32;
1174 uint64_t ddr__nctl:4;
1175 uint64_t ddr__pctl:4;
1176 uint64_t slow_scf:1;
1177 uint64_t xor_bank:1;
1178 uint64_t max_write_batch:4;
1179 uint64_t reserved_16_17:2;
1180 uint64_t rdimm_ena:1;
1181 uint64_t r2r_slot:1;
1182 uint64_t inorder_mwf:1;
1183 uint64_t inorder_mrf:1;
1184 uint64_t dreset:1;
1185 uint64_t mode128b:1;
1186 uint64_t fprch2:1;
1187 uint64_t bprch:1;
1188 uint64_t sil_lat:2;
1189 uint64_t tskw:2;
1190 uint64_t qs_dic:2;
1191 uint64_t dic:2;
1192#else
1193 uint64_t dic:2;
1194 uint64_t qs_dic:2;
1195 uint64_t tskw:2;
1196 uint64_t sil_lat:2;
1197 uint64_t bprch:1;
1198 uint64_t fprch2:1;
1199 uint64_t mode128b:1;
1200 uint64_t dreset:1;
1201 uint64_t inorder_mrf:1;
1202 uint64_t inorder_mwf:1;
1203 uint64_t r2r_slot:1;
1204 uint64_t rdimm_ena:1;
1205 uint64_t reserved_16_17:2;
1206 uint64_t max_write_batch:4;
1207 uint64_t xor_bank:1;
1208 uint64_t slow_scf:1;
1209 uint64_t ddr__pctl:4;
1210 uint64_t ddr__nctl:4;
1211 uint64_t reserved_32_63:32;
1212#endif
1213 } cn58xx;
1214 struct cvmx_lmcx_ctl_cn58xx cn58xxp1;
1215};
1216
1217union cvmx_lmcx_ctl1 {
1218 uint64_t u64;
1219 struct cvmx_lmcx_ctl1_s {
1220#ifdef __BIG_ENDIAN_BITFIELD
1221 uint64_t reserved_21_63:43;
1222 uint64_t ecc_adr:1;
1223 uint64_t forcewrite:4;
1224 uint64_t idlepower:3;
1225 uint64_t sequence:3;
1226 uint64_t sil_mode:1;
1227 uint64_t dcc_enable:1;
1228 uint64_t reserved_2_7:6;
1229 uint64_t data_layout:2;
1230#else
1231 uint64_t data_layout:2;
1232 uint64_t reserved_2_7:6;
1233 uint64_t dcc_enable:1;
1234 uint64_t sil_mode:1;
1235 uint64_t sequence:3;
1236 uint64_t idlepower:3;
1237 uint64_t forcewrite:4;
1238 uint64_t ecc_adr:1;
1239 uint64_t reserved_21_63:43;
1240#endif
1241 } s;
1242 struct cvmx_lmcx_ctl1_cn30xx {
1243#ifdef __BIG_ENDIAN_BITFIELD
1244 uint64_t reserved_2_63:62;
1245 uint64_t data_layout:2;
1246#else
1247 uint64_t data_layout:2;
1248 uint64_t reserved_2_63:62;
1249#endif
1250 } cn30xx;
1251 struct cvmx_lmcx_ctl1_cn50xx {
1252#ifdef __BIG_ENDIAN_BITFIELD
1253 uint64_t reserved_10_63:54;
1254 uint64_t sil_mode:1;
1255 uint64_t dcc_enable:1;
1256 uint64_t reserved_2_7:6;
1257 uint64_t data_layout:2;
1258#else
1259 uint64_t data_layout:2;
1260 uint64_t reserved_2_7:6;
1261 uint64_t dcc_enable:1;
1262 uint64_t sil_mode:1;
1263 uint64_t reserved_10_63:54;
1264#endif
1265 } cn50xx;
1266 struct cvmx_lmcx_ctl1_cn52xx {
1267#ifdef __BIG_ENDIAN_BITFIELD
1268 uint64_t reserved_21_63:43;
1269 uint64_t ecc_adr:1;
1270 uint64_t forcewrite:4;
1271 uint64_t idlepower:3;
1272 uint64_t sequence:3;
1273 uint64_t sil_mode:1;
1274 uint64_t dcc_enable:1;
1275 uint64_t reserved_0_7:8;
1276#else
1277 uint64_t reserved_0_7:8;
1278 uint64_t dcc_enable:1;
1279 uint64_t sil_mode:1;
1280 uint64_t sequence:3;
1281 uint64_t idlepower:3;
1282 uint64_t forcewrite:4;
1283 uint64_t ecc_adr:1;
1284 uint64_t reserved_21_63:43;
1285#endif
1286 } cn52xx;
1287 struct cvmx_lmcx_ctl1_cn52xx cn52xxp1;
1288 struct cvmx_lmcx_ctl1_cn52xx cn56xx;
1289 struct cvmx_lmcx_ctl1_cn52xx cn56xxp1;
1290 struct cvmx_lmcx_ctl1_cn58xx {
1291#ifdef __BIG_ENDIAN_BITFIELD
1292 uint64_t reserved_10_63:54;
1293 uint64_t sil_mode:1;
1294 uint64_t dcc_enable:1;
1295 uint64_t reserved_0_7:8;
1296#else
1297 uint64_t reserved_0_7:8;
1298 uint64_t dcc_enable:1;
1299 uint64_t sil_mode:1;
1300 uint64_t reserved_10_63:54;
1301#endif
1302 } cn58xx;
1303 struct cvmx_lmcx_ctl1_cn58xx cn58xxp1;
1304};
1305
1306union cvmx_lmcx_dclk_cnt {
1307 uint64_t u64;
1308 struct cvmx_lmcx_dclk_cnt_s {
1309#ifdef __BIG_ENDIAN_BITFIELD
1310 uint64_t dclkcnt:64;
1311#else
1312 uint64_t dclkcnt:64;
1313#endif
1314 } s;
1315 struct cvmx_lmcx_dclk_cnt_s cn61xx;
1316 struct cvmx_lmcx_dclk_cnt_s cn63xx;
1317 struct cvmx_lmcx_dclk_cnt_s cn63xxp1;
1318 struct cvmx_lmcx_dclk_cnt_s cn66xx;
1319 struct cvmx_lmcx_dclk_cnt_s cn68xx;
1320 struct cvmx_lmcx_dclk_cnt_s cn68xxp1;
1321 struct cvmx_lmcx_dclk_cnt_s cnf71xx;
1322};
1323
1324union cvmx_lmcx_dclk_cnt_hi {
1325 uint64_t u64;
1326 struct cvmx_lmcx_dclk_cnt_hi_s {
1327#ifdef __BIG_ENDIAN_BITFIELD
1328 uint64_t reserved_32_63:32;
1329 uint64_t dclkcnt_hi:32;
1330#else
1331 uint64_t dclkcnt_hi:32;
1332 uint64_t reserved_32_63:32;
1333#endif
1334 } s;
1335 struct cvmx_lmcx_dclk_cnt_hi_s cn30xx;
1336 struct cvmx_lmcx_dclk_cnt_hi_s cn31xx;
1337 struct cvmx_lmcx_dclk_cnt_hi_s cn38xx;
1338 struct cvmx_lmcx_dclk_cnt_hi_s cn38xxp2;
1339 struct cvmx_lmcx_dclk_cnt_hi_s cn50xx;
1340 struct cvmx_lmcx_dclk_cnt_hi_s cn52xx;
1341 struct cvmx_lmcx_dclk_cnt_hi_s cn52xxp1;
1342 struct cvmx_lmcx_dclk_cnt_hi_s cn56xx;
1343 struct cvmx_lmcx_dclk_cnt_hi_s cn56xxp1;
1344 struct cvmx_lmcx_dclk_cnt_hi_s cn58xx;
1345 struct cvmx_lmcx_dclk_cnt_hi_s cn58xxp1;
1346};
1347
1348union cvmx_lmcx_dclk_cnt_lo {
1349 uint64_t u64;
1350 struct cvmx_lmcx_dclk_cnt_lo_s {
1351#ifdef __BIG_ENDIAN_BITFIELD
1352 uint64_t reserved_32_63:32;
1353 uint64_t dclkcnt_lo:32;
1354#else
1355 uint64_t dclkcnt_lo:32;
1356 uint64_t reserved_32_63:32;
1357#endif
1358 } s;
1359 struct cvmx_lmcx_dclk_cnt_lo_s cn30xx;
1360 struct cvmx_lmcx_dclk_cnt_lo_s cn31xx;
1361 struct cvmx_lmcx_dclk_cnt_lo_s cn38xx;
1362 struct cvmx_lmcx_dclk_cnt_lo_s cn38xxp2;
1363 struct cvmx_lmcx_dclk_cnt_lo_s cn50xx;
1364 struct cvmx_lmcx_dclk_cnt_lo_s cn52xx;
1365 struct cvmx_lmcx_dclk_cnt_lo_s cn52xxp1;
1366 struct cvmx_lmcx_dclk_cnt_lo_s cn56xx;
1367 struct cvmx_lmcx_dclk_cnt_lo_s cn56xxp1;
1368 struct cvmx_lmcx_dclk_cnt_lo_s cn58xx;
1369 struct cvmx_lmcx_dclk_cnt_lo_s cn58xxp1;
1370};
1371
1372union cvmx_lmcx_dclk_ctl {
1373 uint64_t u64;
1374 struct cvmx_lmcx_dclk_ctl_s {
1375#ifdef __BIG_ENDIAN_BITFIELD
1376 uint64_t reserved_8_63:56;
1377 uint64_t off90_ena:1;
1378 uint64_t dclk90_byp:1;
1379 uint64_t dclk90_ld:1;
1380 uint64_t dclk90_vlu:5;
1381#else
1382 uint64_t dclk90_vlu:5;
1383 uint64_t dclk90_ld:1;
1384 uint64_t dclk90_byp:1;
1385 uint64_t off90_ena:1;
1386 uint64_t reserved_8_63:56;
1387#endif
1388 } s;
1389 struct cvmx_lmcx_dclk_ctl_s cn56xx;
1390 struct cvmx_lmcx_dclk_ctl_s cn56xxp1;
1391};
1392
1393union cvmx_lmcx_ddr2_ctl {
1394 uint64_t u64;
1395 struct cvmx_lmcx_ddr2_ctl_s {
1396#ifdef __BIG_ENDIAN_BITFIELD
1397 uint64_t reserved_32_63:32;
1398 uint64_t bank8:1;
1399 uint64_t burst8:1;
1400 uint64_t addlat:3;
1401 uint64_t pocas:1;
1402 uint64_t bwcnt:1;
1403 uint64_t twr:3;
1404 uint64_t silo_hc:1;
1405 uint64_t ddr_eof:4;
1406 uint64_t tfaw:5;
1407 uint64_t crip_mode:1;
1408 uint64_t ddr2t:1;
1409 uint64_t odt_ena:1;
1410 uint64_t qdll_ena:1;
1411 uint64_t dll90_vlu:5;
1412 uint64_t dll90_byp:1;
1413 uint64_t rdqs:1;
1414 uint64_t ddr2:1;
1415#else
1416 uint64_t ddr2:1;
1417 uint64_t rdqs:1;
1418 uint64_t dll90_byp:1;
1419 uint64_t dll90_vlu:5;
1420 uint64_t qdll_ena:1;
1421 uint64_t odt_ena:1;
1422 uint64_t ddr2t:1;
1423 uint64_t crip_mode:1;
1424 uint64_t tfaw:5;
1425 uint64_t ddr_eof:4;
1426 uint64_t silo_hc:1;
1427 uint64_t twr:3;
1428 uint64_t bwcnt:1;
1429 uint64_t pocas:1;
1430 uint64_t addlat:3;
1431 uint64_t burst8:1;
1432 uint64_t bank8:1;
1433 uint64_t reserved_32_63:32;
1434#endif
1435 } s;
1436 struct cvmx_lmcx_ddr2_ctl_cn30xx {
1437#ifdef __BIG_ENDIAN_BITFIELD
1438 uint64_t reserved_32_63:32;
1439 uint64_t bank8:1;
1440 uint64_t burst8:1;
1441 uint64_t addlat:3;
1442 uint64_t pocas:1;
1443 uint64_t bwcnt:1;
1444 uint64_t twr:3;
1445 uint64_t silo_hc:1;
1446 uint64_t ddr_eof:4;
1447 uint64_t tfaw:5;
1448 uint64_t crip_mode:1;
1449 uint64_t ddr2t:1;
1450 uint64_t odt_ena:1;
1451 uint64_t qdll_ena:1;
1452 uint64_t dll90_vlu:5;
1453 uint64_t dll90_byp:1;
1454 uint64_t reserved_1_1:1;
1455 uint64_t ddr2:1;
1456#else
1457 uint64_t ddr2:1;
1458 uint64_t reserved_1_1:1;
1459 uint64_t dll90_byp:1;
1460 uint64_t dll90_vlu:5;
1461 uint64_t qdll_ena:1;
1462 uint64_t odt_ena:1;
1463 uint64_t ddr2t:1;
1464 uint64_t crip_mode:1;
1465 uint64_t tfaw:5;
1466 uint64_t ddr_eof:4;
1467 uint64_t silo_hc:1;
1468 uint64_t twr:3;
1469 uint64_t bwcnt:1;
1470 uint64_t pocas:1;
1471 uint64_t addlat:3;
1472 uint64_t burst8:1;
1473 uint64_t bank8:1;
1474 uint64_t reserved_32_63:32;
1475#endif
1476 } cn30xx;
1477 struct cvmx_lmcx_ddr2_ctl_cn30xx cn31xx;
1478 struct cvmx_lmcx_ddr2_ctl_s cn38xx;
1479 struct cvmx_lmcx_ddr2_ctl_s cn38xxp2;
1480 struct cvmx_lmcx_ddr2_ctl_s cn50xx;
1481 struct cvmx_lmcx_ddr2_ctl_s cn52xx;
1482 struct cvmx_lmcx_ddr2_ctl_s cn52xxp1;
1483 struct cvmx_lmcx_ddr2_ctl_s cn56xx;
1484 struct cvmx_lmcx_ddr2_ctl_s cn56xxp1;
1485 struct cvmx_lmcx_ddr2_ctl_s cn58xx;
1486 struct cvmx_lmcx_ddr2_ctl_s cn58xxp1;
1487};
1488
1489union cvmx_lmcx_ddr_pll_ctl {
1490 uint64_t u64;
1491 struct cvmx_lmcx_ddr_pll_ctl_s {
1492#ifdef __BIG_ENDIAN_BITFIELD
1493 uint64_t reserved_27_63:37;
1494 uint64_t jtg_test_mode:1;
1495 uint64_t dfm_div_reset:1;
1496 uint64_t dfm_ps_en:3;
1497 uint64_t ddr_div_reset:1;
1498 uint64_t ddr_ps_en:3;
1499 uint64_t diffamp:4;
1500 uint64_t cps:3;
1501 uint64_t cpb:3;
1502 uint64_t reset_n:1;
1503 uint64_t clkf:7;
1504#else
1505 uint64_t clkf:7;
1506 uint64_t reset_n:1;
1507 uint64_t cpb:3;
1508 uint64_t cps:3;
1509 uint64_t diffamp:4;
1510 uint64_t ddr_ps_en:3;
1511 uint64_t ddr_div_reset:1;
1512 uint64_t dfm_ps_en:3;
1513 uint64_t dfm_div_reset:1;
1514 uint64_t jtg_test_mode:1;
1515 uint64_t reserved_27_63:37;
1516#endif
1517 } s;
1518 struct cvmx_lmcx_ddr_pll_ctl_s cn61xx;
1519 struct cvmx_lmcx_ddr_pll_ctl_s cn63xx;
1520 struct cvmx_lmcx_ddr_pll_ctl_s cn63xxp1;
1521 struct cvmx_lmcx_ddr_pll_ctl_s cn66xx;
1522 struct cvmx_lmcx_ddr_pll_ctl_s cn68xx;
1523 struct cvmx_lmcx_ddr_pll_ctl_s cn68xxp1;
1524 struct cvmx_lmcx_ddr_pll_ctl_s cnf71xx;
1525};
1526
1527union cvmx_lmcx_delay_cfg {
1528 uint64_t u64;
1529 struct cvmx_lmcx_delay_cfg_s {
1530#ifdef __BIG_ENDIAN_BITFIELD
1531 uint64_t reserved_15_63:49;
1532 uint64_t dq:5;
1533 uint64_t cmd:5;
1534 uint64_t clk:5;
1535#else
1536 uint64_t clk:5;
1537 uint64_t cmd:5;
1538 uint64_t dq:5;
1539 uint64_t reserved_15_63:49;
1540#endif
1541 } s;
1542 struct cvmx_lmcx_delay_cfg_s cn30xx;
1543 struct cvmx_lmcx_delay_cfg_cn38xx {
1544#ifdef __BIG_ENDIAN_BITFIELD
1545 uint64_t reserved_14_63:50;
1546 uint64_t dq:4;
1547 uint64_t reserved_9_9:1;
1548 uint64_t cmd:4;
1549 uint64_t reserved_4_4:1;
1550 uint64_t clk:4;
1551#else
1552 uint64_t clk:4;
1553 uint64_t reserved_4_4:1;
1554 uint64_t cmd:4;
1555 uint64_t reserved_9_9:1;
1556 uint64_t dq:4;
1557 uint64_t reserved_14_63:50;
1558#endif
1559 } cn38xx;
1560 struct cvmx_lmcx_delay_cfg_cn38xx cn50xx;
1561 struct cvmx_lmcx_delay_cfg_cn38xx cn52xx;
1562 struct cvmx_lmcx_delay_cfg_cn38xx cn52xxp1;
1563 struct cvmx_lmcx_delay_cfg_cn38xx cn56xx;
1564 struct cvmx_lmcx_delay_cfg_cn38xx cn56xxp1;
1565 struct cvmx_lmcx_delay_cfg_cn38xx cn58xx;
1566 struct cvmx_lmcx_delay_cfg_cn38xx cn58xxp1;
1567};
1568
1569union cvmx_lmcx_dimmx_params {
1570 uint64_t u64;
1571 struct cvmx_lmcx_dimmx_params_s {
1572#ifdef __BIG_ENDIAN_BITFIELD
1573 uint64_t rc15:4;
1574 uint64_t rc14:4;
1575 uint64_t rc13:4;
1576 uint64_t rc12:4;
1577 uint64_t rc11:4;
1578 uint64_t rc10:4;
1579 uint64_t rc9:4;
1580 uint64_t rc8:4;
1581 uint64_t rc7:4;
1582 uint64_t rc6:4;
1583 uint64_t rc5:4;
1584 uint64_t rc4:4;
1585 uint64_t rc3:4;
1586 uint64_t rc2:4;
1587 uint64_t rc1:4;
1588 uint64_t rc0:4;
1589#else
1590 uint64_t rc0:4;
1591 uint64_t rc1:4;
1592 uint64_t rc2:4;
1593 uint64_t rc3:4;
1594 uint64_t rc4:4;
1595 uint64_t rc5:4;
1596 uint64_t rc6:4;
1597 uint64_t rc7:4;
1598 uint64_t rc8:4;
1599 uint64_t rc9:4;
1600 uint64_t rc10:4;
1601 uint64_t rc11:4;
1602 uint64_t rc12:4;
1603 uint64_t rc13:4;
1604 uint64_t rc14:4;
1605 uint64_t rc15:4;
1606#endif
1607 } s;
1608 struct cvmx_lmcx_dimmx_params_s cn61xx;
1609 struct cvmx_lmcx_dimmx_params_s cn63xx;
1610 struct cvmx_lmcx_dimmx_params_s cn63xxp1;
1611 struct cvmx_lmcx_dimmx_params_s cn66xx;
1612 struct cvmx_lmcx_dimmx_params_s cn68xx;
1613 struct cvmx_lmcx_dimmx_params_s cn68xxp1;
1614 struct cvmx_lmcx_dimmx_params_s cnf71xx;
1615};
1616
1617union cvmx_lmcx_dimm_ctl {
1618 uint64_t u64;
1619 struct cvmx_lmcx_dimm_ctl_s {
1620#ifdef __BIG_ENDIAN_BITFIELD
1621 uint64_t reserved_46_63:18;
1622 uint64_t parity:1;
1623 uint64_t tcws:13;
1624 uint64_t dimm1_wmask:16;
1625 uint64_t dimm0_wmask:16;
1626#else
1627 uint64_t dimm0_wmask:16;
1628 uint64_t dimm1_wmask:16;
1629 uint64_t tcws:13;
1630 uint64_t parity:1;
1631 uint64_t reserved_46_63:18;
1632#endif
1633 } s;
1634 struct cvmx_lmcx_dimm_ctl_s cn61xx;
1635 struct cvmx_lmcx_dimm_ctl_s cn63xx;
1636 struct cvmx_lmcx_dimm_ctl_s cn63xxp1;
1637 struct cvmx_lmcx_dimm_ctl_s cn66xx;
1638 struct cvmx_lmcx_dimm_ctl_s cn68xx;
1639 struct cvmx_lmcx_dimm_ctl_s cn68xxp1;
1640 struct cvmx_lmcx_dimm_ctl_s cnf71xx;
1641};
1642
1643union cvmx_lmcx_dll_ctl {
1644 uint64_t u64;
1645 struct cvmx_lmcx_dll_ctl_s {
1646#ifdef __BIG_ENDIAN_BITFIELD
1647 uint64_t reserved_8_63:56;
1648 uint64_t dreset:1;
1649 uint64_t dll90_byp:1;
1650 uint64_t dll90_ena:1;
1651 uint64_t dll90_vlu:5;
1652#else
1653 uint64_t dll90_vlu:5;
1654 uint64_t dll90_ena:1;
1655 uint64_t dll90_byp:1;
1656 uint64_t dreset:1;
1657 uint64_t reserved_8_63:56;
1658#endif
1659 } s;
1660 struct cvmx_lmcx_dll_ctl_s cn52xx;
1661 struct cvmx_lmcx_dll_ctl_s cn52xxp1;
1662 struct cvmx_lmcx_dll_ctl_s cn56xx;
1663 struct cvmx_lmcx_dll_ctl_s cn56xxp1;
1664};
1665
1666union cvmx_lmcx_dll_ctl2 {
1667 uint64_t u64;
1668 struct cvmx_lmcx_dll_ctl2_s {
1669#ifdef __BIG_ENDIAN_BITFIELD
1670 uint64_t reserved_16_63:48;
1671 uint64_t intf_en:1;
1672 uint64_t dll_bringup:1;
1673 uint64_t dreset:1;
1674 uint64_t quad_dll_ena:1;
1675 uint64_t byp_sel:4;
1676 uint64_t byp_setting:8;
1677#else
1678 uint64_t byp_setting:8;
1679 uint64_t byp_sel:4;
1680 uint64_t quad_dll_ena:1;
1681 uint64_t dreset:1;
1682 uint64_t dll_bringup:1;
1683 uint64_t intf_en:1;
1684 uint64_t reserved_16_63:48;
1685#endif
1686 } s;
1687 struct cvmx_lmcx_dll_ctl2_s cn61xx;
1688 struct cvmx_lmcx_dll_ctl2_cn63xx {
1689#ifdef __BIG_ENDIAN_BITFIELD
1690 uint64_t reserved_15_63:49;
1691 uint64_t dll_bringup:1;
1692 uint64_t dreset:1;
1693 uint64_t quad_dll_ena:1;
1694 uint64_t byp_sel:4;
1695 uint64_t byp_setting:8;
1696#else
1697 uint64_t byp_setting:8;
1698 uint64_t byp_sel:4;
1699 uint64_t quad_dll_ena:1;
1700 uint64_t dreset:1;
1701 uint64_t dll_bringup:1;
1702 uint64_t reserved_15_63:49;
1703#endif
1704 } cn63xx;
1705 struct cvmx_lmcx_dll_ctl2_cn63xx cn63xxp1;
1706 struct cvmx_lmcx_dll_ctl2_cn63xx cn66xx;
1707 struct cvmx_lmcx_dll_ctl2_s cn68xx;
1708 struct cvmx_lmcx_dll_ctl2_s cn68xxp1;
1709 struct cvmx_lmcx_dll_ctl2_s cnf71xx;
1710};
1711
1712union cvmx_lmcx_dll_ctl3 {
1713 uint64_t u64;
1714 struct cvmx_lmcx_dll_ctl3_s {
1715#ifdef __BIG_ENDIAN_BITFIELD
1716 uint64_t reserved_41_63:23;
1717 uint64_t dclk90_fwd:1;
1718 uint64_t ddr_90_dly_byp:1;
1719 uint64_t dclk90_recal_dis:1;
1720 uint64_t dclk90_byp_sel:1;
1721 uint64_t dclk90_byp_setting:8;
1722 uint64_t dll_fast:1;
1723 uint64_t dll90_setting:8;
1724 uint64_t fine_tune_mode:1;
1725 uint64_t dll_mode:1;
1726 uint64_t dll90_byte_sel:4;
1727 uint64_t offset_ena:1;
1728 uint64_t load_offset:1;
1729 uint64_t mode_sel:2;
1730 uint64_t byte_sel:4;
1731 uint64_t offset:6;
1732#else
1733 uint64_t offset:6;
1734 uint64_t byte_sel:4;
1735 uint64_t mode_sel:2;
1736 uint64_t load_offset:1;
1737 uint64_t offset_ena:1;
1738 uint64_t dll90_byte_sel:4;
1739 uint64_t dll_mode:1;
1740 uint64_t fine_tune_mode:1;
1741 uint64_t dll90_setting:8;
1742 uint64_t dll_fast:1;
1743 uint64_t dclk90_byp_setting:8;
1744 uint64_t dclk90_byp_sel:1;
1745 uint64_t dclk90_recal_dis:1;
1746 uint64_t ddr_90_dly_byp:1;
1747 uint64_t dclk90_fwd:1;
1748 uint64_t reserved_41_63:23;
1749#endif
1750 } s;
1751 struct cvmx_lmcx_dll_ctl3_s cn61xx;
1752 struct cvmx_lmcx_dll_ctl3_cn63xx {
1753#ifdef __BIG_ENDIAN_BITFIELD
1754 uint64_t reserved_29_63:35;
1755 uint64_t dll_fast:1;
1756 uint64_t dll90_setting:8;
1757 uint64_t fine_tune_mode:1;
1758 uint64_t dll_mode:1;
1759 uint64_t dll90_byte_sel:4;
1760 uint64_t offset_ena:1;
1761 uint64_t load_offset:1;
1762 uint64_t mode_sel:2;
1763 uint64_t byte_sel:4;
1764 uint64_t offset:6;
1765#else
1766 uint64_t offset:6;
1767 uint64_t byte_sel:4;
1768 uint64_t mode_sel:2;
1769 uint64_t load_offset:1;
1770 uint64_t offset_ena:1;
1771 uint64_t dll90_byte_sel:4;
1772 uint64_t dll_mode:1;
1773 uint64_t fine_tune_mode:1;
1774 uint64_t dll90_setting:8;
1775 uint64_t dll_fast:1;
1776 uint64_t reserved_29_63:35;
1777#endif
1778 } cn63xx;
1779 struct cvmx_lmcx_dll_ctl3_cn63xx cn63xxp1;
1780 struct cvmx_lmcx_dll_ctl3_cn63xx cn66xx;
1781 struct cvmx_lmcx_dll_ctl3_s cn68xx;
1782 struct cvmx_lmcx_dll_ctl3_s cn68xxp1;
1783 struct cvmx_lmcx_dll_ctl3_s cnf71xx;
1784};
1785
1786union cvmx_lmcx_dual_memcfg {
1787 uint64_t u64;
1788 struct cvmx_lmcx_dual_memcfg_s {
1789#ifdef __BIG_ENDIAN_BITFIELD
1790 uint64_t reserved_20_63:44;
1791 uint64_t bank8:1;
1792 uint64_t row_lsb:3;
1793 uint64_t reserved_8_15:8;
1794 uint64_t cs_mask:8;
1795#else
1796 uint64_t cs_mask:8;
1797 uint64_t reserved_8_15:8;
1798 uint64_t row_lsb:3;
1799 uint64_t bank8:1;
1800 uint64_t reserved_20_63:44;
1801#endif
1802 } s;
1803 struct cvmx_lmcx_dual_memcfg_s cn50xx;
1804 struct cvmx_lmcx_dual_memcfg_s cn52xx;
1805 struct cvmx_lmcx_dual_memcfg_s cn52xxp1;
1806 struct cvmx_lmcx_dual_memcfg_s cn56xx;
1807 struct cvmx_lmcx_dual_memcfg_s cn56xxp1;
1808 struct cvmx_lmcx_dual_memcfg_s cn58xx;
1809 struct cvmx_lmcx_dual_memcfg_s cn58xxp1;
1810 struct cvmx_lmcx_dual_memcfg_cn61xx {
1811#ifdef __BIG_ENDIAN_BITFIELD
1812 uint64_t reserved_19_63:45;
1813 uint64_t row_lsb:3;
1814 uint64_t reserved_8_15:8;
1815 uint64_t cs_mask:8;
1816#else
1817 uint64_t cs_mask:8;
1818 uint64_t reserved_8_15:8;
1819 uint64_t row_lsb:3;
1820 uint64_t reserved_19_63:45;
1821#endif
1822 } cn61xx;
1823 struct cvmx_lmcx_dual_memcfg_cn61xx cn63xx;
1824 struct cvmx_lmcx_dual_memcfg_cn61xx cn63xxp1;
1825 struct cvmx_lmcx_dual_memcfg_cn61xx cn66xx;
1826 struct cvmx_lmcx_dual_memcfg_cn61xx cn68xx;
1827 struct cvmx_lmcx_dual_memcfg_cn61xx cn68xxp1;
1828 struct cvmx_lmcx_dual_memcfg_cn61xx cnf71xx;
1829};
1830
1831union cvmx_lmcx_ecc_synd {
1832 uint64_t u64;
1833 struct cvmx_lmcx_ecc_synd_s {
1834#ifdef __BIG_ENDIAN_BITFIELD
1835 uint64_t reserved_32_63:32;
1836 uint64_t mrdsyn3:8;
1837 uint64_t mrdsyn2:8;
1838 uint64_t mrdsyn1:8;
1839 uint64_t mrdsyn0:8;
1840#else
1841 uint64_t mrdsyn0:8;
1842 uint64_t mrdsyn1:8;
1843 uint64_t mrdsyn2:8;
1844 uint64_t mrdsyn3:8;
1845 uint64_t reserved_32_63:32;
1846#endif
1847 } s;
1848 struct cvmx_lmcx_ecc_synd_s cn30xx;
1849 struct cvmx_lmcx_ecc_synd_s cn31xx;
1850 struct cvmx_lmcx_ecc_synd_s cn38xx;
1851 struct cvmx_lmcx_ecc_synd_s cn38xxp2;
1852 struct cvmx_lmcx_ecc_synd_s cn50xx;
1853 struct cvmx_lmcx_ecc_synd_s cn52xx;
1854 struct cvmx_lmcx_ecc_synd_s cn52xxp1;
1855 struct cvmx_lmcx_ecc_synd_s cn56xx;
1856 struct cvmx_lmcx_ecc_synd_s cn56xxp1;
1857 struct cvmx_lmcx_ecc_synd_s cn58xx;
1858 struct cvmx_lmcx_ecc_synd_s cn58xxp1;
1859 struct cvmx_lmcx_ecc_synd_s cn61xx;
1860 struct cvmx_lmcx_ecc_synd_s cn63xx;
1861 struct cvmx_lmcx_ecc_synd_s cn63xxp1;
1862 struct cvmx_lmcx_ecc_synd_s cn66xx;
1863 struct cvmx_lmcx_ecc_synd_s cn68xx;
1864 struct cvmx_lmcx_ecc_synd_s cn68xxp1;
1865 struct cvmx_lmcx_ecc_synd_s cnf71xx;
1866};
1867
1868union cvmx_lmcx_fadr {
1869 uint64_t u64;
1870 struct cvmx_lmcx_fadr_s {
1871#ifdef __BIG_ENDIAN_BITFIELD
1872 uint64_t reserved_0_63:64;
1873#else
1874 uint64_t reserved_0_63:64;
1875#endif
1876 } s;
1877 struct cvmx_lmcx_fadr_cn30xx {
1878#ifdef __BIG_ENDIAN_BITFIELD
1879 uint64_t reserved_32_63:32;
1880 uint64_t fdimm:2;
1881 uint64_t fbunk:1;
1882 uint64_t fbank:3;
1883 uint64_t frow:14;
1884 uint64_t fcol:12;
1885#else
1886 uint64_t fcol:12;
1887 uint64_t frow:14;
1888 uint64_t fbank:3;
1889 uint64_t fbunk:1;
1890 uint64_t fdimm:2;
1891 uint64_t reserved_32_63:32;
1892#endif
1893 } cn30xx;
1894 struct cvmx_lmcx_fadr_cn30xx cn31xx;
1895 struct cvmx_lmcx_fadr_cn30xx cn38xx;
1896 struct cvmx_lmcx_fadr_cn30xx cn38xxp2;
1897 struct cvmx_lmcx_fadr_cn30xx cn50xx;
1898 struct cvmx_lmcx_fadr_cn30xx cn52xx;
1899 struct cvmx_lmcx_fadr_cn30xx cn52xxp1;
1900 struct cvmx_lmcx_fadr_cn30xx cn56xx;
1901 struct cvmx_lmcx_fadr_cn30xx cn56xxp1;
1902 struct cvmx_lmcx_fadr_cn30xx cn58xx;
1903 struct cvmx_lmcx_fadr_cn30xx cn58xxp1;
1904 struct cvmx_lmcx_fadr_cn61xx {
1905#ifdef __BIG_ENDIAN_BITFIELD
1906 uint64_t reserved_36_63:28;
1907 uint64_t fdimm:2;
1908 uint64_t fbunk:1;
1909 uint64_t fbank:3;
1910 uint64_t frow:16;
1911 uint64_t fcol:14;
1912#else
1913 uint64_t fcol:14;
1914 uint64_t frow:16;
1915 uint64_t fbank:3;
1916 uint64_t fbunk:1;
1917 uint64_t fdimm:2;
1918 uint64_t reserved_36_63:28;
1919#endif
1920 } cn61xx;
1921 struct cvmx_lmcx_fadr_cn61xx cn63xx;
1922 struct cvmx_lmcx_fadr_cn61xx cn63xxp1;
1923 struct cvmx_lmcx_fadr_cn61xx cn66xx;
1924 struct cvmx_lmcx_fadr_cn61xx cn68xx;
1925 struct cvmx_lmcx_fadr_cn61xx cn68xxp1;
1926 struct cvmx_lmcx_fadr_cn61xx cnf71xx;
1927};
1928
1929union cvmx_lmcx_ifb_cnt {
1930 uint64_t u64;
1931 struct cvmx_lmcx_ifb_cnt_s {
1932#ifdef __BIG_ENDIAN_BITFIELD
1933 uint64_t ifbcnt:64;
1934#else
1935 uint64_t ifbcnt:64;
1936#endif
1937 } s;
1938 struct cvmx_lmcx_ifb_cnt_s cn61xx;
1939 struct cvmx_lmcx_ifb_cnt_s cn63xx;
1940 struct cvmx_lmcx_ifb_cnt_s cn63xxp1;
1941 struct cvmx_lmcx_ifb_cnt_s cn66xx;
1942 struct cvmx_lmcx_ifb_cnt_s cn68xx;
1943 struct cvmx_lmcx_ifb_cnt_s cn68xxp1;
1944 struct cvmx_lmcx_ifb_cnt_s cnf71xx;
1945};
1946
1947union cvmx_lmcx_ifb_cnt_hi {
1948 uint64_t u64;
1949 struct cvmx_lmcx_ifb_cnt_hi_s {
1950#ifdef __BIG_ENDIAN_BITFIELD
1951 uint64_t reserved_32_63:32;
1952 uint64_t ifbcnt_hi:32;
1953#else
1954 uint64_t ifbcnt_hi:32;
1955 uint64_t reserved_32_63:32;
1956#endif
1957 } s;
1958 struct cvmx_lmcx_ifb_cnt_hi_s cn30xx;
1959 struct cvmx_lmcx_ifb_cnt_hi_s cn31xx;
1960 struct cvmx_lmcx_ifb_cnt_hi_s cn38xx;
1961 struct cvmx_lmcx_ifb_cnt_hi_s cn38xxp2;
1962 struct cvmx_lmcx_ifb_cnt_hi_s cn50xx;
1963 struct cvmx_lmcx_ifb_cnt_hi_s cn52xx;
1964 struct cvmx_lmcx_ifb_cnt_hi_s cn52xxp1;
1965 struct cvmx_lmcx_ifb_cnt_hi_s cn56xx;
1966 struct cvmx_lmcx_ifb_cnt_hi_s cn56xxp1;
1967 struct cvmx_lmcx_ifb_cnt_hi_s cn58xx;
1968 struct cvmx_lmcx_ifb_cnt_hi_s cn58xxp1;
1969};
1970
1971union cvmx_lmcx_ifb_cnt_lo {
1972 uint64_t u64;
1973 struct cvmx_lmcx_ifb_cnt_lo_s {
1974#ifdef __BIG_ENDIAN_BITFIELD
1975 uint64_t reserved_32_63:32;
1976 uint64_t ifbcnt_lo:32;
1977#else
1978 uint64_t ifbcnt_lo:32;
1979 uint64_t reserved_32_63:32;
1980#endif
1981 } s;
1982 struct cvmx_lmcx_ifb_cnt_lo_s cn30xx;
1983 struct cvmx_lmcx_ifb_cnt_lo_s cn31xx;
1984 struct cvmx_lmcx_ifb_cnt_lo_s cn38xx;
1985 struct cvmx_lmcx_ifb_cnt_lo_s cn38xxp2;
1986 struct cvmx_lmcx_ifb_cnt_lo_s cn50xx;
1987 struct cvmx_lmcx_ifb_cnt_lo_s cn52xx;
1988 struct cvmx_lmcx_ifb_cnt_lo_s cn52xxp1;
1989 struct cvmx_lmcx_ifb_cnt_lo_s cn56xx;
1990 struct cvmx_lmcx_ifb_cnt_lo_s cn56xxp1;
1991 struct cvmx_lmcx_ifb_cnt_lo_s cn58xx;
1992 struct cvmx_lmcx_ifb_cnt_lo_s cn58xxp1;
1993};
1994
1995union cvmx_lmcx_int {
1996 uint64_t u64;
1997 struct cvmx_lmcx_int_s {
1998#ifdef __BIG_ENDIAN_BITFIELD
1999 uint64_t reserved_9_63:55;
2000 uint64_t ded_err:4;
2001 uint64_t sec_err:4;
2002 uint64_t nxm_wr_err:1;
2003#else
2004 uint64_t nxm_wr_err:1;
2005 uint64_t sec_err:4;
2006 uint64_t ded_err:4;
2007 uint64_t reserved_9_63:55;
2008#endif
2009 } s;
2010 struct cvmx_lmcx_int_s cn61xx;
2011 struct cvmx_lmcx_int_s cn63xx;
2012 struct cvmx_lmcx_int_s cn63xxp1;
2013 struct cvmx_lmcx_int_s cn66xx;
2014 struct cvmx_lmcx_int_s cn68xx;
2015 struct cvmx_lmcx_int_s cn68xxp1;
2016 struct cvmx_lmcx_int_s cnf71xx;
2017};
2018
2019union cvmx_lmcx_int_en {
2020 uint64_t u64;
2021 struct cvmx_lmcx_int_en_s {
2022#ifdef __BIG_ENDIAN_BITFIELD
2023 uint64_t reserved_3_63:61;
2024 uint64_t intr_ded_ena:1;
2025 uint64_t intr_sec_ena:1;
2026 uint64_t intr_nxm_wr_ena:1;
2027#else
2028 uint64_t intr_nxm_wr_ena:1;
2029 uint64_t intr_sec_ena:1;
2030 uint64_t intr_ded_ena:1;
2031 uint64_t reserved_3_63:61;
2032#endif
2033 } s;
2034 struct cvmx_lmcx_int_en_s cn61xx;
2035 struct cvmx_lmcx_int_en_s cn63xx;
2036 struct cvmx_lmcx_int_en_s cn63xxp1;
2037 struct cvmx_lmcx_int_en_s cn66xx;
2038 struct cvmx_lmcx_int_en_s cn68xx;
2039 struct cvmx_lmcx_int_en_s cn68xxp1;
2040 struct cvmx_lmcx_int_en_s cnf71xx;
2041};
2042
2043union cvmx_lmcx_mem_cfg0 {
2044 uint64_t u64;
2045 struct cvmx_lmcx_mem_cfg0_s {
2046#ifdef __BIG_ENDIAN_BITFIELD
2047 uint64_t reserved_32_63:32;
2048 uint64_t reset:1;
2049 uint64_t silo_qc:1;
2050 uint64_t bunk_ena:1;
2051 uint64_t ded_err:4;
2052 uint64_t sec_err:4;
2053 uint64_t intr_ded_ena:1;
2054 uint64_t intr_sec_ena:1;
2055 uint64_t tcl:4;
2056 uint64_t ref_int:6;
2057 uint64_t pbank_lsb:4;
2058 uint64_t row_lsb:3;
2059 uint64_t ecc_ena:1;
2060 uint64_t init_start:1;
2061#else
2062 uint64_t init_start:1;
2063 uint64_t ecc_ena:1;
2064 uint64_t row_lsb:3;
2065 uint64_t pbank_lsb:4;
2066 uint64_t ref_int:6;
2067 uint64_t tcl:4;
2068 uint64_t intr_sec_ena:1;
2069 uint64_t intr_ded_ena:1;
2070 uint64_t sec_err:4;
2071 uint64_t ded_err:4;
2072 uint64_t bunk_ena:1;
2073 uint64_t silo_qc:1;
2074 uint64_t reset:1;
2075 uint64_t reserved_32_63:32;
2076#endif
2077 } s;
2078 struct cvmx_lmcx_mem_cfg0_s cn30xx;
2079 struct cvmx_lmcx_mem_cfg0_s cn31xx;
2080 struct cvmx_lmcx_mem_cfg0_s cn38xx;
2081 struct cvmx_lmcx_mem_cfg0_s cn38xxp2;
2082 struct cvmx_lmcx_mem_cfg0_s cn50xx;
2083 struct cvmx_lmcx_mem_cfg0_s cn52xx;
2084 struct cvmx_lmcx_mem_cfg0_s cn52xxp1;
2085 struct cvmx_lmcx_mem_cfg0_s cn56xx;
2086 struct cvmx_lmcx_mem_cfg0_s cn56xxp1;
2087 struct cvmx_lmcx_mem_cfg0_s cn58xx;
2088 struct cvmx_lmcx_mem_cfg0_s cn58xxp1;
2089};
2090
2091union cvmx_lmcx_mem_cfg1 {
2092 uint64_t u64;
2093 struct cvmx_lmcx_mem_cfg1_s {
2094#ifdef __BIG_ENDIAN_BITFIELD
2095 uint64_t reserved_32_63:32;
2096 uint64_t comp_bypass:1;
2097 uint64_t trrd:3;
2098 uint64_t caslat:3;
2099 uint64_t tmrd:3;
2100 uint64_t trfc:5;
2101 uint64_t trp:4;
2102 uint64_t twtr:4;
2103 uint64_t trcd:4;
2104 uint64_t tras:5;
2105#else
2106 uint64_t tras:5;
2107 uint64_t trcd:4;
2108 uint64_t twtr:4;
2109 uint64_t trp:4;
2110 uint64_t trfc:5;
2111 uint64_t tmrd:3;
2112 uint64_t caslat:3;
2113 uint64_t trrd:3;
2114 uint64_t comp_bypass:1;
2115 uint64_t reserved_32_63:32;
2116#endif
2117 } s;
2118 struct cvmx_lmcx_mem_cfg1_s cn30xx;
2119 struct cvmx_lmcx_mem_cfg1_s cn31xx;
2120 struct cvmx_lmcx_mem_cfg1_cn38xx {
2121#ifdef __BIG_ENDIAN_BITFIELD
2122 uint64_t reserved_31_63:33;
2123 uint64_t trrd:3;
2124 uint64_t caslat:3;
2125 uint64_t tmrd:3;
2126 uint64_t trfc:5;
2127 uint64_t trp:4;
2128 uint64_t twtr:4;
2129 uint64_t trcd:4;
2130 uint64_t tras:5;
2131#else
2132 uint64_t tras:5;
2133 uint64_t trcd:4;
2134 uint64_t twtr:4;
2135 uint64_t trp:4;
2136 uint64_t trfc:5;
2137 uint64_t tmrd:3;
2138 uint64_t caslat:3;
2139 uint64_t trrd:3;
2140 uint64_t reserved_31_63:33;
2141#endif
2142 } cn38xx;
2143 struct cvmx_lmcx_mem_cfg1_cn38xx cn38xxp2;
2144 struct cvmx_lmcx_mem_cfg1_s cn50xx;
2145 struct cvmx_lmcx_mem_cfg1_cn38xx cn52xx;
2146 struct cvmx_lmcx_mem_cfg1_cn38xx cn52xxp1;
2147 struct cvmx_lmcx_mem_cfg1_cn38xx cn56xx;
2148 struct cvmx_lmcx_mem_cfg1_cn38xx cn56xxp1;
2149 struct cvmx_lmcx_mem_cfg1_cn38xx cn58xx;
2150 struct cvmx_lmcx_mem_cfg1_cn38xx cn58xxp1;
2151};
2152
2153union cvmx_lmcx_modereg_params0 {
2154 uint64_t u64;
2155 struct cvmx_lmcx_modereg_params0_s {
2156#ifdef __BIG_ENDIAN_BITFIELD
2157 uint64_t reserved_25_63:39;
2158 uint64_t ppd:1;
2159 uint64_t wrp:3;
2160 uint64_t dllr:1;
2161 uint64_t tm:1;
2162 uint64_t rbt:1;
2163 uint64_t cl:4;
2164 uint64_t bl:2;
2165 uint64_t qoff:1;
2166 uint64_t tdqs:1;
2167 uint64_t wlev:1;
2168 uint64_t al:2;
2169 uint64_t dll:1;
2170 uint64_t mpr:1;
2171 uint64_t mprloc:2;
2172 uint64_t cwl:3;
2173#else
2174 uint64_t cwl:3;
2175 uint64_t mprloc:2;
2176 uint64_t mpr:1;
2177 uint64_t dll:1;
2178 uint64_t al:2;
2179 uint64_t wlev:1;
2180 uint64_t tdqs:1;
2181 uint64_t qoff:1;
2182 uint64_t bl:2;
2183 uint64_t cl:4;
2184 uint64_t rbt:1;
2185 uint64_t tm:1;
2186 uint64_t dllr:1;
2187 uint64_t wrp:3;
2188 uint64_t ppd:1;
2189 uint64_t reserved_25_63:39;
2190#endif
2191 } s;
2192 struct cvmx_lmcx_modereg_params0_s cn61xx;
2193 struct cvmx_lmcx_modereg_params0_s cn63xx;
2194 struct cvmx_lmcx_modereg_params0_s cn63xxp1;
2195 struct cvmx_lmcx_modereg_params0_s cn66xx;
2196 struct cvmx_lmcx_modereg_params0_s cn68xx;
2197 struct cvmx_lmcx_modereg_params0_s cn68xxp1;
2198 struct cvmx_lmcx_modereg_params0_s cnf71xx;
2199};
2200
2201union cvmx_lmcx_modereg_params1 {
2202 uint64_t u64;
2203 struct cvmx_lmcx_modereg_params1_s {
2204#ifdef __BIG_ENDIAN_BITFIELD
2205 uint64_t reserved_48_63:16;
2206 uint64_t rtt_nom_11:3;
2207 uint64_t dic_11:2;
2208 uint64_t rtt_wr_11:2;
2209 uint64_t srt_11:1;
2210 uint64_t asr_11:1;
2211 uint64_t pasr_11:3;
2212 uint64_t rtt_nom_10:3;
2213 uint64_t dic_10:2;
2214 uint64_t rtt_wr_10:2;
2215 uint64_t srt_10:1;
2216 uint64_t asr_10:1;
2217 uint64_t pasr_10:3;
2218 uint64_t rtt_nom_01:3;
2219 uint64_t dic_01:2;
2220 uint64_t rtt_wr_01:2;
2221 uint64_t srt_01:1;
2222 uint64_t asr_01:1;
2223 uint64_t pasr_01:3;
2224 uint64_t rtt_nom_00:3;
2225 uint64_t dic_00:2;
2226 uint64_t rtt_wr_00:2;
2227 uint64_t srt_00:1;
2228 uint64_t asr_00:1;
2229 uint64_t pasr_00:3;
2230#else
2231 uint64_t pasr_00:3;
2232 uint64_t asr_00:1;
2233 uint64_t srt_00:1;
2234 uint64_t rtt_wr_00:2;
2235 uint64_t dic_00:2;
2236 uint64_t rtt_nom_00:3;
2237 uint64_t pasr_01:3;
2238 uint64_t asr_01:1;
2239 uint64_t srt_01:1;
2240 uint64_t rtt_wr_01:2;
2241 uint64_t dic_01:2;
2242 uint64_t rtt_nom_01:3;
2243 uint64_t pasr_10:3;
2244 uint64_t asr_10:1;
2245 uint64_t srt_10:1;
2246 uint64_t rtt_wr_10:2;
2247 uint64_t dic_10:2;
2248 uint64_t rtt_nom_10:3;
2249 uint64_t pasr_11:3;
2250 uint64_t asr_11:1;
2251 uint64_t srt_11:1;
2252 uint64_t rtt_wr_11:2;
2253 uint64_t dic_11:2;
2254 uint64_t rtt_nom_11:3;
2255 uint64_t reserved_48_63:16;
2256#endif
2257 } s;
2258 struct cvmx_lmcx_modereg_params1_s cn61xx;
2259 struct cvmx_lmcx_modereg_params1_s cn63xx;
2260 struct cvmx_lmcx_modereg_params1_s cn63xxp1;
2261 struct cvmx_lmcx_modereg_params1_s cn66xx;
2262 struct cvmx_lmcx_modereg_params1_s cn68xx;
2263 struct cvmx_lmcx_modereg_params1_s cn68xxp1;
2264 struct cvmx_lmcx_modereg_params1_s cnf71xx;
2265};
2266
2267union cvmx_lmcx_nxm {
2268 uint64_t u64;
2269 struct cvmx_lmcx_nxm_s {
2270#ifdef __BIG_ENDIAN_BITFIELD
2271 uint64_t reserved_40_63:24;
2272 uint64_t mem_msb_d3_r1:4;
2273 uint64_t mem_msb_d3_r0:4;
2274 uint64_t mem_msb_d2_r1:4;
2275 uint64_t mem_msb_d2_r0:4;
2276 uint64_t mem_msb_d1_r1:4;
2277 uint64_t mem_msb_d1_r0:4;
2278 uint64_t mem_msb_d0_r1:4;
2279 uint64_t mem_msb_d0_r0:4;
2280 uint64_t cs_mask:8;
2281#else
2282 uint64_t cs_mask:8;
2283 uint64_t mem_msb_d0_r0:4;
2284 uint64_t mem_msb_d0_r1:4;
2285 uint64_t mem_msb_d1_r0:4;
2286 uint64_t mem_msb_d1_r1:4;
2287 uint64_t mem_msb_d2_r0:4;
2288 uint64_t mem_msb_d2_r1:4;
2289 uint64_t mem_msb_d3_r0:4;
2290 uint64_t mem_msb_d3_r1:4;
2291 uint64_t reserved_40_63:24;
2292#endif
2293 } s;
2294 struct cvmx_lmcx_nxm_cn52xx {
2295#ifdef __BIG_ENDIAN_BITFIELD
2296 uint64_t reserved_8_63:56;
2297 uint64_t cs_mask:8;
2298#else
2299 uint64_t cs_mask:8;
2300 uint64_t reserved_8_63:56;
2301#endif
2302 } cn52xx;
2303 struct cvmx_lmcx_nxm_cn52xx cn56xx;
2304 struct cvmx_lmcx_nxm_cn52xx cn58xx;
2305 struct cvmx_lmcx_nxm_s cn61xx;
2306 struct cvmx_lmcx_nxm_s cn63xx;
2307 struct cvmx_lmcx_nxm_s cn63xxp1;
2308 struct cvmx_lmcx_nxm_s cn66xx;
2309 struct cvmx_lmcx_nxm_s cn68xx;
2310 struct cvmx_lmcx_nxm_s cn68xxp1;
2311 struct cvmx_lmcx_nxm_s cnf71xx;
2312};
2313
2314union cvmx_lmcx_ops_cnt {
2315 uint64_t u64;
2316 struct cvmx_lmcx_ops_cnt_s {
2317#ifdef __BIG_ENDIAN_BITFIELD
2318 uint64_t opscnt:64;
2319#else
2320 uint64_t opscnt:64;
2321#endif
2322 } s;
2323 struct cvmx_lmcx_ops_cnt_s cn61xx;
2324 struct cvmx_lmcx_ops_cnt_s cn63xx;
2325 struct cvmx_lmcx_ops_cnt_s cn63xxp1;
2326 struct cvmx_lmcx_ops_cnt_s cn66xx;
2327 struct cvmx_lmcx_ops_cnt_s cn68xx;
2328 struct cvmx_lmcx_ops_cnt_s cn68xxp1;
2329 struct cvmx_lmcx_ops_cnt_s cnf71xx;
2330};
2331
2332union cvmx_lmcx_ops_cnt_hi {
2333 uint64_t u64;
2334 struct cvmx_lmcx_ops_cnt_hi_s {
2335#ifdef __BIG_ENDIAN_BITFIELD
2336 uint64_t reserved_32_63:32;
2337 uint64_t opscnt_hi:32;
2338#else
2339 uint64_t opscnt_hi:32;
2340 uint64_t reserved_32_63:32;
2341#endif
2342 } s;
2343 struct cvmx_lmcx_ops_cnt_hi_s cn30xx;
2344 struct cvmx_lmcx_ops_cnt_hi_s cn31xx;
2345 struct cvmx_lmcx_ops_cnt_hi_s cn38xx;
2346 struct cvmx_lmcx_ops_cnt_hi_s cn38xxp2;
2347 struct cvmx_lmcx_ops_cnt_hi_s cn50xx;
2348 struct cvmx_lmcx_ops_cnt_hi_s cn52xx;
2349 struct cvmx_lmcx_ops_cnt_hi_s cn52xxp1;
2350 struct cvmx_lmcx_ops_cnt_hi_s cn56xx;
2351 struct cvmx_lmcx_ops_cnt_hi_s cn56xxp1;
2352 struct cvmx_lmcx_ops_cnt_hi_s cn58xx;
2353 struct cvmx_lmcx_ops_cnt_hi_s cn58xxp1;
2354};
2355
2356union cvmx_lmcx_ops_cnt_lo {
2357 uint64_t u64;
2358 struct cvmx_lmcx_ops_cnt_lo_s {
2359#ifdef __BIG_ENDIAN_BITFIELD
2360 uint64_t reserved_32_63:32;
2361 uint64_t opscnt_lo:32;
2362#else
2363 uint64_t opscnt_lo:32;
2364 uint64_t reserved_32_63:32;
2365#endif
2366 } s;
2367 struct cvmx_lmcx_ops_cnt_lo_s cn30xx;
2368 struct cvmx_lmcx_ops_cnt_lo_s cn31xx;
2369 struct cvmx_lmcx_ops_cnt_lo_s cn38xx;
2370 struct cvmx_lmcx_ops_cnt_lo_s cn38xxp2;
2371 struct cvmx_lmcx_ops_cnt_lo_s cn50xx;
2372 struct cvmx_lmcx_ops_cnt_lo_s cn52xx;
2373 struct cvmx_lmcx_ops_cnt_lo_s cn52xxp1;
2374 struct cvmx_lmcx_ops_cnt_lo_s cn56xx;
2375 struct cvmx_lmcx_ops_cnt_lo_s cn56xxp1;
2376 struct cvmx_lmcx_ops_cnt_lo_s cn58xx;
2377 struct cvmx_lmcx_ops_cnt_lo_s cn58xxp1;
2378};
2379
2380union cvmx_lmcx_phy_ctl {
2381 uint64_t u64;
2382 struct cvmx_lmcx_phy_ctl_s {
2383#ifdef __BIG_ENDIAN_BITFIELD
2384 uint64_t reserved_15_63:49;
2385 uint64_t rx_always_on:1;
2386 uint64_t lv_mode:1;
2387 uint64_t ck_tune1:1;
2388 uint64_t ck_dlyout1:4;
2389 uint64_t ck_tune0:1;
2390 uint64_t ck_dlyout0:4;
2391 uint64_t loopback:1;
2392 uint64_t loopback_pos:1;
2393 uint64_t ts_stagger:1;
2394#else
2395 uint64_t ts_stagger:1;
2396 uint64_t loopback_pos:1;
2397 uint64_t loopback:1;
2398 uint64_t ck_dlyout0:4;
2399 uint64_t ck_tune0:1;
2400 uint64_t ck_dlyout1:4;
2401 uint64_t ck_tune1:1;
2402 uint64_t lv_mode:1;
2403 uint64_t rx_always_on:1;
2404 uint64_t reserved_15_63:49;
2405#endif
2406 } s;
2407 struct cvmx_lmcx_phy_ctl_s cn61xx;
2408 struct cvmx_lmcx_phy_ctl_s cn63xx;
2409 struct cvmx_lmcx_phy_ctl_cn63xxp1 {
2410#ifdef __BIG_ENDIAN_BITFIELD
2411 uint64_t reserved_14_63:50;
2412 uint64_t lv_mode:1;
2413 uint64_t ck_tune1:1;
2414 uint64_t ck_dlyout1:4;
2415 uint64_t ck_tune0:1;
2416 uint64_t ck_dlyout0:4;
2417 uint64_t loopback:1;
2418 uint64_t loopback_pos:1;
2419 uint64_t ts_stagger:1;
2420#else
2421 uint64_t ts_stagger:1;
2422 uint64_t loopback_pos:1;
2423 uint64_t loopback:1;
2424 uint64_t ck_dlyout0:4;
2425 uint64_t ck_tune0:1;
2426 uint64_t ck_dlyout1:4;
2427 uint64_t ck_tune1:1;
2428 uint64_t lv_mode:1;
2429 uint64_t reserved_14_63:50;
2430#endif
2431 } cn63xxp1;
2432 struct cvmx_lmcx_phy_ctl_s cn66xx;
2433 struct cvmx_lmcx_phy_ctl_s cn68xx;
2434 struct cvmx_lmcx_phy_ctl_s cn68xxp1;
2435 struct cvmx_lmcx_phy_ctl_s cnf71xx;
2436};
2437
2438union cvmx_lmcx_pll_bwctl {
2439 uint64_t u64;
2440 struct cvmx_lmcx_pll_bwctl_s {
2441#ifdef __BIG_ENDIAN_BITFIELD
2442 uint64_t reserved_5_63:59;
2443 uint64_t bwupd:1;
2444 uint64_t bwctl:4;
2445#else
2446 uint64_t bwctl:4;
2447 uint64_t bwupd:1;
2448 uint64_t reserved_5_63:59;
2449#endif
2450 } s;
2451 struct cvmx_lmcx_pll_bwctl_s cn30xx;
2452 struct cvmx_lmcx_pll_bwctl_s cn31xx;
2453 struct cvmx_lmcx_pll_bwctl_s cn38xx;
2454 struct cvmx_lmcx_pll_bwctl_s cn38xxp2;
2455};
2456
2457union cvmx_lmcx_pll_ctl {
2458 uint64_t u64;
2459 struct cvmx_lmcx_pll_ctl_s {
2460#ifdef __BIG_ENDIAN_BITFIELD
2461 uint64_t reserved_30_63:34;
2462 uint64_t bypass:1;
2463 uint64_t fasten_n:1;
2464 uint64_t div_reset:1;
2465 uint64_t reset_n:1;
2466 uint64_t clkf:12;
2467 uint64_t clkr:6;
2468 uint64_t reserved_6_7:2;
2469 uint64_t en16:1;
2470 uint64_t en12:1;
2471 uint64_t en8:1;
2472 uint64_t en6:1;
2473 uint64_t en4:1;
2474 uint64_t en2:1;
2475#else
2476 uint64_t en2:1;
2477 uint64_t en4:1;
2478 uint64_t en6:1;
2479 uint64_t en8:1;
2480 uint64_t en12:1;
2481 uint64_t en16:1;
2482 uint64_t reserved_6_7:2;
2483 uint64_t clkr:6;
2484 uint64_t clkf:12;
2485 uint64_t reset_n:1;
2486 uint64_t div_reset:1;
2487 uint64_t fasten_n:1;
2488 uint64_t bypass:1;
2489 uint64_t reserved_30_63:34;
2490#endif
2491 } s;
2492 struct cvmx_lmcx_pll_ctl_cn50xx {
2493#ifdef __BIG_ENDIAN_BITFIELD
2494 uint64_t reserved_29_63:35;
2495 uint64_t fasten_n:1;
2496 uint64_t div_reset:1;
2497 uint64_t reset_n:1;
2498 uint64_t clkf:12;
2499 uint64_t clkr:6;
2500 uint64_t reserved_6_7:2;
2501 uint64_t en16:1;
2502 uint64_t en12:1;
2503 uint64_t en8:1;
2504 uint64_t en6:1;
2505 uint64_t en4:1;
2506 uint64_t en2:1;
2507#else
2508 uint64_t en2:1;
2509 uint64_t en4:1;
2510 uint64_t en6:1;
2511 uint64_t en8:1;
2512 uint64_t en12:1;
2513 uint64_t en16:1;
2514 uint64_t reserved_6_7:2;
2515 uint64_t clkr:6;
2516 uint64_t clkf:12;
2517 uint64_t reset_n:1;
2518 uint64_t div_reset:1;
2519 uint64_t fasten_n:1;
2520 uint64_t reserved_29_63:35;
2521#endif
2522 } cn50xx;
2523 struct cvmx_lmcx_pll_ctl_s cn52xx;
2524 struct cvmx_lmcx_pll_ctl_s cn52xxp1;
2525 struct cvmx_lmcx_pll_ctl_cn50xx cn56xx;
2526 struct cvmx_lmcx_pll_ctl_cn56xxp1 {
2527#ifdef __BIG_ENDIAN_BITFIELD
2528 uint64_t reserved_28_63:36;
2529 uint64_t div_reset:1;
2530 uint64_t reset_n:1;
2531 uint64_t clkf:12;
2532 uint64_t clkr:6;
2533 uint64_t reserved_6_7:2;
2534 uint64_t en16:1;
2535 uint64_t en12:1;
2536 uint64_t en8:1;
2537 uint64_t en6:1;
2538 uint64_t en4:1;
2539 uint64_t en2:1;
2540#else
2541 uint64_t en2:1;
2542 uint64_t en4:1;
2543 uint64_t en6:1;
2544 uint64_t en8:1;
2545 uint64_t en12:1;
2546 uint64_t en16:1;
2547 uint64_t reserved_6_7:2;
2548 uint64_t clkr:6;
2549 uint64_t clkf:12;
2550 uint64_t reset_n:1;
2551 uint64_t div_reset:1;
2552 uint64_t reserved_28_63:36;
2553#endif
2554 } cn56xxp1;
2555 struct cvmx_lmcx_pll_ctl_cn56xxp1 cn58xx;
2556 struct cvmx_lmcx_pll_ctl_cn56xxp1 cn58xxp1;
2557};
2558
2559union cvmx_lmcx_pll_status {
2560 uint64_t u64;
2561 struct cvmx_lmcx_pll_status_s {
2562#ifdef __BIG_ENDIAN_BITFIELD
2563 uint64_t reserved_32_63:32;
2564 uint64_t ddr__nctl:5;
2565 uint64_t ddr__pctl:5;
2566 uint64_t reserved_2_21:20;
2567 uint64_t rfslip:1;
2568 uint64_t fbslip:1;
2569#else
2570 uint64_t fbslip:1;
2571 uint64_t rfslip:1;
2572 uint64_t reserved_2_21:20;
2573 uint64_t ddr__pctl:5;
2574 uint64_t ddr__nctl:5;
2575 uint64_t reserved_32_63:32;
2576#endif
2577 } s;
2578 struct cvmx_lmcx_pll_status_s cn50xx;
2579 struct cvmx_lmcx_pll_status_s cn52xx;
2580 struct cvmx_lmcx_pll_status_s cn52xxp1;
2581 struct cvmx_lmcx_pll_status_s cn56xx;
2582 struct cvmx_lmcx_pll_status_s cn56xxp1;
2583 struct cvmx_lmcx_pll_status_s cn58xx;
2584 struct cvmx_lmcx_pll_status_cn58xxp1 {
2585#ifdef __BIG_ENDIAN_BITFIELD
2586 uint64_t reserved_2_63:62;
2587 uint64_t rfslip:1;
2588 uint64_t fbslip:1;
2589#else
2590 uint64_t fbslip:1;
2591 uint64_t rfslip:1;
2592 uint64_t reserved_2_63:62;
2593#endif
2594 } cn58xxp1;
2595};
2596
2597union cvmx_lmcx_read_level_ctl {
2598 uint64_t u64;
2599 struct cvmx_lmcx_read_level_ctl_s {
2600#ifdef __BIG_ENDIAN_BITFIELD
2601 uint64_t reserved_44_63:20;
2602 uint64_t rankmask:4;
2603 uint64_t pattern:8;
2604 uint64_t row:16;
2605 uint64_t col:12;
2606 uint64_t reserved_3_3:1;
2607 uint64_t bnk:3;
2608#else
2609 uint64_t bnk:3;
2610 uint64_t reserved_3_3:1;
2611 uint64_t col:12;
2612 uint64_t row:16;
2613 uint64_t pattern:8;
2614 uint64_t rankmask:4;
2615 uint64_t reserved_44_63:20;
2616#endif
2617 } s;
2618 struct cvmx_lmcx_read_level_ctl_s cn52xx;
2619 struct cvmx_lmcx_read_level_ctl_s cn52xxp1;
2620 struct cvmx_lmcx_read_level_ctl_s cn56xx;
2621 struct cvmx_lmcx_read_level_ctl_s cn56xxp1;
2622};
2623
2624union cvmx_lmcx_read_level_dbg {
2625 uint64_t u64;
2626 struct cvmx_lmcx_read_level_dbg_s {
2627#ifdef __BIG_ENDIAN_BITFIELD
2628 uint64_t reserved_32_63:32;
2629 uint64_t bitmask:16;
2630 uint64_t reserved_4_15:12;
2631 uint64_t byte:4;
2632#else
2633 uint64_t byte:4;
2634 uint64_t reserved_4_15:12;
2635 uint64_t bitmask:16;
2636 uint64_t reserved_32_63:32;
2637#endif
2638 } s;
2639 struct cvmx_lmcx_read_level_dbg_s cn52xx;
2640 struct cvmx_lmcx_read_level_dbg_s cn52xxp1;
2641 struct cvmx_lmcx_read_level_dbg_s cn56xx;
2642 struct cvmx_lmcx_read_level_dbg_s cn56xxp1;
2643};
2644
2645union cvmx_lmcx_read_level_rankx {
2646 uint64_t u64;
2647 struct cvmx_lmcx_read_level_rankx_s {
2648#ifdef __BIG_ENDIAN_BITFIELD
2649 uint64_t reserved_38_63:26;
2650 uint64_t status:2;
2651 uint64_t byte8:4;
2652 uint64_t byte7:4;
2653 uint64_t byte6:4;
2654 uint64_t byte5:4;
2655 uint64_t byte4:4;
2656 uint64_t byte3:4;
2657 uint64_t byte2:4;
2658 uint64_t byte1:4;
2659 uint64_t byte0:4;
2660#else
2661 uint64_t byte0:4;
2662 uint64_t byte1:4;
2663 uint64_t byte2:4;
2664 uint64_t byte3:4;
2665 uint64_t byte4:4;
2666 uint64_t byte5:4;
2667 uint64_t byte6:4;
2668 uint64_t byte7:4;
2669 uint64_t byte8:4;
2670 uint64_t status:2;
2671 uint64_t reserved_38_63:26;
2672#endif
2673 } s;
2674 struct cvmx_lmcx_read_level_rankx_s cn52xx;
2675 struct cvmx_lmcx_read_level_rankx_s cn52xxp1;
2676 struct cvmx_lmcx_read_level_rankx_s cn56xx;
2677 struct cvmx_lmcx_read_level_rankx_s cn56xxp1;
2678};
2679
2680union cvmx_lmcx_reset_ctl {
2681 uint64_t u64;
2682 struct cvmx_lmcx_reset_ctl_s {
2683#ifdef __BIG_ENDIAN_BITFIELD
2684 uint64_t reserved_4_63:60;
2685 uint64_t ddr3psv:1;
2686 uint64_t ddr3psoft:1;
2687 uint64_t ddr3pwarm:1;
2688 uint64_t ddr3rst:1;
2689#else
2690 uint64_t ddr3rst:1;
2691 uint64_t ddr3pwarm:1;
2692 uint64_t ddr3psoft:1;
2693 uint64_t ddr3psv:1;
2694 uint64_t reserved_4_63:60;
2695#endif
2696 } s;
2697 struct cvmx_lmcx_reset_ctl_s cn61xx;
2698 struct cvmx_lmcx_reset_ctl_s cn63xx;
2699 struct cvmx_lmcx_reset_ctl_s cn63xxp1;
2700 struct cvmx_lmcx_reset_ctl_s cn66xx;
2701 struct cvmx_lmcx_reset_ctl_s cn68xx;
2702 struct cvmx_lmcx_reset_ctl_s cn68xxp1;
2703 struct cvmx_lmcx_reset_ctl_s cnf71xx;
2704};
2705
2706union cvmx_lmcx_rlevel_ctl {
2707 uint64_t u64;
2708 struct cvmx_lmcx_rlevel_ctl_s {
2709#ifdef __BIG_ENDIAN_BITFIELD
2710 uint64_t reserved_22_63:42;
2711 uint64_t delay_unload_3:1;
2712 uint64_t delay_unload_2:1;
2713 uint64_t delay_unload_1:1;
2714 uint64_t delay_unload_0:1;
2715 uint64_t bitmask:8;
2716 uint64_t or_dis:1;
2717 uint64_t offset_en:1;
2718 uint64_t offset:4;
2719 uint64_t byte:4;
2720#else
2721 uint64_t byte:4;
2722 uint64_t offset:4;
2723 uint64_t offset_en:1;
2724 uint64_t or_dis:1;
2725 uint64_t bitmask:8;
2726 uint64_t delay_unload_0:1;
2727 uint64_t delay_unload_1:1;
2728 uint64_t delay_unload_2:1;
2729 uint64_t delay_unload_3:1;
2730 uint64_t reserved_22_63:42;
2731#endif
2732 } s;
2733 struct cvmx_lmcx_rlevel_ctl_s cn61xx;
2734 struct cvmx_lmcx_rlevel_ctl_s cn63xx;
2735 struct cvmx_lmcx_rlevel_ctl_cn63xxp1 {
2736#ifdef __BIG_ENDIAN_BITFIELD
2737 uint64_t reserved_9_63:55;
2738 uint64_t offset_en:1;
2739 uint64_t offset:4;
2740 uint64_t byte:4;
2741#else
2742 uint64_t byte:4;
2743 uint64_t offset:4;
2744 uint64_t offset_en:1;
2745 uint64_t reserved_9_63:55;
2746#endif
2747 } cn63xxp1;
2748 struct cvmx_lmcx_rlevel_ctl_s cn66xx;
2749 struct cvmx_lmcx_rlevel_ctl_s cn68xx;
2750 struct cvmx_lmcx_rlevel_ctl_s cn68xxp1;
2751 struct cvmx_lmcx_rlevel_ctl_s cnf71xx;
2752};
2753
2754union cvmx_lmcx_rlevel_dbg {
2755 uint64_t u64;
2756 struct cvmx_lmcx_rlevel_dbg_s {
2757#ifdef __BIG_ENDIAN_BITFIELD
2758 uint64_t bitmask:64;
2759#else
2760 uint64_t bitmask:64;
2761#endif
2762 } s;
2763 struct cvmx_lmcx_rlevel_dbg_s cn61xx;
2764 struct cvmx_lmcx_rlevel_dbg_s cn63xx;
2765 struct cvmx_lmcx_rlevel_dbg_s cn63xxp1;
2766 struct cvmx_lmcx_rlevel_dbg_s cn66xx;
2767 struct cvmx_lmcx_rlevel_dbg_s cn68xx;
2768 struct cvmx_lmcx_rlevel_dbg_s cn68xxp1;
2769 struct cvmx_lmcx_rlevel_dbg_s cnf71xx;
2770};
2771
2772union cvmx_lmcx_rlevel_rankx {
2773 uint64_t u64;
2774 struct cvmx_lmcx_rlevel_rankx_s {
2775#ifdef __BIG_ENDIAN_BITFIELD
2776 uint64_t reserved_56_63:8;
2777 uint64_t status:2;
2778 uint64_t byte8:6;
2779 uint64_t byte7:6;
2780 uint64_t byte6:6;
2781 uint64_t byte5:6;
2782 uint64_t byte4:6;
2783 uint64_t byte3:6;
2784 uint64_t byte2:6;
2785 uint64_t byte1:6;
2786 uint64_t byte0:6;
2787#else
2788 uint64_t byte0:6;
2789 uint64_t byte1:6;
2790 uint64_t byte2:6;
2791 uint64_t byte3:6;
2792 uint64_t byte4:6;
2793 uint64_t byte5:6;
2794 uint64_t byte6:6;
2795 uint64_t byte7:6;
2796 uint64_t byte8:6;
2797 uint64_t status:2;
2798 uint64_t reserved_56_63:8;
2799#endif
2800 } s;
2801 struct cvmx_lmcx_rlevel_rankx_s cn61xx;
2802 struct cvmx_lmcx_rlevel_rankx_s cn63xx;
2803 struct cvmx_lmcx_rlevel_rankx_s cn63xxp1;
2804 struct cvmx_lmcx_rlevel_rankx_s cn66xx;
2805 struct cvmx_lmcx_rlevel_rankx_s cn68xx;
2806 struct cvmx_lmcx_rlevel_rankx_s cn68xxp1;
2807 struct cvmx_lmcx_rlevel_rankx_s cnf71xx;
2808};
2809
2810union cvmx_lmcx_rodt_comp_ctl {
2811 uint64_t u64;
2812 struct cvmx_lmcx_rodt_comp_ctl_s {
2813#ifdef __BIG_ENDIAN_BITFIELD
2814 uint64_t reserved_17_63:47;
2815 uint64_t enable:1;
2816 uint64_t reserved_12_15:4;
2817 uint64_t nctl:4;
2818 uint64_t reserved_5_7:3;
2819 uint64_t pctl:5;
2820#else
2821 uint64_t pctl:5;
2822 uint64_t reserved_5_7:3;
2823 uint64_t nctl:4;
2824 uint64_t reserved_12_15:4;
2825 uint64_t enable:1;
2826 uint64_t reserved_17_63:47;
2827#endif
2828 } s;
2829 struct cvmx_lmcx_rodt_comp_ctl_s cn50xx;
2830 struct cvmx_lmcx_rodt_comp_ctl_s cn52xx;
2831 struct cvmx_lmcx_rodt_comp_ctl_s cn52xxp1;
2832 struct cvmx_lmcx_rodt_comp_ctl_s cn56xx;
2833 struct cvmx_lmcx_rodt_comp_ctl_s cn56xxp1;
2834 struct cvmx_lmcx_rodt_comp_ctl_s cn58xx;
2835 struct cvmx_lmcx_rodt_comp_ctl_s cn58xxp1;
2836};
2837
2838union cvmx_lmcx_rodt_ctl {
2839 uint64_t u64;
2840 struct cvmx_lmcx_rodt_ctl_s {
2841#ifdef __BIG_ENDIAN_BITFIELD
2842 uint64_t reserved_32_63:32;
2843 uint64_t rodt_hi3:4;
2844 uint64_t rodt_hi2:4;
2845 uint64_t rodt_hi1:4;
2846 uint64_t rodt_hi0:4;
2847 uint64_t rodt_lo3:4;
2848 uint64_t rodt_lo2:4;
2849 uint64_t rodt_lo1:4;
2850 uint64_t rodt_lo0:4;
2851#else
2852 uint64_t rodt_lo0:4;
2853 uint64_t rodt_lo1:4;
2854 uint64_t rodt_lo2:4;
2855 uint64_t rodt_lo3:4;
2856 uint64_t rodt_hi0:4;
2857 uint64_t rodt_hi1:4;
2858 uint64_t rodt_hi2:4;
2859 uint64_t rodt_hi3:4;
2860 uint64_t reserved_32_63:32;
2861#endif
2862 } s;
2863 struct cvmx_lmcx_rodt_ctl_s cn30xx;
2864 struct cvmx_lmcx_rodt_ctl_s cn31xx;
2865 struct cvmx_lmcx_rodt_ctl_s cn38xx;
2866 struct cvmx_lmcx_rodt_ctl_s cn38xxp2;
2867 struct cvmx_lmcx_rodt_ctl_s cn50xx;
2868 struct cvmx_lmcx_rodt_ctl_s cn52xx;
2869 struct cvmx_lmcx_rodt_ctl_s cn52xxp1;
2870 struct cvmx_lmcx_rodt_ctl_s cn56xx;
2871 struct cvmx_lmcx_rodt_ctl_s cn56xxp1;
2872 struct cvmx_lmcx_rodt_ctl_s cn58xx;
2873 struct cvmx_lmcx_rodt_ctl_s cn58xxp1;
2874};
2875
2876union cvmx_lmcx_rodt_mask {
2877 uint64_t u64;
2878 struct cvmx_lmcx_rodt_mask_s {
2879#ifdef __BIG_ENDIAN_BITFIELD
2880 uint64_t rodt_d3_r1:8;
2881 uint64_t rodt_d3_r0:8;
2882 uint64_t rodt_d2_r1:8;
2883 uint64_t rodt_d2_r0:8;
2884 uint64_t rodt_d1_r1:8;
2885 uint64_t rodt_d1_r0:8;
2886 uint64_t rodt_d0_r1:8;
2887 uint64_t rodt_d0_r0:8;
2888#else
2889 uint64_t rodt_d0_r0:8;
2890 uint64_t rodt_d0_r1:8;
2891 uint64_t rodt_d1_r0:8;
2892 uint64_t rodt_d1_r1:8;
2893 uint64_t rodt_d2_r0:8;
2894 uint64_t rodt_d2_r1:8;
2895 uint64_t rodt_d3_r0:8;
2896 uint64_t rodt_d3_r1:8;
2897#endif
2898 } s;
2899 struct cvmx_lmcx_rodt_mask_s cn61xx;
2900 struct cvmx_lmcx_rodt_mask_s cn63xx;
2901 struct cvmx_lmcx_rodt_mask_s cn63xxp1;
2902 struct cvmx_lmcx_rodt_mask_s cn66xx;
2903 struct cvmx_lmcx_rodt_mask_s cn68xx;
2904 struct cvmx_lmcx_rodt_mask_s cn68xxp1;
2905 struct cvmx_lmcx_rodt_mask_s cnf71xx;
2906};
2907
2908union cvmx_lmcx_scramble_cfg0 {
2909 uint64_t u64;
2910 struct cvmx_lmcx_scramble_cfg0_s {
2911#ifdef __BIG_ENDIAN_BITFIELD
2912 uint64_t key:64;
2913#else
2914 uint64_t key:64;
2915#endif
2916 } s;
2917 struct cvmx_lmcx_scramble_cfg0_s cn61xx;
2918 struct cvmx_lmcx_scramble_cfg0_s cn66xx;
2919 struct cvmx_lmcx_scramble_cfg0_s cnf71xx;
2920};
2921
2922union cvmx_lmcx_scramble_cfg1 {
2923 uint64_t u64;
2924 struct cvmx_lmcx_scramble_cfg1_s {
2925#ifdef __BIG_ENDIAN_BITFIELD
2926 uint64_t key:64;
2927#else
2928 uint64_t key:64;
2929#endif
2930 } s;
2931 struct cvmx_lmcx_scramble_cfg1_s cn61xx;
2932 struct cvmx_lmcx_scramble_cfg1_s cn66xx;
2933 struct cvmx_lmcx_scramble_cfg1_s cnf71xx;
2934};
2935
2936union cvmx_lmcx_scrambled_fadr {
2937 uint64_t u64;
2938 struct cvmx_lmcx_scrambled_fadr_s {
2939#ifdef __BIG_ENDIAN_BITFIELD
2940 uint64_t reserved_36_63:28;
2941 uint64_t fdimm:2;
2942 uint64_t fbunk:1;
2943 uint64_t fbank:3;
2944 uint64_t frow:16;
2945 uint64_t fcol:14;
2946#else
2947 uint64_t fcol:14;
2948 uint64_t frow:16;
2949 uint64_t fbank:3;
2950 uint64_t fbunk:1;
2951 uint64_t fdimm:2;
2952 uint64_t reserved_36_63:28;
2953#endif
2954 } s;
2955 struct cvmx_lmcx_scrambled_fadr_s cn61xx;
2956 struct cvmx_lmcx_scrambled_fadr_s cn66xx;
2957 struct cvmx_lmcx_scrambled_fadr_s cnf71xx;
2958};
2959
2960union cvmx_lmcx_slot_ctl0 {
2961 uint64_t u64;
2962 struct cvmx_lmcx_slot_ctl0_s {
2963#ifdef __BIG_ENDIAN_BITFIELD
2964 uint64_t reserved_24_63:40;
2965 uint64_t w2w_init:6;
2966 uint64_t w2r_init:6;
2967 uint64_t r2w_init:6;
2968 uint64_t r2r_init:6;
2969#else
2970 uint64_t r2r_init:6;
2971 uint64_t r2w_init:6;
2972 uint64_t w2r_init:6;
2973 uint64_t w2w_init:6;
2974 uint64_t reserved_24_63:40;
2975#endif
2976 } s;
2977 struct cvmx_lmcx_slot_ctl0_s cn61xx;
2978 struct cvmx_lmcx_slot_ctl0_s cn63xx;
2979 struct cvmx_lmcx_slot_ctl0_s cn63xxp1;
2980 struct cvmx_lmcx_slot_ctl0_s cn66xx;
2981 struct cvmx_lmcx_slot_ctl0_s cn68xx;
2982 struct cvmx_lmcx_slot_ctl0_s cn68xxp1;
2983 struct cvmx_lmcx_slot_ctl0_s cnf71xx;
2984};
2985
2986union cvmx_lmcx_slot_ctl1 {
2987 uint64_t u64;
2988 struct cvmx_lmcx_slot_ctl1_s {
2989#ifdef __BIG_ENDIAN_BITFIELD
2990 uint64_t reserved_24_63:40;
2991 uint64_t w2w_xrank_init:6;
2992 uint64_t w2r_xrank_init:6;
2993 uint64_t r2w_xrank_init:6;
2994 uint64_t r2r_xrank_init:6;
2995#else
2996 uint64_t r2r_xrank_init:6;
2997 uint64_t r2w_xrank_init:6;
2998 uint64_t w2r_xrank_init:6;
2999 uint64_t w2w_xrank_init:6;
3000 uint64_t reserved_24_63:40;
3001#endif
3002 } s;
3003 struct cvmx_lmcx_slot_ctl1_s cn61xx;
3004 struct cvmx_lmcx_slot_ctl1_s cn63xx;
3005 struct cvmx_lmcx_slot_ctl1_s cn63xxp1;
3006 struct cvmx_lmcx_slot_ctl1_s cn66xx;
3007 struct cvmx_lmcx_slot_ctl1_s cn68xx;
3008 struct cvmx_lmcx_slot_ctl1_s cn68xxp1;
3009 struct cvmx_lmcx_slot_ctl1_s cnf71xx;
3010};
3011
3012union cvmx_lmcx_slot_ctl2 {
3013 uint64_t u64;
3014 struct cvmx_lmcx_slot_ctl2_s {
3015#ifdef __BIG_ENDIAN_BITFIELD
3016 uint64_t reserved_24_63:40;
3017 uint64_t w2w_xdimm_init:6;
3018 uint64_t w2r_xdimm_init:6;
3019 uint64_t r2w_xdimm_init:6;
3020 uint64_t r2r_xdimm_init:6;
3021#else
3022 uint64_t r2r_xdimm_init:6;
3023 uint64_t r2w_xdimm_init:6;
3024 uint64_t w2r_xdimm_init:6;
3025 uint64_t w2w_xdimm_init:6;
3026 uint64_t reserved_24_63:40;
3027#endif
3028 } s;
3029 struct cvmx_lmcx_slot_ctl2_s cn61xx;
3030 struct cvmx_lmcx_slot_ctl2_s cn63xx;
3031 struct cvmx_lmcx_slot_ctl2_s cn63xxp1;
3032 struct cvmx_lmcx_slot_ctl2_s cn66xx;
3033 struct cvmx_lmcx_slot_ctl2_s cn68xx;
3034 struct cvmx_lmcx_slot_ctl2_s cn68xxp1;
3035 struct cvmx_lmcx_slot_ctl2_s cnf71xx;
3036};
3037
3038union cvmx_lmcx_timing_params0 {
3039 uint64_t u64;
3040 struct cvmx_lmcx_timing_params0_s {
3041#ifdef __BIG_ENDIAN_BITFIELD
3042 uint64_t reserved_47_63:17;
3043 uint64_t trp_ext:1;
3044 uint64_t tcksre:4;
3045 uint64_t trp:4;
3046 uint64_t tzqinit:4;
3047 uint64_t tdllk:4;
3048 uint64_t tmod:4;
3049 uint64_t tmrd:4;
3050 uint64_t txpr:4;
3051 uint64_t tcke:4;
3052 uint64_t tzqcs:4;
3053 uint64_t tckeon:10;
3054#else
3055 uint64_t tckeon:10;
3056 uint64_t tzqcs:4;
3057 uint64_t tcke:4;
3058 uint64_t txpr:4;
3059 uint64_t tmrd:4;
3060 uint64_t tmod:4;
3061 uint64_t tdllk:4;
3062 uint64_t tzqinit:4;
3063 uint64_t trp:4;
3064 uint64_t tcksre:4;
3065 uint64_t trp_ext:1;
3066 uint64_t reserved_47_63:17;
3067#endif
3068 } s;
3069 struct cvmx_lmcx_timing_params0_cn61xx {
3070#ifdef __BIG_ENDIAN_BITFIELD
3071 uint64_t reserved_47_63:17;
3072 uint64_t trp_ext:1;
3073 uint64_t tcksre:4;
3074 uint64_t trp:4;
3075 uint64_t tzqinit:4;
3076 uint64_t tdllk:4;
3077 uint64_t tmod:4;
3078 uint64_t tmrd:4;
3079 uint64_t txpr:4;
3080 uint64_t tcke:4;
3081 uint64_t tzqcs:4;
3082 uint64_t reserved_0_9:10;
3083#else
3084 uint64_t reserved_0_9:10;
3085 uint64_t tzqcs:4;
3086 uint64_t tcke:4;
3087 uint64_t txpr:4;
3088 uint64_t tmrd:4;
3089 uint64_t tmod:4;
3090 uint64_t tdllk:4;
3091 uint64_t tzqinit:4;
3092 uint64_t trp:4;
3093 uint64_t tcksre:4;
3094 uint64_t trp_ext:1;
3095 uint64_t reserved_47_63:17;
3096#endif
3097 } cn61xx;
3098 struct cvmx_lmcx_timing_params0_cn61xx cn63xx;
3099 struct cvmx_lmcx_timing_params0_cn63xxp1 {
3100#ifdef __BIG_ENDIAN_BITFIELD
3101 uint64_t reserved_46_63:18;
3102 uint64_t tcksre:4;
3103 uint64_t trp:4;
3104 uint64_t tzqinit:4;
3105 uint64_t tdllk:4;
3106 uint64_t tmod:4;
3107 uint64_t tmrd:4;
3108 uint64_t txpr:4;
3109 uint64_t tcke:4;
3110 uint64_t tzqcs:4;
3111 uint64_t tckeon:10;
3112#else
3113 uint64_t tckeon:10;
3114 uint64_t tzqcs:4;
3115 uint64_t tcke:4;
3116 uint64_t txpr:4;
3117 uint64_t tmrd:4;
3118 uint64_t tmod:4;
3119 uint64_t tdllk:4;
3120 uint64_t tzqinit:4;
3121 uint64_t trp:4;
3122 uint64_t tcksre:4;
3123 uint64_t reserved_46_63:18;
3124#endif
3125 } cn63xxp1;
3126 struct cvmx_lmcx_timing_params0_cn61xx cn66xx;
3127 struct cvmx_lmcx_timing_params0_cn61xx cn68xx;
3128 struct cvmx_lmcx_timing_params0_cn61xx cn68xxp1;
3129 struct cvmx_lmcx_timing_params0_cn61xx cnf71xx;
3130};
3131
3132union cvmx_lmcx_timing_params1 {
3133 uint64_t u64;
3134 struct cvmx_lmcx_timing_params1_s {
3135#ifdef __BIG_ENDIAN_BITFIELD
3136 uint64_t reserved_47_63:17;
3137 uint64_t tras_ext:1;
3138 uint64_t txpdll:5;
3139 uint64_t tfaw:5;
3140 uint64_t twldqsen:4;
3141 uint64_t twlmrd:4;
3142 uint64_t txp:3;
3143 uint64_t trrd:3;
3144 uint64_t trfc:5;
3145 uint64_t twtr:4;
3146 uint64_t trcd:4;
3147 uint64_t tras:5;
3148 uint64_t tmprr:4;
3149#else
3150 uint64_t tmprr:4;
3151 uint64_t tras:5;
3152 uint64_t trcd:4;
3153 uint64_t twtr:4;
3154 uint64_t trfc:5;
3155 uint64_t trrd:3;
3156 uint64_t txp:3;
3157 uint64_t twlmrd:4;
3158 uint64_t twldqsen:4;
3159 uint64_t tfaw:5;
3160 uint64_t txpdll:5;
3161 uint64_t tras_ext:1;
3162 uint64_t reserved_47_63:17;
3163#endif
3164 } s;
3165 struct cvmx_lmcx_timing_params1_s cn61xx;
3166 struct cvmx_lmcx_timing_params1_s cn63xx;
3167 struct cvmx_lmcx_timing_params1_cn63xxp1 {
3168#ifdef __BIG_ENDIAN_BITFIELD
3169 uint64_t reserved_46_63:18;
3170 uint64_t txpdll:5;
3171 uint64_t tfaw:5;
3172 uint64_t twldqsen:4;
3173 uint64_t twlmrd:4;
3174 uint64_t txp:3;
3175 uint64_t trrd:3;
3176 uint64_t trfc:5;
3177 uint64_t twtr:4;
3178 uint64_t trcd:4;
3179 uint64_t tras:5;
3180 uint64_t tmprr:4;
3181#else
3182 uint64_t tmprr:4;
3183 uint64_t tras:5;
3184 uint64_t trcd:4;
3185 uint64_t twtr:4;
3186 uint64_t trfc:5;
3187 uint64_t trrd:3;
3188 uint64_t txp:3;
3189 uint64_t twlmrd:4;
3190 uint64_t twldqsen:4;
3191 uint64_t tfaw:5;
3192 uint64_t txpdll:5;
3193 uint64_t reserved_46_63:18;
3194#endif
3195 } cn63xxp1;
3196 struct cvmx_lmcx_timing_params1_s cn66xx;
3197 struct cvmx_lmcx_timing_params1_s cn68xx;
3198 struct cvmx_lmcx_timing_params1_s cn68xxp1;
3199 struct cvmx_lmcx_timing_params1_s cnf71xx;
3200};
3201
3202union cvmx_lmcx_tro_ctl {
3203 uint64_t u64;
3204 struct cvmx_lmcx_tro_ctl_s {
3205#ifdef __BIG_ENDIAN_BITFIELD
3206 uint64_t reserved_33_63:31;
3207 uint64_t rclk_cnt:32;
3208 uint64_t treset:1;
3209#else
3210 uint64_t treset:1;
3211 uint64_t rclk_cnt:32;
3212 uint64_t reserved_33_63:31;
3213#endif
3214 } s;
3215 struct cvmx_lmcx_tro_ctl_s cn61xx;
3216 struct cvmx_lmcx_tro_ctl_s cn63xx;
3217 struct cvmx_lmcx_tro_ctl_s cn63xxp1;
3218 struct cvmx_lmcx_tro_ctl_s cn66xx;
3219 struct cvmx_lmcx_tro_ctl_s cn68xx;
3220 struct cvmx_lmcx_tro_ctl_s cn68xxp1;
3221 struct cvmx_lmcx_tro_ctl_s cnf71xx;
3222};
3223
3224union cvmx_lmcx_tro_stat {
3225 uint64_t u64;
3226 struct cvmx_lmcx_tro_stat_s {
3227#ifdef __BIG_ENDIAN_BITFIELD
3228 uint64_t reserved_32_63:32;
3229 uint64_t ring_cnt:32;
3230#else
3231 uint64_t ring_cnt:32;
3232 uint64_t reserved_32_63:32;
3233#endif
3234 } s;
3235 struct cvmx_lmcx_tro_stat_s cn61xx;
3236 struct cvmx_lmcx_tro_stat_s cn63xx;
3237 struct cvmx_lmcx_tro_stat_s cn63xxp1;
3238 struct cvmx_lmcx_tro_stat_s cn66xx;
3239 struct cvmx_lmcx_tro_stat_s cn68xx;
3240 struct cvmx_lmcx_tro_stat_s cn68xxp1;
3241 struct cvmx_lmcx_tro_stat_s cnf71xx;
3242};
3243
3244union cvmx_lmcx_wlevel_ctl {
3245 uint64_t u64;
3246 struct cvmx_lmcx_wlevel_ctl_s {
3247#ifdef __BIG_ENDIAN_BITFIELD
3248 uint64_t reserved_22_63:42;
3249 uint64_t rtt_nom:3;
3250 uint64_t bitmask:8;
3251 uint64_t or_dis:1;
3252 uint64_t sset:1;
3253 uint64_t lanemask:9;
3254#else
3255 uint64_t lanemask:9;
3256 uint64_t sset:1;
3257 uint64_t or_dis:1;
3258 uint64_t bitmask:8;
3259 uint64_t rtt_nom:3;
3260 uint64_t reserved_22_63:42;
3261#endif
3262 } s;
3263 struct cvmx_lmcx_wlevel_ctl_s cn61xx;
3264 struct cvmx_lmcx_wlevel_ctl_s cn63xx;
3265 struct cvmx_lmcx_wlevel_ctl_cn63xxp1 {
3266#ifdef __BIG_ENDIAN_BITFIELD
3267 uint64_t reserved_10_63:54;
3268 uint64_t sset:1;
3269 uint64_t lanemask:9;
3270#else
3271 uint64_t lanemask:9;
3272 uint64_t sset:1;
3273 uint64_t reserved_10_63:54;
3274#endif
3275 } cn63xxp1;
3276 struct cvmx_lmcx_wlevel_ctl_s cn66xx;
3277 struct cvmx_lmcx_wlevel_ctl_s cn68xx;
3278 struct cvmx_lmcx_wlevel_ctl_s cn68xxp1;
3279 struct cvmx_lmcx_wlevel_ctl_s cnf71xx;
3280};
3281
3282union cvmx_lmcx_wlevel_dbg {
3283 uint64_t u64;
3284 struct cvmx_lmcx_wlevel_dbg_s {
3285#ifdef __BIG_ENDIAN_BITFIELD
3286 uint64_t reserved_12_63:52;
3287 uint64_t bitmask:8;
3288 uint64_t byte:4;
3289#else
3290 uint64_t byte:4;
3291 uint64_t bitmask:8;
3292 uint64_t reserved_12_63:52;
3293#endif
3294 } s;
3295 struct cvmx_lmcx_wlevel_dbg_s cn61xx;
3296 struct cvmx_lmcx_wlevel_dbg_s cn63xx;
3297 struct cvmx_lmcx_wlevel_dbg_s cn63xxp1;
3298 struct cvmx_lmcx_wlevel_dbg_s cn66xx;
3299 struct cvmx_lmcx_wlevel_dbg_s cn68xx;
3300 struct cvmx_lmcx_wlevel_dbg_s cn68xxp1;
3301 struct cvmx_lmcx_wlevel_dbg_s cnf71xx;
3302};
3303
3304union cvmx_lmcx_wlevel_rankx {
3305 uint64_t u64;
3306 struct cvmx_lmcx_wlevel_rankx_s {
3307#ifdef __BIG_ENDIAN_BITFIELD
3308 uint64_t reserved_47_63:17;
3309 uint64_t status:2;
3310 uint64_t byte8:5;
3311 uint64_t byte7:5;
3312 uint64_t byte6:5;
3313 uint64_t byte5:5;
3314 uint64_t byte4:5;
3315 uint64_t byte3:5;
3316 uint64_t byte2:5;
3317 uint64_t byte1:5;
3318 uint64_t byte0:5;
3319#else
3320 uint64_t byte0:5;
3321 uint64_t byte1:5;
3322 uint64_t byte2:5;
3323 uint64_t byte3:5;
3324 uint64_t byte4:5;
3325 uint64_t byte5:5;
3326 uint64_t byte6:5;
3327 uint64_t byte7:5;
3328 uint64_t byte8:5;
3329 uint64_t status:2;
3330 uint64_t reserved_47_63:17;
3331#endif
3332 } s;
3333 struct cvmx_lmcx_wlevel_rankx_s cn61xx;
3334 struct cvmx_lmcx_wlevel_rankx_s cn63xx;
3335 struct cvmx_lmcx_wlevel_rankx_s cn63xxp1;
3336 struct cvmx_lmcx_wlevel_rankx_s cn66xx;
3337 struct cvmx_lmcx_wlevel_rankx_s cn68xx;
3338 struct cvmx_lmcx_wlevel_rankx_s cn68xxp1;
3339 struct cvmx_lmcx_wlevel_rankx_s cnf71xx;
3340};
3341
3342union cvmx_lmcx_wodt_ctl0 {
3343 uint64_t u64;
3344 struct cvmx_lmcx_wodt_ctl0_s {
3345#ifdef __BIG_ENDIAN_BITFIELD
3346 uint64_t reserved_0_63:64;
3347#else
3348 uint64_t reserved_0_63:64;
3349#endif
3350 } s;
3351 struct cvmx_lmcx_wodt_ctl0_cn30xx {
3352#ifdef __BIG_ENDIAN_BITFIELD
3353 uint64_t reserved_32_63:32;
3354 uint64_t wodt_d1_r1:8;
3355 uint64_t wodt_d1_r0:8;
3356 uint64_t wodt_d0_r1:8;
3357 uint64_t wodt_d0_r0:8;
3358#else
3359 uint64_t wodt_d0_r0:8;
3360 uint64_t wodt_d0_r1:8;
3361 uint64_t wodt_d1_r0:8;
3362 uint64_t wodt_d1_r1:8;
3363 uint64_t reserved_32_63:32;
3364#endif
3365 } cn30xx;
3366 struct cvmx_lmcx_wodt_ctl0_cn30xx cn31xx;
3367 struct cvmx_lmcx_wodt_ctl0_cn38xx {
3368#ifdef __BIG_ENDIAN_BITFIELD
3369 uint64_t reserved_32_63:32;
3370 uint64_t wodt_hi3:4;
3371 uint64_t wodt_hi2:4;
3372 uint64_t wodt_hi1:4;
3373 uint64_t wodt_hi0:4;
3374 uint64_t wodt_lo3:4;
3375 uint64_t wodt_lo2:4;
3376 uint64_t wodt_lo1:4;
3377 uint64_t wodt_lo0:4;
3378#else
3379 uint64_t wodt_lo0:4;
3380 uint64_t wodt_lo1:4;
3381 uint64_t wodt_lo2:4;
3382 uint64_t wodt_lo3:4;
3383 uint64_t wodt_hi0:4;
3384 uint64_t wodt_hi1:4;
3385 uint64_t wodt_hi2:4;
3386 uint64_t wodt_hi3:4;
3387 uint64_t reserved_32_63:32;
3388#endif
3389 } cn38xx;
3390 struct cvmx_lmcx_wodt_ctl0_cn38xx cn38xxp2;
3391 struct cvmx_lmcx_wodt_ctl0_cn38xx cn50xx;
3392 struct cvmx_lmcx_wodt_ctl0_cn30xx cn52xx;
3393 struct cvmx_lmcx_wodt_ctl0_cn30xx cn52xxp1;
3394 struct cvmx_lmcx_wodt_ctl0_cn30xx cn56xx;
3395 struct cvmx_lmcx_wodt_ctl0_cn30xx cn56xxp1;
3396 struct cvmx_lmcx_wodt_ctl0_cn38xx cn58xx;
3397 struct cvmx_lmcx_wodt_ctl0_cn38xx cn58xxp1;
3398};
3399
3400union cvmx_lmcx_wodt_ctl1 {
3401 uint64_t u64;
3402 struct cvmx_lmcx_wodt_ctl1_s {
3403#ifdef __BIG_ENDIAN_BITFIELD
3404 uint64_t reserved_32_63:32;
3405 uint64_t wodt_d3_r1:8;
3406 uint64_t wodt_d3_r0:8;
3407 uint64_t wodt_d2_r1:8;
3408 uint64_t wodt_d2_r0:8;
3409#else
3410 uint64_t wodt_d2_r0:8;
3411 uint64_t wodt_d2_r1:8;
3412 uint64_t wodt_d3_r0:8;
3413 uint64_t wodt_d3_r1:8;
3414 uint64_t reserved_32_63:32;
3415#endif
3416 } s;
3417 struct cvmx_lmcx_wodt_ctl1_s cn30xx;
3418 struct cvmx_lmcx_wodt_ctl1_s cn31xx;
3419 struct cvmx_lmcx_wodt_ctl1_s cn52xx;
3420 struct cvmx_lmcx_wodt_ctl1_s cn52xxp1;
3421 struct cvmx_lmcx_wodt_ctl1_s cn56xx;
3422 struct cvmx_lmcx_wodt_ctl1_s cn56xxp1;
3423};
3424
3425union cvmx_lmcx_wodt_mask {
3426 uint64_t u64;
3427 struct cvmx_lmcx_wodt_mask_s {
3428#ifdef __BIG_ENDIAN_BITFIELD
3429 uint64_t wodt_d3_r1:8;
3430 uint64_t wodt_d3_r0:8;
3431 uint64_t wodt_d2_r1:8;
3432 uint64_t wodt_d2_r0:8;
3433 uint64_t wodt_d1_r1:8;
3434 uint64_t wodt_d1_r0:8;
3435 uint64_t wodt_d0_r1:8;
3436 uint64_t wodt_d0_r0:8;
3437#else
3438 uint64_t wodt_d0_r0:8;
3439 uint64_t wodt_d0_r1:8;
3440 uint64_t wodt_d1_r0:8;
3441 uint64_t wodt_d1_r1:8;
3442 uint64_t wodt_d2_r0:8;
3443 uint64_t wodt_d2_r1:8;
3444 uint64_t wodt_d3_r0:8;
3445 uint64_t wodt_d3_r1:8;
3446#endif
3447 } s;
3448 struct cvmx_lmcx_wodt_mask_s cn61xx;
3449 struct cvmx_lmcx_wodt_mask_s cn63xx;
3450 struct cvmx_lmcx_wodt_mask_s cn63xxp1;
3451 struct cvmx_lmcx_wodt_mask_s cn66xx;
3452 struct cvmx_lmcx_wodt_mask_s cn68xx;
3453 struct cvmx_lmcx_wodt_mask_s cn68xxp1;
3454 struct cvmx_lmcx_wodt_mask_s cnf71xx;
3455};
3456
3457#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-mdio.h b/arch/mips/include/asm/octeon/cvmx-mdio.h
deleted file mode 100644
index 6f0cd182cec..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-mdio.h
+++ /dev/null
@@ -1,506 +0,0 @@
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-2008 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/*
29 *
30 * Interface to the SMI/MDIO hardware, including support for both IEEE 802.3
31 * clause 22 and clause 45 operations.
32 *
33 */
34
35#ifndef __CVMX_MIO_H__
36#define __CVMX_MIO_H__
37
38#include <asm/octeon/cvmx-smix-defs.h>
39
40/**
41 * PHY register 0 from the 802.3 spec
42 */
43#define CVMX_MDIO_PHY_REG_CONTROL 0
44typedef union {
45 uint16_t u16;
46 struct {
47 uint16_t reset:1;
48 uint16_t loopback:1;
49 uint16_t speed_lsb:1;
50 uint16_t autoneg_enable:1;
51 uint16_t power_down:1;
52 uint16_t isolate:1;
53 uint16_t restart_autoneg:1;
54 uint16_t duplex:1;
55 uint16_t collision_test:1;
56 uint16_t speed_msb:1;
57 uint16_t unidirectional_enable:1;
58 uint16_t reserved_0_4:5;
59 } s;
60} cvmx_mdio_phy_reg_control_t;
61
62/**
63 * PHY register 1 from the 802.3 spec
64 */
65#define CVMX_MDIO_PHY_REG_STATUS 1
66typedef union {
67 uint16_t u16;
68 struct {
69 uint16_t capable_100base_t4:1;
70 uint16_t capable_100base_x_full:1;
71 uint16_t capable_100base_x_half:1;
72 uint16_t capable_10_full:1;
73 uint16_t capable_10_half:1;
74 uint16_t capable_100base_t2_full:1;
75 uint16_t capable_100base_t2_half:1;
76 uint16_t capable_extended_status:1;
77 uint16_t capable_unidirectional:1;
78 uint16_t capable_mf_preamble_suppression:1;
79 uint16_t autoneg_complete:1;
80 uint16_t remote_fault:1;
81 uint16_t capable_autoneg:1;
82 uint16_t link_status:1;
83 uint16_t jabber_detect:1;
84 uint16_t capable_extended_registers:1;
85
86 } s;
87} cvmx_mdio_phy_reg_status_t;
88
89/**
90 * PHY register 2 from the 802.3 spec
91 */
92#define CVMX_MDIO_PHY_REG_ID1 2
93typedef union {
94 uint16_t u16;
95 struct {
96 uint16_t oui_bits_3_18;
97 } s;
98} cvmx_mdio_phy_reg_id1_t;
99
100/**
101 * PHY register 3 from the 802.3 spec
102 */
103#define CVMX_MDIO_PHY_REG_ID2 3
104typedef union {
105 uint16_t u16;
106 struct {
107 uint16_t oui_bits_19_24:6;
108 uint16_t model:6;
109 uint16_t revision:4;
110 } s;
111} cvmx_mdio_phy_reg_id2_t;
112
113/**
114 * PHY register 4 from the 802.3 spec
115 */
116#define CVMX_MDIO_PHY_REG_AUTONEG_ADVER 4
117typedef union {
118 uint16_t u16;
119 struct {
120 uint16_t next_page:1;
121 uint16_t reserved_14:1;
122 uint16_t remote_fault:1;
123 uint16_t reserved_12:1;
124 uint16_t asymmetric_pause:1;
125 uint16_t pause:1;
126 uint16_t advert_100base_t4:1;
127 uint16_t advert_100base_tx_full:1;
128 uint16_t advert_100base_tx_half:1;
129 uint16_t advert_10base_tx_full:1;
130 uint16_t advert_10base_tx_half:1;
131 uint16_t selector:5;
132 } s;
133} cvmx_mdio_phy_reg_autoneg_adver_t;
134
135/**
136 * PHY register 5 from the 802.3 spec
137 */
138#define CVMX_MDIO_PHY_REG_LINK_PARTNER_ABILITY 5
139typedef union {
140 uint16_t u16;
141 struct {
142 uint16_t next_page:1;
143 uint16_t ack:1;
144 uint16_t remote_fault:1;
145 uint16_t reserved_12:1;
146 uint16_t asymmetric_pause:1;
147 uint16_t pause:1;
148 uint16_t advert_100base_t4:1;
149 uint16_t advert_100base_tx_full:1;
150 uint16_t advert_100base_tx_half:1;
151 uint16_t advert_10base_tx_full:1;
152 uint16_t advert_10base_tx_half:1;
153 uint16_t selector:5;
154 } s;
155} cvmx_mdio_phy_reg_link_partner_ability_t;
156
157/**
158 * PHY register 6 from the 802.3 spec
159 */
160#define CVMX_MDIO_PHY_REG_AUTONEG_EXPANSION 6
161typedef union {
162 uint16_t u16;
163 struct {
164 uint16_t reserved_5_15:11;
165 uint16_t parallel_detection_fault:1;
166 uint16_t link_partner_next_page_capable:1;
167 uint16_t local_next_page_capable:1;
168 uint16_t page_received:1;
169 uint16_t link_partner_autoneg_capable:1;
170
171 } s;
172} cvmx_mdio_phy_reg_autoneg_expansion_t;
173
174/**
175 * PHY register 9 from the 802.3 spec
176 */
177#define CVMX_MDIO_PHY_REG_CONTROL_1000 9
178typedef union {
179 uint16_t u16;
180 struct {
181 uint16_t test_mode:3;
182 uint16_t manual_master_slave:1;
183 uint16_t master:1;
184 uint16_t port_type:1;
185 uint16_t advert_1000base_t_full:1;
186 uint16_t advert_1000base_t_half:1;
187 uint16_t reserved_0_7:8;
188 } s;
189} cvmx_mdio_phy_reg_control_1000_t;
190
191/**
192 * PHY register 10 from the 802.3 spec
193 */
194#define CVMX_MDIO_PHY_REG_STATUS_1000 10
195typedef union {
196 uint16_t u16;
197 struct {
198 uint16_t master_slave_fault:1;
199 uint16_t is_master:1;
200 uint16_t local_receiver_ok:1;
201 uint16_t remote_receiver_ok:1;
202 uint16_t remote_capable_1000base_t_full:1;
203 uint16_t remote_capable_1000base_t_half:1;
204 uint16_t reserved_8_9:2;
205 uint16_t idle_error_count:8;
206 } s;
207} cvmx_mdio_phy_reg_status_1000_t;
208
209/**
210 * PHY register 15 from the 802.3 spec
211 */
212#define CVMX_MDIO_PHY_REG_EXTENDED_STATUS 15
213typedef union {
214 uint16_t u16;
215 struct {
216 uint16_t capable_1000base_x_full:1;
217 uint16_t capable_1000base_x_half:1;
218 uint16_t capable_1000base_t_full:1;
219 uint16_t capable_1000base_t_half:1;
220 uint16_t reserved_0_11:12;
221 } s;
222} cvmx_mdio_phy_reg_extended_status_t;
223
224/**
225 * PHY register 13 from the 802.3 spec
226 */
227#define CVMX_MDIO_PHY_REG_MMD_CONTROL 13
228typedef union {
229 uint16_t u16;
230 struct {
231 uint16_t function:2;
232 uint16_t reserved_5_13:9;
233 uint16_t devad:5;
234 } s;
235} cvmx_mdio_phy_reg_mmd_control_t;
236
237/**
238 * PHY register 14 from the 802.3 spec
239 */
240#define CVMX_MDIO_PHY_REG_MMD_ADDRESS_DATA 14
241typedef union {
242 uint16_t u16;
243 struct {
244 uint16_t address_data:16;
245 } s;
246} cvmx_mdio_phy_reg_mmd_address_data_t;
247
248/* Operating request encodings. */
249#define MDIO_CLAUSE_22_WRITE 0
250#define MDIO_CLAUSE_22_READ 1
251
252#define MDIO_CLAUSE_45_ADDRESS 0
253#define MDIO_CLAUSE_45_WRITE 1
254#define MDIO_CLAUSE_45_READ_INC 2
255#define MDIO_CLAUSE_45_READ 3
256
257/* MMD identifiers, mostly for accessing devices within XENPAK modules. */
258#define CVMX_MMD_DEVICE_PMA_PMD 1
259#define CVMX_MMD_DEVICE_WIS 2
260#define CVMX_MMD_DEVICE_PCS 3
261#define CVMX_MMD_DEVICE_PHY_XS 4
262#define CVMX_MMD_DEVICE_DTS_XS 5
263#define CVMX_MMD_DEVICE_TC 6
264#define CVMX_MMD_DEVICE_CL22_EXT 29
265#define CVMX_MMD_DEVICE_VENDOR_1 30
266#define CVMX_MMD_DEVICE_VENDOR_2 31
267
268/* Helper function to put MDIO interface into clause 45 mode */
269static inline void __cvmx_mdio_set_clause45_mode(int bus_id)
270{
271 union cvmx_smix_clk smi_clk;
272 /* Put bus into clause 45 mode */
273 smi_clk.u64 = cvmx_read_csr(CVMX_SMIX_CLK(bus_id));
274 smi_clk.s.mode = 1;
275 smi_clk.s.preamble = 1;
276 cvmx_write_csr(CVMX_SMIX_CLK(bus_id), smi_clk.u64);
277}
278
279/* Helper function to put MDIO interface into clause 22 mode */
280static inline void __cvmx_mdio_set_clause22_mode(int bus_id)
281{
282 union cvmx_smix_clk smi_clk;
283 /* Put bus into clause 22 mode */
284 smi_clk.u64 = cvmx_read_csr(CVMX_SMIX_CLK(bus_id));
285 smi_clk.s.mode = 0;
286 cvmx_write_csr(CVMX_SMIX_CLK(bus_id), smi_clk.u64);
287}
288
289/**
290 * Perform an MII read. This function is used to read PHY
291 * registers controlling auto negotiation.
292 *
293 * @bus_id: MDIO bus number. Zero on most chips, but some chips (ex CN56XX)
294 * support multiple busses.
295 * @phy_id: The MII phy id
296 * @location: Register location to read
297 *
298 * Returns Result from the read or -1 on failure
299 */
300static inline int cvmx_mdio_read(int bus_id, int phy_id, int location)
301{
302 union cvmx_smix_cmd smi_cmd;
303 union cvmx_smix_rd_dat smi_rd;
304 int timeout = 1000;
305
306 if (octeon_has_feature(OCTEON_FEATURE_MDIO_CLAUSE_45))
307 __cvmx_mdio_set_clause22_mode(bus_id);
308
309 smi_cmd.u64 = 0;
310 smi_cmd.s.phy_op = MDIO_CLAUSE_22_READ;
311 smi_cmd.s.phy_adr = phy_id;
312 smi_cmd.s.reg_adr = location;
313 cvmx_write_csr(CVMX_SMIX_CMD(bus_id), smi_cmd.u64);
314
315 do {
316 cvmx_wait(1000);
317 smi_rd.u64 = cvmx_read_csr(CVMX_SMIX_RD_DAT(bus_id));
318 } while (smi_rd.s.pending && timeout--);
319
320 if (smi_rd.s.val)
321 return smi_rd.s.dat;
322 else
323 return -1;
324}
325
326/**
327 * Perform an MII write. This function is used to write PHY
328 * registers controlling auto negotiation.
329 *
330 * @bus_id: MDIO bus number. Zero on most chips, but some chips (ex CN56XX)
331 * support multiple busses.
332 * @phy_id: The MII phy id
333 * @location: Register location to write
334 * @val: Value to write
335 *
336 * Returns -1 on error
337 * 0 on success
338 */
339static inline int cvmx_mdio_write(int bus_id, int phy_id, int location, int val)
340{
341 union cvmx_smix_cmd smi_cmd;
342 union cvmx_smix_wr_dat smi_wr;
343 int timeout = 1000;
344
345 if (octeon_has_feature(OCTEON_FEATURE_MDIO_CLAUSE_45))
346 __cvmx_mdio_set_clause22_mode(bus_id);
347
348 smi_wr.u64 = 0;
349 smi_wr.s.dat = val;
350 cvmx_write_csr(CVMX_SMIX_WR_DAT(bus_id), smi_wr.u64);
351
352 smi_cmd.u64 = 0;
353 smi_cmd.s.phy_op = MDIO_CLAUSE_22_WRITE;
354 smi_cmd.s.phy_adr = phy_id;
355 smi_cmd.s.reg_adr = location;
356 cvmx_write_csr(CVMX_SMIX_CMD(bus_id), smi_cmd.u64);
357
358 do {
359 cvmx_wait(1000);
360 smi_wr.u64 = cvmx_read_csr(CVMX_SMIX_WR_DAT(bus_id));
361 } while (smi_wr.s.pending && --timeout);
362 if (timeout <= 0)
363 return -1;
364
365 return 0;
366}
367
368/**
369 * Perform an IEEE 802.3 clause 45 MII read. This function is used to
370 * read PHY registers controlling auto negotiation.
371 *
372 * @bus_id: MDIO bus number. Zero on most chips, but some chips (ex CN56XX)
373 * support multiple busses.
374 * @phy_id: The MII phy id
375 * @device: MDIO Managable Device (MMD) id
376 * @location: Register location to read
377 *
378 * Returns Result from the read or -1 on failure
379 */
380
381static inline int cvmx_mdio_45_read(int bus_id, int phy_id, int device,
382 int location)
383{
384 union cvmx_smix_cmd smi_cmd;
385 union cvmx_smix_rd_dat smi_rd;
386 union cvmx_smix_wr_dat smi_wr;
387 int timeout = 1000;
388
389 if (!octeon_has_feature(OCTEON_FEATURE_MDIO_CLAUSE_45))
390 return -1;
391
392 __cvmx_mdio_set_clause45_mode(bus_id);
393
394 smi_wr.u64 = 0;
395 smi_wr.s.dat = location;
396 cvmx_write_csr(CVMX_SMIX_WR_DAT(bus_id), smi_wr.u64);
397
398 smi_cmd.u64 = 0;
399 smi_cmd.s.phy_op = MDIO_CLAUSE_45_ADDRESS;
400 smi_cmd.s.phy_adr = phy_id;
401 smi_cmd.s.reg_adr = device;
402 cvmx_write_csr(CVMX_SMIX_CMD(bus_id), smi_cmd.u64);
403
404 do {
405 cvmx_wait(1000);
406 smi_wr.u64 = cvmx_read_csr(CVMX_SMIX_WR_DAT(bus_id));
407 } while (smi_wr.s.pending && --timeout);
408 if (timeout <= 0) {
409 cvmx_dprintf("cvmx_mdio_45_read: bus_id %d phy_id %2d "
410 "device %2d register %2d TIME OUT(address)\n",
411 bus_id, phy_id, device, location);
412 return -1;
413 }
414
415 smi_cmd.u64 = 0;
416 smi_cmd.s.phy_op = MDIO_CLAUSE_45_READ;
417 smi_cmd.s.phy_adr = phy_id;
418 smi_cmd.s.reg_adr = device;
419 cvmx_write_csr(CVMX_SMIX_CMD(bus_id), smi_cmd.u64);
420
421 do {
422 cvmx_wait(1000);
423 smi_rd.u64 = cvmx_read_csr(CVMX_SMIX_RD_DAT(bus_id));
424 } while (smi_rd.s.pending && --timeout);
425
426 if (timeout <= 0) {
427 cvmx_dprintf("cvmx_mdio_45_read: bus_id %d phy_id %2d "
428 "device %2d register %2d TIME OUT(data)\n",
429 bus_id, phy_id, device, location);
430 return -1;
431 }
432
433 if (smi_rd.s.val)
434 return smi_rd.s.dat;
435 else {
436 cvmx_dprintf("cvmx_mdio_45_read: bus_id %d phy_id %2d "
437 "device %2d register %2d INVALID READ\n",
438 bus_id, phy_id, device, location);
439 return -1;
440 }
441}
442
443/**
444 * Perform an IEEE 802.3 clause 45 MII write. This function is used to
445 * write PHY registers controlling auto negotiation.
446 *
447 * @bus_id: MDIO bus number. Zero on most chips, but some chips (ex CN56XX)
448 * support multiple busses.
449 * @phy_id: The MII phy id
450 * @device: MDIO Managable Device (MMD) id
451 * @location: Register location to write
452 * @val: Value to write
453 *
454 * Returns -1 on error
455 * 0 on success
456 */
457static inline int cvmx_mdio_45_write(int bus_id, int phy_id, int device,
458 int location, int val)
459{
460 union cvmx_smix_cmd smi_cmd;
461 union cvmx_smix_wr_dat smi_wr;
462 int timeout = 1000;
463
464 if (!octeon_has_feature(OCTEON_FEATURE_MDIO_CLAUSE_45))
465 return -1;
466
467 __cvmx_mdio_set_clause45_mode(bus_id);
468
469 smi_wr.u64 = 0;
470 smi_wr.s.dat = location;
471 cvmx_write_csr(CVMX_SMIX_WR_DAT(bus_id), smi_wr.u64);
472
473 smi_cmd.u64 = 0;
474 smi_cmd.s.phy_op = MDIO_CLAUSE_45_ADDRESS;
475 smi_cmd.s.phy_adr = phy_id;
476 smi_cmd.s.reg_adr = device;
477 cvmx_write_csr(CVMX_SMIX_CMD(bus_id), smi_cmd.u64);
478
479 do {
480 cvmx_wait(1000);
481 smi_wr.u64 = cvmx_read_csr(CVMX_SMIX_WR_DAT(bus_id));
482 } while (smi_wr.s.pending && --timeout);
483 if (timeout <= 0)
484 return -1;
485
486 smi_wr.u64 = 0;
487 smi_wr.s.dat = val;
488 cvmx_write_csr(CVMX_SMIX_WR_DAT(bus_id), smi_wr.u64);
489
490 smi_cmd.u64 = 0;
491 smi_cmd.s.phy_op = MDIO_CLAUSE_45_WRITE;
492 smi_cmd.s.phy_adr = phy_id;
493 smi_cmd.s.reg_adr = device;
494 cvmx_write_csr(CVMX_SMIX_CMD(bus_id), smi_cmd.u64);
495
496 do {
497 cvmx_wait(1000);
498 smi_wr.u64 = cvmx_read_csr(CVMX_SMIX_WR_DAT(bus_id));
499 } while (smi_wr.s.pending && --timeout);
500 if (timeout <= 0)
501 return -1;
502
503 return 0;
504}
505
506#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-mio-defs.h b/arch/mips/include/asm/octeon/cvmx-mio-defs.h
index bb0ae338a46..52b14a333ad 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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
@@ -43,22 +43,6 @@
43#define CVMX_MIO_BOOT_REG_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001180000000000ull) + ((offset) & 7) * 8) 43#define CVMX_MIO_BOOT_REG_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001180000000000ull) + ((offset) & 7) * 8)
44#define CVMX_MIO_BOOT_REG_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001180000000040ull) + ((offset) & 7) * 8) 44#define CVMX_MIO_BOOT_REG_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001180000000040ull) + ((offset) & 7) * 8)
45#define CVMX_MIO_BOOT_THR (CVMX_ADD_IO_SEG(0x00011800000000B0ull)) 45#define CVMX_MIO_BOOT_THR (CVMX_ADD_IO_SEG(0x00011800000000B0ull))
46#define CVMX_MIO_EMM_BUF_DAT (CVMX_ADD_IO_SEG(0x00011800000020E8ull))
47#define CVMX_MIO_EMM_BUF_IDX (CVMX_ADD_IO_SEG(0x00011800000020E0ull))
48#define CVMX_MIO_EMM_CFG (CVMX_ADD_IO_SEG(0x0001180000002000ull))
49#define CVMX_MIO_EMM_CMD (CVMX_ADD_IO_SEG(0x0001180000002058ull))
50#define CVMX_MIO_EMM_DMA (CVMX_ADD_IO_SEG(0x0001180000002050ull))
51#define CVMX_MIO_EMM_INT (CVMX_ADD_IO_SEG(0x0001180000002078ull))
52#define CVMX_MIO_EMM_INT_EN (CVMX_ADD_IO_SEG(0x0001180000002080ull))
53#define CVMX_MIO_EMM_MODEX(offset) (CVMX_ADD_IO_SEG(0x0001180000002008ull) + ((offset) & 3) * 8)
54#define CVMX_MIO_EMM_RCA (CVMX_ADD_IO_SEG(0x00011800000020A0ull))
55#define CVMX_MIO_EMM_RSP_HI (CVMX_ADD_IO_SEG(0x0001180000002070ull))
56#define CVMX_MIO_EMM_RSP_LO (CVMX_ADD_IO_SEG(0x0001180000002068ull))
57#define CVMX_MIO_EMM_RSP_STS (CVMX_ADD_IO_SEG(0x0001180000002060ull))
58#define CVMX_MIO_EMM_SAMPLE (CVMX_ADD_IO_SEG(0x0001180000002090ull))
59#define CVMX_MIO_EMM_STS_MASK (CVMX_ADD_IO_SEG(0x0001180000002098ull))
60#define CVMX_MIO_EMM_SWITCH (CVMX_ADD_IO_SEG(0x0001180000002048ull))
61#define CVMX_MIO_EMM_WDOG (CVMX_ADD_IO_SEG(0x0001180000002088ull))
62#define CVMX_MIO_FUS_BNK_DATX(offset) (CVMX_ADD_IO_SEG(0x0001180000001520ull) + ((offset) & 3) * 8) 46#define CVMX_MIO_FUS_BNK_DATX(offset) (CVMX_ADD_IO_SEG(0x0001180000001520ull) + ((offset) & 3) * 8)
63#define CVMX_MIO_FUS_DAT0 (CVMX_ADD_IO_SEG(0x0001180000001400ull)) 47#define CVMX_MIO_FUS_DAT0 (CVMX_ADD_IO_SEG(0x0001180000001400ull))
64#define CVMX_MIO_FUS_DAT1 (CVMX_ADD_IO_SEG(0x0001180000001408ull)) 48#define CVMX_MIO_FUS_DAT1 (CVMX_ADD_IO_SEG(0x0001180000001408ull))
@@ -76,7 +60,6 @@
76#define CVMX_MIO_FUS_REPAIR_RES2 (CVMX_ADD_IO_SEG(0x0001180000001568ull)) 60#define CVMX_MIO_FUS_REPAIR_RES2 (CVMX_ADD_IO_SEG(0x0001180000001568ull))
77#define CVMX_MIO_FUS_SPR_REPAIR_RES (CVMX_ADD_IO_SEG(0x0001180000001548ull)) 61#define CVMX_MIO_FUS_SPR_REPAIR_RES (CVMX_ADD_IO_SEG(0x0001180000001548ull))
78#define CVMX_MIO_FUS_SPR_REPAIR_SUM (CVMX_ADD_IO_SEG(0x0001180000001540ull)) 62#define CVMX_MIO_FUS_SPR_REPAIR_SUM (CVMX_ADD_IO_SEG(0x0001180000001540ull))
79#define CVMX_MIO_FUS_TGG (CVMX_ADD_IO_SEG(0x0001180000001428ull))
80#define CVMX_MIO_FUS_UNLOCK (CVMX_ADD_IO_SEG(0x0001180000001578ull)) 63#define CVMX_MIO_FUS_UNLOCK (CVMX_ADD_IO_SEG(0x0001180000001578ull))
81#define CVMX_MIO_FUS_WADR (CVMX_ADD_IO_SEG(0x0001180000001508ull)) 64#define CVMX_MIO_FUS_WADR (CVMX_ADD_IO_SEG(0x0001180000001508ull))
82#define CVMX_MIO_GPIO_COMP (CVMX_ADD_IO_SEG(0x00011800000000C8ull)) 65#define CVMX_MIO_GPIO_COMP (CVMX_ADD_IO_SEG(0x00011800000000C8ull))
@@ -85,26 +68,14 @@
85#define CVMX_MIO_NDF_DMA_INT_EN (CVMX_ADD_IO_SEG(0x0001180000000178ull)) 68#define CVMX_MIO_NDF_DMA_INT_EN (CVMX_ADD_IO_SEG(0x0001180000000178ull))
86#define CVMX_MIO_PLL_CTL (CVMX_ADD_IO_SEG(0x0001180000001448ull)) 69#define CVMX_MIO_PLL_CTL (CVMX_ADD_IO_SEG(0x0001180000001448ull))
87#define CVMX_MIO_PLL_SETTING (CVMX_ADD_IO_SEG(0x0001180000001440ull)) 70#define CVMX_MIO_PLL_SETTING (CVMX_ADD_IO_SEG(0x0001180000001440ull))
88#define CVMX_MIO_PTP_CKOUT_HI_INCR (CVMX_ADD_IO_SEG(0x0001070000000F40ull))
89#define CVMX_MIO_PTP_CKOUT_LO_INCR (CVMX_ADD_IO_SEG(0x0001070000000F48ull))
90#define CVMX_MIO_PTP_CKOUT_THRESH_HI (CVMX_ADD_IO_SEG(0x0001070000000F38ull))
91#define CVMX_MIO_PTP_CKOUT_THRESH_LO (CVMX_ADD_IO_SEG(0x0001070000000F30ull))
92#define CVMX_MIO_PTP_CLOCK_CFG (CVMX_ADD_IO_SEG(0x0001070000000F00ull)) 71#define CVMX_MIO_PTP_CLOCK_CFG (CVMX_ADD_IO_SEG(0x0001070000000F00ull))
93#define CVMX_MIO_PTP_CLOCK_COMP (CVMX_ADD_IO_SEG(0x0001070000000F18ull)) 72#define CVMX_MIO_PTP_CLOCK_COMP (CVMX_ADD_IO_SEG(0x0001070000000F18ull))
94#define CVMX_MIO_PTP_CLOCK_HI (CVMX_ADD_IO_SEG(0x0001070000000F10ull)) 73#define CVMX_MIO_PTP_CLOCK_HI (CVMX_ADD_IO_SEG(0x0001070000000F10ull))
95#define CVMX_MIO_PTP_CLOCK_LO (CVMX_ADD_IO_SEG(0x0001070000000F08ull)) 74#define CVMX_MIO_PTP_CLOCK_LO (CVMX_ADD_IO_SEG(0x0001070000000F08ull))
96#define CVMX_MIO_PTP_EVT_CNT (CVMX_ADD_IO_SEG(0x0001070000000F28ull)) 75#define CVMX_MIO_PTP_EVT_CNT (CVMX_ADD_IO_SEG(0x0001070000000F28ull))
97#define CVMX_MIO_PTP_PHY_1PPS_IN (CVMX_ADD_IO_SEG(0x0001070000000F70ull))
98#define CVMX_MIO_PTP_PPS_HI_INCR (CVMX_ADD_IO_SEG(0x0001070000000F60ull))
99#define CVMX_MIO_PTP_PPS_LO_INCR (CVMX_ADD_IO_SEG(0x0001070000000F68ull))
100#define CVMX_MIO_PTP_PPS_THRESH_HI (CVMX_ADD_IO_SEG(0x0001070000000F58ull))
101#define CVMX_MIO_PTP_PPS_THRESH_LO (CVMX_ADD_IO_SEG(0x0001070000000F50ull))
102#define CVMX_MIO_PTP_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001070000000F20ull)) 76#define CVMX_MIO_PTP_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001070000000F20ull))
103#define CVMX_MIO_QLMX_CFG(offset) (CVMX_ADD_IO_SEG(0x0001180000001590ull) + ((offset) & 7) * 8)
104#define CVMX_MIO_RST_BOOT (CVMX_ADD_IO_SEG(0x0001180000001600ull)) 77#define CVMX_MIO_RST_BOOT (CVMX_ADD_IO_SEG(0x0001180000001600ull))
105#define CVMX_MIO_RST_CFG (CVMX_ADD_IO_SEG(0x0001180000001610ull)) 78#define CVMX_MIO_RST_CFG (CVMX_ADD_IO_SEG(0x0001180000001610ull))
106#define CVMX_MIO_RST_CKILL (CVMX_ADD_IO_SEG(0x0001180000001638ull))
107#define CVMX_MIO_RST_CNTLX(offset) (CVMX_ADD_IO_SEG(0x0001180000001648ull) + ((offset) & 3) * 8)
108#define CVMX_MIO_RST_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180000001618ull) + ((offset) & 1) * 8) 79#define CVMX_MIO_RST_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180000001618ull) + ((offset) & 1) * 8)
109#define CVMX_MIO_RST_DELAY (CVMX_ADD_IO_SEG(0x0001180000001608ull)) 80#define CVMX_MIO_RST_DELAY (CVMX_ADD_IO_SEG(0x0001180000001608ull))
110#define CVMX_MIO_RST_INT (CVMX_ADD_IO_SEG(0x0001180000001628ull)) 81#define CVMX_MIO_RST_INT (CVMX_ADD_IO_SEG(0x0001180000001628ull))
@@ -167,44 +138,24 @@
167union cvmx_mio_boot_bist_stat { 138union cvmx_mio_boot_bist_stat {
168 uint64_t u64; 139 uint64_t u64;
169 struct cvmx_mio_boot_bist_stat_s { 140 struct cvmx_mio_boot_bist_stat_s {
170#ifdef __BIG_ENDIAN_BITFIELD
171 uint64_t reserved_0_63:64; 141 uint64_t reserved_0_63:64;
172#else
173 uint64_t reserved_0_63:64;
174#endif
175 } s; 142 } s;
176 struct cvmx_mio_boot_bist_stat_cn30xx { 143 struct cvmx_mio_boot_bist_stat_cn30xx {
177#ifdef __BIG_ENDIAN_BITFIELD
178 uint64_t reserved_4_63:60; 144 uint64_t reserved_4_63:60;
179 uint64_t ncbo_1:1; 145 uint64_t ncbo_1:1;
180 uint64_t ncbo_0:1; 146 uint64_t ncbo_0:1;
181 uint64_t loc:1; 147 uint64_t loc:1;
182 uint64_t ncbi:1; 148 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
190 } cn30xx; 149 } cn30xx;
191 struct cvmx_mio_boot_bist_stat_cn30xx cn31xx; 150 struct cvmx_mio_boot_bist_stat_cn30xx cn31xx;
192 struct cvmx_mio_boot_bist_stat_cn38xx { 151 struct cvmx_mio_boot_bist_stat_cn38xx {
193#ifdef __BIG_ENDIAN_BITFIELD
194 uint64_t reserved_3_63:61; 152 uint64_t reserved_3_63:61;
195 uint64_t ncbo_0:1; 153 uint64_t ncbo_0:1;
196 uint64_t loc:1; 154 uint64_t loc:1;
197 uint64_t ncbi:1; 155 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
204 } cn38xx; 156 } cn38xx;
205 struct cvmx_mio_boot_bist_stat_cn38xx cn38xxp2; 157 struct cvmx_mio_boot_bist_stat_cn38xx cn38xxp2;
206 struct cvmx_mio_boot_bist_stat_cn50xx { 158 struct cvmx_mio_boot_bist_stat_cn50xx {
207#ifdef __BIG_ENDIAN_BITFIELD
208 uint64_t reserved_6_63:58; 159 uint64_t reserved_6_63:58;
209 uint64_t pcm_1:1; 160 uint64_t pcm_1:1;
210 uint64_t pcm_0:1; 161 uint64_t pcm_0:1;
@@ -212,132 +163,58 @@ union cvmx_mio_boot_bist_stat {
212 uint64_t ncbo_0:1; 163 uint64_t ncbo_0:1;
213 uint64_t loc:1; 164 uint64_t loc:1;
214 uint64_t ncbi:1; 165 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
224 } cn50xx; 166 } cn50xx;
225 struct cvmx_mio_boot_bist_stat_cn52xx { 167 struct cvmx_mio_boot_bist_stat_cn52xx {
226#ifdef __BIG_ENDIAN_BITFIELD
227 uint64_t reserved_6_63:58; 168 uint64_t reserved_6_63:58;
228 uint64_t ndf:2; 169 uint64_t ndf:2;
229 uint64_t ncbo_0:1; 170 uint64_t ncbo_0:1;
230 uint64_t dma:1; 171 uint64_t dma:1;
231 uint64_t loc:1; 172 uint64_t loc:1;
232 uint64_t ncbi:1; 173 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
241 } cn52xx; 174 } cn52xx;
242 struct cvmx_mio_boot_bist_stat_cn52xxp1 { 175 struct cvmx_mio_boot_bist_stat_cn52xxp1 {
243#ifdef __BIG_ENDIAN_BITFIELD
244 uint64_t reserved_4_63:60; 176 uint64_t reserved_4_63:60;
245 uint64_t ncbo_0:1; 177 uint64_t ncbo_0:1;
246 uint64_t dma:1; 178 uint64_t dma:1;
247 uint64_t loc:1; 179 uint64_t loc:1;
248 uint64_t ncbi:1; 180 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
256 } cn52xxp1; 181 } cn52xxp1;
257 struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xx; 182 struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xx;
258 struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xxp1; 183 struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xxp1;
259 struct cvmx_mio_boot_bist_stat_cn38xx cn58xx; 184 struct cvmx_mio_boot_bist_stat_cn38xx cn58xx;
260 struct cvmx_mio_boot_bist_stat_cn38xx cn58xxp1; 185 struct cvmx_mio_boot_bist_stat_cn38xx cn58xxp1;
261 struct cvmx_mio_boot_bist_stat_cn61xx {
262#ifdef __BIG_ENDIAN_BITFIELD
263 uint64_t reserved_12_63:52;
264 uint64_t stat:12;
265#else
266 uint64_t stat:12;
267 uint64_t reserved_12_63:52;
268#endif
269 } cn61xx;
270 struct cvmx_mio_boot_bist_stat_cn63xx { 186 struct cvmx_mio_boot_bist_stat_cn63xx {
271#ifdef __BIG_ENDIAN_BITFIELD
272 uint64_t reserved_9_63:55; 187 uint64_t reserved_9_63:55;
273 uint64_t stat:9; 188 uint64_t stat:9;
274#else
275 uint64_t stat:9;
276 uint64_t reserved_9_63:55;
277#endif
278 } cn63xx; 189 } cn63xx;
279 struct cvmx_mio_boot_bist_stat_cn63xx cn63xxp1; 190 struct cvmx_mio_boot_bist_stat_cn63xx cn63xxp1;
280 struct cvmx_mio_boot_bist_stat_cn66xx {
281#ifdef __BIG_ENDIAN_BITFIELD
282 uint64_t reserved_10_63:54;
283 uint64_t stat:10;
284#else
285 uint64_t stat:10;
286 uint64_t reserved_10_63:54;
287#endif
288 } cn66xx;
289 struct cvmx_mio_boot_bist_stat_cn66xx cn68xx;
290 struct cvmx_mio_boot_bist_stat_cn66xx cn68xxp1;
291 struct cvmx_mio_boot_bist_stat_cn61xx cnf71xx;
292}; 191};
293 192
294union cvmx_mio_boot_comp { 193union cvmx_mio_boot_comp {
295 uint64_t u64; 194 uint64_t u64;
296 struct cvmx_mio_boot_comp_s { 195 struct cvmx_mio_boot_comp_s {
297#ifdef __BIG_ENDIAN_BITFIELD
298 uint64_t reserved_0_63:64;
299#else
300 uint64_t reserved_0_63:64; 196 uint64_t reserved_0_63:64;
301#endif
302 } s; 197 } s;
303 struct cvmx_mio_boot_comp_cn50xx { 198 struct cvmx_mio_boot_comp_cn50xx {
304#ifdef __BIG_ENDIAN_BITFIELD
305 uint64_t reserved_10_63:54; 199 uint64_t reserved_10_63:54;
306 uint64_t pctl:5; 200 uint64_t pctl:5;
307 uint64_t nctl:5; 201 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
313 } cn50xx; 202 } cn50xx;
314 struct cvmx_mio_boot_comp_cn50xx cn52xx; 203 struct cvmx_mio_boot_comp_cn50xx cn52xx;
315 struct cvmx_mio_boot_comp_cn50xx cn52xxp1; 204 struct cvmx_mio_boot_comp_cn50xx cn52xxp1;
316 struct cvmx_mio_boot_comp_cn50xx cn56xx; 205 struct cvmx_mio_boot_comp_cn50xx cn56xx;
317 struct cvmx_mio_boot_comp_cn50xx cn56xxp1; 206 struct cvmx_mio_boot_comp_cn50xx cn56xxp1;
318 struct cvmx_mio_boot_comp_cn61xx { 207 struct cvmx_mio_boot_comp_cn63xx {
319#ifdef __BIG_ENDIAN_BITFIELD
320 uint64_t reserved_12_63:52; 208 uint64_t reserved_12_63:52;
321 uint64_t pctl:6; 209 uint64_t pctl:6;
322 uint64_t nctl:6; 210 uint64_t nctl:6;
323#else 211 } cn63xx;
324 uint64_t nctl:6; 212 struct cvmx_mio_boot_comp_cn63xx cn63xxp1;
325 uint64_t pctl:6;
326 uint64_t reserved_12_63:52;
327#endif
328 } cn61xx;
329 struct cvmx_mio_boot_comp_cn61xx cn63xx;
330 struct cvmx_mio_boot_comp_cn61xx cn63xxp1;
331 struct cvmx_mio_boot_comp_cn61xx cn66xx;
332 struct cvmx_mio_boot_comp_cn61xx cn68xx;
333 struct cvmx_mio_boot_comp_cn61xx cn68xxp1;
334 struct cvmx_mio_boot_comp_cn61xx cnf71xx;
335}; 213};
336 214
337union cvmx_mio_boot_dma_cfgx { 215union cvmx_mio_boot_dma_cfgx {
338 uint64_t u64; 216 uint64_t u64;
339 struct cvmx_mio_boot_dma_cfgx_s { 217 struct cvmx_mio_boot_dma_cfgx_s {
340#ifdef __BIG_ENDIAN_BITFIELD
341 uint64_t en:1; 218 uint64_t en:1;
342 uint64_t rw:1; 219 uint64_t rw:1;
343 uint64_t clr:1; 220 uint64_t clr:1;
@@ -348,88 +225,48 @@ union cvmx_mio_boot_dma_cfgx {
348 uint64_t endian:1; 225 uint64_t endian:1;
349 uint64_t size:20; 226 uint64_t size:20;
350 uint64_t adr:36; 227 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
363 } s; 228 } s;
364 struct cvmx_mio_boot_dma_cfgx_s cn52xx; 229 struct cvmx_mio_boot_dma_cfgx_s cn52xx;
365 struct cvmx_mio_boot_dma_cfgx_s cn52xxp1; 230 struct cvmx_mio_boot_dma_cfgx_s cn52xxp1;
366 struct cvmx_mio_boot_dma_cfgx_s cn56xx; 231 struct cvmx_mio_boot_dma_cfgx_s cn56xx;
367 struct cvmx_mio_boot_dma_cfgx_s cn56xxp1; 232 struct cvmx_mio_boot_dma_cfgx_s cn56xxp1;
368 struct cvmx_mio_boot_dma_cfgx_s cn61xx;
369 struct cvmx_mio_boot_dma_cfgx_s cn63xx; 233 struct cvmx_mio_boot_dma_cfgx_s cn63xx;
370 struct cvmx_mio_boot_dma_cfgx_s cn63xxp1; 234 struct cvmx_mio_boot_dma_cfgx_s cn63xxp1;
371 struct cvmx_mio_boot_dma_cfgx_s cn66xx;
372 struct cvmx_mio_boot_dma_cfgx_s cn68xx;
373 struct cvmx_mio_boot_dma_cfgx_s cn68xxp1;
374 struct cvmx_mio_boot_dma_cfgx_s cnf71xx;
375}; 235};
376 236
377union cvmx_mio_boot_dma_intx { 237union cvmx_mio_boot_dma_intx {
378 uint64_t u64; 238 uint64_t u64;
379 struct cvmx_mio_boot_dma_intx_s { 239 struct cvmx_mio_boot_dma_intx_s {
380#ifdef __BIG_ENDIAN_BITFIELD
381 uint64_t reserved_2_63:62; 240 uint64_t reserved_2_63:62;
382 uint64_t dmarq:1; 241 uint64_t dmarq:1;
383 uint64_t done:1; 242 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
389 } s; 243 } s;
390 struct cvmx_mio_boot_dma_intx_s cn52xx; 244 struct cvmx_mio_boot_dma_intx_s cn52xx;
391 struct cvmx_mio_boot_dma_intx_s cn52xxp1; 245 struct cvmx_mio_boot_dma_intx_s cn52xxp1;
392 struct cvmx_mio_boot_dma_intx_s cn56xx; 246 struct cvmx_mio_boot_dma_intx_s cn56xx;
393 struct cvmx_mio_boot_dma_intx_s cn56xxp1; 247 struct cvmx_mio_boot_dma_intx_s cn56xxp1;
394 struct cvmx_mio_boot_dma_intx_s cn61xx;
395 struct cvmx_mio_boot_dma_intx_s cn63xx; 248 struct cvmx_mio_boot_dma_intx_s cn63xx;
396 struct cvmx_mio_boot_dma_intx_s cn63xxp1; 249 struct cvmx_mio_boot_dma_intx_s cn63xxp1;
397 struct cvmx_mio_boot_dma_intx_s cn66xx;
398 struct cvmx_mio_boot_dma_intx_s cn68xx;
399 struct cvmx_mio_boot_dma_intx_s cn68xxp1;
400 struct cvmx_mio_boot_dma_intx_s cnf71xx;
401}; 250};
402 251
403union cvmx_mio_boot_dma_int_enx { 252union cvmx_mio_boot_dma_int_enx {
404 uint64_t u64; 253 uint64_t u64;
405 struct cvmx_mio_boot_dma_int_enx_s { 254 struct cvmx_mio_boot_dma_int_enx_s {
406#ifdef __BIG_ENDIAN_BITFIELD
407 uint64_t reserved_2_63:62; 255 uint64_t reserved_2_63:62;
408 uint64_t dmarq:1; 256 uint64_t dmarq:1;
409 uint64_t done:1; 257 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
415 } s; 258 } s;
416 struct cvmx_mio_boot_dma_int_enx_s cn52xx; 259 struct cvmx_mio_boot_dma_int_enx_s cn52xx;
417 struct cvmx_mio_boot_dma_int_enx_s cn52xxp1; 260 struct cvmx_mio_boot_dma_int_enx_s cn52xxp1;
418 struct cvmx_mio_boot_dma_int_enx_s cn56xx; 261 struct cvmx_mio_boot_dma_int_enx_s cn56xx;
419 struct cvmx_mio_boot_dma_int_enx_s cn56xxp1; 262 struct cvmx_mio_boot_dma_int_enx_s cn56xxp1;
420 struct cvmx_mio_boot_dma_int_enx_s cn61xx;
421 struct cvmx_mio_boot_dma_int_enx_s cn63xx; 263 struct cvmx_mio_boot_dma_int_enx_s cn63xx;
422 struct cvmx_mio_boot_dma_int_enx_s cn63xxp1; 264 struct cvmx_mio_boot_dma_int_enx_s cn63xxp1;
423 struct cvmx_mio_boot_dma_int_enx_s cn66xx;
424 struct cvmx_mio_boot_dma_int_enx_s cn68xx;
425 struct cvmx_mio_boot_dma_int_enx_s cn68xxp1;
426 struct cvmx_mio_boot_dma_int_enx_s cnf71xx;
427}; 265};
428 266
429union cvmx_mio_boot_dma_timx { 267union cvmx_mio_boot_dma_timx {
430 uint64_t u64; 268 uint64_t u64;
431 struct cvmx_mio_boot_dma_timx_s { 269 struct cvmx_mio_boot_dma_timx_s {
432#ifdef __BIG_ENDIAN_BITFIELD
433 uint64_t dmack_pi:1; 270 uint64_t dmack_pi:1;
434 uint64_t dmarq_pi:1; 271 uint64_t dmarq_pi:1;
435 uint64_t tim_mult:2; 272 uint64_t tim_mult:2;
@@ -445,49 +282,21 @@ union cvmx_mio_boot_dma_timx {
445 uint64_t oe_a:6; 282 uint64_t oe_a:6;
446 uint64_t dmack_s:6; 283 uint64_t dmack_s:6;
447 uint64_t dmarq:6; 284 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
465 } s; 285 } s;
466 struct cvmx_mio_boot_dma_timx_s cn52xx; 286 struct cvmx_mio_boot_dma_timx_s cn52xx;
467 struct cvmx_mio_boot_dma_timx_s cn52xxp1; 287 struct cvmx_mio_boot_dma_timx_s cn52xxp1;
468 struct cvmx_mio_boot_dma_timx_s cn56xx; 288 struct cvmx_mio_boot_dma_timx_s cn56xx;
469 struct cvmx_mio_boot_dma_timx_s cn56xxp1; 289 struct cvmx_mio_boot_dma_timx_s cn56xxp1;
470 struct cvmx_mio_boot_dma_timx_s cn61xx;
471 struct cvmx_mio_boot_dma_timx_s cn63xx; 290 struct cvmx_mio_boot_dma_timx_s cn63xx;
472 struct cvmx_mio_boot_dma_timx_s cn63xxp1; 291 struct cvmx_mio_boot_dma_timx_s cn63xxp1;
473 struct cvmx_mio_boot_dma_timx_s cn66xx;
474 struct cvmx_mio_boot_dma_timx_s cn68xx;
475 struct cvmx_mio_boot_dma_timx_s cn68xxp1;
476 struct cvmx_mio_boot_dma_timx_s cnf71xx;
477}; 292};
478 293
479union cvmx_mio_boot_err { 294union cvmx_mio_boot_err {
480 uint64_t u64; 295 uint64_t u64;
481 struct cvmx_mio_boot_err_s { 296 struct cvmx_mio_boot_err_s {
482#ifdef __BIG_ENDIAN_BITFIELD
483 uint64_t reserved_2_63:62; 297 uint64_t reserved_2_63:62;
484 uint64_t wait_err:1; 298 uint64_t wait_err:1;
485 uint64_t adr_err:1; 299 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
491 } s; 300 } s;
492 struct cvmx_mio_boot_err_s cn30xx; 301 struct cvmx_mio_boot_err_s cn30xx;
493 struct cvmx_mio_boot_err_s cn31xx; 302 struct cvmx_mio_boot_err_s cn31xx;
@@ -500,27 +309,16 @@ union cvmx_mio_boot_err {
500 struct cvmx_mio_boot_err_s cn56xxp1; 309 struct cvmx_mio_boot_err_s cn56xxp1;
501 struct cvmx_mio_boot_err_s cn58xx; 310 struct cvmx_mio_boot_err_s cn58xx;
502 struct cvmx_mio_boot_err_s cn58xxp1; 311 struct cvmx_mio_boot_err_s cn58xxp1;
503 struct cvmx_mio_boot_err_s cn61xx;
504 struct cvmx_mio_boot_err_s cn63xx; 312 struct cvmx_mio_boot_err_s cn63xx;
505 struct cvmx_mio_boot_err_s cn63xxp1; 313 struct cvmx_mio_boot_err_s cn63xxp1;
506 struct cvmx_mio_boot_err_s cn66xx;
507 struct cvmx_mio_boot_err_s cn68xx;
508 struct cvmx_mio_boot_err_s cn68xxp1;
509 struct cvmx_mio_boot_err_s cnf71xx;
510}; 314};
511 315
512union cvmx_mio_boot_int { 316union cvmx_mio_boot_int {
513 uint64_t u64; 317 uint64_t u64;
514 struct cvmx_mio_boot_int_s { 318 struct cvmx_mio_boot_int_s {
515#ifdef __BIG_ENDIAN_BITFIELD
516 uint64_t reserved_2_63:62; 319 uint64_t reserved_2_63:62;
517 uint64_t wait_int:1; 320 uint64_t wait_int:1;
518 uint64_t adr_int:1; 321 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
524 } s; 322 } s;
525 struct cvmx_mio_boot_int_s cn30xx; 323 struct cvmx_mio_boot_int_s cn30xx;
526 struct cvmx_mio_boot_int_s cn31xx; 324 struct cvmx_mio_boot_int_s cn31xx;
@@ -533,27 +331,16 @@ union cvmx_mio_boot_int {
533 struct cvmx_mio_boot_int_s cn56xxp1; 331 struct cvmx_mio_boot_int_s cn56xxp1;
534 struct cvmx_mio_boot_int_s cn58xx; 332 struct cvmx_mio_boot_int_s cn58xx;
535 struct cvmx_mio_boot_int_s cn58xxp1; 333 struct cvmx_mio_boot_int_s cn58xxp1;
536 struct cvmx_mio_boot_int_s cn61xx;
537 struct cvmx_mio_boot_int_s cn63xx; 334 struct cvmx_mio_boot_int_s cn63xx;
538 struct cvmx_mio_boot_int_s cn63xxp1; 335 struct cvmx_mio_boot_int_s cn63xxp1;
539 struct cvmx_mio_boot_int_s cn66xx;
540 struct cvmx_mio_boot_int_s cn68xx;
541 struct cvmx_mio_boot_int_s cn68xxp1;
542 struct cvmx_mio_boot_int_s cnf71xx;
543}; 336};
544 337
545union cvmx_mio_boot_loc_adr { 338union cvmx_mio_boot_loc_adr {
546 uint64_t u64; 339 uint64_t u64;
547 struct cvmx_mio_boot_loc_adr_s { 340 struct cvmx_mio_boot_loc_adr_s {
548#ifdef __BIG_ENDIAN_BITFIELD
549 uint64_t reserved_8_63:56; 341 uint64_t reserved_8_63:56;
550 uint64_t adr:5; 342 uint64_t adr:5;
551 uint64_t reserved_0_2:3; 343 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
557 } s; 344 } s;
558 struct cvmx_mio_boot_loc_adr_s cn30xx; 345 struct cvmx_mio_boot_loc_adr_s cn30xx;
559 struct cvmx_mio_boot_loc_adr_s cn31xx; 346 struct cvmx_mio_boot_loc_adr_s cn31xx;
@@ -566,31 +353,18 @@ union cvmx_mio_boot_loc_adr {
566 struct cvmx_mio_boot_loc_adr_s cn56xxp1; 353 struct cvmx_mio_boot_loc_adr_s cn56xxp1;
567 struct cvmx_mio_boot_loc_adr_s cn58xx; 354 struct cvmx_mio_boot_loc_adr_s cn58xx;
568 struct cvmx_mio_boot_loc_adr_s cn58xxp1; 355 struct cvmx_mio_boot_loc_adr_s cn58xxp1;
569 struct cvmx_mio_boot_loc_adr_s cn61xx;
570 struct cvmx_mio_boot_loc_adr_s cn63xx; 356 struct cvmx_mio_boot_loc_adr_s cn63xx;
571 struct cvmx_mio_boot_loc_adr_s cn63xxp1; 357 struct cvmx_mio_boot_loc_adr_s cn63xxp1;
572 struct cvmx_mio_boot_loc_adr_s cn66xx;
573 struct cvmx_mio_boot_loc_adr_s cn68xx;
574 struct cvmx_mio_boot_loc_adr_s cn68xxp1;
575 struct cvmx_mio_boot_loc_adr_s cnf71xx;
576}; 358};
577 359
578union cvmx_mio_boot_loc_cfgx { 360union cvmx_mio_boot_loc_cfgx {
579 uint64_t u64; 361 uint64_t u64;
580 struct cvmx_mio_boot_loc_cfgx_s { 362 struct cvmx_mio_boot_loc_cfgx_s {
581#ifdef __BIG_ENDIAN_BITFIELD
582 uint64_t reserved_32_63:32; 363 uint64_t reserved_32_63:32;
583 uint64_t en:1; 364 uint64_t en:1;
584 uint64_t reserved_28_30:3; 365 uint64_t reserved_28_30:3;
585 uint64_t base:25; 366 uint64_t base:25;
586 uint64_t reserved_0_2:3; 367 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
594 } s; 368 } s;
595 struct cvmx_mio_boot_loc_cfgx_s cn30xx; 369 struct cvmx_mio_boot_loc_cfgx_s cn30xx;
596 struct cvmx_mio_boot_loc_cfgx_s cn31xx; 370 struct cvmx_mio_boot_loc_cfgx_s cn31xx;
@@ -603,23 +377,14 @@ union cvmx_mio_boot_loc_cfgx {
603 struct cvmx_mio_boot_loc_cfgx_s cn56xxp1; 377 struct cvmx_mio_boot_loc_cfgx_s cn56xxp1;
604 struct cvmx_mio_boot_loc_cfgx_s cn58xx; 378 struct cvmx_mio_boot_loc_cfgx_s cn58xx;
605 struct cvmx_mio_boot_loc_cfgx_s cn58xxp1; 379 struct cvmx_mio_boot_loc_cfgx_s cn58xxp1;
606 struct cvmx_mio_boot_loc_cfgx_s cn61xx;
607 struct cvmx_mio_boot_loc_cfgx_s cn63xx; 380 struct cvmx_mio_boot_loc_cfgx_s cn63xx;
608 struct cvmx_mio_boot_loc_cfgx_s cn63xxp1; 381 struct cvmx_mio_boot_loc_cfgx_s cn63xxp1;
609 struct cvmx_mio_boot_loc_cfgx_s cn66xx;
610 struct cvmx_mio_boot_loc_cfgx_s cn68xx;
611 struct cvmx_mio_boot_loc_cfgx_s cn68xxp1;
612 struct cvmx_mio_boot_loc_cfgx_s cnf71xx;
613}; 382};
614 383
615union cvmx_mio_boot_loc_dat { 384union cvmx_mio_boot_loc_dat {
616 uint64_t u64; 385 uint64_t u64;
617 struct cvmx_mio_boot_loc_dat_s { 386 struct cvmx_mio_boot_loc_dat_s {
618#ifdef __BIG_ENDIAN_BITFIELD
619 uint64_t data:64;
620#else
621 uint64_t data:64; 387 uint64_t data:64;
622#endif
623 } s; 388 } s;
624 struct cvmx_mio_boot_loc_dat_s cn30xx; 389 struct cvmx_mio_boot_loc_dat_s cn30xx;
625 struct cvmx_mio_boot_loc_dat_s cn31xx; 390 struct cvmx_mio_boot_loc_dat_s cn31xx;
@@ -632,21 +397,14 @@ union cvmx_mio_boot_loc_dat {
632 struct cvmx_mio_boot_loc_dat_s cn56xxp1; 397 struct cvmx_mio_boot_loc_dat_s cn56xxp1;
633 struct cvmx_mio_boot_loc_dat_s cn58xx; 398 struct cvmx_mio_boot_loc_dat_s cn58xx;
634 struct cvmx_mio_boot_loc_dat_s cn58xxp1; 399 struct cvmx_mio_boot_loc_dat_s cn58xxp1;
635 struct cvmx_mio_boot_loc_dat_s cn61xx;
636 struct cvmx_mio_boot_loc_dat_s cn63xx; 400 struct cvmx_mio_boot_loc_dat_s cn63xx;
637 struct cvmx_mio_boot_loc_dat_s cn63xxp1; 401 struct cvmx_mio_boot_loc_dat_s cn63xxp1;
638 struct cvmx_mio_boot_loc_dat_s cn66xx;
639 struct cvmx_mio_boot_loc_dat_s cn68xx;
640 struct cvmx_mio_boot_loc_dat_s cn68xxp1;
641 struct cvmx_mio_boot_loc_dat_s cnf71xx;
642}; 402};
643 403
644union cvmx_mio_boot_pin_defs { 404union cvmx_mio_boot_pin_defs {
645 uint64_t u64; 405 uint64_t u64;
646 struct cvmx_mio_boot_pin_defs_s { 406 struct cvmx_mio_boot_pin_defs_s {
647#ifdef __BIG_ENDIAN_BITFIELD 407 uint64_t reserved_16_63:48;
648 uint64_t reserved_32_63:32;
649 uint64_t user1:16;
650 uint64_t ale:1; 408 uint64_t ale:1;
651 uint64_t width:1; 409 uint64_t width:1;
652 uint64_t dmack_p2:1; 410 uint64_t dmack_p2:1;
@@ -654,22 +412,9 @@ union cvmx_mio_boot_pin_defs {
654 uint64_t dmack_p0:1; 412 uint64_t dmack_p0:1;
655 uint64_t term:2; 413 uint64_t term:2;
656 uint64_t nand:1; 414 uint64_t nand:1;
657 uint64_t user0:8; 415 uint64_t reserved_0_7: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
670 } s; 416 } s;
671 struct cvmx_mio_boot_pin_defs_cn52xx { 417 struct cvmx_mio_boot_pin_defs_cn52xx {
672#ifdef __BIG_ENDIAN_BITFIELD
673 uint64_t reserved_16_63:48; 418 uint64_t reserved_16_63:48;
674 uint64_t ale:1; 419 uint64_t ale:1;
675 uint64_t width:1; 420 uint64_t width:1;
@@ -679,20 +424,8 @@ union cvmx_mio_boot_pin_defs {
679 uint64_t term:2; 424 uint64_t term:2;
680 uint64_t nand:1; 425 uint64_t nand:1;
681 uint64_t reserved_0_7:8; 426 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
693 } cn52xx; 427 } cn52xx;
694 struct cvmx_mio_boot_pin_defs_cn56xx { 428 struct cvmx_mio_boot_pin_defs_cn56xx {
695#ifdef __BIG_ENDIAN_BITFIELD
696 uint64_t reserved_16_63:48; 429 uint64_t reserved_16_63:48;
697 uint64_t ale:1; 430 uint64_t ale:1;
698 uint64_t width:1; 431 uint64_t width:1;
@@ -701,54 +434,14 @@ union cvmx_mio_boot_pin_defs {
701 uint64_t dmack_p0:1; 434 uint64_t dmack_p0:1;
702 uint64_t term:2; 435 uint64_t term:2;
703 uint64_t reserved_0_8:9; 436 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
714 } cn56xx; 437 } cn56xx;
715 struct cvmx_mio_boot_pin_defs_cn61xx {
716#ifdef __BIG_ENDIAN_BITFIELD
717 uint64_t reserved_32_63:32;
718 uint64_t user1:16;
719 uint64_t ale:1;
720 uint64_t width:1;
721 uint64_t reserved_13_13:1;
722 uint64_t dmack_p1:1;
723 uint64_t dmack_p0:1;
724 uint64_t term:2;
725 uint64_t nand:1;
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
739 } cn61xx;
740 struct cvmx_mio_boot_pin_defs_cn52xx cn63xx; 438 struct cvmx_mio_boot_pin_defs_cn52xx cn63xx;
741 struct cvmx_mio_boot_pin_defs_cn52xx cn63xxp1; 439 struct cvmx_mio_boot_pin_defs_cn52xx cn63xxp1;
742 struct cvmx_mio_boot_pin_defs_cn52xx cn66xx;
743 struct cvmx_mio_boot_pin_defs_cn52xx cn68xx;
744 struct cvmx_mio_boot_pin_defs_cn52xx cn68xxp1;
745 struct cvmx_mio_boot_pin_defs_cn61xx cnf71xx;
746}; 440};
747 441
748union cvmx_mio_boot_reg_cfgx { 442union cvmx_mio_boot_reg_cfgx {
749 uint64_t u64; 443 uint64_t u64;
750 struct cvmx_mio_boot_reg_cfgx_s { 444 struct cvmx_mio_boot_reg_cfgx_s {
751#ifdef __BIG_ENDIAN_BITFIELD
752 uint64_t reserved_44_63:20; 445 uint64_t reserved_44_63:20;
753 uint64_t dmack:2; 446 uint64_t dmack:2;
754 uint64_t tim_mult:2; 447 uint64_t tim_mult:2;
@@ -762,24 +455,8 @@ union cvmx_mio_boot_reg_cfgx {
762 uint64_t width:1; 455 uint64_t width:1;
763 uint64_t size:12; 456 uint64_t size:12;
764 uint64_t base:16; 457 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
780 } s; 458 } s;
781 struct cvmx_mio_boot_reg_cfgx_cn30xx { 459 struct cvmx_mio_boot_reg_cfgx_cn30xx {
782#ifdef __BIG_ENDIAN_BITFIELD
783 uint64_t reserved_37_63:27; 460 uint64_t reserved_37_63:27;
784 uint64_t sam:1; 461 uint64_t sam:1;
785 uint64_t we_ext:2; 462 uint64_t we_ext:2;
@@ -790,40 +467,18 @@ union cvmx_mio_boot_reg_cfgx {
790 uint64_t width:1; 467 uint64_t width:1;
791 uint64_t size:12; 468 uint64_t size:12;
792 uint64_t base:16; 469 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
805 } cn30xx; 470 } cn30xx;
806 struct cvmx_mio_boot_reg_cfgx_cn30xx cn31xx; 471 struct cvmx_mio_boot_reg_cfgx_cn30xx cn31xx;
807 struct cvmx_mio_boot_reg_cfgx_cn38xx { 472 struct cvmx_mio_boot_reg_cfgx_cn38xx {
808#ifdef __BIG_ENDIAN_BITFIELD
809 uint64_t reserved_32_63:32; 473 uint64_t reserved_32_63:32;
810 uint64_t en:1; 474 uint64_t en:1;
811 uint64_t orbit:1; 475 uint64_t orbit:1;
812 uint64_t reserved_28_29:2; 476 uint64_t reserved_28_29:2;
813 uint64_t size:12; 477 uint64_t size:12;
814 uint64_t base:16; 478 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
823 } cn38xx; 479 } cn38xx;
824 struct cvmx_mio_boot_reg_cfgx_cn38xx cn38xxp2; 480 struct cvmx_mio_boot_reg_cfgx_cn38xx cn38xxp2;
825 struct cvmx_mio_boot_reg_cfgx_cn50xx { 481 struct cvmx_mio_boot_reg_cfgx_cn50xx {
826#ifdef __BIG_ENDIAN_BITFIELD
827 uint64_t reserved_42_63:22; 482 uint64_t reserved_42_63:22;
828 uint64_t tim_mult:2; 483 uint64_t tim_mult:2;
829 uint64_t rd_dly:3; 484 uint64_t rd_dly:3;
@@ -836,20 +491,6 @@ union cvmx_mio_boot_reg_cfgx {
836 uint64_t width:1; 491 uint64_t width:1;
837 uint64_t size:12; 492 uint64_t size:12;
838 uint64_t base:16; 493 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
853 } cn50xx; 494 } cn50xx;
854 struct cvmx_mio_boot_reg_cfgx_s cn52xx; 495 struct cvmx_mio_boot_reg_cfgx_s cn52xx;
855 struct cvmx_mio_boot_reg_cfgx_s cn52xxp1; 496 struct cvmx_mio_boot_reg_cfgx_s cn52xxp1;
@@ -857,19 +498,13 @@ union cvmx_mio_boot_reg_cfgx {
857 struct cvmx_mio_boot_reg_cfgx_s cn56xxp1; 498 struct cvmx_mio_boot_reg_cfgx_s cn56xxp1;
858 struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xx; 499 struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xx;
859 struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xxp1; 500 struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xxp1;
860 struct cvmx_mio_boot_reg_cfgx_s cn61xx;
861 struct cvmx_mio_boot_reg_cfgx_s cn63xx; 501 struct cvmx_mio_boot_reg_cfgx_s cn63xx;
862 struct cvmx_mio_boot_reg_cfgx_s cn63xxp1; 502 struct cvmx_mio_boot_reg_cfgx_s cn63xxp1;
863 struct cvmx_mio_boot_reg_cfgx_s cn66xx;
864 struct cvmx_mio_boot_reg_cfgx_s cn68xx;
865 struct cvmx_mio_boot_reg_cfgx_s cn68xxp1;
866 struct cvmx_mio_boot_reg_cfgx_s cnf71xx;
867}; 503};
868 504
869union cvmx_mio_boot_reg_timx { 505union cvmx_mio_boot_reg_timx {
870 uint64_t u64; 506 uint64_t u64;
871 struct cvmx_mio_boot_reg_timx_s { 507 struct cvmx_mio_boot_reg_timx_s {
872#ifdef __BIG_ENDIAN_BITFIELD
873 uint64_t pagem:1; 508 uint64_t pagem:1;
874 uint64_t waitm:1; 509 uint64_t waitm:1;
875 uint64_t pages:2; 510 uint64_t pages:2;
@@ -883,26 +518,10 @@ union cvmx_mio_boot_reg_timx {
883 uint64_t oe:6; 518 uint64_t oe:6;
884 uint64_t ce:6; 519 uint64_t ce:6;
885 uint64_t adr:6; 520 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
901 } s; 521 } s;
902 struct cvmx_mio_boot_reg_timx_s cn30xx; 522 struct cvmx_mio_boot_reg_timx_s cn30xx;
903 struct cvmx_mio_boot_reg_timx_s cn31xx; 523 struct cvmx_mio_boot_reg_timx_s cn31xx;
904 struct cvmx_mio_boot_reg_timx_cn38xx { 524 struct cvmx_mio_boot_reg_timx_cn38xx {
905#ifdef __BIG_ENDIAN_BITFIELD
906 uint64_t pagem:1; 525 uint64_t pagem:1;
907 uint64_t waitm:1; 526 uint64_t waitm:1;
908 uint64_t pages:2; 527 uint64_t pages:2;
@@ -916,21 +535,6 @@ union cvmx_mio_boot_reg_timx {
916 uint64_t oe:6; 535 uint64_t oe:6;
917 uint64_t ce:6; 536 uint64_t ce:6;
918 uint64_t adr:6; 537 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
934 } cn38xx; 538 } cn38xx;
935 struct cvmx_mio_boot_reg_timx_cn38xx cn38xxp2; 539 struct cvmx_mio_boot_reg_timx_cn38xx cn38xxp2;
936 struct cvmx_mio_boot_reg_timx_s cn50xx; 540 struct cvmx_mio_boot_reg_timx_s cn50xx;
@@ -940,46 +544,25 @@ union cvmx_mio_boot_reg_timx {
940 struct cvmx_mio_boot_reg_timx_s cn56xxp1; 544 struct cvmx_mio_boot_reg_timx_s cn56xxp1;
941 struct cvmx_mio_boot_reg_timx_s cn58xx; 545 struct cvmx_mio_boot_reg_timx_s cn58xx;
942 struct cvmx_mio_boot_reg_timx_s cn58xxp1; 546 struct cvmx_mio_boot_reg_timx_s cn58xxp1;
943 struct cvmx_mio_boot_reg_timx_s cn61xx;
944 struct cvmx_mio_boot_reg_timx_s cn63xx; 547 struct cvmx_mio_boot_reg_timx_s cn63xx;
945 struct cvmx_mio_boot_reg_timx_s cn63xxp1; 548 struct cvmx_mio_boot_reg_timx_s cn63xxp1;
946 struct cvmx_mio_boot_reg_timx_s cn66xx;
947 struct cvmx_mio_boot_reg_timx_s cn68xx;
948 struct cvmx_mio_boot_reg_timx_s cn68xxp1;
949 struct cvmx_mio_boot_reg_timx_s cnf71xx;
950}; 549};
951 550
952union cvmx_mio_boot_thr { 551union cvmx_mio_boot_thr {
953 uint64_t u64; 552 uint64_t u64;
954 struct cvmx_mio_boot_thr_s { 553 struct cvmx_mio_boot_thr_s {
955#ifdef __BIG_ENDIAN_BITFIELD
956 uint64_t reserved_22_63:42; 554 uint64_t reserved_22_63:42;
957 uint64_t dma_thr:6; 555 uint64_t dma_thr:6;
958 uint64_t reserved_14_15:2; 556 uint64_t reserved_14_15:2;
959 uint64_t fif_cnt:6; 557 uint64_t fif_cnt:6;
960 uint64_t reserved_6_7:2; 558 uint64_t reserved_6_7:2;
961 uint64_t fif_thr:6; 559 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
970 } s; 560 } s;
971 struct cvmx_mio_boot_thr_cn30xx { 561 struct cvmx_mio_boot_thr_cn30xx {
972#ifdef __BIG_ENDIAN_BITFIELD
973 uint64_t reserved_14_63:50; 562 uint64_t reserved_14_63:50;
974 uint64_t fif_cnt:6; 563 uint64_t fif_cnt:6;
975 uint64_t reserved_6_7:2; 564 uint64_t reserved_6_7:2;
976 uint64_t fif_thr:6; 565 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
983 } cn30xx; 566 } cn30xx;
984 struct cvmx_mio_boot_thr_cn30xx cn31xx; 567 struct cvmx_mio_boot_thr_cn30xx cn31xx;
985 struct cvmx_mio_boot_thr_cn30xx cn38xx; 568 struct cvmx_mio_boot_thr_cn30xx cn38xx;
@@ -991,413 +574,14 @@ union cvmx_mio_boot_thr {
991 struct cvmx_mio_boot_thr_s cn56xxp1; 574 struct cvmx_mio_boot_thr_s cn56xxp1;
992 struct cvmx_mio_boot_thr_cn30xx cn58xx; 575 struct cvmx_mio_boot_thr_cn30xx cn58xx;
993 struct cvmx_mio_boot_thr_cn30xx cn58xxp1; 576 struct cvmx_mio_boot_thr_cn30xx cn58xxp1;
994 struct cvmx_mio_boot_thr_s cn61xx;
995 struct cvmx_mio_boot_thr_s cn63xx; 577 struct cvmx_mio_boot_thr_s cn63xx;
996 struct cvmx_mio_boot_thr_s cn63xxp1; 578 struct cvmx_mio_boot_thr_s cn63xxp1;
997 struct cvmx_mio_boot_thr_s cn66xx;
998 struct cvmx_mio_boot_thr_s cn68xx;
999 struct cvmx_mio_boot_thr_s cn68xxp1;
1000 struct cvmx_mio_boot_thr_s cnf71xx;
1001};
1002
1003union cvmx_mio_emm_buf_dat {
1004 uint64_t u64;
1005 struct cvmx_mio_emm_buf_dat_s {
1006#ifdef __BIG_ENDIAN_BITFIELD
1007 uint64_t dat:64;
1008#else
1009 uint64_t dat:64;
1010#endif
1011 } s;
1012 struct cvmx_mio_emm_buf_dat_s cn61xx;
1013 struct cvmx_mio_emm_buf_dat_s cnf71xx;
1014};
1015
1016union cvmx_mio_emm_buf_idx {
1017 uint64_t u64;
1018 struct cvmx_mio_emm_buf_idx_s {
1019#ifdef __BIG_ENDIAN_BITFIELD
1020 uint64_t reserved_17_63:47;
1021 uint64_t inc:1;
1022 uint64_t reserved_7_15:9;
1023 uint64_t buf_num:1;
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
1032 } s;
1033 struct cvmx_mio_emm_buf_idx_s cn61xx;
1034 struct cvmx_mio_emm_buf_idx_s cnf71xx;
1035};
1036
1037union cvmx_mio_emm_cfg {
1038 uint64_t u64;
1039 struct cvmx_mio_emm_cfg_s {
1040#ifdef __BIG_ENDIAN_BITFIELD
1041 uint64_t reserved_17_63:47;
1042 uint64_t boot_fail:1;
1043 uint64_t reserved_4_15:12;
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
1051 } s;
1052 struct cvmx_mio_emm_cfg_s cn61xx;
1053 struct cvmx_mio_emm_cfg_s cnf71xx;
1054};
1055
1056union cvmx_mio_emm_cmd {
1057 uint64_t u64;
1058 struct cvmx_mio_emm_cmd_s {
1059#ifdef __BIG_ENDIAN_BITFIELD
1060 uint64_t reserved_62_63:2;
1061 uint64_t bus_id:2;
1062 uint64_t cmd_val:1;
1063 uint64_t reserved_56_58:3;
1064 uint64_t dbuf:1;
1065 uint64_t offset:6;
1066 uint64_t reserved_43_48:6;
1067 uint64_t ctype_xor:2;
1068 uint64_t rtype_xor:3;
1069 uint64_t cmd_idx:6;
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
1084 } s;
1085 struct cvmx_mio_emm_cmd_s cn61xx;
1086 struct cvmx_mio_emm_cmd_s cnf71xx;
1087};
1088
1089union cvmx_mio_emm_dma {
1090 uint64_t u64;
1091 struct cvmx_mio_emm_dma_s {
1092#ifdef __BIG_ENDIAN_BITFIELD
1093 uint64_t reserved_62_63:2;
1094 uint64_t bus_id:2;
1095 uint64_t dma_val:1;
1096 uint64_t sector:1;
1097 uint64_t dat_null:1;
1098 uint64_t thres:6;
1099 uint64_t rel_wr:1;
1100 uint64_t rw:1;
1101 uint64_t multi:1;
1102 uint64_t block_cnt:16;
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
1117 } s;
1118 struct cvmx_mio_emm_dma_s cn61xx;
1119 struct cvmx_mio_emm_dma_s cnf71xx;
1120};
1121
1122union cvmx_mio_emm_int {
1123 uint64_t u64;
1124 struct cvmx_mio_emm_int_s {
1125#ifdef __BIG_ENDIAN_BITFIELD
1126 uint64_t reserved_7_63:57;
1127 uint64_t switch_err:1;
1128 uint64_t switch_done:1;
1129 uint64_t dma_err:1;
1130 uint64_t cmd_err:1;
1131 uint64_t dma_done:1;
1132 uint64_t cmd_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
1144 } s;
1145 struct cvmx_mio_emm_int_s cn61xx;
1146 struct cvmx_mio_emm_int_s cnf71xx;
1147};
1148
1149union cvmx_mio_emm_int_en {
1150 uint64_t u64;
1151 struct cvmx_mio_emm_int_en_s {
1152#ifdef __BIG_ENDIAN_BITFIELD
1153 uint64_t reserved_7_63:57;
1154 uint64_t switch_err:1;
1155 uint64_t switch_done:1;
1156 uint64_t dma_err:1;
1157 uint64_t cmd_err:1;
1158 uint64_t dma_done:1;
1159 uint64_t cmd_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
1171 } s;
1172 struct cvmx_mio_emm_int_en_s cn61xx;
1173 struct cvmx_mio_emm_int_en_s cnf71xx;
1174};
1175
1176union cvmx_mio_emm_modex {
1177 uint64_t u64;
1178 struct cvmx_mio_emm_modex_s {
1179#ifdef __BIG_ENDIAN_BITFIELD
1180 uint64_t reserved_49_63:15;
1181 uint64_t hs_timing:1;
1182 uint64_t reserved_43_47:5;
1183 uint64_t bus_width:3;
1184 uint64_t reserved_36_39:4;
1185 uint64_t power_class:4;
1186 uint64_t clk_hi: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
1198 } s;
1199 struct cvmx_mio_emm_modex_s cn61xx;
1200 struct cvmx_mio_emm_modex_s cnf71xx;
1201};
1202
1203union cvmx_mio_emm_rca {
1204 uint64_t u64;
1205 struct cvmx_mio_emm_rca_s {
1206#ifdef __BIG_ENDIAN_BITFIELD
1207 uint64_t reserved_16_63:48;
1208 uint64_t card_rca:16;
1209#else
1210 uint64_t card_rca:16;
1211 uint64_t reserved_16_63:48;
1212#endif
1213 } s;
1214 struct cvmx_mio_emm_rca_s cn61xx;
1215 struct cvmx_mio_emm_rca_s cnf71xx;
1216};
1217
1218union cvmx_mio_emm_rsp_hi {
1219 uint64_t u64;
1220 struct cvmx_mio_emm_rsp_hi_s {
1221#ifdef __BIG_ENDIAN_BITFIELD
1222 uint64_t dat:64;
1223#else
1224 uint64_t dat:64;
1225#endif
1226 } s;
1227 struct cvmx_mio_emm_rsp_hi_s cn61xx;
1228 struct cvmx_mio_emm_rsp_hi_s cnf71xx;
1229};
1230
1231union cvmx_mio_emm_rsp_lo {
1232 uint64_t u64;
1233 struct cvmx_mio_emm_rsp_lo_s {
1234#ifdef __BIG_ENDIAN_BITFIELD
1235 uint64_t dat:64;
1236#else
1237 uint64_t dat:64;
1238#endif
1239 } s;
1240 struct cvmx_mio_emm_rsp_lo_s cn61xx;
1241 struct cvmx_mio_emm_rsp_lo_s cnf71xx;
1242};
1243
1244union cvmx_mio_emm_rsp_sts {
1245 uint64_t u64;
1246 struct cvmx_mio_emm_rsp_sts_s {
1247#ifdef __BIG_ENDIAN_BITFIELD
1248 uint64_t reserved_62_63:2;
1249 uint64_t bus_id:2;
1250 uint64_t cmd_val:1;
1251 uint64_t switch_val:1;
1252 uint64_t dma_val:1;
1253 uint64_t dma_pend:1;
1254 uint64_t reserved_29_55:27;
1255 uint64_t dbuf_err:1;
1256 uint64_t reserved_24_27:4;
1257 uint64_t dbuf:1;
1258 uint64_t blk_timeout:1;
1259 uint64_t blk_crc_err:1;
1260 uint64_t rsp_busybit:1;
1261 uint64_t stp_timeout:1;
1262 uint64_t stp_crc_err:1;
1263 uint64_t stp_bad_sts:1;
1264 uint64_t stp_val:1;
1265 uint64_t rsp_timeout:1;
1266 uint64_t rsp_crc_err:1;
1267 uint64_t rsp_bad_sts:1;
1268 uint64_t rsp_val:1;
1269 uint64_t rsp_type:3;
1270 uint64_t cmd_type:2;
1271 uint64_t cmd_idx:6;
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
1300 } s;
1301 struct cvmx_mio_emm_rsp_sts_s cn61xx;
1302 struct cvmx_mio_emm_rsp_sts_s cnf71xx;
1303};
1304
1305union cvmx_mio_emm_sample {
1306 uint64_t u64;
1307 struct cvmx_mio_emm_sample_s {
1308#ifdef __BIG_ENDIAN_BITFIELD
1309 uint64_t reserved_26_63:38;
1310 uint64_t cmd_cnt:10;
1311 uint64_t reserved_10_15:6;
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
1319 } s;
1320 struct cvmx_mio_emm_sample_s cn61xx;
1321 struct cvmx_mio_emm_sample_s cnf71xx;
1322};
1323
1324union cvmx_mio_emm_sts_mask {
1325 uint64_t u64;
1326 struct cvmx_mio_emm_sts_mask_s {
1327#ifdef __BIG_ENDIAN_BITFIELD
1328 uint64_t reserved_32_63:32;
1329 uint64_t sts_msk:32;
1330#else
1331 uint64_t sts_msk:32;
1332 uint64_t reserved_32_63:32;
1333#endif
1334 } s;
1335 struct cvmx_mio_emm_sts_mask_s cn61xx;
1336 struct cvmx_mio_emm_sts_mask_s cnf71xx;
1337};
1338
1339union cvmx_mio_emm_switch {
1340 uint64_t u64;
1341 struct cvmx_mio_emm_switch_s {
1342#ifdef __BIG_ENDIAN_BITFIELD
1343 uint64_t reserved_62_63:2;
1344 uint64_t bus_id:2;
1345 uint64_t switch_exe:1;
1346 uint64_t switch_err0:1;
1347 uint64_t switch_err1:1;
1348 uint64_t switch_err2:1;
1349 uint64_t reserved_49_55:7;
1350 uint64_t hs_timing:1;
1351 uint64_t reserved_43_47:5;
1352 uint64_t bus_width:3;
1353 uint64_t reserved_36_39:4;
1354 uint64_t power_class:4;
1355 uint64_t clk_hi: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
1373 } s;
1374 struct cvmx_mio_emm_switch_s cn61xx;
1375 struct cvmx_mio_emm_switch_s cnf71xx;
1376};
1377
1378union cvmx_mio_emm_wdog {
1379 uint64_t u64;
1380 struct cvmx_mio_emm_wdog_s {
1381#ifdef __BIG_ENDIAN_BITFIELD
1382 uint64_t reserved_26_63:38;
1383 uint64_t clk_cnt:26;
1384#else
1385 uint64_t clk_cnt:26;
1386 uint64_t reserved_26_63:38;
1387#endif
1388 } s;
1389 struct cvmx_mio_emm_wdog_s cn61xx;
1390 struct cvmx_mio_emm_wdog_s cnf71xx;
1391}; 579};
1392 580
1393union cvmx_mio_fus_bnk_datx { 581union cvmx_mio_fus_bnk_datx {
1394 uint64_t u64; 582 uint64_t u64;
1395 struct cvmx_mio_fus_bnk_datx_s { 583 struct cvmx_mio_fus_bnk_datx_s {
1396#ifdef __BIG_ENDIAN_BITFIELD
1397 uint64_t dat:64;
1398#else
1399 uint64_t dat:64; 584 uint64_t dat:64;
1400#endif
1401 } s; 585 } s;
1402 struct cvmx_mio_fus_bnk_datx_s cn50xx; 586 struct cvmx_mio_fus_bnk_datx_s cn50xx;
1403 struct cvmx_mio_fus_bnk_datx_s cn52xx; 587 struct cvmx_mio_fus_bnk_datx_s cn52xx;
@@ -1406,25 +590,15 @@ union cvmx_mio_fus_bnk_datx {
1406 struct cvmx_mio_fus_bnk_datx_s cn56xxp1; 590 struct cvmx_mio_fus_bnk_datx_s cn56xxp1;
1407 struct cvmx_mio_fus_bnk_datx_s cn58xx; 591 struct cvmx_mio_fus_bnk_datx_s cn58xx;
1408 struct cvmx_mio_fus_bnk_datx_s cn58xxp1; 592 struct cvmx_mio_fus_bnk_datx_s cn58xxp1;
1409 struct cvmx_mio_fus_bnk_datx_s cn61xx;
1410 struct cvmx_mio_fus_bnk_datx_s cn63xx; 593 struct cvmx_mio_fus_bnk_datx_s cn63xx;
1411 struct cvmx_mio_fus_bnk_datx_s cn63xxp1; 594 struct cvmx_mio_fus_bnk_datx_s cn63xxp1;
1412 struct cvmx_mio_fus_bnk_datx_s cn66xx;
1413 struct cvmx_mio_fus_bnk_datx_s cn68xx;
1414 struct cvmx_mio_fus_bnk_datx_s cn68xxp1;
1415 struct cvmx_mio_fus_bnk_datx_s cnf71xx;
1416}; 595};
1417 596
1418union cvmx_mio_fus_dat0 { 597union cvmx_mio_fus_dat0 {
1419 uint64_t u64; 598 uint64_t u64;
1420 struct cvmx_mio_fus_dat0_s { 599 struct cvmx_mio_fus_dat0_s {
1421#ifdef __BIG_ENDIAN_BITFIELD
1422 uint64_t reserved_32_63:32; 600 uint64_t reserved_32_63:32;
1423 uint64_t man_info:32; 601 uint64_t man_info:32;
1424#else
1425 uint64_t man_info:32;
1426 uint64_t reserved_32_63:32;
1427#endif
1428 } s; 602 } s;
1429 struct cvmx_mio_fus_dat0_s cn30xx; 603 struct cvmx_mio_fus_dat0_s cn30xx;
1430 struct cvmx_mio_fus_dat0_s cn31xx; 604 struct cvmx_mio_fus_dat0_s cn31xx;
@@ -1437,25 +611,15 @@ union cvmx_mio_fus_dat0 {
1437 struct cvmx_mio_fus_dat0_s cn56xxp1; 611 struct cvmx_mio_fus_dat0_s cn56xxp1;
1438 struct cvmx_mio_fus_dat0_s cn58xx; 612 struct cvmx_mio_fus_dat0_s cn58xx;
1439 struct cvmx_mio_fus_dat0_s cn58xxp1; 613 struct cvmx_mio_fus_dat0_s cn58xxp1;
1440 struct cvmx_mio_fus_dat0_s cn61xx;
1441 struct cvmx_mio_fus_dat0_s cn63xx; 614 struct cvmx_mio_fus_dat0_s cn63xx;
1442 struct cvmx_mio_fus_dat0_s cn63xxp1; 615 struct cvmx_mio_fus_dat0_s cn63xxp1;
1443 struct cvmx_mio_fus_dat0_s cn66xx;
1444 struct cvmx_mio_fus_dat0_s cn68xx;
1445 struct cvmx_mio_fus_dat0_s cn68xxp1;
1446 struct cvmx_mio_fus_dat0_s cnf71xx;
1447}; 616};
1448 617
1449union cvmx_mio_fus_dat1 { 618union cvmx_mio_fus_dat1 {
1450 uint64_t u64; 619 uint64_t u64;
1451 struct cvmx_mio_fus_dat1_s { 620 struct cvmx_mio_fus_dat1_s {
1452#ifdef __BIG_ENDIAN_BITFIELD
1453 uint64_t reserved_32_63:32; 621 uint64_t reserved_32_63:32;
1454 uint64_t man_info:32; 622 uint64_t man_info:32;
1455#else
1456 uint64_t man_info:32;
1457 uint64_t reserved_32_63:32;
1458#endif
1459 } s; 623 } s;
1460 struct cvmx_mio_fus_dat1_s cn30xx; 624 struct cvmx_mio_fus_dat1_s cn30xx;
1461 struct cvmx_mio_fus_dat1_s cn31xx; 625 struct cvmx_mio_fus_dat1_s cn31xx;
@@ -1468,23 +632,14 @@ union cvmx_mio_fus_dat1 {
1468 struct cvmx_mio_fus_dat1_s cn56xxp1; 632 struct cvmx_mio_fus_dat1_s cn56xxp1;
1469 struct cvmx_mio_fus_dat1_s cn58xx; 633 struct cvmx_mio_fus_dat1_s cn58xx;
1470 struct cvmx_mio_fus_dat1_s cn58xxp1; 634 struct cvmx_mio_fus_dat1_s cn58xxp1;
1471 struct cvmx_mio_fus_dat1_s cn61xx;
1472 struct cvmx_mio_fus_dat1_s cn63xx; 635 struct cvmx_mio_fus_dat1_s cn63xx;
1473 struct cvmx_mio_fus_dat1_s cn63xxp1; 636 struct cvmx_mio_fus_dat1_s cn63xxp1;
1474 struct cvmx_mio_fus_dat1_s cn66xx;
1475 struct cvmx_mio_fus_dat1_s cn68xx;
1476 struct cvmx_mio_fus_dat1_s cn68xxp1;
1477 struct cvmx_mio_fus_dat1_s cnf71xx;
1478}; 637};
1479 638
1480union cvmx_mio_fus_dat2 { 639union cvmx_mio_fus_dat2 {
1481 uint64_t u64; 640 uint64_t u64;
1482 struct cvmx_mio_fus_dat2_s { 641 struct cvmx_mio_fus_dat2_s {
1483#ifdef __BIG_ENDIAN_BITFIELD 642 uint64_t reserved_35_63:29;
1484 uint64_t reserved_48_63:16;
1485 uint64_t fus118:1;
1486 uint64_t rom_info:10;
1487 uint64_t power_limit:2;
1488 uint64_t dorm_crypto:1; 643 uint64_t dorm_crypto:1;
1489 uint64_t fus318:1; 644 uint64_t fus318:1;
1490 uint64_t raid_en:1; 645 uint64_t raid_en:1;
@@ -1497,27 +652,8 @@ union cvmx_mio_fus_dat2 {
1497 uint64_t bist_dis:1; 652 uint64_t bist_dis:1;
1498 uint64_t chip_id:8; 653 uint64_t chip_id:8;
1499 uint64_t reserved_0_15:16; 654 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
1518 } s; 655 } s;
1519 struct cvmx_mio_fus_dat2_cn30xx { 656 struct cvmx_mio_fus_dat2_cn30xx {
1520#ifdef __BIG_ENDIAN_BITFIELD
1521 uint64_t reserved_29_63:35; 657 uint64_t reserved_29_63:35;
1522 uint64_t nodfa_cp2:1; 658 uint64_t nodfa_cp2:1;
1523 uint64_t nomul:1; 659 uint64_t nomul:1;
@@ -1528,21 +664,8 @@ union cvmx_mio_fus_dat2 {
1528 uint64_t pll_off:4; 664 uint64_t pll_off:4;
1529 uint64_t reserved_1_11:11; 665 uint64_t reserved_1_11:11;
1530 uint64_t pp_dis:1; 666 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
1543 } cn30xx; 667 } cn30xx;
1544 struct cvmx_mio_fus_dat2_cn31xx { 668 struct cvmx_mio_fus_dat2_cn31xx {
1545#ifdef __BIG_ENDIAN_BITFIELD
1546 uint64_t reserved_29_63:35; 669 uint64_t reserved_29_63:35;
1547 uint64_t nodfa_cp2:1; 670 uint64_t nodfa_cp2:1;
1548 uint64_t nomul:1; 671 uint64_t nomul:1;
@@ -1553,21 +676,8 @@ union cvmx_mio_fus_dat2 {
1553 uint64_t pll_off:4; 676 uint64_t pll_off:4;
1554 uint64_t reserved_2_11:10; 677 uint64_t reserved_2_11:10;
1555 uint64_t pp_dis:2; 678 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
1568 } cn31xx; 679 } cn31xx;
1569 struct cvmx_mio_fus_dat2_cn38xx { 680 struct cvmx_mio_fus_dat2_cn38xx {
1570#ifdef __BIG_ENDIAN_BITFIELD
1571 uint64_t reserved_29_63:35; 681 uint64_t reserved_29_63:35;
1572 uint64_t nodfa_cp2:1; 682 uint64_t nodfa_cp2:1;
1573 uint64_t nomul:1; 683 uint64_t nomul:1;
@@ -1576,20 +686,9 @@ union cvmx_mio_fus_dat2 {
1576 uint64_t bist_dis:1; 686 uint64_t bist_dis:1;
1577 uint64_t chip_id:8; 687 uint64_t chip_id:8;
1578 uint64_t pp_dis:16; 688 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
1589 } cn38xx; 689 } cn38xx;
1590 struct cvmx_mio_fus_dat2_cn38xx cn38xxp2; 690 struct cvmx_mio_fus_dat2_cn38xx cn38xxp2;
1591 struct cvmx_mio_fus_dat2_cn50xx { 691 struct cvmx_mio_fus_dat2_cn50xx {
1592#ifdef __BIG_ENDIAN_BITFIELD
1593 uint64_t reserved_34_63:30; 692 uint64_t reserved_34_63:30;
1594 uint64_t fus318:1; 693 uint64_t fus318:1;
1595 uint64_t raid_en:1; 694 uint64_t raid_en:1;
@@ -1603,24 +702,8 @@ union cvmx_mio_fus_dat2 {
1603 uint64_t chip_id:8; 702 uint64_t chip_id:8;
1604 uint64_t reserved_2_15:14; 703 uint64_t reserved_2_15:14;
1605 uint64_t pp_dis:2; 704 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
1621 } cn50xx; 705 } cn50xx;
1622 struct cvmx_mio_fus_dat2_cn52xx { 706 struct cvmx_mio_fus_dat2_cn52xx {
1623#ifdef __BIG_ENDIAN_BITFIELD
1624 uint64_t reserved_34_63:30; 707 uint64_t reserved_34_63:30;
1625 uint64_t fus318:1; 708 uint64_t fus318:1;
1626 uint64_t raid_en:1; 709 uint64_t raid_en:1;
@@ -1634,25 +717,9 @@ union cvmx_mio_fus_dat2 {
1634 uint64_t chip_id:8; 717 uint64_t chip_id:8;
1635 uint64_t reserved_4_15:12; 718 uint64_t reserved_4_15:12;
1636 uint64_t pp_dis:4; 719 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
1652 } cn52xx; 720 } cn52xx;
1653 struct cvmx_mio_fus_dat2_cn52xx cn52xxp1; 721 struct cvmx_mio_fus_dat2_cn52xx cn52xxp1;
1654 struct cvmx_mio_fus_dat2_cn56xx { 722 struct cvmx_mio_fus_dat2_cn56xx {
1655#ifdef __BIG_ENDIAN_BITFIELD
1656 uint64_t reserved_34_63:30; 723 uint64_t reserved_34_63:30;
1657 uint64_t fus318:1; 724 uint64_t fus318:1;
1658 uint64_t raid_en:1; 725 uint64_t raid_en:1;
@@ -1666,25 +733,9 @@ union cvmx_mio_fus_dat2 {
1666 uint64_t chip_id:8; 733 uint64_t chip_id:8;
1667 uint64_t reserved_12_15:4; 734 uint64_t reserved_12_15:4;
1668 uint64_t pp_dis:12; 735 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
1684 } cn56xx; 736 } cn56xx;
1685 struct cvmx_mio_fus_dat2_cn56xx cn56xxp1; 737 struct cvmx_mio_fus_dat2_cn56xx cn56xxp1;
1686 struct cvmx_mio_fus_dat2_cn58xx { 738 struct cvmx_mio_fus_dat2_cn58xx {
1687#ifdef __BIG_ENDIAN_BITFIELD
1688 uint64_t reserved_30_63:34; 739 uint64_t reserved_30_63:34;
1689 uint64_t nokasu:1; 740 uint64_t nokasu:1;
1690 uint64_t nodfa_cp2:1; 741 uint64_t nodfa_cp2:1;
@@ -1694,56 +745,9 @@ union cvmx_mio_fus_dat2 {
1694 uint64_t bist_dis:1; 745 uint64_t bist_dis:1;
1695 uint64_t chip_id:8; 746 uint64_t chip_id:8;
1696 uint64_t pp_dis:16; 747 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
1708 } cn58xx; 748 } cn58xx;
1709 struct cvmx_mio_fus_dat2_cn58xx cn58xxp1; 749 struct cvmx_mio_fus_dat2_cn58xx cn58xxp1;
1710 struct cvmx_mio_fus_dat2_cn61xx {
1711#ifdef __BIG_ENDIAN_BITFIELD
1712 uint64_t reserved_48_63:16;
1713 uint64_t fus118:1;
1714 uint64_t rom_info:10;
1715 uint64_t power_limit:2;
1716 uint64_t dorm_crypto:1;
1717 uint64_t fus318:1;
1718 uint64_t raid_en:1;
1719 uint64_t reserved_29_31:3;
1720 uint64_t nodfa_cp2:1;
1721 uint64_t nomul:1;
1722 uint64_t nocrypto:1;
1723 uint64_t reserved_24_25:2;
1724 uint64_t chip_id:8;
1725 uint64_t reserved_4_15:12;
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
1744 } cn61xx;
1745 struct cvmx_mio_fus_dat2_cn63xx { 750 struct cvmx_mio_fus_dat2_cn63xx {
1746#ifdef __BIG_ENDIAN_BITFIELD
1747 uint64_t reserved_35_63:29; 751 uint64_t reserved_35_63:29;
1748 uint64_t dorm_crypto:1; 752 uint64_t dorm_crypto:1;
1749 uint64_t fus318:1; 753 uint64_t fus318:1;
@@ -1756,94 +760,13 @@ union cvmx_mio_fus_dat2 {
1756 uint64_t chip_id:8; 760 uint64_t chip_id:8;
1757 uint64_t reserved_6_15:10; 761 uint64_t reserved_6_15:10;
1758 uint64_t pp_dis:6; 762 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
1773 } cn63xx; 763 } cn63xx;
1774 struct cvmx_mio_fus_dat2_cn63xx cn63xxp1; 764 struct cvmx_mio_fus_dat2_cn63xx cn63xxp1;
1775 struct cvmx_mio_fus_dat2_cn66xx {
1776#ifdef __BIG_ENDIAN_BITFIELD
1777 uint64_t reserved_48_63:16;
1778 uint64_t fus118:1;
1779 uint64_t rom_info:10;
1780 uint64_t power_limit:2;
1781 uint64_t dorm_crypto:1;
1782 uint64_t fus318:1;
1783 uint64_t raid_en:1;
1784 uint64_t reserved_29_31:3;
1785 uint64_t nodfa_cp2:1;
1786 uint64_t nomul:1;
1787 uint64_t nocrypto:1;
1788 uint64_t reserved_24_25:2;
1789 uint64_t chip_id:8;
1790 uint64_t reserved_10_15:6;
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
1809 } cn66xx;
1810 struct cvmx_mio_fus_dat2_cn68xx {
1811#ifdef __BIG_ENDIAN_BITFIELD
1812 uint64_t reserved_37_63:27;
1813 uint64_t power_limit:2;
1814 uint64_t dorm_crypto:1;
1815 uint64_t fus318:1;
1816 uint64_t raid_en:1;
1817 uint64_t reserved_29_31:3;
1818 uint64_t nodfa_cp2:1;
1819 uint64_t nomul:1;
1820 uint64_t nocrypto:1;
1821 uint64_t reserved_24_25:2;
1822 uint64_t chip_id:8;
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
1838 } cn68xx;
1839 struct cvmx_mio_fus_dat2_cn68xx cn68xxp1;
1840 struct cvmx_mio_fus_dat2_cn61xx cnf71xx;
1841}; 765};
1842 766
1843union cvmx_mio_fus_dat3 { 767union cvmx_mio_fus_dat3 {
1844 uint64_t u64; 768 uint64_t u64;
1845 struct cvmx_mio_fus_dat3_s { 769 struct cvmx_mio_fus_dat3_s {
1846#ifdef __BIG_ENDIAN_BITFIELD
1847 uint64_t reserved_58_63:6; 770 uint64_t reserved_58_63:6;
1848 uint64_t pll_ctl:10; 771 uint64_t pll_ctl:10;
1849 uint64_t dfa_info_dte:3; 772 uint64_t dfa_info_dte:3;
@@ -1862,29 +785,8 @@ union cvmx_mio_fus_dat3 {
1862 uint64_t nozip:1; 785 uint64_t nozip:1;
1863 uint64_t nodfa_dte:1; 786 uint64_t nodfa_dte:1;
1864 uint64_t icache:24; 787 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
1885 } s; 788 } s;
1886 struct cvmx_mio_fus_dat3_cn30xx { 789 struct cvmx_mio_fus_dat3_cn30xx {
1887#ifdef __BIG_ENDIAN_BITFIELD
1888 uint64_t reserved_32_63:32; 790 uint64_t reserved_32_63:32;
1889 uint64_t pll_div4:1; 791 uint64_t pll_div4:1;
1890 uint64_t reserved_29_30:2; 792 uint64_t reserved_29_30:2;
@@ -1894,20 +796,8 @@ union cvmx_mio_fus_dat3 {
1894 uint64_t nozip:1; 796 uint64_t nozip:1;
1895 uint64_t nodfa_dte:1; 797 uint64_t nodfa_dte:1;
1896 uint64_t icache:24; 798 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
1908 } cn30xx; 799 } cn30xx;
1909 struct cvmx_mio_fus_dat3_cn31xx { 800 struct cvmx_mio_fus_dat3_cn31xx {
1910#ifdef __BIG_ENDIAN_BITFIELD
1911 uint64_t reserved_32_63:32; 801 uint64_t reserved_32_63:32;
1912 uint64_t pll_div4:1; 802 uint64_t pll_div4:1;
1913 uint64_t zip_crip:2; 803 uint64_t zip_crip:2;
@@ -1917,20 +807,8 @@ union cvmx_mio_fus_dat3 {
1917 uint64_t nozip:1; 807 uint64_t nozip:1;
1918 uint64_t nodfa_dte:1; 808 uint64_t nodfa_dte:1;
1919 uint64_t icache:24; 809 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
1931 } cn31xx; 810 } cn31xx;
1932 struct cvmx_mio_fus_dat3_cn38xx { 811 struct cvmx_mio_fus_dat3_cn38xx {
1933#ifdef __BIG_ENDIAN_BITFIELD
1934 uint64_t reserved_31_63:33; 812 uint64_t reserved_31_63:33;
1935 uint64_t zip_crip:2; 813 uint64_t zip_crip:2;
1936 uint64_t bar2_en:1; 814 uint64_t bar2_en:1;
@@ -1939,19 +817,8 @@ union cvmx_mio_fus_dat3 {
1939 uint64_t nozip:1; 817 uint64_t nozip:1;
1940 uint64_t nodfa_dte:1; 818 uint64_t nodfa_dte:1;
1941 uint64_t icache:24; 819 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
1952 } cn38xx; 820 } cn38xx;
1953 struct cvmx_mio_fus_dat3_cn38xxp2 { 821 struct cvmx_mio_fus_dat3_cn38xxp2 {
1954#ifdef __BIG_ENDIAN_BITFIELD
1955 uint64_t reserved_29_63:35; 822 uint64_t reserved_29_63:35;
1956 uint64_t bar2_en:1; 823 uint64_t bar2_en:1;
1957 uint64_t efus_lck:1; 824 uint64_t efus_lck:1;
@@ -1959,15 +826,6 @@ union cvmx_mio_fus_dat3 {
1959 uint64_t nozip:1; 826 uint64_t nozip:1;
1960 uint64_t nodfa_dte:1; 827 uint64_t nodfa_dte:1;
1961 uint64_t icache:24; 828 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
1971 } cn38xxp2; 829 } cn38xxp2;
1972 struct cvmx_mio_fus_dat3_cn38xx cn50xx; 830 struct cvmx_mio_fus_dat3_cn38xx cn50xx;
1973 struct cvmx_mio_fus_dat3_cn38xx cn52xx; 831 struct cvmx_mio_fus_dat3_cn38xx cn52xx;
@@ -1976,8 +834,7 @@ union cvmx_mio_fus_dat3 {
1976 struct cvmx_mio_fus_dat3_cn38xx cn56xxp1; 834 struct cvmx_mio_fus_dat3_cn38xx cn56xxp1;
1977 struct cvmx_mio_fus_dat3_cn38xx cn58xx; 835 struct cvmx_mio_fus_dat3_cn38xx cn58xx;
1978 struct cvmx_mio_fus_dat3_cn38xx cn58xxp1; 836 struct cvmx_mio_fus_dat3_cn38xx cn58xxp1;
1979 struct cvmx_mio_fus_dat3_cn61xx { 837 struct cvmx_mio_fus_dat3_cn63xx {
1980#ifdef __BIG_ENDIAN_BITFIELD
1981 uint64_t reserved_58_63:6; 838 uint64_t reserved_58_63:6;
1982 uint64_t pll_ctl:10; 839 uint64_t pll_ctl:10;
1983 uint64_t dfa_info_dte:3; 840 uint64_t dfa_info_dte:3;
@@ -1996,49 +853,17 @@ union cvmx_mio_fus_dat3 {
1996 uint64_t nozip:1; 853 uint64_t nozip:1;
1997 uint64_t nodfa_dte:1; 854 uint64_t nodfa_dte:1;
1998 uint64_t reserved_0_23:24; 855 uint64_t reserved_0_23:24;
1999#else 856 } cn63xx;
2000 uint64_t reserved_0_23:24; 857 struct cvmx_mio_fus_dat3_cn63xx cn63xxp1;
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
2019 } cn61xx;
2020 struct cvmx_mio_fus_dat3_cn61xx cn63xx;
2021 struct cvmx_mio_fus_dat3_cn61xx cn63xxp1;
2022 struct cvmx_mio_fus_dat3_cn61xx cn66xx;
2023 struct cvmx_mio_fus_dat3_cn61xx cn68xx;
2024 struct cvmx_mio_fus_dat3_cn61xx cn68xxp1;
2025 struct cvmx_mio_fus_dat3_cn61xx cnf71xx;
2026}; 858};
2027 859
2028union cvmx_mio_fus_ema { 860union cvmx_mio_fus_ema {
2029 uint64_t u64; 861 uint64_t u64;
2030 struct cvmx_mio_fus_ema_s { 862 struct cvmx_mio_fus_ema_s {
2031#ifdef __BIG_ENDIAN_BITFIELD
2032 uint64_t reserved_7_63:57; 863 uint64_t reserved_7_63:57;
2033 uint64_t eff_ema:3; 864 uint64_t eff_ema:3;
2034 uint64_t reserved_3_3:1; 865 uint64_t reserved_3_3:1;
2035 uint64_t ema:3; 866 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
2042 } s; 867 } s;
2043 struct cvmx_mio_fus_ema_s cn50xx; 868 struct cvmx_mio_fus_ema_s cn50xx;
2044 struct cvmx_mio_fus_ema_s cn52xx; 869 struct cvmx_mio_fus_ema_s cn52xx;
@@ -2046,32 +871,18 @@ union cvmx_mio_fus_ema {
2046 struct cvmx_mio_fus_ema_s cn56xx; 871 struct cvmx_mio_fus_ema_s cn56xx;
2047 struct cvmx_mio_fus_ema_s cn56xxp1; 872 struct cvmx_mio_fus_ema_s cn56xxp1;
2048 struct cvmx_mio_fus_ema_cn58xx { 873 struct cvmx_mio_fus_ema_cn58xx {
2049#ifdef __BIG_ENDIAN_BITFIELD
2050 uint64_t reserved_2_63:62; 874 uint64_t reserved_2_63:62;
2051 uint64_t ema:2; 875 uint64_t ema:2;
2052#else
2053 uint64_t ema:2;
2054 uint64_t reserved_2_63:62;
2055#endif
2056 } cn58xx; 876 } cn58xx;
2057 struct cvmx_mio_fus_ema_cn58xx cn58xxp1; 877 struct cvmx_mio_fus_ema_cn58xx cn58xxp1;
2058 struct cvmx_mio_fus_ema_s cn61xx;
2059 struct cvmx_mio_fus_ema_s cn63xx; 878 struct cvmx_mio_fus_ema_s cn63xx;
2060 struct cvmx_mio_fus_ema_s cn63xxp1; 879 struct cvmx_mio_fus_ema_s cn63xxp1;
2061 struct cvmx_mio_fus_ema_s cn66xx;
2062 struct cvmx_mio_fus_ema_s cn68xx;
2063 struct cvmx_mio_fus_ema_s cn68xxp1;
2064 struct cvmx_mio_fus_ema_s cnf71xx;
2065}; 880};
2066 881
2067union cvmx_mio_fus_pdf { 882union cvmx_mio_fus_pdf {
2068 uint64_t u64; 883 uint64_t u64;
2069 struct cvmx_mio_fus_pdf_s { 884 struct cvmx_mio_fus_pdf_s {
2070#ifdef __BIG_ENDIAN_BITFIELD
2071 uint64_t pdf:64; 885 uint64_t pdf:64;
2072#else
2073 uint64_t pdf:64;
2074#endif
2075 } s; 886 } s;
2076 struct cvmx_mio_fus_pdf_s cn50xx; 887 struct cvmx_mio_fus_pdf_s cn50xx;
2077 struct cvmx_mio_fus_pdf_s cn52xx; 888 struct cvmx_mio_fus_pdf_s cn52xx;
@@ -2079,52 +890,25 @@ union cvmx_mio_fus_pdf {
2079 struct cvmx_mio_fus_pdf_s cn56xx; 890 struct cvmx_mio_fus_pdf_s cn56xx;
2080 struct cvmx_mio_fus_pdf_s cn56xxp1; 891 struct cvmx_mio_fus_pdf_s cn56xxp1;
2081 struct cvmx_mio_fus_pdf_s cn58xx; 892 struct cvmx_mio_fus_pdf_s cn58xx;
2082 struct cvmx_mio_fus_pdf_s cn61xx;
2083 struct cvmx_mio_fus_pdf_s cn63xx; 893 struct cvmx_mio_fus_pdf_s cn63xx;
2084 struct cvmx_mio_fus_pdf_s cn63xxp1; 894 struct cvmx_mio_fus_pdf_s cn63xxp1;
2085 struct cvmx_mio_fus_pdf_s cn66xx;
2086 struct cvmx_mio_fus_pdf_s cn68xx;
2087 struct cvmx_mio_fus_pdf_s cn68xxp1;
2088 struct cvmx_mio_fus_pdf_s cnf71xx;
2089}; 895};
2090 896
2091union cvmx_mio_fus_pll { 897union cvmx_mio_fus_pll {
2092 uint64_t u64; 898 uint64_t u64;
2093 struct cvmx_mio_fus_pll_s { 899 struct cvmx_mio_fus_pll_s {
2094#ifdef __BIG_ENDIAN_BITFIELD 900 uint64_t reserved_8_63:56;
2095 uint64_t reserved_48_63:16;
2096 uint64_t rclk_align_r:8;
2097 uint64_t rclk_align_l:8;
2098 uint64_t reserved_8_31:24;
2099 uint64_t c_cout_rst:1; 901 uint64_t c_cout_rst:1;
2100 uint64_t c_cout_sel:2; 902 uint64_t c_cout_sel:2;
2101 uint64_t pnr_cout_rst:1; 903 uint64_t pnr_cout_rst:1;
2102 uint64_t pnr_cout_sel:2; 904 uint64_t pnr_cout_sel:2;
2103 uint64_t rfslip:1; 905 uint64_t rfslip:1;
2104 uint64_t fbslip:1; 906 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
2117 } s; 907 } s;
2118 struct cvmx_mio_fus_pll_cn50xx { 908 struct cvmx_mio_fus_pll_cn50xx {
2119#ifdef __BIG_ENDIAN_BITFIELD
2120 uint64_t reserved_2_63:62; 909 uint64_t reserved_2_63:62;
2121 uint64_t rfslip:1; 910 uint64_t rfslip:1;
2122 uint64_t fbslip:1; 911 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
2128 } cn50xx; 912 } cn50xx;
2129 struct cvmx_mio_fus_pll_cn50xx cn52xx; 913 struct cvmx_mio_fus_pll_cn50xx cn52xx;
2130 struct cvmx_mio_fus_pll_cn50xx cn52xxp1; 914 struct cvmx_mio_fus_pll_cn50xx cn52xxp1;
@@ -2132,54 +916,20 @@ union cvmx_mio_fus_pll {
2132 struct cvmx_mio_fus_pll_cn50xx cn56xxp1; 916 struct cvmx_mio_fus_pll_cn50xx cn56xxp1;
2133 struct cvmx_mio_fus_pll_cn50xx cn58xx; 917 struct cvmx_mio_fus_pll_cn50xx cn58xx;
2134 struct cvmx_mio_fus_pll_cn50xx cn58xxp1; 918 struct cvmx_mio_fus_pll_cn50xx cn58xxp1;
2135 struct cvmx_mio_fus_pll_cn61xx { 919 struct cvmx_mio_fus_pll_s cn63xx;
2136#ifdef __BIG_ENDIAN_BITFIELD 920 struct cvmx_mio_fus_pll_s cn63xxp1;
2137 uint64_t reserved_8_63:56;
2138 uint64_t c_cout_rst:1;
2139 uint64_t c_cout_sel:2;
2140 uint64_t pnr_cout_rst:1;
2141 uint64_t pnr_cout_sel:2;
2142 uint64_t rfslip: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
2153 } cn61xx;
2154 struct cvmx_mio_fus_pll_cn61xx cn63xx;
2155 struct cvmx_mio_fus_pll_cn61xx cn63xxp1;
2156 struct cvmx_mio_fus_pll_cn61xx cn66xx;
2157 struct cvmx_mio_fus_pll_s cn68xx;
2158 struct cvmx_mio_fus_pll_s cn68xxp1;
2159 struct cvmx_mio_fus_pll_cn61xx cnf71xx;
2160}; 921};
2161 922
2162union cvmx_mio_fus_prog { 923union cvmx_mio_fus_prog {
2163 uint64_t u64; 924 uint64_t u64;
2164 struct cvmx_mio_fus_prog_s { 925 struct cvmx_mio_fus_prog_s {
2165#ifdef __BIG_ENDIAN_BITFIELD
2166 uint64_t reserved_2_63:62; 926 uint64_t reserved_2_63:62;
2167 uint64_t soft:1; 927 uint64_t soft:1;
2168 uint64_t prog:1; 928 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
2174 } s; 929 } s;
2175 struct cvmx_mio_fus_prog_cn30xx { 930 struct cvmx_mio_fus_prog_cn30xx {
2176#ifdef __BIG_ENDIAN_BITFIELD
2177 uint64_t reserved_1_63:63; 931 uint64_t reserved_1_63:63;
2178 uint64_t prog:1; 932 uint64_t prog:1;
2179#else
2180 uint64_t prog:1;
2181 uint64_t reserved_1_63:63;
2182#endif
2183 } cn30xx; 933 } cn30xx;
2184 struct cvmx_mio_fus_prog_cn30xx cn31xx; 934 struct cvmx_mio_fus_prog_cn30xx cn31xx;
2185 struct cvmx_mio_fus_prog_cn30xx cn38xx; 935 struct cvmx_mio_fus_prog_cn30xx cn38xx;
@@ -2191,50 +941,27 @@ union cvmx_mio_fus_prog {
2191 struct cvmx_mio_fus_prog_cn30xx cn56xxp1; 941 struct cvmx_mio_fus_prog_cn30xx cn56xxp1;
2192 struct cvmx_mio_fus_prog_cn30xx cn58xx; 942 struct cvmx_mio_fus_prog_cn30xx cn58xx;
2193 struct cvmx_mio_fus_prog_cn30xx cn58xxp1; 943 struct cvmx_mio_fus_prog_cn30xx cn58xxp1;
2194 struct cvmx_mio_fus_prog_s cn61xx;
2195 struct cvmx_mio_fus_prog_s cn63xx; 944 struct cvmx_mio_fus_prog_s cn63xx;
2196 struct cvmx_mio_fus_prog_s cn63xxp1; 945 struct cvmx_mio_fus_prog_s cn63xxp1;
2197 struct cvmx_mio_fus_prog_s cn66xx;
2198 struct cvmx_mio_fus_prog_s cn68xx;
2199 struct cvmx_mio_fus_prog_s cn68xxp1;
2200 struct cvmx_mio_fus_prog_s cnf71xx;
2201}; 946};
2202 947
2203union cvmx_mio_fus_prog_times { 948union cvmx_mio_fus_prog_times {
2204 uint64_t u64; 949 uint64_t u64;
2205 struct cvmx_mio_fus_prog_times_s { 950 struct cvmx_mio_fus_prog_times_s {
2206#ifdef __BIG_ENDIAN_BITFIELD
2207 uint64_t reserved_35_63:29; 951 uint64_t reserved_35_63:29;
2208 uint64_t vgate_pin:1; 952 uint64_t vgate_pin:1;
2209 uint64_t fsrc_pin:1; 953 uint64_t fsrc_pin:1;
2210 uint64_t prog_pin:1; 954 uint64_t prog_pin:1;
2211 uint64_t reserved_6_31:26; 955 uint64_t reserved_6_31:26;
2212 uint64_t setup:6; 956 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
2221 } s; 957 } s;
2222 struct cvmx_mio_fus_prog_times_cn50xx { 958 struct cvmx_mio_fus_prog_times_cn50xx {
2223#ifdef __BIG_ENDIAN_BITFIELD
2224 uint64_t reserved_33_63:31; 959 uint64_t reserved_33_63:31;
2225 uint64_t prog_pin:1; 960 uint64_t prog_pin:1;
2226 uint64_t out:8; 961 uint64_t out:8;
2227 uint64_t sclk_lo:4; 962 uint64_t sclk_lo:4;
2228 uint64_t sclk_hi:12; 963 uint64_t sclk_hi:12;
2229 uint64_t setup:8; 964 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
2238 } cn50xx; 965 } cn50xx;
2239 struct cvmx_mio_fus_prog_times_cn50xx cn52xx; 966 struct cvmx_mio_fus_prog_times_cn50xx cn52xx;
2240 struct cvmx_mio_fus_prog_times_cn50xx cn52xxp1; 967 struct cvmx_mio_fus_prog_times_cn50xx cn52xxp1;
@@ -2242,8 +969,7 @@ union cvmx_mio_fus_prog_times {
2242 struct cvmx_mio_fus_prog_times_cn50xx cn56xxp1; 969 struct cvmx_mio_fus_prog_times_cn50xx cn56xxp1;
2243 struct cvmx_mio_fus_prog_times_cn50xx cn58xx; 970 struct cvmx_mio_fus_prog_times_cn50xx cn58xx;
2244 struct cvmx_mio_fus_prog_times_cn50xx cn58xxp1; 971 struct cvmx_mio_fus_prog_times_cn50xx cn58xxp1;
2245 struct cvmx_mio_fus_prog_times_cn61xx { 972 struct cvmx_mio_fus_prog_times_cn63xx {
2246#ifdef __BIG_ENDIAN_BITFIELD
2247 uint64_t reserved_35_63:29; 973 uint64_t reserved_35_63:29;
2248 uint64_t vgate_pin:1; 974 uint64_t vgate_pin:1;
2249 uint64_t fsrc_pin:1; 975 uint64_t fsrc_pin:1;
@@ -2252,29 +978,13 @@ union cvmx_mio_fus_prog_times {
2252 uint64_t sclk_lo:4; 978 uint64_t sclk_lo:4;
2253 uint64_t sclk_hi:15; 979 uint64_t sclk_hi:15;
2254 uint64_t setup:6; 980 uint64_t setup:6;
2255#else 981 } cn63xx;
2256 uint64_t setup:6; 982 struct cvmx_mio_fus_prog_times_cn63xx cn63xxp1;
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
2265 } cn61xx;
2266 struct cvmx_mio_fus_prog_times_cn61xx cn63xx;
2267 struct cvmx_mio_fus_prog_times_cn61xx cn63xxp1;
2268 struct cvmx_mio_fus_prog_times_cn61xx cn66xx;
2269 struct cvmx_mio_fus_prog_times_cn61xx cn68xx;
2270 struct cvmx_mio_fus_prog_times_cn61xx cn68xxp1;
2271 struct cvmx_mio_fus_prog_times_cn61xx cnf71xx;
2272}; 983};
2273 984
2274union cvmx_mio_fus_rcmd { 985union cvmx_mio_fus_rcmd {
2275 uint64_t u64; 986 uint64_t u64;
2276 struct cvmx_mio_fus_rcmd_s { 987 struct cvmx_mio_fus_rcmd_s {
2277#ifdef __BIG_ENDIAN_BITFIELD
2278 uint64_t reserved_24_63:40; 988 uint64_t reserved_24_63:40;
2279 uint64_t dat:8; 989 uint64_t dat:8;
2280 uint64_t reserved_13_15:3; 990 uint64_t reserved_13_15:3;
@@ -2282,18 +992,8 @@ union cvmx_mio_fus_rcmd {
2282 uint64_t reserved_9_11:3; 992 uint64_t reserved_9_11:3;
2283 uint64_t efuse:1; 993 uint64_t efuse:1;
2284 uint64_t addr:8; 994 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
2294 } s; 995 } s;
2295 struct cvmx_mio_fus_rcmd_cn30xx { 996 struct cvmx_mio_fus_rcmd_cn30xx {
2296#ifdef __BIG_ENDIAN_BITFIELD
2297 uint64_t reserved_24_63:40; 997 uint64_t reserved_24_63:40;
2298 uint64_t dat:8; 998 uint64_t dat:8;
2299 uint64_t reserved_13_15:3; 999 uint64_t reserved_13_15:3;
@@ -2302,16 +1002,6 @@ union cvmx_mio_fus_rcmd {
2302 uint64_t efuse:1; 1002 uint64_t efuse:1;
2303 uint64_t reserved_7_7:1; 1003 uint64_t reserved_7_7:1;
2304 uint64_t addr:7; 1004 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
2315 } cn30xx; 1005 } cn30xx;
2316 struct cvmx_mio_fus_rcmd_cn30xx cn31xx; 1006 struct cvmx_mio_fus_rcmd_cn30xx cn31xx;
2317 struct cvmx_mio_fus_rcmd_cn30xx cn38xx; 1007 struct cvmx_mio_fus_rcmd_cn30xx cn38xx;
@@ -2323,127 +1013,66 @@ union cvmx_mio_fus_rcmd {
2323 struct cvmx_mio_fus_rcmd_s cn56xxp1; 1013 struct cvmx_mio_fus_rcmd_s cn56xxp1;
2324 struct cvmx_mio_fus_rcmd_cn30xx cn58xx; 1014 struct cvmx_mio_fus_rcmd_cn30xx cn58xx;
2325 struct cvmx_mio_fus_rcmd_cn30xx cn58xxp1; 1015 struct cvmx_mio_fus_rcmd_cn30xx cn58xxp1;
2326 struct cvmx_mio_fus_rcmd_s cn61xx;
2327 struct cvmx_mio_fus_rcmd_s cn63xx; 1016 struct cvmx_mio_fus_rcmd_s cn63xx;
2328 struct cvmx_mio_fus_rcmd_s cn63xxp1; 1017 struct cvmx_mio_fus_rcmd_s cn63xxp1;
2329 struct cvmx_mio_fus_rcmd_s cn66xx;
2330 struct cvmx_mio_fus_rcmd_s cn68xx;
2331 struct cvmx_mio_fus_rcmd_s cn68xxp1;
2332 struct cvmx_mio_fus_rcmd_s cnf71xx;
2333}; 1018};
2334 1019
2335union cvmx_mio_fus_read_times { 1020union cvmx_mio_fus_read_times {
2336 uint64_t u64; 1021 uint64_t u64;
2337 struct cvmx_mio_fus_read_times_s { 1022 struct cvmx_mio_fus_read_times_s {
2338#ifdef __BIG_ENDIAN_BITFIELD
2339 uint64_t reserved_26_63:38; 1023 uint64_t reserved_26_63:38;
2340 uint64_t sch:4; 1024 uint64_t sch:4;
2341 uint64_t fsh:4; 1025 uint64_t fsh:4;
2342 uint64_t prh:4; 1026 uint64_t prh:4;
2343 uint64_t sdh:4; 1027 uint64_t sdh:4;
2344 uint64_t setup:10; 1028 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
2353 } s; 1029 } s;
2354 struct cvmx_mio_fus_read_times_s cn61xx;
2355 struct cvmx_mio_fus_read_times_s cn63xx; 1030 struct cvmx_mio_fus_read_times_s cn63xx;
2356 struct cvmx_mio_fus_read_times_s cn63xxp1; 1031 struct cvmx_mio_fus_read_times_s cn63xxp1;
2357 struct cvmx_mio_fus_read_times_s cn66xx;
2358 struct cvmx_mio_fus_read_times_s cn68xx;
2359 struct cvmx_mio_fus_read_times_s cn68xxp1;
2360 struct cvmx_mio_fus_read_times_s cnf71xx;
2361}; 1032};
2362 1033
2363union cvmx_mio_fus_repair_res0 { 1034union cvmx_mio_fus_repair_res0 {
2364 uint64_t u64; 1035 uint64_t u64;
2365 struct cvmx_mio_fus_repair_res0_s { 1036 struct cvmx_mio_fus_repair_res0_s {
2366#ifdef __BIG_ENDIAN_BITFIELD
2367 uint64_t reserved_55_63:9; 1037 uint64_t reserved_55_63:9;
2368 uint64_t too_many:1; 1038 uint64_t too_many:1;
2369 uint64_t repair2:18; 1039 uint64_t repair2:18;
2370 uint64_t repair1:18; 1040 uint64_t repair1:18;
2371 uint64_t repair0:18; 1041 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
2379 } s; 1042 } s;
2380 struct cvmx_mio_fus_repair_res0_s cn61xx;
2381 struct cvmx_mio_fus_repair_res0_s cn63xx; 1043 struct cvmx_mio_fus_repair_res0_s cn63xx;
2382 struct cvmx_mio_fus_repair_res0_s cn63xxp1; 1044 struct cvmx_mio_fus_repair_res0_s cn63xxp1;
2383 struct cvmx_mio_fus_repair_res0_s cn66xx;
2384 struct cvmx_mio_fus_repair_res0_s cn68xx;
2385 struct cvmx_mio_fus_repair_res0_s cn68xxp1;
2386 struct cvmx_mio_fus_repair_res0_s cnf71xx;
2387}; 1045};
2388 1046
2389union cvmx_mio_fus_repair_res1 { 1047union cvmx_mio_fus_repair_res1 {
2390 uint64_t u64; 1048 uint64_t u64;
2391 struct cvmx_mio_fus_repair_res1_s { 1049 struct cvmx_mio_fus_repair_res1_s {
2392#ifdef __BIG_ENDIAN_BITFIELD
2393 uint64_t reserved_54_63:10; 1050 uint64_t reserved_54_63:10;
2394 uint64_t repair5:18; 1051 uint64_t repair5:18;
2395 uint64_t repair4:18; 1052 uint64_t repair4:18;
2396 uint64_t repair3:18; 1053 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
2403 } s; 1054 } s;
2404 struct cvmx_mio_fus_repair_res1_s cn61xx;
2405 struct cvmx_mio_fus_repair_res1_s cn63xx; 1055 struct cvmx_mio_fus_repair_res1_s cn63xx;
2406 struct cvmx_mio_fus_repair_res1_s cn63xxp1; 1056 struct cvmx_mio_fus_repair_res1_s cn63xxp1;
2407 struct cvmx_mio_fus_repair_res1_s cn66xx;
2408 struct cvmx_mio_fus_repair_res1_s cn68xx;
2409 struct cvmx_mio_fus_repair_res1_s cn68xxp1;
2410 struct cvmx_mio_fus_repair_res1_s cnf71xx;
2411}; 1057};
2412 1058
2413union cvmx_mio_fus_repair_res2 { 1059union cvmx_mio_fus_repair_res2 {
2414 uint64_t u64; 1060 uint64_t u64;
2415 struct cvmx_mio_fus_repair_res2_s { 1061 struct cvmx_mio_fus_repair_res2_s {
2416#ifdef __BIG_ENDIAN_BITFIELD
2417 uint64_t reserved_18_63:46; 1062 uint64_t reserved_18_63:46;
2418 uint64_t repair6:18; 1063 uint64_t repair6:18;
2419#else
2420 uint64_t repair6:18;
2421 uint64_t reserved_18_63:46;
2422#endif
2423 } s; 1064 } s;
2424 struct cvmx_mio_fus_repair_res2_s cn61xx;
2425 struct cvmx_mio_fus_repair_res2_s cn63xx; 1065 struct cvmx_mio_fus_repair_res2_s cn63xx;
2426 struct cvmx_mio_fus_repair_res2_s cn63xxp1; 1066 struct cvmx_mio_fus_repair_res2_s cn63xxp1;
2427 struct cvmx_mio_fus_repair_res2_s cn66xx;
2428 struct cvmx_mio_fus_repair_res2_s cn68xx;
2429 struct cvmx_mio_fus_repair_res2_s cn68xxp1;
2430 struct cvmx_mio_fus_repair_res2_s cnf71xx;
2431}; 1067};
2432 1068
2433union cvmx_mio_fus_spr_repair_res { 1069union cvmx_mio_fus_spr_repair_res {
2434 uint64_t u64; 1070 uint64_t u64;
2435 struct cvmx_mio_fus_spr_repair_res_s { 1071 struct cvmx_mio_fus_spr_repair_res_s {
2436#ifdef __BIG_ENDIAN_BITFIELD
2437 uint64_t reserved_42_63:22; 1072 uint64_t reserved_42_63:22;
2438 uint64_t repair2:14; 1073 uint64_t repair2:14;
2439 uint64_t repair1:14; 1074 uint64_t repair1:14;
2440 uint64_t repair0:14; 1075 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
2447 } s; 1076 } s;
2448 struct cvmx_mio_fus_spr_repair_res_s cn30xx; 1077 struct cvmx_mio_fus_spr_repair_res_s cn30xx;
2449 struct cvmx_mio_fus_spr_repair_res_s cn31xx; 1078 struct cvmx_mio_fus_spr_repair_res_s cn31xx;
@@ -2455,25 +1084,15 @@ union cvmx_mio_fus_spr_repair_res {
2455 struct cvmx_mio_fus_spr_repair_res_s cn56xxp1; 1084 struct cvmx_mio_fus_spr_repair_res_s cn56xxp1;
2456 struct cvmx_mio_fus_spr_repair_res_s cn58xx; 1085 struct cvmx_mio_fus_spr_repair_res_s cn58xx;
2457 struct cvmx_mio_fus_spr_repair_res_s cn58xxp1; 1086 struct cvmx_mio_fus_spr_repair_res_s cn58xxp1;
2458 struct cvmx_mio_fus_spr_repair_res_s cn61xx;
2459 struct cvmx_mio_fus_spr_repair_res_s cn63xx; 1087 struct cvmx_mio_fus_spr_repair_res_s cn63xx;
2460 struct cvmx_mio_fus_spr_repair_res_s cn63xxp1; 1088 struct cvmx_mio_fus_spr_repair_res_s cn63xxp1;
2461 struct cvmx_mio_fus_spr_repair_res_s cn66xx;
2462 struct cvmx_mio_fus_spr_repair_res_s cn68xx;
2463 struct cvmx_mio_fus_spr_repair_res_s cn68xxp1;
2464 struct cvmx_mio_fus_spr_repair_res_s cnf71xx;
2465}; 1089};
2466 1090
2467union cvmx_mio_fus_spr_repair_sum { 1091union cvmx_mio_fus_spr_repair_sum {
2468 uint64_t u64; 1092 uint64_t u64;
2469 struct cvmx_mio_fus_spr_repair_sum_s { 1093 struct cvmx_mio_fus_spr_repair_sum_s {
2470#ifdef __BIG_ENDIAN_BITFIELD
2471 uint64_t reserved_1_63:63; 1094 uint64_t reserved_1_63:63;
2472 uint64_t too_many:1; 1095 uint64_t too_many:1;
2473#else
2474 uint64_t too_many:1;
2475 uint64_t reserved_1_63:63;
2476#endif
2477 } s; 1096 } s;
2478 struct cvmx_mio_fus_spr_repair_sum_s cn30xx; 1097 struct cvmx_mio_fus_spr_repair_sum_s cn30xx;
2479 struct cvmx_mio_fus_spr_repair_sum_s cn31xx; 1098 struct cvmx_mio_fus_spr_repair_sum_s cn31xx;
@@ -2485,41 +1104,15 @@ union cvmx_mio_fus_spr_repair_sum {
2485 struct cvmx_mio_fus_spr_repair_sum_s cn56xxp1; 1104 struct cvmx_mio_fus_spr_repair_sum_s cn56xxp1;
2486 struct cvmx_mio_fus_spr_repair_sum_s cn58xx; 1105 struct cvmx_mio_fus_spr_repair_sum_s cn58xx;
2487 struct cvmx_mio_fus_spr_repair_sum_s cn58xxp1; 1106 struct cvmx_mio_fus_spr_repair_sum_s cn58xxp1;
2488 struct cvmx_mio_fus_spr_repair_sum_s cn61xx;
2489 struct cvmx_mio_fus_spr_repair_sum_s cn63xx; 1107 struct cvmx_mio_fus_spr_repair_sum_s cn63xx;
2490 struct cvmx_mio_fus_spr_repair_sum_s cn63xxp1; 1108 struct cvmx_mio_fus_spr_repair_sum_s cn63xxp1;
2491 struct cvmx_mio_fus_spr_repair_sum_s cn66xx;
2492 struct cvmx_mio_fus_spr_repair_sum_s cn68xx;
2493 struct cvmx_mio_fus_spr_repair_sum_s cn68xxp1;
2494 struct cvmx_mio_fus_spr_repair_sum_s cnf71xx;
2495};
2496
2497union cvmx_mio_fus_tgg {
2498 uint64_t u64;
2499 struct cvmx_mio_fus_tgg_s {
2500#ifdef __BIG_ENDIAN_BITFIELD
2501 uint64_t val:1;
2502 uint64_t dat:63;
2503#else
2504 uint64_t dat:63;
2505 uint64_t val:1;
2506#endif
2507 } s;
2508 struct cvmx_mio_fus_tgg_s cn61xx;
2509 struct cvmx_mio_fus_tgg_s cn66xx;
2510 struct cvmx_mio_fus_tgg_s cnf71xx;
2511}; 1109};
2512 1110
2513union cvmx_mio_fus_unlock { 1111union cvmx_mio_fus_unlock {
2514 uint64_t u64; 1112 uint64_t u64;
2515 struct cvmx_mio_fus_unlock_s { 1113 struct cvmx_mio_fus_unlock_s {
2516#ifdef __BIG_ENDIAN_BITFIELD
2517 uint64_t reserved_24_63:40; 1114 uint64_t reserved_24_63:40;
2518 uint64_t key:24; 1115 uint64_t key:24;
2519#else
2520 uint64_t key:24;
2521 uint64_t reserved_24_63:40;
2522#endif
2523 } s; 1116 } s;
2524 struct cvmx_mio_fus_unlock_s cn30xx; 1117 struct cvmx_mio_fus_unlock_s cn30xx;
2525 struct cvmx_mio_fus_unlock_s cn31xx; 1118 struct cvmx_mio_fus_unlock_s cn31xx;
@@ -2528,84 +1121,47 @@ union cvmx_mio_fus_unlock {
2528union cvmx_mio_fus_wadr { 1121union cvmx_mio_fus_wadr {
2529 uint64_t u64; 1122 uint64_t u64;
2530 struct cvmx_mio_fus_wadr_s { 1123 struct cvmx_mio_fus_wadr_s {
2531#ifdef __BIG_ENDIAN_BITFIELD
2532 uint64_t reserved_10_63:54; 1124 uint64_t reserved_10_63:54;
2533 uint64_t addr:10; 1125 uint64_t addr:10;
2534#else
2535 uint64_t addr:10;
2536 uint64_t reserved_10_63:54;
2537#endif
2538 } s; 1126 } s;
2539 struct cvmx_mio_fus_wadr_s cn30xx; 1127 struct cvmx_mio_fus_wadr_s cn30xx;
2540 struct cvmx_mio_fus_wadr_s cn31xx; 1128 struct cvmx_mio_fus_wadr_s cn31xx;
2541 struct cvmx_mio_fus_wadr_s cn38xx; 1129 struct cvmx_mio_fus_wadr_s cn38xx;
2542 struct cvmx_mio_fus_wadr_s cn38xxp2; 1130 struct cvmx_mio_fus_wadr_s cn38xxp2;
2543 struct cvmx_mio_fus_wadr_cn50xx { 1131 struct cvmx_mio_fus_wadr_cn50xx {
2544#ifdef __BIG_ENDIAN_BITFIELD
2545 uint64_t reserved_2_63:62; 1132 uint64_t reserved_2_63:62;
2546 uint64_t addr:2; 1133 uint64_t addr:2;
2547#else
2548 uint64_t addr:2;
2549 uint64_t reserved_2_63:62;
2550#endif
2551 } cn50xx; 1134 } cn50xx;
2552 struct cvmx_mio_fus_wadr_cn52xx { 1135 struct cvmx_mio_fus_wadr_cn52xx {
2553#ifdef __BIG_ENDIAN_BITFIELD
2554 uint64_t reserved_3_63:61; 1136 uint64_t reserved_3_63:61;
2555 uint64_t addr:3; 1137 uint64_t addr:3;
2556#else
2557 uint64_t addr:3;
2558 uint64_t reserved_3_63:61;
2559#endif
2560 } cn52xx; 1138 } cn52xx;
2561 struct cvmx_mio_fus_wadr_cn52xx cn52xxp1; 1139 struct cvmx_mio_fus_wadr_cn52xx cn52xxp1;
2562 struct cvmx_mio_fus_wadr_cn52xx cn56xx; 1140 struct cvmx_mio_fus_wadr_cn52xx cn56xx;
2563 struct cvmx_mio_fus_wadr_cn52xx cn56xxp1; 1141 struct cvmx_mio_fus_wadr_cn52xx cn56xxp1;
2564 struct cvmx_mio_fus_wadr_cn50xx cn58xx; 1142 struct cvmx_mio_fus_wadr_cn50xx cn58xx;
2565 struct cvmx_mio_fus_wadr_cn50xx cn58xxp1; 1143 struct cvmx_mio_fus_wadr_cn50xx cn58xxp1;
2566 struct cvmx_mio_fus_wadr_cn61xx { 1144 struct cvmx_mio_fus_wadr_cn63xx {
2567#ifdef __BIG_ENDIAN_BITFIELD
2568 uint64_t reserved_4_63:60; 1145 uint64_t reserved_4_63:60;
2569 uint64_t addr:4; 1146 uint64_t addr:4;
2570#else 1147 } cn63xx;
2571 uint64_t addr:4; 1148 struct cvmx_mio_fus_wadr_cn63xx cn63xxp1;
2572 uint64_t reserved_4_63:60;
2573#endif
2574 } cn61xx;
2575 struct cvmx_mio_fus_wadr_cn61xx cn63xx;
2576 struct cvmx_mio_fus_wadr_cn61xx cn63xxp1;
2577 struct cvmx_mio_fus_wadr_cn61xx cn66xx;
2578 struct cvmx_mio_fus_wadr_cn61xx cn68xx;
2579 struct cvmx_mio_fus_wadr_cn61xx cn68xxp1;
2580 struct cvmx_mio_fus_wadr_cn61xx cnf71xx;
2581}; 1149};
2582 1150
2583union cvmx_mio_gpio_comp { 1151union cvmx_mio_gpio_comp {
2584 uint64_t u64; 1152 uint64_t u64;
2585 struct cvmx_mio_gpio_comp_s { 1153 struct cvmx_mio_gpio_comp_s {
2586#ifdef __BIG_ENDIAN_BITFIELD
2587 uint64_t reserved_12_63:52; 1154 uint64_t reserved_12_63:52;
2588 uint64_t pctl:6; 1155 uint64_t pctl:6;
2589 uint64_t nctl:6; 1156 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
2595 } s; 1157 } s;
2596 struct cvmx_mio_gpio_comp_s cn61xx;
2597 struct cvmx_mio_gpio_comp_s cn63xx; 1158 struct cvmx_mio_gpio_comp_s cn63xx;
2598 struct cvmx_mio_gpio_comp_s cn63xxp1; 1159 struct cvmx_mio_gpio_comp_s cn63xxp1;
2599 struct cvmx_mio_gpio_comp_s cn66xx;
2600 struct cvmx_mio_gpio_comp_s cn68xx;
2601 struct cvmx_mio_gpio_comp_s cn68xxp1;
2602 struct cvmx_mio_gpio_comp_s cnf71xx;
2603}; 1160};
2604 1161
2605union cvmx_mio_ndf_dma_cfg { 1162union cvmx_mio_ndf_dma_cfg {
2606 uint64_t u64; 1163 uint64_t u64;
2607 struct cvmx_mio_ndf_dma_cfg_s { 1164 struct cvmx_mio_ndf_dma_cfg_s {
2608#ifdef __BIG_ENDIAN_BITFIELD
2609 uint64_t en:1; 1165 uint64_t en:1;
2610 uint64_t rw:1; 1166 uint64_t rw:1;
2611 uint64_t clr:1; 1167 uint64_t clr:1;
@@ -2616,81 +1172,39 @@ union cvmx_mio_ndf_dma_cfg {
2616 uint64_t endian:1; 1172 uint64_t endian:1;
2617 uint64_t size:20; 1173 uint64_t size:20;
2618 uint64_t adr:36; 1174 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
2631 } s; 1175 } s;
2632 struct cvmx_mio_ndf_dma_cfg_s cn52xx; 1176 struct cvmx_mio_ndf_dma_cfg_s cn52xx;
2633 struct cvmx_mio_ndf_dma_cfg_s cn61xx;
2634 struct cvmx_mio_ndf_dma_cfg_s cn63xx; 1177 struct cvmx_mio_ndf_dma_cfg_s cn63xx;
2635 struct cvmx_mio_ndf_dma_cfg_s cn63xxp1; 1178 struct cvmx_mio_ndf_dma_cfg_s cn63xxp1;
2636 struct cvmx_mio_ndf_dma_cfg_s cn66xx;
2637 struct cvmx_mio_ndf_dma_cfg_s cn68xx;
2638 struct cvmx_mio_ndf_dma_cfg_s cn68xxp1;
2639 struct cvmx_mio_ndf_dma_cfg_s cnf71xx;
2640}; 1179};
2641 1180
2642union cvmx_mio_ndf_dma_int { 1181union cvmx_mio_ndf_dma_int {
2643 uint64_t u64; 1182 uint64_t u64;
2644 struct cvmx_mio_ndf_dma_int_s { 1183 struct cvmx_mio_ndf_dma_int_s {
2645#ifdef __BIG_ENDIAN_BITFIELD
2646 uint64_t reserved_1_63:63; 1184 uint64_t reserved_1_63:63;
2647 uint64_t done:1; 1185 uint64_t done:1;
2648#else
2649 uint64_t done:1;
2650 uint64_t reserved_1_63:63;
2651#endif
2652 } s; 1186 } s;
2653 struct cvmx_mio_ndf_dma_int_s cn52xx; 1187 struct cvmx_mio_ndf_dma_int_s cn52xx;
2654 struct cvmx_mio_ndf_dma_int_s cn61xx;
2655 struct cvmx_mio_ndf_dma_int_s cn63xx; 1188 struct cvmx_mio_ndf_dma_int_s cn63xx;
2656 struct cvmx_mio_ndf_dma_int_s cn63xxp1; 1189 struct cvmx_mio_ndf_dma_int_s cn63xxp1;
2657 struct cvmx_mio_ndf_dma_int_s cn66xx;
2658 struct cvmx_mio_ndf_dma_int_s cn68xx;
2659 struct cvmx_mio_ndf_dma_int_s cn68xxp1;
2660 struct cvmx_mio_ndf_dma_int_s cnf71xx;
2661}; 1190};
2662 1191
2663union cvmx_mio_ndf_dma_int_en { 1192union cvmx_mio_ndf_dma_int_en {
2664 uint64_t u64; 1193 uint64_t u64;
2665 struct cvmx_mio_ndf_dma_int_en_s { 1194 struct cvmx_mio_ndf_dma_int_en_s {
2666#ifdef __BIG_ENDIAN_BITFIELD
2667 uint64_t reserved_1_63:63; 1195 uint64_t reserved_1_63:63;
2668 uint64_t done:1; 1196 uint64_t done:1;
2669#else
2670 uint64_t done:1;
2671 uint64_t reserved_1_63:63;
2672#endif
2673 } s; 1197 } s;
2674 struct cvmx_mio_ndf_dma_int_en_s cn52xx; 1198 struct cvmx_mio_ndf_dma_int_en_s cn52xx;
2675 struct cvmx_mio_ndf_dma_int_en_s cn61xx;
2676 struct cvmx_mio_ndf_dma_int_en_s cn63xx; 1199 struct cvmx_mio_ndf_dma_int_en_s cn63xx;
2677 struct cvmx_mio_ndf_dma_int_en_s cn63xxp1; 1200 struct cvmx_mio_ndf_dma_int_en_s cn63xxp1;
2678 struct cvmx_mio_ndf_dma_int_en_s cn66xx;
2679 struct cvmx_mio_ndf_dma_int_en_s cn68xx;
2680 struct cvmx_mio_ndf_dma_int_en_s cn68xxp1;
2681 struct cvmx_mio_ndf_dma_int_en_s cnf71xx;
2682}; 1201};
2683 1202
2684union cvmx_mio_pll_ctl { 1203union cvmx_mio_pll_ctl {
2685 uint64_t u64; 1204 uint64_t u64;
2686 struct cvmx_mio_pll_ctl_s { 1205 struct cvmx_mio_pll_ctl_s {
2687#ifdef __BIG_ENDIAN_BITFIELD
2688 uint64_t reserved_5_63:59; 1206 uint64_t reserved_5_63:59;
2689 uint64_t bw_ctl:5; 1207 uint64_t bw_ctl:5;
2690#else
2691 uint64_t bw_ctl:5;
2692 uint64_t reserved_5_63:59;
2693#endif
2694 } s; 1208 } s;
2695 struct cvmx_mio_pll_ctl_s cn30xx; 1209 struct cvmx_mio_pll_ctl_s cn30xx;
2696 struct cvmx_mio_pll_ctl_s cn31xx; 1210 struct cvmx_mio_pll_ctl_s cn31xx;
@@ -2699,134 +1213,16 @@ union cvmx_mio_pll_ctl {
2699union cvmx_mio_pll_setting { 1213union cvmx_mio_pll_setting {
2700 uint64_t u64; 1214 uint64_t u64;
2701 struct cvmx_mio_pll_setting_s { 1215 struct cvmx_mio_pll_setting_s {
2702#ifdef __BIG_ENDIAN_BITFIELD
2703 uint64_t reserved_17_63:47; 1216 uint64_t reserved_17_63:47;
2704 uint64_t setting:17; 1217 uint64_t setting:17;
2705#else
2706 uint64_t setting:17;
2707 uint64_t reserved_17_63:47;
2708#endif
2709 } s; 1218 } s;
2710 struct cvmx_mio_pll_setting_s cn30xx; 1219 struct cvmx_mio_pll_setting_s cn30xx;
2711 struct cvmx_mio_pll_setting_s cn31xx; 1220 struct cvmx_mio_pll_setting_s cn31xx;
2712}; 1221};
2713 1222
2714union cvmx_mio_ptp_ckout_hi_incr {
2715 uint64_t u64;
2716 struct cvmx_mio_ptp_ckout_hi_incr_s {
2717#ifdef __BIG_ENDIAN_BITFIELD
2718 uint64_t nanosec:32;
2719 uint64_t frnanosec:32;
2720#else
2721 uint64_t frnanosec:32;
2722 uint64_t nanosec:32;
2723#endif
2724 } s;
2725 struct cvmx_mio_ptp_ckout_hi_incr_s cn61xx;
2726 struct cvmx_mio_ptp_ckout_hi_incr_s cn66xx;
2727 struct cvmx_mio_ptp_ckout_hi_incr_s cn68xx;
2728 struct cvmx_mio_ptp_ckout_hi_incr_s cnf71xx;
2729};
2730
2731union cvmx_mio_ptp_ckout_lo_incr {
2732 uint64_t u64;
2733 struct cvmx_mio_ptp_ckout_lo_incr_s {
2734#ifdef __BIG_ENDIAN_BITFIELD
2735 uint64_t nanosec:32;
2736 uint64_t frnanosec:32;
2737#else
2738 uint64_t frnanosec:32;
2739 uint64_t nanosec:32;
2740#endif
2741 } s;
2742 struct cvmx_mio_ptp_ckout_lo_incr_s cn61xx;
2743 struct cvmx_mio_ptp_ckout_lo_incr_s cn66xx;
2744 struct cvmx_mio_ptp_ckout_lo_incr_s cn68xx;
2745 struct cvmx_mio_ptp_ckout_lo_incr_s cnf71xx;
2746};
2747
2748union cvmx_mio_ptp_ckout_thresh_hi {
2749 uint64_t u64;
2750 struct cvmx_mio_ptp_ckout_thresh_hi_s {
2751#ifdef __BIG_ENDIAN_BITFIELD
2752 uint64_t nanosec:64;
2753#else
2754 uint64_t nanosec:64;
2755#endif
2756 } s;
2757 struct cvmx_mio_ptp_ckout_thresh_hi_s cn61xx;
2758 struct cvmx_mio_ptp_ckout_thresh_hi_s cn66xx;
2759 struct cvmx_mio_ptp_ckout_thresh_hi_s cn68xx;
2760 struct cvmx_mio_ptp_ckout_thresh_hi_s cnf71xx;
2761};
2762
2763union cvmx_mio_ptp_ckout_thresh_lo {
2764 uint64_t u64;
2765 struct cvmx_mio_ptp_ckout_thresh_lo_s {
2766#ifdef __BIG_ENDIAN_BITFIELD
2767 uint64_t reserved_32_63:32;
2768 uint64_t frnanosec:32;
2769#else
2770 uint64_t frnanosec:32;
2771 uint64_t reserved_32_63:32;
2772#endif
2773 } s;
2774 struct cvmx_mio_ptp_ckout_thresh_lo_s cn61xx;
2775 struct cvmx_mio_ptp_ckout_thresh_lo_s cn66xx;
2776 struct cvmx_mio_ptp_ckout_thresh_lo_s cn68xx;
2777 struct cvmx_mio_ptp_ckout_thresh_lo_s cnf71xx;
2778};
2779
2780union cvmx_mio_ptp_clock_cfg { 1223union cvmx_mio_ptp_clock_cfg {
2781 uint64_t u64; 1224 uint64_t u64;
2782 struct cvmx_mio_ptp_clock_cfg_s { 1225 struct cvmx_mio_ptp_clock_cfg_s {
2783#ifdef __BIG_ENDIAN_BITFIELD
2784 uint64_t reserved_42_63:22;
2785 uint64_t pps:1;
2786 uint64_t ckout:1;
2787 uint64_t ext_clk_edge:2;
2788 uint64_t ckout_out4:1;
2789 uint64_t pps_out:5;
2790 uint64_t pps_inv:1;
2791 uint64_t pps_en:1;
2792 uint64_t ckout_out:4;
2793 uint64_t ckout_inv:1;
2794 uint64_t ckout_en:1;
2795 uint64_t evcnt_in:6;
2796 uint64_t evcnt_edge:1;
2797 uint64_t evcnt_en:1;
2798 uint64_t tstmp_in:6;
2799 uint64_t tstmp_edge:1;
2800 uint64_t tstmp_en:1;
2801 uint64_t ext_clk_in:6;
2802 uint64_t ext_clk_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
2826 } s;
2827 struct cvmx_mio_ptp_clock_cfg_s cn61xx;
2828 struct cvmx_mio_ptp_clock_cfg_cn63xx {
2829#ifdef __BIG_ENDIAN_BITFIELD
2830 uint64_t reserved_24_63:40; 1226 uint64_t reserved_24_63:40;
2831 uint64_t evcnt_in:6; 1227 uint64_t evcnt_in:6;
2832 uint64_t evcnt_edge:1; 1228 uint64_t evcnt_edge:1;
@@ -2837,487 +1233,62 @@ union cvmx_mio_ptp_clock_cfg {
2837 uint64_t ext_clk_in:6; 1233 uint64_t ext_clk_in:6;
2838 uint64_t ext_clk_en:1; 1234 uint64_t ext_clk_en:1;
2839 uint64_t ptp_en:1; 1235 uint64_t ptp_en:1;
2840#else 1236 } s;
2841 uint64_t ptp_en:1; 1237 struct cvmx_mio_ptp_clock_cfg_s cn63xx;
2842 uint64_t ext_clk_en:1; 1238 struct cvmx_mio_ptp_clock_cfg_s cn63xxp1;
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
2852 } cn63xx;
2853 struct cvmx_mio_ptp_clock_cfg_cn63xx cn63xxp1;
2854 struct cvmx_mio_ptp_clock_cfg_cn66xx {
2855#ifdef __BIG_ENDIAN_BITFIELD
2856 uint64_t reserved_40_63:24;
2857 uint64_t ext_clk_edge:2;
2858 uint64_t ckout_out4:1;
2859 uint64_t pps_out:5;
2860 uint64_t pps_inv:1;
2861 uint64_t pps_en:1;
2862 uint64_t ckout_out:4;
2863 uint64_t ckout_inv:1;
2864 uint64_t ckout_en:1;
2865 uint64_t evcnt_in:6;
2866 uint64_t evcnt_edge:1;
2867 uint64_t evcnt_en:1;
2868 uint64_t tstmp_in:6;
2869 uint64_t tstmp_edge:1;
2870 uint64_t tstmp_en:1;
2871 uint64_t ext_clk_in:6;
2872 uint64_t ext_clk_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
2894 } cn66xx;
2895 struct cvmx_mio_ptp_clock_cfg_s cn68xx;
2896 struct cvmx_mio_ptp_clock_cfg_cn63xx cn68xxp1;
2897 struct cvmx_mio_ptp_clock_cfg_s cnf71xx;
2898}; 1239};
2899 1240
2900union cvmx_mio_ptp_clock_comp { 1241union cvmx_mio_ptp_clock_comp {
2901 uint64_t u64; 1242 uint64_t u64;
2902 struct cvmx_mio_ptp_clock_comp_s { 1243 struct cvmx_mio_ptp_clock_comp_s {
2903#ifdef __BIG_ENDIAN_BITFIELD
2904 uint64_t nanosec:32; 1244 uint64_t nanosec:32;
2905 uint64_t frnanosec:32; 1245 uint64_t frnanosec:32;
2906#else
2907 uint64_t frnanosec:32;
2908 uint64_t nanosec:32;
2909#endif
2910 } s; 1246 } s;
2911 struct cvmx_mio_ptp_clock_comp_s cn61xx;
2912 struct cvmx_mio_ptp_clock_comp_s cn63xx; 1247 struct cvmx_mio_ptp_clock_comp_s cn63xx;
2913 struct cvmx_mio_ptp_clock_comp_s cn63xxp1; 1248 struct cvmx_mio_ptp_clock_comp_s cn63xxp1;
2914 struct cvmx_mio_ptp_clock_comp_s cn66xx;
2915 struct cvmx_mio_ptp_clock_comp_s cn68xx;
2916 struct cvmx_mio_ptp_clock_comp_s cn68xxp1;
2917 struct cvmx_mio_ptp_clock_comp_s cnf71xx;
2918}; 1249};
2919 1250
2920union cvmx_mio_ptp_clock_hi { 1251union cvmx_mio_ptp_clock_hi {
2921 uint64_t u64; 1252 uint64_t u64;
2922 struct cvmx_mio_ptp_clock_hi_s { 1253 struct cvmx_mio_ptp_clock_hi_s {
2923#ifdef __BIG_ENDIAN_BITFIELD
2924 uint64_t nanosec:64;
2925#else
2926 uint64_t nanosec:64; 1254 uint64_t nanosec:64;
2927#endif
2928 } s; 1255 } s;
2929 struct cvmx_mio_ptp_clock_hi_s cn61xx;
2930 struct cvmx_mio_ptp_clock_hi_s cn63xx; 1256 struct cvmx_mio_ptp_clock_hi_s cn63xx;
2931 struct cvmx_mio_ptp_clock_hi_s cn63xxp1; 1257 struct cvmx_mio_ptp_clock_hi_s cn63xxp1;
2932 struct cvmx_mio_ptp_clock_hi_s cn66xx;
2933 struct cvmx_mio_ptp_clock_hi_s cn68xx;
2934 struct cvmx_mio_ptp_clock_hi_s cn68xxp1;
2935 struct cvmx_mio_ptp_clock_hi_s cnf71xx;
2936}; 1258};
2937 1259
2938union cvmx_mio_ptp_clock_lo { 1260union cvmx_mio_ptp_clock_lo {
2939 uint64_t u64; 1261 uint64_t u64;
2940 struct cvmx_mio_ptp_clock_lo_s { 1262 struct cvmx_mio_ptp_clock_lo_s {
2941#ifdef __BIG_ENDIAN_BITFIELD
2942 uint64_t reserved_32_63:32; 1263 uint64_t reserved_32_63:32;
2943 uint64_t frnanosec:32; 1264 uint64_t frnanosec:32;
2944#else
2945 uint64_t frnanosec:32;
2946 uint64_t reserved_32_63:32;
2947#endif
2948 } s; 1265 } s;
2949 struct cvmx_mio_ptp_clock_lo_s cn61xx;
2950 struct cvmx_mio_ptp_clock_lo_s cn63xx; 1266 struct cvmx_mio_ptp_clock_lo_s cn63xx;
2951 struct cvmx_mio_ptp_clock_lo_s cn63xxp1; 1267 struct cvmx_mio_ptp_clock_lo_s cn63xxp1;
2952 struct cvmx_mio_ptp_clock_lo_s cn66xx;
2953 struct cvmx_mio_ptp_clock_lo_s cn68xx;
2954 struct cvmx_mio_ptp_clock_lo_s cn68xxp1;
2955 struct cvmx_mio_ptp_clock_lo_s cnf71xx;
2956}; 1268};
2957 1269
2958union cvmx_mio_ptp_evt_cnt { 1270union cvmx_mio_ptp_evt_cnt {
2959 uint64_t u64; 1271 uint64_t u64;
2960 struct cvmx_mio_ptp_evt_cnt_s { 1272 struct cvmx_mio_ptp_evt_cnt_s {
2961#ifdef __BIG_ENDIAN_BITFIELD
2962 uint64_t cntr:64;
2963#else
2964 uint64_t cntr:64; 1273 uint64_t cntr:64;
2965#endif
2966 } s; 1274 } s;
2967 struct cvmx_mio_ptp_evt_cnt_s cn61xx;
2968 struct cvmx_mio_ptp_evt_cnt_s cn63xx; 1275 struct cvmx_mio_ptp_evt_cnt_s cn63xx;
2969 struct cvmx_mio_ptp_evt_cnt_s cn63xxp1; 1276 struct cvmx_mio_ptp_evt_cnt_s cn63xxp1;
2970 struct cvmx_mio_ptp_evt_cnt_s cn66xx;
2971 struct cvmx_mio_ptp_evt_cnt_s cn68xx;
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;
2988};
2989
2990union cvmx_mio_ptp_pps_hi_incr {
2991 uint64_t u64;
2992 struct cvmx_mio_ptp_pps_hi_incr_s {
2993#ifdef __BIG_ENDIAN_BITFIELD
2994 uint64_t nanosec:32;
2995 uint64_t frnanosec:32;
2996#else
2997 uint64_t frnanosec:32;
2998 uint64_t nanosec:32;
2999#endif
3000 } s;
3001 struct cvmx_mio_ptp_pps_hi_incr_s cn61xx;
3002 struct cvmx_mio_ptp_pps_hi_incr_s cn66xx;
3003 struct cvmx_mio_ptp_pps_hi_incr_s cn68xx;
3004 struct cvmx_mio_ptp_pps_hi_incr_s cnf71xx;
3005};
3006
3007union cvmx_mio_ptp_pps_lo_incr {
3008 uint64_t u64;
3009 struct cvmx_mio_ptp_pps_lo_incr_s {
3010#ifdef __BIG_ENDIAN_BITFIELD
3011 uint64_t nanosec:32;
3012 uint64_t frnanosec:32;
3013#else
3014 uint64_t frnanosec:32;
3015 uint64_t nanosec:32;
3016#endif
3017 } s;
3018 struct cvmx_mio_ptp_pps_lo_incr_s cn61xx;
3019 struct cvmx_mio_ptp_pps_lo_incr_s cn66xx;
3020 struct cvmx_mio_ptp_pps_lo_incr_s cn68xx;
3021 struct cvmx_mio_ptp_pps_lo_incr_s cnf71xx;
3022};
3023
3024union cvmx_mio_ptp_pps_thresh_hi {
3025 uint64_t u64;
3026 struct cvmx_mio_ptp_pps_thresh_hi_s {
3027#ifdef __BIG_ENDIAN_BITFIELD
3028 uint64_t nanosec:64;
3029#else
3030 uint64_t nanosec:64;
3031#endif
3032 } s;
3033 struct cvmx_mio_ptp_pps_thresh_hi_s cn61xx;
3034 struct cvmx_mio_ptp_pps_thresh_hi_s cn66xx;
3035 struct cvmx_mio_ptp_pps_thresh_hi_s cn68xx;
3036 struct cvmx_mio_ptp_pps_thresh_hi_s cnf71xx;
3037};
3038
3039union cvmx_mio_ptp_pps_thresh_lo {
3040 uint64_t u64;
3041 struct cvmx_mio_ptp_pps_thresh_lo_s {
3042#ifdef __BIG_ENDIAN_BITFIELD
3043 uint64_t reserved_32_63:32;
3044 uint64_t frnanosec:32;
3045#else
3046 uint64_t frnanosec:32;
3047 uint64_t reserved_32_63:32;
3048#endif
3049 } s;
3050 struct cvmx_mio_ptp_pps_thresh_lo_s cn61xx;
3051 struct cvmx_mio_ptp_pps_thresh_lo_s cn66xx;
3052 struct cvmx_mio_ptp_pps_thresh_lo_s cn68xx;
3053 struct cvmx_mio_ptp_pps_thresh_lo_s cnf71xx;
3054}; 1277};
3055 1278
3056union cvmx_mio_ptp_timestamp { 1279union cvmx_mio_ptp_timestamp {
3057 uint64_t u64; 1280 uint64_t u64;
3058 struct cvmx_mio_ptp_timestamp_s { 1281 struct cvmx_mio_ptp_timestamp_s {
3059#ifdef __BIG_ENDIAN_BITFIELD
3060 uint64_t nanosec:64;
3061#else
3062 uint64_t nanosec:64; 1282 uint64_t nanosec:64;
3063#endif
3064 } s; 1283 } s;
3065 struct cvmx_mio_ptp_timestamp_s cn61xx;
3066 struct cvmx_mio_ptp_timestamp_s cn63xx; 1284 struct cvmx_mio_ptp_timestamp_s cn63xx;
3067 struct cvmx_mio_ptp_timestamp_s cn63xxp1; 1285 struct cvmx_mio_ptp_timestamp_s cn63xxp1;
3068 struct cvmx_mio_ptp_timestamp_s cn66xx;
3069 struct cvmx_mio_ptp_timestamp_s cn68xx;
3070 struct cvmx_mio_ptp_timestamp_s cn68xxp1;
3071 struct cvmx_mio_ptp_timestamp_s cnf71xx;
3072};
3073
3074union cvmx_mio_qlmx_cfg {
3075 uint64_t u64;
3076 struct cvmx_mio_qlmx_cfg_s {
3077#ifdef __BIG_ENDIAN_BITFIELD
3078 uint64_t reserved_15_63:49;
3079 uint64_t prtmode:1;
3080 uint64_t reserved_12_13:2;
3081 uint64_t qlm_spd:4;
3082 uint64_t reserved_4_7: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
3092 } s;
3093 struct cvmx_mio_qlmx_cfg_cn61xx {
3094#ifdef __BIG_ENDIAN_BITFIELD
3095 uint64_t reserved_15_63:49;
3096 uint64_t prtmode:1;
3097 uint64_t reserved_12_13:2;
3098 uint64_t qlm_spd:4;
3099 uint64_t reserved_2_7:6;
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
3109 } cn61xx;
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;
3123 struct cvmx_mio_qlmx_cfg_cn68xx {
3124#ifdef __BIG_ENDIAN_BITFIELD
3125 uint64_t reserved_12_63:52;
3126 uint64_t qlm_spd:4;
3127 uint64_t reserved_3_7:5;
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
3135 } cn68xx;
3136 struct cvmx_mio_qlmx_cfg_cn68xx cn68xxp1;
3137 struct cvmx_mio_qlmx_cfg_cn61xx cnf71xx;
3138}; 1286};
3139 1287
3140union cvmx_mio_rst_boot { 1288union cvmx_mio_rst_boot {
3141 uint64_t u64; 1289 uint64_t u64;
3142 struct cvmx_mio_rst_boot_s { 1290 struct cvmx_mio_rst_boot_s {
3143#ifdef __BIG_ENDIAN_BITFIELD
3144 uint64_t chipkill:1;
3145 uint64_t jtcsrdis:1;
3146 uint64_t ejtagdis:1;
3147 uint64_t romen:1;
3148 uint64_t ckill_ppdis:1;
3149 uint64_t jt_tstmode:1;
3150 uint64_t reserved_50_57:8;
3151 uint64_t lboot_ext:2;
3152 uint64_t reserved_44_47:4;
3153 uint64_t qlm4_spd:4;
3154 uint64_t qlm3_spd:4;
3155 uint64_t c_mul:6;
3156 uint64_t pnr_mul:6;
3157 uint64_t qlm2_spd:4;
3158 uint64_t qlm1_spd:4;
3159 uint64_t qlm0_spd:4;
3160 uint64_t lboot:10;
3161 uint64_t rboot: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
3184 } s;
3185 struct cvmx_mio_rst_boot_cn61xx {
3186#ifdef __BIG_ENDIAN_BITFIELD
3187 uint64_t chipkill:1;
3188 uint64_t jtcsrdis:1;
3189 uint64_t ejtagdis:1;
3190 uint64_t romen:1;
3191 uint64_t ckill_ppdis:1;
3192 uint64_t jt_tstmode:1;
3193 uint64_t reserved_50_57:8;
3194 uint64_t lboot_ext:2;
3195 uint64_t reserved_36_47:12;
3196 uint64_t c_mul:6;
3197 uint64_t pnr_mul:6;
3198 uint64_t qlm2_spd:4;
3199 uint64_t qlm1_spd:4;
3200 uint64_t qlm0_spd:4;
3201 uint64_t lboot:10;
3202 uint64_t rboot: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
3223 } cn61xx;
3224 struct cvmx_mio_rst_boot_cn63xx {
3225#ifdef __BIG_ENDIAN_BITFIELD
3226 uint64_t reserved_36_63:28;
3227 uint64_t c_mul:6;
3228 uint64_t pnr_mul:6;
3229 uint64_t qlm2_spd:4;
3230 uint64_t qlm1_spd:4;
3231 uint64_t qlm0_spd:4;
3232 uint64_t lboot:10;
3233 uint64_t rboot: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; 1291 uint64_t reserved_36_63:28;
3245#endif
3246 } cn63xx;
3247 struct cvmx_mio_rst_boot_cn63xx cn63xxp1;
3248 struct cvmx_mio_rst_boot_cn66xx {
3249#ifdef __BIG_ENDIAN_BITFIELD
3250 uint64_t chipkill:1;
3251 uint64_t jtcsrdis:1;
3252 uint64_t ejtagdis:1;
3253 uint64_t romen:1;
3254 uint64_t ckill_ppdis:1;
3255 uint64_t reserved_50_58:9;
3256 uint64_t lboot_ext:2;
3257 uint64_t reserved_36_47:12;
3258 uint64_t c_mul:6;
3259 uint64_t pnr_mul:6;
3260 uint64_t qlm2_spd:4;
3261 uint64_t qlm1_spd:4;
3262 uint64_t qlm0_spd:4;
3263 uint64_t lboot:10;
3264 uint64_t rboot: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
3284 } cn66xx;
3285 struct cvmx_mio_rst_boot_cn68xx {
3286#ifdef __BIG_ENDIAN_BITFIELD
3287 uint64_t reserved_59_63:5;
3288 uint64_t jt_tstmode:1;
3289 uint64_t reserved_44_57:14;
3290 uint64_t qlm4_spd:4;
3291 uint64_t qlm3_spd:4;
3292 uint64_t c_mul:6;
3293 uint64_t pnr_mul:6;
3294 uint64_t qlm2_spd:4;
3295 uint64_t qlm1_spd:4;
3296 uint64_t qlm0_spd:4;
3297 uint64_t lboot:10;
3298 uint64_t rboot: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
3315 } cn68xx;
3316 struct cvmx_mio_rst_boot_cn68xxp1 {
3317#ifdef __BIG_ENDIAN_BITFIELD
3318 uint64_t reserved_44_63:20;
3319 uint64_t qlm4_spd:4;
3320 uint64_t qlm3_spd:4;
3321 uint64_t c_mul:6; 1292 uint64_t c_mul:6;
3322 uint64_t pnr_mul:6; 1293 uint64_t pnr_mul:6;
3323 uint64_t qlm2_spd:4; 1294 uint64_t qlm2_spd:4;
@@ -3326,202 +1297,32 @@ union cvmx_mio_rst_boot {
3326 uint64_t lboot:10; 1297 uint64_t lboot:10;
3327 uint64_t rboot:1; 1298 uint64_t rboot:1;
3328 uint64_t rboot_pin:1; 1299 uint64_t rboot_pin:1;
3329#else 1300 } s;
3330 uint64_t rboot_pin:1; 1301 struct cvmx_mio_rst_boot_s cn63xx;
3331 uint64_t rboot:1; 1302 struct cvmx_mio_rst_boot_s cn63xxp1;
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
3342 } cn68xxp1;
3343 struct cvmx_mio_rst_boot_cn61xx cnf71xx;
3344}; 1303};
3345 1304
3346union cvmx_mio_rst_cfg { 1305union cvmx_mio_rst_cfg {
3347 uint64_t u64; 1306 uint64_t u64;
3348 struct cvmx_mio_rst_cfg_s { 1307 struct cvmx_mio_rst_cfg_s {
3349#ifdef __BIG_ENDIAN_BITFIELD
3350 uint64_t reserved_3_63:61;
3351 uint64_t cntl_clr_bist:1;
3352 uint64_t warm_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
3360 } s;
3361 struct cvmx_mio_rst_cfg_cn61xx {
3362#ifdef __BIG_ENDIAN_BITFIELD
3363 uint64_t bist_delay:58; 1308 uint64_t bist_delay:58;
3364 uint64_t reserved_3_5:3; 1309 uint64_t reserved_3_5:3;
3365 uint64_t cntl_clr_bist:1; 1310 uint64_t cntl_clr_bist:1;
3366 uint64_t warm_clr_bist:1; 1311 uint64_t warm_clr_bist:1;
3367 uint64_t soft_clr_bist:1; 1312 uint64_t soft_clr_bist:1;
3368#else 1313 } s;
3369 uint64_t soft_clr_bist:1; 1314 struct cvmx_mio_rst_cfg_s cn63xx;
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
3375 } cn61xx;
3376 struct cvmx_mio_rst_cfg_cn61xx cn63xx;
3377 struct cvmx_mio_rst_cfg_cn63xxp1 { 1315 struct cvmx_mio_rst_cfg_cn63xxp1 {
3378#ifdef __BIG_ENDIAN_BITFIELD
3379 uint64_t bist_delay:58; 1316 uint64_t bist_delay:58;
3380 uint64_t reserved_2_5:4; 1317 uint64_t reserved_2_5:4;
3381 uint64_t warm_clr_bist:1; 1318 uint64_t warm_clr_bist:1;
3382 uint64_t soft_clr_bist:1; 1319 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
3389 } cn63xxp1; 1320 } cn63xxp1;
3390 struct cvmx_mio_rst_cfg_cn61xx cn66xx;
3391 struct cvmx_mio_rst_cfg_cn68xx {
3392#ifdef __BIG_ENDIAN_BITFIELD
3393 uint64_t bist_delay:56;
3394 uint64_t reserved_3_7:5;
3395 uint64_t cntl_clr_bist:1;
3396 uint64_t warm_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
3405 } cn68xx;
3406 struct cvmx_mio_rst_cfg_cn68xx cn68xxp1;
3407 struct cvmx_mio_rst_cfg_cn61xx cnf71xx;
3408};
3409
3410union cvmx_mio_rst_ckill {
3411 uint64_t u64;
3412 struct cvmx_mio_rst_ckill_s {
3413#ifdef __BIG_ENDIAN_BITFIELD
3414 uint64_t reserved_47_63:17;
3415 uint64_t timer:47;
3416#else
3417 uint64_t timer:47;
3418 uint64_t reserved_47_63:17;
3419#endif
3420 } s;
3421 struct cvmx_mio_rst_ckill_s cn61xx;
3422 struct cvmx_mio_rst_ckill_s cn66xx;
3423 struct cvmx_mio_rst_ckill_s cnf71xx;
3424};
3425
3426union cvmx_mio_rst_cntlx {
3427 uint64_t u64;
3428 struct cvmx_mio_rst_cntlx_s {
3429#ifdef __BIG_ENDIAN_BITFIELD
3430 uint64_t reserved_13_63:51;
3431 uint64_t in_rev_ln:1;
3432 uint64_t rev_lanes:1;
3433 uint64_t gen1_only:1;
3434 uint64_t prst_link:1;
3435 uint64_t rst_done:1;
3436 uint64_t rst_link:1;
3437 uint64_t host_mode:1;
3438 uint64_t prtmode:2;
3439 uint64_t rst_drv:1;
3440 uint64_t rst_rcv:1;
3441 uint64_t rst_chip: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
3458 } s;
3459 struct cvmx_mio_rst_cntlx_s cn61xx;
3460 struct cvmx_mio_rst_cntlx_cn66xx {
3461#ifdef __BIG_ENDIAN_BITFIELD
3462 uint64_t reserved_10_63:54;
3463 uint64_t prst_link:1;
3464 uint64_t rst_done:1;
3465 uint64_t rst_link:1;
3466 uint64_t host_mode:1;
3467 uint64_t prtmode:2;
3468 uint64_t rst_drv:1;
3469 uint64_t rst_rcv:1;
3470 uint64_t rst_chip: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
3484 } cn66xx;
3485 struct cvmx_mio_rst_cntlx_cn66xx cn68xx;
3486 struct cvmx_mio_rst_cntlx_s cnf71xx;
3487}; 1321};
3488 1322
3489union cvmx_mio_rst_ctlx { 1323union cvmx_mio_rst_ctlx {
3490 uint64_t u64; 1324 uint64_t u64;
3491 struct cvmx_mio_rst_ctlx_s { 1325 struct cvmx_mio_rst_ctlx_s {
3492#ifdef __BIG_ENDIAN_BITFIELD
3493 uint64_t reserved_13_63:51;
3494 uint64_t in_rev_ln:1;
3495 uint64_t rev_lanes:1;
3496 uint64_t gen1_only:1;
3497 uint64_t prst_link:1;
3498 uint64_t rst_done:1;
3499 uint64_t rst_link:1;
3500 uint64_t host_mode:1;
3501 uint64_t prtmode:2;
3502 uint64_t rst_drv:1;
3503 uint64_t rst_rcv:1;
3504 uint64_t rst_chip: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
3521 } s;
3522 struct cvmx_mio_rst_ctlx_s cn61xx;
3523 struct cvmx_mio_rst_ctlx_cn63xx {
3524#ifdef __BIG_ENDIAN_BITFIELD
3525 uint64_t reserved_10_63:54; 1326 uint64_t reserved_10_63:54;
3526 uint64_t prst_link:1; 1327 uint64_t prst_link:1;
3527 uint64_t rst_done:1; 1328 uint64_t rst_done:1;
@@ -3532,21 +1333,9 @@ union cvmx_mio_rst_ctlx {
3532 uint64_t rst_rcv:1; 1333 uint64_t rst_rcv:1;
3533 uint64_t rst_chip:1; 1334 uint64_t rst_chip:1;
3534 uint64_t rst_val:1; 1335 uint64_t rst_val:1;
3535#else 1336 } s;
3536 uint64_t rst_val:1; 1337 struct cvmx_mio_rst_ctlx_s cn63xx;
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
3547 } cn63xx;
3548 struct cvmx_mio_rst_ctlx_cn63xxp1 { 1338 struct cvmx_mio_rst_ctlx_cn63xxp1 {
3549#ifdef __BIG_ENDIAN_BITFIELD
3550 uint64_t reserved_9_63:55; 1339 uint64_t reserved_9_63:55;
3551 uint64_t rst_done:1; 1340 uint64_t rst_done:1;
3552 uint64_t rst_link:1; 1341 uint64_t rst_link:1;
@@ -3556,146 +1345,51 @@ union cvmx_mio_rst_ctlx {
3556 uint64_t rst_rcv:1; 1345 uint64_t rst_rcv:1;
3557 uint64_t rst_chip:1; 1346 uint64_t rst_chip:1;
3558 uint64_t rst_val:1; 1347 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
3570 } cn63xxp1; 1348 } cn63xxp1;
3571 struct cvmx_mio_rst_ctlx_cn63xx cn66xx;
3572 struct cvmx_mio_rst_ctlx_cn63xx cn68xx;
3573 struct cvmx_mio_rst_ctlx_cn63xx cn68xxp1;
3574 struct cvmx_mio_rst_ctlx_s cnf71xx;
3575}; 1349};
3576 1350
3577union cvmx_mio_rst_delay { 1351union cvmx_mio_rst_delay {
3578 uint64_t u64; 1352 uint64_t u64;
3579 struct cvmx_mio_rst_delay_s { 1353 struct cvmx_mio_rst_delay_s {
3580#ifdef __BIG_ENDIAN_BITFIELD
3581 uint64_t reserved_32_63:32; 1354 uint64_t reserved_32_63:32;
3582 uint64_t warm_rst_dly:16;
3583 uint64_t soft_rst_dly:16;
3584#else
3585 uint64_t soft_rst_dly:16; 1355 uint64_t soft_rst_dly:16;
3586 uint64_t warm_rst_dly:16; 1356 uint64_t warm_rst_dly:16;
3587 uint64_t reserved_32_63:32;
3588#endif
3589 } s; 1357 } s;
3590 struct cvmx_mio_rst_delay_s cn61xx;
3591 struct cvmx_mio_rst_delay_s cn63xx; 1358 struct cvmx_mio_rst_delay_s cn63xx;
3592 struct cvmx_mio_rst_delay_s cn63xxp1; 1359 struct cvmx_mio_rst_delay_s cn63xxp1;
3593 struct cvmx_mio_rst_delay_s cn66xx;
3594 struct cvmx_mio_rst_delay_s cn68xx;
3595 struct cvmx_mio_rst_delay_s cn68xxp1;
3596 struct cvmx_mio_rst_delay_s cnf71xx;
3597}; 1360};
3598 1361
3599union cvmx_mio_rst_int { 1362union cvmx_mio_rst_int {
3600 uint64_t u64; 1363 uint64_t u64;
3601 struct cvmx_mio_rst_int_s { 1364 struct cvmx_mio_rst_int_s {
3602#ifdef __BIG_ENDIAN_BITFIELD
3603 uint64_t reserved_10_63:54;
3604 uint64_t perst1:1;
3605 uint64_t perst0:1;
3606 uint64_t reserved_4_7:4;
3607 uint64_t rst_link3:1;
3608 uint64_t rst_link2:1;
3609 uint64_t rst_link1: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
3621 } s;
3622 struct cvmx_mio_rst_int_cn61xx {
3623#ifdef __BIG_ENDIAN_BITFIELD
3624 uint64_t reserved_10_63:54; 1365 uint64_t reserved_10_63:54;
3625 uint64_t perst1:1; 1366 uint64_t perst1:1;
3626 uint64_t perst0:1; 1367 uint64_t perst0:1;
3627 uint64_t reserved_2_7:6; 1368 uint64_t reserved_2_7:6;
3628 uint64_t rst_link1:1; 1369 uint64_t rst_link1:1;
3629 uint64_t rst_link0:1; 1370 uint64_t rst_link0:1;
3630#else 1371 } s;
3631 uint64_t rst_link0:1; 1372 struct cvmx_mio_rst_int_s cn63xx;
3632 uint64_t rst_link1:1; 1373 struct cvmx_mio_rst_int_s cn63xxp1;
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
3638 } cn61xx;
3639 struct cvmx_mio_rst_int_cn61xx cn63xx;
3640 struct cvmx_mio_rst_int_cn61xx cn63xxp1;
3641 struct cvmx_mio_rst_int_s cn66xx;
3642 struct cvmx_mio_rst_int_cn61xx cn68xx;
3643 struct cvmx_mio_rst_int_cn61xx cn68xxp1;
3644 struct cvmx_mio_rst_int_cn61xx cnf71xx;
3645}; 1374};
3646 1375
3647union cvmx_mio_rst_int_en { 1376union cvmx_mio_rst_int_en {
3648 uint64_t u64; 1377 uint64_t u64;
3649 struct cvmx_mio_rst_int_en_s { 1378 struct cvmx_mio_rst_int_en_s {
3650#ifdef __BIG_ENDIAN_BITFIELD
3651 uint64_t reserved_10_63:54;
3652 uint64_t perst1:1;
3653 uint64_t perst0:1;
3654 uint64_t reserved_4_7:4;
3655 uint64_t rst_link3:1;
3656 uint64_t rst_link2:1;
3657 uint64_t rst_link1: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
3669 } s;
3670 struct cvmx_mio_rst_int_en_cn61xx {
3671#ifdef __BIG_ENDIAN_BITFIELD
3672 uint64_t reserved_10_63:54; 1379 uint64_t reserved_10_63:54;
3673 uint64_t perst1:1; 1380 uint64_t perst1:1;
3674 uint64_t perst0:1; 1381 uint64_t perst0:1;
3675 uint64_t reserved_2_7:6; 1382 uint64_t reserved_2_7:6;
3676 uint64_t rst_link1:1; 1383 uint64_t rst_link1:1;
3677 uint64_t rst_link0:1; 1384 uint64_t rst_link0:1;
3678#else 1385 } s;
3679 uint64_t rst_link0:1; 1386 struct cvmx_mio_rst_int_en_s cn63xx;
3680 uint64_t rst_link1:1; 1387 struct cvmx_mio_rst_int_en_s cn63xxp1;
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
3686 } cn61xx;
3687 struct cvmx_mio_rst_int_en_cn61xx cn63xx;
3688 struct cvmx_mio_rst_int_en_cn61xx cn63xxp1;
3689 struct cvmx_mio_rst_int_en_s cn66xx;
3690 struct cvmx_mio_rst_int_en_cn61xx cn68xx;
3691 struct cvmx_mio_rst_int_en_cn61xx cn68xxp1;
3692 struct cvmx_mio_rst_int_en_cn61xx cnf71xx;
3693}; 1388};
3694 1389
3695union cvmx_mio_twsx_int { 1390union cvmx_mio_twsx_int {
3696 uint64_t u64; 1391 uint64_t u64;
3697 struct cvmx_mio_twsx_int_s { 1392 struct cvmx_mio_twsx_int_s {
3698#ifdef __BIG_ENDIAN_BITFIELD
3699 uint64_t reserved_12_63:52; 1393 uint64_t reserved_12_63:52;
3700 uint64_t scl:1; 1394 uint64_t scl:1;
3701 uint64_t sda:1; 1395 uint64_t sda:1;
@@ -3709,27 +1403,11 @@ union cvmx_mio_twsx_int {
3709 uint64_t core_int:1; 1403 uint64_t core_int:1;
3710 uint64_t ts_int:1; 1404 uint64_t ts_int:1;
3711 uint64_t st_int:1; 1405 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
3727 } s; 1406 } s;
3728 struct cvmx_mio_twsx_int_s cn30xx; 1407 struct cvmx_mio_twsx_int_s cn30xx;
3729 struct cvmx_mio_twsx_int_s cn31xx; 1408 struct cvmx_mio_twsx_int_s cn31xx;
3730 struct cvmx_mio_twsx_int_s cn38xx; 1409 struct cvmx_mio_twsx_int_s cn38xx;
3731 struct cvmx_mio_twsx_int_cn38xxp2 { 1410 struct cvmx_mio_twsx_int_cn38xxp2 {
3732#ifdef __BIG_ENDIAN_BITFIELD
3733 uint64_t reserved_7_63:57; 1411 uint64_t reserved_7_63:57;
3734 uint64_t core_en:1; 1412 uint64_t core_en:1;
3735 uint64_t ts_en:1; 1413 uint64_t ts_en:1;
@@ -3738,16 +1416,6 @@ union cvmx_mio_twsx_int {
3738 uint64_t core_int:1; 1416 uint64_t core_int:1;
3739 uint64_t ts_int:1; 1417 uint64_t ts_int:1;
3740 uint64_t st_int:1; 1418 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
3751 } cn38xxp2; 1419 } cn38xxp2;
3752 struct cvmx_mio_twsx_int_s cn50xx; 1420 struct cvmx_mio_twsx_int_s cn50xx;
3753 struct cvmx_mio_twsx_int_s cn52xx; 1421 struct cvmx_mio_twsx_int_s cn52xx;
@@ -3756,19 +1424,13 @@ union cvmx_mio_twsx_int {
3756 struct cvmx_mio_twsx_int_s cn56xxp1; 1424 struct cvmx_mio_twsx_int_s cn56xxp1;
3757 struct cvmx_mio_twsx_int_s cn58xx; 1425 struct cvmx_mio_twsx_int_s cn58xx;
3758 struct cvmx_mio_twsx_int_s cn58xxp1; 1426 struct cvmx_mio_twsx_int_s cn58xxp1;
3759 struct cvmx_mio_twsx_int_s cn61xx;
3760 struct cvmx_mio_twsx_int_s cn63xx; 1427 struct cvmx_mio_twsx_int_s cn63xx;
3761 struct cvmx_mio_twsx_int_s cn63xxp1; 1428 struct cvmx_mio_twsx_int_s cn63xxp1;
3762 struct cvmx_mio_twsx_int_s cn66xx;
3763 struct cvmx_mio_twsx_int_s cn68xx;
3764 struct cvmx_mio_twsx_int_s cn68xxp1;
3765 struct cvmx_mio_twsx_int_s cnf71xx;
3766}; 1429};
3767 1430
3768union cvmx_mio_twsx_sw_twsi { 1431union cvmx_mio_twsx_sw_twsi {
3769 uint64_t u64; 1432 uint64_t u64;
3770 struct cvmx_mio_twsx_sw_twsi_s { 1433 struct cvmx_mio_twsx_sw_twsi_s {
3771#ifdef __BIG_ENDIAN_BITFIELD
3772 uint64_t v:1; 1434 uint64_t v:1;
3773 uint64_t slonly:1; 1435 uint64_t slonly:1;
3774 uint64_t eia:1; 1436 uint64_t eia:1;
@@ -3781,20 +1443,6 @@ union cvmx_mio_twsx_sw_twsi {
3781 uint64_t ia:5; 1443 uint64_t ia:5;
3782 uint64_t eop_ia:3; 1444 uint64_t eop_ia:3;
3783 uint64_t d:32; 1445 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
3798 } s; 1446 } s;
3799 struct cvmx_mio_twsx_sw_twsi_s cn30xx; 1447 struct cvmx_mio_twsx_sw_twsi_s cn30xx;
3800 struct cvmx_mio_twsx_sw_twsi_s cn31xx; 1448 struct cvmx_mio_twsx_sw_twsi_s cn31xx;
@@ -3807,27 +1455,16 @@ union cvmx_mio_twsx_sw_twsi {
3807 struct cvmx_mio_twsx_sw_twsi_s cn56xxp1; 1455 struct cvmx_mio_twsx_sw_twsi_s cn56xxp1;
3808 struct cvmx_mio_twsx_sw_twsi_s cn58xx; 1456 struct cvmx_mio_twsx_sw_twsi_s cn58xx;
3809 struct cvmx_mio_twsx_sw_twsi_s cn58xxp1; 1457 struct cvmx_mio_twsx_sw_twsi_s cn58xxp1;
3810 struct cvmx_mio_twsx_sw_twsi_s cn61xx;
3811 struct cvmx_mio_twsx_sw_twsi_s cn63xx; 1458 struct cvmx_mio_twsx_sw_twsi_s cn63xx;
3812 struct cvmx_mio_twsx_sw_twsi_s cn63xxp1; 1459 struct cvmx_mio_twsx_sw_twsi_s cn63xxp1;
3813 struct cvmx_mio_twsx_sw_twsi_s cn66xx;
3814 struct cvmx_mio_twsx_sw_twsi_s cn68xx;
3815 struct cvmx_mio_twsx_sw_twsi_s cn68xxp1;
3816 struct cvmx_mio_twsx_sw_twsi_s cnf71xx;
3817}; 1460};
3818 1461
3819union cvmx_mio_twsx_sw_twsi_ext { 1462union cvmx_mio_twsx_sw_twsi_ext {
3820 uint64_t u64; 1463 uint64_t u64;
3821 struct cvmx_mio_twsx_sw_twsi_ext_s { 1464 struct cvmx_mio_twsx_sw_twsi_ext_s {
3822#ifdef __BIG_ENDIAN_BITFIELD
3823 uint64_t reserved_40_63:24; 1465 uint64_t reserved_40_63:24;
3824 uint64_t ia:8; 1466 uint64_t ia:8;
3825 uint64_t d:32; 1467 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
3831 } s; 1468 } s;
3832 struct cvmx_mio_twsx_sw_twsi_ext_s cn30xx; 1469 struct cvmx_mio_twsx_sw_twsi_ext_s cn30xx;
3833 struct cvmx_mio_twsx_sw_twsi_ext_s cn31xx; 1470 struct cvmx_mio_twsx_sw_twsi_ext_s cn31xx;
@@ -3840,27 +1477,16 @@ union cvmx_mio_twsx_sw_twsi_ext {
3840 struct cvmx_mio_twsx_sw_twsi_ext_s cn56xxp1; 1477 struct cvmx_mio_twsx_sw_twsi_ext_s cn56xxp1;
3841 struct cvmx_mio_twsx_sw_twsi_ext_s cn58xx; 1478 struct cvmx_mio_twsx_sw_twsi_ext_s cn58xx;
3842 struct cvmx_mio_twsx_sw_twsi_ext_s cn58xxp1; 1479 struct cvmx_mio_twsx_sw_twsi_ext_s cn58xxp1;
3843 struct cvmx_mio_twsx_sw_twsi_ext_s cn61xx;
3844 struct cvmx_mio_twsx_sw_twsi_ext_s cn63xx; 1480 struct cvmx_mio_twsx_sw_twsi_ext_s cn63xx;
3845 struct cvmx_mio_twsx_sw_twsi_ext_s cn63xxp1; 1481 struct cvmx_mio_twsx_sw_twsi_ext_s cn63xxp1;
3846 struct cvmx_mio_twsx_sw_twsi_ext_s cn66xx;
3847 struct cvmx_mio_twsx_sw_twsi_ext_s cn68xx;
3848 struct cvmx_mio_twsx_sw_twsi_ext_s cn68xxp1;
3849 struct cvmx_mio_twsx_sw_twsi_ext_s cnf71xx;
3850}; 1482};
3851 1483
3852union cvmx_mio_twsx_twsi_sw { 1484union cvmx_mio_twsx_twsi_sw {
3853 uint64_t u64; 1485 uint64_t u64;
3854 struct cvmx_mio_twsx_twsi_sw_s { 1486 struct cvmx_mio_twsx_twsi_sw_s {
3855#ifdef __BIG_ENDIAN_BITFIELD
3856 uint64_t v:2; 1487 uint64_t v:2;
3857 uint64_t reserved_32_61:30; 1488 uint64_t reserved_32_61:30;
3858 uint64_t d:32; 1489 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
3864 } s; 1490 } s;
3865 struct cvmx_mio_twsx_twsi_sw_s cn30xx; 1491 struct cvmx_mio_twsx_twsi_sw_s cn30xx;
3866 struct cvmx_mio_twsx_twsi_sw_s cn31xx; 1492 struct cvmx_mio_twsx_twsi_sw_s cn31xx;
@@ -3873,25 +1499,15 @@ union cvmx_mio_twsx_twsi_sw {
3873 struct cvmx_mio_twsx_twsi_sw_s cn56xxp1; 1499 struct cvmx_mio_twsx_twsi_sw_s cn56xxp1;
3874 struct cvmx_mio_twsx_twsi_sw_s cn58xx; 1500 struct cvmx_mio_twsx_twsi_sw_s cn58xx;
3875 struct cvmx_mio_twsx_twsi_sw_s cn58xxp1; 1501 struct cvmx_mio_twsx_twsi_sw_s cn58xxp1;
3876 struct cvmx_mio_twsx_twsi_sw_s cn61xx;
3877 struct cvmx_mio_twsx_twsi_sw_s cn63xx; 1502 struct cvmx_mio_twsx_twsi_sw_s cn63xx;
3878 struct cvmx_mio_twsx_twsi_sw_s cn63xxp1; 1503 struct cvmx_mio_twsx_twsi_sw_s cn63xxp1;
3879 struct cvmx_mio_twsx_twsi_sw_s cn66xx;
3880 struct cvmx_mio_twsx_twsi_sw_s cn68xx;
3881 struct cvmx_mio_twsx_twsi_sw_s cn68xxp1;
3882 struct cvmx_mio_twsx_twsi_sw_s cnf71xx;
3883}; 1504};
3884 1505
3885union cvmx_mio_uartx_dlh { 1506union cvmx_mio_uartx_dlh {
3886 uint64_t u64; 1507 uint64_t u64;
3887 struct cvmx_mio_uartx_dlh_s { 1508 struct cvmx_mio_uartx_dlh_s {
3888#ifdef __BIG_ENDIAN_BITFIELD
3889 uint64_t reserved_8_63:56; 1509 uint64_t reserved_8_63:56;
3890 uint64_t dlh:8; 1510 uint64_t dlh:8;
3891#else
3892 uint64_t dlh:8;
3893 uint64_t reserved_8_63:56;
3894#endif
3895 } s; 1511 } s;
3896 struct cvmx_mio_uartx_dlh_s cn30xx; 1512 struct cvmx_mio_uartx_dlh_s cn30xx;
3897 struct cvmx_mio_uartx_dlh_s cn31xx; 1513 struct cvmx_mio_uartx_dlh_s cn31xx;
@@ -3904,25 +1520,15 @@ union cvmx_mio_uartx_dlh {
3904 struct cvmx_mio_uartx_dlh_s cn56xxp1; 1520 struct cvmx_mio_uartx_dlh_s cn56xxp1;
3905 struct cvmx_mio_uartx_dlh_s cn58xx; 1521 struct cvmx_mio_uartx_dlh_s cn58xx;
3906 struct cvmx_mio_uartx_dlh_s cn58xxp1; 1522 struct cvmx_mio_uartx_dlh_s cn58xxp1;
3907 struct cvmx_mio_uartx_dlh_s cn61xx;
3908 struct cvmx_mio_uartx_dlh_s cn63xx; 1523 struct cvmx_mio_uartx_dlh_s cn63xx;
3909 struct cvmx_mio_uartx_dlh_s cn63xxp1; 1524 struct cvmx_mio_uartx_dlh_s cn63xxp1;
3910 struct cvmx_mio_uartx_dlh_s cn66xx;
3911 struct cvmx_mio_uartx_dlh_s cn68xx;
3912 struct cvmx_mio_uartx_dlh_s cn68xxp1;
3913 struct cvmx_mio_uartx_dlh_s cnf71xx;
3914}; 1525};
3915 1526
3916union cvmx_mio_uartx_dll { 1527union cvmx_mio_uartx_dll {
3917 uint64_t u64; 1528 uint64_t u64;
3918 struct cvmx_mio_uartx_dll_s { 1529 struct cvmx_mio_uartx_dll_s {
3919#ifdef __BIG_ENDIAN_BITFIELD
3920 uint64_t reserved_8_63:56; 1530 uint64_t reserved_8_63:56;
3921 uint64_t dll:8; 1531 uint64_t dll:8;
3922#else
3923 uint64_t dll:8;
3924 uint64_t reserved_8_63:56;
3925#endif
3926 } s; 1532 } s;
3927 struct cvmx_mio_uartx_dll_s cn30xx; 1533 struct cvmx_mio_uartx_dll_s cn30xx;
3928 struct cvmx_mio_uartx_dll_s cn31xx; 1534 struct cvmx_mio_uartx_dll_s cn31xx;
@@ -3935,25 +1541,15 @@ union cvmx_mio_uartx_dll {
3935 struct cvmx_mio_uartx_dll_s cn56xxp1; 1541 struct cvmx_mio_uartx_dll_s cn56xxp1;
3936 struct cvmx_mio_uartx_dll_s cn58xx; 1542 struct cvmx_mio_uartx_dll_s cn58xx;
3937 struct cvmx_mio_uartx_dll_s cn58xxp1; 1543 struct cvmx_mio_uartx_dll_s cn58xxp1;
3938 struct cvmx_mio_uartx_dll_s cn61xx;
3939 struct cvmx_mio_uartx_dll_s cn63xx; 1544 struct cvmx_mio_uartx_dll_s cn63xx;
3940 struct cvmx_mio_uartx_dll_s cn63xxp1; 1545 struct cvmx_mio_uartx_dll_s cn63xxp1;
3941 struct cvmx_mio_uartx_dll_s cn66xx;
3942 struct cvmx_mio_uartx_dll_s cn68xx;
3943 struct cvmx_mio_uartx_dll_s cn68xxp1;
3944 struct cvmx_mio_uartx_dll_s cnf71xx;
3945}; 1546};
3946 1547
3947union cvmx_mio_uartx_far { 1548union cvmx_mio_uartx_far {
3948 uint64_t u64; 1549 uint64_t u64;
3949 struct cvmx_mio_uartx_far_s { 1550 struct cvmx_mio_uartx_far_s {
3950#ifdef __BIG_ENDIAN_BITFIELD
3951 uint64_t reserved_1_63:63; 1551 uint64_t reserved_1_63:63;
3952 uint64_t far:1; 1552 uint64_t far:1;
3953#else
3954 uint64_t far:1;
3955 uint64_t reserved_1_63:63;
3956#endif
3957 } s; 1553 } s;
3958 struct cvmx_mio_uartx_far_s cn30xx; 1554 struct cvmx_mio_uartx_far_s cn30xx;
3959 struct cvmx_mio_uartx_far_s cn31xx; 1555 struct cvmx_mio_uartx_far_s cn31xx;
@@ -3966,19 +1562,13 @@ union cvmx_mio_uartx_far {
3966 struct cvmx_mio_uartx_far_s cn56xxp1; 1562 struct cvmx_mio_uartx_far_s cn56xxp1;
3967 struct cvmx_mio_uartx_far_s cn58xx; 1563 struct cvmx_mio_uartx_far_s cn58xx;
3968 struct cvmx_mio_uartx_far_s cn58xxp1; 1564 struct cvmx_mio_uartx_far_s cn58xxp1;
3969 struct cvmx_mio_uartx_far_s cn61xx;
3970 struct cvmx_mio_uartx_far_s cn63xx; 1565 struct cvmx_mio_uartx_far_s cn63xx;
3971 struct cvmx_mio_uartx_far_s cn63xxp1; 1566 struct cvmx_mio_uartx_far_s cn63xxp1;
3972 struct cvmx_mio_uartx_far_s cn66xx;
3973 struct cvmx_mio_uartx_far_s cn68xx;
3974 struct cvmx_mio_uartx_far_s cn68xxp1;
3975 struct cvmx_mio_uartx_far_s cnf71xx;
3976}; 1567};
3977 1568
3978union cvmx_mio_uartx_fcr { 1569union cvmx_mio_uartx_fcr {
3979 uint64_t u64; 1570 uint64_t u64;
3980 struct cvmx_mio_uartx_fcr_s { 1571 struct cvmx_mio_uartx_fcr_s {
3981#ifdef __BIG_ENDIAN_BITFIELD
3982 uint64_t reserved_8_63:56; 1572 uint64_t reserved_8_63:56;
3983 uint64_t rxtrig:2; 1573 uint64_t rxtrig:2;
3984 uint64_t txtrig:2; 1574 uint64_t txtrig:2;
@@ -3986,15 +1576,6 @@ union cvmx_mio_uartx_fcr {
3986 uint64_t txfr:1; 1576 uint64_t txfr:1;
3987 uint64_t rxfr:1; 1577 uint64_t rxfr:1;
3988 uint64_t en:1; 1578 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
3998 } s; 1579 } s;
3999 struct cvmx_mio_uartx_fcr_s cn30xx; 1580 struct cvmx_mio_uartx_fcr_s cn30xx;
4000 struct cvmx_mio_uartx_fcr_s cn31xx; 1581 struct cvmx_mio_uartx_fcr_s cn31xx;
@@ -4007,25 +1588,15 @@ union cvmx_mio_uartx_fcr {
4007 struct cvmx_mio_uartx_fcr_s cn56xxp1; 1588 struct cvmx_mio_uartx_fcr_s cn56xxp1;
4008 struct cvmx_mio_uartx_fcr_s cn58xx; 1589 struct cvmx_mio_uartx_fcr_s cn58xx;
4009 struct cvmx_mio_uartx_fcr_s cn58xxp1; 1590 struct cvmx_mio_uartx_fcr_s cn58xxp1;
4010 struct cvmx_mio_uartx_fcr_s cn61xx;
4011 struct cvmx_mio_uartx_fcr_s cn63xx; 1591 struct cvmx_mio_uartx_fcr_s cn63xx;
4012 struct cvmx_mio_uartx_fcr_s cn63xxp1; 1592 struct cvmx_mio_uartx_fcr_s cn63xxp1;
4013 struct cvmx_mio_uartx_fcr_s cn66xx;
4014 struct cvmx_mio_uartx_fcr_s cn68xx;
4015 struct cvmx_mio_uartx_fcr_s cn68xxp1;
4016 struct cvmx_mio_uartx_fcr_s cnf71xx;
4017}; 1593};
4018 1594
4019union cvmx_mio_uartx_htx { 1595union cvmx_mio_uartx_htx {
4020 uint64_t u64; 1596 uint64_t u64;
4021 struct cvmx_mio_uartx_htx_s { 1597 struct cvmx_mio_uartx_htx_s {
4022#ifdef __BIG_ENDIAN_BITFIELD
4023 uint64_t reserved_1_63:63; 1598 uint64_t reserved_1_63:63;
4024 uint64_t htx:1; 1599 uint64_t htx:1;
4025#else
4026 uint64_t htx:1;
4027 uint64_t reserved_1_63:63;
4028#endif
4029 } s; 1600 } s;
4030 struct cvmx_mio_uartx_htx_s cn30xx; 1601 struct cvmx_mio_uartx_htx_s cn30xx;
4031 struct cvmx_mio_uartx_htx_s cn31xx; 1602 struct cvmx_mio_uartx_htx_s cn31xx;
@@ -4038,19 +1609,13 @@ union cvmx_mio_uartx_htx {
4038 struct cvmx_mio_uartx_htx_s cn56xxp1; 1609 struct cvmx_mio_uartx_htx_s cn56xxp1;
4039 struct cvmx_mio_uartx_htx_s cn58xx; 1610 struct cvmx_mio_uartx_htx_s cn58xx;
4040 struct cvmx_mio_uartx_htx_s cn58xxp1; 1611 struct cvmx_mio_uartx_htx_s cn58xxp1;
4041 struct cvmx_mio_uartx_htx_s cn61xx;
4042 struct cvmx_mio_uartx_htx_s cn63xx; 1612 struct cvmx_mio_uartx_htx_s cn63xx;
4043 struct cvmx_mio_uartx_htx_s cn63xxp1; 1613 struct cvmx_mio_uartx_htx_s cn63xxp1;
4044 struct cvmx_mio_uartx_htx_s cn66xx;
4045 struct cvmx_mio_uartx_htx_s cn68xx;
4046 struct cvmx_mio_uartx_htx_s cn68xxp1;
4047 struct cvmx_mio_uartx_htx_s cnf71xx;
4048}; 1614};
4049 1615
4050union cvmx_mio_uartx_ier { 1616union cvmx_mio_uartx_ier {
4051 uint64_t u64; 1617 uint64_t u64;
4052 struct cvmx_mio_uartx_ier_s { 1618 struct cvmx_mio_uartx_ier_s {
4053#ifdef __BIG_ENDIAN_BITFIELD
4054 uint64_t reserved_8_63:56; 1619 uint64_t reserved_8_63:56;
4055 uint64_t ptime:1; 1620 uint64_t ptime:1;
4056 uint64_t reserved_4_6:3; 1621 uint64_t reserved_4_6:3;
@@ -4058,15 +1623,6 @@ union cvmx_mio_uartx_ier {
4058 uint64_t elsi:1; 1623 uint64_t elsi:1;
4059 uint64_t etbei:1; 1624 uint64_t etbei:1;
4060 uint64_t erbfi:1; 1625 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
4070 } s; 1626 } s;
4071 struct cvmx_mio_uartx_ier_s cn30xx; 1627 struct cvmx_mio_uartx_ier_s cn30xx;
4072 struct cvmx_mio_uartx_ier_s cn31xx; 1628 struct cvmx_mio_uartx_ier_s cn31xx;
@@ -4079,29 +1635,17 @@ union cvmx_mio_uartx_ier {
4079 struct cvmx_mio_uartx_ier_s cn56xxp1; 1635 struct cvmx_mio_uartx_ier_s cn56xxp1;
4080 struct cvmx_mio_uartx_ier_s cn58xx; 1636 struct cvmx_mio_uartx_ier_s cn58xx;
4081 struct cvmx_mio_uartx_ier_s cn58xxp1; 1637 struct cvmx_mio_uartx_ier_s cn58xxp1;
4082 struct cvmx_mio_uartx_ier_s cn61xx;
4083 struct cvmx_mio_uartx_ier_s cn63xx; 1638 struct cvmx_mio_uartx_ier_s cn63xx;
4084 struct cvmx_mio_uartx_ier_s cn63xxp1; 1639 struct cvmx_mio_uartx_ier_s cn63xxp1;
4085 struct cvmx_mio_uartx_ier_s cn66xx;
4086 struct cvmx_mio_uartx_ier_s cn68xx;
4087 struct cvmx_mio_uartx_ier_s cn68xxp1;
4088 struct cvmx_mio_uartx_ier_s cnf71xx;
4089}; 1640};
4090 1641
4091union cvmx_mio_uartx_iir { 1642union cvmx_mio_uartx_iir {
4092 uint64_t u64; 1643 uint64_t u64;
4093 struct cvmx_mio_uartx_iir_s { 1644 struct cvmx_mio_uartx_iir_s {
4094#ifdef __BIG_ENDIAN_BITFIELD
4095 uint64_t reserved_8_63:56; 1645 uint64_t reserved_8_63:56;
4096 uint64_t fen:2; 1646 uint64_t fen:2;
4097 uint64_t reserved_4_5:2; 1647 uint64_t reserved_4_5:2;
4098 uint64_t iid:4; 1648 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
4105 } s; 1649 } s;
4106 struct cvmx_mio_uartx_iir_s cn30xx; 1650 struct cvmx_mio_uartx_iir_s cn30xx;
4107 struct cvmx_mio_uartx_iir_s cn31xx; 1651 struct cvmx_mio_uartx_iir_s cn31xx;
@@ -4114,19 +1658,13 @@ union cvmx_mio_uartx_iir {
4114 struct cvmx_mio_uartx_iir_s cn56xxp1; 1658 struct cvmx_mio_uartx_iir_s cn56xxp1;
4115 struct cvmx_mio_uartx_iir_s cn58xx; 1659 struct cvmx_mio_uartx_iir_s cn58xx;
4116 struct cvmx_mio_uartx_iir_s cn58xxp1; 1660 struct cvmx_mio_uartx_iir_s cn58xxp1;
4117 struct cvmx_mio_uartx_iir_s cn61xx;
4118 struct cvmx_mio_uartx_iir_s cn63xx; 1661 struct cvmx_mio_uartx_iir_s cn63xx;
4119 struct cvmx_mio_uartx_iir_s cn63xxp1; 1662 struct cvmx_mio_uartx_iir_s cn63xxp1;
4120 struct cvmx_mio_uartx_iir_s cn66xx;
4121 struct cvmx_mio_uartx_iir_s cn68xx;
4122 struct cvmx_mio_uartx_iir_s cn68xxp1;
4123 struct cvmx_mio_uartx_iir_s cnf71xx;
4124}; 1663};
4125 1664
4126union cvmx_mio_uartx_lcr { 1665union cvmx_mio_uartx_lcr {
4127 uint64_t u64; 1666 uint64_t u64;
4128 struct cvmx_mio_uartx_lcr_s { 1667 struct cvmx_mio_uartx_lcr_s {
4129#ifdef __BIG_ENDIAN_BITFIELD
4130 uint64_t reserved_8_63:56; 1668 uint64_t reserved_8_63:56;
4131 uint64_t dlab:1; 1669 uint64_t dlab:1;
4132 uint64_t brk:1; 1670 uint64_t brk:1;
@@ -4135,16 +1673,6 @@ union cvmx_mio_uartx_lcr {
4135 uint64_t pen:1; 1673 uint64_t pen:1;
4136 uint64_t stop:1; 1674 uint64_t stop:1;
4137 uint64_t cls:2; 1675 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
4148 } s; 1676 } s;
4149 struct cvmx_mio_uartx_lcr_s cn30xx; 1677 struct cvmx_mio_uartx_lcr_s cn30xx;
4150 struct cvmx_mio_uartx_lcr_s cn31xx; 1678 struct cvmx_mio_uartx_lcr_s cn31xx;
@@ -4157,19 +1685,13 @@ union cvmx_mio_uartx_lcr {
4157 struct cvmx_mio_uartx_lcr_s cn56xxp1; 1685 struct cvmx_mio_uartx_lcr_s cn56xxp1;
4158 struct cvmx_mio_uartx_lcr_s cn58xx; 1686 struct cvmx_mio_uartx_lcr_s cn58xx;
4159 struct cvmx_mio_uartx_lcr_s cn58xxp1; 1687 struct cvmx_mio_uartx_lcr_s cn58xxp1;
4160 struct cvmx_mio_uartx_lcr_s cn61xx;
4161 struct cvmx_mio_uartx_lcr_s cn63xx; 1688 struct cvmx_mio_uartx_lcr_s cn63xx;
4162 struct cvmx_mio_uartx_lcr_s cn63xxp1; 1689 struct cvmx_mio_uartx_lcr_s cn63xxp1;
4163 struct cvmx_mio_uartx_lcr_s cn66xx;
4164 struct cvmx_mio_uartx_lcr_s cn68xx;
4165 struct cvmx_mio_uartx_lcr_s cn68xxp1;
4166 struct cvmx_mio_uartx_lcr_s cnf71xx;
4167}; 1690};
4168 1691
4169union cvmx_mio_uartx_lsr { 1692union cvmx_mio_uartx_lsr {
4170 uint64_t u64; 1693 uint64_t u64;
4171 struct cvmx_mio_uartx_lsr_s { 1694 struct cvmx_mio_uartx_lsr_s {
4172#ifdef __BIG_ENDIAN_BITFIELD
4173 uint64_t reserved_8_63:56; 1695 uint64_t reserved_8_63:56;
4174 uint64_t ferr:1; 1696 uint64_t ferr:1;
4175 uint64_t temt:1; 1697 uint64_t temt:1;
@@ -4179,17 +1701,6 @@ union cvmx_mio_uartx_lsr {
4179 uint64_t pe:1; 1701 uint64_t pe:1;
4180 uint64_t oe:1; 1702 uint64_t oe:1;
4181 uint64_t dr:1; 1703 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
4193 } s; 1704 } s;
4194 struct cvmx_mio_uartx_lsr_s cn30xx; 1705 struct cvmx_mio_uartx_lsr_s cn30xx;
4195 struct cvmx_mio_uartx_lsr_s cn31xx; 1706 struct cvmx_mio_uartx_lsr_s cn31xx;
@@ -4202,19 +1713,13 @@ union cvmx_mio_uartx_lsr {
4202 struct cvmx_mio_uartx_lsr_s cn56xxp1; 1713 struct cvmx_mio_uartx_lsr_s cn56xxp1;
4203 struct cvmx_mio_uartx_lsr_s cn58xx; 1714 struct cvmx_mio_uartx_lsr_s cn58xx;
4204 struct cvmx_mio_uartx_lsr_s cn58xxp1; 1715 struct cvmx_mio_uartx_lsr_s cn58xxp1;
4205 struct cvmx_mio_uartx_lsr_s cn61xx;
4206 struct cvmx_mio_uartx_lsr_s cn63xx; 1716 struct cvmx_mio_uartx_lsr_s cn63xx;
4207 struct cvmx_mio_uartx_lsr_s cn63xxp1; 1717 struct cvmx_mio_uartx_lsr_s cn63xxp1;
4208 struct cvmx_mio_uartx_lsr_s cn66xx;
4209 struct cvmx_mio_uartx_lsr_s cn68xx;
4210 struct cvmx_mio_uartx_lsr_s cn68xxp1;
4211 struct cvmx_mio_uartx_lsr_s cnf71xx;
4212}; 1718};
4213 1719
4214union cvmx_mio_uartx_mcr { 1720union cvmx_mio_uartx_mcr {
4215 uint64_t u64; 1721 uint64_t u64;
4216 struct cvmx_mio_uartx_mcr_s { 1722 struct cvmx_mio_uartx_mcr_s {
4217#ifdef __BIG_ENDIAN_BITFIELD
4218 uint64_t reserved_6_63:58; 1723 uint64_t reserved_6_63:58;
4219 uint64_t afce:1; 1724 uint64_t afce:1;
4220 uint64_t loop:1; 1725 uint64_t loop:1;
@@ -4222,15 +1727,6 @@ union cvmx_mio_uartx_mcr {
4222 uint64_t out1:1; 1727 uint64_t out1:1;
4223 uint64_t rts:1; 1728 uint64_t rts:1;
4224 uint64_t dtr:1; 1729 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
4234 } s; 1730 } s;
4235 struct cvmx_mio_uartx_mcr_s cn30xx; 1731 struct cvmx_mio_uartx_mcr_s cn30xx;
4236 struct cvmx_mio_uartx_mcr_s cn31xx; 1732 struct cvmx_mio_uartx_mcr_s cn31xx;
@@ -4243,19 +1739,13 @@ union cvmx_mio_uartx_mcr {
4243 struct cvmx_mio_uartx_mcr_s cn56xxp1; 1739 struct cvmx_mio_uartx_mcr_s cn56xxp1;
4244 struct cvmx_mio_uartx_mcr_s cn58xx; 1740 struct cvmx_mio_uartx_mcr_s cn58xx;
4245 struct cvmx_mio_uartx_mcr_s cn58xxp1; 1741 struct cvmx_mio_uartx_mcr_s cn58xxp1;
4246 struct cvmx_mio_uartx_mcr_s cn61xx;
4247 struct cvmx_mio_uartx_mcr_s cn63xx; 1742 struct cvmx_mio_uartx_mcr_s cn63xx;
4248 struct cvmx_mio_uartx_mcr_s cn63xxp1; 1743 struct cvmx_mio_uartx_mcr_s cn63xxp1;
4249 struct cvmx_mio_uartx_mcr_s cn66xx;
4250 struct cvmx_mio_uartx_mcr_s cn68xx;
4251 struct cvmx_mio_uartx_mcr_s cn68xxp1;
4252 struct cvmx_mio_uartx_mcr_s cnf71xx;
4253}; 1744};
4254 1745
4255union cvmx_mio_uartx_msr { 1746union cvmx_mio_uartx_msr {
4256 uint64_t u64; 1747 uint64_t u64;
4257 struct cvmx_mio_uartx_msr_s { 1748 struct cvmx_mio_uartx_msr_s {
4258#ifdef __BIG_ENDIAN_BITFIELD
4259 uint64_t reserved_8_63:56; 1749 uint64_t reserved_8_63:56;
4260 uint64_t dcd:1; 1750 uint64_t dcd:1;
4261 uint64_t ri:1; 1751 uint64_t ri:1;
@@ -4265,17 +1755,6 @@ union cvmx_mio_uartx_msr {
4265 uint64_t teri:1; 1755 uint64_t teri:1;
4266 uint64_t ddsr:1; 1756 uint64_t ddsr:1;
4267 uint64_t dcts:1; 1757 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
4279 } s; 1758 } s;
4280 struct cvmx_mio_uartx_msr_s cn30xx; 1759 struct cvmx_mio_uartx_msr_s cn30xx;
4281 struct cvmx_mio_uartx_msr_s cn31xx; 1760 struct cvmx_mio_uartx_msr_s cn31xx;
@@ -4288,25 +1767,15 @@ union cvmx_mio_uartx_msr {
4288 struct cvmx_mio_uartx_msr_s cn56xxp1; 1767 struct cvmx_mio_uartx_msr_s cn56xxp1;
4289 struct cvmx_mio_uartx_msr_s cn58xx; 1768 struct cvmx_mio_uartx_msr_s cn58xx;
4290 struct cvmx_mio_uartx_msr_s cn58xxp1; 1769 struct cvmx_mio_uartx_msr_s cn58xxp1;
4291 struct cvmx_mio_uartx_msr_s cn61xx;
4292 struct cvmx_mio_uartx_msr_s cn63xx; 1770 struct cvmx_mio_uartx_msr_s cn63xx;
4293 struct cvmx_mio_uartx_msr_s cn63xxp1; 1771 struct cvmx_mio_uartx_msr_s cn63xxp1;
4294 struct cvmx_mio_uartx_msr_s cn66xx;
4295 struct cvmx_mio_uartx_msr_s cn68xx;
4296 struct cvmx_mio_uartx_msr_s cn68xxp1;
4297 struct cvmx_mio_uartx_msr_s cnf71xx;
4298}; 1772};
4299 1773
4300union cvmx_mio_uartx_rbr { 1774union cvmx_mio_uartx_rbr {
4301 uint64_t u64; 1775 uint64_t u64;
4302 struct cvmx_mio_uartx_rbr_s { 1776 struct cvmx_mio_uartx_rbr_s {
4303#ifdef __BIG_ENDIAN_BITFIELD
4304 uint64_t reserved_8_63:56; 1777 uint64_t reserved_8_63:56;
4305 uint64_t rbr:8; 1778 uint64_t rbr:8;
4306#else
4307 uint64_t rbr:8;
4308 uint64_t reserved_8_63:56;
4309#endif
4310 } s; 1779 } s;
4311 struct cvmx_mio_uartx_rbr_s cn30xx; 1780 struct cvmx_mio_uartx_rbr_s cn30xx;
4312 struct cvmx_mio_uartx_rbr_s cn31xx; 1781 struct cvmx_mio_uartx_rbr_s cn31xx;
@@ -4319,25 +1788,15 @@ union cvmx_mio_uartx_rbr {
4319 struct cvmx_mio_uartx_rbr_s cn56xxp1; 1788 struct cvmx_mio_uartx_rbr_s cn56xxp1;
4320 struct cvmx_mio_uartx_rbr_s cn58xx; 1789 struct cvmx_mio_uartx_rbr_s cn58xx;
4321 struct cvmx_mio_uartx_rbr_s cn58xxp1; 1790 struct cvmx_mio_uartx_rbr_s cn58xxp1;
4322 struct cvmx_mio_uartx_rbr_s cn61xx;
4323 struct cvmx_mio_uartx_rbr_s cn63xx; 1791 struct cvmx_mio_uartx_rbr_s cn63xx;
4324 struct cvmx_mio_uartx_rbr_s cn63xxp1; 1792 struct cvmx_mio_uartx_rbr_s cn63xxp1;
4325 struct cvmx_mio_uartx_rbr_s cn66xx;
4326 struct cvmx_mio_uartx_rbr_s cn68xx;
4327 struct cvmx_mio_uartx_rbr_s cn68xxp1;
4328 struct cvmx_mio_uartx_rbr_s cnf71xx;
4329}; 1793};
4330 1794
4331union cvmx_mio_uartx_rfl { 1795union cvmx_mio_uartx_rfl {
4332 uint64_t u64; 1796 uint64_t u64;
4333 struct cvmx_mio_uartx_rfl_s { 1797 struct cvmx_mio_uartx_rfl_s {
4334#ifdef __BIG_ENDIAN_BITFIELD
4335 uint64_t reserved_7_63:57; 1798 uint64_t reserved_7_63:57;
4336 uint64_t rfl:7; 1799 uint64_t rfl:7;
4337#else
4338 uint64_t rfl:7;
4339 uint64_t reserved_7_63:57;
4340#endif
4341 } s; 1800 } s;
4342 struct cvmx_mio_uartx_rfl_s cn30xx; 1801 struct cvmx_mio_uartx_rfl_s cn30xx;
4343 struct cvmx_mio_uartx_rfl_s cn31xx; 1802 struct cvmx_mio_uartx_rfl_s cn31xx;
@@ -4350,29 +1809,17 @@ union cvmx_mio_uartx_rfl {
4350 struct cvmx_mio_uartx_rfl_s cn56xxp1; 1809 struct cvmx_mio_uartx_rfl_s cn56xxp1;
4351 struct cvmx_mio_uartx_rfl_s cn58xx; 1810 struct cvmx_mio_uartx_rfl_s cn58xx;
4352 struct cvmx_mio_uartx_rfl_s cn58xxp1; 1811 struct cvmx_mio_uartx_rfl_s cn58xxp1;
4353 struct cvmx_mio_uartx_rfl_s cn61xx;
4354 struct cvmx_mio_uartx_rfl_s cn63xx; 1812 struct cvmx_mio_uartx_rfl_s cn63xx;
4355 struct cvmx_mio_uartx_rfl_s cn63xxp1; 1813 struct cvmx_mio_uartx_rfl_s cn63xxp1;
4356 struct cvmx_mio_uartx_rfl_s cn66xx;
4357 struct cvmx_mio_uartx_rfl_s cn68xx;
4358 struct cvmx_mio_uartx_rfl_s cn68xxp1;
4359 struct cvmx_mio_uartx_rfl_s cnf71xx;
4360}; 1814};
4361 1815
4362union cvmx_mio_uartx_rfw { 1816union cvmx_mio_uartx_rfw {
4363 uint64_t u64; 1817 uint64_t u64;
4364 struct cvmx_mio_uartx_rfw_s { 1818 struct cvmx_mio_uartx_rfw_s {
4365#ifdef __BIG_ENDIAN_BITFIELD
4366 uint64_t reserved_10_63:54; 1819 uint64_t reserved_10_63:54;
4367 uint64_t rffe:1; 1820 uint64_t rffe:1;
4368 uint64_t rfpe:1; 1821 uint64_t rfpe:1;
4369 uint64_t rfwd:8; 1822 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
4376 } s; 1823 } s;
4377 struct cvmx_mio_uartx_rfw_s cn30xx; 1824 struct cvmx_mio_uartx_rfw_s cn30xx;
4378 struct cvmx_mio_uartx_rfw_s cn31xx; 1825 struct cvmx_mio_uartx_rfw_s cn31xx;
@@ -4385,25 +1832,15 @@ union cvmx_mio_uartx_rfw {
4385 struct cvmx_mio_uartx_rfw_s cn56xxp1; 1832 struct cvmx_mio_uartx_rfw_s cn56xxp1;
4386 struct cvmx_mio_uartx_rfw_s cn58xx; 1833 struct cvmx_mio_uartx_rfw_s cn58xx;
4387 struct cvmx_mio_uartx_rfw_s cn58xxp1; 1834 struct cvmx_mio_uartx_rfw_s cn58xxp1;
4388 struct cvmx_mio_uartx_rfw_s cn61xx;
4389 struct cvmx_mio_uartx_rfw_s cn63xx; 1835 struct cvmx_mio_uartx_rfw_s cn63xx;
4390 struct cvmx_mio_uartx_rfw_s cn63xxp1; 1836 struct cvmx_mio_uartx_rfw_s cn63xxp1;
4391 struct cvmx_mio_uartx_rfw_s cn66xx;
4392 struct cvmx_mio_uartx_rfw_s cn68xx;
4393 struct cvmx_mio_uartx_rfw_s cn68xxp1;
4394 struct cvmx_mio_uartx_rfw_s cnf71xx;
4395}; 1837};
4396 1838
4397union cvmx_mio_uartx_sbcr { 1839union cvmx_mio_uartx_sbcr {
4398 uint64_t u64; 1840 uint64_t u64;
4399 struct cvmx_mio_uartx_sbcr_s { 1841 struct cvmx_mio_uartx_sbcr_s {
4400#ifdef __BIG_ENDIAN_BITFIELD
4401 uint64_t reserved_1_63:63; 1842 uint64_t reserved_1_63:63;
4402 uint64_t sbcr:1; 1843 uint64_t sbcr:1;
4403#else
4404 uint64_t sbcr:1;
4405 uint64_t reserved_1_63:63;
4406#endif
4407 } s; 1844 } s;
4408 struct cvmx_mio_uartx_sbcr_s cn30xx; 1845 struct cvmx_mio_uartx_sbcr_s cn30xx;
4409 struct cvmx_mio_uartx_sbcr_s cn31xx; 1846 struct cvmx_mio_uartx_sbcr_s cn31xx;
@@ -4416,25 +1853,15 @@ union cvmx_mio_uartx_sbcr {
4416 struct cvmx_mio_uartx_sbcr_s cn56xxp1; 1853 struct cvmx_mio_uartx_sbcr_s cn56xxp1;
4417 struct cvmx_mio_uartx_sbcr_s cn58xx; 1854 struct cvmx_mio_uartx_sbcr_s cn58xx;
4418 struct cvmx_mio_uartx_sbcr_s cn58xxp1; 1855 struct cvmx_mio_uartx_sbcr_s cn58xxp1;
4419 struct cvmx_mio_uartx_sbcr_s cn61xx;
4420 struct cvmx_mio_uartx_sbcr_s cn63xx; 1856 struct cvmx_mio_uartx_sbcr_s cn63xx;
4421 struct cvmx_mio_uartx_sbcr_s cn63xxp1; 1857 struct cvmx_mio_uartx_sbcr_s cn63xxp1;
4422 struct cvmx_mio_uartx_sbcr_s cn66xx;
4423 struct cvmx_mio_uartx_sbcr_s cn68xx;
4424 struct cvmx_mio_uartx_sbcr_s cn68xxp1;
4425 struct cvmx_mio_uartx_sbcr_s cnf71xx;
4426}; 1858};
4427 1859
4428union cvmx_mio_uartx_scr { 1860union cvmx_mio_uartx_scr {
4429 uint64_t u64; 1861 uint64_t u64;
4430 struct cvmx_mio_uartx_scr_s { 1862 struct cvmx_mio_uartx_scr_s {
4431#ifdef __BIG_ENDIAN_BITFIELD
4432 uint64_t reserved_8_63:56; 1863 uint64_t reserved_8_63:56;
4433 uint64_t scr:8; 1864 uint64_t scr:8;
4434#else
4435 uint64_t scr:8;
4436 uint64_t reserved_8_63:56;
4437#endif
4438 } s; 1865 } s;
4439 struct cvmx_mio_uartx_scr_s cn30xx; 1866 struct cvmx_mio_uartx_scr_s cn30xx;
4440 struct cvmx_mio_uartx_scr_s cn31xx; 1867 struct cvmx_mio_uartx_scr_s cn31xx;
@@ -4447,25 +1874,15 @@ union cvmx_mio_uartx_scr {
4447 struct cvmx_mio_uartx_scr_s cn56xxp1; 1874 struct cvmx_mio_uartx_scr_s cn56xxp1;
4448 struct cvmx_mio_uartx_scr_s cn58xx; 1875 struct cvmx_mio_uartx_scr_s cn58xx;
4449 struct cvmx_mio_uartx_scr_s cn58xxp1; 1876 struct cvmx_mio_uartx_scr_s cn58xxp1;
4450 struct cvmx_mio_uartx_scr_s cn61xx;
4451 struct cvmx_mio_uartx_scr_s cn63xx; 1877 struct cvmx_mio_uartx_scr_s cn63xx;
4452 struct cvmx_mio_uartx_scr_s cn63xxp1; 1878 struct cvmx_mio_uartx_scr_s cn63xxp1;
4453 struct cvmx_mio_uartx_scr_s cn66xx;
4454 struct cvmx_mio_uartx_scr_s cn68xx;
4455 struct cvmx_mio_uartx_scr_s cn68xxp1;
4456 struct cvmx_mio_uartx_scr_s cnf71xx;
4457}; 1879};
4458 1880
4459union cvmx_mio_uartx_sfe { 1881union cvmx_mio_uartx_sfe {
4460 uint64_t u64; 1882 uint64_t u64;
4461 struct cvmx_mio_uartx_sfe_s { 1883 struct cvmx_mio_uartx_sfe_s {
4462#ifdef __BIG_ENDIAN_BITFIELD
4463 uint64_t reserved_1_63:63; 1884 uint64_t reserved_1_63:63;
4464 uint64_t sfe:1; 1885 uint64_t sfe:1;
4465#else
4466 uint64_t sfe:1;
4467 uint64_t reserved_1_63:63;
4468#endif
4469 } s; 1886 } s;
4470 struct cvmx_mio_uartx_sfe_s cn30xx; 1887 struct cvmx_mio_uartx_sfe_s cn30xx;
4471 struct cvmx_mio_uartx_sfe_s cn31xx; 1888 struct cvmx_mio_uartx_sfe_s cn31xx;
@@ -4478,29 +1895,17 @@ union cvmx_mio_uartx_sfe {
4478 struct cvmx_mio_uartx_sfe_s cn56xxp1; 1895 struct cvmx_mio_uartx_sfe_s cn56xxp1;
4479 struct cvmx_mio_uartx_sfe_s cn58xx; 1896 struct cvmx_mio_uartx_sfe_s cn58xx;
4480 struct cvmx_mio_uartx_sfe_s cn58xxp1; 1897 struct cvmx_mio_uartx_sfe_s cn58xxp1;
4481 struct cvmx_mio_uartx_sfe_s cn61xx;
4482 struct cvmx_mio_uartx_sfe_s cn63xx; 1898 struct cvmx_mio_uartx_sfe_s cn63xx;
4483 struct cvmx_mio_uartx_sfe_s cn63xxp1; 1899 struct cvmx_mio_uartx_sfe_s cn63xxp1;
4484 struct cvmx_mio_uartx_sfe_s cn66xx;
4485 struct cvmx_mio_uartx_sfe_s cn68xx;
4486 struct cvmx_mio_uartx_sfe_s cn68xxp1;
4487 struct cvmx_mio_uartx_sfe_s cnf71xx;
4488}; 1900};
4489 1901
4490union cvmx_mio_uartx_srr { 1902union cvmx_mio_uartx_srr {
4491 uint64_t u64; 1903 uint64_t u64;
4492 struct cvmx_mio_uartx_srr_s { 1904 struct cvmx_mio_uartx_srr_s {
4493#ifdef __BIG_ENDIAN_BITFIELD
4494 uint64_t reserved_3_63:61; 1905 uint64_t reserved_3_63:61;
4495 uint64_t stfr:1; 1906 uint64_t stfr:1;
4496 uint64_t srfr:1; 1907 uint64_t srfr:1;
4497 uint64_t usr:1; 1908 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
4504 } s; 1909 } s;
4505 struct cvmx_mio_uartx_srr_s cn30xx; 1910 struct cvmx_mio_uartx_srr_s cn30xx;
4506 struct cvmx_mio_uartx_srr_s cn31xx; 1911 struct cvmx_mio_uartx_srr_s cn31xx;
@@ -4513,25 +1918,15 @@ union cvmx_mio_uartx_srr {
4513 struct cvmx_mio_uartx_srr_s cn56xxp1; 1918 struct cvmx_mio_uartx_srr_s cn56xxp1;
4514 struct cvmx_mio_uartx_srr_s cn58xx; 1919 struct cvmx_mio_uartx_srr_s cn58xx;
4515 struct cvmx_mio_uartx_srr_s cn58xxp1; 1920 struct cvmx_mio_uartx_srr_s cn58xxp1;
4516 struct cvmx_mio_uartx_srr_s cn61xx;
4517 struct cvmx_mio_uartx_srr_s cn63xx; 1921 struct cvmx_mio_uartx_srr_s cn63xx;
4518 struct cvmx_mio_uartx_srr_s cn63xxp1; 1922 struct cvmx_mio_uartx_srr_s cn63xxp1;
4519 struct cvmx_mio_uartx_srr_s cn66xx;
4520 struct cvmx_mio_uartx_srr_s cn68xx;
4521 struct cvmx_mio_uartx_srr_s cn68xxp1;
4522 struct cvmx_mio_uartx_srr_s cnf71xx;
4523}; 1923};
4524 1924
4525union cvmx_mio_uartx_srt { 1925union cvmx_mio_uartx_srt {
4526 uint64_t u64; 1926 uint64_t u64;
4527 struct cvmx_mio_uartx_srt_s { 1927 struct cvmx_mio_uartx_srt_s {
4528#ifdef __BIG_ENDIAN_BITFIELD
4529 uint64_t reserved_2_63:62; 1928 uint64_t reserved_2_63:62;
4530 uint64_t srt:2; 1929 uint64_t srt:2;
4531#else
4532 uint64_t srt:2;
4533 uint64_t reserved_2_63:62;
4534#endif
4535 } s; 1930 } s;
4536 struct cvmx_mio_uartx_srt_s cn30xx; 1931 struct cvmx_mio_uartx_srt_s cn30xx;
4537 struct cvmx_mio_uartx_srt_s cn31xx; 1932 struct cvmx_mio_uartx_srt_s cn31xx;
@@ -4544,25 +1939,15 @@ union cvmx_mio_uartx_srt {
4544 struct cvmx_mio_uartx_srt_s cn56xxp1; 1939 struct cvmx_mio_uartx_srt_s cn56xxp1;
4545 struct cvmx_mio_uartx_srt_s cn58xx; 1940 struct cvmx_mio_uartx_srt_s cn58xx;
4546 struct cvmx_mio_uartx_srt_s cn58xxp1; 1941 struct cvmx_mio_uartx_srt_s cn58xxp1;
4547 struct cvmx_mio_uartx_srt_s cn61xx;
4548 struct cvmx_mio_uartx_srt_s cn63xx; 1942 struct cvmx_mio_uartx_srt_s cn63xx;
4549 struct cvmx_mio_uartx_srt_s cn63xxp1; 1943 struct cvmx_mio_uartx_srt_s cn63xxp1;
4550 struct cvmx_mio_uartx_srt_s cn66xx;
4551 struct cvmx_mio_uartx_srt_s cn68xx;
4552 struct cvmx_mio_uartx_srt_s cn68xxp1;
4553 struct cvmx_mio_uartx_srt_s cnf71xx;
4554}; 1944};
4555 1945
4556union cvmx_mio_uartx_srts { 1946union cvmx_mio_uartx_srts {
4557 uint64_t u64; 1947 uint64_t u64;
4558 struct cvmx_mio_uartx_srts_s { 1948 struct cvmx_mio_uartx_srts_s {
4559#ifdef __BIG_ENDIAN_BITFIELD
4560 uint64_t reserved_1_63:63; 1949 uint64_t reserved_1_63:63;
4561 uint64_t srts:1; 1950 uint64_t srts:1;
4562#else
4563 uint64_t srts:1;
4564 uint64_t reserved_1_63:63;
4565#endif
4566 } s; 1951 } s;
4567 struct cvmx_mio_uartx_srts_s cn30xx; 1952 struct cvmx_mio_uartx_srts_s cn30xx;
4568 struct cvmx_mio_uartx_srts_s cn31xx; 1953 struct cvmx_mio_uartx_srts_s cn31xx;
@@ -4575,25 +1960,15 @@ union cvmx_mio_uartx_srts {
4575 struct cvmx_mio_uartx_srts_s cn56xxp1; 1960 struct cvmx_mio_uartx_srts_s cn56xxp1;
4576 struct cvmx_mio_uartx_srts_s cn58xx; 1961 struct cvmx_mio_uartx_srts_s cn58xx;
4577 struct cvmx_mio_uartx_srts_s cn58xxp1; 1962 struct cvmx_mio_uartx_srts_s cn58xxp1;
4578 struct cvmx_mio_uartx_srts_s cn61xx;
4579 struct cvmx_mio_uartx_srts_s cn63xx; 1963 struct cvmx_mio_uartx_srts_s cn63xx;
4580 struct cvmx_mio_uartx_srts_s cn63xxp1; 1964 struct cvmx_mio_uartx_srts_s cn63xxp1;
4581 struct cvmx_mio_uartx_srts_s cn66xx;
4582 struct cvmx_mio_uartx_srts_s cn68xx;
4583 struct cvmx_mio_uartx_srts_s cn68xxp1;
4584 struct cvmx_mio_uartx_srts_s cnf71xx;
4585}; 1965};
4586 1966
4587union cvmx_mio_uartx_stt { 1967union cvmx_mio_uartx_stt {
4588 uint64_t u64; 1968 uint64_t u64;
4589 struct cvmx_mio_uartx_stt_s { 1969 struct cvmx_mio_uartx_stt_s {
4590#ifdef __BIG_ENDIAN_BITFIELD
4591 uint64_t reserved_2_63:62; 1970 uint64_t reserved_2_63:62;
4592 uint64_t stt:2; 1971 uint64_t stt:2;
4593#else
4594 uint64_t stt:2;
4595 uint64_t reserved_2_63:62;
4596#endif
4597 } s; 1972 } s;
4598 struct cvmx_mio_uartx_stt_s cn30xx; 1973 struct cvmx_mio_uartx_stt_s cn30xx;
4599 struct cvmx_mio_uartx_stt_s cn31xx; 1974 struct cvmx_mio_uartx_stt_s cn31xx;
@@ -4606,25 +1981,15 @@ union cvmx_mio_uartx_stt {
4606 struct cvmx_mio_uartx_stt_s cn56xxp1; 1981 struct cvmx_mio_uartx_stt_s cn56xxp1;
4607 struct cvmx_mio_uartx_stt_s cn58xx; 1982 struct cvmx_mio_uartx_stt_s cn58xx;
4608 struct cvmx_mio_uartx_stt_s cn58xxp1; 1983 struct cvmx_mio_uartx_stt_s cn58xxp1;
4609 struct cvmx_mio_uartx_stt_s cn61xx;
4610 struct cvmx_mio_uartx_stt_s cn63xx; 1984 struct cvmx_mio_uartx_stt_s cn63xx;
4611 struct cvmx_mio_uartx_stt_s cn63xxp1; 1985 struct cvmx_mio_uartx_stt_s cn63xxp1;
4612 struct cvmx_mio_uartx_stt_s cn66xx;
4613 struct cvmx_mio_uartx_stt_s cn68xx;
4614 struct cvmx_mio_uartx_stt_s cn68xxp1;
4615 struct cvmx_mio_uartx_stt_s cnf71xx;
4616}; 1986};
4617 1987
4618union cvmx_mio_uartx_tfl { 1988union cvmx_mio_uartx_tfl {
4619 uint64_t u64; 1989 uint64_t u64;
4620 struct cvmx_mio_uartx_tfl_s { 1990 struct cvmx_mio_uartx_tfl_s {
4621#ifdef __BIG_ENDIAN_BITFIELD
4622 uint64_t reserved_7_63:57; 1991 uint64_t reserved_7_63:57;
4623 uint64_t tfl:7; 1992 uint64_t tfl:7;
4624#else
4625 uint64_t tfl:7;
4626 uint64_t reserved_7_63:57;
4627#endif
4628 } s; 1993 } s;
4629 struct cvmx_mio_uartx_tfl_s cn30xx; 1994 struct cvmx_mio_uartx_tfl_s cn30xx;
4630 struct cvmx_mio_uartx_tfl_s cn31xx; 1995 struct cvmx_mio_uartx_tfl_s cn31xx;
@@ -4637,25 +2002,15 @@ union cvmx_mio_uartx_tfl {
4637 struct cvmx_mio_uartx_tfl_s cn56xxp1; 2002 struct cvmx_mio_uartx_tfl_s cn56xxp1;
4638 struct cvmx_mio_uartx_tfl_s cn58xx; 2003 struct cvmx_mio_uartx_tfl_s cn58xx;
4639 struct cvmx_mio_uartx_tfl_s cn58xxp1; 2004 struct cvmx_mio_uartx_tfl_s cn58xxp1;
4640 struct cvmx_mio_uartx_tfl_s cn61xx;
4641 struct cvmx_mio_uartx_tfl_s cn63xx; 2005 struct cvmx_mio_uartx_tfl_s cn63xx;
4642 struct cvmx_mio_uartx_tfl_s cn63xxp1; 2006 struct cvmx_mio_uartx_tfl_s cn63xxp1;
4643 struct cvmx_mio_uartx_tfl_s cn66xx;
4644 struct cvmx_mio_uartx_tfl_s cn68xx;
4645 struct cvmx_mio_uartx_tfl_s cn68xxp1;
4646 struct cvmx_mio_uartx_tfl_s cnf71xx;
4647}; 2007};
4648 2008
4649union cvmx_mio_uartx_tfr { 2009union cvmx_mio_uartx_tfr {
4650 uint64_t u64; 2010 uint64_t u64;
4651 struct cvmx_mio_uartx_tfr_s { 2011 struct cvmx_mio_uartx_tfr_s {
4652#ifdef __BIG_ENDIAN_BITFIELD
4653 uint64_t reserved_8_63:56; 2012 uint64_t reserved_8_63:56;
4654 uint64_t tfr:8; 2013 uint64_t tfr:8;
4655#else
4656 uint64_t tfr:8;
4657 uint64_t reserved_8_63:56;
4658#endif
4659 } s; 2014 } s;
4660 struct cvmx_mio_uartx_tfr_s cn30xx; 2015 struct cvmx_mio_uartx_tfr_s cn30xx;
4661 struct cvmx_mio_uartx_tfr_s cn31xx; 2016 struct cvmx_mio_uartx_tfr_s cn31xx;
@@ -4668,25 +2023,15 @@ union cvmx_mio_uartx_tfr {
4668 struct cvmx_mio_uartx_tfr_s cn56xxp1; 2023 struct cvmx_mio_uartx_tfr_s cn56xxp1;
4669 struct cvmx_mio_uartx_tfr_s cn58xx; 2024 struct cvmx_mio_uartx_tfr_s cn58xx;
4670 struct cvmx_mio_uartx_tfr_s cn58xxp1; 2025 struct cvmx_mio_uartx_tfr_s cn58xxp1;
4671 struct cvmx_mio_uartx_tfr_s cn61xx;
4672 struct cvmx_mio_uartx_tfr_s cn63xx; 2026 struct cvmx_mio_uartx_tfr_s cn63xx;
4673 struct cvmx_mio_uartx_tfr_s cn63xxp1; 2027 struct cvmx_mio_uartx_tfr_s cn63xxp1;
4674 struct cvmx_mio_uartx_tfr_s cn66xx;
4675 struct cvmx_mio_uartx_tfr_s cn68xx;
4676 struct cvmx_mio_uartx_tfr_s cn68xxp1;
4677 struct cvmx_mio_uartx_tfr_s cnf71xx;
4678}; 2028};
4679 2029
4680union cvmx_mio_uartx_thr { 2030union cvmx_mio_uartx_thr {
4681 uint64_t u64; 2031 uint64_t u64;
4682 struct cvmx_mio_uartx_thr_s { 2032 struct cvmx_mio_uartx_thr_s {
4683#ifdef __BIG_ENDIAN_BITFIELD
4684 uint64_t reserved_8_63:56; 2033 uint64_t reserved_8_63:56;
4685 uint64_t thr:8; 2034 uint64_t thr:8;
4686#else
4687 uint64_t thr:8;
4688 uint64_t reserved_8_63:56;
4689#endif
4690 } s; 2035 } s;
4691 struct cvmx_mio_uartx_thr_s cn30xx; 2036 struct cvmx_mio_uartx_thr_s cn30xx;
4692 struct cvmx_mio_uartx_thr_s cn31xx; 2037 struct cvmx_mio_uartx_thr_s cn31xx;
@@ -4699,33 +2044,19 @@ union cvmx_mio_uartx_thr {
4699 struct cvmx_mio_uartx_thr_s cn56xxp1; 2044 struct cvmx_mio_uartx_thr_s cn56xxp1;
4700 struct cvmx_mio_uartx_thr_s cn58xx; 2045 struct cvmx_mio_uartx_thr_s cn58xx;
4701 struct cvmx_mio_uartx_thr_s cn58xxp1; 2046 struct cvmx_mio_uartx_thr_s cn58xxp1;
4702 struct cvmx_mio_uartx_thr_s cn61xx;
4703 struct cvmx_mio_uartx_thr_s cn63xx; 2047 struct cvmx_mio_uartx_thr_s cn63xx;
4704 struct cvmx_mio_uartx_thr_s cn63xxp1; 2048 struct cvmx_mio_uartx_thr_s cn63xxp1;
4705 struct cvmx_mio_uartx_thr_s cn66xx;
4706 struct cvmx_mio_uartx_thr_s cn68xx;
4707 struct cvmx_mio_uartx_thr_s cn68xxp1;
4708 struct cvmx_mio_uartx_thr_s cnf71xx;
4709}; 2049};
4710 2050
4711union cvmx_mio_uartx_usr { 2051union cvmx_mio_uartx_usr {
4712 uint64_t u64; 2052 uint64_t u64;
4713 struct cvmx_mio_uartx_usr_s { 2053 struct cvmx_mio_uartx_usr_s {
4714#ifdef __BIG_ENDIAN_BITFIELD
4715 uint64_t reserved_5_63:59; 2054 uint64_t reserved_5_63:59;
4716 uint64_t rff:1; 2055 uint64_t rff:1;
4717 uint64_t rfne:1; 2056 uint64_t rfne:1;
4718 uint64_t tfe:1; 2057 uint64_t tfe:1;
4719 uint64_t tfnf:1; 2058 uint64_t tfnf:1;
4720 uint64_t busy:1; 2059 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
4729 } s; 2060 } s;
4730 struct cvmx_mio_uartx_usr_s cn30xx; 2061 struct cvmx_mio_uartx_usr_s cn30xx;
4731 struct cvmx_mio_uartx_usr_s cn31xx; 2062 struct cvmx_mio_uartx_usr_s cn31xx;
@@ -4738,25 +2069,15 @@ union cvmx_mio_uartx_usr {
4738 struct cvmx_mio_uartx_usr_s cn56xxp1; 2069 struct cvmx_mio_uartx_usr_s cn56xxp1;
4739 struct cvmx_mio_uartx_usr_s cn58xx; 2070 struct cvmx_mio_uartx_usr_s cn58xx;
4740 struct cvmx_mio_uartx_usr_s cn58xxp1; 2071 struct cvmx_mio_uartx_usr_s cn58xxp1;
4741 struct cvmx_mio_uartx_usr_s cn61xx;
4742 struct cvmx_mio_uartx_usr_s cn63xx; 2072 struct cvmx_mio_uartx_usr_s cn63xx;
4743 struct cvmx_mio_uartx_usr_s cn63xxp1; 2073 struct cvmx_mio_uartx_usr_s cn63xxp1;
4744 struct cvmx_mio_uartx_usr_s cn66xx;
4745 struct cvmx_mio_uartx_usr_s cn68xx;
4746 struct cvmx_mio_uartx_usr_s cn68xxp1;
4747 struct cvmx_mio_uartx_usr_s cnf71xx;
4748}; 2074};
4749 2075
4750union cvmx_mio_uart2_dlh { 2076union cvmx_mio_uart2_dlh {
4751 uint64_t u64; 2077 uint64_t u64;
4752 struct cvmx_mio_uart2_dlh_s { 2078 struct cvmx_mio_uart2_dlh_s {
4753#ifdef __BIG_ENDIAN_BITFIELD
4754 uint64_t reserved_8_63:56; 2079 uint64_t reserved_8_63:56;
4755 uint64_t dlh:8; 2080 uint64_t dlh:8;
4756#else
4757 uint64_t dlh:8;
4758 uint64_t reserved_8_63:56;
4759#endif
4760 } s; 2081 } s;
4761 struct cvmx_mio_uart2_dlh_s cn52xx; 2082 struct cvmx_mio_uart2_dlh_s cn52xx;
4762 struct cvmx_mio_uart2_dlh_s cn52xxp1; 2083 struct cvmx_mio_uart2_dlh_s cn52xxp1;
@@ -4765,13 +2086,8 @@ union cvmx_mio_uart2_dlh {
4765union cvmx_mio_uart2_dll { 2086union cvmx_mio_uart2_dll {
4766 uint64_t u64; 2087 uint64_t u64;
4767 struct cvmx_mio_uart2_dll_s { 2088 struct cvmx_mio_uart2_dll_s {
4768#ifdef __BIG_ENDIAN_BITFIELD
4769 uint64_t reserved_8_63:56; 2089 uint64_t reserved_8_63:56;
4770 uint64_t dll:8; 2090 uint64_t dll:8;
4771#else
4772 uint64_t dll:8;
4773 uint64_t reserved_8_63:56;
4774#endif
4775 } s; 2091 } s;
4776 struct cvmx_mio_uart2_dll_s cn52xx; 2092 struct cvmx_mio_uart2_dll_s cn52xx;
4777 struct cvmx_mio_uart2_dll_s cn52xxp1; 2093 struct cvmx_mio_uart2_dll_s cn52xxp1;
@@ -4780,13 +2096,8 @@ union cvmx_mio_uart2_dll {
4780union cvmx_mio_uart2_far { 2096union cvmx_mio_uart2_far {
4781 uint64_t u64; 2097 uint64_t u64;
4782 struct cvmx_mio_uart2_far_s { 2098 struct cvmx_mio_uart2_far_s {
4783#ifdef __BIG_ENDIAN_BITFIELD
4784 uint64_t reserved_1_63:63; 2099 uint64_t reserved_1_63:63;
4785 uint64_t far:1; 2100 uint64_t far:1;
4786#else
4787 uint64_t far:1;
4788 uint64_t reserved_1_63:63;
4789#endif
4790 } s; 2101 } s;
4791 struct cvmx_mio_uart2_far_s cn52xx; 2102 struct cvmx_mio_uart2_far_s cn52xx;
4792 struct cvmx_mio_uart2_far_s cn52xxp1; 2103 struct cvmx_mio_uart2_far_s cn52xxp1;
@@ -4795,7 +2106,6 @@ union cvmx_mio_uart2_far {
4795union cvmx_mio_uart2_fcr { 2106union cvmx_mio_uart2_fcr {
4796 uint64_t u64; 2107 uint64_t u64;
4797 struct cvmx_mio_uart2_fcr_s { 2108 struct cvmx_mio_uart2_fcr_s {
4798#ifdef __BIG_ENDIAN_BITFIELD
4799 uint64_t reserved_8_63:56; 2109 uint64_t reserved_8_63:56;
4800 uint64_t rxtrig:2; 2110 uint64_t rxtrig:2;
4801 uint64_t txtrig:2; 2111 uint64_t txtrig:2;
@@ -4803,15 +2113,6 @@ union cvmx_mio_uart2_fcr {
4803 uint64_t txfr:1; 2113 uint64_t txfr:1;
4804 uint64_t rxfr:1; 2114 uint64_t rxfr:1;
4805 uint64_t en:1; 2115 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
4815 } s; 2116 } s;
4816 struct cvmx_mio_uart2_fcr_s cn52xx; 2117 struct cvmx_mio_uart2_fcr_s cn52xx;
4817 struct cvmx_mio_uart2_fcr_s cn52xxp1; 2118 struct cvmx_mio_uart2_fcr_s cn52xxp1;
@@ -4820,13 +2121,8 @@ union cvmx_mio_uart2_fcr {
4820union cvmx_mio_uart2_htx { 2121union cvmx_mio_uart2_htx {
4821 uint64_t u64; 2122 uint64_t u64;
4822 struct cvmx_mio_uart2_htx_s { 2123 struct cvmx_mio_uart2_htx_s {
4823#ifdef __BIG_ENDIAN_BITFIELD
4824 uint64_t reserved_1_63:63; 2124 uint64_t reserved_1_63:63;
4825 uint64_t htx:1; 2125 uint64_t htx:1;
4826#else
4827 uint64_t htx:1;
4828 uint64_t reserved_1_63:63;
4829#endif
4830 } s; 2126 } s;
4831 struct cvmx_mio_uart2_htx_s cn52xx; 2127 struct cvmx_mio_uart2_htx_s cn52xx;
4832 struct cvmx_mio_uart2_htx_s cn52xxp1; 2128 struct cvmx_mio_uart2_htx_s cn52xxp1;
@@ -4835,7 +2131,6 @@ union cvmx_mio_uart2_htx {
4835union cvmx_mio_uart2_ier { 2131union cvmx_mio_uart2_ier {
4836 uint64_t u64; 2132 uint64_t u64;
4837 struct cvmx_mio_uart2_ier_s { 2133 struct cvmx_mio_uart2_ier_s {
4838#ifdef __BIG_ENDIAN_BITFIELD
4839 uint64_t reserved_8_63:56; 2134 uint64_t reserved_8_63:56;
4840 uint64_t ptime:1; 2135 uint64_t ptime:1;
4841 uint64_t reserved_4_6:3; 2136 uint64_t reserved_4_6:3;
@@ -4843,15 +2138,6 @@ union cvmx_mio_uart2_ier {
4843 uint64_t elsi:1; 2138 uint64_t elsi:1;
4844 uint64_t etbei:1; 2139 uint64_t etbei:1;
4845 uint64_t erbfi:1; 2140 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
4855 } s; 2141 } s;
4856 struct cvmx_mio_uart2_ier_s cn52xx; 2142 struct cvmx_mio_uart2_ier_s cn52xx;
4857 struct cvmx_mio_uart2_ier_s cn52xxp1; 2143 struct cvmx_mio_uart2_ier_s cn52xxp1;
@@ -4860,17 +2146,10 @@ union cvmx_mio_uart2_ier {
4860union cvmx_mio_uart2_iir { 2146union cvmx_mio_uart2_iir {
4861 uint64_t u64; 2147 uint64_t u64;
4862 struct cvmx_mio_uart2_iir_s { 2148 struct cvmx_mio_uart2_iir_s {
4863#ifdef __BIG_ENDIAN_BITFIELD
4864 uint64_t reserved_8_63:56; 2149 uint64_t reserved_8_63:56;
4865 uint64_t fen:2; 2150 uint64_t fen:2;
4866 uint64_t reserved_4_5:2; 2151 uint64_t reserved_4_5:2;
4867 uint64_t iid:4; 2152 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
4874 } s; 2153 } s;
4875 struct cvmx_mio_uart2_iir_s cn52xx; 2154 struct cvmx_mio_uart2_iir_s cn52xx;
4876 struct cvmx_mio_uart2_iir_s cn52xxp1; 2155 struct cvmx_mio_uart2_iir_s cn52xxp1;
@@ -4879,7 +2158,6 @@ union cvmx_mio_uart2_iir {
4879union cvmx_mio_uart2_lcr { 2158union cvmx_mio_uart2_lcr {
4880 uint64_t u64; 2159 uint64_t u64;
4881 struct cvmx_mio_uart2_lcr_s { 2160 struct cvmx_mio_uart2_lcr_s {
4882#ifdef __BIG_ENDIAN_BITFIELD
4883 uint64_t reserved_8_63:56; 2161 uint64_t reserved_8_63:56;
4884 uint64_t dlab:1; 2162 uint64_t dlab:1;
4885 uint64_t brk:1; 2163 uint64_t brk:1;
@@ -4888,16 +2166,6 @@ union cvmx_mio_uart2_lcr {
4888 uint64_t pen:1; 2166 uint64_t pen:1;
4889 uint64_t stop:1; 2167 uint64_t stop:1;
4890 uint64_t cls:2; 2168 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
4901 } s; 2169 } s;
4902 struct cvmx_mio_uart2_lcr_s cn52xx; 2170 struct cvmx_mio_uart2_lcr_s cn52xx;
4903 struct cvmx_mio_uart2_lcr_s cn52xxp1; 2171 struct cvmx_mio_uart2_lcr_s cn52xxp1;
@@ -4906,7 +2174,6 @@ union cvmx_mio_uart2_lcr {
4906union cvmx_mio_uart2_lsr { 2174union cvmx_mio_uart2_lsr {
4907 uint64_t u64; 2175 uint64_t u64;
4908 struct cvmx_mio_uart2_lsr_s { 2176 struct cvmx_mio_uart2_lsr_s {
4909#ifdef __BIG_ENDIAN_BITFIELD
4910 uint64_t reserved_8_63:56; 2177 uint64_t reserved_8_63:56;
4911 uint64_t ferr:1; 2178 uint64_t ferr:1;
4912 uint64_t temt:1; 2179 uint64_t temt:1;
@@ -4916,17 +2183,6 @@ union cvmx_mio_uart2_lsr {
4916 uint64_t pe:1; 2183 uint64_t pe:1;
4917 uint64_t oe:1; 2184 uint64_t oe:1;
4918 uint64_t dr:1; 2185 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
4930 } s; 2186 } s;
4931 struct cvmx_mio_uart2_lsr_s cn52xx; 2187 struct cvmx_mio_uart2_lsr_s cn52xx;
4932 struct cvmx_mio_uart2_lsr_s cn52xxp1; 2188 struct cvmx_mio_uart2_lsr_s cn52xxp1;
@@ -4935,7 +2191,6 @@ union cvmx_mio_uart2_lsr {
4935union cvmx_mio_uart2_mcr { 2191union cvmx_mio_uart2_mcr {
4936 uint64_t u64; 2192 uint64_t u64;
4937 struct cvmx_mio_uart2_mcr_s { 2193 struct cvmx_mio_uart2_mcr_s {
4938#ifdef __BIG_ENDIAN_BITFIELD
4939 uint64_t reserved_6_63:58; 2194 uint64_t reserved_6_63:58;
4940 uint64_t afce:1; 2195 uint64_t afce:1;
4941 uint64_t loop:1; 2196 uint64_t loop:1;
@@ -4943,15 +2198,6 @@ union cvmx_mio_uart2_mcr {
4943 uint64_t out1:1; 2198 uint64_t out1:1;
4944 uint64_t rts:1; 2199 uint64_t rts:1;
4945 uint64_t dtr:1; 2200 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
4955 } s; 2201 } s;
4956 struct cvmx_mio_uart2_mcr_s cn52xx; 2202 struct cvmx_mio_uart2_mcr_s cn52xx;
4957 struct cvmx_mio_uart2_mcr_s cn52xxp1; 2203 struct cvmx_mio_uart2_mcr_s cn52xxp1;
@@ -4960,7 +2206,6 @@ union cvmx_mio_uart2_mcr {
4960union cvmx_mio_uart2_msr { 2206union cvmx_mio_uart2_msr {
4961 uint64_t u64; 2207 uint64_t u64;
4962 struct cvmx_mio_uart2_msr_s { 2208 struct cvmx_mio_uart2_msr_s {
4963#ifdef __BIG_ENDIAN_BITFIELD
4964 uint64_t reserved_8_63:56; 2209 uint64_t reserved_8_63:56;
4965 uint64_t dcd:1; 2210 uint64_t dcd:1;
4966 uint64_t ri:1; 2211 uint64_t ri:1;
@@ -4970,17 +2215,6 @@ union cvmx_mio_uart2_msr {
4970 uint64_t teri:1; 2215 uint64_t teri:1;
4971 uint64_t ddsr:1; 2216 uint64_t ddsr:1;
4972 uint64_t dcts:1; 2217 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
4984 } s; 2218 } s;
4985 struct cvmx_mio_uart2_msr_s cn52xx; 2219 struct cvmx_mio_uart2_msr_s cn52xx;
4986 struct cvmx_mio_uart2_msr_s cn52xxp1; 2220 struct cvmx_mio_uart2_msr_s cn52xxp1;
@@ -4989,13 +2223,8 @@ union cvmx_mio_uart2_msr {
4989union cvmx_mio_uart2_rbr { 2223union cvmx_mio_uart2_rbr {
4990 uint64_t u64; 2224 uint64_t u64;
4991 struct cvmx_mio_uart2_rbr_s { 2225 struct cvmx_mio_uart2_rbr_s {
4992#ifdef __BIG_ENDIAN_BITFIELD
4993 uint64_t reserved_8_63:56; 2226 uint64_t reserved_8_63:56;
4994 uint64_t rbr:8; 2227 uint64_t rbr:8;
4995#else
4996 uint64_t rbr:8;
4997 uint64_t reserved_8_63:56;
4998#endif
4999 } s; 2228 } s;
5000 struct cvmx_mio_uart2_rbr_s cn52xx; 2229 struct cvmx_mio_uart2_rbr_s cn52xx;
5001 struct cvmx_mio_uart2_rbr_s cn52xxp1; 2230 struct cvmx_mio_uart2_rbr_s cn52xxp1;
@@ -5004,13 +2233,8 @@ union cvmx_mio_uart2_rbr {
5004union cvmx_mio_uart2_rfl { 2233union cvmx_mio_uart2_rfl {
5005 uint64_t u64; 2234 uint64_t u64;
5006 struct cvmx_mio_uart2_rfl_s { 2235 struct cvmx_mio_uart2_rfl_s {
5007#ifdef __BIG_ENDIAN_BITFIELD
5008 uint64_t reserved_7_63:57; 2236 uint64_t reserved_7_63:57;
5009 uint64_t rfl:7; 2237 uint64_t rfl:7;
5010#else
5011 uint64_t rfl:7;
5012 uint64_t reserved_7_63:57;
5013#endif
5014 } s; 2238 } s;
5015 struct cvmx_mio_uart2_rfl_s cn52xx; 2239 struct cvmx_mio_uart2_rfl_s cn52xx;
5016 struct cvmx_mio_uart2_rfl_s cn52xxp1; 2240 struct cvmx_mio_uart2_rfl_s cn52xxp1;
@@ -5019,17 +2243,10 @@ union cvmx_mio_uart2_rfl {
5019union cvmx_mio_uart2_rfw { 2243union cvmx_mio_uart2_rfw {
5020 uint64_t u64; 2244 uint64_t u64;
5021 struct cvmx_mio_uart2_rfw_s { 2245 struct cvmx_mio_uart2_rfw_s {
5022#ifdef __BIG_ENDIAN_BITFIELD
5023 uint64_t reserved_10_63:54; 2246 uint64_t reserved_10_63:54;
5024 uint64_t rffe:1; 2247 uint64_t rffe:1;
5025 uint64_t rfpe:1; 2248 uint64_t rfpe:1;
5026 uint64_t rfwd:8; 2249 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
5033 } s; 2250 } s;
5034 struct cvmx_mio_uart2_rfw_s cn52xx; 2251 struct cvmx_mio_uart2_rfw_s cn52xx;
5035 struct cvmx_mio_uart2_rfw_s cn52xxp1; 2252 struct cvmx_mio_uart2_rfw_s cn52xxp1;
@@ -5038,13 +2255,8 @@ union cvmx_mio_uart2_rfw {
5038union cvmx_mio_uart2_sbcr { 2255union cvmx_mio_uart2_sbcr {
5039 uint64_t u64; 2256 uint64_t u64;
5040 struct cvmx_mio_uart2_sbcr_s { 2257 struct cvmx_mio_uart2_sbcr_s {
5041#ifdef __BIG_ENDIAN_BITFIELD
5042 uint64_t reserved_1_63:63; 2258 uint64_t reserved_1_63:63;
5043 uint64_t sbcr:1; 2259 uint64_t sbcr:1;
5044#else
5045 uint64_t sbcr:1;
5046 uint64_t reserved_1_63:63;
5047#endif
5048 } s; 2260 } s;
5049 struct cvmx_mio_uart2_sbcr_s cn52xx; 2261 struct cvmx_mio_uart2_sbcr_s cn52xx;
5050 struct cvmx_mio_uart2_sbcr_s cn52xxp1; 2262 struct cvmx_mio_uart2_sbcr_s cn52xxp1;
@@ -5053,13 +2265,8 @@ union cvmx_mio_uart2_sbcr {
5053union cvmx_mio_uart2_scr { 2265union cvmx_mio_uart2_scr {
5054 uint64_t u64; 2266 uint64_t u64;
5055 struct cvmx_mio_uart2_scr_s { 2267 struct cvmx_mio_uart2_scr_s {
5056#ifdef __BIG_ENDIAN_BITFIELD
5057 uint64_t reserved_8_63:56; 2268 uint64_t reserved_8_63:56;
5058 uint64_t scr:8; 2269 uint64_t scr:8;
5059#else
5060 uint64_t scr:8;
5061 uint64_t reserved_8_63:56;
5062#endif
5063 } s; 2270 } s;
5064 struct cvmx_mio_uart2_scr_s cn52xx; 2271 struct cvmx_mio_uart2_scr_s cn52xx;
5065 struct cvmx_mio_uart2_scr_s cn52xxp1; 2272 struct cvmx_mio_uart2_scr_s cn52xxp1;
@@ -5068,13 +2275,8 @@ union cvmx_mio_uart2_scr {
5068union cvmx_mio_uart2_sfe { 2275union cvmx_mio_uart2_sfe {
5069 uint64_t u64; 2276 uint64_t u64;
5070 struct cvmx_mio_uart2_sfe_s { 2277 struct cvmx_mio_uart2_sfe_s {
5071#ifdef __BIG_ENDIAN_BITFIELD
5072 uint64_t reserved_1_63:63; 2278 uint64_t reserved_1_63:63;
5073 uint64_t sfe:1; 2279 uint64_t sfe:1;
5074#else
5075 uint64_t sfe:1;
5076 uint64_t reserved_1_63:63;
5077#endif
5078 } s; 2280 } s;
5079 struct cvmx_mio_uart2_sfe_s cn52xx; 2281 struct cvmx_mio_uart2_sfe_s cn52xx;
5080 struct cvmx_mio_uart2_sfe_s cn52xxp1; 2282 struct cvmx_mio_uart2_sfe_s cn52xxp1;
@@ -5083,17 +2285,10 @@ union cvmx_mio_uart2_sfe {
5083union cvmx_mio_uart2_srr { 2285union cvmx_mio_uart2_srr {
5084 uint64_t u64; 2286 uint64_t u64;
5085 struct cvmx_mio_uart2_srr_s { 2287 struct cvmx_mio_uart2_srr_s {
5086#ifdef __BIG_ENDIAN_BITFIELD
5087 uint64_t reserved_3_63:61; 2288 uint64_t reserved_3_63:61;
5088 uint64_t stfr:1; 2289 uint64_t stfr:1;
5089 uint64_t srfr:1; 2290 uint64_t srfr:1;
5090 uint64_t usr:1; 2291 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
5097 } s; 2292 } s;
5098 struct cvmx_mio_uart2_srr_s cn52xx; 2293 struct cvmx_mio_uart2_srr_s cn52xx;
5099 struct cvmx_mio_uart2_srr_s cn52xxp1; 2294 struct cvmx_mio_uart2_srr_s cn52xxp1;
@@ -5102,13 +2297,8 @@ union cvmx_mio_uart2_srr {
5102union cvmx_mio_uart2_srt { 2297union cvmx_mio_uart2_srt {
5103 uint64_t u64; 2298 uint64_t u64;
5104 struct cvmx_mio_uart2_srt_s { 2299 struct cvmx_mio_uart2_srt_s {
5105#ifdef __BIG_ENDIAN_BITFIELD
5106 uint64_t reserved_2_63:62; 2300 uint64_t reserved_2_63:62;
5107 uint64_t srt:2; 2301 uint64_t srt:2;
5108#else
5109 uint64_t srt:2;
5110 uint64_t reserved_2_63:62;
5111#endif
5112 } s; 2302 } s;
5113 struct cvmx_mio_uart2_srt_s cn52xx; 2303 struct cvmx_mio_uart2_srt_s cn52xx;
5114 struct cvmx_mio_uart2_srt_s cn52xxp1; 2304 struct cvmx_mio_uart2_srt_s cn52xxp1;
@@ -5117,13 +2307,8 @@ union cvmx_mio_uart2_srt {
5117union cvmx_mio_uart2_srts { 2307union cvmx_mio_uart2_srts {
5118 uint64_t u64; 2308 uint64_t u64;
5119 struct cvmx_mio_uart2_srts_s { 2309 struct cvmx_mio_uart2_srts_s {
5120#ifdef __BIG_ENDIAN_BITFIELD
5121 uint64_t reserved_1_63:63; 2310 uint64_t reserved_1_63:63;
5122 uint64_t srts:1; 2311 uint64_t srts:1;
5123#else
5124 uint64_t srts:1;
5125 uint64_t reserved_1_63:63;
5126#endif
5127 } s; 2312 } s;
5128 struct cvmx_mio_uart2_srts_s cn52xx; 2313 struct cvmx_mio_uart2_srts_s cn52xx;
5129 struct cvmx_mio_uart2_srts_s cn52xxp1; 2314 struct cvmx_mio_uart2_srts_s cn52xxp1;
@@ -5132,13 +2317,8 @@ union cvmx_mio_uart2_srts {
5132union cvmx_mio_uart2_stt { 2317union cvmx_mio_uart2_stt {
5133 uint64_t u64; 2318 uint64_t u64;
5134 struct cvmx_mio_uart2_stt_s { 2319 struct cvmx_mio_uart2_stt_s {
5135#ifdef __BIG_ENDIAN_BITFIELD
5136 uint64_t reserved_2_63:62; 2320 uint64_t reserved_2_63:62;
5137 uint64_t stt:2; 2321 uint64_t stt:2;
5138#else
5139 uint64_t stt:2;
5140 uint64_t reserved_2_63:62;
5141#endif
5142 } s; 2322 } s;
5143 struct cvmx_mio_uart2_stt_s cn52xx; 2323 struct cvmx_mio_uart2_stt_s cn52xx;
5144 struct cvmx_mio_uart2_stt_s cn52xxp1; 2324 struct cvmx_mio_uart2_stt_s cn52xxp1;
@@ -5147,13 +2327,8 @@ union cvmx_mio_uart2_stt {
5147union cvmx_mio_uart2_tfl { 2327union cvmx_mio_uart2_tfl {
5148 uint64_t u64; 2328 uint64_t u64;
5149 struct cvmx_mio_uart2_tfl_s { 2329 struct cvmx_mio_uart2_tfl_s {
5150#ifdef __BIG_ENDIAN_BITFIELD
5151 uint64_t reserved_7_63:57; 2330 uint64_t reserved_7_63:57;
5152 uint64_t tfl:7; 2331 uint64_t tfl:7;
5153#else
5154 uint64_t tfl:7;
5155 uint64_t reserved_7_63:57;
5156#endif
5157 } s; 2332 } s;
5158 struct cvmx_mio_uart2_tfl_s cn52xx; 2333 struct cvmx_mio_uart2_tfl_s cn52xx;
5159 struct cvmx_mio_uart2_tfl_s cn52xxp1; 2334 struct cvmx_mio_uart2_tfl_s cn52xxp1;
@@ -5162,13 +2337,8 @@ union cvmx_mio_uart2_tfl {
5162union cvmx_mio_uart2_tfr { 2337union cvmx_mio_uart2_tfr {
5163 uint64_t u64; 2338 uint64_t u64;
5164 struct cvmx_mio_uart2_tfr_s { 2339 struct cvmx_mio_uart2_tfr_s {
5165#ifdef __BIG_ENDIAN_BITFIELD
5166 uint64_t reserved_8_63:56; 2340 uint64_t reserved_8_63:56;
5167 uint64_t tfr:8; 2341 uint64_t tfr:8;
5168#else
5169 uint64_t tfr:8;
5170 uint64_t reserved_8_63:56;
5171#endif
5172 } s; 2342 } s;
5173 struct cvmx_mio_uart2_tfr_s cn52xx; 2343 struct cvmx_mio_uart2_tfr_s cn52xx;
5174 struct cvmx_mio_uart2_tfr_s cn52xxp1; 2344 struct cvmx_mio_uart2_tfr_s cn52xxp1;
@@ -5177,13 +2347,8 @@ union cvmx_mio_uart2_tfr {
5177union cvmx_mio_uart2_thr { 2347union cvmx_mio_uart2_thr {
5178 uint64_t u64; 2348 uint64_t u64;
5179 struct cvmx_mio_uart2_thr_s { 2349 struct cvmx_mio_uart2_thr_s {
5180#ifdef __BIG_ENDIAN_BITFIELD
5181 uint64_t reserved_8_63:56; 2350 uint64_t reserved_8_63:56;
5182 uint64_t thr:8; 2351 uint64_t thr:8;
5183#else
5184 uint64_t thr:8;
5185 uint64_t reserved_8_63:56;
5186#endif
5187 } s; 2352 } s;
5188 struct cvmx_mio_uart2_thr_s cn52xx; 2353 struct cvmx_mio_uart2_thr_s cn52xx;
5189 struct cvmx_mio_uart2_thr_s cn52xxp1; 2354 struct cvmx_mio_uart2_thr_s cn52xxp1;
@@ -5192,21 +2357,12 @@ union cvmx_mio_uart2_thr {
5192union cvmx_mio_uart2_usr { 2357union cvmx_mio_uart2_usr {
5193 uint64_t u64; 2358 uint64_t u64;
5194 struct cvmx_mio_uart2_usr_s { 2359 struct cvmx_mio_uart2_usr_s {
5195#ifdef __BIG_ENDIAN_BITFIELD
5196 uint64_t reserved_5_63:59; 2360 uint64_t reserved_5_63:59;
5197 uint64_t rff:1; 2361 uint64_t rff:1;
5198 uint64_t rfne:1; 2362 uint64_t rfne:1;
5199 uint64_t tfe:1; 2363 uint64_t tfe:1;
5200 uint64_t tfnf:1; 2364 uint64_t tfnf:1;
5201 uint64_t busy:1; 2365 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
5210 } s; 2366 } s;
5211 struct cvmx_mio_uart2_usr_s cn52xx; 2367 struct cvmx_mio_uart2_usr_s cn52xx;
5212 struct cvmx_mio_uart2_usr_s cn52xxp1; 2368 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 3155e6019dc..7057c447e69 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,7 +47,6 @@
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
51 uint64_t reserved_6_63:58; 50 uint64_t reserved_6_63:58;
52 uint64_t opfdat:1; 51 uint64_t opfdat:1;
53 uint64_t mrgdat:1; 52 uint64_t mrgdat:1;
@@ -55,46 +54,24 @@ union cvmx_mixx_bist {
55 uint64_t ipfdat:1; 54 uint64_t ipfdat:1;
56 uint64_t irfdat:1; 55 uint64_t irfdat:1;
57 uint64_t orfdat:1; 56 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
67 } s; 57 } s;
68 struct cvmx_mixx_bist_cn52xx { 58 struct cvmx_mixx_bist_cn52xx {
69#ifdef __BIG_ENDIAN_BITFIELD
70 uint64_t reserved_4_63:60; 59 uint64_t reserved_4_63:60;
71 uint64_t mrqdat:1; 60 uint64_t mrqdat:1;
72 uint64_t ipfdat:1; 61 uint64_t ipfdat:1;
73 uint64_t irfdat:1; 62 uint64_t irfdat:1;
74 uint64_t orfdat:1; 63 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
82 } cn52xx; 64 } cn52xx;
83 struct cvmx_mixx_bist_cn52xx cn52xxp1; 65 struct cvmx_mixx_bist_cn52xx cn52xxp1;
84 struct cvmx_mixx_bist_cn52xx cn56xx; 66 struct cvmx_mixx_bist_cn52xx cn56xx;
85 struct cvmx_mixx_bist_cn52xx cn56xxp1; 67 struct cvmx_mixx_bist_cn52xx cn56xxp1;
86 struct cvmx_mixx_bist_s cn61xx;
87 struct cvmx_mixx_bist_s cn63xx; 68 struct cvmx_mixx_bist_s cn63xx;
88 struct cvmx_mixx_bist_s cn63xxp1; 69 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;
92}; 70};
93 71
94union cvmx_mixx_ctl { 72union cvmx_mixx_ctl {
95 uint64_t u64; 73 uint64_t u64;
96 struct cvmx_mixx_ctl_s { 74 struct cvmx_mixx_ctl_s {
97#ifdef __BIG_ENDIAN_BITFIELD
98 uint64_t reserved_12_63:52; 75 uint64_t reserved_12_63:52;
99 uint64_t ts_thresh:4; 76 uint64_t ts_thresh:4;
100 uint64_t crc_strip:1; 77 uint64_t crc_strip:1;
@@ -104,20 +81,8 @@ union cvmx_mixx_ctl {
104 uint64_t lendian:1; 81 uint64_t lendian:1;
105 uint64_t nbtarb:1; 82 uint64_t nbtarb:1;
106 uint64_t mrq_hwm:2; 83 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
118 } s; 84 } s;
119 struct cvmx_mixx_ctl_cn52xx { 85 struct cvmx_mixx_ctl_cn52xx {
120#ifdef __BIG_ENDIAN_BITFIELD
121 uint64_t reserved_8_63:56; 86 uint64_t reserved_8_63:56;
122 uint64_t crc_strip:1; 87 uint64_t crc_strip:1;
123 uint64_t busy:1; 88 uint64_t busy:1;
@@ -126,32 +91,17 @@ union cvmx_mixx_ctl {
126 uint64_t lendian:1; 91 uint64_t lendian:1;
127 uint64_t nbtarb:1; 92 uint64_t nbtarb:1;
128 uint64_t mrq_hwm:2; 93 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
139 } cn52xx; 94 } cn52xx;
140 struct cvmx_mixx_ctl_cn52xx cn52xxp1; 95 struct cvmx_mixx_ctl_cn52xx cn52xxp1;
141 struct cvmx_mixx_ctl_cn52xx cn56xx; 96 struct cvmx_mixx_ctl_cn52xx cn56xx;
142 struct cvmx_mixx_ctl_cn52xx cn56xxp1; 97 struct cvmx_mixx_ctl_cn52xx cn56xxp1;
143 struct cvmx_mixx_ctl_s cn61xx;
144 struct cvmx_mixx_ctl_s cn63xx; 98 struct cvmx_mixx_ctl_s cn63xx;
145 struct cvmx_mixx_ctl_s cn63xxp1; 99 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;
149}; 100};
150 101
151union cvmx_mixx_intena { 102union cvmx_mixx_intena {
152 uint64_t u64; 103 uint64_t u64;
153 struct cvmx_mixx_intena_s { 104 struct cvmx_mixx_intena_s {
154#ifdef __BIG_ENDIAN_BITFIELD
155 uint64_t reserved_8_63:56; 105 uint64_t reserved_8_63:56;
156 uint64_t tsena:1; 106 uint64_t tsena:1;
157 uint64_t orunena:1; 107 uint64_t orunena:1;
@@ -161,20 +111,8 @@ union cvmx_mixx_intena {
161 uint64_t othena:1; 111 uint64_t othena:1;
162 uint64_t ivfena:1; 112 uint64_t ivfena:1;
163 uint64_t ovfena:1; 113 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
175 } s; 114 } s;
176 struct cvmx_mixx_intena_cn52xx { 115 struct cvmx_mixx_intena_cn52xx {
177#ifdef __BIG_ENDIAN_BITFIELD
178 uint64_t reserved_7_63:57; 116 uint64_t reserved_7_63:57;
179 uint64_t orunena:1; 117 uint64_t orunena:1;
180 uint64_t irunena:1; 118 uint64_t irunena:1;
@@ -183,148 +121,84 @@ union cvmx_mixx_intena {
183 uint64_t othena:1; 121 uint64_t othena:1;
184 uint64_t ivfena:1; 122 uint64_t ivfena:1;
185 uint64_t ovfena:1; 123 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
196 } cn52xx; 124 } cn52xx;
197 struct cvmx_mixx_intena_cn52xx cn52xxp1; 125 struct cvmx_mixx_intena_cn52xx cn52xxp1;
198 struct cvmx_mixx_intena_cn52xx cn56xx; 126 struct cvmx_mixx_intena_cn52xx cn56xx;
199 struct cvmx_mixx_intena_cn52xx cn56xxp1; 127 struct cvmx_mixx_intena_cn52xx cn56xxp1;
200 struct cvmx_mixx_intena_s cn61xx;
201 struct cvmx_mixx_intena_s cn63xx; 128 struct cvmx_mixx_intena_s cn63xx;
202 struct cvmx_mixx_intena_s cn63xxp1; 129 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;
206}; 130};
207 131
208union cvmx_mixx_ircnt { 132union cvmx_mixx_ircnt {
209 uint64_t u64; 133 uint64_t u64;
210 struct cvmx_mixx_ircnt_s { 134 struct cvmx_mixx_ircnt_s {
211#ifdef __BIG_ENDIAN_BITFIELD
212 uint64_t reserved_20_63:44; 135 uint64_t reserved_20_63:44;
213 uint64_t ircnt:20; 136 uint64_t ircnt:20;
214#else
215 uint64_t ircnt:20;
216 uint64_t reserved_20_63:44;
217#endif
218 } s; 137 } s;
219 struct cvmx_mixx_ircnt_s cn52xx; 138 struct cvmx_mixx_ircnt_s cn52xx;
220 struct cvmx_mixx_ircnt_s cn52xxp1; 139 struct cvmx_mixx_ircnt_s cn52xxp1;
221 struct cvmx_mixx_ircnt_s cn56xx; 140 struct cvmx_mixx_ircnt_s cn56xx;
222 struct cvmx_mixx_ircnt_s cn56xxp1; 141 struct cvmx_mixx_ircnt_s cn56xxp1;
223 struct cvmx_mixx_ircnt_s cn61xx;
224 struct cvmx_mixx_ircnt_s cn63xx; 142 struct cvmx_mixx_ircnt_s cn63xx;
225 struct cvmx_mixx_ircnt_s cn63xxp1; 143 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;
229}; 144};
230 145
231union cvmx_mixx_irhwm { 146union cvmx_mixx_irhwm {
232 uint64_t u64; 147 uint64_t u64;
233 struct cvmx_mixx_irhwm_s { 148 struct cvmx_mixx_irhwm_s {
234#ifdef __BIG_ENDIAN_BITFIELD
235 uint64_t reserved_40_63:24; 149 uint64_t reserved_40_63:24;
236 uint64_t ibplwm:20; 150 uint64_t ibplwm:20;
237 uint64_t irhwm:20; 151 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
243 } s; 152 } s;
244 struct cvmx_mixx_irhwm_s cn52xx; 153 struct cvmx_mixx_irhwm_s cn52xx;
245 struct cvmx_mixx_irhwm_s cn52xxp1; 154 struct cvmx_mixx_irhwm_s cn52xxp1;
246 struct cvmx_mixx_irhwm_s cn56xx; 155 struct cvmx_mixx_irhwm_s cn56xx;
247 struct cvmx_mixx_irhwm_s cn56xxp1; 156 struct cvmx_mixx_irhwm_s cn56xxp1;
248 struct cvmx_mixx_irhwm_s cn61xx;
249 struct cvmx_mixx_irhwm_s cn63xx; 157 struct cvmx_mixx_irhwm_s cn63xx;
250 struct cvmx_mixx_irhwm_s cn63xxp1; 158 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;
254}; 159};
255 160
256union cvmx_mixx_iring1 { 161union cvmx_mixx_iring1 {
257 uint64_t u64; 162 uint64_t u64;
258 struct cvmx_mixx_iring1_s { 163 struct cvmx_mixx_iring1_s {
259#ifdef __BIG_ENDIAN_BITFIELD
260 uint64_t reserved_60_63:4; 164 uint64_t reserved_60_63:4;
261 uint64_t isize:20; 165 uint64_t isize:20;
262 uint64_t ibase:37; 166 uint64_t ibase:37;
263 uint64_t reserved_0_2:3; 167 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
270 } s; 168 } s;
271 struct cvmx_mixx_iring1_cn52xx { 169 struct cvmx_mixx_iring1_cn52xx {
272#ifdef __BIG_ENDIAN_BITFIELD
273 uint64_t reserved_60_63:4; 170 uint64_t reserved_60_63:4;
274 uint64_t isize:20; 171 uint64_t isize:20;
275 uint64_t reserved_36_39:4; 172 uint64_t reserved_36_39:4;
276 uint64_t ibase:33; 173 uint64_t ibase:33;
277 uint64_t reserved_0_2:3; 174 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
285 } cn52xx; 175 } cn52xx;
286 struct cvmx_mixx_iring1_cn52xx cn52xxp1; 176 struct cvmx_mixx_iring1_cn52xx cn52xxp1;
287 struct cvmx_mixx_iring1_cn52xx cn56xx; 177 struct cvmx_mixx_iring1_cn52xx cn56xx;
288 struct cvmx_mixx_iring1_cn52xx cn56xxp1; 178 struct cvmx_mixx_iring1_cn52xx cn56xxp1;
289 struct cvmx_mixx_iring1_s cn61xx;
290 struct cvmx_mixx_iring1_s cn63xx; 179 struct cvmx_mixx_iring1_s cn63xx;
291 struct cvmx_mixx_iring1_s cn63xxp1; 180 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;
295}; 181};
296 182
297union cvmx_mixx_iring2 { 183union cvmx_mixx_iring2 {
298 uint64_t u64; 184 uint64_t u64;
299 struct cvmx_mixx_iring2_s { 185 struct cvmx_mixx_iring2_s {
300#ifdef __BIG_ENDIAN_BITFIELD
301 uint64_t reserved_52_63:12; 186 uint64_t reserved_52_63:12;
302 uint64_t itlptr:20; 187 uint64_t itlptr:20;
303 uint64_t reserved_20_31:12; 188 uint64_t reserved_20_31:12;
304 uint64_t idbell:20; 189 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
311 } s; 190 } s;
312 struct cvmx_mixx_iring2_s cn52xx; 191 struct cvmx_mixx_iring2_s cn52xx;
313 struct cvmx_mixx_iring2_s cn52xxp1; 192 struct cvmx_mixx_iring2_s cn52xxp1;
314 struct cvmx_mixx_iring2_s cn56xx; 193 struct cvmx_mixx_iring2_s cn56xx;
315 struct cvmx_mixx_iring2_s cn56xxp1; 194 struct cvmx_mixx_iring2_s cn56xxp1;
316 struct cvmx_mixx_iring2_s cn61xx;
317 struct cvmx_mixx_iring2_s cn63xx; 195 struct cvmx_mixx_iring2_s cn63xx;
318 struct cvmx_mixx_iring2_s cn63xxp1; 196 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;
322}; 197};
323 198
324union cvmx_mixx_isr { 199union cvmx_mixx_isr {
325 uint64_t u64; 200 uint64_t u64;
326 struct cvmx_mixx_isr_s { 201 struct cvmx_mixx_isr_s {
327#ifdef __BIG_ENDIAN_BITFIELD
328 uint64_t reserved_8_63:56; 202 uint64_t reserved_8_63:56;
329 uint64_t ts:1; 203 uint64_t ts:1;
330 uint64_t orun:1; 204 uint64_t orun:1;
@@ -334,20 +208,8 @@ union cvmx_mixx_isr {
334 uint64_t orthresh:1; 208 uint64_t orthresh:1;
335 uint64_t idblovf:1; 209 uint64_t idblovf:1;
336 uint64_t odblovf:1; 210 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
348 } s; 211 } s;
349 struct cvmx_mixx_isr_cn52xx { 212 struct cvmx_mixx_isr_cn52xx {
350#ifdef __BIG_ENDIAN_BITFIELD
351 uint64_t reserved_7_63:57; 213 uint64_t reserved_7_63:57;
352 uint64_t orun:1; 214 uint64_t orun:1;
353 uint64_t irun:1; 215 uint64_t irun:1;
@@ -356,211 +218,117 @@ union cvmx_mixx_isr {
356 uint64_t orthresh:1; 218 uint64_t orthresh:1;
357 uint64_t idblovf:1; 219 uint64_t idblovf:1;
358 uint64_t odblovf:1; 220 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
369 } cn52xx; 221 } cn52xx;
370 struct cvmx_mixx_isr_cn52xx cn52xxp1; 222 struct cvmx_mixx_isr_cn52xx cn52xxp1;
371 struct cvmx_mixx_isr_cn52xx cn56xx; 223 struct cvmx_mixx_isr_cn52xx cn56xx;
372 struct cvmx_mixx_isr_cn52xx cn56xxp1; 224 struct cvmx_mixx_isr_cn52xx cn56xxp1;
373 struct cvmx_mixx_isr_s cn61xx;
374 struct cvmx_mixx_isr_s cn63xx; 225 struct cvmx_mixx_isr_s cn63xx;
375 struct cvmx_mixx_isr_s cn63xxp1; 226 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;
379}; 227};
380 228
381union cvmx_mixx_orcnt { 229union cvmx_mixx_orcnt {
382 uint64_t u64; 230 uint64_t u64;
383 struct cvmx_mixx_orcnt_s { 231 struct cvmx_mixx_orcnt_s {
384#ifdef __BIG_ENDIAN_BITFIELD
385 uint64_t reserved_20_63:44; 232 uint64_t reserved_20_63:44;
386 uint64_t orcnt:20; 233 uint64_t orcnt:20;
387#else
388 uint64_t orcnt:20;
389 uint64_t reserved_20_63:44;
390#endif
391 } s; 234 } s;
392 struct cvmx_mixx_orcnt_s cn52xx; 235 struct cvmx_mixx_orcnt_s cn52xx;
393 struct cvmx_mixx_orcnt_s cn52xxp1; 236 struct cvmx_mixx_orcnt_s cn52xxp1;
394 struct cvmx_mixx_orcnt_s cn56xx; 237 struct cvmx_mixx_orcnt_s cn56xx;
395 struct cvmx_mixx_orcnt_s cn56xxp1; 238 struct cvmx_mixx_orcnt_s cn56xxp1;
396 struct cvmx_mixx_orcnt_s cn61xx;
397 struct cvmx_mixx_orcnt_s cn63xx; 239 struct cvmx_mixx_orcnt_s cn63xx;
398 struct cvmx_mixx_orcnt_s cn63xxp1; 240 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;
402}; 241};
403 242
404union cvmx_mixx_orhwm { 243union cvmx_mixx_orhwm {
405 uint64_t u64; 244 uint64_t u64;
406 struct cvmx_mixx_orhwm_s { 245 struct cvmx_mixx_orhwm_s {
407#ifdef __BIG_ENDIAN_BITFIELD
408 uint64_t reserved_20_63:44; 246 uint64_t reserved_20_63:44;
409 uint64_t orhwm:20; 247 uint64_t orhwm:20;
410#else
411 uint64_t orhwm:20;
412 uint64_t reserved_20_63:44;
413#endif
414 } s; 248 } s;
415 struct cvmx_mixx_orhwm_s cn52xx; 249 struct cvmx_mixx_orhwm_s cn52xx;
416 struct cvmx_mixx_orhwm_s cn52xxp1; 250 struct cvmx_mixx_orhwm_s cn52xxp1;
417 struct cvmx_mixx_orhwm_s cn56xx; 251 struct cvmx_mixx_orhwm_s cn56xx;
418 struct cvmx_mixx_orhwm_s cn56xxp1; 252 struct cvmx_mixx_orhwm_s cn56xxp1;
419 struct cvmx_mixx_orhwm_s cn61xx;
420 struct cvmx_mixx_orhwm_s cn63xx; 253 struct cvmx_mixx_orhwm_s cn63xx;
421 struct cvmx_mixx_orhwm_s cn63xxp1; 254 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;
425}; 255};
426 256
427union cvmx_mixx_oring1 { 257union cvmx_mixx_oring1 {
428 uint64_t u64; 258 uint64_t u64;
429 struct cvmx_mixx_oring1_s { 259 struct cvmx_mixx_oring1_s {
430#ifdef __BIG_ENDIAN_BITFIELD
431 uint64_t reserved_60_63:4; 260 uint64_t reserved_60_63:4;
432 uint64_t osize:20; 261 uint64_t osize:20;
433 uint64_t obase:37; 262 uint64_t obase:37;
434 uint64_t reserved_0_2:3; 263 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
441 } s; 264 } s;
442 struct cvmx_mixx_oring1_cn52xx { 265 struct cvmx_mixx_oring1_cn52xx {
443#ifdef __BIG_ENDIAN_BITFIELD
444 uint64_t reserved_60_63:4; 266 uint64_t reserved_60_63:4;
445 uint64_t osize:20; 267 uint64_t osize:20;
446 uint64_t reserved_36_39:4; 268 uint64_t reserved_36_39:4;
447 uint64_t obase:33; 269 uint64_t obase:33;
448 uint64_t reserved_0_2:3; 270 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
456 } cn52xx; 271 } cn52xx;
457 struct cvmx_mixx_oring1_cn52xx cn52xxp1; 272 struct cvmx_mixx_oring1_cn52xx cn52xxp1;
458 struct cvmx_mixx_oring1_cn52xx cn56xx; 273 struct cvmx_mixx_oring1_cn52xx cn56xx;
459 struct cvmx_mixx_oring1_cn52xx cn56xxp1; 274 struct cvmx_mixx_oring1_cn52xx cn56xxp1;
460 struct cvmx_mixx_oring1_s cn61xx;
461 struct cvmx_mixx_oring1_s cn63xx; 275 struct cvmx_mixx_oring1_s cn63xx;
462 struct cvmx_mixx_oring1_s cn63xxp1; 276 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;
466}; 277};
467 278
468union cvmx_mixx_oring2 { 279union cvmx_mixx_oring2 {
469 uint64_t u64; 280 uint64_t u64;
470 struct cvmx_mixx_oring2_s { 281 struct cvmx_mixx_oring2_s {
471#ifdef __BIG_ENDIAN_BITFIELD
472 uint64_t reserved_52_63:12; 282 uint64_t reserved_52_63:12;
473 uint64_t otlptr:20; 283 uint64_t otlptr:20;
474 uint64_t reserved_20_31:12; 284 uint64_t reserved_20_31:12;
475 uint64_t odbell:20; 285 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
482 } s; 286 } s;
483 struct cvmx_mixx_oring2_s cn52xx; 287 struct cvmx_mixx_oring2_s cn52xx;
484 struct cvmx_mixx_oring2_s cn52xxp1; 288 struct cvmx_mixx_oring2_s cn52xxp1;
485 struct cvmx_mixx_oring2_s cn56xx; 289 struct cvmx_mixx_oring2_s cn56xx;
486 struct cvmx_mixx_oring2_s cn56xxp1; 290 struct cvmx_mixx_oring2_s cn56xxp1;
487 struct cvmx_mixx_oring2_s cn61xx;
488 struct cvmx_mixx_oring2_s cn63xx; 291 struct cvmx_mixx_oring2_s cn63xx;
489 struct cvmx_mixx_oring2_s cn63xxp1; 292 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;
493}; 293};
494 294
495union cvmx_mixx_remcnt { 295union cvmx_mixx_remcnt {
496 uint64_t u64; 296 uint64_t u64;
497 struct cvmx_mixx_remcnt_s { 297 struct cvmx_mixx_remcnt_s {
498#ifdef __BIG_ENDIAN_BITFIELD
499 uint64_t reserved_52_63:12; 298 uint64_t reserved_52_63:12;
500 uint64_t iremcnt:20; 299 uint64_t iremcnt:20;
501 uint64_t reserved_20_31:12; 300 uint64_t reserved_20_31:12;
502 uint64_t oremcnt:20; 301 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
509 } s; 302 } s;
510 struct cvmx_mixx_remcnt_s cn52xx; 303 struct cvmx_mixx_remcnt_s cn52xx;
511 struct cvmx_mixx_remcnt_s cn52xxp1; 304 struct cvmx_mixx_remcnt_s cn52xxp1;
512 struct cvmx_mixx_remcnt_s cn56xx; 305 struct cvmx_mixx_remcnt_s cn56xx;
513 struct cvmx_mixx_remcnt_s cn56xxp1; 306 struct cvmx_mixx_remcnt_s cn56xxp1;
514 struct cvmx_mixx_remcnt_s cn61xx;
515 struct cvmx_mixx_remcnt_s cn63xx; 307 struct cvmx_mixx_remcnt_s cn63xx;
516 struct cvmx_mixx_remcnt_s cn63xxp1; 308 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;
520}; 309};
521 310
522union cvmx_mixx_tsctl { 311union cvmx_mixx_tsctl {
523 uint64_t u64; 312 uint64_t u64;
524 struct cvmx_mixx_tsctl_s { 313 struct cvmx_mixx_tsctl_s {
525#ifdef __BIG_ENDIAN_BITFIELD
526 uint64_t reserved_21_63:43; 314 uint64_t reserved_21_63:43;
527 uint64_t tsavl:5; 315 uint64_t tsavl:5;
528 uint64_t reserved_13_15:3; 316 uint64_t reserved_13_15:3;
529 uint64_t tstot:5; 317 uint64_t tstot:5;
530 uint64_t reserved_5_7:3; 318 uint64_t reserved_5_7:3;
531 uint64_t tscnt:5; 319 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
540 } s; 320 } s;
541 struct cvmx_mixx_tsctl_s cn61xx;
542 struct cvmx_mixx_tsctl_s cn63xx; 321 struct cvmx_mixx_tsctl_s cn63xx;
543 struct cvmx_mixx_tsctl_s cn63xxp1; 322 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;
547}; 323};
548 324
549union cvmx_mixx_tstamp { 325union cvmx_mixx_tstamp {
550 uint64_t u64; 326 uint64_t u64;
551 struct cvmx_mixx_tstamp_s { 327 struct cvmx_mixx_tstamp_s {
552#ifdef __BIG_ENDIAN_BITFIELD
553 uint64_t tstamp:64; 328 uint64_t tstamp:64;
554#else
555 uint64_t tstamp:64;
556#endif
557 } s; 329 } s;
558 struct cvmx_mixx_tstamp_s cn61xx;
559 struct cvmx_mixx_tstamp_s cn63xx; 330 struct cvmx_mixx_tstamp_s cn63xx;
560 struct cvmx_mixx_tstamp_s cn63xxp1; 331 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;
564}; 332};
565 333
566#endif 334#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-mpi-defs.h b/arch/mips/include/asm/octeon/cvmx-mpi-defs.h
deleted file mode 100644
index 4615b102625..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-mpi-defs.h
+++ /dev/null
@@ -1,328 +0,0 @@
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 58114d41435..9899a9d2ba7 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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
@@ -65,7 +65,7 @@
65#define CVMX_NPEI_LAST_WIN_RDATA0 (0x0000000000000600ull) 65#define CVMX_NPEI_LAST_WIN_RDATA0 (0x0000000000000600ull)
66#define CVMX_NPEI_LAST_WIN_RDATA1 (0x0000000000000610ull) 66#define CVMX_NPEI_LAST_WIN_RDATA1 (0x0000000000000610ull)
67#define CVMX_NPEI_MEM_ACCESS_CTL (0x00000000000004F0ull) 67#define CVMX_NPEI_MEM_ACCESS_CTL (0x00000000000004F0ull)
68#define CVMX_NPEI_MEM_ACCESS_SUBIDX(offset) (0x0000000000000280ull + ((offset) & 31) * 16 - 16*12) 68#define CVMX_NPEI_MEM_ACCESS_SUBIDX(offset) (0x0000000000000340ull + ((offset) & 31) * 16 - 16*12)
69#define CVMX_NPEI_MSI_ENB0 (0x0000000000003C50ull) 69#define CVMX_NPEI_MSI_ENB0 (0x0000000000003C50ull)
70#define CVMX_NPEI_MSI_ENB1 (0x0000000000003C60ull) 70#define CVMX_NPEI_MSI_ENB1 (0x0000000000003C60ull)
71#define CVMX_NPEI_MSI_ENB2 (0x0000000000003C70ull) 71#define CVMX_NPEI_MSI_ENB2 (0x0000000000003C70ull)
@@ -140,19 +140,11 @@
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
144 uint32_t reserved_18_31:14; 143 uint32_t reserved_18_31:14;
145 uint32_t addr_idx:14; 144 uint32_t addr_idx:14;
146 uint32_t ca:1; 145 uint32_t ca:1;
147 uint32_t end_swp:2; 146 uint32_t end_swp:2;
148 uint32_t addr_v:1; 147 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
156 } s; 148 } s;
157 struct cvmx_npei_bar1_indexx_s cn52xx; 149 struct cvmx_npei_bar1_indexx_s cn52xx;
158 struct cvmx_npei_bar1_indexx_s cn52xxp1; 150 struct cvmx_npei_bar1_indexx_s cn52xxp1;
@@ -163,7 +155,6 @@ union cvmx_npei_bar1_indexx {
163union cvmx_npei_bist_status { 155union cvmx_npei_bist_status {
164 uint64_t u64; 156 uint64_t u64;
165 struct cvmx_npei_bist_status_s { 157 struct cvmx_npei_bist_status_s {
166#ifdef __BIG_ENDIAN_BITFIELD
167 uint64_t pkt_rdf:1; 158 uint64_t pkt_rdf:1;
168 uint64_t reserved_60_62:3; 159 uint64_t reserved_60_62:3;
169 uint64_t pcr_gim:1; 160 uint64_t pcr_gim:1;
@@ -213,60 +204,8 @@ union cvmx_npei_bist_status {
213 uint64_t reserved_2_2:1; 204 uint64_t reserved_2_2:1;
214 uint64_t msi:1; 205 uint64_t msi:1;
215 uint64_t ncb_cmd:1; 206 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
267 } s; 207 } s;
268 struct cvmx_npei_bist_status_cn52xx { 208 struct cvmx_npei_bist_status_cn52xx {
269#ifdef __BIG_ENDIAN_BITFIELD
270 uint64_t pkt_rdf:1; 209 uint64_t pkt_rdf:1;
271 uint64_t reserved_60_62:3; 210 uint64_t reserved_60_62:3;
272 uint64_t pcr_gim:1; 211 uint64_t pcr_gim:1;
@@ -325,69 +264,8 @@ union cvmx_npei_bist_status {
325 uint64_t dif4:1; 264 uint64_t dif4:1;
326 uint64_t msi:1; 265 uint64_t msi:1;
327 uint64_t ncb_cmd:1; 266 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
388 } cn52xx; 267 } cn52xx;
389 struct cvmx_npei_bist_status_cn52xxp1 { 268 struct cvmx_npei_bist_status_cn52xxp1 {
390#ifdef __BIG_ENDIAN_BITFIELD
391 uint64_t reserved_46_63:18; 269 uint64_t reserved_46_63:18;
392 uint64_t d0_mem0:1; 270 uint64_t d0_mem0:1;
393 uint64_t d1_mem1:1; 271 uint64_t d1_mem1:1;
@@ -435,59 +313,9 @@ union cvmx_npei_bist_status {
435 uint64_t dr3_mem:1; 313 uint64_t dr3_mem:1;
436 uint64_t msi:1; 314 uint64_t msi:1;
437 uint64_t ncb_cmd:1; 315 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
487 } cn52xxp1; 316 } cn52xxp1;
488 struct cvmx_npei_bist_status_cn52xx cn56xx; 317 struct cvmx_npei_bist_status_cn52xx cn56xx;
489 struct cvmx_npei_bist_status_cn56xxp1 { 318 struct cvmx_npei_bist_status_cn56xxp1 {
490#ifdef __BIG_ENDIAN_BITFIELD
491 uint64_t reserved_58_63:6; 319 uint64_t reserved_58_63:6;
492 uint64_t pcsr_int:1; 320 uint64_t pcsr_int:1;
493 uint64_t pcsr_im:1; 321 uint64_t pcsr_im:1;
@@ -547,74 +375,12 @@ union cvmx_npei_bist_status {
547 uint64_t dif4:1; 375 uint64_t dif4:1;
548 uint64_t msi:1; 376 uint64_t msi:1;
549 uint64_t ncb_cmd:1; 377 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
611 } cn56xxp1; 378 } cn56xxp1;
612}; 379};
613 380
614union cvmx_npei_bist_status2 { 381union cvmx_npei_bist_status2 {
615 uint64_t u64; 382 uint64_t u64;
616 struct cvmx_npei_bist_status2_s { 383 struct cvmx_npei_bist_status2_s {
617#ifdef __BIG_ENDIAN_BITFIELD
618 uint64_t reserved_14_63:50; 384 uint64_t reserved_14_63:50;
619 uint64_t prd_tag:1; 385 uint64_t prd_tag:1;
620 uint64_t prd_st0:1; 386 uint64_t prd_st0:1;
@@ -630,23 +396,6 @@ union cvmx_npei_bist_status2 {
630 uint64_t pkt_gd:1; 396 uint64_t pkt_gd:1;
631 uint64_t pkt_gl:1; 397 uint64_t pkt_gl:1;
632 uint64_t pkt_blk:1; 398 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
650 } s; 399 } s;
651 struct cvmx_npei_bist_status2_s cn52xx; 400 struct cvmx_npei_bist_status2_s cn52xx;
652 struct cvmx_npei_bist_status2_s cn56xx; 401 struct cvmx_npei_bist_status2_s cn56xx;
@@ -655,7 +404,6 @@ union cvmx_npei_bist_status2 {
655union cvmx_npei_ctl_port0 { 404union cvmx_npei_ctl_port0 {
656 uint64_t u64; 405 uint64_t u64;
657 struct cvmx_npei_ctl_port0_s { 406 struct cvmx_npei_ctl_port0_s {
658#ifdef __BIG_ENDIAN_BITFIELD
659 uint64_t reserved_21_63:43; 407 uint64_t reserved_21_63:43;
660 uint64_t waitl_com:1; 408 uint64_t waitl_com:1;
661 uint64_t intd:1; 409 uint64_t intd:1;
@@ -673,25 +421,6 @@ union cvmx_npei_ctl_port0 {
673 uint64_t bar2_esx:2; 421 uint64_t bar2_esx:2;
674 uint64_t bar2_cax:1; 422 uint64_t bar2_cax:1;
675 uint64_t wait_com:1; 423 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
695 } s; 424 } s;
696 struct cvmx_npei_ctl_port0_s cn52xx; 425 struct cvmx_npei_ctl_port0_s cn52xx;
697 struct cvmx_npei_ctl_port0_s cn52xxp1; 426 struct cvmx_npei_ctl_port0_s cn52xxp1;
@@ -702,7 +431,6 @@ union cvmx_npei_ctl_port0 {
702union cvmx_npei_ctl_port1 { 431union cvmx_npei_ctl_port1 {
703 uint64_t u64; 432 uint64_t u64;
704 struct cvmx_npei_ctl_port1_s { 433 struct cvmx_npei_ctl_port1_s {
705#ifdef __BIG_ENDIAN_BITFIELD
706 uint64_t reserved_21_63:43; 434 uint64_t reserved_21_63:43;
707 uint64_t waitl_com:1; 435 uint64_t waitl_com:1;
708 uint64_t intd:1; 436 uint64_t intd:1;
@@ -720,25 +448,6 @@ union cvmx_npei_ctl_port1 {
720 uint64_t bar2_esx:2; 448 uint64_t bar2_esx:2;
721 uint64_t bar2_cax:1; 449 uint64_t bar2_cax:1;
722 uint64_t wait_com:1; 450 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
742 } s; 451 } s;
743 struct cvmx_npei_ctl_port1_s cn52xx; 452 struct cvmx_npei_ctl_port1_s cn52xx;
744 struct cvmx_npei_ctl_port1_s cn52xxp1; 453 struct cvmx_npei_ctl_port1_s cn52xxp1;
@@ -749,7 +458,6 @@ union cvmx_npei_ctl_port1 {
749union cvmx_npei_ctl_status { 458union cvmx_npei_ctl_status {
750 uint64_t u64; 459 uint64_t u64;
751 struct cvmx_npei_ctl_status_s { 460 struct cvmx_npei_ctl_status_s {
752#ifdef __BIG_ENDIAN_BITFIELD
753 uint64_t reserved_44_63:20; 461 uint64_t reserved_44_63:20;
754 uint64_t p1_ntags:6; 462 uint64_t p1_ntags:6;
755 uint64_t p0_ntags:6; 463 uint64_t p0_ntags:6;
@@ -760,22 +468,9 @@ union cvmx_npei_ctl_status {
760 uint64_t pkt_bp:4; 468 uint64_t pkt_bp:4;
761 uint64_t host_mode:1; 469 uint64_t host_mode:1;
762 uint64_t chip_rev:8; 470 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
775 } s; 471 } s;
776 struct cvmx_npei_ctl_status_s cn52xx; 472 struct cvmx_npei_ctl_status_s cn52xx;
777 struct cvmx_npei_ctl_status_cn52xxp1 { 473 struct cvmx_npei_ctl_status_cn52xxp1 {
778#ifdef __BIG_ENDIAN_BITFIELD
779 uint64_t reserved_44_63:20; 474 uint64_t reserved_44_63:20;
780 uint64_t p1_ntags:6; 475 uint64_t p1_ntags:6;
781 uint64_t p0_ntags:6; 476 uint64_t p0_ntags:6;
@@ -786,43 +481,21 @@ union cvmx_npei_ctl_status {
786 uint64_t reserved_9_12:4; 481 uint64_t reserved_9_12:4;
787 uint64_t host_mode:1; 482 uint64_t host_mode:1;
788 uint64_t chip_rev:8; 483 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
801 } cn52xxp1; 484 } cn52xxp1;
802 struct cvmx_npei_ctl_status_s cn56xx; 485 struct cvmx_npei_ctl_status_s cn56xx;
803 struct cvmx_npei_ctl_status_cn56xxp1 { 486 struct cvmx_npei_ctl_status_cn56xxp1 {
804#ifdef __BIG_ENDIAN_BITFIELD
805 uint64_t reserved_15_63:49; 487 uint64_t reserved_15_63:49;
806 uint64_t lnk_rst:1; 488 uint64_t lnk_rst:1;
807 uint64_t arb:1; 489 uint64_t arb:1;
808 uint64_t pkt_bp:4; 490 uint64_t pkt_bp:4;
809 uint64_t host_mode:1; 491 uint64_t host_mode:1;
810 uint64_t chip_rev:8; 492 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
819 } cn56xxp1; 493 } cn56xxp1;
820}; 494};
821 495
822union cvmx_npei_ctl_status2 { 496union cvmx_npei_ctl_status2 {
823 uint64_t u64; 497 uint64_t u64;
824 struct cvmx_npei_ctl_status2_s { 498 struct cvmx_npei_ctl_status2_s {
825#ifdef __BIG_ENDIAN_BITFIELD
826 uint64_t reserved_16_63:48; 499 uint64_t reserved_16_63:48;
827 uint64_t mps:1; 500 uint64_t mps:1;
828 uint64_t mrrs:3; 501 uint64_t mrrs:3;
@@ -834,19 +507,6 @@ union cvmx_npei_ctl_status2 {
834 uint64_t c1_b0_d:1; 507 uint64_t c1_b0_d:1;
835 uint64_t c0_wi_d:1; 508 uint64_t c0_wi_d:1;
836 uint64_t c0_b0_d:1; 509 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
850 } s; 510 } s;
851 struct cvmx_npei_ctl_status2_s cn52xx; 511 struct cvmx_npei_ctl_status2_s cn52xx;
852 struct cvmx_npei_ctl_status2_s cn52xxp1; 512 struct cvmx_npei_ctl_status2_s cn52xxp1;
@@ -857,19 +517,11 @@ union cvmx_npei_ctl_status2 {
857union cvmx_npei_data_out_cnt { 517union cvmx_npei_data_out_cnt {
858 uint64_t u64; 518 uint64_t u64;
859 struct cvmx_npei_data_out_cnt_s { 519 struct cvmx_npei_data_out_cnt_s {
860#ifdef __BIG_ENDIAN_BITFIELD
861 uint64_t reserved_44_63:20; 520 uint64_t reserved_44_63:20;
862 uint64_t p1_ucnt:16; 521 uint64_t p1_ucnt:16;
863 uint64_t p1_fcnt:6; 522 uint64_t p1_fcnt:6;
864 uint64_t p0_ucnt:16; 523 uint64_t p0_ucnt:16;
865 uint64_t p0_fcnt:6; 524 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
873 } s; 525 } s;
874 struct cvmx_npei_data_out_cnt_s cn52xx; 526 struct cvmx_npei_data_out_cnt_s cn52xx;
875 struct cvmx_npei_data_out_cnt_s cn52xxp1; 527 struct cvmx_npei_data_out_cnt_s cn52xxp1;
@@ -880,7 +532,6 @@ union cvmx_npei_data_out_cnt {
880union cvmx_npei_dbg_data { 532union cvmx_npei_dbg_data {
881 uint64_t u64; 533 uint64_t u64;
882 struct cvmx_npei_dbg_data_s { 534 struct cvmx_npei_dbg_data_s {
883#ifdef __BIG_ENDIAN_BITFIELD
884 uint64_t reserved_28_63:36; 535 uint64_t reserved_28_63:36;
885 uint64_t qlm0_rev_lanes:1; 536 uint64_t qlm0_rev_lanes:1;
886 uint64_t reserved_25_26:2; 537 uint64_t reserved_25_26:2;
@@ -888,18 +539,8 @@ union cvmx_npei_dbg_data {
888 uint64_t c_mul:5; 539 uint64_t c_mul:5;
889 uint64_t dsel_ext:1; 540 uint64_t dsel_ext:1;
890 uint64_t data:17; 541 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
900 } s; 542 } s;
901 struct cvmx_npei_dbg_data_cn52xx { 543 struct cvmx_npei_dbg_data_cn52xx {
902#ifdef __BIG_ENDIAN_BITFIELD
903 uint64_t reserved_29_63:35; 544 uint64_t reserved_29_63:35;
904 uint64_t qlm0_link_width:1; 545 uint64_t qlm0_link_width:1;
905 uint64_t qlm0_rev_lanes:1; 546 uint64_t qlm0_rev_lanes:1;
@@ -908,20 +549,9 @@ union cvmx_npei_dbg_data {
908 uint64_t c_mul:5; 549 uint64_t c_mul:5;
909 uint64_t dsel_ext:1; 550 uint64_t dsel_ext:1;
910 uint64_t data:17; 551 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
921 } cn52xx; 552 } cn52xx;
922 struct cvmx_npei_dbg_data_cn52xx cn52xxp1; 553 struct cvmx_npei_dbg_data_cn52xx cn52xxp1;
923 struct cvmx_npei_dbg_data_cn56xx { 554 struct cvmx_npei_dbg_data_cn56xx {
924#ifdef __BIG_ENDIAN_BITFIELD
925 uint64_t reserved_29_63:35; 555 uint64_t reserved_29_63:35;
926 uint64_t qlm2_rev_lanes:1; 556 uint64_t qlm2_rev_lanes:1;
927 uint64_t qlm0_rev_lanes:1; 557 uint64_t qlm0_rev_lanes:1;
@@ -930,16 +560,6 @@ union cvmx_npei_dbg_data {
930 uint64_t c_mul:5; 560 uint64_t c_mul:5;
931 uint64_t dsel_ext:1; 561 uint64_t dsel_ext:1;
932 uint64_t data:17; 562 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
943 } cn56xx; 563 } cn56xx;
944 struct cvmx_npei_dbg_data_cn56xx cn56xxp1; 564 struct cvmx_npei_dbg_data_cn56xx cn56xxp1;
945}; 565};
@@ -947,13 +567,8 @@ union cvmx_npei_dbg_data {
947union cvmx_npei_dbg_select { 567union cvmx_npei_dbg_select {
948 uint64_t u64; 568 uint64_t u64;
949 struct cvmx_npei_dbg_select_s { 569 struct cvmx_npei_dbg_select_s {
950#ifdef __BIG_ENDIAN_BITFIELD
951 uint64_t reserved_16_63:48; 570 uint64_t reserved_16_63:48;
952 uint64_t dbg_sel:16; 571 uint64_t dbg_sel:16;
953#else
954 uint64_t dbg_sel:16;
955 uint64_t reserved_16_63:48;
956#endif
957 } s; 572 } s;
958 struct cvmx_npei_dbg_select_s cn52xx; 573 struct cvmx_npei_dbg_select_s cn52xx;
959 struct cvmx_npei_dbg_select_s cn52xxp1; 574 struct cvmx_npei_dbg_select_s cn52xxp1;
@@ -964,15 +579,9 @@ union cvmx_npei_dbg_select {
964union cvmx_npei_dmax_counts { 579union cvmx_npei_dmax_counts {
965 uint64_t u64; 580 uint64_t u64;
966 struct cvmx_npei_dmax_counts_s { 581 struct cvmx_npei_dmax_counts_s {
967#ifdef __BIG_ENDIAN_BITFIELD
968 uint64_t reserved_39_63:25; 582 uint64_t reserved_39_63:25;
969 uint64_t fcnt:7; 583 uint64_t fcnt:7;
970 uint64_t dbell:32; 584 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
976 } s; 585 } s;
977 struct cvmx_npei_dmax_counts_s cn52xx; 586 struct cvmx_npei_dmax_counts_s cn52xx;
978 struct cvmx_npei_dmax_counts_s cn52xxp1; 587 struct cvmx_npei_dmax_counts_s cn52xxp1;
@@ -983,13 +592,8 @@ union cvmx_npei_dmax_counts {
983union cvmx_npei_dmax_dbell { 592union cvmx_npei_dmax_dbell {
984 uint32_t u32; 593 uint32_t u32;
985 struct cvmx_npei_dmax_dbell_s { 594 struct cvmx_npei_dmax_dbell_s {
986#ifdef __BIG_ENDIAN_BITFIELD
987 uint32_t reserved_16_31:16; 595 uint32_t reserved_16_31:16;
988 uint32_t dbell:16; 596 uint32_t dbell:16;
989#else
990 uint32_t dbell:16;
991 uint32_t reserved_16_31:16;
992#endif
993 } s; 597 } s;
994 struct cvmx_npei_dmax_dbell_s cn52xx; 598 struct cvmx_npei_dmax_dbell_s cn52xx;
995 struct cvmx_npei_dmax_dbell_s cn52xxp1; 599 struct cvmx_npei_dmax_dbell_s cn52xxp1;
@@ -1000,29 +604,16 @@ union cvmx_npei_dmax_dbell {
1000union cvmx_npei_dmax_ibuff_saddr { 604union cvmx_npei_dmax_ibuff_saddr {
1001 uint64_t u64; 605 uint64_t u64;
1002 struct cvmx_npei_dmax_ibuff_saddr_s { 606 struct cvmx_npei_dmax_ibuff_saddr_s {
1003#ifdef __BIG_ENDIAN_BITFIELD
1004 uint64_t reserved_37_63:27; 607 uint64_t reserved_37_63:27;
1005 uint64_t idle:1; 608 uint64_t idle:1;
1006 uint64_t saddr:29; 609 uint64_t saddr:29;
1007 uint64_t reserved_0_6:7; 610 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
1014 } s; 611 } s;
1015 struct cvmx_npei_dmax_ibuff_saddr_s cn52xx; 612 struct cvmx_npei_dmax_ibuff_saddr_s cn52xx;
1016 struct cvmx_npei_dmax_ibuff_saddr_cn52xxp1 { 613 struct cvmx_npei_dmax_ibuff_saddr_cn52xxp1 {
1017#ifdef __BIG_ENDIAN_BITFIELD
1018 uint64_t reserved_36_63:28; 614 uint64_t reserved_36_63:28;
1019 uint64_t saddr:29; 615 uint64_t saddr:29;
1020 uint64_t reserved_0_6:7; 616 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
1026 } cn52xxp1; 617 } cn52xxp1;
1027 struct cvmx_npei_dmax_ibuff_saddr_s cn56xx; 618 struct cvmx_npei_dmax_ibuff_saddr_s cn56xx;
1028 struct cvmx_npei_dmax_ibuff_saddr_cn52xxp1 cn56xxp1; 619 struct cvmx_npei_dmax_ibuff_saddr_cn52xxp1 cn56xxp1;
@@ -1031,13 +622,8 @@ union cvmx_npei_dmax_ibuff_saddr {
1031union cvmx_npei_dmax_naddr { 622union cvmx_npei_dmax_naddr {
1032 uint64_t u64; 623 uint64_t u64;
1033 struct cvmx_npei_dmax_naddr_s { 624 struct cvmx_npei_dmax_naddr_s {
1034#ifdef __BIG_ENDIAN_BITFIELD
1035 uint64_t reserved_36_63:28; 625 uint64_t reserved_36_63:28;
1036 uint64_t addr:36; 626 uint64_t addr:36;
1037#else
1038 uint64_t addr:36;
1039 uint64_t reserved_36_63:28;
1040#endif
1041 } s; 627 } s;
1042 struct cvmx_npei_dmax_naddr_s cn52xx; 628 struct cvmx_npei_dmax_naddr_s cn52xx;
1043 struct cvmx_npei_dmax_naddr_s cn52xxp1; 629 struct cvmx_npei_dmax_naddr_s cn52xxp1;
@@ -1048,13 +634,8 @@ union cvmx_npei_dmax_naddr {
1048union cvmx_npei_dma0_int_level { 634union cvmx_npei_dma0_int_level {
1049 uint64_t u64; 635 uint64_t u64;
1050 struct cvmx_npei_dma0_int_level_s { 636 struct cvmx_npei_dma0_int_level_s {
1051#ifdef __BIG_ENDIAN_BITFIELD
1052 uint64_t time:32; 637 uint64_t time:32;
1053 uint64_t cnt:32; 638 uint64_t cnt:32;
1054#else
1055 uint64_t cnt:32;
1056 uint64_t time:32;
1057#endif
1058 } s; 639 } s;
1059 struct cvmx_npei_dma0_int_level_s cn52xx; 640 struct cvmx_npei_dma0_int_level_s cn52xx;
1060 struct cvmx_npei_dma0_int_level_s cn52xxp1; 641 struct cvmx_npei_dma0_int_level_s cn52xxp1;
@@ -1065,13 +646,8 @@ union cvmx_npei_dma0_int_level {
1065union cvmx_npei_dma1_int_level { 646union cvmx_npei_dma1_int_level {
1066 uint64_t u64; 647 uint64_t u64;
1067 struct cvmx_npei_dma1_int_level_s { 648 struct cvmx_npei_dma1_int_level_s {
1068#ifdef __BIG_ENDIAN_BITFIELD
1069 uint64_t time:32; 649 uint64_t time:32;
1070 uint64_t cnt:32; 650 uint64_t cnt:32;
1071#else
1072 uint64_t cnt:32;
1073 uint64_t time:32;
1074#endif
1075 } s; 651 } s;
1076 struct cvmx_npei_dma1_int_level_s cn52xx; 652 struct cvmx_npei_dma1_int_level_s cn52xx;
1077 struct cvmx_npei_dma1_int_level_s cn52xxp1; 653 struct cvmx_npei_dma1_int_level_s cn52xxp1;
@@ -1082,13 +658,8 @@ union cvmx_npei_dma1_int_level {
1082union cvmx_npei_dma_cnts { 658union cvmx_npei_dma_cnts {
1083 uint64_t u64; 659 uint64_t u64;
1084 struct cvmx_npei_dma_cnts_s { 660 struct cvmx_npei_dma_cnts_s {
1085#ifdef __BIG_ENDIAN_BITFIELD
1086 uint64_t dma1:32; 661 uint64_t dma1:32;
1087 uint64_t dma0:32; 662 uint64_t dma0:32;
1088#else
1089 uint64_t dma0:32;
1090 uint64_t dma1:32;
1091#endif
1092 } s; 663 } s;
1093 struct cvmx_npei_dma_cnts_s cn52xx; 664 struct cvmx_npei_dma_cnts_s cn52xx;
1094 struct cvmx_npei_dma_cnts_s cn52xxp1; 665 struct cvmx_npei_dma_cnts_s cn52xxp1;
@@ -1099,7 +670,6 @@ union cvmx_npei_dma_cnts {
1099union cvmx_npei_dma_control { 670union cvmx_npei_dma_control {
1100 uint64_t u64; 671 uint64_t u64;
1101 struct cvmx_npei_dma_control_s { 672 struct cvmx_npei_dma_control_s {
1102#ifdef __BIG_ENDIAN_BITFIELD
1103 uint64_t reserved_40_63:24; 673 uint64_t reserved_40_63:24;
1104 uint64_t p_32b_m:1; 674 uint64_t p_32b_m:1;
1105 uint64_t dma4_enb:1; 675 uint64_t dma4_enb:1;
@@ -1117,29 +687,9 @@ union cvmx_npei_dma_control {
1117 uint64_t o_es:2; 687 uint64_t o_es:2;
1118 uint64_t o_mode:1; 688 uint64_t o_mode:1;
1119 uint64_t csize:14; 689 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
1139 } s; 690 } s;
1140 struct cvmx_npei_dma_control_s cn52xx; 691 struct cvmx_npei_dma_control_s cn52xx;
1141 struct cvmx_npei_dma_control_cn52xxp1 { 692 struct cvmx_npei_dma_control_cn52xxp1 {
1142#ifdef __BIG_ENDIAN_BITFIELD
1143 uint64_t reserved_38_63:26; 693 uint64_t reserved_38_63:26;
1144 uint64_t dma3_enb:1; 694 uint64_t dma3_enb:1;
1145 uint64_t dma2_enb:1; 695 uint64_t dma2_enb:1;
@@ -1155,27 +705,9 @@ union cvmx_npei_dma_control {
1155 uint64_t o_es:2; 705 uint64_t o_es:2;
1156 uint64_t o_mode:1; 706 uint64_t o_mode:1;
1157 uint64_t csize:14; 707 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
1175 } cn52xxp1; 708 } cn52xxp1;
1176 struct cvmx_npei_dma_control_s cn56xx; 709 struct cvmx_npei_dma_control_s cn56xx;
1177 struct cvmx_npei_dma_control_cn56xxp1 { 710 struct cvmx_npei_dma_control_cn56xxp1 {
1178#ifdef __BIG_ENDIAN_BITFIELD
1179 uint64_t reserved_39_63:25; 711 uint64_t reserved_39_63:25;
1180 uint64_t dma4_enb:1; 712 uint64_t dma4_enb:1;
1181 uint64_t dma3_enb:1; 713 uint64_t dma3_enb:1;
@@ -1192,31 +724,12 @@ union cvmx_npei_dma_control {
1192 uint64_t o_es:2; 724 uint64_t o_es:2;
1193 uint64_t o_mode:1; 725 uint64_t o_mode:1;
1194 uint64_t csize:14; 726 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
1213 } cn56xxp1; 727 } cn56xxp1;
1214}; 728};
1215 729
1216union cvmx_npei_dma_pcie_req_num { 730union cvmx_npei_dma_pcie_req_num {
1217 uint64_t u64; 731 uint64_t u64;
1218 struct cvmx_npei_dma_pcie_req_num_s { 732 struct cvmx_npei_dma_pcie_req_num_s {
1219#ifdef __BIG_ENDIAN_BITFIELD
1220 uint64_t dma_arb:1; 733 uint64_t dma_arb:1;
1221 uint64_t reserved_53_62:10; 734 uint64_t reserved_53_62:10;
1222 uint64_t pkt_cnt:5; 735 uint64_t pkt_cnt:5;
@@ -1232,23 +745,6 @@ union cvmx_npei_dma_pcie_req_num {
1232 uint64_t dma0_cnt:5; 745 uint64_t dma0_cnt:5;
1233 uint64_t reserved_5_7:3; 746 uint64_t reserved_5_7:3;
1234 uint64_t dma_cnt:5; 747 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
1252 } s; 748 } s;
1253 struct cvmx_npei_dma_pcie_req_num_s cn52xx; 749 struct cvmx_npei_dma_pcie_req_num_s cn52xx;
1254 struct cvmx_npei_dma_pcie_req_num_s cn56xx; 750 struct cvmx_npei_dma_pcie_req_num_s cn56xx;
@@ -1257,21 +753,12 @@ union cvmx_npei_dma_pcie_req_num {
1257union cvmx_npei_dma_state1 { 753union cvmx_npei_dma_state1 {
1258 uint64_t u64; 754 uint64_t u64;
1259 struct cvmx_npei_dma_state1_s { 755 struct cvmx_npei_dma_state1_s {
1260#ifdef __BIG_ENDIAN_BITFIELD
1261 uint64_t reserved_40_63:24; 756 uint64_t reserved_40_63:24;
1262 uint64_t d4_dwe:8; 757 uint64_t d4_dwe:8;
1263 uint64_t d3_dwe:8; 758 uint64_t d3_dwe:8;
1264 uint64_t d2_dwe:8; 759 uint64_t d2_dwe:8;
1265 uint64_t d1_dwe:8; 760 uint64_t d1_dwe:8;
1266 uint64_t d0_dwe:8; 761 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
1275 } s; 762 } s;
1276 struct cvmx_npei_dma_state1_s cn52xx; 763 struct cvmx_npei_dma_state1_s cn52xx;
1277}; 764};
@@ -1279,7 +766,6 @@ union cvmx_npei_dma_state1 {
1279union cvmx_npei_dma_state1_p1 { 766union cvmx_npei_dma_state1_p1 {
1280 uint64_t u64; 767 uint64_t u64;
1281 struct cvmx_npei_dma_state1_p1_s { 768 struct cvmx_npei_dma_state1_p1_s {
1282#ifdef __BIG_ENDIAN_BITFIELD
1283 uint64_t reserved_60_63:4; 769 uint64_t reserved_60_63:4;
1284 uint64_t d0_difst:7; 770 uint64_t d0_difst:7;
1285 uint64_t d1_difst:7; 771 uint64_t d1_difst:7;
@@ -1291,22 +777,8 @@ union cvmx_npei_dma_state1_p1 {
1291 uint64_t d2_reqst:5; 777 uint64_t d2_reqst:5;
1292 uint64_t d3_reqst:5; 778 uint64_t d3_reqst:5;
1293 uint64_t d4_reqst:5; 779 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
1307 } s; 780 } s;
1308 struct cvmx_npei_dma_state1_p1_cn52xxp1 { 781 struct cvmx_npei_dma_state1_p1_cn52xxp1 {
1309#ifdef __BIG_ENDIAN_BITFIELD
1310 uint64_t reserved_60_63:4; 782 uint64_t reserved_60_63:4;
1311 uint64_t d0_difst:7; 783 uint64_t d0_difst:7;
1312 uint64_t d1_difst:7; 784 uint64_t d1_difst:7;
@@ -1318,19 +790,6 @@ union cvmx_npei_dma_state1_p1 {
1318 uint64_t d2_reqst:5; 790 uint64_t d2_reqst:5;
1319 uint64_t d3_reqst:5; 791 uint64_t d3_reqst:5;
1320 uint64_t reserved_0_4:5; 792 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
1334 } cn52xxp1; 793 } cn52xxp1;
1335 struct cvmx_npei_dma_state1_p1_s cn56xxp1; 794 struct cvmx_npei_dma_state1_p1_s cn56xxp1;
1336}; 795};
@@ -1338,21 +797,12 @@ union cvmx_npei_dma_state1_p1 {
1338union cvmx_npei_dma_state2 { 797union cvmx_npei_dma_state2 {
1339 uint64_t u64; 798 uint64_t u64;
1340 struct cvmx_npei_dma_state2_s { 799 struct cvmx_npei_dma_state2_s {
1341#ifdef __BIG_ENDIAN_BITFIELD
1342 uint64_t reserved_28_63:36; 800 uint64_t reserved_28_63:36;
1343 uint64_t ndwe:4; 801 uint64_t ndwe:4;
1344 uint64_t reserved_21_23:3; 802 uint64_t reserved_21_23:3;
1345 uint64_t ndre:5; 803 uint64_t ndre:5;
1346 uint64_t reserved_10_15:6; 804 uint64_t reserved_10_15:6;
1347 uint64_t prd:10; 805 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
1356 } s; 806 } s;
1357 struct cvmx_npei_dma_state2_s cn52xx; 807 struct cvmx_npei_dma_state2_s cn52xx;
1358}; 808};
@@ -1360,38 +810,20 @@ union cvmx_npei_dma_state2 {
1360union cvmx_npei_dma_state2_p1 { 810union cvmx_npei_dma_state2_p1 {
1361 uint64_t u64; 811 uint64_t u64;
1362 struct cvmx_npei_dma_state2_p1_s { 812 struct cvmx_npei_dma_state2_p1_s {
1363#ifdef __BIG_ENDIAN_BITFIELD
1364 uint64_t reserved_45_63:19; 813 uint64_t reserved_45_63:19;
1365 uint64_t d0_dffst:9; 814 uint64_t d0_dffst:9;
1366 uint64_t d1_dffst:9; 815 uint64_t d1_dffst:9;
1367 uint64_t d2_dffst:9; 816 uint64_t d2_dffst:9;
1368 uint64_t d3_dffst:9; 817 uint64_t d3_dffst:9;
1369 uint64_t d4_dffst:9; 818 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
1378 } s; 819 } s;
1379 struct cvmx_npei_dma_state2_p1_cn52xxp1 { 820 struct cvmx_npei_dma_state2_p1_cn52xxp1 {
1380#ifdef __BIG_ENDIAN_BITFIELD
1381 uint64_t reserved_45_63:19; 821 uint64_t reserved_45_63:19;
1382 uint64_t d0_dffst:9; 822 uint64_t d0_dffst:9;
1383 uint64_t d1_dffst:9; 823 uint64_t d1_dffst:9;
1384 uint64_t d2_dffst:9; 824 uint64_t d2_dffst:9;
1385 uint64_t d3_dffst:9; 825 uint64_t d3_dffst:9;
1386 uint64_t reserved_0_8:9; 826 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
1395 } cn52xxp1; 827 } cn52xxp1;
1396 struct cvmx_npei_dma_state2_p1_s cn56xxp1; 828 struct cvmx_npei_dma_state2_p1_s cn56xxp1;
1397}; 829};
@@ -1399,19 +831,11 @@ union cvmx_npei_dma_state2_p1 {
1399union cvmx_npei_dma_state3_p1 { 831union cvmx_npei_dma_state3_p1 {
1400 uint64_t u64; 832 uint64_t u64;
1401 struct cvmx_npei_dma_state3_p1_s { 833 struct cvmx_npei_dma_state3_p1_s {
1402#ifdef __BIG_ENDIAN_BITFIELD
1403 uint64_t reserved_60_63:4; 834 uint64_t reserved_60_63:4;
1404 uint64_t d0_drest:15; 835 uint64_t d0_drest:15;
1405 uint64_t d1_drest:15; 836 uint64_t d1_drest:15;
1406 uint64_t d2_drest:15; 837 uint64_t d2_drest:15;
1407 uint64_t d3_drest:15; 838 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
1415 } s; 839 } s;
1416 struct cvmx_npei_dma_state3_p1_s cn52xxp1; 840 struct cvmx_npei_dma_state3_p1_s cn52xxp1;
1417 struct cvmx_npei_dma_state3_p1_s cn56xxp1; 841 struct cvmx_npei_dma_state3_p1_s cn56xxp1;
@@ -1420,19 +844,11 @@ union cvmx_npei_dma_state3_p1 {
1420union cvmx_npei_dma_state4_p1 { 844union cvmx_npei_dma_state4_p1 {
1421 uint64_t u64; 845 uint64_t u64;
1422 struct cvmx_npei_dma_state4_p1_s { 846 struct cvmx_npei_dma_state4_p1_s {
1423#ifdef __BIG_ENDIAN_BITFIELD
1424 uint64_t reserved_52_63:12; 847 uint64_t reserved_52_63:12;
1425 uint64_t d0_dwest:13; 848 uint64_t d0_dwest:13;
1426 uint64_t d1_dwest:13; 849 uint64_t d1_dwest:13;
1427 uint64_t d2_dwest:13; 850 uint64_t d2_dwest:13;
1428 uint64_t d3_dwest:13; 851 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
1436 } s; 852 } s;
1437 struct cvmx_npei_dma_state4_p1_s cn52xxp1; 853 struct cvmx_npei_dma_state4_p1_s cn52xxp1;
1438 struct cvmx_npei_dma_state4_p1_s cn56xxp1; 854 struct cvmx_npei_dma_state4_p1_s cn56xxp1;
@@ -1441,15 +857,9 @@ union cvmx_npei_dma_state4_p1 {
1441union cvmx_npei_dma_state5_p1 { 857union cvmx_npei_dma_state5_p1 {
1442 uint64_t u64; 858 uint64_t u64;
1443 struct cvmx_npei_dma_state5_p1_s { 859 struct cvmx_npei_dma_state5_p1_s {
1444#ifdef __BIG_ENDIAN_BITFIELD
1445 uint64_t reserved_28_63:36; 860 uint64_t reserved_28_63:36;
1446 uint64_t d4_drest:15; 861 uint64_t d4_drest:15;
1447 uint64_t d4_dwest:13; 862 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
1453 } s; 863 } s;
1454 struct cvmx_npei_dma_state5_p1_s cn56xxp1; 864 struct cvmx_npei_dma_state5_p1_s cn56xxp1;
1455}; 865};
@@ -1457,7 +867,6 @@ union cvmx_npei_dma_state5_p1 {
1457union cvmx_npei_int_a_enb { 867union cvmx_npei_int_a_enb {
1458 uint64_t u64; 868 uint64_t u64;
1459 struct cvmx_npei_int_a_enb_s { 869 struct cvmx_npei_int_a_enb_s {
1460#ifdef __BIG_ENDIAN_BITFIELD
1461 uint64_t reserved_10_63:54; 870 uint64_t reserved_10_63:54;
1462 uint64_t pout_err:1; 871 uint64_t pout_err:1;
1463 uint64_t pin_bp:1; 872 uint64_t pin_bp:1;
@@ -1469,31 +878,12 @@ union cvmx_npei_int_a_enb {
1469 uint64_t pins_err:1; 878 uint64_t pins_err:1;
1470 uint64_t dma1_cpl:1; 879 uint64_t dma1_cpl:1;
1471 uint64_t dma0_cpl:1; 880 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
1485 } s; 881 } s;
1486 struct cvmx_npei_int_a_enb_s cn52xx; 882 struct cvmx_npei_int_a_enb_s cn52xx;
1487 struct cvmx_npei_int_a_enb_cn52xxp1 { 883 struct cvmx_npei_int_a_enb_cn52xxp1 {
1488#ifdef __BIG_ENDIAN_BITFIELD
1489 uint64_t reserved_2_63:62; 884 uint64_t reserved_2_63:62;
1490 uint64_t dma1_cpl:1; 885 uint64_t dma1_cpl:1;
1491 uint64_t dma0_cpl:1; 886 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
1497 } cn52xxp1; 887 } cn52xxp1;
1498 struct cvmx_npei_int_a_enb_s cn56xx; 888 struct cvmx_npei_int_a_enb_s cn56xx;
1499}; 889};
@@ -1501,7 +891,6 @@ union cvmx_npei_int_a_enb {
1501union cvmx_npei_int_a_enb2 { 891union cvmx_npei_int_a_enb2 {
1502 uint64_t u64; 892 uint64_t u64;
1503 struct cvmx_npei_int_a_enb2_s { 893 struct cvmx_npei_int_a_enb2_s {
1504#ifdef __BIG_ENDIAN_BITFIELD
1505 uint64_t reserved_10_63:54; 894 uint64_t reserved_10_63:54;
1506 uint64_t pout_err:1; 895 uint64_t pout_err:1;
1507 uint64_t pin_bp:1; 896 uint64_t pin_bp:1;
@@ -1513,31 +902,12 @@ union cvmx_npei_int_a_enb2 {
1513 uint64_t pins_err:1; 902 uint64_t pins_err:1;
1514 uint64_t dma1_cpl:1; 903 uint64_t dma1_cpl:1;
1515 uint64_t dma0_cpl:1; 904 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
1529 } s; 905 } s;
1530 struct cvmx_npei_int_a_enb2_s cn52xx; 906 struct cvmx_npei_int_a_enb2_s cn52xx;
1531 struct cvmx_npei_int_a_enb2_cn52xxp1 { 907 struct cvmx_npei_int_a_enb2_cn52xxp1 {
1532#ifdef __BIG_ENDIAN_BITFIELD
1533 uint64_t reserved_2_63:62; 908 uint64_t reserved_2_63:62;
1534 uint64_t dma1_cpl:1; 909 uint64_t dma1_cpl:1;
1535 uint64_t dma0_cpl:1; 910 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
1541 } cn52xxp1; 911 } cn52xxp1;
1542 struct cvmx_npei_int_a_enb2_s cn56xx; 912 struct cvmx_npei_int_a_enb2_s cn56xx;
1543}; 913};
@@ -1545,7 +915,6 @@ union cvmx_npei_int_a_enb2 {
1545union cvmx_npei_int_a_sum { 915union cvmx_npei_int_a_sum {
1546 uint64_t u64; 916 uint64_t u64;
1547 struct cvmx_npei_int_a_sum_s { 917 struct cvmx_npei_int_a_sum_s {
1548#ifdef __BIG_ENDIAN_BITFIELD
1549 uint64_t reserved_10_63:54; 918 uint64_t reserved_10_63:54;
1550 uint64_t pout_err:1; 919 uint64_t pout_err:1;
1551 uint64_t pin_bp:1; 920 uint64_t pin_bp:1;
@@ -1557,31 +926,12 @@ union cvmx_npei_int_a_sum {
1557 uint64_t pins_err:1; 926 uint64_t pins_err:1;
1558 uint64_t dma1_cpl:1; 927 uint64_t dma1_cpl:1;
1559 uint64_t dma0_cpl:1; 928 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
1573 } s; 929 } s;
1574 struct cvmx_npei_int_a_sum_s cn52xx; 930 struct cvmx_npei_int_a_sum_s cn52xx;
1575 struct cvmx_npei_int_a_sum_cn52xxp1 { 931 struct cvmx_npei_int_a_sum_cn52xxp1 {
1576#ifdef __BIG_ENDIAN_BITFIELD
1577 uint64_t reserved_2_63:62; 932 uint64_t reserved_2_63:62;
1578 uint64_t dma1_cpl:1; 933 uint64_t dma1_cpl:1;
1579 uint64_t dma0_cpl:1; 934 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
1585 } cn52xxp1; 935 } cn52xxp1;
1586 struct cvmx_npei_int_a_sum_s cn56xx; 936 struct cvmx_npei_int_a_sum_s cn56xx;
1587}; 937};
@@ -1589,7 +939,6 @@ union cvmx_npei_int_a_sum {
1589union cvmx_npei_int_enb { 939union cvmx_npei_int_enb {
1590 uint64_t u64; 940 uint64_t u64;
1591 struct cvmx_npei_int_enb_s { 941 struct cvmx_npei_int_enb_s {
1592#ifdef __BIG_ENDIAN_BITFIELD
1593 uint64_t mio_inta:1; 942 uint64_t mio_inta:1;
1594 uint64_t reserved_62_62:1; 943 uint64_t reserved_62_62:1;
1595 uint64_t int_a:1; 944 uint64_t int_a:1;
@@ -1654,76 +1003,9 @@ union cvmx_npei_int_enb {
1654 uint64_t bar0_to:1; 1003 uint64_t bar0_to:1;
1655 uint64_t rml_wto:1; 1004 uint64_t rml_wto:1;
1656 uint64_t rml_rto:1; 1005 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
1723 } s; 1006 } s;
1724 struct cvmx_npei_int_enb_s cn52xx; 1007 struct cvmx_npei_int_enb_s cn52xx;
1725 struct cvmx_npei_int_enb_cn52xxp1 { 1008 struct cvmx_npei_int_enb_cn52xxp1 {
1726#ifdef __BIG_ENDIAN_BITFIELD
1727 uint64_t mio_inta:1; 1009 uint64_t mio_inta:1;
1728 uint64_t reserved_62_62:1; 1010 uint64_t reserved_62_62:1;
1729 uint64_t int_a:1; 1011 uint64_t int_a:1;
@@ -1788,76 +1070,9 @@ union cvmx_npei_int_enb {
1788 uint64_t bar0_to:1; 1070 uint64_t bar0_to:1;
1789 uint64_t rml_wto:1; 1071 uint64_t rml_wto:1;
1790 uint64_t rml_rto:1; 1072 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
1857 } cn52xxp1; 1073 } cn52xxp1;
1858 struct cvmx_npei_int_enb_s cn56xx; 1074 struct cvmx_npei_int_enb_s cn56xx;
1859 struct cvmx_npei_int_enb_cn56xxp1 { 1075 struct cvmx_npei_int_enb_cn56xxp1 {
1860#ifdef __BIG_ENDIAN_BITFIELD
1861 uint64_t mio_inta:1; 1076 uint64_t mio_inta:1;
1862 uint64_t reserved_61_62:2; 1077 uint64_t reserved_61_62:2;
1863 uint64_t c1_ldwn:1; 1078 uint64_t c1_ldwn:1;
@@ -1921,78 +1136,12 @@ union cvmx_npei_int_enb {
1921 uint64_t bar0_to:1; 1136 uint64_t bar0_to:1;
1922 uint64_t rml_wto:1; 1137 uint64_t rml_wto:1;
1923 uint64_t rml_rto:1; 1138 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
1989 } cn56xxp1; 1139 } cn56xxp1;
1990}; 1140};
1991 1141
1992union cvmx_npei_int_enb2 { 1142union cvmx_npei_int_enb2 {
1993 uint64_t u64; 1143 uint64_t u64;
1994 struct cvmx_npei_int_enb2_s { 1144 struct cvmx_npei_int_enb2_s {
1995#ifdef __BIG_ENDIAN_BITFIELD
1996 uint64_t reserved_62_63:2; 1145 uint64_t reserved_62_63:2;
1997 uint64_t int_a:1; 1146 uint64_t int_a:1;
1998 uint64_t c1_ldwn:1; 1147 uint64_t c1_ldwn:1;
@@ -2056,75 +1205,9 @@ union cvmx_npei_int_enb2 {
2056 uint64_t bar0_to:1; 1205 uint64_t bar0_to:1;
2057 uint64_t rml_wto:1; 1206 uint64_t rml_wto:1;
2058 uint64_t rml_rto:1; 1207 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
2124 } s; 1208 } s;
2125 struct cvmx_npei_int_enb2_s cn52xx; 1209 struct cvmx_npei_int_enb2_s cn52xx;
2126 struct cvmx_npei_int_enb2_cn52xxp1 { 1210 struct cvmx_npei_int_enb2_cn52xxp1 {
2127#ifdef __BIG_ENDIAN_BITFIELD
2128 uint64_t reserved_62_63:2; 1211 uint64_t reserved_62_63:2;
2129 uint64_t int_a:1; 1212 uint64_t int_a:1;
2130 uint64_t c1_ldwn:1; 1213 uint64_t c1_ldwn:1;
@@ -2188,75 +1271,9 @@ union cvmx_npei_int_enb2 {
2188 uint64_t bar0_to:1; 1271 uint64_t bar0_to:1;
2189 uint64_t rml_wto:1; 1272 uint64_t rml_wto:1;
2190 uint64_t rml_rto:1; 1273 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
2256 } cn52xxp1; 1274 } cn52xxp1;
2257 struct cvmx_npei_int_enb2_s cn56xx; 1275 struct cvmx_npei_int_enb2_s cn56xx;
2258 struct cvmx_npei_int_enb2_cn56xxp1 { 1276 struct cvmx_npei_int_enb2_cn56xxp1 {
2259#ifdef __BIG_ENDIAN_BITFIELD
2260 uint64_t reserved_61_63:3; 1277 uint64_t reserved_61_63:3;
2261 uint64_t c1_ldwn:1; 1278 uint64_t c1_ldwn:1;
2262 uint64_t c0_ldwn:1; 1279 uint64_t c0_ldwn:1;
@@ -2319,85 +1336,15 @@ union cvmx_npei_int_enb2 {
2319 uint64_t bar0_to:1; 1336 uint64_t bar0_to:1;
2320 uint64_t rml_wto:1; 1337 uint64_t rml_wto:1;
2321 uint64_t rml_rto:1; 1338 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
2386 } cn56xxp1; 1339 } cn56xxp1;
2387}; 1340};
2388 1341
2389union cvmx_npei_int_info { 1342union cvmx_npei_int_info {
2390 uint64_t u64; 1343 uint64_t u64;
2391 struct cvmx_npei_int_info_s { 1344 struct cvmx_npei_int_info_s {
2392#ifdef __BIG_ENDIAN_BITFIELD
2393 uint64_t reserved_12_63:52; 1345 uint64_t reserved_12_63:52;
2394 uint64_t pidbof:6; 1346 uint64_t pidbof:6;
2395 uint64_t psldbof:6; 1347 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
2401 } s; 1348 } s;
2402 struct cvmx_npei_int_info_s cn52xx; 1349 struct cvmx_npei_int_info_s cn52xx;
2403 struct cvmx_npei_int_info_s cn56xx; 1350 struct cvmx_npei_int_info_s cn56xx;
@@ -2407,7 +1354,6 @@ union cvmx_npei_int_info {
2407union cvmx_npei_int_sum { 1354union cvmx_npei_int_sum {
2408 uint64_t u64; 1355 uint64_t u64;
2409 struct cvmx_npei_int_sum_s { 1356 struct cvmx_npei_int_sum_s {
2410#ifdef __BIG_ENDIAN_BITFIELD
2411 uint64_t mio_inta:1; 1357 uint64_t mio_inta:1;
2412 uint64_t reserved_62_62:1; 1358 uint64_t reserved_62_62:1;
2413 uint64_t int_a:1; 1359 uint64_t int_a:1;
@@ -2472,76 +1418,9 @@ union cvmx_npei_int_sum {
2472 uint64_t bar0_to:1; 1418 uint64_t bar0_to:1;
2473 uint64_t rml_wto:1; 1419 uint64_t rml_wto:1;
2474 uint64_t rml_rto:1; 1420 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
2541 } s; 1421 } s;
2542 struct cvmx_npei_int_sum_s cn52xx; 1422 struct cvmx_npei_int_sum_s cn52xx;
2543 struct cvmx_npei_int_sum_cn52xxp1 { 1423 struct cvmx_npei_int_sum_cn52xxp1 {
2544#ifdef __BIG_ENDIAN_BITFIELD
2545 uint64_t mio_inta:1; 1424 uint64_t mio_inta:1;
2546 uint64_t reserved_62_62:1; 1425 uint64_t reserved_62_62:1;
2547 uint64_t int_a:1; 1426 uint64_t int_a:1;
@@ -2603,73 +1482,9 @@ union cvmx_npei_int_sum {
2603 uint64_t bar0_to:1; 1482 uint64_t bar0_to:1;
2604 uint64_t rml_wto:1; 1483 uint64_t rml_wto:1;
2605 uint64_t rml_rto:1; 1484 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
2669 } cn52xxp1; 1485 } cn52xxp1;
2670 struct cvmx_npei_int_sum_s cn56xx; 1486 struct cvmx_npei_int_sum_s cn56xx;
2671 struct cvmx_npei_int_sum_cn56xxp1 { 1487 struct cvmx_npei_int_sum_cn56xxp1 {
2672#ifdef __BIG_ENDIAN_BITFIELD
2673 uint64_t mio_inta:1; 1488 uint64_t mio_inta:1;
2674 uint64_t reserved_61_62:2; 1489 uint64_t reserved_61_62:2;
2675 uint64_t c1_ldwn:1; 1490 uint64_t c1_ldwn:1;
@@ -2730,75 +1545,12 @@ union cvmx_npei_int_sum {
2730 uint64_t bar0_to:1; 1545 uint64_t bar0_to:1;
2731 uint64_t rml_wto:1; 1546 uint64_t rml_wto:1;
2732 uint64_t rml_rto:1; 1547 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
2795 } cn56xxp1; 1548 } cn56xxp1;
2796}; 1549};
2797 1550
2798union cvmx_npei_int_sum2 { 1551union cvmx_npei_int_sum2 {
2799 uint64_t u64; 1552 uint64_t u64;
2800 struct cvmx_npei_int_sum2_s { 1553 struct cvmx_npei_int_sum2_s {
2801#ifdef __BIG_ENDIAN_BITFIELD
2802 uint64_t mio_inta:1; 1554 uint64_t mio_inta:1;
2803 uint64_t reserved_62_62:1; 1555 uint64_t reserved_62_62:1;
2804 uint64_t int_a:1; 1556 uint64_t int_a:1;
@@ -2860,69 +1612,6 @@ union cvmx_npei_int_sum2 {
2860 uint64_t bar0_to:1; 1612 uint64_t bar0_to:1;
2861 uint64_t rml_wto:1; 1613 uint64_t rml_wto:1;
2862 uint64_t rml_rto:1; 1614 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
2926 } s; 1615 } s;
2927 struct cvmx_npei_int_sum2_s cn52xx; 1616 struct cvmx_npei_int_sum2_s cn52xx;
2928 struct cvmx_npei_int_sum2_s cn52xxp1; 1617 struct cvmx_npei_int_sum2_s cn52xxp1;
@@ -2932,11 +1621,7 @@ union cvmx_npei_int_sum2 {
2932union cvmx_npei_last_win_rdata0 { 1621union cvmx_npei_last_win_rdata0 {
2933 uint64_t u64; 1622 uint64_t u64;
2934 struct cvmx_npei_last_win_rdata0_s { 1623 struct cvmx_npei_last_win_rdata0_s {
2935#ifdef __BIG_ENDIAN_BITFIELD
2936 uint64_t data:64; 1624 uint64_t data:64;
2937#else
2938 uint64_t data:64;
2939#endif
2940 } s; 1625 } s;
2941 struct cvmx_npei_last_win_rdata0_s cn52xx; 1626 struct cvmx_npei_last_win_rdata0_s cn52xx;
2942 struct cvmx_npei_last_win_rdata0_s cn52xxp1; 1627 struct cvmx_npei_last_win_rdata0_s cn52xxp1;
@@ -2947,11 +1632,7 @@ union cvmx_npei_last_win_rdata0 {
2947union cvmx_npei_last_win_rdata1 { 1632union cvmx_npei_last_win_rdata1 {
2948 uint64_t u64; 1633 uint64_t u64;
2949 struct cvmx_npei_last_win_rdata1_s { 1634 struct cvmx_npei_last_win_rdata1_s {
2950#ifdef __BIG_ENDIAN_BITFIELD
2951 uint64_t data:64;
2952#else
2953 uint64_t data:64; 1635 uint64_t data:64;
2954#endif
2955 } s; 1636 } s;
2956 struct cvmx_npei_last_win_rdata1_s cn52xx; 1637 struct cvmx_npei_last_win_rdata1_s cn52xx;
2957 struct cvmx_npei_last_win_rdata1_s cn52xxp1; 1638 struct cvmx_npei_last_win_rdata1_s cn52xxp1;
@@ -2962,15 +1643,9 @@ union cvmx_npei_last_win_rdata1 {
2962union cvmx_npei_mem_access_ctl { 1643union cvmx_npei_mem_access_ctl {
2963 uint64_t u64; 1644 uint64_t u64;
2964 struct cvmx_npei_mem_access_ctl_s { 1645 struct cvmx_npei_mem_access_ctl_s {
2965#ifdef __BIG_ENDIAN_BITFIELD
2966 uint64_t reserved_14_63:50; 1646 uint64_t reserved_14_63:50;
2967 uint64_t max_word:4; 1647 uint64_t max_word:4;
2968 uint64_t timer:10; 1648 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
2974 } s; 1649 } s;
2975 struct cvmx_npei_mem_access_ctl_s cn52xx; 1650 struct cvmx_npei_mem_access_ctl_s cn52xx;
2976 struct cvmx_npei_mem_access_ctl_s cn52xxp1; 1651 struct cvmx_npei_mem_access_ctl_s cn52xxp1;
@@ -2981,7 +1656,6 @@ union cvmx_npei_mem_access_ctl {
2981union cvmx_npei_mem_access_subidx { 1656union cvmx_npei_mem_access_subidx {
2982 uint64_t u64; 1657 uint64_t u64;
2983 struct cvmx_npei_mem_access_subidx_s { 1658 struct cvmx_npei_mem_access_subidx_s {
2984#ifdef __BIG_ENDIAN_BITFIELD
2985 uint64_t reserved_42_63:22; 1659 uint64_t reserved_42_63:22;
2986 uint64_t zero:1; 1660 uint64_t zero:1;
2987 uint64_t port:2; 1661 uint64_t port:2;
@@ -2993,19 +1667,6 @@ union cvmx_npei_mem_access_subidx {
2993 uint64_t ror:1; 1667 uint64_t ror:1;
2994 uint64_t row:1; 1668 uint64_t row:1;
2995 uint64_t ba:30; 1669 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
3009 } s; 1670 } s;
3010 struct cvmx_npei_mem_access_subidx_s cn52xx; 1671 struct cvmx_npei_mem_access_subidx_s cn52xx;
3011 struct cvmx_npei_mem_access_subidx_s cn52xxp1; 1672 struct cvmx_npei_mem_access_subidx_s cn52xxp1;
@@ -3016,11 +1677,7 @@ union cvmx_npei_mem_access_subidx {
3016union cvmx_npei_msi_enb0 { 1677union cvmx_npei_msi_enb0 {
3017 uint64_t u64; 1678 uint64_t u64;
3018 struct cvmx_npei_msi_enb0_s { 1679 struct cvmx_npei_msi_enb0_s {
3019#ifdef __BIG_ENDIAN_BITFIELD
3020 uint64_t enb:64; 1680 uint64_t enb:64;
3021#else
3022 uint64_t enb:64;
3023#endif
3024 } s; 1681 } s;
3025 struct cvmx_npei_msi_enb0_s cn52xx; 1682 struct cvmx_npei_msi_enb0_s cn52xx;
3026 struct cvmx_npei_msi_enb0_s cn52xxp1; 1683 struct cvmx_npei_msi_enb0_s cn52xxp1;
@@ -3031,11 +1688,7 @@ union cvmx_npei_msi_enb0 {
3031union cvmx_npei_msi_enb1 { 1688union cvmx_npei_msi_enb1 {
3032 uint64_t u64; 1689 uint64_t u64;
3033 struct cvmx_npei_msi_enb1_s { 1690 struct cvmx_npei_msi_enb1_s {
3034#ifdef __BIG_ENDIAN_BITFIELD
3035 uint64_t enb:64;
3036#else
3037 uint64_t enb:64; 1691 uint64_t enb:64;
3038#endif
3039 } s; 1692 } s;
3040 struct cvmx_npei_msi_enb1_s cn52xx; 1693 struct cvmx_npei_msi_enb1_s cn52xx;
3041 struct cvmx_npei_msi_enb1_s cn52xxp1; 1694 struct cvmx_npei_msi_enb1_s cn52xxp1;
@@ -3046,11 +1699,7 @@ union cvmx_npei_msi_enb1 {
3046union cvmx_npei_msi_enb2 { 1699union cvmx_npei_msi_enb2 {
3047 uint64_t u64; 1700 uint64_t u64;
3048 struct cvmx_npei_msi_enb2_s { 1701 struct cvmx_npei_msi_enb2_s {
3049#ifdef __BIG_ENDIAN_BITFIELD
3050 uint64_t enb:64;
3051#else
3052 uint64_t enb:64; 1702 uint64_t enb:64;
3053#endif
3054 } s; 1703 } s;
3055 struct cvmx_npei_msi_enb2_s cn52xx; 1704 struct cvmx_npei_msi_enb2_s cn52xx;
3056 struct cvmx_npei_msi_enb2_s cn52xxp1; 1705 struct cvmx_npei_msi_enb2_s cn52xxp1;
@@ -3061,11 +1710,7 @@ union cvmx_npei_msi_enb2 {
3061union cvmx_npei_msi_enb3 { 1710union cvmx_npei_msi_enb3 {
3062 uint64_t u64; 1711 uint64_t u64;
3063 struct cvmx_npei_msi_enb3_s { 1712 struct cvmx_npei_msi_enb3_s {
3064#ifdef __BIG_ENDIAN_BITFIELD
3065 uint64_t enb:64; 1713 uint64_t enb:64;
3066#else
3067 uint64_t enb:64;
3068#endif
3069 } s; 1714 } s;
3070 struct cvmx_npei_msi_enb3_s cn52xx; 1715 struct cvmx_npei_msi_enb3_s cn52xx;
3071 struct cvmx_npei_msi_enb3_s cn52xxp1; 1716 struct cvmx_npei_msi_enb3_s cn52xxp1;
@@ -3076,11 +1721,7 @@ union cvmx_npei_msi_enb3 {
3076union cvmx_npei_msi_rcv0 { 1721union cvmx_npei_msi_rcv0 {
3077 uint64_t u64; 1722 uint64_t u64;
3078 struct cvmx_npei_msi_rcv0_s { 1723 struct cvmx_npei_msi_rcv0_s {
3079#ifdef __BIG_ENDIAN_BITFIELD
3080 uint64_t intr:64; 1724 uint64_t intr:64;
3081#else
3082 uint64_t intr:64;
3083#endif
3084 } s; 1725 } s;
3085 struct cvmx_npei_msi_rcv0_s cn52xx; 1726 struct cvmx_npei_msi_rcv0_s cn52xx;
3086 struct cvmx_npei_msi_rcv0_s cn52xxp1; 1727 struct cvmx_npei_msi_rcv0_s cn52xxp1;
@@ -3091,11 +1732,7 @@ union cvmx_npei_msi_rcv0 {
3091union cvmx_npei_msi_rcv1 { 1732union cvmx_npei_msi_rcv1 {
3092 uint64_t u64; 1733 uint64_t u64;
3093 struct cvmx_npei_msi_rcv1_s { 1734 struct cvmx_npei_msi_rcv1_s {
3094#ifdef __BIG_ENDIAN_BITFIELD
3095 uint64_t intr:64;
3096#else
3097 uint64_t intr:64; 1735 uint64_t intr:64;
3098#endif
3099 } s; 1736 } s;
3100 struct cvmx_npei_msi_rcv1_s cn52xx; 1737 struct cvmx_npei_msi_rcv1_s cn52xx;
3101 struct cvmx_npei_msi_rcv1_s cn52xxp1; 1738 struct cvmx_npei_msi_rcv1_s cn52xxp1;
@@ -3106,11 +1743,7 @@ union cvmx_npei_msi_rcv1 {
3106union cvmx_npei_msi_rcv2 { 1743union cvmx_npei_msi_rcv2 {
3107 uint64_t u64; 1744 uint64_t u64;
3108 struct cvmx_npei_msi_rcv2_s { 1745 struct cvmx_npei_msi_rcv2_s {
3109#ifdef __BIG_ENDIAN_BITFIELD
3110 uint64_t intr:64;
3111#else
3112 uint64_t intr:64; 1746 uint64_t intr:64;
3113#endif
3114 } s; 1747 } s;
3115 struct cvmx_npei_msi_rcv2_s cn52xx; 1748 struct cvmx_npei_msi_rcv2_s cn52xx;
3116 struct cvmx_npei_msi_rcv2_s cn52xxp1; 1749 struct cvmx_npei_msi_rcv2_s cn52xxp1;
@@ -3121,11 +1754,7 @@ union cvmx_npei_msi_rcv2 {
3121union cvmx_npei_msi_rcv3 { 1754union cvmx_npei_msi_rcv3 {
3122 uint64_t u64; 1755 uint64_t u64;
3123 struct cvmx_npei_msi_rcv3_s { 1756 struct cvmx_npei_msi_rcv3_s {
3124#ifdef __BIG_ENDIAN_BITFIELD
3125 uint64_t intr:64; 1757 uint64_t intr:64;
3126#else
3127 uint64_t intr:64;
3128#endif
3129 } s; 1758 } s;
3130 struct cvmx_npei_msi_rcv3_s cn52xx; 1759 struct cvmx_npei_msi_rcv3_s cn52xx;
3131 struct cvmx_npei_msi_rcv3_s cn52xxp1; 1760 struct cvmx_npei_msi_rcv3_s cn52xxp1;
@@ -3136,15 +1765,9 @@ union cvmx_npei_msi_rcv3 {
3136union cvmx_npei_msi_rd_map { 1765union cvmx_npei_msi_rd_map {
3137 uint64_t u64; 1766 uint64_t u64;
3138 struct cvmx_npei_msi_rd_map_s { 1767 struct cvmx_npei_msi_rd_map_s {
3139#ifdef __BIG_ENDIAN_BITFIELD
3140 uint64_t reserved_16_63:48; 1768 uint64_t reserved_16_63:48;
3141 uint64_t rd_int:8; 1769 uint64_t rd_int:8;
3142 uint64_t msi_int:8; 1770 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
3148 } s; 1771 } s;
3149 struct cvmx_npei_msi_rd_map_s cn52xx; 1772 struct cvmx_npei_msi_rd_map_s cn52xx;
3150 struct cvmx_npei_msi_rd_map_s cn52xxp1; 1773 struct cvmx_npei_msi_rd_map_s cn52xxp1;
@@ -3155,11 +1778,7 @@ union cvmx_npei_msi_rd_map {
3155union cvmx_npei_msi_w1c_enb0 { 1778union cvmx_npei_msi_w1c_enb0 {
3156 uint64_t u64; 1779 uint64_t u64;
3157 struct cvmx_npei_msi_w1c_enb0_s { 1780 struct cvmx_npei_msi_w1c_enb0_s {
3158#ifdef __BIG_ENDIAN_BITFIELD
3159 uint64_t clr:64; 1781 uint64_t clr:64;
3160#else
3161 uint64_t clr:64;
3162#endif
3163 } s; 1782 } s;
3164 struct cvmx_npei_msi_w1c_enb0_s cn52xx; 1783 struct cvmx_npei_msi_w1c_enb0_s cn52xx;
3165 struct cvmx_npei_msi_w1c_enb0_s cn56xx; 1784 struct cvmx_npei_msi_w1c_enb0_s cn56xx;
@@ -3168,11 +1787,7 @@ union cvmx_npei_msi_w1c_enb0 {
3168union cvmx_npei_msi_w1c_enb1 { 1787union cvmx_npei_msi_w1c_enb1 {
3169 uint64_t u64; 1788 uint64_t u64;
3170 struct cvmx_npei_msi_w1c_enb1_s { 1789 struct cvmx_npei_msi_w1c_enb1_s {
3171#ifdef __BIG_ENDIAN_BITFIELD
3172 uint64_t clr:64;
3173#else
3174 uint64_t clr:64; 1790 uint64_t clr:64;
3175#endif
3176 } s; 1791 } s;
3177 struct cvmx_npei_msi_w1c_enb1_s cn52xx; 1792 struct cvmx_npei_msi_w1c_enb1_s cn52xx;
3178 struct cvmx_npei_msi_w1c_enb1_s cn56xx; 1793 struct cvmx_npei_msi_w1c_enb1_s cn56xx;
@@ -3181,11 +1796,7 @@ union cvmx_npei_msi_w1c_enb1 {
3181union cvmx_npei_msi_w1c_enb2 { 1796union cvmx_npei_msi_w1c_enb2 {
3182 uint64_t u64; 1797 uint64_t u64;
3183 struct cvmx_npei_msi_w1c_enb2_s { 1798 struct cvmx_npei_msi_w1c_enb2_s {
3184#ifdef __BIG_ENDIAN_BITFIELD
3185 uint64_t clr:64;
3186#else
3187 uint64_t clr:64; 1799 uint64_t clr:64;
3188#endif
3189 } s; 1800 } s;
3190 struct cvmx_npei_msi_w1c_enb2_s cn52xx; 1801 struct cvmx_npei_msi_w1c_enb2_s cn52xx;
3191 struct cvmx_npei_msi_w1c_enb2_s cn56xx; 1802 struct cvmx_npei_msi_w1c_enb2_s cn56xx;
@@ -3194,11 +1805,7 @@ union cvmx_npei_msi_w1c_enb2 {
3194union cvmx_npei_msi_w1c_enb3 { 1805union cvmx_npei_msi_w1c_enb3 {
3195 uint64_t u64; 1806 uint64_t u64;
3196 struct cvmx_npei_msi_w1c_enb3_s { 1807 struct cvmx_npei_msi_w1c_enb3_s {
3197#ifdef __BIG_ENDIAN_BITFIELD
3198 uint64_t clr:64; 1808 uint64_t clr:64;
3199#else
3200 uint64_t clr:64;
3201#endif
3202 } s; 1809 } s;
3203 struct cvmx_npei_msi_w1c_enb3_s cn52xx; 1810 struct cvmx_npei_msi_w1c_enb3_s cn52xx;
3204 struct cvmx_npei_msi_w1c_enb3_s cn56xx; 1811 struct cvmx_npei_msi_w1c_enb3_s cn56xx;
@@ -3207,11 +1814,7 @@ union cvmx_npei_msi_w1c_enb3 {
3207union cvmx_npei_msi_w1s_enb0 { 1814union cvmx_npei_msi_w1s_enb0 {
3208 uint64_t u64; 1815 uint64_t u64;
3209 struct cvmx_npei_msi_w1s_enb0_s { 1816 struct cvmx_npei_msi_w1s_enb0_s {
3210#ifdef __BIG_ENDIAN_BITFIELD
3211 uint64_t set:64;
3212#else
3213 uint64_t set:64; 1817 uint64_t set:64;
3214#endif
3215 } s; 1818 } s;
3216 struct cvmx_npei_msi_w1s_enb0_s cn52xx; 1819 struct cvmx_npei_msi_w1s_enb0_s cn52xx;
3217 struct cvmx_npei_msi_w1s_enb0_s cn56xx; 1820 struct cvmx_npei_msi_w1s_enb0_s cn56xx;
@@ -3220,11 +1823,7 @@ union cvmx_npei_msi_w1s_enb0 {
3220union cvmx_npei_msi_w1s_enb1 { 1823union cvmx_npei_msi_w1s_enb1 {
3221 uint64_t u64; 1824 uint64_t u64;
3222 struct cvmx_npei_msi_w1s_enb1_s { 1825 struct cvmx_npei_msi_w1s_enb1_s {
3223#ifdef __BIG_ENDIAN_BITFIELD
3224 uint64_t set:64;
3225#else
3226 uint64_t set:64; 1826 uint64_t set:64;
3227#endif
3228 } s; 1827 } s;
3229 struct cvmx_npei_msi_w1s_enb1_s cn52xx; 1828 struct cvmx_npei_msi_w1s_enb1_s cn52xx;
3230 struct cvmx_npei_msi_w1s_enb1_s cn56xx; 1829 struct cvmx_npei_msi_w1s_enb1_s cn56xx;
@@ -3233,11 +1832,7 @@ union cvmx_npei_msi_w1s_enb1 {
3233union cvmx_npei_msi_w1s_enb2 { 1832union cvmx_npei_msi_w1s_enb2 {
3234 uint64_t u64; 1833 uint64_t u64;
3235 struct cvmx_npei_msi_w1s_enb2_s { 1834 struct cvmx_npei_msi_w1s_enb2_s {
3236#ifdef __BIG_ENDIAN_BITFIELD
3237 uint64_t set:64;
3238#else
3239 uint64_t set:64; 1835 uint64_t set:64;
3240#endif
3241 } s; 1836 } s;
3242 struct cvmx_npei_msi_w1s_enb2_s cn52xx; 1837 struct cvmx_npei_msi_w1s_enb2_s cn52xx;
3243 struct cvmx_npei_msi_w1s_enb2_s cn56xx; 1838 struct cvmx_npei_msi_w1s_enb2_s cn56xx;
@@ -3246,11 +1841,7 @@ union cvmx_npei_msi_w1s_enb2 {
3246union cvmx_npei_msi_w1s_enb3 { 1841union cvmx_npei_msi_w1s_enb3 {
3247 uint64_t u64; 1842 uint64_t u64;
3248 struct cvmx_npei_msi_w1s_enb3_s { 1843 struct cvmx_npei_msi_w1s_enb3_s {
3249#ifdef __BIG_ENDIAN_BITFIELD
3250 uint64_t set:64; 1844 uint64_t set:64;
3251#else
3252 uint64_t set:64;
3253#endif
3254 } s; 1845 } s;
3255 struct cvmx_npei_msi_w1s_enb3_s cn52xx; 1846 struct cvmx_npei_msi_w1s_enb3_s cn52xx;
3256 struct cvmx_npei_msi_w1s_enb3_s cn56xx; 1847 struct cvmx_npei_msi_w1s_enb3_s cn56xx;
@@ -3259,15 +1850,9 @@ union cvmx_npei_msi_w1s_enb3 {
3259union cvmx_npei_msi_wr_map { 1850union cvmx_npei_msi_wr_map {
3260 uint64_t u64; 1851 uint64_t u64;
3261 struct cvmx_npei_msi_wr_map_s { 1852 struct cvmx_npei_msi_wr_map_s {
3262#ifdef __BIG_ENDIAN_BITFIELD
3263 uint64_t reserved_16_63:48; 1853 uint64_t reserved_16_63:48;
3264 uint64_t ciu_int:8; 1854 uint64_t ciu_int:8;
3265 uint64_t msi_int:8; 1855 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
3271 } s; 1856 } s;
3272 struct cvmx_npei_msi_wr_map_s cn52xx; 1857 struct cvmx_npei_msi_wr_map_s cn52xx;
3273 struct cvmx_npei_msi_wr_map_s cn52xxp1; 1858 struct cvmx_npei_msi_wr_map_s cn52xxp1;
@@ -3278,7 +1863,6 @@ union cvmx_npei_msi_wr_map {
3278union cvmx_npei_pcie_credit_cnt { 1863union cvmx_npei_pcie_credit_cnt {
3279 uint64_t u64; 1864 uint64_t u64;
3280 struct cvmx_npei_pcie_credit_cnt_s { 1865 struct cvmx_npei_pcie_credit_cnt_s {
3281#ifdef __BIG_ENDIAN_BITFIELD
3282 uint64_t reserved_48_63:16; 1866 uint64_t reserved_48_63:16;
3283 uint64_t p1_ccnt:8; 1867 uint64_t p1_ccnt:8;
3284 uint64_t p1_ncnt:8; 1868 uint64_t p1_ncnt:8;
@@ -3286,15 +1870,6 @@ union cvmx_npei_pcie_credit_cnt {
3286 uint64_t p0_ccnt:8; 1870 uint64_t p0_ccnt:8;
3287 uint64_t p0_ncnt:8; 1871 uint64_t p0_ncnt:8;
3288 uint64_t p0_pcnt:8; 1872 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
3298 } s; 1873 } s;
3299 struct cvmx_npei_pcie_credit_cnt_s cn52xx; 1874 struct cvmx_npei_pcie_credit_cnt_s cn52xx;
3300 struct cvmx_npei_pcie_credit_cnt_s cn56xx; 1875 struct cvmx_npei_pcie_credit_cnt_s cn56xx;
@@ -3303,13 +1878,8 @@ union cvmx_npei_pcie_credit_cnt {
3303union cvmx_npei_pcie_msi_rcv { 1878union cvmx_npei_pcie_msi_rcv {
3304 uint64_t u64; 1879 uint64_t u64;
3305 struct cvmx_npei_pcie_msi_rcv_s { 1880 struct cvmx_npei_pcie_msi_rcv_s {
3306#ifdef __BIG_ENDIAN_BITFIELD
3307 uint64_t reserved_8_63:56; 1881 uint64_t reserved_8_63:56;
3308 uint64_t intr:8; 1882 uint64_t intr:8;
3309#else
3310 uint64_t intr:8;
3311 uint64_t reserved_8_63:56;
3312#endif
3313 } s; 1883 } s;
3314 struct cvmx_npei_pcie_msi_rcv_s cn52xx; 1884 struct cvmx_npei_pcie_msi_rcv_s cn52xx;
3315 struct cvmx_npei_pcie_msi_rcv_s cn52xxp1; 1885 struct cvmx_npei_pcie_msi_rcv_s cn52xxp1;
@@ -3320,15 +1890,9 @@ union cvmx_npei_pcie_msi_rcv {
3320union cvmx_npei_pcie_msi_rcv_b1 { 1890union cvmx_npei_pcie_msi_rcv_b1 {
3321 uint64_t u64; 1891 uint64_t u64;
3322 struct cvmx_npei_pcie_msi_rcv_b1_s { 1892 struct cvmx_npei_pcie_msi_rcv_b1_s {
3323#ifdef __BIG_ENDIAN_BITFIELD
3324 uint64_t reserved_16_63:48; 1893 uint64_t reserved_16_63:48;
3325 uint64_t intr:8; 1894 uint64_t intr:8;
3326 uint64_t reserved_0_7:8; 1895 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
3332 } s; 1896 } s;
3333 struct cvmx_npei_pcie_msi_rcv_b1_s cn52xx; 1897 struct cvmx_npei_pcie_msi_rcv_b1_s cn52xx;
3334 struct cvmx_npei_pcie_msi_rcv_b1_s cn52xxp1; 1898 struct cvmx_npei_pcie_msi_rcv_b1_s cn52xxp1;
@@ -3339,15 +1903,9 @@ union cvmx_npei_pcie_msi_rcv_b1 {
3339union cvmx_npei_pcie_msi_rcv_b2 { 1903union cvmx_npei_pcie_msi_rcv_b2 {
3340 uint64_t u64; 1904 uint64_t u64;
3341 struct cvmx_npei_pcie_msi_rcv_b2_s { 1905 struct cvmx_npei_pcie_msi_rcv_b2_s {
3342#ifdef __BIG_ENDIAN_BITFIELD
3343 uint64_t reserved_24_63:40; 1906 uint64_t reserved_24_63:40;
3344 uint64_t intr:8; 1907 uint64_t intr:8;
3345 uint64_t reserved_0_15:16; 1908 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
3351 } s; 1909 } s;
3352 struct cvmx_npei_pcie_msi_rcv_b2_s cn52xx; 1910 struct cvmx_npei_pcie_msi_rcv_b2_s cn52xx;
3353 struct cvmx_npei_pcie_msi_rcv_b2_s cn52xxp1; 1911 struct cvmx_npei_pcie_msi_rcv_b2_s cn52xxp1;
@@ -3358,15 +1916,9 @@ union cvmx_npei_pcie_msi_rcv_b2 {
3358union cvmx_npei_pcie_msi_rcv_b3 { 1916union cvmx_npei_pcie_msi_rcv_b3 {
3359 uint64_t u64; 1917 uint64_t u64;
3360 struct cvmx_npei_pcie_msi_rcv_b3_s { 1918 struct cvmx_npei_pcie_msi_rcv_b3_s {
3361#ifdef __BIG_ENDIAN_BITFIELD
3362 uint64_t reserved_32_63:32; 1919 uint64_t reserved_32_63:32;
3363 uint64_t intr:8; 1920 uint64_t intr:8;
3364 uint64_t reserved_0_23:24; 1921 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
3370 } s; 1922 } s;
3371 struct cvmx_npei_pcie_msi_rcv_b3_s cn52xx; 1923 struct cvmx_npei_pcie_msi_rcv_b3_s cn52xx;
3372 struct cvmx_npei_pcie_msi_rcv_b3_s cn52xxp1; 1924 struct cvmx_npei_pcie_msi_rcv_b3_s cn52xxp1;
@@ -3377,15 +1929,9 @@ union cvmx_npei_pcie_msi_rcv_b3 {
3377union cvmx_npei_pktx_cnts { 1929union cvmx_npei_pktx_cnts {
3378 uint64_t u64; 1930 uint64_t u64;
3379 struct cvmx_npei_pktx_cnts_s { 1931 struct cvmx_npei_pktx_cnts_s {
3380#ifdef __BIG_ENDIAN_BITFIELD
3381 uint64_t reserved_54_63:10; 1932 uint64_t reserved_54_63:10;
3382 uint64_t timer:22; 1933 uint64_t timer:22;
3383 uint64_t cnt:32; 1934 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
3389 } s; 1935 } s;
3390 struct cvmx_npei_pktx_cnts_s cn52xx; 1936 struct cvmx_npei_pktx_cnts_s cn52xx;
3391 struct cvmx_npei_pktx_cnts_s cn56xx; 1937 struct cvmx_npei_pktx_cnts_s cn56xx;
@@ -3394,13 +1940,8 @@ union cvmx_npei_pktx_cnts {
3394union cvmx_npei_pktx_in_bp { 1940union cvmx_npei_pktx_in_bp {
3395 uint64_t u64; 1941 uint64_t u64;
3396 struct cvmx_npei_pktx_in_bp_s { 1942 struct cvmx_npei_pktx_in_bp_s {
3397#ifdef __BIG_ENDIAN_BITFIELD
3398 uint64_t wmark:32; 1943 uint64_t wmark:32;
3399 uint64_t cnt:32; 1944 uint64_t cnt:32;
3400#else
3401 uint64_t cnt:32;
3402 uint64_t wmark:32;
3403#endif
3404 } s; 1945 } s;
3405 struct cvmx_npei_pktx_in_bp_s cn52xx; 1946 struct cvmx_npei_pktx_in_bp_s cn52xx;
3406 struct cvmx_npei_pktx_in_bp_s cn56xx; 1947 struct cvmx_npei_pktx_in_bp_s cn56xx;
@@ -3409,13 +1950,8 @@ union cvmx_npei_pktx_in_bp {
3409union cvmx_npei_pktx_instr_baddr { 1950union cvmx_npei_pktx_instr_baddr {
3410 uint64_t u64; 1951 uint64_t u64;
3411 struct cvmx_npei_pktx_instr_baddr_s { 1952 struct cvmx_npei_pktx_instr_baddr_s {
3412#ifdef __BIG_ENDIAN_BITFIELD
3413 uint64_t addr:61; 1953 uint64_t addr:61;
3414 uint64_t reserved_0_2:3; 1954 uint64_t reserved_0_2:3;
3415#else
3416 uint64_t reserved_0_2:3;
3417 uint64_t addr:61;
3418#endif
3419 } s; 1955 } s;
3420 struct cvmx_npei_pktx_instr_baddr_s cn52xx; 1956 struct cvmx_npei_pktx_instr_baddr_s cn52xx;
3421 struct cvmx_npei_pktx_instr_baddr_s cn56xx; 1957 struct cvmx_npei_pktx_instr_baddr_s cn56xx;
@@ -3424,13 +1960,8 @@ union cvmx_npei_pktx_instr_baddr {
3424union cvmx_npei_pktx_instr_baoff_dbell { 1960union cvmx_npei_pktx_instr_baoff_dbell {
3425 uint64_t u64; 1961 uint64_t u64;
3426 struct cvmx_npei_pktx_instr_baoff_dbell_s { 1962 struct cvmx_npei_pktx_instr_baoff_dbell_s {
3427#ifdef __BIG_ENDIAN_BITFIELD
3428 uint64_t aoff:32; 1963 uint64_t aoff:32;
3429 uint64_t dbell:32; 1964 uint64_t dbell:32;
3430#else
3431 uint64_t dbell:32;
3432 uint64_t aoff:32;
3433#endif
3434 } s; 1965 } s;
3435 struct cvmx_npei_pktx_instr_baoff_dbell_s cn52xx; 1966 struct cvmx_npei_pktx_instr_baoff_dbell_s cn52xx;
3436 struct cvmx_npei_pktx_instr_baoff_dbell_s cn56xx; 1967 struct cvmx_npei_pktx_instr_baoff_dbell_s cn56xx;
@@ -3439,19 +1970,11 @@ union cvmx_npei_pktx_instr_baoff_dbell {
3439union cvmx_npei_pktx_instr_fifo_rsize { 1970union cvmx_npei_pktx_instr_fifo_rsize {
3440 uint64_t u64; 1971 uint64_t u64;
3441 struct cvmx_npei_pktx_instr_fifo_rsize_s { 1972 struct cvmx_npei_pktx_instr_fifo_rsize_s {
3442#ifdef __BIG_ENDIAN_BITFIELD
3443 uint64_t max:9; 1973 uint64_t max:9;
3444 uint64_t rrp:9; 1974 uint64_t rrp:9;
3445 uint64_t wrp:9; 1975 uint64_t wrp:9;
3446 uint64_t fcnt:5; 1976 uint64_t fcnt:5;
3447 uint64_t rsize:32; 1977 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
3455 } s; 1978 } s;
3456 struct cvmx_npei_pktx_instr_fifo_rsize_s cn52xx; 1979 struct cvmx_npei_pktx_instr_fifo_rsize_s cn52xx;
3457 struct cvmx_npei_pktx_instr_fifo_rsize_s cn56xx; 1980 struct cvmx_npei_pktx_instr_fifo_rsize_s cn56xx;
@@ -3460,7 +1983,6 @@ union cvmx_npei_pktx_instr_fifo_rsize {
3460union cvmx_npei_pktx_instr_header { 1983union cvmx_npei_pktx_instr_header {
3461 uint64_t u64; 1984 uint64_t u64;
3462 struct cvmx_npei_pktx_instr_header_s { 1985 struct cvmx_npei_pktx_instr_header_s {
3463#ifdef __BIG_ENDIAN_BITFIELD
3464 uint64_t reserved_44_63:20; 1986 uint64_t reserved_44_63:20;
3465 uint64_t pbp:1; 1987 uint64_t pbp:1;
3466 uint64_t reserved_38_42:5; 1988 uint64_t reserved_38_42:5;
@@ -3474,21 +1996,6 @@ union cvmx_npei_pktx_instr_header {
3474 uint64_t reserved_13_13:1; 1996 uint64_t reserved_13_13:1;
3475 uint64_t skp_len:7; 1997 uint64_t skp_len:7;
3476 uint64_t reserved_0_5:6; 1998 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
3492 } s; 1999 } s;
3493 struct cvmx_npei_pktx_instr_header_s cn52xx; 2000 struct cvmx_npei_pktx_instr_header_s cn52xx;
3494 struct cvmx_npei_pktx_instr_header_s cn56xx; 2001 struct cvmx_npei_pktx_instr_header_s cn56xx;
@@ -3497,13 +2004,8 @@ union cvmx_npei_pktx_instr_header {
3497union cvmx_npei_pktx_slist_baddr { 2004union cvmx_npei_pktx_slist_baddr {
3498 uint64_t u64; 2005 uint64_t u64;
3499 struct cvmx_npei_pktx_slist_baddr_s { 2006 struct cvmx_npei_pktx_slist_baddr_s {
3500#ifdef __BIG_ENDIAN_BITFIELD
3501 uint64_t addr:60; 2007 uint64_t addr:60;
3502 uint64_t reserved_0_3:4; 2008 uint64_t reserved_0_3:4;
3503#else
3504 uint64_t reserved_0_3:4;
3505 uint64_t addr:60;
3506#endif
3507 } s; 2009 } s;
3508 struct cvmx_npei_pktx_slist_baddr_s cn52xx; 2010 struct cvmx_npei_pktx_slist_baddr_s cn52xx;
3509 struct cvmx_npei_pktx_slist_baddr_s cn56xx; 2011 struct cvmx_npei_pktx_slist_baddr_s cn56xx;
@@ -3512,13 +2014,8 @@ union cvmx_npei_pktx_slist_baddr {
3512union cvmx_npei_pktx_slist_baoff_dbell { 2014union cvmx_npei_pktx_slist_baoff_dbell {
3513 uint64_t u64; 2015 uint64_t u64;
3514 struct cvmx_npei_pktx_slist_baoff_dbell_s { 2016 struct cvmx_npei_pktx_slist_baoff_dbell_s {
3515#ifdef __BIG_ENDIAN_BITFIELD
3516 uint64_t aoff:32; 2017 uint64_t aoff:32;
3517 uint64_t dbell:32; 2018 uint64_t dbell:32;
3518#else
3519 uint64_t dbell:32;
3520 uint64_t aoff:32;
3521#endif
3522 } s; 2019 } s;
3523 struct cvmx_npei_pktx_slist_baoff_dbell_s cn52xx; 2020 struct cvmx_npei_pktx_slist_baoff_dbell_s cn52xx;
3524 struct cvmx_npei_pktx_slist_baoff_dbell_s cn56xx; 2021 struct cvmx_npei_pktx_slist_baoff_dbell_s cn56xx;
@@ -3527,13 +2024,8 @@ union cvmx_npei_pktx_slist_baoff_dbell {
3527union cvmx_npei_pktx_slist_fifo_rsize { 2024union cvmx_npei_pktx_slist_fifo_rsize {
3528 uint64_t u64; 2025 uint64_t u64;
3529 struct cvmx_npei_pktx_slist_fifo_rsize_s { 2026 struct cvmx_npei_pktx_slist_fifo_rsize_s {
3530#ifdef __BIG_ENDIAN_BITFIELD
3531 uint64_t reserved_32_63:32; 2027 uint64_t reserved_32_63:32;
3532 uint64_t rsize:32; 2028 uint64_t rsize:32;
3533#else
3534 uint64_t rsize:32;
3535 uint64_t reserved_32_63:32;
3536#endif
3537 } s; 2029 } s;
3538 struct cvmx_npei_pktx_slist_fifo_rsize_s cn52xx; 2030 struct cvmx_npei_pktx_slist_fifo_rsize_s cn52xx;
3539 struct cvmx_npei_pktx_slist_fifo_rsize_s cn56xx; 2031 struct cvmx_npei_pktx_slist_fifo_rsize_s cn56xx;
@@ -3542,13 +2034,8 @@ union cvmx_npei_pktx_slist_fifo_rsize {
3542union cvmx_npei_pkt_cnt_int { 2034union cvmx_npei_pkt_cnt_int {
3543 uint64_t u64; 2035 uint64_t u64;
3544 struct cvmx_npei_pkt_cnt_int_s { 2036 struct cvmx_npei_pkt_cnt_int_s {
3545#ifdef __BIG_ENDIAN_BITFIELD
3546 uint64_t reserved_32_63:32; 2037 uint64_t reserved_32_63:32;
3547 uint64_t port:32; 2038 uint64_t port:32;
3548#else
3549 uint64_t port:32;
3550 uint64_t reserved_32_63:32;
3551#endif
3552 } s; 2039 } s;
3553 struct cvmx_npei_pkt_cnt_int_s cn52xx; 2040 struct cvmx_npei_pkt_cnt_int_s cn52xx;
3554 struct cvmx_npei_pkt_cnt_int_s cn56xx; 2041 struct cvmx_npei_pkt_cnt_int_s cn56xx;
@@ -3557,13 +2044,8 @@ union cvmx_npei_pkt_cnt_int {
3557union cvmx_npei_pkt_cnt_int_enb { 2044union cvmx_npei_pkt_cnt_int_enb {
3558 uint64_t u64; 2045 uint64_t u64;
3559 struct cvmx_npei_pkt_cnt_int_enb_s { 2046 struct cvmx_npei_pkt_cnt_int_enb_s {
3560#ifdef __BIG_ENDIAN_BITFIELD
3561 uint64_t reserved_32_63:32; 2047 uint64_t reserved_32_63:32;
3562 uint64_t port:32; 2048 uint64_t port:32;
3563#else
3564 uint64_t port:32;
3565 uint64_t reserved_32_63:32;
3566#endif
3567 } s; 2049 } s;
3568 struct cvmx_npei_pkt_cnt_int_enb_s cn52xx; 2050 struct cvmx_npei_pkt_cnt_int_enb_s cn52xx;
3569 struct cvmx_npei_pkt_cnt_int_enb_s cn56xx; 2051 struct cvmx_npei_pkt_cnt_int_enb_s cn56xx;
@@ -3572,11 +2054,7 @@ union cvmx_npei_pkt_cnt_int_enb {
3572union cvmx_npei_pkt_data_out_es { 2054union cvmx_npei_pkt_data_out_es {
3573 uint64_t u64; 2055 uint64_t u64;
3574 struct cvmx_npei_pkt_data_out_es_s { 2056 struct cvmx_npei_pkt_data_out_es_s {
3575#ifdef __BIG_ENDIAN_BITFIELD
3576 uint64_t es:64;
3577#else
3578 uint64_t es:64; 2057 uint64_t es:64;
3579#endif
3580 } s; 2058 } s;
3581 struct cvmx_npei_pkt_data_out_es_s cn52xx; 2059 struct cvmx_npei_pkt_data_out_es_s cn52xx;
3582 struct cvmx_npei_pkt_data_out_es_s cn56xx; 2060 struct cvmx_npei_pkt_data_out_es_s cn56xx;
@@ -3585,13 +2063,8 @@ union cvmx_npei_pkt_data_out_es {
3585union cvmx_npei_pkt_data_out_ns { 2063union cvmx_npei_pkt_data_out_ns {
3586 uint64_t u64; 2064 uint64_t u64;
3587 struct cvmx_npei_pkt_data_out_ns_s { 2065 struct cvmx_npei_pkt_data_out_ns_s {
3588#ifdef __BIG_ENDIAN_BITFIELD
3589 uint64_t reserved_32_63:32; 2066 uint64_t reserved_32_63:32;
3590 uint64_t nsr:32; 2067 uint64_t nsr:32;
3591#else
3592 uint64_t nsr:32;
3593 uint64_t reserved_32_63:32;
3594#endif
3595 } s; 2068 } s;
3596 struct cvmx_npei_pkt_data_out_ns_s cn52xx; 2069 struct cvmx_npei_pkt_data_out_ns_s cn52xx;
3597 struct cvmx_npei_pkt_data_out_ns_s cn56xx; 2070 struct cvmx_npei_pkt_data_out_ns_s cn56xx;
@@ -3600,13 +2073,8 @@ union cvmx_npei_pkt_data_out_ns {
3600union cvmx_npei_pkt_data_out_ror { 2073union cvmx_npei_pkt_data_out_ror {
3601 uint64_t u64; 2074 uint64_t u64;
3602 struct cvmx_npei_pkt_data_out_ror_s { 2075 struct cvmx_npei_pkt_data_out_ror_s {
3603#ifdef __BIG_ENDIAN_BITFIELD
3604 uint64_t reserved_32_63:32; 2076 uint64_t reserved_32_63:32;
3605 uint64_t ror:32; 2077 uint64_t ror:32;
3606#else
3607 uint64_t ror:32;
3608 uint64_t reserved_32_63:32;
3609#endif
3610 } s; 2078 } s;
3611 struct cvmx_npei_pkt_data_out_ror_s cn52xx; 2079 struct cvmx_npei_pkt_data_out_ror_s cn52xx;
3612 struct cvmx_npei_pkt_data_out_ror_s cn56xx; 2080 struct cvmx_npei_pkt_data_out_ror_s cn56xx;
@@ -3615,13 +2083,8 @@ union cvmx_npei_pkt_data_out_ror {
3615union cvmx_npei_pkt_dpaddr { 2083union cvmx_npei_pkt_dpaddr {
3616 uint64_t u64; 2084 uint64_t u64;
3617 struct cvmx_npei_pkt_dpaddr_s { 2085 struct cvmx_npei_pkt_dpaddr_s {
3618#ifdef __BIG_ENDIAN_BITFIELD
3619 uint64_t reserved_32_63:32; 2086 uint64_t reserved_32_63:32;
3620 uint64_t dptr:32; 2087 uint64_t dptr:32;
3621#else
3622 uint64_t dptr:32;
3623 uint64_t reserved_32_63:32;
3624#endif
3625 } s; 2088 } s;
3626 struct cvmx_npei_pkt_dpaddr_s cn52xx; 2089 struct cvmx_npei_pkt_dpaddr_s cn52xx;
3627 struct cvmx_npei_pkt_dpaddr_s cn56xx; 2090 struct cvmx_npei_pkt_dpaddr_s cn56xx;
@@ -3630,13 +2093,8 @@ union cvmx_npei_pkt_dpaddr {
3630union cvmx_npei_pkt_in_bp { 2093union cvmx_npei_pkt_in_bp {
3631 uint64_t u64; 2094 uint64_t u64;
3632 struct cvmx_npei_pkt_in_bp_s { 2095 struct cvmx_npei_pkt_in_bp_s {
3633#ifdef __BIG_ENDIAN_BITFIELD
3634 uint64_t reserved_32_63:32; 2096 uint64_t reserved_32_63:32;
3635 uint64_t bp:32; 2097 uint64_t bp:32;
3636#else
3637 uint64_t bp:32;
3638 uint64_t reserved_32_63:32;
3639#endif
3640 } s; 2098 } s;
3641 struct cvmx_npei_pkt_in_bp_s cn52xx; 2099 struct cvmx_npei_pkt_in_bp_s cn52xx;
3642 struct cvmx_npei_pkt_in_bp_s cn56xx; 2100 struct cvmx_npei_pkt_in_bp_s cn56xx;
@@ -3645,13 +2103,8 @@ union cvmx_npei_pkt_in_bp {
3645union cvmx_npei_pkt_in_donex_cnts { 2103union cvmx_npei_pkt_in_donex_cnts {
3646 uint64_t u64; 2104 uint64_t u64;
3647 struct cvmx_npei_pkt_in_donex_cnts_s { 2105 struct cvmx_npei_pkt_in_donex_cnts_s {
3648#ifdef __BIG_ENDIAN_BITFIELD
3649 uint64_t reserved_32_63:32; 2106 uint64_t reserved_32_63:32;
3650 uint64_t cnt:32; 2107 uint64_t cnt:32;
3651#else
3652 uint64_t cnt:32;
3653 uint64_t reserved_32_63:32;
3654#endif
3655 } s; 2108 } s;
3656 struct cvmx_npei_pkt_in_donex_cnts_s cn52xx; 2109 struct cvmx_npei_pkt_in_donex_cnts_s cn52xx;
3657 struct cvmx_npei_pkt_in_donex_cnts_s cn56xx; 2110 struct cvmx_npei_pkt_in_donex_cnts_s cn56xx;
@@ -3660,13 +2113,8 @@ union cvmx_npei_pkt_in_donex_cnts {
3660union cvmx_npei_pkt_in_instr_counts { 2113union cvmx_npei_pkt_in_instr_counts {
3661 uint64_t u64; 2114 uint64_t u64;
3662 struct cvmx_npei_pkt_in_instr_counts_s { 2115 struct cvmx_npei_pkt_in_instr_counts_s {
3663#ifdef __BIG_ENDIAN_BITFIELD
3664 uint64_t wr_cnt:32; 2116 uint64_t wr_cnt:32;
3665 uint64_t rd_cnt:32; 2117 uint64_t rd_cnt:32;
3666#else
3667 uint64_t rd_cnt:32;
3668 uint64_t wr_cnt:32;
3669#endif
3670 } s; 2118 } s;
3671 struct cvmx_npei_pkt_in_instr_counts_s cn52xx; 2119 struct cvmx_npei_pkt_in_instr_counts_s cn52xx;
3672 struct cvmx_npei_pkt_in_instr_counts_s cn56xx; 2120 struct cvmx_npei_pkt_in_instr_counts_s cn56xx;
@@ -3675,11 +2123,7 @@ union cvmx_npei_pkt_in_instr_counts {
3675union cvmx_npei_pkt_in_pcie_port { 2123union cvmx_npei_pkt_in_pcie_port {
3676 uint64_t u64; 2124 uint64_t u64;
3677 struct cvmx_npei_pkt_in_pcie_port_s { 2125 struct cvmx_npei_pkt_in_pcie_port_s {
3678#ifdef __BIG_ENDIAN_BITFIELD
3679 uint64_t pp:64;
3680#else
3681 uint64_t pp:64; 2126 uint64_t pp:64;
3682#endif
3683 } s; 2127 } s;
3684 struct cvmx_npei_pkt_in_pcie_port_s cn52xx; 2128 struct cvmx_npei_pkt_in_pcie_port_s cn52xx;
3685 struct cvmx_npei_pkt_in_pcie_port_s cn56xx; 2129 struct cvmx_npei_pkt_in_pcie_port_s cn56xx;
@@ -3688,7 +2132,6 @@ union cvmx_npei_pkt_in_pcie_port {
3688union cvmx_npei_pkt_input_control { 2132union cvmx_npei_pkt_input_control {
3689 uint64_t u64; 2133 uint64_t u64;
3690 struct cvmx_npei_pkt_input_control_s { 2134 struct cvmx_npei_pkt_input_control_s {
3691#ifdef __BIG_ENDIAN_BITFIELD
3692 uint64_t reserved_23_63:41; 2135 uint64_t reserved_23_63:41;
3693 uint64_t pkt_rr:1; 2136 uint64_t pkt_rr:1;
3694 uint64_t pbp_dhi:13; 2137 uint64_t pbp_dhi:13;
@@ -3699,18 +2142,6 @@ union cvmx_npei_pkt_input_control {
3699 uint64_t nsr:1; 2142 uint64_t nsr:1;
3700 uint64_t esr:2; 2143 uint64_t esr:2;
3701 uint64_t ror:1; 2144 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
3714 } s; 2145 } s;
3715 struct cvmx_npei_pkt_input_control_s cn52xx; 2146 struct cvmx_npei_pkt_input_control_s cn52xx;
3716 struct cvmx_npei_pkt_input_control_s cn56xx; 2147 struct cvmx_npei_pkt_input_control_s cn56xx;
@@ -3719,13 +2150,8 @@ union cvmx_npei_pkt_input_control {
3719union cvmx_npei_pkt_instr_enb { 2150union cvmx_npei_pkt_instr_enb {
3720 uint64_t u64; 2151 uint64_t u64;
3721 struct cvmx_npei_pkt_instr_enb_s { 2152 struct cvmx_npei_pkt_instr_enb_s {
3722#ifdef __BIG_ENDIAN_BITFIELD
3723 uint64_t reserved_32_63:32; 2153 uint64_t reserved_32_63:32;
3724 uint64_t enb:32; 2154 uint64_t enb:32;
3725#else
3726 uint64_t enb:32;
3727 uint64_t reserved_32_63:32;
3728#endif
3729 } s; 2155 } s;
3730 struct cvmx_npei_pkt_instr_enb_s cn52xx; 2156 struct cvmx_npei_pkt_instr_enb_s cn52xx;
3731 struct cvmx_npei_pkt_instr_enb_s cn56xx; 2157 struct cvmx_npei_pkt_instr_enb_s cn56xx;
@@ -3734,11 +2160,7 @@ union cvmx_npei_pkt_instr_enb {
3734union cvmx_npei_pkt_instr_rd_size { 2160union cvmx_npei_pkt_instr_rd_size {
3735 uint64_t u64; 2161 uint64_t u64;
3736 struct cvmx_npei_pkt_instr_rd_size_s { 2162 struct cvmx_npei_pkt_instr_rd_size_s {
3737#ifdef __BIG_ENDIAN_BITFIELD
3738 uint64_t rdsize:64; 2163 uint64_t rdsize:64;
3739#else
3740 uint64_t rdsize:64;
3741#endif
3742 } s; 2164 } s;
3743 struct cvmx_npei_pkt_instr_rd_size_s cn52xx; 2165 struct cvmx_npei_pkt_instr_rd_size_s cn52xx;
3744 struct cvmx_npei_pkt_instr_rd_size_s cn56xx; 2166 struct cvmx_npei_pkt_instr_rd_size_s cn56xx;
@@ -3747,13 +2169,8 @@ union cvmx_npei_pkt_instr_rd_size {
3747union cvmx_npei_pkt_instr_size { 2169union cvmx_npei_pkt_instr_size {
3748 uint64_t u64; 2170 uint64_t u64;
3749 struct cvmx_npei_pkt_instr_size_s { 2171 struct cvmx_npei_pkt_instr_size_s {
3750#ifdef __BIG_ENDIAN_BITFIELD
3751 uint64_t reserved_32_63:32; 2172 uint64_t reserved_32_63:32;
3752 uint64_t is_64b:32; 2173 uint64_t is_64b:32;
3753#else
3754 uint64_t is_64b:32;
3755 uint64_t reserved_32_63:32;
3756#endif
3757 } s; 2174 } s;
3758 struct cvmx_npei_pkt_instr_size_s cn52xx; 2175 struct cvmx_npei_pkt_instr_size_s cn52xx;
3759 struct cvmx_npei_pkt_instr_size_s cn56xx; 2176 struct cvmx_npei_pkt_instr_size_s cn56xx;
@@ -3762,15 +2179,9 @@ union cvmx_npei_pkt_instr_size {
3762union cvmx_npei_pkt_int_levels { 2179union cvmx_npei_pkt_int_levels {
3763 uint64_t u64; 2180 uint64_t u64;
3764 struct cvmx_npei_pkt_int_levels_s { 2181 struct cvmx_npei_pkt_int_levels_s {
3765#ifdef __BIG_ENDIAN_BITFIELD
3766 uint64_t reserved_54_63:10; 2182 uint64_t reserved_54_63:10;
3767 uint64_t time:22; 2183 uint64_t time:22;
3768 uint64_t cnt:32; 2184 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
3774 } s; 2185 } s;
3775 struct cvmx_npei_pkt_int_levels_s cn52xx; 2186 struct cvmx_npei_pkt_int_levels_s cn52xx;
3776 struct cvmx_npei_pkt_int_levels_s cn56xx; 2187 struct cvmx_npei_pkt_int_levels_s cn56xx;
@@ -3779,13 +2190,8 @@ union cvmx_npei_pkt_int_levels {
3779union cvmx_npei_pkt_iptr { 2190union cvmx_npei_pkt_iptr {
3780 uint64_t u64; 2191 uint64_t u64;
3781 struct cvmx_npei_pkt_iptr_s { 2192 struct cvmx_npei_pkt_iptr_s {
3782#ifdef __BIG_ENDIAN_BITFIELD
3783 uint64_t reserved_32_63:32; 2193 uint64_t reserved_32_63:32;
3784 uint64_t iptr:32; 2194 uint64_t iptr:32;
3785#else
3786 uint64_t iptr:32;
3787 uint64_t reserved_32_63:32;
3788#endif
3789 } s; 2195 } s;
3790 struct cvmx_npei_pkt_iptr_s cn52xx; 2196 struct cvmx_npei_pkt_iptr_s cn52xx;
3791 struct cvmx_npei_pkt_iptr_s cn56xx; 2197 struct cvmx_npei_pkt_iptr_s cn56xx;
@@ -3794,13 +2200,8 @@ union cvmx_npei_pkt_iptr {
3794union cvmx_npei_pkt_out_bmode { 2200union cvmx_npei_pkt_out_bmode {
3795 uint64_t u64; 2201 uint64_t u64;
3796 struct cvmx_npei_pkt_out_bmode_s { 2202 struct cvmx_npei_pkt_out_bmode_s {
3797#ifdef __BIG_ENDIAN_BITFIELD
3798 uint64_t reserved_32_63:32; 2203 uint64_t reserved_32_63:32;
3799 uint64_t bmode:32; 2204 uint64_t bmode:32;
3800#else
3801 uint64_t bmode:32;
3802 uint64_t reserved_32_63:32;
3803#endif
3804 } s; 2205 } s;
3805 struct cvmx_npei_pkt_out_bmode_s cn52xx; 2206 struct cvmx_npei_pkt_out_bmode_s cn52xx;
3806 struct cvmx_npei_pkt_out_bmode_s cn56xx; 2207 struct cvmx_npei_pkt_out_bmode_s cn56xx;
@@ -3809,13 +2210,8 @@ union cvmx_npei_pkt_out_bmode {
3809union cvmx_npei_pkt_out_enb { 2210union cvmx_npei_pkt_out_enb {
3810 uint64_t u64; 2211 uint64_t u64;
3811 struct cvmx_npei_pkt_out_enb_s { 2212 struct cvmx_npei_pkt_out_enb_s {
3812#ifdef __BIG_ENDIAN_BITFIELD
3813 uint64_t reserved_32_63:32; 2213 uint64_t reserved_32_63:32;
3814 uint64_t enb:32; 2214 uint64_t enb:32;
3815#else
3816 uint64_t enb:32;
3817 uint64_t reserved_32_63:32;
3818#endif
3819 } s; 2215 } s;
3820 struct cvmx_npei_pkt_out_enb_s cn52xx; 2216 struct cvmx_npei_pkt_out_enb_s cn52xx;
3821 struct cvmx_npei_pkt_out_enb_s cn56xx; 2217 struct cvmx_npei_pkt_out_enb_s cn56xx;
@@ -3824,13 +2220,8 @@ union cvmx_npei_pkt_out_enb {
3824union cvmx_npei_pkt_output_wmark { 2220union cvmx_npei_pkt_output_wmark {
3825 uint64_t u64; 2221 uint64_t u64;
3826 struct cvmx_npei_pkt_output_wmark_s { 2222 struct cvmx_npei_pkt_output_wmark_s {
3827#ifdef __BIG_ENDIAN_BITFIELD
3828 uint64_t reserved_32_63:32; 2223 uint64_t reserved_32_63:32;
3829 uint64_t wmark:32; 2224 uint64_t wmark:32;
3830#else
3831 uint64_t wmark:32;
3832 uint64_t reserved_32_63:32;
3833#endif
3834 } s; 2225 } s;
3835 struct cvmx_npei_pkt_output_wmark_s cn52xx; 2226 struct cvmx_npei_pkt_output_wmark_s cn52xx;
3836 struct cvmx_npei_pkt_output_wmark_s cn56xx; 2227 struct cvmx_npei_pkt_output_wmark_s cn56xx;
@@ -3839,11 +2230,7 @@ union cvmx_npei_pkt_output_wmark {
3839union cvmx_npei_pkt_pcie_port { 2230union cvmx_npei_pkt_pcie_port {
3840 uint64_t u64; 2231 uint64_t u64;
3841 struct cvmx_npei_pkt_pcie_port_s { 2232 struct cvmx_npei_pkt_pcie_port_s {
3842#ifdef __BIG_ENDIAN_BITFIELD
3843 uint64_t pp:64; 2233 uint64_t pp:64;
3844#else
3845 uint64_t pp:64;
3846#endif
3847 } s; 2234 } s;
3848 struct cvmx_npei_pkt_pcie_port_s cn52xx; 2235 struct cvmx_npei_pkt_pcie_port_s cn52xx;
3849 struct cvmx_npei_pkt_pcie_port_s cn56xx; 2236 struct cvmx_npei_pkt_pcie_port_s cn56xx;
@@ -3852,13 +2239,8 @@ union cvmx_npei_pkt_pcie_port {
3852union cvmx_npei_pkt_port_in_rst { 2239union cvmx_npei_pkt_port_in_rst {
3853 uint64_t u64; 2240 uint64_t u64;
3854 struct cvmx_npei_pkt_port_in_rst_s { 2241 struct cvmx_npei_pkt_port_in_rst_s {
3855#ifdef __BIG_ENDIAN_BITFIELD
3856 uint64_t in_rst:32; 2242 uint64_t in_rst:32;
3857 uint64_t out_rst:32; 2243 uint64_t out_rst:32;
3858#else
3859 uint64_t out_rst:32;
3860 uint64_t in_rst:32;
3861#endif
3862 } s; 2244 } s;
3863 struct cvmx_npei_pkt_port_in_rst_s cn52xx; 2245 struct cvmx_npei_pkt_port_in_rst_s cn52xx;
3864 struct cvmx_npei_pkt_port_in_rst_s cn56xx; 2246 struct cvmx_npei_pkt_port_in_rst_s cn56xx;
@@ -3867,11 +2249,7 @@ union cvmx_npei_pkt_port_in_rst {
3867union cvmx_npei_pkt_slist_es { 2249union cvmx_npei_pkt_slist_es {
3868 uint64_t u64; 2250 uint64_t u64;
3869 struct cvmx_npei_pkt_slist_es_s { 2251 struct cvmx_npei_pkt_slist_es_s {
3870#ifdef __BIG_ENDIAN_BITFIELD
3871 uint64_t es:64; 2252 uint64_t es:64;
3872#else
3873 uint64_t es:64;
3874#endif
3875 } s; 2253 } s;
3876 struct cvmx_npei_pkt_slist_es_s cn52xx; 2254 struct cvmx_npei_pkt_slist_es_s cn52xx;
3877 struct cvmx_npei_pkt_slist_es_s cn56xx; 2255 struct cvmx_npei_pkt_slist_es_s cn56xx;
@@ -3880,15 +2258,9 @@ union cvmx_npei_pkt_slist_es {
3880union cvmx_npei_pkt_slist_id_size { 2258union cvmx_npei_pkt_slist_id_size {
3881 uint64_t u64; 2259 uint64_t u64;
3882 struct cvmx_npei_pkt_slist_id_size_s { 2260 struct cvmx_npei_pkt_slist_id_size_s {
3883#ifdef __BIG_ENDIAN_BITFIELD
3884 uint64_t reserved_23_63:41; 2261 uint64_t reserved_23_63:41;
3885 uint64_t isize:7; 2262 uint64_t isize:7;
3886 uint64_t bsize:16; 2263 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
3892 } s; 2264 } s;
3893 struct cvmx_npei_pkt_slist_id_size_s cn52xx; 2265 struct cvmx_npei_pkt_slist_id_size_s cn52xx;
3894 struct cvmx_npei_pkt_slist_id_size_s cn56xx; 2266 struct cvmx_npei_pkt_slist_id_size_s cn56xx;
@@ -3897,13 +2269,8 @@ union cvmx_npei_pkt_slist_id_size {
3897union cvmx_npei_pkt_slist_ns { 2269union cvmx_npei_pkt_slist_ns {
3898 uint64_t u64; 2270 uint64_t u64;
3899 struct cvmx_npei_pkt_slist_ns_s { 2271 struct cvmx_npei_pkt_slist_ns_s {
3900#ifdef __BIG_ENDIAN_BITFIELD
3901 uint64_t reserved_32_63:32; 2272 uint64_t reserved_32_63:32;
3902 uint64_t nsr:32; 2273 uint64_t nsr:32;
3903#else
3904 uint64_t nsr:32;
3905 uint64_t reserved_32_63:32;
3906#endif
3907 } s; 2274 } s;
3908 struct cvmx_npei_pkt_slist_ns_s cn52xx; 2275 struct cvmx_npei_pkt_slist_ns_s cn52xx;
3909 struct cvmx_npei_pkt_slist_ns_s cn56xx; 2276 struct cvmx_npei_pkt_slist_ns_s cn56xx;
@@ -3912,13 +2279,8 @@ union cvmx_npei_pkt_slist_ns {
3912union cvmx_npei_pkt_slist_ror { 2279union cvmx_npei_pkt_slist_ror {
3913 uint64_t u64; 2280 uint64_t u64;
3914 struct cvmx_npei_pkt_slist_ror_s { 2281 struct cvmx_npei_pkt_slist_ror_s {
3915#ifdef __BIG_ENDIAN_BITFIELD
3916 uint64_t reserved_32_63:32; 2282 uint64_t reserved_32_63:32;
3917 uint64_t ror:32; 2283 uint64_t ror:32;
3918#else
3919 uint64_t ror:32;
3920 uint64_t reserved_32_63:32;
3921#endif
3922 } s; 2284 } s;
3923 struct cvmx_npei_pkt_slist_ror_s cn52xx; 2285 struct cvmx_npei_pkt_slist_ror_s cn52xx;
3924 struct cvmx_npei_pkt_slist_ror_s cn56xx; 2286 struct cvmx_npei_pkt_slist_ror_s cn56xx;
@@ -3927,13 +2289,8 @@ union cvmx_npei_pkt_slist_ror {
3927union cvmx_npei_pkt_time_int { 2289union cvmx_npei_pkt_time_int {
3928 uint64_t u64; 2290 uint64_t u64;
3929 struct cvmx_npei_pkt_time_int_s { 2291 struct cvmx_npei_pkt_time_int_s {
3930#ifdef __BIG_ENDIAN_BITFIELD
3931 uint64_t reserved_32_63:32; 2292 uint64_t reserved_32_63:32;
3932 uint64_t port:32; 2293 uint64_t port:32;
3933#else
3934 uint64_t port:32;
3935 uint64_t reserved_32_63:32;
3936#endif
3937 } s; 2294 } s;
3938 struct cvmx_npei_pkt_time_int_s cn52xx; 2295 struct cvmx_npei_pkt_time_int_s cn52xx;
3939 struct cvmx_npei_pkt_time_int_s cn56xx; 2296 struct cvmx_npei_pkt_time_int_s cn56xx;
@@ -3942,13 +2299,8 @@ union cvmx_npei_pkt_time_int {
3942union cvmx_npei_pkt_time_int_enb { 2299union cvmx_npei_pkt_time_int_enb {
3943 uint64_t u64; 2300 uint64_t u64;
3944 struct cvmx_npei_pkt_time_int_enb_s { 2301 struct cvmx_npei_pkt_time_int_enb_s {
3945#ifdef __BIG_ENDIAN_BITFIELD
3946 uint64_t reserved_32_63:32; 2302 uint64_t reserved_32_63:32;
3947 uint64_t port:32; 2303 uint64_t port:32;
3948#else
3949 uint64_t port:32;
3950 uint64_t reserved_32_63:32;
3951#endif
3952 } s; 2304 } s;
3953 struct cvmx_npei_pkt_time_int_enb_s cn52xx; 2305 struct cvmx_npei_pkt_time_int_enb_s cn52xx;
3954 struct cvmx_npei_pkt_time_int_enb_s cn56xx; 2306 struct cvmx_npei_pkt_time_int_enb_s cn56xx;
@@ -3957,7 +2309,6 @@ union cvmx_npei_pkt_time_int_enb {
3957union cvmx_npei_rsl_int_blocks { 2309union cvmx_npei_rsl_int_blocks {
3958 uint64_t u64; 2310 uint64_t u64;
3959 struct cvmx_npei_rsl_int_blocks_s { 2311 struct cvmx_npei_rsl_int_blocks_s {
3960#ifdef __BIG_ENDIAN_BITFIELD
3961 uint64_t reserved_31_63:33; 2312 uint64_t reserved_31_63:33;
3962 uint64_t iob:1; 2313 uint64_t iob:1;
3963 uint64_t lmc1:1; 2314 uint64_t lmc1:1;
@@ -3987,37 +2338,6 @@ union cvmx_npei_rsl_int_blocks {
3987 uint64_t gmx1:1; 2338 uint64_t gmx1:1;
3988 uint64_t gmx0:1; 2339 uint64_t gmx0:1;
3989 uint64_t mio:1; 2340 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
4021 } s; 2341 } s;
4022 struct cvmx_npei_rsl_int_blocks_s cn52xx; 2342 struct cvmx_npei_rsl_int_blocks_s cn52xx;
4023 struct cvmx_npei_rsl_int_blocks_s cn52xxp1; 2343 struct cvmx_npei_rsl_int_blocks_s cn52xxp1;
@@ -4028,11 +2348,7 @@ union cvmx_npei_rsl_int_blocks {
4028union cvmx_npei_scratch_1 { 2348union cvmx_npei_scratch_1 {
4029 uint64_t u64; 2349 uint64_t u64;
4030 struct cvmx_npei_scratch_1_s { 2350 struct cvmx_npei_scratch_1_s {
4031#ifdef __BIG_ENDIAN_BITFIELD
4032 uint64_t data:64;
4033#else
4034 uint64_t data:64; 2351 uint64_t data:64;
4035#endif
4036 } s; 2352 } s;
4037 struct cvmx_npei_scratch_1_s cn52xx; 2353 struct cvmx_npei_scratch_1_s cn52xx;
4038 struct cvmx_npei_scratch_1_s cn52xxp1; 2354 struct cvmx_npei_scratch_1_s cn52xxp1;
@@ -4043,17 +2359,10 @@ union cvmx_npei_scratch_1 {
4043union cvmx_npei_state1 { 2359union cvmx_npei_state1 {
4044 uint64_t u64; 2360 uint64_t u64;
4045 struct cvmx_npei_state1_s { 2361 struct cvmx_npei_state1_s {
4046#ifdef __BIG_ENDIAN_BITFIELD
4047 uint64_t cpl1:12; 2362 uint64_t cpl1:12;
4048 uint64_t cpl0:12; 2363 uint64_t cpl0:12;
4049 uint64_t arb:1; 2364 uint64_t arb:1;
4050 uint64_t csr:39; 2365 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
4057 } s; 2366 } s;
4058 struct cvmx_npei_state1_s cn52xx; 2367 struct cvmx_npei_state1_s cn52xx;
4059 struct cvmx_npei_state1_s cn52xxp1; 2368 struct cvmx_npei_state1_s cn52xxp1;
@@ -4064,7 +2373,6 @@ union cvmx_npei_state1 {
4064union cvmx_npei_state2 { 2373union cvmx_npei_state2 {
4065 uint64_t u64; 2374 uint64_t u64;
4066 struct cvmx_npei_state2_s { 2375 struct cvmx_npei_state2_s {
4067#ifdef __BIG_ENDIAN_BITFIELD
4068 uint64_t reserved_48_63:16; 2376 uint64_t reserved_48_63:16;
4069 uint64_t npei:1; 2377 uint64_t npei:1;
4070 uint64_t rac:1; 2378 uint64_t rac:1;
@@ -4072,15 +2380,6 @@ union cvmx_npei_state2 {
4072 uint64_t csm0:15; 2380 uint64_t csm0:15;
4073 uint64_t nnp0:8; 2381 uint64_t nnp0:8;
4074 uint64_t nnd:8; 2382 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
4084 } s; 2383 } s;
4085 struct cvmx_npei_state2_s cn52xx; 2384 struct cvmx_npei_state2_s cn52xx;
4086 struct cvmx_npei_state2_s cn52xxp1; 2385 struct cvmx_npei_state2_s cn52xxp1;
@@ -4091,19 +2390,11 @@ union cvmx_npei_state2 {
4091union cvmx_npei_state3 { 2390union cvmx_npei_state3 {
4092 uint64_t u64; 2391 uint64_t u64;
4093 struct cvmx_npei_state3_s { 2392 struct cvmx_npei_state3_s {
4094#ifdef __BIG_ENDIAN_BITFIELD
4095 uint64_t reserved_56_63:8; 2393 uint64_t reserved_56_63:8;
4096 uint64_t psm1:15; 2394 uint64_t psm1:15;
4097 uint64_t psm0:15; 2395 uint64_t psm0:15;
4098 uint64_t nsm1:13; 2396 uint64_t nsm1:13;
4099 uint64_t nsm0:13; 2397 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
4107 } s; 2398 } s;
4108 struct cvmx_npei_state3_s cn52xx; 2399 struct cvmx_npei_state3_s cn52xx;
4109 struct cvmx_npei_state3_s cn52xxp1; 2400 struct cvmx_npei_state3_s cn52xxp1;
@@ -4114,17 +2405,10 @@ union cvmx_npei_state3 {
4114union cvmx_npei_win_rd_addr { 2405union cvmx_npei_win_rd_addr {
4115 uint64_t u64; 2406 uint64_t u64;
4116 struct cvmx_npei_win_rd_addr_s { 2407 struct cvmx_npei_win_rd_addr_s {
4117#ifdef __BIG_ENDIAN_BITFIELD
4118 uint64_t reserved_51_63:13; 2408 uint64_t reserved_51_63:13;
4119 uint64_t ld_cmd:2; 2409 uint64_t ld_cmd:2;
4120 uint64_t iobit:1; 2410 uint64_t iobit:1;
4121 uint64_t rd_addr:48; 2411 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
4128 } s; 2412 } s;
4129 struct cvmx_npei_win_rd_addr_s cn52xx; 2413 struct cvmx_npei_win_rd_addr_s cn52xx;
4130 struct cvmx_npei_win_rd_addr_s cn52xxp1; 2414 struct cvmx_npei_win_rd_addr_s cn52xxp1;
@@ -4135,11 +2419,7 @@ union cvmx_npei_win_rd_addr {
4135union cvmx_npei_win_rd_data { 2419union cvmx_npei_win_rd_data {
4136 uint64_t u64; 2420 uint64_t u64;
4137 struct cvmx_npei_win_rd_data_s { 2421 struct cvmx_npei_win_rd_data_s {
4138#ifdef __BIG_ENDIAN_BITFIELD
4139 uint64_t rd_data:64;
4140#else
4141 uint64_t rd_data:64; 2422 uint64_t rd_data:64;
4142#endif
4143 } s; 2423 } s;
4144 struct cvmx_npei_win_rd_data_s cn52xx; 2424 struct cvmx_npei_win_rd_data_s cn52xx;
4145 struct cvmx_npei_win_rd_data_s cn52xxp1; 2425 struct cvmx_npei_win_rd_data_s cn52xxp1;
@@ -4150,17 +2430,10 @@ union cvmx_npei_win_rd_data {
4150union cvmx_npei_win_wr_addr { 2430union cvmx_npei_win_wr_addr {
4151 uint64_t u64; 2431 uint64_t u64;
4152 struct cvmx_npei_win_wr_addr_s { 2432 struct cvmx_npei_win_wr_addr_s {
4153#ifdef __BIG_ENDIAN_BITFIELD
4154 uint64_t reserved_49_63:15; 2433 uint64_t reserved_49_63:15;
4155 uint64_t iobit:1; 2434 uint64_t iobit:1;
4156 uint64_t wr_addr:46; 2435 uint64_t wr_addr:46;
4157 uint64_t reserved_0_1:2; 2436 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
4164 } s; 2437 } s;
4165 struct cvmx_npei_win_wr_addr_s cn52xx; 2438 struct cvmx_npei_win_wr_addr_s cn52xx;
4166 struct cvmx_npei_win_wr_addr_s cn52xxp1; 2439 struct cvmx_npei_win_wr_addr_s cn52xxp1;
@@ -4171,11 +2444,7 @@ union cvmx_npei_win_wr_addr {
4171union cvmx_npei_win_wr_data { 2444union cvmx_npei_win_wr_data {
4172 uint64_t u64; 2445 uint64_t u64;
4173 struct cvmx_npei_win_wr_data_s { 2446 struct cvmx_npei_win_wr_data_s {
4174#ifdef __BIG_ENDIAN_BITFIELD
4175 uint64_t wr_data:64; 2447 uint64_t wr_data:64;
4176#else
4177 uint64_t wr_data:64;
4178#endif
4179 } s; 2448 } s;
4180 struct cvmx_npei_win_wr_data_s cn52xx; 2449 struct cvmx_npei_win_wr_data_s cn52xx;
4181 struct cvmx_npei_win_wr_data_s cn52xxp1; 2450 struct cvmx_npei_win_wr_data_s cn52xxp1;
@@ -4186,13 +2455,8 @@ union cvmx_npei_win_wr_data {
4186union cvmx_npei_win_wr_mask { 2455union cvmx_npei_win_wr_mask {
4187 uint64_t u64; 2456 uint64_t u64;
4188 struct cvmx_npei_win_wr_mask_s { 2457 struct cvmx_npei_win_wr_mask_s {
4189#ifdef __BIG_ENDIAN_BITFIELD
4190 uint64_t reserved_8_63:56; 2458 uint64_t reserved_8_63:56;
4191 uint64_t wr_mask:8; 2459 uint64_t wr_mask:8;
4192#else
4193 uint64_t wr_mask:8;
4194 uint64_t reserved_8_63:56;
4195#endif
4196 } s; 2460 } s;
4197 struct cvmx_npei_win_wr_mask_s cn52xx; 2461 struct cvmx_npei_win_wr_mask_s cn52xx;
4198 struct cvmx_npei_win_wr_mask_s cn52xxp1; 2462 struct cvmx_npei_win_wr_mask_s cn52xxp1;
@@ -4203,13 +2467,8 @@ union cvmx_npei_win_wr_mask {
4203union cvmx_npei_window_ctl { 2467union cvmx_npei_window_ctl {
4204 uint64_t u64; 2468 uint64_t u64;
4205 struct cvmx_npei_window_ctl_s { 2469 struct cvmx_npei_window_ctl_s {
4206#ifdef __BIG_ENDIAN_BITFIELD
4207 uint64_t reserved_32_63:32; 2470 uint64_t reserved_32_63:32;
4208 uint64_t time:32; 2471 uint64_t time:32;
4209#else
4210 uint64_t time:32;
4211 uint64_t reserved_32_63:32;
4212#endif
4213 } s; 2472 } s;
4214 struct cvmx_npei_window_ctl_s cn52xx; 2473 struct cvmx_npei_window_ctl_s cn52xx;
4215 struct cvmx_npei_window_ctl_s cn52xxp1; 2474 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 129bb250e53..f089c780060 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,13 +152,8 @@
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
156 uint64_t baddr:61; 155 uint64_t baddr:61;
157 uint64_t reserved_0_2:3; 156 uint64_t reserved_0_2:3;
158#else
159 uint64_t reserved_0_2:3;
160 uint64_t baddr:61;
161#endif
162 } s; 157 } s;
163 struct cvmx_npi_base_addr_inputx_s cn30xx; 158 struct cvmx_npi_base_addr_inputx_s cn30xx;
164 struct cvmx_npi_base_addr_inputx_s cn31xx; 159 struct cvmx_npi_base_addr_inputx_s cn31xx;
@@ -172,13 +167,8 @@ union cvmx_npi_base_addr_inputx {
172union cvmx_npi_base_addr_outputx { 167union cvmx_npi_base_addr_outputx {
173 uint64_t u64; 168 uint64_t u64;
174 struct cvmx_npi_base_addr_outputx_s { 169 struct cvmx_npi_base_addr_outputx_s {
175#ifdef __BIG_ENDIAN_BITFIELD
176 uint64_t baddr:61; 170 uint64_t baddr:61;
177 uint64_t reserved_0_2:3; 171 uint64_t reserved_0_2:3;
178#else
179 uint64_t reserved_0_2:3;
180 uint64_t baddr:61;
181#endif
182 } s; 172 } s;
183 struct cvmx_npi_base_addr_outputx_s cn30xx; 173 struct cvmx_npi_base_addr_outputx_s cn30xx;
184 struct cvmx_npi_base_addr_outputx_s cn31xx; 174 struct cvmx_npi_base_addr_outputx_s cn31xx;
@@ -192,7 +182,6 @@ union cvmx_npi_base_addr_outputx {
192union cvmx_npi_bist_status { 182union cvmx_npi_bist_status {
193 uint64_t u64; 183 uint64_t u64;
194 struct cvmx_npi_bist_status_s { 184 struct cvmx_npi_bist_status_s {
195#ifdef __BIG_ENDIAN_BITFIELD
196 uint64_t reserved_20_63:44; 185 uint64_t reserved_20_63:44;
197 uint64_t csr_bs:1; 186 uint64_t csr_bs:1;
198 uint64_t dif_bs:1; 187 uint64_t dif_bs:1;
@@ -214,32 +203,8 @@ union cvmx_npi_bist_status {
214 uint64_t dob_bs:1; 203 uint64_t dob_bs:1;
215 uint64_t pdf_bs:1; 204 uint64_t pdf_bs:1;
216 uint64_t dpi_bs:1; 205 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
240 } s; 206 } s;
241 struct cvmx_npi_bist_status_cn30xx { 207 struct cvmx_npi_bist_status_cn30xx {
242#ifdef __BIG_ENDIAN_BITFIELD
243 uint64_t reserved_20_63:44; 208 uint64_t reserved_20_63:44;
244 uint64_t csr_bs:1; 209 uint64_t csr_bs:1;
245 uint64_t dif_bs:1; 210 uint64_t dif_bs:1;
@@ -259,33 +224,11 @@ union cvmx_npi_bist_status {
259 uint64_t dob_bs:1; 224 uint64_t dob_bs:1;
260 uint64_t pdf_bs:1; 225 uint64_t pdf_bs:1;
261 uint64_t dpi_bs:1; 226 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
283 } cn30xx; 227 } cn30xx;
284 struct cvmx_npi_bist_status_s cn31xx; 228 struct cvmx_npi_bist_status_s cn31xx;
285 struct cvmx_npi_bist_status_s cn38xx; 229 struct cvmx_npi_bist_status_s cn38xx;
286 struct cvmx_npi_bist_status_s cn38xxp2; 230 struct cvmx_npi_bist_status_s cn38xxp2;
287 struct cvmx_npi_bist_status_cn50xx { 231 struct cvmx_npi_bist_status_cn50xx {
288#ifdef __BIG_ENDIAN_BITFIELD
289 uint64_t reserved_20_63:44; 232 uint64_t reserved_20_63:44;
290 uint64_t csr_bs:1; 233 uint64_t csr_bs:1;
291 uint64_t dif_bs:1; 234 uint64_t dif_bs:1;
@@ -306,28 +249,6 @@ union cvmx_npi_bist_status {
306 uint64_t dob_bs:1; 249 uint64_t dob_bs:1;
307 uint64_t pdf_bs:1; 250 uint64_t pdf_bs:1;
308 uint64_t dpi_bs:1; 251 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
331 } cn50xx; 252 } cn50xx;
332 struct cvmx_npi_bist_status_s cn58xx; 253 struct cvmx_npi_bist_status_s cn58xx;
333 struct cvmx_npi_bist_status_s cn58xxp1; 254 struct cvmx_npi_bist_status_s cn58xxp1;
@@ -336,15 +257,9 @@ union cvmx_npi_bist_status {
336union cvmx_npi_buff_size_outputx { 257union cvmx_npi_buff_size_outputx {
337 uint64_t u64; 258 uint64_t u64;
338 struct cvmx_npi_buff_size_outputx_s { 259 struct cvmx_npi_buff_size_outputx_s {
339#ifdef __BIG_ENDIAN_BITFIELD
340 uint64_t reserved_23_63:41; 260 uint64_t reserved_23_63:41;
341 uint64_t isize:7; 261 uint64_t isize:7;
342 uint64_t bsize:16; 262 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
348 } s; 263 } s;
349 struct cvmx_npi_buff_size_outputx_s cn30xx; 264 struct cvmx_npi_buff_size_outputx_s cn30xx;
350 struct cvmx_npi_buff_size_outputx_s cn31xx; 265 struct cvmx_npi_buff_size_outputx_s cn31xx;
@@ -358,15 +273,9 @@ union cvmx_npi_buff_size_outputx {
358union cvmx_npi_comp_ctl { 273union cvmx_npi_comp_ctl {
359 uint64_t u64; 274 uint64_t u64;
360 struct cvmx_npi_comp_ctl_s { 275 struct cvmx_npi_comp_ctl_s {
361#ifdef __BIG_ENDIAN_BITFIELD
362 uint64_t reserved_10_63:54; 276 uint64_t reserved_10_63:54;
363 uint64_t pctl:5; 277 uint64_t pctl:5;
364 uint64_t nctl:5; 278 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
370 } s; 279 } s;
371 struct cvmx_npi_comp_ctl_s cn50xx; 280 struct cvmx_npi_comp_ctl_s cn50xx;
372 struct cvmx_npi_comp_ctl_s cn58xx; 281 struct cvmx_npi_comp_ctl_s cn58xx;
@@ -376,7 +285,6 @@ union cvmx_npi_comp_ctl {
376union cvmx_npi_ctl_status { 285union cvmx_npi_ctl_status {
377 uint64_t u64; 286 uint64_t u64;
378 struct cvmx_npi_ctl_status_s { 287 struct cvmx_npi_ctl_status_s {
379#ifdef __BIG_ENDIAN_BITFIELD
380 uint64_t reserved_63_63:1; 288 uint64_t reserved_63_63:1;
381 uint64_t chip_rev:8; 289 uint64_t chip_rev:8;
382 uint64_t dis_pniw:1; 290 uint64_t dis_pniw:1;
@@ -398,32 +306,8 @@ union cvmx_npi_ctl_status {
398 uint64_t max_word:5; 306 uint64_t max_word:5;
399 uint64_t reserved_10_31:22; 307 uint64_t reserved_10_31:22;
400 uint64_t timer:10; 308 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
424 } s; 309 } s;
425 struct cvmx_npi_ctl_status_cn30xx { 310 struct cvmx_npi_ctl_status_cn30xx {
426#ifdef __BIG_ENDIAN_BITFIELD
427 uint64_t reserved_63_63:1; 311 uint64_t reserved_63_63:1;
428 uint64_t chip_rev:8; 312 uint64_t chip_rev:8;
429 uint64_t dis_pniw:1; 313 uint64_t dis_pniw:1;
@@ -439,26 +323,8 @@ union cvmx_npi_ctl_status {
439 uint64_t max_word:5; 323 uint64_t max_word:5;
440 uint64_t reserved_10_31:22; 324 uint64_t reserved_10_31:22;
441 uint64_t timer:10; 325 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
459 } cn30xx; 326 } cn30xx;
460 struct cvmx_npi_ctl_status_cn31xx { 327 struct cvmx_npi_ctl_status_cn31xx {
461#ifdef __BIG_ENDIAN_BITFIELD
462 uint64_t reserved_63_63:1; 328 uint64_t reserved_63_63:1;
463 uint64_t chip_rev:8; 329 uint64_t chip_rev:8;
464 uint64_t dis_pniw:1; 330 uint64_t dis_pniw:1;
@@ -477,26 +343,6 @@ union cvmx_npi_ctl_status {
477 uint64_t max_word:5; 343 uint64_t max_word:5;
478 uint64_t reserved_10_31:22; 344 uint64_t reserved_10_31:22;
479 uint64_t timer:10; 345 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
500 } cn31xx; 346 } cn31xx;
501 struct cvmx_npi_ctl_status_s cn38xx; 347 struct cvmx_npi_ctl_status_s cn38xx;
502 struct cvmx_npi_ctl_status_s cn38xxp2; 348 struct cvmx_npi_ctl_status_s cn38xxp2;
@@ -508,13 +354,8 @@ union cvmx_npi_ctl_status {
508union cvmx_npi_dbg_select { 354union cvmx_npi_dbg_select {
509 uint64_t u64; 355 uint64_t u64;
510 struct cvmx_npi_dbg_select_s { 356 struct cvmx_npi_dbg_select_s {
511#ifdef __BIG_ENDIAN_BITFIELD
512 uint64_t reserved_16_63:48; 357 uint64_t reserved_16_63:48;
513 uint64_t dbg_sel:16; 358 uint64_t dbg_sel:16;
514#else
515 uint64_t dbg_sel:16;
516 uint64_t reserved_16_63:48;
517#endif
518 } s; 359 } s;
519 struct cvmx_npi_dbg_select_s cn30xx; 360 struct cvmx_npi_dbg_select_s cn30xx;
520 struct cvmx_npi_dbg_select_s cn31xx; 361 struct cvmx_npi_dbg_select_s cn31xx;
@@ -528,7 +369,6 @@ union cvmx_npi_dbg_select {
528union cvmx_npi_dma_control { 369union cvmx_npi_dma_control {
529 uint64_t u64; 370 uint64_t u64;
530 struct cvmx_npi_dma_control_s { 371 struct cvmx_npi_dma_control_s {
531#ifdef __BIG_ENDIAN_BITFIELD
532 uint64_t reserved_36_63:28; 372 uint64_t reserved_36_63:28;
533 uint64_t b0_lend:1; 373 uint64_t b0_lend:1;
534 uint64_t dwb_denb:1; 374 uint64_t dwb_denb:1;
@@ -542,21 +382,6 @@ union cvmx_npi_dma_control {
542 uint64_t hp_enb:1; 382 uint64_t hp_enb:1;
543 uint64_t lp_enb:1; 383 uint64_t lp_enb:1;
544 uint64_t csize:14; 384 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
560 } s; 385 } s;
561 struct cvmx_npi_dma_control_s cn30xx; 386 struct cvmx_npi_dma_control_s cn30xx;
562 struct cvmx_npi_dma_control_s cn31xx; 387 struct cvmx_npi_dma_control_s cn31xx;
@@ -570,15 +395,9 @@ union cvmx_npi_dma_control {
570union cvmx_npi_dma_highp_counts { 395union cvmx_npi_dma_highp_counts {
571 uint64_t u64; 396 uint64_t u64;
572 struct cvmx_npi_dma_highp_counts_s { 397 struct cvmx_npi_dma_highp_counts_s {
573#ifdef __BIG_ENDIAN_BITFIELD
574 uint64_t reserved_39_63:25; 398 uint64_t reserved_39_63:25;
575 uint64_t fcnt:7; 399 uint64_t fcnt:7;
576 uint64_t dbell:32; 400 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
582 } s; 401 } s;
583 struct cvmx_npi_dma_highp_counts_s cn30xx; 402 struct cvmx_npi_dma_highp_counts_s cn30xx;
584 struct cvmx_npi_dma_highp_counts_s cn31xx; 403 struct cvmx_npi_dma_highp_counts_s cn31xx;
@@ -592,15 +411,9 @@ union cvmx_npi_dma_highp_counts {
592union cvmx_npi_dma_highp_naddr { 411union cvmx_npi_dma_highp_naddr {
593 uint64_t u64; 412 uint64_t u64;
594 struct cvmx_npi_dma_highp_naddr_s { 413 struct cvmx_npi_dma_highp_naddr_s {
595#ifdef __BIG_ENDIAN_BITFIELD
596 uint64_t reserved_40_63:24; 414 uint64_t reserved_40_63:24;
597 uint64_t state:4; 415 uint64_t state:4;
598 uint64_t addr:36; 416 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
604 } s; 417 } s;
605 struct cvmx_npi_dma_highp_naddr_s cn30xx; 418 struct cvmx_npi_dma_highp_naddr_s cn30xx;
606 struct cvmx_npi_dma_highp_naddr_s cn31xx; 419 struct cvmx_npi_dma_highp_naddr_s cn31xx;
@@ -614,15 +427,9 @@ union cvmx_npi_dma_highp_naddr {
614union cvmx_npi_dma_lowp_counts { 427union cvmx_npi_dma_lowp_counts {
615 uint64_t u64; 428 uint64_t u64;
616 struct cvmx_npi_dma_lowp_counts_s { 429 struct cvmx_npi_dma_lowp_counts_s {
617#ifdef __BIG_ENDIAN_BITFIELD
618 uint64_t reserved_39_63:25; 430 uint64_t reserved_39_63:25;
619 uint64_t fcnt:7; 431 uint64_t fcnt:7;
620 uint64_t dbell:32; 432 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
626 } s; 433 } s;
627 struct cvmx_npi_dma_lowp_counts_s cn30xx; 434 struct cvmx_npi_dma_lowp_counts_s cn30xx;
628 struct cvmx_npi_dma_lowp_counts_s cn31xx; 435 struct cvmx_npi_dma_lowp_counts_s cn31xx;
@@ -636,15 +443,9 @@ union cvmx_npi_dma_lowp_counts {
636union cvmx_npi_dma_lowp_naddr { 443union cvmx_npi_dma_lowp_naddr {
637 uint64_t u64; 444 uint64_t u64;
638 struct cvmx_npi_dma_lowp_naddr_s { 445 struct cvmx_npi_dma_lowp_naddr_s {
639#ifdef __BIG_ENDIAN_BITFIELD
640 uint64_t reserved_40_63:24; 446 uint64_t reserved_40_63:24;
641 uint64_t state:4; 447 uint64_t state:4;
642 uint64_t addr:36; 448 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
648 } s; 449 } s;
649 struct cvmx_npi_dma_lowp_naddr_s cn30xx; 450 struct cvmx_npi_dma_lowp_naddr_s cn30xx;
650 struct cvmx_npi_dma_lowp_naddr_s cn31xx; 451 struct cvmx_npi_dma_lowp_naddr_s cn31xx;
@@ -658,13 +459,8 @@ union cvmx_npi_dma_lowp_naddr {
658union cvmx_npi_highp_dbell { 459union cvmx_npi_highp_dbell {
659 uint64_t u64; 460 uint64_t u64;
660 struct cvmx_npi_highp_dbell_s { 461 struct cvmx_npi_highp_dbell_s {
661#ifdef __BIG_ENDIAN_BITFIELD
662 uint64_t reserved_16_63:48; 462 uint64_t reserved_16_63:48;
663 uint64_t dbell:16; 463 uint64_t dbell:16;
664#else
665 uint64_t dbell:16;
666 uint64_t reserved_16_63:48;
667#endif
668 } s; 464 } s;
669 struct cvmx_npi_highp_dbell_s cn30xx; 465 struct cvmx_npi_highp_dbell_s cn30xx;
670 struct cvmx_npi_highp_dbell_s cn31xx; 466 struct cvmx_npi_highp_dbell_s cn31xx;
@@ -678,13 +474,8 @@ union cvmx_npi_highp_dbell {
678union cvmx_npi_highp_ibuff_saddr { 474union cvmx_npi_highp_ibuff_saddr {
679 uint64_t u64; 475 uint64_t u64;
680 struct cvmx_npi_highp_ibuff_saddr_s { 476 struct cvmx_npi_highp_ibuff_saddr_s {
681#ifdef __BIG_ENDIAN_BITFIELD
682 uint64_t reserved_36_63:28; 477 uint64_t reserved_36_63:28;
683 uint64_t saddr:36; 478 uint64_t saddr:36;
684#else
685 uint64_t saddr:36;
686 uint64_t reserved_36_63:28;
687#endif
688 } s; 479 } s;
689 struct cvmx_npi_highp_ibuff_saddr_s cn30xx; 480 struct cvmx_npi_highp_ibuff_saddr_s cn30xx;
690 struct cvmx_npi_highp_ibuff_saddr_s cn31xx; 481 struct cvmx_npi_highp_ibuff_saddr_s cn31xx;
@@ -698,7 +489,6 @@ union cvmx_npi_highp_ibuff_saddr {
698union cvmx_npi_input_control { 489union cvmx_npi_input_control {
699 uint64_t u64; 490 uint64_t u64;
700 struct cvmx_npi_input_control_s { 491 struct cvmx_npi_input_control_s {
701#ifdef __BIG_ENDIAN_BITFIELD
702 uint64_t reserved_23_63:41; 492 uint64_t reserved_23_63:41;
703 uint64_t pkt_rr:1; 493 uint64_t pkt_rr:1;
704 uint64_t pbp_dhi:13; 494 uint64_t pbp_dhi:13;
@@ -709,21 +499,8 @@ union cvmx_npi_input_control {
709 uint64_t nsr:1; 499 uint64_t nsr:1;
710 uint64_t esr:2; 500 uint64_t esr:2;
711 uint64_t ror:1; 501 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
724 } s; 502 } s;
725 struct cvmx_npi_input_control_cn30xx { 503 struct cvmx_npi_input_control_cn30xx {
726#ifdef __BIG_ENDIAN_BITFIELD
727 uint64_t reserved_22_63:42; 504 uint64_t reserved_22_63:42;
728 uint64_t pbp_dhi:13; 505 uint64_t pbp_dhi:13;
729 uint64_t d_nsr:1; 506 uint64_t d_nsr:1;
@@ -733,17 +510,6 @@ union cvmx_npi_input_control {
733 uint64_t nsr:1; 510 uint64_t nsr:1;
734 uint64_t esr:2; 511 uint64_t esr:2;
735 uint64_t ror:1; 512 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
747 } cn30xx; 513 } cn30xx;
748 struct cvmx_npi_input_control_cn30xx cn31xx; 514 struct cvmx_npi_input_control_cn30xx cn31xx;
749 struct cvmx_npi_input_control_s cn38xx; 515 struct cvmx_npi_input_control_s cn38xx;
@@ -756,7 +522,6 @@ union cvmx_npi_input_control {
756union cvmx_npi_int_enb { 522union cvmx_npi_int_enb {
757 uint64_t u64; 523 uint64_t u64;
758 struct cvmx_npi_int_enb_s { 524 struct cvmx_npi_int_enb_s {
759#ifdef __BIG_ENDIAN_BITFIELD
760 uint64_t reserved_62_63:2; 525 uint64_t reserved_62_63:2;
761 uint64_t q1_a_f:1; 526 uint64_t q1_a_f:1;
762 uint64_t q1_s_e:1; 527 uint64_t q1_s_e:1;
@@ -820,74 +585,8 @@ union cvmx_npi_int_enb {
820 uint64_t pci_rsl:1; 585 uint64_t pci_rsl:1;
821 uint64_t rml_wto:1; 586 uint64_t rml_wto:1;
822 uint64_t rml_rto:1; 587 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
888 } s; 588 } s;
889 struct cvmx_npi_int_enb_cn30xx { 589 struct cvmx_npi_int_enb_cn30xx {
890#ifdef __BIG_ENDIAN_BITFIELD
891 uint64_t reserved_62_63:2; 590 uint64_t reserved_62_63:2;
892 uint64_t q1_a_f:1; 591 uint64_t q1_a_f:1;
893 uint64_t q1_s_e:1; 592 uint64_t q1_s_e:1;
@@ -933,56 +632,8 @@ union cvmx_npi_int_enb {
933 uint64_t pci_rsl:1; 632 uint64_t pci_rsl:1;
934 uint64_t rml_wto:1; 633 uint64_t rml_wto:1;
935 uint64_t rml_rto:1; 634 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
983 } cn30xx; 635 } cn30xx;
984 struct cvmx_npi_int_enb_cn31xx { 636 struct cvmx_npi_int_enb_cn31xx {
985#ifdef __BIG_ENDIAN_BITFIELD
986 uint64_t reserved_62_63:2; 637 uint64_t reserved_62_63:2;
987 uint64_t q1_a_f:1; 638 uint64_t q1_a_f:1;
988 uint64_t q1_s_e:1; 639 uint64_t q1_s_e:1;
@@ -1037,66 +688,9 @@ union cvmx_npi_int_enb {
1037 uint64_t pci_rsl:1; 688 uint64_t pci_rsl:1;
1038 uint64_t rml_wto:1; 689 uint64_t rml_wto:1;
1039 uint64_t rml_rto:1; 690 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
1096 } cn31xx; 691 } cn31xx;
1097 struct cvmx_npi_int_enb_s cn38xx; 692 struct cvmx_npi_int_enb_s cn38xx;
1098 struct cvmx_npi_int_enb_cn38xxp2 { 693 struct cvmx_npi_int_enb_cn38xxp2 {
1099#ifdef __BIG_ENDIAN_BITFIELD
1100 uint64_t reserved_42_63:22; 694 uint64_t reserved_42_63:22;
1101 uint64_t iobdma:1; 695 uint64_t iobdma:1;
1102 uint64_t p_dperr:1; 696 uint64_t p_dperr:1;
@@ -1140,51 +734,6 @@ union cvmx_npi_int_enb {
1140 uint64_t pci_rsl:1; 734 uint64_t pci_rsl:1;
1141 uint64_t rml_wto:1; 735 uint64_t rml_wto:1;
1142 uint64_t rml_rto:1; 736 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
1188 } cn38xxp2; 737 } cn38xxp2;
1189 struct cvmx_npi_int_enb_cn31xx cn50xx; 738 struct cvmx_npi_int_enb_cn31xx cn50xx;
1190 struct cvmx_npi_int_enb_s cn58xx; 739 struct cvmx_npi_int_enb_s cn58xx;
@@ -1194,7 +743,6 @@ union cvmx_npi_int_enb {
1194union cvmx_npi_int_sum { 743union cvmx_npi_int_sum {
1195 uint64_t u64; 744 uint64_t u64;
1196 struct cvmx_npi_int_sum_s { 745 struct cvmx_npi_int_sum_s {
1197#ifdef __BIG_ENDIAN_BITFIELD
1198 uint64_t reserved_62_63:2; 746 uint64_t reserved_62_63:2;
1199 uint64_t q1_a_f:1; 747 uint64_t q1_a_f:1;
1200 uint64_t q1_s_e:1; 748 uint64_t q1_s_e:1;
@@ -1258,74 +806,8 @@ union cvmx_npi_int_sum {
1258 uint64_t pci_rsl:1; 806 uint64_t pci_rsl:1;
1259 uint64_t rml_wto:1; 807 uint64_t rml_wto:1;
1260 uint64_t rml_rto:1; 808 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
1326 } s; 809 } s;
1327 struct cvmx_npi_int_sum_cn30xx { 810 struct cvmx_npi_int_sum_cn30xx {
1328#ifdef __BIG_ENDIAN_BITFIELD
1329 uint64_t reserved_62_63:2; 811 uint64_t reserved_62_63:2;
1330 uint64_t q1_a_f:1; 812 uint64_t q1_a_f:1;
1331 uint64_t q1_s_e:1; 813 uint64_t q1_s_e:1;
@@ -1371,56 +853,8 @@ union cvmx_npi_int_sum {
1371 uint64_t pci_rsl:1; 853 uint64_t pci_rsl:1;
1372 uint64_t rml_wto:1; 854 uint64_t rml_wto:1;
1373 uint64_t rml_rto:1; 855 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
1421 } cn30xx; 856 } cn30xx;
1422 struct cvmx_npi_int_sum_cn31xx { 857 struct cvmx_npi_int_sum_cn31xx {
1423#ifdef __BIG_ENDIAN_BITFIELD
1424 uint64_t reserved_62_63:2; 858 uint64_t reserved_62_63:2;
1425 uint64_t q1_a_f:1; 859 uint64_t q1_a_f:1;
1426 uint64_t q1_s_e:1; 860 uint64_t q1_s_e:1;
@@ -1475,66 +909,9 @@ union cvmx_npi_int_sum {
1475 uint64_t pci_rsl:1; 909 uint64_t pci_rsl:1;
1476 uint64_t rml_wto:1; 910 uint64_t rml_wto:1;
1477 uint64_t rml_rto:1; 911 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
1534 } cn31xx; 912 } cn31xx;
1535 struct cvmx_npi_int_sum_s cn38xx; 913 struct cvmx_npi_int_sum_s cn38xx;
1536 struct cvmx_npi_int_sum_cn38xxp2 { 914 struct cvmx_npi_int_sum_cn38xxp2 {
1537#ifdef __BIG_ENDIAN_BITFIELD
1538 uint64_t reserved_42_63:22; 915 uint64_t reserved_42_63:22;
1539 uint64_t iobdma:1; 916 uint64_t iobdma:1;
1540 uint64_t p_dperr:1; 917 uint64_t p_dperr:1;
@@ -1578,51 +955,6 @@ union cvmx_npi_int_sum {
1578 uint64_t pci_rsl:1; 955 uint64_t pci_rsl:1;
1579 uint64_t rml_wto:1; 956 uint64_t rml_wto:1;
1580 uint64_t rml_rto:1; 957 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
1626 } cn38xxp2; 958 } cn38xxp2;
1627 struct cvmx_npi_int_sum_cn31xx cn50xx; 959 struct cvmx_npi_int_sum_cn31xx cn50xx;
1628 struct cvmx_npi_int_sum_s cn58xx; 960 struct cvmx_npi_int_sum_s cn58xx;
@@ -1632,13 +964,8 @@ union cvmx_npi_int_sum {
1632union cvmx_npi_lowp_dbell { 964union cvmx_npi_lowp_dbell {
1633 uint64_t u64; 965 uint64_t u64;
1634 struct cvmx_npi_lowp_dbell_s { 966 struct cvmx_npi_lowp_dbell_s {
1635#ifdef __BIG_ENDIAN_BITFIELD
1636 uint64_t reserved_16_63:48; 967 uint64_t reserved_16_63:48;
1637 uint64_t dbell:16; 968 uint64_t dbell:16;
1638#else
1639 uint64_t dbell:16;
1640 uint64_t reserved_16_63:48;
1641#endif
1642 } s; 969 } s;
1643 struct cvmx_npi_lowp_dbell_s cn30xx; 970 struct cvmx_npi_lowp_dbell_s cn30xx;
1644 struct cvmx_npi_lowp_dbell_s cn31xx; 971 struct cvmx_npi_lowp_dbell_s cn31xx;
@@ -1652,13 +979,8 @@ union cvmx_npi_lowp_dbell {
1652union cvmx_npi_lowp_ibuff_saddr { 979union cvmx_npi_lowp_ibuff_saddr {
1653 uint64_t u64; 980 uint64_t u64;
1654 struct cvmx_npi_lowp_ibuff_saddr_s { 981 struct cvmx_npi_lowp_ibuff_saddr_s {
1655#ifdef __BIG_ENDIAN_BITFIELD
1656 uint64_t reserved_36_63:28; 982 uint64_t reserved_36_63:28;
1657 uint64_t saddr:36; 983 uint64_t saddr:36;
1658#else
1659 uint64_t saddr:36;
1660 uint64_t reserved_36_63:28;
1661#endif
1662 } s; 984 } s;
1663 struct cvmx_npi_lowp_ibuff_saddr_s cn30xx; 985 struct cvmx_npi_lowp_ibuff_saddr_s cn30xx;
1664 struct cvmx_npi_lowp_ibuff_saddr_s cn31xx; 986 struct cvmx_npi_lowp_ibuff_saddr_s cn31xx;
@@ -1672,7 +994,6 @@ union cvmx_npi_lowp_ibuff_saddr {
1672union cvmx_npi_mem_access_subidx { 994union cvmx_npi_mem_access_subidx {
1673 uint64_t u64; 995 uint64_t u64;
1674 struct cvmx_npi_mem_access_subidx_s { 996 struct cvmx_npi_mem_access_subidx_s {
1675#ifdef __BIG_ENDIAN_BITFIELD
1676 uint64_t reserved_38_63:26; 997 uint64_t reserved_38_63:26;
1677 uint64_t shortl:1; 998 uint64_t shortl:1;
1678 uint64_t nmerge:1; 999 uint64_t nmerge:1;
@@ -1683,22 +1004,9 @@ union cvmx_npi_mem_access_subidx {
1683 uint64_t ror:1; 1004 uint64_t ror:1;
1684 uint64_t row:1; 1005 uint64_t row:1;
1685 uint64_t ba:28; 1006 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
1698 } s; 1007 } s;
1699 struct cvmx_npi_mem_access_subidx_s cn30xx; 1008 struct cvmx_npi_mem_access_subidx_s cn30xx;
1700 struct cvmx_npi_mem_access_subidx_cn31xx { 1009 struct cvmx_npi_mem_access_subidx_cn31xx {
1701#ifdef __BIG_ENDIAN_BITFIELD
1702 uint64_t reserved_36_63:28; 1010 uint64_t reserved_36_63:28;
1703 uint64_t esr:2; 1011 uint64_t esr:2;
1704 uint64_t esw:2; 1012 uint64_t esw:2;
@@ -1707,16 +1015,6 @@ union cvmx_npi_mem_access_subidx {
1707 uint64_t ror:1; 1015 uint64_t ror:1;
1708 uint64_t row:1; 1016 uint64_t row:1;
1709 uint64_t ba:28; 1017 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
1720 } cn31xx; 1018 } cn31xx;
1721 struct cvmx_npi_mem_access_subidx_s cn38xx; 1019 struct cvmx_npi_mem_access_subidx_s cn38xx;
1722 struct cvmx_npi_mem_access_subidx_cn31xx cn38xxp2; 1020 struct cvmx_npi_mem_access_subidx_cn31xx cn38xxp2;
@@ -1728,11 +1026,7 @@ union cvmx_npi_mem_access_subidx {
1728union cvmx_npi_msi_rcv { 1026union cvmx_npi_msi_rcv {
1729 uint64_t u64; 1027 uint64_t u64;
1730 struct cvmx_npi_msi_rcv_s { 1028 struct cvmx_npi_msi_rcv_s {
1731#ifdef __BIG_ENDIAN_BITFIELD
1732 uint64_t int_vec:64;
1733#else
1734 uint64_t int_vec:64; 1029 uint64_t int_vec:64;
1735#endif
1736 } s; 1030 } s;
1737 struct cvmx_npi_msi_rcv_s cn30xx; 1031 struct cvmx_npi_msi_rcv_s cn30xx;
1738 struct cvmx_npi_msi_rcv_s cn31xx; 1032 struct cvmx_npi_msi_rcv_s cn31xx;
@@ -1746,13 +1040,8 @@ union cvmx_npi_msi_rcv {
1746union cvmx_npi_num_desc_outputx { 1040union cvmx_npi_num_desc_outputx {
1747 uint64_t u64; 1041 uint64_t u64;
1748 struct cvmx_npi_num_desc_outputx_s { 1042 struct cvmx_npi_num_desc_outputx_s {
1749#ifdef __BIG_ENDIAN_BITFIELD
1750 uint64_t reserved_32_63:32; 1043 uint64_t reserved_32_63:32;
1751 uint64_t size:32; 1044 uint64_t size:32;
1752#else
1753 uint64_t size:32;
1754 uint64_t reserved_32_63:32;
1755#endif
1756 } s; 1045 } s;
1757 struct cvmx_npi_num_desc_outputx_s cn30xx; 1046 struct cvmx_npi_num_desc_outputx_s cn30xx;
1758 struct cvmx_npi_num_desc_outputx_s cn31xx; 1047 struct cvmx_npi_num_desc_outputx_s cn31xx;
@@ -1766,7 +1055,6 @@ union cvmx_npi_num_desc_outputx {
1766union cvmx_npi_output_control { 1055union cvmx_npi_output_control {
1767 uint64_t u64; 1056 uint64_t u64;
1768 struct cvmx_npi_output_control_s { 1057 struct cvmx_npi_output_control_s {
1769#ifdef __BIG_ENDIAN_BITFIELD
1770 uint64_t reserved_49_63:15; 1058 uint64_t reserved_49_63:15;
1771 uint64_t pkt_rr:1; 1059 uint64_t pkt_rr:1;
1772 uint64_t p3_bmode:1; 1060 uint64_t p3_bmode:1;
@@ -1806,50 +1094,8 @@ union cvmx_npi_output_control {
1806 uint64_t esr_sl0:2; 1094 uint64_t esr_sl0:2;
1807 uint64_t nsr_sl0:1; 1095 uint64_t nsr_sl0:1;
1808 uint64_t ror_sl0:1; 1096 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
1850 } s; 1097 } s;
1851 struct cvmx_npi_output_control_cn30xx { 1098 struct cvmx_npi_output_control_cn30xx {
1852#ifdef __BIG_ENDIAN_BITFIELD
1853 uint64_t reserved_45_63:19; 1099 uint64_t reserved_45_63:19;
1854 uint64_t p0_bmode:1; 1100 uint64_t p0_bmode:1;
1855 uint64_t reserved_32_43:12; 1101 uint64_t reserved_32_43:12;
@@ -1864,25 +1110,8 @@ union cvmx_npi_output_control {
1864 uint64_t esr_sl0:2; 1110 uint64_t esr_sl0:2;
1865 uint64_t nsr_sl0:1; 1111 uint64_t nsr_sl0:1;
1866 uint64_t ror_sl0:1; 1112 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
1883 } cn30xx; 1113 } cn30xx;
1884 struct cvmx_npi_output_control_cn31xx { 1114 struct cvmx_npi_output_control_cn31xx {
1885#ifdef __BIG_ENDIAN_BITFIELD
1886 uint64_t reserved_46_63:18; 1115 uint64_t reserved_46_63:18;
1887 uint64_t p1_bmode:1; 1116 uint64_t p1_bmode:1;
1888 uint64_t p0_bmode:1; 1117 uint64_t p0_bmode:1;
@@ -1906,35 +1135,9 @@ union cvmx_npi_output_control {
1906 uint64_t esr_sl0:2; 1135 uint64_t esr_sl0:2;
1907 uint64_t nsr_sl0:1; 1136 uint64_t nsr_sl0:1;
1908 uint64_t ror_sl0:1; 1137 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
1934 } cn31xx; 1138 } cn31xx;
1935 struct cvmx_npi_output_control_s cn38xx; 1139 struct cvmx_npi_output_control_s cn38xx;
1936 struct cvmx_npi_output_control_cn38xxp2 { 1140 struct cvmx_npi_output_control_cn38xxp2 {
1937#ifdef __BIG_ENDIAN_BITFIELD
1938 uint64_t reserved_48_63:16; 1141 uint64_t reserved_48_63:16;
1939 uint64_t p3_bmode:1; 1142 uint64_t p3_bmode:1;
1940 uint64_t p2_bmode:1; 1143 uint64_t p2_bmode:1;
@@ -1973,49 +1176,8 @@ union cvmx_npi_output_control {
1973 uint64_t esr_sl0:2; 1176 uint64_t esr_sl0:2;
1974 uint64_t nsr_sl0:1; 1177 uint64_t nsr_sl0:1;
1975 uint64_t ror_sl0:1; 1178 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
2016 } cn38xxp2; 1179 } cn38xxp2;
2017 struct cvmx_npi_output_control_cn50xx { 1180 struct cvmx_npi_output_control_cn50xx {
2018#ifdef __BIG_ENDIAN_BITFIELD
2019 uint64_t reserved_49_63:15; 1181 uint64_t reserved_49_63:15;
2020 uint64_t pkt_rr:1; 1182 uint64_t pkt_rr:1;
2021 uint64_t reserved_46_47:2; 1183 uint64_t reserved_46_47:2;
@@ -2041,33 +1203,6 @@ union cvmx_npi_output_control {
2041 uint64_t esr_sl0:2; 1203 uint64_t esr_sl0:2;
2042 uint64_t nsr_sl0:1; 1204 uint64_t nsr_sl0:1;
2043 uint64_t ror_sl0:1; 1205 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
2071 } cn50xx; 1206 } cn50xx;
2072 struct cvmx_npi_output_control_s cn58xx; 1207 struct cvmx_npi_output_control_s cn58xx;
2073 struct cvmx_npi_output_control_s cn58xxp1; 1208 struct cvmx_npi_output_control_s cn58xxp1;
@@ -2076,15 +1211,9 @@ union cvmx_npi_output_control {
2076union cvmx_npi_px_dbpair_addr { 1211union cvmx_npi_px_dbpair_addr {
2077 uint64_t u64; 1212 uint64_t u64;
2078 struct cvmx_npi_px_dbpair_addr_s { 1213 struct cvmx_npi_px_dbpair_addr_s {
2079#ifdef __BIG_ENDIAN_BITFIELD
2080 uint64_t reserved_63_63:1; 1214 uint64_t reserved_63_63:1;
2081 uint64_t state:2; 1215 uint64_t state:2;
2082 uint64_t naddr:61; 1216 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
2088 } s; 1217 } s;
2089 struct cvmx_npi_px_dbpair_addr_s cn30xx; 1218 struct cvmx_npi_px_dbpair_addr_s cn30xx;
2090 struct cvmx_npi_px_dbpair_addr_s cn31xx; 1219 struct cvmx_npi_px_dbpair_addr_s cn31xx;
@@ -2098,13 +1227,8 @@ union cvmx_npi_px_dbpair_addr {
2098union cvmx_npi_px_instr_addr { 1227union cvmx_npi_px_instr_addr {
2099 uint64_t u64; 1228 uint64_t u64;
2100 struct cvmx_npi_px_instr_addr_s { 1229 struct cvmx_npi_px_instr_addr_s {
2101#ifdef __BIG_ENDIAN_BITFIELD
2102 uint64_t state:3; 1230 uint64_t state:3;
2103 uint64_t naddr:61; 1231 uint64_t naddr:61;
2104#else
2105 uint64_t naddr:61;
2106 uint64_t state:3;
2107#endif
2108 } s; 1232 } s;
2109 struct cvmx_npi_px_instr_addr_s cn30xx; 1233 struct cvmx_npi_px_instr_addr_s cn30xx;
2110 struct cvmx_npi_px_instr_addr_s cn31xx; 1234 struct cvmx_npi_px_instr_addr_s cn31xx;
@@ -2118,15 +1242,9 @@ union cvmx_npi_px_instr_addr {
2118union cvmx_npi_px_instr_cnts { 1242union cvmx_npi_px_instr_cnts {
2119 uint64_t u64; 1243 uint64_t u64;
2120 struct cvmx_npi_px_instr_cnts_s { 1244 struct cvmx_npi_px_instr_cnts_s {
2121#ifdef __BIG_ENDIAN_BITFIELD
2122 uint64_t reserved_38_63:26; 1245 uint64_t reserved_38_63:26;
2123 uint64_t fcnt:6; 1246 uint64_t fcnt:6;
2124 uint64_t avail:32; 1247 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
2130 } s; 1248 } s;
2131 struct cvmx_npi_px_instr_cnts_s cn30xx; 1249 struct cvmx_npi_px_instr_cnts_s cn30xx;
2132 struct cvmx_npi_px_instr_cnts_s cn31xx; 1250 struct cvmx_npi_px_instr_cnts_s cn31xx;
@@ -2140,15 +1258,9 @@ union cvmx_npi_px_instr_cnts {
2140union cvmx_npi_px_pair_cnts { 1258union cvmx_npi_px_pair_cnts {
2141 uint64_t u64; 1259 uint64_t u64;
2142 struct cvmx_npi_px_pair_cnts_s { 1260 struct cvmx_npi_px_pair_cnts_s {
2143#ifdef __BIG_ENDIAN_BITFIELD
2144 uint64_t reserved_37_63:27; 1261 uint64_t reserved_37_63:27;
2145 uint64_t fcnt:5; 1262 uint64_t fcnt:5;
2146 uint64_t avail:32; 1263 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
2152 } s; 1264 } s;
2153 struct cvmx_npi_px_pair_cnts_s cn30xx; 1265 struct cvmx_npi_px_pair_cnts_s cn30xx;
2154 struct cvmx_npi_px_pair_cnts_s cn31xx; 1266 struct cvmx_npi_px_pair_cnts_s cn31xx;
@@ -2162,15 +1274,9 @@ union cvmx_npi_px_pair_cnts {
2162union cvmx_npi_pci_burst_size { 1274union cvmx_npi_pci_burst_size {
2163 uint64_t u64; 1275 uint64_t u64;
2164 struct cvmx_npi_pci_burst_size_s { 1276 struct cvmx_npi_pci_burst_size_s {
2165#ifdef __BIG_ENDIAN_BITFIELD
2166 uint64_t reserved_14_63:50; 1277 uint64_t reserved_14_63:50;
2167 uint64_t wr_brst:7; 1278 uint64_t wr_brst:7;
2168 uint64_t rd_brst:7; 1279 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
2174 } s; 1280 } s;
2175 struct cvmx_npi_pci_burst_size_s cn30xx; 1281 struct cvmx_npi_pci_burst_size_s cn30xx;
2176 struct cvmx_npi_pci_burst_size_s cn31xx; 1282 struct cvmx_npi_pci_burst_size_s cn31xx;
@@ -2184,7 +1290,6 @@ union cvmx_npi_pci_burst_size {
2184union cvmx_npi_pci_int_arb_cfg { 1290union cvmx_npi_pci_int_arb_cfg {
2185 uint64_t u64; 1291 uint64_t u64;
2186 struct cvmx_npi_pci_int_arb_cfg_s { 1292 struct cvmx_npi_pci_int_arb_cfg_s {
2187#ifdef __BIG_ENDIAN_BITFIELD
2188 uint64_t reserved_13_63:51; 1293 uint64_t reserved_13_63:51;
2189 uint64_t hostmode:1; 1294 uint64_t hostmode:1;
2190 uint64_t pci_ovr:4; 1295 uint64_t pci_ovr:4;
@@ -2192,28 +1297,12 @@ union cvmx_npi_pci_int_arb_cfg {
2192 uint64_t en:1; 1297 uint64_t en:1;
2193 uint64_t park_mod:1; 1298 uint64_t park_mod:1;
2194 uint64_t park_dev:3; 1299 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
2204 } s; 1300 } s;
2205 struct cvmx_npi_pci_int_arb_cfg_cn30xx { 1301 struct cvmx_npi_pci_int_arb_cfg_cn30xx {
2206#ifdef __BIG_ENDIAN_BITFIELD
2207 uint64_t reserved_5_63:59; 1302 uint64_t reserved_5_63:59;
2208 uint64_t en:1; 1303 uint64_t en:1;
2209 uint64_t park_mod:1; 1304 uint64_t park_mod:1;
2210 uint64_t park_dev:3; 1305 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
2217 } cn30xx; 1306 } cn30xx;
2218 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn31xx; 1307 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn31xx;
2219 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xx; 1308 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xx;
@@ -2226,13 +1315,8 @@ union cvmx_npi_pci_int_arb_cfg {
2226union cvmx_npi_pci_read_cmd { 1315union cvmx_npi_pci_read_cmd {
2227 uint64_t u64; 1316 uint64_t u64;
2228 struct cvmx_npi_pci_read_cmd_s { 1317 struct cvmx_npi_pci_read_cmd_s {
2229#ifdef __BIG_ENDIAN_BITFIELD
2230 uint64_t reserved_11_63:53; 1318 uint64_t reserved_11_63:53;
2231 uint64_t cmd_size:11; 1319 uint64_t cmd_size:11;
2232#else
2233 uint64_t cmd_size:11;
2234 uint64_t reserved_11_63:53;
2235#endif
2236 } s; 1320 } s;
2237 struct cvmx_npi_pci_read_cmd_s cn30xx; 1321 struct cvmx_npi_pci_read_cmd_s cn30xx;
2238 struct cvmx_npi_pci_read_cmd_s cn31xx; 1322 struct cvmx_npi_pci_read_cmd_s cn31xx;
@@ -2246,7 +1330,6 @@ union cvmx_npi_pci_read_cmd {
2246union cvmx_npi_port32_instr_hdr { 1330union cvmx_npi_port32_instr_hdr {
2247 uint64_t u64; 1331 uint64_t u64;
2248 struct cvmx_npi_port32_instr_hdr_s { 1332 struct cvmx_npi_port32_instr_hdr_s {
2249#ifdef __BIG_ENDIAN_BITFIELD
2250 uint64_t reserved_44_63:20; 1333 uint64_t reserved_44_63:20;
2251 uint64_t pbp:1; 1334 uint64_t pbp:1;
2252 uint64_t rsv_f:5; 1335 uint64_t rsv_f:5;
@@ -2260,21 +1343,6 @@ union cvmx_npi_port32_instr_hdr {
2260 uint64_t rsv_b:1; 1343 uint64_t rsv_b:1;
2261 uint64_t skp_len:7; 1344 uint64_t skp_len:7;
2262 uint64_t rsv_a:6; 1345 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
2278 } s; 1346 } s;
2279 struct cvmx_npi_port32_instr_hdr_s cn30xx; 1347 struct cvmx_npi_port32_instr_hdr_s cn30xx;
2280 struct cvmx_npi_port32_instr_hdr_s cn31xx; 1348 struct cvmx_npi_port32_instr_hdr_s cn31xx;
@@ -2288,7 +1356,6 @@ union cvmx_npi_port32_instr_hdr {
2288union cvmx_npi_port33_instr_hdr { 1356union cvmx_npi_port33_instr_hdr {
2289 uint64_t u64; 1357 uint64_t u64;
2290 struct cvmx_npi_port33_instr_hdr_s { 1358 struct cvmx_npi_port33_instr_hdr_s {
2291#ifdef __BIG_ENDIAN_BITFIELD
2292 uint64_t reserved_44_63:20; 1359 uint64_t reserved_44_63:20;
2293 uint64_t pbp:1; 1360 uint64_t pbp:1;
2294 uint64_t rsv_f:5; 1361 uint64_t rsv_f:5;
@@ -2302,21 +1369,6 @@ union cvmx_npi_port33_instr_hdr {
2302 uint64_t rsv_b:1; 1369 uint64_t rsv_b:1;
2303 uint64_t skp_len:7; 1370 uint64_t skp_len:7;
2304 uint64_t rsv_a:6; 1371 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
2320 } s; 1372 } s;
2321 struct cvmx_npi_port33_instr_hdr_s cn31xx; 1373 struct cvmx_npi_port33_instr_hdr_s cn31xx;
2322 struct cvmx_npi_port33_instr_hdr_s cn38xx; 1374 struct cvmx_npi_port33_instr_hdr_s cn38xx;
@@ -2329,7 +1381,6 @@ union cvmx_npi_port33_instr_hdr {
2329union cvmx_npi_port34_instr_hdr { 1381union cvmx_npi_port34_instr_hdr {
2330 uint64_t u64; 1382 uint64_t u64;
2331 struct cvmx_npi_port34_instr_hdr_s { 1383 struct cvmx_npi_port34_instr_hdr_s {
2332#ifdef __BIG_ENDIAN_BITFIELD
2333 uint64_t reserved_44_63:20; 1384 uint64_t reserved_44_63:20;
2334 uint64_t pbp:1; 1385 uint64_t pbp:1;
2335 uint64_t rsv_f:5; 1386 uint64_t rsv_f:5;
@@ -2343,21 +1394,6 @@ union cvmx_npi_port34_instr_hdr {
2343 uint64_t rsv_b:1; 1394 uint64_t rsv_b:1;
2344 uint64_t skp_len:7; 1395 uint64_t skp_len:7;
2345 uint64_t rsv_a:6; 1396 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
2361 } s; 1397 } s;
2362 struct cvmx_npi_port34_instr_hdr_s cn38xx; 1398 struct cvmx_npi_port34_instr_hdr_s cn38xx;
2363 struct cvmx_npi_port34_instr_hdr_s cn38xxp2; 1399 struct cvmx_npi_port34_instr_hdr_s cn38xxp2;
@@ -2368,7 +1404,6 @@ union cvmx_npi_port34_instr_hdr {
2368union cvmx_npi_port35_instr_hdr { 1404union cvmx_npi_port35_instr_hdr {
2369 uint64_t u64; 1405 uint64_t u64;
2370 struct cvmx_npi_port35_instr_hdr_s { 1406 struct cvmx_npi_port35_instr_hdr_s {
2371#ifdef __BIG_ENDIAN_BITFIELD
2372 uint64_t reserved_44_63:20; 1407 uint64_t reserved_44_63:20;
2373 uint64_t pbp:1; 1408 uint64_t pbp:1;
2374 uint64_t rsv_f:5; 1409 uint64_t rsv_f:5;
@@ -2382,21 +1417,6 @@ union cvmx_npi_port35_instr_hdr {
2382 uint64_t rsv_b:1; 1417 uint64_t rsv_b:1;
2383 uint64_t skp_len:7; 1418 uint64_t skp_len:7;
2384 uint64_t rsv_a:6; 1419 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
2400 } s; 1420 } s;
2401 struct cvmx_npi_port35_instr_hdr_s cn38xx; 1421 struct cvmx_npi_port35_instr_hdr_s cn38xx;
2402 struct cvmx_npi_port35_instr_hdr_s cn38xxp2; 1422 struct cvmx_npi_port35_instr_hdr_s cn38xxp2;
@@ -2407,15 +1427,9 @@ union cvmx_npi_port35_instr_hdr {
2407union cvmx_npi_port_bp_control { 1427union cvmx_npi_port_bp_control {
2408 uint64_t u64; 1428 uint64_t u64;
2409 struct cvmx_npi_port_bp_control_s { 1429 struct cvmx_npi_port_bp_control_s {
2410#ifdef __BIG_ENDIAN_BITFIELD
2411 uint64_t reserved_8_63:56; 1430 uint64_t reserved_8_63:56;
2412 uint64_t bp_on:4; 1431 uint64_t bp_on:4;
2413 uint64_t enb:4; 1432 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
2419 } s; 1433 } s;
2420 struct cvmx_npi_port_bp_control_s cn30xx; 1434 struct cvmx_npi_port_bp_control_s cn30xx;
2421 struct cvmx_npi_port_bp_control_s cn31xx; 1435 struct cvmx_npi_port_bp_control_s cn31xx;
@@ -2429,7 +1443,6 @@ union cvmx_npi_port_bp_control {
2429union cvmx_npi_rsl_int_blocks { 1443union cvmx_npi_rsl_int_blocks {
2430 uint64_t u64; 1444 uint64_t u64;
2431 struct cvmx_npi_rsl_int_blocks_s { 1445 struct cvmx_npi_rsl_int_blocks_s {
2432#ifdef __BIG_ENDIAN_BITFIELD
2433 uint64_t reserved_32_63:32; 1446 uint64_t reserved_32_63:32;
2434 uint64_t rint_31:1; 1447 uint64_t rint_31:1;
2435 uint64_t iob:1; 1448 uint64_t iob:1;
@@ -2461,42 +1474,8 @@ union cvmx_npi_rsl_int_blocks {
2461 uint64_t gmx1:1; 1474 uint64_t gmx1:1;
2462 uint64_t gmx0:1; 1475 uint64_t gmx0:1;
2463 uint64_t mio:1; 1476 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
2497 } s; 1477 } s;
2498 struct cvmx_npi_rsl_int_blocks_cn30xx { 1478 struct cvmx_npi_rsl_int_blocks_cn30xx {
2499#ifdef __BIG_ENDIAN_BITFIELD
2500 uint64_t reserved_32_63:32; 1479 uint64_t reserved_32_63:32;
2501 uint64_t rint_31:1; 1480 uint64_t rint_31:1;
2502 uint64_t iob:1; 1481 uint64_t iob:1;
@@ -2530,45 +1509,9 @@ union cvmx_npi_rsl_int_blocks {
2530 uint64_t gmx1:1; 1509 uint64_t gmx1:1;
2531 uint64_t gmx0:1; 1510 uint64_t gmx0:1;
2532 uint64_t mio:1; 1511 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
2568 } cn30xx; 1512 } cn30xx;
2569 struct cvmx_npi_rsl_int_blocks_cn30xx cn31xx; 1513 struct cvmx_npi_rsl_int_blocks_cn30xx cn31xx;
2570 struct cvmx_npi_rsl_int_blocks_cn38xx { 1514 struct cvmx_npi_rsl_int_blocks_cn38xx {
2571#ifdef __BIG_ENDIAN_BITFIELD
2572 uint64_t reserved_32_63:32; 1515 uint64_t reserved_32_63:32;
2573 uint64_t rint_31:1; 1516 uint64_t rint_31:1;
2574 uint64_t iob:1; 1517 uint64_t iob:1;
@@ -2602,45 +1545,9 @@ union cvmx_npi_rsl_int_blocks {
2602 uint64_t gmx1:1; 1545 uint64_t gmx1:1;
2603 uint64_t gmx0:1; 1546 uint64_t gmx0:1;
2604 uint64_t mio:1; 1547 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
2640 } cn38xx; 1548 } cn38xx;
2641 struct cvmx_npi_rsl_int_blocks_cn38xx cn38xxp2; 1549 struct cvmx_npi_rsl_int_blocks_cn38xx cn38xxp2;
2642 struct cvmx_npi_rsl_int_blocks_cn50xx { 1550 struct cvmx_npi_rsl_int_blocks_cn50xx {
2643#ifdef __BIG_ENDIAN_BITFIELD
2644 uint64_t reserved_31_63:33; 1551 uint64_t reserved_31_63:33;
2645 uint64_t iob:1; 1552 uint64_t iob:1;
2646 uint64_t lmc1:1; 1553 uint64_t lmc1:1;
@@ -2670,37 +1577,6 @@ union cvmx_npi_rsl_int_blocks {
2670 uint64_t gmx1:1; 1577 uint64_t gmx1:1;
2671 uint64_t gmx0:1; 1578 uint64_t gmx0:1;
2672 uint64_t mio:1; 1579 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
2704 } cn50xx; 1580 } cn50xx;
2705 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xx; 1581 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xx;
2706 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xxp1; 1582 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xxp1;
@@ -2709,13 +1585,8 @@ union cvmx_npi_rsl_int_blocks {
2709union cvmx_npi_size_inputx { 1585union cvmx_npi_size_inputx {
2710 uint64_t u64; 1586 uint64_t u64;
2711 struct cvmx_npi_size_inputx_s { 1587 struct cvmx_npi_size_inputx_s {
2712#ifdef __BIG_ENDIAN_BITFIELD
2713 uint64_t reserved_32_63:32; 1588 uint64_t reserved_32_63:32;
2714 uint64_t size:32; 1589 uint64_t size:32;
2715#else
2716 uint64_t size:32;
2717 uint64_t reserved_32_63:32;
2718#endif
2719 } s; 1590 } s;
2720 struct cvmx_npi_size_inputx_s cn30xx; 1591 struct cvmx_npi_size_inputx_s cn30xx;
2721 struct cvmx_npi_size_inputx_s cn31xx; 1592 struct cvmx_npi_size_inputx_s cn31xx;
@@ -2729,13 +1600,8 @@ union cvmx_npi_size_inputx {
2729union cvmx_npi_win_read_to { 1600union cvmx_npi_win_read_to {
2730 uint64_t u64; 1601 uint64_t u64;
2731 struct cvmx_npi_win_read_to_s { 1602 struct cvmx_npi_win_read_to_s {
2732#ifdef __BIG_ENDIAN_BITFIELD
2733 uint64_t reserved_32_63:32; 1603 uint64_t reserved_32_63:32;
2734 uint64_t time:32; 1604 uint64_t time:32;
2735#else
2736 uint64_t time:32;
2737 uint64_t reserved_32_63:32;
2738#endif
2739 } s; 1605 } s;
2740 struct cvmx_npi_win_read_to_s cn30xx; 1606 struct cvmx_npi_win_read_to_s cn30xx;
2741 struct cvmx_npi_win_read_to_s cn31xx; 1607 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 25d603f1829..6ff6d9d357b 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,19 +117,11 @@
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
121 uint32_t reserved_18_31:14; 120 uint32_t reserved_18_31:14;
122 uint32_t addr_idx:14; 121 uint32_t addr_idx:14;
123 uint32_t ca:1; 122 uint32_t ca:1;
124 uint32_t end_swp:2; 123 uint32_t end_swp:2;
125 uint32_t addr_v:1; 124 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
133 } s; 125 } s;
134 struct cvmx_pci_bar1_indexx_s cn30xx; 126 struct cvmx_pci_bar1_indexx_s cn30xx;
135 struct cvmx_pci_bar1_indexx_s cn31xx; 127 struct cvmx_pci_bar1_indexx_s cn31xx;
@@ -143,7 +135,6 @@ union cvmx_pci_bar1_indexx {
143union cvmx_pci_bist_reg { 135union cvmx_pci_bist_reg {
144 uint64_t u64; 136 uint64_t u64;
145 struct cvmx_pci_bist_reg_s { 137 struct cvmx_pci_bist_reg_s {
146#ifdef __BIG_ENDIAN_BITFIELD
147 uint64_t reserved_10_63:54; 138 uint64_t reserved_10_63:54;
148 uint64_t rsp_bs:1; 139 uint64_t rsp_bs:1;
149 uint64_t dma0_bs:1; 140 uint64_t dma0_bs:1;
@@ -155,19 +146,6 @@ union cvmx_pci_bist_reg {
155 uint64_t csr2n_bs:1; 146 uint64_t csr2n_bs:1;
156 uint64_t dat2n_bs:1; 147 uint64_t dat2n_bs:1;
157 uint64_t dbg2n_bs:1; 148 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
171 } s; 149 } s;
172 struct cvmx_pci_bist_reg_s cn50xx; 150 struct cvmx_pci_bist_reg_s cn50xx;
173}; 151};
@@ -175,13 +153,8 @@ union cvmx_pci_bist_reg {
175union cvmx_pci_cfg00 { 153union cvmx_pci_cfg00 {
176 uint32_t u32; 154 uint32_t u32;
177 struct cvmx_pci_cfg00_s { 155 struct cvmx_pci_cfg00_s {
178#ifdef __BIG_ENDIAN_BITFIELD
179 uint32_t devid:16; 156 uint32_t devid:16;
180 uint32_t vendid:16; 157 uint32_t vendid:16;
181#else
182 uint32_t vendid:16;
183 uint32_t devid:16;
184#endif
185 } s; 158 } s;
186 struct cvmx_pci_cfg00_s cn30xx; 159 struct cvmx_pci_cfg00_s cn30xx;
187 struct cvmx_pci_cfg00_s cn31xx; 160 struct cvmx_pci_cfg00_s cn31xx;
@@ -195,7 +168,6 @@ union cvmx_pci_cfg00 {
195union cvmx_pci_cfg01 { 168union cvmx_pci_cfg01 {
196 uint32_t u32; 169 uint32_t u32;
197 struct cvmx_pci_cfg01_s { 170 struct cvmx_pci_cfg01_s {
198#ifdef __BIG_ENDIAN_BITFIELD
199 uint32_t dpe:1; 171 uint32_t dpe:1;
200 uint32_t sse:1; 172 uint32_t sse:1;
201 uint32_t rma:1; 173 uint32_t rma:1;
@@ -220,32 +192,6 @@ union cvmx_pci_cfg01 {
220 uint32_t me:1; 192 uint32_t me:1;
221 uint32_t msae:1; 193 uint32_t msae:1;
222 uint32_t isae:1; 194 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
249 } s; 195 } s;
250 struct cvmx_pci_cfg01_s cn30xx; 196 struct cvmx_pci_cfg01_s cn30xx;
251 struct cvmx_pci_cfg01_s cn31xx; 197 struct cvmx_pci_cfg01_s cn31xx;
@@ -259,13 +205,8 @@ union cvmx_pci_cfg01 {
259union cvmx_pci_cfg02 { 205union cvmx_pci_cfg02 {
260 uint32_t u32; 206 uint32_t u32;
261 struct cvmx_pci_cfg02_s { 207 struct cvmx_pci_cfg02_s {
262#ifdef __BIG_ENDIAN_BITFIELD
263 uint32_t cc:24; 208 uint32_t cc:24;
264 uint32_t rid:8; 209 uint32_t rid:8;
265#else
266 uint32_t rid:8;
267 uint32_t cc:24;
268#endif
269 } s; 210 } s;
270 struct cvmx_pci_cfg02_s cn30xx; 211 struct cvmx_pci_cfg02_s cn30xx;
271 struct cvmx_pci_cfg02_s cn31xx; 212 struct cvmx_pci_cfg02_s cn31xx;
@@ -279,7 +220,6 @@ union cvmx_pci_cfg02 {
279union cvmx_pci_cfg03 { 220union cvmx_pci_cfg03 {
280 uint32_t u32; 221 uint32_t u32;
281 struct cvmx_pci_cfg03_s { 222 struct cvmx_pci_cfg03_s {
282#ifdef __BIG_ENDIAN_BITFIELD
283 uint32_t bcap:1; 223 uint32_t bcap:1;
284 uint32_t brb:1; 224 uint32_t brb:1;
285 uint32_t reserved_28_29:2; 225 uint32_t reserved_28_29:2;
@@ -287,15 +227,6 @@ union cvmx_pci_cfg03 {
287 uint32_t ht:8; 227 uint32_t ht:8;
288 uint32_t lt:8; 228 uint32_t lt:8;
289 uint32_t cls:8; 229 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
299 } s; 230 } s;
300 struct cvmx_pci_cfg03_s cn30xx; 231 struct cvmx_pci_cfg03_s cn30xx;
301 struct cvmx_pci_cfg03_s cn31xx; 232 struct cvmx_pci_cfg03_s cn31xx;
@@ -309,19 +240,11 @@ union cvmx_pci_cfg03 {
309union cvmx_pci_cfg04 { 240union cvmx_pci_cfg04 {
310 uint32_t u32; 241 uint32_t u32;
311 struct cvmx_pci_cfg04_s { 242 struct cvmx_pci_cfg04_s {
312#ifdef __BIG_ENDIAN_BITFIELD
313 uint32_t lbase:20; 243 uint32_t lbase:20;
314 uint32_t lbasez:8; 244 uint32_t lbasez:8;
315 uint32_t pf:1; 245 uint32_t pf:1;
316 uint32_t typ:2; 246 uint32_t typ:2;
317 uint32_t mspc:1; 247 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
325 } s; 248 } s;
326 struct cvmx_pci_cfg04_s cn30xx; 249 struct cvmx_pci_cfg04_s cn30xx;
327 struct cvmx_pci_cfg04_s cn31xx; 250 struct cvmx_pci_cfg04_s cn31xx;
@@ -335,11 +258,7 @@ union cvmx_pci_cfg04 {
335union cvmx_pci_cfg05 { 258union cvmx_pci_cfg05 {
336 uint32_t u32; 259 uint32_t u32;
337 struct cvmx_pci_cfg05_s { 260 struct cvmx_pci_cfg05_s {
338#ifdef __BIG_ENDIAN_BITFIELD
339 uint32_t hbase:32;
340#else
341 uint32_t hbase:32; 261 uint32_t hbase:32;
342#endif
343 } s; 262 } s;
344 struct cvmx_pci_cfg05_s cn30xx; 263 struct cvmx_pci_cfg05_s cn30xx;
345 struct cvmx_pci_cfg05_s cn31xx; 264 struct cvmx_pci_cfg05_s cn31xx;
@@ -353,19 +272,11 @@ union cvmx_pci_cfg05 {
353union cvmx_pci_cfg06 { 272union cvmx_pci_cfg06 {
354 uint32_t u32; 273 uint32_t u32;
355 struct cvmx_pci_cfg06_s { 274 struct cvmx_pci_cfg06_s {
356#ifdef __BIG_ENDIAN_BITFIELD
357 uint32_t lbase:5; 275 uint32_t lbase:5;
358 uint32_t lbasez:23; 276 uint32_t lbasez:23;
359 uint32_t pf:1; 277 uint32_t pf:1;
360 uint32_t typ:2; 278 uint32_t typ:2;
361 uint32_t mspc:1; 279 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
369 } s; 280 } s;
370 struct cvmx_pci_cfg06_s cn30xx; 281 struct cvmx_pci_cfg06_s cn30xx;
371 struct cvmx_pci_cfg06_s cn31xx; 282 struct cvmx_pci_cfg06_s cn31xx;
@@ -379,11 +290,7 @@ union cvmx_pci_cfg06 {
379union cvmx_pci_cfg07 { 290union cvmx_pci_cfg07 {
380 uint32_t u32; 291 uint32_t u32;
381 struct cvmx_pci_cfg07_s { 292 struct cvmx_pci_cfg07_s {
382#ifdef __BIG_ENDIAN_BITFIELD
383 uint32_t hbase:32;
384#else
385 uint32_t hbase:32; 293 uint32_t hbase:32;
386#endif
387 } s; 294 } s;
388 struct cvmx_pci_cfg07_s cn30xx; 295 struct cvmx_pci_cfg07_s cn30xx;
389 struct cvmx_pci_cfg07_s cn31xx; 296 struct cvmx_pci_cfg07_s cn31xx;
@@ -397,17 +304,10 @@ union cvmx_pci_cfg07 {
397union cvmx_pci_cfg08 { 304union cvmx_pci_cfg08 {
398 uint32_t u32; 305 uint32_t u32;
399 struct cvmx_pci_cfg08_s { 306 struct cvmx_pci_cfg08_s {
400#ifdef __BIG_ENDIAN_BITFIELD
401 uint32_t lbasez:28; 307 uint32_t lbasez:28;
402 uint32_t pf:1; 308 uint32_t pf:1;
403 uint32_t typ:2; 309 uint32_t typ:2;
404 uint32_t mspc:1; 310 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
411 } s; 311 } s;
412 struct cvmx_pci_cfg08_s cn30xx; 312 struct cvmx_pci_cfg08_s cn30xx;
413 struct cvmx_pci_cfg08_s cn31xx; 313 struct cvmx_pci_cfg08_s cn31xx;
@@ -421,13 +321,8 @@ union cvmx_pci_cfg08 {
421union cvmx_pci_cfg09 { 321union cvmx_pci_cfg09 {
422 uint32_t u32; 322 uint32_t u32;
423 struct cvmx_pci_cfg09_s { 323 struct cvmx_pci_cfg09_s {
424#ifdef __BIG_ENDIAN_BITFIELD
425 uint32_t hbase:25; 324 uint32_t hbase:25;
426 uint32_t hbasez:7; 325 uint32_t hbasez:7;
427#else
428 uint32_t hbasez:7;
429 uint32_t hbase:25;
430#endif
431 } s; 326 } s;
432 struct cvmx_pci_cfg09_s cn30xx; 327 struct cvmx_pci_cfg09_s cn30xx;
433 struct cvmx_pci_cfg09_s cn31xx; 328 struct cvmx_pci_cfg09_s cn31xx;
@@ -441,11 +336,7 @@ union cvmx_pci_cfg09 {
441union cvmx_pci_cfg10 { 336union cvmx_pci_cfg10 {
442 uint32_t u32; 337 uint32_t u32;
443 struct cvmx_pci_cfg10_s { 338 struct cvmx_pci_cfg10_s {
444#ifdef __BIG_ENDIAN_BITFIELD
445 uint32_t cisp:32;
446#else
447 uint32_t cisp:32; 339 uint32_t cisp:32;
448#endif
449 } s; 340 } s;
450 struct cvmx_pci_cfg10_s cn30xx; 341 struct cvmx_pci_cfg10_s cn30xx;
451 struct cvmx_pci_cfg10_s cn31xx; 342 struct cvmx_pci_cfg10_s cn31xx;
@@ -459,13 +350,8 @@ union cvmx_pci_cfg10 {
459union cvmx_pci_cfg11 { 350union cvmx_pci_cfg11 {
460 uint32_t u32; 351 uint32_t u32;
461 struct cvmx_pci_cfg11_s { 352 struct cvmx_pci_cfg11_s {
462#ifdef __BIG_ENDIAN_BITFIELD
463 uint32_t ssid:16; 353 uint32_t ssid:16;
464 uint32_t ssvid:16; 354 uint32_t ssvid:16;
465#else
466 uint32_t ssvid:16;
467 uint32_t ssid:16;
468#endif
469 } s; 355 } s;
470 struct cvmx_pci_cfg11_s cn30xx; 356 struct cvmx_pci_cfg11_s cn30xx;
471 struct cvmx_pci_cfg11_s cn31xx; 357 struct cvmx_pci_cfg11_s cn31xx;
@@ -479,17 +365,10 @@ union cvmx_pci_cfg11 {
479union cvmx_pci_cfg12 { 365union cvmx_pci_cfg12 {
480 uint32_t u32; 366 uint32_t u32;
481 struct cvmx_pci_cfg12_s { 367 struct cvmx_pci_cfg12_s {
482#ifdef __BIG_ENDIAN_BITFIELD
483 uint32_t erbar:16; 368 uint32_t erbar:16;
484 uint32_t erbarz:5; 369 uint32_t erbarz:5;
485 uint32_t reserved_1_10:10; 370 uint32_t reserved_1_10:10;
486 uint32_t erbar_en:1; 371 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
493 } s; 372 } s;
494 struct cvmx_pci_cfg12_s cn30xx; 373 struct cvmx_pci_cfg12_s cn30xx;
495 struct cvmx_pci_cfg12_s cn31xx; 374 struct cvmx_pci_cfg12_s cn31xx;
@@ -503,13 +382,8 @@ union cvmx_pci_cfg12 {
503union cvmx_pci_cfg13 { 382union cvmx_pci_cfg13 {
504 uint32_t u32; 383 uint32_t u32;
505 struct cvmx_pci_cfg13_s { 384 struct cvmx_pci_cfg13_s {
506#ifdef __BIG_ENDIAN_BITFIELD
507 uint32_t reserved_8_31:24; 385 uint32_t reserved_8_31:24;
508 uint32_t cp:8; 386 uint32_t cp:8;
509#else
510 uint32_t cp:8;
511 uint32_t reserved_8_31:24;
512#endif
513 } s; 387 } s;
514 struct cvmx_pci_cfg13_s cn30xx; 388 struct cvmx_pci_cfg13_s cn30xx;
515 struct cvmx_pci_cfg13_s cn31xx; 389 struct cvmx_pci_cfg13_s cn31xx;
@@ -523,17 +397,10 @@ union cvmx_pci_cfg13 {
523union cvmx_pci_cfg15 { 397union cvmx_pci_cfg15 {
524 uint32_t u32; 398 uint32_t u32;
525 struct cvmx_pci_cfg15_s { 399 struct cvmx_pci_cfg15_s {
526#ifdef __BIG_ENDIAN_BITFIELD
527 uint32_t ml:8; 400 uint32_t ml:8;
528 uint32_t mg:8; 401 uint32_t mg:8;
529 uint32_t inta:8; 402 uint32_t inta:8;
530 uint32_t il:8; 403 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
537 } s; 404 } s;
538 struct cvmx_pci_cfg15_s cn30xx; 405 struct cvmx_pci_cfg15_s cn30xx;
539 struct cvmx_pci_cfg15_s cn31xx; 406 struct cvmx_pci_cfg15_s cn31xx;
@@ -547,7 +414,6 @@ union cvmx_pci_cfg15 {
547union cvmx_pci_cfg16 { 414union cvmx_pci_cfg16 {
548 uint32_t u32; 415 uint32_t u32;
549 struct cvmx_pci_cfg16_s { 416 struct cvmx_pci_cfg16_s {
550#ifdef __BIG_ENDIAN_BITFIELD
551 uint32_t trdnpr:1; 417 uint32_t trdnpr:1;
552 uint32_t trdard:1; 418 uint32_t trdard:1;
553 uint32_t rdsati:1; 419 uint32_t rdsati:1;
@@ -564,24 +430,6 @@ union cvmx_pci_cfg16 {
564 uint32_t reserved_2_2:1; 430 uint32_t reserved_2_2:1;
565 uint32_t tswc:1; 431 uint32_t tswc:1;
566 uint32_t mltd:1; 432 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
585 } s; 433 } s;
586 struct cvmx_pci_cfg16_s cn30xx; 434 struct cvmx_pci_cfg16_s cn30xx;
587 struct cvmx_pci_cfg16_s cn31xx; 435 struct cvmx_pci_cfg16_s cn31xx;
@@ -595,11 +443,7 @@ union cvmx_pci_cfg16 {
595union cvmx_pci_cfg17 { 443union cvmx_pci_cfg17 {
596 uint32_t u32; 444 uint32_t u32;
597 struct cvmx_pci_cfg17_s { 445 struct cvmx_pci_cfg17_s {
598#ifdef __BIG_ENDIAN_BITFIELD
599 uint32_t tscme:32; 446 uint32_t tscme:32;
600#else
601 uint32_t tscme:32;
602#endif
603 } s; 447 } s;
604 struct cvmx_pci_cfg17_s cn30xx; 448 struct cvmx_pci_cfg17_s cn30xx;
605 struct cvmx_pci_cfg17_s cn31xx; 449 struct cvmx_pci_cfg17_s cn31xx;
@@ -613,11 +457,7 @@ union cvmx_pci_cfg17 {
613union cvmx_pci_cfg18 { 457union cvmx_pci_cfg18 {
614 uint32_t u32; 458 uint32_t u32;
615 struct cvmx_pci_cfg18_s { 459 struct cvmx_pci_cfg18_s {
616#ifdef __BIG_ENDIAN_BITFIELD
617 uint32_t tdsrps:32;
618#else
619 uint32_t tdsrps:32; 460 uint32_t tdsrps:32;
620#endif
621 } s; 461 } s;
622 struct cvmx_pci_cfg18_s cn30xx; 462 struct cvmx_pci_cfg18_s cn30xx;
623 struct cvmx_pci_cfg18_s cn31xx; 463 struct cvmx_pci_cfg18_s cn31xx;
@@ -631,7 +471,6 @@ union cvmx_pci_cfg18 {
631union cvmx_pci_cfg19 { 471union cvmx_pci_cfg19 {
632 uint32_t u32; 472 uint32_t u32;
633 struct cvmx_pci_cfg19_s { 473 struct cvmx_pci_cfg19_s {
634#ifdef __BIG_ENDIAN_BITFIELD
635 uint32_t mrbcm:1; 474 uint32_t mrbcm:1;
636 uint32_t mrbci:1; 475 uint32_t mrbci:1;
637 uint32_t mdwe:1; 476 uint32_t mdwe:1;
@@ -650,26 +489,6 @@ union cvmx_pci_cfg19 {
650 uint32_t reserved_6_6:1; 489 uint32_t reserved_6_6:1;
651 uint32_t tidomc:1; 490 uint32_t tidomc:1;
652 uint32_t tdomc:5; 491 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
673 } s; 492 } s;
674 struct cvmx_pci_cfg19_s cn30xx; 493 struct cvmx_pci_cfg19_s cn30xx;
675 struct cvmx_pci_cfg19_s cn31xx; 494 struct cvmx_pci_cfg19_s cn31xx;
@@ -683,11 +502,7 @@ union cvmx_pci_cfg19 {
683union cvmx_pci_cfg20 { 502union cvmx_pci_cfg20 {
684 uint32_t u32; 503 uint32_t u32;
685 struct cvmx_pci_cfg20_s { 504 struct cvmx_pci_cfg20_s {
686#ifdef __BIG_ENDIAN_BITFIELD
687 uint32_t mdsp:32; 505 uint32_t mdsp:32;
688#else
689 uint32_t mdsp:32;
690#endif
691 } s; 506 } s;
692 struct cvmx_pci_cfg20_s cn30xx; 507 struct cvmx_pci_cfg20_s cn30xx;
693 struct cvmx_pci_cfg20_s cn31xx; 508 struct cvmx_pci_cfg20_s cn31xx;
@@ -701,11 +516,7 @@ union cvmx_pci_cfg20 {
701union cvmx_pci_cfg21 { 516union cvmx_pci_cfg21 {
702 uint32_t u32; 517 uint32_t u32;
703 struct cvmx_pci_cfg21_s { 518 struct cvmx_pci_cfg21_s {
704#ifdef __BIG_ENDIAN_BITFIELD
705 uint32_t scmre:32;
706#else
707 uint32_t scmre:32; 519 uint32_t scmre:32;
708#endif
709 } s; 520 } s;
710 struct cvmx_pci_cfg21_s cn30xx; 521 struct cvmx_pci_cfg21_s cn30xx;
711 struct cvmx_pci_cfg21_s cn31xx; 522 struct cvmx_pci_cfg21_s cn31xx;
@@ -719,7 +530,6 @@ union cvmx_pci_cfg21 {
719union cvmx_pci_cfg22 { 530union cvmx_pci_cfg22 {
720 uint32_t u32; 531 uint32_t u32;
721 struct cvmx_pci_cfg22_s { 532 struct cvmx_pci_cfg22_s {
722#ifdef __BIG_ENDIAN_BITFIELD
723 uint32_t mac:7; 533 uint32_t mac:7;
724 uint32_t reserved_19_24:6; 534 uint32_t reserved_19_24:6;
725 uint32_t flush:1; 535 uint32_t flush:1;
@@ -727,15 +537,6 @@ union cvmx_pci_cfg22 {
727 uint32_t mtta:1; 537 uint32_t mtta:1;
728 uint32_t mrv:8; 538 uint32_t mrv:8;
729 uint32_t mttv:8; 539 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
739 } s; 540 } s;
740 struct cvmx_pci_cfg22_s cn30xx; 541 struct cvmx_pci_cfg22_s cn30xx;
741 struct cvmx_pci_cfg22_s cn31xx; 542 struct cvmx_pci_cfg22_s cn31xx;
@@ -749,7 +550,6 @@ union cvmx_pci_cfg22 {
749union cvmx_pci_cfg56 { 550union cvmx_pci_cfg56 {
750 uint32_t u32; 551 uint32_t u32;
751 struct cvmx_pci_cfg56_s { 552 struct cvmx_pci_cfg56_s {
752#ifdef __BIG_ENDIAN_BITFIELD
753 uint32_t reserved_23_31:9; 553 uint32_t reserved_23_31:9;
754 uint32_t most:3; 554 uint32_t most:3;
755 uint32_t mmbc:2; 555 uint32_t mmbc:2;
@@ -757,15 +557,6 @@ union cvmx_pci_cfg56 {
757 uint32_t dpere:1; 557 uint32_t dpere:1;
758 uint32_t ncp:8; 558 uint32_t ncp:8;
759 uint32_t pxcid:8; 559 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
769 } s; 560 } s;
770 struct cvmx_pci_cfg56_s cn30xx; 561 struct cvmx_pci_cfg56_s cn30xx;
771 struct cvmx_pci_cfg56_s cn31xx; 562 struct cvmx_pci_cfg56_s cn31xx;
@@ -779,7 +570,6 @@ union cvmx_pci_cfg56 {
779union cvmx_pci_cfg57 { 570union cvmx_pci_cfg57 {
780 uint32_t u32; 571 uint32_t u32;
781 struct cvmx_pci_cfg57_s { 572 struct cvmx_pci_cfg57_s {
782#ifdef __BIG_ENDIAN_BITFIELD
783 uint32_t reserved_30_31:2; 573 uint32_t reserved_30_31:2;
784 uint32_t scemr:1; 574 uint32_t scemr:1;
785 uint32_t mcrsd:3; 575 uint32_t mcrsd:3;
@@ -793,21 +583,6 @@ union cvmx_pci_cfg57 {
793 uint32_t bn:8; 583 uint32_t bn:8;
794 uint32_t dn:5; 584 uint32_t dn:5;
795 uint32_t fn:3; 585 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
811 } s; 586 } s;
812 struct cvmx_pci_cfg57_s cn30xx; 587 struct cvmx_pci_cfg57_s cn30xx;
813 struct cvmx_pci_cfg57_s cn31xx; 588 struct cvmx_pci_cfg57_s cn31xx;
@@ -821,7 +596,6 @@ union cvmx_pci_cfg57 {
821union cvmx_pci_cfg58 { 596union cvmx_pci_cfg58 {
822 uint32_t u32; 597 uint32_t u32;
823 struct cvmx_pci_cfg58_s { 598 struct cvmx_pci_cfg58_s {
824#ifdef __BIG_ENDIAN_BITFIELD
825 uint32_t pmes:5; 599 uint32_t pmes:5;
826 uint32_t d2s:1; 600 uint32_t d2s:1;
827 uint32_t d1s:1; 601 uint32_t d1s:1;
@@ -832,18 +606,6 @@ union cvmx_pci_cfg58 {
832 uint32_t pcimiv:3; 606 uint32_t pcimiv:3;
833 uint32_t ncp:8; 607 uint32_t ncp:8;
834 uint32_t pmcid:8; 608 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
847 } s; 609 } s;
848 struct cvmx_pci_cfg58_s cn30xx; 610 struct cvmx_pci_cfg58_s cn30xx;
849 struct cvmx_pci_cfg58_s cn31xx; 611 struct cvmx_pci_cfg58_s cn31xx;
@@ -857,7 +619,6 @@ union cvmx_pci_cfg58 {
857union cvmx_pci_cfg59 { 619union cvmx_pci_cfg59 {
858 uint32_t u32; 620 uint32_t u32;
859 struct cvmx_pci_cfg59_s { 621 struct cvmx_pci_cfg59_s {
860#ifdef __BIG_ENDIAN_BITFIELD
861 uint32_t pmdia:8; 622 uint32_t pmdia:8;
862 uint32_t bpccen:1; 623 uint32_t bpccen:1;
863 uint32_t bd3h:1; 624 uint32_t bd3h:1;
@@ -868,18 +629,6 @@ union cvmx_pci_cfg59 {
868 uint32_t pmeens:1; 629 uint32_t pmeens:1;
869 uint32_t reserved_2_7:6; 630 uint32_t reserved_2_7:6;
870 uint32_t ps:2; 631 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
883 } s; 632 } s;
884 struct cvmx_pci_cfg59_s cn30xx; 633 struct cvmx_pci_cfg59_s cn30xx;
885 struct cvmx_pci_cfg59_s cn31xx; 634 struct cvmx_pci_cfg59_s cn31xx;
@@ -893,7 +642,6 @@ union cvmx_pci_cfg59 {
893union cvmx_pci_cfg60 { 642union cvmx_pci_cfg60 {
894 uint32_t u32; 643 uint32_t u32;
895 struct cvmx_pci_cfg60_s { 644 struct cvmx_pci_cfg60_s {
896#ifdef __BIG_ENDIAN_BITFIELD
897 uint32_t reserved_24_31:8; 645 uint32_t reserved_24_31:8;
898 uint32_t m64:1; 646 uint32_t m64:1;
899 uint32_t mme:3; 647 uint32_t mme:3;
@@ -901,15 +649,6 @@ union cvmx_pci_cfg60 {
901 uint32_t msien:1; 649 uint32_t msien:1;
902 uint32_t ncp:8; 650 uint32_t ncp:8;
903 uint32_t msicid:8; 651 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
913 } s; 652 } s;
914 struct cvmx_pci_cfg60_s cn30xx; 653 struct cvmx_pci_cfg60_s cn30xx;
915 struct cvmx_pci_cfg60_s cn31xx; 654 struct cvmx_pci_cfg60_s cn31xx;
@@ -923,13 +662,8 @@ union cvmx_pci_cfg60 {
923union cvmx_pci_cfg61 { 662union cvmx_pci_cfg61 {
924 uint32_t u32; 663 uint32_t u32;
925 struct cvmx_pci_cfg61_s { 664 struct cvmx_pci_cfg61_s {
926#ifdef __BIG_ENDIAN_BITFIELD
927 uint32_t msi31t2:30; 665 uint32_t msi31t2:30;
928 uint32_t reserved_0_1:2; 666 uint32_t reserved_0_1:2;
929#else
930 uint32_t reserved_0_1:2;
931 uint32_t msi31t2:30;
932#endif
933 } s; 667 } s;
934 struct cvmx_pci_cfg61_s cn30xx; 668 struct cvmx_pci_cfg61_s cn30xx;
935 struct cvmx_pci_cfg61_s cn31xx; 669 struct cvmx_pci_cfg61_s cn31xx;
@@ -943,11 +677,7 @@ union cvmx_pci_cfg61 {
943union cvmx_pci_cfg62 { 677union cvmx_pci_cfg62 {
944 uint32_t u32; 678 uint32_t u32;
945 struct cvmx_pci_cfg62_s { 679 struct cvmx_pci_cfg62_s {
946#ifdef __BIG_ENDIAN_BITFIELD
947 uint32_t msi:32; 680 uint32_t msi:32;
948#else
949 uint32_t msi:32;
950#endif
951 } s; 681 } s;
952 struct cvmx_pci_cfg62_s cn30xx; 682 struct cvmx_pci_cfg62_s cn30xx;
953 struct cvmx_pci_cfg62_s cn31xx; 683 struct cvmx_pci_cfg62_s cn31xx;
@@ -961,13 +691,8 @@ union cvmx_pci_cfg62 {
961union cvmx_pci_cfg63 { 691union cvmx_pci_cfg63 {
962 uint32_t u32; 692 uint32_t u32;
963 struct cvmx_pci_cfg63_s { 693 struct cvmx_pci_cfg63_s {
964#ifdef __BIG_ENDIAN_BITFIELD
965 uint32_t reserved_16_31:16; 694 uint32_t reserved_16_31:16;
966 uint32_t msimd:16; 695 uint32_t msimd:16;
967#else
968 uint32_t msimd:16;
969 uint32_t reserved_16_31:16;
970#endif
971 } s; 696 } s;
972 struct cvmx_pci_cfg63_s cn30xx; 697 struct cvmx_pci_cfg63_s cn30xx;
973 struct cvmx_pci_cfg63_s cn31xx; 698 struct cvmx_pci_cfg63_s cn31xx;
@@ -981,21 +706,12 @@ union cvmx_pci_cfg63 {
981union cvmx_pci_cnt_reg { 706union cvmx_pci_cnt_reg {
982 uint64_t u64; 707 uint64_t u64;
983 struct cvmx_pci_cnt_reg_s { 708 struct cvmx_pci_cnt_reg_s {
984#ifdef __BIG_ENDIAN_BITFIELD
985 uint64_t reserved_38_63:26; 709 uint64_t reserved_38_63:26;
986 uint64_t hm_pcix:1; 710 uint64_t hm_pcix:1;
987 uint64_t hm_speed:2; 711 uint64_t hm_speed:2;
988 uint64_t ap_pcix:1; 712 uint64_t ap_pcix:1;
989 uint64_t ap_speed:2; 713 uint64_t ap_speed:2;
990 uint64_t pcicnt:32; 714 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
999 } s; 715 } s;
1000 struct cvmx_pci_cnt_reg_s cn50xx; 716 struct cvmx_pci_cnt_reg_s cn50xx;
1001 struct cvmx_pci_cnt_reg_s cn58xx; 717 struct cvmx_pci_cnt_reg_s cn58xx;
@@ -1005,7 +721,6 @@ union cvmx_pci_cnt_reg {
1005union cvmx_pci_ctl_status_2 { 721union cvmx_pci_ctl_status_2 {
1006 uint32_t u32; 722 uint32_t u32;
1007 struct cvmx_pci_ctl_status_2_s { 723 struct cvmx_pci_ctl_status_2_s {
1008#ifdef __BIG_ENDIAN_BITFIELD
1009 uint32_t reserved_29_31:3; 724 uint32_t reserved_29_31:3;
1010 uint32_t bb1_hole:3; 725 uint32_t bb1_hole:3;
1011 uint32_t bb1_siz:1; 726 uint32_t bb1_siz:1;
@@ -1028,34 +743,9 @@ union cvmx_pci_ctl_status_2 {
1028 uint32_t bar2_enb:1; 743 uint32_t bar2_enb:1;
1029 uint32_t bar2_esx:2; 744 uint32_t bar2_esx:2;
1030 uint32_t bar2_cax:1; 745 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
1055 } s; 746 } s;
1056 struct cvmx_pci_ctl_status_2_s cn30xx; 747 struct cvmx_pci_ctl_status_2_s cn30xx;
1057 struct cvmx_pci_ctl_status_2_cn31xx { 748 struct cvmx_pci_ctl_status_2_cn31xx {
1058#ifdef __BIG_ENDIAN_BITFIELD
1059 uint32_t reserved_20_31:12; 749 uint32_t reserved_20_31:12;
1060 uint32_t erst_n:1; 750 uint32_t erst_n:1;
1061 uint32_t bar2pres:1; 751 uint32_t bar2pres:1;
@@ -1072,24 +762,6 @@ union cvmx_pci_ctl_status_2 {
1072 uint32_t bar2_enb:1; 762 uint32_t bar2_enb:1;
1073 uint32_t bar2_esx:2; 763 uint32_t bar2_esx:2;
1074 uint32_t bar2_cax:1; 764 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
1093 } cn31xx; 765 } cn31xx;
1094 struct cvmx_pci_ctl_status_2_s cn38xx; 766 struct cvmx_pci_ctl_status_2_s cn38xx;
1095 struct cvmx_pci_ctl_status_2_cn31xx cn38xxp2; 767 struct cvmx_pci_ctl_status_2_cn31xx cn38xxp2;
@@ -1101,13 +773,8 @@ union cvmx_pci_ctl_status_2 {
1101union cvmx_pci_dbellx { 773union cvmx_pci_dbellx {
1102 uint32_t u32; 774 uint32_t u32;
1103 struct cvmx_pci_dbellx_s { 775 struct cvmx_pci_dbellx_s {
1104#ifdef __BIG_ENDIAN_BITFIELD
1105 uint32_t reserved_16_31:16; 776 uint32_t reserved_16_31:16;
1106 uint32_t inc_val:16; 777 uint32_t inc_val:16;
1107#else
1108 uint32_t inc_val:16;
1109 uint32_t reserved_16_31:16;
1110#endif
1111 } s; 778 } s;
1112 struct cvmx_pci_dbellx_s cn30xx; 779 struct cvmx_pci_dbellx_s cn30xx;
1113 struct cvmx_pci_dbellx_s cn31xx; 780 struct cvmx_pci_dbellx_s cn31xx;
@@ -1121,11 +788,7 @@ union cvmx_pci_dbellx {
1121union cvmx_pci_dma_cntx { 788union cvmx_pci_dma_cntx {
1122 uint32_t u32; 789 uint32_t u32;
1123 struct cvmx_pci_dma_cntx_s { 790 struct cvmx_pci_dma_cntx_s {
1124#ifdef __BIG_ENDIAN_BITFIELD
1125 uint32_t dma_cnt:32;
1126#else
1127 uint32_t dma_cnt:32; 791 uint32_t dma_cnt:32;
1128#endif
1129 } s; 792 } s;
1130 struct cvmx_pci_dma_cntx_s cn30xx; 793 struct cvmx_pci_dma_cntx_s cn30xx;
1131 struct cvmx_pci_dma_cntx_s cn31xx; 794 struct cvmx_pci_dma_cntx_s cn31xx;
@@ -1139,11 +802,7 @@ union cvmx_pci_dma_cntx {
1139union cvmx_pci_dma_int_levx { 802union cvmx_pci_dma_int_levx {
1140 uint32_t u32; 803 uint32_t u32;
1141 struct cvmx_pci_dma_int_levx_s { 804 struct cvmx_pci_dma_int_levx_s {
1142#ifdef __BIG_ENDIAN_BITFIELD
1143 uint32_t pkt_cnt:32; 805 uint32_t pkt_cnt:32;
1144#else
1145 uint32_t pkt_cnt:32;
1146#endif
1147 } s; 806 } s;
1148 struct cvmx_pci_dma_int_levx_s cn30xx; 807 struct cvmx_pci_dma_int_levx_s cn30xx;
1149 struct cvmx_pci_dma_int_levx_s cn31xx; 808 struct cvmx_pci_dma_int_levx_s cn31xx;
@@ -1157,11 +816,7 @@ union cvmx_pci_dma_int_levx {
1157union cvmx_pci_dma_timex { 816union cvmx_pci_dma_timex {
1158 uint32_t u32; 817 uint32_t u32;
1159 struct cvmx_pci_dma_timex_s { 818 struct cvmx_pci_dma_timex_s {
1160#ifdef __BIG_ENDIAN_BITFIELD
1161 uint32_t dma_time:32;
1162#else
1163 uint32_t dma_time:32; 819 uint32_t dma_time:32;
1164#endif
1165 } s; 820 } s;
1166 struct cvmx_pci_dma_timex_s cn30xx; 821 struct cvmx_pci_dma_timex_s cn30xx;
1167 struct cvmx_pci_dma_timex_s cn31xx; 822 struct cvmx_pci_dma_timex_s cn31xx;
@@ -1175,11 +830,7 @@ union cvmx_pci_dma_timex {
1175union cvmx_pci_instr_countx { 830union cvmx_pci_instr_countx {
1176 uint32_t u32; 831 uint32_t u32;
1177 struct cvmx_pci_instr_countx_s { 832 struct cvmx_pci_instr_countx_s {
1178#ifdef __BIG_ENDIAN_BITFIELD
1179 uint32_t icnt:32;
1180#else
1181 uint32_t icnt:32; 833 uint32_t icnt:32;
1182#endif
1183 } s; 834 } s;
1184 struct cvmx_pci_instr_countx_s cn30xx; 835 struct cvmx_pci_instr_countx_s cn30xx;
1185 struct cvmx_pci_instr_countx_s cn31xx; 836 struct cvmx_pci_instr_countx_s cn31xx;
@@ -1193,7 +844,6 @@ union cvmx_pci_instr_countx {
1193union cvmx_pci_int_enb { 844union cvmx_pci_int_enb {
1194 uint64_t u64; 845 uint64_t u64;
1195 struct cvmx_pci_int_enb_s { 846 struct cvmx_pci_int_enb_s {
1196#ifdef __BIG_ENDIAN_BITFIELD
1197 uint64_t reserved_34_63:30; 847 uint64_t reserved_34_63:30;
1198 uint64_t ill_rd:1; 848 uint64_t ill_rd:1;
1199 uint64_t ill_wr:1; 849 uint64_t ill_wr:1;
@@ -1229,46 +879,8 @@ union cvmx_pci_int_enb {
1229 uint64_t imr_wtto:1; 879 uint64_t imr_wtto:1;
1230 uint64_t imr_wabt:1; 880 uint64_t imr_wabt:1;
1231 uint64_t itr_wabt:1; 881 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
1269 } s; 882 } s;
1270 struct cvmx_pci_int_enb_cn30xx { 883 struct cvmx_pci_int_enb_cn30xx {
1271#ifdef __BIG_ENDIAN_BITFIELD
1272 uint64_t reserved_34_63:30; 884 uint64_t reserved_34_63:30;
1273 uint64_t ill_rd:1; 885 uint64_t ill_rd:1;
1274 uint64_t ill_wr:1; 886 uint64_t ill_wr:1;
@@ -1300,42 +912,8 @@ union cvmx_pci_int_enb {
1300 uint64_t imr_wtto:1; 912 uint64_t imr_wtto:1;
1301 uint64_t imr_wabt:1; 913 uint64_t imr_wabt:1;
1302 uint64_t itr_wabt:1; 914 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
1336 } cn30xx; 915 } cn30xx;
1337 struct cvmx_pci_int_enb_cn31xx { 916 struct cvmx_pci_int_enb_cn31xx {
1338#ifdef __BIG_ENDIAN_BITFIELD
1339 uint64_t reserved_34_63:30; 917 uint64_t reserved_34_63:30;
1340 uint64_t ill_rd:1; 918 uint64_t ill_rd:1;
1341 uint64_t ill_wr:1; 919 uint64_t ill_wr:1;
@@ -1369,41 +947,6 @@ union cvmx_pci_int_enb {
1369 uint64_t imr_wtto:1; 947 uint64_t imr_wtto:1;
1370 uint64_t imr_wabt:1; 948 uint64_t imr_wabt:1;
1371 uint64_t itr_wabt:1; 949 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
1407 } cn31xx; 950 } cn31xx;
1408 struct cvmx_pci_int_enb_s cn38xx; 951 struct cvmx_pci_int_enb_s cn38xx;
1409 struct cvmx_pci_int_enb_s cn38xxp2; 952 struct cvmx_pci_int_enb_s cn38xxp2;
@@ -1415,7 +958,6 @@ union cvmx_pci_int_enb {
1415union cvmx_pci_int_enb2 { 958union cvmx_pci_int_enb2 {
1416 uint64_t u64; 959 uint64_t u64;
1417 struct cvmx_pci_int_enb2_s { 960 struct cvmx_pci_int_enb2_s {
1418#ifdef __BIG_ENDIAN_BITFIELD
1419 uint64_t reserved_34_63:30; 961 uint64_t reserved_34_63:30;
1420 uint64_t ill_rd:1; 962 uint64_t ill_rd:1;
1421 uint64_t ill_wr:1; 963 uint64_t ill_wr:1;
@@ -1451,46 +993,8 @@ union cvmx_pci_int_enb2 {
1451 uint64_t rmr_wtto:1; 993 uint64_t rmr_wtto:1;
1452 uint64_t rmr_wabt:1; 994 uint64_t rmr_wabt:1;
1453 uint64_t rtr_wabt:1; 995 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
1491 } s; 996 } s;
1492 struct cvmx_pci_int_enb2_cn30xx { 997 struct cvmx_pci_int_enb2_cn30xx {
1493#ifdef __BIG_ENDIAN_BITFIELD
1494 uint64_t reserved_34_63:30; 998 uint64_t reserved_34_63:30;
1495 uint64_t ill_rd:1; 999 uint64_t ill_rd:1;
1496 uint64_t ill_wr:1; 1000 uint64_t ill_wr:1;
@@ -1522,42 +1026,8 @@ union cvmx_pci_int_enb2 {
1522 uint64_t rmr_wtto:1; 1026 uint64_t rmr_wtto:1;
1523 uint64_t rmr_wabt:1; 1027 uint64_t rmr_wabt:1;
1524 uint64_t rtr_wabt:1; 1028 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
1558 } cn30xx; 1029 } cn30xx;
1559 struct cvmx_pci_int_enb2_cn31xx { 1030 struct cvmx_pci_int_enb2_cn31xx {
1560#ifdef __BIG_ENDIAN_BITFIELD
1561 uint64_t reserved_34_63:30; 1031 uint64_t reserved_34_63:30;
1562 uint64_t ill_rd:1; 1032 uint64_t ill_rd:1;
1563 uint64_t ill_wr:1; 1033 uint64_t ill_wr:1;
@@ -1591,41 +1061,6 @@ union cvmx_pci_int_enb2 {
1591 uint64_t rmr_wtto:1; 1061 uint64_t rmr_wtto:1;
1592 uint64_t rmr_wabt:1; 1062 uint64_t rmr_wabt:1;
1593 uint64_t rtr_wabt:1; 1063 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
1629 } cn31xx; 1064 } cn31xx;
1630 struct cvmx_pci_int_enb2_s cn38xx; 1065 struct cvmx_pci_int_enb2_s cn38xx;
1631 struct cvmx_pci_int_enb2_s cn38xxp2; 1066 struct cvmx_pci_int_enb2_s cn38xxp2;
@@ -1637,7 +1072,6 @@ union cvmx_pci_int_enb2 {
1637union cvmx_pci_int_sum { 1072union cvmx_pci_int_sum {
1638 uint64_t u64; 1073 uint64_t u64;
1639 struct cvmx_pci_int_sum_s { 1074 struct cvmx_pci_int_sum_s {
1640#ifdef __BIG_ENDIAN_BITFIELD
1641 uint64_t reserved_34_63:30; 1075 uint64_t reserved_34_63:30;
1642 uint64_t ill_rd:1; 1076 uint64_t ill_rd:1;
1643 uint64_t ill_wr:1; 1077 uint64_t ill_wr:1;
@@ -1673,46 +1107,8 @@ union cvmx_pci_int_sum {
1673 uint64_t mr_wtto:1; 1107 uint64_t mr_wtto:1;
1674 uint64_t mr_wabt:1; 1108 uint64_t mr_wabt:1;
1675 uint64_t tr_wabt:1; 1109 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
1713 } s; 1110 } s;
1714 struct cvmx_pci_int_sum_cn30xx { 1111 struct cvmx_pci_int_sum_cn30xx {
1715#ifdef __BIG_ENDIAN_BITFIELD
1716 uint64_t reserved_34_63:30; 1112 uint64_t reserved_34_63:30;
1717 uint64_t ill_rd:1; 1113 uint64_t ill_rd:1;
1718 uint64_t ill_wr:1; 1114 uint64_t ill_wr:1;
@@ -1744,42 +1140,8 @@ union cvmx_pci_int_sum {
1744 uint64_t mr_wtto:1; 1140 uint64_t mr_wtto:1;
1745 uint64_t mr_wabt:1; 1141 uint64_t mr_wabt:1;
1746 uint64_t tr_wabt:1; 1142 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
1780 } cn30xx; 1143 } cn30xx;
1781 struct cvmx_pci_int_sum_cn31xx { 1144 struct cvmx_pci_int_sum_cn31xx {
1782#ifdef __BIG_ENDIAN_BITFIELD
1783 uint64_t reserved_34_63:30; 1145 uint64_t reserved_34_63:30;
1784 uint64_t ill_rd:1; 1146 uint64_t ill_rd:1;
1785 uint64_t ill_wr:1; 1147 uint64_t ill_wr:1;
@@ -1813,41 +1175,6 @@ union cvmx_pci_int_sum {
1813 uint64_t mr_wtto:1; 1175 uint64_t mr_wtto:1;
1814 uint64_t mr_wabt:1; 1176 uint64_t mr_wabt:1;
1815 uint64_t tr_wabt:1; 1177 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
1851 } cn31xx; 1178 } cn31xx;
1852 struct cvmx_pci_int_sum_s cn38xx; 1179 struct cvmx_pci_int_sum_s cn38xx;
1853 struct cvmx_pci_int_sum_s cn38xxp2; 1180 struct cvmx_pci_int_sum_s cn38xxp2;
@@ -1859,7 +1186,6 @@ union cvmx_pci_int_sum {
1859union cvmx_pci_int_sum2 { 1186union cvmx_pci_int_sum2 {
1860 uint64_t u64; 1187 uint64_t u64;
1861 struct cvmx_pci_int_sum2_s { 1188 struct cvmx_pci_int_sum2_s {
1862#ifdef __BIG_ENDIAN_BITFIELD
1863 uint64_t reserved_34_63:30; 1189 uint64_t reserved_34_63:30;
1864 uint64_t ill_rd:1; 1190 uint64_t ill_rd:1;
1865 uint64_t ill_wr:1; 1191 uint64_t ill_wr:1;
@@ -1895,46 +1221,8 @@ union cvmx_pci_int_sum2 {
1895 uint64_t mr_wtto:1; 1221 uint64_t mr_wtto:1;
1896 uint64_t mr_wabt:1; 1222 uint64_t mr_wabt:1;
1897 uint64_t tr_wabt:1; 1223 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
1935 } s; 1224 } s;
1936 struct cvmx_pci_int_sum2_cn30xx { 1225 struct cvmx_pci_int_sum2_cn30xx {
1937#ifdef __BIG_ENDIAN_BITFIELD
1938 uint64_t reserved_34_63:30; 1226 uint64_t reserved_34_63:30;
1939 uint64_t ill_rd:1; 1227 uint64_t ill_rd:1;
1940 uint64_t ill_wr:1; 1228 uint64_t ill_wr:1;
@@ -1966,42 +1254,8 @@ union cvmx_pci_int_sum2 {
1966 uint64_t mr_wtto:1; 1254 uint64_t mr_wtto:1;
1967 uint64_t mr_wabt:1; 1255 uint64_t mr_wabt:1;
1968 uint64_t tr_wabt:1; 1256 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
2002 } cn30xx; 1257 } cn30xx;
2003 struct cvmx_pci_int_sum2_cn31xx { 1258 struct cvmx_pci_int_sum2_cn31xx {
2004#ifdef __BIG_ENDIAN_BITFIELD
2005 uint64_t reserved_34_63:30; 1259 uint64_t reserved_34_63:30;
2006 uint64_t ill_rd:1; 1260 uint64_t ill_rd:1;
2007 uint64_t ill_wr:1; 1261 uint64_t ill_wr:1;
@@ -2035,41 +1289,6 @@ union cvmx_pci_int_sum2 {
2035 uint64_t mr_wtto:1; 1289 uint64_t mr_wtto:1;
2036 uint64_t mr_wabt:1; 1290 uint64_t mr_wabt:1;
2037 uint64_t tr_wabt:1; 1291 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
2073 } cn31xx; 1292 } cn31xx;
2074 struct cvmx_pci_int_sum2_s cn38xx; 1293 struct cvmx_pci_int_sum2_s cn38xx;
2075 struct cvmx_pci_int_sum2_s cn38xxp2; 1294 struct cvmx_pci_int_sum2_s cn38xxp2;
@@ -2081,13 +1300,8 @@ union cvmx_pci_int_sum2 {
2081union cvmx_pci_msi_rcv { 1300union cvmx_pci_msi_rcv {
2082 uint32_t u32; 1301 uint32_t u32;
2083 struct cvmx_pci_msi_rcv_s { 1302 struct cvmx_pci_msi_rcv_s {
2084#ifdef __BIG_ENDIAN_BITFIELD
2085 uint32_t reserved_6_31:26; 1303 uint32_t reserved_6_31:26;
2086 uint32_t intr:6; 1304 uint32_t intr:6;
2087#else
2088 uint32_t intr:6;
2089 uint32_t reserved_6_31:26;
2090#endif
2091 } s; 1305 } s;
2092 struct cvmx_pci_msi_rcv_s cn30xx; 1306 struct cvmx_pci_msi_rcv_s cn30xx;
2093 struct cvmx_pci_msi_rcv_s cn31xx; 1307 struct cvmx_pci_msi_rcv_s cn31xx;
@@ -2101,13 +1315,8 @@ union cvmx_pci_msi_rcv {
2101union cvmx_pci_pkt_creditsx { 1315union cvmx_pci_pkt_creditsx {
2102 uint32_t u32; 1316 uint32_t u32;
2103 struct cvmx_pci_pkt_creditsx_s { 1317 struct cvmx_pci_pkt_creditsx_s {
2104#ifdef __BIG_ENDIAN_BITFIELD
2105 uint32_t pkt_cnt:16; 1318 uint32_t pkt_cnt:16;
2106 uint32_t ptr_cnt:16; 1319 uint32_t ptr_cnt:16;
2107#else
2108 uint32_t ptr_cnt:16;
2109 uint32_t pkt_cnt:16;
2110#endif
2111 } s; 1320 } s;
2112 struct cvmx_pci_pkt_creditsx_s cn30xx; 1321 struct cvmx_pci_pkt_creditsx_s cn30xx;
2113 struct cvmx_pci_pkt_creditsx_s cn31xx; 1322 struct cvmx_pci_pkt_creditsx_s cn31xx;
@@ -2121,11 +1330,7 @@ union cvmx_pci_pkt_creditsx {
2121union cvmx_pci_pkts_sentx { 1330union cvmx_pci_pkts_sentx {
2122 uint32_t u32; 1331 uint32_t u32;
2123 struct cvmx_pci_pkts_sentx_s { 1332 struct cvmx_pci_pkts_sentx_s {
2124#ifdef __BIG_ENDIAN_BITFIELD
2125 uint32_t pkt_cnt:32; 1333 uint32_t pkt_cnt:32;
2126#else
2127 uint32_t pkt_cnt:32;
2128#endif
2129 } s; 1334 } s;
2130 struct cvmx_pci_pkts_sentx_s cn30xx; 1335 struct cvmx_pci_pkts_sentx_s cn30xx;
2131 struct cvmx_pci_pkts_sentx_s cn31xx; 1336 struct cvmx_pci_pkts_sentx_s cn31xx;
@@ -2139,11 +1344,7 @@ union cvmx_pci_pkts_sentx {
2139union cvmx_pci_pkts_sent_int_levx { 1344union cvmx_pci_pkts_sent_int_levx {
2140 uint32_t u32; 1345 uint32_t u32;
2141 struct cvmx_pci_pkts_sent_int_levx_s { 1346 struct cvmx_pci_pkts_sent_int_levx_s {
2142#ifdef __BIG_ENDIAN_BITFIELD
2143 uint32_t pkt_cnt:32;
2144#else
2145 uint32_t pkt_cnt:32; 1347 uint32_t pkt_cnt:32;
2146#endif
2147 } s; 1348 } s;
2148 struct cvmx_pci_pkts_sent_int_levx_s cn30xx; 1349 struct cvmx_pci_pkts_sent_int_levx_s cn30xx;
2149 struct cvmx_pci_pkts_sent_int_levx_s cn31xx; 1350 struct cvmx_pci_pkts_sent_int_levx_s cn31xx;
@@ -2157,11 +1358,7 @@ union cvmx_pci_pkts_sent_int_levx {
2157union cvmx_pci_pkts_sent_timex { 1358union cvmx_pci_pkts_sent_timex {
2158 uint32_t u32; 1359 uint32_t u32;
2159 struct cvmx_pci_pkts_sent_timex_s { 1360 struct cvmx_pci_pkts_sent_timex_s {
2160#ifdef __BIG_ENDIAN_BITFIELD
2161 uint32_t pkt_time:32;
2162#else
2163 uint32_t pkt_time:32; 1361 uint32_t pkt_time:32;
2164#endif
2165 } s; 1362 } s;
2166 struct cvmx_pci_pkts_sent_timex_s cn30xx; 1363 struct cvmx_pci_pkts_sent_timex_s cn30xx;
2167 struct cvmx_pci_pkts_sent_timex_s cn31xx; 1364 struct cvmx_pci_pkts_sent_timex_s cn31xx;
@@ -2175,15 +1372,9 @@ union cvmx_pci_pkts_sent_timex {
2175union cvmx_pci_read_cmd_6 { 1372union cvmx_pci_read_cmd_6 {
2176 uint32_t u32; 1373 uint32_t u32;
2177 struct cvmx_pci_read_cmd_6_s { 1374 struct cvmx_pci_read_cmd_6_s {
2178#ifdef __BIG_ENDIAN_BITFIELD
2179 uint32_t reserved_9_31:23; 1375 uint32_t reserved_9_31:23;
2180 uint32_t min_data:6; 1376 uint32_t min_data:6;
2181 uint32_t prefetch:3; 1377 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
2187 } s; 1378 } s;
2188 struct cvmx_pci_read_cmd_6_s cn30xx; 1379 struct cvmx_pci_read_cmd_6_s cn30xx;
2189 struct cvmx_pci_read_cmd_6_s cn31xx; 1380 struct cvmx_pci_read_cmd_6_s cn31xx;
@@ -2197,15 +1388,9 @@ union cvmx_pci_read_cmd_6 {
2197union cvmx_pci_read_cmd_c { 1388union cvmx_pci_read_cmd_c {
2198 uint32_t u32; 1389 uint32_t u32;
2199 struct cvmx_pci_read_cmd_c_s { 1390 struct cvmx_pci_read_cmd_c_s {
2200#ifdef __BIG_ENDIAN_BITFIELD
2201 uint32_t reserved_9_31:23; 1391 uint32_t reserved_9_31:23;
2202 uint32_t min_data:6; 1392 uint32_t min_data:6;
2203 uint32_t prefetch:3; 1393 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
2209 } s; 1394 } s;
2210 struct cvmx_pci_read_cmd_c_s cn30xx; 1395 struct cvmx_pci_read_cmd_c_s cn30xx;
2211 struct cvmx_pci_read_cmd_c_s cn31xx; 1396 struct cvmx_pci_read_cmd_c_s cn31xx;
@@ -2219,15 +1404,9 @@ union cvmx_pci_read_cmd_c {
2219union cvmx_pci_read_cmd_e { 1404union cvmx_pci_read_cmd_e {
2220 uint32_t u32; 1405 uint32_t u32;
2221 struct cvmx_pci_read_cmd_e_s { 1406 struct cvmx_pci_read_cmd_e_s {
2222#ifdef __BIG_ENDIAN_BITFIELD
2223 uint32_t reserved_9_31:23; 1407 uint32_t reserved_9_31:23;
2224 uint32_t min_data:6; 1408 uint32_t min_data:6;
2225 uint32_t prefetch:3; 1409 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
2231 } s; 1410 } s;
2232 struct cvmx_pci_read_cmd_e_s cn30xx; 1411 struct cvmx_pci_read_cmd_e_s cn30xx;
2233 struct cvmx_pci_read_cmd_e_s cn31xx; 1412 struct cvmx_pci_read_cmd_e_s cn31xx;
@@ -2241,15 +1420,9 @@ union cvmx_pci_read_cmd_e {
2241union cvmx_pci_read_timeout { 1420union cvmx_pci_read_timeout {
2242 uint64_t u64; 1421 uint64_t u64;
2243 struct cvmx_pci_read_timeout_s { 1422 struct cvmx_pci_read_timeout_s {
2244#ifdef __BIG_ENDIAN_BITFIELD
2245 uint64_t reserved_32_63:32; 1423 uint64_t reserved_32_63:32;
2246 uint64_t enb:1; 1424 uint64_t enb:1;
2247 uint64_t cnt:31; 1425 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
2253 } s; 1426 } s;
2254 struct cvmx_pci_read_timeout_s cn30xx; 1427 struct cvmx_pci_read_timeout_s cn30xx;
2255 struct cvmx_pci_read_timeout_s cn31xx; 1428 struct cvmx_pci_read_timeout_s cn31xx;
@@ -2263,13 +1436,8 @@ union cvmx_pci_read_timeout {
2263union cvmx_pci_scm_reg { 1436union cvmx_pci_scm_reg {
2264 uint64_t u64; 1437 uint64_t u64;
2265 struct cvmx_pci_scm_reg_s { 1438 struct cvmx_pci_scm_reg_s {
2266#ifdef __BIG_ENDIAN_BITFIELD
2267 uint64_t reserved_32_63:32; 1439 uint64_t reserved_32_63:32;
2268 uint64_t scm:32; 1440 uint64_t scm:32;
2269#else
2270 uint64_t scm:32;
2271 uint64_t reserved_32_63:32;
2272#endif
2273 } s; 1441 } s;
2274 struct cvmx_pci_scm_reg_s cn30xx; 1442 struct cvmx_pci_scm_reg_s cn30xx;
2275 struct cvmx_pci_scm_reg_s cn31xx; 1443 struct cvmx_pci_scm_reg_s cn31xx;
@@ -2283,13 +1451,8 @@ union cvmx_pci_scm_reg {
2283union cvmx_pci_tsr_reg { 1451union cvmx_pci_tsr_reg {
2284 uint64_t u64; 1452 uint64_t u64;
2285 struct cvmx_pci_tsr_reg_s { 1453 struct cvmx_pci_tsr_reg_s {
2286#ifdef __BIG_ENDIAN_BITFIELD
2287 uint64_t reserved_36_63:28; 1454 uint64_t reserved_36_63:28;
2288 uint64_t tsr:36; 1455 uint64_t tsr:36;
2289#else
2290 uint64_t tsr:36;
2291 uint64_t reserved_36_63:28;
2292#endif
2293 } s; 1456 } s;
2294 struct cvmx_pci_tsr_reg_s cn30xx; 1457 struct cvmx_pci_tsr_reg_s cn30xx;
2295 struct cvmx_pci_tsr_reg_s cn31xx; 1458 struct cvmx_pci_tsr_reg_s cn31xx;
@@ -2303,42 +1466,22 @@ union cvmx_pci_tsr_reg {
2303union cvmx_pci_win_rd_addr { 1466union cvmx_pci_win_rd_addr {
2304 uint64_t u64; 1467 uint64_t u64;
2305 struct cvmx_pci_win_rd_addr_s { 1468 struct cvmx_pci_win_rd_addr_s {
2306#ifdef __BIG_ENDIAN_BITFIELD
2307 uint64_t reserved_49_63:15; 1469 uint64_t reserved_49_63:15;
2308 uint64_t iobit:1; 1470 uint64_t iobit:1;
2309 uint64_t reserved_0_47:48; 1471 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
2315 } s; 1472 } s;
2316 struct cvmx_pci_win_rd_addr_cn30xx { 1473 struct cvmx_pci_win_rd_addr_cn30xx {
2317#ifdef __BIG_ENDIAN_BITFIELD
2318 uint64_t reserved_49_63:15; 1474 uint64_t reserved_49_63:15;
2319 uint64_t iobit:1; 1475 uint64_t iobit:1;
2320 uint64_t rd_addr:46; 1476 uint64_t rd_addr:46;
2321 uint64_t reserved_0_1:2; 1477 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
2328 } cn30xx; 1478 } cn30xx;
2329 struct cvmx_pci_win_rd_addr_cn30xx cn31xx; 1479 struct cvmx_pci_win_rd_addr_cn30xx cn31xx;
2330 struct cvmx_pci_win_rd_addr_cn38xx { 1480 struct cvmx_pci_win_rd_addr_cn38xx {
2331#ifdef __BIG_ENDIAN_BITFIELD
2332 uint64_t reserved_49_63:15; 1481 uint64_t reserved_49_63:15;
2333 uint64_t iobit:1; 1482 uint64_t iobit:1;
2334 uint64_t rd_addr:45; 1483 uint64_t rd_addr:45;
2335 uint64_t reserved_0_2:3; 1484 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
2342 } cn38xx; 1485 } cn38xx;
2343 struct cvmx_pci_win_rd_addr_cn38xx cn38xxp2; 1486 struct cvmx_pci_win_rd_addr_cn38xx cn38xxp2;
2344 struct cvmx_pci_win_rd_addr_cn30xx cn50xx; 1487 struct cvmx_pci_win_rd_addr_cn30xx cn50xx;
@@ -2349,11 +1492,7 @@ union cvmx_pci_win_rd_addr {
2349union cvmx_pci_win_rd_data { 1492union cvmx_pci_win_rd_data {
2350 uint64_t u64; 1493 uint64_t u64;
2351 struct cvmx_pci_win_rd_data_s { 1494 struct cvmx_pci_win_rd_data_s {
2352#ifdef __BIG_ENDIAN_BITFIELD
2353 uint64_t rd_data:64;
2354#else
2355 uint64_t rd_data:64; 1495 uint64_t rd_data:64;
2356#endif
2357 } s; 1496 } s;
2358 struct cvmx_pci_win_rd_data_s cn30xx; 1497 struct cvmx_pci_win_rd_data_s cn30xx;
2359 struct cvmx_pci_win_rd_data_s cn31xx; 1498 struct cvmx_pci_win_rd_data_s cn31xx;
@@ -2367,17 +1506,10 @@ union cvmx_pci_win_rd_data {
2367union cvmx_pci_win_wr_addr { 1506union cvmx_pci_win_wr_addr {
2368 uint64_t u64; 1507 uint64_t u64;
2369 struct cvmx_pci_win_wr_addr_s { 1508 struct cvmx_pci_win_wr_addr_s {
2370#ifdef __BIG_ENDIAN_BITFIELD
2371 uint64_t reserved_49_63:15; 1509 uint64_t reserved_49_63:15;
2372 uint64_t iobit:1; 1510 uint64_t iobit:1;
2373 uint64_t wr_addr:45; 1511 uint64_t wr_addr:45;
2374 uint64_t reserved_0_2:3; 1512 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
2381 } s; 1513 } s;
2382 struct cvmx_pci_win_wr_addr_s cn30xx; 1514 struct cvmx_pci_win_wr_addr_s cn30xx;
2383 struct cvmx_pci_win_wr_addr_s cn31xx; 1515 struct cvmx_pci_win_wr_addr_s cn31xx;
@@ -2391,11 +1523,7 @@ union cvmx_pci_win_wr_addr {
2391union cvmx_pci_win_wr_data { 1523union cvmx_pci_win_wr_data {
2392 uint64_t u64; 1524 uint64_t u64;
2393 struct cvmx_pci_win_wr_data_s { 1525 struct cvmx_pci_win_wr_data_s {
2394#ifdef __BIG_ENDIAN_BITFIELD
2395 uint64_t wr_data:64; 1526 uint64_t wr_data:64;
2396#else
2397 uint64_t wr_data:64;
2398#endif
2399 } s; 1527 } s;
2400 struct cvmx_pci_win_wr_data_s cn30xx; 1528 struct cvmx_pci_win_wr_data_s cn30xx;
2401 struct cvmx_pci_win_wr_data_s cn31xx; 1529 struct cvmx_pci_win_wr_data_s cn31xx;
@@ -2409,13 +1537,8 @@ union cvmx_pci_win_wr_data {
2409union cvmx_pci_win_wr_mask { 1537union cvmx_pci_win_wr_mask {
2410 uint64_t u64; 1538 uint64_t u64;
2411 struct cvmx_pci_win_wr_mask_s { 1539 struct cvmx_pci_win_wr_mask_s {
2412#ifdef __BIG_ENDIAN_BITFIELD
2413 uint64_t reserved_8_63:56; 1540 uint64_t reserved_8_63:56;
2414 uint64_t wr_mask:8; 1541 uint64_t wr_mask:8;
2415#else
2416 uint64_t wr_mask:8;
2417 uint64_t reserved_8_63:56;
2418#endif
2419 } s; 1542 } s;
2420 struct cvmx_pci_win_wr_mask_s cn30xx; 1543 struct cvmx_pci_win_wr_mask_s cn30xx;
2421 struct cvmx_pci_win_wr_mask_s cn31xx; 1544 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 4bce393391e..f8cb88902ef 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,31 +109,20 @@
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
113 uint32_t devid:16; 112 uint32_t devid:16;
114 uint32_t vendid:16; 113 uint32_t vendid:16;
115#else
116 uint32_t vendid:16;
117 uint32_t devid:16;
118#endif
119 } s; 114 } s;
120 struct cvmx_pciercx_cfg000_s cn52xx; 115 struct cvmx_pciercx_cfg000_s cn52xx;
121 struct cvmx_pciercx_cfg000_s cn52xxp1; 116 struct cvmx_pciercx_cfg000_s cn52xxp1;
122 struct cvmx_pciercx_cfg000_s cn56xx; 117 struct cvmx_pciercx_cfg000_s cn56xx;
123 struct cvmx_pciercx_cfg000_s cn56xxp1; 118 struct cvmx_pciercx_cfg000_s cn56xxp1;
124 struct cvmx_pciercx_cfg000_s cn61xx;
125 struct cvmx_pciercx_cfg000_s cn63xx; 119 struct cvmx_pciercx_cfg000_s cn63xx;
126 struct cvmx_pciercx_cfg000_s cn63xxp1; 120 struct cvmx_pciercx_cfg000_s cn63xxp1;
127 struct cvmx_pciercx_cfg000_s cn66xx;
128 struct cvmx_pciercx_cfg000_s cn68xx;
129 struct cvmx_pciercx_cfg000_s cn68xxp1;
130 struct cvmx_pciercx_cfg000_s cnf71xx;
131}; 121};
132 122
133union cvmx_pciercx_cfg001 { 123union cvmx_pciercx_cfg001 {
134 uint32_t u32; 124 uint32_t u32;
135 struct cvmx_pciercx_cfg001_s { 125 struct cvmx_pciercx_cfg001_s {
136#ifdef __BIG_ENDIAN_BITFIELD
137 uint32_t dpe:1; 126 uint32_t dpe:1;
138 uint32_t sse:1; 127 uint32_t sse:1;
139 uint32_t rma:1; 128 uint32_t rma:1;
@@ -158,180 +147,93 @@ union cvmx_pciercx_cfg001 {
158 uint32_t me:1; 147 uint32_t me:1;
159 uint32_t msae:1; 148 uint32_t msae:1;
160 uint32_t isae:1; 149 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
187 } s; 150 } s;
188 struct cvmx_pciercx_cfg001_s cn52xx; 151 struct cvmx_pciercx_cfg001_s cn52xx;
189 struct cvmx_pciercx_cfg001_s cn52xxp1; 152 struct cvmx_pciercx_cfg001_s cn52xxp1;
190 struct cvmx_pciercx_cfg001_s cn56xx; 153 struct cvmx_pciercx_cfg001_s cn56xx;
191 struct cvmx_pciercx_cfg001_s cn56xxp1; 154 struct cvmx_pciercx_cfg001_s cn56xxp1;
192 struct cvmx_pciercx_cfg001_s cn61xx;
193 struct cvmx_pciercx_cfg001_s cn63xx; 155 struct cvmx_pciercx_cfg001_s cn63xx;
194 struct cvmx_pciercx_cfg001_s cn63xxp1; 156 struct cvmx_pciercx_cfg001_s cn63xxp1;
195 struct cvmx_pciercx_cfg001_s cn66xx;
196 struct cvmx_pciercx_cfg001_s cn68xx;
197 struct cvmx_pciercx_cfg001_s cn68xxp1;
198 struct cvmx_pciercx_cfg001_s cnf71xx;
199}; 157};
200 158
201union cvmx_pciercx_cfg002 { 159union cvmx_pciercx_cfg002 {
202 uint32_t u32; 160 uint32_t u32;
203 struct cvmx_pciercx_cfg002_s { 161 struct cvmx_pciercx_cfg002_s {
204#ifdef __BIG_ENDIAN_BITFIELD
205 uint32_t bcc:8; 162 uint32_t bcc:8;
206 uint32_t sc:8; 163 uint32_t sc:8;
207 uint32_t pi:8; 164 uint32_t pi:8;
208 uint32_t rid:8; 165 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
215 } s; 166 } s;
216 struct cvmx_pciercx_cfg002_s cn52xx; 167 struct cvmx_pciercx_cfg002_s cn52xx;
217 struct cvmx_pciercx_cfg002_s cn52xxp1; 168 struct cvmx_pciercx_cfg002_s cn52xxp1;
218 struct cvmx_pciercx_cfg002_s cn56xx; 169 struct cvmx_pciercx_cfg002_s cn56xx;
219 struct cvmx_pciercx_cfg002_s cn56xxp1; 170 struct cvmx_pciercx_cfg002_s cn56xxp1;
220 struct cvmx_pciercx_cfg002_s cn61xx;
221 struct cvmx_pciercx_cfg002_s cn63xx; 171 struct cvmx_pciercx_cfg002_s cn63xx;
222 struct cvmx_pciercx_cfg002_s cn63xxp1; 172 struct cvmx_pciercx_cfg002_s cn63xxp1;
223 struct cvmx_pciercx_cfg002_s cn66xx;
224 struct cvmx_pciercx_cfg002_s cn68xx;
225 struct cvmx_pciercx_cfg002_s cn68xxp1;
226 struct cvmx_pciercx_cfg002_s cnf71xx;
227}; 173};
228 174
229union cvmx_pciercx_cfg003 { 175union cvmx_pciercx_cfg003 {
230 uint32_t u32; 176 uint32_t u32;
231 struct cvmx_pciercx_cfg003_s { 177 struct cvmx_pciercx_cfg003_s {
232#ifdef __BIG_ENDIAN_BITFIELD
233 uint32_t bist:8; 178 uint32_t bist:8;
234 uint32_t mfd:1; 179 uint32_t mfd:1;
235 uint32_t chf:7; 180 uint32_t chf:7;
236 uint32_t lt:8; 181 uint32_t lt:8;
237 uint32_t cls:8; 182 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
245 } s; 183 } s;
246 struct cvmx_pciercx_cfg003_s cn52xx; 184 struct cvmx_pciercx_cfg003_s cn52xx;
247 struct cvmx_pciercx_cfg003_s cn52xxp1; 185 struct cvmx_pciercx_cfg003_s cn52xxp1;
248 struct cvmx_pciercx_cfg003_s cn56xx; 186 struct cvmx_pciercx_cfg003_s cn56xx;
249 struct cvmx_pciercx_cfg003_s cn56xxp1; 187 struct cvmx_pciercx_cfg003_s cn56xxp1;
250 struct cvmx_pciercx_cfg003_s cn61xx;
251 struct cvmx_pciercx_cfg003_s cn63xx; 188 struct cvmx_pciercx_cfg003_s cn63xx;
252 struct cvmx_pciercx_cfg003_s cn63xxp1; 189 struct cvmx_pciercx_cfg003_s cn63xxp1;
253 struct cvmx_pciercx_cfg003_s cn66xx;
254 struct cvmx_pciercx_cfg003_s cn68xx;
255 struct cvmx_pciercx_cfg003_s cn68xxp1;
256 struct cvmx_pciercx_cfg003_s cnf71xx;
257}; 190};
258 191
259union cvmx_pciercx_cfg004 { 192union cvmx_pciercx_cfg004 {
260 uint32_t u32; 193 uint32_t u32;
261 struct cvmx_pciercx_cfg004_s { 194 struct cvmx_pciercx_cfg004_s {
262#ifdef __BIG_ENDIAN_BITFIELD
263 uint32_t reserved_0_31:32;
264#else
265 uint32_t reserved_0_31:32; 195 uint32_t reserved_0_31:32;
266#endif
267 } s; 196 } s;
268 struct cvmx_pciercx_cfg004_s cn52xx; 197 struct cvmx_pciercx_cfg004_s cn52xx;
269 struct cvmx_pciercx_cfg004_s cn52xxp1; 198 struct cvmx_pciercx_cfg004_s cn52xxp1;
270 struct cvmx_pciercx_cfg004_s cn56xx; 199 struct cvmx_pciercx_cfg004_s cn56xx;
271 struct cvmx_pciercx_cfg004_s cn56xxp1; 200 struct cvmx_pciercx_cfg004_s cn56xxp1;
272 struct cvmx_pciercx_cfg004_s cn61xx;
273 struct cvmx_pciercx_cfg004_s cn63xx; 201 struct cvmx_pciercx_cfg004_s cn63xx;
274 struct cvmx_pciercx_cfg004_s cn63xxp1; 202 struct cvmx_pciercx_cfg004_s cn63xxp1;
275 struct cvmx_pciercx_cfg004_s cn66xx;
276 struct cvmx_pciercx_cfg004_s cn68xx;
277 struct cvmx_pciercx_cfg004_s cn68xxp1;
278 struct cvmx_pciercx_cfg004_s cnf71xx;
279}; 203};
280 204
281union cvmx_pciercx_cfg005 { 205union cvmx_pciercx_cfg005 {
282 uint32_t u32; 206 uint32_t u32;
283 struct cvmx_pciercx_cfg005_s { 207 struct cvmx_pciercx_cfg005_s {
284#ifdef __BIG_ENDIAN_BITFIELD
285 uint32_t reserved_0_31:32;
286#else
287 uint32_t reserved_0_31:32; 208 uint32_t reserved_0_31:32;
288#endif
289 } s; 209 } s;
290 struct cvmx_pciercx_cfg005_s cn52xx; 210 struct cvmx_pciercx_cfg005_s cn52xx;
291 struct cvmx_pciercx_cfg005_s cn52xxp1; 211 struct cvmx_pciercx_cfg005_s cn52xxp1;
292 struct cvmx_pciercx_cfg005_s cn56xx; 212 struct cvmx_pciercx_cfg005_s cn56xx;
293 struct cvmx_pciercx_cfg005_s cn56xxp1; 213 struct cvmx_pciercx_cfg005_s cn56xxp1;
294 struct cvmx_pciercx_cfg005_s cn61xx;
295 struct cvmx_pciercx_cfg005_s cn63xx; 214 struct cvmx_pciercx_cfg005_s cn63xx;
296 struct cvmx_pciercx_cfg005_s cn63xxp1; 215 struct cvmx_pciercx_cfg005_s cn63xxp1;
297 struct cvmx_pciercx_cfg005_s cn66xx;
298 struct cvmx_pciercx_cfg005_s cn68xx;
299 struct cvmx_pciercx_cfg005_s cn68xxp1;
300 struct cvmx_pciercx_cfg005_s cnf71xx;
301}; 216};
302 217
303union cvmx_pciercx_cfg006 { 218union cvmx_pciercx_cfg006 {
304 uint32_t u32; 219 uint32_t u32;
305 struct cvmx_pciercx_cfg006_s { 220 struct cvmx_pciercx_cfg006_s {
306#ifdef __BIG_ENDIAN_BITFIELD
307 uint32_t slt:8; 221 uint32_t slt:8;
308 uint32_t subbnum:8; 222 uint32_t subbnum:8;
309 uint32_t sbnum:8; 223 uint32_t sbnum:8;
310 uint32_t pbnum:8; 224 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
317 } s; 225 } s;
318 struct cvmx_pciercx_cfg006_s cn52xx; 226 struct cvmx_pciercx_cfg006_s cn52xx;
319 struct cvmx_pciercx_cfg006_s cn52xxp1; 227 struct cvmx_pciercx_cfg006_s cn52xxp1;
320 struct cvmx_pciercx_cfg006_s cn56xx; 228 struct cvmx_pciercx_cfg006_s cn56xx;
321 struct cvmx_pciercx_cfg006_s cn56xxp1; 229 struct cvmx_pciercx_cfg006_s cn56xxp1;
322 struct cvmx_pciercx_cfg006_s cn61xx;
323 struct cvmx_pciercx_cfg006_s cn63xx; 230 struct cvmx_pciercx_cfg006_s cn63xx;
324 struct cvmx_pciercx_cfg006_s cn63xxp1; 231 struct cvmx_pciercx_cfg006_s cn63xxp1;
325 struct cvmx_pciercx_cfg006_s cn66xx;
326 struct cvmx_pciercx_cfg006_s cn68xx;
327 struct cvmx_pciercx_cfg006_s cn68xxp1;
328 struct cvmx_pciercx_cfg006_s cnf71xx;
329}; 232};
330 233
331union cvmx_pciercx_cfg007 { 234union cvmx_pciercx_cfg007 {
332 uint32_t u32; 235 uint32_t u32;
333 struct cvmx_pciercx_cfg007_s { 236 struct cvmx_pciercx_cfg007_s {
334#ifdef __BIG_ENDIAN_BITFIELD
335 uint32_t dpe:1; 237 uint32_t dpe:1;
336 uint32_t sse:1; 238 uint32_t sse:1;
337 uint32_t rma:1; 239 uint32_t rma:1;
@@ -349,217 +251,119 @@ union cvmx_pciercx_cfg007 {
349 uint32_t lio_base:4; 251 uint32_t lio_base:4;
350 uint32_t reserved_1_3:3; 252 uint32_t reserved_1_3:3;
351 uint32_t io32a:1; 253 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
371 } s; 254 } s;
372 struct cvmx_pciercx_cfg007_s cn52xx; 255 struct cvmx_pciercx_cfg007_s cn52xx;
373 struct cvmx_pciercx_cfg007_s cn52xxp1; 256 struct cvmx_pciercx_cfg007_s cn52xxp1;
374 struct cvmx_pciercx_cfg007_s cn56xx; 257 struct cvmx_pciercx_cfg007_s cn56xx;
375 struct cvmx_pciercx_cfg007_s cn56xxp1; 258 struct cvmx_pciercx_cfg007_s cn56xxp1;
376 struct cvmx_pciercx_cfg007_s cn61xx;
377 struct cvmx_pciercx_cfg007_s cn63xx; 259 struct cvmx_pciercx_cfg007_s cn63xx;
378 struct cvmx_pciercx_cfg007_s cn63xxp1; 260 struct cvmx_pciercx_cfg007_s cn63xxp1;
379 struct cvmx_pciercx_cfg007_s cn66xx;
380 struct cvmx_pciercx_cfg007_s cn68xx;
381 struct cvmx_pciercx_cfg007_s cn68xxp1;
382 struct cvmx_pciercx_cfg007_s cnf71xx;
383}; 261};
384 262
385union cvmx_pciercx_cfg008 { 263union cvmx_pciercx_cfg008 {
386 uint32_t u32; 264 uint32_t u32;
387 struct cvmx_pciercx_cfg008_s { 265 struct cvmx_pciercx_cfg008_s {
388#ifdef __BIG_ENDIAN_BITFIELD
389 uint32_t ml_addr:12; 266 uint32_t ml_addr:12;
390 uint32_t reserved_16_19:4; 267 uint32_t reserved_16_19:4;
391 uint32_t mb_addr:12; 268 uint32_t mb_addr:12;
392 uint32_t reserved_0_3:4; 269 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
399 } s; 270 } s;
400 struct cvmx_pciercx_cfg008_s cn52xx; 271 struct cvmx_pciercx_cfg008_s cn52xx;
401 struct cvmx_pciercx_cfg008_s cn52xxp1; 272 struct cvmx_pciercx_cfg008_s cn52xxp1;
402 struct cvmx_pciercx_cfg008_s cn56xx; 273 struct cvmx_pciercx_cfg008_s cn56xx;
403 struct cvmx_pciercx_cfg008_s cn56xxp1; 274 struct cvmx_pciercx_cfg008_s cn56xxp1;
404 struct cvmx_pciercx_cfg008_s cn61xx;
405 struct cvmx_pciercx_cfg008_s cn63xx; 275 struct cvmx_pciercx_cfg008_s cn63xx;
406 struct cvmx_pciercx_cfg008_s cn63xxp1; 276 struct cvmx_pciercx_cfg008_s cn63xxp1;
407 struct cvmx_pciercx_cfg008_s cn66xx;
408 struct cvmx_pciercx_cfg008_s cn68xx;
409 struct cvmx_pciercx_cfg008_s cn68xxp1;
410 struct cvmx_pciercx_cfg008_s cnf71xx;
411}; 277};
412 278
413union cvmx_pciercx_cfg009 { 279union cvmx_pciercx_cfg009 {
414 uint32_t u32; 280 uint32_t u32;
415 struct cvmx_pciercx_cfg009_s { 281 struct cvmx_pciercx_cfg009_s {
416#ifdef __BIG_ENDIAN_BITFIELD
417 uint32_t lmem_limit:12; 282 uint32_t lmem_limit:12;
418 uint32_t reserved_17_19:3; 283 uint32_t reserved_17_19:3;
419 uint32_t mem64b:1; 284 uint32_t mem64b:1;
420 uint32_t lmem_base:12; 285 uint32_t lmem_base:12;
421 uint32_t reserved_1_3:3; 286 uint32_t reserved_1_3:3;
422 uint32_t mem64a:1; 287 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
431 } s; 288 } s;
432 struct cvmx_pciercx_cfg009_s cn52xx; 289 struct cvmx_pciercx_cfg009_s cn52xx;
433 struct cvmx_pciercx_cfg009_s cn52xxp1; 290 struct cvmx_pciercx_cfg009_s cn52xxp1;
434 struct cvmx_pciercx_cfg009_s cn56xx; 291 struct cvmx_pciercx_cfg009_s cn56xx;
435 struct cvmx_pciercx_cfg009_s cn56xxp1; 292 struct cvmx_pciercx_cfg009_s cn56xxp1;
436 struct cvmx_pciercx_cfg009_s cn61xx;
437 struct cvmx_pciercx_cfg009_s cn63xx; 293 struct cvmx_pciercx_cfg009_s cn63xx;
438 struct cvmx_pciercx_cfg009_s cn63xxp1; 294 struct cvmx_pciercx_cfg009_s cn63xxp1;
439 struct cvmx_pciercx_cfg009_s cn66xx;
440 struct cvmx_pciercx_cfg009_s cn68xx;
441 struct cvmx_pciercx_cfg009_s cn68xxp1;
442 struct cvmx_pciercx_cfg009_s cnf71xx;
443}; 295};
444 296
445union cvmx_pciercx_cfg010 { 297union cvmx_pciercx_cfg010 {
446 uint32_t u32; 298 uint32_t u32;
447 struct cvmx_pciercx_cfg010_s { 299 struct cvmx_pciercx_cfg010_s {
448#ifdef __BIG_ENDIAN_BITFIELD
449 uint32_t umem_base:32; 300 uint32_t umem_base:32;
450#else
451 uint32_t umem_base:32;
452#endif
453 } s; 301 } s;
454 struct cvmx_pciercx_cfg010_s cn52xx; 302 struct cvmx_pciercx_cfg010_s cn52xx;
455 struct cvmx_pciercx_cfg010_s cn52xxp1; 303 struct cvmx_pciercx_cfg010_s cn52xxp1;
456 struct cvmx_pciercx_cfg010_s cn56xx; 304 struct cvmx_pciercx_cfg010_s cn56xx;
457 struct cvmx_pciercx_cfg010_s cn56xxp1; 305 struct cvmx_pciercx_cfg010_s cn56xxp1;
458 struct cvmx_pciercx_cfg010_s cn61xx;
459 struct cvmx_pciercx_cfg010_s cn63xx; 306 struct cvmx_pciercx_cfg010_s cn63xx;
460 struct cvmx_pciercx_cfg010_s cn63xxp1; 307 struct cvmx_pciercx_cfg010_s cn63xxp1;
461 struct cvmx_pciercx_cfg010_s cn66xx;
462 struct cvmx_pciercx_cfg010_s cn68xx;
463 struct cvmx_pciercx_cfg010_s cn68xxp1;
464 struct cvmx_pciercx_cfg010_s cnf71xx;
465}; 308};
466 309
467union cvmx_pciercx_cfg011 { 310union cvmx_pciercx_cfg011 {
468 uint32_t u32; 311 uint32_t u32;
469 struct cvmx_pciercx_cfg011_s { 312 struct cvmx_pciercx_cfg011_s {
470#ifdef __BIG_ENDIAN_BITFIELD
471 uint32_t umem_limit:32;
472#else
473 uint32_t umem_limit:32; 313 uint32_t umem_limit:32;
474#endif
475 } s; 314 } s;
476 struct cvmx_pciercx_cfg011_s cn52xx; 315 struct cvmx_pciercx_cfg011_s cn52xx;
477 struct cvmx_pciercx_cfg011_s cn52xxp1; 316 struct cvmx_pciercx_cfg011_s cn52xxp1;
478 struct cvmx_pciercx_cfg011_s cn56xx; 317 struct cvmx_pciercx_cfg011_s cn56xx;
479 struct cvmx_pciercx_cfg011_s cn56xxp1; 318 struct cvmx_pciercx_cfg011_s cn56xxp1;
480 struct cvmx_pciercx_cfg011_s cn61xx;
481 struct cvmx_pciercx_cfg011_s cn63xx; 319 struct cvmx_pciercx_cfg011_s cn63xx;
482 struct cvmx_pciercx_cfg011_s cn63xxp1; 320 struct cvmx_pciercx_cfg011_s cn63xxp1;
483 struct cvmx_pciercx_cfg011_s cn66xx;
484 struct cvmx_pciercx_cfg011_s cn68xx;
485 struct cvmx_pciercx_cfg011_s cn68xxp1;
486 struct cvmx_pciercx_cfg011_s cnf71xx;
487}; 321};
488 322
489union cvmx_pciercx_cfg012 { 323union cvmx_pciercx_cfg012 {
490 uint32_t u32; 324 uint32_t u32;
491 struct cvmx_pciercx_cfg012_s { 325 struct cvmx_pciercx_cfg012_s {
492#ifdef __BIG_ENDIAN_BITFIELD
493 uint32_t uio_limit:16; 326 uint32_t uio_limit:16;
494 uint32_t uio_base:16; 327 uint32_t uio_base:16;
495#else
496 uint32_t uio_base:16;
497 uint32_t uio_limit:16;
498#endif
499 } s; 328 } s;
500 struct cvmx_pciercx_cfg012_s cn52xx; 329 struct cvmx_pciercx_cfg012_s cn52xx;
501 struct cvmx_pciercx_cfg012_s cn52xxp1; 330 struct cvmx_pciercx_cfg012_s cn52xxp1;
502 struct cvmx_pciercx_cfg012_s cn56xx; 331 struct cvmx_pciercx_cfg012_s cn56xx;
503 struct cvmx_pciercx_cfg012_s cn56xxp1; 332 struct cvmx_pciercx_cfg012_s cn56xxp1;
504 struct cvmx_pciercx_cfg012_s cn61xx;
505 struct cvmx_pciercx_cfg012_s cn63xx; 333 struct cvmx_pciercx_cfg012_s cn63xx;
506 struct cvmx_pciercx_cfg012_s cn63xxp1; 334 struct cvmx_pciercx_cfg012_s cn63xxp1;
507 struct cvmx_pciercx_cfg012_s cn66xx;
508 struct cvmx_pciercx_cfg012_s cn68xx;
509 struct cvmx_pciercx_cfg012_s cn68xxp1;
510 struct cvmx_pciercx_cfg012_s cnf71xx;
511}; 335};
512 336
513union cvmx_pciercx_cfg013 { 337union cvmx_pciercx_cfg013 {
514 uint32_t u32; 338 uint32_t u32;
515 struct cvmx_pciercx_cfg013_s { 339 struct cvmx_pciercx_cfg013_s {
516#ifdef __BIG_ENDIAN_BITFIELD
517 uint32_t reserved_8_31:24; 340 uint32_t reserved_8_31:24;
518 uint32_t cp:8; 341 uint32_t cp:8;
519#else
520 uint32_t cp:8;
521 uint32_t reserved_8_31:24;
522#endif
523 } s; 342 } s;
524 struct cvmx_pciercx_cfg013_s cn52xx; 343 struct cvmx_pciercx_cfg013_s cn52xx;
525 struct cvmx_pciercx_cfg013_s cn52xxp1; 344 struct cvmx_pciercx_cfg013_s cn52xxp1;
526 struct cvmx_pciercx_cfg013_s cn56xx; 345 struct cvmx_pciercx_cfg013_s cn56xx;
527 struct cvmx_pciercx_cfg013_s cn56xxp1; 346 struct cvmx_pciercx_cfg013_s cn56xxp1;
528 struct cvmx_pciercx_cfg013_s cn61xx;
529 struct cvmx_pciercx_cfg013_s cn63xx; 347 struct cvmx_pciercx_cfg013_s cn63xx;
530 struct cvmx_pciercx_cfg013_s cn63xxp1; 348 struct cvmx_pciercx_cfg013_s cn63xxp1;
531 struct cvmx_pciercx_cfg013_s cn66xx;
532 struct cvmx_pciercx_cfg013_s cn68xx;
533 struct cvmx_pciercx_cfg013_s cn68xxp1;
534 struct cvmx_pciercx_cfg013_s cnf71xx;
535}; 349};
536 350
537union cvmx_pciercx_cfg014 { 351union cvmx_pciercx_cfg014 {
538 uint32_t u32; 352 uint32_t u32;
539 struct cvmx_pciercx_cfg014_s { 353 struct cvmx_pciercx_cfg014_s {
540#ifdef __BIG_ENDIAN_BITFIELD
541 uint32_t reserved_0_31:32; 354 uint32_t reserved_0_31:32;
542#else
543 uint32_t reserved_0_31:32;
544#endif
545 } s; 355 } s;
546 struct cvmx_pciercx_cfg014_s cn52xx; 356 struct cvmx_pciercx_cfg014_s cn52xx;
547 struct cvmx_pciercx_cfg014_s cn52xxp1; 357 struct cvmx_pciercx_cfg014_s cn52xxp1;
548 struct cvmx_pciercx_cfg014_s cn56xx; 358 struct cvmx_pciercx_cfg014_s cn56xx;
549 struct cvmx_pciercx_cfg014_s cn56xxp1; 359 struct cvmx_pciercx_cfg014_s cn56xxp1;
550 struct cvmx_pciercx_cfg014_s cn61xx;
551 struct cvmx_pciercx_cfg014_s cn63xx; 360 struct cvmx_pciercx_cfg014_s cn63xx;
552 struct cvmx_pciercx_cfg014_s cn63xxp1; 361 struct cvmx_pciercx_cfg014_s cn63xxp1;
553 struct cvmx_pciercx_cfg014_s cn66xx;
554 struct cvmx_pciercx_cfg014_s cn68xx;
555 struct cvmx_pciercx_cfg014_s cn68xxp1;
556 struct cvmx_pciercx_cfg014_s cnf71xx;
557}; 362};
558 363
559union cvmx_pciercx_cfg015 { 364union cvmx_pciercx_cfg015 {
560 uint32_t u32; 365 uint32_t u32;
561 struct cvmx_pciercx_cfg015_s { 366 struct cvmx_pciercx_cfg015_s {
562#ifdef __BIG_ENDIAN_BITFIELD
563 uint32_t reserved_28_31:4; 367 uint32_t reserved_28_31:4;
564 uint32_t dtsees:1; 368 uint32_t dtsees:1;
565 uint32_t dts:1; 369 uint32_t dts:1;
@@ -575,41 +379,18 @@ union cvmx_pciercx_cfg015 {
575 uint32_t pere:1; 379 uint32_t pere:1;
576 uint32_t inta:8; 380 uint32_t inta:8;
577 uint32_t il:8; 381 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
595 } s; 382 } s;
596 struct cvmx_pciercx_cfg015_s cn52xx; 383 struct cvmx_pciercx_cfg015_s cn52xx;
597 struct cvmx_pciercx_cfg015_s cn52xxp1; 384 struct cvmx_pciercx_cfg015_s cn52xxp1;
598 struct cvmx_pciercx_cfg015_s cn56xx; 385 struct cvmx_pciercx_cfg015_s cn56xx;
599 struct cvmx_pciercx_cfg015_s cn56xxp1; 386 struct cvmx_pciercx_cfg015_s cn56xxp1;
600 struct cvmx_pciercx_cfg015_s cn61xx;
601 struct cvmx_pciercx_cfg015_s cn63xx; 387 struct cvmx_pciercx_cfg015_s cn63xx;
602 struct cvmx_pciercx_cfg015_s cn63xxp1; 388 struct cvmx_pciercx_cfg015_s cn63xxp1;
603 struct cvmx_pciercx_cfg015_s cn66xx;
604 struct cvmx_pciercx_cfg015_s cn68xx;
605 struct cvmx_pciercx_cfg015_s cn68xxp1;
606 struct cvmx_pciercx_cfg015_s cnf71xx;
607}; 389};
608 390
609union cvmx_pciercx_cfg016 { 391union cvmx_pciercx_cfg016 {
610 uint32_t u32; 392 uint32_t u32;
611 struct cvmx_pciercx_cfg016_s { 393 struct cvmx_pciercx_cfg016_s {
612#ifdef __BIG_ENDIAN_BITFIELD
613 uint32_t pmes:5; 394 uint32_t pmes:5;
614 uint32_t d2s:1; 395 uint32_t d2s:1;
615 uint32_t d1s:1; 396 uint32_t d1s:1;
@@ -620,36 +401,18 @@ union cvmx_pciercx_cfg016 {
620 uint32_t pmsv:3; 401 uint32_t pmsv:3;
621 uint32_t ncp:8; 402 uint32_t ncp:8;
622 uint32_t pmcid:8; 403 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
635 } s; 404 } s;
636 struct cvmx_pciercx_cfg016_s cn52xx; 405 struct cvmx_pciercx_cfg016_s cn52xx;
637 struct cvmx_pciercx_cfg016_s cn52xxp1; 406 struct cvmx_pciercx_cfg016_s cn52xxp1;
638 struct cvmx_pciercx_cfg016_s cn56xx; 407 struct cvmx_pciercx_cfg016_s cn56xx;
639 struct cvmx_pciercx_cfg016_s cn56xxp1; 408 struct cvmx_pciercx_cfg016_s cn56xxp1;
640 struct cvmx_pciercx_cfg016_s cn61xx;
641 struct cvmx_pciercx_cfg016_s cn63xx; 409 struct cvmx_pciercx_cfg016_s cn63xx;
642 struct cvmx_pciercx_cfg016_s cn63xxp1; 410 struct cvmx_pciercx_cfg016_s cn63xxp1;
643 struct cvmx_pciercx_cfg016_s cn66xx;
644 struct cvmx_pciercx_cfg016_s cn68xx;
645 struct cvmx_pciercx_cfg016_s cn68xxp1;
646 struct cvmx_pciercx_cfg016_s cnf71xx;
647}; 411};
648 412
649union cvmx_pciercx_cfg017 { 413union cvmx_pciercx_cfg017 {
650 uint32_t u32; 414 uint32_t u32;
651 struct cvmx_pciercx_cfg017_s { 415 struct cvmx_pciercx_cfg017_s {
652#ifdef __BIG_ENDIAN_BITFIELD
653 uint32_t pmdia:8; 416 uint32_t pmdia:8;
654 uint32_t bpccee:1; 417 uint32_t bpccee:1;
655 uint32_t bd3h:1; 418 uint32_t bd3h:1;
@@ -662,59 +425,18 @@ union cvmx_pciercx_cfg017 {
662 uint32_t nsr:1; 425 uint32_t nsr:1;
663 uint32_t reserved_2_2:1; 426 uint32_t reserved_2_2:1;
664 uint32_t ps:2; 427 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
679 } s; 428 } s;
680 struct cvmx_pciercx_cfg017_s cn52xx; 429 struct cvmx_pciercx_cfg017_s cn52xx;
681 struct cvmx_pciercx_cfg017_s cn52xxp1; 430 struct cvmx_pciercx_cfg017_s cn52xxp1;
682 struct cvmx_pciercx_cfg017_s cn56xx; 431 struct cvmx_pciercx_cfg017_s cn56xx;
683 struct cvmx_pciercx_cfg017_s cn56xxp1; 432 struct cvmx_pciercx_cfg017_s cn56xxp1;
684 struct cvmx_pciercx_cfg017_s cn61xx;
685 struct cvmx_pciercx_cfg017_s cn63xx; 433 struct cvmx_pciercx_cfg017_s cn63xx;
686 struct cvmx_pciercx_cfg017_s cn63xxp1; 434 struct cvmx_pciercx_cfg017_s cn63xxp1;
687 struct cvmx_pciercx_cfg017_s cn66xx;
688 struct cvmx_pciercx_cfg017_s cn68xx;
689 struct cvmx_pciercx_cfg017_s cn68xxp1;
690 struct cvmx_pciercx_cfg017_s cnf71xx;
691}; 435};
692 436
693union cvmx_pciercx_cfg020 { 437union cvmx_pciercx_cfg020 {
694 uint32_t u32; 438 uint32_t u32;
695 struct cvmx_pciercx_cfg020_s { 439 struct cvmx_pciercx_cfg020_s {
696#ifdef __BIG_ENDIAN_BITFIELD
697 uint32_t reserved_25_31:7;
698 uint32_t pvm:1;
699 uint32_t m64:1;
700 uint32_t mme:3;
701 uint32_t mmc:3;
702 uint32_t msien:1;
703 uint32_t ncp: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
715 } s;
716 struct cvmx_pciercx_cfg020_cn52xx {
717#ifdef __BIG_ENDIAN_BITFIELD
718 uint32_t reserved_24_31:8; 440 uint32_t reserved_24_31:8;
719 uint32_t m64:1; 441 uint32_t m64:1;
720 uint32_t mme:3; 442 uint32_t mme:3;
@@ -722,102 +444,59 @@ union cvmx_pciercx_cfg020 {
722 uint32_t msien:1; 444 uint32_t msien:1;
723 uint32_t ncp:8; 445 uint32_t ncp:8;
724 uint32_t msicid:8; 446 uint32_t msicid:8;
725#else 447 } s;
726 uint32_t msicid:8; 448 struct cvmx_pciercx_cfg020_s cn52xx;
727 uint32_t ncp:8; 449 struct cvmx_pciercx_cfg020_s cn52xxp1;
728 uint32_t msien:1; 450 struct cvmx_pciercx_cfg020_s cn56xx;
729 uint32_t mmc:3; 451 struct cvmx_pciercx_cfg020_s cn56xxp1;
730 uint32_t mme:3; 452 struct cvmx_pciercx_cfg020_s cn63xx;
731 uint32_t m64:1; 453 struct cvmx_pciercx_cfg020_s cn63xxp1;
732 uint32_t reserved_24_31:8;
733#endif
734 } cn52xx;
735 struct cvmx_pciercx_cfg020_cn52xx cn52xxp1;
736 struct cvmx_pciercx_cfg020_cn52xx cn56xx;
737 struct cvmx_pciercx_cfg020_cn52xx cn56xxp1;
738 struct cvmx_pciercx_cfg020_s cn61xx;
739 struct cvmx_pciercx_cfg020_cn52xx cn63xx;
740 struct cvmx_pciercx_cfg020_cn52xx cn63xxp1;
741 struct cvmx_pciercx_cfg020_cn52xx cn66xx;
742 struct cvmx_pciercx_cfg020_cn52xx cn68xx;
743 struct cvmx_pciercx_cfg020_cn52xx cn68xxp1;
744 struct cvmx_pciercx_cfg020_s cnf71xx;
745}; 454};
746 455
747union cvmx_pciercx_cfg021 { 456union cvmx_pciercx_cfg021 {
748 uint32_t u32; 457 uint32_t u32;
749 struct cvmx_pciercx_cfg021_s { 458 struct cvmx_pciercx_cfg021_s {
750#ifdef __BIG_ENDIAN_BITFIELD
751 uint32_t lmsi:30; 459 uint32_t lmsi:30;
752 uint32_t reserved_0_1:2; 460 uint32_t reserved_0_1:2;
753#else
754 uint32_t reserved_0_1:2;
755 uint32_t lmsi:30;
756#endif
757 } s; 461 } s;
758 struct cvmx_pciercx_cfg021_s cn52xx; 462 struct cvmx_pciercx_cfg021_s cn52xx;
759 struct cvmx_pciercx_cfg021_s cn52xxp1; 463 struct cvmx_pciercx_cfg021_s cn52xxp1;
760 struct cvmx_pciercx_cfg021_s cn56xx; 464 struct cvmx_pciercx_cfg021_s cn56xx;
761 struct cvmx_pciercx_cfg021_s cn56xxp1; 465 struct cvmx_pciercx_cfg021_s cn56xxp1;
762 struct cvmx_pciercx_cfg021_s cn61xx;
763 struct cvmx_pciercx_cfg021_s cn63xx; 466 struct cvmx_pciercx_cfg021_s cn63xx;
764 struct cvmx_pciercx_cfg021_s cn63xxp1; 467 struct cvmx_pciercx_cfg021_s cn63xxp1;
765 struct cvmx_pciercx_cfg021_s cn66xx;
766 struct cvmx_pciercx_cfg021_s cn68xx;
767 struct cvmx_pciercx_cfg021_s cn68xxp1;
768 struct cvmx_pciercx_cfg021_s cnf71xx;
769}; 468};
770 469
771union cvmx_pciercx_cfg022 { 470union cvmx_pciercx_cfg022 {
772 uint32_t u32; 471 uint32_t u32;
773 struct cvmx_pciercx_cfg022_s { 472 struct cvmx_pciercx_cfg022_s {
774#ifdef __BIG_ENDIAN_BITFIELD
775 uint32_t umsi:32;
776#else
777 uint32_t umsi:32; 473 uint32_t umsi:32;
778#endif
779 } s; 474 } s;
780 struct cvmx_pciercx_cfg022_s cn52xx; 475 struct cvmx_pciercx_cfg022_s cn52xx;
781 struct cvmx_pciercx_cfg022_s cn52xxp1; 476 struct cvmx_pciercx_cfg022_s cn52xxp1;
782 struct cvmx_pciercx_cfg022_s cn56xx; 477 struct cvmx_pciercx_cfg022_s cn56xx;
783 struct cvmx_pciercx_cfg022_s cn56xxp1; 478 struct cvmx_pciercx_cfg022_s cn56xxp1;
784 struct cvmx_pciercx_cfg022_s cn61xx;
785 struct cvmx_pciercx_cfg022_s cn63xx; 479 struct cvmx_pciercx_cfg022_s cn63xx;
786 struct cvmx_pciercx_cfg022_s cn63xxp1; 480 struct cvmx_pciercx_cfg022_s cn63xxp1;
787 struct cvmx_pciercx_cfg022_s cn66xx;
788 struct cvmx_pciercx_cfg022_s cn68xx;
789 struct cvmx_pciercx_cfg022_s cn68xxp1;
790 struct cvmx_pciercx_cfg022_s cnf71xx;
791}; 481};
792 482
793union cvmx_pciercx_cfg023 { 483union cvmx_pciercx_cfg023 {
794 uint32_t u32; 484 uint32_t u32;
795 struct cvmx_pciercx_cfg023_s { 485 struct cvmx_pciercx_cfg023_s {
796#ifdef __BIG_ENDIAN_BITFIELD
797 uint32_t reserved_16_31:16; 486 uint32_t reserved_16_31:16;
798 uint32_t msimd:16; 487 uint32_t msimd:16;
799#else
800 uint32_t msimd:16;
801 uint32_t reserved_16_31:16;
802#endif
803 } s; 488 } s;
804 struct cvmx_pciercx_cfg023_s cn52xx; 489 struct cvmx_pciercx_cfg023_s cn52xx;
805 struct cvmx_pciercx_cfg023_s cn52xxp1; 490 struct cvmx_pciercx_cfg023_s cn52xxp1;
806 struct cvmx_pciercx_cfg023_s cn56xx; 491 struct cvmx_pciercx_cfg023_s cn56xx;
807 struct cvmx_pciercx_cfg023_s cn56xxp1; 492 struct cvmx_pciercx_cfg023_s cn56xxp1;
808 struct cvmx_pciercx_cfg023_s cn61xx;
809 struct cvmx_pciercx_cfg023_s cn63xx; 493 struct cvmx_pciercx_cfg023_s cn63xx;
810 struct cvmx_pciercx_cfg023_s cn63xxp1; 494 struct cvmx_pciercx_cfg023_s cn63xxp1;
811 struct cvmx_pciercx_cfg023_s cn66xx;
812 struct cvmx_pciercx_cfg023_s cn68xx;
813 struct cvmx_pciercx_cfg023_s cn68xxp1;
814 struct cvmx_pciercx_cfg023_s cnf71xx;
815}; 495};
816 496
817union cvmx_pciercx_cfg028 { 497union cvmx_pciercx_cfg028 {
818 uint32_t u32; 498 uint32_t u32;
819 struct cvmx_pciercx_cfg028_s { 499 struct cvmx_pciercx_cfg028_s {
820#ifdef __BIG_ENDIAN_BITFIELD
821 uint32_t reserved_30_31:2; 500 uint32_t reserved_30_31:2;
822 uint32_t imn:5; 501 uint32_t imn:5;
823 uint32_t si:1; 502 uint32_t si:1;
@@ -825,33 +504,18 @@ union cvmx_pciercx_cfg028 {
825 uint32_t pciecv:4; 504 uint32_t pciecv:4;
826 uint32_t ncp:8; 505 uint32_t ncp:8;
827 uint32_t pcieid:8; 506 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
837 } s; 507 } s;
838 struct cvmx_pciercx_cfg028_s cn52xx; 508 struct cvmx_pciercx_cfg028_s cn52xx;
839 struct cvmx_pciercx_cfg028_s cn52xxp1; 509 struct cvmx_pciercx_cfg028_s cn52xxp1;
840 struct cvmx_pciercx_cfg028_s cn56xx; 510 struct cvmx_pciercx_cfg028_s cn56xx;
841 struct cvmx_pciercx_cfg028_s cn56xxp1; 511 struct cvmx_pciercx_cfg028_s cn56xxp1;
842 struct cvmx_pciercx_cfg028_s cn61xx;
843 struct cvmx_pciercx_cfg028_s cn63xx; 512 struct cvmx_pciercx_cfg028_s cn63xx;
844 struct cvmx_pciercx_cfg028_s cn63xxp1; 513 struct cvmx_pciercx_cfg028_s cn63xxp1;
845 struct cvmx_pciercx_cfg028_s cn66xx;
846 struct cvmx_pciercx_cfg028_s cn68xx;
847 struct cvmx_pciercx_cfg028_s cn68xxp1;
848 struct cvmx_pciercx_cfg028_s cnf71xx;
849}; 514};
850 515
851union cvmx_pciercx_cfg029 { 516union cvmx_pciercx_cfg029 {
852 uint32_t u32; 517 uint32_t u32;
853 struct cvmx_pciercx_cfg029_s { 518 struct cvmx_pciercx_cfg029_s {
854#ifdef __BIG_ENDIAN_BITFIELD
855 uint32_t reserved_28_31:4; 519 uint32_t reserved_28_31:4;
856 uint32_t cspls:2; 520 uint32_t cspls:2;
857 uint32_t csplv:8; 521 uint32_t csplv:8;
@@ -863,37 +527,18 @@ union cvmx_pciercx_cfg029 {
863 uint32_t etfs:1; 527 uint32_t etfs:1;
864 uint32_t pfs:2; 528 uint32_t pfs:2;
865 uint32_t mpss:3; 529 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
879 } s; 530 } s;
880 struct cvmx_pciercx_cfg029_s cn52xx; 531 struct cvmx_pciercx_cfg029_s cn52xx;
881 struct cvmx_pciercx_cfg029_s cn52xxp1; 532 struct cvmx_pciercx_cfg029_s cn52xxp1;
882 struct cvmx_pciercx_cfg029_s cn56xx; 533 struct cvmx_pciercx_cfg029_s cn56xx;
883 struct cvmx_pciercx_cfg029_s cn56xxp1; 534 struct cvmx_pciercx_cfg029_s cn56xxp1;
884 struct cvmx_pciercx_cfg029_s cn61xx;
885 struct cvmx_pciercx_cfg029_s cn63xx; 535 struct cvmx_pciercx_cfg029_s cn63xx;
886 struct cvmx_pciercx_cfg029_s cn63xxp1; 536 struct cvmx_pciercx_cfg029_s cn63xxp1;
887 struct cvmx_pciercx_cfg029_s cn66xx;
888 struct cvmx_pciercx_cfg029_s cn68xx;
889 struct cvmx_pciercx_cfg029_s cn68xxp1;
890 struct cvmx_pciercx_cfg029_s cnf71xx;
891}; 537};
892 538
893union cvmx_pciercx_cfg030 { 539union cvmx_pciercx_cfg030 {
894 uint32_t u32; 540 uint32_t u32;
895 struct cvmx_pciercx_cfg030_s { 541 struct cvmx_pciercx_cfg030_s {
896#ifdef __BIG_ENDIAN_BITFIELD
897 uint32_t reserved_22_31:10; 542 uint32_t reserved_22_31:10;
898 uint32_t tp:1; 543 uint32_t tp:1;
899 uint32_t ap_d:1; 544 uint32_t ap_d:1;
@@ -913,74 +558,18 @@ union cvmx_pciercx_cfg030 {
913 uint32_t fe_en:1; 558 uint32_t fe_en:1;
914 uint32_t nfe_en:1; 559 uint32_t nfe_en:1;
915 uint32_t ce_en:1; 560 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
937 } s; 561 } s;
938 struct cvmx_pciercx_cfg030_s cn52xx; 562 struct cvmx_pciercx_cfg030_s cn52xx;
939 struct cvmx_pciercx_cfg030_s cn52xxp1; 563 struct cvmx_pciercx_cfg030_s cn52xxp1;
940 struct cvmx_pciercx_cfg030_s cn56xx; 564 struct cvmx_pciercx_cfg030_s cn56xx;
941 struct cvmx_pciercx_cfg030_s cn56xxp1; 565 struct cvmx_pciercx_cfg030_s cn56xxp1;
942 struct cvmx_pciercx_cfg030_s cn61xx;
943 struct cvmx_pciercx_cfg030_s cn63xx; 566 struct cvmx_pciercx_cfg030_s cn63xx;
944 struct cvmx_pciercx_cfg030_s cn63xxp1; 567 struct cvmx_pciercx_cfg030_s cn63xxp1;
945 struct cvmx_pciercx_cfg030_s cn66xx;
946 struct cvmx_pciercx_cfg030_s cn68xx;
947 struct cvmx_pciercx_cfg030_s cn68xxp1;
948 struct cvmx_pciercx_cfg030_s cnf71xx;
949}; 568};
950 569
951union cvmx_pciercx_cfg031 { 570union cvmx_pciercx_cfg031 {
952 uint32_t u32; 571 uint32_t u32;
953 struct cvmx_pciercx_cfg031_s { 572 struct cvmx_pciercx_cfg031_s {
954#ifdef __BIG_ENDIAN_BITFIELD
955 uint32_t pnum:8;
956 uint32_t reserved_23_23:1;
957 uint32_t aspm:1;
958 uint32_t lbnc:1;
959 uint32_t dllarc:1;
960 uint32_t sderc:1;
961 uint32_t cpm:1;
962 uint32_t l1el:3;
963 uint32_t l0el:3;
964 uint32_t aslpms:2;
965 uint32_t mlw:6;
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
981 } s;
982 struct cvmx_pciercx_cfg031_cn52xx {
983#ifdef __BIG_ENDIAN_BITFIELD
984 uint32_t pnum:8; 573 uint32_t pnum:8;
985 uint32_t reserved_22_23:2; 574 uint32_t reserved_22_23:2;
986 uint32_t lbnc:1; 575 uint32_t lbnc:1;
@@ -992,36 +581,18 @@ union cvmx_pciercx_cfg031 {
992 uint32_t aslpms:2; 581 uint32_t aslpms:2;
993 uint32_t mlw:6; 582 uint32_t mlw:6;
994 uint32_t mls:4; 583 uint32_t mls:4;
995#else 584 } s;
996 uint32_t mls:4; 585 struct cvmx_pciercx_cfg031_s cn52xx;
997 uint32_t mlw:6; 586 struct cvmx_pciercx_cfg031_s cn52xxp1;
998 uint32_t aslpms:2; 587 struct cvmx_pciercx_cfg031_s cn56xx;
999 uint32_t l0el:3; 588 struct cvmx_pciercx_cfg031_s cn56xxp1;
1000 uint32_t l1el:3; 589 struct cvmx_pciercx_cfg031_s cn63xx;
1001 uint32_t cpm:1; 590 struct cvmx_pciercx_cfg031_s cn63xxp1;
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
1008 } cn52xx;
1009 struct cvmx_pciercx_cfg031_cn52xx cn52xxp1;
1010 struct cvmx_pciercx_cfg031_cn52xx cn56xx;
1011 struct cvmx_pciercx_cfg031_cn52xx cn56xxp1;
1012 struct cvmx_pciercx_cfg031_s cn61xx;
1013 struct cvmx_pciercx_cfg031_cn52xx cn63xx;
1014 struct cvmx_pciercx_cfg031_cn52xx cn63xxp1;
1015 struct cvmx_pciercx_cfg031_s cn66xx;
1016 struct cvmx_pciercx_cfg031_s cn68xx;
1017 struct cvmx_pciercx_cfg031_cn52xx cn68xxp1;
1018 struct cvmx_pciercx_cfg031_s cnf71xx;
1019}; 591};
1020 592
1021union cvmx_pciercx_cfg032 { 593union cvmx_pciercx_cfg032 {
1022 uint32_t u32; 594 uint32_t u32;
1023 struct cvmx_pciercx_cfg032_s { 595 struct cvmx_pciercx_cfg032_s {
1024#ifdef __BIG_ENDIAN_BITFIELD
1025 uint32_t lab:1; 596 uint32_t lab:1;
1026 uint32_t lbm:1; 597 uint32_t lbm:1;
1027 uint32_t dlla:1; 598 uint32_t dlla:1;
@@ -1042,46 +613,18 @@ union cvmx_pciercx_cfg032 {
1042 uint32_t rcb:1; 613 uint32_t rcb:1;
1043 uint32_t reserved_2_2:1; 614 uint32_t reserved_2_2:1;
1044 uint32_t aslpc:2; 615 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
1067 } s; 616 } s;
1068 struct cvmx_pciercx_cfg032_s cn52xx; 617 struct cvmx_pciercx_cfg032_s cn52xx;
1069 struct cvmx_pciercx_cfg032_s cn52xxp1; 618 struct cvmx_pciercx_cfg032_s cn52xxp1;
1070 struct cvmx_pciercx_cfg032_s cn56xx; 619 struct cvmx_pciercx_cfg032_s cn56xx;
1071 struct cvmx_pciercx_cfg032_s cn56xxp1; 620 struct cvmx_pciercx_cfg032_s cn56xxp1;
1072 struct cvmx_pciercx_cfg032_s cn61xx;
1073 struct cvmx_pciercx_cfg032_s cn63xx; 621 struct cvmx_pciercx_cfg032_s cn63xx;
1074 struct cvmx_pciercx_cfg032_s cn63xxp1; 622 struct cvmx_pciercx_cfg032_s cn63xxp1;
1075 struct cvmx_pciercx_cfg032_s cn66xx;
1076 struct cvmx_pciercx_cfg032_s cn68xx;
1077 struct cvmx_pciercx_cfg032_s cn68xxp1;
1078 struct cvmx_pciercx_cfg032_s cnf71xx;
1079}; 623};
1080 624
1081union cvmx_pciercx_cfg033 { 625union cvmx_pciercx_cfg033 {
1082 uint32_t u32; 626 uint32_t u32;
1083 struct cvmx_pciercx_cfg033_s { 627 struct cvmx_pciercx_cfg033_s {
1084#ifdef __BIG_ENDIAN_BITFIELD
1085 uint32_t ps_num:13; 628 uint32_t ps_num:13;
1086 uint32_t nccs:1; 629 uint32_t nccs:1;
1087 uint32_t emip:1; 630 uint32_t emip:1;
@@ -1094,38 +637,18 @@ union cvmx_pciercx_cfg033 {
1094 uint32_t mrlsp:1; 637 uint32_t mrlsp:1;
1095 uint32_t pcp:1; 638 uint32_t pcp:1;
1096 uint32_t abp:1; 639 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
1111 } s; 640 } s;
1112 struct cvmx_pciercx_cfg033_s cn52xx; 641 struct cvmx_pciercx_cfg033_s cn52xx;
1113 struct cvmx_pciercx_cfg033_s cn52xxp1; 642 struct cvmx_pciercx_cfg033_s cn52xxp1;
1114 struct cvmx_pciercx_cfg033_s cn56xx; 643 struct cvmx_pciercx_cfg033_s cn56xx;
1115 struct cvmx_pciercx_cfg033_s cn56xxp1; 644 struct cvmx_pciercx_cfg033_s cn56xxp1;
1116 struct cvmx_pciercx_cfg033_s cn61xx;
1117 struct cvmx_pciercx_cfg033_s cn63xx; 645 struct cvmx_pciercx_cfg033_s cn63xx;
1118 struct cvmx_pciercx_cfg033_s cn63xxp1; 646 struct cvmx_pciercx_cfg033_s cn63xxp1;
1119 struct cvmx_pciercx_cfg033_s cn66xx;
1120 struct cvmx_pciercx_cfg033_s cn68xx;
1121 struct cvmx_pciercx_cfg033_s cn68xxp1;
1122 struct cvmx_pciercx_cfg033_s cnf71xx;
1123}; 647};
1124 648
1125union cvmx_pciercx_cfg034 { 649union cvmx_pciercx_cfg034 {
1126 uint32_t u32; 650 uint32_t u32;
1127 struct cvmx_pciercx_cfg034_s { 651 struct cvmx_pciercx_cfg034_s {
1128#ifdef __BIG_ENDIAN_BITFIELD
1129 uint32_t reserved_25_31:7; 652 uint32_t reserved_25_31:7;
1130 uint32_t dlls_c:1; 653 uint32_t dlls_c:1;
1131 uint32_t emis:1; 654 uint32_t emis:1;
@@ -1148,48 +671,18 @@ union cvmx_pciercx_cfg034 {
1148 uint32_t mrls_en:1; 671 uint32_t mrls_en:1;
1149 uint32_t pf_en:1; 672 uint32_t pf_en:1;
1150 uint32_t abp_en:1; 673 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
1175 } s; 674 } s;
1176 struct cvmx_pciercx_cfg034_s cn52xx; 675 struct cvmx_pciercx_cfg034_s cn52xx;
1177 struct cvmx_pciercx_cfg034_s cn52xxp1; 676 struct cvmx_pciercx_cfg034_s cn52xxp1;
1178 struct cvmx_pciercx_cfg034_s cn56xx; 677 struct cvmx_pciercx_cfg034_s cn56xx;
1179 struct cvmx_pciercx_cfg034_s cn56xxp1; 678 struct cvmx_pciercx_cfg034_s cn56xxp1;
1180 struct cvmx_pciercx_cfg034_s cn61xx;
1181 struct cvmx_pciercx_cfg034_s cn63xx; 679 struct cvmx_pciercx_cfg034_s cn63xx;
1182 struct cvmx_pciercx_cfg034_s cn63xxp1; 680 struct cvmx_pciercx_cfg034_s cn63xxp1;
1183 struct cvmx_pciercx_cfg034_s cn66xx;
1184 struct cvmx_pciercx_cfg034_s cn68xx;
1185 struct cvmx_pciercx_cfg034_s cn68xxp1;
1186 struct cvmx_pciercx_cfg034_s cnf71xx;
1187}; 681};
1188 682
1189union cvmx_pciercx_cfg035 { 683union cvmx_pciercx_cfg035 {
1190 uint32_t u32; 684 uint32_t u32;
1191 struct cvmx_pciercx_cfg035_s { 685 struct cvmx_pciercx_cfg035_s {
1192#ifdef __BIG_ENDIAN_BITFIELD
1193 uint32_t reserved_17_31:15; 686 uint32_t reserved_17_31:15;
1194 uint32_t crssv:1; 687 uint32_t crssv:1;
1195 uint32_t reserved_5_15:11; 688 uint32_t reserved_5_15:11;
@@ -1198,304 +691,82 @@ union cvmx_pciercx_cfg035 {
1198 uint32_t sefee:1; 691 uint32_t sefee:1;
1199 uint32_t senfee:1; 692 uint32_t senfee:1;
1200 uint32_t secee:1; 693 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
1211 } s; 694 } s;
1212 struct cvmx_pciercx_cfg035_s cn52xx; 695 struct cvmx_pciercx_cfg035_s cn52xx;
1213 struct cvmx_pciercx_cfg035_s cn52xxp1; 696 struct cvmx_pciercx_cfg035_s cn52xxp1;
1214 struct cvmx_pciercx_cfg035_s cn56xx; 697 struct cvmx_pciercx_cfg035_s cn56xx;
1215 struct cvmx_pciercx_cfg035_s cn56xxp1; 698 struct cvmx_pciercx_cfg035_s cn56xxp1;
1216 struct cvmx_pciercx_cfg035_s cn61xx;
1217 struct cvmx_pciercx_cfg035_s cn63xx; 699 struct cvmx_pciercx_cfg035_s cn63xx;
1218 struct cvmx_pciercx_cfg035_s cn63xxp1; 700 struct cvmx_pciercx_cfg035_s cn63xxp1;
1219 struct cvmx_pciercx_cfg035_s cn66xx;
1220 struct cvmx_pciercx_cfg035_s cn68xx;
1221 struct cvmx_pciercx_cfg035_s cn68xxp1;
1222 struct cvmx_pciercx_cfg035_s cnf71xx;
1223}; 701};
1224 702
1225union cvmx_pciercx_cfg036 { 703union cvmx_pciercx_cfg036 {
1226 uint32_t u32; 704 uint32_t u32;
1227 struct cvmx_pciercx_cfg036_s { 705 struct cvmx_pciercx_cfg036_s {
1228#ifdef __BIG_ENDIAN_BITFIELD
1229 uint32_t reserved_18_31:14; 706 uint32_t reserved_18_31:14;
1230 uint32_t pme_pend:1; 707 uint32_t pme_pend:1;
1231 uint32_t pme_stat:1; 708 uint32_t pme_stat:1;
1232 uint32_t pme_rid:16; 709 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
1239 } s; 710 } s;
1240 struct cvmx_pciercx_cfg036_s cn52xx; 711 struct cvmx_pciercx_cfg036_s cn52xx;
1241 struct cvmx_pciercx_cfg036_s cn52xxp1; 712 struct cvmx_pciercx_cfg036_s cn52xxp1;
1242 struct cvmx_pciercx_cfg036_s cn56xx; 713 struct cvmx_pciercx_cfg036_s cn56xx;
1243 struct cvmx_pciercx_cfg036_s cn56xxp1; 714 struct cvmx_pciercx_cfg036_s cn56xxp1;
1244 struct cvmx_pciercx_cfg036_s cn61xx;
1245 struct cvmx_pciercx_cfg036_s cn63xx; 715 struct cvmx_pciercx_cfg036_s cn63xx;
1246 struct cvmx_pciercx_cfg036_s cn63xxp1; 716 struct cvmx_pciercx_cfg036_s cn63xxp1;
1247 struct cvmx_pciercx_cfg036_s cn66xx;
1248 struct cvmx_pciercx_cfg036_s cn68xx;
1249 struct cvmx_pciercx_cfg036_s cn68xxp1;
1250 struct cvmx_pciercx_cfg036_s cnf71xx;
1251}; 717};
1252 718
1253union cvmx_pciercx_cfg037 { 719union cvmx_pciercx_cfg037 {
1254 uint32_t u32; 720 uint32_t u32;
1255 struct cvmx_pciercx_cfg037_s { 721 struct cvmx_pciercx_cfg037_s {
1256#ifdef __BIG_ENDIAN_BITFIELD
1257 uint32_t reserved_20_31:12;
1258 uint32_t obffs:2;
1259 uint32_t reserved_12_17:6;
1260 uint32_t ltrs:1;
1261 uint32_t noroprpr:1;
1262 uint32_t atom128s:1;
1263 uint32_t atom64s:1;
1264 uint32_t atom32s:1;
1265 uint32_t atom_ops:1;
1266 uint32_t reserved_5_5:1;
1267 uint32_t ctds:1;
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
1283 } s;
1284 struct cvmx_pciercx_cfg037_cn52xx {
1285#ifdef __BIG_ENDIAN_BITFIELD
1286 uint32_t reserved_5_31:27;
1287 uint32_t ctds:1;
1288 uint32_t ctrs:4;
1289#else
1290 uint32_t ctrs:4;
1291 uint32_t ctds:1;
1292 uint32_t reserved_5_31:27; 722 uint32_t reserved_5_31:27;
1293#endif
1294 } cn52xx;
1295 struct cvmx_pciercx_cfg037_cn52xx cn52xxp1;
1296 struct cvmx_pciercx_cfg037_cn52xx cn56xx;
1297 struct cvmx_pciercx_cfg037_cn52xx cn56xxp1;
1298 struct cvmx_pciercx_cfg037_cn61xx {
1299#ifdef __BIG_ENDIAN_BITFIELD
1300 uint32_t reserved_14_31:18;
1301 uint32_t tph:2;
1302 uint32_t reserved_11_11:1;
1303 uint32_t noroprpr:1;
1304 uint32_t atom128s:1;
1305 uint32_t atom64s:1;
1306 uint32_t atom32s:1;
1307 uint32_t atom_ops:1;
1308 uint32_t ari_fw:1;
1309 uint32_t ctds:1; 723 uint32_t ctds:1;
1310 uint32_t ctrs:4; 724 uint32_t ctrs:4;
1311#else 725 } s;
1312 uint32_t ctrs:4; 726 struct cvmx_pciercx_cfg037_s cn52xx;
1313 uint32_t ctds:1; 727 struct cvmx_pciercx_cfg037_s cn52xxp1;
1314 uint32_t ari_fw:1; 728 struct cvmx_pciercx_cfg037_s cn56xx;
1315 uint32_t atom_ops:1; 729 struct cvmx_pciercx_cfg037_s cn56xxp1;
1316 uint32_t atom32s:1; 730 struct cvmx_pciercx_cfg037_s cn63xx;
1317 uint32_t atom64s:1; 731 struct cvmx_pciercx_cfg037_s cn63xxp1;
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
1324 } cn61xx;
1325 struct cvmx_pciercx_cfg037_cn52xx cn63xx;
1326 struct cvmx_pciercx_cfg037_cn52xx cn63xxp1;
1327 struct cvmx_pciercx_cfg037_cn66xx {
1328#ifdef __BIG_ENDIAN_BITFIELD
1329 uint32_t reserved_14_31:18;
1330 uint32_t tph:2;
1331 uint32_t reserved_11_11:1;
1332 uint32_t noroprpr:1;
1333 uint32_t atom128s:1;
1334 uint32_t atom64s:1;
1335 uint32_t atom32s:1;
1336 uint32_t atom_ops:1;
1337 uint32_t ari:1;
1338 uint32_t ctds:1;
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
1353 } cn66xx;
1354 struct cvmx_pciercx_cfg037_cn66xx cn68xx;
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;
1387}; 732};
1388 733
1389union cvmx_pciercx_cfg038 { 734union cvmx_pciercx_cfg038 {
1390 uint32_t u32; 735 uint32_t u32;
1391 struct cvmx_pciercx_cfg038_s { 736 struct cvmx_pciercx_cfg038_s {
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;
1397 uint32_t id0_cp:1;
1398 uint32_t id0_rq:1;
1399 uint32_t atom_op_eb:1;
1400 uint32_t atom_op:1;
1401 uint32_t ari:1;
1402 uint32_t ctd:1;
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
1417 } s;
1418 struct cvmx_pciercx_cfg038_cn52xx {
1419#ifdef __BIG_ENDIAN_BITFIELD
1420 uint32_t reserved_5_31:27; 737 uint32_t reserved_5_31:27;
1421 uint32_t ctd:1; 738 uint32_t ctd:1;
1422 uint32_t ctv:4; 739 uint32_t ctv:4;
1423#else 740 } s;
1424 uint32_t ctv:4; 741 struct cvmx_pciercx_cfg038_s cn52xx;
1425 uint32_t ctd:1; 742 struct cvmx_pciercx_cfg038_s cn52xxp1;
1426 uint32_t reserved_5_31:27; 743 struct cvmx_pciercx_cfg038_s cn56xx;
1427#endif 744 struct cvmx_pciercx_cfg038_s cn56xxp1;
1428 } cn52xx; 745 struct cvmx_pciercx_cfg038_s cn63xx;
1429 struct cvmx_pciercx_cfg038_cn52xx cn52xxp1; 746 struct cvmx_pciercx_cfg038_s cn63xxp1;
1430 struct cvmx_pciercx_cfg038_cn52xx cn56xx;
1431 struct cvmx_pciercx_cfg038_cn52xx cn56xxp1;
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;
1453 struct cvmx_pciercx_cfg038_cn52xx cn63xx;
1454 struct cvmx_pciercx_cfg038_cn52xx cn63xxp1;
1455 struct cvmx_pciercx_cfg038_cn61xx cn66xx;
1456 struct cvmx_pciercx_cfg038_cn61xx cn68xx;
1457 struct cvmx_pciercx_cfg038_cn61xx cn68xxp1;
1458 struct cvmx_pciercx_cfg038_s cnf71xx;
1459}; 747};
1460 748
1461union cvmx_pciercx_cfg039 { 749union cvmx_pciercx_cfg039 {
1462 uint32_t u32; 750 uint32_t u32;
1463 struct cvmx_pciercx_cfg039_s { 751 struct cvmx_pciercx_cfg039_s {
1464#ifdef __BIG_ENDIAN_BITFIELD
1465 uint32_t reserved_9_31:23; 752 uint32_t reserved_9_31:23;
1466 uint32_t cls:1; 753 uint32_t cls:1;
1467 uint32_t slsv:7; 754 uint32_t slsv:7;
1468 uint32_t reserved_0_0:1; 755 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
1475 } s; 756 } s;
1476 struct cvmx_pciercx_cfg039_cn52xx { 757 struct cvmx_pciercx_cfg039_cn52xx {
1477#ifdef __BIG_ENDIAN_BITFIELD
1478 uint32_t reserved_0_31:32; 758 uint32_t reserved_0_31:32;
1479#else
1480 uint32_t reserved_0_31:32;
1481#endif
1482 } cn52xx; 759 } cn52xx;
1483 struct cvmx_pciercx_cfg039_cn52xx cn52xxp1; 760 struct cvmx_pciercx_cfg039_cn52xx cn52xxp1;
1484 struct cvmx_pciercx_cfg039_cn52xx cn56xx; 761 struct cvmx_pciercx_cfg039_cn52xx cn56xx;
1485 struct cvmx_pciercx_cfg039_cn52xx cn56xxp1; 762 struct cvmx_pciercx_cfg039_cn52xx cn56xxp1;
1486 struct cvmx_pciercx_cfg039_s cn61xx;
1487 struct cvmx_pciercx_cfg039_s cn63xx; 763 struct cvmx_pciercx_cfg039_s cn63xx;
1488 struct cvmx_pciercx_cfg039_cn52xx cn63xxp1; 764 struct cvmx_pciercx_cfg039_cn52xx cn63xxp1;
1489 struct cvmx_pciercx_cfg039_s cn66xx;
1490 struct cvmx_pciercx_cfg039_s cn68xx;
1491 struct cvmx_pciercx_cfg039_s cn68xxp1;
1492 struct cvmx_pciercx_cfg039_s cnf71xx;
1493}; 765};
1494 766
1495union cvmx_pciercx_cfg040 { 767union cvmx_pciercx_cfg040 {
1496 uint32_t u32; 768 uint32_t u32;
1497 struct cvmx_pciercx_cfg040_s { 769 struct cvmx_pciercx_cfg040_s {
1498#ifdef __BIG_ENDIAN_BITFIELD
1499 uint32_t reserved_17_31:15; 770 uint32_t reserved_17_31:15;
1500 uint32_t cdl:1; 771 uint32_t cdl:1;
1501 uint32_t reserved_13_15:3; 772 uint32_t reserved_13_15:3;
@@ -1507,193 +778,62 @@ union cvmx_pciercx_cfg040 {
1507 uint32_t hasd:1; 778 uint32_t hasd:1;
1508 uint32_t ec:1; 779 uint32_t ec:1;
1509 uint32_t tls:4; 780 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
1523 } s; 781 } s;
1524 struct cvmx_pciercx_cfg040_cn52xx { 782 struct cvmx_pciercx_cfg040_cn52xx {
1525#ifdef __BIG_ENDIAN_BITFIELD
1526 uint32_t reserved_0_31:32; 783 uint32_t reserved_0_31:32;
1527#else
1528 uint32_t reserved_0_31:32;
1529#endif
1530 } cn52xx; 784 } cn52xx;
1531 struct cvmx_pciercx_cfg040_cn52xx cn52xxp1; 785 struct cvmx_pciercx_cfg040_cn52xx cn52xxp1;
1532 struct cvmx_pciercx_cfg040_cn52xx cn56xx; 786 struct cvmx_pciercx_cfg040_cn52xx cn56xx;
1533 struct cvmx_pciercx_cfg040_cn52xx cn56xxp1; 787 struct cvmx_pciercx_cfg040_cn52xx cn56xxp1;
1534 struct cvmx_pciercx_cfg040_s cn61xx;
1535 struct cvmx_pciercx_cfg040_s cn63xx; 788 struct cvmx_pciercx_cfg040_s cn63xx;
1536 struct cvmx_pciercx_cfg040_s cn63xxp1; 789 struct cvmx_pciercx_cfg040_s cn63xxp1;
1537 struct cvmx_pciercx_cfg040_s cn66xx;
1538 struct cvmx_pciercx_cfg040_s cn68xx;
1539 struct cvmx_pciercx_cfg040_s cn68xxp1;
1540 struct cvmx_pciercx_cfg040_s cnf71xx;
1541}; 790};
1542 791
1543union cvmx_pciercx_cfg041 { 792union cvmx_pciercx_cfg041 {
1544 uint32_t u32; 793 uint32_t u32;
1545 struct cvmx_pciercx_cfg041_s { 794 struct cvmx_pciercx_cfg041_s {
1546#ifdef __BIG_ENDIAN_BITFIELD
1547 uint32_t reserved_0_31:32; 795 uint32_t reserved_0_31:32;
1548#else
1549 uint32_t reserved_0_31:32;
1550#endif
1551 } s; 796 } s;
1552 struct cvmx_pciercx_cfg041_s cn52xx; 797 struct cvmx_pciercx_cfg041_s cn52xx;
1553 struct cvmx_pciercx_cfg041_s cn52xxp1; 798 struct cvmx_pciercx_cfg041_s cn52xxp1;
1554 struct cvmx_pciercx_cfg041_s cn56xx; 799 struct cvmx_pciercx_cfg041_s cn56xx;
1555 struct cvmx_pciercx_cfg041_s cn56xxp1; 800 struct cvmx_pciercx_cfg041_s cn56xxp1;
1556 struct cvmx_pciercx_cfg041_s cn61xx;
1557 struct cvmx_pciercx_cfg041_s cn63xx; 801 struct cvmx_pciercx_cfg041_s cn63xx;
1558 struct cvmx_pciercx_cfg041_s cn63xxp1; 802 struct cvmx_pciercx_cfg041_s cn63xxp1;
1559 struct cvmx_pciercx_cfg041_s cn66xx;
1560 struct cvmx_pciercx_cfg041_s cn68xx;
1561 struct cvmx_pciercx_cfg041_s cn68xxp1;
1562 struct cvmx_pciercx_cfg041_s cnf71xx;
1563}; 803};
1564 804
1565union cvmx_pciercx_cfg042 { 805union cvmx_pciercx_cfg042 {
1566 uint32_t u32; 806 uint32_t u32;
1567 struct cvmx_pciercx_cfg042_s { 807 struct cvmx_pciercx_cfg042_s {
1568#ifdef __BIG_ENDIAN_BITFIELD
1569 uint32_t reserved_0_31:32; 808 uint32_t reserved_0_31:32;
1570#else
1571 uint32_t reserved_0_31:32;
1572#endif
1573 } s; 809 } s;
1574 struct cvmx_pciercx_cfg042_s cn52xx; 810 struct cvmx_pciercx_cfg042_s cn52xx;
1575 struct cvmx_pciercx_cfg042_s cn52xxp1; 811 struct cvmx_pciercx_cfg042_s cn52xxp1;
1576 struct cvmx_pciercx_cfg042_s cn56xx; 812 struct cvmx_pciercx_cfg042_s cn56xx;
1577 struct cvmx_pciercx_cfg042_s cn56xxp1; 813 struct cvmx_pciercx_cfg042_s cn56xxp1;
1578 struct cvmx_pciercx_cfg042_s cn61xx;
1579 struct cvmx_pciercx_cfg042_s cn63xx; 814 struct cvmx_pciercx_cfg042_s cn63xx;
1580 struct cvmx_pciercx_cfg042_s cn63xxp1; 815 struct cvmx_pciercx_cfg042_s cn63xxp1;
1581 struct cvmx_pciercx_cfg042_s cn66xx;
1582 struct cvmx_pciercx_cfg042_s cn68xx;
1583 struct cvmx_pciercx_cfg042_s cn68xxp1;
1584 struct cvmx_pciercx_cfg042_s cnf71xx;
1585}; 816};
1586 817
1587union cvmx_pciercx_cfg064 { 818union cvmx_pciercx_cfg064 {
1588 uint32_t u32; 819 uint32_t u32;
1589 struct cvmx_pciercx_cfg064_s { 820 struct cvmx_pciercx_cfg064_s {
1590#ifdef __BIG_ENDIAN_BITFIELD
1591 uint32_t nco:12; 821 uint32_t nco:12;
1592 uint32_t cv:4; 822 uint32_t cv:4;
1593 uint32_t pcieec:16; 823 uint32_t pcieec:16;
1594#else
1595 uint32_t pcieec:16;
1596 uint32_t cv:4;
1597 uint32_t nco:12;
1598#endif
1599 } s; 824 } s;
1600 struct cvmx_pciercx_cfg064_s cn52xx; 825 struct cvmx_pciercx_cfg064_s cn52xx;
1601 struct cvmx_pciercx_cfg064_s cn52xxp1; 826 struct cvmx_pciercx_cfg064_s cn52xxp1;
1602 struct cvmx_pciercx_cfg064_s cn56xx; 827 struct cvmx_pciercx_cfg064_s cn56xx;
1603 struct cvmx_pciercx_cfg064_s cn56xxp1; 828 struct cvmx_pciercx_cfg064_s cn56xxp1;
1604 struct cvmx_pciercx_cfg064_s cn61xx;
1605 struct cvmx_pciercx_cfg064_s cn63xx; 829 struct cvmx_pciercx_cfg064_s cn63xx;
1606 struct cvmx_pciercx_cfg064_s cn63xxp1; 830 struct cvmx_pciercx_cfg064_s cn63xxp1;
1607 struct cvmx_pciercx_cfg064_s cn66xx;
1608 struct cvmx_pciercx_cfg064_s cn68xx;
1609 struct cvmx_pciercx_cfg064_s cn68xxp1;
1610 struct cvmx_pciercx_cfg064_s cnf71xx;
1611}; 831};
1612 832
1613union cvmx_pciercx_cfg065 { 833union cvmx_pciercx_cfg065 {
1614 uint32_t u32; 834 uint32_t u32;
1615 struct cvmx_pciercx_cfg065_s { 835 struct cvmx_pciercx_cfg065_s {
1616#ifdef __BIG_ENDIAN_BITFIELD
1617 uint32_t reserved_25_31:7;
1618 uint32_t uatombs:1;
1619 uint32_t reserved_23_23:1;
1620 uint32_t ucies:1;
1621 uint32_t reserved_21_21:1;
1622 uint32_t ures:1;
1623 uint32_t ecrces:1;
1624 uint32_t mtlps:1;
1625 uint32_t ros:1;
1626 uint32_t ucs:1;
1627 uint32_t cas:1;
1628 uint32_t cts:1;
1629 uint32_t fcpes:1;
1630 uint32_t ptlps:1;
1631 uint32_t reserved_6_11:6;
1632 uint32_t sdes:1;
1633 uint32_t dlpes:1;
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
1655 } s;
1656 struct cvmx_pciercx_cfg065_cn52xx {
1657#ifdef __BIG_ENDIAN_BITFIELD
1658 uint32_t reserved_21_31:11;
1659 uint32_t ures:1;
1660 uint32_t ecrces:1;
1661 uint32_t mtlps:1;
1662 uint32_t ros:1;
1663 uint32_t ucs:1;
1664 uint32_t cas:1;
1665 uint32_t cts:1;
1666 uint32_t fcpes:1;
1667 uint32_t ptlps:1;
1668 uint32_t reserved_6_11:6;
1669 uint32_t sdes:1;
1670 uint32_t dlpes:1;
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; 836 uint32_t reserved_21_31:11;
1687#endif
1688 } cn52xx;
1689 struct cvmx_pciercx_cfg065_cn52xx cn52xxp1;
1690 struct cvmx_pciercx_cfg065_cn52xx cn56xx;
1691 struct cvmx_pciercx_cfg065_cn52xx cn56xxp1;
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; 837 uint32_t ures:1;
1698 uint32_t ecrces:1; 838 uint32_t ecrces:1;
1699 uint32_t mtlps:1; 839 uint32_t mtlps:1;
@@ -1707,117 +847,19 @@ union cvmx_pciercx_cfg065 {
1707 uint32_t sdes:1; 847 uint32_t sdes:1;
1708 uint32_t dlpes:1; 848 uint32_t dlpes:1;
1709 uint32_t reserved_0_3:4; 849 uint32_t reserved_0_3:4;
1710#else 850 } s;
1711 uint32_t reserved_0_3:4; 851 struct cvmx_pciercx_cfg065_s cn52xx;
1712 uint32_t dlpes:1; 852 struct cvmx_pciercx_cfg065_s cn52xxp1;
1713 uint32_t sdes:1; 853 struct cvmx_pciercx_cfg065_s cn56xx;
1714 uint32_t reserved_6_11:6; 854 struct cvmx_pciercx_cfg065_s cn56xxp1;
1715 uint32_t ptlps:1; 855 struct cvmx_pciercx_cfg065_s cn63xx;
1716 uint32_t fcpes:1; 856 struct cvmx_pciercx_cfg065_s cn63xxp1;
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;
1729 struct cvmx_pciercx_cfg065_cn52xx cn63xx;
1730 struct cvmx_pciercx_cfg065_cn52xx cn63xxp1;
1731 struct cvmx_pciercx_cfg065_cn61xx cn66xx;
1732 struct cvmx_pciercx_cfg065_cn61xx cn68xx;
1733 struct cvmx_pciercx_cfg065_cn52xx cn68xxp1;
1734 struct cvmx_pciercx_cfg065_s cnf71xx;
1735}; 857};
1736 858
1737union cvmx_pciercx_cfg066 { 859union cvmx_pciercx_cfg066 {
1738 uint32_t u32; 860 uint32_t u32;
1739 struct cvmx_pciercx_cfg066_s { 861 struct cvmx_pciercx_cfg066_s {
1740#ifdef __BIG_ENDIAN_BITFIELD
1741 uint32_t reserved_25_31:7;
1742 uint32_t uatombm:1;
1743 uint32_t reserved_23_23:1;
1744 uint32_t uciem:1;
1745 uint32_t reserved_21_21:1;
1746 uint32_t urem:1;
1747 uint32_t ecrcem:1;
1748 uint32_t mtlpm:1;
1749 uint32_t rom:1;
1750 uint32_t ucm:1;
1751 uint32_t cam:1;
1752 uint32_t ctm:1;
1753 uint32_t fcpem:1;
1754 uint32_t ptlpm:1;
1755 uint32_t reserved_6_11:6;
1756 uint32_t sdem:1;
1757 uint32_t dlpem:1;
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
1779 } s;
1780 struct cvmx_pciercx_cfg066_cn52xx {
1781#ifdef __BIG_ENDIAN_BITFIELD
1782 uint32_t reserved_21_31:11;
1783 uint32_t urem:1;
1784 uint32_t ecrcem:1;
1785 uint32_t mtlpm:1;
1786 uint32_t rom:1;
1787 uint32_t ucm:1;
1788 uint32_t cam:1;
1789 uint32_t ctm:1;
1790 uint32_t fcpem:1;
1791 uint32_t ptlpm:1;
1792 uint32_t reserved_6_11:6;
1793 uint32_t sdem:1;
1794 uint32_t dlpem:1;
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; 862 uint32_t reserved_21_31:11;
1811#endif
1812 } cn52xx;
1813 struct cvmx_pciercx_cfg066_cn52xx cn52xxp1;
1814 struct cvmx_pciercx_cfg066_cn52xx cn56xx;
1815 struct cvmx_pciercx_cfg066_cn52xx cn56xxp1;
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; 863 uint32_t urem:1;
1822 uint32_t ecrcem:1; 864 uint32_t ecrcem:1;
1823 uint32_t mtlpm:1; 865 uint32_t mtlpm:1;
@@ -1831,117 +873,19 @@ union cvmx_pciercx_cfg066 {
1831 uint32_t sdem:1; 873 uint32_t sdem:1;
1832 uint32_t dlpem:1; 874 uint32_t dlpem:1;
1833 uint32_t reserved_0_3:4; 875 uint32_t reserved_0_3:4;
1834#else 876 } s;
1835 uint32_t reserved_0_3:4; 877 struct cvmx_pciercx_cfg066_s cn52xx;
1836 uint32_t dlpem:1; 878 struct cvmx_pciercx_cfg066_s cn52xxp1;
1837 uint32_t sdem:1; 879 struct cvmx_pciercx_cfg066_s cn56xx;
1838 uint32_t reserved_6_11:6; 880 struct cvmx_pciercx_cfg066_s cn56xxp1;
1839 uint32_t ptlpm:1; 881 struct cvmx_pciercx_cfg066_s cn63xx;
1840 uint32_t fcpem:1; 882 struct cvmx_pciercx_cfg066_s cn63xxp1;
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;
1853 struct cvmx_pciercx_cfg066_cn52xx cn63xx;
1854 struct cvmx_pciercx_cfg066_cn52xx cn63xxp1;
1855 struct cvmx_pciercx_cfg066_cn61xx cn66xx;
1856 struct cvmx_pciercx_cfg066_cn61xx cn68xx;
1857 struct cvmx_pciercx_cfg066_cn52xx cn68xxp1;
1858 struct cvmx_pciercx_cfg066_s cnf71xx;
1859}; 883};
1860 884
1861union cvmx_pciercx_cfg067 { 885union cvmx_pciercx_cfg067 {
1862 uint32_t u32; 886 uint32_t u32;
1863 struct cvmx_pciercx_cfg067_s { 887 struct cvmx_pciercx_cfg067_s {
1864#ifdef __BIG_ENDIAN_BITFIELD
1865 uint32_t reserved_25_31:7;
1866 uint32_t uatombs:1;
1867 uint32_t reserved_23_23:1;
1868 uint32_t ucies:1;
1869 uint32_t reserved_21_21:1;
1870 uint32_t ures:1;
1871 uint32_t ecrces:1;
1872 uint32_t mtlps:1;
1873 uint32_t ros:1;
1874 uint32_t ucs:1;
1875 uint32_t cas:1;
1876 uint32_t cts:1;
1877 uint32_t fcpes:1;
1878 uint32_t ptlps:1;
1879 uint32_t reserved_6_11:6;
1880 uint32_t sdes:1;
1881 uint32_t dlpes:1;
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
1903 } s;
1904 struct cvmx_pciercx_cfg067_cn52xx {
1905#ifdef __BIG_ENDIAN_BITFIELD
1906 uint32_t reserved_21_31:11;
1907 uint32_t ures:1;
1908 uint32_t ecrces:1;
1909 uint32_t mtlps:1;
1910 uint32_t ros:1;
1911 uint32_t ucs:1;
1912 uint32_t cas:1;
1913 uint32_t cts:1;
1914 uint32_t fcpes:1;
1915 uint32_t ptlps:1;
1916 uint32_t reserved_6_11:6;
1917 uint32_t sdes:1;
1918 uint32_t dlpes:1;
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; 888 uint32_t reserved_21_31:11;
1935#endif
1936 } cn52xx;
1937 struct cvmx_pciercx_cfg067_cn52xx cn52xxp1;
1938 struct cvmx_pciercx_cfg067_cn52xx cn56xx;
1939 struct cvmx_pciercx_cfg067_cn52xx cn56xxp1;
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; 889 uint32_t ures:1;
1946 uint32_t ecrces:1; 890 uint32_t ecrces:1;
1947 uint32_t mtlps:1; 891 uint32_t mtlps:1;
@@ -1955,62 +899,18 @@ union cvmx_pciercx_cfg067 {
1955 uint32_t sdes:1; 899 uint32_t sdes:1;
1956 uint32_t dlpes:1; 900 uint32_t dlpes:1;
1957 uint32_t reserved_0_3:4; 901 uint32_t reserved_0_3:4;
1958#else 902 } s;
1959 uint32_t reserved_0_3:4; 903 struct cvmx_pciercx_cfg067_s cn52xx;
1960 uint32_t dlpes:1; 904 struct cvmx_pciercx_cfg067_s cn52xxp1;
1961 uint32_t sdes:1; 905 struct cvmx_pciercx_cfg067_s cn56xx;
1962 uint32_t reserved_6_11:6; 906 struct cvmx_pciercx_cfg067_s cn56xxp1;
1963 uint32_t ptlps:1; 907 struct cvmx_pciercx_cfg067_s cn63xx;
1964 uint32_t fcpes:1; 908 struct cvmx_pciercx_cfg067_s cn63xxp1;
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;
1977 struct cvmx_pciercx_cfg067_cn52xx cn63xx;
1978 struct cvmx_pciercx_cfg067_cn52xx cn63xxp1;
1979 struct cvmx_pciercx_cfg067_cn61xx cn66xx;
1980 struct cvmx_pciercx_cfg067_cn61xx cn68xx;
1981 struct cvmx_pciercx_cfg067_cn52xx cn68xxp1;
1982 struct cvmx_pciercx_cfg067_s cnf71xx;
1983}; 909};
1984 910
1985union cvmx_pciercx_cfg068 { 911union cvmx_pciercx_cfg068 {
1986 uint32_t u32; 912 uint32_t u32;
1987 struct cvmx_pciercx_cfg068_s { 913 struct cvmx_pciercx_cfg068_s {
1988#ifdef __BIG_ENDIAN_BITFIELD
1989 uint32_t reserved_15_31:17;
1990 uint32_t cies:1;
1991 uint32_t anfes:1;
1992 uint32_t rtts:1;
1993 uint32_t reserved_9_11:3;
1994 uint32_t rnrs:1;
1995 uint32_t bdllps:1;
1996 uint32_t btlps:1;
1997 uint32_t reserved_1_5:5;
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
2011 } s;
2012 struct cvmx_pciercx_cfg068_cn52xx {
2013#ifdef __BIG_ENDIAN_BITFIELD
2014 uint32_t reserved_14_31:18; 914 uint32_t reserved_14_31:18;
2015 uint32_t anfes:1; 915 uint32_t anfes:1;
2016 uint32_t rtts:1; 916 uint32_t rtts:1;
@@ -2020,59 +920,18 @@ union cvmx_pciercx_cfg068 {
2020 uint32_t btlps:1; 920 uint32_t btlps:1;
2021 uint32_t reserved_1_5:5; 921 uint32_t reserved_1_5:5;
2022 uint32_t res:1; 922 uint32_t res:1;
2023#else 923 } s;
2024 uint32_t res:1; 924 struct cvmx_pciercx_cfg068_s cn52xx;
2025 uint32_t reserved_1_5:5; 925 struct cvmx_pciercx_cfg068_s cn52xxp1;
2026 uint32_t btlps:1; 926 struct cvmx_pciercx_cfg068_s cn56xx;
2027 uint32_t bdllps:1; 927 struct cvmx_pciercx_cfg068_s cn56xxp1;
2028 uint32_t rnrs:1; 928 struct cvmx_pciercx_cfg068_s cn63xx;
2029 uint32_t reserved_9_11:3; 929 struct cvmx_pciercx_cfg068_s cn63xxp1;
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;
2045}; 930};
2046 931
2047union cvmx_pciercx_cfg069 { 932union cvmx_pciercx_cfg069 {
2048 uint32_t u32; 933 uint32_t u32;
2049 struct cvmx_pciercx_cfg069_s { 934 struct cvmx_pciercx_cfg069_s {
2050#ifdef __BIG_ENDIAN_BITFIELD
2051 uint32_t reserved_15_31:17;
2052 uint32_t ciem:1;
2053 uint32_t anfem:1;
2054 uint32_t rttm:1;
2055 uint32_t reserved_9_11:3;
2056 uint32_t rnrm:1;
2057 uint32_t bdllpm:1;
2058 uint32_t btlpm:1;
2059 uint32_t reserved_1_5:5;
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
2073 } s;
2074 struct cvmx_pciercx_cfg069_cn52xx {
2075#ifdef __BIG_ENDIAN_BITFIELD
2076 uint32_t reserved_14_31:18; 935 uint32_t reserved_14_31:18;
2077 uint32_t anfem:1; 936 uint32_t anfem:1;
2078 uint32_t rttm:1; 937 uint32_t rttm:1;
@@ -2082,182 +941,104 @@ union cvmx_pciercx_cfg069 {
2082 uint32_t btlpm:1; 941 uint32_t btlpm:1;
2083 uint32_t reserved_1_5:5; 942 uint32_t reserved_1_5:5;
2084 uint32_t rem:1; 943 uint32_t rem:1;
2085#else 944 } s;
2086 uint32_t rem:1; 945 struct cvmx_pciercx_cfg069_s cn52xx;
2087 uint32_t reserved_1_5:5; 946 struct cvmx_pciercx_cfg069_s cn52xxp1;
2088 uint32_t btlpm:1; 947 struct cvmx_pciercx_cfg069_s cn56xx;
2089 uint32_t bdllpm:1; 948 struct cvmx_pciercx_cfg069_s cn56xxp1;
2090 uint32_t rnrm:1; 949 struct cvmx_pciercx_cfg069_s cn63xx;
2091 uint32_t reserved_9_11:3; 950 struct cvmx_pciercx_cfg069_s cn63xxp1;
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;
2107}; 951};
2108 952
2109union cvmx_pciercx_cfg070 { 953union cvmx_pciercx_cfg070 {
2110 uint32_t u32; 954 uint32_t u32;
2111 struct cvmx_pciercx_cfg070_s { 955 struct cvmx_pciercx_cfg070_s {
2112#ifdef __BIG_ENDIAN_BITFIELD
2113 uint32_t reserved_9_31:23; 956 uint32_t reserved_9_31:23;
2114 uint32_t ce:1; 957 uint32_t ce:1;
2115 uint32_t cc:1; 958 uint32_t cc:1;
2116 uint32_t ge:1; 959 uint32_t ge:1;
2117 uint32_t gc:1; 960 uint32_t gc:1;
2118 uint32_t fep:5; 961 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
2127 } s; 962 } s;
2128 struct cvmx_pciercx_cfg070_s cn52xx; 963 struct cvmx_pciercx_cfg070_s cn52xx;
2129 struct cvmx_pciercx_cfg070_s cn52xxp1; 964 struct cvmx_pciercx_cfg070_s cn52xxp1;
2130 struct cvmx_pciercx_cfg070_s cn56xx; 965 struct cvmx_pciercx_cfg070_s cn56xx;
2131 struct cvmx_pciercx_cfg070_s cn56xxp1; 966 struct cvmx_pciercx_cfg070_s cn56xxp1;
2132 struct cvmx_pciercx_cfg070_s cn61xx;
2133 struct cvmx_pciercx_cfg070_s cn63xx; 967 struct cvmx_pciercx_cfg070_s cn63xx;
2134 struct cvmx_pciercx_cfg070_s cn63xxp1; 968 struct cvmx_pciercx_cfg070_s cn63xxp1;
2135 struct cvmx_pciercx_cfg070_s cn66xx;
2136 struct cvmx_pciercx_cfg070_s cn68xx;
2137 struct cvmx_pciercx_cfg070_s cn68xxp1;
2138 struct cvmx_pciercx_cfg070_s cnf71xx;
2139}; 969};
2140 970
2141union cvmx_pciercx_cfg071 { 971union cvmx_pciercx_cfg071 {
2142 uint32_t u32; 972 uint32_t u32;
2143 struct cvmx_pciercx_cfg071_s { 973 struct cvmx_pciercx_cfg071_s {
2144#ifdef __BIG_ENDIAN_BITFIELD
2145 uint32_t dword1:32; 974 uint32_t dword1:32;
2146#else
2147 uint32_t dword1:32;
2148#endif
2149 } s; 975 } s;
2150 struct cvmx_pciercx_cfg071_s cn52xx; 976 struct cvmx_pciercx_cfg071_s cn52xx;
2151 struct cvmx_pciercx_cfg071_s cn52xxp1; 977 struct cvmx_pciercx_cfg071_s cn52xxp1;
2152 struct cvmx_pciercx_cfg071_s cn56xx; 978 struct cvmx_pciercx_cfg071_s cn56xx;
2153 struct cvmx_pciercx_cfg071_s cn56xxp1; 979 struct cvmx_pciercx_cfg071_s cn56xxp1;
2154 struct cvmx_pciercx_cfg071_s cn61xx;
2155 struct cvmx_pciercx_cfg071_s cn63xx; 980 struct cvmx_pciercx_cfg071_s cn63xx;
2156 struct cvmx_pciercx_cfg071_s cn63xxp1; 981 struct cvmx_pciercx_cfg071_s cn63xxp1;
2157 struct cvmx_pciercx_cfg071_s cn66xx;
2158 struct cvmx_pciercx_cfg071_s cn68xx;
2159 struct cvmx_pciercx_cfg071_s cn68xxp1;
2160 struct cvmx_pciercx_cfg071_s cnf71xx;
2161}; 982};
2162 983
2163union cvmx_pciercx_cfg072 { 984union cvmx_pciercx_cfg072 {
2164 uint32_t u32; 985 uint32_t u32;
2165 struct cvmx_pciercx_cfg072_s { 986 struct cvmx_pciercx_cfg072_s {
2166#ifdef __BIG_ENDIAN_BITFIELD
2167 uint32_t dword2:32;
2168#else
2169 uint32_t dword2:32; 987 uint32_t dword2:32;
2170#endif
2171 } s; 988 } s;
2172 struct cvmx_pciercx_cfg072_s cn52xx; 989 struct cvmx_pciercx_cfg072_s cn52xx;
2173 struct cvmx_pciercx_cfg072_s cn52xxp1; 990 struct cvmx_pciercx_cfg072_s cn52xxp1;
2174 struct cvmx_pciercx_cfg072_s cn56xx; 991 struct cvmx_pciercx_cfg072_s cn56xx;
2175 struct cvmx_pciercx_cfg072_s cn56xxp1; 992 struct cvmx_pciercx_cfg072_s cn56xxp1;
2176 struct cvmx_pciercx_cfg072_s cn61xx;
2177 struct cvmx_pciercx_cfg072_s cn63xx; 993 struct cvmx_pciercx_cfg072_s cn63xx;
2178 struct cvmx_pciercx_cfg072_s cn63xxp1; 994 struct cvmx_pciercx_cfg072_s cn63xxp1;
2179 struct cvmx_pciercx_cfg072_s cn66xx;
2180 struct cvmx_pciercx_cfg072_s cn68xx;
2181 struct cvmx_pciercx_cfg072_s cn68xxp1;
2182 struct cvmx_pciercx_cfg072_s cnf71xx;
2183}; 995};
2184 996
2185union cvmx_pciercx_cfg073 { 997union cvmx_pciercx_cfg073 {
2186 uint32_t u32; 998 uint32_t u32;
2187 struct cvmx_pciercx_cfg073_s { 999 struct cvmx_pciercx_cfg073_s {
2188#ifdef __BIG_ENDIAN_BITFIELD
2189 uint32_t dword3:32;
2190#else
2191 uint32_t dword3:32; 1000 uint32_t dword3:32;
2192#endif
2193 } s; 1001 } s;
2194 struct cvmx_pciercx_cfg073_s cn52xx; 1002 struct cvmx_pciercx_cfg073_s cn52xx;
2195 struct cvmx_pciercx_cfg073_s cn52xxp1; 1003 struct cvmx_pciercx_cfg073_s cn52xxp1;
2196 struct cvmx_pciercx_cfg073_s cn56xx; 1004 struct cvmx_pciercx_cfg073_s cn56xx;
2197 struct cvmx_pciercx_cfg073_s cn56xxp1; 1005 struct cvmx_pciercx_cfg073_s cn56xxp1;
2198 struct cvmx_pciercx_cfg073_s cn61xx;
2199 struct cvmx_pciercx_cfg073_s cn63xx; 1006 struct cvmx_pciercx_cfg073_s cn63xx;
2200 struct cvmx_pciercx_cfg073_s cn63xxp1; 1007 struct cvmx_pciercx_cfg073_s cn63xxp1;
2201 struct cvmx_pciercx_cfg073_s cn66xx;
2202 struct cvmx_pciercx_cfg073_s cn68xx;
2203 struct cvmx_pciercx_cfg073_s cn68xxp1;
2204 struct cvmx_pciercx_cfg073_s cnf71xx;
2205}; 1008};
2206 1009
2207union cvmx_pciercx_cfg074 { 1010union cvmx_pciercx_cfg074 {
2208 uint32_t u32; 1011 uint32_t u32;
2209 struct cvmx_pciercx_cfg074_s { 1012 struct cvmx_pciercx_cfg074_s {
2210#ifdef __BIG_ENDIAN_BITFIELD
2211 uint32_t dword4:32;
2212#else
2213 uint32_t dword4:32; 1013 uint32_t dword4:32;
2214#endif
2215 } s; 1014 } s;
2216 struct cvmx_pciercx_cfg074_s cn52xx; 1015 struct cvmx_pciercx_cfg074_s cn52xx;
2217 struct cvmx_pciercx_cfg074_s cn52xxp1; 1016 struct cvmx_pciercx_cfg074_s cn52xxp1;
2218 struct cvmx_pciercx_cfg074_s cn56xx; 1017 struct cvmx_pciercx_cfg074_s cn56xx;
2219 struct cvmx_pciercx_cfg074_s cn56xxp1; 1018 struct cvmx_pciercx_cfg074_s cn56xxp1;
2220 struct cvmx_pciercx_cfg074_s cn61xx;
2221 struct cvmx_pciercx_cfg074_s cn63xx; 1019 struct cvmx_pciercx_cfg074_s cn63xx;
2222 struct cvmx_pciercx_cfg074_s cn63xxp1; 1020 struct cvmx_pciercx_cfg074_s cn63xxp1;
2223 struct cvmx_pciercx_cfg074_s cn66xx;
2224 struct cvmx_pciercx_cfg074_s cn68xx;
2225 struct cvmx_pciercx_cfg074_s cn68xxp1;
2226 struct cvmx_pciercx_cfg074_s cnf71xx;
2227}; 1021};
2228 1022
2229union cvmx_pciercx_cfg075 { 1023union cvmx_pciercx_cfg075 {
2230 uint32_t u32; 1024 uint32_t u32;
2231 struct cvmx_pciercx_cfg075_s { 1025 struct cvmx_pciercx_cfg075_s {
2232#ifdef __BIG_ENDIAN_BITFIELD
2233 uint32_t reserved_3_31:29; 1026 uint32_t reserved_3_31:29;
2234 uint32_t fere:1; 1027 uint32_t fere:1;
2235 uint32_t nfere:1; 1028 uint32_t nfere:1;
2236 uint32_t cere:1; 1029 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
2243 } s; 1030 } s;
2244 struct cvmx_pciercx_cfg075_s cn52xx; 1031 struct cvmx_pciercx_cfg075_s cn52xx;
2245 struct cvmx_pciercx_cfg075_s cn52xxp1; 1032 struct cvmx_pciercx_cfg075_s cn52xxp1;
2246 struct cvmx_pciercx_cfg075_s cn56xx; 1033 struct cvmx_pciercx_cfg075_s cn56xx;
2247 struct cvmx_pciercx_cfg075_s cn56xxp1; 1034 struct cvmx_pciercx_cfg075_s cn56xxp1;
2248 struct cvmx_pciercx_cfg075_s cn61xx;
2249 struct cvmx_pciercx_cfg075_s cn63xx; 1035 struct cvmx_pciercx_cfg075_s cn63xx;
2250 struct cvmx_pciercx_cfg075_s cn63xxp1; 1036 struct cvmx_pciercx_cfg075_s cn63xxp1;
2251 struct cvmx_pciercx_cfg075_s cn66xx;
2252 struct cvmx_pciercx_cfg075_s cn68xx;
2253 struct cvmx_pciercx_cfg075_s cn68xxp1;
2254 struct cvmx_pciercx_cfg075_s cnf71xx;
2255}; 1037};
2256 1038
2257union cvmx_pciercx_cfg076 { 1039union cvmx_pciercx_cfg076 {
2258 uint32_t u32; 1040 uint32_t u32;
2259 struct cvmx_pciercx_cfg076_s { 1041 struct cvmx_pciercx_cfg076_s {
2260#ifdef __BIG_ENDIAN_BITFIELD
2261 uint32_t aeimn:5; 1042 uint32_t aeimn:5;
2262 uint32_t reserved_7_26:20; 1043 uint32_t reserved_7_26:20;
2263 uint32_t femr:1; 1044 uint32_t femr:1;
@@ -2267,187 +1048,95 @@ union cvmx_pciercx_cfg076 {
2267 uint32_t efnfr:1; 1048 uint32_t efnfr:1;
2268 uint32_t multi_ecr:1; 1049 uint32_t multi_ecr:1;
2269 uint32_t ecr:1; 1050 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
2281 } s; 1051 } s;
2282 struct cvmx_pciercx_cfg076_s cn52xx; 1052 struct cvmx_pciercx_cfg076_s cn52xx;
2283 struct cvmx_pciercx_cfg076_s cn52xxp1; 1053 struct cvmx_pciercx_cfg076_s cn52xxp1;
2284 struct cvmx_pciercx_cfg076_s cn56xx; 1054 struct cvmx_pciercx_cfg076_s cn56xx;
2285 struct cvmx_pciercx_cfg076_s cn56xxp1; 1055 struct cvmx_pciercx_cfg076_s cn56xxp1;
2286 struct cvmx_pciercx_cfg076_s cn61xx;
2287 struct cvmx_pciercx_cfg076_s cn63xx; 1056 struct cvmx_pciercx_cfg076_s cn63xx;
2288 struct cvmx_pciercx_cfg076_s cn63xxp1; 1057 struct cvmx_pciercx_cfg076_s cn63xxp1;
2289 struct cvmx_pciercx_cfg076_s cn66xx;
2290 struct cvmx_pciercx_cfg076_s cn68xx;
2291 struct cvmx_pciercx_cfg076_s cn68xxp1;
2292 struct cvmx_pciercx_cfg076_s cnf71xx;
2293}; 1058};
2294 1059
2295union cvmx_pciercx_cfg077 { 1060union cvmx_pciercx_cfg077 {
2296 uint32_t u32; 1061 uint32_t u32;
2297 struct cvmx_pciercx_cfg077_s { 1062 struct cvmx_pciercx_cfg077_s {
2298#ifdef __BIG_ENDIAN_BITFIELD
2299 uint32_t efnfsi:16; 1063 uint32_t efnfsi:16;
2300 uint32_t ecsi:16; 1064 uint32_t ecsi:16;
2301#else
2302 uint32_t ecsi:16;
2303 uint32_t efnfsi:16;
2304#endif
2305 } s; 1065 } s;
2306 struct cvmx_pciercx_cfg077_s cn52xx; 1066 struct cvmx_pciercx_cfg077_s cn52xx;
2307 struct cvmx_pciercx_cfg077_s cn52xxp1; 1067 struct cvmx_pciercx_cfg077_s cn52xxp1;
2308 struct cvmx_pciercx_cfg077_s cn56xx; 1068 struct cvmx_pciercx_cfg077_s cn56xx;
2309 struct cvmx_pciercx_cfg077_s cn56xxp1; 1069 struct cvmx_pciercx_cfg077_s cn56xxp1;
2310 struct cvmx_pciercx_cfg077_s cn61xx;
2311 struct cvmx_pciercx_cfg077_s cn63xx; 1070 struct cvmx_pciercx_cfg077_s cn63xx;
2312 struct cvmx_pciercx_cfg077_s cn63xxp1; 1071 struct cvmx_pciercx_cfg077_s cn63xxp1;
2313 struct cvmx_pciercx_cfg077_s cn66xx;
2314 struct cvmx_pciercx_cfg077_s cn68xx;
2315 struct cvmx_pciercx_cfg077_s cn68xxp1;
2316 struct cvmx_pciercx_cfg077_s cnf71xx;
2317}; 1072};
2318 1073
2319union cvmx_pciercx_cfg448 { 1074union cvmx_pciercx_cfg448 {
2320 uint32_t u32; 1075 uint32_t u32;
2321 struct cvmx_pciercx_cfg448_s { 1076 struct cvmx_pciercx_cfg448_s {
2322#ifdef __BIG_ENDIAN_BITFIELD
2323 uint32_t rtl:16; 1077 uint32_t rtl:16;
2324 uint32_t rtltl:16; 1078 uint32_t rtltl:16;
2325#else
2326 uint32_t rtltl:16;
2327 uint32_t rtl:16;
2328#endif
2329 } s; 1079 } s;
2330 struct cvmx_pciercx_cfg448_s cn52xx; 1080 struct cvmx_pciercx_cfg448_s cn52xx;
2331 struct cvmx_pciercx_cfg448_s cn52xxp1; 1081 struct cvmx_pciercx_cfg448_s cn52xxp1;
2332 struct cvmx_pciercx_cfg448_s cn56xx; 1082 struct cvmx_pciercx_cfg448_s cn56xx;
2333 struct cvmx_pciercx_cfg448_s cn56xxp1; 1083 struct cvmx_pciercx_cfg448_s cn56xxp1;
2334 struct cvmx_pciercx_cfg448_s cn61xx;
2335 struct cvmx_pciercx_cfg448_s cn63xx; 1084 struct cvmx_pciercx_cfg448_s cn63xx;
2336 struct cvmx_pciercx_cfg448_s cn63xxp1; 1085 struct cvmx_pciercx_cfg448_s cn63xxp1;
2337 struct cvmx_pciercx_cfg448_s cn66xx;
2338 struct cvmx_pciercx_cfg448_s cn68xx;
2339 struct cvmx_pciercx_cfg448_s cn68xxp1;
2340 struct cvmx_pciercx_cfg448_s cnf71xx;
2341}; 1086};
2342 1087
2343union cvmx_pciercx_cfg449 { 1088union cvmx_pciercx_cfg449 {
2344 uint32_t u32; 1089 uint32_t u32;
2345 struct cvmx_pciercx_cfg449_s { 1090 struct cvmx_pciercx_cfg449_s {
2346#ifdef __BIG_ENDIAN_BITFIELD
2347 uint32_t omr:32; 1091 uint32_t omr:32;
2348#else
2349 uint32_t omr:32;
2350#endif
2351 } s; 1092 } s;
2352 struct cvmx_pciercx_cfg449_s cn52xx; 1093 struct cvmx_pciercx_cfg449_s cn52xx;
2353 struct cvmx_pciercx_cfg449_s cn52xxp1; 1094 struct cvmx_pciercx_cfg449_s cn52xxp1;
2354 struct cvmx_pciercx_cfg449_s cn56xx; 1095 struct cvmx_pciercx_cfg449_s cn56xx;
2355 struct cvmx_pciercx_cfg449_s cn56xxp1; 1096 struct cvmx_pciercx_cfg449_s cn56xxp1;
2356 struct cvmx_pciercx_cfg449_s cn61xx;
2357 struct cvmx_pciercx_cfg449_s cn63xx; 1097 struct cvmx_pciercx_cfg449_s cn63xx;
2358 struct cvmx_pciercx_cfg449_s cn63xxp1; 1098 struct cvmx_pciercx_cfg449_s cn63xxp1;
2359 struct cvmx_pciercx_cfg449_s cn66xx;
2360 struct cvmx_pciercx_cfg449_s cn68xx;
2361 struct cvmx_pciercx_cfg449_s cn68xxp1;
2362 struct cvmx_pciercx_cfg449_s cnf71xx;
2363}; 1099};
2364 1100
2365union cvmx_pciercx_cfg450 { 1101union cvmx_pciercx_cfg450 {
2366 uint32_t u32; 1102 uint32_t u32;
2367 struct cvmx_pciercx_cfg450_s { 1103 struct cvmx_pciercx_cfg450_s {
2368#ifdef __BIG_ENDIAN_BITFIELD
2369 uint32_t lpec:8; 1104 uint32_t lpec:8;
2370 uint32_t reserved_22_23:2; 1105 uint32_t reserved_22_23:2;
2371 uint32_t link_state:6; 1106 uint32_t link_state:6;
2372 uint32_t force_link:1; 1107 uint32_t force_link:1;
2373 uint32_t reserved_8_14:7; 1108 uint32_t reserved_8_14:7;
2374 uint32_t link_num:8; 1109 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
2383 } s; 1110 } s;
2384 struct cvmx_pciercx_cfg450_s cn52xx; 1111 struct cvmx_pciercx_cfg450_s cn52xx;
2385 struct cvmx_pciercx_cfg450_s cn52xxp1; 1112 struct cvmx_pciercx_cfg450_s cn52xxp1;
2386 struct cvmx_pciercx_cfg450_s cn56xx; 1113 struct cvmx_pciercx_cfg450_s cn56xx;
2387 struct cvmx_pciercx_cfg450_s cn56xxp1; 1114 struct cvmx_pciercx_cfg450_s cn56xxp1;
2388 struct cvmx_pciercx_cfg450_s cn61xx;
2389 struct cvmx_pciercx_cfg450_s cn63xx; 1115 struct cvmx_pciercx_cfg450_s cn63xx;
2390 struct cvmx_pciercx_cfg450_s cn63xxp1; 1116 struct cvmx_pciercx_cfg450_s cn63xxp1;
2391 struct cvmx_pciercx_cfg450_s cn66xx;
2392 struct cvmx_pciercx_cfg450_s cn68xx;
2393 struct cvmx_pciercx_cfg450_s cn68xxp1;
2394 struct cvmx_pciercx_cfg450_s cnf71xx;
2395}; 1117};
2396 1118
2397union cvmx_pciercx_cfg451 { 1119union cvmx_pciercx_cfg451 {
2398 uint32_t u32; 1120 uint32_t u32;
2399 struct cvmx_pciercx_cfg451_s { 1121 struct cvmx_pciercx_cfg451_s {
2400#ifdef __BIG_ENDIAN_BITFIELD
2401 uint32_t reserved_31_31:1;
2402 uint32_t easpml1:1;
2403 uint32_t l1el:3;
2404 uint32_t l0el:3;
2405 uint32_t n_fts_cc:8;
2406 uint32_t n_fts: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
2417 } s;
2418 struct cvmx_pciercx_cfg451_cn52xx {
2419#ifdef __BIG_ENDIAN_BITFIELD
2420 uint32_t reserved_30_31:2; 1122 uint32_t reserved_30_31:2;
2421 uint32_t l1el:3; 1123 uint32_t l1el:3;
2422 uint32_t l0el:3; 1124 uint32_t l0el:3;
2423 uint32_t n_fts_cc:8; 1125 uint32_t n_fts_cc:8;
2424 uint32_t n_fts:8; 1126 uint32_t n_fts:8;
2425 uint32_t ack_freq:8; 1127 uint32_t ack_freq:8;
2426#else 1128 } s;
2427 uint32_t ack_freq:8; 1129 struct cvmx_pciercx_cfg451_s cn52xx;
2428 uint32_t n_fts:8; 1130 struct cvmx_pciercx_cfg451_s cn52xxp1;
2429 uint32_t n_fts_cc:8; 1131 struct cvmx_pciercx_cfg451_s cn56xx;
2430 uint32_t l0el:3; 1132 struct cvmx_pciercx_cfg451_s cn56xxp1;
2431 uint32_t l1el:3; 1133 struct cvmx_pciercx_cfg451_s cn63xx;
2432 uint32_t reserved_30_31:2; 1134 struct cvmx_pciercx_cfg451_s cn63xxp1;
2433#endif
2434 } cn52xx;
2435 struct cvmx_pciercx_cfg451_cn52xx cn52xxp1;
2436 struct cvmx_pciercx_cfg451_cn52xx cn56xx;
2437 struct cvmx_pciercx_cfg451_cn52xx cn56xxp1;
2438 struct cvmx_pciercx_cfg451_s cn61xx;
2439 struct cvmx_pciercx_cfg451_cn52xx cn63xx;
2440 struct cvmx_pciercx_cfg451_cn52xx cn63xxp1;
2441 struct cvmx_pciercx_cfg451_s cn66xx;
2442 struct cvmx_pciercx_cfg451_s cn68xx;
2443 struct cvmx_pciercx_cfg451_s cn68xxp1;
2444 struct cvmx_pciercx_cfg451_s cnf71xx;
2445}; 1135};
2446 1136
2447union cvmx_pciercx_cfg452 { 1137union cvmx_pciercx_cfg452 {
2448 uint32_t u32; 1138 uint32_t u32;
2449 struct cvmx_pciercx_cfg452_s { 1139 struct cvmx_pciercx_cfg452_s {
2450#ifdef __BIG_ENDIAN_BITFIELD
2451 uint32_t reserved_26_31:6; 1140 uint32_t reserved_26_31:6;
2452 uint32_t eccrc:1; 1141 uint32_t eccrc:1;
2453 uint32_t reserved_22_24:3; 1142 uint32_t reserved_22_24:3;
@@ -2461,114 +1150,35 @@ union cvmx_pciercx_cfg452 {
2461 uint32_t le:1; 1150 uint32_t le:1;
2462 uint32_t sd:1; 1151 uint32_t sd:1;
2463 uint32_t omr:1; 1152 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
2479 } s; 1153 } s;
2480 struct cvmx_pciercx_cfg452_s cn52xx; 1154 struct cvmx_pciercx_cfg452_s cn52xx;
2481 struct cvmx_pciercx_cfg452_s cn52xxp1; 1155 struct cvmx_pciercx_cfg452_s cn52xxp1;
2482 struct cvmx_pciercx_cfg452_s cn56xx; 1156 struct cvmx_pciercx_cfg452_s cn56xx;
2483 struct cvmx_pciercx_cfg452_s cn56xxp1; 1157 struct cvmx_pciercx_cfg452_s cn56xxp1;
2484 struct cvmx_pciercx_cfg452_cn61xx {
2485#ifdef __BIG_ENDIAN_BITFIELD
2486 uint32_t reserved_22_31:10;
2487 uint32_t lme:6;
2488 uint32_t reserved_8_15:8;
2489 uint32_t flm:1;
2490 uint32_t reserved_6_6:1;
2491 uint32_t dllle:1;
2492 uint32_t reserved_4_4:1;
2493 uint32_t ra:1;
2494 uint32_t le:1;
2495 uint32_t sd: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
2510 } cn61xx;
2511 struct cvmx_pciercx_cfg452_s cn63xx; 1158 struct cvmx_pciercx_cfg452_s cn63xx;
2512 struct cvmx_pciercx_cfg452_s cn63xxp1; 1159 struct cvmx_pciercx_cfg452_s cn63xxp1;
2513 struct cvmx_pciercx_cfg452_cn61xx cn66xx;
2514 struct cvmx_pciercx_cfg452_cn61xx cn68xx;
2515 struct cvmx_pciercx_cfg452_cn61xx cn68xxp1;
2516 struct cvmx_pciercx_cfg452_cn61xx cnf71xx;
2517}; 1160};
2518 1161
2519union cvmx_pciercx_cfg453 { 1162union cvmx_pciercx_cfg453 {
2520 uint32_t u32; 1163 uint32_t u32;
2521 struct cvmx_pciercx_cfg453_s { 1164 struct cvmx_pciercx_cfg453_s {
2522#ifdef __BIG_ENDIAN_BITFIELD
2523 uint32_t dlld:1; 1165 uint32_t dlld:1;
2524 uint32_t reserved_26_30:5; 1166 uint32_t reserved_26_30:5;
2525 uint32_t ack_nak:1; 1167 uint32_t ack_nak:1;
2526 uint32_t fcd:1; 1168 uint32_t fcd:1;
2527 uint32_t ilst:24; 1169 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
2535 } s; 1170 } s;
2536 struct cvmx_pciercx_cfg453_s cn52xx; 1171 struct cvmx_pciercx_cfg453_s cn52xx;
2537 struct cvmx_pciercx_cfg453_s cn52xxp1; 1172 struct cvmx_pciercx_cfg453_s cn52xxp1;
2538 struct cvmx_pciercx_cfg453_s cn56xx; 1173 struct cvmx_pciercx_cfg453_s cn56xx;
2539 struct cvmx_pciercx_cfg453_s cn56xxp1; 1174 struct cvmx_pciercx_cfg453_s cn56xxp1;
2540 struct cvmx_pciercx_cfg453_s cn61xx;
2541 struct cvmx_pciercx_cfg453_s cn63xx; 1175 struct cvmx_pciercx_cfg453_s cn63xx;
2542 struct cvmx_pciercx_cfg453_s cn63xxp1; 1176 struct cvmx_pciercx_cfg453_s cn63xxp1;
2543 struct cvmx_pciercx_cfg453_s cn66xx;
2544 struct cvmx_pciercx_cfg453_s cn68xx;
2545 struct cvmx_pciercx_cfg453_s cn68xxp1;
2546 struct cvmx_pciercx_cfg453_s cnf71xx;
2547}; 1177};
2548 1178
2549union cvmx_pciercx_cfg454 { 1179union cvmx_pciercx_cfg454 {
2550 uint32_t u32; 1180 uint32_t u32;
2551 struct cvmx_pciercx_cfg454_s { 1181 struct cvmx_pciercx_cfg454_s {
2552#ifdef __BIG_ENDIAN_BITFIELD
2553 uint32_t cx_nfunc:3;
2554 uint32_t tmfcwt:5;
2555 uint32_t tmanlt:5;
2556 uint32_t tmrt:5;
2557 uint32_t reserved_11_13:3;
2558 uint32_t nskps:3;
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
2569 } s;
2570 struct cvmx_pciercx_cfg454_cn52xx {
2571#ifdef __BIG_ENDIAN_BITFIELD
2572 uint32_t reserved_29_31:3; 1182 uint32_t reserved_29_31:3;
2573 uint32_t tmfcwt:5; 1183 uint32_t tmfcwt:5;
2574 uint32_t tmanlt:5; 1184 uint32_t tmanlt:5;
@@ -2577,49 +1187,18 @@ union cvmx_pciercx_cfg454 {
2577 uint32_t nskps:3; 1187 uint32_t nskps:3;
2578 uint32_t reserved_4_7:4; 1188 uint32_t reserved_4_7:4;
2579 uint32_t ntss:4; 1189 uint32_t ntss:4;
2580#else 1190 } s;
2581 uint32_t ntss:4; 1191 struct cvmx_pciercx_cfg454_s cn52xx;
2582 uint32_t reserved_4_7:4; 1192 struct cvmx_pciercx_cfg454_s cn52xxp1;
2583 uint32_t nskps:3; 1193 struct cvmx_pciercx_cfg454_s cn56xx;
2584 uint32_t reserved_11_13:3; 1194 struct cvmx_pciercx_cfg454_s cn56xxp1;
2585 uint32_t tmrt:5; 1195 struct cvmx_pciercx_cfg454_s cn63xx;
2586 uint32_t tmanlt:5; 1196 struct cvmx_pciercx_cfg454_s cn63xxp1;
2587 uint32_t tmfcwt:5;
2588 uint32_t reserved_29_31:3;
2589#endif
2590 } cn52xx;
2591 struct cvmx_pciercx_cfg454_cn52xx cn52xxp1;
2592 struct cvmx_pciercx_cfg454_cn52xx cn56xx;
2593 struct cvmx_pciercx_cfg454_cn52xx cn56xxp1;
2594 struct cvmx_pciercx_cfg454_cn61xx {
2595#ifdef __BIG_ENDIAN_BITFIELD
2596 uint32_t cx_nfunc:3;
2597 uint32_t tmfcwt:5;
2598 uint32_t tmanlt:5;
2599 uint32_t tmrt:5;
2600 uint32_t reserved_8_13:6;
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
2610 } cn61xx;
2611 struct cvmx_pciercx_cfg454_cn52xx cn63xx;
2612 struct cvmx_pciercx_cfg454_cn52xx cn63xxp1;
2613 struct cvmx_pciercx_cfg454_cn61xx cn66xx;
2614 struct cvmx_pciercx_cfg454_cn61xx cn68xx;
2615 struct cvmx_pciercx_cfg454_cn52xx cn68xxp1;
2616 struct cvmx_pciercx_cfg454_cn61xx cnf71xx;
2617}; 1197};
2618 1198
2619union cvmx_pciercx_cfg455 { 1199union cvmx_pciercx_cfg455 {
2620 uint32_t u32; 1200 uint32_t u32;
2621 struct cvmx_pciercx_cfg455_s { 1201 struct cvmx_pciercx_cfg455_s {
2622#ifdef __BIG_ENDIAN_BITFIELD
2623 uint32_t m_cfg0_filt:1; 1202 uint32_t m_cfg0_filt:1;
2624 uint32_t m_io_filt:1; 1203 uint32_t m_io_filt:1;
2625 uint32_t msg_ctrl:1; 1204 uint32_t msg_ctrl:1;
@@ -2639,291 +1218,152 @@ union cvmx_pciercx_cfg455 {
2639 uint32_t dfcwt:1; 1218 uint32_t dfcwt:1;
2640 uint32_t reserved_11_14:4; 1219 uint32_t reserved_11_14:4;
2641 uint32_t skpiv:11; 1220 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
2663 } s; 1221 } s;
2664 struct cvmx_pciercx_cfg455_s cn52xx; 1222 struct cvmx_pciercx_cfg455_s cn52xx;
2665 struct cvmx_pciercx_cfg455_s cn52xxp1; 1223 struct cvmx_pciercx_cfg455_s cn52xxp1;
2666 struct cvmx_pciercx_cfg455_s cn56xx; 1224 struct cvmx_pciercx_cfg455_s cn56xx;
2667 struct cvmx_pciercx_cfg455_s cn56xxp1; 1225 struct cvmx_pciercx_cfg455_s cn56xxp1;
2668 struct cvmx_pciercx_cfg455_s cn61xx;
2669 struct cvmx_pciercx_cfg455_s cn63xx; 1226 struct cvmx_pciercx_cfg455_s cn63xx;
2670 struct cvmx_pciercx_cfg455_s cn63xxp1; 1227 struct cvmx_pciercx_cfg455_s cn63xxp1;
2671 struct cvmx_pciercx_cfg455_s cn66xx;
2672 struct cvmx_pciercx_cfg455_s cn68xx;
2673 struct cvmx_pciercx_cfg455_s cn68xxp1;
2674 struct cvmx_pciercx_cfg455_s cnf71xx;
2675}; 1228};
2676 1229
2677union cvmx_pciercx_cfg456 { 1230union cvmx_pciercx_cfg456 {
2678 uint32_t u32; 1231 uint32_t u32;
2679 struct cvmx_pciercx_cfg456_s { 1232 struct cvmx_pciercx_cfg456_s {
2680#ifdef __BIG_ENDIAN_BITFIELD
2681 uint32_t reserved_4_31:28;
2682 uint32_t m_handle_flush:1;
2683 uint32_t m_dabort_4ucpl:1;
2684 uint32_t m_vend1_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
2693 } s;
2694 struct cvmx_pciercx_cfg456_cn52xx {
2695#ifdef __BIG_ENDIAN_BITFIELD
2696 uint32_t reserved_2_31:30; 1233 uint32_t reserved_2_31:30;
2697 uint32_t m_vend1_drp:1; 1234 uint32_t m_vend1_drp:1;
2698 uint32_t m_vend0_drp:1; 1235 uint32_t m_vend0_drp:1;
2699#else 1236 } s;
2700 uint32_t m_vend0_drp:1; 1237 struct cvmx_pciercx_cfg456_s cn52xx;
2701 uint32_t m_vend1_drp:1; 1238 struct cvmx_pciercx_cfg456_s cn52xxp1;
2702 uint32_t reserved_2_31:30; 1239 struct cvmx_pciercx_cfg456_s cn56xx;
2703#endif 1240 struct cvmx_pciercx_cfg456_s cn56xxp1;
2704 } cn52xx; 1241 struct cvmx_pciercx_cfg456_s cn63xx;
2705 struct cvmx_pciercx_cfg456_cn52xx cn52xxp1; 1242 struct cvmx_pciercx_cfg456_s cn63xxp1;
2706 struct cvmx_pciercx_cfg456_cn52xx cn56xx;
2707 struct cvmx_pciercx_cfg456_cn52xx cn56xxp1;
2708 struct cvmx_pciercx_cfg456_s cn61xx;
2709 struct cvmx_pciercx_cfg456_cn52xx cn63xx;
2710 struct cvmx_pciercx_cfg456_cn52xx cn63xxp1;
2711 struct cvmx_pciercx_cfg456_s cn66xx;
2712 struct cvmx_pciercx_cfg456_s cn68xx;
2713 struct cvmx_pciercx_cfg456_cn52xx cn68xxp1;
2714 struct cvmx_pciercx_cfg456_s cnf71xx;
2715}; 1243};
2716 1244
2717union cvmx_pciercx_cfg458 { 1245union cvmx_pciercx_cfg458 {
2718 uint32_t u32; 1246 uint32_t u32;
2719 struct cvmx_pciercx_cfg458_s { 1247 struct cvmx_pciercx_cfg458_s {
2720#ifdef __BIG_ENDIAN_BITFIELD
2721 uint32_t dbg_info_l32:32;
2722#else
2723 uint32_t dbg_info_l32:32; 1248 uint32_t dbg_info_l32:32;
2724#endif
2725 } s; 1249 } s;
2726 struct cvmx_pciercx_cfg458_s cn52xx; 1250 struct cvmx_pciercx_cfg458_s cn52xx;
2727 struct cvmx_pciercx_cfg458_s cn52xxp1; 1251 struct cvmx_pciercx_cfg458_s cn52xxp1;
2728 struct cvmx_pciercx_cfg458_s cn56xx; 1252 struct cvmx_pciercx_cfg458_s cn56xx;
2729 struct cvmx_pciercx_cfg458_s cn56xxp1; 1253 struct cvmx_pciercx_cfg458_s cn56xxp1;
2730 struct cvmx_pciercx_cfg458_s cn61xx;
2731 struct cvmx_pciercx_cfg458_s cn63xx; 1254 struct cvmx_pciercx_cfg458_s cn63xx;
2732 struct cvmx_pciercx_cfg458_s cn63xxp1; 1255 struct cvmx_pciercx_cfg458_s cn63xxp1;
2733 struct cvmx_pciercx_cfg458_s cn66xx;
2734 struct cvmx_pciercx_cfg458_s cn68xx;
2735 struct cvmx_pciercx_cfg458_s cn68xxp1;
2736 struct cvmx_pciercx_cfg458_s cnf71xx;
2737}; 1256};
2738 1257
2739union cvmx_pciercx_cfg459 { 1258union cvmx_pciercx_cfg459 {
2740 uint32_t u32; 1259 uint32_t u32;
2741 struct cvmx_pciercx_cfg459_s { 1260 struct cvmx_pciercx_cfg459_s {
2742#ifdef __BIG_ENDIAN_BITFIELD
2743 uint32_t dbg_info_u32:32;
2744#else
2745 uint32_t dbg_info_u32:32; 1261 uint32_t dbg_info_u32:32;
2746#endif
2747 } s; 1262 } s;
2748 struct cvmx_pciercx_cfg459_s cn52xx; 1263 struct cvmx_pciercx_cfg459_s cn52xx;
2749 struct cvmx_pciercx_cfg459_s cn52xxp1; 1264 struct cvmx_pciercx_cfg459_s cn52xxp1;
2750 struct cvmx_pciercx_cfg459_s cn56xx; 1265 struct cvmx_pciercx_cfg459_s cn56xx;
2751 struct cvmx_pciercx_cfg459_s cn56xxp1; 1266 struct cvmx_pciercx_cfg459_s cn56xxp1;
2752 struct cvmx_pciercx_cfg459_s cn61xx;
2753 struct cvmx_pciercx_cfg459_s cn63xx; 1267 struct cvmx_pciercx_cfg459_s cn63xx;
2754 struct cvmx_pciercx_cfg459_s cn63xxp1; 1268 struct cvmx_pciercx_cfg459_s cn63xxp1;
2755 struct cvmx_pciercx_cfg459_s cn66xx;
2756 struct cvmx_pciercx_cfg459_s cn68xx;
2757 struct cvmx_pciercx_cfg459_s cn68xxp1;
2758 struct cvmx_pciercx_cfg459_s cnf71xx;
2759}; 1269};
2760 1270
2761union cvmx_pciercx_cfg460 { 1271union cvmx_pciercx_cfg460 {
2762 uint32_t u32; 1272 uint32_t u32;
2763 struct cvmx_pciercx_cfg460_s { 1273 struct cvmx_pciercx_cfg460_s {
2764#ifdef __BIG_ENDIAN_BITFIELD
2765 uint32_t reserved_20_31:12; 1274 uint32_t reserved_20_31:12;
2766 uint32_t tphfcc:8; 1275 uint32_t tphfcc:8;
2767 uint32_t tpdfcc:12; 1276 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
2773 } s; 1277 } s;
2774 struct cvmx_pciercx_cfg460_s cn52xx; 1278 struct cvmx_pciercx_cfg460_s cn52xx;
2775 struct cvmx_pciercx_cfg460_s cn52xxp1; 1279 struct cvmx_pciercx_cfg460_s cn52xxp1;
2776 struct cvmx_pciercx_cfg460_s cn56xx; 1280 struct cvmx_pciercx_cfg460_s cn56xx;
2777 struct cvmx_pciercx_cfg460_s cn56xxp1; 1281 struct cvmx_pciercx_cfg460_s cn56xxp1;
2778 struct cvmx_pciercx_cfg460_s cn61xx;
2779 struct cvmx_pciercx_cfg460_s cn63xx; 1282 struct cvmx_pciercx_cfg460_s cn63xx;
2780 struct cvmx_pciercx_cfg460_s cn63xxp1; 1283 struct cvmx_pciercx_cfg460_s cn63xxp1;
2781 struct cvmx_pciercx_cfg460_s cn66xx;
2782 struct cvmx_pciercx_cfg460_s cn68xx;
2783 struct cvmx_pciercx_cfg460_s cn68xxp1;
2784 struct cvmx_pciercx_cfg460_s cnf71xx;
2785}; 1284};
2786 1285
2787union cvmx_pciercx_cfg461 { 1286union cvmx_pciercx_cfg461 {
2788 uint32_t u32; 1287 uint32_t u32;
2789 struct cvmx_pciercx_cfg461_s { 1288 struct cvmx_pciercx_cfg461_s {
2790#ifdef __BIG_ENDIAN_BITFIELD
2791 uint32_t reserved_20_31:12; 1289 uint32_t reserved_20_31:12;
2792 uint32_t tchfcc:8; 1290 uint32_t tchfcc:8;
2793 uint32_t tcdfcc:12; 1291 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
2799 } s; 1292 } s;
2800 struct cvmx_pciercx_cfg461_s cn52xx; 1293 struct cvmx_pciercx_cfg461_s cn52xx;
2801 struct cvmx_pciercx_cfg461_s cn52xxp1; 1294 struct cvmx_pciercx_cfg461_s cn52xxp1;
2802 struct cvmx_pciercx_cfg461_s cn56xx; 1295 struct cvmx_pciercx_cfg461_s cn56xx;
2803 struct cvmx_pciercx_cfg461_s cn56xxp1; 1296 struct cvmx_pciercx_cfg461_s cn56xxp1;
2804 struct cvmx_pciercx_cfg461_s cn61xx;
2805 struct cvmx_pciercx_cfg461_s cn63xx; 1297 struct cvmx_pciercx_cfg461_s cn63xx;
2806 struct cvmx_pciercx_cfg461_s cn63xxp1; 1298 struct cvmx_pciercx_cfg461_s cn63xxp1;
2807 struct cvmx_pciercx_cfg461_s cn66xx;
2808 struct cvmx_pciercx_cfg461_s cn68xx;
2809 struct cvmx_pciercx_cfg461_s cn68xxp1;
2810 struct cvmx_pciercx_cfg461_s cnf71xx;
2811}; 1299};
2812 1300
2813union cvmx_pciercx_cfg462 { 1301union cvmx_pciercx_cfg462 {
2814 uint32_t u32; 1302 uint32_t u32;
2815 struct cvmx_pciercx_cfg462_s { 1303 struct cvmx_pciercx_cfg462_s {
2816#ifdef __BIG_ENDIAN_BITFIELD
2817 uint32_t reserved_20_31:12; 1304 uint32_t reserved_20_31:12;
2818 uint32_t tchfcc:8; 1305 uint32_t tchfcc:8;
2819 uint32_t tcdfcc:12; 1306 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
2825 } s; 1307 } s;
2826 struct cvmx_pciercx_cfg462_s cn52xx; 1308 struct cvmx_pciercx_cfg462_s cn52xx;
2827 struct cvmx_pciercx_cfg462_s cn52xxp1; 1309 struct cvmx_pciercx_cfg462_s cn52xxp1;
2828 struct cvmx_pciercx_cfg462_s cn56xx; 1310 struct cvmx_pciercx_cfg462_s cn56xx;
2829 struct cvmx_pciercx_cfg462_s cn56xxp1; 1311 struct cvmx_pciercx_cfg462_s cn56xxp1;
2830 struct cvmx_pciercx_cfg462_s cn61xx;
2831 struct cvmx_pciercx_cfg462_s cn63xx; 1312 struct cvmx_pciercx_cfg462_s cn63xx;
2832 struct cvmx_pciercx_cfg462_s cn63xxp1; 1313 struct cvmx_pciercx_cfg462_s cn63xxp1;
2833 struct cvmx_pciercx_cfg462_s cn66xx;
2834 struct cvmx_pciercx_cfg462_s cn68xx;
2835 struct cvmx_pciercx_cfg462_s cn68xxp1;
2836 struct cvmx_pciercx_cfg462_s cnf71xx;
2837}; 1314};
2838 1315
2839union cvmx_pciercx_cfg463 { 1316union cvmx_pciercx_cfg463 {
2840 uint32_t u32; 1317 uint32_t u32;
2841 struct cvmx_pciercx_cfg463_s { 1318 struct cvmx_pciercx_cfg463_s {
2842#ifdef __BIG_ENDIAN_BITFIELD
2843 uint32_t reserved_3_31:29; 1319 uint32_t reserved_3_31:29;
2844 uint32_t rqne:1; 1320 uint32_t rqne:1;
2845 uint32_t trbne:1; 1321 uint32_t trbne:1;
2846 uint32_t rtlpfccnr:1; 1322 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
2853 } s; 1323 } s;
2854 struct cvmx_pciercx_cfg463_s cn52xx; 1324 struct cvmx_pciercx_cfg463_s cn52xx;
2855 struct cvmx_pciercx_cfg463_s cn52xxp1; 1325 struct cvmx_pciercx_cfg463_s cn52xxp1;
2856 struct cvmx_pciercx_cfg463_s cn56xx; 1326 struct cvmx_pciercx_cfg463_s cn56xx;
2857 struct cvmx_pciercx_cfg463_s cn56xxp1; 1327 struct cvmx_pciercx_cfg463_s cn56xxp1;
2858 struct cvmx_pciercx_cfg463_s cn61xx;
2859 struct cvmx_pciercx_cfg463_s cn63xx; 1328 struct cvmx_pciercx_cfg463_s cn63xx;
2860 struct cvmx_pciercx_cfg463_s cn63xxp1; 1329 struct cvmx_pciercx_cfg463_s cn63xxp1;
2861 struct cvmx_pciercx_cfg463_s cn66xx;
2862 struct cvmx_pciercx_cfg463_s cn68xx;
2863 struct cvmx_pciercx_cfg463_s cn68xxp1;
2864 struct cvmx_pciercx_cfg463_s cnf71xx;
2865}; 1330};
2866 1331
2867union cvmx_pciercx_cfg464 { 1332union cvmx_pciercx_cfg464 {
2868 uint32_t u32; 1333 uint32_t u32;
2869 struct cvmx_pciercx_cfg464_s { 1334 struct cvmx_pciercx_cfg464_s {
2870#ifdef __BIG_ENDIAN_BITFIELD
2871 uint32_t wrr_vc3:8; 1335 uint32_t wrr_vc3:8;
2872 uint32_t wrr_vc2:8; 1336 uint32_t wrr_vc2:8;
2873 uint32_t wrr_vc1:8; 1337 uint32_t wrr_vc1:8;
2874 uint32_t wrr_vc0:8; 1338 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
2881 } s; 1339 } s;
2882 struct cvmx_pciercx_cfg464_s cn52xx; 1340 struct cvmx_pciercx_cfg464_s cn52xx;
2883 struct cvmx_pciercx_cfg464_s cn52xxp1; 1341 struct cvmx_pciercx_cfg464_s cn52xxp1;
2884 struct cvmx_pciercx_cfg464_s cn56xx; 1342 struct cvmx_pciercx_cfg464_s cn56xx;
2885 struct cvmx_pciercx_cfg464_s cn56xxp1; 1343 struct cvmx_pciercx_cfg464_s cn56xxp1;
2886 struct cvmx_pciercx_cfg464_s cn61xx;
2887 struct cvmx_pciercx_cfg464_s cn63xx; 1344 struct cvmx_pciercx_cfg464_s cn63xx;
2888 struct cvmx_pciercx_cfg464_s cn63xxp1; 1345 struct cvmx_pciercx_cfg464_s cn63xxp1;
2889 struct cvmx_pciercx_cfg464_s cn66xx;
2890 struct cvmx_pciercx_cfg464_s cn68xx;
2891 struct cvmx_pciercx_cfg464_s cn68xxp1;
2892 struct cvmx_pciercx_cfg464_s cnf71xx;
2893}; 1346};
2894 1347
2895union cvmx_pciercx_cfg465 { 1348union cvmx_pciercx_cfg465 {
2896 uint32_t u32; 1349 uint32_t u32;
2897 struct cvmx_pciercx_cfg465_s { 1350 struct cvmx_pciercx_cfg465_s {
2898#ifdef __BIG_ENDIAN_BITFIELD
2899 uint32_t wrr_vc7:8; 1351 uint32_t wrr_vc7:8;
2900 uint32_t wrr_vc6:8; 1352 uint32_t wrr_vc6:8;
2901 uint32_t wrr_vc5:8; 1353 uint32_t wrr_vc5:8;
2902 uint32_t wrr_vc4:8; 1354 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
2909 } s; 1355 } s;
2910 struct cvmx_pciercx_cfg465_s cn52xx; 1356 struct cvmx_pciercx_cfg465_s cn52xx;
2911 struct cvmx_pciercx_cfg465_s cn52xxp1; 1357 struct cvmx_pciercx_cfg465_s cn52xxp1;
2912 struct cvmx_pciercx_cfg465_s cn56xx; 1358 struct cvmx_pciercx_cfg465_s cn56xx;
2913 struct cvmx_pciercx_cfg465_s cn56xxp1; 1359 struct cvmx_pciercx_cfg465_s cn56xxp1;
2914 struct cvmx_pciercx_cfg465_s cn61xx;
2915 struct cvmx_pciercx_cfg465_s cn63xx; 1360 struct cvmx_pciercx_cfg465_s cn63xx;
2916 struct cvmx_pciercx_cfg465_s cn63xxp1; 1361 struct cvmx_pciercx_cfg465_s cn63xxp1;
2917 struct cvmx_pciercx_cfg465_s cn66xx;
2918 struct cvmx_pciercx_cfg465_s cn68xx;
2919 struct cvmx_pciercx_cfg465_s cn68xxp1;
2920 struct cvmx_pciercx_cfg465_s cnf71xx;
2921}; 1362};
2922 1363
2923union cvmx_pciercx_cfg466 { 1364union cvmx_pciercx_cfg466 {
2924 uint32_t u32; 1365 uint32_t u32;
2925 struct cvmx_pciercx_cfg466_s { 1366 struct cvmx_pciercx_cfg466_s {
2926#ifdef __BIG_ENDIAN_BITFIELD
2927 uint32_t rx_queue_order:1; 1367 uint32_t rx_queue_order:1;
2928 uint32_t type_ordering:1; 1368 uint32_t type_ordering:1;
2929 uint32_t reserved_24_29:6; 1369 uint32_t reserved_24_29:6;
@@ -2931,177 +1371,100 @@ union cvmx_pciercx_cfg466 {
2931 uint32_t reserved_20_20:1; 1371 uint32_t reserved_20_20:1;
2932 uint32_t header_credits:8; 1372 uint32_t header_credits:8;
2933 uint32_t data_credits:12; 1373 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
2943 } s; 1374 } s;
2944 struct cvmx_pciercx_cfg466_s cn52xx; 1375 struct cvmx_pciercx_cfg466_s cn52xx;
2945 struct cvmx_pciercx_cfg466_s cn52xxp1; 1376 struct cvmx_pciercx_cfg466_s cn52xxp1;
2946 struct cvmx_pciercx_cfg466_s cn56xx; 1377 struct cvmx_pciercx_cfg466_s cn56xx;
2947 struct cvmx_pciercx_cfg466_s cn56xxp1; 1378 struct cvmx_pciercx_cfg466_s cn56xxp1;
2948 struct cvmx_pciercx_cfg466_s cn61xx;
2949 struct cvmx_pciercx_cfg466_s cn63xx; 1379 struct cvmx_pciercx_cfg466_s cn63xx;
2950 struct cvmx_pciercx_cfg466_s cn63xxp1; 1380 struct cvmx_pciercx_cfg466_s cn63xxp1;
2951 struct cvmx_pciercx_cfg466_s cn66xx;
2952 struct cvmx_pciercx_cfg466_s cn68xx;
2953 struct cvmx_pciercx_cfg466_s cn68xxp1;
2954 struct cvmx_pciercx_cfg466_s cnf71xx;
2955}; 1381};
2956 1382
2957union cvmx_pciercx_cfg467 { 1383union cvmx_pciercx_cfg467 {
2958 uint32_t u32; 1384 uint32_t u32;
2959 struct cvmx_pciercx_cfg467_s { 1385 struct cvmx_pciercx_cfg467_s {
2960#ifdef __BIG_ENDIAN_BITFIELD
2961 uint32_t reserved_24_31:8; 1386 uint32_t reserved_24_31:8;
2962 uint32_t queue_mode:3; 1387 uint32_t queue_mode:3;
2963 uint32_t reserved_20_20:1; 1388 uint32_t reserved_20_20:1;
2964 uint32_t header_credits:8; 1389 uint32_t header_credits:8;
2965 uint32_t data_credits:12; 1390 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
2973 } s; 1391 } s;
2974 struct cvmx_pciercx_cfg467_s cn52xx; 1392 struct cvmx_pciercx_cfg467_s cn52xx;
2975 struct cvmx_pciercx_cfg467_s cn52xxp1; 1393 struct cvmx_pciercx_cfg467_s cn52xxp1;
2976 struct cvmx_pciercx_cfg467_s cn56xx; 1394 struct cvmx_pciercx_cfg467_s cn56xx;
2977 struct cvmx_pciercx_cfg467_s cn56xxp1; 1395 struct cvmx_pciercx_cfg467_s cn56xxp1;
2978 struct cvmx_pciercx_cfg467_s cn61xx;
2979 struct cvmx_pciercx_cfg467_s cn63xx; 1396 struct cvmx_pciercx_cfg467_s cn63xx;
2980 struct cvmx_pciercx_cfg467_s cn63xxp1; 1397 struct cvmx_pciercx_cfg467_s cn63xxp1;
2981 struct cvmx_pciercx_cfg467_s cn66xx;
2982 struct cvmx_pciercx_cfg467_s cn68xx;
2983 struct cvmx_pciercx_cfg467_s cn68xxp1;
2984 struct cvmx_pciercx_cfg467_s cnf71xx;
2985}; 1398};
2986 1399
2987union cvmx_pciercx_cfg468 { 1400union cvmx_pciercx_cfg468 {
2988 uint32_t u32; 1401 uint32_t u32;
2989 struct cvmx_pciercx_cfg468_s { 1402 struct cvmx_pciercx_cfg468_s {
2990#ifdef __BIG_ENDIAN_BITFIELD
2991 uint32_t reserved_24_31:8; 1403 uint32_t reserved_24_31:8;
2992 uint32_t queue_mode:3; 1404 uint32_t queue_mode:3;
2993 uint32_t reserved_20_20:1; 1405 uint32_t reserved_20_20:1;
2994 uint32_t header_credits:8; 1406 uint32_t header_credits:8;
2995 uint32_t data_credits:12; 1407 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
3003 } s; 1408 } s;
3004 struct cvmx_pciercx_cfg468_s cn52xx; 1409 struct cvmx_pciercx_cfg468_s cn52xx;
3005 struct cvmx_pciercx_cfg468_s cn52xxp1; 1410 struct cvmx_pciercx_cfg468_s cn52xxp1;
3006 struct cvmx_pciercx_cfg468_s cn56xx; 1411 struct cvmx_pciercx_cfg468_s cn56xx;
3007 struct cvmx_pciercx_cfg468_s cn56xxp1; 1412 struct cvmx_pciercx_cfg468_s cn56xxp1;
3008 struct cvmx_pciercx_cfg468_s cn61xx;
3009 struct cvmx_pciercx_cfg468_s cn63xx; 1413 struct cvmx_pciercx_cfg468_s cn63xx;
3010 struct cvmx_pciercx_cfg468_s cn63xxp1; 1414 struct cvmx_pciercx_cfg468_s cn63xxp1;
3011 struct cvmx_pciercx_cfg468_s cn66xx;
3012 struct cvmx_pciercx_cfg468_s cn68xx;
3013 struct cvmx_pciercx_cfg468_s cn68xxp1;
3014 struct cvmx_pciercx_cfg468_s cnf71xx;
3015}; 1415};
3016 1416
3017union cvmx_pciercx_cfg490 { 1417union cvmx_pciercx_cfg490 {
3018 uint32_t u32; 1418 uint32_t u32;
3019 struct cvmx_pciercx_cfg490_s { 1419 struct cvmx_pciercx_cfg490_s {
3020#ifdef __BIG_ENDIAN_BITFIELD
3021 uint32_t reserved_26_31:6; 1420 uint32_t reserved_26_31:6;
3022 uint32_t header_depth:10; 1421 uint32_t header_depth:10;
3023 uint32_t reserved_14_15:2; 1422 uint32_t reserved_14_15:2;
3024 uint32_t data_depth:14; 1423 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
3031 } s; 1424 } s;
3032 struct cvmx_pciercx_cfg490_s cn52xx; 1425 struct cvmx_pciercx_cfg490_s cn52xx;
3033 struct cvmx_pciercx_cfg490_s cn52xxp1; 1426 struct cvmx_pciercx_cfg490_s cn52xxp1;
3034 struct cvmx_pciercx_cfg490_s cn56xx; 1427 struct cvmx_pciercx_cfg490_s cn56xx;
3035 struct cvmx_pciercx_cfg490_s cn56xxp1; 1428 struct cvmx_pciercx_cfg490_s cn56xxp1;
3036 struct cvmx_pciercx_cfg490_s cn61xx;
3037 struct cvmx_pciercx_cfg490_s cn63xx; 1429 struct cvmx_pciercx_cfg490_s cn63xx;
3038 struct cvmx_pciercx_cfg490_s cn63xxp1; 1430 struct cvmx_pciercx_cfg490_s cn63xxp1;
3039 struct cvmx_pciercx_cfg490_s cn66xx;
3040 struct cvmx_pciercx_cfg490_s cn68xx;
3041 struct cvmx_pciercx_cfg490_s cn68xxp1;
3042 struct cvmx_pciercx_cfg490_s cnf71xx;
3043}; 1431};
3044 1432
3045union cvmx_pciercx_cfg491 { 1433union cvmx_pciercx_cfg491 {
3046 uint32_t u32; 1434 uint32_t u32;
3047 struct cvmx_pciercx_cfg491_s { 1435 struct cvmx_pciercx_cfg491_s {
3048#ifdef __BIG_ENDIAN_BITFIELD
3049 uint32_t reserved_26_31:6; 1436 uint32_t reserved_26_31:6;
3050 uint32_t header_depth:10; 1437 uint32_t header_depth:10;
3051 uint32_t reserved_14_15:2; 1438 uint32_t reserved_14_15:2;
3052 uint32_t data_depth:14; 1439 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
3059 } s; 1440 } s;
3060 struct cvmx_pciercx_cfg491_s cn52xx; 1441 struct cvmx_pciercx_cfg491_s cn52xx;
3061 struct cvmx_pciercx_cfg491_s cn52xxp1; 1442 struct cvmx_pciercx_cfg491_s cn52xxp1;
3062 struct cvmx_pciercx_cfg491_s cn56xx; 1443 struct cvmx_pciercx_cfg491_s cn56xx;
3063 struct cvmx_pciercx_cfg491_s cn56xxp1; 1444 struct cvmx_pciercx_cfg491_s cn56xxp1;
3064 struct cvmx_pciercx_cfg491_s cn61xx;
3065 struct cvmx_pciercx_cfg491_s cn63xx; 1445 struct cvmx_pciercx_cfg491_s cn63xx;
3066 struct cvmx_pciercx_cfg491_s cn63xxp1; 1446 struct cvmx_pciercx_cfg491_s cn63xxp1;
3067 struct cvmx_pciercx_cfg491_s cn66xx;
3068 struct cvmx_pciercx_cfg491_s cn68xx;
3069 struct cvmx_pciercx_cfg491_s cn68xxp1;
3070 struct cvmx_pciercx_cfg491_s cnf71xx;
3071}; 1447};
3072 1448
3073union cvmx_pciercx_cfg492 { 1449union cvmx_pciercx_cfg492 {
3074 uint32_t u32; 1450 uint32_t u32;
3075 struct cvmx_pciercx_cfg492_s { 1451 struct cvmx_pciercx_cfg492_s {
3076#ifdef __BIG_ENDIAN_BITFIELD
3077 uint32_t reserved_26_31:6; 1452 uint32_t reserved_26_31:6;
3078 uint32_t header_depth:10; 1453 uint32_t header_depth:10;
3079 uint32_t reserved_14_15:2; 1454 uint32_t reserved_14_15:2;
3080 uint32_t data_depth:14; 1455 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
3087 } s; 1456 } s;
3088 struct cvmx_pciercx_cfg492_s cn52xx; 1457 struct cvmx_pciercx_cfg492_s cn52xx;
3089 struct cvmx_pciercx_cfg492_s cn52xxp1; 1458 struct cvmx_pciercx_cfg492_s cn52xxp1;
3090 struct cvmx_pciercx_cfg492_s cn56xx; 1459 struct cvmx_pciercx_cfg492_s cn56xx;
3091 struct cvmx_pciercx_cfg492_s cn56xxp1; 1460 struct cvmx_pciercx_cfg492_s cn56xxp1;
3092 struct cvmx_pciercx_cfg492_s cn61xx;
3093 struct cvmx_pciercx_cfg492_s cn63xx; 1461 struct cvmx_pciercx_cfg492_s cn63xx;
3094 struct cvmx_pciercx_cfg492_s cn63xxp1; 1462 struct cvmx_pciercx_cfg492_s cn63xxp1;
3095 struct cvmx_pciercx_cfg492_s cn66xx;
3096 struct cvmx_pciercx_cfg492_s cn68xx;
3097 struct cvmx_pciercx_cfg492_s cn68xxp1;
3098 struct cvmx_pciercx_cfg492_s cnf71xx;
3099}; 1463};
3100 1464
3101union cvmx_pciercx_cfg515 { 1465union cvmx_pciercx_cfg515 {
3102 uint32_t u32; 1466 uint32_t u32;
3103 struct cvmx_pciercx_cfg515_s { 1467 struct cvmx_pciercx_cfg515_s {
3104#ifdef __BIG_ENDIAN_BITFIELD
3105 uint32_t reserved_21_31:11; 1468 uint32_t reserved_21_31:11;
3106 uint32_t s_d_e:1; 1469 uint32_t s_d_e:1;
3107 uint32_t ctcrb:1; 1470 uint32_t ctcrb:1;
@@ -3109,67 +1472,35 @@ union cvmx_pciercx_cfg515 {
3109 uint32_t dsc:1; 1472 uint32_t dsc:1;
3110 uint32_t le:9; 1473 uint32_t le:9;
3111 uint32_t n_fts:8; 1474 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
3121 } s; 1475 } s;
3122 struct cvmx_pciercx_cfg515_s cn61xx;
3123 struct cvmx_pciercx_cfg515_s cn63xx; 1476 struct cvmx_pciercx_cfg515_s cn63xx;
3124 struct cvmx_pciercx_cfg515_s cn63xxp1; 1477 struct cvmx_pciercx_cfg515_s cn63xxp1;
3125 struct cvmx_pciercx_cfg515_s cn66xx;
3126 struct cvmx_pciercx_cfg515_s cn68xx;
3127 struct cvmx_pciercx_cfg515_s cn68xxp1;
3128 struct cvmx_pciercx_cfg515_s cnf71xx;
3129}; 1478};
3130 1479
3131union cvmx_pciercx_cfg516 { 1480union cvmx_pciercx_cfg516 {
3132 uint32_t u32; 1481 uint32_t u32;
3133 struct cvmx_pciercx_cfg516_s { 1482 struct cvmx_pciercx_cfg516_s {
3134#ifdef __BIG_ENDIAN_BITFIELD
3135 uint32_t phy_stat:32;
3136#else
3137 uint32_t phy_stat:32; 1483 uint32_t phy_stat:32;
3138#endif
3139 } s; 1484 } s;
3140 struct cvmx_pciercx_cfg516_s cn52xx; 1485 struct cvmx_pciercx_cfg516_s cn52xx;
3141 struct cvmx_pciercx_cfg516_s cn52xxp1; 1486 struct cvmx_pciercx_cfg516_s cn52xxp1;
3142 struct cvmx_pciercx_cfg516_s cn56xx; 1487 struct cvmx_pciercx_cfg516_s cn56xx;
3143 struct cvmx_pciercx_cfg516_s cn56xxp1; 1488 struct cvmx_pciercx_cfg516_s cn56xxp1;
3144 struct cvmx_pciercx_cfg516_s cn61xx;
3145 struct cvmx_pciercx_cfg516_s cn63xx; 1489 struct cvmx_pciercx_cfg516_s cn63xx;
3146 struct cvmx_pciercx_cfg516_s cn63xxp1; 1490 struct cvmx_pciercx_cfg516_s cn63xxp1;
3147 struct cvmx_pciercx_cfg516_s cn66xx;
3148 struct cvmx_pciercx_cfg516_s cn68xx;
3149 struct cvmx_pciercx_cfg516_s cn68xxp1;
3150 struct cvmx_pciercx_cfg516_s cnf71xx;
3151}; 1491};
3152 1492
3153union cvmx_pciercx_cfg517 { 1493union cvmx_pciercx_cfg517 {
3154 uint32_t u32; 1494 uint32_t u32;
3155 struct cvmx_pciercx_cfg517_s { 1495 struct cvmx_pciercx_cfg517_s {
3156#ifdef __BIG_ENDIAN_BITFIELD
3157 uint32_t phy_ctrl:32;
3158#else
3159 uint32_t phy_ctrl:32; 1496 uint32_t phy_ctrl:32;
3160#endif
3161 } s; 1497 } s;
3162 struct cvmx_pciercx_cfg517_s cn52xx; 1498 struct cvmx_pciercx_cfg517_s cn52xx;
3163 struct cvmx_pciercx_cfg517_s cn52xxp1; 1499 struct cvmx_pciercx_cfg517_s cn52xxp1;
3164 struct cvmx_pciercx_cfg517_s cn56xx; 1500 struct cvmx_pciercx_cfg517_s cn56xx;
3165 struct cvmx_pciercx_cfg517_s cn56xxp1; 1501 struct cvmx_pciercx_cfg517_s cn56xxp1;
3166 struct cvmx_pciercx_cfg517_s cn61xx;
3167 struct cvmx_pciercx_cfg517_s cn63xx; 1502 struct cvmx_pciercx_cfg517_s cn63xx;
3168 struct cvmx_pciercx_cfg517_s cn63xxp1; 1503 struct cvmx_pciercx_cfg517_s cn63xxp1;
3169 struct cvmx_pciercx_cfg517_s cn66xx;
3170 struct cvmx_pciercx_cfg517_s cn68xx;
3171 struct cvmx_pciercx_cfg517_s cn68xxp1;
3172 struct cvmx_pciercx_cfg517_s cnf71xx;
3173}; 1504};
3174 1505
3175#endif 1506#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pcsx-defs.h b/arch/mips/include/asm/octeon/cvmx-pcsx-defs.h
deleted file mode 100644
index a5e8fd861c3..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-pcsx-defs.h
+++ /dev/null
@@ -1,1009 +0,0 @@
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_PCSX_DEFS_H__
29#define __CVMX_PCSX_DEFS_H__
30
31static inline uint64_t CVMX_PCSX_ANX_ADV_REG(unsigned long offset, unsigned long block_id)
32{
33 switch (cvmx_get_octeon_family()) {
34 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
35 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
36 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
37 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
38 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
39 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
40 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
41 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
42 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
43 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
44 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
45 }
46 return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
47}
48
49static inline uint64_t CVMX_PCSX_ANX_EXT_ST_REG(unsigned long offset, unsigned long block_id)
50{
51 switch (cvmx_get_octeon_family()) {
52 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
53 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
54 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
55 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
56 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
57 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
58 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
59 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
60 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x20000ull) * 1024;
61 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
62 return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset) + (block_id) * 0x4000ull) * 1024;
63 }
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}
336
337union cvmx_pcsx_anx_adv_reg {
338 uint64_t u64;
339 struct cvmx_pcsx_anx_adv_reg_s {
340#ifdef __BIG_ENDIAN_BITFIELD
341 uint64_t reserved_16_63:48;
342 uint64_t np:1;
343 uint64_t reserved_14_14:1;
344 uint64_t rem_flt:2;
345 uint64_t reserved_9_11:3;
346 uint64_t pause:2;
347 uint64_t hfd:1;
348 uint64_t fd:1;
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
361 } s;
362 struct cvmx_pcsx_anx_adv_reg_s cn52xx;
363 struct cvmx_pcsx_anx_adv_reg_s cn52xxp1;
364 struct cvmx_pcsx_anx_adv_reg_s cn56xx;
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;
373};
374
375union cvmx_pcsx_anx_ext_st_reg {
376 uint64_t u64;
377 struct cvmx_pcsx_anx_ext_st_reg_s {
378#ifdef __BIG_ENDIAN_BITFIELD
379 uint64_t reserved_16_63:48;
380 uint64_t thou_xfd:1;
381 uint64_t thou_xhd:1;
382 uint64_t thou_tfd:1;
383 uint64_t thou_thd:1;
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
393 } s;
394 struct cvmx_pcsx_anx_ext_st_reg_s cn52xx;
395 struct cvmx_pcsx_anx_ext_st_reg_s cn52xxp1;
396 struct cvmx_pcsx_anx_ext_st_reg_s cn56xx;
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;
405};
406
407union cvmx_pcsx_anx_lp_abil_reg {
408 uint64_t u64;
409 struct cvmx_pcsx_anx_lp_abil_reg_s {
410#ifdef __BIG_ENDIAN_BITFIELD
411 uint64_t reserved_16_63:48;
412 uint64_t np:1;
413 uint64_t ack:1;
414 uint64_t rem_flt:2;
415 uint64_t reserved_9_11:3;
416 uint64_t pause:2;
417 uint64_t hfd:1;
418 uint64_t fd:1;
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
431 } s;
432 struct cvmx_pcsx_anx_lp_abil_reg_s cn52xx;
433 struct cvmx_pcsx_anx_lp_abil_reg_s cn52xxp1;
434 struct cvmx_pcsx_anx_lp_abil_reg_s cn56xx;
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;
443};
444
445union cvmx_pcsx_anx_results_reg {
446 uint64_t u64;
447 struct cvmx_pcsx_anx_results_reg_s {
448#ifdef __BIG_ENDIAN_BITFIELD
449 uint64_t reserved_7_63:57;
450 uint64_t pause:2;
451 uint64_t spd:2;
452 uint64_t an_cpt:1;
453 uint64_t dup: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
463 } s;
464 struct cvmx_pcsx_anx_results_reg_s cn52xx;
465 struct cvmx_pcsx_anx_results_reg_s cn52xxp1;
466 struct cvmx_pcsx_anx_results_reg_s cn56xx;
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;
475};
476
477union cvmx_pcsx_intx_en_reg {
478 uint64_t u64;
479 struct cvmx_pcsx_intx_en_reg_s {
480#ifdef __BIG_ENDIAN_BITFIELD
481 uint64_t reserved_13_63:51;
482 uint64_t dbg_sync_en:1;
483 uint64_t dup:1;
484 uint64_t sync_bad_en:1;
485 uint64_t an_bad_en:1;
486 uint64_t rxlock_en:1;
487 uint64_t rxbad_en:1;
488 uint64_t rxerr_en:1;
489 uint64_t txbad_en:1;
490 uint64_t txfifo_en:1;
491 uint64_t txfifu_en:1;
492 uint64_t an_err_en:1;
493 uint64_t xmit_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
511 } s;
512 struct cvmx_pcsx_intx_en_reg_cn52xx {
513#ifdef __BIG_ENDIAN_BITFIELD
514 uint64_t reserved_12_63:52;
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;
553};
554
555union cvmx_pcsx_intx_reg {
556 uint64_t u64;
557 struct cvmx_pcsx_intx_reg_s {
558#ifdef __BIG_ENDIAN_BITFIELD
559 uint64_t reserved_13_63:51;
560 uint64_t dbg_sync:1;
561 uint64_t dup:1;
562 uint64_t sync_bad:1;
563 uint64_t an_bad:1;
564 uint64_t rxlock:1;
565 uint64_t rxbad:1;
566 uint64_t rxerr:1;
567 uint64_t txbad:1;
568 uint64_t txfifo:1;
569 uint64_t txfifu:1;
570 uint64_t an_err:1;
571 uint64_t xmit: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
589 } s;
590 struct cvmx_pcsx_intx_reg_cn52xx {
591#ifdef __BIG_ENDIAN_BITFIELD
592 uint64_t reserved_12_63:52;
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;
631};
632
633union cvmx_pcsx_linkx_timer_count_reg {
634 uint64_t u64;
635 struct cvmx_pcsx_linkx_timer_count_reg_s {
636#ifdef __BIG_ENDIAN_BITFIELD
637 uint64_t reserved_16_63:48;
638 uint64_t count:16;
639#else
640 uint64_t count:16;
641 uint64_t reserved_16_63:48;
642#endif
643 } s;
644 struct cvmx_pcsx_linkx_timer_count_reg_s cn52xx;
645 struct cvmx_pcsx_linkx_timer_count_reg_s cn52xxp1;
646 struct cvmx_pcsx_linkx_timer_count_reg_s cn56xx;
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;
655};
656
657union cvmx_pcsx_log_anlx_reg {
658 uint64_t u64;
659 struct cvmx_pcsx_log_anlx_reg_s {
660#ifdef __BIG_ENDIAN_BITFIELD
661 uint64_t reserved_4_63:60;
662 uint64_t lafifovfl:1;
663 uint64_t la_en:1;
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
671 } s;
672 struct cvmx_pcsx_log_anlx_reg_s cn52xx;
673 struct cvmx_pcsx_log_anlx_reg_s cn52xxp1;
674 struct cvmx_pcsx_log_anlx_reg_s cn56xx;
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;
683};
684
685union cvmx_pcsx_miscx_ctl_reg {
686 uint64_t u64;
687 struct cvmx_pcsx_miscx_ctl_reg_s {
688#ifdef __BIG_ENDIAN_BITFIELD
689 uint64_t reserved_13_63:51;
690 uint64_t sgmii:1;
691 uint64_t gmxeno:1;
692 uint64_t loopbck2:1;
693 uint64_t mac_phy:1;
694 uint64_t mode:1;
695 uint64_t an_ovrd:1;
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
707 } s;
708 struct cvmx_pcsx_miscx_ctl_reg_s cn52xx;
709 struct cvmx_pcsx_miscx_ctl_reg_s cn52xxp1;
710 struct cvmx_pcsx_miscx_ctl_reg_s cn56xx;
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;
719};
720
721union cvmx_pcsx_mrx_control_reg {
722 uint64_t u64;
723 struct cvmx_pcsx_mrx_control_reg_s {
724#ifdef __BIG_ENDIAN_BITFIELD
725 uint64_t reserved_16_63:48;
726 uint64_t reset:1;
727 uint64_t loopbck1:1;
728 uint64_t spdlsb:1;
729 uint64_t an_en:1;
730 uint64_t pwr_dn:1;
731 uint64_t reserved_10_10:1;
732 uint64_t rst_an:1;
733 uint64_t dup:1;
734 uint64_t coltst:1;
735 uint64_t spdmsb:1;
736 uint64_t uni:1;
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
753 } s;
754 struct cvmx_pcsx_mrx_control_reg_s cn52xx;
755 struct cvmx_pcsx_mrx_control_reg_s cn52xxp1;
756 struct cvmx_pcsx_mrx_control_reg_s cn56xx;
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;
765};
766
767union cvmx_pcsx_mrx_status_reg {
768 uint64_t u64;
769 struct cvmx_pcsx_mrx_status_reg_s {
770#ifdef __BIG_ENDIAN_BITFIELD
771 uint64_t reserved_16_63:48;
772 uint64_t hun_t4:1;
773 uint64_t hun_xfd:1;
774 uint64_t hun_xhd:1;
775 uint64_t ten_fd:1;
776 uint64_t ten_hd:1;
777 uint64_t hun_t2fd:1;
778 uint64_t hun_t2hd:1;
779 uint64_t ext_st:1;
780 uint64_t reserved_7_7:1;
781 uint64_t prb_sup:1;
782 uint64_t an_cpt:1;
783 uint64_t rm_flt:1;
784 uint64_t an_abil:1;
785 uint64_t lnk_st:1;
786 uint64_t reserved_1_1: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
807 } s;
808 struct cvmx_pcsx_mrx_status_reg_s cn52xx;
809 struct cvmx_pcsx_mrx_status_reg_s cn52xxp1;
810 struct cvmx_pcsx_mrx_status_reg_s cn56xx;
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;
819};
820
821union cvmx_pcsx_rxx_states_reg {
822 uint64_t u64;
823 struct cvmx_pcsx_rxx_states_reg_s {
824#ifdef __BIG_ENDIAN_BITFIELD
825 uint64_t reserved_16_63:48;
826 uint64_t rx_bad:1;
827 uint64_t rx_st:5;
828 uint64_t sync_bad:1;
829 uint64_t sync:4;
830 uint64_t an_bad:1;
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
841 } s;
842 struct cvmx_pcsx_rxx_states_reg_s cn52xx;
843 struct cvmx_pcsx_rxx_states_reg_s cn52xxp1;
844 struct cvmx_pcsx_rxx_states_reg_s cn56xx;
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;
853};
854
855union cvmx_pcsx_rxx_sync_reg {
856 uint64_t u64;
857 struct cvmx_pcsx_rxx_sync_reg_s {
858#ifdef __BIG_ENDIAN_BITFIELD
859 uint64_t reserved_2_63:62;
860 uint64_t sync: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
867 } s;
868 struct cvmx_pcsx_rxx_sync_reg_s cn52xx;
869 struct cvmx_pcsx_rxx_sync_reg_s cn52xxp1;
870 struct cvmx_pcsx_rxx_sync_reg_s cn56xx;
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;
879};
880
881union cvmx_pcsx_sgmx_an_adv_reg {
882 uint64_t u64;
883 struct cvmx_pcsx_sgmx_an_adv_reg_s {
884#ifdef __BIG_ENDIAN_BITFIELD
885 uint64_t reserved_16_63:48;
886 uint64_t link:1;
887 uint64_t ack:1;
888 uint64_t reserved_13_13:1;
889 uint64_t dup:1;
890 uint64_t speed:2;
891 uint64_t reserved_1_9:9;
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
903 } s;
904 struct cvmx_pcsx_sgmx_an_adv_reg_s cn52xx;
905 struct cvmx_pcsx_sgmx_an_adv_reg_s cn52xxp1;
906 struct cvmx_pcsx_sgmx_an_adv_reg_s cn56xx;
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;
915};
916
917union cvmx_pcsx_sgmx_lp_adv_reg {
918 uint64_t u64;
919 struct cvmx_pcsx_sgmx_lp_adv_reg_s {
920#ifdef __BIG_ENDIAN_BITFIELD
921 uint64_t reserved_16_63:48;
922 uint64_t link:1;
923 uint64_t reserved_13_14:2;
924 uint64_t dup:1;
925 uint64_t speed:2;
926 uint64_t reserved_1_9:9;
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
937 } s;
938 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn52xx;
939 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn52xxp1;
940 struct cvmx_pcsx_sgmx_lp_adv_reg_s cn56xx;
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;
949};
950
951union cvmx_pcsx_txx_states_reg {
952 uint64_t u64;
953 struct cvmx_pcsx_txx_states_reg_s {
954#ifdef __BIG_ENDIAN_BITFIELD
955 uint64_t reserved_7_63:57;
956 uint64_t xmit:2;
957 uint64_t tx_bad:1;
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
965 } s;
966 struct cvmx_pcsx_txx_states_reg_s cn52xx;
967 struct cvmx_pcsx_txx_states_reg_s cn52xxp1;
968 struct cvmx_pcsx_txx_states_reg_s cn56xx;
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;
977};
978
979union cvmx_pcsx_tx_rxx_polarity_reg {
980 uint64_t u64;
981 struct cvmx_pcsx_tx_rxx_polarity_reg_s {
982#ifdef __BIG_ENDIAN_BITFIELD
983 uint64_t reserved_4_63:60;
984 uint64_t rxovrd:1;
985 uint64_t autorxpl:1;
986 uint64_t rxplrt: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
995 } s;
996 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn52xx;
997 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn52xxp1;
998 struct cvmx_pcsx_tx_rxx_polarity_reg_s cn56xx;
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;
1007};
1008
1009#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h b/arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h
deleted file mode 100644
index b5b45d26f1c..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h
+++ /dev/null
@@ -1,808 +0,0 @@
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_PCSXX_DEFS_H__
29#define __CVMX_PCSXX_DEFS_H__
30
31static inline uint64_t CVMX_PCSXX_10GBX_STATUS_REG(unsigned long block_id)
32{
33 switch (cvmx_get_octeon_family()) {
34 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
35 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
36 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
37 return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id) * 0x8000000ull;
38 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
39 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
40 return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id) * 0x8000000ull;
41 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
42 return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id) * 0x1000000ull;
43 }
44 return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id) * 0x1000000ull;
45}
46
47static inline uint64_t CVMX_PCSXX_BIST_STATUS_REG(unsigned long block_id)
48{
49 switch (cvmx_get_octeon_family()) {
50 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
51 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
52 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
53 return CVMX_ADD_IO_SEG(0x00011800B0000870ull) + (block_id) * 0x8000000ull;
54 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
55 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
56 return CVMX_ADD_IO_SEG(0x00011800B0000870ull) + (block_id) * 0x8000000ull;
57 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
58 return CVMX_ADD_IO_SEG(0x00011800B0000870ull) + (block_id) * 0x1000000ull;
59 }
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}
270
271union cvmx_pcsxx_10gbx_status_reg {
272 uint64_t u64;
273 struct cvmx_pcsxx_10gbx_status_reg_s {
274#ifdef __BIG_ENDIAN_BITFIELD
275 uint64_t reserved_13_63:51;
276 uint64_t alignd:1;
277 uint64_t pattst:1;
278 uint64_t reserved_4_10:7;
279 uint64_t l3sync:1;
280 uint64_t l2sync:1;
281 uint64_t l1sync: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
293 } s;
294 struct cvmx_pcsxx_10gbx_status_reg_s cn52xx;
295 struct cvmx_pcsxx_10gbx_status_reg_s cn52xxp1;
296 struct cvmx_pcsxx_10gbx_status_reg_s cn56xx;
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;
304};
305
306union cvmx_pcsxx_bist_status_reg {
307 uint64_t u64;
308 struct cvmx_pcsxx_bist_status_reg_s {
309#ifdef __BIG_ENDIAN_BITFIELD
310 uint64_t reserved_1_63:63;
311 uint64_t bist_status:1;
312#else
313 uint64_t bist_status:1;
314 uint64_t reserved_1_63:63;
315#endif
316 } s;
317 struct cvmx_pcsxx_bist_status_reg_s cn52xx;
318 struct cvmx_pcsxx_bist_status_reg_s cn52xxp1;
319 struct cvmx_pcsxx_bist_status_reg_s cn56xx;
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;
327};
328
329union cvmx_pcsxx_bit_lock_status_reg {
330 uint64_t u64;
331 struct cvmx_pcsxx_bit_lock_status_reg_s {
332#ifdef __BIG_ENDIAN_BITFIELD
333 uint64_t reserved_4_63:60;
334 uint64_t bitlck3:1;
335 uint64_t bitlck2:1;
336 uint64_t bitlck1: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
345 } s;
346 struct cvmx_pcsxx_bit_lock_status_reg_s cn52xx;
347 struct cvmx_pcsxx_bit_lock_status_reg_s cn52xxp1;
348 struct cvmx_pcsxx_bit_lock_status_reg_s cn56xx;
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;
356};
357
358union cvmx_pcsxx_control1_reg {
359 uint64_t u64;
360 struct cvmx_pcsxx_control1_reg_s {
361#ifdef __BIG_ENDIAN_BITFIELD
362 uint64_t reserved_16_63:48;
363 uint64_t reset:1;
364 uint64_t loopbck1:1;
365 uint64_t spdsel1:1;
366 uint64_t reserved_12_12:1;
367 uint64_t lo_pwr:1;
368 uint64_t reserved_7_10:4;
369 uint64_t spdsel0:1;
370 uint64_t spd:4;
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
384 } s;
385 struct cvmx_pcsxx_control1_reg_s cn52xx;
386 struct cvmx_pcsxx_control1_reg_s cn52xxp1;
387 struct cvmx_pcsxx_control1_reg_s cn56xx;
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;
395};
396
397union cvmx_pcsxx_control2_reg {
398 uint64_t u64;
399 struct cvmx_pcsxx_control2_reg_s {
400#ifdef __BIG_ENDIAN_BITFIELD
401 uint64_t reserved_2_63:62;
402 uint64_t type:2;
403#else
404 uint64_t type:2;
405 uint64_t reserved_2_63:62;
406#endif
407 } s;
408 struct cvmx_pcsxx_control2_reg_s cn52xx;
409 struct cvmx_pcsxx_control2_reg_s cn52xxp1;
410 struct cvmx_pcsxx_control2_reg_s cn56xx;
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;
418};
419
420union cvmx_pcsxx_int_en_reg {
421 uint64_t u64;
422 struct cvmx_pcsxx_int_en_reg_s {
423#ifdef __BIG_ENDIAN_BITFIELD
424 uint64_t reserved_7_63:57;
425 uint64_t dbg_sync_en:1;
426 uint64_t algnlos_en:1;
427 uint64_t synlos_en:1;
428 uint64_t bitlckls_en:1;
429 uint64_t rxsynbad_en:1;
430 uint64_t rxbad_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
442 } s;
443 struct cvmx_pcsxx_int_en_reg_cn52xx {
444#ifdef __BIG_ENDIAN_BITFIELD
445 uint64_t reserved_6_63:58;
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;
471};
472
473union cvmx_pcsxx_int_reg {
474 uint64_t u64;
475 struct cvmx_pcsxx_int_reg_s {
476#ifdef __BIG_ENDIAN_BITFIELD
477 uint64_t reserved_7_63:57;
478 uint64_t dbg_sync:1;
479 uint64_t algnlos:1;
480 uint64_t synlos:1;
481 uint64_t bitlckls:1;
482 uint64_t rxsynbad:1;
483 uint64_t rxbad: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
495 } s;
496 struct cvmx_pcsxx_int_reg_cn52xx {
497#ifdef __BIG_ENDIAN_BITFIELD
498 uint64_t reserved_6_63:58;
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;
524};
525
526union cvmx_pcsxx_log_anl_reg {
527 uint64_t u64;
528 struct cvmx_pcsxx_log_anl_reg_s {
529#ifdef __BIG_ENDIAN_BITFIELD
530 uint64_t reserved_7_63:57;
531 uint64_t enc_mode:1;
532 uint64_t drop_ln:2;
533 uint64_t lafifovfl:1;
534 uint64_t la_en:1;
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
544 } s;
545 struct cvmx_pcsxx_log_anl_reg_s cn52xx;
546 struct cvmx_pcsxx_log_anl_reg_s cn52xxp1;
547 struct cvmx_pcsxx_log_anl_reg_s cn56xx;
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;
555};
556
557union cvmx_pcsxx_misc_ctl_reg {
558 uint64_t u64;
559 struct cvmx_pcsxx_misc_ctl_reg_s {
560#ifdef __BIG_ENDIAN_BITFIELD
561 uint64_t reserved_4_63:60;
562 uint64_t tx_swap:1;
563 uint64_t rx_swap:1;
564 uint64_t xaui: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
573 } s;
574 struct cvmx_pcsxx_misc_ctl_reg_s cn52xx;
575 struct cvmx_pcsxx_misc_ctl_reg_s cn52xxp1;
576 struct cvmx_pcsxx_misc_ctl_reg_s cn56xx;
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;
584};
585
586union cvmx_pcsxx_rx_sync_states_reg {
587 uint64_t u64;
588 struct cvmx_pcsxx_rx_sync_states_reg_s {
589#ifdef __BIG_ENDIAN_BITFIELD
590 uint64_t reserved_16_63:48;
591 uint64_t sync3st:4;
592 uint64_t sync2st:4;
593 uint64_t sync1st: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
602 } s;
603 struct cvmx_pcsxx_rx_sync_states_reg_s cn52xx;
604 struct cvmx_pcsxx_rx_sync_states_reg_s cn52xxp1;
605 struct cvmx_pcsxx_rx_sync_states_reg_s cn56xx;
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;
613};
614
615union cvmx_pcsxx_spd_abil_reg {
616 uint64_t u64;
617 struct cvmx_pcsxx_spd_abil_reg_s {
618#ifdef __BIG_ENDIAN_BITFIELD
619 uint64_t reserved_2_63:62;
620 uint64_t tenpasst: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
627 } s;
628 struct cvmx_pcsxx_spd_abil_reg_s cn52xx;
629 struct cvmx_pcsxx_spd_abil_reg_s cn52xxp1;
630 struct cvmx_pcsxx_spd_abil_reg_s cn56xx;
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;
638};
639
640union cvmx_pcsxx_status1_reg {
641 uint64_t u64;
642 struct cvmx_pcsxx_status1_reg_s {
643#ifdef __BIG_ENDIAN_BITFIELD
644 uint64_t reserved_8_63:56;
645 uint64_t flt:1;
646 uint64_t reserved_3_6:4;
647 uint64_t rcv_lnk:1;
648 uint64_t lpable: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
658 } s;
659 struct cvmx_pcsxx_status1_reg_s cn52xx;
660 struct cvmx_pcsxx_status1_reg_s cn52xxp1;
661 struct cvmx_pcsxx_status1_reg_s cn56xx;
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;
669};
670
671union cvmx_pcsxx_status2_reg {
672 uint64_t u64;
673 struct cvmx_pcsxx_status2_reg_s {
674#ifdef __BIG_ENDIAN_BITFIELD
675 uint64_t reserved_16_63:48;
676 uint64_t dev:2;
677 uint64_t reserved_12_13:2;
678 uint64_t xmtflt:1;
679 uint64_t rcvflt:1;
680 uint64_t reserved_3_9:7;
681 uint64_t tengb_w:1;
682 uint64_t tengb_x: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
695 } s;
696 struct cvmx_pcsxx_status2_reg_s cn52xx;
697 struct cvmx_pcsxx_status2_reg_s cn52xxp1;
698 struct cvmx_pcsxx_status2_reg_s cn56xx;
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;
706};
707
708union cvmx_pcsxx_tx_rx_polarity_reg {
709 uint64_t u64;
710 struct cvmx_pcsxx_tx_rx_polarity_reg_s {
711#ifdef __BIG_ENDIAN_BITFIELD
712 uint64_t reserved_10_63:54;
713 uint64_t xor_rxplrt:4;
714 uint64_t xor_txplrt:4;
715 uint64_t rxplrt: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
724 } s;
725 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn52xx;
726 struct cvmx_pcsxx_tx_rx_polarity_reg_cn52xxp1 {
727#ifdef __BIG_ENDIAN_BITFIELD
728 uint64_t reserved_2_63:62;
729 uint64_t rxplrt: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
736 } cn52xxp1;
737 struct cvmx_pcsxx_tx_rx_polarity_reg_s cn56xx;
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;
745};
746
747union cvmx_pcsxx_tx_rx_states_reg {
748 uint64_t u64;
749 struct cvmx_pcsxx_tx_rx_states_reg_s {
750#ifdef __BIG_ENDIAN_BITFIELD
751 uint64_t reserved_14_63:50;
752 uint64_t term_err:1;
753 uint64_t syn3bad:1;
754 uint64_t syn2bad:1;
755 uint64_t syn1bad:1;
756 uint64_t syn0bad:1;
757 uint64_t rxbad:1;
758 uint64_t algn_st:3;
759 uint64_t rx_st:2;
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
773 } s;
774 struct cvmx_pcsxx_tx_rx_states_reg_s cn52xx;
775 struct cvmx_pcsxx_tx_rx_states_reg_cn52xxp1 {
776#ifdef __BIG_ENDIAN_BITFIELD
777 uint64_t reserved_13_63:51;
778 uint64_t syn3bad:1;
779 uint64_t syn2bad:1;
780 uint64_t syn1bad:1;
781 uint64_t syn0bad:1;
782 uint64_t rxbad:1;
783 uint64_t algn_st:3;
784 uint64_t rx_st:2;
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
797 } cn52xxp1;
798 struct cvmx_pcsxx_tx_rx_states_reg_s cn56xx;
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;
806};
807
808#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pemx-defs.h b/arch/mips/include/asm/octeon/cvmx-pemx-defs.h
deleted file mode 100644
index 50a916f892f..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-pemx-defs.h
+++ /dev/null
@@ -1,795 +0,0 @@
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_PEMX_DEFS_H__
29#define __CVMX_PEMX_DEFS_H__
30
31#define CVMX_PEMX_BAR1_INDEXX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C00000A8ull) + (((offset) & 15) + ((block_id) & 1) * 0x200000ull) * 8)
32#define CVMX_PEMX_BAR2_MASK(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000130ull) + ((block_id) & 1) * 0x1000000ull)
33#define CVMX_PEMX_BAR_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000128ull) + ((block_id) & 1) * 0x1000000ull)
34#define CVMX_PEMX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000018ull) + ((block_id) & 1) * 0x1000000ull)
35#define CVMX_PEMX_BIST_STATUS2(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000420ull) + ((block_id) & 1) * 0x1000000ull)
36#define CVMX_PEMX_CFG_RD(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000030ull) + ((block_id) & 1) * 0x1000000ull)
37#define CVMX_PEMX_CFG_WR(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000028ull) + ((block_id) & 1) * 0x1000000ull)
38#define CVMX_PEMX_CPL_LUT_VALID(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000098ull) + ((block_id) & 1) * 0x1000000ull)
39#define CVMX_PEMX_CTL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000000ull) + ((block_id) & 1) * 0x1000000ull)
40#define CVMX_PEMX_DBG_INFO(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000008ull) + ((block_id) & 1) * 0x1000000ull)
41#define CVMX_PEMX_DBG_INFO_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800C00000A0ull) + ((block_id) & 1) * 0x1000000ull)
42#define CVMX_PEMX_DIAG_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000020ull) + ((block_id) & 1) * 0x1000000ull)
43#define CVMX_PEMX_INB_READ_CREDITS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000138ull) + ((block_id) & 1) * 0x1000000ull)
44#define CVMX_PEMX_INT_ENB(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000410ull) + ((block_id) & 1) * 0x1000000ull)
45#define CVMX_PEMX_INT_ENB_INT(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000418ull) + ((block_id) & 1) * 0x1000000ull)
46#define CVMX_PEMX_INT_SUM(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000408ull) + ((block_id) & 1) * 0x1000000ull)
47#define CVMX_PEMX_P2N_BAR0_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000080ull) + ((block_id) & 1) * 0x1000000ull)
48#define CVMX_PEMX_P2N_BAR1_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000088ull) + ((block_id) & 1) * 0x1000000ull)
49#define CVMX_PEMX_P2N_BAR2_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000090ull) + ((block_id) & 1) * 0x1000000ull)
50#define CVMX_PEMX_P2P_BARX_END(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x100000ull) * 16)
51#define CVMX_PEMX_P2P_BARX_START(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C0000040ull) + (((offset) & 3) + ((block_id) & 1) * 0x100000ull) * 16)
52#define CVMX_PEMX_TLP_CREDITS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000038ull) + ((block_id) & 1) * 0x1000000ull)
53
54union cvmx_pemx_bar1_indexx {
55 uint64_t u64;
56 struct cvmx_pemx_bar1_indexx_s {
57#ifdef __BIG_ENDIAN_BITFIELD
58 uint64_t reserved_20_63:44;
59 uint64_t addr_idx:16;
60 uint64_t ca:1;
61 uint64_t end_swp:2;
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
70 } s;
71 struct cvmx_pemx_bar1_indexx_s cn61xx;
72 struct cvmx_pemx_bar1_indexx_s cn63xx;
73 struct cvmx_pemx_bar1_indexx_s cn63xxp1;
74 struct cvmx_pemx_bar1_indexx_s cn66xx;
75 struct cvmx_pemx_bar1_indexx_s cn68xx;
76 struct cvmx_pemx_bar1_indexx_s cn68xxp1;
77 struct cvmx_pemx_bar1_indexx_s cnf71xx;
78};
79
80union cvmx_pemx_bar2_mask {
81 uint64_t u64;
82 struct cvmx_pemx_bar2_mask_s {
83#ifdef __BIG_ENDIAN_BITFIELD
84 uint64_t reserved_38_63:26;
85 uint64_t mask:35;
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
92 } s;
93 struct cvmx_pemx_bar2_mask_s cn61xx;
94 struct cvmx_pemx_bar2_mask_s cn66xx;
95 struct cvmx_pemx_bar2_mask_s cn68xx;
96 struct cvmx_pemx_bar2_mask_s cn68xxp1;
97 struct cvmx_pemx_bar2_mask_s cnf71xx;
98};
99
100union cvmx_pemx_bar_ctl {
101 uint64_t u64;
102 struct cvmx_pemx_bar_ctl_s {
103#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_7_63:57;
105 uint64_t bar1_siz:3;
106 uint64_t bar2_enb:1;
107 uint64_t bar2_esx:2;
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
116 } s;
117 struct cvmx_pemx_bar_ctl_s cn61xx;
118 struct cvmx_pemx_bar_ctl_s cn63xx;
119 struct cvmx_pemx_bar_ctl_s cn63xxp1;
120 struct cvmx_pemx_bar_ctl_s cn66xx;
121 struct cvmx_pemx_bar_ctl_s cn68xx;
122 struct cvmx_pemx_bar_ctl_s cn68xxp1;
123 struct cvmx_pemx_bar_ctl_s cnf71xx;
124};
125
126union cvmx_pemx_bist_status {
127 uint64_t u64;
128 struct cvmx_pemx_bist_status_s {
129#ifdef __BIG_ENDIAN_BITFIELD
130 uint64_t reserved_8_63:56;
131 uint64_t retry:1;
132 uint64_t rqdata0:1;
133 uint64_t rqdata1:1;
134 uint64_t rqdata2:1;
135 uint64_t rqdata3:1;
136 uint64_t rqhdr1:1;
137 uint64_t rqhdr0: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
150 } s;
151 struct cvmx_pemx_bist_status_s cn61xx;
152 struct cvmx_pemx_bist_status_s cn63xx;
153 struct cvmx_pemx_bist_status_s cn63xxp1;
154 struct cvmx_pemx_bist_status_s cn66xx;
155 struct cvmx_pemx_bist_status_s cn68xx;
156 struct cvmx_pemx_bist_status_s cn68xxp1;
157 struct cvmx_pemx_bist_status_s cnf71xx;
158};
159
160union cvmx_pemx_bist_status2 {
161 uint64_t u64;
162 struct cvmx_pemx_bist_status2_s {
163#ifdef __BIG_ENDIAN_BITFIELD
164 uint64_t reserved_10_63:54;
165 uint64_t e2p_cpl:1;
166 uint64_t e2p_n:1;
167 uint64_t e2p_p:1;
168 uint64_t peai_p2e:1;
169 uint64_t pef_tpf1:1;
170 uint64_t pef_tpf0:1;
171 uint64_t pef_tnf:1;
172 uint64_t pef_tcf1:1;
173 uint64_t pef_tc0: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
188 } s;
189 struct cvmx_pemx_bist_status2_s cn61xx;
190 struct cvmx_pemx_bist_status2_s cn63xx;
191 struct cvmx_pemx_bist_status2_s cn63xxp1;
192 struct cvmx_pemx_bist_status2_s cn66xx;
193 struct cvmx_pemx_bist_status2_s cn68xx;
194 struct cvmx_pemx_bist_status2_s cn68xxp1;
195 struct cvmx_pemx_bist_status2_s cnf71xx;
196};
197
198union cvmx_pemx_cfg_rd {
199 uint64_t u64;
200 struct cvmx_pemx_cfg_rd_s {
201#ifdef __BIG_ENDIAN_BITFIELD
202 uint64_t data:32;
203 uint64_t addr:32;
204#else
205 uint64_t addr:32;
206 uint64_t data:32;
207#endif
208 } s;
209 struct cvmx_pemx_cfg_rd_s cn61xx;
210 struct cvmx_pemx_cfg_rd_s cn63xx;
211 struct cvmx_pemx_cfg_rd_s cn63xxp1;
212 struct cvmx_pemx_cfg_rd_s cn66xx;
213 struct cvmx_pemx_cfg_rd_s cn68xx;
214 struct cvmx_pemx_cfg_rd_s cn68xxp1;
215 struct cvmx_pemx_cfg_rd_s cnf71xx;
216};
217
218union cvmx_pemx_cfg_wr {
219 uint64_t u64;
220 struct cvmx_pemx_cfg_wr_s {
221#ifdef __BIG_ENDIAN_BITFIELD
222 uint64_t data:32;
223 uint64_t addr:32;
224#else
225 uint64_t addr:32;
226 uint64_t data:32;
227#endif
228 } s;
229 struct cvmx_pemx_cfg_wr_s cn61xx;
230 struct cvmx_pemx_cfg_wr_s cn63xx;
231 struct cvmx_pemx_cfg_wr_s cn63xxp1;
232 struct cvmx_pemx_cfg_wr_s cn66xx;
233 struct cvmx_pemx_cfg_wr_s cn68xx;
234 struct cvmx_pemx_cfg_wr_s cn68xxp1;
235 struct cvmx_pemx_cfg_wr_s cnf71xx;
236};
237
238union cvmx_pemx_cpl_lut_valid {
239 uint64_t u64;
240 struct cvmx_pemx_cpl_lut_valid_s {
241#ifdef __BIG_ENDIAN_BITFIELD
242 uint64_t reserved_32_63:32;
243 uint64_t tag:32;
244#else
245 uint64_t tag:32;
246 uint64_t reserved_32_63:32;
247#endif
248 } s;
249 struct cvmx_pemx_cpl_lut_valid_s cn61xx;
250 struct cvmx_pemx_cpl_lut_valid_s cn63xx;
251 struct cvmx_pemx_cpl_lut_valid_s cn63xxp1;
252 struct cvmx_pemx_cpl_lut_valid_s cn66xx;
253 struct cvmx_pemx_cpl_lut_valid_s cn68xx;
254 struct cvmx_pemx_cpl_lut_valid_s cn68xxp1;
255 struct cvmx_pemx_cpl_lut_valid_s cnf71xx;
256};
257
258union cvmx_pemx_ctl_status {
259 uint64_t u64;
260 struct cvmx_pemx_ctl_status_s {
261#ifdef __BIG_ENDIAN_BITFIELD
262 uint64_t reserved_48_63:16;
263 uint64_t auto_sd:1;
264 uint64_t dnum:5;
265 uint64_t pbus:8;
266 uint64_t reserved_32_33:2;
267 uint64_t cfg_rtry:16;
268 uint64_t reserved_12_15:4;
269 uint64_t pm_xtoff:1;
270 uint64_t pm_xpme:1;
271 uint64_t ob_p_cmd:1;
272 uint64_t reserved_7_8:2;
273 uint64_t nf_ecrc:1;
274 uint64_t dly_one:1;
275 uint64_t lnk_enb:1;
276 uint64_t ro_ctlp:1;
277 uint64_t fast_lm:1;
278 uint64_t inv_ecrc: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
300 } s;
301 struct cvmx_pemx_ctl_status_s cn61xx;
302 struct cvmx_pemx_ctl_status_s cn63xx;
303 struct cvmx_pemx_ctl_status_s cn63xxp1;
304 struct cvmx_pemx_ctl_status_s cn66xx;
305 struct cvmx_pemx_ctl_status_s cn68xx;
306 struct cvmx_pemx_ctl_status_s cn68xxp1;
307 struct cvmx_pemx_ctl_status_s cnf71xx;
308};
309
310union cvmx_pemx_dbg_info {
311 uint64_t u64;
312 struct cvmx_pemx_dbg_info_s {
313#ifdef __BIG_ENDIAN_BITFIELD
314 uint64_t reserved_31_63:33;
315 uint64_t ecrc_e:1;
316 uint64_t rawwpp:1;
317 uint64_t racpp:1;
318 uint64_t ramtlp:1;
319 uint64_t rarwdns:1;
320 uint64_t caar:1;
321 uint64_t racca:1;
322 uint64_t racur:1;
323 uint64_t rauc:1;
324 uint64_t rqo:1;
325 uint64_t fcuv:1;
326 uint64_t rpe:1;
327 uint64_t fcpvwt:1;
328 uint64_t dpeoosd:1;
329 uint64_t rtwdle:1;
330 uint64_t rdwdle:1;
331 uint64_t mre:1;
332 uint64_t rte:1;
333 uint64_t acto:1;
334 uint64_t rvdm:1;
335 uint64_t rumep:1;
336 uint64_t rptamrc:1;
337 uint64_t rpmerc:1;
338 uint64_t rfemrc:1;
339 uint64_t rnfemrc:1;
340 uint64_t rcemrc:1;
341 uint64_t rpoison:1;
342 uint64_t recrce:1;
343 uint64_t rtlplle:1;
344 uint64_t rtlpmal: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
380 } s;
381 struct cvmx_pemx_dbg_info_s cn61xx;
382 struct cvmx_pemx_dbg_info_s cn63xx;
383 struct cvmx_pemx_dbg_info_s cn63xxp1;
384 struct cvmx_pemx_dbg_info_s cn66xx;
385 struct cvmx_pemx_dbg_info_s cn68xx;
386 struct cvmx_pemx_dbg_info_s cn68xxp1;
387 struct cvmx_pemx_dbg_info_s cnf71xx;
388};
389
390union cvmx_pemx_dbg_info_en {
391 uint64_t u64;
392 struct cvmx_pemx_dbg_info_en_s {
393#ifdef __BIG_ENDIAN_BITFIELD
394 uint64_t reserved_31_63:33;
395 uint64_t ecrc_e:1;
396 uint64_t rawwpp:1;
397 uint64_t racpp:1;
398 uint64_t ramtlp:1;
399 uint64_t rarwdns:1;
400 uint64_t caar:1;
401 uint64_t racca:1;
402 uint64_t racur:1;
403 uint64_t rauc:1;
404 uint64_t rqo:1;
405 uint64_t fcuv:1;
406 uint64_t rpe:1;
407 uint64_t fcpvwt:1;
408 uint64_t dpeoosd:1;
409 uint64_t rtwdle:1;
410 uint64_t rdwdle:1;
411 uint64_t mre:1;
412 uint64_t rte:1;
413 uint64_t acto:1;
414 uint64_t rvdm:1;
415 uint64_t rumep:1;
416 uint64_t rptamrc:1;
417 uint64_t rpmerc:1;
418 uint64_t rfemrc:1;
419 uint64_t rnfemrc:1;
420 uint64_t rcemrc:1;
421 uint64_t rpoison:1;
422 uint64_t recrce:1;
423 uint64_t rtlplle:1;
424 uint64_t rtlpmal: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
460 } s;
461 struct cvmx_pemx_dbg_info_en_s cn61xx;
462 struct cvmx_pemx_dbg_info_en_s cn63xx;
463 struct cvmx_pemx_dbg_info_en_s cn63xxp1;
464 struct cvmx_pemx_dbg_info_en_s cn66xx;
465 struct cvmx_pemx_dbg_info_en_s cn68xx;
466 struct cvmx_pemx_dbg_info_en_s cn68xxp1;
467 struct cvmx_pemx_dbg_info_en_s cnf71xx;
468};
469
470union cvmx_pemx_diag_status {
471 uint64_t u64;
472 struct cvmx_pemx_diag_status_s {
473#ifdef __BIG_ENDIAN_BITFIELD
474 uint64_t reserved_4_63:60;
475 uint64_t pm_dst:1;
476 uint64_t pm_stat:1;
477 uint64_t pm_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
486 } s;
487 struct cvmx_pemx_diag_status_s cn61xx;
488 struct cvmx_pemx_diag_status_s cn63xx;
489 struct cvmx_pemx_diag_status_s cn63xxp1;
490 struct cvmx_pemx_diag_status_s cn66xx;
491 struct cvmx_pemx_diag_status_s cn68xx;
492 struct cvmx_pemx_diag_status_s cn68xxp1;
493 struct cvmx_pemx_diag_status_s cnf71xx;
494};
495
496union cvmx_pemx_inb_read_credits {
497 uint64_t u64;
498 struct cvmx_pemx_inb_read_credits_s {
499#ifdef __BIG_ENDIAN_BITFIELD
500 uint64_t reserved_6_63:58;
501 uint64_t num:6;
502#else
503 uint64_t num:6;
504 uint64_t reserved_6_63:58;
505#endif
506 } s;
507 struct cvmx_pemx_inb_read_credits_s cn61xx;
508 struct cvmx_pemx_inb_read_credits_s cn66xx;
509 struct cvmx_pemx_inb_read_credits_s cn68xx;
510 struct cvmx_pemx_inb_read_credits_s cnf71xx;
511};
512
513union cvmx_pemx_int_enb {
514 uint64_t u64;
515 struct cvmx_pemx_int_enb_s {
516#ifdef __BIG_ENDIAN_BITFIELD
517 uint64_t reserved_14_63:50;
518 uint64_t crs_dr:1;
519 uint64_t crs_er:1;
520 uint64_t rdlk:1;
521 uint64_t exc:1;
522 uint64_t un_bx:1;
523 uint64_t un_b2:1;
524 uint64_t un_b1:1;
525 uint64_t up_bx:1;
526 uint64_t up_b2:1;
527 uint64_t up_b1:1;
528 uint64_t pmem:1;
529 uint64_t pmei:1;
530 uint64_t se: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
549 } s;
550 struct cvmx_pemx_int_enb_s cn61xx;
551 struct cvmx_pemx_int_enb_s cn63xx;
552 struct cvmx_pemx_int_enb_s cn63xxp1;
553 struct cvmx_pemx_int_enb_s cn66xx;
554 struct cvmx_pemx_int_enb_s cn68xx;
555 struct cvmx_pemx_int_enb_s cn68xxp1;
556 struct cvmx_pemx_int_enb_s cnf71xx;
557};
558
559union cvmx_pemx_int_enb_int {
560 uint64_t u64;
561 struct cvmx_pemx_int_enb_int_s {
562#ifdef __BIG_ENDIAN_BITFIELD
563 uint64_t reserved_14_63:50;
564 uint64_t crs_dr:1;
565 uint64_t crs_er:1;
566 uint64_t rdlk:1;
567 uint64_t exc:1;
568 uint64_t un_bx:1;
569 uint64_t un_b2:1;
570 uint64_t un_b1:1;
571 uint64_t up_bx:1;
572 uint64_t up_b2:1;
573 uint64_t up_b1:1;
574 uint64_t pmem:1;
575 uint64_t pmei:1;
576 uint64_t se: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
595 } s;
596 struct cvmx_pemx_int_enb_int_s cn61xx;
597 struct cvmx_pemx_int_enb_int_s cn63xx;
598 struct cvmx_pemx_int_enb_int_s cn63xxp1;
599 struct cvmx_pemx_int_enb_int_s cn66xx;
600 struct cvmx_pemx_int_enb_int_s cn68xx;
601 struct cvmx_pemx_int_enb_int_s cn68xxp1;
602 struct cvmx_pemx_int_enb_int_s cnf71xx;
603};
604
605union cvmx_pemx_int_sum {
606 uint64_t u64;
607 struct cvmx_pemx_int_sum_s {
608#ifdef __BIG_ENDIAN_BITFIELD
609 uint64_t reserved_14_63:50;
610 uint64_t crs_dr:1;
611 uint64_t crs_er:1;
612 uint64_t rdlk:1;
613 uint64_t exc:1;
614 uint64_t un_bx:1;
615 uint64_t un_b2:1;
616 uint64_t un_b1:1;
617 uint64_t up_bx:1;
618 uint64_t up_b2:1;
619 uint64_t up_b1:1;
620 uint64_t pmem:1;
621 uint64_t pmei:1;
622 uint64_t se: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
641 } s;
642 struct cvmx_pemx_int_sum_s cn61xx;
643 struct cvmx_pemx_int_sum_s cn63xx;
644 struct cvmx_pemx_int_sum_s cn63xxp1;
645 struct cvmx_pemx_int_sum_s cn66xx;
646 struct cvmx_pemx_int_sum_s cn68xx;
647 struct cvmx_pemx_int_sum_s cn68xxp1;
648 struct cvmx_pemx_int_sum_s cnf71xx;
649};
650
651union cvmx_pemx_p2n_bar0_start {
652 uint64_t u64;
653 struct cvmx_pemx_p2n_bar0_start_s {
654#ifdef __BIG_ENDIAN_BITFIELD
655 uint64_t addr:50;
656 uint64_t reserved_0_13:14;
657#else
658 uint64_t reserved_0_13:14;
659 uint64_t addr:50;
660#endif
661 } s;
662 struct cvmx_pemx_p2n_bar0_start_s cn61xx;
663 struct cvmx_pemx_p2n_bar0_start_s cn63xx;
664 struct cvmx_pemx_p2n_bar0_start_s cn63xxp1;
665 struct cvmx_pemx_p2n_bar0_start_s cn66xx;
666 struct cvmx_pemx_p2n_bar0_start_s cn68xx;
667 struct cvmx_pemx_p2n_bar0_start_s cn68xxp1;
668 struct cvmx_pemx_p2n_bar0_start_s cnf71xx;
669};
670
671union cvmx_pemx_p2n_bar1_start {
672 uint64_t u64;
673 struct cvmx_pemx_p2n_bar1_start_s {
674#ifdef __BIG_ENDIAN_BITFIELD
675 uint64_t addr:38;
676 uint64_t reserved_0_25:26;
677#else
678 uint64_t reserved_0_25:26;
679 uint64_t addr:38;
680#endif
681 } s;
682 struct cvmx_pemx_p2n_bar1_start_s cn61xx;
683 struct cvmx_pemx_p2n_bar1_start_s cn63xx;
684 struct cvmx_pemx_p2n_bar1_start_s cn63xxp1;
685 struct cvmx_pemx_p2n_bar1_start_s cn66xx;
686 struct cvmx_pemx_p2n_bar1_start_s cn68xx;
687 struct cvmx_pemx_p2n_bar1_start_s cn68xxp1;
688 struct cvmx_pemx_p2n_bar1_start_s cnf71xx;
689};
690
691union cvmx_pemx_p2n_bar2_start {
692 uint64_t u64;
693 struct cvmx_pemx_p2n_bar2_start_s {
694#ifdef __BIG_ENDIAN_BITFIELD
695 uint64_t addr:23;
696 uint64_t reserved_0_40:41;
697#else
698 uint64_t reserved_0_40:41;
699 uint64_t addr:23;
700#endif
701 } s;
702 struct cvmx_pemx_p2n_bar2_start_s cn61xx;
703 struct cvmx_pemx_p2n_bar2_start_s cn63xx;
704 struct cvmx_pemx_p2n_bar2_start_s cn63xxp1;
705 struct cvmx_pemx_p2n_bar2_start_s cn66xx;
706 struct cvmx_pemx_p2n_bar2_start_s cn68xx;
707 struct cvmx_pemx_p2n_bar2_start_s cn68xxp1;
708 struct cvmx_pemx_p2n_bar2_start_s cnf71xx;
709};
710
711union cvmx_pemx_p2p_barx_end {
712 uint64_t u64;
713 struct cvmx_pemx_p2p_barx_end_s {
714#ifdef __BIG_ENDIAN_BITFIELD
715 uint64_t addr:52;
716 uint64_t reserved_0_11:12;
717#else
718 uint64_t reserved_0_11:12;
719 uint64_t addr:52;
720#endif
721 } s;
722 struct cvmx_pemx_p2p_barx_end_s cn63xx;
723 struct cvmx_pemx_p2p_barx_end_s cn63xxp1;
724 struct cvmx_pemx_p2p_barx_end_s cn66xx;
725 struct cvmx_pemx_p2p_barx_end_s cn68xx;
726 struct cvmx_pemx_p2p_barx_end_s cn68xxp1;
727};
728
729union cvmx_pemx_p2p_barx_start {
730 uint64_t u64;
731 struct cvmx_pemx_p2p_barx_start_s {
732#ifdef __BIG_ENDIAN_BITFIELD
733 uint64_t addr:52;
734 uint64_t reserved_0_11:12;
735#else
736 uint64_t reserved_0_11:12;
737 uint64_t addr:52;
738#endif
739 } s;
740 struct cvmx_pemx_p2p_barx_start_s cn63xx;
741 struct cvmx_pemx_p2p_barx_start_s cn63xxp1;
742 struct cvmx_pemx_p2p_barx_start_s cn66xx;
743 struct cvmx_pemx_p2p_barx_start_s cn68xx;
744 struct cvmx_pemx_p2p_barx_start_s cn68xxp1;
745};
746
747union cvmx_pemx_tlp_credits {
748 uint64_t u64;
749 struct cvmx_pemx_tlp_credits_s {
750#ifdef __BIG_ENDIAN_BITFIELD
751 uint64_t reserved_56_63:8;
752 uint64_t peai_ppf:8;
753 uint64_t pem_cpl:8;
754 uint64_t pem_np:8;
755 uint64_t pem_p:8;
756 uint64_t sli_cpl:8;
757 uint64_t sli_np: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
769 } s;
770 struct cvmx_pemx_tlp_credits_cn61xx {
771#ifdef __BIG_ENDIAN_BITFIELD
772 uint64_t reserved_56_63:8;
773 uint64_t peai_ppf:8;
774 uint64_t reserved_24_47:24;
775 uint64_t sli_cpl:8;
776 uint64_t sli_np: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
786 } cn61xx;
787 struct cvmx_pemx_tlp_credits_s cn63xx;
788 struct cvmx_pemx_tlp_credits_s cn63xxp1;
789 struct cvmx_pemx_tlp_credits_s cn66xx;
790 struct cvmx_pemx_tlp_credits_s cn68xx;
791 struct cvmx_pemx_tlp_credits_s cn68xxp1;
792 struct cvmx_pemx_tlp_credits_cn61xx cnf71xx;
793};
794
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 59b3dc56544..aef84851a94 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,7 +48,6 @@
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
52 uint64_t reserved_13_63:51; 51 uint64_t reserved_13_63:51;
53 uint64_t rqdata5:1; 52 uint64_t rqdata5:1;
54 uint64_t ctlp_or:1; 53 uint64_t ctlp_or:1;
@@ -63,26 +62,9 @@ union cvmx_pescx_bist_status {
63 uint64_t rqhdr1:1; 62 uint64_t rqhdr1:1;
64 uint64_t rqhdr0:1; 63 uint64_t rqhdr0:1;
65 uint64_t sot:1; 64 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
82 } s; 65 } s;
83 struct cvmx_pescx_bist_status_s cn52xx; 66 struct cvmx_pescx_bist_status_s cn52xx;
84 struct cvmx_pescx_bist_status_cn52xxp1 { 67 struct cvmx_pescx_bist_status_cn52xxp1 {
85#ifdef __BIG_ENDIAN_BITFIELD
86 uint64_t reserved_12_63:52; 68 uint64_t reserved_12_63:52;
87 uint64_t ctlp_or:1; 69 uint64_t ctlp_or:1;
88 uint64_t ntlp_or:1; 70 uint64_t ntlp_or:1;
@@ -96,21 +78,6 @@ union cvmx_pescx_bist_status {
96 uint64_t rqhdr1:1; 78 uint64_t rqhdr1:1;
97 uint64_t rqhdr0:1; 79 uint64_t rqhdr0:1;
98 uint64_t sot:1; 80 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
114 } cn52xxp1; 81 } cn52xxp1;
115 struct cvmx_pescx_bist_status_s cn56xx; 82 struct cvmx_pescx_bist_status_s cn56xx;
116 struct cvmx_pescx_bist_status_cn52xxp1 cn56xxp1; 83 struct cvmx_pescx_bist_status_cn52xxp1 cn56xxp1;
@@ -119,7 +86,6 @@ union cvmx_pescx_bist_status {
119union cvmx_pescx_bist_status2 { 86union cvmx_pescx_bist_status2 {
120 uint64_t u64; 87 uint64_t u64;
121 struct cvmx_pescx_bist_status2_s { 88 struct cvmx_pescx_bist_status2_s {
122#ifdef __BIG_ENDIAN_BITFIELD
123 uint64_t reserved_14_63:50; 89 uint64_t reserved_14_63:50;
124 uint64_t cto_p2e:1; 90 uint64_t cto_p2e:1;
125 uint64_t e2p_cpl:1; 91 uint64_t e2p_cpl:1;
@@ -135,23 +101,6 @@ union cvmx_pescx_bist_status2 {
135 uint64_t pef_tcf1:1; 101 uint64_t pef_tcf1:1;
136 uint64_t pef_tc0:1; 102 uint64_t pef_tc0:1;
137 uint64_t ppf:1; 103 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
155 } s; 104 } s;
156 struct cvmx_pescx_bist_status2_s cn52xx; 105 struct cvmx_pescx_bist_status2_s cn52xx;
157 struct cvmx_pescx_bist_status2_s cn52xxp1; 106 struct cvmx_pescx_bist_status2_s cn52xxp1;
@@ -162,13 +111,8 @@ union cvmx_pescx_bist_status2 {
162union cvmx_pescx_cfg_rd { 111union cvmx_pescx_cfg_rd {
163 uint64_t u64; 112 uint64_t u64;
164 struct cvmx_pescx_cfg_rd_s { 113 struct cvmx_pescx_cfg_rd_s {
165#ifdef __BIG_ENDIAN_BITFIELD
166 uint64_t data:32; 114 uint64_t data:32;
167 uint64_t addr:32; 115 uint64_t addr:32;
168#else
169 uint64_t addr:32;
170 uint64_t data:32;
171#endif
172 } s; 116 } s;
173 struct cvmx_pescx_cfg_rd_s cn52xx; 117 struct cvmx_pescx_cfg_rd_s cn52xx;
174 struct cvmx_pescx_cfg_rd_s cn52xxp1; 118 struct cvmx_pescx_cfg_rd_s cn52xxp1;
@@ -179,13 +123,8 @@ union cvmx_pescx_cfg_rd {
179union cvmx_pescx_cfg_wr { 123union cvmx_pescx_cfg_wr {
180 uint64_t u64; 124 uint64_t u64;
181 struct cvmx_pescx_cfg_wr_s { 125 struct cvmx_pescx_cfg_wr_s {
182#ifdef __BIG_ENDIAN_BITFIELD
183 uint64_t data:32; 126 uint64_t data:32;
184 uint64_t addr:32; 127 uint64_t addr:32;
185#else
186 uint64_t addr:32;
187 uint64_t data:32;
188#endif
189 } s; 128 } s;
190 struct cvmx_pescx_cfg_wr_s cn52xx; 129 struct cvmx_pescx_cfg_wr_s cn52xx;
191 struct cvmx_pescx_cfg_wr_s cn52xxp1; 130 struct cvmx_pescx_cfg_wr_s cn52xxp1;
@@ -196,13 +135,8 @@ union cvmx_pescx_cfg_wr {
196union cvmx_pescx_cpl_lut_valid { 135union cvmx_pescx_cpl_lut_valid {
197 uint64_t u64; 136 uint64_t u64;
198 struct cvmx_pescx_cpl_lut_valid_s { 137 struct cvmx_pescx_cpl_lut_valid_s {
199#ifdef __BIG_ENDIAN_BITFIELD
200 uint64_t reserved_32_63:32; 138 uint64_t reserved_32_63:32;
201 uint64_t tag:32; 139 uint64_t tag:32;
202#else
203 uint64_t tag:32;
204 uint64_t reserved_32_63:32;
205#endif
206 } s; 140 } s;
207 struct cvmx_pescx_cpl_lut_valid_s cn52xx; 141 struct cvmx_pescx_cpl_lut_valid_s cn52xx;
208 struct cvmx_pescx_cpl_lut_valid_s cn52xxp1; 142 struct cvmx_pescx_cpl_lut_valid_s cn52xxp1;
@@ -213,7 +147,6 @@ union cvmx_pescx_cpl_lut_valid {
213union cvmx_pescx_ctl_status { 147union cvmx_pescx_ctl_status {
214 uint64_t u64; 148 uint64_t u64;
215 struct cvmx_pescx_ctl_status_s { 149 struct cvmx_pescx_ctl_status_s {
216#ifdef __BIG_ENDIAN_BITFIELD
217 uint64_t reserved_28_63:36; 150 uint64_t reserved_28_63:36;
218 uint64_t dnum:5; 151 uint64_t dnum:5;
219 uint64_t pbus:8; 152 uint64_t pbus:8;
@@ -230,29 +163,10 @@ union cvmx_pescx_ctl_status {
230 uint64_t reserved_2_2:1; 163 uint64_t reserved_2_2:1;
231 uint64_t inv_ecrc:1; 164 uint64_t inv_ecrc:1;
232 uint64_t inv_lcrc:1; 165 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
251 } s; 166 } s;
252 struct cvmx_pescx_ctl_status_s cn52xx; 167 struct cvmx_pescx_ctl_status_s cn52xx;
253 struct cvmx_pescx_ctl_status_s cn52xxp1; 168 struct cvmx_pescx_ctl_status_s cn52xxp1;
254 struct cvmx_pescx_ctl_status_cn56xx { 169 struct cvmx_pescx_ctl_status_cn56xx {
255#ifdef __BIG_ENDIAN_BITFIELD
256 uint64_t reserved_28_63:36; 170 uint64_t reserved_28_63:36;
257 uint64_t dnum:5; 171 uint64_t dnum:5;
258 uint64_t pbus:8; 172 uint64_t pbus:8;
@@ -269,24 +183,6 @@ union cvmx_pescx_ctl_status {
269 uint64_t reserved_2_2:1; 183 uint64_t reserved_2_2:1;
270 uint64_t inv_ecrc:1; 184 uint64_t inv_ecrc:1;
271 uint64_t inv_lcrc:1; 185 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
290 } cn56xx; 186 } cn56xx;
291 struct cvmx_pescx_ctl_status_cn56xx cn56xxp1; 187 struct cvmx_pescx_ctl_status_cn56xx cn56xxp1;
292}; 188};
@@ -294,25 +190,14 @@ union cvmx_pescx_ctl_status {
294union cvmx_pescx_ctl_status2 { 190union cvmx_pescx_ctl_status2 {
295 uint64_t u64; 191 uint64_t u64;
296 struct cvmx_pescx_ctl_status2_s { 192 struct cvmx_pescx_ctl_status2_s {
297#ifdef __BIG_ENDIAN_BITFIELD
298 uint64_t reserved_2_63:62; 193 uint64_t reserved_2_63:62;
299 uint64_t pclk_run:1; 194 uint64_t pclk_run:1;
300 uint64_t pcierst:1; 195 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
306 } s; 196 } s;
307 struct cvmx_pescx_ctl_status2_s cn52xx; 197 struct cvmx_pescx_ctl_status2_s cn52xx;
308 struct cvmx_pescx_ctl_status2_cn52xxp1 { 198 struct cvmx_pescx_ctl_status2_cn52xxp1 {
309#ifdef __BIG_ENDIAN_BITFIELD
310 uint64_t reserved_1_63:63; 199 uint64_t reserved_1_63:63;
311 uint64_t pcierst:1; 200 uint64_t pcierst:1;
312#else
313 uint64_t pcierst:1;
314 uint64_t reserved_1_63:63;
315#endif
316 } cn52xxp1; 201 } cn52xxp1;
317 struct cvmx_pescx_ctl_status2_s cn56xx; 202 struct cvmx_pescx_ctl_status2_s cn56xx;
318 struct cvmx_pescx_ctl_status2_cn52xxp1 cn56xxp1; 203 struct cvmx_pescx_ctl_status2_cn52xxp1 cn56xxp1;
@@ -321,7 +206,6 @@ union cvmx_pescx_ctl_status2 {
321union cvmx_pescx_dbg_info { 206union cvmx_pescx_dbg_info {
322 uint64_t u64; 207 uint64_t u64;
323 struct cvmx_pescx_dbg_info_s { 208 struct cvmx_pescx_dbg_info_s {
324#ifdef __BIG_ENDIAN_BITFIELD
325 uint64_t reserved_31_63:33; 209 uint64_t reserved_31_63:33;
326 uint64_t ecrc_e:1; 210 uint64_t ecrc_e:1;
327 uint64_t rawwpp:1; 211 uint64_t rawwpp:1;
@@ -354,40 +238,6 @@ union cvmx_pescx_dbg_info {
354 uint64_t rtlplle:1; 238 uint64_t rtlplle:1;
355 uint64_t rtlpmal:1; 239 uint64_t rtlpmal:1;
356 uint64_t spoison:1; 240 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
391 } s; 241 } s;
392 struct cvmx_pescx_dbg_info_s cn52xx; 242 struct cvmx_pescx_dbg_info_s cn52xx;
393 struct cvmx_pescx_dbg_info_s cn52xxp1; 243 struct cvmx_pescx_dbg_info_s cn52xxp1;
@@ -398,7 +248,6 @@ union cvmx_pescx_dbg_info {
398union cvmx_pescx_dbg_info_en { 248union cvmx_pescx_dbg_info_en {
399 uint64_t u64; 249 uint64_t u64;
400 struct cvmx_pescx_dbg_info_en_s { 250 struct cvmx_pescx_dbg_info_en_s {
401#ifdef __BIG_ENDIAN_BITFIELD
402 uint64_t reserved_31_63:33; 251 uint64_t reserved_31_63:33;
403 uint64_t ecrc_e:1; 252 uint64_t ecrc_e:1;
404 uint64_t rawwpp:1; 253 uint64_t rawwpp:1;
@@ -431,40 +280,6 @@ union cvmx_pescx_dbg_info_en {
431 uint64_t rtlplle:1; 280 uint64_t rtlplle:1;
432 uint64_t rtlpmal:1; 281 uint64_t rtlpmal:1;
433 uint64_t spoison:1; 282 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
468 } s; 283 } s;
469 struct cvmx_pescx_dbg_info_en_s cn52xx; 284 struct cvmx_pescx_dbg_info_en_s cn52xx;
470 struct cvmx_pescx_dbg_info_en_s cn52xxp1; 285 struct cvmx_pescx_dbg_info_en_s cn52xxp1;
@@ -475,19 +290,11 @@ union cvmx_pescx_dbg_info_en {
475union cvmx_pescx_diag_status { 290union cvmx_pescx_diag_status {
476 uint64_t u64; 291 uint64_t u64;
477 struct cvmx_pescx_diag_status_s { 292 struct cvmx_pescx_diag_status_s {
478#ifdef __BIG_ENDIAN_BITFIELD
479 uint64_t reserved_4_63:60; 293 uint64_t reserved_4_63:60;
480 uint64_t pm_dst:1; 294 uint64_t pm_dst:1;
481 uint64_t pm_stat:1; 295 uint64_t pm_stat:1;
482 uint64_t pm_en:1; 296 uint64_t pm_en:1;
483 uint64_t aux_en:1; 297 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
491 } s; 298 } s;
492 struct cvmx_pescx_diag_status_s cn52xx; 299 struct cvmx_pescx_diag_status_s cn52xx;
493 struct cvmx_pescx_diag_status_s cn52xxp1; 300 struct cvmx_pescx_diag_status_s cn52xxp1;
@@ -498,13 +305,8 @@ union cvmx_pescx_diag_status {
498union cvmx_pescx_p2n_bar0_start { 305union cvmx_pescx_p2n_bar0_start {
499 uint64_t u64; 306 uint64_t u64;
500 struct cvmx_pescx_p2n_bar0_start_s { 307 struct cvmx_pescx_p2n_bar0_start_s {
501#ifdef __BIG_ENDIAN_BITFIELD
502 uint64_t addr:50; 308 uint64_t addr:50;
503 uint64_t reserved_0_13:14; 309 uint64_t reserved_0_13:14;
504#else
505 uint64_t reserved_0_13:14;
506 uint64_t addr:50;
507#endif
508 } s; 310 } s;
509 struct cvmx_pescx_p2n_bar0_start_s cn52xx; 311 struct cvmx_pescx_p2n_bar0_start_s cn52xx;
510 struct cvmx_pescx_p2n_bar0_start_s cn52xxp1; 312 struct cvmx_pescx_p2n_bar0_start_s cn52xxp1;
@@ -515,13 +317,8 @@ union cvmx_pescx_p2n_bar0_start {
515union cvmx_pescx_p2n_bar1_start { 317union cvmx_pescx_p2n_bar1_start {
516 uint64_t u64; 318 uint64_t u64;
517 struct cvmx_pescx_p2n_bar1_start_s { 319 struct cvmx_pescx_p2n_bar1_start_s {
518#ifdef __BIG_ENDIAN_BITFIELD
519 uint64_t addr:38; 320 uint64_t addr:38;
520 uint64_t reserved_0_25:26; 321 uint64_t reserved_0_25:26;
521#else
522 uint64_t reserved_0_25:26;
523 uint64_t addr:38;
524#endif
525 } s; 322 } s;
526 struct cvmx_pescx_p2n_bar1_start_s cn52xx; 323 struct cvmx_pescx_p2n_bar1_start_s cn52xx;
527 struct cvmx_pescx_p2n_bar1_start_s cn52xxp1; 324 struct cvmx_pescx_p2n_bar1_start_s cn52xxp1;
@@ -532,13 +329,8 @@ union cvmx_pescx_p2n_bar1_start {
532union cvmx_pescx_p2n_bar2_start { 329union cvmx_pescx_p2n_bar2_start {
533 uint64_t u64; 330 uint64_t u64;
534 struct cvmx_pescx_p2n_bar2_start_s { 331 struct cvmx_pescx_p2n_bar2_start_s {
535#ifdef __BIG_ENDIAN_BITFIELD
536 uint64_t addr:25; 332 uint64_t addr:25;
537 uint64_t reserved_0_38:39; 333 uint64_t reserved_0_38:39;
538#else
539 uint64_t reserved_0_38:39;
540 uint64_t addr:25;
541#endif
542 } s; 334 } s;
543 struct cvmx_pescx_p2n_bar2_start_s cn52xx; 335 struct cvmx_pescx_p2n_bar2_start_s cn52xx;
544 struct cvmx_pescx_p2n_bar2_start_s cn52xxp1; 336 struct cvmx_pescx_p2n_bar2_start_s cn52xxp1;
@@ -549,13 +341,8 @@ union cvmx_pescx_p2n_bar2_start {
549union cvmx_pescx_p2p_barx_end { 341union cvmx_pescx_p2p_barx_end {
550 uint64_t u64; 342 uint64_t u64;
551 struct cvmx_pescx_p2p_barx_end_s { 343 struct cvmx_pescx_p2p_barx_end_s {
552#ifdef __BIG_ENDIAN_BITFIELD
553 uint64_t addr:52; 344 uint64_t addr:52;
554 uint64_t reserved_0_11:12; 345 uint64_t reserved_0_11:12;
555#else
556 uint64_t reserved_0_11:12;
557 uint64_t addr:52;
558#endif
559 } s; 346 } s;
560 struct cvmx_pescx_p2p_barx_end_s cn52xx; 347 struct cvmx_pescx_p2p_barx_end_s cn52xx;
561 struct cvmx_pescx_p2p_barx_end_s cn52xxp1; 348 struct cvmx_pescx_p2p_barx_end_s cn52xxp1;
@@ -566,13 +353,8 @@ union cvmx_pescx_p2p_barx_end {
566union cvmx_pescx_p2p_barx_start { 353union cvmx_pescx_p2p_barx_start {
567 uint64_t u64; 354 uint64_t u64;
568 struct cvmx_pescx_p2p_barx_start_s { 355 struct cvmx_pescx_p2p_barx_start_s {
569#ifdef __BIG_ENDIAN_BITFIELD
570 uint64_t addr:52; 356 uint64_t addr:52;
571 uint64_t reserved_0_11:12; 357 uint64_t reserved_0_11:12;
572#else
573 uint64_t reserved_0_11:12;
574 uint64_t addr:52;
575#endif
576 } s; 358 } s;
577 struct cvmx_pescx_p2p_barx_start_s cn52xx; 359 struct cvmx_pescx_p2p_barx_start_s cn52xx;
578 struct cvmx_pescx_p2p_barx_start_s cn52xxp1; 360 struct cvmx_pescx_p2p_barx_start_s cn52xxp1;
@@ -583,14 +365,9 @@ union cvmx_pescx_p2p_barx_start {
583union cvmx_pescx_tlp_credits { 365union cvmx_pescx_tlp_credits {
584 uint64_t u64; 366 uint64_t u64;
585 struct cvmx_pescx_tlp_credits_s { 367 struct cvmx_pescx_tlp_credits_s {
586#ifdef __BIG_ENDIAN_BITFIELD
587 uint64_t reserved_0_63:64;
588#else
589 uint64_t reserved_0_63:64; 368 uint64_t reserved_0_63:64;
590#endif
591 } s; 369 } s;
592 struct cvmx_pescx_tlp_credits_cn52xx { 370 struct cvmx_pescx_tlp_credits_cn52xx {
593#ifdef __BIG_ENDIAN_BITFIELD
594 uint64_t reserved_56_63:8; 371 uint64_t reserved_56_63:8;
595 uint64_t peai_ppf:8; 372 uint64_t peai_ppf:8;
596 uint64_t pesc_cpl:8; 373 uint64_t pesc_cpl:8;
@@ -599,19 +376,8 @@ union cvmx_pescx_tlp_credits {
599 uint64_t npei_cpl:8; 376 uint64_t npei_cpl:8;
600 uint64_t npei_np:8; 377 uint64_t npei_np:8;
601 uint64_t npei_p:8; 378 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
612 } cn52xx; 379 } cn52xx;
613 struct cvmx_pescx_tlp_credits_cn52xxp1 { 380 struct cvmx_pescx_tlp_credits_cn52xxp1 {
614#ifdef __BIG_ENDIAN_BITFIELD
615 uint64_t reserved_38_63:26; 381 uint64_t reserved_38_63:26;
616 uint64_t peai_ppf:8; 382 uint64_t peai_ppf:8;
617 uint64_t pesc_cpl:5; 383 uint64_t pesc_cpl:5;
@@ -620,16 +386,6 @@ union cvmx_pescx_tlp_credits {
620 uint64_t npei_cpl:5; 386 uint64_t npei_cpl:5;
621 uint64_t npei_np:5; 387 uint64_t npei_np:5;
622 uint64_t npei_p:5; 388 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
633 } cn52xxp1; 389 } cn52xxp1;
634 struct cvmx_pescx_tlp_credits_cn52xx cn56xx; 390 struct cvmx_pescx_tlp_credits_cn52xx cn56xx;
635 struct cvmx_pescx_tlp_credits_cn52xxp1 cn56xxp1; 391 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 eb673f3514d..5ab8679d89a 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,6 +25,13 @@
25 * Contact Cavium Networks for more information 25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/ 26 ***********************license end**************************************/
27 27
28/**
29 * cvmx-pexp-defs.h
30 *
31 * Configuration and status register (CSR) definitions for
32 * OCTEON PEXP.
33 *
34 */
28#ifndef __CVMX_PEXP_DEFS_H__ 35#ifndef __CVMX_PEXP_DEFS_H__
29#define __CVMX_PEXP_DEFS_H__ 36#define __CVMX_PEXP_DEFS_H__
30 37
@@ -132,7 +139,7 @@
132#define CVMX_PEXP_NPEI_STATE3 (CVMX_ADD_IO_SEG(0x00011F0000008640ull)) 139#define CVMX_PEXP_NPEI_STATE3 (CVMX_ADD_IO_SEG(0x00011F0000008640ull))
133#define CVMX_PEXP_NPEI_WINDOW_CTL (CVMX_ADD_IO_SEG(0x00011F0000008380ull)) 140#define CVMX_PEXP_NPEI_WINDOW_CTL (CVMX_ADD_IO_SEG(0x00011F0000008380ull))
134#define CVMX_PEXP_SLI_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011F0000010580ull)) 141#define CVMX_PEXP_SLI_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011F0000010580ull))
135#define CVMX_PEXP_SLI_CTL_PORTX(offset) (CVMX_ADD_IO_SEG(0x00011F0000010050ull) + ((offset) & 3) * 16) 142#define CVMX_PEXP_SLI_CTL_PORTX(offset) (CVMX_ADD_IO_SEG(0x00011F0000010050ull) + ((offset) & 1) * 16)
136#define CVMX_PEXP_SLI_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011F0000010570ull)) 143#define CVMX_PEXP_SLI_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011F0000010570ull))
137#define CVMX_PEXP_SLI_DATA_OUT_CNT (CVMX_ADD_IO_SEG(0x00011F00000105F0ull)) 144#define CVMX_PEXP_SLI_DATA_OUT_CNT (CVMX_ADD_IO_SEG(0x00011F00000105F0ull))
138#define CVMX_PEXP_SLI_DBG_DATA (CVMX_ADD_IO_SEG(0x00011F0000010310ull)) 145#define CVMX_PEXP_SLI_DBG_DATA (CVMX_ADD_IO_SEG(0x00011F0000010310ull))
@@ -145,10 +152,7 @@
145#define CVMX_PEXP_SLI_INT_SUM (CVMX_ADD_IO_SEG(0x00011F0000010330ull)) 152#define CVMX_PEXP_SLI_INT_SUM (CVMX_ADD_IO_SEG(0x00011F0000010330ull))
146#define CVMX_PEXP_SLI_LAST_WIN_RDATA0 (CVMX_ADD_IO_SEG(0x00011F0000010600ull)) 153#define CVMX_PEXP_SLI_LAST_WIN_RDATA0 (CVMX_ADD_IO_SEG(0x00011F0000010600ull))
147#define CVMX_PEXP_SLI_LAST_WIN_RDATA1 (CVMX_ADD_IO_SEG(0x00011F0000010610ull)) 154#define CVMX_PEXP_SLI_LAST_WIN_RDATA1 (CVMX_ADD_IO_SEG(0x00011F0000010610ull))
148#define CVMX_PEXP_SLI_LAST_WIN_RDATA2 (CVMX_ADD_IO_SEG(0x00011F00000106C0ull))
149#define CVMX_PEXP_SLI_LAST_WIN_RDATA3 (CVMX_ADD_IO_SEG(0x00011F00000106D0ull))
150#define CVMX_PEXP_SLI_MAC_CREDIT_CNT (CVMX_ADD_IO_SEG(0x00011F0000013D70ull)) 155#define CVMX_PEXP_SLI_MAC_CREDIT_CNT (CVMX_ADD_IO_SEG(0x00011F0000013D70ull))
151#define CVMX_PEXP_SLI_MAC_CREDIT_CNT2 (CVMX_ADD_IO_SEG(0x00011F0000013E10ull))
152#define CVMX_PEXP_SLI_MEM_ACCESS_CTL (CVMX_ADD_IO_SEG(0x00011F00000102F0ull)) 156#define CVMX_PEXP_SLI_MEM_ACCESS_CTL (CVMX_ADD_IO_SEG(0x00011F00000102F0ull))
153#define CVMX_PEXP_SLI_MEM_ACCESS_SUBIDX(offset) (CVMX_ADD_IO_SEG(0x00011F00000100E0ull) + ((offset) & 31) * 16 - 16*12) 157#define CVMX_PEXP_SLI_MEM_ACCESS_SUBIDX(offset) (CVMX_ADD_IO_SEG(0x00011F00000100E0ull) + ((offset) & 31) * 16 - 16*12)
154#define CVMX_PEXP_SLI_MSI_ENB0 (CVMX_ADD_IO_SEG(0x00011F0000013C50ull)) 158#define CVMX_PEXP_SLI_MSI_ENB0 (CVMX_ADD_IO_SEG(0x00011F0000013C50ull))
@@ -202,7 +206,6 @@
202#define CVMX_PEXP_SLI_PKT_IPTR (CVMX_ADD_IO_SEG(0x00011F0000011070ull)) 206#define CVMX_PEXP_SLI_PKT_IPTR (CVMX_ADD_IO_SEG(0x00011F0000011070ull))
203#define CVMX_PEXP_SLI_PKT_OUTPUT_WMARK (CVMX_ADD_IO_SEG(0x00011F0000011180ull)) 207#define CVMX_PEXP_SLI_PKT_OUTPUT_WMARK (CVMX_ADD_IO_SEG(0x00011F0000011180ull))
204#define CVMX_PEXP_SLI_PKT_OUT_BMODE (CVMX_ADD_IO_SEG(0x00011F00000110D0ull)) 208#define CVMX_PEXP_SLI_PKT_OUT_BMODE (CVMX_ADD_IO_SEG(0x00011F00000110D0ull))
205#define CVMX_PEXP_SLI_PKT_OUT_BP_EN (CVMX_ADD_IO_SEG(0x00011F0000011240ull))
206#define CVMX_PEXP_SLI_PKT_OUT_ENB (CVMX_ADD_IO_SEG(0x00011F0000011010ull)) 209#define CVMX_PEXP_SLI_PKT_OUT_ENB (CVMX_ADD_IO_SEG(0x00011F0000011010ull))
207#define CVMX_PEXP_SLI_PKT_PCIE_PORT (CVMX_ADD_IO_SEG(0x00011F00000110E0ull)) 210#define CVMX_PEXP_SLI_PKT_PCIE_PORT (CVMX_ADD_IO_SEG(0x00011F00000110E0ull))
208#define CVMX_PEXP_SLI_PKT_PORT_IN_RST (CVMX_ADD_IO_SEG(0x00011F00000111F0ull)) 211#define CVMX_PEXP_SLI_PKT_PORT_IN_RST (CVMX_ADD_IO_SEG(0x00011F00000111F0ull))
@@ -211,14 +214,12 @@
211#define CVMX_PEXP_SLI_PKT_SLIST_ROR (CVMX_ADD_IO_SEG(0x00011F0000011030ull)) 214#define CVMX_PEXP_SLI_PKT_SLIST_ROR (CVMX_ADD_IO_SEG(0x00011F0000011030ull))
212#define CVMX_PEXP_SLI_PKT_TIME_INT (CVMX_ADD_IO_SEG(0x00011F0000011140ull)) 215#define CVMX_PEXP_SLI_PKT_TIME_INT (CVMX_ADD_IO_SEG(0x00011F0000011140ull))
213#define CVMX_PEXP_SLI_PKT_TIME_INT_ENB (CVMX_ADD_IO_SEG(0x00011F0000011160ull)) 216#define CVMX_PEXP_SLI_PKT_TIME_INT_ENB (CVMX_ADD_IO_SEG(0x00011F0000011160ull))
214#define CVMX_PEXP_SLI_PORTX_PKIND(offset) (CVMX_ADD_IO_SEG(0x00011F0000010800ull) + ((offset) & 31) * 16) 217#define CVMX_PEXP_SLI_S2M_PORTX_CTL(offset) (CVMX_ADD_IO_SEG(0x00011F0000013D80ull) + ((offset) & 1) * 16)
215#define CVMX_PEXP_SLI_S2M_PORTX_CTL(offset) (CVMX_ADD_IO_SEG(0x00011F0000013D80ull) + ((offset) & 3) * 16)
216#define CVMX_PEXP_SLI_SCRATCH_1 (CVMX_ADD_IO_SEG(0x00011F00000103C0ull)) 218#define CVMX_PEXP_SLI_SCRATCH_1 (CVMX_ADD_IO_SEG(0x00011F00000103C0ull))
217#define CVMX_PEXP_SLI_SCRATCH_2 (CVMX_ADD_IO_SEG(0x00011F00000103D0ull)) 219#define CVMX_PEXP_SLI_SCRATCH_2 (CVMX_ADD_IO_SEG(0x00011F00000103D0ull))
218#define CVMX_PEXP_SLI_STATE1 (CVMX_ADD_IO_SEG(0x00011F0000010620ull)) 220#define CVMX_PEXP_SLI_STATE1 (CVMX_ADD_IO_SEG(0x00011F0000010620ull))
219#define CVMX_PEXP_SLI_STATE2 (CVMX_ADD_IO_SEG(0x00011F0000010630ull)) 221#define CVMX_PEXP_SLI_STATE2 (CVMX_ADD_IO_SEG(0x00011F0000010630ull))
220#define CVMX_PEXP_SLI_STATE3 (CVMX_ADD_IO_SEG(0x00011F0000010640ull)) 222#define CVMX_PEXP_SLI_STATE3 (CVMX_ADD_IO_SEG(0x00011F0000010640ull))
221#define CVMX_PEXP_SLI_TX_PIPE (CVMX_ADD_IO_SEG(0x00011F0000011230ull))
222#define CVMX_PEXP_SLI_WINDOW_CTL (CVMX_ADD_IO_SEG(0x00011F00000102E0ull)) 223#define CVMX_PEXP_SLI_WINDOW_CTL (CVMX_ADD_IO_SEG(0x00011F00000102E0ull))
223 224
224#endif 225#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pip-defs.h b/arch/mips/include/asm/octeon/cvmx-pip-defs.h
deleted file mode 100644
index 05a917d6ebe..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-pip-defs.h
+++ /dev/null
@@ -1,3422 +0,0 @@
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_PIP_DEFS_H__
29#define __CVMX_PIP_DEFS_H__
30
31/*
32 * Enumeration representing the amount of packet processing
33 * and validation performed by the input hardware.
34 */
35enum cvmx_pip_port_parse_mode {
36 /*
37 * Packet input doesn't perform any processing of the input
38 * packet.
39 */
40 CVMX_PIP_PORT_CFG_MODE_NONE = 0ull,
41 /*
42 * Full packet processing is performed with pointer starting
43 * at the L2 (ethernet MAC) header.
44 */
45 CVMX_PIP_PORT_CFG_MODE_SKIPL2 = 1ull,
46 /*
47 * Input packets are assumed to be IP. Results from non IP
48 * packets is undefined. Pointers reference the beginning of
49 * the IP header.
50 */
51 CVMX_PIP_PORT_CFG_MODE_SKIPIP = 2ull
52};
53
54#define CVMX_PIP_ALT_SKIP_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002A00ull) + ((offset) & 3) * 8)
55#define CVMX_PIP_BCK_PRS (CVMX_ADD_IO_SEG(0x00011800A0000038ull))
56#define CVMX_PIP_BIST_STATUS (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_BSEL_EXT_POSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002808ull) + ((offset) & 3) * 16)
59#define CVMX_PIP_BSEL_TBL_ENTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0003000ull) + ((offset) & 511) * 8)
60#define CVMX_PIP_CLKEN (CVMX_ADD_IO_SEG(0x00011800A0000040ull))
61#define CVMX_PIP_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000040ull) + ((offset) & 1) * 8)
62#define CVMX_PIP_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000050ull) + ((offset) & 1) * 8)
63#define CVMX_PIP_DEC_IPSECX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000080ull) + ((offset) & 3) * 8)
64#define CVMX_PIP_DSA_SRC_GRP (CVMX_ADD_IO_SEG(0x00011800A0000190ull))
65#define CVMX_PIP_DSA_VID_GRP (CVMX_ADD_IO_SEG(0x00011800A0000198ull))
66#define CVMX_PIP_FRM_LEN_CHKX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000180ull) + ((offset) & 1) * 8)
67#define CVMX_PIP_GBL_CFG (CVMX_ADD_IO_SEG(0x00011800A0000028ull))
68#define CVMX_PIP_GBL_CTL (CVMX_ADD_IO_SEG(0x00011800A0000020ull))
69#define CVMX_PIP_HG_PRI_QOS (CVMX_ADD_IO_SEG(0x00011800A00001A0ull))
70#define CVMX_PIP_INT_EN (CVMX_ADD_IO_SEG(0x00011800A0000010ull))
71#define CVMX_PIP_INT_REG (CVMX_ADD_IO_SEG(0x00011800A0000008ull))
72#define CVMX_PIP_IP_OFFSET (CVMX_ADD_IO_SEG(0x00011800A0000060ull))
73#define CVMX_PIP_PRI_TBLX(offset) (CVMX_ADD_IO_SEG(0x00011800A0004000ull) + ((offset) & 255) * 8)
74#define CVMX_PIP_PRT_CFGBX(offset) (CVMX_ADD_IO_SEG(0x00011800A0008000ull) + ((offset) & 63) * 8)
75#define CVMX_PIP_PRT_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000200ull) + ((offset) & 63) * 8)
76#define CVMX_PIP_PRT_TAGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000400ull) + ((offset) & 63) * 8)
77#define CVMX_PIP_QOS_DIFFX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000600ull) + ((offset) & 63) * 8)
78#define CVMX_PIP_QOS_VLANX(offset) (CVMX_ADD_IO_SEG(0x00011800A00000C0ull) + ((offset) & 7) * 8)
79#define CVMX_PIP_QOS_WATCHX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000100ull) + ((offset) & 7) * 8)
80#define CVMX_PIP_RAW_WORD (CVMX_ADD_IO_SEG(0x00011800A00000B0ull))
81#define CVMX_PIP_SFT_RST (CVMX_ADD_IO_SEG(0x00011800A0000030ull))
82#define CVMX_PIP_STAT0_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000800ull) + ((offset) & 63) * 80)
83#define CVMX_PIP_STAT0_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040000ull) + ((offset) & 63) * 128)
84#define CVMX_PIP_STAT10_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001480ull) + ((offset) & 63) * 16)
85#define CVMX_PIP_STAT10_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040050ull) + ((offset) & 63) * 128)
86#define CVMX_PIP_STAT11_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001488ull) + ((offset) & 63) * 16)
87#define CVMX_PIP_STAT11_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040058ull) + ((offset) & 63) * 128)
88#define CVMX_PIP_STAT1_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000808ull) + ((offset) & 63) * 80)
89#define CVMX_PIP_STAT1_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040008ull) + ((offset) & 63) * 128)
90#define CVMX_PIP_STAT2_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000810ull) + ((offset) & 63) * 80)
91#define CVMX_PIP_STAT2_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040010ull) + ((offset) & 63) * 128)
92#define CVMX_PIP_STAT3_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000818ull) + ((offset) & 63) * 80)
93#define CVMX_PIP_STAT3_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040018ull) + ((offset) & 63) * 128)
94#define CVMX_PIP_STAT4_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000820ull) + ((offset) & 63) * 80)
95#define CVMX_PIP_STAT4_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040020ull) + ((offset) & 63) * 128)
96#define CVMX_PIP_STAT5_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000828ull) + ((offset) & 63) * 80)
97#define CVMX_PIP_STAT5_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040028ull) + ((offset) & 63) * 128)
98#define CVMX_PIP_STAT6_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000830ull) + ((offset) & 63) * 80)
99#define CVMX_PIP_STAT6_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040030ull) + ((offset) & 63) * 128)
100#define CVMX_PIP_STAT7_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000838ull) + ((offset) & 63) * 80)
101#define CVMX_PIP_STAT7_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040038ull) + ((offset) & 63) * 128)
102#define CVMX_PIP_STAT8_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000840ull) + ((offset) & 63) * 80)
103#define CVMX_PIP_STAT8_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040040ull) + ((offset) & 63) * 128)
104#define CVMX_PIP_STAT9_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000848ull) + ((offset) & 63) * 80)
105#define CVMX_PIP_STAT9_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040048ull) + ((offset) & 63) * 128)
106#define CVMX_PIP_STAT_CTL (CVMX_ADD_IO_SEG(0x00011800A0000018ull))
107#define CVMX_PIP_STAT_INB_ERRSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A10ull) + ((offset) & 63) * 32)
108#define CVMX_PIP_STAT_INB_ERRS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020010ull) + ((offset) & 63) * 32)
109#define CVMX_PIP_STAT_INB_OCTSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A08ull) + ((offset) & 63) * 32)
110#define CVMX_PIP_STAT_INB_OCTS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020008ull) + ((offset) & 63) * 32)
111#define CVMX_PIP_STAT_INB_PKTSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A00ull) + ((offset) & 63) * 32)
112#define CVMX_PIP_STAT_INB_PKTS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020000ull) + ((offset) & 63) * 32)
113#define CVMX_PIP_SUB_PKIND_FCSX(block_id) (CVMX_ADD_IO_SEG(0x00011800A0080000ull))
114#define CVMX_PIP_TAG_INCX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001800ull) + ((offset) & 63) * 8)
115#define CVMX_PIP_TAG_MASK (CVMX_ADD_IO_SEG(0x00011800A0000070ull))
116#define CVMX_PIP_TAG_SECRET (CVMX_ADD_IO_SEG(0x00011800A0000068ull))
117#define CVMX_PIP_TODO_ENTRY (CVMX_ADD_IO_SEG(0x00011800A0000078ull))
118#define CVMX_PIP_VLAN_ETYPESX(offset) (CVMX_ADD_IO_SEG(0x00011800A00001C0ull) + ((offset) & 1) * 8)
119#define CVMX_PIP_XSTAT0_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002000ull) + ((offset) & 63) * 80 - 80*40)
120#define CVMX_PIP_XSTAT10_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001700ull) + ((offset) & 63) * 16 - 16*40)
121#define CVMX_PIP_XSTAT11_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001708ull) + ((offset) & 63) * 16 - 16*40)
122#define CVMX_PIP_XSTAT1_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002008ull) + ((offset) & 63) * 80 - 80*40)
123#define CVMX_PIP_XSTAT2_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002010ull) + ((offset) & 63) * 80 - 80*40)
124#define CVMX_PIP_XSTAT3_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002018ull) + ((offset) & 63) * 80 - 80*40)
125#define CVMX_PIP_XSTAT4_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002020ull) + ((offset) & 63) * 80 - 80*40)
126#define CVMX_PIP_XSTAT5_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002028ull) + ((offset) & 63) * 80 - 80*40)
127#define CVMX_PIP_XSTAT6_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002030ull) + ((offset) & 63) * 80 - 80*40)
128#define CVMX_PIP_XSTAT7_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002038ull) + ((offset) & 63) * 80 - 80*40)
129#define CVMX_PIP_XSTAT8_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002040ull) + ((offset) & 63) * 80 - 80*40)
130#define CVMX_PIP_XSTAT9_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002048ull) + ((offset) & 63) * 80 - 80*40)
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};
168
169union cvmx_pip_bck_prs {
170 uint64_t u64;
171 struct cvmx_pip_bck_prs_s {
172#ifdef __BIG_ENDIAN_BITFIELD
173 uint64_t bckprs:1;
174 uint64_t reserved_13_62:50;
175 uint64_t hiwater:5;
176 uint64_t reserved_5_7:3;
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
185 } s;
186 struct cvmx_pip_bck_prs_s cn38xx;
187 struct cvmx_pip_bck_prs_s cn38xxp2;
188 struct cvmx_pip_bck_prs_s cn56xx;
189 struct cvmx_pip_bck_prs_s cn56xxp1;
190 struct cvmx_pip_bck_prs_s cn58xx;
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;
199};
200
201union cvmx_pip_bist_status {
202 uint64_t u64;
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
214 uint64_t reserved_18_63:46;
215 uint64_t bist:18;
216#else
217 uint64_t bist:18;
218 uint64_t reserved_18_63:46;
219#endif
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;
224 struct cvmx_pip_bist_status_cn50xx {
225#ifdef __BIG_ENDIAN_BITFIELD
226 uint64_t reserved_17_63:47;
227 uint64_t bist:17;
228#else
229 uint64_t bist:17;
230 uint64_t reserved_17_63:47;
231#endif
232 } cn50xx;
233 struct cvmx_pip_bist_status_cn30xx cn52xx;
234 struct cvmx_pip_bist_status_cn30xx cn52xxp1;
235 struct cvmx_pip_bist_status_cn30xx cn56xx;
236 struct cvmx_pip_bist_status_cn30xx cn56xxp1;
237 struct cvmx_pip_bist_status_cn30xx cn58xx;
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;
408};
409
410union cvmx_pip_crc_ctlx {
411 uint64_t u64;
412 struct cvmx_pip_crc_ctlx_s {
413#ifdef __BIG_ENDIAN_BITFIELD
414 uint64_t reserved_2_63:62;
415 uint64_t invres: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
422 } s;
423 struct cvmx_pip_crc_ctlx_s cn38xx;
424 struct cvmx_pip_crc_ctlx_s cn38xxp2;
425 struct cvmx_pip_crc_ctlx_s cn58xx;
426 struct cvmx_pip_crc_ctlx_s cn58xxp1;
427};
428
429union cvmx_pip_crc_ivx {
430 uint64_t u64;
431 struct cvmx_pip_crc_ivx_s {
432#ifdef __BIG_ENDIAN_BITFIELD
433 uint64_t reserved_32_63:32;
434 uint64_t iv:32;
435#else
436 uint64_t iv:32;
437 uint64_t reserved_32_63:32;
438#endif
439 } s;
440 struct cvmx_pip_crc_ivx_s cn38xx;
441 struct cvmx_pip_crc_ivx_s cn38xxp2;
442 struct cvmx_pip_crc_ivx_s cn58xx;
443 struct cvmx_pip_crc_ivx_s cn58xxp1;
444};
445
446union cvmx_pip_dec_ipsecx {
447 uint64_t u64;
448 struct cvmx_pip_dec_ipsecx_s {
449#ifdef __BIG_ENDIAN_BITFIELD
450 uint64_t reserved_18_63:46;
451 uint64_t tcp:1;
452 uint64_t udp:1;
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
460 } s;
461 struct cvmx_pip_dec_ipsecx_s cn30xx;
462 struct cvmx_pip_dec_ipsecx_s cn31xx;
463 struct cvmx_pip_dec_ipsecx_s cn38xx;
464 struct cvmx_pip_dec_ipsecx_s cn38xxp2;
465 struct cvmx_pip_dec_ipsecx_s cn50xx;
466 struct cvmx_pip_dec_ipsecx_s cn52xx;
467 struct cvmx_pip_dec_ipsecx_s cn52xxp1;
468 struct cvmx_pip_dec_ipsecx_s cn56xx;
469 struct cvmx_pip_dec_ipsecx_s cn56xxp1;
470 struct cvmx_pip_dec_ipsecx_s cn58xx;
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;
479};
480
481union cvmx_pip_dsa_src_grp {
482 uint64_t u64;
483 struct cvmx_pip_dsa_src_grp_s {
484#ifdef __BIG_ENDIAN_BITFIELD
485 uint64_t map15:4;
486 uint64_t map14:4;
487 uint64_t map13:4;
488 uint64_t map12:4;
489 uint64_t map11:4;
490 uint64_t map10:4;
491 uint64_t map9:4;
492 uint64_t map8:4;
493 uint64_t map7:4;
494 uint64_t map6:4;
495 uint64_t map5:4;
496 uint64_t map4:4;
497 uint64_t map3:4;
498 uint64_t map2:4;
499 uint64_t map1: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
519 } s;
520 struct cvmx_pip_dsa_src_grp_s cn52xx;
521 struct cvmx_pip_dsa_src_grp_s cn52xxp1;
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;
530};
531
532union cvmx_pip_dsa_vid_grp {
533 uint64_t u64;
534 struct cvmx_pip_dsa_vid_grp_s {
535#ifdef __BIG_ENDIAN_BITFIELD
536 uint64_t map15:4;
537 uint64_t map14:4;
538 uint64_t map13:4;
539 uint64_t map12:4;
540 uint64_t map11:4;
541 uint64_t map10:4;
542 uint64_t map9:4;
543 uint64_t map8:4;
544 uint64_t map7:4;
545 uint64_t map6:4;
546 uint64_t map5:4;
547 uint64_t map4:4;
548 uint64_t map3:4;
549 uint64_t map2:4;
550 uint64_t map1: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
570 } s;
571 struct cvmx_pip_dsa_vid_grp_s cn52xx;
572 struct cvmx_pip_dsa_vid_grp_s cn52xxp1;
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;
581};
582
583union cvmx_pip_frm_len_chkx {
584 uint64_t u64;
585 struct cvmx_pip_frm_len_chkx_s {
586#ifdef __BIG_ENDIAN_BITFIELD
587 uint64_t reserved_32_63:32;
588 uint64_t maxlen: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
595 } s;
596 struct cvmx_pip_frm_len_chkx_s cn50xx;
597 struct cvmx_pip_frm_len_chkx_s cn52xx;
598 struct cvmx_pip_frm_len_chkx_s cn52xxp1;
599 struct cvmx_pip_frm_len_chkx_s cn56xx;
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;
608};
609
610union cvmx_pip_gbl_cfg {
611 uint64_t u64;
612 struct cvmx_pip_gbl_cfg_s {
613#ifdef __BIG_ENDIAN_BITFIELD
614 uint64_t reserved_19_63:45;
615 uint64_t tag_syn:1;
616 uint64_t ip6_udp:1;
617 uint64_t max_l2:1;
618 uint64_t reserved_11_15:5;
619 uint64_t raw_shf:3;
620 uint64_t reserved_3_7:5;
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
632 } s;
633 struct cvmx_pip_gbl_cfg_s cn30xx;
634 struct cvmx_pip_gbl_cfg_s cn31xx;
635 struct cvmx_pip_gbl_cfg_s cn38xx;
636 struct cvmx_pip_gbl_cfg_s cn38xxp2;
637 struct cvmx_pip_gbl_cfg_s cn50xx;
638 struct cvmx_pip_gbl_cfg_s cn52xx;
639 struct cvmx_pip_gbl_cfg_s cn52xxp1;
640 struct cvmx_pip_gbl_cfg_s cn56xx;
641 struct cvmx_pip_gbl_cfg_s cn56xxp1;
642 struct cvmx_pip_gbl_cfg_s cn58xx;
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;
651};
652
653union cvmx_pip_gbl_ctl {
654 uint64_t u64;
655 struct cvmx_pip_gbl_ctl_s {
656#ifdef __BIG_ENDIAN_BITFIELD
657 uint64_t reserved_29_63:35;
658 uint64_t egrp_dis:1;
659 uint64_t ihmsk_dis:1;
660 uint64_t dsa_grp_tvid:1;
661 uint64_t dsa_grp_scmd:1;
662 uint64_t dsa_grp_sid:1;
663 uint64_t reserved_21_23:3;
664 uint64_t ring_en:1;
665 uint64_t reserved_17_19:3;
666 uint64_t ignrs:1;
667 uint64_t vs_wqe:1;
668 uint64_t vs_qos:1;
669 uint64_t l2_mal:1;
670 uint64_t tcp_flag:1;
671 uint64_t l4_len:1;
672 uint64_t l4_chk:1;
673 uint64_t l4_prt:1;
674 uint64_t l4_mal:1;
675 uint64_t reserved_6_7:2;
676 uint64_t ip6_eext:2;
677 uint64_t ip4_opts:1;
678 uint64_t ip_hop:1;
679 uint64_t ip_mal: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
707 } s;
708 struct cvmx_pip_gbl_ctl_cn30xx {
709#ifdef __BIG_ENDIAN_BITFIELD
710 uint64_t reserved_17_63:47;
711 uint64_t ignrs:1;
712 uint64_t vs_wqe:1;
713 uint64_t vs_qos:1;
714 uint64_t l2_mal:1;
715 uint64_t tcp_flag:1;
716 uint64_t l4_len:1;
717 uint64_t l4_chk:1;
718 uint64_t l4_prt:1;
719 uint64_t l4_mal:1;
720 uint64_t reserved_6_7:2;
721 uint64_t ip6_eext:2;
722 uint64_t ip4_opts:1;
723 uint64_t ip_hop:1;
724 uint64_t ip_mal: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
744 } cn30xx;
745 struct cvmx_pip_gbl_ctl_cn30xx cn31xx;
746 struct cvmx_pip_gbl_ctl_cn30xx cn38xx;
747 struct cvmx_pip_gbl_ctl_cn30xx cn38xxp2;
748 struct cvmx_pip_gbl_ctl_cn30xx cn50xx;
749 struct cvmx_pip_gbl_ctl_cn52xx {
750#ifdef __BIG_ENDIAN_BITFIELD
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;
800 struct cvmx_pip_gbl_ctl_cn56xxp1 {
801#ifdef __BIG_ENDIAN_BITFIELD
802 uint64_t reserved_21_63:43;
803 uint64_t ring_en:1;
804 uint64_t reserved_17_19:3;
805 uint64_t ignrs:1;
806 uint64_t vs_wqe:1;
807 uint64_t vs_qos:1;
808 uint64_t l2_mal:1;
809 uint64_t tcp_flag:1;
810 uint64_t l4_len:1;
811 uint64_t l4_chk:1;
812 uint64_t l4_prt:1;
813 uint64_t l4_mal:1;
814 uint64_t reserved_6_7:2;
815 uint64_t ip6_eext:2;
816 uint64_t ip4_opts:1;
817 uint64_t ip_hop:1;
818 uint64_t ip_mal: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
840 } cn56xxp1;
841 struct cvmx_pip_gbl_ctl_cn30xx cn58xx;
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;
994};
995
996union cvmx_pip_hg_pri_qos {
997 uint64_t u64;
998 struct cvmx_pip_hg_pri_qos_s {
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;
1003 uint64_t qos:3;
1004 uint64_t reserved_6_7:2;
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
1014 } s;
1015 struct cvmx_pip_hg_pri_qos_s cn52xx;
1016 struct cvmx_pip_hg_pri_qos_s cn52xxp1;
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;
1023};
1024
1025union cvmx_pip_int_en {
1026 uint64_t u64;
1027 struct cvmx_pip_int_en_s {
1028#ifdef __BIG_ENDIAN_BITFIELD
1029 uint64_t reserved_13_63:51;
1030 uint64_t punyerr:1;
1031 uint64_t lenerr:1;
1032 uint64_t maxerr:1;
1033 uint64_t minerr:1;
1034 uint64_t beperr:1;
1035 uint64_t feperr:1;
1036 uint64_t todoovr:1;
1037 uint64_t skprunt:1;
1038 uint64_t badtag:1;
1039 uint64_t prtnxa:1;
1040 uint64_t bckprs:1;
1041 uint64_t crcerr: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
1059 } s;
1060 struct cvmx_pip_int_en_cn30xx {
1061#ifdef __BIG_ENDIAN_BITFIELD
1062 uint64_t reserved_9_63:55;
1063 uint64_t beperr:1;
1064 uint64_t feperr:1;
1065 uint64_t todoovr:1;
1066 uint64_t skprunt:1;
1067 uint64_t badtag:1;
1068 uint64_t prtnxa:1;
1069 uint64_t bckprs:1;
1070 uint64_t crcerr: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
1084 } cn30xx;
1085 struct cvmx_pip_int_en_cn30xx cn31xx;
1086 struct cvmx_pip_int_en_cn30xx cn38xx;
1087 struct cvmx_pip_int_en_cn30xx cn38xxp2;
1088 struct cvmx_pip_int_en_cn50xx {
1089#ifdef __BIG_ENDIAN_BITFIELD
1090 uint64_t reserved_12_63:52;
1091 uint64_t lenerr:1;
1092 uint64_t maxerr:1;
1093 uint64_t minerr:1;
1094 uint64_t beperr:1;
1095 uint64_t feperr:1;
1096 uint64_t todoovr:1;
1097 uint64_t skprunt:1;
1098 uint64_t badtag:1;
1099 uint64_t prtnxa:1;
1100 uint64_t bckprs:1;
1101 uint64_t reserved_1_1: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
1118 } cn50xx;
1119 struct cvmx_pip_int_en_cn52xx {
1120#ifdef __BIG_ENDIAN_BITFIELD
1121 uint64_t reserved_13_63:51;
1122 uint64_t punyerr:1;
1123 uint64_t lenerr:1;
1124 uint64_t maxerr:1;
1125 uint64_t minerr:1;
1126 uint64_t beperr:1;
1127 uint64_t feperr:1;
1128 uint64_t todoovr:1;
1129 uint64_t skprunt:1;
1130 uint64_t badtag:1;
1131 uint64_t prtnxa:1;
1132 uint64_t bckprs:1;
1133 uint64_t reserved_1_1: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
1151 } cn52xx;
1152 struct cvmx_pip_int_en_cn52xx cn52xxp1;
1153 struct cvmx_pip_int_en_s cn56xx;
1154 struct cvmx_pip_int_en_cn56xxp1 {
1155#ifdef __BIG_ENDIAN_BITFIELD
1156 uint64_t reserved_12_63:52;
1157 uint64_t lenerr:1;
1158 uint64_t maxerr:1;
1159 uint64_t minerr:1;
1160 uint64_t beperr:1;
1161 uint64_t feperr:1;
1162 uint64_t todoovr:1;
1163 uint64_t skprunt:1;
1164 uint64_t badtag:1;
1165 uint64_t prtnxa:1;
1166 uint64_t bckprs:1;
1167 uint64_t crcerr: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
1184 } cn56xxp1;
1185 struct cvmx_pip_int_en_cn58xx {
1186#ifdef __BIG_ENDIAN_BITFIELD
1187 uint64_t reserved_13_63:51;
1188 uint64_t punyerr:1;
1189 uint64_t reserved_9_11:3;
1190 uint64_t beperr:1;
1191 uint64_t feperr:1;
1192 uint64_t todoovr:1;
1193 uint64_t skprunt:1;
1194 uint64_t badtag:1;
1195 uint64_t prtnxa:1;
1196 uint64_t bckprs:1;
1197 uint64_t crcerr: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
1213 } cn58xx;
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;
1222};
1223
1224union cvmx_pip_int_reg {
1225 uint64_t u64;
1226 struct cvmx_pip_int_reg_s {
1227#ifdef __BIG_ENDIAN_BITFIELD
1228 uint64_t reserved_13_63:51;
1229 uint64_t punyerr:1;
1230 uint64_t lenerr:1;
1231 uint64_t maxerr:1;
1232 uint64_t minerr:1;
1233 uint64_t beperr:1;
1234 uint64_t feperr:1;
1235 uint64_t todoovr:1;
1236 uint64_t skprunt:1;
1237 uint64_t badtag:1;
1238 uint64_t prtnxa:1;
1239 uint64_t bckprs:1;
1240 uint64_t crcerr: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
1258 } s;
1259 struct cvmx_pip_int_reg_cn30xx {
1260#ifdef __BIG_ENDIAN_BITFIELD
1261 uint64_t reserved_9_63:55;
1262 uint64_t beperr:1;
1263 uint64_t feperr:1;
1264 uint64_t todoovr:1;
1265 uint64_t skprunt:1;
1266 uint64_t badtag:1;
1267 uint64_t prtnxa:1;
1268 uint64_t bckprs:1;
1269 uint64_t crcerr: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
1283 } cn30xx;
1284 struct cvmx_pip_int_reg_cn30xx cn31xx;
1285 struct cvmx_pip_int_reg_cn30xx cn38xx;
1286 struct cvmx_pip_int_reg_cn30xx cn38xxp2;
1287 struct cvmx_pip_int_reg_cn50xx {
1288#ifdef __BIG_ENDIAN_BITFIELD
1289 uint64_t reserved_12_63:52;
1290 uint64_t lenerr:1;
1291 uint64_t maxerr:1;
1292 uint64_t minerr:1;
1293 uint64_t beperr:1;
1294 uint64_t feperr:1;
1295 uint64_t todoovr:1;
1296 uint64_t skprunt:1;
1297 uint64_t badtag:1;
1298 uint64_t prtnxa:1;
1299 uint64_t bckprs:1;
1300 uint64_t reserved_1_1: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
1317 } cn50xx;
1318 struct cvmx_pip_int_reg_cn52xx {
1319#ifdef __BIG_ENDIAN_BITFIELD
1320 uint64_t reserved_13_63:51;
1321 uint64_t punyerr:1;
1322 uint64_t lenerr:1;
1323 uint64_t maxerr:1;
1324 uint64_t minerr:1;
1325 uint64_t beperr:1;
1326 uint64_t feperr:1;
1327 uint64_t todoovr:1;
1328 uint64_t skprunt:1;
1329 uint64_t badtag:1;
1330 uint64_t prtnxa:1;
1331 uint64_t bckprs:1;
1332 uint64_t reserved_1_1: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
1350 } cn52xx;
1351 struct cvmx_pip_int_reg_cn52xx cn52xxp1;
1352 struct cvmx_pip_int_reg_s cn56xx;
1353 struct cvmx_pip_int_reg_cn56xxp1 {
1354#ifdef __BIG_ENDIAN_BITFIELD
1355 uint64_t reserved_12_63:52;
1356 uint64_t lenerr:1;
1357 uint64_t maxerr:1;
1358 uint64_t minerr:1;
1359 uint64_t beperr:1;
1360 uint64_t feperr:1;
1361 uint64_t todoovr:1;
1362 uint64_t skprunt:1;
1363 uint64_t badtag:1;
1364 uint64_t prtnxa:1;
1365 uint64_t bckprs:1;
1366 uint64_t crcerr: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
1383 } cn56xxp1;
1384 struct cvmx_pip_int_reg_cn58xx {
1385#ifdef __BIG_ENDIAN_BITFIELD
1386 uint64_t reserved_13_63:51;
1387 uint64_t punyerr:1;
1388 uint64_t reserved_9_11:3;
1389 uint64_t beperr:1;
1390 uint64_t feperr:1;
1391 uint64_t todoovr:1;
1392 uint64_t skprunt:1;
1393 uint64_t badtag:1;
1394 uint64_t prtnxa:1;
1395 uint64_t bckprs:1;
1396 uint64_t crcerr: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
1412 } cn58xx;
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;
1421};
1422
1423union cvmx_pip_ip_offset {
1424 uint64_t u64;
1425 struct cvmx_pip_ip_offset_s {
1426#ifdef __BIG_ENDIAN_BITFIELD
1427 uint64_t reserved_3_63:61;
1428 uint64_t offset:3;
1429#else
1430 uint64_t offset:3;
1431 uint64_t reserved_3_63:61;
1432#endif
1433 } s;
1434 struct cvmx_pip_ip_offset_s cn30xx;
1435 struct cvmx_pip_ip_offset_s cn31xx;
1436 struct cvmx_pip_ip_offset_s cn38xx;
1437 struct cvmx_pip_ip_offset_s cn38xxp2;
1438 struct cvmx_pip_ip_offset_s cn50xx;
1439 struct cvmx_pip_ip_offset_s cn52xx;
1440 struct cvmx_pip_ip_offset_s cn52xxp1;
1441 struct cvmx_pip_ip_offset_s cn56xx;
1442 struct cvmx_pip_ip_offset_s cn56xxp1;
1443 struct cvmx_pip_ip_offset_s cn58xx;
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;
1493};
1494
1495union cvmx_pip_prt_cfgx {
1496 uint64_t u64;
1497 struct cvmx_pip_prt_cfgx_s {
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;
1502 uint64_t pad_len:1;
1503 uint64_t vlan_len:1;
1504 uint64_t lenerr_en:1;
1505 uint64_t maxerr_en:1;
1506 uint64_t minerr_en:1;
1507 uint64_t grp_wat_47:4;
1508 uint64_t qos_wat_47:4;
1509 uint64_t reserved_37_39:3;
1510 uint64_t rawdrp:1;
1511 uint64_t tag_inc:2;
1512 uint64_t dyn_rs:1;
1513 uint64_t inst_hdr:1;
1514 uint64_t grp_wat:4;
1515 uint64_t hg_qos:1;
1516 uint64_t qos:3;
1517 uint64_t qos_wat:4;
1518 uint64_t qos_vsel:1;
1519 uint64_t qos_vod:1;
1520 uint64_t qos_diff:1;
1521 uint64_t qos_vlan:1;
1522 uint64_t reserved_13_15:3;
1523 uint64_t crc_en:1;
1524 uint64_t higig_en:1;
1525 uint64_t dsa_en:1;
1526 uint64_t mode:2;
1527 uint64_t reserved_7_7:1;
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
1561 } s;
1562 struct cvmx_pip_prt_cfgx_cn30xx {
1563#ifdef __BIG_ENDIAN_BITFIELD
1564 uint64_t reserved_37_63:27;
1565 uint64_t rawdrp:1;
1566 uint64_t tag_inc:2;
1567 uint64_t dyn_rs:1;
1568 uint64_t inst_hdr:1;
1569 uint64_t grp_wat:4;
1570 uint64_t reserved_27_27:1;
1571 uint64_t qos:3;
1572 uint64_t qos_wat:4;
1573 uint64_t reserved_18_19:2;
1574 uint64_t qos_diff:1;
1575 uint64_t qos_vlan:1;
1576 uint64_t reserved_10_15:6;
1577 uint64_t mode:2;
1578 uint64_t reserved_7_7:1;
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
1598 } cn30xx;
1599 struct cvmx_pip_prt_cfgx_cn30xx cn31xx;
1600 struct cvmx_pip_prt_cfgx_cn38xx {
1601#ifdef __BIG_ENDIAN_BITFIELD
1602 uint64_t reserved_37_63:27;
1603 uint64_t rawdrp:1;
1604 uint64_t tag_inc:2;
1605 uint64_t dyn_rs:1;
1606 uint64_t inst_hdr:1;
1607 uint64_t grp_wat:4;
1608 uint64_t reserved_27_27:1;
1609 uint64_t qos:3;
1610 uint64_t qos_wat:4;
1611 uint64_t reserved_18_19:2;
1612 uint64_t qos_diff:1;
1613 uint64_t qos_vlan:1;
1614 uint64_t reserved_13_15:3;
1615 uint64_t crc_en:1;
1616 uint64_t reserved_10_11:2;
1617 uint64_t mode:2;
1618 uint64_t reserved_7_7:1;
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
1640 } cn38xx;
1641 struct cvmx_pip_prt_cfgx_cn38xx cn38xxp2;
1642 struct cvmx_pip_prt_cfgx_cn50xx {
1643#ifdef __BIG_ENDIAN_BITFIELD
1644 uint64_t reserved_53_63:11;
1645 uint64_t pad_len:1;
1646 uint64_t vlan_len:1;
1647 uint64_t lenerr_en:1;
1648 uint64_t maxerr_en:1;
1649 uint64_t minerr_en:1;
1650 uint64_t grp_wat_47:4;
1651 uint64_t qos_wat_47:4;
1652 uint64_t reserved_37_39:3;
1653 uint64_t rawdrp:1;
1654 uint64_t tag_inc:2;
1655 uint64_t dyn_rs:1;
1656 uint64_t inst_hdr:1;
1657 uint64_t grp_wat:4;
1658 uint64_t reserved_27_27:1;
1659 uint64_t qos:3;
1660 uint64_t qos_wat:4;
1661 uint64_t reserved_19_19:1;
1662 uint64_t qos_vod:1;
1663 uint64_t qos_diff:1;
1664 uint64_t qos_vlan:1;
1665 uint64_t reserved_13_15:3;
1666 uint64_t crc_en:1;
1667 uint64_t reserved_10_11:2;
1668 uint64_t mode:2;
1669 uint64_t reserved_7_7:1;
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
1700 } cn50xx;
1701 struct cvmx_pip_prt_cfgx_cn52xx {
1702#ifdef __BIG_ENDIAN_BITFIELD
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;
1764 struct cvmx_pip_prt_cfgx_cn50xx cn56xxp1;
1765 struct cvmx_pip_prt_cfgx_cn58xx {
1766#ifdef __BIG_ENDIAN_BITFIELD
1767 uint64_t reserved_37_63:27;
1768 uint64_t rawdrp:1;
1769 uint64_t tag_inc:2;
1770 uint64_t dyn_rs:1;
1771 uint64_t inst_hdr:1;
1772 uint64_t grp_wat:4;
1773 uint64_t reserved_27_27:1;
1774 uint64_t qos:3;
1775 uint64_t qos_wat:4;
1776 uint64_t reserved_19_19:1;
1777 uint64_t qos_vod:1;
1778 uint64_t qos_diff:1;
1779 uint64_t qos_vlan:1;
1780 uint64_t reserved_13_15:3;
1781 uint64_t crc_en:1;
1782 uint64_t reserved_10_11:2;
1783 uint64_t mode:2;
1784 uint64_t reserved_7_7:1;
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
1807 } cn58xx;
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;
1956};
1957
1958union cvmx_pip_prt_tagx {
1959 uint64_t u64;
1960 struct cvmx_pip_prt_tagx_s {
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;
1971 uint64_t grptagbase:4;
1972 uint64_t grptagmask:4;
1973 uint64_t grptag:1;
1974 uint64_t grptag_mskip:1;
1975 uint64_t tag_mode:2;
1976 uint64_t inc_vs:2;
1977 uint64_t inc_vlan:1;
1978 uint64_t inc_prt_flag:1;
1979 uint64_t ip6_dprt_flag:1;
1980 uint64_t ip4_dprt_flag:1;
1981 uint64_t ip6_sprt_flag:1;
1982 uint64_t ip4_sprt_flag:1;
1983 uint64_t ip6_nxth_flag:1;
1984 uint64_t ip4_pctl_flag:1;
1985 uint64_t ip6_dst_flag:1;
1986 uint64_t ip4_dst_flag:1;
1987 uint64_t ip6_src_flag:1;
1988 uint64_t ip4_src_flag:1;
1989 uint64_t tcp6_tag_type:2;
1990 uint64_t tcp4_tag_type:2;
1991 uint64_t ip6_tag_type:2;
1992 uint64_t ip4_tag_type:2;
1993 uint64_t non_tag_type:2;
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
2030 } s;
2031 struct cvmx_pip_prt_tagx_cn30xx {
2032#ifdef __BIG_ENDIAN_BITFIELD
2033 uint64_t reserved_40_63:24;
2034 uint64_t grptagbase:4;
2035 uint64_t grptagmask:4;
2036 uint64_t grptag:1;
2037 uint64_t reserved_30_30:1;
2038 uint64_t tag_mode:2;
2039 uint64_t inc_vs:2;
2040 uint64_t inc_vlan:1;
2041 uint64_t inc_prt_flag:1;
2042 uint64_t ip6_dprt_flag:1;
2043 uint64_t ip4_dprt_flag:1;
2044 uint64_t ip6_sprt_flag:1;
2045 uint64_t ip4_sprt_flag:1;
2046 uint64_t ip6_nxth_flag:1;
2047 uint64_t ip4_pctl_flag:1;
2048 uint64_t ip6_dst_flag:1;
2049 uint64_t ip4_dst_flag:1;
2050 uint64_t ip6_src_flag:1;
2051 uint64_t ip4_src_flag:1;
2052 uint64_t tcp6_tag_type:2;
2053 uint64_t tcp4_tag_type:2;
2054 uint64_t ip6_tag_type:2;
2055 uint64_t ip4_tag_type:2;
2056 uint64_t non_tag_type:2;
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
2085 } cn30xx;
2086 struct cvmx_pip_prt_tagx_cn30xx cn31xx;
2087 struct cvmx_pip_prt_tagx_cn30xx cn38xx;
2088 struct cvmx_pip_prt_tagx_cn30xx cn38xxp2;
2089 struct cvmx_pip_prt_tagx_cn50xx {
2090#ifdef __BIG_ENDIAN_BITFIELD
2091 uint64_t reserved_40_63:24;
2092 uint64_t grptagbase:4;
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;
2148 struct cvmx_pip_prt_tagx_cn30xx cn58xx;
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;
2157};
2158
2159union cvmx_pip_qos_diffx {
2160 uint64_t u64;
2161 struct cvmx_pip_qos_diffx_s {
2162#ifdef __BIG_ENDIAN_BITFIELD
2163 uint64_t reserved_3_63:61;
2164 uint64_t qos:3;
2165#else
2166 uint64_t qos:3;
2167 uint64_t reserved_3_63:61;
2168#endif
2169 } s;
2170 struct cvmx_pip_qos_diffx_s cn30xx;
2171 struct cvmx_pip_qos_diffx_s cn31xx;
2172 struct cvmx_pip_qos_diffx_s cn38xx;
2173 struct cvmx_pip_qos_diffx_s cn38xxp2;
2174 struct cvmx_pip_qos_diffx_s cn50xx;
2175 struct cvmx_pip_qos_diffx_s cn52xx;
2176 struct cvmx_pip_qos_diffx_s cn52xxp1;
2177 struct cvmx_pip_qos_diffx_s cn56xx;
2178 struct cvmx_pip_qos_diffx_s cn56xxp1;
2179 struct cvmx_pip_qos_diffx_s cn58xx;
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;
2186};
2187
2188union cvmx_pip_qos_vlanx {
2189 uint64_t u64;
2190 struct cvmx_pip_qos_vlanx_s {
2191#ifdef __BIG_ENDIAN_BITFIELD
2192 uint64_t reserved_7_63:57;
2193 uint64_t qos1:3;
2194 uint64_t reserved_3_3:1;
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
2202 } s;
2203 struct cvmx_pip_qos_vlanx_cn30xx {
2204#ifdef __BIG_ENDIAN_BITFIELD
2205 uint64_t reserved_3_63:61;
2206 uint64_t qos:3;
2207#else
2208 uint64_t qos:3;
2209 uint64_t reserved_3_63:61;
2210#endif
2211 } cn30xx;
2212 struct cvmx_pip_qos_vlanx_cn30xx cn31xx;
2213 struct cvmx_pip_qos_vlanx_cn30xx cn38xx;
2214 struct cvmx_pip_qos_vlanx_cn30xx cn38xxp2;
2215 struct cvmx_pip_qos_vlanx_cn30xx cn50xx;
2216 struct cvmx_pip_qos_vlanx_s cn52xx;
2217 struct cvmx_pip_qos_vlanx_s cn52xxp1;
2218 struct cvmx_pip_qos_vlanx_s cn56xx;
2219 struct cvmx_pip_qos_vlanx_cn30xx cn56xxp1;
2220 struct cvmx_pip_qos_vlanx_cn30xx cn58xx;
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;
2227};
2228
2229union cvmx_pip_qos_watchx {
2230 uint64_t u64;
2231 struct cvmx_pip_qos_watchx_s {
2232#ifdef __BIG_ENDIAN_BITFIELD
2233 uint64_t reserved_48_63:16;
2234 uint64_t mask:16;
2235 uint64_t reserved_30_31:2;
2236 uint64_t grp:6;
2237 uint64_t reserved_23_23:1;
2238 uint64_t qos:3;
2239 uint64_t reserved_19_19:1;
2240 uint64_t match_type:3;
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
2253 } s;
2254 struct cvmx_pip_qos_watchx_cn30xx {
2255#ifdef __BIG_ENDIAN_BITFIELD
2256 uint64_t reserved_48_63:16;
2257 uint64_t mask:16;
2258 uint64_t reserved_28_31:4;
2259 uint64_t grp:4;
2260 uint64_t reserved_23_23:1;
2261 uint64_t qos:3;
2262 uint64_t reserved_18_19:2;
2263 uint64_t match_type:2;
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
2276 } cn30xx;
2277 struct cvmx_pip_qos_watchx_cn30xx cn31xx;
2278 struct cvmx_pip_qos_watchx_cn30xx cn38xx;
2279 struct cvmx_pip_qos_watchx_cn30xx cn38xxp2;
2280 struct cvmx_pip_qos_watchx_cn50xx {
2281#ifdef __BIG_ENDIAN_BITFIELD
2282 uint64_t reserved_48_63:16;
2283 uint64_t mask:16;
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;
2307 struct cvmx_pip_qos_watchx_cn30xx cn58xx;
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;
2316};
2317
2318union cvmx_pip_raw_word {
2319 uint64_t u64;
2320 struct cvmx_pip_raw_word_s {
2321#ifdef __BIG_ENDIAN_BITFIELD
2322 uint64_t reserved_56_63:8;
2323 uint64_t word:56;
2324#else
2325 uint64_t word:56;
2326 uint64_t reserved_56_63:8;
2327#endif
2328 } s;
2329 struct cvmx_pip_raw_word_s cn30xx;
2330 struct cvmx_pip_raw_word_s cn31xx;
2331 struct cvmx_pip_raw_word_s cn38xx;
2332 struct cvmx_pip_raw_word_s cn38xxp2;
2333 struct cvmx_pip_raw_word_s cn50xx;
2334 struct cvmx_pip_raw_word_s cn52xx;
2335 struct cvmx_pip_raw_word_s cn52xxp1;
2336 struct cvmx_pip_raw_word_s cn56xx;
2337 struct cvmx_pip_raw_word_s cn56xxp1;
2338 struct cvmx_pip_raw_word_s cn58xx;
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;
2347};
2348
2349union cvmx_pip_sft_rst {
2350 uint64_t u64;
2351 struct cvmx_pip_sft_rst_s {
2352#ifdef __BIG_ENDIAN_BITFIELD
2353 uint64_t reserved_1_63:63;
2354 uint64_t rst:1;
2355#else
2356 uint64_t rst:1;
2357 uint64_t reserved_1_63:63;
2358#endif
2359 } s;
2360 struct cvmx_pip_sft_rst_s cn30xx;
2361 struct cvmx_pip_sft_rst_s cn31xx;
2362 struct cvmx_pip_sft_rst_s cn38xx;
2363 struct cvmx_pip_sft_rst_s cn50xx;
2364 struct cvmx_pip_sft_rst_s cn52xx;
2365 struct cvmx_pip_sft_rst_s cn52xxp1;
2366 struct cvmx_pip_sft_rst_s cn56xx;
2367 struct cvmx_pip_sft_rst_s cn56xxp1;
2368 struct cvmx_pip_sft_rst_s cn58xx;
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;
2392};
2393
2394union cvmx_pip_stat0_prtx {
2395 uint64_t u64;
2396 struct cvmx_pip_stat0_prtx_s {
2397#ifdef __BIG_ENDIAN_BITFIELD
2398 uint64_t drp_pkts:32;
2399 uint64_t drp_octs:32;
2400#else
2401 uint64_t drp_octs:32;
2402 uint64_t drp_pkts:32;
2403#endif
2404 } s;
2405 struct cvmx_pip_stat0_prtx_s cn30xx;
2406 struct cvmx_pip_stat0_prtx_s cn31xx;
2407 struct cvmx_pip_stat0_prtx_s cn38xx;
2408 struct cvmx_pip_stat0_prtx_s cn38xxp2;
2409 struct cvmx_pip_stat0_prtx_s cn50xx;
2410 struct cvmx_pip_stat0_prtx_s cn52xx;
2411 struct cvmx_pip_stat0_prtx_s cn52xxp1;
2412 struct cvmx_pip_stat0_prtx_s cn56xx;
2413 struct cvmx_pip_stat0_prtx_s cn56xxp1;
2414 struct cvmx_pip_stat0_prtx_s cn58xx;
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;
2510};
2511
2512union cvmx_pip_stat1_prtx {
2513 uint64_t u64;
2514 struct cvmx_pip_stat1_prtx_s {
2515#ifdef __BIG_ENDIAN_BITFIELD
2516 uint64_t reserved_48_63:16;
2517 uint64_t octs:48;
2518#else
2519 uint64_t octs:48;
2520 uint64_t reserved_48_63:16;
2521#endif
2522 } s;
2523 struct cvmx_pip_stat1_prtx_s cn30xx;
2524 struct cvmx_pip_stat1_prtx_s cn31xx;
2525 struct cvmx_pip_stat1_prtx_s cn38xx;
2526 struct cvmx_pip_stat1_prtx_s cn38xxp2;
2527 struct cvmx_pip_stat1_prtx_s cn50xx;
2528 struct cvmx_pip_stat1_prtx_s cn52xx;
2529 struct cvmx_pip_stat1_prtx_s cn52xxp1;
2530 struct cvmx_pip_stat1_prtx_s cn56xx;
2531 struct cvmx_pip_stat1_prtx_s cn56xxp1;
2532 struct cvmx_pip_stat1_prtx_s cn58xx;
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;
2554};
2555
2556union cvmx_pip_stat2_prtx {
2557 uint64_t u64;
2558 struct cvmx_pip_stat2_prtx_s {
2559#ifdef __BIG_ENDIAN_BITFIELD
2560 uint64_t pkts:32;
2561 uint64_t raw:32;
2562#else
2563 uint64_t raw:32;
2564 uint64_t pkts:32;
2565#endif
2566 } s;
2567 struct cvmx_pip_stat2_prtx_s cn30xx;
2568 struct cvmx_pip_stat2_prtx_s cn31xx;
2569 struct cvmx_pip_stat2_prtx_s cn38xx;
2570 struct cvmx_pip_stat2_prtx_s cn38xxp2;
2571 struct cvmx_pip_stat2_prtx_s cn50xx;
2572 struct cvmx_pip_stat2_prtx_s cn52xx;
2573 struct cvmx_pip_stat2_prtx_s cn52xxp1;
2574 struct cvmx_pip_stat2_prtx_s cn56xx;
2575 struct cvmx_pip_stat2_prtx_s cn56xxp1;
2576 struct cvmx_pip_stat2_prtx_s cn58xx;
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;
2598};
2599
2600union cvmx_pip_stat3_prtx {
2601 uint64_t u64;
2602 struct cvmx_pip_stat3_prtx_s {
2603#ifdef __BIG_ENDIAN_BITFIELD
2604 uint64_t bcst:32;
2605 uint64_t mcst:32;
2606#else
2607 uint64_t mcst:32;
2608 uint64_t bcst:32;
2609#endif
2610 } s;
2611 struct cvmx_pip_stat3_prtx_s cn30xx;
2612 struct cvmx_pip_stat3_prtx_s cn31xx;
2613 struct cvmx_pip_stat3_prtx_s cn38xx;
2614 struct cvmx_pip_stat3_prtx_s cn38xxp2;
2615 struct cvmx_pip_stat3_prtx_s cn50xx;
2616 struct cvmx_pip_stat3_prtx_s cn52xx;
2617 struct cvmx_pip_stat3_prtx_s cn52xxp1;
2618 struct cvmx_pip_stat3_prtx_s cn56xx;
2619 struct cvmx_pip_stat3_prtx_s cn56xxp1;
2620 struct cvmx_pip_stat3_prtx_s cn58xx;
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;
2642};
2643
2644union cvmx_pip_stat4_prtx {
2645 uint64_t u64;
2646 struct cvmx_pip_stat4_prtx_s {
2647#ifdef __BIG_ENDIAN_BITFIELD
2648 uint64_t h65to127:32;
2649 uint64_t h64:32;
2650#else
2651 uint64_t h64:32;
2652 uint64_t h65to127:32;
2653#endif
2654 } s;
2655 struct cvmx_pip_stat4_prtx_s cn30xx;
2656 struct cvmx_pip_stat4_prtx_s cn31xx;
2657 struct cvmx_pip_stat4_prtx_s cn38xx;
2658 struct cvmx_pip_stat4_prtx_s cn38xxp2;
2659 struct cvmx_pip_stat4_prtx_s cn50xx;
2660 struct cvmx_pip_stat4_prtx_s cn52xx;
2661 struct cvmx_pip_stat4_prtx_s cn52xxp1;
2662 struct cvmx_pip_stat4_prtx_s cn56xx;
2663 struct cvmx_pip_stat4_prtx_s cn56xxp1;
2664 struct cvmx_pip_stat4_prtx_s cn58xx;
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;
2686};
2687
2688union cvmx_pip_stat5_prtx {
2689 uint64_t u64;
2690 struct cvmx_pip_stat5_prtx_s {
2691#ifdef __BIG_ENDIAN_BITFIELD
2692 uint64_t h256to511:32;
2693 uint64_t h128to255:32;
2694#else
2695 uint64_t h128to255:32;
2696 uint64_t h256to511:32;
2697#endif
2698 } s;
2699 struct cvmx_pip_stat5_prtx_s cn30xx;
2700 struct cvmx_pip_stat5_prtx_s cn31xx;
2701 struct cvmx_pip_stat5_prtx_s cn38xx;
2702 struct cvmx_pip_stat5_prtx_s cn38xxp2;
2703 struct cvmx_pip_stat5_prtx_s cn50xx;
2704 struct cvmx_pip_stat5_prtx_s cn52xx;
2705 struct cvmx_pip_stat5_prtx_s cn52xxp1;
2706 struct cvmx_pip_stat5_prtx_s cn56xx;
2707 struct cvmx_pip_stat5_prtx_s cn56xxp1;
2708 struct cvmx_pip_stat5_prtx_s cn58xx;
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;
2730};
2731
2732union cvmx_pip_stat6_prtx {
2733 uint64_t u64;
2734 struct cvmx_pip_stat6_prtx_s {
2735#ifdef __BIG_ENDIAN_BITFIELD
2736 uint64_t h1024to1518:32;
2737 uint64_t h512to1023:32;
2738#else
2739 uint64_t h512to1023:32;
2740 uint64_t h1024to1518:32;
2741#endif
2742 } s;
2743 struct cvmx_pip_stat6_prtx_s cn30xx;
2744 struct cvmx_pip_stat6_prtx_s cn31xx;
2745 struct cvmx_pip_stat6_prtx_s cn38xx;
2746 struct cvmx_pip_stat6_prtx_s cn38xxp2;
2747 struct cvmx_pip_stat6_prtx_s cn50xx;
2748 struct cvmx_pip_stat6_prtx_s cn52xx;
2749 struct cvmx_pip_stat6_prtx_s cn52xxp1;
2750 struct cvmx_pip_stat6_prtx_s cn56xx;
2751 struct cvmx_pip_stat6_prtx_s cn56xxp1;
2752 struct cvmx_pip_stat6_prtx_s cn58xx;
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;
2774};
2775
2776union cvmx_pip_stat7_prtx {
2777 uint64_t u64;
2778 struct cvmx_pip_stat7_prtx_s {
2779#ifdef __BIG_ENDIAN_BITFIELD
2780 uint64_t fcs:32;
2781 uint64_t h1519:32;
2782#else
2783 uint64_t h1519:32;
2784 uint64_t fcs:32;
2785#endif
2786 } s;
2787 struct cvmx_pip_stat7_prtx_s cn30xx;
2788 struct cvmx_pip_stat7_prtx_s cn31xx;
2789 struct cvmx_pip_stat7_prtx_s cn38xx;
2790 struct cvmx_pip_stat7_prtx_s cn38xxp2;
2791 struct cvmx_pip_stat7_prtx_s cn50xx;
2792 struct cvmx_pip_stat7_prtx_s cn52xx;
2793 struct cvmx_pip_stat7_prtx_s cn52xxp1;
2794 struct cvmx_pip_stat7_prtx_s cn56xx;
2795 struct cvmx_pip_stat7_prtx_s cn56xxp1;
2796 struct cvmx_pip_stat7_prtx_s cn58xx;
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;
2818};
2819
2820union cvmx_pip_stat8_prtx {
2821 uint64_t u64;
2822 struct cvmx_pip_stat8_prtx_s {
2823#ifdef __BIG_ENDIAN_BITFIELD
2824 uint64_t frag:32;
2825 uint64_t undersz:32;
2826#else
2827 uint64_t undersz:32;
2828 uint64_t frag:32;
2829#endif
2830 } s;
2831 struct cvmx_pip_stat8_prtx_s cn30xx;
2832 struct cvmx_pip_stat8_prtx_s cn31xx;
2833 struct cvmx_pip_stat8_prtx_s cn38xx;
2834 struct cvmx_pip_stat8_prtx_s cn38xxp2;
2835 struct cvmx_pip_stat8_prtx_s cn50xx;
2836 struct cvmx_pip_stat8_prtx_s cn52xx;
2837 struct cvmx_pip_stat8_prtx_s cn52xxp1;
2838 struct cvmx_pip_stat8_prtx_s cn56xx;
2839 struct cvmx_pip_stat8_prtx_s cn56xxp1;
2840 struct cvmx_pip_stat8_prtx_s cn58xx;
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;
2862};
2863
2864union cvmx_pip_stat9_prtx {
2865 uint64_t u64;
2866 struct cvmx_pip_stat9_prtx_s {
2867#ifdef __BIG_ENDIAN_BITFIELD
2868 uint64_t jabber:32;
2869 uint64_t oversz:32;
2870#else
2871 uint64_t oversz:32;
2872 uint64_t jabber:32;
2873#endif
2874 } s;
2875 struct cvmx_pip_stat9_prtx_s cn30xx;
2876 struct cvmx_pip_stat9_prtx_s cn31xx;
2877 struct cvmx_pip_stat9_prtx_s cn38xx;
2878 struct cvmx_pip_stat9_prtx_s cn38xxp2;
2879 struct cvmx_pip_stat9_prtx_s cn50xx;
2880 struct cvmx_pip_stat9_prtx_s cn52xx;
2881 struct cvmx_pip_stat9_prtx_s cn52xxp1;
2882 struct cvmx_pip_stat9_prtx_s cn56xx;
2883 struct cvmx_pip_stat9_prtx_s cn56xxp1;
2884 struct cvmx_pip_stat9_prtx_s cn58xx;
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;
2891};
2892
2893union cvmx_pip_stat_ctl {
2894 uint64_t u64;
2895 struct cvmx_pip_stat_ctl_s {
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
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
2907 } s;
2908 struct cvmx_pip_stat_ctl_cn30xx {
2909#ifdef __BIG_ENDIAN_BITFIELD
2910 uint64_t reserved_1_63:63;
2911 uint64_t rdclr:1;
2912#else
2913 uint64_t rdclr:1;
2914 uint64_t reserved_1_63:63;
2915#endif
2916 } cn30xx;
2917 struct cvmx_pip_stat_ctl_cn30xx cn31xx;
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;
2934};
2935
2936union cvmx_pip_stat_inb_errsx {
2937 uint64_t u64;
2938 struct cvmx_pip_stat_inb_errsx_s {
2939#ifdef __BIG_ENDIAN_BITFIELD
2940 uint64_t reserved_16_63:48;
2941 uint64_t errs:16;
2942#else
2943 uint64_t errs:16;
2944 uint64_t reserved_16_63:48;
2945#endif
2946 } s;
2947 struct cvmx_pip_stat_inb_errsx_s cn30xx;
2948 struct cvmx_pip_stat_inb_errsx_s cn31xx;
2949 struct cvmx_pip_stat_inb_errsx_s cn38xx;
2950 struct cvmx_pip_stat_inb_errsx_s cn38xxp2;
2951 struct cvmx_pip_stat_inb_errsx_s cn50xx;
2952 struct cvmx_pip_stat_inb_errsx_s cn52xx;
2953 struct cvmx_pip_stat_inb_errsx_s cn52xxp1;
2954 struct cvmx_pip_stat_inb_errsx_s cn56xx;
2955 struct cvmx_pip_stat_inb_errsx_s cn56xxp1;
2956 struct cvmx_pip_stat_inb_errsx_s cn58xx;
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;
2978};
2979
2980union cvmx_pip_stat_inb_octsx {
2981 uint64_t u64;
2982 struct cvmx_pip_stat_inb_octsx_s {
2983#ifdef __BIG_ENDIAN_BITFIELD
2984 uint64_t reserved_48_63:16;
2985 uint64_t octs:48;
2986#else
2987 uint64_t octs:48;
2988 uint64_t reserved_48_63:16;
2989#endif
2990 } s;
2991 struct cvmx_pip_stat_inb_octsx_s cn30xx;
2992 struct cvmx_pip_stat_inb_octsx_s cn31xx;
2993 struct cvmx_pip_stat_inb_octsx_s cn38xx;
2994 struct cvmx_pip_stat_inb_octsx_s cn38xxp2;
2995 struct cvmx_pip_stat_inb_octsx_s cn50xx;
2996 struct cvmx_pip_stat_inb_octsx_s cn52xx;
2997 struct cvmx_pip_stat_inb_octsx_s cn52xxp1;
2998 struct cvmx_pip_stat_inb_octsx_s cn56xx;
2999 struct cvmx_pip_stat_inb_octsx_s cn56xxp1;
3000 struct cvmx_pip_stat_inb_octsx_s cn58xx;
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;
3022};
3023
3024union cvmx_pip_stat_inb_pktsx {
3025 uint64_t u64;
3026 struct cvmx_pip_stat_inb_pktsx_s {
3027#ifdef __BIG_ENDIAN_BITFIELD
3028 uint64_t reserved_32_63:32;
3029 uint64_t pkts:32;
3030#else
3031 uint64_t pkts:32;
3032 uint64_t reserved_32_63:32;
3033#endif
3034 } s;
3035 struct cvmx_pip_stat_inb_pktsx_s cn30xx;
3036 struct cvmx_pip_stat_inb_pktsx_s cn31xx;
3037 struct cvmx_pip_stat_inb_pktsx_s cn38xx;
3038 struct cvmx_pip_stat_inb_pktsx_s cn38xxp2;
3039 struct cvmx_pip_stat_inb_pktsx_s cn50xx;
3040 struct cvmx_pip_stat_inb_pktsx_s cn52xx;
3041 struct cvmx_pip_stat_inb_pktsx_s cn52xxp1;
3042 struct cvmx_pip_stat_inb_pktsx_s cn56xx;
3043 struct cvmx_pip_stat_inb_pktsx_s cn56xxp1;
3044 struct cvmx_pip_stat_inb_pktsx_s cn58xx;
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;
3079};
3080
3081union cvmx_pip_tag_incx {
3082 uint64_t u64;
3083 struct cvmx_pip_tag_incx_s {
3084#ifdef __BIG_ENDIAN_BITFIELD
3085 uint64_t reserved_8_63:56;
3086 uint64_t en:8;
3087#else
3088 uint64_t en:8;
3089 uint64_t reserved_8_63:56;
3090#endif
3091 } s;
3092 struct cvmx_pip_tag_incx_s cn30xx;
3093 struct cvmx_pip_tag_incx_s cn31xx;
3094 struct cvmx_pip_tag_incx_s cn38xx;
3095 struct cvmx_pip_tag_incx_s cn38xxp2;
3096 struct cvmx_pip_tag_incx_s cn50xx;
3097 struct cvmx_pip_tag_incx_s cn52xx;
3098 struct cvmx_pip_tag_incx_s cn52xxp1;
3099 struct cvmx_pip_tag_incx_s cn56xx;
3100 struct cvmx_pip_tag_incx_s cn56xxp1;
3101 struct cvmx_pip_tag_incx_s cn58xx;
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;
3110};
3111
3112union cvmx_pip_tag_mask {
3113 uint64_t u64;
3114 struct cvmx_pip_tag_mask_s {
3115#ifdef __BIG_ENDIAN_BITFIELD
3116 uint64_t reserved_16_63:48;
3117 uint64_t mask:16;
3118#else
3119 uint64_t mask:16;
3120 uint64_t reserved_16_63:48;
3121#endif
3122 } s;
3123 struct cvmx_pip_tag_mask_s cn30xx;
3124 struct cvmx_pip_tag_mask_s cn31xx;
3125 struct cvmx_pip_tag_mask_s cn38xx;
3126 struct cvmx_pip_tag_mask_s cn38xxp2;
3127 struct cvmx_pip_tag_mask_s cn50xx;
3128 struct cvmx_pip_tag_mask_s cn52xx;
3129 struct cvmx_pip_tag_mask_s cn52xxp1;
3130 struct cvmx_pip_tag_mask_s cn56xx;
3131 struct cvmx_pip_tag_mask_s cn56xxp1;
3132 struct cvmx_pip_tag_mask_s cn58xx;
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;
3141};
3142
3143union cvmx_pip_tag_secret {
3144 uint64_t u64;
3145 struct cvmx_pip_tag_secret_s {
3146#ifdef __BIG_ENDIAN_BITFIELD
3147 uint64_t reserved_32_63:32;
3148 uint64_t dst: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
3155 } s;
3156 struct cvmx_pip_tag_secret_s cn30xx;
3157 struct cvmx_pip_tag_secret_s cn31xx;
3158 struct cvmx_pip_tag_secret_s cn38xx;
3159 struct cvmx_pip_tag_secret_s cn38xxp2;
3160 struct cvmx_pip_tag_secret_s cn50xx;
3161 struct cvmx_pip_tag_secret_s cn52xx;
3162 struct cvmx_pip_tag_secret_s cn52xxp1;
3163 struct cvmx_pip_tag_secret_s cn56xx;
3164 struct cvmx_pip_tag_secret_s cn56xxp1;
3165 struct cvmx_pip_tag_secret_s cn58xx;
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;
3174};
3175
3176union cvmx_pip_todo_entry {
3177 uint64_t u64;
3178 struct cvmx_pip_todo_entry_s {
3179#ifdef __BIG_ENDIAN_BITFIELD
3180 uint64_t val:1;
3181 uint64_t reserved_62_62:1;
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
3188 } s;
3189 struct cvmx_pip_todo_entry_s cn30xx;
3190 struct cvmx_pip_todo_entry_s cn31xx;
3191 struct cvmx_pip_todo_entry_s cn38xx;
3192 struct cvmx_pip_todo_entry_s cn38xxp2;
3193 struct cvmx_pip_todo_entry_s cn50xx;
3194 struct cvmx_pip_todo_entry_s cn52xx;
3195 struct cvmx_pip_todo_entry_s cn52xxp1;
3196 struct cvmx_pip_todo_entry_s cn56xx;
3197 struct cvmx_pip_todo_entry_s cn56xxp1;
3198 struct cvmx_pip_todo_entry_s cn58xx;
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;
3420};
3421
3422#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pip.h b/arch/mips/include/asm/octeon/cvmx-pip.h
deleted file mode 100644
index 9e739a64085..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-pip.h
+++ /dev/null
@@ -1,524 +0,0 @@
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-2008 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/*
29 * Interface to the hardware Packet Input Processing unit.
30 *
31 */
32
33#ifndef __CVMX_PIP_H__
34#define __CVMX_PIP_H__
35
36#include <asm/octeon/cvmx-wqe.h>
37#include <asm/octeon/cvmx-fpa.h>
38#include <asm/octeon/cvmx-pip-defs.h>
39
40#define CVMX_PIP_NUM_INPUT_PORTS 40
41#define CVMX_PIP_NUM_WATCHERS 4
42
43/*
44 * Encodes the different error and exception codes
45 */
46typedef enum {
47 CVMX_PIP_L4_NO_ERR = 0ull,
48 /*
49 * 1 = TCP (UDP) packet not long enough to cover TCP (UDP)
50 * header
51 */
52 CVMX_PIP_L4_MAL_ERR = 1ull,
53 /* 2 = TCP/UDP checksum failure */
54 CVMX_PIP_CHK_ERR = 2ull,
55 /*
56 * 3 = TCP/UDP length check (TCP/UDP length does not match IP
57 * length).
58 */
59 CVMX_PIP_L4_LENGTH_ERR = 3ull,
60 /* 4 = illegal TCP/UDP port (either source or dest port is zero) */
61 CVMX_PIP_BAD_PRT_ERR = 4ull,
62 /* 8 = TCP flags = FIN only */
63 CVMX_PIP_TCP_FLG8_ERR = 8ull,
64 /* 9 = TCP flags = 0 */
65 CVMX_PIP_TCP_FLG9_ERR = 9ull,
66 /* 10 = TCP flags = FIN+RST+* */
67 CVMX_PIP_TCP_FLG10_ERR = 10ull,
68 /* 11 = TCP flags = SYN+URG+* */
69 CVMX_PIP_TCP_FLG11_ERR = 11ull,
70 /* 12 = TCP flags = SYN+RST+* */
71 CVMX_PIP_TCP_FLG12_ERR = 12ull,
72 /* 13 = TCP flags = SYN+FIN+* */
73 CVMX_PIP_TCP_FLG13_ERR = 13ull
74} cvmx_pip_l4_err_t;
75
76typedef enum {
77
78 CVMX_PIP_IP_NO_ERR = 0ull,
79 /* 1 = not IPv4 or IPv6 */
80 CVMX_PIP_NOT_IP = 1ull,
81 /* 2 = IPv4 header checksum violation */
82 CVMX_PIP_IPV4_HDR_CHK = 2ull,
83 /* 3 = malformed (packet not long enough to cover IP hdr) */
84 CVMX_PIP_IP_MAL_HDR = 3ull,
85 /* 4 = malformed (packet not long enough to cover len in IP hdr) */
86 CVMX_PIP_IP_MAL_PKT = 4ull,
87 /* 5 = TTL / hop count equal zero */
88 CVMX_PIP_TTL_HOP = 5ull,
89 /* 6 = IPv4 options / IPv6 early extension headers */
90 CVMX_PIP_OPTS = 6ull
91} cvmx_pip_ip_exc_t;
92
93/**
94 * NOTES
95 * late collision (data received before collision)
96 * late collisions cannot be detected by the receiver
97 * they would appear as JAM bits which would appear as bad FCS
98 * or carrier extend error which is CVMX_PIP_EXTEND_ERR
99 */
100typedef enum {
101 /* No error */
102 CVMX_PIP_RX_NO_ERR = 0ull,
103 /* RGM+SPI 1 = partially received packet (buffering/bandwidth
104 * not adequate) */
105 CVMX_PIP_PARTIAL_ERR = 1ull,
106 /* RGM+SPI 2 = receive packet too large and truncated */
107 CVMX_PIP_JABBER_ERR = 2ull,
108 /*
109 * RGM 3 = max frame error (pkt len > max frame len) (with FCS
110 * error)
111 */
112 CVMX_PIP_OVER_FCS_ERR = 3ull,
113 /* RGM+SPI 4 = max frame error (pkt len > max frame len) */
114 CVMX_PIP_OVER_ERR = 4ull,
115 /*
116 * RGM 5 = nibble error (data not byte multiple - 100M and 10M
117 * only)
118 */
119 CVMX_PIP_ALIGN_ERR = 5ull,
120 /*
121 * RGM 6 = min frame error (pkt len < min frame len) (with FCS
122 * error)
123 */
124 CVMX_PIP_UNDER_FCS_ERR = 6ull,
125 /* RGM 7 = FCS error */
126 CVMX_PIP_GMX_FCS_ERR = 7ull,
127 /* RGM+SPI 8 = min frame error (pkt len < min frame len) */
128 CVMX_PIP_UNDER_ERR = 8ull,
129 /* RGM 9 = Frame carrier extend error */
130 CVMX_PIP_EXTEND_ERR = 9ull,
131 /*
132 * RGM 10 = length mismatch (len did not match len in L2
133 * length/type)
134 */
135 CVMX_PIP_LENGTH_ERR = 10ull,
136 /* RGM 11 = Frame error (some or all data bits marked err) */
137 CVMX_PIP_DAT_ERR = 11ull,
138 /* SPI 11 = DIP4 error */
139 CVMX_PIP_DIP_ERR = 11ull,
140 /*
141 * RGM 12 = packet was not large enough to pass the skipper -
142 * no inspection could occur.
143 */
144 CVMX_PIP_SKIP_ERR = 12ull,
145 /*
146 * RGM 13 = studder error (data not repeated - 100M and 10M
147 * only)
148 */
149 CVMX_PIP_NIBBLE_ERR = 13ull,
150 /* RGM+SPI 16 = FCS error */
151 CVMX_PIP_PIP_FCS = 16L,
152 /*
153 * RGM+SPI+PCI 17 = packet was not large enough to pass the
154 * skipper - no inspection could occur.
155 */
156 CVMX_PIP_PIP_SKIP_ERR = 17L,
157 /*
158 * RGM+SPI+PCI 18 = malformed l2 (packet not long enough to
159 * cover L2 hdr).
160 */
161 CVMX_PIP_PIP_L2_MAL_HDR = 18L
162 /*
163 * NOTES: xx = late collision (data received before collision)
164 * late collisions cannot be detected by the receiver
165 * they would appear as JAM bits which would appear as
166 * bad FCS or carrier extend error which is
167 * CVMX_PIP_EXTEND_ERR
168 */
169} cvmx_pip_rcv_err_t;
170
171/**
172 * This defines the err_code field errors in the work Q entry
173 */
174typedef union {
175 cvmx_pip_l4_err_t l4_err;
176 cvmx_pip_ip_exc_t ip_exc;
177 cvmx_pip_rcv_err_t rcv_err;
178} cvmx_pip_err_t;
179
180/**
181 * Status statistics for a port
182 */
183typedef struct {
184 /* Inbound octets marked to be dropped by the IPD */
185 uint32_t dropped_octets;
186 /* Inbound packets marked to be dropped by the IPD */
187 uint32_t dropped_packets;
188 /* RAW PCI Packets received by PIP per port */
189 uint32_t pci_raw_packets;
190 /* Number of octets processed by PIP */
191 uint32_t octets;
192 /* Number of packets processed by PIP */
193 uint32_t packets;
194 /*
195 * Number of indentified L2 multicast packets. Does not
196 * include broadcast packets. Only includes packets whose
197 * parse mode is SKIP_TO_L2
198 */
199 uint32_t multicast_packets;
200 /*
201 * Number of indentified L2 broadcast packets. Does not
202 * include multicast packets. Only includes packets whose
203 * parse mode is SKIP_TO_L2
204 */
205 uint32_t broadcast_packets;
206 /* Number of 64B packets */
207 uint32_t len_64_packets;
208 /* Number of 65-127B packets */
209 uint32_t len_65_127_packets;
210 /* Number of 128-255B packets */
211 uint32_t len_128_255_packets;
212 /* Number of 256-511B packets */
213 uint32_t len_256_511_packets;
214 /* Number of 512-1023B packets */
215 uint32_t len_512_1023_packets;
216 /* Number of 1024-1518B packets */
217 uint32_t len_1024_1518_packets;
218 /* Number of 1519-max packets */
219 uint32_t len_1519_max_packets;
220 /* Number of packets with FCS or Align opcode errors */
221 uint32_t fcs_align_err_packets;
222 /* Number of packets with length < min */
223 uint32_t runt_packets;
224 /* Number of packets with length < min and FCS error */
225 uint32_t runt_crc_packets;
226 /* Number of packets with length > max */
227 uint32_t oversize_packets;
228 /* Number of packets with length > max and FCS error */
229 uint32_t oversize_crc_packets;
230 /* Number of packets without GMX/SPX/PCI errors received by PIP */
231 uint32_t inb_packets;
232 /*
233 * Total number of octets from all packets received by PIP,
234 * including CRC
235 */
236 uint64_t inb_octets;
237 /* Number of packets with GMX/SPX/PCI errors received by PIP */
238 uint16_t inb_errors;
239} cvmx_pip_port_status_t;
240
241/**
242 * Definition of the PIP custom header that can be prepended
243 * to a packet by external hardware.
244 */
245typedef union {
246 uint64_t u64;
247 struct {
248 /*
249 * Documented as R - Set if the Packet is RAWFULL. If
250 * set, this header must be the full 8 bytes.
251 */
252 uint64_t rawfull:1;
253 /* Must be zero */
254 uint64_t reserved0:5;
255 /* PIP parse mode for this packet */
256 uint64_t parse_mode:2;
257 /* Must be zero */
258 uint64_t reserved1:1;
259 /*
260 * Skip amount, including this header, to the
261 * beginning of the packet
262 */
263 uint64_t skip_len:7;
264 /* Must be zero */
265 uint64_t reserved2:6;
266 /* POW input queue for this packet */
267 uint64_t qos:3;
268 /* POW input group for this packet */
269 uint64_t grp:4;
270 /*
271 * Flag to store this packet in the work queue entry,
272 * if possible
273 */
274 uint64_t rs:1;
275 /* POW input tag type */
276 uint64_t tag_type:2;
277 /* POW input tag */
278 uint64_t tag:32;
279 } s;
280} cvmx_pip_pkt_inst_hdr_t;
281
282/* CSR typedefs have been moved to cvmx-csr-*.h */
283
284/**
285 * Configure an ethernet input port
286 *
287 * @port_num: Port number to configure
288 * @port_cfg: Port hardware configuration
289 * @port_tag_cfg:
290 * Port POW tagging configuration
291 */
292static inline void cvmx_pip_config_port(uint64_t port_num,
293 union cvmx_pip_prt_cfgx port_cfg,
294 union cvmx_pip_prt_tagx port_tag_cfg)
295{
296 cvmx_write_csr(CVMX_PIP_PRT_CFGX(port_num), port_cfg.u64);
297 cvmx_write_csr(CVMX_PIP_PRT_TAGX(port_num), port_tag_cfg.u64);
298}
299#if 0
300/**
301 * @deprecated This function is a thin wrapper around the Pass1 version
302 * of the CVMX_PIP_QOS_WATCHX CSR; Pass2 has added a field for
303 * setting the group that is incompatible with this function,
304 * the preferred upgrade path is to use the CSR directly.
305 *
306 * Configure the global QoS packet watchers. Each watcher is
307 * capable of matching a field in a packet to determine the
308 * QoS queue for scheduling.
309 *
310 * @watcher: Watcher number to configure (0 - 3).
311 * @match_type: Watcher match type
312 * @match_value:
313 * Value the watcher will match against
314 * @qos: QoS queue for packets matching this watcher
315 */
316static inline void cvmx_pip_config_watcher(uint64_t watcher,
317 cvmx_pip_qos_watch_types match_type,
318 uint64_t match_value, uint64_t qos)
319{
320 cvmx_pip_port_watcher_cfg_t watcher_config;
321
322 watcher_config.u64 = 0;
323 watcher_config.s.match_type = match_type;
324 watcher_config.s.match_value = match_value;
325 watcher_config.s.qos = qos;
326
327 cvmx_write_csr(CVMX_PIP_QOS_WATCHX(watcher), watcher_config.u64);
328}
329#endif
330/**
331 * Configure the VLAN priority to QoS queue mapping.
332 *
333 * @vlan_priority:
334 * VLAN priority (0-7)
335 * @qos: QoS queue for packets matching this watcher
336 */
337static inline void cvmx_pip_config_vlan_qos(uint64_t vlan_priority,
338 uint64_t qos)
339{
340 union cvmx_pip_qos_vlanx pip_qos_vlanx;
341 pip_qos_vlanx.u64 = 0;
342 pip_qos_vlanx.s.qos = qos;
343 cvmx_write_csr(CVMX_PIP_QOS_VLANX(vlan_priority), pip_qos_vlanx.u64);
344}
345
346/**
347 * Configure the Diffserv to QoS queue mapping.
348 *
349 * @diffserv: Diffserv field value (0-63)
350 * @qos: QoS queue for packets matching this watcher
351 */
352static inline void cvmx_pip_config_diffserv_qos(uint64_t diffserv, uint64_t qos)
353{
354 union cvmx_pip_qos_diffx pip_qos_diffx;
355 pip_qos_diffx.u64 = 0;
356 pip_qos_diffx.s.qos = qos;
357 cvmx_write_csr(CVMX_PIP_QOS_DIFFX(diffserv), pip_qos_diffx.u64);
358}
359
360/**
361 * Get the status counters for a port.
362 *
363 * @port_num: Port number to get statistics for.
364 * @clear: Set to 1 to clear the counters after they are read
365 * @status: Where to put the results.
366 */
367static inline void cvmx_pip_get_port_status(uint64_t port_num, uint64_t clear,
368 cvmx_pip_port_status_t *status)
369{
370 union cvmx_pip_stat_ctl pip_stat_ctl;
371 union cvmx_pip_stat0_prtx stat0;
372 union cvmx_pip_stat1_prtx stat1;
373 union cvmx_pip_stat2_prtx stat2;
374 union cvmx_pip_stat3_prtx stat3;
375 union cvmx_pip_stat4_prtx stat4;
376 union cvmx_pip_stat5_prtx stat5;
377 union cvmx_pip_stat6_prtx stat6;
378 union cvmx_pip_stat7_prtx stat7;
379 union cvmx_pip_stat8_prtx stat8;
380 union cvmx_pip_stat9_prtx stat9;
381 union cvmx_pip_stat_inb_pktsx pip_stat_inb_pktsx;
382 union cvmx_pip_stat_inb_octsx pip_stat_inb_octsx;
383 union cvmx_pip_stat_inb_errsx pip_stat_inb_errsx;
384
385 pip_stat_ctl.u64 = 0;
386 pip_stat_ctl.s.rdclr = clear;
387 cvmx_write_csr(CVMX_PIP_STAT_CTL, pip_stat_ctl.u64);
388
389 stat0.u64 = cvmx_read_csr(CVMX_PIP_STAT0_PRTX(port_num));
390 stat1.u64 = cvmx_read_csr(CVMX_PIP_STAT1_PRTX(port_num));
391 stat2.u64 = cvmx_read_csr(CVMX_PIP_STAT2_PRTX(port_num));
392 stat3.u64 = cvmx_read_csr(CVMX_PIP_STAT3_PRTX(port_num));
393 stat4.u64 = cvmx_read_csr(CVMX_PIP_STAT4_PRTX(port_num));
394 stat5.u64 = cvmx_read_csr(CVMX_PIP_STAT5_PRTX(port_num));
395 stat6.u64 = cvmx_read_csr(CVMX_PIP_STAT6_PRTX(port_num));
396 stat7.u64 = cvmx_read_csr(CVMX_PIP_STAT7_PRTX(port_num));
397 stat8.u64 = cvmx_read_csr(CVMX_PIP_STAT8_PRTX(port_num));
398 stat9.u64 = cvmx_read_csr(CVMX_PIP_STAT9_PRTX(port_num));
399 pip_stat_inb_pktsx.u64 =
400 cvmx_read_csr(CVMX_PIP_STAT_INB_PKTSX(port_num));
401 pip_stat_inb_octsx.u64 =
402 cvmx_read_csr(CVMX_PIP_STAT_INB_OCTSX(port_num));
403 pip_stat_inb_errsx.u64 =
404 cvmx_read_csr(CVMX_PIP_STAT_INB_ERRSX(port_num));
405
406 status->dropped_octets = stat0.s.drp_octs;
407 status->dropped_packets = stat0.s.drp_pkts;
408 status->octets = stat1.s.octs;
409 status->pci_raw_packets = stat2.s.raw;
410 status->packets = stat2.s.pkts;
411 status->multicast_packets = stat3.s.mcst;
412 status->broadcast_packets = stat3.s.bcst;
413 status->len_64_packets = stat4.s.h64;
414 status->len_65_127_packets = stat4.s.h65to127;
415 status->len_128_255_packets = stat5.s.h128to255;
416 status->len_256_511_packets = stat5.s.h256to511;
417 status->len_512_1023_packets = stat6.s.h512to1023;
418 status->len_1024_1518_packets = stat6.s.h1024to1518;
419 status->len_1519_max_packets = stat7.s.h1519;
420 status->fcs_align_err_packets = stat7.s.fcs;
421 status->runt_packets = stat8.s.undersz;
422 status->runt_crc_packets = stat8.s.frag;
423 status->oversize_packets = stat9.s.oversz;
424 status->oversize_crc_packets = stat9.s.jabber;
425 status->inb_packets = pip_stat_inb_pktsx.s.pkts;
426 status->inb_octets = pip_stat_inb_octsx.s.octs;
427 status->inb_errors = pip_stat_inb_errsx.s.errs;
428
429 if (cvmx_octeon_is_pass1()) {
430 /*
431 * Kludge to fix Octeon Pass 1 errata - Drop counts
432 * don't work.
433 */
434 if (status->inb_packets > status->packets)
435 status->dropped_packets =
436 status->inb_packets - status->packets;
437 else
438 status->dropped_packets = 0;
439 if (status->inb_octets - status->inb_packets * 4 >
440 status->octets)
441 status->dropped_octets =
442 status->inb_octets - status->inb_packets * 4 -
443 status->octets;
444 else
445 status->dropped_octets = 0;
446 }
447}
448
449/**
450 * Configure the hardware CRC engine
451 *
452 * @interface: Interface to configure (0 or 1)
453 * @invert_result:
454 * Invert the result of the CRC
455 * @reflect: Reflect
456 * @initialization_vector:
457 * CRC initialization vector
458 */
459static inline void cvmx_pip_config_crc(uint64_t interface,
460 uint64_t invert_result, uint64_t reflect,
461 uint32_t initialization_vector)
462{
463 if (OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)) {
464 union cvmx_pip_crc_ctlx config;
465 union cvmx_pip_crc_ivx pip_crc_ivx;
466
467 config.u64 = 0;
468 config.s.invres = invert_result;
469 config.s.reflect = reflect;
470 cvmx_write_csr(CVMX_PIP_CRC_CTLX(interface), config.u64);
471
472 pip_crc_ivx.u64 = 0;
473 pip_crc_ivx.s.iv = initialization_vector;
474 cvmx_write_csr(CVMX_PIP_CRC_IVX(interface), pip_crc_ivx.u64);
475 }
476}
477
478/**
479 * Clear all bits in a tag mask. This should be called on
480 * startup before any calls to cvmx_pip_tag_mask_set. Each bit
481 * set in the final mask represent a byte used in the packet for
482 * tag generation.
483 *
484 * @mask_index: Which tag mask to clear (0..3)
485 */
486static inline void cvmx_pip_tag_mask_clear(uint64_t mask_index)
487{
488 uint64_t index;
489 union cvmx_pip_tag_incx pip_tag_incx;
490 pip_tag_incx.u64 = 0;
491 pip_tag_incx.s.en = 0;
492 for (index = mask_index * 16; index < (mask_index + 1) * 16; index++)
493 cvmx_write_csr(CVMX_PIP_TAG_INCX(index), pip_tag_incx.u64);
494}
495
496/**
497 * Sets a range of bits in the tag mask. The tag mask is used
498 * when the cvmx_pip_port_tag_cfg_t tag_mode is non zero.
499 * There are four separate masks that can be configured.
500 *
501 * @mask_index: Which tag mask to modify (0..3)
502 * @offset: Offset into the bitmask to set bits at. Use the GCC macro
503 * offsetof() to determine the offsets into packet headers.
504 * For example, offsetof(ethhdr, protocol) returns the offset
505 * of the ethernet protocol field. The bitmask selects which
506 * bytes to include the the tag, with bit offset X selecting
507 * byte at offset X from the beginning of the packet data.
508 * @len: Number of bytes to include. Usually this is the sizeof()
509 * the field.
510 */
511static inline void cvmx_pip_tag_mask_set(uint64_t mask_index, uint64_t offset,
512 uint64_t len)
513{
514 while (len--) {
515 union cvmx_pip_tag_incx pip_tag_incx;
516 uint64_t index = mask_index * 16 + offset / 8;
517 pip_tag_incx.u64 = cvmx_read_csr(CVMX_PIP_TAG_INCX(index));
518 pip_tag_incx.s.en |= 0x80 >> (offset & 0x7);
519 cvmx_write_csr(CVMX_PIP_TAG_INCX(index), pip_tag_incx.u64);
520 offset++;
521 }
522}
523
524#endif /* __CVMX_PIP_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-pko-defs.h b/arch/mips/include/asm/octeon/cvmx-pko-defs.h
deleted file mode 100644
index 87c3b970cad..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-pko-defs.h
+++ /dev/null
@@ -1,2824 +0,0 @@
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_PKO_DEFS_H__
29#define __CVMX_PKO_DEFS_H__
30
31#define CVMX_PKO_MEM_COUNT0 (CVMX_ADD_IO_SEG(0x0001180050001080ull))
32#define CVMX_PKO_MEM_COUNT1 (CVMX_ADD_IO_SEG(0x0001180050001088ull))
33#define CVMX_PKO_MEM_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050001100ull))
34#define CVMX_PKO_MEM_DEBUG1 (CVMX_ADD_IO_SEG(0x0001180050001108ull))
35#define CVMX_PKO_MEM_DEBUG10 (CVMX_ADD_IO_SEG(0x0001180050001150ull))
36#define CVMX_PKO_MEM_DEBUG11 (CVMX_ADD_IO_SEG(0x0001180050001158ull))
37#define CVMX_PKO_MEM_DEBUG12 (CVMX_ADD_IO_SEG(0x0001180050001160ull))
38#define CVMX_PKO_MEM_DEBUG13 (CVMX_ADD_IO_SEG(0x0001180050001168ull))
39#define CVMX_PKO_MEM_DEBUG14 (CVMX_ADD_IO_SEG(0x0001180050001170ull))
40#define CVMX_PKO_MEM_DEBUG2 (CVMX_ADD_IO_SEG(0x0001180050001110ull))
41#define CVMX_PKO_MEM_DEBUG3 (CVMX_ADD_IO_SEG(0x0001180050001118ull))
42#define CVMX_PKO_MEM_DEBUG4 (CVMX_ADD_IO_SEG(0x0001180050001120ull))
43#define CVMX_PKO_MEM_DEBUG5 (CVMX_ADD_IO_SEG(0x0001180050001128ull))
44#define CVMX_PKO_MEM_DEBUG6 (CVMX_ADD_IO_SEG(0x0001180050001130ull))
45#define CVMX_PKO_MEM_DEBUG7 (CVMX_ADD_IO_SEG(0x0001180050001138ull))
46#define CVMX_PKO_MEM_DEBUG8 (CVMX_ADD_IO_SEG(0x0001180050001140ull))
47#define CVMX_PKO_MEM_DEBUG9 (CVMX_ADD_IO_SEG(0x0001180050001148ull))
48#define CVMX_PKO_MEM_IPORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001030ull))
49#define CVMX_PKO_MEM_IPORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001038ull))
50#define CVMX_PKO_MEM_IQUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001040ull))
51#define CVMX_PKO_MEM_IQUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001048ull))
52#define CVMX_PKO_MEM_PORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001010ull))
53#define CVMX_PKO_MEM_PORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001018ull))
54#define CVMX_PKO_MEM_PORT_RATE0 (CVMX_ADD_IO_SEG(0x0001180050001020ull))
55#define CVMX_PKO_MEM_PORT_RATE1 (CVMX_ADD_IO_SEG(0x0001180050001028ull))
56#define CVMX_PKO_MEM_QUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001000ull))
57#define CVMX_PKO_MEM_QUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001008ull))
58#define CVMX_PKO_MEM_THROTTLE_INT (CVMX_ADD_IO_SEG(0x0001180050001058ull))
59#define CVMX_PKO_MEM_THROTTLE_PIPE (CVMX_ADD_IO_SEG(0x0001180050001050ull))
60#define CVMX_PKO_REG_BIST_RESULT (CVMX_ADD_IO_SEG(0x0001180050000080ull))
61#define CVMX_PKO_REG_CMD_BUF (CVMX_ADD_IO_SEG(0x0001180050000010ull))
62#define CVMX_PKO_REG_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180050000028ull) + ((offset) & 1) * 8)
63#define CVMX_PKO_REG_CRC_ENABLE (CVMX_ADD_IO_SEG(0x0001180050000020ull))
64#define CVMX_PKO_REG_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x0001180050000038ull) + ((offset) & 1) * 8)
65#define CVMX_PKO_REG_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050000098ull))
66#define CVMX_PKO_REG_DEBUG1 (CVMX_ADD_IO_SEG(0x00011800500000A0ull))
67#define CVMX_PKO_REG_DEBUG2 (CVMX_ADD_IO_SEG(0x00011800500000A8ull))
68#define CVMX_PKO_REG_DEBUG3 (CVMX_ADD_IO_SEG(0x00011800500000B0ull))
69#define CVMX_PKO_REG_DEBUG4 (CVMX_ADD_IO_SEG(0x00011800500000B8ull))
70#define CVMX_PKO_REG_ENGINE_INFLIGHT (CVMX_ADD_IO_SEG(0x0001180050000050ull))
71#define CVMX_PKO_REG_ENGINE_INFLIGHT1 (CVMX_ADD_IO_SEG(0x0001180050000318ull))
72#define CVMX_PKO_REG_ENGINE_STORAGEX(offset) (CVMX_ADD_IO_SEG(0x0001180050000300ull) + ((offset) & 1) * 8)
73#define CVMX_PKO_REG_ENGINE_THRESH (CVMX_ADD_IO_SEG(0x0001180050000058ull))
74#define CVMX_PKO_REG_ERROR (CVMX_ADD_IO_SEG(0x0001180050000088ull))
75#define CVMX_PKO_REG_FLAGS (CVMX_ADD_IO_SEG(0x0001180050000000ull))
76#define CVMX_PKO_REG_GMX_PORT_MODE (CVMX_ADD_IO_SEG(0x0001180050000018ull))
77#define CVMX_PKO_REG_INT_MASK (CVMX_ADD_IO_SEG(0x0001180050000090ull))
78#define CVMX_PKO_REG_LOOPBACK_BPID (CVMX_ADD_IO_SEG(0x0001180050000118ull))
79#define CVMX_PKO_REG_LOOPBACK_PKIND (CVMX_ADD_IO_SEG(0x0001180050000068ull))
80#define CVMX_PKO_REG_MIN_PKT (CVMX_ADD_IO_SEG(0x0001180050000070ull))
81#define CVMX_PKO_REG_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000110ull))
82#define CVMX_PKO_REG_QUEUE_MODE (CVMX_ADD_IO_SEG(0x0001180050000048ull))
83#define CVMX_PKO_REG_QUEUE_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000108ull))
84#define CVMX_PKO_REG_QUEUE_PTRS1 (CVMX_ADD_IO_SEG(0x0001180050000100ull))
85#define CVMX_PKO_REG_READ_IDX (CVMX_ADD_IO_SEG(0x0001180050000008ull))
86#define CVMX_PKO_REG_THROTTLE (CVMX_ADD_IO_SEG(0x0001180050000078ull))
87#define CVMX_PKO_REG_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001180050000060ull))
88
89union cvmx_pko_mem_count0 {
90 uint64_t u64;
91 struct cvmx_pko_mem_count0_s {
92#ifdef __BIG_ENDIAN_BITFIELD
93 uint64_t reserved_32_63:32;
94 uint64_t count:32;
95#else
96 uint64_t count:32;
97 uint64_t reserved_32_63:32;
98#endif
99 } s;
100 struct cvmx_pko_mem_count0_s cn30xx;
101 struct cvmx_pko_mem_count0_s cn31xx;
102 struct cvmx_pko_mem_count0_s cn38xx;
103 struct cvmx_pko_mem_count0_s cn38xxp2;
104 struct cvmx_pko_mem_count0_s cn50xx;
105 struct cvmx_pko_mem_count0_s cn52xx;
106 struct cvmx_pko_mem_count0_s cn52xxp1;
107 struct cvmx_pko_mem_count0_s cn56xx;
108 struct cvmx_pko_mem_count0_s cn56xxp1;
109 struct cvmx_pko_mem_count0_s cn58xx;
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;
118};
119
120union cvmx_pko_mem_count1 {
121 uint64_t u64;
122 struct cvmx_pko_mem_count1_s {
123#ifdef __BIG_ENDIAN_BITFIELD
124 uint64_t reserved_48_63:16;
125 uint64_t count:48;
126#else
127 uint64_t count:48;
128 uint64_t reserved_48_63:16;
129#endif
130 } s;
131 struct cvmx_pko_mem_count1_s cn30xx;
132 struct cvmx_pko_mem_count1_s cn31xx;
133 struct cvmx_pko_mem_count1_s cn38xx;
134 struct cvmx_pko_mem_count1_s cn38xxp2;
135 struct cvmx_pko_mem_count1_s cn50xx;
136 struct cvmx_pko_mem_count1_s cn52xx;
137 struct cvmx_pko_mem_count1_s cn52xxp1;
138 struct cvmx_pko_mem_count1_s cn56xx;
139 struct cvmx_pko_mem_count1_s cn56xxp1;
140 struct cvmx_pko_mem_count1_s cn58xx;
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;
149};
150
151union cvmx_pko_mem_debug0 {
152 uint64_t u64;
153 struct cvmx_pko_mem_debug0_s {
154#ifdef __BIG_ENDIAN_BITFIELD
155 uint64_t fau:28;
156 uint64_t cmd:14;
157 uint64_t segs:6;
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
165 } s;
166 struct cvmx_pko_mem_debug0_s cn30xx;
167 struct cvmx_pko_mem_debug0_s cn31xx;
168 struct cvmx_pko_mem_debug0_s cn38xx;
169 struct cvmx_pko_mem_debug0_s cn38xxp2;
170 struct cvmx_pko_mem_debug0_s cn50xx;
171 struct cvmx_pko_mem_debug0_s cn52xx;
172 struct cvmx_pko_mem_debug0_s cn52xxp1;
173 struct cvmx_pko_mem_debug0_s cn56xx;
174 struct cvmx_pko_mem_debug0_s cn56xxp1;
175 struct cvmx_pko_mem_debug0_s cn58xx;
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;
184};
185
186union cvmx_pko_mem_debug1 {
187 uint64_t u64;
188 struct cvmx_pko_mem_debug1_s {
189#ifdef __BIG_ENDIAN_BITFIELD
190 uint64_t i:1;
191 uint64_t back:4;
192 uint64_t pool:3;
193 uint64_t size:16;
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
202 } s;
203 struct cvmx_pko_mem_debug1_s cn30xx;
204 struct cvmx_pko_mem_debug1_s cn31xx;
205 struct cvmx_pko_mem_debug1_s cn38xx;
206 struct cvmx_pko_mem_debug1_s cn38xxp2;
207 struct cvmx_pko_mem_debug1_s cn50xx;
208 struct cvmx_pko_mem_debug1_s cn52xx;
209 struct cvmx_pko_mem_debug1_s cn52xxp1;
210 struct cvmx_pko_mem_debug1_s cn56xx;
211 struct cvmx_pko_mem_debug1_s cn56xxp1;
212 struct cvmx_pko_mem_debug1_s cn58xx;
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;
221};
222
223union cvmx_pko_mem_debug10 {
224 uint64_t u64;
225 struct cvmx_pko_mem_debug10_s {
226#ifdef __BIG_ENDIAN_BITFIELD
227 uint64_t reserved_0_63:64;
228#else
229 uint64_t reserved_0_63:64;
230#endif
231 } s;
232 struct cvmx_pko_mem_debug10_cn30xx {
233#ifdef __BIG_ENDIAN_BITFIELD
234 uint64_t fau:28;
235 uint64_t cmd:14;
236 uint64_t segs:6;
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
244 } cn30xx;
245 struct cvmx_pko_mem_debug10_cn30xx cn31xx;
246 struct cvmx_pko_mem_debug10_cn30xx cn38xx;
247 struct cvmx_pko_mem_debug10_cn30xx cn38xxp2;
248 struct cvmx_pko_mem_debug10_cn50xx {
249#ifdef __BIG_ENDIAN_BITFIELD
250 uint64_t reserved_49_63:15;
251 uint64_t ptrs1:17;
252 uint64_t reserved_17_31:15;
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
260 } cn50xx;
261 struct cvmx_pko_mem_debug10_cn50xx cn52xx;
262 struct cvmx_pko_mem_debug10_cn50xx cn52xxp1;
263 struct cvmx_pko_mem_debug10_cn50xx cn56xx;
264 struct cvmx_pko_mem_debug10_cn50xx cn56xxp1;
265 struct cvmx_pko_mem_debug10_cn50xx cn58xx;
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;
274};
275
276union cvmx_pko_mem_debug11 {
277 uint64_t u64;
278 struct cvmx_pko_mem_debug11_s {
279#ifdef __BIG_ENDIAN_BITFIELD
280 uint64_t i:1;
281 uint64_t back:4;
282 uint64_t pool:3;
283 uint64_t size:16;
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
292 } s;
293 struct cvmx_pko_mem_debug11_cn30xx {
294#ifdef __BIG_ENDIAN_BITFIELD
295 uint64_t i:1;
296 uint64_t back:4;
297 uint64_t pool:3;
298 uint64_t size:16;
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
307 } cn30xx;
308 struct cvmx_pko_mem_debug11_cn30xx cn31xx;
309 struct cvmx_pko_mem_debug11_cn30xx cn38xx;
310 struct cvmx_pko_mem_debug11_cn30xx cn38xxp2;
311 struct cvmx_pko_mem_debug11_cn50xx {
312#ifdef __BIG_ENDIAN_BITFIELD
313 uint64_t reserved_23_63:41;
314 uint64_t maj:1;
315 uint64_t uid:3;
316 uint64_t sop:1;
317 uint64_t len:1;
318 uint64_t chk:1;
319 uint64_t cnt:13;
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
331 } cn50xx;
332 struct cvmx_pko_mem_debug11_cn50xx cn52xx;
333 struct cvmx_pko_mem_debug11_cn50xx cn52xxp1;
334 struct cvmx_pko_mem_debug11_cn50xx cn56xx;
335 struct cvmx_pko_mem_debug11_cn50xx cn56xxp1;
336 struct cvmx_pko_mem_debug11_cn50xx cn58xx;
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;
345};
346
347union cvmx_pko_mem_debug12 {
348 uint64_t u64;
349 struct cvmx_pko_mem_debug12_s {
350#ifdef __BIG_ENDIAN_BITFIELD
351 uint64_t reserved_0_63:64;
352#else
353 uint64_t reserved_0_63:64;
354#endif
355 } s;
356 struct cvmx_pko_mem_debug12_cn30xx {
357#ifdef __BIG_ENDIAN_BITFIELD
358 uint64_t data:64;
359#else
360 uint64_t data:64;
361#endif
362 } cn30xx;
363 struct cvmx_pko_mem_debug12_cn30xx cn31xx;
364 struct cvmx_pko_mem_debug12_cn30xx cn38xx;
365 struct cvmx_pko_mem_debug12_cn30xx cn38xxp2;
366 struct cvmx_pko_mem_debug12_cn50xx {
367#ifdef __BIG_ENDIAN_BITFIELD
368 uint64_t fau:28;
369 uint64_t cmd:14;
370 uint64_t segs:6;
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
378 } cn50xx;
379 struct cvmx_pko_mem_debug12_cn50xx cn52xx;
380 struct cvmx_pko_mem_debug12_cn50xx cn52xxp1;
381 struct cvmx_pko_mem_debug12_cn50xx cn56xx;
382 struct cvmx_pko_mem_debug12_cn50xx cn56xxp1;
383 struct cvmx_pko_mem_debug12_cn50xx cn58xx;
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;
398};
399
400union cvmx_pko_mem_debug13 {
401 uint64_t u64;
402 struct cvmx_pko_mem_debug13_s {
403#ifdef __BIG_ENDIAN_BITFIELD
404 uint64_t reserved_0_63:64;
405#else
406 uint64_t reserved_0_63:64;
407#endif
408 } s;
409 struct cvmx_pko_mem_debug13_cn30xx {
410#ifdef __BIG_ENDIAN_BITFIELD
411 uint64_t reserved_51_63:13;
412 uint64_t widx:17;
413 uint64_t ridx2: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
421 } cn30xx;
422 struct cvmx_pko_mem_debug13_cn30xx cn31xx;
423 struct cvmx_pko_mem_debug13_cn30xx cn38xx;
424 struct cvmx_pko_mem_debug13_cn30xx cn38xxp2;
425 struct cvmx_pko_mem_debug13_cn50xx {
426#ifdef __BIG_ENDIAN_BITFIELD
427 uint64_t i:1;
428 uint64_t back:4;
429 uint64_t pool:3;
430 uint64_t size:16;
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
439 } cn50xx;
440 struct cvmx_pko_mem_debug13_cn50xx cn52xx;
441 struct cvmx_pko_mem_debug13_cn50xx cn52xxp1;
442 struct cvmx_pko_mem_debug13_cn50xx cn56xx;
443 struct cvmx_pko_mem_debug13_cn50xx cn56xxp1;
444 struct cvmx_pko_mem_debug13_cn50xx cn58xx;
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;
459};
460
461union cvmx_pko_mem_debug14 {
462 uint64_t u64;
463 struct cvmx_pko_mem_debug14_s {
464#ifdef __BIG_ENDIAN_BITFIELD
465 uint64_t reserved_0_63:64;
466#else
467 uint64_t reserved_0_63:64;
468#endif
469 } s;
470 struct cvmx_pko_mem_debug14_cn30xx {
471#ifdef __BIG_ENDIAN_BITFIELD
472 uint64_t reserved_17_63:47;
473 uint64_t ridx:17;
474#else
475 uint64_t ridx:17;
476 uint64_t reserved_17_63:47;
477#endif
478 } cn30xx;
479 struct cvmx_pko_mem_debug14_cn30xx cn31xx;
480 struct cvmx_pko_mem_debug14_cn30xx cn38xx;
481 struct cvmx_pko_mem_debug14_cn30xx cn38xxp2;
482 struct cvmx_pko_mem_debug14_cn52xx {
483#ifdef __BIG_ENDIAN_BITFIELD
484 uint64_t data:64;
485#else
486 uint64_t data:64;
487#endif
488 } cn52xx;
489 struct cvmx_pko_mem_debug14_cn52xx cn52xxp1;
490 struct cvmx_pko_mem_debug14_cn52xx cn56xx;
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;
497};
498
499union cvmx_pko_mem_debug2 {
500 uint64_t u64;
501 struct cvmx_pko_mem_debug2_s {
502#ifdef __BIG_ENDIAN_BITFIELD
503 uint64_t i:1;
504 uint64_t back:4;
505 uint64_t pool:3;
506 uint64_t size:16;
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
515 } s;
516 struct cvmx_pko_mem_debug2_s cn30xx;
517 struct cvmx_pko_mem_debug2_s cn31xx;
518 struct cvmx_pko_mem_debug2_s cn38xx;
519 struct cvmx_pko_mem_debug2_s cn38xxp2;
520 struct cvmx_pko_mem_debug2_s cn50xx;
521 struct cvmx_pko_mem_debug2_s cn52xx;
522 struct cvmx_pko_mem_debug2_s cn52xxp1;
523 struct cvmx_pko_mem_debug2_s cn56xx;
524 struct cvmx_pko_mem_debug2_s cn56xxp1;
525 struct cvmx_pko_mem_debug2_s cn58xx;
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;
534};
535
536union cvmx_pko_mem_debug3 {
537 uint64_t u64;
538 struct cvmx_pko_mem_debug3_s {
539#ifdef __BIG_ENDIAN_BITFIELD
540 uint64_t reserved_0_63:64;
541#else
542 uint64_t reserved_0_63:64;
543#endif
544 } s;
545 struct cvmx_pko_mem_debug3_cn30xx {
546#ifdef __BIG_ENDIAN_BITFIELD
547 uint64_t i:1;
548 uint64_t back:4;
549 uint64_t pool:3;
550 uint64_t size:16;
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
559 } cn30xx;
560 struct cvmx_pko_mem_debug3_cn30xx cn31xx;
561 struct cvmx_pko_mem_debug3_cn30xx cn38xx;
562 struct cvmx_pko_mem_debug3_cn30xx cn38xxp2;
563 struct cvmx_pko_mem_debug3_cn50xx {
564#ifdef __BIG_ENDIAN_BITFIELD
565 uint64_t data:64;
566#else
567 uint64_t data:64;
568#endif
569 } cn50xx;
570 struct cvmx_pko_mem_debug3_cn50xx cn52xx;
571 struct cvmx_pko_mem_debug3_cn50xx cn52xxp1;
572 struct cvmx_pko_mem_debug3_cn50xx cn56xx;
573 struct cvmx_pko_mem_debug3_cn50xx cn56xxp1;
574 struct cvmx_pko_mem_debug3_cn50xx cn58xx;
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;
583};
584
585union cvmx_pko_mem_debug4 {
586 uint64_t u64;
587 struct cvmx_pko_mem_debug4_s {
588#ifdef __BIG_ENDIAN_BITFIELD
589 uint64_t reserved_0_63:64;
590#else
591 uint64_t reserved_0_63:64;
592#endif
593 } s;
594 struct cvmx_pko_mem_debug4_cn30xx {
595#ifdef __BIG_ENDIAN_BITFIELD
596 uint64_t data:64;
597#else
598 uint64_t data:64;
599#endif
600 } cn30xx;
601 struct cvmx_pko_mem_debug4_cn30xx cn31xx;
602 struct cvmx_pko_mem_debug4_cn30xx cn38xx;
603 struct cvmx_pko_mem_debug4_cn30xx cn38xxp2;
604 struct cvmx_pko_mem_debug4_cn50xx {
605#ifdef __BIG_ENDIAN_BITFIELD
606 uint64_t cmnd_segs:3;
607 uint64_t cmnd_siz:16;
608 uint64_t cmnd_off:6;
609 uint64_t uid:3;
610 uint64_t dread_sop:1;
611 uint64_t init_dwrite:1;
612 uint64_t chk_once:1;
613 uint64_t chk_mode:1;
614 uint64_t active:1;
615 uint64_t static_p:1;
616 uint64_t qos:3;
617 uint64_t qcb_ridx:5;
618 uint64_t qid_off_max:4;
619 uint64_t qid_off:4;
620 uint64_t qid_base:8;
621 uint64_t wait:1;
622 uint64_t minor:2;
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
644 } cn50xx;
645 struct cvmx_pko_mem_debug4_cn52xx {
646#ifdef __BIG_ENDIAN_BITFIELD
647 uint64_t curr_siz:8;
648 uint64_t curr_off:16;
649 uint64_t cmnd_segs:6;
650 uint64_t cmnd_siz:16;
651 uint64_t cmnd_off:6;
652 uint64_t uid:2;
653 uint64_t dread_sop:1;
654 uint64_t init_dwrite:1;
655 uint64_t chk_once:1;
656 uint64_t chk_mode:1;
657 uint64_t wait:1;
658 uint64_t minor:2;
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
675 } cn52xx;
676 struct cvmx_pko_mem_debug4_cn52xx cn52xxp1;
677 struct cvmx_pko_mem_debug4_cn52xx cn56xx;
678 struct cvmx_pko_mem_debug4_cn52xx cn56xxp1;
679 struct cvmx_pko_mem_debug4_cn50xx cn58xx;
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;
688};
689
690union cvmx_pko_mem_debug5 {
691 uint64_t u64;
692 struct cvmx_pko_mem_debug5_s {
693#ifdef __BIG_ENDIAN_BITFIELD
694 uint64_t reserved_0_63:64;
695#else
696 uint64_t reserved_0_63:64;
697#endif
698 } s;
699 struct cvmx_pko_mem_debug5_cn30xx {
700#ifdef __BIG_ENDIAN_BITFIELD
701 uint64_t dwri_mod:1;
702 uint64_t dwri_sop:1;
703 uint64_t dwri_len:1;
704 uint64_t dwri_cnt:13;
705 uint64_t cmnd_siz:16;
706 uint64_t uid:1;
707 uint64_t xfer_wor:1;
708 uint64_t xfer_dwr:1;
709 uint64_t cbuf_fre:1;
710 uint64_t reserved_27_27:1;
711 uint64_t chk_mode:1;
712 uint64_t active:1;
713 uint64_t qos:3;
714 uint64_t qcb_ridx:5;
715 uint64_t qid_off:3;
716 uint64_t qid_base:7;
717 uint64_t wait:1;
718 uint64_t minor:2;
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
741 } cn30xx;
742 struct cvmx_pko_mem_debug5_cn30xx cn31xx;
743 struct cvmx_pko_mem_debug5_cn30xx cn38xx;
744 struct cvmx_pko_mem_debug5_cn30xx cn38xxp2;
745 struct cvmx_pko_mem_debug5_cn50xx {
746#ifdef __BIG_ENDIAN_BITFIELD
747 uint64_t curr_ptr:29;
748 uint64_t curr_siz:16;
749 uint64_t curr_off:16;
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
757 } cn50xx;
758 struct cvmx_pko_mem_debug5_cn52xx {
759#ifdef __BIG_ENDIAN_BITFIELD
760 uint64_t reserved_54_63:10;
761 uint64_t nxt_inflt:6;
762 uint64_t curr_ptr:40;
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
770 } cn52xx;
771 struct cvmx_pko_mem_debug5_cn52xx cn52xxp1;
772 struct cvmx_pko_mem_debug5_cn52xx cn56xx;
773 struct cvmx_pko_mem_debug5_cn52xx cn56xxp1;
774 struct cvmx_pko_mem_debug5_cn50xx cn58xx;
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;
817};
818
819union cvmx_pko_mem_debug6 {
820 uint64_t u64;
821 struct cvmx_pko_mem_debug6_s {
822#ifdef __BIG_ENDIAN_BITFIELD
823 uint64_t reserved_37_63:27;
824 uint64_t qid_offres:4;
825 uint64_t qid_offths:4;
826 uint64_t preempter:1;
827 uint64_t preemptee:1;
828 uint64_t preempted:1;
829 uint64_t active:1;
830 uint64_t statc:1;
831 uint64_t qos:3;
832 uint64_t qcb_ridx:5;
833 uint64_t qid_offmax:4;
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
849 } s;
850 struct cvmx_pko_mem_debug6_cn30xx {
851#ifdef __BIG_ENDIAN_BITFIELD
852 uint64_t reserved_11_63:53;
853 uint64_t qid_offm:3;
854 uint64_t static_p:1;
855 uint64_t work_min:3;
856 uint64_t dwri_chk:1;
857 uint64_t dwri_uid:1;
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
868 } cn30xx;
869 struct cvmx_pko_mem_debug6_cn30xx cn31xx;
870 struct cvmx_pko_mem_debug6_cn30xx cn38xx;
871 struct cvmx_pko_mem_debug6_cn30xx cn38xxp2;
872 struct cvmx_pko_mem_debug6_cn50xx {
873#ifdef __BIG_ENDIAN_BITFIELD
874 uint64_t reserved_11_63:53;
875 uint64_t curr_ptr:11;
876#else
877 uint64_t curr_ptr:11;
878 uint64_t reserved_11_63:53;
879#endif
880 } cn50xx;
881 struct cvmx_pko_mem_debug6_cn52xx {
882#ifdef __BIG_ENDIAN_BITFIELD
883 uint64_t reserved_37_63:27;
884 uint64_t qid_offres:4;
885 uint64_t qid_offths:4;
886 uint64_t preempter:1;
887 uint64_t preemptee:1;
888 uint64_t preempted:1;
889 uint64_t active:1;
890 uint64_t statc:1;
891 uint64_t qos:3;
892 uint64_t qcb_ridx:5;
893 uint64_t qid_offmax:4;
894 uint64_t qid_off:4;
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
911 } cn52xx;
912 struct cvmx_pko_mem_debug6_cn52xx cn52xxp1;
913 struct cvmx_pko_mem_debug6_cn52xx cn56xx;
914 struct cvmx_pko_mem_debug6_cn52xx cn56xxp1;
915 struct cvmx_pko_mem_debug6_cn50xx cn58xx;
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;
924};
925
926union cvmx_pko_mem_debug7 {
927 uint64_t u64;
928 struct cvmx_pko_mem_debug7_s {
929#ifdef __BIG_ENDIAN_BITFIELD
930 uint64_t reserved_0_63:64;
931#else
932 uint64_t reserved_0_63:64;
933#endif
934 } s;
935 struct cvmx_pko_mem_debug7_cn30xx {
936#ifdef __BIG_ENDIAN_BITFIELD
937 uint64_t reserved_58_63:6;
938 uint64_t dwb:9;
939 uint64_t start:33;
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
947 } cn30xx;
948 struct cvmx_pko_mem_debug7_cn30xx cn31xx;
949 struct cvmx_pko_mem_debug7_cn30xx cn38xx;
950 struct cvmx_pko_mem_debug7_cn30xx cn38xxp2;
951 struct cvmx_pko_mem_debug7_cn50xx {
952#ifdef __BIG_ENDIAN_BITFIELD
953 uint64_t qos:5;
954 uint64_t tail:1;
955 uint64_t buf_siz:13;
956 uint64_t buf_ptr:33;
957 uint64_t qcb_widx: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
967 } cn50xx;
968 struct cvmx_pko_mem_debug7_cn50xx cn52xx;
969 struct cvmx_pko_mem_debug7_cn50xx cn52xxp1;
970 struct cvmx_pko_mem_debug7_cn50xx cn56xx;
971 struct cvmx_pko_mem_debug7_cn50xx cn56xxp1;
972 struct cvmx_pko_mem_debug7_cn50xx cn58xx;
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;
997};
998
999union cvmx_pko_mem_debug8 {
1000 uint64_t u64;
1001 struct cvmx_pko_mem_debug8_s {
1002#ifdef __BIG_ENDIAN_BITFIELD
1003 uint64_t reserved_59_63:5;
1004 uint64_t tail:1;
1005 uint64_t buf_siz:13;
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
1013 } s;
1014 struct cvmx_pko_mem_debug8_cn30xx {
1015#ifdef __BIG_ENDIAN_BITFIELD
1016 uint64_t qos:5;
1017 uint64_t tail:1;
1018 uint64_t buf_siz:13;
1019 uint64_t buf_ptr:33;
1020 uint64_t qcb_widx: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
1030 } cn30xx;
1031 struct cvmx_pko_mem_debug8_cn30xx cn31xx;
1032 struct cvmx_pko_mem_debug8_cn30xx cn38xx;
1033 struct cvmx_pko_mem_debug8_cn30xx cn38xxp2;
1034 struct cvmx_pko_mem_debug8_cn50xx {
1035#ifdef __BIG_ENDIAN_BITFIELD
1036 uint64_t reserved_28_63:36;
1037 uint64_t doorbell:20;
1038 uint64_t reserved_6_7:2;
1039 uint64_t static_p:1;
1040 uint64_t s_tail:1;
1041 uint64_t static_q:1;
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
1052 } cn50xx;
1053 struct cvmx_pko_mem_debug8_cn52xx {
1054#ifdef __BIG_ENDIAN_BITFIELD
1055 uint64_t reserved_29_63:35;
1056 uint64_t preempter:1;
1057 uint64_t doorbell:20;
1058 uint64_t reserved_7_7:1;
1059 uint64_t preemptee:1;
1060 uint64_t static_p:1;
1061 uint64_t s_tail:1;
1062 uint64_t static_q:1;
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
1075 } cn52xx;
1076 struct cvmx_pko_mem_debug8_cn52xx cn52xxp1;
1077 struct cvmx_pko_mem_debug8_cn52xx cn56xx;
1078 struct cvmx_pko_mem_debug8_cn52xx cn56xxp1;
1079 struct cvmx_pko_mem_debug8_cn50xx cn58xx;
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;
1138};
1139
1140union cvmx_pko_mem_debug9 {
1141 uint64_t u64;
1142 struct cvmx_pko_mem_debug9_s {
1143#ifdef __BIG_ENDIAN_BITFIELD
1144 uint64_t reserved_49_63:15;
1145 uint64_t ptrs0:17;
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
1152 } s;
1153 struct cvmx_pko_mem_debug9_cn30xx {
1154#ifdef __BIG_ENDIAN_BITFIELD
1155 uint64_t reserved_28_63:36;
1156 uint64_t doorbell:20;
1157 uint64_t reserved_5_7:3;
1158 uint64_t s_tail:1;
1159 uint64_t static_q:1;
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
1169 } cn30xx;
1170 struct cvmx_pko_mem_debug9_cn30xx cn31xx;
1171 struct cvmx_pko_mem_debug9_cn38xx {
1172#ifdef __BIG_ENDIAN_BITFIELD
1173 uint64_t reserved_28_63:36;
1174 uint64_t doorbell:20;
1175 uint64_t reserved_6_7:2;
1176 uint64_t static_p:1;
1177 uint64_t s_tail:1;
1178 uint64_t static_q:1;
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
1189 } cn38xx;
1190 struct cvmx_pko_mem_debug9_cn38xx cn38xxp2;
1191 struct cvmx_pko_mem_debug9_cn50xx {
1192#ifdef __BIG_ENDIAN_BITFIELD
1193 uint64_t reserved_49_63:15;
1194 uint64_t ptrs0:17;
1195 uint64_t reserved_17_31:15;
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
1203 } cn50xx;
1204 struct cvmx_pko_mem_debug9_cn50xx cn52xx;
1205 struct cvmx_pko_mem_debug9_cn50xx cn52xxp1;
1206 struct cvmx_pko_mem_debug9_cn50xx cn56xx;
1207 struct cvmx_pko_mem_debug9_cn50xx cn56xxp1;
1208 struct cvmx_pko_mem_debug9_cn50xx cn58xx;
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;
1329};
1330
1331union cvmx_pko_mem_port_ptrs {
1332 uint64_t u64;
1333 struct cvmx_pko_mem_port_ptrs_s {
1334#ifdef __BIG_ENDIAN_BITFIELD
1335 uint64_t reserved_62_63:2;
1336 uint64_t static_p:1;
1337 uint64_t qos_mask:8;
1338 uint64_t reserved_16_52:37;
1339 uint64_t bp_port:6;
1340 uint64_t eid:4;
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
1351 } s;
1352 struct cvmx_pko_mem_port_ptrs_s cn52xx;
1353 struct cvmx_pko_mem_port_ptrs_s cn52xxp1;
1354 struct cvmx_pko_mem_port_ptrs_s cn56xx;
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;
1361};
1362
1363union cvmx_pko_mem_port_qos {
1364 uint64_t u64;
1365 struct cvmx_pko_mem_port_qos_s {
1366#ifdef __BIG_ENDIAN_BITFIELD
1367 uint64_t reserved_61_63:3;
1368 uint64_t qos_mask:8;
1369 uint64_t reserved_10_52:43;
1370 uint64_t eid:4;
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
1379 } s;
1380 struct cvmx_pko_mem_port_qos_s cn52xx;
1381 struct cvmx_pko_mem_port_qos_s cn52xxp1;
1382 struct cvmx_pko_mem_port_qos_s cn56xx;
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;
1389};
1390
1391union cvmx_pko_mem_port_rate0 {
1392 uint64_t u64;
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
1410 uint64_t reserved_51_63:13;
1411 uint64_t rate_word:19;
1412 uint64_t rate_pkt:24;
1413 uint64_t reserved_6_7:2;
1414 uint64_t pid:6;
1415#else
1416 uint64_t pid:6;
1417 uint64_t reserved_6_7:2;
1418 uint64_t rate_pkt:24;
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;
1433};
1434
1435union cvmx_pko_mem_port_rate1 {
1436 uint64_t u64;
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
1452 uint64_t reserved_32_63:32;
1453 uint64_t rate_lim:24;
1454 uint64_t reserved_6_7:2;
1455 uint64_t pid:6;
1456#else
1457 uint64_t pid:6;
1458 uint64_t reserved_6_7:2;
1459 uint64_t rate_lim:24;
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;
1473};
1474
1475union cvmx_pko_mem_queue_ptrs {
1476 uint64_t u64;
1477 struct cvmx_pko_mem_queue_ptrs_s {
1478#ifdef __BIG_ENDIAN_BITFIELD
1479 uint64_t s_tail:1;
1480 uint64_t static_p:1;
1481 uint64_t static_q:1;
1482 uint64_t qos_mask:8;
1483 uint64_t buf_ptr:36;
1484 uint64_t tail:1;
1485 uint64_t index:3;
1486 uint64_t port:6;
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
1499 } s;
1500 struct cvmx_pko_mem_queue_ptrs_s cn30xx;
1501 struct cvmx_pko_mem_queue_ptrs_s cn31xx;
1502 struct cvmx_pko_mem_queue_ptrs_s cn38xx;
1503 struct cvmx_pko_mem_queue_ptrs_s cn38xxp2;
1504 struct cvmx_pko_mem_queue_ptrs_s cn50xx;
1505 struct cvmx_pko_mem_queue_ptrs_s cn52xx;
1506 struct cvmx_pko_mem_queue_ptrs_s cn52xxp1;
1507 struct cvmx_pko_mem_queue_ptrs_s cn56xx;
1508 struct cvmx_pko_mem_queue_ptrs_s cn56xxp1;
1509 struct cvmx_pko_mem_queue_ptrs_s cn58xx;
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;
1516};
1517
1518union cvmx_pko_mem_queue_qos {
1519 uint64_t u64;
1520 struct cvmx_pko_mem_queue_qos_s {
1521#ifdef __BIG_ENDIAN_BITFIELD
1522 uint64_t reserved_61_63:3;
1523 uint64_t qos_mask:8;
1524 uint64_t reserved_13_52:40;
1525 uint64_t pid:6;
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
1534 } s;
1535 struct cvmx_pko_mem_queue_qos_s cn30xx;
1536 struct cvmx_pko_mem_queue_qos_s cn31xx;
1537 struct cvmx_pko_mem_queue_qos_s cn38xx;
1538 struct cvmx_pko_mem_queue_qos_s cn38xxp2;
1539 struct cvmx_pko_mem_queue_qos_s cn50xx;
1540 struct cvmx_pko_mem_queue_qos_s cn52xx;
1541 struct cvmx_pko_mem_queue_qos_s cn52xxp1;
1542 struct cvmx_pko_mem_queue_qos_s cn56xx;
1543 struct cvmx_pko_mem_queue_qos_s cn56xxp1;
1544 struct cvmx_pko_mem_queue_qos_s cn58xx;
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;
1597};
1598
1599union cvmx_pko_reg_bist_result {
1600 uint64_t u64;
1601 struct cvmx_pko_reg_bist_result_s {
1602#ifdef __BIG_ENDIAN_BITFIELD
1603 uint64_t reserved_0_63:64;
1604#else
1605 uint64_t reserved_0_63:64;
1606#endif
1607 } s;
1608 struct cvmx_pko_reg_bist_result_cn30xx {
1609#ifdef __BIG_ENDIAN_BITFIELD
1610 uint64_t reserved_27_63:37;
1611 uint64_t psb2:5;
1612 uint64_t count:1;
1613 uint64_t rif:1;
1614 uint64_t wif:1;
1615 uint64_t ncb:1;
1616 uint64_t out:1;
1617 uint64_t crc:1;
1618 uint64_t chk:1;
1619 uint64_t qsb:2;
1620 uint64_t qcb:2;
1621 uint64_t pdb:4;
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
1638 } cn30xx;
1639 struct cvmx_pko_reg_bist_result_cn30xx cn31xx;
1640 struct cvmx_pko_reg_bist_result_cn30xx cn38xx;
1641 struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2;
1642 struct cvmx_pko_reg_bist_result_cn50xx {
1643#ifdef __BIG_ENDIAN_BITFIELD
1644 uint64_t reserved_33_63:31;
1645 uint64_t csr:1;
1646 uint64_t iob:1;
1647 uint64_t out_crc:1;
1648 uint64_t out_ctl:3;
1649 uint64_t out_sta:1;
1650 uint64_t out_wif:1;
1651 uint64_t prt_chk:3;
1652 uint64_t prt_nxt:1;
1653 uint64_t prt_psb:6;
1654 uint64_t ncb_inb:2;
1655 uint64_t prt_qcb:2;
1656 uint64_t prt_qsb:3;
1657 uint64_t dat_dat: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
1676 } cn50xx;
1677 struct cvmx_pko_reg_bist_result_cn52xx {
1678#ifdef __BIG_ENDIAN_BITFIELD
1679 uint64_t reserved_35_63:29;
1680 uint64_t csr:1;
1681 uint64_t iob:1;
1682 uint64_t out_dat:1;
1683 uint64_t out_ctl:3;
1684 uint64_t out_sta:1;
1685 uint64_t out_wif:1;
1686 uint64_t prt_chk:3;
1687 uint64_t prt_nxt:1;
1688 uint64_t prt_psb:8;
1689 uint64_t ncb_inb:2;
1690 uint64_t prt_qcb:2;
1691 uint64_t prt_qsb:3;
1692 uint64_t prt_ctl:2;
1693 uint64_t dat_dat:2;
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
1713 } cn52xx;
1714 struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1;
1715 struct cvmx_pko_reg_bist_result_cn52xx cn56xx;
1716 struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1;
1717 struct cvmx_pko_reg_bist_result_cn50xx cn58xx;
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;
1812};
1813
1814union cvmx_pko_reg_cmd_buf {
1815 uint64_t u64;
1816 struct cvmx_pko_reg_cmd_buf_s {
1817#ifdef __BIG_ENDIAN_BITFIELD
1818 uint64_t reserved_23_63:41;
1819 uint64_t pool:3;
1820 uint64_t reserved_13_19:7;
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
1828 } s;
1829 struct cvmx_pko_reg_cmd_buf_s cn30xx;
1830 struct cvmx_pko_reg_cmd_buf_s cn31xx;
1831 struct cvmx_pko_reg_cmd_buf_s cn38xx;
1832 struct cvmx_pko_reg_cmd_buf_s cn38xxp2;
1833 struct cvmx_pko_reg_cmd_buf_s cn50xx;
1834 struct cvmx_pko_reg_cmd_buf_s cn52xx;
1835 struct cvmx_pko_reg_cmd_buf_s cn52xxp1;
1836 struct cvmx_pko_reg_cmd_buf_s cn56xx;
1837 struct cvmx_pko_reg_cmd_buf_s cn56xxp1;
1838 struct cvmx_pko_reg_cmd_buf_s cn58xx;
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;
1847};
1848
1849union cvmx_pko_reg_crc_ctlx {
1850 uint64_t u64;
1851 struct cvmx_pko_reg_crc_ctlx_s {
1852#ifdef __BIG_ENDIAN_BITFIELD
1853 uint64_t reserved_2_63:62;
1854 uint64_t invres: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
1861 } s;
1862 struct cvmx_pko_reg_crc_ctlx_s cn38xx;
1863 struct cvmx_pko_reg_crc_ctlx_s cn38xxp2;
1864 struct cvmx_pko_reg_crc_ctlx_s cn58xx;
1865 struct cvmx_pko_reg_crc_ctlx_s cn58xxp1;
1866};
1867
1868union cvmx_pko_reg_crc_enable {
1869 uint64_t u64;
1870 struct cvmx_pko_reg_crc_enable_s {
1871#ifdef __BIG_ENDIAN_BITFIELD
1872 uint64_t reserved_32_63:32;
1873 uint64_t enable:32;
1874#else
1875 uint64_t enable:32;
1876 uint64_t reserved_32_63:32;
1877#endif
1878 } s;
1879 struct cvmx_pko_reg_crc_enable_s cn38xx;
1880 struct cvmx_pko_reg_crc_enable_s cn38xxp2;
1881 struct cvmx_pko_reg_crc_enable_s cn58xx;
1882 struct cvmx_pko_reg_crc_enable_s cn58xxp1;
1883};
1884
1885union cvmx_pko_reg_crc_ivx {
1886 uint64_t u64;
1887 struct cvmx_pko_reg_crc_ivx_s {
1888#ifdef __BIG_ENDIAN_BITFIELD
1889 uint64_t reserved_32_63:32;
1890 uint64_t iv:32;
1891#else
1892 uint64_t iv:32;
1893 uint64_t reserved_32_63:32;
1894#endif
1895 } s;
1896 struct cvmx_pko_reg_crc_ivx_s cn38xx;
1897 struct cvmx_pko_reg_crc_ivx_s cn38xxp2;
1898 struct cvmx_pko_reg_crc_ivx_s cn58xx;
1899 struct cvmx_pko_reg_crc_ivx_s cn58xxp1;
1900};
1901
1902union cvmx_pko_reg_debug0 {
1903 uint64_t u64;
1904 struct cvmx_pko_reg_debug0_s {
1905#ifdef __BIG_ENDIAN_BITFIELD
1906 uint64_t asserts:64;
1907#else
1908 uint64_t asserts:64;
1909#endif
1910 } s;
1911 struct cvmx_pko_reg_debug0_cn30xx {
1912#ifdef __BIG_ENDIAN_BITFIELD
1913 uint64_t reserved_17_63:47;
1914 uint64_t asserts:17;
1915#else
1916 uint64_t asserts:17;
1917 uint64_t reserved_17_63:47;
1918#endif
1919 } cn30xx;
1920 struct cvmx_pko_reg_debug0_cn30xx cn31xx;
1921 struct cvmx_pko_reg_debug0_cn30xx cn38xx;
1922 struct cvmx_pko_reg_debug0_cn30xx cn38xxp2;
1923 struct cvmx_pko_reg_debug0_s cn50xx;
1924 struct cvmx_pko_reg_debug0_s cn52xx;
1925 struct cvmx_pko_reg_debug0_s cn52xxp1;
1926 struct cvmx_pko_reg_debug0_s cn56xx;
1927 struct cvmx_pko_reg_debug0_s cn56xxp1;
1928 struct cvmx_pko_reg_debug0_s cn58xx;
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;
1937};
1938
1939union cvmx_pko_reg_debug1 {
1940 uint64_t u64;
1941 struct cvmx_pko_reg_debug1_s {
1942#ifdef __BIG_ENDIAN_BITFIELD
1943 uint64_t asserts:64;
1944#else
1945 uint64_t asserts:64;
1946#endif
1947 } s;
1948 struct cvmx_pko_reg_debug1_s cn50xx;
1949 struct cvmx_pko_reg_debug1_s cn52xx;
1950 struct cvmx_pko_reg_debug1_s cn52xxp1;
1951 struct cvmx_pko_reg_debug1_s cn56xx;
1952 struct cvmx_pko_reg_debug1_s cn56xxp1;
1953 struct cvmx_pko_reg_debug1_s cn58xx;
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;
1962};
1963
1964union cvmx_pko_reg_debug2 {
1965 uint64_t u64;
1966 struct cvmx_pko_reg_debug2_s {
1967#ifdef __BIG_ENDIAN_BITFIELD
1968 uint64_t asserts:64;
1969#else
1970 uint64_t asserts:64;
1971#endif
1972 } s;
1973 struct cvmx_pko_reg_debug2_s cn50xx;
1974 struct cvmx_pko_reg_debug2_s cn52xx;
1975 struct cvmx_pko_reg_debug2_s cn52xxp1;
1976 struct cvmx_pko_reg_debug2_s cn56xx;
1977 struct cvmx_pko_reg_debug2_s cn56xxp1;
1978 struct cvmx_pko_reg_debug2_s cn58xx;
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;
1987};
1988
1989union cvmx_pko_reg_debug3 {
1990 uint64_t u64;
1991 struct cvmx_pko_reg_debug3_s {
1992#ifdef __BIG_ENDIAN_BITFIELD
1993 uint64_t asserts:64;
1994#else
1995 uint64_t asserts:64;
1996#endif
1997 } s;
1998 struct cvmx_pko_reg_debug3_s cn50xx;
1999 struct cvmx_pko_reg_debug3_s cn52xx;
2000 struct cvmx_pko_reg_debug3_s cn52xxp1;
2001 struct cvmx_pko_reg_debug3_s cn56xx;
2002 struct cvmx_pko_reg_debug3_s cn56xxp1;
2003 struct cvmx_pko_reg_debug3_s cn58xx;
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;
2025};
2026
2027union cvmx_pko_reg_engine_inflight {
2028 uint64_t u64;
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
2068 uint64_t reserved_40_63:24;
2069 uint64_t engine9:4;
2070 uint64_t engine8:4;
2071 uint64_t engine7:4;
2072 uint64_t engine6:4;
2073 uint64_t engine5:4;
2074 uint64_t engine4:4;
2075 uint64_t engine3:4;
2076 uint64_t engine2:4;
2077 uint64_t engine1: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
2185 } s;
2186 struct cvmx_pko_reg_engine_inflight1_s cn68xx;
2187 struct cvmx_pko_reg_engine_inflight1_s cn68xxp1;
2188};
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;
2231};
2232
2233union cvmx_pko_reg_engine_thresh {
2234 uint64_t u64;
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
2246 uint64_t reserved_10_63:54;
2247 uint64_t mask:10;
2248#else
2249 uint64_t mask:10;
2250 uint64_t reserved_10_63:54;
2251#endif
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;
2279};
2280
2281union cvmx_pko_reg_error {
2282 uint64_t u64;
2283 struct cvmx_pko_reg_error_s {
2284#ifdef __BIG_ENDIAN_BITFIELD
2285 uint64_t reserved_4_63:60;
2286 uint64_t loopback:1;
2287 uint64_t currzero:1;
2288 uint64_t doorbell: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
2297 } s;
2298 struct cvmx_pko_reg_error_cn30xx {
2299#ifdef __BIG_ENDIAN_BITFIELD
2300 uint64_t reserved_2_63:62;
2301 uint64_t doorbell: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
2308 } cn30xx;
2309 struct cvmx_pko_reg_error_cn30xx cn31xx;
2310 struct cvmx_pko_reg_error_cn30xx cn38xx;
2311 struct cvmx_pko_reg_error_cn30xx cn38xxp2;
2312 struct cvmx_pko_reg_error_cn50xx {
2313#ifdef __BIG_ENDIAN_BITFIELD
2314 uint64_t reserved_3_63:61;
2315 uint64_t currzero:1;
2316 uint64_t doorbell:1;
2317 uint64_t parity:1;
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;
2338};
2339
2340union cvmx_pko_reg_flags {
2341 uint64_t u64;
2342 struct cvmx_pko_reg_flags_s {
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;
2350 uint64_t reset:1;
2351 uint64_t store_be:1;
2352 uint64_t ena_dwb: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
2366 } s;
2367 struct cvmx_pko_reg_flags_cn30xx {
2368#ifdef __BIG_ENDIAN_BITFIELD
2369 uint64_t reserved_4_63:60;
2370 uint64_t reset:1;
2371 uint64_t store_be:1;
2372 uint64_t ena_dwb:1;
2373 uint64_t ena_pko:1;
2374#else
2375 uint64_t ena_pko:1;
2376 uint64_t ena_dwb:1;
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;
2439};
2440
2441union cvmx_pko_reg_gmx_port_mode {
2442 uint64_t u64;
2443 struct cvmx_pko_reg_gmx_port_mode_s {
2444#ifdef __BIG_ENDIAN_BITFIELD
2445 uint64_t reserved_6_63:58;
2446 uint64_t mode1: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
2453 } s;
2454 struct cvmx_pko_reg_gmx_port_mode_s cn30xx;
2455 struct cvmx_pko_reg_gmx_port_mode_s cn31xx;
2456 struct cvmx_pko_reg_gmx_port_mode_s cn38xx;
2457 struct cvmx_pko_reg_gmx_port_mode_s cn38xxp2;
2458 struct cvmx_pko_reg_gmx_port_mode_s cn50xx;
2459 struct cvmx_pko_reg_gmx_port_mode_s cn52xx;
2460 struct cvmx_pko_reg_gmx_port_mode_s cn52xxp1;
2461 struct cvmx_pko_reg_gmx_port_mode_s cn56xx;
2462 struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1;
2463 struct cvmx_pko_reg_gmx_port_mode_s cn58xx;
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;
2470};
2471
2472union cvmx_pko_reg_int_mask {
2473 uint64_t u64;
2474 struct cvmx_pko_reg_int_mask_s {
2475#ifdef __BIG_ENDIAN_BITFIELD
2476 uint64_t reserved_4_63:60;
2477 uint64_t loopback:1;
2478 uint64_t currzero:1;
2479 uint64_t doorbell: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
2488 } s;
2489 struct cvmx_pko_reg_int_mask_cn30xx {
2490#ifdef __BIG_ENDIAN_BITFIELD
2491 uint64_t reserved_2_63:62;
2492 uint64_t doorbell: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
2499 } cn30xx;
2500 struct cvmx_pko_reg_int_mask_cn30xx cn31xx;
2501 struct cvmx_pko_reg_int_mask_cn30xx cn38xx;
2502 struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2;
2503 struct cvmx_pko_reg_int_mask_cn50xx {
2504#ifdef __BIG_ENDIAN_BITFIELD
2505 uint64_t reserved_3_63:61;
2506 uint64_t currzero:1;
2507 uint64_t doorbell:1;
2508 uint64_t parity:1;
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;
2670};
2671
2672union cvmx_pko_reg_queue_mode {
2673 uint64_t u64;
2674 struct cvmx_pko_reg_queue_mode_s {
2675#ifdef __BIG_ENDIAN_BITFIELD
2676 uint64_t reserved_2_63:62;
2677 uint64_t mode:2;
2678#else
2679 uint64_t mode:2;
2680 uint64_t reserved_2_63:62;
2681#endif
2682 } s;
2683 struct cvmx_pko_reg_queue_mode_s cn30xx;
2684 struct cvmx_pko_reg_queue_mode_s cn31xx;
2685 struct cvmx_pko_reg_queue_mode_s cn38xx;
2686 struct cvmx_pko_reg_queue_mode_s cn38xxp2;
2687 struct cvmx_pko_reg_queue_mode_s cn50xx;
2688 struct cvmx_pko_reg_queue_mode_s cn52xx;
2689 struct cvmx_pko_reg_queue_mode_s cn52xxp1;
2690 struct cvmx_pko_reg_queue_mode_s cn56xx;
2691 struct cvmx_pko_reg_queue_mode_s cn56xxp1;
2692 struct cvmx_pko_reg_queue_mode_s cn58xx;
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;
2727};
2728
2729union cvmx_pko_reg_queue_ptrs1 {
2730 uint64_t u64;
2731 struct cvmx_pko_reg_queue_ptrs1_s {
2732#ifdef __BIG_ENDIAN_BITFIELD
2733 uint64_t reserved_2_63:62;
2734 uint64_t idx3: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
2741 } s;
2742 struct cvmx_pko_reg_queue_ptrs1_s cn50xx;
2743 struct cvmx_pko_reg_queue_ptrs1_s cn52xx;
2744 struct cvmx_pko_reg_queue_ptrs1_s cn52xxp1;
2745 struct cvmx_pko_reg_queue_ptrs1_s cn56xx;
2746 struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1;
2747 struct cvmx_pko_reg_queue_ptrs1_s cn58xx;
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;
2754};
2755
2756union cvmx_pko_reg_read_idx {
2757 uint64_t u64;
2758 struct cvmx_pko_reg_read_idx_s {
2759#ifdef __BIG_ENDIAN_BITFIELD
2760 uint64_t reserved_16_63:48;
2761 uint64_t inc: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
2768 } s;
2769 struct cvmx_pko_reg_read_idx_s cn30xx;
2770 struct cvmx_pko_reg_read_idx_s cn31xx;
2771 struct cvmx_pko_reg_read_idx_s cn38xx;
2772 struct cvmx_pko_reg_read_idx_s cn38xxp2;
2773 struct cvmx_pko_reg_read_idx_s cn50xx;
2774 struct cvmx_pko_reg_read_idx_s cn52xx;
2775 struct cvmx_pko_reg_read_idx_s cn52xxp1;
2776 struct cvmx_pko_reg_read_idx_s cn56xx;
2777 struct cvmx_pko_reg_read_idx_s cn56xxp1;
2778 struct cvmx_pko_reg_read_idx_s cn58xx;
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;
2822};
2823
2824#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pko.h b/arch/mips/include/asm/octeon/cvmx-pko.h
deleted file mode 100644
index c6daeedf1f8..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-pko.h
+++ /dev/null
@@ -1,610 +0,0 @@
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-2008 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/**
29 *
30 * Interface to the hardware Packet Output unit.
31 *
32 * Starting with SDK 1.7.0, the PKO output functions now support
33 * two types of locking. CVMX_PKO_LOCK_ATOMIC_TAG continues to
34 * function similarly to previous SDKs by using POW atomic tags
35 * to preserve ordering and exclusivity. As a new option, you
36 * can now pass CVMX_PKO_LOCK_CMD_QUEUE which uses a ll/sc
37 * memory based locking instead. This locking has the advantage
38 * of not affecting the tag state but doesn't preserve packet
39 * ordering. CVMX_PKO_LOCK_CMD_QUEUE is appropriate in most
40 * generic code while CVMX_PKO_LOCK_CMD_QUEUE should be used
41 * with hand tuned fast path code.
42 *
43 * Some of other SDK differences visible to the command command
44 * queuing:
45 * - PKO indexes are no longer stored in the FAU. A large
46 * percentage of the FAU register block used to be tied up
47 * maintaining PKO queue pointers. These are now stored in a
48 * global named block.
49 * - The PKO <b>use_locking</b> parameter can now have a global
50 * effect. Since all application use the same named block,
51 * queue locking correctly applies across all operating
52 * systems when using CVMX_PKO_LOCK_CMD_QUEUE.
53 * - PKO 3 word commands are now supported. Use
54 * cvmx_pko_send_packet_finish3().
55 *
56 */
57
58#ifndef __CVMX_PKO_H__
59#define __CVMX_PKO_H__
60
61#include <asm/octeon/cvmx-fpa.h>
62#include <asm/octeon/cvmx-pow.h>
63#include <asm/octeon/cvmx-cmd-queue.h>
64#include <asm/octeon/cvmx-pko-defs.h>
65
66/* Adjust the command buffer size by 1 word so that in the case of using only
67 * two word PKO commands no command words stradle buffers. The useful values
68 * for this are 0 and 1. */
69#define CVMX_PKO_COMMAND_BUFFER_SIZE_ADJUST (1)
70
71#define CVMX_PKO_MAX_OUTPUT_QUEUES_STATIC 256
72#define CVMX_PKO_MAX_OUTPUT_QUEUES ((OCTEON_IS_MODEL(OCTEON_CN31XX) || \
73 OCTEON_IS_MODEL(OCTEON_CN3010) || OCTEON_IS_MODEL(OCTEON_CN3005) || \
74 OCTEON_IS_MODEL(OCTEON_CN50XX)) ? 32 : \
75 (OCTEON_IS_MODEL(OCTEON_CN58XX) || \
76 OCTEON_IS_MODEL(OCTEON_CN56XX)) ? 256 : 128)
77#define CVMX_PKO_NUM_OUTPUT_PORTS 40
78/* use this for queues that are not used */
79#define CVMX_PKO_MEM_QUEUE_PTRS_ILLEGAL_PID 63
80#define CVMX_PKO_QUEUE_STATIC_PRIORITY 9
81#define CVMX_PKO_ILLEGAL_QUEUE 0xFFFF
82#define CVMX_PKO_MAX_QUEUE_DEPTH 0
83
84typedef enum {
85 CVMX_PKO_SUCCESS,
86 CVMX_PKO_INVALID_PORT,
87 CVMX_PKO_INVALID_QUEUE,
88 CVMX_PKO_INVALID_PRIORITY,
89 CVMX_PKO_NO_MEMORY,
90 CVMX_PKO_PORT_ALREADY_SETUP,
91 CVMX_PKO_CMD_QUEUE_INIT_ERROR
92} cvmx_pko_status_t;
93
94/**
95 * This enumeration represents the differnet locking modes supported by PKO.
96 */
97typedef enum {
98 /*
99 * PKO doesn't do any locking. It is the responsibility of the
100 * application to make sure that no other core is accessing
101 * the same queue at the same time
102 */
103 CVMX_PKO_LOCK_NONE = 0,
104 /*
105 * PKO performs an atomic tagswitch to insure exclusive access
106 * to the output queue. This will maintain packet ordering on
107 * output.
108 */
109 CVMX_PKO_LOCK_ATOMIC_TAG = 1,
110 /*
111 * PKO uses the common command queue locks to insure exclusive
112 * access to the output queue. This is a memory based
113 * ll/sc. This is the most portable locking mechanism.
114 */
115 CVMX_PKO_LOCK_CMD_QUEUE = 2,
116} cvmx_pko_lock_t;
117
118typedef struct {
119 uint32_t packets;
120 uint64_t octets;
121 uint64_t doorbell;
122} cvmx_pko_port_status_t;
123
124/**
125 * This structure defines the address to use on a packet enqueue
126 */
127typedef union {
128 uint64_t u64;
129 struct {
130 /* Must CVMX_IO_SEG */
131 uint64_t mem_space:2;
132 /* Must be zero */
133 uint64_t reserved:13;
134 /* Must be one */
135 uint64_t is_io:1;
136 /* The ID of the device on the non-coherent bus */
137 uint64_t did:8;
138 /* Must be zero */
139 uint64_t reserved2:4;
140 /* Must be zero */
141 uint64_t reserved3:18;
142 /*
143 * The hardware likes to have the output port in
144 * addition to the output queue,
145 */
146 uint64_t port:6;
147 /*
148 * The output queue to send the packet to (0-127 are
149 * legal)
150 */
151 uint64_t queue:9;
152 /* Must be zero */
153 uint64_t reserved4:3;
154 } s;
155} cvmx_pko_doorbell_address_t;
156
157/**
158 * Structure of the first packet output command word.
159 */
160typedef union {
161 uint64_t u64;
162 struct {
163 /*
164 * The size of the reg1 operation - could be 8, 16,
165 * 32, or 64 bits.
166 */
167 uint64_t size1:2;
168 /*
169 * The size of the reg0 operation - could be 8, 16,
170 * 32, or 64 bits.
171 */
172 uint64_t size0:2;
173 /*
174 * If set, subtract 1, if clear, subtract packet
175 * size.
176 */
177 uint64_t subone1:1;
178 /*
179 * The register, subtract will be done if reg1 is
180 * non-zero.
181 */
182 uint64_t reg1:11;
183 /* If set, subtract 1, if clear, subtract packet size */
184 uint64_t subone0:1;
185 /* The register, subtract will be done if reg0 is non-zero */
186 uint64_t reg0:11;
187 /*
188 * When set, interpret segment pointer and segment
189 * bytes in little endian order.
190 */
191 uint64_t le:1;
192 /*
193 * When set, packet data not allocated in L2 cache by
194 * PKO.
195 */
196 uint64_t n2:1;
197 /*
198 * If set and rsp is set, word3 contains a pointer to
199 * a work queue entry.
200 */
201 uint64_t wqp:1;
202 /* If set, the hardware will send a response when done */
203 uint64_t rsp:1;
204 /*
205 * If set, the supplied pkt_ptr is really a pointer to
206 * a list of pkt_ptr's.
207 */
208 uint64_t gather:1;
209 /*
210 * If ipoffp1 is non zero, (ipoffp1-1) is the number
211 * of bytes to IP header, and the hardware will
212 * calculate and insert the UDP/TCP checksum.
213 */
214 uint64_t ipoffp1:7;
215 /*
216 * If set, ignore the I bit (force to zero) from all
217 * pointer structures.
218 */
219 uint64_t ignore_i:1;
220 /*
221 * If clear, the hardware will attempt to free the
222 * buffers containing the packet.
223 */
224 uint64_t dontfree:1;
225 /*
226 * The total number of segs in the packet, if gather
227 * set, also gather list length.
228 */
229 uint64_t segs:6;
230 /* Including L2, but no trailing CRC */
231 uint64_t total_bytes:16;
232 } s;
233} cvmx_pko_command_word0_t;
234
235/* CSR typedefs have been moved to cvmx-csr-*.h */
236
237/**
238 * Definition of internal state for Packet output processing
239 */
240typedef struct {
241 /* ptr to start of buffer, offset kept in FAU reg */
242 uint64_t *start_ptr;
243} cvmx_pko_state_elem_t;
244
245/**
246 * Call before any other calls to initialize the packet
247 * output system.
248 */
249extern void cvmx_pko_initialize_global(void);
250extern int cvmx_pko_initialize_local(void);
251
252/**
253 * Enables the packet output hardware. It must already be
254 * configured.
255 */
256extern void cvmx_pko_enable(void);
257
258/**
259 * Disables the packet output. Does not affect any configuration.
260 */
261extern void cvmx_pko_disable(void);
262
263/**
264 * Shutdown and free resources required by packet output.
265 */
266
267extern void cvmx_pko_shutdown(void);
268
269/**
270 * Configure a output port and the associated queues for use.
271 *
272 * @port: Port to configure.
273 * @base_queue: First queue number to associate with this port.
274 * @num_queues: Number of queues t oassociate with this port
275 * @priority: Array of priority levels for each queue. Values are
276 * allowed to be 1-8. A value of 8 get 8 times the traffic
277 * of a value of 1. There must be num_queues elements in the
278 * array.
279 */
280extern cvmx_pko_status_t cvmx_pko_config_port(uint64_t port,
281 uint64_t base_queue,
282 uint64_t num_queues,
283 const uint64_t priority[]);
284
285/**
286 * Ring the packet output doorbell. This tells the packet
287 * output hardware that "len" command words have been added
288 * to its pending list. This command includes the required
289 * CVMX_SYNCWS before the doorbell ring.
290 *
291 * @port: Port the packet is for
292 * @queue: Queue the packet is for
293 * @len: Length of the command in 64 bit words
294 */
295static inline void cvmx_pko_doorbell(uint64_t port, uint64_t queue,
296 uint64_t len)
297{
298 cvmx_pko_doorbell_address_t ptr;
299
300 ptr.u64 = 0;
301 ptr.s.mem_space = CVMX_IO_SEG;
302 ptr.s.did = CVMX_OCT_DID_PKT_SEND;
303 ptr.s.is_io = 1;
304 ptr.s.port = port;
305 ptr.s.queue = queue;
306 /*
307 * Need to make sure output queue data is in DRAM before
308 * doorbell write.
309 */
310 CVMX_SYNCWS;
311 cvmx_write_io(ptr.u64, len);
312}
313
314/**
315 * Prepare to send a packet. This may initiate a tag switch to
316 * get exclusive access to the output queue structure, and
317 * performs other prep work for the packet send operation.
318 *
319 * cvmx_pko_send_packet_finish() MUST be called after this function is called,
320 * and must be called with the same port/queue/use_locking arguments.
321 *
322 * The use_locking parameter allows the caller to use three
323 * possible locking modes.
324 * - CVMX_PKO_LOCK_NONE
325 * - PKO doesn't do any locking. It is the responsibility
326 * of the application to make sure that no other core
327 * is accessing the same queue at the same time.
328 * - CVMX_PKO_LOCK_ATOMIC_TAG
329 * - PKO performs an atomic tagswitch to insure exclusive
330 * access to the output queue. This will maintain
331 * packet ordering on output.
332 * - CVMX_PKO_LOCK_CMD_QUEUE
333 * - PKO uses the common command queue locks to insure
334 * exclusive access to the output queue. This is a
335 * memory based ll/sc. This is the most portable
336 * locking mechanism.
337 *
338 * NOTE: If atomic locking is used, the POW entry CANNOT be
339 * descheduled, as it does not contain a valid WQE pointer.
340 *
341 * @port: Port to send it on
342 * @queue: Queue to use
343 * @use_locking: CVMX_PKO_LOCK_NONE, CVMX_PKO_LOCK_ATOMIC_TAG, or
344 * CVMX_PKO_LOCK_CMD_QUEUE
345 */
346
347static inline void cvmx_pko_send_packet_prepare(uint64_t port, uint64_t queue,
348 cvmx_pko_lock_t use_locking)
349{
350 if (use_locking == CVMX_PKO_LOCK_ATOMIC_TAG) {
351 /*
352 * Must do a full switch here to handle all cases. We
353 * use a fake WQE pointer, as the POW does not access
354 * this memory. The WQE pointer and group are only
355 * used if this work is descheduled, which is not
356 * supported by the
357 * cvmx_pko_send_packet_prepare/cvmx_pko_send_packet_finish
358 * combination. Note that this is a special case in
359 * which these fake values can be used - this is not a
360 * general technique.
361 */
362 uint32_t tag =
363 CVMX_TAG_SW_BITS_INTERNAL << CVMX_TAG_SW_SHIFT |
364 CVMX_TAG_SUBGROUP_PKO << CVMX_TAG_SUBGROUP_SHIFT |
365 (CVMX_TAG_SUBGROUP_MASK & queue);
366 cvmx_pow_tag_sw_full((cvmx_wqe_t *) cvmx_phys_to_ptr(0x80), tag,
367 CVMX_POW_TAG_TYPE_ATOMIC, 0);
368 }
369}
370
371/**
372 * Complete packet output. cvmx_pko_send_packet_prepare() must be
373 * called exactly once before this, and the same parameters must be
374 * passed to both cvmx_pko_send_packet_prepare() and
375 * cvmx_pko_send_packet_finish().
376 *
377 * @port: Port to send it on
378 * @queue: Queue to use
379 * @pko_command:
380 * PKO HW command word
381 * @packet: Packet to send
382 * @use_locking: CVMX_PKO_LOCK_NONE, CVMX_PKO_LOCK_ATOMIC_TAG, or
383 * CVMX_PKO_LOCK_CMD_QUEUE
384 *
385 * Returns returns CVMX_PKO_SUCCESS on success, or error code on
386 * failure of output
387 */
388static inline cvmx_pko_status_t cvmx_pko_send_packet_finish(
389 uint64_t port,
390 uint64_t queue,
391 cvmx_pko_command_word0_t pko_command,
392 union cvmx_buf_ptr packet,
393 cvmx_pko_lock_t use_locking)
394{
395 cvmx_cmd_queue_result_t result;
396 if (use_locking == CVMX_PKO_LOCK_ATOMIC_TAG)
397 cvmx_pow_tag_sw_wait();
398 result = cvmx_cmd_queue_write2(CVMX_CMD_QUEUE_PKO(queue),
399 (use_locking == CVMX_PKO_LOCK_CMD_QUEUE),
400 pko_command.u64, packet.u64);
401 if (likely(result == CVMX_CMD_QUEUE_SUCCESS)) {
402 cvmx_pko_doorbell(port, queue, 2);
403 return CVMX_PKO_SUCCESS;
404 } else if ((result == CVMX_CMD_QUEUE_NO_MEMORY)
405 || (result == CVMX_CMD_QUEUE_FULL)) {
406 return CVMX_PKO_NO_MEMORY;
407 } else {
408 return CVMX_PKO_INVALID_QUEUE;
409 }
410}
411
412/**
413 * Complete packet output. cvmx_pko_send_packet_prepare() must be
414 * called exactly once before this, and the same parameters must be
415 * passed to both cvmx_pko_send_packet_prepare() and
416 * cvmx_pko_send_packet_finish().
417 *
418 * @port: Port to send it on
419 * @queue: Queue to use
420 * @pko_command:
421 * PKO HW command word
422 * @packet: Packet to send
423 * @addr: Plysical address of a work queue entry or physical address
424 * to zero on complete.
425 * @use_locking: CVMX_PKO_LOCK_NONE, CVMX_PKO_LOCK_ATOMIC_TAG, or
426 * CVMX_PKO_LOCK_CMD_QUEUE
427 *
428 * Returns returns CVMX_PKO_SUCCESS on success, or error code on
429 * failure of output
430 */
431static inline cvmx_pko_status_t cvmx_pko_send_packet_finish3(
432 uint64_t port,
433 uint64_t queue,
434 cvmx_pko_command_word0_t pko_command,
435 union cvmx_buf_ptr packet,
436 uint64_t addr,
437 cvmx_pko_lock_t use_locking)
438{
439 cvmx_cmd_queue_result_t result;
440 if (use_locking == CVMX_PKO_LOCK_ATOMIC_TAG)
441 cvmx_pow_tag_sw_wait();
442 result = cvmx_cmd_queue_write3(CVMX_CMD_QUEUE_PKO(queue),
443 (use_locking == CVMX_PKO_LOCK_CMD_QUEUE),
444 pko_command.u64, packet.u64, addr);
445 if (likely(result == CVMX_CMD_QUEUE_SUCCESS)) {
446 cvmx_pko_doorbell(port, queue, 3);
447 return CVMX_PKO_SUCCESS;
448 } else if ((result == CVMX_CMD_QUEUE_NO_MEMORY)
449 || (result == CVMX_CMD_QUEUE_FULL)) {
450 return CVMX_PKO_NO_MEMORY;
451 } else {
452 return CVMX_PKO_INVALID_QUEUE;
453 }
454}
455
456/**
457 * Return the pko output queue associated with a port and a specific core.
458 * In normal mode (PKO lockless operation is disabled), the value returned
459 * is the base queue.
460 *
461 * @port: Port number
462 * @core: Core to get queue for
463 *
464 * Returns Core-specific output queue
465 */
466static inline int cvmx_pko_get_base_queue_per_core(int port, int core)
467{
468#ifndef CVMX_HELPER_PKO_MAX_PORTS_INTERFACE0
469#define CVMX_HELPER_PKO_MAX_PORTS_INTERFACE0 16
470#endif
471#ifndef CVMX_HELPER_PKO_MAX_PORTS_INTERFACE1
472#define CVMX_HELPER_PKO_MAX_PORTS_INTERFACE1 16
473#endif
474
475 if (port < CVMX_PKO_MAX_PORTS_INTERFACE0)
476 return port * CVMX_PKO_QUEUES_PER_PORT_INTERFACE0 + core;
477 else if (port >= 16 && port < 16 + CVMX_PKO_MAX_PORTS_INTERFACE1)
478 return CVMX_PKO_MAX_PORTS_INTERFACE0 *
479 CVMX_PKO_QUEUES_PER_PORT_INTERFACE0 + (port -
480 16) *
481 CVMX_PKO_QUEUES_PER_PORT_INTERFACE1 + core;
482 else if ((port >= 32) && (port < 36))
483 return CVMX_PKO_MAX_PORTS_INTERFACE0 *
484 CVMX_PKO_QUEUES_PER_PORT_INTERFACE0 +
485 CVMX_PKO_MAX_PORTS_INTERFACE1 *
486 CVMX_PKO_QUEUES_PER_PORT_INTERFACE1 + (port -
487 32) *
488 CVMX_PKO_QUEUES_PER_PORT_PCI;
489 else if ((port >= 36) && (port < 40))
490 return CVMX_PKO_MAX_PORTS_INTERFACE0 *
491 CVMX_PKO_QUEUES_PER_PORT_INTERFACE0 +
492 CVMX_PKO_MAX_PORTS_INTERFACE1 *
493 CVMX_PKO_QUEUES_PER_PORT_INTERFACE1 +
494 4 * CVMX_PKO_QUEUES_PER_PORT_PCI + (port -
495 36) *
496 CVMX_PKO_QUEUES_PER_PORT_LOOP;
497 else
498 /* Given the limit on the number of ports we can map to
499 * CVMX_MAX_OUTPUT_QUEUES_STATIC queues (currently 256,
500 * divided among all cores), the remaining unmapped ports
501 * are assigned an illegal queue number */
502 return CVMX_PKO_ILLEGAL_QUEUE;
503}
504
505/**
506 * For a given port number, return the base pko output queue
507 * for the port.
508 *
509 * @port: Port number
510 * Returns Base output queue
511 */
512static inline int cvmx_pko_get_base_queue(int port)
513{
514 return cvmx_pko_get_base_queue_per_core(port, 0);
515}
516
517/**
518 * For a given port number, return the number of pko output queues.
519 *
520 * @port: Port number
521 * Returns Number of output queues
522 */
523static inline int cvmx_pko_get_num_queues(int port)
524{
525 if (port < 16)
526 return CVMX_PKO_QUEUES_PER_PORT_INTERFACE0;
527 else if (port < 32)
528 return CVMX_PKO_QUEUES_PER_PORT_INTERFACE1;
529 else if (port < 36)
530 return CVMX_PKO_QUEUES_PER_PORT_PCI;
531 else if (port < 40)
532 return CVMX_PKO_QUEUES_PER_PORT_LOOP;
533 else
534 return 0;
535}
536
537/**
538 * Get the status counters for a port.
539 *
540 * @port_num: Port number to get statistics for.
541 * @clear: Set to 1 to clear the counters after they are read
542 * @status: Where to put the results.
543 */
544static inline void cvmx_pko_get_port_status(uint64_t port_num, uint64_t clear,
545 cvmx_pko_port_status_t *status)
546{
547 union cvmx_pko_reg_read_idx pko_reg_read_idx;
548 union cvmx_pko_mem_count0 pko_mem_count0;
549 union cvmx_pko_mem_count1 pko_mem_count1;
550
551 pko_reg_read_idx.u64 = 0;
552 pko_reg_read_idx.s.index = port_num;
553 cvmx_write_csr(CVMX_PKO_REG_READ_IDX, pko_reg_read_idx.u64);
554
555 pko_mem_count0.u64 = cvmx_read_csr(CVMX_PKO_MEM_COUNT0);
556 status->packets = pko_mem_count0.s.count;
557 if (clear) {
558 pko_mem_count0.s.count = port_num;
559 cvmx_write_csr(CVMX_PKO_MEM_COUNT0, pko_mem_count0.u64);
560 }
561
562 pko_mem_count1.u64 = cvmx_read_csr(CVMX_PKO_MEM_COUNT1);
563 status->octets = pko_mem_count1.s.count;
564 if (clear) {
565 pko_mem_count1.s.count = port_num;
566 cvmx_write_csr(CVMX_PKO_MEM_COUNT1, pko_mem_count1.u64);
567 }
568
569 if (OCTEON_IS_MODEL(OCTEON_CN3XXX)) {
570 union cvmx_pko_mem_debug9 debug9;
571 pko_reg_read_idx.s.index = cvmx_pko_get_base_queue(port_num);
572 cvmx_write_csr(CVMX_PKO_REG_READ_IDX, pko_reg_read_idx.u64);
573 debug9.u64 = cvmx_read_csr(CVMX_PKO_MEM_DEBUG9);
574 status->doorbell = debug9.cn38xx.doorbell;
575 } else {
576 union cvmx_pko_mem_debug8 debug8;
577 pko_reg_read_idx.s.index = cvmx_pko_get_base_queue(port_num);
578 cvmx_write_csr(CVMX_PKO_REG_READ_IDX, pko_reg_read_idx.u64);
579 debug8.u64 = cvmx_read_csr(CVMX_PKO_MEM_DEBUG8);
580 status->doorbell = debug8.cn58xx.doorbell;
581 }
582}
583
584/**
585 * Rate limit a PKO port to a max packets/sec. This function is only
586 * supported on CN57XX, CN56XX, CN55XX, and CN54XX.
587 *
588 * @port: Port to rate limit
589 * @packets_s: Maximum packet/sec
590 * @burst: Maximum number of packets to burst in a row before rate
591 * limiting cuts in.
592 *
593 * Returns Zero on success, negative on failure
594 */
595extern int cvmx_pko_rate_limit_packets(int port, int packets_s, int burst);
596
597/**
598 * Rate limit a PKO port to a max bits/sec. This function is only
599 * supported on CN57XX, CN56XX, CN55XX, and CN54XX.
600 *
601 * @port: Port to rate limit
602 * @bits_s: PKO rate limit in bits/sec
603 * @burst: Maximum number of bits to burst before rate
604 * limiting cuts in.
605 *
606 * Returns Zero on success, negative on failure
607 */
608extern int cvmx_pko_rate_limit_bits(int port, uint64_t bits_s, int burst);
609
610#endif /* __CVMX_PKO_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-pow-defs.h b/arch/mips/include/asm/octeon/cvmx-pow-defs.h
index 9020ef44373..39fd75b03f7 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,18 +55,11 @@
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
59 uint64_t reserved_32_63:32; 58 uint64_t reserved_32_63:32;
60 uint64_t pp:16; 59 uint64_t pp:16;
61 uint64_t reserved_0_15:16; 60 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
67 } s; 61 } s;
68 struct cvmx_pow_bist_stat_cn30xx { 62 struct cvmx_pow_bist_stat_cn30xx {
69#ifdef __BIG_ENDIAN_BITFIELD
70 uint64_t reserved_17_63:47; 63 uint64_t reserved_17_63:47;
71 uint64_t pp:1; 64 uint64_t pp:1;
72 uint64_t reserved_9_15:7; 65 uint64_t reserved_9_15:7;
@@ -79,23 +72,8 @@ union cvmx_pow_bist_stat {
79 uint64_t nbr0:1; 72 uint64_t nbr0:1;
80 uint64_t pend:1; 73 uint64_t pend:1;
81 uint64_t adr:1; 74 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
96 } cn30xx; 75 } cn30xx;
97 struct cvmx_pow_bist_stat_cn31xx { 76 struct cvmx_pow_bist_stat_cn31xx {
98#ifdef __BIG_ENDIAN_BITFIELD
99 uint64_t reserved_18_63:46; 77 uint64_t reserved_18_63:46;
100 uint64_t pp:2; 78 uint64_t pp:2;
101 uint64_t reserved_9_15:7; 79 uint64_t reserved_9_15:7;
@@ -108,23 +86,8 @@ union cvmx_pow_bist_stat {
108 uint64_t nbr0:1; 86 uint64_t nbr0:1;
109 uint64_t pend:1; 87 uint64_t pend:1;
110 uint64_t adr:1; 88 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
125 } cn31xx; 89 } cn31xx;
126 struct cvmx_pow_bist_stat_cn38xx { 90 struct cvmx_pow_bist_stat_cn38xx {
127#ifdef __BIG_ENDIAN_BITFIELD
128 uint64_t reserved_32_63:32; 91 uint64_t reserved_32_63:32;
129 uint64_t pp:16; 92 uint64_t pp:16;
130 uint64_t reserved_10_15:6; 93 uint64_t reserved_10_15:6;
@@ -138,26 +101,10 @@ union cvmx_pow_bist_stat {
138 uint64_t pend0:1; 101 uint64_t pend0:1;
139 uint64_t adr1:1; 102 uint64_t adr1:1;
140 uint64_t adr0:1; 103 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
156 } cn38xx; 104 } cn38xx;
157 struct cvmx_pow_bist_stat_cn38xx cn38xxp2; 105 struct cvmx_pow_bist_stat_cn38xx cn38xxp2;
158 struct cvmx_pow_bist_stat_cn31xx cn50xx; 106 struct cvmx_pow_bist_stat_cn31xx cn50xx;
159 struct cvmx_pow_bist_stat_cn52xx { 107 struct cvmx_pow_bist_stat_cn52xx {
160#ifdef __BIG_ENDIAN_BITFIELD
161 uint64_t reserved_20_63:44; 108 uint64_t reserved_20_63:44;
162 uint64_t pp:4; 109 uint64_t pp:4;
163 uint64_t reserved_9_15:7; 110 uint64_t reserved_9_15:7;
@@ -170,24 +117,9 @@ union cvmx_pow_bist_stat {
170 uint64_t nbr0:1; 117 uint64_t nbr0:1;
171 uint64_t pend:1; 118 uint64_t pend:1;
172 uint64_t adr:1; 119 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
187 } cn52xx; 120 } cn52xx;
188 struct cvmx_pow_bist_stat_cn52xx cn52xxp1; 121 struct cvmx_pow_bist_stat_cn52xx cn52xxp1;
189 struct cvmx_pow_bist_stat_cn56xx { 122 struct cvmx_pow_bist_stat_cn56xx {
190#ifdef __BIG_ENDIAN_BITFIELD
191 uint64_t reserved_28_63:36; 123 uint64_t reserved_28_63:36;
192 uint64_t pp:12; 124 uint64_t pp:12;
193 uint64_t reserved_10_15:6; 125 uint64_t reserved_10_15:6;
@@ -201,52 +133,11 @@ union cvmx_pow_bist_stat {
201 uint64_t pend0:1; 133 uint64_t pend0:1;
202 uint64_t adr1:1; 134 uint64_t adr1:1;
203 uint64_t adr0:1; 135 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
219 } cn56xx; 136 } cn56xx;
220 struct cvmx_pow_bist_stat_cn56xx cn56xxp1; 137 struct cvmx_pow_bist_stat_cn56xx cn56xxp1;
221 struct cvmx_pow_bist_stat_cn38xx cn58xx; 138 struct cvmx_pow_bist_stat_cn38xx cn58xx;
222 struct cvmx_pow_bist_stat_cn38xx cn58xxp1; 139 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;
248 struct cvmx_pow_bist_stat_cn63xx { 140 struct cvmx_pow_bist_stat_cn63xx {
249#ifdef __BIG_ENDIAN_BITFIELD
250 uint64_t reserved_22_63:42; 141 uint64_t reserved_22_63:42;
251 uint64_t pp:6; 142 uint64_t pp:6;
252 uint64_t reserved_12_15:4; 143 uint64_t reserved_12_15:4;
@@ -257,58 +148,15 @@ union cvmx_pow_bist_stat {
257 uint64_t fidx:1; 148 uint64_t fidx:1;
258 uint64_t pend:1; 149 uint64_t pend:1;
259 uint64_t adr:1; 150 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
272 } cn63xx; 151 } cn63xx;
273 struct cvmx_pow_bist_stat_cn63xx cn63xxp1; 152 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;
300}; 153};
301 154
302union cvmx_pow_ds_pc { 155union cvmx_pow_ds_pc {
303 uint64_t u64; 156 uint64_t u64;
304 struct cvmx_pow_ds_pc_s { 157 struct cvmx_pow_ds_pc_s {
305#ifdef __BIG_ENDIAN_BITFIELD
306 uint64_t reserved_32_63:32; 158 uint64_t reserved_32_63:32;
307 uint64_t ds_pc:32; 159 uint64_t ds_pc:32;
308#else
309 uint64_t ds_pc:32;
310 uint64_t reserved_32_63:32;
311#endif
312 } s; 160 } s;
313 struct cvmx_pow_ds_pc_s cn30xx; 161 struct cvmx_pow_ds_pc_s cn30xx;
314 struct cvmx_pow_ds_pc_s cn31xx; 162 struct cvmx_pow_ds_pc_s cn31xx;
@@ -321,17 +169,13 @@ union cvmx_pow_ds_pc {
321 struct cvmx_pow_ds_pc_s cn56xxp1; 169 struct cvmx_pow_ds_pc_s cn56xxp1;
322 struct cvmx_pow_ds_pc_s cn58xx; 170 struct cvmx_pow_ds_pc_s cn58xx;
323 struct cvmx_pow_ds_pc_s cn58xxp1; 171 struct cvmx_pow_ds_pc_s cn58xxp1;
324 struct cvmx_pow_ds_pc_s cn61xx;
325 struct cvmx_pow_ds_pc_s cn63xx; 172 struct cvmx_pow_ds_pc_s cn63xx;
326 struct cvmx_pow_ds_pc_s cn63xxp1; 173 struct cvmx_pow_ds_pc_s cn63xxp1;
327 struct cvmx_pow_ds_pc_s cn66xx;
328 struct cvmx_pow_ds_pc_s cnf71xx;
329}; 174};
330 175
331union cvmx_pow_ecc_err { 176union cvmx_pow_ecc_err {
332 uint64_t u64; 177 uint64_t u64;
333 struct cvmx_pow_ecc_err_s { 178 struct cvmx_pow_ecc_err_s {
334#ifdef __BIG_ENDIAN_BITFIELD
335 uint64_t reserved_45_63:19; 179 uint64_t reserved_45_63:19;
336 uint64_t iop_ie:13; 180 uint64_t iop_ie:13;
337 uint64_t reserved_29_31:3; 181 uint64_t reserved_29_31:3;
@@ -345,25 +189,9 @@ union cvmx_pow_ecc_err {
345 uint64_t sbe_ie:1; 189 uint64_t sbe_ie:1;
346 uint64_t dbe:1; 190 uint64_t dbe:1;
347 uint64_t sbe:1; 191 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
363 } s; 192 } s;
364 struct cvmx_pow_ecc_err_s cn30xx; 193 struct cvmx_pow_ecc_err_s cn30xx;
365 struct cvmx_pow_ecc_err_cn31xx { 194 struct cvmx_pow_ecc_err_cn31xx {
366#ifdef __BIG_ENDIAN_BITFIELD
367 uint64_t reserved_14_63:50; 195 uint64_t reserved_14_63:50;
368 uint64_t rpe_ie:1; 196 uint64_t rpe_ie:1;
369 uint64_t rpe:1; 197 uint64_t rpe:1;
@@ -373,17 +201,6 @@ union cvmx_pow_ecc_err {
373 uint64_t sbe_ie:1; 201 uint64_t sbe_ie:1;
374 uint64_t dbe:1; 202 uint64_t dbe:1;
375 uint64_t sbe:1; 203 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
387 } cn31xx; 204 } cn31xx;
388 struct cvmx_pow_ecc_err_s cn38xx; 205 struct cvmx_pow_ecc_err_s cn38xx;
389 struct cvmx_pow_ecc_err_cn31xx cn38xxp2; 206 struct cvmx_pow_ecc_err_cn31xx cn38xxp2;
@@ -394,25 +211,16 @@ union cvmx_pow_ecc_err {
394 struct cvmx_pow_ecc_err_s cn56xxp1; 211 struct cvmx_pow_ecc_err_s cn56xxp1;
395 struct cvmx_pow_ecc_err_s cn58xx; 212 struct cvmx_pow_ecc_err_s cn58xx;
396 struct cvmx_pow_ecc_err_s cn58xxp1; 213 struct cvmx_pow_ecc_err_s cn58xxp1;
397 struct cvmx_pow_ecc_err_s cn61xx;
398 struct cvmx_pow_ecc_err_s cn63xx; 214 struct cvmx_pow_ecc_err_s cn63xx;
399 struct cvmx_pow_ecc_err_s cn63xxp1; 215 struct cvmx_pow_ecc_err_s cn63xxp1;
400 struct cvmx_pow_ecc_err_s cn66xx;
401 struct cvmx_pow_ecc_err_s cnf71xx;
402}; 216};
403 217
404union cvmx_pow_int_ctl { 218union cvmx_pow_int_ctl {
405 uint64_t u64; 219 uint64_t u64;
406 struct cvmx_pow_int_ctl_s { 220 struct cvmx_pow_int_ctl_s {
407#ifdef __BIG_ENDIAN_BITFIELD
408 uint64_t reserved_6_63:58; 221 uint64_t reserved_6_63:58;
409 uint64_t pfr_dis:1; 222 uint64_t pfr_dis:1;
410 uint64_t nbr_thr:5; 223 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
416 } s; 224 } s;
417 struct cvmx_pow_int_ctl_s cn30xx; 225 struct cvmx_pow_int_ctl_s cn30xx;
418 struct cvmx_pow_int_ctl_s cn31xx; 226 struct cvmx_pow_int_ctl_s cn31xx;
@@ -425,23 +233,15 @@ union cvmx_pow_int_ctl {
425 struct cvmx_pow_int_ctl_s cn56xxp1; 233 struct cvmx_pow_int_ctl_s cn56xxp1;
426 struct cvmx_pow_int_ctl_s cn58xx; 234 struct cvmx_pow_int_ctl_s cn58xx;
427 struct cvmx_pow_int_ctl_s cn58xxp1; 235 struct cvmx_pow_int_ctl_s cn58xxp1;
428 struct cvmx_pow_int_ctl_s cn61xx;
429 struct cvmx_pow_int_ctl_s cn63xx; 236 struct cvmx_pow_int_ctl_s cn63xx;
430 struct cvmx_pow_int_ctl_s cn63xxp1; 237 struct cvmx_pow_int_ctl_s cn63xxp1;
431 struct cvmx_pow_int_ctl_s cn66xx;
432 struct cvmx_pow_int_ctl_s cnf71xx;
433}; 238};
434 239
435union cvmx_pow_iq_cntx { 240union cvmx_pow_iq_cntx {
436 uint64_t u64; 241 uint64_t u64;
437 struct cvmx_pow_iq_cntx_s { 242 struct cvmx_pow_iq_cntx_s {
438#ifdef __BIG_ENDIAN_BITFIELD
439 uint64_t reserved_32_63:32; 243 uint64_t reserved_32_63:32;
440 uint64_t iq_cnt:32; 244 uint64_t iq_cnt:32;
441#else
442 uint64_t iq_cnt:32;
443 uint64_t reserved_32_63:32;
444#endif
445 } s; 245 } s;
446 struct cvmx_pow_iq_cntx_s cn30xx; 246 struct cvmx_pow_iq_cntx_s cn30xx;
447 struct cvmx_pow_iq_cntx_s cn31xx; 247 struct cvmx_pow_iq_cntx_s cn31xx;
@@ -454,23 +254,15 @@ union cvmx_pow_iq_cntx {
454 struct cvmx_pow_iq_cntx_s cn56xxp1; 254 struct cvmx_pow_iq_cntx_s cn56xxp1;
455 struct cvmx_pow_iq_cntx_s cn58xx; 255 struct cvmx_pow_iq_cntx_s cn58xx;
456 struct cvmx_pow_iq_cntx_s cn58xxp1; 256 struct cvmx_pow_iq_cntx_s cn58xxp1;
457 struct cvmx_pow_iq_cntx_s cn61xx;
458 struct cvmx_pow_iq_cntx_s cn63xx; 257 struct cvmx_pow_iq_cntx_s cn63xx;
459 struct cvmx_pow_iq_cntx_s cn63xxp1; 258 struct cvmx_pow_iq_cntx_s cn63xxp1;
460 struct cvmx_pow_iq_cntx_s cn66xx;
461 struct cvmx_pow_iq_cntx_s cnf71xx;
462}; 259};
463 260
464union cvmx_pow_iq_com_cnt { 261union cvmx_pow_iq_com_cnt {
465 uint64_t u64; 262 uint64_t u64;
466 struct cvmx_pow_iq_com_cnt_s { 263 struct cvmx_pow_iq_com_cnt_s {
467#ifdef __BIG_ENDIAN_BITFIELD
468 uint64_t reserved_32_63:32; 264 uint64_t reserved_32_63:32;
469 uint64_t iq_cnt:32; 265 uint64_t iq_cnt:32;
470#else
471 uint64_t iq_cnt:32;
472 uint64_t reserved_32_63:32;
473#endif
474 } s; 266 } s;
475 struct cvmx_pow_iq_com_cnt_s cn30xx; 267 struct cvmx_pow_iq_com_cnt_s cn30xx;
476 struct cvmx_pow_iq_com_cnt_s cn31xx; 268 struct cvmx_pow_iq_com_cnt_s cn31xx;
@@ -483,150 +275,90 @@ union cvmx_pow_iq_com_cnt {
483 struct cvmx_pow_iq_com_cnt_s cn56xxp1; 275 struct cvmx_pow_iq_com_cnt_s cn56xxp1;
484 struct cvmx_pow_iq_com_cnt_s cn58xx; 276 struct cvmx_pow_iq_com_cnt_s cn58xx;
485 struct cvmx_pow_iq_com_cnt_s cn58xxp1; 277 struct cvmx_pow_iq_com_cnt_s cn58xxp1;
486 struct cvmx_pow_iq_com_cnt_s cn61xx;
487 struct cvmx_pow_iq_com_cnt_s cn63xx; 278 struct cvmx_pow_iq_com_cnt_s cn63xx;
488 struct cvmx_pow_iq_com_cnt_s cn63xxp1; 279 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;
491}; 280};
492 281
493union cvmx_pow_iq_int { 282union cvmx_pow_iq_int {
494 uint64_t u64; 283 uint64_t u64;
495 struct cvmx_pow_iq_int_s { 284 struct cvmx_pow_iq_int_s {
496#ifdef __BIG_ENDIAN_BITFIELD
497 uint64_t reserved_8_63:56; 285 uint64_t reserved_8_63:56;
498 uint64_t iq_int:8; 286 uint64_t iq_int:8;
499#else
500 uint64_t iq_int:8;
501 uint64_t reserved_8_63:56;
502#endif
503 } s; 287 } s;
504 struct cvmx_pow_iq_int_s cn52xx; 288 struct cvmx_pow_iq_int_s cn52xx;
505 struct cvmx_pow_iq_int_s cn52xxp1; 289 struct cvmx_pow_iq_int_s cn52xxp1;
506 struct cvmx_pow_iq_int_s cn56xx; 290 struct cvmx_pow_iq_int_s cn56xx;
507 struct cvmx_pow_iq_int_s cn56xxp1; 291 struct cvmx_pow_iq_int_s cn56xxp1;
508 struct cvmx_pow_iq_int_s cn61xx;
509 struct cvmx_pow_iq_int_s cn63xx; 292 struct cvmx_pow_iq_int_s cn63xx;
510 struct cvmx_pow_iq_int_s cn63xxp1; 293 struct cvmx_pow_iq_int_s cn63xxp1;
511 struct cvmx_pow_iq_int_s cn66xx;
512 struct cvmx_pow_iq_int_s cnf71xx;
513}; 294};
514 295
515union cvmx_pow_iq_int_en { 296union cvmx_pow_iq_int_en {
516 uint64_t u64; 297 uint64_t u64;
517 struct cvmx_pow_iq_int_en_s { 298 struct cvmx_pow_iq_int_en_s {
518#ifdef __BIG_ENDIAN_BITFIELD
519 uint64_t reserved_8_63:56; 299 uint64_t reserved_8_63:56;
520 uint64_t int_en:8; 300 uint64_t int_en:8;
521#else
522 uint64_t int_en:8;
523 uint64_t reserved_8_63:56;
524#endif
525 } s; 301 } s;
526 struct cvmx_pow_iq_int_en_s cn52xx; 302 struct cvmx_pow_iq_int_en_s cn52xx;
527 struct cvmx_pow_iq_int_en_s cn52xxp1; 303 struct cvmx_pow_iq_int_en_s cn52xxp1;
528 struct cvmx_pow_iq_int_en_s cn56xx; 304 struct cvmx_pow_iq_int_en_s cn56xx;
529 struct cvmx_pow_iq_int_en_s cn56xxp1; 305 struct cvmx_pow_iq_int_en_s cn56xxp1;
530 struct cvmx_pow_iq_int_en_s cn61xx;
531 struct cvmx_pow_iq_int_en_s cn63xx; 306 struct cvmx_pow_iq_int_en_s cn63xx;
532 struct cvmx_pow_iq_int_en_s cn63xxp1; 307 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;
535}; 308};
536 309
537union cvmx_pow_iq_thrx { 310union cvmx_pow_iq_thrx {
538 uint64_t u64; 311 uint64_t u64;
539 struct cvmx_pow_iq_thrx_s { 312 struct cvmx_pow_iq_thrx_s {
540#ifdef __BIG_ENDIAN_BITFIELD
541 uint64_t reserved_32_63:32; 313 uint64_t reserved_32_63:32;
542 uint64_t iq_thr:32; 314 uint64_t iq_thr:32;
543#else
544 uint64_t iq_thr:32;
545 uint64_t reserved_32_63:32;
546#endif
547 } s; 315 } s;
548 struct cvmx_pow_iq_thrx_s cn52xx; 316 struct cvmx_pow_iq_thrx_s cn52xx;
549 struct cvmx_pow_iq_thrx_s cn52xxp1; 317 struct cvmx_pow_iq_thrx_s cn52xxp1;
550 struct cvmx_pow_iq_thrx_s cn56xx; 318 struct cvmx_pow_iq_thrx_s cn56xx;
551 struct cvmx_pow_iq_thrx_s cn56xxp1; 319 struct cvmx_pow_iq_thrx_s cn56xxp1;
552 struct cvmx_pow_iq_thrx_s cn61xx;
553 struct cvmx_pow_iq_thrx_s cn63xx; 320 struct cvmx_pow_iq_thrx_s cn63xx;
554 struct cvmx_pow_iq_thrx_s cn63xxp1; 321 struct cvmx_pow_iq_thrx_s cn63xxp1;
555 struct cvmx_pow_iq_thrx_s cn66xx;
556 struct cvmx_pow_iq_thrx_s cnf71xx;
557}; 322};
558 323
559union cvmx_pow_nos_cnt { 324union cvmx_pow_nos_cnt {
560 uint64_t u64; 325 uint64_t u64;
561 struct cvmx_pow_nos_cnt_s { 326 struct cvmx_pow_nos_cnt_s {
562#ifdef __BIG_ENDIAN_BITFIELD
563 uint64_t reserved_12_63:52; 327 uint64_t reserved_12_63:52;
564 uint64_t nos_cnt:12; 328 uint64_t nos_cnt:12;
565#else
566 uint64_t nos_cnt:12;
567 uint64_t reserved_12_63:52;
568#endif
569 } s; 329 } s;
570 struct cvmx_pow_nos_cnt_cn30xx { 330 struct cvmx_pow_nos_cnt_cn30xx {
571#ifdef __BIG_ENDIAN_BITFIELD
572 uint64_t reserved_7_63:57; 331 uint64_t reserved_7_63:57;
573 uint64_t nos_cnt:7; 332 uint64_t nos_cnt:7;
574#else
575 uint64_t nos_cnt:7;
576 uint64_t reserved_7_63:57;
577#endif
578 } cn30xx; 333 } cn30xx;
579 struct cvmx_pow_nos_cnt_cn31xx { 334 struct cvmx_pow_nos_cnt_cn31xx {
580#ifdef __BIG_ENDIAN_BITFIELD
581 uint64_t reserved_9_63:55; 335 uint64_t reserved_9_63:55;
582 uint64_t nos_cnt:9; 336 uint64_t nos_cnt:9;
583#else
584 uint64_t nos_cnt:9;
585 uint64_t reserved_9_63:55;
586#endif
587 } cn31xx; 337 } cn31xx;
588 struct cvmx_pow_nos_cnt_s cn38xx; 338 struct cvmx_pow_nos_cnt_s cn38xx;
589 struct cvmx_pow_nos_cnt_s cn38xxp2; 339 struct cvmx_pow_nos_cnt_s cn38xxp2;
590 struct cvmx_pow_nos_cnt_cn31xx cn50xx; 340 struct cvmx_pow_nos_cnt_cn31xx cn50xx;
591 struct cvmx_pow_nos_cnt_cn52xx { 341 struct cvmx_pow_nos_cnt_cn52xx {
592#ifdef __BIG_ENDIAN_BITFIELD
593 uint64_t reserved_10_63:54; 342 uint64_t reserved_10_63:54;
594 uint64_t nos_cnt:10; 343 uint64_t nos_cnt:10;
595#else
596 uint64_t nos_cnt:10;
597 uint64_t reserved_10_63:54;
598#endif
599 } cn52xx; 344 } cn52xx;
600 struct cvmx_pow_nos_cnt_cn52xx cn52xxp1; 345 struct cvmx_pow_nos_cnt_cn52xx cn52xxp1;
601 struct cvmx_pow_nos_cnt_s cn56xx; 346 struct cvmx_pow_nos_cnt_s cn56xx;
602 struct cvmx_pow_nos_cnt_s cn56xxp1; 347 struct cvmx_pow_nos_cnt_s cn56xxp1;
603 struct cvmx_pow_nos_cnt_s cn58xx; 348 struct cvmx_pow_nos_cnt_s cn58xx;
604 struct cvmx_pow_nos_cnt_s cn58xxp1; 349 struct cvmx_pow_nos_cnt_s cn58xxp1;
605 struct cvmx_pow_nos_cnt_cn52xx cn61xx;
606 struct cvmx_pow_nos_cnt_cn63xx { 350 struct cvmx_pow_nos_cnt_cn63xx {
607#ifdef __BIG_ENDIAN_BITFIELD
608 uint64_t reserved_11_63:53; 351 uint64_t reserved_11_63:53;
609 uint64_t nos_cnt:11; 352 uint64_t nos_cnt:11;
610#else
611 uint64_t nos_cnt:11;
612 uint64_t reserved_11_63:53;
613#endif
614 } cn63xx; 353 } cn63xx;
615 struct cvmx_pow_nos_cnt_cn63xx cn63xxp1; 354 struct cvmx_pow_nos_cnt_cn63xx cn63xxp1;
616 struct cvmx_pow_nos_cnt_cn63xx cn66xx;
617 struct cvmx_pow_nos_cnt_cn52xx cnf71xx;
618}; 355};
619 356
620union cvmx_pow_nw_tim { 357union cvmx_pow_nw_tim {
621 uint64_t u64; 358 uint64_t u64;
622 struct cvmx_pow_nw_tim_s { 359 struct cvmx_pow_nw_tim_s {
623#ifdef __BIG_ENDIAN_BITFIELD
624 uint64_t reserved_10_63:54; 360 uint64_t reserved_10_63:54;
625 uint64_t nw_tim:10; 361 uint64_t nw_tim:10;
626#else
627 uint64_t nw_tim:10;
628 uint64_t reserved_10_63:54;
629#endif
630 } s; 362 } s;
631 struct cvmx_pow_nw_tim_s cn30xx; 363 struct cvmx_pow_nw_tim_s cn30xx;
632 struct cvmx_pow_nw_tim_s cn31xx; 364 struct cvmx_pow_nw_tim_s cn31xx;
@@ -639,23 +371,15 @@ union cvmx_pow_nw_tim {
639 struct cvmx_pow_nw_tim_s cn56xxp1; 371 struct cvmx_pow_nw_tim_s cn56xxp1;
640 struct cvmx_pow_nw_tim_s cn58xx; 372 struct cvmx_pow_nw_tim_s cn58xx;
641 struct cvmx_pow_nw_tim_s cn58xxp1; 373 struct cvmx_pow_nw_tim_s cn58xxp1;
642 struct cvmx_pow_nw_tim_s cn61xx;
643 struct cvmx_pow_nw_tim_s cn63xx; 374 struct cvmx_pow_nw_tim_s cn63xx;
644 struct cvmx_pow_nw_tim_s cn63xxp1; 375 struct cvmx_pow_nw_tim_s cn63xxp1;
645 struct cvmx_pow_nw_tim_s cn66xx;
646 struct cvmx_pow_nw_tim_s cnf71xx;
647}; 376};
648 377
649union cvmx_pow_pf_rst_msk { 378union cvmx_pow_pf_rst_msk {
650 uint64_t u64; 379 uint64_t u64;
651 struct cvmx_pow_pf_rst_msk_s { 380 struct cvmx_pow_pf_rst_msk_s {
652#ifdef __BIG_ENDIAN_BITFIELD
653 uint64_t reserved_8_63:56; 381 uint64_t reserved_8_63:56;
654 uint64_t rst_msk:8; 382 uint64_t rst_msk:8;
655#else
656 uint64_t rst_msk:8;
657 uint64_t reserved_8_63:56;
658#endif
659 } s; 383 } s;
660 struct cvmx_pow_pf_rst_msk_s cn50xx; 384 struct cvmx_pow_pf_rst_msk_s cn50xx;
661 struct cvmx_pow_pf_rst_msk_s cn52xx; 385 struct cvmx_pow_pf_rst_msk_s cn52xx;
@@ -664,17 +388,13 @@ union cvmx_pow_pf_rst_msk {
664 struct cvmx_pow_pf_rst_msk_s cn56xxp1; 388 struct cvmx_pow_pf_rst_msk_s cn56xxp1;
665 struct cvmx_pow_pf_rst_msk_s cn58xx; 389 struct cvmx_pow_pf_rst_msk_s cn58xx;
666 struct cvmx_pow_pf_rst_msk_s cn58xxp1; 390 struct cvmx_pow_pf_rst_msk_s cn58xxp1;
667 struct cvmx_pow_pf_rst_msk_s cn61xx;
668 struct cvmx_pow_pf_rst_msk_s cn63xx; 391 struct cvmx_pow_pf_rst_msk_s cn63xx;
669 struct cvmx_pow_pf_rst_msk_s cn63xxp1; 392 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;
672}; 393};
673 394
674union cvmx_pow_pp_grp_mskx { 395union cvmx_pow_pp_grp_mskx {
675 uint64_t u64; 396 uint64_t u64;
676 struct cvmx_pow_pp_grp_mskx_s { 397 struct cvmx_pow_pp_grp_mskx_s {
677#ifdef __BIG_ENDIAN_BITFIELD
678 uint64_t reserved_48_63:16; 398 uint64_t reserved_48_63:16;
679 uint64_t qos7_pri:4; 399 uint64_t qos7_pri:4;
680 uint64_t qos6_pri:4; 400 uint64_t qos6_pri:4;
@@ -685,27 +405,10 @@ union cvmx_pow_pp_grp_mskx {
685 uint64_t qos1_pri:4; 405 uint64_t qos1_pri:4;
686 uint64_t qos0_pri:4; 406 uint64_t qos0_pri:4;
687 uint64_t grp_msk:16; 407 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
700 } s; 408 } s;
701 struct cvmx_pow_pp_grp_mskx_cn30xx { 409 struct cvmx_pow_pp_grp_mskx_cn30xx {
702#ifdef __BIG_ENDIAN_BITFIELD
703 uint64_t reserved_16_63:48; 410 uint64_t reserved_16_63:48;
704 uint64_t grp_msk:16; 411 uint64_t grp_msk:16;
705#else
706 uint64_t grp_msk:16;
707 uint64_t reserved_16_63:48;
708#endif
709 } cn30xx; 412 } cn30xx;
710 struct cvmx_pow_pp_grp_mskx_cn30xx cn31xx; 413 struct cvmx_pow_pp_grp_mskx_cn30xx cn31xx;
711 struct cvmx_pow_pp_grp_mskx_cn30xx cn38xx; 414 struct cvmx_pow_pp_grp_mskx_cn30xx cn38xx;
@@ -717,29 +420,18 @@ union cvmx_pow_pp_grp_mskx {
717 struct cvmx_pow_pp_grp_mskx_s cn56xxp1; 420 struct cvmx_pow_pp_grp_mskx_s cn56xxp1;
718 struct cvmx_pow_pp_grp_mskx_s cn58xx; 421 struct cvmx_pow_pp_grp_mskx_s cn58xx;
719 struct cvmx_pow_pp_grp_mskx_s cn58xxp1; 422 struct cvmx_pow_pp_grp_mskx_s cn58xxp1;
720 struct cvmx_pow_pp_grp_mskx_s cn61xx;
721 struct cvmx_pow_pp_grp_mskx_s cn63xx; 423 struct cvmx_pow_pp_grp_mskx_s cn63xx;
722 struct cvmx_pow_pp_grp_mskx_s cn63xxp1; 424 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;
725}; 425};
726 426
727union cvmx_pow_qos_rndx { 427union cvmx_pow_qos_rndx {
728 uint64_t u64; 428 uint64_t u64;
729 struct cvmx_pow_qos_rndx_s { 429 struct cvmx_pow_qos_rndx_s {
730#ifdef __BIG_ENDIAN_BITFIELD
731 uint64_t reserved_32_63:32; 430 uint64_t reserved_32_63:32;
732 uint64_t rnd_p3:8; 431 uint64_t rnd_p3:8;
733 uint64_t rnd_p2:8; 432 uint64_t rnd_p2:8;
734 uint64_t rnd_p1:8; 433 uint64_t rnd_p1:8;
735 uint64_t rnd:8; 434 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
743 } s; 435 } s;
744 struct cvmx_pow_qos_rndx_s cn30xx; 436 struct cvmx_pow_qos_rndx_s cn30xx;
745 struct cvmx_pow_qos_rndx_s cn31xx; 437 struct cvmx_pow_qos_rndx_s cn31xx;
@@ -752,17 +444,13 @@ union cvmx_pow_qos_rndx {
752 struct cvmx_pow_qos_rndx_s cn56xxp1; 444 struct cvmx_pow_qos_rndx_s cn56xxp1;
753 struct cvmx_pow_qos_rndx_s cn58xx; 445 struct cvmx_pow_qos_rndx_s cn58xx;
754 struct cvmx_pow_qos_rndx_s cn58xxp1; 446 struct cvmx_pow_qos_rndx_s cn58xxp1;
755 struct cvmx_pow_qos_rndx_s cn61xx;
756 struct cvmx_pow_qos_rndx_s cn63xx; 447 struct cvmx_pow_qos_rndx_s cn63xx;
757 struct cvmx_pow_qos_rndx_s cn63xxp1; 448 struct cvmx_pow_qos_rndx_s cn63xxp1;
758 struct cvmx_pow_qos_rndx_s cn66xx;
759 struct cvmx_pow_qos_rndx_s cnf71xx;
760}; 449};
761 450
762union cvmx_pow_qos_thrx { 451union cvmx_pow_qos_thrx {
763 uint64_t u64; 452 uint64_t u64;
764 struct cvmx_pow_qos_thrx_s { 453 struct cvmx_pow_qos_thrx_s {
765#ifdef __BIG_ENDIAN_BITFIELD
766 uint64_t reserved_60_63:4; 454 uint64_t reserved_60_63:4;
767 uint64_t des_cnt:12; 455 uint64_t des_cnt:12;
768 uint64_t buf_cnt:12; 456 uint64_t buf_cnt:12;
@@ -771,19 +459,8 @@ union cvmx_pow_qos_thrx {
771 uint64_t max_thr:11; 459 uint64_t max_thr:11;
772 uint64_t reserved_11_11:1; 460 uint64_t reserved_11_11:1;
773 uint64_t min_thr:11; 461 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
784 } s; 462 } s;
785 struct cvmx_pow_qos_thrx_cn30xx { 463 struct cvmx_pow_qos_thrx_cn30xx {
786#ifdef __BIG_ENDIAN_BITFIELD
787 uint64_t reserved_55_63:9; 464 uint64_t reserved_55_63:9;
788 uint64_t des_cnt:7; 465 uint64_t des_cnt:7;
789 uint64_t reserved_43_47:5; 466 uint64_t reserved_43_47:5;
@@ -794,21 +471,8 @@ union cvmx_pow_qos_thrx {
794 uint64_t max_thr:6; 471 uint64_t max_thr:6;
795 uint64_t reserved_6_11:6; 472 uint64_t reserved_6_11:6;
796 uint64_t min_thr:6; 473 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
809 } cn30xx; 474 } cn30xx;
810 struct cvmx_pow_qos_thrx_cn31xx { 475 struct cvmx_pow_qos_thrx_cn31xx {
811#ifdef __BIG_ENDIAN_BITFIELD
812 uint64_t reserved_57_63:7; 476 uint64_t reserved_57_63:7;
813 uint64_t des_cnt:9; 477 uint64_t des_cnt:9;
814 uint64_t reserved_45_47:3; 478 uint64_t reserved_45_47:3;
@@ -819,24 +483,11 @@ union cvmx_pow_qos_thrx {
819 uint64_t max_thr:8; 483 uint64_t max_thr:8;
820 uint64_t reserved_8_11:4; 484 uint64_t reserved_8_11:4;
821 uint64_t min_thr:8; 485 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
834 } cn31xx; 486 } cn31xx;
835 struct cvmx_pow_qos_thrx_s cn38xx; 487 struct cvmx_pow_qos_thrx_s cn38xx;
836 struct cvmx_pow_qos_thrx_s cn38xxp2; 488 struct cvmx_pow_qos_thrx_s cn38xxp2;
837 struct cvmx_pow_qos_thrx_cn31xx cn50xx; 489 struct cvmx_pow_qos_thrx_cn31xx cn50xx;
838 struct cvmx_pow_qos_thrx_cn52xx { 490 struct cvmx_pow_qos_thrx_cn52xx {
839#ifdef __BIG_ENDIAN_BITFIELD
840 uint64_t reserved_58_63:6; 491 uint64_t reserved_58_63:6;
841 uint64_t des_cnt:10; 492 uint64_t des_cnt:10;
842 uint64_t reserved_46_47:2; 493 uint64_t reserved_46_47:2;
@@ -847,27 +498,13 @@ union cvmx_pow_qos_thrx {
847 uint64_t max_thr:9; 498 uint64_t max_thr:9;
848 uint64_t reserved_9_11:3; 499 uint64_t reserved_9_11:3;
849 uint64_t min_thr:9; 500 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
862 } cn52xx; 501 } cn52xx;
863 struct cvmx_pow_qos_thrx_cn52xx cn52xxp1; 502 struct cvmx_pow_qos_thrx_cn52xx cn52xxp1;
864 struct cvmx_pow_qos_thrx_s cn56xx; 503 struct cvmx_pow_qos_thrx_s cn56xx;
865 struct cvmx_pow_qos_thrx_s cn56xxp1; 504 struct cvmx_pow_qos_thrx_s cn56xxp1;
866 struct cvmx_pow_qos_thrx_s cn58xx; 505 struct cvmx_pow_qos_thrx_s cn58xx;
867 struct cvmx_pow_qos_thrx_s cn58xxp1; 506 struct cvmx_pow_qos_thrx_s cn58xxp1;
868 struct cvmx_pow_qos_thrx_cn52xx cn61xx;
869 struct cvmx_pow_qos_thrx_cn63xx { 507 struct cvmx_pow_qos_thrx_cn63xx {
870#ifdef __BIG_ENDIAN_BITFIELD
871 uint64_t reserved_59_63:5; 508 uint64_t reserved_59_63:5;
872 uint64_t des_cnt:11; 509 uint64_t des_cnt:11;
873 uint64_t reserved_47_47:1; 510 uint64_t reserved_47_47:1;
@@ -878,34 +515,15 @@ union cvmx_pow_qos_thrx {
878 uint64_t max_thr:10; 515 uint64_t max_thr:10;
879 uint64_t reserved_10_11:2; 516 uint64_t reserved_10_11:2;
880 uint64_t min_thr:10; 517 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
893 } cn63xx; 518 } cn63xx;
894 struct cvmx_pow_qos_thrx_cn63xx cn63xxp1; 519 struct cvmx_pow_qos_thrx_cn63xx cn63xxp1;
895 struct cvmx_pow_qos_thrx_cn63xx cn66xx;
896 struct cvmx_pow_qos_thrx_cn52xx cnf71xx;
897}; 520};
898 521
899union cvmx_pow_ts_pc { 522union cvmx_pow_ts_pc {
900 uint64_t u64; 523 uint64_t u64;
901 struct cvmx_pow_ts_pc_s { 524 struct cvmx_pow_ts_pc_s {
902#ifdef __BIG_ENDIAN_BITFIELD
903 uint64_t reserved_32_63:32; 525 uint64_t reserved_32_63:32;
904 uint64_t ts_pc:32; 526 uint64_t ts_pc:32;
905#else
906 uint64_t ts_pc:32;
907 uint64_t reserved_32_63:32;
908#endif
909 } s; 527 } s;
910 struct cvmx_pow_ts_pc_s cn30xx; 528 struct cvmx_pow_ts_pc_s cn30xx;
911 struct cvmx_pow_ts_pc_s cn31xx; 529 struct cvmx_pow_ts_pc_s cn31xx;
@@ -918,23 +536,15 @@ union cvmx_pow_ts_pc {
918 struct cvmx_pow_ts_pc_s cn56xxp1; 536 struct cvmx_pow_ts_pc_s cn56xxp1;
919 struct cvmx_pow_ts_pc_s cn58xx; 537 struct cvmx_pow_ts_pc_s cn58xx;
920 struct cvmx_pow_ts_pc_s cn58xxp1; 538 struct cvmx_pow_ts_pc_s cn58xxp1;
921 struct cvmx_pow_ts_pc_s cn61xx;
922 struct cvmx_pow_ts_pc_s cn63xx; 539 struct cvmx_pow_ts_pc_s cn63xx;
923 struct cvmx_pow_ts_pc_s cn63xxp1; 540 struct cvmx_pow_ts_pc_s cn63xxp1;
924 struct cvmx_pow_ts_pc_s cn66xx;
925 struct cvmx_pow_ts_pc_s cnf71xx;
926}; 541};
927 542
928union cvmx_pow_wa_com_pc { 543union cvmx_pow_wa_com_pc {
929 uint64_t u64; 544 uint64_t u64;
930 struct cvmx_pow_wa_com_pc_s { 545 struct cvmx_pow_wa_com_pc_s {
931#ifdef __BIG_ENDIAN_BITFIELD
932 uint64_t reserved_32_63:32; 546 uint64_t reserved_32_63:32;
933 uint64_t wa_pc:32; 547 uint64_t wa_pc:32;
934#else
935 uint64_t wa_pc:32;
936 uint64_t reserved_32_63:32;
937#endif
938 } s; 548 } s;
939 struct cvmx_pow_wa_com_pc_s cn30xx; 549 struct cvmx_pow_wa_com_pc_s cn30xx;
940 struct cvmx_pow_wa_com_pc_s cn31xx; 550 struct cvmx_pow_wa_com_pc_s cn31xx;
@@ -947,23 +557,15 @@ union cvmx_pow_wa_com_pc {
947 struct cvmx_pow_wa_com_pc_s cn56xxp1; 557 struct cvmx_pow_wa_com_pc_s cn56xxp1;
948 struct cvmx_pow_wa_com_pc_s cn58xx; 558 struct cvmx_pow_wa_com_pc_s cn58xx;
949 struct cvmx_pow_wa_com_pc_s cn58xxp1; 559 struct cvmx_pow_wa_com_pc_s cn58xxp1;
950 struct cvmx_pow_wa_com_pc_s cn61xx;
951 struct cvmx_pow_wa_com_pc_s cn63xx; 560 struct cvmx_pow_wa_com_pc_s cn63xx;
952 struct cvmx_pow_wa_com_pc_s cn63xxp1; 561 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;
955}; 562};
956 563
957union cvmx_pow_wa_pcx { 564union cvmx_pow_wa_pcx {
958 uint64_t u64; 565 uint64_t u64;
959 struct cvmx_pow_wa_pcx_s { 566 struct cvmx_pow_wa_pcx_s {
960#ifdef __BIG_ENDIAN_BITFIELD
961 uint64_t reserved_32_63:32; 567 uint64_t reserved_32_63:32;
962 uint64_t wa_pc:32; 568 uint64_t wa_pc:32;
963#else
964 uint64_t wa_pc:32;
965 uint64_t reserved_32_63:32;
966#endif
967 } s; 569 } s;
968 struct cvmx_pow_wa_pcx_s cn30xx; 570 struct cvmx_pow_wa_pcx_s cn30xx;
969 struct cvmx_pow_wa_pcx_s cn31xx; 571 struct cvmx_pow_wa_pcx_s cn31xx;
@@ -976,25 +578,16 @@ union cvmx_pow_wa_pcx {
976 struct cvmx_pow_wa_pcx_s cn56xxp1; 578 struct cvmx_pow_wa_pcx_s cn56xxp1;
977 struct cvmx_pow_wa_pcx_s cn58xx; 579 struct cvmx_pow_wa_pcx_s cn58xx;
978 struct cvmx_pow_wa_pcx_s cn58xxp1; 580 struct cvmx_pow_wa_pcx_s cn58xxp1;
979 struct cvmx_pow_wa_pcx_s cn61xx;
980 struct cvmx_pow_wa_pcx_s cn63xx; 581 struct cvmx_pow_wa_pcx_s cn63xx;
981 struct cvmx_pow_wa_pcx_s cn63xxp1; 582 struct cvmx_pow_wa_pcx_s cn63xxp1;
982 struct cvmx_pow_wa_pcx_s cn66xx;
983 struct cvmx_pow_wa_pcx_s cnf71xx;
984}; 583};
985 584
986union cvmx_pow_wq_int { 585union cvmx_pow_wq_int {
987 uint64_t u64; 586 uint64_t u64;
988 struct cvmx_pow_wq_int_s { 587 struct cvmx_pow_wq_int_s {
989#ifdef __BIG_ENDIAN_BITFIELD
990 uint64_t reserved_32_63:32; 588 uint64_t reserved_32_63:32;
991 uint64_t iq_dis:16; 589 uint64_t iq_dis:16;
992 uint64_t wq_int:16; 590 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
998 } s; 591 } s;
999 struct cvmx_pow_wq_int_s cn30xx; 592 struct cvmx_pow_wq_int_s cn30xx;
1000 struct cvmx_pow_wq_int_s cn31xx; 593 struct cvmx_pow_wq_int_s cn31xx;
@@ -1007,126 +600,69 @@ union cvmx_pow_wq_int {
1007 struct cvmx_pow_wq_int_s cn56xxp1; 600 struct cvmx_pow_wq_int_s cn56xxp1;
1008 struct cvmx_pow_wq_int_s cn58xx; 601 struct cvmx_pow_wq_int_s cn58xx;
1009 struct cvmx_pow_wq_int_s cn58xxp1; 602 struct cvmx_pow_wq_int_s cn58xxp1;
1010 struct cvmx_pow_wq_int_s cn61xx;
1011 struct cvmx_pow_wq_int_s cn63xx; 603 struct cvmx_pow_wq_int_s cn63xx;
1012 struct cvmx_pow_wq_int_s cn63xxp1; 604 struct cvmx_pow_wq_int_s cn63xxp1;
1013 struct cvmx_pow_wq_int_s cn66xx;
1014 struct cvmx_pow_wq_int_s cnf71xx;
1015}; 605};
1016 606
1017union cvmx_pow_wq_int_cntx { 607union cvmx_pow_wq_int_cntx {
1018 uint64_t u64; 608 uint64_t u64;
1019 struct cvmx_pow_wq_int_cntx_s { 609 struct cvmx_pow_wq_int_cntx_s {
1020#ifdef __BIG_ENDIAN_BITFIELD
1021 uint64_t reserved_28_63:36; 610 uint64_t reserved_28_63:36;
1022 uint64_t tc_cnt:4; 611 uint64_t tc_cnt:4;
1023 uint64_t ds_cnt:12; 612 uint64_t ds_cnt:12;
1024 uint64_t iq_cnt:12; 613 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
1031 } s; 614 } s;
1032 struct cvmx_pow_wq_int_cntx_cn30xx { 615 struct cvmx_pow_wq_int_cntx_cn30xx {
1033#ifdef __BIG_ENDIAN_BITFIELD
1034 uint64_t reserved_28_63:36; 616 uint64_t reserved_28_63:36;
1035 uint64_t tc_cnt:4; 617 uint64_t tc_cnt:4;
1036 uint64_t reserved_19_23:5; 618 uint64_t reserved_19_23:5;
1037 uint64_t ds_cnt:7; 619 uint64_t ds_cnt:7;
1038 uint64_t reserved_7_11:5; 620 uint64_t reserved_7_11:5;
1039 uint64_t iq_cnt:7; 621 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
1048 } cn30xx; 622 } cn30xx;
1049 struct cvmx_pow_wq_int_cntx_cn31xx { 623 struct cvmx_pow_wq_int_cntx_cn31xx {
1050#ifdef __BIG_ENDIAN_BITFIELD
1051 uint64_t reserved_28_63:36; 624 uint64_t reserved_28_63:36;
1052 uint64_t tc_cnt:4; 625 uint64_t tc_cnt:4;
1053 uint64_t reserved_21_23:3; 626 uint64_t reserved_21_23:3;
1054 uint64_t ds_cnt:9; 627 uint64_t ds_cnt:9;
1055 uint64_t reserved_9_11:3; 628 uint64_t reserved_9_11:3;
1056 uint64_t iq_cnt:9; 629 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
1065 } cn31xx; 630 } cn31xx;
1066 struct cvmx_pow_wq_int_cntx_s cn38xx; 631 struct cvmx_pow_wq_int_cntx_s cn38xx;
1067 struct cvmx_pow_wq_int_cntx_s cn38xxp2; 632 struct cvmx_pow_wq_int_cntx_s cn38xxp2;
1068 struct cvmx_pow_wq_int_cntx_cn31xx cn50xx; 633 struct cvmx_pow_wq_int_cntx_cn31xx cn50xx;
1069 struct cvmx_pow_wq_int_cntx_cn52xx { 634 struct cvmx_pow_wq_int_cntx_cn52xx {
1070#ifdef __BIG_ENDIAN_BITFIELD
1071 uint64_t reserved_28_63:36; 635 uint64_t reserved_28_63:36;
1072 uint64_t tc_cnt:4; 636 uint64_t tc_cnt:4;
1073 uint64_t reserved_22_23:2; 637 uint64_t reserved_22_23:2;
1074 uint64_t ds_cnt:10; 638 uint64_t ds_cnt:10;
1075 uint64_t reserved_10_11:2; 639 uint64_t reserved_10_11:2;
1076 uint64_t iq_cnt:10; 640 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
1085 } cn52xx; 641 } cn52xx;
1086 struct cvmx_pow_wq_int_cntx_cn52xx cn52xxp1; 642 struct cvmx_pow_wq_int_cntx_cn52xx cn52xxp1;
1087 struct cvmx_pow_wq_int_cntx_s cn56xx; 643 struct cvmx_pow_wq_int_cntx_s cn56xx;
1088 struct cvmx_pow_wq_int_cntx_s cn56xxp1; 644 struct cvmx_pow_wq_int_cntx_s cn56xxp1;
1089 struct cvmx_pow_wq_int_cntx_s cn58xx; 645 struct cvmx_pow_wq_int_cntx_s cn58xx;
1090 struct cvmx_pow_wq_int_cntx_s cn58xxp1; 646 struct cvmx_pow_wq_int_cntx_s cn58xxp1;
1091 struct cvmx_pow_wq_int_cntx_cn52xx cn61xx;
1092 struct cvmx_pow_wq_int_cntx_cn63xx { 647 struct cvmx_pow_wq_int_cntx_cn63xx {
1093#ifdef __BIG_ENDIAN_BITFIELD
1094 uint64_t reserved_28_63:36; 648 uint64_t reserved_28_63:36;
1095 uint64_t tc_cnt:4; 649 uint64_t tc_cnt:4;
1096 uint64_t reserved_23_23:1; 650 uint64_t reserved_23_23:1;
1097 uint64_t ds_cnt:11; 651 uint64_t ds_cnt:11;
1098 uint64_t reserved_11_11:1; 652 uint64_t reserved_11_11:1;
1099 uint64_t iq_cnt:11; 653 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
1108 } cn63xx; 654 } cn63xx;
1109 struct cvmx_pow_wq_int_cntx_cn63xx cn63xxp1; 655 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;
1112}; 656};
1113 657
1114union cvmx_pow_wq_int_pc { 658union cvmx_pow_wq_int_pc {
1115 uint64_t u64; 659 uint64_t u64;
1116 struct cvmx_pow_wq_int_pc_s { 660 struct cvmx_pow_wq_int_pc_s {
1117#ifdef __BIG_ENDIAN_BITFIELD
1118 uint64_t reserved_60_63:4; 661 uint64_t reserved_60_63:4;
1119 uint64_t pc:28; 662 uint64_t pc:28;
1120 uint64_t reserved_28_31:4; 663 uint64_t reserved_28_31:4;
1121 uint64_t pc_thr:20; 664 uint64_t pc_thr:20;
1122 uint64_t reserved_0_7:8; 665 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
1130 } s; 666 } s;
1131 struct cvmx_pow_wq_int_pc_s cn30xx; 667 struct cvmx_pow_wq_int_pc_s cn30xx;
1132 struct cvmx_pow_wq_int_pc_s cn31xx; 668 struct cvmx_pow_wq_int_pc_s cn31xx;
@@ -1139,17 +675,13 @@ union cvmx_pow_wq_int_pc {
1139 struct cvmx_pow_wq_int_pc_s cn56xxp1; 675 struct cvmx_pow_wq_int_pc_s cn56xxp1;
1140 struct cvmx_pow_wq_int_pc_s cn58xx; 676 struct cvmx_pow_wq_int_pc_s cn58xx;
1141 struct cvmx_pow_wq_int_pc_s cn58xxp1; 677 struct cvmx_pow_wq_int_pc_s cn58xxp1;
1142 struct cvmx_pow_wq_int_pc_s cn61xx;
1143 struct cvmx_pow_wq_int_pc_s cn63xx; 678 struct cvmx_pow_wq_int_pc_s cn63xx;
1144 struct cvmx_pow_wq_int_pc_s cn63xxp1; 679 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;
1147}; 680};
1148 681
1149union cvmx_pow_wq_int_thrx { 682union cvmx_pow_wq_int_thrx {
1150 uint64_t u64; 683 uint64_t u64;
1151 struct cvmx_pow_wq_int_thrx_s { 684 struct cvmx_pow_wq_int_thrx_s {
1152#ifdef __BIG_ENDIAN_BITFIELD
1153 uint64_t reserved_29_63:35; 685 uint64_t reserved_29_63:35;
1154 uint64_t tc_en:1; 686 uint64_t tc_en:1;
1155 uint64_t tc_thr:4; 687 uint64_t tc_thr:4;
@@ -1157,18 +689,8 @@ union cvmx_pow_wq_int_thrx {
1157 uint64_t ds_thr:11; 689 uint64_t ds_thr:11;
1158 uint64_t reserved_11_11:1; 690 uint64_t reserved_11_11:1;
1159 uint64_t iq_thr:11; 691 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
1169 } s; 692 } s;
1170 struct cvmx_pow_wq_int_thrx_cn30xx { 693 struct cvmx_pow_wq_int_thrx_cn30xx {
1171#ifdef __BIG_ENDIAN_BITFIELD
1172 uint64_t reserved_29_63:35; 694 uint64_t reserved_29_63:35;
1173 uint64_t tc_en:1; 695 uint64_t tc_en:1;
1174 uint64_t tc_thr:4; 696 uint64_t tc_thr:4;
@@ -1176,18 +698,8 @@ union cvmx_pow_wq_int_thrx {
1176 uint64_t ds_thr:6; 698 uint64_t ds_thr:6;
1177 uint64_t reserved_6_11:6; 699 uint64_t reserved_6_11:6;
1178 uint64_t iq_thr:6; 700 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
1188 } cn30xx; 701 } cn30xx;
1189 struct cvmx_pow_wq_int_thrx_cn31xx { 702 struct cvmx_pow_wq_int_thrx_cn31xx {
1190#ifdef __BIG_ENDIAN_BITFIELD
1191 uint64_t reserved_29_63:35; 703 uint64_t reserved_29_63:35;
1192 uint64_t tc_en:1; 704 uint64_t tc_en:1;
1193 uint64_t tc_thr:4; 705 uint64_t tc_thr:4;
@@ -1195,21 +707,11 @@ union cvmx_pow_wq_int_thrx {
1195 uint64_t ds_thr:8; 707 uint64_t ds_thr:8;
1196 uint64_t reserved_8_11:4; 708 uint64_t reserved_8_11:4;
1197 uint64_t iq_thr:8; 709 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
1207 } cn31xx; 710 } cn31xx;
1208 struct cvmx_pow_wq_int_thrx_s cn38xx; 711 struct cvmx_pow_wq_int_thrx_s cn38xx;
1209 struct cvmx_pow_wq_int_thrx_s cn38xxp2; 712 struct cvmx_pow_wq_int_thrx_s cn38xxp2;
1210 struct cvmx_pow_wq_int_thrx_cn31xx cn50xx; 713 struct cvmx_pow_wq_int_thrx_cn31xx cn50xx;
1211 struct cvmx_pow_wq_int_thrx_cn52xx { 714 struct cvmx_pow_wq_int_thrx_cn52xx {
1212#ifdef __BIG_ENDIAN_BITFIELD
1213 uint64_t reserved_29_63:35; 715 uint64_t reserved_29_63:35;
1214 uint64_t tc_en:1; 716 uint64_t tc_en:1;
1215 uint64_t tc_thr:4; 717 uint64_t tc_thr:4;
@@ -1217,24 +719,13 @@ union cvmx_pow_wq_int_thrx {
1217 uint64_t ds_thr:9; 719 uint64_t ds_thr:9;
1218 uint64_t reserved_9_11:3; 720 uint64_t reserved_9_11:3;
1219 uint64_t iq_thr:9; 721 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
1229 } cn52xx; 722 } cn52xx;
1230 struct cvmx_pow_wq_int_thrx_cn52xx cn52xxp1; 723 struct cvmx_pow_wq_int_thrx_cn52xx cn52xxp1;
1231 struct cvmx_pow_wq_int_thrx_s cn56xx; 724 struct cvmx_pow_wq_int_thrx_s cn56xx;
1232 struct cvmx_pow_wq_int_thrx_s cn56xxp1; 725 struct cvmx_pow_wq_int_thrx_s cn56xxp1;
1233 struct cvmx_pow_wq_int_thrx_s cn58xx; 726 struct cvmx_pow_wq_int_thrx_s cn58xx;
1234 struct cvmx_pow_wq_int_thrx_s cn58xxp1; 727 struct cvmx_pow_wq_int_thrx_s cn58xxp1;
1235 struct cvmx_pow_wq_int_thrx_cn52xx cn61xx;
1236 struct cvmx_pow_wq_int_thrx_cn63xx { 728 struct cvmx_pow_wq_int_thrx_cn63xx {
1237#ifdef __BIG_ENDIAN_BITFIELD
1238 uint64_t reserved_29_63:35; 729 uint64_t reserved_29_63:35;
1239 uint64_t tc_en:1; 730 uint64_t tc_en:1;
1240 uint64_t tc_thr:4; 731 uint64_t tc_thr:4;
@@ -1242,31 +733,15 @@ union cvmx_pow_wq_int_thrx {
1242 uint64_t ds_thr:10; 733 uint64_t ds_thr:10;
1243 uint64_t reserved_10_11:2; 734 uint64_t reserved_10_11:2;
1244 uint64_t iq_thr:10; 735 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
1254 } cn63xx; 736 } cn63xx;
1255 struct cvmx_pow_wq_int_thrx_cn63xx cn63xxp1; 737 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;
1258}; 738};
1259 739
1260union cvmx_pow_ws_pcx { 740union cvmx_pow_ws_pcx {
1261 uint64_t u64; 741 uint64_t u64;
1262 struct cvmx_pow_ws_pcx_s { 742 struct cvmx_pow_ws_pcx_s {
1263#ifdef __BIG_ENDIAN_BITFIELD
1264 uint64_t reserved_32_63:32; 743 uint64_t reserved_32_63:32;
1265 uint64_t ws_pc:32; 744 uint64_t ws_pc:32;
1266#else
1267 uint64_t ws_pc:32;
1268 uint64_t reserved_32_63:32;
1269#endif
1270 } s; 745 } s;
1271 struct cvmx_pow_ws_pcx_s cn30xx; 746 struct cvmx_pow_ws_pcx_s cn30xx;
1272 struct cvmx_pow_ws_pcx_s cn31xx; 747 struct cvmx_pow_ws_pcx_s cn31xx;
@@ -1279,11 +754,8 @@ union cvmx_pow_ws_pcx {
1279 struct cvmx_pow_ws_pcx_s cn56xxp1; 754 struct cvmx_pow_ws_pcx_s cn56xxp1;
1280 struct cvmx_pow_ws_pcx_s cn58xx; 755 struct cvmx_pow_ws_pcx_s cn58xx;
1281 struct cvmx_pow_ws_pcx_s cn58xxp1; 756 struct cvmx_pow_ws_pcx_s cn58xxp1;
1282 struct cvmx_pow_ws_pcx_s cn61xx;
1283 struct cvmx_pow_ws_pcx_s cn63xx; 757 struct cvmx_pow_ws_pcx_s cn63xx;
1284 struct cvmx_pow_ws_pcx_s cn63xxp1; 758 struct cvmx_pow_ws_pcx_s cn63xxp1;
1285 struct cvmx_pow_ws_pcx_s cn66xx;
1286 struct cvmx_pow_ws_pcx_s cnf71xx;
1287}; 759};
1288 760
1289#endif 761#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-pow.h b/arch/mips/include/asm/octeon/cvmx-pow.h
deleted file mode 100644
index 92742b241a5..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-pow.h
+++ /dev/null
@@ -1,1982 +0,0 @@
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-2008 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/**
29 * Interface to the hardware Packet Order / Work unit.
30 *
31 * New, starting with SDK 1.7.0, cvmx-pow supports a number of
32 * extended consistency checks. The define
33 * CVMX_ENABLE_POW_CHECKS controls the runtime insertion of POW
34 * internal state checks to find common programming errors. If
35 * CVMX_ENABLE_POW_CHECKS is not defined, checks are by default
36 * enabled. For example, cvmx-pow will check for the following
37 * program errors or POW state inconsistency.
38 * - Requesting a POW operation with an active tag switch in
39 * progress.
40 * - Waiting for a tag switch to complete for an excessively
41 * long period. This is normally a sign of an error in locking
42 * causing deadlock.
43 * - Illegal tag switches from NULL_NULL.
44 * - Illegal tag switches from NULL.
45 * - Illegal deschedule request.
46 * - WQE pointer not matching the one attached to the core by
47 * the POW.
48 *
49 */
50
51#ifndef __CVMX_POW_H__
52#define __CVMX_POW_H__
53
54#include <asm/octeon/cvmx-pow-defs.h>
55
56#include <asm/octeon/cvmx-scratch.h>
57#include <asm/octeon/cvmx-wqe.h>
58
59/* Default to having all POW constancy checks turned on */
60#ifndef CVMX_ENABLE_POW_CHECKS
61#define CVMX_ENABLE_POW_CHECKS 1
62#endif
63
64enum cvmx_pow_tag_type {
65 /* Tag ordering is maintained */
66 CVMX_POW_TAG_TYPE_ORDERED = 0L,
67 /* Tag ordering is maintained, and at most one PP has the tag */
68 CVMX_POW_TAG_TYPE_ATOMIC = 1L,
69 /*
70 * The work queue entry from the order - NEVER tag switch from
71 * NULL to NULL
72 */
73 CVMX_POW_TAG_TYPE_NULL = 2L,
74 /* A tag switch to NULL, and there is no space reserved in POW
75 * - NEVER tag switch to NULL_NULL
76 * - NEVER tag switch from NULL_NULL
77 * - NULL_NULL is entered at the beginning of time and on a deschedule.
78 * - NULL_NULL can be exited by a new work request. A NULL_SWITCH
79 * load can also switch the state to NULL
80 */
81 CVMX_POW_TAG_TYPE_NULL_NULL = 3L
82};
83
84/**
85 * Wait flag values for pow functions.
86 */
87typedef enum {
88 CVMX_POW_WAIT = 1,
89 CVMX_POW_NO_WAIT = 0,
90} cvmx_pow_wait_t;
91
92/**
93 * POW tag operations. These are used in the data stored to the POW.
94 */
95typedef enum {
96 /*
97 * switch the tag (only) for this PP
98 * - the previous tag should be non-NULL in this case
99 * - tag switch response required
100 * - fields used: op, type, tag
101 */
102 CVMX_POW_TAG_OP_SWTAG = 0L,
103 /*
104 * switch the tag for this PP, with full information
105 * - this should be used when the previous tag is NULL
106 * - tag switch response required
107 * - fields used: address, op, grp, type, tag
108 */
109 CVMX_POW_TAG_OP_SWTAG_FULL = 1L,
110 /*
111 * switch the tag (and/or group) for this PP and de-schedule
112 * - OK to keep the tag the same and only change the group
113 * - fields used: op, no_sched, grp, type, tag
114 */
115 CVMX_POW_TAG_OP_SWTAG_DESCH = 2L,
116 /*
117 * just de-schedule
118 * - fields used: op, no_sched
119 */
120 CVMX_POW_TAG_OP_DESCH = 3L,
121 /*
122 * create an entirely new work queue entry
123 * - fields used: address, op, qos, grp, type, tag
124 */
125 CVMX_POW_TAG_OP_ADDWQ = 4L,
126 /*
127 * just update the work queue pointer and grp for this PP
128 * - fields used: address, op, grp
129 */
130 CVMX_POW_TAG_OP_UPDATE_WQP_GRP = 5L,
131 /*
132 * set the no_sched bit on the de-schedule list
133 *
134 * - does nothing if the selected entry is not on the
135 * de-schedule list
136 *
137 * - does nothing if the stored work queue pointer does not
138 * match the address field
139 *
140 * - fields used: address, index, op
141 *
142 * Before issuing a *_NSCHED operation, SW must guarantee
143 * that all prior deschedules and set/clr NSCHED operations
144 * are complete and all prior switches are complete. The
145 * hardware provides the opsdone bit and swdone bit for SW
146 * polling. After issuing a *_NSCHED operation, SW must
147 * guarantee that the set/clr NSCHED is complete before any
148 * subsequent operations.
149 */
150 CVMX_POW_TAG_OP_SET_NSCHED = 6L,
151 /*
152 * clears the no_sched bit on the de-schedule list
153 *
154 * - does nothing if the selected entry is not on the
155 * de-schedule list
156 *
157 * - does nothing if the stored work queue pointer does not
158 * match the address field
159 *
160 * - fields used: address, index, op
161 *
162 * Before issuing a *_NSCHED operation, SW must guarantee that
163 * all prior deschedules and set/clr NSCHED operations are
164 * complete and all prior switches are complete. The hardware
165 * provides the opsdone bit and swdone bit for SW
166 * polling. After issuing a *_NSCHED operation, SW must
167 * guarantee that the set/clr NSCHED is complete before any
168 * subsequent operations.
169 */
170 CVMX_POW_TAG_OP_CLR_NSCHED = 7L,
171 /* do nothing */
172 CVMX_POW_TAG_OP_NOP = 15L
173} cvmx_pow_tag_op_t;
174
175/**
176 * This structure defines the store data on a store to POW
177 */
178typedef union {
179 uint64_t u64;
180 struct {
181 /*
182 * Don't reschedule this entry. no_sched is used for
183 * CVMX_POW_TAG_OP_SWTAG_DESCH and
184 * CVMX_POW_TAG_OP_DESCH
185 */
186 uint64_t no_sched:1;
187 uint64_t unused:2;
188 /* Tontains index of entry for a CVMX_POW_TAG_OP_*_NSCHED */
189 uint64_t index:13;
190 /* The operation to perform */
191 cvmx_pow_tag_op_t op:4;
192 uint64_t unused2:2;
193 /*
194 * The QOS level for the packet. qos is only used for
195 * CVMX_POW_TAG_OP_ADDWQ
196 */
197 uint64_t qos:3;
198 /*
199 * The group that the work queue entry will be
200 * scheduled to grp is used for CVMX_POW_TAG_OP_ADDWQ,
201 * CVMX_POW_TAG_OP_SWTAG_FULL,
202 * CVMX_POW_TAG_OP_SWTAG_DESCH, and
203 * CVMX_POW_TAG_OP_UPDATE_WQP_GRP
204 */
205 uint64_t grp:4;
206 /*
207 * The type of the tag. type is used for everything
208 * except CVMX_POW_TAG_OP_DESCH,
209 * CVMX_POW_TAG_OP_UPDATE_WQP_GRP, and
210 * CVMX_POW_TAG_OP_*_NSCHED
211 */
212 uint64_t type:3;
213 /*
214 * The actual tag. tag is used for everything except
215 * CVMX_POW_TAG_OP_DESCH,
216 * CVMX_POW_TAG_OP_UPDATE_WQP_GRP, and
217 * CVMX_POW_TAG_OP_*_NSCHED
218 */
219 uint64_t tag:32;
220 } s;
221} cvmx_pow_tag_req_t;
222
223/**
224 * This structure describes the address to load stuff from POW
225 */
226typedef union {
227 uint64_t u64;
228
229 /**
230 * Address for new work request loads (did<2:0> == 0)
231 */
232 struct {
233 /* Mips64 address region. Should be CVMX_IO_SEG */
234 uint64_t mem_region:2;
235 /* Must be zero */
236 uint64_t reserved_49_61:13;
237 /* Must be one */
238 uint64_t is_io:1;
239 /* the ID of POW -- did<2:0> == 0 in this case */
240 uint64_t did:8;
241 /* Must be zero */
242 uint64_t reserved_4_39:36;
243 /*
244 * If set, don't return load response until work is
245 * available.
246 */
247 uint64_t wait:1;
248 /* Must be zero */
249 uint64_t reserved_0_2:3;
250 } swork;
251
252 /**
253 * Address for loads to get POW internal status
254 */
255 struct {
256 /* Mips64 address region. Should be CVMX_IO_SEG */
257 uint64_t mem_region:2;
258 /* Must be zero */
259 uint64_t reserved_49_61:13;
260 /* Must be one */
261 uint64_t is_io:1;
262 /* the ID of POW -- did<2:0> == 1 in this case */
263 uint64_t did:8;
264 /* Must be zero */
265 uint64_t reserved_10_39:30;
266 /* The core id to get status for */
267 uint64_t coreid:4;
268 /*
269 * If set and get_cur is set, return reverse tag-list
270 * pointer rather than forward tag-list pointer.
271 */
272 uint64_t get_rev:1;
273 /*
274 * If set, return current status rather than pending
275 * status.
276 */
277 uint64_t get_cur:1;
278 /*
279 * If set, get the work-queue pointer rather than
280 * tag/type.
281 */
282 uint64_t get_wqp:1;
283 /* Must be zero */
284 uint64_t reserved_0_2:3;
285 } sstatus;
286
287 /**
288 * Address for memory loads to get POW internal state
289 */
290 struct {
291 /* Mips64 address region. Should be CVMX_IO_SEG */
292 uint64_t mem_region:2;
293 /* Must be zero */
294 uint64_t reserved_49_61:13;
295 /* Must be one */
296 uint64_t is_io:1;
297 /* the ID of POW -- did<2:0> == 2 in this case */
298 uint64_t did:8;
299 /* Must be zero */
300 uint64_t reserved_16_39:24;
301 /* POW memory index */
302 uint64_t index:11;
303 /*
304 * If set, return deschedule information rather than
305 * the standard response for work-queue index (invalid
306 * if the work-queue entry is not on the deschedule
307 * list).
308 */
309 uint64_t get_des:1;
310 /*
311 * If set, get the work-queue pointer rather than
312 * tag/type (no effect when get_des set).
313 */
314 uint64_t get_wqp:1;
315 /* Must be zero */
316 uint64_t reserved_0_2:3;
317 } smemload;
318
319 /**
320 * Address for index/pointer loads
321 */
322 struct {
323 /* Mips64 address region. Should be CVMX_IO_SEG */
324 uint64_t mem_region:2;
325 /* Must be zero */
326 uint64_t reserved_49_61:13;
327 /* Must be one */
328 uint64_t is_io:1;
329 /* the ID of POW -- did<2:0> == 3 in this case */
330 uint64_t did:8;
331 /* Must be zero */
332 uint64_t reserved_9_39:31;
333 /*
334 * when {get_rmt ==0 AND get_des_get_tail == 0}, this
335 * field selects one of eight POW internal-input
336 * queues (0-7), one per QOS level; values 8-15 are
337 * illegal in this case; when {get_rmt ==0 AND
338 * get_des_get_tail == 1}, this field selects one of
339 * 16 deschedule lists (per group); when get_rmt ==1,
340 * this field selects one of 16 memory-input queue
341 * lists. The two memory-input queue lists associated
342 * with each QOS level are:
343 *
344 * - qosgrp = 0, qosgrp = 8: QOS0
345 * - qosgrp = 1, qosgrp = 9: QOS1
346 * - qosgrp = 2, qosgrp = 10: QOS2
347 * - qosgrp = 3, qosgrp = 11: QOS3
348 * - qosgrp = 4, qosgrp = 12: QOS4
349 * - qosgrp = 5, qosgrp = 13: QOS5
350 * - qosgrp = 6, qosgrp = 14: QOS6
351 * - qosgrp = 7, qosgrp = 15: QOS7
352 */
353 uint64_t qosgrp:4;
354 /*
355 * If set and get_rmt is clear, return deschedule list
356 * indexes rather than indexes for the specified qos
357 * level; if set and get_rmt is set, return the tail
358 * pointer rather than the head pointer for the
359 * specified qos level.
360 */
361 uint64_t get_des_get_tail:1;
362 /*
363 * If set, return remote pointers rather than the
364 * local indexes for the specified qos level.
365 */
366 uint64_t get_rmt:1;
367 /* Must be zero */
368 uint64_t reserved_0_2:3;
369 } sindexload;
370
371 /**
372 * address for NULL_RD request (did<2:0> == 4) when this is read,
373 * HW attempts to change the state to NULL if it is NULL_NULL (the
374 * hardware cannot switch from NULL_NULL to NULL if a POW entry is
375 * not available - software may need to recover by finishing
376 * another piece of work before a POW entry can ever become
377 * available.)
378 */
379 struct {
380 /* Mips64 address region. Should be CVMX_IO_SEG */
381 uint64_t mem_region:2;
382 /* Must be zero */
383 uint64_t reserved_49_61:13;
384 /* Must be one */
385 uint64_t is_io:1;
386 /* the ID of POW -- did<2:0> == 4 in this case */
387 uint64_t did:8;
388 /* Must be zero */
389 uint64_t reserved_0_39:40;
390 } snull_rd;
391} cvmx_pow_load_addr_t;
392
393/**
394 * This structure defines the response to a load/SENDSINGLE to POW
395 * (except CSR reads)
396 */
397typedef union {
398 uint64_t u64;
399
400 /**
401 * Response to new work request loads
402 */
403 struct {
404 /*
405 * Set when no new work queue entry was returned. *
406 * If there was de-scheduled work, the HW will
407 * definitely return it. When this bit is set, it
408 * could mean either mean:
409 *
410 * - There was no work, or
411 *
412 * - There was no work that the HW could find. This
413 * case can happen, regardless of the wait bit value
414 * in the original request, when there is work in
415 * the IQ's that is too deep down the list.
416 */
417 uint64_t no_work:1;
418 /* Must be zero */
419 uint64_t reserved_40_62:23;
420 /* 36 in O1 -- the work queue pointer */
421 uint64_t addr:40;
422 } s_work;
423
424 /**
425 * Result for a POW Status Load (when get_cur==0 and get_wqp==0)
426 */
427 struct {
428 uint64_t reserved_62_63:2;
429 /* Set when there is a pending non-NULL SWTAG or
430 * SWTAG_FULL, and the POW entry has not left the list
431 * for the original tag. */
432 uint64_t pend_switch:1;
433 /* Set when SWTAG_FULL and pend_switch is set. */
434 uint64_t pend_switch_full:1;
435 /*
436 * Set when there is a pending NULL SWTAG, or an
437 * implicit switch to NULL.
438 */
439 uint64_t pend_switch_null:1;
440 /* Set when there is a pending DESCHED or SWTAG_DESCHED. */
441 uint64_t pend_desched:1;
442 /*
443 * Set when there is a pending SWTAG_DESCHED and
444 * pend_desched is set.
445 */
446 uint64_t pend_desched_switch:1;
447 /* Set when nosched is desired and pend_desched is set. */
448 uint64_t pend_nosched:1;
449 /* Set when there is a pending GET_WORK. */
450 uint64_t pend_new_work:1;
451 /*
452 * When pend_new_work is set, this bit indicates that
453 * the wait bit was set.
454 */
455 uint64_t pend_new_work_wait:1;
456 /* Set when there is a pending NULL_RD. */
457 uint64_t pend_null_rd:1;
458 /* Set when there is a pending CLR_NSCHED. */
459 uint64_t pend_nosched_clr:1;
460 uint64_t reserved_51:1;
461 /* This is the index when pend_nosched_clr is set. */
462 uint64_t pend_index:11;
463 /*
464 * This is the new_grp when (pend_desched AND
465 * pend_desched_switch) is set.
466 */
467 uint64_t pend_grp:4;
468 uint64_t reserved_34_35:2;
469 /*
470 * This is the tag type when pend_switch or
471 * (pend_desched AND pend_desched_switch) are set.
472 */
473 uint64_t pend_type:2;
474 /*
475 * - this is the tag when pend_switch or (pend_desched
476 * AND pend_desched_switch) are set.
477 */
478 uint64_t pend_tag:32;
479 } s_sstatus0;
480
481 /**
482 * Result for a POW Status Load (when get_cur==0 and get_wqp==1)
483 */
484 struct {
485 uint64_t reserved_62_63:2;
486 /*
487 * Set when there is a pending non-NULL SWTAG or
488 * SWTAG_FULL, and the POW entry has not left the list
489 * for the original tag.
490 */
491 uint64_t pend_switch:1;
492 /* Set when SWTAG_FULL and pend_switch is set. */
493 uint64_t pend_switch_full:1;
494 /*
495 * Set when there is a pending NULL SWTAG, or an
496 * implicit switch to NULL.
497 */
498 uint64_t pend_switch_null:1;
499 /*
500 * Set when there is a pending DESCHED or
501 * SWTAG_DESCHED.
502 */
503 uint64_t pend_desched:1;
504 /*
505 * Set when there is a pending SWTAG_DESCHED and
506 * pend_desched is set.
507 */
508 uint64_t pend_desched_switch:1;
509 /* Set when nosched is desired and pend_desched is set. */
510 uint64_t pend_nosched:1;
511 /* Set when there is a pending GET_WORK. */
512 uint64_t pend_new_work:1;
513 /*
514 * When pend_new_work is set, this bit indicates that
515 * the wait bit was set.
516 */
517 uint64_t pend_new_work_wait:1;
518 /* Set when there is a pending NULL_RD. */
519 uint64_t pend_null_rd:1;
520 /* Set when there is a pending CLR_NSCHED. */
521 uint64_t pend_nosched_clr:1;
522 uint64_t reserved_51:1;
523 /* This is the index when pend_nosched_clr is set. */
524 uint64_t pend_index:11;
525 /*
526 * This is the new_grp when (pend_desched AND
527 * pend_desched_switch) is set.
528 */
529 uint64_t pend_grp:4;
530 /* This is the wqp when pend_nosched_clr is set. */
531 uint64_t pend_wqp:36;
532 } s_sstatus1;
533
534 /**
535 * Result for a POW Status Load (when get_cur==1, get_wqp==0, and
536 * get_rev==0)
537 */
538 struct {
539 uint64_t reserved_62_63:2;
540 /*
541 * Points to the next POW entry in the tag list when
542 * tail == 0 (and tag_type is not NULL or NULL_NULL).
543 */
544 uint64_t link_index:11;
545 /* The POW entry attached to the core. */
546 uint64_t index:11;
547 /*
548 * The group attached to the core (updated when new
549 * tag list entered on SWTAG_FULL).
550 */
551 uint64_t grp:4;
552 /*
553 * Set when this POW entry is at the head of its tag
554 * list (also set when in the NULL or NULL_NULL
555 * state).
556 */
557 uint64_t head:1;
558 /*
559 * Set when this POW entry is at the tail of its tag
560 * list (also set when in the NULL or NULL_NULL
561 * state).
562 */
563 uint64_t tail:1;
564 /*
565 * The tag type attached to the core (updated when new
566 * tag list entered on SWTAG, SWTAG_FULL, or
567 * SWTAG_DESCHED).
568 */
569 uint64_t tag_type:2;
570 /*
571 * The tag attached to the core (updated when new tag
572 * list entered on SWTAG, SWTAG_FULL, or
573 * SWTAG_DESCHED).
574 */
575 uint64_t tag:32;
576 } s_sstatus2;
577
578 /**
579 * Result for a POW Status Load (when get_cur==1, get_wqp==0, and get_rev==1)
580 */
581 struct {
582 uint64_t reserved_62_63:2;
583 /*
584 * Points to the prior POW entry in the tag list when
585 * head == 0 (and tag_type is not NULL or
586 * NULL_NULL). This field is unpredictable when the
587 * core's state is NULL or NULL_NULL.
588 */
589 uint64_t revlink_index:11;
590 /* The POW entry attached to the core. */
591 uint64_t index:11;
592 /*
593 * The group attached to the core (updated when new
594 * tag list entered on SWTAG_FULL).
595 */
596 uint64_t grp:4;
597 /* Set when this POW entry is at the head of its tag
598 * list (also set when in the NULL or NULL_NULL
599 * state).
600 */
601 uint64_t head:1;
602 /*
603 * Set when this POW entry is at the tail of its tag
604 * list (also set when in the NULL or NULL_NULL
605 * state).
606 */
607 uint64_t tail:1;
608 /*
609 * The tag type attached to the core (updated when new
610 * tag list entered on SWTAG, SWTAG_FULL, or
611 * SWTAG_DESCHED).
612 */
613 uint64_t tag_type:2;
614 /*
615 * The tag attached to the core (updated when new tag
616 * list entered on SWTAG, SWTAG_FULL, or
617 * SWTAG_DESCHED).
618 */
619 uint64_t tag:32;
620 } s_sstatus3;
621
622 /**
623 * Result for a POW Status Load (when get_cur==1, get_wqp==1, and
624 * get_rev==0)
625 */
626 struct {
627 uint64_t reserved_62_63:2;
628 /*
629 * Points to the next POW entry in the tag list when
630 * tail == 0 (and tag_type is not NULL or NULL_NULL).
631 */
632 uint64_t link_index:11;
633 /* The POW entry attached to the core. */
634 uint64_t index:11;
635 /*
636 * The group attached to the core (updated when new
637 * tag list entered on SWTAG_FULL).
638 */
639 uint64_t grp:4;
640 /*
641 * The wqp attached to the core (updated when new tag
642 * list entered on SWTAG_FULL).
643 */
644 uint64_t wqp:36;
645 } s_sstatus4;
646
647 /**
648 * Result for a POW Status Load (when get_cur==1, get_wqp==1, and
649 * get_rev==1)
650 */
651 struct {
652 uint64_t reserved_62_63:2;
653 /*
654 * Points to the prior POW entry in the tag list when
655 * head == 0 (and tag_type is not NULL or
656 * NULL_NULL). This field is unpredictable when the
657 * core's state is NULL or NULL_NULL.
658 */
659 uint64_t revlink_index:11;
660 /* The POW entry attached to the core. */
661 uint64_t index:11;
662 /*
663 * The group attached to the core (updated when new
664 * tag list entered on SWTAG_FULL).
665 */
666 uint64_t grp:4;
667 /*
668 * The wqp attached to the core (updated when new tag
669 * list entered on SWTAG_FULL).
670 */
671 uint64_t wqp:36;
672 } s_sstatus5;
673
674 /**
675 * Result For POW Memory Load (get_des == 0 and get_wqp == 0)
676 */
677 struct {
678 uint64_t reserved_51_63:13;
679 /*
680 * The next entry in the input, free, descheduled_head
681 * list (unpredictable if entry is the tail of the
682 * list).
683 */
684 uint64_t next_index:11;
685 /* The group of the POW entry. */
686 uint64_t grp:4;
687 uint64_t reserved_35:1;
688 /*
689 * Set when this POW entry is at the tail of its tag
690 * list (also set when in the NULL or NULL_NULL
691 * state).
692 */
693 uint64_t tail:1;
694 /* The tag type of the POW entry. */
695 uint64_t tag_type:2;
696 /* The tag of the POW entry. */
697 uint64_t tag:32;
698 } s_smemload0;
699
700 /**
701 * Result For POW Memory Load (get_des == 0 and get_wqp == 1)
702 */
703 struct {
704 uint64_t reserved_51_63:13;
705 /*
706 * The next entry in the input, free, descheduled_head
707 * list (unpredictable if entry is the tail of the
708 * list).
709 */
710 uint64_t next_index:11;
711 /* The group of the POW entry. */
712 uint64_t grp:4;
713 /* The WQP held in the POW entry. */
714 uint64_t wqp:36;
715 } s_smemload1;
716
717 /**
718 * Result For POW Memory Load (get_des == 1)
719 */
720 struct {
721 uint64_t reserved_51_63:13;
722 /*
723 * The next entry in the tag list connected to the
724 * descheduled head.
725 */
726 uint64_t fwd_index:11;
727 /* The group of the POW entry. */
728 uint64_t grp:4;
729 /* The nosched bit for the POW entry. */
730 uint64_t nosched:1;
731 /* There is a pending tag switch */
732 uint64_t pend_switch:1;
733 /*
734 * The next tag type for the new tag list when
735 * pend_switch is set.
736 */
737 uint64_t pend_type:2;
738 /*
739 * The next tag for the new tag list when pend_switch
740 * is set.
741 */
742 uint64_t pend_tag:32;
743 } s_smemload2;
744
745 /**
746 * Result For POW Index/Pointer Load (get_rmt == 0/get_des_get_tail == 0)
747 */
748 struct {
749 uint64_t reserved_52_63:12;
750 /*
751 * set when there is one or more POW entries on the
752 * free list.
753 */
754 uint64_t free_val:1;
755 /*
756 * set when there is exactly one POW entry on the free
757 * list.
758 */
759 uint64_t free_one:1;
760 uint64_t reserved_49:1;
761 /*
762 * when free_val is set, indicates the first entry on
763 * the free list.
764 */
765 uint64_t free_head:11;
766 uint64_t reserved_37:1;
767 /*
768 * when free_val is set, indicates the last entry on
769 * the free list.
770 */
771 uint64_t free_tail:11;
772 /*
773 * set when there is one or more POW entries on the
774 * input Q list selected by qosgrp.
775 */
776 uint64_t loc_val:1;
777 /*
778 * set when there is exactly one POW entry on the
779 * input Q list selected by qosgrp.
780 */
781 uint64_t loc_one:1;
782 uint64_t reserved_23:1;
783 /*
784 * when loc_val is set, indicates the first entry on
785 * the input Q list selected by qosgrp.
786 */
787 uint64_t loc_head:11;
788 uint64_t reserved_11:1;
789 /*
790 * when loc_val is set, indicates the last entry on
791 * the input Q list selected by qosgrp.
792 */
793 uint64_t loc_tail:11;
794 } sindexload0;
795
796 /**
797 * Result For POW Index/Pointer Load (get_rmt == 0/get_des_get_tail == 1)
798 */
799 struct {
800 uint64_t reserved_52_63:12;
801 /*
802 * set when there is one or more POW entries on the
803 * nosched list.
804 */
805 uint64_t nosched_val:1;
806 /*
807 * set when there is exactly one POW entry on the
808 * nosched list.
809 */
810 uint64_t nosched_one:1;
811 uint64_t reserved_49:1;
812 /*
813 * when nosched_val is set, indicates the first entry
814 * on the nosched list.
815 */
816 uint64_t nosched_head:11;
817 uint64_t reserved_37:1;
818 /*
819 * when nosched_val is set, indicates the last entry
820 * on the nosched list.
821 */
822 uint64_t nosched_tail:11;
823 /*
824 * set when there is one or more descheduled heads on
825 * the descheduled list selected by qosgrp.
826 */
827 uint64_t des_val:1;
828 /*
829 * set when there is exactly one descheduled head on
830 * the descheduled list selected by qosgrp.
831 */
832 uint64_t des_one:1;
833 uint64_t reserved_23:1;
834 /*
835 * when des_val is set, indicates the first
836 * descheduled head on the descheduled list selected
837 * by qosgrp.
838 */
839 uint64_t des_head:11;
840 uint64_t reserved_11:1;
841 /*
842 * when des_val is set, indicates the last descheduled
843 * head on the descheduled list selected by qosgrp.
844 */
845 uint64_t des_tail:11;
846 } sindexload1;
847
848 /**
849 * Result For POW Index/Pointer Load (get_rmt == 1/get_des_get_tail == 0)
850 */
851 struct {
852 uint64_t reserved_39_63:25;
853 /*
854 * Set when this DRAM list is the current head
855 * (i.e. is the next to be reloaded when the POW
856 * hardware reloads a POW entry from DRAM). The POW
857 * hardware alternates between the two DRAM lists
858 * associated with a QOS level when it reloads work
859 * from DRAM into the POW unit.
860 */
861 uint64_t rmt_is_head:1;
862 /*
863 * Set when the DRAM portion of the input Q list
864 * selected by qosgrp contains one or more pieces of
865 * work.
866 */
867 uint64_t rmt_val:1;
868 /*
869 * Set when the DRAM portion of the input Q list
870 * selected by qosgrp contains exactly one piece of
871 * work.
872 */
873 uint64_t rmt_one:1;
874 /*
875 * When rmt_val is set, indicates the first piece of
876 * work on the DRAM input Q list selected by
877 * qosgrp.
878 */
879 uint64_t rmt_head:36;
880 } sindexload2;
881
882 /**
883 * Result For POW Index/Pointer Load (get_rmt ==
884 * 1/get_des_get_tail == 1)
885 */
886 struct {
887 uint64_t reserved_39_63:25;
888 /*
889 * set when this DRAM list is the current head
890 * (i.e. is the next to be reloaded when the POW
891 * hardware reloads a POW entry from DRAM). The POW
892 * hardware alternates between the two DRAM lists
893 * associated with a QOS level when it reloads work
894 * from DRAM into the POW unit.
895 */
896 uint64_t rmt_is_head:1;
897 /*
898 * set when the DRAM portion of the input Q list
899 * selected by qosgrp contains one or more pieces of
900 * work.
901 */
902 uint64_t rmt_val:1;
903 /*
904 * set when the DRAM portion of the input Q list
905 * selected by qosgrp contains exactly one piece of
906 * work.
907 */
908 uint64_t rmt_one:1;
909 /*
910 * when rmt_val is set, indicates the last piece of
911 * work on the DRAM input Q list selected by
912 * qosgrp.
913 */
914 uint64_t rmt_tail:36;
915 } sindexload3;
916
917 /**
918 * Response to NULL_RD request loads
919 */
920 struct {
921 uint64_t unused:62;
922 /* of type cvmx_pow_tag_type_t. state is one of the
923 * following:
924 *
925 * - CVMX_POW_TAG_TYPE_ORDERED
926 * - CVMX_POW_TAG_TYPE_ATOMIC
927 * - CVMX_POW_TAG_TYPE_NULL
928 * - CVMX_POW_TAG_TYPE_NULL_NULL
929 */
930 uint64_t state:2;
931 } s_null_rd;
932
933} cvmx_pow_tag_load_resp_t;
934
935/**
936 * This structure describes the address used for stores to the POW.
937 * The store address is meaningful on stores to the POW. The
938 * hardware assumes that an aligned 64-bit store was used for all
939 * these stores. Note the assumption that the work queue entry is
940 * aligned on an 8-byte boundary (since the low-order 3 address bits
941 * must be zero). Note that not all fields are used by all
942 * operations.
943 *
944 * NOTE: The following is the behavior of the pending switch bit at the PP
945 * for POW stores (i.e. when did<7:3> == 0xc)
946 * - did<2:0> == 0 => pending switch bit is set
947 * - did<2:0> == 1 => no affect on the pending switch bit
948 * - did<2:0> == 3 => pending switch bit is cleared
949 * - did<2:0> == 7 => no affect on the pending switch bit
950 * - did<2:0> == others => must not be used
951 * - No other loads/stores have an affect on the pending switch bit
952 * - The switch bus from POW can clear the pending switch bit
953 *
954 * NOTE: did<2:0> == 2 is used by the HW for a special single-cycle
955 * ADDWQ command that only contains the pointer). SW must never use
956 * did<2:0> == 2.
957 */
958typedef union {
959 /**
960 * Unsigned 64 bit integer representation of store address
961 */
962 uint64_t u64;
963
964 struct {
965 /* Memory region. Should be CVMX_IO_SEG in most cases */
966 uint64_t mem_reg:2;
967 uint64_t reserved_49_61:13; /* Must be zero */
968 uint64_t is_io:1; /* Must be one */
969 /* Device ID of POW. Note that different sub-dids are used. */
970 uint64_t did:8;
971 uint64_t reserved_36_39:4; /* Must be zero */
972 /* Address field. addr<2:0> must be zero */
973 uint64_t addr:36;
974 } stag;
975} cvmx_pow_tag_store_addr_t;
976
977/**
978 * decode of the store data when an IOBDMA SENDSINGLE is sent to POW
979 */
980typedef union {
981 uint64_t u64;
982
983 struct {
984 /*
985 * the (64-bit word) location in scratchpad to write
986 * to (if len != 0)
987 */
988 uint64_t scraddr:8;
989 /* the number of words in the response (0 => no response) */
990 uint64_t len:8;
991 /* the ID of the device on the non-coherent bus */
992 uint64_t did:8;
993 uint64_t unused:36;
994 /* if set, don't return load response until work is available */
995 uint64_t wait:1;
996 uint64_t unused2:3;
997 } s;
998
999} cvmx_pow_iobdma_store_t;
1000
1001/* CSR typedefs have been moved to cvmx-csr-*.h */
1002
1003/**
1004 * Get the POW tag for this core. This returns the current
1005 * tag type, tag, group, and POW entry index associated with
1006 * this core. Index is only valid if the tag type isn't NULL_NULL.
1007 * If a tag switch is pending this routine returns the tag before
1008 * the tag switch, not after.
1009 *
1010 * Returns Current tag
1011 */
1012static inline cvmx_pow_tag_req_t cvmx_pow_get_current_tag(void)
1013{
1014 cvmx_pow_load_addr_t load_addr;
1015 cvmx_pow_tag_load_resp_t load_resp;
1016 cvmx_pow_tag_req_t result;
1017
1018 load_addr.u64 = 0;
1019 load_addr.sstatus.mem_region = CVMX_IO_SEG;
1020 load_addr.sstatus.is_io = 1;
1021 load_addr.sstatus.did = CVMX_OCT_DID_TAG_TAG1;
1022 load_addr.sstatus.coreid = cvmx_get_core_num();
1023 load_addr.sstatus.get_cur = 1;
1024 load_resp.u64 = cvmx_read_csr(load_addr.u64);
1025 result.u64 = 0;
1026 result.s.grp = load_resp.s_sstatus2.grp;
1027 result.s.index = load_resp.s_sstatus2.index;
1028 result.s.type = load_resp.s_sstatus2.tag_type;
1029 result.s.tag = load_resp.s_sstatus2.tag;
1030 return result;
1031}
1032
1033/**
1034 * Get the POW WQE for this core. This returns the work queue
1035 * entry currently associated with this core.
1036 *
1037 * Returns WQE pointer
1038 */
1039static inline cvmx_wqe_t *cvmx_pow_get_current_wqp(void)
1040{
1041 cvmx_pow_load_addr_t load_addr;
1042 cvmx_pow_tag_load_resp_t load_resp;
1043
1044 load_addr.u64 = 0;
1045 load_addr.sstatus.mem_region = CVMX_IO_SEG;
1046 load_addr.sstatus.is_io = 1;
1047 load_addr.sstatus.did = CVMX_OCT_DID_TAG_TAG1;
1048 load_addr.sstatus.coreid = cvmx_get_core_num();
1049 load_addr.sstatus.get_cur = 1;
1050 load_addr.sstatus.get_wqp = 1;
1051 load_resp.u64 = cvmx_read_csr(load_addr.u64);
1052 return (cvmx_wqe_t *) cvmx_phys_to_ptr(load_resp.s_sstatus4.wqp);
1053}
1054
1055#ifndef CVMX_MF_CHORD
1056#define CVMX_MF_CHORD(dest) CVMX_RDHWR(dest, 30)
1057#endif
1058
1059/**
1060 * Print a warning if a tag switch is pending for this core
1061 *
1062 * @function: Function name checking for a pending tag switch
1063 */
1064static inline void __cvmx_pow_warn_if_pending_switch(const char *function)
1065{
1066 uint64_t switch_complete;
1067 CVMX_MF_CHORD(switch_complete);
1068 if (!switch_complete)
1069 pr_warning("%s called with tag switch in progress\n", function);
1070}
1071
1072/**
1073 * Waits for a tag switch to complete by polling the completion bit.
1074 * Note that switches to NULL complete immediately and do not need
1075 * to be waited for.
1076 */
1077static inline void cvmx_pow_tag_sw_wait(void)
1078{
1079 const uint64_t MAX_CYCLES = 1ull << 31;
1080 uint64_t switch_complete;
1081 uint64_t start_cycle = cvmx_get_cycle();
1082 while (1) {
1083 CVMX_MF_CHORD(switch_complete);
1084 if (unlikely(switch_complete))
1085 break;
1086 if (unlikely(cvmx_get_cycle() > start_cycle + MAX_CYCLES)) {
1087 pr_warning("Tag switch is taking a long time, "
1088 "possible deadlock\n");
1089 start_cycle = -MAX_CYCLES - 1;
1090 }
1091 }
1092}
1093
1094/**
1095 * Synchronous work request. Requests work from the POW.
1096 * This function does NOT wait for previous tag switches to complete,
1097 * so the caller must ensure that there is not a pending tag switch.
1098 *
1099 * @wait: When set, call stalls until work becomes avaiable, or times out.
1100 * If not set, returns immediately.
1101 *
1102 * Returns Returns the WQE pointer from POW. Returns NULL if no work
1103 * was available.
1104 */
1105static inline cvmx_wqe_t *cvmx_pow_work_request_sync_nocheck(cvmx_pow_wait_t
1106 wait)
1107{
1108 cvmx_pow_load_addr_t ptr;
1109 cvmx_pow_tag_load_resp_t result;
1110
1111 if (CVMX_ENABLE_POW_CHECKS)
1112 __cvmx_pow_warn_if_pending_switch(__func__);
1113
1114 ptr.u64 = 0;
1115 ptr.swork.mem_region = CVMX_IO_SEG;
1116 ptr.swork.is_io = 1;
1117 ptr.swork.did = CVMX_OCT_DID_TAG_SWTAG;
1118 ptr.swork.wait = wait;
1119
1120 result.u64 = cvmx_read_csr(ptr.u64);
1121
1122 if (result.s_work.no_work)
1123 return NULL;
1124 else
1125 return (cvmx_wqe_t *) cvmx_phys_to_ptr(result.s_work.addr);
1126}
1127
1128/**
1129 * Synchronous work request. Requests work from the POW.
1130 * This function waits for any previous tag switch to complete before
1131 * requesting the new work.
1132 *
1133 * @wait: When set, call stalls until work becomes avaiable, or times out.
1134 * If not set, returns immediately.
1135 *
1136 * Returns Returns the WQE pointer from POW. Returns NULL if no work
1137 * was available.
1138 */
1139static inline cvmx_wqe_t *cvmx_pow_work_request_sync(cvmx_pow_wait_t wait)
1140{
1141 if (CVMX_ENABLE_POW_CHECKS)
1142 __cvmx_pow_warn_if_pending_switch(__func__);
1143
1144 /* Must not have a switch pending when requesting work */
1145 cvmx_pow_tag_sw_wait();
1146 return cvmx_pow_work_request_sync_nocheck(wait);
1147
1148}
1149
1150/**
1151 * Synchronous null_rd request. Requests a switch out of NULL_NULL POW state.
1152 * This function waits for any previous tag switch to complete before
1153 * requesting the null_rd.
1154 *
1155 * Returns Returns the POW state of type cvmx_pow_tag_type_t.
1156 */
1157static inline enum cvmx_pow_tag_type cvmx_pow_work_request_null_rd(void)
1158{
1159 cvmx_pow_load_addr_t ptr;
1160 cvmx_pow_tag_load_resp_t result;
1161
1162 if (CVMX_ENABLE_POW_CHECKS)
1163 __cvmx_pow_warn_if_pending_switch(__func__);
1164
1165 /* Must not have a switch pending when requesting work */
1166 cvmx_pow_tag_sw_wait();
1167
1168 ptr.u64 = 0;
1169 ptr.snull_rd.mem_region = CVMX_IO_SEG;
1170 ptr.snull_rd.is_io = 1;
1171 ptr.snull_rd.did = CVMX_OCT_DID_TAG_NULL_RD;
1172
1173 result.u64 = cvmx_read_csr(ptr.u64);
1174
1175 return (enum cvmx_pow_tag_type) result.s_null_rd.state;
1176}
1177
1178/**
1179 * Asynchronous work request. Work is requested from the POW unit,
1180 * and should later be checked with function
1181 * cvmx_pow_work_response_async. This function does NOT wait for
1182 * previous tag switches to complete, so the caller must ensure that
1183 * there is not a pending tag switch.
1184 *
1185 * @scr_addr: Scratch memory address that response will be returned
1186 * to, which is either a valid WQE, or a response with the
1187 * invalid bit set. Byte address, must be 8 byte aligned.
1188 *
1189 * @wait: 1 to cause response to wait for work to become available (or
1190 * timeout), 0 to cause response to return immediately
1191 */
1192static inline void cvmx_pow_work_request_async_nocheck(int scr_addr,
1193 cvmx_pow_wait_t wait)
1194{
1195 cvmx_pow_iobdma_store_t data;
1196
1197 if (CVMX_ENABLE_POW_CHECKS)
1198 __cvmx_pow_warn_if_pending_switch(__func__);
1199
1200 /* scr_addr must be 8 byte aligned */
1201 data.s.scraddr = scr_addr >> 3;
1202 data.s.len = 1;
1203 data.s.did = CVMX_OCT_DID_TAG_SWTAG;
1204 data.s.wait = wait;
1205 cvmx_send_single(data.u64);
1206}
1207
1208/**
1209 * Asynchronous work request. Work is requested from the POW unit,
1210 * and should later be checked with function
1211 * cvmx_pow_work_response_async. This function waits for any previous
1212 * tag switch to complete before requesting the new work.
1213 *
1214 * @scr_addr: Scratch memory address that response will be returned
1215 * to, which is either a valid WQE, or a response with the
1216 * invalid bit set. Byte address, must be 8 byte aligned.
1217 *
1218 * @wait: 1 to cause response to wait for work to become available (or
1219 * timeout), 0 to cause response to return immediately
1220 */
1221static inline void cvmx_pow_work_request_async(int scr_addr,
1222 cvmx_pow_wait_t wait)
1223{
1224 if (CVMX_ENABLE_POW_CHECKS)
1225 __cvmx_pow_warn_if_pending_switch(__func__);
1226
1227 /* Must not have a switch pending when requesting work */
1228 cvmx_pow_tag_sw_wait();
1229 cvmx_pow_work_request_async_nocheck(scr_addr, wait);
1230}
1231
1232/**
1233 * Gets result of asynchronous work request. Performs a IOBDMA sync
1234 * to wait for the response.
1235 *
1236 * @scr_addr: Scratch memory address to get result from Byte address,
1237 * must be 8 byte aligned.
1238 *
1239 * Returns Returns the WQE from the scratch register, or NULL if no
1240 * work was available.
1241 */
1242static inline cvmx_wqe_t *cvmx_pow_work_response_async(int scr_addr)
1243{
1244 cvmx_pow_tag_load_resp_t result;
1245
1246 CVMX_SYNCIOBDMA;
1247 result.u64 = cvmx_scratch_read64(scr_addr);
1248
1249 if (result.s_work.no_work)
1250 return NULL;
1251 else
1252 return (cvmx_wqe_t *) cvmx_phys_to_ptr(result.s_work.addr);
1253}
1254
1255/**
1256 * Checks if a work queue entry pointer returned by a work
1257 * request is valid. It may be invalid due to no work
1258 * being available or due to a timeout.
1259 *
1260 * @wqe_ptr: pointer to a work queue entry returned by the POW
1261 *
1262 * Returns 0 if pointer is valid
1263 * 1 if invalid (no work was returned)
1264 */
1265static inline uint64_t cvmx_pow_work_invalid(cvmx_wqe_t *wqe_ptr)
1266{
1267 return wqe_ptr == NULL;
1268}
1269
1270/**
1271 * Starts a tag switch to the provided tag value and tag type.
1272 * Completion for the tag switch must be checked for separately. This
1273 * function does NOT update the work queue entry in dram to match tag
1274 * value and type, so the application must keep track of these if they
1275 * are important to the application. This tag switch command must not
1276 * be used for switches to NULL, as the tag switch pending bit will be
1277 * set by the switch request, but never cleared by the hardware.
1278 *
1279 * NOTE: This should not be used when switching from a NULL tag. Use
1280 * cvmx_pow_tag_sw_full() instead.
1281 *
1282 * This function does no checks, so the caller must ensure that any
1283 * previous tag switch has completed.
1284 *
1285 * @tag: new tag value
1286 * @tag_type: new tag type (ordered or atomic)
1287 */
1288static inline void cvmx_pow_tag_sw_nocheck(uint32_t tag,
1289 enum cvmx_pow_tag_type tag_type)
1290{
1291 cvmx_addr_t ptr;
1292 cvmx_pow_tag_req_t tag_req;
1293
1294 if (CVMX_ENABLE_POW_CHECKS) {
1295 cvmx_pow_tag_req_t current_tag;
1296 __cvmx_pow_warn_if_pending_switch(__func__);
1297 current_tag = cvmx_pow_get_current_tag();
1298 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL_NULL)
1299 pr_warning("%s called with NULL_NULL tag\n",
1300 __func__);
1301 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL)
1302 pr_warning("%s called with NULL tag\n", __func__);
1303 if ((current_tag.s.type == tag_type)
1304 && (current_tag.s.tag == tag))
1305 pr_warning("%s called to perform a tag switch to the "
1306 "same tag\n",
1307 __func__);
1308 if (tag_type == CVMX_POW_TAG_TYPE_NULL)
1309 pr_warning("%s called to perform a tag switch to "
1310 "NULL. Use cvmx_pow_tag_sw_null() instead\n",
1311 __func__);
1312 }
1313
1314 /*
1315 * Note that WQE in DRAM is not updated here, as the POW does
1316 * not read from DRAM once the WQE is in flight. See hardware
1317 * manual for complete details. It is the application's
1318 * responsibility to keep track of the current tag value if
1319 * that is important.
1320 */
1321
1322 tag_req.u64 = 0;
1323 tag_req.s.op = CVMX_POW_TAG_OP_SWTAG;
1324 tag_req.s.tag = tag;
1325 tag_req.s.type = tag_type;
1326
1327 ptr.u64 = 0;
1328 ptr.sio.mem_region = CVMX_IO_SEG;
1329 ptr.sio.is_io = 1;
1330 ptr.sio.did = CVMX_OCT_DID_TAG_SWTAG;
1331
1332 /* once this store arrives at POW, it will attempt the switch
1333 software must wait for the switch to complete separately */
1334 cvmx_write_io(ptr.u64, tag_req.u64);
1335}
1336
1337/**
1338 * Starts a tag switch to the provided tag value and tag type.
1339 * Completion for the tag switch must be checked for separately. This
1340 * function does NOT update the work queue entry in dram to match tag
1341 * value and type, so the application must keep track of these if they
1342 * are important to the application. This tag switch command must not
1343 * be used for switches to NULL, as the tag switch pending bit will be
1344 * set by the switch request, but never cleared by the hardware.
1345 *
1346 * NOTE: This should not be used when switching from a NULL tag. Use
1347 * cvmx_pow_tag_sw_full() instead.
1348 *
1349 * This function waits for any previous tag switch to complete, and also
1350 * displays an error on tag switches to NULL.
1351 *
1352 * @tag: new tag value
1353 * @tag_type: new tag type (ordered or atomic)
1354 */
1355static inline void cvmx_pow_tag_sw(uint32_t tag,
1356 enum cvmx_pow_tag_type tag_type)
1357{
1358 if (CVMX_ENABLE_POW_CHECKS)
1359 __cvmx_pow_warn_if_pending_switch(__func__);
1360
1361 /*
1362 * Note that WQE in DRAM is not updated here, as the POW does
1363 * not read from DRAM once the WQE is in flight. See hardware
1364 * manual for complete details. It is the application's
1365 * responsibility to keep track of the current tag value if
1366 * that is important.
1367 */
1368
1369 /*
1370 * Ensure that there is not a pending tag switch, as a tag
1371 * switch cannot be started if a previous switch is still
1372 * pending.
1373 */
1374 cvmx_pow_tag_sw_wait();
1375 cvmx_pow_tag_sw_nocheck(tag, tag_type);
1376}
1377
1378/**
1379 * Starts a tag switch to the provided tag value and tag type.
1380 * Completion for the tag switch must be checked for separately. This
1381 * function does NOT update the work queue entry in dram to match tag
1382 * value and type, so the application must keep track of these if they
1383 * are important to the application. This tag switch command must not
1384 * be used for switches to NULL, as the tag switch pending bit will be
1385 * set by the switch request, but never cleared by the hardware.
1386 *
1387 * This function must be used for tag switches from NULL.
1388 *
1389 * This function does no checks, so the caller must ensure that any
1390 * previous tag switch has completed.
1391 *
1392 * @wqp: pointer to work queue entry to submit. This entry is
1393 * updated to match the other parameters
1394 * @tag: tag value to be assigned to work queue entry
1395 * @tag_type: type of tag
1396 * @group: group value for the work queue entry.
1397 */
1398static inline void cvmx_pow_tag_sw_full_nocheck(cvmx_wqe_t *wqp, uint32_t tag,
1399 enum cvmx_pow_tag_type tag_type,
1400 uint64_t group)
1401{
1402 cvmx_addr_t ptr;
1403 cvmx_pow_tag_req_t tag_req;
1404
1405 if (CVMX_ENABLE_POW_CHECKS) {
1406 cvmx_pow_tag_req_t current_tag;
1407 __cvmx_pow_warn_if_pending_switch(__func__);
1408 current_tag = cvmx_pow_get_current_tag();
1409 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL_NULL)
1410 pr_warning("%s called with NULL_NULL tag\n",
1411 __func__);
1412 if ((current_tag.s.type == tag_type)
1413 && (current_tag.s.tag == tag))
1414 pr_warning("%s called to perform a tag switch to "
1415 "the same tag\n",
1416 __func__);
1417 if (tag_type == CVMX_POW_TAG_TYPE_NULL)
1418 pr_warning("%s called to perform a tag switch to "
1419 "NULL. Use cvmx_pow_tag_sw_null() instead\n",
1420 __func__);
1421 if (wqp != cvmx_phys_to_ptr(0x80))
1422 if (wqp != cvmx_pow_get_current_wqp())
1423 pr_warning("%s passed WQE(%p) doesn't match "
1424 "the address in the POW(%p)\n",
1425 __func__, wqp,
1426 cvmx_pow_get_current_wqp());
1427 }
1428
1429 /*
1430 * Note that WQE in DRAM is not updated here, as the POW does
1431 * not read from DRAM once the WQE is in flight. See hardware
1432 * manual for complete details. It is the application's
1433 * responsibility to keep track of the current tag value if
1434 * that is important.
1435 */
1436
1437 tag_req.u64 = 0;
1438 tag_req.s.op = CVMX_POW_TAG_OP_SWTAG_FULL;
1439 tag_req.s.tag = tag;
1440 tag_req.s.type = tag_type;
1441 tag_req.s.grp = group;
1442
1443 ptr.u64 = 0;
1444 ptr.sio.mem_region = CVMX_IO_SEG;
1445 ptr.sio.is_io = 1;
1446 ptr.sio.did = CVMX_OCT_DID_TAG_SWTAG;
1447 ptr.sio.offset = CAST64(wqp);
1448
1449 /*
1450 * once this store arrives at POW, it will attempt the switch
1451 * software must wait for the switch to complete separately.
1452 */
1453 cvmx_write_io(ptr.u64, tag_req.u64);
1454}
1455
1456/**
1457 * Starts a tag switch to the provided tag value and tag type.
1458 * Completion for the tag switch must be checked for separately. This
1459 * function does NOT update the work queue entry in dram to match tag
1460 * value and type, so the application must keep track of these if they
1461 * are important to the application. This tag switch command must not
1462 * be used for switches to NULL, as the tag switch pending bit will be
1463 * set by the switch request, but never cleared by the hardware.
1464 *
1465 * This function must be used for tag switches from NULL.
1466 *
1467 * This function waits for any pending tag switches to complete
1468 * before requesting the tag switch.
1469 *
1470 * @wqp: pointer to work queue entry to submit. This entry is updated
1471 * to match the other parameters
1472 * @tag: tag value to be assigned to work queue entry
1473 * @tag_type: type of tag
1474 * @group: group value for the work queue entry.
1475 */
1476static inline void cvmx_pow_tag_sw_full(cvmx_wqe_t *wqp, uint32_t tag,
1477 enum cvmx_pow_tag_type tag_type,
1478 uint64_t group)
1479{
1480 if (CVMX_ENABLE_POW_CHECKS)
1481 __cvmx_pow_warn_if_pending_switch(__func__);
1482
1483 /*
1484 * Ensure that there is not a pending tag switch, as a tag
1485 * switch cannot be started if a previous switch is still
1486 * pending.
1487 */
1488 cvmx_pow_tag_sw_wait();
1489 cvmx_pow_tag_sw_full_nocheck(wqp, tag, tag_type, group);
1490}
1491
1492/**
1493 * Switch to a NULL tag, which ends any ordering or
1494 * synchronization provided by the POW for the current
1495 * work queue entry. This operation completes immediately,
1496 * so completion should not be waited for.
1497 * This function does NOT wait for previous tag switches to complete,
1498 * so the caller must ensure that any previous tag switches have completed.
1499 */
1500static inline void cvmx_pow_tag_sw_null_nocheck(void)
1501{
1502 cvmx_addr_t ptr;
1503 cvmx_pow_tag_req_t tag_req;
1504
1505 if (CVMX_ENABLE_POW_CHECKS) {
1506 cvmx_pow_tag_req_t current_tag;
1507 __cvmx_pow_warn_if_pending_switch(__func__);
1508 current_tag = cvmx_pow_get_current_tag();
1509 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL_NULL)
1510 pr_warning("%s called with NULL_NULL tag\n",
1511 __func__);
1512 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL)
1513 pr_warning("%s called when we already have a "
1514 "NULL tag\n",
1515 __func__);
1516 }
1517
1518 tag_req.u64 = 0;
1519 tag_req.s.op = CVMX_POW_TAG_OP_SWTAG;
1520 tag_req.s.type = CVMX_POW_TAG_TYPE_NULL;
1521
1522 ptr.u64 = 0;
1523 ptr.sio.mem_region = CVMX_IO_SEG;
1524 ptr.sio.is_io = 1;
1525 ptr.sio.did = CVMX_OCT_DID_TAG_TAG1;
1526
1527 cvmx_write_io(ptr.u64, tag_req.u64);
1528
1529 /* switch to NULL completes immediately */
1530}
1531
1532/**
1533 * Switch to a NULL tag, which ends any ordering or
1534 * synchronization provided by the POW for the current
1535 * work queue entry. This operation completes immediately,
1536 * so completion should not be waited for.
1537 * This function waits for any pending tag switches to complete
1538 * before requesting the switch to NULL.
1539 */
1540static inline void cvmx_pow_tag_sw_null(void)
1541{
1542 if (CVMX_ENABLE_POW_CHECKS)
1543 __cvmx_pow_warn_if_pending_switch(__func__);
1544
1545 /*
1546 * Ensure that there is not a pending tag switch, as a tag
1547 * switch cannot be started if a previous switch is still
1548 * pending.
1549 */
1550 cvmx_pow_tag_sw_wait();
1551 cvmx_pow_tag_sw_null_nocheck();
1552
1553 /* switch to NULL completes immediately */
1554}
1555
1556/**
1557 * Submits work to an input queue. This function updates the work
1558 * queue entry in DRAM to match the arguments given. Note that the
1559 * tag provided is for the work queue entry submitted, and is
1560 * unrelated to the tag that the core currently holds.
1561 *
1562 * @wqp: pointer to work queue entry to submit. This entry is
1563 * updated to match the other parameters
1564 * @tag: tag value to be assigned to work queue entry
1565 * @tag_type: type of tag
1566 * @qos: Input queue to add to.
1567 * @grp: group value for the work queue entry.
1568 */
1569static inline void cvmx_pow_work_submit(cvmx_wqe_t *wqp, uint32_t tag,
1570 enum cvmx_pow_tag_type tag_type,
1571 uint64_t qos, uint64_t grp)
1572{
1573 cvmx_addr_t ptr;
1574 cvmx_pow_tag_req_t tag_req;
1575
1576 wqp->qos = qos;
1577 wqp->tag = tag;
1578 wqp->tag_type = tag_type;
1579 wqp->grp = grp;
1580
1581 tag_req.u64 = 0;
1582 tag_req.s.op = CVMX_POW_TAG_OP_ADDWQ;
1583 tag_req.s.type = tag_type;
1584 tag_req.s.tag = tag;
1585 tag_req.s.qos = qos;
1586 tag_req.s.grp = grp;
1587
1588 ptr.u64 = 0;
1589 ptr.sio.mem_region = CVMX_IO_SEG;
1590 ptr.sio.is_io = 1;
1591 ptr.sio.did = CVMX_OCT_DID_TAG_TAG1;
1592 ptr.sio.offset = cvmx_ptr_to_phys(wqp);
1593
1594 /*
1595 * SYNC write to memory before the work submit. This is
1596 * necessary as POW may read values from DRAM at this time.
1597 */
1598 CVMX_SYNCWS;
1599 cvmx_write_io(ptr.u64, tag_req.u64);
1600}
1601
1602/**
1603 * This function sets the group mask for a core. The group mask
1604 * indicates which groups each core will accept work from. There are
1605 * 16 groups.
1606 *
1607 * @core_num: core to apply mask to
1608 * @mask: Group mask. There are 16 groups, so only bits 0-15 are valid,
1609 * representing groups 0-15.
1610 * Each 1 bit in the mask enables the core to accept work from
1611 * the corresponding group.
1612 */
1613static inline void cvmx_pow_set_group_mask(uint64_t core_num, uint64_t mask)
1614{
1615 union cvmx_pow_pp_grp_mskx grp_msk;
1616
1617 grp_msk.u64 = cvmx_read_csr(CVMX_POW_PP_GRP_MSKX(core_num));
1618 grp_msk.s.grp_msk = mask;
1619 cvmx_write_csr(CVMX_POW_PP_GRP_MSKX(core_num), grp_msk.u64);
1620}
1621
1622/**
1623 * This function sets POW static priorities for a core. Each input queue has
1624 * an associated priority value.
1625 *
1626 * @core_num: core to apply priorities to
1627 * @priority: Vector of 8 priorities, one per POW Input Queue (0-7).
1628 * Highest priority is 0 and lowest is 7. A priority value
1629 * of 0xF instructs POW to skip the Input Queue when
1630 * scheduling to this specific core.
1631 * NOTE: priorities should not have gaps in values, meaning
1632 * {0,1,1,1,1,1,1,1} is a valid configuration while
1633 * {0,2,2,2,2,2,2,2} is not.
1634 */
1635static inline void cvmx_pow_set_priority(uint64_t core_num,
1636 const uint8_t priority[])
1637{
1638 /* POW priorities are supported on CN5xxx and later */
1639 if (!OCTEON_IS_MODEL(OCTEON_CN3XXX)) {
1640 union cvmx_pow_pp_grp_mskx grp_msk;
1641
1642 grp_msk.u64 = cvmx_read_csr(CVMX_POW_PP_GRP_MSKX(core_num));
1643 grp_msk.s.qos0_pri = priority[0];
1644 grp_msk.s.qos1_pri = priority[1];
1645 grp_msk.s.qos2_pri = priority[2];
1646 grp_msk.s.qos3_pri = priority[3];
1647 grp_msk.s.qos4_pri = priority[4];
1648 grp_msk.s.qos5_pri = priority[5];
1649 grp_msk.s.qos6_pri = priority[6];
1650 grp_msk.s.qos7_pri = priority[7];
1651
1652 /* Detect gaps between priorities and flag error */
1653 {
1654 int i;
1655 uint32_t prio_mask = 0;
1656
1657 for (i = 0; i < 8; i++)
1658 if (priority[i] != 0xF)
1659 prio_mask |= 1 << priority[i];
1660
1661 if (prio_mask ^ ((1 << cvmx_pop(prio_mask)) - 1)) {
1662 pr_err("POW static priorities should be "
1663 "contiguous (0x%llx)\n",
1664 (unsigned long long)prio_mask);
1665 return;
1666 }
1667 }
1668
1669 cvmx_write_csr(CVMX_POW_PP_GRP_MSKX(core_num), grp_msk.u64);
1670 }
1671}
1672
1673/**
1674 * Performs a tag switch and then an immediate deschedule. This completes
1675 * immediately, so completion must not be waited for. This function does NOT
1676 * update the wqe in DRAM to match arguments.
1677 *
1678 * This function does NOT wait for any prior tag switches to complete, so the
1679 * calling code must do this.
1680 *
1681 * Note the following CAVEAT of the Octeon HW behavior when
1682 * re-scheduling DE-SCHEDULEd items whose (next) state is
1683 * ORDERED:
1684 * - If there are no switches pending at the time that the
1685 * HW executes the de-schedule, the HW will only re-schedule
1686 * the head of the FIFO associated with the given tag. This
1687 * means that in many respects, the HW treats this ORDERED
1688 * tag as an ATOMIC tag. Note that in the SWTAG_DESCH
1689 * case (to an ORDERED tag), the HW will do the switch
1690 * before the deschedule whenever it is possible to do
1691 * the switch immediately, so it may often look like
1692 * this case.
1693 * - If there is a pending switch to ORDERED at the time
1694 * the HW executes the de-schedule, the HW will perform
1695 * the switch at the time it re-schedules, and will be
1696 * able to reschedule any/all of the entries with the
1697 * same tag.
1698 * Due to this behavior, the RECOMMENDATION to software is
1699 * that they have a (next) state of ATOMIC when they
1700 * DE-SCHEDULE. If an ORDERED tag is what was really desired,
1701 * SW can choose to immediately switch to an ORDERED tag
1702 * after the work (that has an ATOMIC tag) is re-scheduled.
1703 * Note that since there are never any tag switches pending
1704 * when the HW re-schedules, this switch can be IMMEDIATE upon
1705 * the reception of the pointer during the re-schedule.
1706 *
1707 * @tag: New tag value
1708 * @tag_type: New tag type
1709 * @group: New group value
1710 * @no_sched: Control whether this work queue entry will be rescheduled.
1711 * - 1 : don't schedule this work
1712 * - 0 : allow this work to be scheduled.
1713 */
1714static inline void cvmx_pow_tag_sw_desched_nocheck(
1715 uint32_t tag,
1716 enum cvmx_pow_tag_type tag_type,
1717 uint64_t group,
1718 uint64_t no_sched)
1719{
1720 cvmx_addr_t ptr;
1721 cvmx_pow_tag_req_t tag_req;
1722
1723 if (CVMX_ENABLE_POW_CHECKS) {
1724 cvmx_pow_tag_req_t current_tag;
1725 __cvmx_pow_warn_if_pending_switch(__func__);
1726 current_tag = cvmx_pow_get_current_tag();
1727 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL_NULL)
1728 pr_warning("%s called with NULL_NULL tag\n",
1729 __func__);
1730 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL)
1731 pr_warning("%s called with NULL tag. Deschedule not "
1732 "allowed from NULL state\n",
1733 __func__);
1734 if ((current_tag.s.type != CVMX_POW_TAG_TYPE_ATOMIC)
1735 && (tag_type != CVMX_POW_TAG_TYPE_ATOMIC))
1736 pr_warning("%s called where neither the before or "
1737 "after tag is ATOMIC\n",
1738 __func__);
1739 }
1740
1741 tag_req.u64 = 0;
1742 tag_req.s.op = CVMX_POW_TAG_OP_SWTAG_DESCH;
1743 tag_req.s.tag = tag;
1744 tag_req.s.type = tag_type;
1745 tag_req.s.grp = group;
1746 tag_req.s.no_sched = no_sched;
1747
1748 ptr.u64 = 0;
1749 ptr.sio.mem_region = CVMX_IO_SEG;
1750 ptr.sio.is_io = 1;
1751 ptr.sio.did = CVMX_OCT_DID_TAG_TAG3;
1752 /*
1753 * since TAG3 is used, this store will clear the local pending
1754 * switch bit.
1755 */
1756 cvmx_write_io(ptr.u64, tag_req.u64);
1757}
1758
1759/**
1760 * Performs a tag switch and then an immediate deschedule. This completes
1761 * immediately, so completion must not be waited for. This function does NOT
1762 * update the wqe in DRAM to match arguments.
1763 *
1764 * This function waits for any prior tag switches to complete, so the
1765 * calling code may call this function with a pending tag switch.
1766 *
1767 * Note the following CAVEAT of the Octeon HW behavior when
1768 * re-scheduling DE-SCHEDULEd items whose (next) state is
1769 * ORDERED:
1770 * - If there are no switches pending at the time that the
1771 * HW executes the de-schedule, the HW will only re-schedule
1772 * the head of the FIFO associated with the given tag. This
1773 * means that in many respects, the HW treats this ORDERED
1774 * tag as an ATOMIC tag. Note that in the SWTAG_DESCH
1775 * case (to an ORDERED tag), the HW will do the switch
1776 * before the deschedule whenever it is possible to do
1777 * the switch immediately, so it may often look like
1778 * this case.
1779 * - If there is a pending switch to ORDERED at the time
1780 * the HW executes the de-schedule, the HW will perform
1781 * the switch at the time it re-schedules, and will be
1782 * able to reschedule any/all of the entries with the
1783 * same tag.
1784 * Due to this behavior, the RECOMMENDATION to software is
1785 * that they have a (next) state of ATOMIC when they
1786 * DE-SCHEDULE. If an ORDERED tag is what was really desired,
1787 * SW can choose to immediately switch to an ORDERED tag
1788 * after the work (that has an ATOMIC tag) is re-scheduled.
1789 * Note that since there are never any tag switches pending
1790 * when the HW re-schedules, this switch can be IMMEDIATE upon
1791 * the reception of the pointer during the re-schedule.
1792 *
1793 * @tag: New tag value
1794 * @tag_type: New tag type
1795 * @group: New group value
1796 * @no_sched: Control whether this work queue entry will be rescheduled.
1797 * - 1 : don't schedule this work
1798 * - 0 : allow this work to be scheduled.
1799 */
1800static inline void cvmx_pow_tag_sw_desched(uint32_t tag,
1801 enum cvmx_pow_tag_type tag_type,
1802 uint64_t group, uint64_t no_sched)
1803{
1804 if (CVMX_ENABLE_POW_CHECKS)
1805 __cvmx_pow_warn_if_pending_switch(__func__);
1806
1807 /* Need to make sure any writes to the work queue entry are complete */
1808 CVMX_SYNCWS;
1809 /*
1810 * Ensure that there is not a pending tag switch, as a tag
1811 * switch cannot be started if a previous switch is still
1812 * pending.
1813 */
1814 cvmx_pow_tag_sw_wait();
1815 cvmx_pow_tag_sw_desched_nocheck(tag, tag_type, group, no_sched);
1816}
1817
1818/**
1819 * Descchedules the current work queue entry.
1820 *
1821 * @no_sched: no schedule flag value to be set on the work queue
1822 * entry. If this is set the entry will not be
1823 * rescheduled.
1824 */
1825static inline void cvmx_pow_desched(uint64_t no_sched)
1826{
1827 cvmx_addr_t ptr;
1828 cvmx_pow_tag_req_t tag_req;
1829
1830 if (CVMX_ENABLE_POW_CHECKS) {
1831 cvmx_pow_tag_req_t current_tag;
1832 __cvmx_pow_warn_if_pending_switch(__func__);
1833 current_tag = cvmx_pow_get_current_tag();
1834 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL_NULL)
1835 pr_warning("%s called with NULL_NULL tag\n",
1836 __func__);
1837 if (current_tag.s.type == CVMX_POW_TAG_TYPE_NULL)
1838 pr_warning("%s called with NULL tag. Deschedule not "
1839 "expected from NULL state\n",
1840 __func__);
1841 }
1842
1843 /* Need to make sure any writes to the work queue entry are complete */
1844 CVMX_SYNCWS;
1845
1846 tag_req.u64 = 0;
1847 tag_req.s.op = CVMX_POW_TAG_OP_DESCH;
1848 tag_req.s.no_sched = no_sched;
1849
1850 ptr.u64 = 0;
1851 ptr.sio.mem_region = CVMX_IO_SEG;
1852 ptr.sio.is_io = 1;
1853 ptr.sio.did = CVMX_OCT_DID_TAG_TAG3;
1854 /*
1855 * since TAG3 is used, this store will clear the local pending
1856 * switch bit.
1857 */
1858 cvmx_write_io(ptr.u64, tag_req.u64);
1859}
1860
1861/****************************************************
1862* Define usage of bits within the 32 bit tag values.
1863*****************************************************/
1864
1865/*
1866 * Number of bits of the tag used by software. The SW bits are always
1867 * a contiguous block of the high starting at bit 31. The hardware
1868 * bits are always the low bits. By default, the top 8 bits of the
1869 * tag are reserved for software, and the low 24 are set by the IPD
1870 * unit.
1871 */
1872#define CVMX_TAG_SW_BITS (8)
1873#define CVMX_TAG_SW_SHIFT (32 - CVMX_TAG_SW_BITS)
1874
1875/* Below is the list of values for the top 8 bits of the tag. */
1876/*
1877 * Tag values with top byte of this value are reserved for internal
1878 * executive uses.
1879 */
1880#define CVMX_TAG_SW_BITS_INTERNAL 0x1
1881/* The executive divides the remaining 24 bits as follows:
1882 * - the upper 8 bits (bits 23 - 16 of the tag) define a subgroup
1883 *
1884 * - the lower 16 bits (bits 15 - 0 of the tag) define are the value
1885 * with the subgroup
1886 *
1887 * Note that this section describes the format of tags generated by
1888 * software - refer to the hardware documentation for a description of
1889 * the tags values generated by the packet input hardware. Subgroups
1890 * are defined here.
1891 */
1892/* Mask for the value portion of the tag */
1893#define CVMX_TAG_SUBGROUP_MASK 0xFFFF
1894#define CVMX_TAG_SUBGROUP_SHIFT 16
1895#define CVMX_TAG_SUBGROUP_PKO 0x1
1896
1897/* End of executive tag subgroup definitions */
1898
1899/*
1900 * The remaining values software bit values 0x2 - 0xff are available
1901 * for application use.
1902 */
1903
1904/**
1905 * This function creates a 32 bit tag value from the two values provided.
1906 *
1907 * @sw_bits: The upper bits (number depends on configuration) are set
1908 * to this value. The remainder of bits are set by the
1909 * hw_bits parameter.
1910 *
1911 * @hw_bits: The lower bits (number depends on configuration) are set
1912 * to this value. The remainder of bits are set by the
1913 * sw_bits parameter.
1914 *
1915 * Returns 32 bit value of the combined hw and sw bits.
1916 */
1917static inline uint32_t cvmx_pow_tag_compose(uint64_t sw_bits, uint64_t hw_bits)
1918{
1919 return ((sw_bits & cvmx_build_mask(CVMX_TAG_SW_BITS)) <<
1920 CVMX_TAG_SW_SHIFT) |
1921 (hw_bits & cvmx_build_mask(32 - CVMX_TAG_SW_BITS));
1922}
1923
1924/**
1925 * Extracts the bits allocated for software use from the tag
1926 *
1927 * @tag: 32 bit tag value
1928 *
1929 * Returns N bit software tag value, where N is configurable with the
1930 * CVMX_TAG_SW_BITS define
1931 */
1932static inline uint32_t cvmx_pow_tag_get_sw_bits(uint64_t tag)
1933{
1934 return (tag >> (32 - CVMX_TAG_SW_BITS)) &
1935 cvmx_build_mask(CVMX_TAG_SW_BITS);
1936}
1937
1938/**
1939 *
1940 * Extracts the bits allocated for hardware use from the tag
1941 *
1942 * @tag: 32 bit tag value
1943 *
1944 * Returns (32 - N) bit software tag value, where N is configurable
1945 * with the CVMX_TAG_SW_BITS define
1946 */
1947static inline uint32_t cvmx_pow_tag_get_hw_bits(uint64_t tag)
1948{
1949 return tag & cvmx_build_mask(32 - CVMX_TAG_SW_BITS);
1950}
1951
1952/**
1953 * Store the current POW internal state into the supplied
1954 * buffer. It is recommended that you pass a buffer of at least
1955 * 128KB. The format of the capture may change based on SDK
1956 * version and Octeon chip.
1957 *
1958 * @buffer: Buffer to store capture into
1959 * @buffer_size:
1960 * The size of the supplied buffer
1961 *
1962 * Returns Zero on success, negative on failure
1963 */
1964extern int cvmx_pow_capture(void *buffer, int buffer_size);
1965
1966/**
1967 * Dump a POW capture to the console in a human readable format.
1968 *
1969 * @buffer: POW capture from cvmx_pow_capture()
1970 * @buffer_size:
1971 * Size of the buffer
1972 */
1973extern void cvmx_pow_display(void *buffer, int buffer_size);
1974
1975/**
1976 * Return the number of POW entries supported by this chip
1977 *
1978 * Returns Number of POW entries
1979 */
1980extern int cvmx_pow_get_num_entries(void);
1981
1982#endif /* __CVMX_POW_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-rnm-defs.h b/arch/mips/include/asm/octeon/cvmx-rnm-defs.h
index 87d6f92a548..c45da1f35ea 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,6 +28,8 @@
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
31#define CVMX_RNM_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001180040000008ull)) 33#define CVMX_RNM_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001180040000008ull))
32#define CVMX_RNM_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180040000000ull)) 34#define CVMX_RNM_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180040000000ull))
33#define CVMX_RNM_EER_DBG (CVMX_ADD_IO_SEG(0x0001180040000018ull)) 35#define CVMX_RNM_EER_DBG (CVMX_ADD_IO_SEG(0x0001180040000018ull))
@@ -37,15 +39,9 @@
37union cvmx_rnm_bist_status { 39union cvmx_rnm_bist_status {
38 uint64_t u64; 40 uint64_t u64;
39 struct cvmx_rnm_bist_status_s { 41 struct cvmx_rnm_bist_status_s {
40#ifdef __BIG_ENDIAN_BITFIELD
41 uint64_t reserved_2_63:62; 42 uint64_t reserved_2_63:62;
42 uint64_t rrc:1; 43 uint64_t rrc:1;
43 uint64_t mem:1; 44 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
49 } s; 45 } s;
50 struct cvmx_rnm_bist_status_s cn30xx; 46 struct cvmx_rnm_bist_status_s cn30xx;
51 struct cvmx_rnm_bist_status_s cn31xx; 47 struct cvmx_rnm_bist_status_s cn31xx;
@@ -58,21 +54,14 @@ union cvmx_rnm_bist_status {
58 struct cvmx_rnm_bist_status_s cn56xxp1; 54 struct cvmx_rnm_bist_status_s cn56xxp1;
59 struct cvmx_rnm_bist_status_s cn58xx; 55 struct cvmx_rnm_bist_status_s cn58xx;
60 struct cvmx_rnm_bist_status_s cn58xxp1; 56 struct cvmx_rnm_bist_status_s cn58xxp1;
61 struct cvmx_rnm_bist_status_s cn61xx;
62 struct cvmx_rnm_bist_status_s cn63xx; 57 struct cvmx_rnm_bist_status_s cn63xx;
63 struct cvmx_rnm_bist_status_s cn63xxp1; 58 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;
68}; 59};
69 60
70union cvmx_rnm_ctl_status { 61union cvmx_rnm_ctl_status {
71 uint64_t u64; 62 uint64_t u64;
72 struct cvmx_rnm_ctl_status_s { 63 struct cvmx_rnm_ctl_status_s {
73#ifdef __BIG_ENDIAN_BITFIELD 64 uint64_t reserved_11_63:53;
74 uint64_t reserved_12_63:52;
75 uint64_t dis_mak:1;
76 uint64_t eer_lck:1; 65 uint64_t eer_lck:1;
77 uint64_t eer_val:1; 66 uint64_t eer_val:1;
78 uint64_t ent_sel:4; 67 uint64_t ent_sel:4;
@@ -81,39 +70,18 @@ union cvmx_rnm_ctl_status {
81 uint64_t rnm_rst:1; 70 uint64_t rnm_rst:1;
82 uint64_t rng_en:1; 71 uint64_t rng_en:1;
83 uint64_t ent_en:1; 72 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
96 } s; 73 } s;
97 struct cvmx_rnm_ctl_status_cn30xx { 74 struct cvmx_rnm_ctl_status_cn30xx {
98#ifdef __BIG_ENDIAN_BITFIELD
99 uint64_t reserved_4_63:60; 75 uint64_t reserved_4_63:60;
100 uint64_t rng_rst:1; 76 uint64_t rng_rst:1;
101 uint64_t rnm_rst:1; 77 uint64_t rnm_rst:1;
102 uint64_t rng_en:1; 78 uint64_t rng_en:1;
103 uint64_t ent_en:1; 79 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
111 } cn30xx; 80 } cn30xx;
112 struct cvmx_rnm_ctl_status_cn30xx cn31xx; 81 struct cvmx_rnm_ctl_status_cn30xx cn31xx;
113 struct cvmx_rnm_ctl_status_cn30xx cn38xx; 82 struct cvmx_rnm_ctl_status_cn30xx cn38xx;
114 struct cvmx_rnm_ctl_status_cn30xx cn38xxp2; 83 struct cvmx_rnm_ctl_status_cn30xx cn38xxp2;
115 struct cvmx_rnm_ctl_status_cn50xx { 84 struct cvmx_rnm_ctl_status_cn50xx {
116#ifdef __BIG_ENDIAN_BITFIELD
117 uint64_t reserved_9_63:55; 85 uint64_t reserved_9_63:55;
118 uint64_t ent_sel:4; 86 uint64_t ent_sel:4;
119 uint64_t exp_ent:1; 87 uint64_t exp_ent:1;
@@ -121,15 +89,6 @@ union cvmx_rnm_ctl_status {
121 uint64_t rnm_rst:1; 89 uint64_t rnm_rst:1;
122 uint64_t rng_en:1; 90 uint64_t rng_en:1;
123 uint64_t ent_en:1; 91 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
133 } cn50xx; 92 } cn50xx;
134 struct cvmx_rnm_ctl_status_cn50xx cn52xx; 93 struct cvmx_rnm_ctl_status_cn50xx cn52xx;
135 struct cvmx_rnm_ctl_status_cn50xx cn52xxp1; 94 struct cvmx_rnm_ctl_status_cn50xx cn52xxp1;
@@ -137,88 +96,34 @@ union cvmx_rnm_ctl_status {
137 struct cvmx_rnm_ctl_status_cn50xx cn56xxp1; 96 struct cvmx_rnm_ctl_status_cn50xx cn56xxp1;
138 struct cvmx_rnm_ctl_status_cn50xx cn58xx; 97 struct cvmx_rnm_ctl_status_cn50xx cn58xx;
139 struct cvmx_rnm_ctl_status_cn50xx cn58xxp1; 98 struct cvmx_rnm_ctl_status_cn50xx cn58xxp1;
140 struct cvmx_rnm_ctl_status_s cn61xx; 99 struct cvmx_rnm_ctl_status_s cn63xx;
141 struct cvmx_rnm_ctl_status_cn63xx { 100 struct cvmx_rnm_ctl_status_s cn63xxp1;
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;
169}; 101};
170 102
171union cvmx_rnm_eer_dbg { 103union cvmx_rnm_eer_dbg {
172 uint64_t u64; 104 uint64_t u64;
173 struct cvmx_rnm_eer_dbg_s { 105 struct cvmx_rnm_eer_dbg_s {
174#ifdef __BIG_ENDIAN_BITFIELD
175 uint64_t dat:64; 106 uint64_t dat:64;
176#else
177 uint64_t dat:64;
178#endif
179 } s; 107 } s;
180 struct cvmx_rnm_eer_dbg_s cn61xx;
181 struct cvmx_rnm_eer_dbg_s cn63xx; 108 struct cvmx_rnm_eer_dbg_s cn63xx;
182 struct cvmx_rnm_eer_dbg_s cn63xxp1; 109 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;
187}; 110};
188 111
189union cvmx_rnm_eer_key { 112union cvmx_rnm_eer_key {
190 uint64_t u64; 113 uint64_t u64;
191 struct cvmx_rnm_eer_key_s { 114 struct cvmx_rnm_eer_key_s {
192#ifdef __BIG_ENDIAN_BITFIELD
193 uint64_t key:64;
194#else
195 uint64_t key:64; 115 uint64_t key:64;
196#endif
197 } s; 116 } s;
198 struct cvmx_rnm_eer_key_s cn61xx;
199 struct cvmx_rnm_eer_key_s cn63xx; 117 struct cvmx_rnm_eer_key_s cn63xx;
200 struct cvmx_rnm_eer_key_s cn63xxp1; 118 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;
205}; 119};
206 120
207union cvmx_rnm_serial_num { 121union cvmx_rnm_serial_num {
208 uint64_t u64; 122 uint64_t u64;
209 struct cvmx_rnm_serial_num_s { 123 struct cvmx_rnm_serial_num_s {
210#ifdef __BIG_ENDIAN_BITFIELD
211 uint64_t dat:64;
212#else
213 uint64_t dat:64; 124 uint64_t dat:64;
214#endif
215 } s; 125 } s;
216 struct cvmx_rnm_serial_num_s cn61xx;
217 struct cvmx_rnm_serial_num_s cn63xx; 126 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;
222}; 127};
223 128
224#endif 129#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-scratch.h b/arch/mips/include/asm/octeon/cvmx-scratch.h
deleted file mode 100644
index 96b70cfd624..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-scratch.h
+++ /dev/null
@@ -1,139 +0,0 @@
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-2008 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/**
29 *
30 * This file provides support for the processor local scratch memory.
31 * Scratch memory is byte addressable - all addresses are byte addresses.
32 *
33 */
34
35#ifndef __CVMX_SCRATCH_H__
36#define __CVMX_SCRATCH_H__
37
38/*
39 * Note: This define must be a long, not a long long in order to
40 * compile without warnings for both 32bit and 64bit.
41 */
42#define CVMX_SCRATCH_BASE (-32768l) /* 0xffffffffffff8000 */
43
44/**
45 * Reads an 8 bit value from the processor local scratchpad memory.
46 *
47 * @address: byte address to read from
48 *
49 * Returns value read
50 */
51static inline uint8_t cvmx_scratch_read8(uint64_t address)
52{
53 return *CASTPTR(volatile uint8_t, CVMX_SCRATCH_BASE + address);
54}
55
56/**
57 * Reads a 16 bit value from the processor local scratchpad memory.
58 *
59 * @address: byte address to read from
60 *
61 * Returns value read
62 */
63static inline uint16_t cvmx_scratch_read16(uint64_t address)
64{
65 return *CASTPTR(volatile uint16_t, CVMX_SCRATCH_BASE + address);
66}
67
68/**
69 * Reads a 32 bit value from the processor local scratchpad memory.
70 *
71 * @address: byte address to read from
72 *
73 * Returns value read
74 */
75static inline uint32_t cvmx_scratch_read32(uint64_t address)
76{
77 return *CASTPTR(volatile uint32_t, CVMX_SCRATCH_BASE + address);
78}
79
80/**
81 * Reads a 64 bit value from the processor local scratchpad memory.
82 *
83 * @address: byte address to read from
84 *
85 * Returns value read
86 */
87static inline uint64_t cvmx_scratch_read64(uint64_t address)
88{
89 return *CASTPTR(volatile uint64_t, CVMX_SCRATCH_BASE + address);
90}
91
92/**
93 * Writes an 8 bit value to the processor local scratchpad memory.
94 *
95 * @address: byte address to write to
96 * @value: value to write
97 */
98static inline void cvmx_scratch_write8(uint64_t address, uint64_t value)
99{
100 *CASTPTR(volatile uint8_t, CVMX_SCRATCH_BASE + address) =
101 (uint8_t) value;
102}
103
104/**
105 * Writes a 32 bit value to the processor local scratchpad memory.
106 *
107 * @address: byte address to write to
108 * @value: value to write
109 */
110static inline void cvmx_scratch_write16(uint64_t address, uint64_t value)
111{
112 *CASTPTR(volatile uint16_t, CVMX_SCRATCH_BASE + address) =
113 (uint16_t) value;
114}
115
116/**
117 * Writes a 16 bit value to the processor local scratchpad memory.
118 *
119 * @address: byte address to write to
120 * @value: value to write
121 */
122static inline void cvmx_scratch_write32(uint64_t address, uint64_t value)
123{
124 *CASTPTR(volatile uint32_t, CVMX_SCRATCH_BASE + address) =
125 (uint32_t) value;
126}
127
128/**
129 * Writes a 64 bit value to the processor local scratchpad memory.
130 *
131 * @address: byte address to write to
132 * @value: value to write
133 */
134static inline void cvmx_scratch_write64(uint64_t address, uint64_t value)
135{
136 *CASTPTR(volatile uint64_t, CVMX_SCRATCH_BASE + address) = value;
137}
138
139#endif /* __CVMX_SCRATCH_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-sli-defs.h b/arch/mips/include/asm/octeon/cvmx-sli-defs.h
deleted file mode 100644
index e697c2f52a6..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-sli-defs.h
+++ /dev/null
@@ -1,3521 +0,0 @@
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_SLI_DEFS_H__
29#define __CVMX_SLI_DEFS_H__
30
31#define CVMX_SLI_BIST_STATUS (0x0000000000000580ull)
32#define CVMX_SLI_CTL_PORTX(offset) (0x0000000000000050ull + ((offset) & 3) * 16)
33#define CVMX_SLI_CTL_STATUS (0x0000000000000570ull)
34#define CVMX_SLI_DATA_OUT_CNT (0x00000000000005F0ull)
35#define CVMX_SLI_DBG_DATA (0x0000000000000310ull)
36#define CVMX_SLI_DBG_SELECT (0x0000000000000300ull)
37#define CVMX_SLI_DMAX_CNT(offset) (0x0000000000000400ull + ((offset) & 1) * 16)
38#define CVMX_SLI_DMAX_INT_LEVEL(offset) (0x00000000000003E0ull + ((offset) & 1) * 16)
39#define CVMX_SLI_DMAX_TIM(offset) (0x0000000000000420ull + ((offset) & 1) * 16)
40#define CVMX_SLI_INT_ENB_CIU (0x0000000000003CD0ull)
41#define CVMX_SLI_INT_ENB_PORTX(offset) (0x0000000000000340ull + ((offset) & 1) * 16)
42#define CVMX_SLI_INT_SUM (0x0000000000000330ull)
43#define CVMX_SLI_LAST_WIN_RDATA0 (0x0000000000000600ull)
44#define CVMX_SLI_LAST_WIN_RDATA1 (0x0000000000000610ull)
45#define CVMX_SLI_LAST_WIN_RDATA2 (0x00000000000006C0ull)
46#define CVMX_SLI_LAST_WIN_RDATA3 (0x00000000000006D0ull)
47#define CVMX_SLI_MAC_CREDIT_CNT (0x0000000000003D70ull)
48#define CVMX_SLI_MAC_CREDIT_CNT2 (0x0000000000003E10ull)
49#define CVMX_SLI_MAC_NUMBER (0x0000000000003E00ull)
50#define CVMX_SLI_MEM_ACCESS_CTL (0x00000000000002F0ull)
51#define CVMX_SLI_MEM_ACCESS_SUBIDX(offset) (0x00000000000000E0ull + ((offset) & 31) * 16 - 16*12)
52#define CVMX_SLI_MSI_ENB0 (0x0000000000003C50ull)
53#define CVMX_SLI_MSI_ENB1 (0x0000000000003C60ull)
54#define CVMX_SLI_MSI_ENB2 (0x0000000000003C70ull)
55#define CVMX_SLI_MSI_ENB3 (0x0000000000003C80ull)
56#define CVMX_SLI_MSI_RCV0 (0x0000000000003C10ull)
57#define CVMX_SLI_MSI_RCV1 (0x0000000000003C20ull)
58#define CVMX_SLI_MSI_RCV2 (0x0000000000003C30ull)
59#define CVMX_SLI_MSI_RCV3 (0x0000000000003C40ull)
60#define CVMX_SLI_MSI_RD_MAP (0x0000000000003CA0ull)
61#define CVMX_SLI_MSI_W1C_ENB0 (0x0000000000003CF0ull)
62#define CVMX_SLI_MSI_W1C_ENB1 (0x0000000000003D00ull)
63#define CVMX_SLI_MSI_W1C_ENB2 (0x0000000000003D10ull)
64#define CVMX_SLI_MSI_W1C_ENB3 (0x0000000000003D20ull)
65#define CVMX_SLI_MSI_W1S_ENB0 (0x0000000000003D30ull)
66#define CVMX_SLI_MSI_W1S_ENB1 (0x0000000000003D40ull)
67#define CVMX_SLI_MSI_W1S_ENB2 (0x0000000000003D50ull)
68#define CVMX_SLI_MSI_W1S_ENB3 (0x0000000000003D60ull)
69#define CVMX_SLI_MSI_WR_MAP (0x0000000000003C90ull)
70#define CVMX_SLI_PCIE_MSI_RCV (0x0000000000003CB0ull)
71#define CVMX_SLI_PCIE_MSI_RCV_B1 (0x0000000000000650ull)
72#define CVMX_SLI_PCIE_MSI_RCV_B2 (0x0000000000000660ull)
73#define CVMX_SLI_PCIE_MSI_RCV_B3 (0x0000000000000670ull)
74#define CVMX_SLI_PKTX_CNTS(offset) (0x0000000000002400ull + ((offset) & 31) * 16)
75#define CVMX_SLI_PKTX_INSTR_BADDR(offset) (0x0000000000002800ull + ((offset) & 31) * 16)
76#define CVMX_SLI_PKTX_INSTR_BAOFF_DBELL(offset) (0x0000000000002C00ull + ((offset) & 31) * 16)
77#define CVMX_SLI_PKTX_INSTR_FIFO_RSIZE(offset) (0x0000000000003000ull + ((offset) & 31) * 16)
78#define CVMX_SLI_PKTX_INSTR_HEADER(offset) (0x0000000000003400ull + ((offset) & 31) * 16)
79#define CVMX_SLI_PKTX_IN_BP(offset) (0x0000000000003800ull + ((offset) & 31) * 16)
80#define CVMX_SLI_PKTX_OUT_SIZE(offset) (0x0000000000000C00ull + ((offset) & 31) * 16)
81#define CVMX_SLI_PKTX_SLIST_BADDR(offset) (0x0000000000001400ull + ((offset) & 31) * 16)
82#define CVMX_SLI_PKTX_SLIST_BAOFF_DBELL(offset) (0x0000000000001800ull + ((offset) & 31) * 16)
83#define CVMX_SLI_PKTX_SLIST_FIFO_RSIZE(offset) (0x0000000000001C00ull + ((offset) & 31) * 16)
84#define CVMX_SLI_PKT_CNT_INT (0x0000000000001130ull)
85#define CVMX_SLI_PKT_CNT_INT_ENB (0x0000000000001150ull)
86#define CVMX_SLI_PKT_CTL (0x0000000000001220ull)
87#define CVMX_SLI_PKT_DATA_OUT_ES (0x00000000000010B0ull)
88#define CVMX_SLI_PKT_DATA_OUT_NS (0x00000000000010A0ull)
89#define CVMX_SLI_PKT_DATA_OUT_ROR (0x0000000000001090ull)
90#define CVMX_SLI_PKT_DPADDR (0x0000000000001080ull)
91#define CVMX_SLI_PKT_INPUT_CONTROL (0x0000000000001170ull)
92#define CVMX_SLI_PKT_INSTR_ENB (0x0000000000001000ull)
93#define CVMX_SLI_PKT_INSTR_RD_SIZE (0x00000000000011A0ull)
94#define CVMX_SLI_PKT_INSTR_SIZE (0x0000000000001020ull)
95#define CVMX_SLI_PKT_INT_LEVELS (0x0000000000001120ull)
96#define CVMX_SLI_PKT_IN_BP (0x0000000000001210ull)
97#define CVMX_SLI_PKT_IN_DONEX_CNTS(offset) (0x0000000000002000ull + ((offset) & 31) * 16)
98#define CVMX_SLI_PKT_IN_INSTR_COUNTS (0x0000000000001200ull)
99#define CVMX_SLI_PKT_IN_PCIE_PORT (0x00000000000011B0ull)
100#define CVMX_SLI_PKT_IPTR (0x0000000000001070ull)
101#define CVMX_SLI_PKT_OUTPUT_WMARK (0x0000000000001180ull)
102#define CVMX_SLI_PKT_OUT_BMODE (0x00000000000010D0ull)
103#define CVMX_SLI_PKT_OUT_BP_EN (0x0000000000001240ull)
104#define CVMX_SLI_PKT_OUT_ENB (0x0000000000001010ull)
105#define CVMX_SLI_PKT_PCIE_PORT (0x00000000000010E0ull)
106#define CVMX_SLI_PKT_PORT_IN_RST (0x00000000000011F0ull)
107#define CVMX_SLI_PKT_SLIST_ES (0x0000000000001050ull)
108#define CVMX_SLI_PKT_SLIST_NS (0x0000000000001040ull)
109#define CVMX_SLI_PKT_SLIST_ROR (0x0000000000001030ull)
110#define CVMX_SLI_PKT_TIME_INT (0x0000000000001140ull)
111#define CVMX_SLI_PKT_TIME_INT_ENB (0x0000000000001160ull)
112#define CVMX_SLI_PORTX_PKIND(offset) (0x0000000000000800ull + ((offset) & 31) * 16)
113#define CVMX_SLI_S2M_PORTX_CTL(offset) (0x0000000000003D80ull + ((offset) & 3) * 16)
114#define CVMX_SLI_SCRATCH_1 (0x00000000000003C0ull)
115#define CVMX_SLI_SCRATCH_2 (0x00000000000003D0ull)
116#define CVMX_SLI_STATE1 (0x0000000000000620ull)
117#define CVMX_SLI_STATE2 (0x0000000000000630ull)
118#define CVMX_SLI_STATE3 (0x0000000000000640ull)
119#define CVMX_SLI_TX_PIPE (0x0000000000001230ull)
120#define CVMX_SLI_WINDOW_CTL (0x00000000000002E0ull)
121#define CVMX_SLI_WIN_RD_ADDR (0x0000000000000010ull)
122#define CVMX_SLI_WIN_RD_DATA (0x0000000000000040ull)
123#define CVMX_SLI_WIN_WR_ADDR (0x0000000000000000ull)
124#define CVMX_SLI_WIN_WR_DATA (0x0000000000000020ull)
125#define CVMX_SLI_WIN_WR_MASK (0x0000000000000030ull)
126
127union cvmx_sli_bist_status {
128 uint64_t u64;
129 struct cvmx_sli_bist_status_s {
130#ifdef __BIG_ENDIAN_BITFIELD
131 uint64_t reserved_32_63:32;
132 uint64_t ncb_req:1;
133 uint64_t n2p0_c:1;
134 uint64_t n2p0_o:1;
135 uint64_t n2p1_c:1;
136 uint64_t n2p1_o:1;
137 uint64_t cpl_p0:1;
138 uint64_t cpl_p1:1;
139 uint64_t reserved_19_24:6;
140 uint64_t p2n0_c0:1;
141 uint64_t p2n0_c1:1;
142 uint64_t p2n0_n:1;
143 uint64_t p2n0_p0:1;
144 uint64_t p2n0_p1:1;
145 uint64_t p2n1_c0:1;
146 uint64_t p2n1_c1:1;
147 uint64_t p2n1_n:1;
148 uint64_t p2n1_p0:1;
149 uint64_t p2n1_p1:1;
150 uint64_t reserved_6_8:3;
151 uint64_t dsi1_1:1;
152 uint64_t dsi1_0:1;
153 uint64_t dsi0_1:1;
154 uint64_t dsi0_0:1;
155 uint64_t msi: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
185 } s;
186 struct cvmx_sli_bist_status_cn61xx {
187#ifdef __BIG_ENDIAN_BITFIELD
188 uint64_t reserved_31_63:33;
189 uint64_t n2p0_c:1;
190 uint64_t n2p0_o:1;
191 uint64_t reserved_27_28:2;
192 uint64_t cpl_p0:1;
193 uint64_t cpl_p1:1;
194 uint64_t reserved_19_24:6;
195 uint64_t p2n0_c0:1;
196 uint64_t p2n0_c1:1;
197 uint64_t p2n0_n:1;
198 uint64_t p2n0_p0:1;
199 uint64_t p2n0_p1:1;
200 uint64_t p2n1_c0:1;
201 uint64_t p2n1_c1:1;
202 uint64_t p2n1_n:1;
203 uint64_t p2n1_p0:1;
204 uint64_t p2n1_p1:1;
205 uint64_t reserved_6_8:3;
206 uint64_t dsi1_1:1;
207 uint64_t dsi1_0:1;
208 uint64_t dsi0_1:1;
209 uint64_t dsi0_0:1;
210 uint64_t msi: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
238 } cn61xx;
239 struct cvmx_sli_bist_status_cn63xx {
240#ifdef __BIG_ENDIAN_BITFIELD
241 uint64_t reserved_31_63:33;
242 uint64_t n2p0_c:1;
243 uint64_t n2p0_o:1;
244 uint64_t n2p1_c:1;
245 uint64_t n2p1_o:1;
246 uint64_t cpl_p0:1;
247 uint64_t cpl_p1:1;
248 uint64_t reserved_19_24:6;
249 uint64_t p2n0_c0:1;
250 uint64_t p2n0_c1:1;
251 uint64_t p2n0_n:1;
252 uint64_t p2n0_p0:1;
253 uint64_t p2n0_p1:1;
254 uint64_t p2n1_c0:1;
255 uint64_t p2n1_c1:1;
256 uint64_t p2n1_n:1;
257 uint64_t p2n1_p0:1;
258 uint64_t p2n1_p1:1;
259 uint64_t reserved_6_8:3;
260 uint64_t dsi1_1:1;
261 uint64_t dsi1_0:1;
262 uint64_t dsi0_1:1;
263 uint64_t dsi0_0:1;
264 uint64_t msi: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
293 } cn63xx;
294 struct cvmx_sli_bist_status_cn63xx cn63xxp1;
295 struct cvmx_sli_bist_status_cn61xx cn66xx;
296 struct cvmx_sli_bist_status_s cn68xx;
297 struct cvmx_sli_bist_status_s cn68xxp1;
298 struct cvmx_sli_bist_status_cn61xx cnf71xx;
299};
300
301union cvmx_sli_ctl_portx {
302 uint64_t u64;
303 struct cvmx_sli_ctl_portx_s {
304#ifdef __BIG_ENDIAN_BITFIELD
305 uint64_t reserved_22_63:42;
306 uint64_t intd:1;
307 uint64_t intc:1;
308 uint64_t intb:1;
309 uint64_t inta:1;
310 uint64_t dis_port:1;
311 uint64_t waitl_com:1;
312 uint64_t intd_map:2;
313 uint64_t intc_map:2;
314 uint64_t intb_map:2;
315 uint64_t inta_map:2;
316 uint64_t ctlp_ro:1;
317 uint64_t reserved_6_6:1;
318 uint64_t ptlp_ro:1;
319 uint64_t reserved_1_4:4;
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
339 } s;
340 struct cvmx_sli_ctl_portx_s cn61xx;
341 struct cvmx_sli_ctl_portx_s cn63xx;
342 struct cvmx_sli_ctl_portx_s cn63xxp1;
343 struct cvmx_sli_ctl_portx_s cn66xx;
344 struct cvmx_sli_ctl_portx_s cn68xx;
345 struct cvmx_sli_ctl_portx_s cn68xxp1;
346 struct cvmx_sli_ctl_portx_s cnf71xx;
347};
348
349union cvmx_sli_ctl_status {
350 uint64_t u64;
351 struct cvmx_sli_ctl_status_s {
352#ifdef __BIG_ENDIAN_BITFIELD
353 uint64_t reserved_20_63:44;
354 uint64_t p1_ntags:6;
355 uint64_t p0_ntags:6;
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
363 } s;
364 struct cvmx_sli_ctl_status_cn61xx {
365#ifdef __BIG_ENDIAN_BITFIELD
366 uint64_t reserved_14_63:50;
367 uint64_t p0_ntags:6;
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
374 } cn61xx;
375 struct cvmx_sli_ctl_status_s cn63xx;
376 struct cvmx_sli_ctl_status_s cn63xxp1;
377 struct cvmx_sli_ctl_status_cn61xx cn66xx;
378 struct cvmx_sli_ctl_status_s cn68xx;
379 struct cvmx_sli_ctl_status_s cn68xxp1;
380 struct cvmx_sli_ctl_status_cn61xx cnf71xx;
381};
382
383union cvmx_sli_data_out_cnt {
384 uint64_t u64;
385 struct cvmx_sli_data_out_cnt_s {
386#ifdef __BIG_ENDIAN_BITFIELD
387 uint64_t reserved_44_63:20;
388 uint64_t p1_ucnt:16;
389 uint64_t p1_fcnt:6;
390 uint64_t p0_ucnt:16;
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
399 } s;
400 struct cvmx_sli_data_out_cnt_s cn61xx;
401 struct cvmx_sli_data_out_cnt_s cn63xx;
402 struct cvmx_sli_data_out_cnt_s cn63xxp1;
403 struct cvmx_sli_data_out_cnt_s cn66xx;
404 struct cvmx_sli_data_out_cnt_s cn68xx;
405 struct cvmx_sli_data_out_cnt_s cn68xxp1;
406 struct cvmx_sli_data_out_cnt_s cnf71xx;
407};
408
409union cvmx_sli_dbg_data {
410 uint64_t u64;
411 struct cvmx_sli_dbg_data_s {
412#ifdef __BIG_ENDIAN_BITFIELD
413 uint64_t reserved_18_63:46;
414 uint64_t dsel_ext:1;
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
421 } s;
422 struct cvmx_sli_dbg_data_s cn61xx;
423 struct cvmx_sli_dbg_data_s cn63xx;
424 struct cvmx_sli_dbg_data_s cn63xxp1;
425 struct cvmx_sli_dbg_data_s cn66xx;
426 struct cvmx_sli_dbg_data_s cn68xx;
427 struct cvmx_sli_dbg_data_s cn68xxp1;
428 struct cvmx_sli_dbg_data_s cnf71xx;
429};
430
431union cvmx_sli_dbg_select {
432 uint64_t u64;
433 struct cvmx_sli_dbg_select_s {
434#ifdef __BIG_ENDIAN_BITFIELD
435 uint64_t reserved_33_63:31;
436 uint64_t adbg_sel:1;
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
443 } s;
444 struct cvmx_sli_dbg_select_s cn61xx;
445 struct cvmx_sli_dbg_select_s cn63xx;
446 struct cvmx_sli_dbg_select_s cn63xxp1;
447 struct cvmx_sli_dbg_select_s cn66xx;
448 struct cvmx_sli_dbg_select_s cn68xx;
449 struct cvmx_sli_dbg_select_s cn68xxp1;
450 struct cvmx_sli_dbg_select_s cnf71xx;
451};
452
453union cvmx_sli_dmax_cnt {
454 uint64_t u64;
455 struct cvmx_sli_dmax_cnt_s {
456#ifdef __BIG_ENDIAN_BITFIELD
457 uint64_t reserved_32_63:32;
458 uint64_t cnt:32;
459#else
460 uint64_t cnt:32;
461 uint64_t reserved_32_63:32;
462#endif
463 } s;
464 struct cvmx_sli_dmax_cnt_s cn61xx;
465 struct cvmx_sli_dmax_cnt_s cn63xx;
466 struct cvmx_sli_dmax_cnt_s cn63xxp1;
467 struct cvmx_sli_dmax_cnt_s cn66xx;
468 struct cvmx_sli_dmax_cnt_s cn68xx;
469 struct cvmx_sli_dmax_cnt_s cn68xxp1;
470 struct cvmx_sli_dmax_cnt_s cnf71xx;
471};
472
473union cvmx_sli_dmax_int_level {
474 uint64_t u64;
475 struct cvmx_sli_dmax_int_level_s {
476#ifdef __BIG_ENDIAN_BITFIELD
477 uint64_t time:32;
478 uint64_t cnt:32;
479#else
480 uint64_t cnt:32;
481 uint64_t time:32;
482#endif
483 } s;
484 struct cvmx_sli_dmax_int_level_s cn61xx;
485 struct cvmx_sli_dmax_int_level_s cn63xx;
486 struct cvmx_sli_dmax_int_level_s cn63xxp1;
487 struct cvmx_sli_dmax_int_level_s cn66xx;
488 struct cvmx_sli_dmax_int_level_s cn68xx;
489 struct cvmx_sli_dmax_int_level_s cn68xxp1;
490 struct cvmx_sli_dmax_int_level_s cnf71xx;
491};
492
493union cvmx_sli_dmax_tim {
494 uint64_t u64;
495 struct cvmx_sli_dmax_tim_s {
496#ifdef __BIG_ENDIAN_BITFIELD
497 uint64_t reserved_32_63:32;
498 uint64_t tim:32;
499#else
500 uint64_t tim:32;
501 uint64_t reserved_32_63:32;
502#endif
503 } s;
504 struct cvmx_sli_dmax_tim_s cn61xx;
505 struct cvmx_sli_dmax_tim_s cn63xx;
506 struct cvmx_sli_dmax_tim_s cn63xxp1;
507 struct cvmx_sli_dmax_tim_s cn66xx;
508 struct cvmx_sli_dmax_tim_s cn68xx;
509 struct cvmx_sli_dmax_tim_s cn68xxp1;
510 struct cvmx_sli_dmax_tim_s cnf71xx;
511};
512
513union cvmx_sli_int_enb_ciu {
514 uint64_t u64;
515 struct cvmx_sli_int_enb_ciu_s {
516#ifdef __BIG_ENDIAN_BITFIELD
517 uint64_t reserved_62_63:2;
518 uint64_t pipe_err:1;
519 uint64_t ill_pad:1;
520 uint64_t sprt3_err:1;
521 uint64_t sprt2_err:1;
522 uint64_t sprt1_err:1;
523 uint64_t sprt0_err:1;
524 uint64_t pins_err:1;
525 uint64_t pop_err:1;
526 uint64_t pdi_err:1;
527 uint64_t pgl_err:1;
528 uint64_t pin_bp:1;
529 uint64_t pout_err:1;
530 uint64_t psldbof:1;
531 uint64_t pidbof:1;
532 uint64_t reserved_38_47:10;
533 uint64_t dtime:2;
534 uint64_t dcnt:2;
535 uint64_t dmafi:2;
536 uint64_t reserved_28_31:4;
537 uint64_t m3_un_wi:1;
538 uint64_t m3_un_b0:1;
539 uint64_t m3_up_wi:1;
540 uint64_t m3_up_b0:1;
541 uint64_t m2_un_wi:1;
542 uint64_t m2_un_b0:1;
543 uint64_t m2_up_wi:1;
544 uint64_t m2_up_b0:1;
545 uint64_t reserved_18_19:2;
546 uint64_t mio_int1:1;
547 uint64_t mio_int0:1;
548 uint64_t m1_un_wi:1;
549 uint64_t m1_un_b0:1;
550 uint64_t m1_up_wi:1;
551 uint64_t m1_up_b0:1;
552 uint64_t m0_un_wi:1;
553 uint64_t m0_un_b0:1;
554 uint64_t m0_up_wi:1;
555 uint64_t m0_up_b0:1;
556 uint64_t reserved_6_7:2;
557 uint64_t ptime:1;
558 uint64_t pcnt:1;
559 uint64_t iob2big:1;
560 uint64_t bar0_to:1;
561 uint64_t reserved_1_1: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
611 } s;
612 struct cvmx_sli_int_enb_ciu_cn61xx {
613#ifdef __BIG_ENDIAN_BITFIELD
614 uint64_t reserved_61_63:3;
615 uint64_t ill_pad:1;
616 uint64_t sprt3_err:1;
617 uint64_t sprt2_err:1;
618 uint64_t sprt1_err:1;
619 uint64_t sprt0_err:1;
620 uint64_t pins_err:1;
621 uint64_t pop_err:1;
622 uint64_t pdi_err:1;
623 uint64_t pgl_err:1;
624 uint64_t pin_bp:1;
625 uint64_t pout_err:1;
626 uint64_t psldbof:1;
627 uint64_t pidbof:1;
628 uint64_t reserved_38_47:10;
629 uint64_t dtime:2;
630 uint64_t dcnt:2;
631 uint64_t dmafi:2;
632 uint64_t reserved_28_31:4;
633 uint64_t m3_un_wi:1;
634 uint64_t m3_un_b0:1;
635 uint64_t m3_up_wi:1;
636 uint64_t m3_up_b0:1;
637 uint64_t m2_un_wi:1;
638 uint64_t m2_un_b0:1;
639 uint64_t m2_up_wi:1;
640 uint64_t m2_up_b0:1;
641 uint64_t reserved_18_19:2;
642 uint64_t mio_int1:1;
643 uint64_t mio_int0:1;
644 uint64_t m1_un_wi:1;
645 uint64_t m1_un_b0:1;
646 uint64_t m1_up_wi:1;
647 uint64_t m1_up_b0:1;
648 uint64_t m0_un_wi:1;
649 uint64_t m0_un_b0:1;
650 uint64_t m0_up_wi:1;
651 uint64_t m0_up_b0:1;
652 uint64_t reserved_6_7:2;
653 uint64_t ptime:1;
654 uint64_t pcnt:1;
655 uint64_t iob2big:1;
656 uint64_t bar0_to:1;
657 uint64_t reserved_1_1: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
706 } cn61xx;
707 struct cvmx_sli_int_enb_ciu_cn63xx {
708#ifdef __BIG_ENDIAN_BITFIELD
709 uint64_t reserved_61_63:3;
710 uint64_t ill_pad:1;
711 uint64_t reserved_58_59:2;
712 uint64_t sprt1_err:1;
713 uint64_t sprt0_err:1;
714 uint64_t pins_err:1;
715 uint64_t pop_err:1;
716 uint64_t pdi_err:1;
717 uint64_t pgl_err:1;
718 uint64_t pin_bp:1;
719 uint64_t pout_err:1;
720 uint64_t psldbof:1;
721 uint64_t pidbof:1;
722 uint64_t reserved_38_47:10;
723 uint64_t dtime:2;
724 uint64_t dcnt:2;
725 uint64_t dmafi:2;
726 uint64_t reserved_18_31:14;
727 uint64_t mio_int1:1;
728 uint64_t mio_int0:1;
729 uint64_t m1_un_wi:1;
730 uint64_t m1_un_b0:1;
731 uint64_t m1_up_wi:1;
732 uint64_t m1_up_b0:1;
733 uint64_t m0_un_wi:1;
734 uint64_t m0_un_b0:1;
735 uint64_t m0_up_wi:1;
736 uint64_t m0_up_b0:1;
737 uint64_t reserved_6_7:2;
738 uint64_t ptime:1;
739 uint64_t pcnt:1;
740 uint64_t iob2big:1;
741 uint64_t bar0_to:1;
742 uint64_t reserved_1_1: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
781 } cn63xx;
782 struct cvmx_sli_int_enb_ciu_cn63xx cn63xxp1;
783 struct cvmx_sli_int_enb_ciu_cn61xx cn66xx;
784 struct cvmx_sli_int_enb_ciu_cn68xx {
785#ifdef __BIG_ENDIAN_BITFIELD
786 uint64_t reserved_62_63:2;
787 uint64_t pipe_err:1;
788 uint64_t ill_pad:1;
789 uint64_t reserved_58_59:2;
790 uint64_t sprt1_err:1;
791 uint64_t sprt0_err:1;
792 uint64_t pins_err:1;
793 uint64_t pop_err:1;
794 uint64_t pdi_err:1;
795 uint64_t pgl_err:1;
796 uint64_t reserved_51_51:1;
797 uint64_t pout_err:1;
798 uint64_t psldbof:1;
799 uint64_t pidbof:1;
800 uint64_t reserved_38_47:10;
801 uint64_t dtime:2;
802 uint64_t dcnt:2;
803 uint64_t dmafi:2;
804 uint64_t reserved_18_31:14;
805 uint64_t mio_int1:1;
806 uint64_t mio_int0:1;
807 uint64_t m1_un_wi:1;
808 uint64_t m1_un_b0:1;
809 uint64_t m1_up_wi:1;
810 uint64_t m1_up_b0:1;
811 uint64_t m0_un_wi:1;
812 uint64_t m0_un_b0:1;
813 uint64_t m0_up_wi:1;
814 uint64_t m0_up_b0:1;
815 uint64_t reserved_6_7:2;
816 uint64_t ptime:1;
817 uint64_t pcnt:1;
818 uint64_t iob2big:1;
819 uint64_t bar0_to:1;
820 uint64_t reserved_1_1: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
860 } cn68xx;
861 struct cvmx_sli_int_enb_ciu_cn68xx cn68xxp1;
862 struct cvmx_sli_int_enb_ciu_cn61xx cnf71xx;
863};
864
865union cvmx_sli_int_enb_portx {
866 uint64_t u64;
867 struct cvmx_sli_int_enb_portx_s {
868#ifdef __BIG_ENDIAN_BITFIELD
869 uint64_t reserved_62_63:2;
870 uint64_t pipe_err:1;
871 uint64_t ill_pad:1;
872 uint64_t sprt3_err:1;
873 uint64_t sprt2_err:1;
874 uint64_t sprt1_err:1;
875 uint64_t sprt0_err:1;
876 uint64_t pins_err:1;
877 uint64_t pop_err:1;
878 uint64_t pdi_err:1;
879 uint64_t pgl_err:1;
880 uint64_t pin_bp:1;
881 uint64_t pout_err:1;
882 uint64_t psldbof:1;
883 uint64_t pidbof:1;
884 uint64_t reserved_38_47:10;
885 uint64_t dtime:2;
886 uint64_t dcnt:2;
887 uint64_t dmafi:2;
888 uint64_t reserved_28_31:4;
889 uint64_t m3_un_wi:1;
890 uint64_t m3_un_b0:1;
891 uint64_t m3_up_wi:1;
892 uint64_t m3_up_b0:1;
893 uint64_t m2_un_wi:1;
894 uint64_t m2_un_b0:1;
895 uint64_t m2_up_wi:1;
896 uint64_t m2_up_b0:1;
897 uint64_t mac1_int:1;
898 uint64_t mac0_int:1;
899 uint64_t mio_int1:1;
900 uint64_t mio_int0:1;
901 uint64_t m1_un_wi:1;
902 uint64_t m1_un_b0:1;
903 uint64_t m1_up_wi:1;
904 uint64_t m1_up_b0:1;
905 uint64_t m0_un_wi:1;
906 uint64_t m0_un_b0:1;
907 uint64_t m0_up_wi:1;
908 uint64_t m0_up_b0:1;
909 uint64_t reserved_6_7:2;
910 uint64_t ptime:1;
911 uint64_t pcnt:1;
912 uint64_t iob2big:1;
913 uint64_t bar0_to:1;
914 uint64_t reserved_1_1: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
965 } s;
966 struct cvmx_sli_int_enb_portx_cn61xx {
967#ifdef __BIG_ENDIAN_BITFIELD
968 uint64_t reserved_61_63:3;
969 uint64_t ill_pad:1;
970 uint64_t sprt3_err:1;
971 uint64_t sprt2_err:1;
972 uint64_t sprt1_err:1;
973 uint64_t sprt0_err:1;
974 uint64_t pins_err:1;
975 uint64_t pop_err:1;
976 uint64_t pdi_err:1;
977 uint64_t pgl_err:1;
978 uint64_t pin_bp:1;
979 uint64_t pout_err:1;
980 uint64_t psldbof:1;
981 uint64_t pidbof:1;
982 uint64_t reserved_38_47:10;
983 uint64_t dtime:2;
984 uint64_t dcnt:2;
985 uint64_t dmafi:2;
986 uint64_t reserved_28_31:4;
987 uint64_t m3_un_wi:1;
988 uint64_t m3_un_b0:1;
989 uint64_t m3_up_wi:1;
990 uint64_t m3_up_b0:1;
991 uint64_t m2_un_wi:1;
992 uint64_t m2_un_b0:1;
993 uint64_t m2_up_wi:1;
994 uint64_t m2_up_b0:1;
995 uint64_t mac1_int:1;
996 uint64_t mac0_int:1;
997 uint64_t mio_int1:1;
998 uint64_t mio_int0:1;
999 uint64_t m1_un_wi:1;
1000 uint64_t m1_un_b0:1;
1001 uint64_t m1_up_wi:1;
1002 uint64_t m1_up_b0:1;
1003 uint64_t m0_un_wi:1;
1004 uint64_t m0_un_b0:1;
1005 uint64_t m0_up_wi:1;
1006 uint64_t m0_up_b0:1;
1007 uint64_t reserved_6_7:2;
1008 uint64_t ptime:1;
1009 uint64_t pcnt:1;
1010 uint64_t iob2big:1;
1011 uint64_t bar0_to:1;
1012 uint64_t reserved_1_1: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
1062 } cn61xx;
1063 struct cvmx_sli_int_enb_portx_cn63xx {
1064#ifdef __BIG_ENDIAN_BITFIELD
1065 uint64_t reserved_61_63:3;
1066 uint64_t ill_pad:1;
1067 uint64_t reserved_58_59:2;
1068 uint64_t sprt1_err:1;
1069 uint64_t sprt0_err:1;
1070 uint64_t pins_err:1;
1071 uint64_t pop_err:1;
1072 uint64_t pdi_err:1;
1073 uint64_t pgl_err:1;
1074 uint64_t pin_bp:1;
1075 uint64_t pout_err:1;
1076 uint64_t psldbof:1;
1077 uint64_t pidbof:1;
1078 uint64_t reserved_38_47:10;
1079 uint64_t dtime:2;
1080 uint64_t dcnt:2;
1081 uint64_t dmafi:2;
1082 uint64_t reserved_20_31:12;
1083 uint64_t mac1_int:1;
1084 uint64_t mac0_int:1;
1085 uint64_t mio_int1:1;
1086 uint64_t mio_int0:1;
1087 uint64_t m1_un_wi:1;
1088 uint64_t m1_un_b0:1;
1089 uint64_t m1_up_wi:1;
1090 uint64_t m1_up_b0:1;
1091 uint64_t m0_un_wi:1;
1092 uint64_t m0_un_b0:1;
1093 uint64_t m0_up_wi:1;
1094 uint64_t m0_up_b0:1;
1095 uint64_t reserved_6_7:2;
1096 uint64_t ptime:1;
1097 uint64_t pcnt:1;
1098 uint64_t iob2big:1;
1099 uint64_t bar0_to:1;
1100 uint64_t reserved_1_1: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
1141 } cn63xx;
1142 struct cvmx_sli_int_enb_portx_cn63xx cn63xxp1;
1143 struct cvmx_sli_int_enb_portx_cn61xx cn66xx;
1144 struct cvmx_sli_int_enb_portx_cn68xx {
1145#ifdef __BIG_ENDIAN_BITFIELD
1146 uint64_t reserved_62_63:2;
1147 uint64_t pipe_err:1;
1148 uint64_t ill_pad:1;
1149 uint64_t reserved_58_59:2;
1150 uint64_t sprt1_err:1;
1151 uint64_t sprt0_err:1;
1152 uint64_t pins_err:1;
1153 uint64_t pop_err:1;
1154 uint64_t pdi_err:1;
1155 uint64_t pgl_err:1;
1156 uint64_t reserved_51_51:1;
1157 uint64_t pout_err:1;
1158 uint64_t psldbof:1;
1159 uint64_t pidbof:1;
1160 uint64_t reserved_38_47:10;
1161 uint64_t dtime:2;
1162 uint64_t dcnt:2;
1163 uint64_t dmafi:2;
1164 uint64_t reserved_20_31:12;
1165 uint64_t mac1_int:1;
1166 uint64_t mac0_int:1;
1167 uint64_t mio_int1:1;
1168 uint64_t mio_int0:1;
1169 uint64_t m1_un_wi:1;
1170 uint64_t m1_un_b0:1;
1171 uint64_t m1_up_wi:1;
1172 uint64_t m1_up_b0:1;
1173 uint64_t m0_un_wi:1;
1174 uint64_t m0_un_b0:1;
1175 uint64_t m0_up_wi:1;
1176 uint64_t m0_up_b0:1;
1177 uint64_t reserved_6_7:2;
1178 uint64_t ptime:1;
1179 uint64_t pcnt:1;
1180 uint64_t iob2big:1;
1181 uint64_t bar0_to:1;
1182 uint64_t reserved_1_1: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
1224 } cn68xx;
1225 struct cvmx_sli_int_enb_portx_cn68xx cn68xxp1;
1226 struct cvmx_sli_int_enb_portx_cn61xx cnf71xx;
1227};
1228
1229union cvmx_sli_int_sum {
1230 uint64_t u64;
1231 struct cvmx_sli_int_sum_s {
1232#ifdef __BIG_ENDIAN_BITFIELD
1233 uint64_t reserved_62_63:2;
1234 uint64_t pipe_err:1;
1235 uint64_t ill_pad:1;
1236 uint64_t sprt3_err:1;
1237 uint64_t sprt2_err:1;
1238 uint64_t sprt1_err:1;
1239 uint64_t sprt0_err:1;
1240 uint64_t pins_err:1;
1241 uint64_t pop_err:1;
1242 uint64_t pdi_err:1;
1243 uint64_t pgl_err:1;
1244 uint64_t pin_bp:1;
1245 uint64_t pout_err:1;
1246 uint64_t psldbof:1;
1247 uint64_t pidbof:1;
1248 uint64_t reserved_38_47:10;
1249 uint64_t dtime:2;
1250 uint64_t dcnt:2;
1251 uint64_t dmafi:2;
1252 uint64_t reserved_28_31:4;
1253 uint64_t m3_un_wi:1;
1254 uint64_t m3_un_b0:1;
1255 uint64_t m3_up_wi:1;
1256 uint64_t m3_up_b0:1;
1257 uint64_t m2_un_wi:1;
1258 uint64_t m2_un_b0:1;
1259 uint64_t m2_up_wi:1;
1260 uint64_t m2_up_b0:1;
1261 uint64_t mac1_int:1;
1262 uint64_t mac0_int:1;
1263 uint64_t mio_int1:1;
1264 uint64_t mio_int0:1;
1265 uint64_t m1_un_wi:1;
1266 uint64_t m1_un_b0:1;
1267 uint64_t m1_up_wi:1;
1268 uint64_t m1_up_b0:1;
1269 uint64_t m0_un_wi:1;
1270 uint64_t m0_un_b0:1;
1271 uint64_t m0_up_wi:1;
1272 uint64_t m0_up_b0:1;
1273 uint64_t reserved_6_7:2;
1274 uint64_t ptime:1;
1275 uint64_t pcnt:1;
1276 uint64_t iob2big:1;
1277 uint64_t bar0_to:1;
1278 uint64_t reserved_1_1: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
1329 } s;
1330 struct cvmx_sli_int_sum_cn61xx {
1331#ifdef __BIG_ENDIAN_BITFIELD
1332 uint64_t reserved_61_63:3;
1333 uint64_t ill_pad:1;
1334 uint64_t sprt3_err:1;
1335 uint64_t sprt2_err:1;
1336 uint64_t sprt1_err:1;
1337 uint64_t sprt0_err:1;
1338 uint64_t pins_err:1;
1339 uint64_t pop_err:1;
1340 uint64_t pdi_err:1;
1341 uint64_t pgl_err:1;
1342 uint64_t pin_bp:1;
1343 uint64_t pout_err:1;
1344 uint64_t psldbof:1;
1345 uint64_t pidbof:1;
1346 uint64_t reserved_38_47:10;
1347 uint64_t dtime:2;
1348 uint64_t dcnt:2;
1349 uint64_t dmafi:2;
1350 uint64_t reserved_28_31:4;
1351 uint64_t m3_un_wi:1;
1352 uint64_t m3_un_b0:1;
1353 uint64_t m3_up_wi:1;
1354 uint64_t m3_up_b0:1;
1355 uint64_t m2_un_wi:1;
1356 uint64_t m2_un_b0:1;
1357 uint64_t m2_up_wi:1;
1358 uint64_t m2_up_b0:1;
1359 uint64_t mac1_int:1;
1360 uint64_t mac0_int:1;
1361 uint64_t mio_int1:1;
1362 uint64_t mio_int0:1;
1363 uint64_t m1_un_wi:1;
1364 uint64_t m1_un_b0:1;
1365 uint64_t m1_up_wi:1;
1366 uint64_t m1_up_b0:1;
1367 uint64_t m0_un_wi:1;
1368 uint64_t m0_un_b0:1;
1369 uint64_t m0_up_wi:1;
1370 uint64_t m0_up_b0:1;
1371 uint64_t reserved_6_7:2;
1372 uint64_t ptime:1;
1373 uint64_t pcnt:1;
1374 uint64_t iob2big:1;
1375 uint64_t bar0_to:1;
1376 uint64_t reserved_1_1: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
1426 } cn61xx;
1427 struct cvmx_sli_int_sum_cn63xx {
1428#ifdef __BIG_ENDIAN_BITFIELD
1429 uint64_t reserved_61_63:3;
1430 uint64_t ill_pad:1;
1431 uint64_t reserved_58_59:2;
1432 uint64_t sprt1_err:1;
1433 uint64_t sprt0_err:1;
1434 uint64_t pins_err:1;
1435 uint64_t pop_err:1;
1436 uint64_t pdi_err:1;
1437 uint64_t pgl_err:1;
1438 uint64_t pin_bp:1;
1439 uint64_t pout_err:1;
1440 uint64_t psldbof:1;
1441 uint64_t pidbof:1;
1442 uint64_t reserved_38_47:10;
1443 uint64_t dtime:2;
1444 uint64_t dcnt:2;
1445 uint64_t dmafi:2;
1446 uint64_t reserved_20_31:12;
1447 uint64_t mac1_int:1;
1448 uint64_t mac0_int:1;
1449 uint64_t mio_int1:1;
1450 uint64_t mio_int0:1;
1451 uint64_t m1_un_wi:1;
1452 uint64_t m1_un_b0:1;
1453 uint64_t m1_up_wi:1;
1454 uint64_t m1_up_b0:1;
1455 uint64_t m0_un_wi:1;
1456 uint64_t m0_un_b0:1;
1457 uint64_t m0_up_wi:1;
1458 uint64_t m0_up_b0:1;
1459 uint64_t reserved_6_7:2;
1460 uint64_t ptime:1;
1461 uint64_t pcnt:1;
1462 uint64_t iob2big:1;
1463 uint64_t bar0_to:1;
1464 uint64_t reserved_1_1: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
1505 } cn63xx;
1506 struct cvmx_sli_int_sum_cn63xx cn63xxp1;
1507 struct cvmx_sli_int_sum_cn61xx cn66xx;
1508 struct cvmx_sli_int_sum_cn68xx {
1509#ifdef __BIG_ENDIAN_BITFIELD
1510 uint64_t reserved_62_63:2;
1511 uint64_t pipe_err:1;
1512 uint64_t ill_pad:1;
1513 uint64_t reserved_58_59:2;
1514 uint64_t sprt1_err:1;
1515 uint64_t sprt0_err:1;
1516 uint64_t pins_err:1;
1517 uint64_t pop_err:1;
1518 uint64_t pdi_err:1;
1519 uint64_t pgl_err:1;
1520 uint64_t reserved_51_51:1;
1521 uint64_t pout_err:1;
1522 uint64_t psldbof:1;
1523 uint64_t pidbof:1;
1524 uint64_t reserved_38_47:10;
1525 uint64_t dtime:2;
1526 uint64_t dcnt:2;
1527 uint64_t dmafi:2;
1528 uint64_t reserved_20_31:12;
1529 uint64_t mac1_int:1;
1530 uint64_t mac0_int:1;
1531 uint64_t mio_int1:1;
1532 uint64_t mio_int0:1;
1533 uint64_t m1_un_wi:1;
1534 uint64_t m1_un_b0:1;
1535 uint64_t m1_up_wi:1;
1536 uint64_t m1_up_b0:1;
1537 uint64_t m0_un_wi:1;
1538 uint64_t m0_un_b0:1;
1539 uint64_t m0_up_wi:1;
1540 uint64_t m0_up_b0:1;
1541 uint64_t reserved_6_7:2;
1542 uint64_t ptime:1;
1543 uint64_t pcnt:1;
1544 uint64_t iob2big:1;
1545 uint64_t bar0_to:1;
1546 uint64_t reserved_1_1: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
1588 } cn68xx;
1589 struct cvmx_sli_int_sum_cn68xx cn68xxp1;
1590 struct cvmx_sli_int_sum_cn61xx cnf71xx;
1591};
1592
1593union cvmx_sli_last_win_rdata0 {
1594 uint64_t u64;
1595 struct cvmx_sli_last_win_rdata0_s {
1596#ifdef __BIG_ENDIAN_BITFIELD
1597 uint64_t data:64;
1598#else
1599 uint64_t data:64;
1600#endif
1601 } s;
1602 struct cvmx_sli_last_win_rdata0_s cn61xx;
1603 struct cvmx_sli_last_win_rdata0_s cn63xx;
1604 struct cvmx_sli_last_win_rdata0_s cn63xxp1;
1605 struct cvmx_sli_last_win_rdata0_s cn66xx;
1606 struct cvmx_sli_last_win_rdata0_s cn68xx;
1607 struct cvmx_sli_last_win_rdata0_s cn68xxp1;
1608 struct cvmx_sli_last_win_rdata0_s cnf71xx;
1609};
1610
1611union cvmx_sli_last_win_rdata1 {
1612 uint64_t u64;
1613 struct cvmx_sli_last_win_rdata1_s {
1614#ifdef __BIG_ENDIAN_BITFIELD
1615 uint64_t data:64;
1616#else
1617 uint64_t data:64;
1618#endif
1619 } s;
1620 struct cvmx_sli_last_win_rdata1_s cn61xx;
1621 struct cvmx_sli_last_win_rdata1_s cn63xx;
1622 struct cvmx_sli_last_win_rdata1_s cn63xxp1;
1623 struct cvmx_sli_last_win_rdata1_s cn66xx;
1624 struct cvmx_sli_last_win_rdata1_s cn68xx;
1625 struct cvmx_sli_last_win_rdata1_s cn68xxp1;
1626 struct cvmx_sli_last_win_rdata1_s cnf71xx;
1627};
1628
1629union cvmx_sli_last_win_rdata2 {
1630 uint64_t u64;
1631 struct cvmx_sli_last_win_rdata2_s {
1632#ifdef __BIG_ENDIAN_BITFIELD
1633 uint64_t data:64;
1634#else
1635 uint64_t data:64;
1636#endif
1637 } s;
1638 struct cvmx_sli_last_win_rdata2_s cn61xx;
1639 struct cvmx_sli_last_win_rdata2_s cn66xx;
1640 struct cvmx_sli_last_win_rdata2_s cnf71xx;
1641};
1642
1643union cvmx_sli_last_win_rdata3 {
1644 uint64_t u64;
1645 struct cvmx_sli_last_win_rdata3_s {
1646#ifdef __BIG_ENDIAN_BITFIELD
1647 uint64_t data:64;
1648#else
1649 uint64_t data:64;
1650#endif
1651 } s;
1652 struct cvmx_sli_last_win_rdata3_s cn61xx;
1653 struct cvmx_sli_last_win_rdata3_s cn66xx;
1654 struct cvmx_sli_last_win_rdata3_s cnf71xx;
1655};
1656
1657union cvmx_sli_mac_credit_cnt {
1658 uint64_t u64;
1659 struct cvmx_sli_mac_credit_cnt_s {
1660#ifdef __BIG_ENDIAN_BITFIELD
1661 uint64_t reserved_54_63:10;
1662 uint64_t p1_c_d:1;
1663 uint64_t p1_n_d:1;
1664 uint64_t p1_p_d:1;
1665 uint64_t p0_c_d:1;
1666 uint64_t p0_n_d:1;
1667 uint64_t p0_p_d:1;
1668 uint64_t p1_ccnt:8;
1669 uint64_t p1_ncnt:8;
1670 uint64_t p1_pcnt:8;
1671 uint64_t p0_ccnt:8;
1672 uint64_t p0_ncnt: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
1689 } s;
1690 struct cvmx_sli_mac_credit_cnt_s cn61xx;
1691 struct cvmx_sli_mac_credit_cnt_s cn63xx;
1692 struct cvmx_sli_mac_credit_cnt_cn63xxp1 {
1693#ifdef __BIG_ENDIAN_BITFIELD
1694 uint64_t reserved_48_63:16;
1695 uint64_t p1_ccnt:8;
1696 uint64_t p1_ncnt:8;
1697 uint64_t p1_pcnt:8;
1698 uint64_t p0_ccnt:8;
1699 uint64_t p0_ncnt: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
1710 } cn63xxp1;
1711 struct cvmx_sli_mac_credit_cnt_s cn66xx;
1712 struct cvmx_sli_mac_credit_cnt_s cn68xx;
1713 struct cvmx_sli_mac_credit_cnt_s cn68xxp1;
1714 struct cvmx_sli_mac_credit_cnt_s cnf71xx;
1715};
1716
1717union cvmx_sli_mac_credit_cnt2 {
1718 uint64_t u64;
1719 struct cvmx_sli_mac_credit_cnt2_s {
1720#ifdef __BIG_ENDIAN_BITFIELD
1721 uint64_t reserved_54_63:10;
1722 uint64_t p3_c_d:1;
1723 uint64_t p3_n_d:1;
1724 uint64_t p3_p_d:1;
1725 uint64_t p2_c_d:1;
1726 uint64_t p2_n_d:1;
1727 uint64_t p2_p_d:1;
1728 uint64_t p3_ccnt:8;
1729 uint64_t p3_ncnt:8;
1730 uint64_t p3_pcnt:8;
1731 uint64_t p2_ccnt:8;
1732 uint64_t p2_ncnt: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
1749 } s;
1750 struct cvmx_sli_mac_credit_cnt2_s cn61xx;
1751 struct cvmx_sli_mac_credit_cnt2_s cn66xx;
1752 struct cvmx_sli_mac_credit_cnt2_s cnf71xx;
1753};
1754
1755union cvmx_sli_mac_number {
1756 uint64_t u64;
1757 struct cvmx_sli_mac_number_s {
1758#ifdef __BIG_ENDIAN_BITFIELD
1759 uint64_t reserved_9_63:55;
1760 uint64_t a_mode:1;
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
1767 } s;
1768 struct cvmx_sli_mac_number_s cn61xx;
1769 struct cvmx_sli_mac_number_cn63xx {
1770#ifdef __BIG_ENDIAN_BITFIELD
1771 uint64_t reserved_8_63:56;
1772 uint64_t num:8;
1773#else
1774 uint64_t num:8;
1775 uint64_t reserved_8_63:56;
1776#endif
1777 } cn63xx;
1778 struct cvmx_sli_mac_number_s cn66xx;
1779 struct cvmx_sli_mac_number_cn63xx cn68xx;
1780 struct cvmx_sli_mac_number_cn63xx cn68xxp1;
1781 struct cvmx_sli_mac_number_s cnf71xx;
1782};
1783
1784union cvmx_sli_mem_access_ctl {
1785 uint64_t u64;
1786 struct cvmx_sli_mem_access_ctl_s {
1787#ifdef __BIG_ENDIAN_BITFIELD
1788 uint64_t reserved_14_63:50;
1789 uint64_t max_word:4;
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
1796 } s;
1797 struct cvmx_sli_mem_access_ctl_s cn61xx;
1798 struct cvmx_sli_mem_access_ctl_s cn63xx;
1799 struct cvmx_sli_mem_access_ctl_s cn63xxp1;
1800 struct cvmx_sli_mem_access_ctl_s cn66xx;
1801 struct cvmx_sli_mem_access_ctl_s cn68xx;
1802 struct cvmx_sli_mem_access_ctl_s cn68xxp1;
1803 struct cvmx_sli_mem_access_ctl_s cnf71xx;
1804};
1805
1806union cvmx_sli_mem_access_subidx {
1807 uint64_t u64;
1808 struct cvmx_sli_mem_access_subidx_s {
1809#ifdef __BIG_ENDIAN_BITFIELD
1810 uint64_t reserved_43_63:21;
1811 uint64_t zero:1;
1812 uint64_t port:3;
1813 uint64_t nmerge:1;
1814 uint64_t esr:2;
1815 uint64_t esw:2;
1816 uint64_t wtype:2;
1817 uint64_t rtype:2;
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
1830 } s;
1831 struct cvmx_sli_mem_access_subidx_cn61xx {
1832#ifdef __BIG_ENDIAN_BITFIELD
1833 uint64_t reserved_43_63:21;
1834 uint64_t zero:1;
1835 uint64_t port:3;
1836 uint64_t nmerge:1;
1837 uint64_t esr:2;
1838 uint64_t esw:2;
1839 uint64_t wtype:2;
1840 uint64_t rtype:2;
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
1853 } cn61xx;
1854 struct cvmx_sli_mem_access_subidx_cn61xx cn63xx;
1855 struct cvmx_sli_mem_access_subidx_cn61xx cn63xxp1;
1856 struct cvmx_sli_mem_access_subidx_cn61xx cn66xx;
1857 struct cvmx_sli_mem_access_subidx_cn68xx {
1858#ifdef __BIG_ENDIAN_BITFIELD
1859 uint64_t reserved_43_63:21;
1860 uint64_t zero:1;
1861 uint64_t port:3;
1862 uint64_t nmerge:1;
1863 uint64_t esr:2;
1864 uint64_t esw:2;
1865 uint64_t wtype:2;
1866 uint64_t rtype:2;
1867 uint64_t ba:28;
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
1881 } cn68xx;
1882 struct cvmx_sli_mem_access_subidx_cn68xx cn68xxp1;
1883 struct cvmx_sli_mem_access_subidx_cn61xx cnf71xx;
1884};
1885
1886union cvmx_sli_msi_enb0 {
1887 uint64_t u64;
1888 struct cvmx_sli_msi_enb0_s {
1889#ifdef __BIG_ENDIAN_BITFIELD
1890 uint64_t enb:64;
1891#else
1892 uint64_t enb:64;
1893#endif
1894 } s;
1895 struct cvmx_sli_msi_enb0_s cn61xx;
1896 struct cvmx_sli_msi_enb0_s cn63xx;
1897 struct cvmx_sli_msi_enb0_s cn63xxp1;
1898 struct cvmx_sli_msi_enb0_s cn66xx;
1899 struct cvmx_sli_msi_enb0_s cn68xx;
1900 struct cvmx_sli_msi_enb0_s cn68xxp1;
1901 struct cvmx_sli_msi_enb0_s cnf71xx;
1902};
1903
1904union cvmx_sli_msi_enb1 {
1905 uint64_t u64;
1906 struct cvmx_sli_msi_enb1_s {
1907#ifdef __BIG_ENDIAN_BITFIELD
1908 uint64_t enb:64;
1909#else
1910 uint64_t enb:64;
1911#endif
1912 } s;
1913 struct cvmx_sli_msi_enb1_s cn61xx;
1914 struct cvmx_sli_msi_enb1_s cn63xx;
1915 struct cvmx_sli_msi_enb1_s cn63xxp1;
1916 struct cvmx_sli_msi_enb1_s cn66xx;
1917 struct cvmx_sli_msi_enb1_s cn68xx;
1918 struct cvmx_sli_msi_enb1_s cn68xxp1;
1919 struct cvmx_sli_msi_enb1_s cnf71xx;
1920};
1921
1922union cvmx_sli_msi_enb2 {
1923 uint64_t u64;
1924 struct cvmx_sli_msi_enb2_s {
1925#ifdef __BIG_ENDIAN_BITFIELD
1926 uint64_t enb:64;
1927#else
1928 uint64_t enb:64;
1929#endif
1930 } s;
1931 struct cvmx_sli_msi_enb2_s cn61xx;
1932 struct cvmx_sli_msi_enb2_s cn63xx;
1933 struct cvmx_sli_msi_enb2_s cn63xxp1;
1934 struct cvmx_sli_msi_enb2_s cn66xx;
1935 struct cvmx_sli_msi_enb2_s cn68xx;
1936 struct cvmx_sli_msi_enb2_s cn68xxp1;
1937 struct cvmx_sli_msi_enb2_s cnf71xx;
1938};
1939
1940union cvmx_sli_msi_enb3 {
1941 uint64_t u64;
1942 struct cvmx_sli_msi_enb3_s {
1943#ifdef __BIG_ENDIAN_BITFIELD
1944 uint64_t enb:64;
1945#else
1946 uint64_t enb:64;
1947#endif
1948 } s;
1949 struct cvmx_sli_msi_enb3_s cn61xx;
1950 struct cvmx_sli_msi_enb3_s cn63xx;
1951 struct cvmx_sli_msi_enb3_s cn63xxp1;
1952 struct cvmx_sli_msi_enb3_s cn66xx;
1953 struct cvmx_sli_msi_enb3_s cn68xx;
1954 struct cvmx_sli_msi_enb3_s cn68xxp1;
1955 struct cvmx_sli_msi_enb3_s cnf71xx;
1956};
1957
1958union cvmx_sli_msi_rcv0 {
1959 uint64_t u64;
1960 struct cvmx_sli_msi_rcv0_s {
1961#ifdef __BIG_ENDIAN_BITFIELD
1962 uint64_t intr:64;
1963#else
1964 uint64_t intr:64;
1965#endif
1966 } s;
1967 struct cvmx_sli_msi_rcv0_s cn61xx;
1968 struct cvmx_sli_msi_rcv0_s cn63xx;
1969 struct cvmx_sli_msi_rcv0_s cn63xxp1;
1970 struct cvmx_sli_msi_rcv0_s cn66xx;
1971 struct cvmx_sli_msi_rcv0_s cn68xx;
1972 struct cvmx_sli_msi_rcv0_s cn68xxp1;
1973 struct cvmx_sli_msi_rcv0_s cnf71xx;
1974};
1975
1976union cvmx_sli_msi_rcv1 {
1977 uint64_t u64;
1978 struct cvmx_sli_msi_rcv1_s {
1979#ifdef __BIG_ENDIAN_BITFIELD
1980 uint64_t intr:64;
1981#else
1982 uint64_t intr:64;
1983#endif
1984 } s;
1985 struct cvmx_sli_msi_rcv1_s cn61xx;
1986 struct cvmx_sli_msi_rcv1_s cn63xx;
1987 struct cvmx_sli_msi_rcv1_s cn63xxp1;
1988 struct cvmx_sli_msi_rcv1_s cn66xx;
1989 struct cvmx_sli_msi_rcv1_s cn68xx;
1990 struct cvmx_sli_msi_rcv1_s cn68xxp1;
1991 struct cvmx_sli_msi_rcv1_s cnf71xx;
1992};
1993
1994union cvmx_sli_msi_rcv2 {
1995 uint64_t u64;
1996 struct cvmx_sli_msi_rcv2_s {
1997#ifdef __BIG_ENDIAN_BITFIELD
1998 uint64_t intr:64;
1999#else
2000 uint64_t intr:64;
2001#endif
2002 } s;
2003 struct cvmx_sli_msi_rcv2_s cn61xx;
2004 struct cvmx_sli_msi_rcv2_s cn63xx;
2005 struct cvmx_sli_msi_rcv2_s cn63xxp1;
2006 struct cvmx_sli_msi_rcv2_s cn66xx;
2007 struct cvmx_sli_msi_rcv2_s cn68xx;
2008 struct cvmx_sli_msi_rcv2_s cn68xxp1;
2009 struct cvmx_sli_msi_rcv2_s cnf71xx;
2010};
2011
2012union cvmx_sli_msi_rcv3 {
2013 uint64_t u64;
2014 struct cvmx_sli_msi_rcv3_s {
2015#ifdef __BIG_ENDIAN_BITFIELD
2016 uint64_t intr:64;
2017#else
2018 uint64_t intr:64;
2019#endif
2020 } s;
2021 struct cvmx_sli_msi_rcv3_s cn61xx;
2022 struct cvmx_sli_msi_rcv3_s cn63xx;
2023 struct cvmx_sli_msi_rcv3_s cn63xxp1;
2024 struct cvmx_sli_msi_rcv3_s cn66xx;
2025 struct cvmx_sli_msi_rcv3_s cn68xx;
2026 struct cvmx_sli_msi_rcv3_s cn68xxp1;
2027 struct cvmx_sli_msi_rcv3_s cnf71xx;
2028};
2029
2030union cvmx_sli_msi_rd_map {
2031 uint64_t u64;
2032 struct cvmx_sli_msi_rd_map_s {
2033#ifdef __BIG_ENDIAN_BITFIELD
2034 uint64_t reserved_16_63:48;
2035 uint64_t rd_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
2042 } s;
2043 struct cvmx_sli_msi_rd_map_s cn61xx;
2044 struct cvmx_sli_msi_rd_map_s cn63xx;
2045 struct cvmx_sli_msi_rd_map_s cn63xxp1;
2046 struct cvmx_sli_msi_rd_map_s cn66xx;
2047 struct cvmx_sli_msi_rd_map_s cn68xx;
2048 struct cvmx_sli_msi_rd_map_s cn68xxp1;
2049 struct cvmx_sli_msi_rd_map_s cnf71xx;
2050};
2051
2052union cvmx_sli_msi_w1c_enb0 {
2053 uint64_t u64;
2054 struct cvmx_sli_msi_w1c_enb0_s {
2055#ifdef __BIG_ENDIAN_BITFIELD
2056 uint64_t clr:64;
2057#else
2058 uint64_t clr:64;
2059#endif
2060 } s;
2061 struct cvmx_sli_msi_w1c_enb0_s cn61xx;
2062 struct cvmx_sli_msi_w1c_enb0_s cn63xx;
2063 struct cvmx_sli_msi_w1c_enb0_s cn63xxp1;
2064 struct cvmx_sli_msi_w1c_enb0_s cn66xx;
2065 struct cvmx_sli_msi_w1c_enb0_s cn68xx;
2066 struct cvmx_sli_msi_w1c_enb0_s cn68xxp1;
2067 struct cvmx_sli_msi_w1c_enb0_s cnf71xx;
2068};
2069
2070union cvmx_sli_msi_w1c_enb1 {
2071 uint64_t u64;
2072 struct cvmx_sli_msi_w1c_enb1_s {
2073#ifdef __BIG_ENDIAN_BITFIELD
2074 uint64_t clr:64;
2075#else
2076 uint64_t clr:64;
2077#endif
2078 } s;
2079 struct cvmx_sli_msi_w1c_enb1_s cn61xx;
2080 struct cvmx_sli_msi_w1c_enb1_s cn63xx;
2081 struct cvmx_sli_msi_w1c_enb1_s cn63xxp1;
2082 struct cvmx_sli_msi_w1c_enb1_s cn66xx;
2083 struct cvmx_sli_msi_w1c_enb1_s cn68xx;
2084 struct cvmx_sli_msi_w1c_enb1_s cn68xxp1;
2085 struct cvmx_sli_msi_w1c_enb1_s cnf71xx;
2086};
2087
2088union cvmx_sli_msi_w1c_enb2 {
2089 uint64_t u64;
2090 struct cvmx_sli_msi_w1c_enb2_s {
2091#ifdef __BIG_ENDIAN_BITFIELD
2092 uint64_t clr:64;
2093#else
2094 uint64_t clr:64;
2095#endif
2096 } s;
2097 struct cvmx_sli_msi_w1c_enb2_s cn61xx;
2098 struct cvmx_sli_msi_w1c_enb2_s cn63xx;
2099 struct cvmx_sli_msi_w1c_enb2_s cn63xxp1;
2100 struct cvmx_sli_msi_w1c_enb2_s cn66xx;
2101 struct cvmx_sli_msi_w1c_enb2_s cn68xx;
2102 struct cvmx_sli_msi_w1c_enb2_s cn68xxp1;
2103 struct cvmx_sli_msi_w1c_enb2_s cnf71xx;
2104};
2105
2106union cvmx_sli_msi_w1c_enb3 {
2107 uint64_t u64;
2108 struct cvmx_sli_msi_w1c_enb3_s {
2109#ifdef __BIG_ENDIAN_BITFIELD
2110 uint64_t clr:64;
2111#else
2112 uint64_t clr:64;
2113#endif
2114 } s;
2115 struct cvmx_sli_msi_w1c_enb3_s cn61xx;
2116 struct cvmx_sli_msi_w1c_enb3_s cn63xx;
2117 struct cvmx_sli_msi_w1c_enb3_s cn63xxp1;
2118 struct cvmx_sli_msi_w1c_enb3_s cn66xx;
2119 struct cvmx_sli_msi_w1c_enb3_s cn68xx;
2120 struct cvmx_sli_msi_w1c_enb3_s cn68xxp1;
2121 struct cvmx_sli_msi_w1c_enb3_s cnf71xx;
2122};
2123
2124union cvmx_sli_msi_w1s_enb0 {
2125 uint64_t u64;
2126 struct cvmx_sli_msi_w1s_enb0_s {
2127#ifdef __BIG_ENDIAN_BITFIELD
2128 uint64_t set:64;
2129#else
2130 uint64_t set:64;
2131#endif
2132 } s;
2133 struct cvmx_sli_msi_w1s_enb0_s cn61xx;
2134 struct cvmx_sli_msi_w1s_enb0_s cn63xx;
2135 struct cvmx_sli_msi_w1s_enb0_s cn63xxp1;
2136 struct cvmx_sli_msi_w1s_enb0_s cn66xx;
2137 struct cvmx_sli_msi_w1s_enb0_s cn68xx;
2138 struct cvmx_sli_msi_w1s_enb0_s cn68xxp1;
2139 struct cvmx_sli_msi_w1s_enb0_s cnf71xx;
2140};
2141
2142union cvmx_sli_msi_w1s_enb1 {
2143 uint64_t u64;
2144 struct cvmx_sli_msi_w1s_enb1_s {
2145#ifdef __BIG_ENDIAN_BITFIELD
2146 uint64_t set:64;
2147#else
2148 uint64_t set:64;
2149#endif
2150 } s;
2151 struct cvmx_sli_msi_w1s_enb1_s cn61xx;
2152 struct cvmx_sli_msi_w1s_enb1_s cn63xx;
2153 struct cvmx_sli_msi_w1s_enb1_s cn63xxp1;
2154 struct cvmx_sli_msi_w1s_enb1_s cn66xx;
2155 struct cvmx_sli_msi_w1s_enb1_s cn68xx;
2156 struct cvmx_sli_msi_w1s_enb1_s cn68xxp1;
2157 struct cvmx_sli_msi_w1s_enb1_s cnf71xx;
2158};
2159
2160union cvmx_sli_msi_w1s_enb2 {
2161 uint64_t u64;
2162 struct cvmx_sli_msi_w1s_enb2_s {
2163#ifdef __BIG_ENDIAN_BITFIELD
2164 uint64_t set:64;
2165#else
2166 uint64_t set:64;
2167#endif
2168 } s;
2169 struct cvmx_sli_msi_w1s_enb2_s cn61xx;
2170 struct cvmx_sli_msi_w1s_enb2_s cn63xx;
2171 struct cvmx_sli_msi_w1s_enb2_s cn63xxp1;
2172 struct cvmx_sli_msi_w1s_enb2_s cn66xx;
2173 struct cvmx_sli_msi_w1s_enb2_s cn68xx;
2174 struct cvmx_sli_msi_w1s_enb2_s cn68xxp1;
2175 struct cvmx_sli_msi_w1s_enb2_s cnf71xx;
2176};
2177
2178union cvmx_sli_msi_w1s_enb3 {
2179 uint64_t u64;
2180 struct cvmx_sli_msi_w1s_enb3_s {
2181#ifdef __BIG_ENDIAN_BITFIELD
2182 uint64_t set:64;
2183#else
2184 uint64_t set:64;
2185#endif
2186 } s;
2187 struct cvmx_sli_msi_w1s_enb3_s cn61xx;
2188 struct cvmx_sli_msi_w1s_enb3_s cn63xx;
2189 struct cvmx_sli_msi_w1s_enb3_s cn63xxp1;
2190 struct cvmx_sli_msi_w1s_enb3_s cn66xx;
2191 struct cvmx_sli_msi_w1s_enb3_s cn68xx;
2192 struct cvmx_sli_msi_w1s_enb3_s cn68xxp1;
2193 struct cvmx_sli_msi_w1s_enb3_s cnf71xx;
2194};
2195
2196union cvmx_sli_msi_wr_map {
2197 uint64_t u64;
2198 struct cvmx_sli_msi_wr_map_s {
2199#ifdef __BIG_ENDIAN_BITFIELD
2200 uint64_t reserved_16_63:48;
2201 uint64_t ciu_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
2208 } s;
2209 struct cvmx_sli_msi_wr_map_s cn61xx;
2210 struct cvmx_sli_msi_wr_map_s cn63xx;
2211 struct cvmx_sli_msi_wr_map_s cn63xxp1;
2212 struct cvmx_sli_msi_wr_map_s cn66xx;
2213 struct cvmx_sli_msi_wr_map_s cn68xx;
2214 struct cvmx_sli_msi_wr_map_s cn68xxp1;
2215 struct cvmx_sli_msi_wr_map_s cnf71xx;
2216};
2217
2218union cvmx_sli_pcie_msi_rcv {
2219 uint64_t u64;
2220 struct cvmx_sli_pcie_msi_rcv_s {
2221#ifdef __BIG_ENDIAN_BITFIELD
2222 uint64_t reserved_8_63:56;
2223 uint64_t intr:8;
2224#else
2225 uint64_t intr:8;
2226 uint64_t reserved_8_63:56;
2227#endif
2228 } s;
2229 struct cvmx_sli_pcie_msi_rcv_s cn61xx;
2230 struct cvmx_sli_pcie_msi_rcv_s cn63xx;
2231 struct cvmx_sli_pcie_msi_rcv_s cn63xxp1;
2232 struct cvmx_sli_pcie_msi_rcv_s cn66xx;
2233 struct cvmx_sli_pcie_msi_rcv_s cn68xx;
2234 struct cvmx_sli_pcie_msi_rcv_s cn68xxp1;
2235 struct cvmx_sli_pcie_msi_rcv_s cnf71xx;
2236};
2237
2238union cvmx_sli_pcie_msi_rcv_b1 {
2239 uint64_t u64;
2240 struct cvmx_sli_pcie_msi_rcv_b1_s {
2241#ifdef __BIG_ENDIAN_BITFIELD
2242 uint64_t reserved_16_63:48;
2243 uint64_t intr: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
2250 } s;
2251 struct cvmx_sli_pcie_msi_rcv_b1_s cn61xx;
2252 struct cvmx_sli_pcie_msi_rcv_b1_s cn63xx;
2253 struct cvmx_sli_pcie_msi_rcv_b1_s cn63xxp1;
2254 struct cvmx_sli_pcie_msi_rcv_b1_s cn66xx;
2255 struct cvmx_sli_pcie_msi_rcv_b1_s cn68xx;
2256 struct cvmx_sli_pcie_msi_rcv_b1_s cn68xxp1;
2257 struct cvmx_sli_pcie_msi_rcv_b1_s cnf71xx;
2258};
2259
2260union cvmx_sli_pcie_msi_rcv_b2 {
2261 uint64_t u64;
2262 struct cvmx_sli_pcie_msi_rcv_b2_s {
2263#ifdef __BIG_ENDIAN_BITFIELD
2264 uint64_t reserved_24_63:40;
2265 uint64_t intr:8;
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
2272 } s;
2273 struct cvmx_sli_pcie_msi_rcv_b2_s cn61xx;
2274 struct cvmx_sli_pcie_msi_rcv_b2_s cn63xx;
2275 struct cvmx_sli_pcie_msi_rcv_b2_s cn63xxp1;
2276 struct cvmx_sli_pcie_msi_rcv_b2_s cn66xx;
2277 struct cvmx_sli_pcie_msi_rcv_b2_s cn68xx;
2278 struct cvmx_sli_pcie_msi_rcv_b2_s cn68xxp1;
2279 struct cvmx_sli_pcie_msi_rcv_b2_s cnf71xx;
2280};
2281
2282union cvmx_sli_pcie_msi_rcv_b3 {
2283 uint64_t u64;
2284 struct cvmx_sli_pcie_msi_rcv_b3_s {
2285#ifdef __BIG_ENDIAN_BITFIELD
2286 uint64_t reserved_32_63:32;
2287 uint64_t intr:8;
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
2294 } s;
2295 struct cvmx_sli_pcie_msi_rcv_b3_s cn61xx;
2296 struct cvmx_sli_pcie_msi_rcv_b3_s cn63xx;
2297 struct cvmx_sli_pcie_msi_rcv_b3_s cn63xxp1;
2298 struct cvmx_sli_pcie_msi_rcv_b3_s cn66xx;
2299 struct cvmx_sli_pcie_msi_rcv_b3_s cn68xx;
2300 struct cvmx_sli_pcie_msi_rcv_b3_s cn68xxp1;
2301 struct cvmx_sli_pcie_msi_rcv_b3_s cnf71xx;
2302};
2303
2304union cvmx_sli_pktx_cnts {
2305 uint64_t u64;
2306 struct cvmx_sli_pktx_cnts_s {
2307#ifdef __BIG_ENDIAN_BITFIELD
2308 uint64_t reserved_54_63:10;
2309 uint64_t timer:22;
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
2316 } s;
2317 struct cvmx_sli_pktx_cnts_s cn61xx;
2318 struct cvmx_sli_pktx_cnts_s cn63xx;
2319 struct cvmx_sli_pktx_cnts_s cn63xxp1;
2320 struct cvmx_sli_pktx_cnts_s cn66xx;
2321 struct cvmx_sli_pktx_cnts_s cn68xx;
2322 struct cvmx_sli_pktx_cnts_s cn68xxp1;
2323 struct cvmx_sli_pktx_cnts_s cnf71xx;
2324};
2325
2326union cvmx_sli_pktx_in_bp {
2327 uint64_t u64;
2328 struct cvmx_sli_pktx_in_bp_s {
2329#ifdef __BIG_ENDIAN_BITFIELD
2330 uint64_t wmark:32;
2331 uint64_t cnt:32;
2332#else
2333 uint64_t cnt:32;
2334 uint64_t wmark:32;
2335#endif
2336 } s;
2337 struct cvmx_sli_pktx_in_bp_s cn61xx;
2338 struct cvmx_sli_pktx_in_bp_s cn63xx;
2339 struct cvmx_sli_pktx_in_bp_s cn63xxp1;
2340 struct cvmx_sli_pktx_in_bp_s cn66xx;
2341 struct cvmx_sli_pktx_in_bp_s cnf71xx;
2342};
2343
2344union cvmx_sli_pktx_instr_baddr {
2345 uint64_t u64;
2346 struct cvmx_sli_pktx_instr_baddr_s {
2347#ifdef __BIG_ENDIAN_BITFIELD
2348 uint64_t addr:61;
2349 uint64_t reserved_0_2:3;
2350#else
2351 uint64_t reserved_0_2:3;
2352 uint64_t addr:61;
2353#endif
2354 } s;
2355 struct cvmx_sli_pktx_instr_baddr_s cn61xx;
2356 struct cvmx_sli_pktx_instr_baddr_s cn63xx;
2357 struct cvmx_sli_pktx_instr_baddr_s cn63xxp1;
2358 struct cvmx_sli_pktx_instr_baddr_s cn66xx;
2359 struct cvmx_sli_pktx_instr_baddr_s cn68xx;
2360 struct cvmx_sli_pktx_instr_baddr_s cn68xxp1;
2361 struct cvmx_sli_pktx_instr_baddr_s cnf71xx;
2362};
2363
2364union cvmx_sli_pktx_instr_baoff_dbell {
2365 uint64_t u64;
2366 struct cvmx_sli_pktx_instr_baoff_dbell_s {
2367#ifdef __BIG_ENDIAN_BITFIELD
2368 uint64_t aoff:32;
2369 uint64_t dbell:32;
2370#else
2371 uint64_t dbell:32;
2372 uint64_t aoff:32;
2373#endif
2374 } s;
2375 struct cvmx_sli_pktx_instr_baoff_dbell_s cn61xx;
2376 struct cvmx_sli_pktx_instr_baoff_dbell_s cn63xx;
2377 struct cvmx_sli_pktx_instr_baoff_dbell_s cn63xxp1;
2378 struct cvmx_sli_pktx_instr_baoff_dbell_s cn66xx;
2379 struct cvmx_sli_pktx_instr_baoff_dbell_s cn68xx;
2380 struct cvmx_sli_pktx_instr_baoff_dbell_s cn68xxp1;
2381 struct cvmx_sli_pktx_instr_baoff_dbell_s cnf71xx;
2382};
2383
2384union cvmx_sli_pktx_instr_fifo_rsize {
2385 uint64_t u64;
2386 struct cvmx_sli_pktx_instr_fifo_rsize_s {
2387#ifdef __BIG_ENDIAN_BITFIELD
2388 uint64_t max:9;
2389 uint64_t rrp:9;
2390 uint64_t wrp:9;
2391 uint64_t fcnt:5;
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
2400 } s;
2401 struct cvmx_sli_pktx_instr_fifo_rsize_s cn61xx;
2402 struct cvmx_sli_pktx_instr_fifo_rsize_s cn63xx;
2403 struct cvmx_sli_pktx_instr_fifo_rsize_s cn63xxp1;
2404 struct cvmx_sli_pktx_instr_fifo_rsize_s cn66xx;
2405 struct cvmx_sli_pktx_instr_fifo_rsize_s cn68xx;
2406 struct cvmx_sli_pktx_instr_fifo_rsize_s cn68xxp1;
2407 struct cvmx_sli_pktx_instr_fifo_rsize_s cnf71xx;
2408};
2409
2410union cvmx_sli_pktx_instr_header {
2411 uint64_t u64;
2412 struct cvmx_sli_pktx_instr_header_s {
2413#ifdef __BIG_ENDIAN_BITFIELD
2414 uint64_t reserved_44_63:20;
2415 uint64_t pbp:1;
2416 uint64_t reserved_38_42:5;
2417 uint64_t rparmode:2;
2418 uint64_t reserved_35_35:1;
2419 uint64_t rskp_len:7;
2420 uint64_t rngrpext:2;
2421 uint64_t rnqos:1;
2422 uint64_t rngrp:1;
2423 uint64_t rntt:1;
2424 uint64_t rntag:1;
2425 uint64_t use_ihdr:1;
2426 uint64_t reserved_16_20:5;
2427 uint64_t par_mode:2;
2428 uint64_t reserved_13_13:1;
2429 uint64_t skp_len:7;
2430 uint64_t ngrpext:2;
2431 uint64_t nqos:1;
2432 uint64_t ngrp:1;
2433 uint64_t ntt: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
2458 } s;
2459 struct cvmx_sli_pktx_instr_header_cn61xx {
2460#ifdef __BIG_ENDIAN_BITFIELD
2461 uint64_t reserved_44_63:20;
2462 uint64_t pbp:1;
2463 uint64_t reserved_38_42:5;
2464 uint64_t rparmode:2;
2465 uint64_t reserved_35_35:1;
2466 uint64_t rskp_len:7;
2467 uint64_t reserved_26_27:2;
2468 uint64_t rnqos:1;
2469 uint64_t rngrp:1;
2470 uint64_t rntt:1;
2471 uint64_t rntag:1;
2472 uint64_t use_ihdr:1;
2473 uint64_t reserved_16_20:5;
2474 uint64_t par_mode:2;
2475 uint64_t reserved_13_13:1;
2476 uint64_t skp_len:7;
2477 uint64_t reserved_4_5:2;
2478 uint64_t nqos:1;
2479 uint64_t ngrp:1;
2480 uint64_t ntt: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
2505 } cn61xx;
2506 struct cvmx_sli_pktx_instr_header_cn61xx cn63xx;
2507 struct cvmx_sli_pktx_instr_header_cn61xx cn63xxp1;
2508 struct cvmx_sli_pktx_instr_header_cn61xx cn66xx;
2509 struct cvmx_sli_pktx_instr_header_s cn68xx;
2510 struct cvmx_sli_pktx_instr_header_cn61xx cn68xxp1;
2511 struct cvmx_sli_pktx_instr_header_cn61xx cnf71xx;
2512};
2513
2514union cvmx_sli_pktx_out_size {
2515 uint64_t u64;
2516 struct cvmx_sli_pktx_out_size_s {
2517#ifdef __BIG_ENDIAN_BITFIELD
2518 uint64_t reserved_23_63:41;
2519 uint64_t isize:7;
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
2526 } s;
2527 struct cvmx_sli_pktx_out_size_s cn61xx;
2528 struct cvmx_sli_pktx_out_size_s cn63xx;
2529 struct cvmx_sli_pktx_out_size_s cn63xxp1;
2530 struct cvmx_sli_pktx_out_size_s cn66xx;
2531 struct cvmx_sli_pktx_out_size_s cn68xx;
2532 struct cvmx_sli_pktx_out_size_s cn68xxp1;
2533 struct cvmx_sli_pktx_out_size_s cnf71xx;
2534};
2535
2536union cvmx_sli_pktx_slist_baddr {
2537 uint64_t u64;
2538 struct cvmx_sli_pktx_slist_baddr_s {
2539#ifdef __BIG_ENDIAN_BITFIELD
2540 uint64_t addr:60;
2541 uint64_t reserved_0_3:4;
2542#else
2543 uint64_t reserved_0_3:4;
2544 uint64_t addr:60;
2545#endif
2546 } s;
2547 struct cvmx_sli_pktx_slist_baddr_s cn61xx;
2548 struct cvmx_sli_pktx_slist_baddr_s cn63xx;
2549 struct cvmx_sli_pktx_slist_baddr_s cn63xxp1;
2550 struct cvmx_sli_pktx_slist_baddr_s cn66xx;
2551 struct cvmx_sli_pktx_slist_baddr_s cn68xx;
2552 struct cvmx_sli_pktx_slist_baddr_s cn68xxp1;
2553 struct cvmx_sli_pktx_slist_baddr_s cnf71xx;
2554};
2555
2556union cvmx_sli_pktx_slist_baoff_dbell {
2557 uint64_t u64;
2558 struct cvmx_sli_pktx_slist_baoff_dbell_s {
2559#ifdef __BIG_ENDIAN_BITFIELD
2560 uint64_t aoff:32;
2561 uint64_t dbell:32;
2562#else
2563 uint64_t dbell:32;
2564 uint64_t aoff:32;
2565#endif
2566 } s;
2567 struct cvmx_sli_pktx_slist_baoff_dbell_s cn61xx;
2568 struct cvmx_sli_pktx_slist_baoff_dbell_s cn63xx;
2569 struct cvmx_sli_pktx_slist_baoff_dbell_s cn63xxp1;
2570 struct cvmx_sli_pktx_slist_baoff_dbell_s cn66xx;
2571 struct cvmx_sli_pktx_slist_baoff_dbell_s cn68xx;
2572 struct cvmx_sli_pktx_slist_baoff_dbell_s cn68xxp1;
2573 struct cvmx_sli_pktx_slist_baoff_dbell_s cnf71xx;
2574};
2575
2576union cvmx_sli_pktx_slist_fifo_rsize {
2577 uint64_t u64;
2578 struct cvmx_sli_pktx_slist_fifo_rsize_s {
2579#ifdef __BIG_ENDIAN_BITFIELD
2580 uint64_t reserved_32_63:32;
2581 uint64_t rsize:32;
2582#else
2583 uint64_t rsize:32;
2584 uint64_t reserved_32_63:32;
2585#endif
2586 } s;
2587 struct cvmx_sli_pktx_slist_fifo_rsize_s cn61xx;
2588 struct cvmx_sli_pktx_slist_fifo_rsize_s cn63xx;
2589 struct cvmx_sli_pktx_slist_fifo_rsize_s cn63xxp1;
2590 struct cvmx_sli_pktx_slist_fifo_rsize_s cn66xx;
2591 struct cvmx_sli_pktx_slist_fifo_rsize_s cn68xx;
2592 struct cvmx_sli_pktx_slist_fifo_rsize_s cn68xxp1;
2593 struct cvmx_sli_pktx_slist_fifo_rsize_s cnf71xx;
2594};
2595
2596union cvmx_sli_pkt_cnt_int {
2597 uint64_t u64;
2598 struct cvmx_sli_pkt_cnt_int_s {
2599#ifdef __BIG_ENDIAN_BITFIELD
2600 uint64_t reserved_32_63:32;
2601 uint64_t port:32;
2602#else
2603 uint64_t port:32;
2604 uint64_t reserved_32_63:32;
2605#endif
2606 } s;
2607 struct cvmx_sli_pkt_cnt_int_s cn61xx;
2608 struct cvmx_sli_pkt_cnt_int_s cn63xx;
2609 struct cvmx_sli_pkt_cnt_int_s cn63xxp1;
2610 struct cvmx_sli_pkt_cnt_int_s cn66xx;
2611 struct cvmx_sli_pkt_cnt_int_s cn68xx;
2612 struct cvmx_sli_pkt_cnt_int_s cn68xxp1;
2613 struct cvmx_sli_pkt_cnt_int_s cnf71xx;
2614};
2615
2616union cvmx_sli_pkt_cnt_int_enb {
2617 uint64_t u64;
2618 struct cvmx_sli_pkt_cnt_int_enb_s {
2619#ifdef __BIG_ENDIAN_BITFIELD
2620 uint64_t reserved_32_63:32;
2621 uint64_t port:32;
2622#else
2623 uint64_t port:32;
2624 uint64_t reserved_32_63:32;
2625#endif
2626 } s;
2627 struct cvmx_sli_pkt_cnt_int_enb_s cn61xx;
2628 struct cvmx_sli_pkt_cnt_int_enb_s cn63xx;
2629 struct cvmx_sli_pkt_cnt_int_enb_s cn63xxp1;
2630 struct cvmx_sli_pkt_cnt_int_enb_s cn66xx;
2631 struct cvmx_sli_pkt_cnt_int_enb_s cn68xx;
2632 struct cvmx_sli_pkt_cnt_int_enb_s cn68xxp1;
2633 struct cvmx_sli_pkt_cnt_int_enb_s cnf71xx;
2634};
2635
2636union cvmx_sli_pkt_ctl {
2637 uint64_t u64;
2638 struct cvmx_sli_pkt_ctl_s {
2639#ifdef __BIG_ENDIAN_BITFIELD
2640 uint64_t reserved_5_63:59;
2641 uint64_t ring_en:1;
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
2648 } s;
2649 struct cvmx_sli_pkt_ctl_s cn61xx;
2650 struct cvmx_sli_pkt_ctl_s cn63xx;
2651 struct cvmx_sli_pkt_ctl_s cn63xxp1;
2652 struct cvmx_sli_pkt_ctl_s cn66xx;
2653 struct cvmx_sli_pkt_ctl_s cn68xx;
2654 struct cvmx_sli_pkt_ctl_s cn68xxp1;
2655 struct cvmx_sli_pkt_ctl_s cnf71xx;
2656};
2657
2658union cvmx_sli_pkt_data_out_es {
2659 uint64_t u64;
2660 struct cvmx_sli_pkt_data_out_es_s {
2661#ifdef __BIG_ENDIAN_BITFIELD
2662 uint64_t es:64;
2663#else
2664 uint64_t es:64;
2665#endif
2666 } s;
2667 struct cvmx_sli_pkt_data_out_es_s cn61xx;
2668 struct cvmx_sli_pkt_data_out_es_s cn63xx;
2669 struct cvmx_sli_pkt_data_out_es_s cn63xxp1;
2670 struct cvmx_sli_pkt_data_out_es_s cn66xx;
2671 struct cvmx_sli_pkt_data_out_es_s cn68xx;
2672 struct cvmx_sli_pkt_data_out_es_s cn68xxp1;
2673 struct cvmx_sli_pkt_data_out_es_s cnf71xx;
2674};
2675
2676union cvmx_sli_pkt_data_out_ns {
2677 uint64_t u64;
2678 struct cvmx_sli_pkt_data_out_ns_s {
2679#ifdef __BIG_ENDIAN_BITFIELD
2680 uint64_t reserved_32_63:32;
2681 uint64_t nsr:32;
2682#else
2683 uint64_t nsr:32;
2684 uint64_t reserved_32_63:32;
2685#endif
2686 } s;
2687 struct cvmx_sli_pkt_data_out_ns_s cn61xx;
2688 struct cvmx_sli_pkt_data_out_ns_s cn63xx;
2689 struct cvmx_sli_pkt_data_out_ns_s cn63xxp1;
2690 struct cvmx_sli_pkt_data_out_ns_s cn66xx;
2691 struct cvmx_sli_pkt_data_out_ns_s cn68xx;
2692 struct cvmx_sli_pkt_data_out_ns_s cn68xxp1;
2693 struct cvmx_sli_pkt_data_out_ns_s cnf71xx;
2694};
2695
2696union cvmx_sli_pkt_data_out_ror {
2697 uint64_t u64;
2698 struct cvmx_sli_pkt_data_out_ror_s {
2699#ifdef __BIG_ENDIAN_BITFIELD
2700 uint64_t reserved_32_63:32;
2701 uint64_t ror:32;
2702#else
2703 uint64_t ror:32;
2704 uint64_t reserved_32_63:32;
2705#endif
2706 } s;
2707 struct cvmx_sli_pkt_data_out_ror_s cn61xx;
2708 struct cvmx_sli_pkt_data_out_ror_s cn63xx;
2709 struct cvmx_sli_pkt_data_out_ror_s cn63xxp1;
2710 struct cvmx_sli_pkt_data_out_ror_s cn66xx;
2711 struct cvmx_sli_pkt_data_out_ror_s cn68xx;
2712 struct cvmx_sli_pkt_data_out_ror_s cn68xxp1;
2713 struct cvmx_sli_pkt_data_out_ror_s cnf71xx;
2714};
2715
2716union cvmx_sli_pkt_dpaddr {
2717 uint64_t u64;
2718 struct cvmx_sli_pkt_dpaddr_s {
2719#ifdef __BIG_ENDIAN_BITFIELD
2720 uint64_t reserved_32_63:32;
2721 uint64_t dptr:32;
2722#else
2723 uint64_t dptr:32;
2724 uint64_t reserved_32_63:32;
2725#endif
2726 } s;
2727 struct cvmx_sli_pkt_dpaddr_s cn61xx;
2728 struct cvmx_sli_pkt_dpaddr_s cn63xx;
2729 struct cvmx_sli_pkt_dpaddr_s cn63xxp1;
2730 struct cvmx_sli_pkt_dpaddr_s cn66xx;
2731 struct cvmx_sli_pkt_dpaddr_s cn68xx;
2732 struct cvmx_sli_pkt_dpaddr_s cn68xxp1;
2733 struct cvmx_sli_pkt_dpaddr_s cnf71xx;
2734};
2735
2736union cvmx_sli_pkt_in_bp {
2737 uint64_t u64;
2738 struct cvmx_sli_pkt_in_bp_s {
2739#ifdef __BIG_ENDIAN_BITFIELD
2740 uint64_t reserved_32_63:32;
2741 uint64_t bp:32;
2742#else
2743 uint64_t bp:32;
2744 uint64_t reserved_32_63:32;
2745#endif
2746 } s;
2747 struct cvmx_sli_pkt_in_bp_s cn61xx;
2748 struct cvmx_sli_pkt_in_bp_s cn63xx;
2749 struct cvmx_sli_pkt_in_bp_s cn63xxp1;
2750 struct cvmx_sli_pkt_in_bp_s cn66xx;
2751 struct cvmx_sli_pkt_in_bp_s cnf71xx;
2752};
2753
2754union cvmx_sli_pkt_in_donex_cnts {
2755 uint64_t u64;
2756 struct cvmx_sli_pkt_in_donex_cnts_s {
2757#ifdef __BIG_ENDIAN_BITFIELD
2758 uint64_t reserved_32_63:32;
2759 uint64_t cnt:32;
2760#else
2761 uint64_t cnt:32;
2762 uint64_t reserved_32_63:32;
2763#endif
2764 } s;
2765 struct cvmx_sli_pkt_in_donex_cnts_s cn61xx;
2766 struct cvmx_sli_pkt_in_donex_cnts_s cn63xx;
2767 struct cvmx_sli_pkt_in_donex_cnts_s cn63xxp1;
2768 struct cvmx_sli_pkt_in_donex_cnts_s cn66xx;
2769 struct cvmx_sli_pkt_in_donex_cnts_s cn68xx;
2770 struct cvmx_sli_pkt_in_donex_cnts_s cn68xxp1;
2771 struct cvmx_sli_pkt_in_donex_cnts_s cnf71xx;
2772};
2773
2774union cvmx_sli_pkt_in_instr_counts {
2775 uint64_t u64;
2776 struct cvmx_sli_pkt_in_instr_counts_s {
2777#ifdef __BIG_ENDIAN_BITFIELD
2778 uint64_t wr_cnt:32;
2779 uint64_t rd_cnt:32;
2780#else
2781 uint64_t rd_cnt:32;
2782 uint64_t wr_cnt:32;
2783#endif
2784 } s;
2785 struct cvmx_sli_pkt_in_instr_counts_s cn61xx;
2786 struct cvmx_sli_pkt_in_instr_counts_s cn63xx;
2787 struct cvmx_sli_pkt_in_instr_counts_s cn63xxp1;
2788 struct cvmx_sli_pkt_in_instr_counts_s cn66xx;
2789 struct cvmx_sli_pkt_in_instr_counts_s cn68xx;
2790 struct cvmx_sli_pkt_in_instr_counts_s cn68xxp1;
2791 struct cvmx_sli_pkt_in_instr_counts_s cnf71xx;
2792};
2793
2794union cvmx_sli_pkt_in_pcie_port {
2795 uint64_t u64;
2796 struct cvmx_sli_pkt_in_pcie_port_s {
2797#ifdef __BIG_ENDIAN_BITFIELD
2798 uint64_t pp:64;
2799#else
2800 uint64_t pp:64;
2801#endif
2802 } s;
2803 struct cvmx_sli_pkt_in_pcie_port_s cn61xx;
2804 struct cvmx_sli_pkt_in_pcie_port_s cn63xx;
2805 struct cvmx_sli_pkt_in_pcie_port_s cn63xxp1;
2806 struct cvmx_sli_pkt_in_pcie_port_s cn66xx;
2807 struct cvmx_sli_pkt_in_pcie_port_s cn68xx;
2808 struct cvmx_sli_pkt_in_pcie_port_s cn68xxp1;
2809 struct cvmx_sli_pkt_in_pcie_port_s cnf71xx;
2810};
2811
2812union cvmx_sli_pkt_input_control {
2813 uint64_t u64;
2814 struct cvmx_sli_pkt_input_control_s {
2815#ifdef __BIG_ENDIAN_BITFIELD
2816 uint64_t prd_erst:1;
2817 uint64_t prd_rds:7;
2818 uint64_t gii_erst:1;
2819 uint64_t gii_rds:7;
2820 uint64_t reserved_41_47:7;
2821 uint64_t prc_idle:1;
2822 uint64_t reserved_24_39:16;
2823 uint64_t pin_rst:1;
2824 uint64_t pkt_rr:1;
2825 uint64_t pbp_dhi:13;
2826 uint64_t d_nsr:1;
2827 uint64_t d_esr:2;
2828 uint64_t d_ror:1;
2829 uint64_t use_csr:1;
2830 uint64_t nsr:1;
2831 uint64_t esr:2;
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
2852 } s;
2853 struct cvmx_sli_pkt_input_control_s cn61xx;
2854 struct cvmx_sli_pkt_input_control_cn63xx {
2855#ifdef __BIG_ENDIAN_BITFIELD
2856 uint64_t reserved_23_63:41;
2857 uint64_t pkt_rr:1;
2858 uint64_t pbp_dhi:13;
2859 uint64_t d_nsr:1;
2860 uint64_t d_esr:2;
2861 uint64_t d_ror:1;
2862 uint64_t use_csr:1;
2863 uint64_t nsr:1;
2864 uint64_t esr:2;
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
2878 } cn63xx;
2879 struct cvmx_sli_pkt_input_control_cn63xx cn63xxp1;
2880 struct cvmx_sli_pkt_input_control_s cn66xx;
2881 struct cvmx_sli_pkt_input_control_s cn68xx;
2882 struct cvmx_sli_pkt_input_control_s cn68xxp1;
2883 struct cvmx_sli_pkt_input_control_s cnf71xx;
2884};
2885
2886union cvmx_sli_pkt_instr_enb {
2887 uint64_t u64;
2888 struct cvmx_sli_pkt_instr_enb_s {
2889#ifdef __BIG_ENDIAN_BITFIELD
2890 uint64_t reserved_32_63:32;
2891 uint64_t enb:32;
2892#else
2893 uint64_t enb:32;
2894 uint64_t reserved_32_63:32;
2895#endif
2896 } s;
2897 struct cvmx_sli_pkt_instr_enb_s cn61xx;
2898 struct cvmx_sli_pkt_instr_enb_s cn63xx;
2899 struct cvmx_sli_pkt_instr_enb_s cn63xxp1;
2900 struct cvmx_sli_pkt_instr_enb_s cn66xx;
2901 struct cvmx_sli_pkt_instr_enb_s cn68xx;
2902 struct cvmx_sli_pkt_instr_enb_s cn68xxp1;
2903 struct cvmx_sli_pkt_instr_enb_s cnf71xx;
2904};
2905
2906union cvmx_sli_pkt_instr_rd_size {
2907 uint64_t u64;
2908 struct cvmx_sli_pkt_instr_rd_size_s {
2909#ifdef __BIG_ENDIAN_BITFIELD
2910 uint64_t rdsize:64;
2911#else
2912 uint64_t rdsize:64;
2913#endif
2914 } s;
2915 struct cvmx_sli_pkt_instr_rd_size_s cn61xx;
2916 struct cvmx_sli_pkt_instr_rd_size_s cn63xx;
2917 struct cvmx_sli_pkt_instr_rd_size_s cn63xxp1;
2918 struct cvmx_sli_pkt_instr_rd_size_s cn66xx;
2919 struct cvmx_sli_pkt_instr_rd_size_s cn68xx;
2920 struct cvmx_sli_pkt_instr_rd_size_s cn68xxp1;
2921 struct cvmx_sli_pkt_instr_rd_size_s cnf71xx;
2922};
2923
2924union cvmx_sli_pkt_instr_size {
2925 uint64_t u64;
2926 struct cvmx_sli_pkt_instr_size_s {
2927#ifdef __BIG_ENDIAN_BITFIELD
2928 uint64_t reserved_32_63:32;
2929 uint64_t is_64b:32;
2930#else
2931 uint64_t is_64b:32;
2932 uint64_t reserved_32_63:32;
2933#endif
2934 } s;
2935 struct cvmx_sli_pkt_instr_size_s cn61xx;
2936 struct cvmx_sli_pkt_instr_size_s cn63xx;
2937 struct cvmx_sli_pkt_instr_size_s cn63xxp1;
2938 struct cvmx_sli_pkt_instr_size_s cn66xx;
2939 struct cvmx_sli_pkt_instr_size_s cn68xx;
2940 struct cvmx_sli_pkt_instr_size_s cn68xxp1;
2941 struct cvmx_sli_pkt_instr_size_s cnf71xx;
2942};
2943
2944union cvmx_sli_pkt_int_levels {
2945 uint64_t u64;
2946 struct cvmx_sli_pkt_int_levels_s {
2947#ifdef __BIG_ENDIAN_BITFIELD
2948 uint64_t reserved_54_63:10;
2949 uint64_t time:22;
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
2956 } s;
2957 struct cvmx_sli_pkt_int_levels_s cn61xx;
2958 struct cvmx_sli_pkt_int_levels_s cn63xx;
2959 struct cvmx_sli_pkt_int_levels_s cn63xxp1;
2960 struct cvmx_sli_pkt_int_levels_s cn66xx;
2961 struct cvmx_sli_pkt_int_levels_s cn68xx;
2962 struct cvmx_sli_pkt_int_levels_s cn68xxp1;
2963 struct cvmx_sli_pkt_int_levels_s cnf71xx;
2964};
2965
2966union cvmx_sli_pkt_iptr {
2967 uint64_t u64;
2968 struct cvmx_sli_pkt_iptr_s {
2969#ifdef __BIG_ENDIAN_BITFIELD
2970 uint64_t reserved_32_63:32;
2971 uint64_t iptr:32;
2972#else
2973 uint64_t iptr:32;
2974 uint64_t reserved_32_63:32;
2975#endif
2976 } s;
2977 struct cvmx_sli_pkt_iptr_s cn61xx;
2978 struct cvmx_sli_pkt_iptr_s cn63xx;
2979 struct cvmx_sli_pkt_iptr_s cn63xxp1;
2980 struct cvmx_sli_pkt_iptr_s cn66xx;
2981 struct cvmx_sli_pkt_iptr_s cn68xx;
2982 struct cvmx_sli_pkt_iptr_s cn68xxp1;
2983 struct cvmx_sli_pkt_iptr_s cnf71xx;
2984};
2985
2986union cvmx_sli_pkt_out_bmode {
2987 uint64_t u64;
2988 struct cvmx_sli_pkt_out_bmode_s {
2989#ifdef __BIG_ENDIAN_BITFIELD
2990 uint64_t reserved_32_63:32;
2991 uint64_t bmode:32;
2992#else
2993 uint64_t bmode:32;
2994 uint64_t reserved_32_63:32;
2995#endif
2996 } s;
2997 struct cvmx_sli_pkt_out_bmode_s cn61xx;
2998 struct cvmx_sli_pkt_out_bmode_s cn63xx;
2999 struct cvmx_sli_pkt_out_bmode_s cn63xxp1;
3000 struct cvmx_sli_pkt_out_bmode_s cn66xx;
3001 struct cvmx_sli_pkt_out_bmode_s cn68xx;
3002 struct cvmx_sli_pkt_out_bmode_s cn68xxp1;
3003 struct cvmx_sli_pkt_out_bmode_s cnf71xx;
3004};
3005
3006union cvmx_sli_pkt_out_bp_en {
3007 uint64_t u64;
3008 struct cvmx_sli_pkt_out_bp_en_s {
3009#ifdef __BIG_ENDIAN_BITFIELD
3010 uint64_t reserved_32_63:32;
3011 uint64_t bp_en:32;
3012#else
3013 uint64_t bp_en:32;
3014 uint64_t reserved_32_63:32;
3015#endif
3016 } s;
3017 struct cvmx_sli_pkt_out_bp_en_s cn68xx;
3018 struct cvmx_sli_pkt_out_bp_en_s cn68xxp1;
3019};
3020
3021union cvmx_sli_pkt_out_enb {
3022 uint64_t u64;
3023 struct cvmx_sli_pkt_out_enb_s {
3024#ifdef __BIG_ENDIAN_BITFIELD
3025 uint64_t reserved_32_63:32;
3026 uint64_t enb:32;
3027#else
3028 uint64_t enb:32;
3029 uint64_t reserved_32_63:32;
3030#endif
3031 } s;
3032 struct cvmx_sli_pkt_out_enb_s cn61xx;
3033 struct cvmx_sli_pkt_out_enb_s cn63xx;
3034 struct cvmx_sli_pkt_out_enb_s cn63xxp1;
3035 struct cvmx_sli_pkt_out_enb_s cn66xx;
3036 struct cvmx_sli_pkt_out_enb_s cn68xx;
3037 struct cvmx_sli_pkt_out_enb_s cn68xxp1;
3038 struct cvmx_sli_pkt_out_enb_s cnf71xx;
3039};
3040
3041union cvmx_sli_pkt_output_wmark {
3042 uint64_t u64;
3043 struct cvmx_sli_pkt_output_wmark_s {
3044#ifdef __BIG_ENDIAN_BITFIELD
3045 uint64_t reserved_32_63:32;
3046 uint64_t wmark:32;
3047#else
3048 uint64_t wmark:32;
3049 uint64_t reserved_32_63:32;
3050#endif
3051 } s;
3052 struct cvmx_sli_pkt_output_wmark_s cn61xx;
3053 struct cvmx_sli_pkt_output_wmark_s cn63xx;
3054 struct cvmx_sli_pkt_output_wmark_s cn63xxp1;
3055 struct cvmx_sli_pkt_output_wmark_s cn66xx;
3056 struct cvmx_sli_pkt_output_wmark_s cn68xx;
3057 struct cvmx_sli_pkt_output_wmark_s cn68xxp1;
3058 struct cvmx_sli_pkt_output_wmark_s cnf71xx;
3059};
3060
3061union cvmx_sli_pkt_pcie_port {
3062 uint64_t u64;
3063 struct cvmx_sli_pkt_pcie_port_s {
3064#ifdef __BIG_ENDIAN_BITFIELD
3065 uint64_t pp:64;
3066#else
3067 uint64_t pp:64;
3068#endif
3069 } s;
3070 struct cvmx_sli_pkt_pcie_port_s cn61xx;
3071 struct cvmx_sli_pkt_pcie_port_s cn63xx;
3072 struct cvmx_sli_pkt_pcie_port_s cn63xxp1;
3073 struct cvmx_sli_pkt_pcie_port_s cn66xx;
3074 struct cvmx_sli_pkt_pcie_port_s cn68xx;
3075 struct cvmx_sli_pkt_pcie_port_s cn68xxp1;
3076 struct cvmx_sli_pkt_pcie_port_s cnf71xx;
3077};
3078
3079union cvmx_sli_pkt_port_in_rst {
3080 uint64_t u64;
3081 struct cvmx_sli_pkt_port_in_rst_s {
3082#ifdef __BIG_ENDIAN_BITFIELD
3083 uint64_t in_rst:32;
3084 uint64_t out_rst:32;
3085#else
3086 uint64_t out_rst:32;
3087 uint64_t in_rst:32;
3088#endif
3089 } s;
3090 struct cvmx_sli_pkt_port_in_rst_s cn61xx;
3091 struct cvmx_sli_pkt_port_in_rst_s cn63xx;
3092 struct cvmx_sli_pkt_port_in_rst_s cn63xxp1;
3093 struct cvmx_sli_pkt_port_in_rst_s cn66xx;
3094 struct cvmx_sli_pkt_port_in_rst_s cn68xx;
3095 struct cvmx_sli_pkt_port_in_rst_s cn68xxp1;
3096 struct cvmx_sli_pkt_port_in_rst_s cnf71xx;
3097};
3098
3099union cvmx_sli_pkt_slist_es {
3100 uint64_t u64;
3101 struct cvmx_sli_pkt_slist_es_s {
3102#ifdef __BIG_ENDIAN_BITFIELD
3103 uint64_t es:64;
3104#else
3105 uint64_t es:64;
3106#endif
3107 } s;
3108 struct cvmx_sli_pkt_slist_es_s cn61xx;
3109 struct cvmx_sli_pkt_slist_es_s cn63xx;
3110 struct cvmx_sli_pkt_slist_es_s cn63xxp1;
3111 struct cvmx_sli_pkt_slist_es_s cn66xx;
3112 struct cvmx_sli_pkt_slist_es_s cn68xx;
3113 struct cvmx_sli_pkt_slist_es_s cn68xxp1;
3114 struct cvmx_sli_pkt_slist_es_s cnf71xx;
3115};
3116
3117union cvmx_sli_pkt_slist_ns {
3118 uint64_t u64;
3119 struct cvmx_sli_pkt_slist_ns_s {
3120#ifdef __BIG_ENDIAN_BITFIELD
3121 uint64_t reserved_32_63:32;
3122 uint64_t nsr:32;
3123#else
3124 uint64_t nsr:32;
3125 uint64_t reserved_32_63:32;
3126#endif
3127 } s;
3128 struct cvmx_sli_pkt_slist_ns_s cn61xx;
3129 struct cvmx_sli_pkt_slist_ns_s cn63xx;
3130 struct cvmx_sli_pkt_slist_ns_s cn63xxp1;
3131 struct cvmx_sli_pkt_slist_ns_s cn66xx;
3132 struct cvmx_sli_pkt_slist_ns_s cn68xx;
3133 struct cvmx_sli_pkt_slist_ns_s cn68xxp1;
3134 struct cvmx_sli_pkt_slist_ns_s cnf71xx;
3135};
3136
3137union cvmx_sli_pkt_slist_ror {
3138 uint64_t u64;
3139 struct cvmx_sli_pkt_slist_ror_s {
3140#ifdef __BIG_ENDIAN_BITFIELD
3141 uint64_t reserved_32_63:32;
3142 uint64_t ror:32;
3143#else
3144 uint64_t ror:32;
3145 uint64_t reserved_32_63:32;
3146#endif
3147 } s;
3148 struct cvmx_sli_pkt_slist_ror_s cn61xx;
3149 struct cvmx_sli_pkt_slist_ror_s cn63xx;
3150 struct cvmx_sli_pkt_slist_ror_s cn63xxp1;
3151 struct cvmx_sli_pkt_slist_ror_s cn66xx;
3152 struct cvmx_sli_pkt_slist_ror_s cn68xx;
3153 struct cvmx_sli_pkt_slist_ror_s cn68xxp1;
3154 struct cvmx_sli_pkt_slist_ror_s cnf71xx;
3155};
3156
3157union cvmx_sli_pkt_time_int {
3158 uint64_t u64;
3159 struct cvmx_sli_pkt_time_int_s {
3160#ifdef __BIG_ENDIAN_BITFIELD
3161 uint64_t reserved_32_63:32;
3162 uint64_t port:32;
3163#else
3164 uint64_t port:32;
3165 uint64_t reserved_32_63:32;
3166#endif
3167 } s;
3168 struct cvmx_sli_pkt_time_int_s cn61xx;
3169 struct cvmx_sli_pkt_time_int_s cn63xx;
3170 struct cvmx_sli_pkt_time_int_s cn63xxp1;
3171 struct cvmx_sli_pkt_time_int_s cn66xx;
3172 struct cvmx_sli_pkt_time_int_s cn68xx;
3173 struct cvmx_sli_pkt_time_int_s cn68xxp1;
3174 struct cvmx_sli_pkt_time_int_s cnf71xx;
3175};
3176
3177union cvmx_sli_pkt_time_int_enb {
3178 uint64_t u64;
3179 struct cvmx_sli_pkt_time_int_enb_s {
3180#ifdef __BIG_ENDIAN_BITFIELD
3181 uint64_t reserved_32_63:32;
3182 uint64_t port:32;
3183#else
3184 uint64_t port:32;
3185 uint64_t reserved_32_63:32;
3186#endif
3187 } s;
3188 struct cvmx_sli_pkt_time_int_enb_s cn61xx;
3189 struct cvmx_sli_pkt_time_int_enb_s cn63xx;
3190 struct cvmx_sli_pkt_time_int_enb_s cn63xxp1;
3191 struct cvmx_sli_pkt_time_int_enb_s cn66xx;
3192 struct cvmx_sli_pkt_time_int_enb_s cn68xx;
3193 struct cvmx_sli_pkt_time_int_enb_s cn68xxp1;
3194 struct cvmx_sli_pkt_time_int_enb_s cnf71xx;
3195};
3196
3197union cvmx_sli_portx_pkind {
3198 uint64_t u64;
3199 struct cvmx_sli_portx_pkind_s {
3200#ifdef __BIG_ENDIAN_BITFIELD
3201 uint64_t reserved_25_63:39;
3202 uint64_t rpk_enb:1;
3203 uint64_t reserved_22_23:2;
3204 uint64_t pkindr:6;
3205 uint64_t reserved_14_15:2;
3206 uint64_t bpkind:6;
3207 uint64_t reserved_6_7:2;
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
3219 } s;
3220 struct cvmx_sli_portx_pkind_s cn68xx;
3221 struct cvmx_sli_portx_pkind_cn68xxp1 {
3222#ifdef __BIG_ENDIAN_BITFIELD
3223 uint64_t reserved_14_63:50;
3224 uint64_t bpkind:6;
3225 uint64_t reserved_6_7:2;
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
3233 } cn68xxp1;
3234};
3235
3236union cvmx_sli_s2m_portx_ctl {
3237 uint64_t u64;
3238 struct cvmx_sli_s2m_portx_ctl_s {
3239#ifdef __BIG_ENDIAN_BITFIELD
3240 uint64_t reserved_5_63:59;
3241 uint64_t wind_d:1;
3242 uint64_t bar0_d:1;
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
3250 } s;
3251 struct cvmx_sli_s2m_portx_ctl_s cn61xx;
3252 struct cvmx_sli_s2m_portx_ctl_s cn63xx;
3253 struct cvmx_sli_s2m_portx_ctl_s cn63xxp1;
3254 struct cvmx_sli_s2m_portx_ctl_s cn66xx;
3255 struct cvmx_sli_s2m_portx_ctl_s cn68xx;
3256 struct cvmx_sli_s2m_portx_ctl_s cn68xxp1;
3257 struct cvmx_sli_s2m_portx_ctl_s cnf71xx;
3258};
3259
3260union cvmx_sli_scratch_1 {
3261 uint64_t u64;
3262 struct cvmx_sli_scratch_1_s {
3263#ifdef __BIG_ENDIAN_BITFIELD
3264 uint64_t data:64;
3265#else
3266 uint64_t data:64;
3267#endif
3268 } s;
3269 struct cvmx_sli_scratch_1_s cn61xx;
3270 struct cvmx_sli_scratch_1_s cn63xx;
3271 struct cvmx_sli_scratch_1_s cn63xxp1;
3272 struct cvmx_sli_scratch_1_s cn66xx;
3273 struct cvmx_sli_scratch_1_s cn68xx;
3274 struct cvmx_sli_scratch_1_s cn68xxp1;
3275 struct cvmx_sli_scratch_1_s cnf71xx;
3276};
3277
3278union cvmx_sli_scratch_2 {
3279 uint64_t u64;
3280 struct cvmx_sli_scratch_2_s {
3281#ifdef __BIG_ENDIAN_BITFIELD
3282 uint64_t data:64;
3283#else
3284 uint64_t data:64;
3285#endif
3286 } s;
3287 struct cvmx_sli_scratch_2_s cn61xx;
3288 struct cvmx_sli_scratch_2_s cn63xx;
3289 struct cvmx_sli_scratch_2_s cn63xxp1;
3290 struct cvmx_sli_scratch_2_s cn66xx;
3291 struct cvmx_sli_scratch_2_s cn68xx;
3292 struct cvmx_sli_scratch_2_s cn68xxp1;
3293 struct cvmx_sli_scratch_2_s cnf71xx;
3294};
3295
3296union cvmx_sli_state1 {
3297 uint64_t u64;
3298 struct cvmx_sli_state1_s {
3299#ifdef __BIG_ENDIAN_BITFIELD
3300 uint64_t cpl1:12;
3301 uint64_t cpl0:12;
3302 uint64_t arb:1;
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
3310 } s;
3311 struct cvmx_sli_state1_s cn61xx;
3312 struct cvmx_sli_state1_s cn63xx;
3313 struct cvmx_sli_state1_s cn63xxp1;
3314 struct cvmx_sli_state1_s cn66xx;
3315 struct cvmx_sli_state1_s cn68xx;
3316 struct cvmx_sli_state1_s cn68xxp1;
3317 struct cvmx_sli_state1_s cnf71xx;
3318};
3319
3320union cvmx_sli_state2 {
3321 uint64_t u64;
3322 struct cvmx_sli_state2_s {
3323#ifdef __BIG_ENDIAN_BITFIELD
3324 uint64_t reserved_56_63:8;
3325 uint64_t nnp1:8;
3326 uint64_t reserved_47_47:1;
3327 uint64_t rac:1;
3328 uint64_t csm1:15;
3329 uint64_t csm0:15;
3330 uint64_t nnp0: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
3342 } s;
3343 struct cvmx_sli_state2_s cn61xx;
3344 struct cvmx_sli_state2_s cn63xx;
3345 struct cvmx_sli_state2_s cn63xxp1;
3346 struct cvmx_sli_state2_s cn66xx;
3347 struct cvmx_sli_state2_s cn68xx;
3348 struct cvmx_sli_state2_s cn68xxp1;
3349 struct cvmx_sli_state2_s cnf71xx;
3350};
3351
3352union cvmx_sli_state3 {
3353 uint64_t u64;
3354 struct cvmx_sli_state3_s {
3355#ifdef __BIG_ENDIAN_BITFIELD
3356 uint64_t reserved_56_63:8;
3357 uint64_t psm1:15;
3358 uint64_t psm0:15;
3359 uint64_t nsm1: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
3368 } s;
3369 struct cvmx_sli_state3_s cn61xx;
3370 struct cvmx_sli_state3_s cn63xx;
3371 struct cvmx_sli_state3_s cn63xxp1;
3372 struct cvmx_sli_state3_s cn66xx;
3373 struct cvmx_sli_state3_s cn68xx;
3374 struct cvmx_sli_state3_s cn68xxp1;
3375 struct cvmx_sli_state3_s cnf71xx;
3376};
3377
3378union cvmx_sli_tx_pipe {
3379 uint64_t u64;
3380 struct cvmx_sli_tx_pipe_s {
3381#ifdef __BIG_ENDIAN_BITFIELD
3382 uint64_t reserved_24_63:40;
3383 uint64_t nump:8;
3384 uint64_t reserved_7_15:9;
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
3392 } s;
3393 struct cvmx_sli_tx_pipe_s cn68xx;
3394 struct cvmx_sli_tx_pipe_s cn68xxp1;
3395};
3396
3397union cvmx_sli_win_rd_addr {
3398 uint64_t u64;
3399 struct cvmx_sli_win_rd_addr_s {
3400#ifdef __BIG_ENDIAN_BITFIELD
3401 uint64_t reserved_51_63:13;
3402 uint64_t ld_cmd:2;
3403 uint64_t iobit:1;
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
3411 } s;
3412 struct cvmx_sli_win_rd_addr_s cn61xx;
3413 struct cvmx_sli_win_rd_addr_s cn63xx;
3414 struct cvmx_sli_win_rd_addr_s cn63xxp1;
3415 struct cvmx_sli_win_rd_addr_s cn66xx;
3416 struct cvmx_sli_win_rd_addr_s cn68xx;
3417 struct cvmx_sli_win_rd_addr_s cn68xxp1;
3418 struct cvmx_sli_win_rd_addr_s cnf71xx;
3419};
3420
3421union cvmx_sli_win_rd_data {
3422 uint64_t u64;
3423 struct cvmx_sli_win_rd_data_s {
3424#ifdef __BIG_ENDIAN_BITFIELD
3425 uint64_t rd_data:64;
3426#else
3427 uint64_t rd_data:64;
3428#endif
3429 } s;
3430 struct cvmx_sli_win_rd_data_s cn61xx;
3431 struct cvmx_sli_win_rd_data_s cn63xx;
3432 struct cvmx_sli_win_rd_data_s cn63xxp1;
3433 struct cvmx_sli_win_rd_data_s cn66xx;
3434 struct cvmx_sli_win_rd_data_s cn68xx;
3435 struct cvmx_sli_win_rd_data_s cn68xxp1;
3436 struct cvmx_sli_win_rd_data_s cnf71xx;
3437};
3438
3439union cvmx_sli_win_wr_addr {
3440 uint64_t u64;
3441 struct cvmx_sli_win_wr_addr_s {
3442#ifdef __BIG_ENDIAN_BITFIELD
3443 uint64_t reserved_49_63:15;
3444 uint64_t iobit:1;
3445 uint64_t wr_addr:45;
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
3453 } s;
3454 struct cvmx_sli_win_wr_addr_s cn61xx;
3455 struct cvmx_sli_win_wr_addr_s cn63xx;
3456 struct cvmx_sli_win_wr_addr_s cn63xxp1;
3457 struct cvmx_sli_win_wr_addr_s cn66xx;
3458 struct cvmx_sli_win_wr_addr_s cn68xx;
3459 struct cvmx_sli_win_wr_addr_s cn68xxp1;
3460 struct cvmx_sli_win_wr_addr_s cnf71xx;
3461};
3462
3463union cvmx_sli_win_wr_data {
3464 uint64_t u64;
3465 struct cvmx_sli_win_wr_data_s {
3466#ifdef __BIG_ENDIAN_BITFIELD
3467 uint64_t wr_data:64;
3468#else
3469 uint64_t wr_data:64;
3470#endif
3471 } s;
3472 struct cvmx_sli_win_wr_data_s cn61xx;
3473 struct cvmx_sli_win_wr_data_s cn63xx;
3474 struct cvmx_sli_win_wr_data_s cn63xxp1;
3475 struct cvmx_sli_win_wr_data_s cn66xx;
3476 struct cvmx_sli_win_wr_data_s cn68xx;
3477 struct cvmx_sli_win_wr_data_s cn68xxp1;
3478 struct cvmx_sli_win_wr_data_s cnf71xx;
3479};
3480
3481union cvmx_sli_win_wr_mask {
3482 uint64_t u64;
3483 struct cvmx_sli_win_wr_mask_s {
3484#ifdef __BIG_ENDIAN_BITFIELD
3485 uint64_t reserved_8_63:56;
3486 uint64_t wr_mask:8;
3487#else
3488 uint64_t wr_mask:8;
3489 uint64_t reserved_8_63:56;
3490#endif
3491 } s;
3492 struct cvmx_sli_win_wr_mask_s cn61xx;
3493 struct cvmx_sli_win_wr_mask_s cn63xx;
3494 struct cvmx_sli_win_wr_mask_s cn63xxp1;
3495 struct cvmx_sli_win_wr_mask_s cn66xx;
3496 struct cvmx_sli_win_wr_mask_s cn68xx;
3497 struct cvmx_sli_win_wr_mask_s cn68xxp1;
3498 struct cvmx_sli_win_wr_mask_s cnf71xx;
3499};
3500
3501union cvmx_sli_window_ctl {
3502 uint64_t u64;
3503 struct cvmx_sli_window_ctl_s {
3504#ifdef __BIG_ENDIAN_BITFIELD
3505 uint64_t reserved_32_63:32;
3506 uint64_t time:32;
3507#else
3508 uint64_t time:32;
3509 uint64_t reserved_32_63:32;
3510#endif
3511 } s;
3512 struct cvmx_sli_window_ctl_s cn61xx;
3513 struct cvmx_sli_window_ctl_s cn63xx;
3514 struct cvmx_sli_window_ctl_s cn63xxp1;
3515 struct cvmx_sli_window_ctl_s cn66xx;
3516 struct cvmx_sli_window_ctl_s cn68xx;
3517 struct cvmx_sli_window_ctl_s cn68xxp1;
3518 struct cvmx_sli_window_ctl_s cnf71xx;
3519};
3520
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 8a278e6ddba..4f3c0666e94 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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,120 +28,15 @@
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
31static inline uint64_t CVMX_SMIX_CLK(unsigned long offset) 31#define CVMX_SMIX_CLK(offset) (CVMX_ADD_IO_SEG(0x0001180000001818ull) + ((offset) & 1) * 256)
32{ 32#define CVMX_SMIX_CMD(offset) (CVMX_ADD_IO_SEG(0x0001180000001800ull) + ((offset) & 1) * 256)
33 switch (cvmx_get_octeon_family()) { 33#define CVMX_SMIX_EN(offset) (CVMX_ADD_IO_SEG(0x0001180000001820ull) + ((offset) & 1) * 256)
34 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 34#define CVMX_SMIX_RD_DAT(offset) (CVMX_ADD_IO_SEG(0x0001180000001810ull) + ((offset) & 1) * 256)
35 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 35#define CVMX_SMIX_WR_DAT(offset) (CVMX_ADD_IO_SEG(0x0001180000001808ull) + ((offset) & 1) * 256)
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}
140 36
141union cvmx_smix_clk { 37union cvmx_smix_clk {
142 uint64_t u64; 38 uint64_t u64;
143 struct cvmx_smix_clk_s { 39 struct cvmx_smix_clk_s {
144#ifdef __BIG_ENDIAN_BITFIELD
145 uint64_t reserved_25_63:39; 40 uint64_t reserved_25_63:39;
146 uint64_t mode:1; 41 uint64_t mode:1;
147 uint64_t reserved_21_23:3; 42 uint64_t reserved_21_23:3;
@@ -152,21 +47,8 @@ union cvmx_smix_clk {
152 uint64_t preamble:1; 47 uint64_t preamble:1;
153 uint64_t sample:4; 48 uint64_t sample:4;
154 uint64_t phase:8; 49 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
167 } s; 50 } s;
168 struct cvmx_smix_clk_cn30xx { 51 struct cvmx_smix_clk_cn30xx {
169#ifdef __BIG_ENDIAN_BITFIELD
170 uint64_t reserved_21_63:43; 52 uint64_t reserved_21_63:43;
171 uint64_t sample_hi:5; 53 uint64_t sample_hi:5;
172 uint64_t sample_mode:1; 54 uint64_t sample_mode:1;
@@ -175,16 +57,6 @@ union cvmx_smix_clk {
175 uint64_t preamble:1; 57 uint64_t preamble:1;
176 uint64_t sample:4; 58 uint64_t sample:4;
177 uint64_t phase:8; 59 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
188 } cn30xx; 60 } cn30xx;
189 struct cvmx_smix_clk_cn30xx cn31xx; 61 struct cvmx_smix_clk_cn30xx cn31xx;
190 struct cvmx_smix_clk_cn30xx cn38xx; 62 struct cvmx_smix_clk_cn30xx cn38xx;
@@ -196,50 +68,27 @@ union cvmx_smix_clk {
196 struct cvmx_smix_clk_s cn56xxp1; 68 struct cvmx_smix_clk_s cn56xxp1;
197 struct cvmx_smix_clk_cn30xx cn58xx; 69 struct cvmx_smix_clk_cn30xx cn58xx;
198 struct cvmx_smix_clk_cn30xx cn58xxp1; 70 struct cvmx_smix_clk_cn30xx cn58xxp1;
199 struct cvmx_smix_clk_s cn61xx;
200 struct cvmx_smix_clk_s cn63xx; 71 struct cvmx_smix_clk_s cn63xx;
201 struct cvmx_smix_clk_s cn63xxp1; 72 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;
206}; 73};
207 74
208union cvmx_smix_cmd { 75union cvmx_smix_cmd {
209 uint64_t u64; 76 uint64_t u64;
210 struct cvmx_smix_cmd_s { 77 struct cvmx_smix_cmd_s {
211#ifdef __BIG_ENDIAN_BITFIELD
212 uint64_t reserved_18_63:46; 78 uint64_t reserved_18_63:46;
213 uint64_t phy_op:2; 79 uint64_t phy_op:2;
214 uint64_t reserved_13_15:3; 80 uint64_t reserved_13_15:3;
215 uint64_t phy_adr:5; 81 uint64_t phy_adr:5;
216 uint64_t reserved_5_7:3; 82 uint64_t reserved_5_7:3;
217 uint64_t reg_adr:5; 83 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
226 } s; 84 } s;
227 struct cvmx_smix_cmd_cn30xx { 85 struct cvmx_smix_cmd_cn30xx {
228#ifdef __BIG_ENDIAN_BITFIELD
229 uint64_t reserved_17_63:47; 86 uint64_t reserved_17_63:47;
230 uint64_t phy_op:1; 87 uint64_t phy_op:1;
231 uint64_t reserved_13_15:3; 88 uint64_t reserved_13_15:3;
232 uint64_t phy_adr:5; 89 uint64_t phy_adr:5;
233 uint64_t reserved_5_7:3; 90 uint64_t reserved_5_7:3;
234 uint64_t reg_adr:5; 91 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
243 } cn30xx; 92 } cn30xx;
244 struct cvmx_smix_cmd_cn30xx cn31xx; 93 struct cvmx_smix_cmd_cn30xx cn31xx;
245 struct cvmx_smix_cmd_cn30xx cn38xx; 94 struct cvmx_smix_cmd_cn30xx cn38xx;
@@ -251,25 +100,15 @@ union cvmx_smix_cmd {
251 struct cvmx_smix_cmd_s cn56xxp1; 100 struct cvmx_smix_cmd_s cn56xxp1;
252 struct cvmx_smix_cmd_cn30xx cn58xx; 101 struct cvmx_smix_cmd_cn30xx cn58xx;
253 struct cvmx_smix_cmd_cn30xx cn58xxp1; 102 struct cvmx_smix_cmd_cn30xx cn58xxp1;
254 struct cvmx_smix_cmd_s cn61xx;
255 struct cvmx_smix_cmd_s cn63xx; 103 struct cvmx_smix_cmd_s cn63xx;
256 struct cvmx_smix_cmd_s cn63xxp1; 104 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;
261}; 105};
262 106
263union cvmx_smix_en { 107union cvmx_smix_en {
264 uint64_t u64; 108 uint64_t u64;
265 struct cvmx_smix_en_s { 109 struct cvmx_smix_en_s {
266#ifdef __BIG_ENDIAN_BITFIELD
267 uint64_t reserved_1_63:63; 110 uint64_t reserved_1_63:63;
268 uint64_t en:1; 111 uint64_t en:1;
269#else
270 uint64_t en:1;
271 uint64_t reserved_1_63:63;
272#endif
273 } s; 112 } s;
274 struct cvmx_smix_en_s cn30xx; 113 struct cvmx_smix_en_s cn30xx;
275 struct cvmx_smix_en_s cn31xx; 114 struct cvmx_smix_en_s cn31xx;
@@ -282,29 +121,17 @@ union cvmx_smix_en {
282 struct cvmx_smix_en_s cn56xxp1; 121 struct cvmx_smix_en_s cn56xxp1;
283 struct cvmx_smix_en_s cn58xx; 122 struct cvmx_smix_en_s cn58xx;
284 struct cvmx_smix_en_s cn58xxp1; 123 struct cvmx_smix_en_s cn58xxp1;
285 struct cvmx_smix_en_s cn61xx;
286 struct cvmx_smix_en_s cn63xx; 124 struct cvmx_smix_en_s cn63xx;
287 struct cvmx_smix_en_s cn63xxp1; 125 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;
292}; 126};
293 127
294union cvmx_smix_rd_dat { 128union cvmx_smix_rd_dat {
295 uint64_t u64; 129 uint64_t u64;
296 struct cvmx_smix_rd_dat_s { 130 struct cvmx_smix_rd_dat_s {
297#ifdef __BIG_ENDIAN_BITFIELD
298 uint64_t reserved_18_63:46; 131 uint64_t reserved_18_63:46;
299 uint64_t pending:1; 132 uint64_t pending:1;
300 uint64_t val:1; 133 uint64_t val:1;
301 uint64_t dat:16; 134 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
308 } s; 135 } s;
309 struct cvmx_smix_rd_dat_s cn30xx; 136 struct cvmx_smix_rd_dat_s cn30xx;
310 struct cvmx_smix_rd_dat_s cn31xx; 137 struct cvmx_smix_rd_dat_s cn31xx;
@@ -317,29 +144,17 @@ union cvmx_smix_rd_dat {
317 struct cvmx_smix_rd_dat_s cn56xxp1; 144 struct cvmx_smix_rd_dat_s cn56xxp1;
318 struct cvmx_smix_rd_dat_s cn58xx; 145 struct cvmx_smix_rd_dat_s cn58xx;
319 struct cvmx_smix_rd_dat_s cn58xxp1; 146 struct cvmx_smix_rd_dat_s cn58xxp1;
320 struct cvmx_smix_rd_dat_s cn61xx;
321 struct cvmx_smix_rd_dat_s cn63xx; 147 struct cvmx_smix_rd_dat_s cn63xx;
322 struct cvmx_smix_rd_dat_s cn63xxp1; 148 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;
327}; 149};
328 150
329union cvmx_smix_wr_dat { 151union cvmx_smix_wr_dat {
330 uint64_t u64; 152 uint64_t u64;
331 struct cvmx_smix_wr_dat_s { 153 struct cvmx_smix_wr_dat_s {
332#ifdef __BIG_ENDIAN_BITFIELD
333 uint64_t reserved_18_63:46; 154 uint64_t reserved_18_63:46;
334 uint64_t pending:1; 155 uint64_t pending:1;
335 uint64_t val:1; 156 uint64_t val:1;
336 uint64_t dat:16; 157 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
343 } s; 158 } s;
344 struct cvmx_smix_wr_dat_s cn30xx; 159 struct cvmx_smix_wr_dat_s cn30xx;
345 struct cvmx_smix_wr_dat_s cn31xx; 160 struct cvmx_smix_wr_dat_s cn31xx;
@@ -352,13 +167,8 @@ union cvmx_smix_wr_dat {
352 struct cvmx_smix_wr_dat_s cn56xxp1; 167 struct cvmx_smix_wr_dat_s cn56xxp1;
353 struct cvmx_smix_wr_dat_s cn58xx; 168 struct cvmx_smix_wr_dat_s cn58xx;
354 struct cvmx_smix_wr_dat_s cn58xxp1; 169 struct cvmx_smix_wr_dat_s cn58xxp1;
355 struct cvmx_smix_wr_dat_s cn61xx;
356 struct cvmx_smix_wr_dat_s cn63xx; 170 struct cvmx_smix_wr_dat_s cn63xx;
357 struct cvmx_smix_wr_dat_s cn63xxp1; 171 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;
362}; 172};
363 173
364#endif 174#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-spi.h b/arch/mips/include/asm/octeon/cvmx-spi.h
deleted file mode 100644
index 3bf53b537bc..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-spi.h
+++ /dev/null
@@ -1,269 +0,0 @@
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-2008 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/*
29 *
30 * This file contains defines for the SPI interface
31 */
32#ifndef __CVMX_SPI_H__
33#define __CVMX_SPI_H__
34
35#include <asm/octeon/cvmx-gmxx-defs.h>
36
37/* CSR typedefs have been moved to cvmx-csr-*.h */
38
39typedef enum {
40 CVMX_SPI_MODE_UNKNOWN = 0,
41 CVMX_SPI_MODE_TX_HALFPLEX = 1,
42 CVMX_SPI_MODE_RX_HALFPLEX = 2,
43 CVMX_SPI_MODE_DUPLEX = 3
44} cvmx_spi_mode_t;
45
46/** Callbacks structure to customize SPI4 initialization sequence */
47typedef struct {
48 /** Called to reset SPI4 DLL */
49 int (*reset_cb) (int interface, cvmx_spi_mode_t mode);
50
51 /** Called to setup calendar */
52 int (*calendar_setup_cb) (int interface, cvmx_spi_mode_t mode,
53 int num_ports);
54
55 /** Called for Tx and Rx clock detection */
56 int (*clock_detect_cb) (int interface, cvmx_spi_mode_t mode,
57 int timeout);
58
59 /** Called to perform link training */
60 int (*training_cb) (int interface, cvmx_spi_mode_t mode, int timeout);
61
62 /** Called for calendar data synchronization */
63 int (*calendar_sync_cb) (int interface, cvmx_spi_mode_t mode,
64 int timeout);
65
66 /** Called when interface is up */
67 int (*interface_up_cb) (int interface, cvmx_spi_mode_t mode);
68
69} cvmx_spi_callbacks_t;
70
71/**
72 * Return true if the supplied interface is configured for SPI
73 *
74 * @interface: Interface to check
75 * Returns True if interface is SPI
76 */
77static inline int cvmx_spi_is_spi_interface(int interface)
78{
79 uint64_t gmxState = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface));
80 return (gmxState & 0x2) && (gmxState & 0x1);
81}
82
83/**
84 * Initialize and start the SPI interface.
85 *
86 * @interface: The identifier of the packet interface to configure and
87 * use as a SPI interface.
88 * @mode: The operating mode for the SPI interface. The interface
89 * can operate as a full duplex (both Tx and Rx data paths
90 * active) or as a halfplex (either the Tx data path is
91 * active or the Rx data path is active, but not both).
92 * @timeout: Timeout to wait for clock synchronization in seconds
93 * @num_ports: Number of SPI ports to configure
94 *
95 * Returns Zero on success, negative of failure.
96 */
97extern int cvmx_spi_start_interface(int interface, cvmx_spi_mode_t mode,
98 int timeout, int num_ports);
99
100/**
101 * This routine restarts the SPI interface after it has lost synchronization
102 * with its corespondant system.
103 *
104 * @interface: The identifier of the packet interface to configure and
105 * use as a SPI interface.
106 * @mode: The operating mode for the SPI interface. The interface
107 * can operate as a full duplex (both Tx and Rx data paths
108 * active) or as a halfplex (either the Tx data path is
109 * active or the Rx data path is active, but not both).
110 * @timeout: Timeout to wait for clock synchronization in seconds
111 * Returns Zero on success, negative of failure.
112 */
113extern int cvmx_spi_restart_interface(int interface, cvmx_spi_mode_t mode,
114 int timeout);
115
116/**
117 * Return non-zero if the SPI interface has a SPI4000 attached
118 *
119 * @interface: SPI interface the SPI4000 is connected to
120 *
121 * Returns
122 */
123static inline int cvmx_spi4000_is_present(int interface)
124{
125 return 0;
126}
127
128/**
129 * Initialize the SPI4000 for use
130 *
131 * @interface: SPI interface the SPI4000 is connected to
132 */
133static inline int cvmx_spi4000_initialize(int interface)
134{
135 return 0;
136}
137
138/**
139 * Poll all the SPI4000 port and check its speed
140 *
141 * @interface: Interface the SPI4000 is on
142 * @port: Port to poll (0-9)
143 * Returns Status of the port. 0=down. All other values the port is up.
144 */
145static inline union cvmx_gmxx_rxx_rx_inbnd cvmx_spi4000_check_speed(
146 int interface,
147 int port)
148{
149 union cvmx_gmxx_rxx_rx_inbnd r;
150 r.u64 = 0;
151 return r;
152}
153
154/**
155 * Get current SPI4 initialization callbacks
156 *
157 * @callbacks: Pointer to the callbacks structure.to fill
158 *
159 * Returns Pointer to cvmx_spi_callbacks_t structure.
160 */
161extern void cvmx_spi_get_callbacks(cvmx_spi_callbacks_t *callbacks);
162
163/**
164 * Set new SPI4 initialization callbacks
165 *
166 * @new_callbacks: Pointer to an updated callbacks structure.
167 */
168extern void cvmx_spi_set_callbacks(cvmx_spi_callbacks_t *new_callbacks);
169
170/**
171 * Callback to perform SPI4 reset
172 *
173 * @interface: The identifier of the packet interface to configure and
174 * use as a SPI interface.
175 * @mode: The operating mode for the SPI interface. The interface
176 * can operate as a full duplex (both Tx and Rx data paths
177 * active) or as a halfplex (either the Tx data path is
178 * active or the Rx data path is active, but not both).
179 *
180 * Returns Zero on success, non-zero error code on failure (will cause
181 * SPI initialization to abort)
182 */
183extern int cvmx_spi_reset_cb(int interface, cvmx_spi_mode_t mode);
184
185/**
186 * Callback to setup calendar and miscellaneous settings before clock
187 * detection
188 *
189 * @interface: The identifier of the packet interface to configure and
190 * use as a SPI interface.
191 * @mode: The operating mode for the SPI interface. The interface
192 * can operate as a full duplex (both Tx and Rx data paths
193 * active) or as a halfplex (either the Tx data path is
194 * active or the Rx data path is active, but not both).
195 * @num_ports: Number of ports to configure on SPI
196 *
197 * Returns Zero on success, non-zero error code on failure (will cause
198 * SPI initialization to abort)
199 */
200extern int cvmx_spi_calendar_setup_cb(int interface, cvmx_spi_mode_t mode,
201 int num_ports);
202
203/**
204 * Callback to perform clock detection
205 *
206 * @interface: The identifier of the packet interface to configure and
207 * use as a SPI interface.
208 * @mode: The operating mode for the SPI interface. The interface
209 * can operate as a full duplex (both Tx and Rx data paths
210 * active) or as a halfplex (either the Tx data path is
211 * active or the Rx data path is active, but not both).
212 * @timeout: Timeout to wait for clock synchronization in seconds
213 *
214 * Returns Zero on success, non-zero error code on failure (will cause
215 * SPI initialization to abort)
216 */
217extern int cvmx_spi_clock_detect_cb(int interface, cvmx_spi_mode_t mode,
218 int timeout);
219
220/**
221 * Callback to perform link training
222 *
223 * @interface: The identifier of the packet interface to configure and
224 * use as a SPI interface.
225 * @mode: The operating mode for the SPI interface. The interface
226 * can operate as a full duplex (both Tx and Rx data paths
227 * active) or as a halfplex (either the Tx data path is
228 * active or the Rx data path is active, but not both).
229 * @timeout: Timeout to wait for link to be trained (in seconds)
230 *
231 * Returns Zero on success, non-zero error code on failure (will cause
232 * SPI initialization to abort)
233 */
234extern int cvmx_spi_training_cb(int interface, cvmx_spi_mode_t mode,
235 int timeout);
236
237/**
238 * Callback to perform calendar data synchronization
239 *
240 * @interface: The identifier of the packet interface to configure and
241 * use as a SPI interface.
242 * @mode: The operating mode for the SPI interface. The interface
243 * can operate as a full duplex (both Tx and Rx data paths
244 * active) or as a halfplex (either the Tx data path is
245 * active or the Rx data path is active, but not both).
246 * @timeout: Timeout to wait for calendar data in seconds
247 *
248 * Returns Zero on success, non-zero error code on failure (will cause
249 * SPI initialization to abort)
250 */
251extern int cvmx_spi_calendar_sync_cb(int interface, cvmx_spi_mode_t mode,
252 int timeout);
253
254/**
255 * Callback to handle interface up
256 *
257 * @interface: The identifier of the packet interface to configure and
258 * use as a SPI interface.
259 * @mode: The operating mode for the SPI interface. The interface
260 * can operate as a full duplex (both Tx and Rx data paths
261 * active) or as a halfplex (either the Tx data path is
262 * active or the Rx data path is active, but not both).
263 *
264 * Returns Zero on success, non-zero error code on failure (will cause
265 * SPI initialization to abort)
266 */
267extern int cvmx_spi_interface_up_cb(int interface, cvmx_spi_mode_t mode);
268
269#endif /* __CVMX_SPI_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx-spinlock.h b/arch/mips/include/asm/octeon/cvmx-spinlock.h
index a672abb1bc4..2fbf0871df1 100644
--- a/arch/mips/include/asm/octeon/cvmx-spinlock.h
+++ b/arch/mips/include/asm/octeon/cvmx-spinlock.h
@@ -35,7 +35,7 @@
35#ifndef __CVMX_SPINLOCK_H__ 35#ifndef __CVMX_SPINLOCK_H__
36#define __CVMX_SPINLOCK_H__ 36#define __CVMX_SPINLOCK_H__
37 37
38#include <asm/octeon/cvmx-asm.h> 38#include "cvmx-asm.h"
39 39
40/* Spinlocks for Octeon */ 40/* Spinlocks for Octeon */
41 41
diff --git a/arch/mips/include/asm/octeon/cvmx-spxx-defs.h b/arch/mips/include/asm/octeon/cvmx-spxx-defs.h
deleted file mode 100644
index c7d601d9446..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-spxx-defs.h
+++ /dev/null
@@ -1,506 +0,0 @@
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_SPXX_DEFS_H__
29#define __CVMX_SPXX_DEFS_H__
30
31#define CVMX_SPXX_BCKPRS_CNT(block_id) (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_CLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000348ull) + ((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_DBG_DESKEW_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000368ull) + ((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_DRV_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000358ull) + ((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_INT_DAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000318ull) + ((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_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x0001180090000300ull) + ((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_TPA_ACC(block_id) (CVMX_ADD_IO_SEG(0x0001180090000338ull) + ((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_TPA_SEL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000328ull) + ((block_id) & 1) * 0x8000000ull)
46#define CVMX_SPXX_TRN4_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000360ull) + ((block_id) & 1) * 0x8000000ull)
47
48union cvmx_spxx_bckprs_cnt {
49 uint64_t u64;
50 struct cvmx_spxx_bckprs_cnt_s {
51#ifdef __BIG_ENDIAN_BITFIELD
52 uint64_t reserved_32_63:32;
53 uint64_t cnt:32;
54#else
55 uint64_t cnt:32;
56 uint64_t reserved_32_63:32;
57#endif
58 } s;
59 struct cvmx_spxx_bckprs_cnt_s cn38xx;
60 struct cvmx_spxx_bckprs_cnt_s cn38xxp2;
61 struct cvmx_spxx_bckprs_cnt_s cn58xx;
62 struct cvmx_spxx_bckprs_cnt_s cn58xxp1;
63};
64
65union cvmx_spxx_bist_stat {
66 uint64_t u64;
67 struct cvmx_spxx_bist_stat_s {
68#ifdef __BIG_ENDIAN_BITFIELD
69 uint64_t reserved_3_63:61;
70 uint64_t stat2:1;
71 uint64_t stat1: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
79 } s;
80 struct cvmx_spxx_bist_stat_s cn38xx;
81 struct cvmx_spxx_bist_stat_s cn38xxp2;
82 struct cvmx_spxx_bist_stat_s cn58xx;
83 struct cvmx_spxx_bist_stat_s cn58xxp1;
84};
85
86union cvmx_spxx_clk_ctl {
87 uint64_t u64;
88 struct cvmx_spxx_clk_ctl_s {
89#ifdef __BIG_ENDIAN_BITFIELD
90 uint64_t reserved_17_63:47;
91 uint64_t seetrn:1;
92 uint64_t reserved_12_15:4;
93 uint64_t clkdly:5;
94 uint64_t runbist:1;
95 uint64_t statdrv:1;
96 uint64_t statrcv:1;
97 uint64_t sndtrn:1;
98 uint64_t drptrn:1;
99 uint64_t rcvtrn: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
114 } s;
115 struct cvmx_spxx_clk_ctl_s cn38xx;
116 struct cvmx_spxx_clk_ctl_s cn38xxp2;
117 struct cvmx_spxx_clk_ctl_s cn58xx;
118 struct cvmx_spxx_clk_ctl_s cn58xxp1;
119};
120
121union cvmx_spxx_clk_stat {
122 uint64_t u64;
123 struct cvmx_spxx_clk_stat_s {
124#ifdef __BIG_ENDIAN_BITFIELD
125 uint64_t reserved_11_63:53;
126 uint64_t stxcal:1;
127 uint64_t reserved_9_9:1;
128 uint64_t srxtrn:1;
129 uint64_t s4clk1:1;
130 uint64_t s4clk0:1;
131 uint64_t d4clk1:1;
132 uint64_t d4clk0:1;
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
145 } s;
146 struct cvmx_spxx_clk_stat_s cn38xx;
147 struct cvmx_spxx_clk_stat_s cn38xxp2;
148 struct cvmx_spxx_clk_stat_s cn58xx;
149 struct cvmx_spxx_clk_stat_s cn58xxp1;
150};
151
152union cvmx_spxx_dbg_deskew_ctl {
153 uint64_t u64;
154 struct cvmx_spxx_dbg_deskew_ctl_s {
155#ifdef __BIG_ENDIAN_BITFIELD
156 uint64_t reserved_30_63:34;
157 uint64_t fallnop:1;
158 uint64_t fall8:1;
159 uint64_t reserved_26_27:2;
160 uint64_t sstep_go:1;
161 uint64_t sstep:1;
162 uint64_t reserved_22_23:2;
163 uint64_t clrdly:1;
164 uint64_t dec:1;
165 uint64_t inc:1;
166 uint64_t mux:1;
167 uint64_t offset:5;
168 uint64_t bitsel:5;
169 uint64_t offdly:6;
170 uint64_t dllfrc: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
190 } s;
191 struct cvmx_spxx_dbg_deskew_ctl_s cn38xx;
192 struct cvmx_spxx_dbg_deskew_ctl_s cn38xxp2;
193 struct cvmx_spxx_dbg_deskew_ctl_s cn58xx;
194 struct cvmx_spxx_dbg_deskew_ctl_s cn58xxp1;
195};
196
197union cvmx_spxx_dbg_deskew_state {
198 uint64_t u64;
199 struct cvmx_spxx_dbg_deskew_state_s {
200#ifdef __BIG_ENDIAN_BITFIELD
201 uint64_t reserved_9_63:55;
202 uint64_t testres:1;
203 uint64_t unxterm:1;
204 uint64_t muxsel:2;
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
213 } s;
214 struct cvmx_spxx_dbg_deskew_state_s cn38xx;
215 struct cvmx_spxx_dbg_deskew_state_s cn38xxp2;
216 struct cvmx_spxx_dbg_deskew_state_s cn58xx;
217 struct cvmx_spxx_dbg_deskew_state_s cn58xxp1;
218};
219
220union cvmx_spxx_drv_ctl {
221 uint64_t u64;
222 struct cvmx_spxx_drv_ctl_s {
223#ifdef __BIG_ENDIAN_BITFIELD
224 uint64_t reserved_0_63:64;
225#else
226 uint64_t reserved_0_63:64;
227#endif
228 } s;
229 struct cvmx_spxx_drv_ctl_cn38xx {
230#ifdef __BIG_ENDIAN_BITFIELD
231 uint64_t reserved_16_63:48;
232 uint64_t stx4ncmp:4;
233 uint64_t stx4pcmp:4;
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
241 } cn38xx;
242 struct cvmx_spxx_drv_ctl_cn38xx cn38xxp2;
243 struct cvmx_spxx_drv_ctl_cn58xx {
244#ifdef __BIG_ENDIAN_BITFIELD
245 uint64_t reserved_24_63:40;
246 uint64_t stx4ncmp:4;
247 uint64_t stx4pcmp:4;
248 uint64_t reserved_10_15:6;
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
257 } cn58xx;
258 struct cvmx_spxx_drv_ctl_cn58xx cn58xxp1;
259};
260
261union cvmx_spxx_err_ctl {
262 uint64_t u64;
263 struct cvmx_spxx_err_ctl_s {
264#ifdef __BIG_ENDIAN_BITFIELD
265 uint64_t reserved_9_63:55;
266 uint64_t prtnxa:1;
267 uint64_t dipcls:1;
268 uint64_t dippay:1;
269 uint64_t reserved_4_5:2;
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
279 } s;
280 struct cvmx_spxx_err_ctl_s cn38xx;
281 struct cvmx_spxx_err_ctl_s cn38xxp2;
282 struct cvmx_spxx_err_ctl_s cn58xx;
283 struct cvmx_spxx_err_ctl_s cn58xxp1;
284};
285
286union cvmx_spxx_int_dat {
287 uint64_t u64;
288 struct cvmx_spxx_int_dat_s {
289#ifdef __BIG_ENDIAN_BITFIELD
290 uint64_t reserved_32_63:32;
291 uint64_t mul:1;
292 uint64_t reserved_14_30:17;
293 uint64_t calbnk:2;
294 uint64_t rsvop:4;
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
304 } s;
305 struct cvmx_spxx_int_dat_s cn38xx;
306 struct cvmx_spxx_int_dat_s cn38xxp2;
307 struct cvmx_spxx_int_dat_s cn58xx;
308 struct cvmx_spxx_int_dat_s cn58xxp1;
309};
310
311union cvmx_spxx_int_msk {
312 uint64_t u64;
313 struct cvmx_spxx_int_msk_s {
314#ifdef __BIG_ENDIAN_BITFIELD
315 uint64_t reserved_12_63:52;
316 uint64_t calerr:1;
317 uint64_t syncerr:1;
318 uint64_t diperr:1;
319 uint64_t tpaovr:1;
320 uint64_t rsverr:1;
321 uint64_t drwnng:1;
322 uint64_t clserr:1;
323 uint64_t spiovr:1;
324 uint64_t reserved_2_3:2;
325 uint64_t abnorm: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
341 } s;
342 struct cvmx_spxx_int_msk_s cn38xx;
343 struct cvmx_spxx_int_msk_s cn38xxp2;
344 struct cvmx_spxx_int_msk_s cn58xx;
345 struct cvmx_spxx_int_msk_s cn58xxp1;
346};
347
348union cvmx_spxx_int_reg {
349 uint64_t u64;
350 struct cvmx_spxx_int_reg_s {
351#ifdef __BIG_ENDIAN_BITFIELD
352 uint64_t reserved_32_63:32;
353 uint64_t spf:1;
354 uint64_t reserved_12_30:19;
355 uint64_t calerr:1;
356 uint64_t syncerr:1;
357 uint64_t diperr:1;
358 uint64_t tpaovr:1;
359 uint64_t rsverr:1;
360 uint64_t drwnng:1;
361 uint64_t clserr:1;
362 uint64_t spiovr:1;
363 uint64_t reserved_2_3:2;
364 uint64_t abnorm: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
382 } s;
383 struct cvmx_spxx_int_reg_s cn38xx;
384 struct cvmx_spxx_int_reg_s cn38xxp2;
385 struct cvmx_spxx_int_reg_s cn58xx;
386 struct cvmx_spxx_int_reg_s cn58xxp1;
387};
388
389union cvmx_spxx_int_sync {
390 uint64_t u64;
391 struct cvmx_spxx_int_sync_s {
392#ifdef __BIG_ENDIAN_BITFIELD
393 uint64_t reserved_12_63:52;
394 uint64_t calerr:1;
395 uint64_t syncerr:1;
396 uint64_t diperr:1;
397 uint64_t tpaovr:1;
398 uint64_t rsverr:1;
399 uint64_t drwnng:1;
400 uint64_t clserr:1;
401 uint64_t spiovr:1;
402 uint64_t reserved_2_3:2;
403 uint64_t abnorm: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
419 } s;
420 struct cvmx_spxx_int_sync_s cn38xx;
421 struct cvmx_spxx_int_sync_s cn38xxp2;
422 struct cvmx_spxx_int_sync_s cn58xx;
423 struct cvmx_spxx_int_sync_s cn58xxp1;
424};
425
426union cvmx_spxx_tpa_acc {
427 uint64_t u64;
428 struct cvmx_spxx_tpa_acc_s {
429#ifdef __BIG_ENDIAN_BITFIELD
430 uint64_t reserved_32_63:32;
431 uint64_t cnt:32;
432#else
433 uint64_t cnt:32;
434 uint64_t reserved_32_63:32;
435#endif
436 } s;
437 struct cvmx_spxx_tpa_acc_s cn38xx;
438 struct cvmx_spxx_tpa_acc_s cn38xxp2;
439 struct cvmx_spxx_tpa_acc_s cn58xx;
440 struct cvmx_spxx_tpa_acc_s cn58xxp1;
441};
442
443union cvmx_spxx_tpa_max {
444 uint64_t u64;
445 struct cvmx_spxx_tpa_max_s {
446#ifdef __BIG_ENDIAN_BITFIELD
447 uint64_t reserved_32_63:32;
448 uint64_t max:32;
449#else
450 uint64_t max:32;
451 uint64_t reserved_32_63:32;
452#endif
453 } s;
454 struct cvmx_spxx_tpa_max_s cn38xx;
455 struct cvmx_spxx_tpa_max_s cn38xxp2;
456 struct cvmx_spxx_tpa_max_s cn58xx;
457 struct cvmx_spxx_tpa_max_s cn58xxp1;
458};
459
460union cvmx_spxx_tpa_sel {
461 uint64_t u64;
462 struct cvmx_spxx_tpa_sel_s {
463#ifdef __BIG_ENDIAN_BITFIELD
464 uint64_t reserved_4_63:60;
465 uint64_t prtsel:4;
466#else
467 uint64_t prtsel:4;
468 uint64_t reserved_4_63:60;
469#endif
470 } s;
471 struct cvmx_spxx_tpa_sel_s cn38xx;
472 struct cvmx_spxx_tpa_sel_s cn38xxp2;
473 struct cvmx_spxx_tpa_sel_s cn58xx;
474 struct cvmx_spxx_tpa_sel_s cn58xxp1;
475};
476
477union cvmx_spxx_trn4_ctl {
478 uint64_t u64;
479 struct cvmx_spxx_trn4_ctl_s {
480#ifdef __BIG_ENDIAN_BITFIELD
481 uint64_t reserved_13_63:51;
482 uint64_t trntest:1;
483 uint64_t jitter:3;
484 uint64_t clr_boot:1;
485 uint64_t set_boot:1;
486 uint64_t maxdist:5;
487 uint64_t macro_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
499 } s;
500 struct cvmx_spxx_trn4_ctl_s cn38xx;
501 struct cvmx_spxx_trn4_ctl_s cn38xxp2;
502 struct cvmx_spxx_trn4_ctl_s cn58xx;
503 struct cvmx_spxx_trn4_ctl_s cn58xxp1;
504};
505
506#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-sriox-defs.h b/arch/mips/include/asm/octeon/cvmx-sriox-defs.h
deleted file mode 100644
index 5140f2d2ad1..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-sriox-defs.h
+++ /dev/null
@@ -1,1737 +0,0 @@
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_SRIOX_DEFS_H__
29#define __CVMX_SRIOX_DEFS_H__
30
31#define CVMX_SRIOX_ACC_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000148ull) + ((block_id) & 3) * 0x1000000ull)
32#define CVMX_SRIOX_ASMBLY_ID(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000200ull) + ((block_id) & 3) * 0x1000000ull)
33#define CVMX_SRIOX_ASMBLY_INFO(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000208ull) + ((block_id) & 3) * 0x1000000ull)
34#define CVMX_SRIOX_BELL_RESP_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000310ull) + ((block_id) & 3) * 0x1000000ull)
35#define CVMX_SRIOX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000108ull) + ((block_id) & 3) * 0x1000000ull)
36#define CVMX_SRIOX_IMSG_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000508ull) + ((block_id) & 3) * 0x1000000ull)
37#define CVMX_SRIOX_IMSG_INST_HDRX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000510ull) + (((offset) & 1) + ((block_id) & 3) * 0x200000ull) * 8)
38#define CVMX_SRIOX_IMSG_QOS_GRPX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000600ull) + (((offset) & 31) + ((block_id) & 3) * 0x200000ull) * 8)
39#define CVMX_SRIOX_IMSG_STATUSX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000700ull) + (((offset) & 31) + ((block_id) & 3) * 0x200000ull) * 8)
40#define CVMX_SRIOX_IMSG_VPORT_THR(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000500ull) + ((block_id) & 3) * 0x1000000ull)
41#define CVMX_SRIOX_IMSG_VPORT_THR2(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000528ull) + ((block_id) & 3) * 0x1000000ull)
42#define CVMX_SRIOX_INT2_ENABLE(block_id) (CVMX_ADD_IO_SEG(0x00011800C80003E0ull) + ((block_id) & 3) * 0x1000000ull)
43#define CVMX_SRIOX_INT2_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800C80003E8ull) + ((block_id) & 3) * 0x1000000ull)
44#define CVMX_SRIOX_INT_ENABLE(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000110ull) + ((block_id) & 3) * 0x1000000ull)
45#define CVMX_SRIOX_INT_INFO0(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000120ull) + ((block_id) & 3) * 0x1000000ull)
46#define CVMX_SRIOX_INT_INFO1(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000128ull) + ((block_id) & 3) * 0x1000000ull)
47#define CVMX_SRIOX_INT_INFO2(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000130ull) + ((block_id) & 3) * 0x1000000ull)
48#define CVMX_SRIOX_INT_INFO3(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000138ull) + ((block_id) & 3) * 0x1000000ull)
49#define CVMX_SRIOX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000118ull) + ((block_id) & 3) * 0x1000000ull)
50#define CVMX_SRIOX_IP_FEATURE(block_id) (CVMX_ADD_IO_SEG(0x00011800C80003F8ull) + ((block_id) & 3) * 0x1000000ull)
51#define CVMX_SRIOX_MAC_BUFFERS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000390ull) + ((block_id) & 3) * 0x1000000ull)
52#define CVMX_SRIOX_MAINT_OP(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000158ull) + ((block_id) & 3) * 0x1000000ull)
53#define CVMX_SRIOX_MAINT_RD_DATA(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000160ull) + ((block_id) & 3) * 0x1000000ull)
54#define CVMX_SRIOX_MCE_TX_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000240ull) + ((block_id) & 3) * 0x1000000ull)
55#define CVMX_SRIOX_MEM_OP_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000168ull) + ((block_id) & 3) * 0x1000000ull)
56#define CVMX_SRIOX_OMSG_CTRLX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000488ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
57#define CVMX_SRIOX_OMSG_DONE_COUNTSX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C80004B0ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
58#define CVMX_SRIOX_OMSG_FMP_MRX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000498ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
59#define CVMX_SRIOX_OMSG_NMP_MRX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C80004A0ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
60#define CVMX_SRIOX_OMSG_PORTX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000480ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
61#define CVMX_SRIOX_OMSG_SILO_THR(block_id) (CVMX_ADD_IO_SEG(0x00011800C80004F8ull) + ((block_id) & 3) * 0x1000000ull)
62#define CVMX_SRIOX_OMSG_SP_MRX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000490ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
63#define CVMX_SRIOX_PRIOX_IN_USE(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C80003C0ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
64#define CVMX_SRIOX_RX_BELL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000308ull) + ((block_id) & 3) * 0x1000000ull)
65#define CVMX_SRIOX_RX_BELL_SEQ(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000300ull) + ((block_id) & 3) * 0x1000000ull)
66#define CVMX_SRIOX_RX_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000380ull) + ((block_id) & 3) * 0x1000000ull)
67#define CVMX_SRIOX_S2M_TYPEX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000180ull) + (((offset) & 15) + ((block_id) & 3) * 0x200000ull) * 8)
68#define CVMX_SRIOX_SEQ(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000278ull) + ((block_id) & 3) * 0x1000000ull)
69#define CVMX_SRIOX_STATUS_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000100ull) + ((block_id) & 3) * 0x1000000ull)
70#define CVMX_SRIOX_TAG_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000178ull) + ((block_id) & 3) * 0x1000000ull)
71#define CVMX_SRIOX_TLP_CREDITS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000150ull) + ((block_id) & 3) * 0x1000000ull)
72#define CVMX_SRIOX_TX_BELL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000280ull) + ((block_id) & 3) * 0x1000000ull)
73#define CVMX_SRIOX_TX_BELL_INFO(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000288ull) + ((block_id) & 3) * 0x1000000ull)
74#define CVMX_SRIOX_TX_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000170ull) + ((block_id) & 3) * 0x1000000ull)
75#define CVMX_SRIOX_TX_EMPHASIS(block_id) (CVMX_ADD_IO_SEG(0x00011800C80003F0ull) + ((block_id) & 3) * 0x1000000ull)
76#define CVMX_SRIOX_TX_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000388ull) + ((block_id) & 3) * 0x1000000ull)
77#define CVMX_SRIOX_WR_DONE_COUNTS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000340ull) + ((block_id) & 3) * 0x1000000ull)
78
79union cvmx_sriox_acc_ctrl {
80 uint64_t u64;
81 struct cvmx_sriox_acc_ctrl_s {
82#ifdef __BIG_ENDIAN_BITFIELD
83 uint64_t reserved_7_63:57;
84 uint64_t deny_adr2:1;
85 uint64_t deny_adr1:1;
86 uint64_t deny_adr0:1;
87 uint64_t reserved_3_3:1;
88 uint64_t deny_bar2:1;
89 uint64_t deny_bar1: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
101 } s;
102 struct cvmx_sriox_acc_ctrl_cn63xx {
103#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_3_63:61;
105 uint64_t deny_bar2:1;
106 uint64_t deny_bar1: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
114 } cn63xx;
115 struct cvmx_sriox_acc_ctrl_cn63xx cn63xxp1;
116 struct cvmx_sriox_acc_ctrl_s cn66xx;
117};
118
119union cvmx_sriox_asmbly_id {
120 uint64_t u64;
121 struct cvmx_sriox_asmbly_id_s {
122#ifdef __BIG_ENDIAN_BITFIELD
123 uint64_t reserved_32_63:32;
124 uint64_t assy_id: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
131 } s;
132 struct cvmx_sriox_asmbly_id_s cn63xx;
133 struct cvmx_sriox_asmbly_id_s cn63xxp1;
134 struct cvmx_sriox_asmbly_id_s cn66xx;
135};
136
137union cvmx_sriox_asmbly_info {
138 uint64_t u64;
139 struct cvmx_sriox_asmbly_info_s {
140#ifdef __BIG_ENDIAN_BITFIELD
141 uint64_t reserved_32_63:32;
142 uint64_t assy_rev: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
149 } s;
150 struct cvmx_sriox_asmbly_info_s cn63xx;
151 struct cvmx_sriox_asmbly_info_s cn63xxp1;
152 struct cvmx_sriox_asmbly_info_s cn66xx;
153};
154
155union cvmx_sriox_bell_resp_ctrl {
156 uint64_t u64;
157 struct cvmx_sriox_bell_resp_ctrl_s {
158#ifdef __BIG_ENDIAN_BITFIELD
159 uint64_t reserved_6_63:58;
160 uint64_t rp1_sid:1;
161 uint64_t rp0_sid:2;
162 uint64_t rp1_pid:1;
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
171 } s;
172 struct cvmx_sriox_bell_resp_ctrl_s cn63xx;
173 struct cvmx_sriox_bell_resp_ctrl_s cn63xxp1;
174 struct cvmx_sriox_bell_resp_ctrl_s cn66xx;
175};
176
177union cvmx_sriox_bist_status {
178 uint64_t u64;
179 struct cvmx_sriox_bist_status_s {
180#ifdef __BIG_ENDIAN_BITFIELD
181 uint64_t reserved_45_63:19;
182 uint64_t lram:1;
183 uint64_t mram:2;
184 uint64_t cram:2;
185 uint64_t bell:2;
186 uint64_t otag:2;
187 uint64_t itag:1;
188 uint64_t ofree:1;
189 uint64_t rtn:2;
190 uint64_t obulk:4;
191 uint64_t optrs:4;
192 uint64_t oarb2:2;
193 uint64_t rxbuf2:2;
194 uint64_t oarb:2;
195 uint64_t ispf:1;
196 uint64_t ospf:1;
197 uint64_t txbuf:2;
198 uint64_t rxbuf:2;
199 uint64_t imsg:5;
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
223 } s;
224 struct cvmx_sriox_bist_status_cn63xx {
225#ifdef __BIG_ENDIAN_BITFIELD
226 uint64_t reserved_44_63:20;
227 uint64_t mram:2;
228 uint64_t cram:2;
229 uint64_t bell:2;
230 uint64_t otag:2;
231 uint64_t itag:1;
232 uint64_t ofree:1;
233 uint64_t rtn:2;
234 uint64_t obulk:4;
235 uint64_t optrs:4;
236 uint64_t oarb2:2;
237 uint64_t rxbuf2:2;
238 uint64_t oarb:2;
239 uint64_t ispf:1;
240 uint64_t ospf:1;
241 uint64_t txbuf:2;
242 uint64_t rxbuf:2;
243 uint64_t imsg:5;
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
266 } cn63xx;
267 struct cvmx_sriox_bist_status_cn63xxp1 {
268#ifdef __BIG_ENDIAN_BITFIELD
269 uint64_t reserved_44_63:20;
270 uint64_t mram:2;
271 uint64_t cram:2;
272 uint64_t bell:2;
273 uint64_t otag:2;
274 uint64_t itag:1;
275 uint64_t ofree:1;
276 uint64_t rtn:2;
277 uint64_t obulk:4;
278 uint64_t optrs:4;
279 uint64_t reserved_20_23:4;
280 uint64_t oarb:2;
281 uint64_t ispf:1;
282 uint64_t ospf:1;
283 uint64_t txbuf:2;
284 uint64_t rxbuf:2;
285 uint64_t imsg:5;
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
307 } cn63xxp1;
308 struct cvmx_sriox_bist_status_s cn66xx;
309};
310
311union cvmx_sriox_imsg_ctrl {
312 uint64_t u64;
313 struct cvmx_sriox_imsg_ctrl_s {
314#ifdef __BIG_ENDIAN_BITFIELD
315 uint64_t reserved_32_63:32;
316 uint64_t to_mode:1;
317 uint64_t reserved_30_30:1;
318 uint64_t rsp_thr:6;
319 uint64_t reserved_22_23:2;
320 uint64_t rp1_sid:1;
321 uint64_t rp0_sid:2;
322 uint64_t rp1_pid:1;
323 uint64_t rp0_pid:2;
324 uint64_t reserved_15_15:1;
325 uint64_t prt_sel:3;
326 uint64_t lttr:4;
327 uint64_t prio: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
345 } s;
346 struct cvmx_sriox_imsg_ctrl_s cn63xx;
347 struct cvmx_sriox_imsg_ctrl_s cn63xxp1;
348 struct cvmx_sriox_imsg_ctrl_s cn66xx;
349};
350
351union cvmx_sriox_imsg_inst_hdrx {
352 uint64_t u64;
353 struct cvmx_sriox_imsg_inst_hdrx_s {
354#ifdef __BIG_ENDIAN_BITFIELD
355 uint64_t r:1;
356 uint64_t reserved_58_62:5;
357 uint64_t pm:2;
358 uint64_t reserved_55_55:1;
359 uint64_t sl:7;
360 uint64_t reserved_46_47:2;
361 uint64_t nqos:1;
362 uint64_t ngrp:1;
363 uint64_t ntt:1;
364 uint64_t ntag:1;
365 uint64_t reserved_35_41:7;
366 uint64_t rs:1;
367 uint64_t tt:2;
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
385 } s;
386 struct cvmx_sriox_imsg_inst_hdrx_s cn63xx;
387 struct cvmx_sriox_imsg_inst_hdrx_s cn63xxp1;
388 struct cvmx_sriox_imsg_inst_hdrx_s cn66xx;
389};
390
391union cvmx_sriox_imsg_qos_grpx {
392 uint64_t u64;
393 struct cvmx_sriox_imsg_qos_grpx_s {
394#ifdef __BIG_ENDIAN_BITFIELD
395 uint64_t reserved_63_63:1;
396 uint64_t qos7:3;
397 uint64_t grp7:4;
398 uint64_t reserved_55_55:1;
399 uint64_t qos6:3;
400 uint64_t grp6:4;
401 uint64_t reserved_47_47:1;
402 uint64_t qos5:3;
403 uint64_t grp5:4;
404 uint64_t reserved_39_39:1;
405 uint64_t qos4:3;
406 uint64_t grp4:4;
407 uint64_t reserved_31_31:1;
408 uint64_t qos3:3;
409 uint64_t grp3:4;
410 uint64_t reserved_23_23:1;
411 uint64_t qos2:3;
412 uint64_t grp2:4;
413 uint64_t reserved_15_15:1;
414 uint64_t qos1:3;
415 uint64_t grp1:4;
416 uint64_t reserved_7_7:1;
417 uint64_t qos0:3;
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
445 } s;
446 struct cvmx_sriox_imsg_qos_grpx_s cn63xx;
447 struct cvmx_sriox_imsg_qos_grpx_s cn63xxp1;
448 struct cvmx_sriox_imsg_qos_grpx_s cn66xx;
449};
450
451union cvmx_sriox_imsg_statusx {
452 uint64_t u64;
453 struct cvmx_sriox_imsg_statusx_s {
454#ifdef __BIG_ENDIAN_BITFIELD
455 uint64_t val1:1;
456 uint64_t err1:1;
457 uint64_t toe1:1;
458 uint64_t toc1:1;
459 uint64_t prt1:1;
460 uint64_t reserved_58_58:1;
461 uint64_t tt1:1;
462 uint64_t dis1:1;
463 uint64_t seg1:4;
464 uint64_t mbox1:2;
465 uint64_t lttr1:2;
466 uint64_t sid1:16;
467 uint64_t val0:1;
468 uint64_t err0:1;
469 uint64_t toe0:1;
470 uint64_t toc0:1;
471 uint64_t prt0:1;
472 uint64_t reserved_26_26:1;
473 uint64_t tt0:1;
474 uint64_t dis0:1;
475 uint64_t seg0:4;
476 uint64_t mbox0:2;
477 uint64_t lttr0:2;
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
505 } s;
506 struct cvmx_sriox_imsg_statusx_s cn63xx;
507 struct cvmx_sriox_imsg_statusx_s cn63xxp1;
508 struct cvmx_sriox_imsg_statusx_s cn66xx;
509};
510
511union cvmx_sriox_imsg_vport_thr {
512 uint64_t u64;
513 struct cvmx_sriox_imsg_vport_thr_s {
514#ifdef __BIG_ENDIAN_BITFIELD
515 uint64_t reserved_54_63:10;
516 uint64_t max_tot:6;
517 uint64_t reserved_46_47:2;
518 uint64_t max_s1:6;
519 uint64_t reserved_38_39:2;
520 uint64_t max_s0:6;
521 uint64_t sp_vport:1;
522 uint64_t reserved_20_30:11;
523 uint64_t buf_thr:4;
524 uint64_t reserved_14_15:2;
525 uint64_t max_p1:6;
526 uint64_t reserved_6_7:2;
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
543 } s;
544 struct cvmx_sriox_imsg_vport_thr_s cn63xx;
545 struct cvmx_sriox_imsg_vport_thr_s cn63xxp1;
546 struct cvmx_sriox_imsg_vport_thr_s cn66xx;
547};
548
549union cvmx_sriox_imsg_vport_thr2 {
550 uint64_t u64;
551 struct cvmx_sriox_imsg_vport_thr2_s {
552#ifdef __BIG_ENDIAN_BITFIELD
553 uint64_t reserved_46_63:18;
554 uint64_t max_s3:6;
555 uint64_t reserved_38_39:2;
556 uint64_t max_s2:6;
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
565 } s;
566 struct cvmx_sriox_imsg_vport_thr2_s cn66xx;
567};
568
569union cvmx_sriox_int2_enable {
570 uint64_t u64;
571 struct cvmx_sriox_int2_enable_s {
572#ifdef __BIG_ENDIAN_BITFIELD
573 uint64_t reserved_1_63:63;
574 uint64_t pko_rst:1;
575#else
576 uint64_t pko_rst:1;
577 uint64_t reserved_1_63:63;
578#endif
579 } s;
580 struct cvmx_sriox_int2_enable_s cn63xx;
581 struct cvmx_sriox_int2_enable_s cn66xx;
582};
583
584union cvmx_sriox_int2_reg {
585 uint64_t u64;
586 struct cvmx_sriox_int2_reg_s {
587#ifdef __BIG_ENDIAN_BITFIELD
588 uint64_t reserved_32_63:32;
589 uint64_t int_sum:1;
590 uint64_t reserved_1_30:30;
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
598 } s;
599 struct cvmx_sriox_int2_reg_s cn63xx;
600 struct cvmx_sriox_int2_reg_s cn66xx;
601};
602
603union cvmx_sriox_int_enable {
604 uint64_t u64;
605 struct cvmx_sriox_int_enable_s {
606#ifdef __BIG_ENDIAN_BITFIELD
607 uint64_t reserved_27_63:37;
608 uint64_t zero_pkt:1;
609 uint64_t ttl_tout:1;
610 uint64_t fail:1;
611 uint64_t degrade:1;
612 uint64_t mac_buf:1;
613 uint64_t f_error:1;
614 uint64_t rtry_err:1;
615 uint64_t pko_err:1;
616 uint64_t omsg_err:1;
617 uint64_t omsg1:1;
618 uint64_t omsg0:1;
619 uint64_t link_up:1;
620 uint64_t link_dwn:1;
621 uint64_t phy_erb:1;
622 uint64_t log_erb:1;
623 uint64_t soft_rx:1;
624 uint64_t soft_tx:1;
625 uint64_t mce_rx:1;
626 uint64_t mce_tx:1;
627 uint64_t wr_done:1;
628 uint64_t sli_err:1;
629 uint64_t deny_wr:1;
630 uint64_t bar_err:1;
631 uint64_t maint_op:1;
632 uint64_t rxbell:1;
633 uint64_t bell_err: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
665 } s;
666 struct cvmx_sriox_int_enable_s cn63xx;
667 struct cvmx_sriox_int_enable_cn63xxp1 {
668#ifdef __BIG_ENDIAN_BITFIELD
669 uint64_t reserved_22_63:42;
670 uint64_t f_error:1;
671 uint64_t rtry_err:1;
672 uint64_t pko_err:1;
673 uint64_t omsg_err:1;
674 uint64_t omsg1:1;
675 uint64_t omsg0:1;
676 uint64_t link_up:1;
677 uint64_t link_dwn:1;
678 uint64_t phy_erb:1;
679 uint64_t log_erb:1;
680 uint64_t soft_rx:1;
681 uint64_t soft_tx:1;
682 uint64_t mce_rx:1;
683 uint64_t mce_tx:1;
684 uint64_t wr_done:1;
685 uint64_t sli_err:1;
686 uint64_t deny_wr:1;
687 uint64_t bar_err:1;
688 uint64_t maint_op:1;
689 uint64_t rxbell:1;
690 uint64_t bell_err: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
717 } cn63xxp1;
718 struct cvmx_sriox_int_enable_s cn66xx;
719};
720
721union cvmx_sriox_int_info0 {
722 uint64_t u64;
723 struct cvmx_sriox_int_info0_s {
724#ifdef __BIG_ENDIAN_BITFIELD
725 uint64_t cmd:4;
726 uint64_t type:4;
727 uint64_t tag:8;
728 uint64_t reserved_42_47:6;
729 uint64_t length:10;
730 uint64_t status:3;
731 uint64_t reserved_16_28:13;
732 uint64_t be0: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
745 } s;
746 struct cvmx_sriox_int_info0_s cn63xx;
747 struct cvmx_sriox_int_info0_s cn63xxp1;
748 struct cvmx_sriox_int_info0_s cn66xx;
749};
750
751union cvmx_sriox_int_info1 {
752 uint64_t u64;
753 struct cvmx_sriox_int_info1_s {
754#ifdef __BIG_ENDIAN_BITFIELD
755 uint64_t info1:64;
756#else
757 uint64_t info1:64;
758#endif
759 } s;
760 struct cvmx_sriox_int_info1_s cn63xx;
761 struct cvmx_sriox_int_info1_s cn63xxp1;
762 struct cvmx_sriox_int_info1_s cn66xx;
763};
764
765union cvmx_sriox_int_info2 {
766 uint64_t u64;
767 struct cvmx_sriox_int_info2_s {
768#ifdef __BIG_ENDIAN_BITFIELD
769 uint64_t prio:2;
770 uint64_t tt:1;
771 uint64_t sis:1;
772 uint64_t ssize:4;
773 uint64_t did:16;
774 uint64_t xmbox:4;
775 uint64_t mbox:2;
776 uint64_t letter:2;
777 uint64_t rsrvd:30;
778 uint64_t lns: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
793 } s;
794 struct cvmx_sriox_int_info2_s cn63xx;
795 struct cvmx_sriox_int_info2_s cn63xxp1;
796 struct cvmx_sriox_int_info2_s cn66xx;
797};
798
799union cvmx_sriox_int_info3 {
800 uint64_t u64;
801 struct cvmx_sriox_int_info3_s {
802#ifdef __BIG_ENDIAN_BITFIELD
803 uint64_t prio:2;
804 uint64_t tt:2;
805 uint64_t type:4;
806 uint64_t other:48;
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
815 } s;
816 struct cvmx_sriox_int_info3_s cn63xx;
817 struct cvmx_sriox_int_info3_s cn63xxp1;
818 struct cvmx_sriox_int_info3_s cn66xx;
819};
820
821union cvmx_sriox_int_reg {
822 uint64_t u64;
823 struct cvmx_sriox_int_reg_s {
824#ifdef __BIG_ENDIAN_BITFIELD
825 uint64_t reserved_32_63:32;
826 uint64_t int2_sum:1;
827 uint64_t reserved_27_30:4;
828 uint64_t zero_pkt:1;
829 uint64_t ttl_tout:1;
830 uint64_t fail:1;
831 uint64_t degrad:1;
832 uint64_t mac_buf:1;
833 uint64_t f_error:1;
834 uint64_t rtry_err:1;
835 uint64_t pko_err:1;
836 uint64_t omsg_err:1;
837 uint64_t omsg1:1;
838 uint64_t omsg0:1;
839 uint64_t link_up:1;
840 uint64_t link_dwn:1;
841 uint64_t phy_erb:1;
842 uint64_t log_erb:1;
843 uint64_t soft_rx:1;
844 uint64_t soft_tx:1;
845 uint64_t mce_rx:1;
846 uint64_t mce_tx:1;
847 uint64_t wr_done:1;
848 uint64_t sli_err:1;
849 uint64_t deny_wr:1;
850 uint64_t bar_err:1;
851 uint64_t maint_op:1;
852 uint64_t rxbell:1;
853 uint64_t bell_err: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
887 } s;
888 struct cvmx_sriox_int_reg_s cn63xx;
889 struct cvmx_sriox_int_reg_cn63xxp1 {
890#ifdef __BIG_ENDIAN_BITFIELD
891 uint64_t reserved_22_63:42;
892 uint64_t f_error:1;
893 uint64_t rtry_err:1;
894 uint64_t pko_err:1;
895 uint64_t omsg_err:1;
896 uint64_t omsg1:1;
897 uint64_t omsg0:1;
898 uint64_t link_up:1;
899 uint64_t link_dwn:1;
900 uint64_t phy_erb:1;
901 uint64_t log_erb:1;
902 uint64_t soft_rx:1;
903 uint64_t soft_tx:1;
904 uint64_t mce_rx:1;
905 uint64_t mce_tx:1;
906 uint64_t wr_done:1;
907 uint64_t sli_err:1;
908 uint64_t deny_wr:1;
909 uint64_t bar_err:1;
910 uint64_t maint_op:1;
911 uint64_t rxbell:1;
912 uint64_t bell_err: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
939 } cn63xxp1;
940 struct cvmx_sriox_int_reg_s cn66xx;
941};
942
943union cvmx_sriox_ip_feature {
944 uint64_t u64;
945 struct cvmx_sriox_ip_feature_s {
946#ifdef __BIG_ENDIAN_BITFIELD
947 uint64_t ops:32;
948 uint64_t reserved_15_31:17;
949 uint64_t no_vmin:1;
950 uint64_t a66:1;
951 uint64_t a50:1;
952 uint64_t reserved_11_11:1;
953 uint64_t tx_flow:1;
954 uint64_t pt_width:2;
955 uint64_t tx_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
969 } s;
970 struct cvmx_sriox_ip_feature_cn63xx {
971#ifdef __BIG_ENDIAN_BITFIELD
972 uint64_t ops:32;
973 uint64_t reserved_14_31:18;
974 uint64_t a66:1;
975 uint64_t a50:1;
976 uint64_t reserved_11_11:1;
977 uint64_t tx_flow:1;
978 uint64_t pt_width:2;
979 uint64_t tx_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
992 } cn63xx;
993 struct cvmx_sriox_ip_feature_cn63xx cn63xxp1;
994 struct cvmx_sriox_ip_feature_s cn66xx;
995};
996
997union cvmx_sriox_mac_buffers {
998 uint64_t u64;
999 struct cvmx_sriox_mac_buffers_s {
1000#ifdef __BIG_ENDIAN_BITFIELD
1001 uint64_t reserved_56_63:8;
1002 uint64_t tx_enb:8;
1003 uint64_t reserved_44_47:4;
1004 uint64_t tx_inuse:4;
1005 uint64_t tx_stat:8;
1006 uint64_t reserved_24_31:8;
1007 uint64_t rx_enb:8;
1008 uint64_t reserved_12_15:4;
1009 uint64_t rx_inuse:4;
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
1023 } s;
1024 struct cvmx_sriox_mac_buffers_s cn63xx;
1025 struct cvmx_sriox_mac_buffers_s cn66xx;
1026};
1027
1028union cvmx_sriox_maint_op {
1029 uint64_t u64;
1030 struct cvmx_sriox_maint_op_s {
1031#ifdef __BIG_ENDIAN_BITFIELD
1032 uint64_t wr_data:32;
1033 uint64_t reserved_27_31:5;
1034 uint64_t fail:1;
1035 uint64_t pending:1;
1036 uint64_t op:1;
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
1046 } s;
1047 struct cvmx_sriox_maint_op_s cn63xx;
1048 struct cvmx_sriox_maint_op_s cn63xxp1;
1049 struct cvmx_sriox_maint_op_s cn66xx;
1050};
1051
1052union cvmx_sriox_maint_rd_data {
1053 uint64_t u64;
1054 struct cvmx_sriox_maint_rd_data_s {
1055#ifdef __BIG_ENDIAN_BITFIELD
1056 uint64_t reserved_33_63:31;
1057 uint64_t valid:1;
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
1064 } s;
1065 struct cvmx_sriox_maint_rd_data_s cn63xx;
1066 struct cvmx_sriox_maint_rd_data_s cn63xxp1;
1067 struct cvmx_sriox_maint_rd_data_s cn66xx;
1068};
1069
1070union cvmx_sriox_mce_tx_ctl {
1071 uint64_t u64;
1072 struct cvmx_sriox_mce_tx_ctl_s {
1073#ifdef __BIG_ENDIAN_BITFIELD
1074 uint64_t reserved_1_63:63;
1075 uint64_t mce:1;
1076#else
1077 uint64_t mce:1;
1078 uint64_t reserved_1_63:63;
1079#endif
1080 } s;
1081 struct cvmx_sriox_mce_tx_ctl_s cn63xx;
1082 struct cvmx_sriox_mce_tx_ctl_s cn63xxp1;
1083 struct cvmx_sriox_mce_tx_ctl_s cn66xx;
1084};
1085
1086union cvmx_sriox_mem_op_ctrl {
1087 uint64_t u64;
1088 struct cvmx_sriox_mem_op_ctrl_s {
1089#ifdef __BIG_ENDIAN_BITFIELD
1090 uint64_t reserved_10_63:54;
1091 uint64_t rr_ro:1;
1092 uint64_t w_ro:1;
1093 uint64_t reserved_6_7:2;
1094 uint64_t rp1_sid:1;
1095 uint64_t rp0_sid:2;
1096 uint64_t rp1_pid:1;
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
1108 } s;
1109 struct cvmx_sriox_mem_op_ctrl_s cn63xx;
1110 struct cvmx_sriox_mem_op_ctrl_s cn63xxp1;
1111 struct cvmx_sriox_mem_op_ctrl_s cn66xx;
1112};
1113
1114union cvmx_sriox_omsg_ctrlx {
1115 uint64_t u64;
1116 struct cvmx_sriox_omsg_ctrlx_s {
1117#ifdef __BIG_ENDIAN_BITFIELD
1118 uint64_t testmode:1;
1119 uint64_t reserved_37_62:26;
1120 uint64_t silo_max:5;
1121 uint64_t rtry_thr:16;
1122 uint64_t rtry_en:1;
1123 uint64_t reserved_11_14:4;
1124 uint64_t idm_tt:1;
1125 uint64_t idm_sis:1;
1126 uint64_t idm_did:1;
1127 uint64_t lttr_sp: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
1142 } s;
1143 struct cvmx_sriox_omsg_ctrlx_s cn63xx;
1144 struct cvmx_sriox_omsg_ctrlx_cn63xxp1 {
1145#ifdef __BIG_ENDIAN_BITFIELD
1146 uint64_t testmode:1;
1147 uint64_t reserved_32_62:31;
1148 uint64_t rtry_thr:16;
1149 uint64_t rtry_en:1;
1150 uint64_t reserved_11_14:4;
1151 uint64_t idm_tt:1;
1152 uint64_t idm_sis:1;
1153 uint64_t idm_did:1;
1154 uint64_t lttr_sp: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
1168 } cn63xxp1;
1169 struct cvmx_sriox_omsg_ctrlx_s cn66xx;
1170};
1171
1172union cvmx_sriox_omsg_done_countsx {
1173 uint64_t u64;
1174 struct cvmx_sriox_omsg_done_countsx_s {
1175#ifdef __BIG_ENDIAN_BITFIELD
1176 uint64_t reserved_32_63:32;
1177 uint64_t bad: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
1184 } s;
1185 struct cvmx_sriox_omsg_done_countsx_s cn63xx;
1186 struct cvmx_sriox_omsg_done_countsx_s cn66xx;
1187};
1188
1189union cvmx_sriox_omsg_fmp_mrx {
1190 uint64_t u64;
1191 struct cvmx_sriox_omsg_fmp_mrx_s {
1192#ifdef __BIG_ENDIAN_BITFIELD
1193 uint64_t reserved_15_63:49;
1194 uint64_t ctlr_sp:1;
1195 uint64_t ctlr_fmp:1;
1196 uint64_t ctlr_nmp:1;
1197 uint64_t id_sp:1;
1198 uint64_t id_fmp:1;
1199 uint64_t id_nmp:1;
1200 uint64_t id_psd:1;
1201 uint64_t mbox_sp:1;
1202 uint64_t mbox_fmp:1;
1203 uint64_t mbox_nmp:1;
1204 uint64_t mbox_psd:1;
1205 uint64_t all_sp:1;
1206 uint64_t all_fmp:1;
1207 uint64_t all_nmp: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
1227 } s;
1228 struct cvmx_sriox_omsg_fmp_mrx_s cn63xx;
1229 struct cvmx_sriox_omsg_fmp_mrx_s cn63xxp1;
1230 struct cvmx_sriox_omsg_fmp_mrx_s cn66xx;
1231};
1232
1233union cvmx_sriox_omsg_nmp_mrx {
1234 uint64_t u64;
1235 struct cvmx_sriox_omsg_nmp_mrx_s {
1236#ifdef __BIG_ENDIAN_BITFIELD
1237 uint64_t reserved_15_63:49;
1238 uint64_t ctlr_sp:1;
1239 uint64_t ctlr_fmp:1;
1240 uint64_t ctlr_nmp:1;
1241 uint64_t id_sp:1;
1242 uint64_t id_fmp:1;
1243 uint64_t id_nmp:1;
1244 uint64_t reserved_8_8:1;
1245 uint64_t mbox_sp:1;
1246 uint64_t mbox_fmp:1;
1247 uint64_t mbox_nmp:1;
1248 uint64_t reserved_4_4:1;
1249 uint64_t all_sp:1;
1250 uint64_t all_fmp:1;
1251 uint64_t all_nmp: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
1271 } s;
1272 struct cvmx_sriox_omsg_nmp_mrx_s cn63xx;
1273 struct cvmx_sriox_omsg_nmp_mrx_s cn63xxp1;
1274 struct cvmx_sriox_omsg_nmp_mrx_s cn66xx;
1275};
1276
1277union cvmx_sriox_omsg_portx {
1278 uint64_t u64;
1279 struct cvmx_sriox_omsg_portx_s {
1280#ifdef __BIG_ENDIAN_BITFIELD
1281 uint64_t reserved_32_63:32;
1282 uint64_t enable:1;
1283 uint64_t reserved_3_30:28;
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
1291 } s;
1292 struct cvmx_sriox_omsg_portx_cn63xx {
1293#ifdef __BIG_ENDIAN_BITFIELD
1294 uint64_t reserved_32_63:32;
1295 uint64_t enable:1;
1296 uint64_t reserved_2_30:29;
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
1304 } cn63xx;
1305 struct cvmx_sriox_omsg_portx_cn63xx cn63xxp1;
1306 struct cvmx_sriox_omsg_portx_s cn66xx;
1307};
1308
1309union cvmx_sriox_omsg_silo_thr {
1310 uint64_t u64;
1311 struct cvmx_sriox_omsg_silo_thr_s {
1312#ifdef __BIG_ENDIAN_BITFIELD
1313 uint64_t reserved_5_63:59;
1314 uint64_t tot_silo:5;
1315#else
1316 uint64_t tot_silo:5;
1317 uint64_t reserved_5_63:59;
1318#endif
1319 } s;
1320 struct cvmx_sriox_omsg_silo_thr_s cn63xx;
1321 struct cvmx_sriox_omsg_silo_thr_s cn66xx;
1322};
1323
1324union cvmx_sriox_omsg_sp_mrx {
1325 uint64_t u64;
1326 struct cvmx_sriox_omsg_sp_mrx_s {
1327#ifdef __BIG_ENDIAN_BITFIELD
1328 uint64_t reserved_16_63:48;
1329 uint64_t xmbox_sp:1;
1330 uint64_t ctlr_sp:1;
1331 uint64_t ctlr_fmp:1;
1332 uint64_t ctlr_nmp:1;
1333 uint64_t id_sp:1;
1334 uint64_t id_fmp:1;
1335 uint64_t id_nmp:1;
1336 uint64_t id_psd:1;
1337 uint64_t mbox_sp:1;
1338 uint64_t mbox_fmp:1;
1339 uint64_t mbox_nmp:1;
1340 uint64_t mbox_psd:1;
1341 uint64_t all_sp:1;
1342 uint64_t all_fmp:1;
1343 uint64_t all_nmp: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
1364 } s;
1365 struct cvmx_sriox_omsg_sp_mrx_s cn63xx;
1366 struct cvmx_sriox_omsg_sp_mrx_s cn63xxp1;
1367 struct cvmx_sriox_omsg_sp_mrx_s cn66xx;
1368};
1369
1370union cvmx_sriox_priox_in_use {
1371 uint64_t u64;
1372 struct cvmx_sriox_priox_in_use_s {
1373#ifdef __BIG_ENDIAN_BITFIELD
1374 uint64_t reserved_32_63:32;
1375 uint64_t end_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
1382 } s;
1383 struct cvmx_sriox_priox_in_use_s cn63xx;
1384 struct cvmx_sriox_priox_in_use_s cn66xx;
1385};
1386
1387union cvmx_sriox_rx_bell {
1388 uint64_t u64;
1389 struct cvmx_sriox_rx_bell_s {
1390#ifdef __BIG_ENDIAN_BITFIELD
1391 uint64_t reserved_48_63:16;
1392 uint64_t data:16;
1393 uint64_t src_id:16;
1394 uint64_t count:8;
1395 uint64_t reserved_5_7:3;
1396 uint64_t dest_id:1;
1397 uint64_t id16:1;
1398 uint64_t reserved_2_2:1;
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
1411 } s;
1412 struct cvmx_sriox_rx_bell_s cn63xx;
1413 struct cvmx_sriox_rx_bell_s cn63xxp1;
1414 struct cvmx_sriox_rx_bell_s cn66xx;
1415};
1416
1417union cvmx_sriox_rx_bell_seq {
1418 uint64_t u64;
1419 struct cvmx_sriox_rx_bell_seq_s {
1420#ifdef __BIG_ENDIAN_BITFIELD
1421 uint64_t reserved_40_63:24;
1422 uint64_t count:8;
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
1429 } s;
1430 struct cvmx_sriox_rx_bell_seq_s cn63xx;
1431 struct cvmx_sriox_rx_bell_seq_s cn63xxp1;
1432 struct cvmx_sriox_rx_bell_seq_s cn66xx;
1433};
1434
1435union cvmx_sriox_rx_status {
1436 uint64_t u64;
1437 struct cvmx_sriox_rx_status_s {
1438#ifdef __BIG_ENDIAN_BITFIELD
1439 uint64_t rtn_pr3:8;
1440 uint64_t rtn_pr2:8;
1441 uint64_t rtn_pr1:8;
1442 uint64_t reserved_28_39:12;
1443 uint64_t mbox:4;
1444 uint64_t comp:8;
1445 uint64_t reserved_13_15:3;
1446 uint64_t n_post:5;
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
1459 } s;
1460 struct cvmx_sriox_rx_status_s cn63xx;
1461 struct cvmx_sriox_rx_status_s cn63xxp1;
1462 struct cvmx_sriox_rx_status_s cn66xx;
1463};
1464
1465union cvmx_sriox_s2m_typex {
1466 uint64_t u64;
1467 struct cvmx_sriox_s2m_typex_s {
1468#ifdef __BIG_ENDIAN_BITFIELD
1469 uint64_t reserved_19_63:45;
1470 uint64_t wr_op:3;
1471 uint64_t reserved_15_15:1;
1472 uint64_t rd_op:3;
1473 uint64_t wr_prior:2;
1474 uint64_t rd_prior:2;
1475 uint64_t reserved_6_7:2;
1476 uint64_t src_id:1;
1477 uint64_t id16:1;
1478 uint64_t reserved_2_3: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
1493 } s;
1494 struct cvmx_sriox_s2m_typex_s cn63xx;
1495 struct cvmx_sriox_s2m_typex_s cn63xxp1;
1496 struct cvmx_sriox_s2m_typex_s cn66xx;
1497};
1498
1499union cvmx_sriox_seq {
1500 uint64_t u64;
1501 struct cvmx_sriox_seq_s {
1502#ifdef __BIG_ENDIAN_BITFIELD
1503 uint64_t reserved_32_63:32;
1504 uint64_t seq:32;
1505#else
1506 uint64_t seq:32;
1507 uint64_t reserved_32_63:32;
1508#endif
1509 } s;
1510 struct cvmx_sriox_seq_s cn63xx;
1511 struct cvmx_sriox_seq_s cn63xxp1;
1512 struct cvmx_sriox_seq_s cn66xx;
1513};
1514
1515union cvmx_sriox_status_reg {
1516 uint64_t u64;
1517 struct cvmx_sriox_status_reg_s {
1518#ifdef __BIG_ENDIAN_BITFIELD
1519 uint64_t reserved_2_63:62;
1520 uint64_t access: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
1527 } s;
1528 struct cvmx_sriox_status_reg_s cn63xx;
1529 struct cvmx_sriox_status_reg_s cn63xxp1;
1530 struct cvmx_sriox_status_reg_s cn66xx;
1531};
1532
1533union cvmx_sriox_tag_ctrl {
1534 uint64_t u64;
1535 struct cvmx_sriox_tag_ctrl_s {
1536#ifdef __BIG_ENDIAN_BITFIELD
1537 uint64_t reserved_17_63:47;
1538 uint64_t o_clr:1;
1539 uint64_t reserved_13_15:3;
1540 uint64_t otag:5;
1541 uint64_t reserved_5_7:3;
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
1551 } s;
1552 struct cvmx_sriox_tag_ctrl_s cn63xx;
1553 struct cvmx_sriox_tag_ctrl_s cn63xxp1;
1554 struct cvmx_sriox_tag_ctrl_s cn66xx;
1555};
1556
1557union cvmx_sriox_tlp_credits {
1558 uint64_t u64;
1559 struct cvmx_sriox_tlp_credits_s {
1560#ifdef __BIG_ENDIAN_BITFIELD
1561 uint64_t reserved_28_63:36;
1562 uint64_t mbox:4;
1563 uint64_t comp:8;
1564 uint64_t reserved_13_15:3;
1565 uint64_t n_post:5;
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
1575 } s;
1576 struct cvmx_sriox_tlp_credits_s cn63xx;
1577 struct cvmx_sriox_tlp_credits_s cn63xxp1;
1578 struct cvmx_sriox_tlp_credits_s cn66xx;
1579};
1580
1581union cvmx_sriox_tx_bell {
1582 uint64_t u64;
1583 struct cvmx_sriox_tx_bell_s {
1584#ifdef __BIG_ENDIAN_BITFIELD
1585 uint64_t reserved_48_63:16;
1586 uint64_t data:16;
1587 uint64_t dest_id:16;
1588 uint64_t reserved_9_15:7;
1589 uint64_t pending:1;
1590 uint64_t reserved_5_7:3;
1591 uint64_t src_id:1;
1592 uint64_t id16:1;
1593 uint64_t reserved_2_2:1;
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
1607 } s;
1608 struct cvmx_sriox_tx_bell_s cn63xx;
1609 struct cvmx_sriox_tx_bell_s cn63xxp1;
1610 struct cvmx_sriox_tx_bell_s cn66xx;
1611};
1612
1613union cvmx_sriox_tx_bell_info {
1614 uint64_t u64;
1615 struct cvmx_sriox_tx_bell_info_s {
1616#ifdef __BIG_ENDIAN_BITFIELD
1617 uint64_t reserved_48_63:16;
1618 uint64_t data:16;
1619 uint64_t dest_id:16;
1620 uint64_t reserved_8_15:8;
1621 uint64_t timeout:1;
1622 uint64_t error:1;
1623 uint64_t retry:1;
1624 uint64_t src_id:1;
1625 uint64_t id16:1;
1626 uint64_t reserved_2_2:1;
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
1641 } s;
1642 struct cvmx_sriox_tx_bell_info_s cn63xx;
1643 struct cvmx_sriox_tx_bell_info_s cn63xxp1;
1644 struct cvmx_sriox_tx_bell_info_s cn66xx;
1645};
1646
1647union cvmx_sriox_tx_ctrl {
1648 uint64_t u64;
1649 struct cvmx_sriox_tx_ctrl_s {
1650#ifdef __BIG_ENDIAN_BITFIELD
1651 uint64_t reserved_53_63:11;
1652 uint64_t tag_th2:5;
1653 uint64_t reserved_45_47:3;
1654 uint64_t tag_th1:5;
1655 uint64_t reserved_37_39:3;
1656 uint64_t tag_th0:5;
1657 uint64_t reserved_20_31:12;
1658 uint64_t tx_th2:4;
1659 uint64_t reserved_12_15:4;
1660 uint64_t tx_th1:4;
1661 uint64_t reserved_4_7: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
1677 } s;
1678 struct cvmx_sriox_tx_ctrl_s cn63xx;
1679 struct cvmx_sriox_tx_ctrl_s cn63xxp1;
1680 struct cvmx_sriox_tx_ctrl_s cn66xx;
1681};
1682
1683union cvmx_sriox_tx_emphasis {
1684 uint64_t u64;
1685 struct cvmx_sriox_tx_emphasis_s {
1686#ifdef __BIG_ENDIAN_BITFIELD
1687 uint64_t reserved_4_63:60;
1688 uint64_t emph:4;
1689#else
1690 uint64_t emph:4;
1691 uint64_t reserved_4_63:60;
1692#endif
1693 } s;
1694 struct cvmx_sriox_tx_emphasis_s cn63xx;
1695 struct cvmx_sriox_tx_emphasis_s cn66xx;
1696};
1697
1698union cvmx_sriox_tx_status {
1699 uint64_t u64;
1700 struct cvmx_sriox_tx_status_s {
1701#ifdef __BIG_ENDIAN_BITFIELD
1702 uint64_t reserved_32_63:32;
1703 uint64_t s2m_pr3:8;
1704 uint64_t s2m_pr2:8;
1705 uint64_t s2m_pr1: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
1714 } s;
1715 struct cvmx_sriox_tx_status_s cn63xx;
1716 struct cvmx_sriox_tx_status_s cn63xxp1;
1717 struct cvmx_sriox_tx_status_s cn66xx;
1718};
1719
1720union cvmx_sriox_wr_done_counts {
1721 uint64_t u64;
1722 struct cvmx_sriox_wr_done_counts_s {
1723#ifdef __BIG_ENDIAN_BITFIELD
1724 uint64_t reserved_32_63:32;
1725 uint64_t bad: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
1732 } s;
1733 struct cvmx_sriox_wr_done_counts_s cn63xx;
1734 struct cvmx_sriox_wr_done_counts_s cn66xx;
1735};
1736
1737#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-srxx-defs.h b/arch/mips/include/asm/octeon/cvmx-srxx-defs.h
deleted file mode 100644
index c98e625cd4e..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-srxx-defs.h
+++ /dev/null
@@ -1,162 +0,0 @@
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_SRXX_DEFS_H__
29#define __CVMX_SRXX_DEFS_H__
30
31#define CVMX_SRXX_COM_CTL(block_id) (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_SPI4_CALX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180090000000ull) + (((offset) & 31) + ((block_id) & 1) * 0x1000000ull) * 8)
34#define CVMX_SRXX_SPI4_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000208ull) + ((block_id) & 1) * 0x8000000ull)
35#define CVMX_SRXX_SW_TICK_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000220ull) + ((block_id) & 1) * 0x8000000ull)
36#define CVMX_SRXX_SW_TICK_DAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000228ull) + ((block_id) & 1) * 0x8000000ull)
37
38union cvmx_srxx_com_ctl {
39 uint64_t u64;
40 struct cvmx_srxx_com_ctl_s {
41#ifdef __BIG_ENDIAN_BITFIELD
42 uint64_t reserved_8_63:56;
43 uint64_t prts:4;
44 uint64_t st_en:1;
45 uint64_t reserved_1_2:2;
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
54 } s;
55 struct cvmx_srxx_com_ctl_s cn38xx;
56 struct cvmx_srxx_com_ctl_s cn38xxp2;
57 struct cvmx_srxx_com_ctl_s cn58xx;
58 struct cvmx_srxx_com_ctl_s cn58xxp1;
59};
60
61union cvmx_srxx_ign_rx_full {
62 uint64_t u64;
63 struct cvmx_srxx_ign_rx_full_s {
64#ifdef __BIG_ENDIAN_BITFIELD
65 uint64_t reserved_16_63:48;
66 uint64_t ignore:16;
67#else
68 uint64_t ignore:16;
69 uint64_t reserved_16_63:48;
70#endif
71 } s;
72 struct cvmx_srxx_ign_rx_full_s cn38xx;
73 struct cvmx_srxx_ign_rx_full_s cn38xxp2;
74 struct cvmx_srxx_ign_rx_full_s cn58xx;
75 struct cvmx_srxx_ign_rx_full_s cn58xxp1;
76};
77
78union cvmx_srxx_spi4_calx {
79 uint64_t u64;
80 struct cvmx_srxx_spi4_calx_s {
81#ifdef __BIG_ENDIAN_BITFIELD
82 uint64_t reserved_17_63:47;
83 uint64_t oddpar:1;
84 uint64_t prt3:4;
85 uint64_t prt2:4;
86 uint64_t prt1: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
96 } s;
97 struct cvmx_srxx_spi4_calx_s cn38xx;
98 struct cvmx_srxx_spi4_calx_s cn38xxp2;
99 struct cvmx_srxx_spi4_calx_s cn58xx;
100 struct cvmx_srxx_spi4_calx_s cn58xxp1;
101};
102
103union cvmx_srxx_spi4_stat {
104 uint64_t u64;
105 struct cvmx_srxx_spi4_stat_s {
106#ifdef __BIG_ENDIAN_BITFIELD
107 uint64_t reserved_16_63:48;
108 uint64_t m:8;
109 uint64_t reserved_7_7:1;
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
117 } s;
118 struct cvmx_srxx_spi4_stat_s cn38xx;
119 struct cvmx_srxx_spi4_stat_s cn38xxp2;
120 struct cvmx_srxx_spi4_stat_s cn58xx;
121 struct cvmx_srxx_spi4_stat_s cn58xxp1;
122};
123
124union cvmx_srxx_sw_tick_ctl {
125 uint64_t u64;
126 struct cvmx_srxx_sw_tick_ctl_s {
127#ifdef __BIG_ENDIAN_BITFIELD
128 uint64_t reserved_14_63:50;
129 uint64_t eop:1;
130 uint64_t sop:1;
131 uint64_t mod:4;
132 uint64_t opc: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
142 } s;
143 struct cvmx_srxx_sw_tick_ctl_s cn38xx;
144 struct cvmx_srxx_sw_tick_ctl_s cn58xx;
145 struct cvmx_srxx_sw_tick_ctl_s cn58xxp1;
146};
147
148union cvmx_srxx_sw_tick_dat {
149 uint64_t u64;
150 struct cvmx_srxx_sw_tick_dat_s {
151#ifdef __BIG_ENDIAN_BITFIELD
152 uint64_t dat:64;
153#else
154 uint64_t dat:64;
155#endif
156 } s;
157 struct cvmx_srxx_sw_tick_dat_s cn38xx;
158 struct cvmx_srxx_sw_tick_dat_s cn58xx;
159 struct cvmx_srxx_sw_tick_dat_s cn58xxp1;
160};
161
162#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-stxx-defs.h b/arch/mips/include/asm/octeon/cvmx-stxx-defs.h
deleted file mode 100644
index 146354005d3..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-stxx-defs.h
+++ /dev/null
@@ -1,392 +0,0 @@
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_STXX_DEFS_H__
29#define __CVMX_STXX_DEFS_H__
30
31#define CVMX_STXX_ARB_CTL(block_id) (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_COM_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000600ull) + ((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_IGN_CAL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000610ull) + ((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_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x0001180090000698ull) + ((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_MIN_BST(block_id) (CVMX_ADD_IO_SEG(0x0001180090000618ull) + ((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_SPI4_DAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000628ull) + ((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_STAT_BYTES_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180090000648ull) + ((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_STAT_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000638ull) + ((block_id) & 1) * 0x8000000ull)
46#define CVMX_STXX_STAT_PKT_XMT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000640ull) + ((block_id) & 1) * 0x8000000ull)
47
48union cvmx_stxx_arb_ctl {
49 uint64_t u64;
50 struct cvmx_stxx_arb_ctl_s {
51#ifdef __BIG_ENDIAN_BITFIELD
52 uint64_t reserved_6_63:58;
53 uint64_t mintrn:1;
54 uint64_t reserved_4_4:1;
55 uint64_t igntpa:1;
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
64 } s;
65 struct cvmx_stxx_arb_ctl_s cn38xx;
66 struct cvmx_stxx_arb_ctl_s cn38xxp2;
67 struct cvmx_stxx_arb_ctl_s cn58xx;
68 struct cvmx_stxx_arb_ctl_s cn58xxp1;
69};
70
71union cvmx_stxx_bckprs_cnt {
72 uint64_t u64;
73 struct cvmx_stxx_bckprs_cnt_s {
74#ifdef __BIG_ENDIAN_BITFIELD
75 uint64_t reserved_32_63:32;
76 uint64_t cnt:32;
77#else
78 uint64_t cnt:32;
79 uint64_t reserved_32_63:32;
80#endif
81 } s;
82 struct cvmx_stxx_bckprs_cnt_s cn38xx;
83 struct cvmx_stxx_bckprs_cnt_s cn38xxp2;
84 struct cvmx_stxx_bckprs_cnt_s cn58xx;
85 struct cvmx_stxx_bckprs_cnt_s cn58xxp1;
86};
87
88union cvmx_stxx_com_ctl {
89 uint64_t u64;
90 struct cvmx_stxx_com_ctl_s {
91#ifdef __BIG_ENDIAN_BITFIELD
92 uint64_t reserved_4_63:60;
93 uint64_t st_en:1;
94 uint64_t reserved_1_2:2;
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
102 } s;
103 struct cvmx_stxx_com_ctl_s cn38xx;
104 struct cvmx_stxx_com_ctl_s cn38xxp2;
105 struct cvmx_stxx_com_ctl_s cn58xx;
106 struct cvmx_stxx_com_ctl_s cn58xxp1;
107};
108
109union cvmx_stxx_dip_cnt {
110 uint64_t u64;
111 struct cvmx_stxx_dip_cnt_s {
112#ifdef __BIG_ENDIAN_BITFIELD
113 uint64_t reserved_8_63:56;
114 uint64_t frmmax: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
121 } s;
122 struct cvmx_stxx_dip_cnt_s cn38xx;
123 struct cvmx_stxx_dip_cnt_s cn38xxp2;
124 struct cvmx_stxx_dip_cnt_s cn58xx;
125 struct cvmx_stxx_dip_cnt_s cn58xxp1;
126};
127
128union cvmx_stxx_ign_cal {
129 uint64_t u64;
130 struct cvmx_stxx_ign_cal_s {
131#ifdef __BIG_ENDIAN_BITFIELD
132 uint64_t reserved_16_63:48;
133 uint64_t igntpa:16;
134#else
135 uint64_t igntpa:16;
136 uint64_t reserved_16_63:48;
137#endif
138 } s;
139 struct cvmx_stxx_ign_cal_s cn38xx;
140 struct cvmx_stxx_ign_cal_s cn38xxp2;
141 struct cvmx_stxx_ign_cal_s cn58xx;
142 struct cvmx_stxx_ign_cal_s cn58xxp1;
143};
144
145union cvmx_stxx_int_msk {
146 uint64_t u64;
147 struct cvmx_stxx_int_msk_s {
148#ifdef __BIG_ENDIAN_BITFIELD
149 uint64_t reserved_8_63:56;
150 uint64_t frmerr:1;
151 uint64_t unxfrm:1;
152 uint64_t nosync:1;
153 uint64_t diperr:1;
154 uint64_t datovr:1;
155 uint64_t ovrbst:1;
156 uint64_t calpar1: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
169 } s;
170 struct cvmx_stxx_int_msk_s cn38xx;
171 struct cvmx_stxx_int_msk_s cn38xxp2;
172 struct cvmx_stxx_int_msk_s cn58xx;
173 struct cvmx_stxx_int_msk_s cn58xxp1;
174};
175
176union cvmx_stxx_int_reg {
177 uint64_t u64;
178 struct cvmx_stxx_int_reg_s {
179#ifdef __BIG_ENDIAN_BITFIELD
180 uint64_t reserved_9_63:55;
181 uint64_t syncerr:1;
182 uint64_t frmerr:1;
183 uint64_t unxfrm:1;
184 uint64_t nosync:1;
185 uint64_t diperr:1;
186 uint64_t datovr:1;
187 uint64_t ovrbst:1;
188 uint64_t calpar1: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
202 } s;
203 struct cvmx_stxx_int_reg_s cn38xx;
204 struct cvmx_stxx_int_reg_s cn38xxp2;
205 struct cvmx_stxx_int_reg_s cn58xx;
206 struct cvmx_stxx_int_reg_s cn58xxp1;
207};
208
209union cvmx_stxx_int_sync {
210 uint64_t u64;
211 struct cvmx_stxx_int_sync_s {
212#ifdef __BIG_ENDIAN_BITFIELD
213 uint64_t reserved_8_63:56;
214 uint64_t frmerr:1;
215 uint64_t unxfrm:1;
216 uint64_t nosync:1;
217 uint64_t diperr:1;
218 uint64_t datovr:1;
219 uint64_t ovrbst:1;
220 uint64_t calpar1: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
233 } s;
234 struct cvmx_stxx_int_sync_s cn38xx;
235 struct cvmx_stxx_int_sync_s cn38xxp2;
236 struct cvmx_stxx_int_sync_s cn58xx;
237 struct cvmx_stxx_int_sync_s cn58xxp1;
238};
239
240union cvmx_stxx_min_bst {
241 uint64_t u64;
242 struct cvmx_stxx_min_bst_s {
243#ifdef __BIG_ENDIAN_BITFIELD
244 uint64_t reserved_9_63:55;
245 uint64_t minb:9;
246#else
247 uint64_t minb:9;
248 uint64_t reserved_9_63:55;
249#endif
250 } s;
251 struct cvmx_stxx_min_bst_s cn38xx;
252 struct cvmx_stxx_min_bst_s cn38xxp2;
253 struct cvmx_stxx_min_bst_s cn58xx;
254 struct cvmx_stxx_min_bst_s cn58xxp1;
255};
256
257union cvmx_stxx_spi4_calx {
258 uint64_t u64;
259 struct cvmx_stxx_spi4_calx_s {
260#ifdef __BIG_ENDIAN_BITFIELD
261 uint64_t reserved_17_63:47;
262 uint64_t oddpar:1;
263 uint64_t prt3:4;
264 uint64_t prt2:4;
265 uint64_t prt1: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
275 } s;
276 struct cvmx_stxx_spi4_calx_s cn38xx;
277 struct cvmx_stxx_spi4_calx_s cn38xxp2;
278 struct cvmx_stxx_spi4_calx_s cn58xx;
279 struct cvmx_stxx_spi4_calx_s cn58xxp1;
280};
281
282union cvmx_stxx_spi4_dat {
283 uint64_t u64;
284 struct cvmx_stxx_spi4_dat_s {
285#ifdef __BIG_ENDIAN_BITFIELD
286 uint64_t reserved_32_63:32;
287 uint64_t alpha: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
294 } s;
295 struct cvmx_stxx_spi4_dat_s cn38xx;
296 struct cvmx_stxx_spi4_dat_s cn38xxp2;
297 struct cvmx_stxx_spi4_dat_s cn58xx;
298 struct cvmx_stxx_spi4_dat_s cn58xxp1;
299};
300
301union cvmx_stxx_spi4_stat {
302 uint64_t u64;
303 struct cvmx_stxx_spi4_stat_s {
304#ifdef __BIG_ENDIAN_BITFIELD
305 uint64_t reserved_16_63:48;
306 uint64_t m:8;
307 uint64_t reserved_7_7:1;
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
315 } s;
316 struct cvmx_stxx_spi4_stat_s cn38xx;
317 struct cvmx_stxx_spi4_stat_s cn38xxp2;
318 struct cvmx_stxx_spi4_stat_s cn58xx;
319 struct cvmx_stxx_spi4_stat_s cn58xxp1;
320};
321
322union cvmx_stxx_stat_bytes_hi {
323 uint64_t u64;
324 struct cvmx_stxx_stat_bytes_hi_s {
325#ifdef __BIG_ENDIAN_BITFIELD
326 uint64_t reserved_32_63:32;
327 uint64_t cnt:32;
328#else
329 uint64_t cnt:32;
330 uint64_t reserved_32_63:32;
331#endif
332 } s;
333 struct cvmx_stxx_stat_bytes_hi_s cn38xx;
334 struct cvmx_stxx_stat_bytes_hi_s cn38xxp2;
335 struct cvmx_stxx_stat_bytes_hi_s cn58xx;
336 struct cvmx_stxx_stat_bytes_hi_s cn58xxp1;
337};
338
339union cvmx_stxx_stat_bytes_lo {
340 uint64_t u64;
341 struct cvmx_stxx_stat_bytes_lo_s {
342#ifdef __BIG_ENDIAN_BITFIELD
343 uint64_t reserved_32_63:32;
344 uint64_t cnt:32;
345#else
346 uint64_t cnt:32;
347 uint64_t reserved_32_63:32;
348#endif
349 } s;
350 struct cvmx_stxx_stat_bytes_lo_s cn38xx;
351 struct cvmx_stxx_stat_bytes_lo_s cn38xxp2;
352 struct cvmx_stxx_stat_bytes_lo_s cn58xx;
353 struct cvmx_stxx_stat_bytes_lo_s cn58xxp1;
354};
355
356union cvmx_stxx_stat_ctl {
357 uint64_t u64;
358 struct cvmx_stxx_stat_ctl_s {
359#ifdef __BIG_ENDIAN_BITFIELD
360 uint64_t reserved_5_63:59;
361 uint64_t clr:1;
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
368 } s;
369 struct cvmx_stxx_stat_ctl_s cn38xx;
370 struct cvmx_stxx_stat_ctl_s cn38xxp2;
371 struct cvmx_stxx_stat_ctl_s cn58xx;
372 struct cvmx_stxx_stat_ctl_s cn58xxp1;
373};
374
375union cvmx_stxx_stat_pkt_xmt {
376 uint64_t u64;
377 struct cvmx_stxx_stat_pkt_xmt_s {
378#ifdef __BIG_ENDIAN_BITFIELD
379 uint64_t reserved_32_63:32;
380 uint64_t cnt:32;
381#else
382 uint64_t cnt:32;
383 uint64_t reserved_32_63:32;
384#endif
385 } s;
386 struct cvmx_stxx_stat_pkt_xmt_s cn38xx;
387 struct cvmx_stxx_stat_pkt_xmt_s cn38xxp2;
388 struct cvmx_stxx_stat_pkt_xmt_s cn58xx;
389 struct cvmx_stxx_stat_pkt_xmt_s cn58xxp1;
390};
391
392#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-uctlx-defs.h b/arch/mips/include/asm/octeon/cvmx-uctlx-defs.h
index bc5b80c6bbe..594f1b68cd6 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-2012 Cavium Networks 7 * Copyright (c) 2003-2010 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_DEFS_H__ 28#ifndef __CVMX_UCTLX_TYPEDEFS_H__
29#define __CVMX_UCTLX_DEFS_H__ 29#define __CVMX_UCTLX_TYPEDEFS_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,7 +45,6 @@
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
49 uint64_t reserved_6_63:58; 48 uint64_t reserved_6_63:58;
50 uint64_t data_bis:1; 49 uint64_t data_bis:1;
51 uint64_t desc_bis:1; 50 uint64_t desc_bis:1;
@@ -53,29 +52,14 @@ union cvmx_uctlx_bist_status {
53 uint64_t orbm_bis:1; 52 uint64_t orbm_bis:1;
54 uint64_t wrbm_bis:1; 53 uint64_t wrbm_bis:1;
55 uint64_t ppaf_bis:1; 54 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
65 } s; 55 } s;
66 struct cvmx_uctlx_bist_status_s cn61xx; 56 struct cvmx_uctlx_bist_status_s cn63xx;
67 struct cvmx_uctlx_bist_status_s cn63xx; 57 struct cvmx_uctlx_bist_status_s cn63xxp1;
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;
73}; 58};
74 59
75union cvmx_uctlx_clk_rst_ctl { 60union cvmx_uctlx_clk_rst_ctl {
76 uint64_t u64; 61 uint64_t u64;
77 struct cvmx_uctlx_clk_rst_ctl_s { 62 struct cvmx_uctlx_clk_rst_ctl_s {
78#ifdef __BIG_ENDIAN_BITFIELD
79 uint64_t reserved_25_63:39; 63 uint64_t reserved_25_63:39;
80 uint64_t clear_bist:1; 64 uint64_t clear_bist:1;
81 uint64_t start_bist:1; 65 uint64_t start_bist:1;
@@ -97,43 +81,14 @@ union cvmx_uctlx_clk_rst_ctl {
97 uint64_t p_por:1; 81 uint64_t p_por:1;
98 uint64_t p_prst:1; 82 uint64_t p_prst:1;
99 uint64_t hrst:1; 83 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
123 } s; 84 } s;
124 struct cvmx_uctlx_clk_rst_ctl_s cn61xx; 85 struct cvmx_uctlx_clk_rst_ctl_s cn63xx;
125 struct cvmx_uctlx_clk_rst_ctl_s cn63xx; 86 struct cvmx_uctlx_clk_rst_ctl_s cn63xxp1;
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;
131}; 87};
132 88
133union cvmx_uctlx_ehci_ctl { 89union cvmx_uctlx_ehci_ctl {
134 uint64_t u64; 90 uint64_t u64;
135 struct cvmx_uctlx_ehci_ctl_s { 91 struct cvmx_uctlx_ehci_ctl_s {
136#ifdef __BIG_ENDIAN_BITFIELD
137 uint64_t reserved_20_63:44; 92 uint64_t reserved_20_63:44;
138 uint64_t desc_rbm:1; 93 uint64_t desc_rbm:1;
139 uint64_t reg_nb:1; 94 uint64_t reg_nb:1;
@@ -146,96 +101,45 @@ union cvmx_uctlx_ehci_ctl {
146 uint64_t inv_reg_a2:1; 101 uint64_t inv_reg_a2:1;
147 uint64_t ehci_64b_addr_en:1; 102 uint64_t ehci_64b_addr_en:1;
148 uint64_t l2c_addr_msb:8; 103 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
163 } s; 104 } s;
164 struct cvmx_uctlx_ehci_ctl_s cn61xx; 105 struct cvmx_uctlx_ehci_ctl_s cn63xx;
165 struct cvmx_uctlx_ehci_ctl_s cn63xx; 106 struct cvmx_uctlx_ehci_ctl_s cn63xxp1;
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;
171}; 107};
172 108
173union cvmx_uctlx_ehci_fla { 109union cvmx_uctlx_ehci_fla {
174 uint64_t u64; 110 uint64_t u64;
175 struct cvmx_uctlx_ehci_fla_s { 111 struct cvmx_uctlx_ehci_fla_s {
176#ifdef __BIG_ENDIAN_BITFIELD
177 uint64_t reserved_6_63:58; 112 uint64_t reserved_6_63:58;
178 uint64_t fla:6; 113 uint64_t fla:6;
179#else
180 uint64_t fla:6;
181 uint64_t reserved_6_63:58;
182#endif
183 } s; 114 } s;
184 struct cvmx_uctlx_ehci_fla_s cn61xx; 115 struct cvmx_uctlx_ehci_fla_s cn63xx;
185 struct cvmx_uctlx_ehci_fla_s cn63xx; 116 struct cvmx_uctlx_ehci_fla_s cn63xxp1;
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;
191}; 117};
192 118
193union cvmx_uctlx_erto_ctl { 119union cvmx_uctlx_erto_ctl {
194 uint64_t u64; 120 uint64_t u64;
195 struct cvmx_uctlx_erto_ctl_s { 121 struct cvmx_uctlx_erto_ctl_s {
196#ifdef __BIG_ENDIAN_BITFIELD
197 uint64_t reserved_32_63:32; 122 uint64_t reserved_32_63:32;
198 uint64_t to_val:27; 123 uint64_t to_val:27;
199 uint64_t reserved_0_4:5; 124 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
205 } s; 125 } s;
206 struct cvmx_uctlx_erto_ctl_s cn61xx; 126 struct cvmx_uctlx_erto_ctl_s cn63xx;
207 struct cvmx_uctlx_erto_ctl_s cn63xx; 127 struct cvmx_uctlx_erto_ctl_s cn63xxp1;
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;
213}; 128};
214 129
215union cvmx_uctlx_if_ena { 130union cvmx_uctlx_if_ena {
216 uint64_t u64; 131 uint64_t u64;
217 struct cvmx_uctlx_if_ena_s { 132 struct cvmx_uctlx_if_ena_s {
218#ifdef __BIG_ENDIAN_BITFIELD
219 uint64_t reserved_1_63:63; 133 uint64_t reserved_1_63:63;
220 uint64_t en:1; 134 uint64_t en:1;
221#else
222 uint64_t en:1;
223 uint64_t reserved_1_63:63;
224#endif
225 } s; 135 } s;
226 struct cvmx_uctlx_if_ena_s cn61xx; 136 struct cvmx_uctlx_if_ena_s cn63xx;
227 struct cvmx_uctlx_if_ena_s cn63xx; 137 struct cvmx_uctlx_if_ena_s cn63xxp1;
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;
233}; 138};
234 139
235union cvmx_uctlx_int_ena { 140union cvmx_uctlx_int_ena {
236 uint64_t u64; 141 uint64_t u64;
237 struct cvmx_uctlx_int_ena_s { 142 struct cvmx_uctlx_int_ena_s {
238#ifdef __BIG_ENDIAN_BITFIELD
239 uint64_t reserved_8_63:56; 143 uint64_t reserved_8_63:56;
240 uint64_t ec_ovf_e:1; 144 uint64_t ec_ovf_e:1;
241 uint64_t oc_ovf_e:1; 145 uint64_t oc_ovf_e:1;
@@ -245,31 +149,14 @@ union cvmx_uctlx_int_ena {
245 uint64_t or_psh_f:1; 149 uint64_t or_psh_f:1;
246 uint64_t er_psh_f:1; 150 uint64_t er_psh_f:1;
247 uint64_t pp_psh_f:1; 151 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
259 } s; 152 } s;
260 struct cvmx_uctlx_int_ena_s cn61xx; 153 struct cvmx_uctlx_int_ena_s cn63xx;
261 struct cvmx_uctlx_int_ena_s cn63xx; 154 struct cvmx_uctlx_int_ena_s cn63xxp1;
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;
267}; 155};
268 156
269union cvmx_uctlx_int_reg { 157union cvmx_uctlx_int_reg {
270 uint64_t u64; 158 uint64_t u64;
271 struct cvmx_uctlx_int_reg_s { 159 struct cvmx_uctlx_int_reg_s {
272#ifdef __BIG_ENDIAN_BITFIELD
273 uint64_t reserved_8_63:56; 160 uint64_t reserved_8_63:56;
274 uint64_t ec_ovf_e:1; 161 uint64_t ec_ovf_e:1;
275 uint64_t oc_ovf_e:1; 162 uint64_t oc_ovf_e:1;
@@ -279,31 +166,14 @@ union cvmx_uctlx_int_reg {
279 uint64_t or_psh_f:1; 166 uint64_t or_psh_f:1;
280 uint64_t er_psh_f:1; 167 uint64_t er_psh_f:1;
281 uint64_t pp_psh_f:1; 168 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
293 } s; 169 } s;
294 struct cvmx_uctlx_int_reg_s cn61xx; 170 struct cvmx_uctlx_int_reg_s cn63xx;
295 struct cvmx_uctlx_int_reg_s cn63xx; 171 struct cvmx_uctlx_int_reg_s cn63xxp1;
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;
301}; 172};
302 173
303union cvmx_uctlx_ohci_ctl { 174union cvmx_uctlx_ohci_ctl {
304 uint64_t u64; 175 uint64_t u64;
305 struct cvmx_uctlx_ohci_ctl_s { 176 struct cvmx_uctlx_ohci_ctl_s {
306#ifdef __BIG_ENDIAN_BITFIELD
307 uint64_t reserved_19_63:45; 177 uint64_t reserved_19_63:45;
308 uint64_t reg_nb:1; 178 uint64_t reg_nb:1;
309 uint64_t l2c_dc:1; 179 uint64_t l2c_dc:1;
@@ -315,73 +185,35 @@ union cvmx_uctlx_ohci_ctl {
315 uint64_t inv_reg_a2:1; 185 uint64_t inv_reg_a2:1;
316 uint64_t reserved_8_8:1; 186 uint64_t reserved_8_8:1;
317 uint64_t l2c_addr_msb:8; 187 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
331 } s; 188 } s;
332 struct cvmx_uctlx_ohci_ctl_s cn61xx; 189 struct cvmx_uctlx_ohci_ctl_s cn63xx;
333 struct cvmx_uctlx_ohci_ctl_s cn63xx; 190 struct cvmx_uctlx_ohci_ctl_s cn63xxp1;
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;
339}; 191};
340 192
341union cvmx_uctlx_orto_ctl { 193union cvmx_uctlx_orto_ctl {
342 uint64_t u64; 194 uint64_t u64;
343 struct cvmx_uctlx_orto_ctl_s { 195 struct cvmx_uctlx_orto_ctl_s {
344#ifdef __BIG_ENDIAN_BITFIELD
345 uint64_t reserved_32_63:32; 196 uint64_t reserved_32_63:32;
346 uint64_t to_val:24; 197 uint64_t to_val:24;
347 uint64_t reserved_0_7:8; 198 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
353 } s; 199 } s;
354 struct cvmx_uctlx_orto_ctl_s cn61xx; 200 struct cvmx_uctlx_orto_ctl_s cn63xx;
355 struct cvmx_uctlx_orto_ctl_s cn63xx; 201 struct cvmx_uctlx_orto_ctl_s cn63xxp1;
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;
361}; 202};
362 203
363union cvmx_uctlx_ppaf_wm { 204union cvmx_uctlx_ppaf_wm {
364 uint64_t u64; 205 uint64_t u64;
365 struct cvmx_uctlx_ppaf_wm_s { 206 struct cvmx_uctlx_ppaf_wm_s {
366#ifdef __BIG_ENDIAN_BITFIELD
367 uint64_t reserved_5_63:59; 207 uint64_t reserved_5_63:59;
368 uint64_t wm:5; 208 uint64_t wm:5;
369#else
370 uint64_t wm:5;
371 uint64_t reserved_5_63:59;
372#endif
373 } s; 209 } s;
374 struct cvmx_uctlx_ppaf_wm_s cn61xx; 210 struct cvmx_uctlx_ppaf_wm_s cn63xx;
375 struct cvmx_uctlx_ppaf_wm_s cn63xx; 211 struct cvmx_uctlx_ppaf_wm_s cn63xxp1;
376 struct cvmx_uctlx_ppaf_wm_s cn63xxp1;
377 struct cvmx_uctlx_ppaf_wm_s cn66xx;
378 struct cvmx_uctlx_ppaf_wm_s cnf71xx;
379}; 212};
380 213
381union cvmx_uctlx_uphy_ctl_status { 214union cvmx_uctlx_uphy_ctl_status {
382 uint64_t u64; 215 uint64_t u64;
383 struct cvmx_uctlx_uphy_ctl_status_s { 216 struct cvmx_uctlx_uphy_ctl_status_s {
384#ifdef __BIG_ENDIAN_BITFIELD
385 uint64_t reserved_10_63:54; 217 uint64_t reserved_10_63:54;
386 uint64_t bist_done:1; 218 uint64_t bist_done:1;
387 uint64_t bist_err:1; 219 uint64_t bist_err:1;
@@ -393,33 +225,14 @@ union cvmx_uctlx_uphy_ctl_status {
393 uint64_t uphy_bist:1; 225 uint64_t uphy_bist:1;
394 uint64_t bist_en:1; 226 uint64_t bist_en:1;
395 uint64_t ate_reset:1; 227 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
409 } s; 228 } s;
410 struct cvmx_uctlx_uphy_ctl_status_s cn61xx; 229 struct cvmx_uctlx_uphy_ctl_status_s cn63xx;
411 struct cvmx_uctlx_uphy_ctl_status_s cn63xx; 230 struct cvmx_uctlx_uphy_ctl_status_s cn63xxp1;
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;
417}; 231};
418 232
419union cvmx_uctlx_uphy_portx_ctl_status { 233union cvmx_uctlx_uphy_portx_ctl_status {
420 uint64_t u64; 234 uint64_t u64;
421 struct cvmx_uctlx_uphy_portx_ctl_status_s { 235 struct cvmx_uctlx_uphy_portx_ctl_status_s {
422#ifdef __BIG_ENDIAN_BITFIELD
423 uint64_t reserved_43_63:21; 236 uint64_t reserved_43_63:21;
424 uint64_t tdata_out:4; 237 uint64_t tdata_out:4;
425 uint64_t txbiststuffenh:1; 238 uint64_t txbiststuffenh:1;
@@ -440,36 +253,9 @@ union cvmx_uctlx_uphy_portx_ctl_status {
440 uint64_t tdata_sel:1; 253 uint64_t tdata_sel:1;
441 uint64_t taddr_in:4; 254 uint64_t taddr_in:4;
442 uint64_t tdata_in:8; 255 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
465 } s; 256 } s;
466 struct cvmx_uctlx_uphy_portx_ctl_status_s cn61xx;
467 struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xx; 257 struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xx;
468 struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xxp1; 258 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;
473}; 259};
474 260
475#endif 261#endif
diff --git a/arch/mips/include/asm/octeon/cvmx-wqe.h b/arch/mips/include/asm/octeon/cvmx-wqe.h
deleted file mode 100644
index df762389e27..00000000000
--- a/arch/mips/include/asm/octeon/cvmx-wqe.h
+++ /dev/null
@@ -1,397 +0,0 @@
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-2008 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/**
29 *
30 * This header file defines the work queue entry (wqe) data structure.
31 * Since this is a commonly used structure that depends on structures
32 * from several hardware blocks, those definitions have been placed
33 * in this file to create a single point of definition of the wqe
34 * format.
35 * Data structures are still named according to the block that they
36 * relate to.
37 *
38 */
39
40#ifndef __CVMX_WQE_H__
41#define __CVMX_WQE_H__
42
43#include <asm/octeon/cvmx-packet.h>
44
45
46#define OCT_TAG_TYPE_STRING(x) \
47 (((x) == CVMX_POW_TAG_TYPE_ORDERED) ? "ORDERED" : \
48 (((x) == CVMX_POW_TAG_TYPE_ATOMIC) ? "ATOMIC" : \
49 (((x) == CVMX_POW_TAG_TYPE_NULL) ? "NULL" : \
50 "NULL_NULL")))
51
52/**
53 * HW decode / err_code in work queue entry
54 */
55typedef union {
56 uint64_t u64;
57
58 /* Use this struct if the hardware determines that the packet is IP */
59 struct {
60 /* HW sets this to the number of buffers used by this packet */
61 uint64_t bufs:8;
62 /* HW sets to the number of L2 bytes prior to the IP */
63 uint64_t ip_offset:8;
64 /* set to 1 if we found DSA/VLAN in the L2 */
65 uint64_t vlan_valid:1;
66 /* Set to 1 if the DSA/VLAN tag is stacked */
67 uint64_t vlan_stacked:1;
68 uint64_t unassigned:1;
69 /* HW sets to the DSA/VLAN CFI flag (valid when vlan_valid) */
70 uint64_t vlan_cfi:1;
71 /* HW sets to the DSA/VLAN_ID field (valid when vlan_valid) */
72 uint64_t vlan_id:12;
73 /* Ring Identifier (if PCIe). Requires PIP_GBL_CTL[RING_EN]=1 */
74 uint64_t pr:4;
75 uint64_t unassigned2:8;
76 /* the packet needs to be decompressed */
77 uint64_t dec_ipcomp:1;
78 /* the packet is either TCP or UDP */
79 uint64_t tcp_or_udp:1;
80 /* the packet needs to be decrypted (ESP or AH) */
81 uint64_t dec_ipsec:1;
82 /* the packet is IPv6 */
83 uint64_t is_v6:1;
84
85 /*
86 * (rcv_error, not_IP, IP_exc, is_frag, L4_error,
87 * software, etc.).
88 */
89
90 /*
91 * reserved for software use, hardware will clear on
92 * packet creation.
93 */
94 uint64_t software:1;
95 /* exceptional conditions below */
96 /* the receive interface hardware detected an L4 error
97 * (only applies if !is_frag) (only applies if
98 * !rcv_error && !not_IP && !IP_exc && !is_frag)
99 * failure indicated in err_code below, decode:
100 *
101 * - 1 = Malformed L4
102 * - 2 = L4 Checksum Error: the L4 checksum value is
103 * - 3 = UDP Length Error: The UDP length field would
104 * make the UDP data longer than what remains in
105 * the IP packet (as defined by the IP header
106 * length field).
107 * - 4 = Bad L4 Port: either the source or destination
108 * TCP/UDP port is 0.
109 * - 8 = TCP FIN Only: the packet is TCP and only the
110 * FIN flag set.
111 * - 9 = TCP No Flags: the packet is TCP and no flags
112 * are set.
113 * - 10 = TCP FIN RST: the packet is TCP and both FIN
114 * and RST are set.
115 * - 11 = TCP SYN URG: the packet is TCP and both SYN
116 * and URG are set.
117 * - 12 = TCP SYN RST: the packet is TCP and both SYN
118 * and RST are set.
119 * - 13 = TCP SYN FIN: the packet is TCP and both SYN
120 * and FIN are set.
121 */
122 uint64_t L4_error:1;
123 /* set if the packet is a fragment */
124 uint64_t is_frag:1;
125 /* the receive interface hardware detected an IP error
126 * / exception (only applies if !rcv_error && !not_IP)
127 * failure indicated in err_code below, decode:
128 *
129 * - 1 = Not IP: the IP version field is neither 4 nor
130 * 6.
131 * - 2 = IPv4 Header Checksum Error: the IPv4 header
132 * has a checksum violation.
133 * - 3 = IP Malformed Header: the packet is not long
134 * enough to contain the IP header.
135 * - 4 = IP Malformed: the packet is not long enough
136 * to contain the bytes indicated by the IP
137 * header. Pad is allowed.
138 * - 5 = IP TTL Hop: the IPv4 TTL field or the IPv6
139 * Hop Count field are zero.
140 * - 6 = IP Options
141 */
142 uint64_t IP_exc:1;
143 /*
144 * Set if the hardware determined that the packet is a
145 * broadcast.
146 */
147 uint64_t is_bcast:1;
148 /*
149 * St if the hardware determined that the packet is a
150 * multi-cast.
151 */
152 uint64_t is_mcast:1;
153 /*
154 * Set if the packet may not be IP (must be zero in
155 * this case).
156 */
157 uint64_t not_IP:1;
158 /*
159 * The receive interface hardware detected a receive
160 * error (must be zero in this case).
161 */
162 uint64_t rcv_error:1;
163 /* lower err_code = first-level descriptor of the
164 * work */
165 /* zero for packet submitted by hardware that isn't on
166 * the slow path */
167 /* type is cvmx_pip_err_t */
168 uint64_t err_code:8;
169 } s;
170
171 /* use this to get at the 16 vlan bits */
172 struct {
173 uint64_t unused1:16;
174 uint64_t vlan:16;
175 uint64_t unused2:32;
176 } svlan;
177
178 /*
179 * use this struct if the hardware could not determine that
180 * the packet is ip.
181 */
182 struct {
183 /*
184 * HW sets this to the number of buffers used by this
185 * packet.
186 */
187 uint64_t bufs:8;
188 uint64_t unused:8;
189 /* set to 1 if we found DSA/VLAN in the L2 */
190 uint64_t vlan_valid:1;
191 /* Set to 1 if the DSA/VLAN tag is stacked */
192 uint64_t vlan_stacked:1;
193 uint64_t unassigned:1;
194 /*
195 * HW sets to the DSA/VLAN CFI flag (valid when
196 * vlan_valid)
197 */
198 uint64_t vlan_cfi:1;
199 /*
200 * HW sets to the DSA/VLAN_ID field (valid when
201 * vlan_valid).
202 */
203 uint64_t vlan_id:12;
204 /*
205 * Ring Identifier (if PCIe). Requires
206 * PIP_GBL_CTL[RING_EN]=1
207 */
208 uint64_t pr:4;
209 uint64_t unassigned2:12;
210 /*
211 * reserved for software use, hardware will clear on
212 * packet creation.
213 */
214 uint64_t software:1;
215 uint64_t unassigned3:1;
216 /*
217 * set if the hardware determined that the packet is
218 * rarp.
219 */
220 uint64_t is_rarp:1;
221 /*
222 * set if the hardware determined that the packet is
223 * arp
224 */
225 uint64_t is_arp:1;
226 /*
227 * set if the hardware determined that the packet is a
228 * broadcast.
229 */
230 uint64_t is_bcast:1;
231 /*
232 * set if the hardware determined that the packet is a
233 * multi-cast
234 */
235 uint64_t is_mcast:1;
236 /*
237 * set if the packet may not be IP (must be one in
238 * this case)
239 */
240 uint64_t not_IP:1;
241 /* The receive interface hardware detected a receive
242 * error. Failure indicated in err_code below,
243 * decode:
244 *
245 * - 1 = partial error: a packet was partially
246 * received, but internal buffering / bandwidth
247 * was not adequate to receive the entire
248 * packet.
249 * - 2 = jabber error: the RGMII packet was too large
250 * and is truncated.
251 * - 3 = overrun error: the RGMII packet is longer
252 * than allowed and had an FCS error.
253 * - 4 = oversize error: the RGMII packet is longer
254 * than allowed.
255 * - 5 = alignment error: the RGMII packet is not an
256 * integer number of bytes
257 * and had an FCS error (100M and 10M only).
258 * - 6 = fragment error: the RGMII packet is shorter
259 * than allowed and had an FCS error.
260 * - 7 = GMX FCS error: the RGMII packet had an FCS
261 * error.
262 * - 8 = undersize error: the RGMII packet is shorter
263 * than allowed.
264 * - 9 = extend error: the RGMII packet had an extend
265 * error.
266 * - 10 = length mismatch error: the RGMII packet had
267 * a length that did not match the length field
268 * in the L2 HDR.
269 * - 11 = RGMII RX error/SPI4 DIP4 Error: the RGMII
270 * packet had one or more data reception errors
271 * (RXERR) or the SPI4 packet had one or more
272 * DIP4 errors.
273 * - 12 = RGMII skip error/SPI4 Abort Error: the RGMII
274 * packet was not large enough to cover the
275 * skipped bytes or the SPI4 packet was
276 * terminated with an About EOPS.
277 * - 13 = RGMII nibble error/SPI4 Port NXA Error: the
278 * RGMII packet had a studder error (data not
279 * repeated - 10/100M only) or the SPI4 packet
280 * was sent to an NXA.
281 * - 16 = FCS error: a SPI4.2 packet had an FCS error.
282 * - 17 = Skip error: a packet was not large enough to
283 * cover the skipped bytes.
284 * - 18 = L2 header malformed: the packet is not long
285 * enough to contain the L2.
286 */
287
288 uint64_t rcv_error:1;
289 /*
290 * lower err_code = first-level descriptor of the
291 * work
292 */
293 /*
294 * zero for packet submitted by hardware that isn't on
295 * the slow path
296 */
297 /* type is cvmx_pip_err_t (union, so can't use directly */
298 uint64_t err_code:8;
299 } snoip;
300
301} cvmx_pip_wqe_word2;
302
303/**
304 * Work queue entry format
305 *
306 * must be 8-byte aligned
307 */
308typedef struct {
309
310 /*****************************************************************
311 * WORD 0
312 * HW WRITE: the following 64 bits are filled by HW when a packet arrives
313 */
314
315 /**
316 * raw chksum result generated by the HW
317 */
318 uint16_t hw_chksum;
319 /**
320 * Field unused by hardware - available for software
321 */
322 uint8_t unused;
323 /**
324 * Next pointer used by hardware for list maintenance.
325 * May be written/read by HW before the work queue
326 * entry is scheduled to a PP
327 * (Only 36 bits used in Octeon 1)
328 */
329 uint64_t next_ptr:40;
330
331 /*****************************************************************
332 * WORD 1
333 * HW WRITE: the following 64 bits are filled by HW when a packet arrives
334 */
335
336 /**
337 * HW sets to the total number of bytes in the packet
338 */
339 uint64_t len:16;
340 /**
341 * HW sets this to input physical port
342 */
343 uint64_t ipprt:6;
344
345 /**
346 * HW sets this to what it thought the priority of the input packet was
347 */
348 uint64_t qos:3;
349
350 /**
351 * the group that the work queue entry will be scheduled to
352 */
353 uint64_t grp:4;
354 /**
355 * the type of the tag (ORDERED, ATOMIC, NULL)
356 */
357 uint64_t tag_type:3;
358 /**
359 * the synchronization/ordering tag
360 */
361 uint64_t tag:32;
362
363 /**
364 * WORD 2 HW WRITE: the following 64-bits are filled in by
365 * hardware when a packet arrives This indicates a variety of
366 * status and error conditions.
367 */
368 cvmx_pip_wqe_word2 word2;
369
370 /**
371 * Pointer to the first segment of the packet.
372 */
373 union cvmx_buf_ptr packet_ptr;
374
375 /**
376 * HW WRITE: octeon will fill in a programmable amount from the
377 * packet, up to (at most, but perhaps less) the amount
378 * needed to fill the work queue entry to 128 bytes
379 *
380 * If the packet is recognized to be IP, the hardware starts
381 * (except that the IPv4 header is padded for appropriate
382 * alignment) writing here where the IP header starts. If the
383 * packet is not recognized to be IP, the hardware starts
384 * writing the beginning of the packet here.
385 */
386 uint8_t packet_data[96];
387
388 /**
389 * If desired, SW can make the work Q entry any length. For the
390 * purposes of discussion here, Assume 128B always, as this is all that
391 * the hardware deals with.
392 *
393 */
394
395} CVMX_CACHE_LINE_ALIGNED cvmx_wqe_t;
396
397#endif /* __CVMX_WQE_H__ */
diff --git a/arch/mips/include/asm/octeon/cvmx.h b/arch/mips/include/asm/octeon/cvmx.h
index db58beab6cb..7e1286706d4 100644
--- a/arch/mips/include/asm/octeon/cvmx.h
+++ b/arch/mips/include/asm/octeon/cvmx.h
@@ -31,45 +31,24 @@
31#include <linux/kernel.h> 31#include <linux/kernel.h>
32#include <linux/string.h> 32#include <linux/string.h>
33 33
34enum cvmx_mips_space { 34#include "cvmx-asm.h"
35 CVMX_MIPS_SPACE_XKSEG = 3LL, 35#include "cvmx-packet.h"
36 CVMX_MIPS_SPACE_XKPHYS = 2LL, 36#include "cvmx-sysinfo.h"
37 CVMX_MIPS_SPACE_XSSEG = 1LL, 37
38 CVMX_MIPS_SPACE_XUSEG = 0LL 38#include "cvmx-ciu-defs.h"
39}; 39#include "cvmx-gpio-defs.h"
40 40#include "cvmx-iob-defs.h"
41/* These macros for use when using 32 bit pointers. */ 41#include "cvmx-ipd-defs.h"
42#define CVMX_MIPS32_SPACE_KSEG0 1l 42#include "cvmx-l2c-defs.h"
43#define CVMX_ADD_SEG32(segment, add) \ 43#include "cvmx-l2d-defs.h"
44 (((int32_t)segment << 31) | (int32_t)(add)) 44#include "cvmx-l2t-defs.h"
45 45#include "cvmx-led-defs.h"
46#define CVMX_IO_SEG CVMX_MIPS_SPACE_XKPHYS 46#include "cvmx-mio-defs.h"
47 47#include "cvmx-pow-defs.h"
48/* These macros simplify the process of creating common IO addresses */ 48
49#define CVMX_ADD_SEG(segment, add) \ 49#include "cvmx-bootinfo.h"
50 ((((uint64_t)segment) << 62) | (add)) 50#include "cvmx-bootmem.h"
51#ifndef CVMX_ADD_IO_SEG 51#include "cvmx-l2c.h"
52#define CVMX_ADD_IO_SEG(add) CVMX_ADD_SEG(CVMX_IO_SEG, (add))
53#endif
54
55#include <asm/octeon/cvmx-asm.h>
56#include <asm/octeon/cvmx-packet.h>
57#include <asm/octeon/cvmx-sysinfo.h>
58
59#include <asm/octeon/cvmx-ciu-defs.h>
60#include <asm/octeon/cvmx-gpio-defs.h>
61#include <asm/octeon/cvmx-iob-defs.h>
62#include <asm/octeon/cvmx-ipd-defs.h>
63#include <asm/octeon/cvmx-l2c-defs.h>
64#include <asm/octeon/cvmx-l2d-defs.h>
65#include <asm/octeon/cvmx-l2t-defs.h>
66#include <asm/octeon/cvmx-led-defs.h>
67#include <asm/octeon/cvmx-mio-defs.h>
68#include <asm/octeon/cvmx-pow-defs.h>
69
70#include <asm/octeon/cvmx-bootinfo.h>
71#include <asm/octeon/cvmx-bootmem.h>
72#include <asm/octeon/cvmx-l2c.h>
73 52
74#ifndef CVMX_ENABLE_DEBUG_PRINTS 53#ifndef CVMX_ENABLE_DEBUG_PRINTS
75#define CVMX_ENABLE_DEBUG_PRINTS 1 54#define CVMX_ENABLE_DEBUG_PRINTS 1
@@ -150,6 +129,27 @@ static inline uint64_t cvmx_build_bits(uint64_t high_bit,
150 return (value & cvmx_build_mask(high_bit - low_bit + 1)) << low_bit; 129 return (value & cvmx_build_mask(high_bit - low_bit + 1)) << low_bit;
151} 130}
152 131
132enum cvmx_mips_space {
133 CVMX_MIPS_SPACE_XKSEG = 3LL,
134 CVMX_MIPS_SPACE_XKPHYS = 2LL,
135 CVMX_MIPS_SPACE_XSSEG = 1LL,
136 CVMX_MIPS_SPACE_XUSEG = 0LL
137};
138
139/* These macros for use when using 32 bit pointers. */
140#define CVMX_MIPS32_SPACE_KSEG0 1l
141#define CVMX_ADD_SEG32(segment, add) \
142 (((int32_t)segment << 31) | (int32_t)(add))
143
144#define CVMX_IO_SEG CVMX_MIPS_SPACE_XKPHYS
145
146/* These macros simplify the process of creating common IO addresses */
147#define CVMX_ADD_SEG(segment, add) \
148 ((((uint64_t)segment) << 62) | (add))
149#ifndef CVMX_ADD_IO_SEG
150#define CVMX_ADD_IO_SEG(add) CVMX_ADD_SEG(CVMX_IO_SEG, (add))
151#endif
152
153/** 153/**
154 * Convert a memory pointer (void*) into a hardware compatible 154 * Convert a memory pointer (void*) into a hardware compatible
155 * memory address (uint64_t). Octeon hardware widgets don't 155 * memory address (uint64_t). Octeon hardware widgets don't
diff --git a/arch/mips/include/asm/octeon/octeon-feature.h b/arch/mips/include/asm/octeon/octeon-feature.h
index 8008da2f877..cba6fbed9f4 100644
--- a/arch/mips/include/asm/octeon/octeon-feature.h
+++ b/arch/mips/include/asm/octeon/octeon-feature.h
@@ -31,14 +31,8 @@
31 31
32#ifndef __OCTEON_FEATURE_H__ 32#ifndef __OCTEON_FEATURE_H__
33#define __OCTEON_FEATURE_H__ 33#define __OCTEON_FEATURE_H__
34#include <asm/octeon/cvmx-mio-defs.h>
35#include <asm/octeon/cvmx-rnm-defs.h>
36 34
37enum octeon_feature { 35enum octeon_feature {
38 /* CN68XX uses port kinds for packet interface */
39 OCTEON_FEATURE_PKND,
40 /* CN68XX has different fields in word0 - word2 */
41 OCTEON_FEATURE_CN68XX_WQE,
42 /* 36 /*
43 * Octeon models in the CN5XXX family and higher support 37 * Octeon models in the CN5XXX family and higher support
44 * atomic add instructions to memory (saa/saad). 38 * atomic add instructions to memory (saa/saad).
@@ -48,13 +42,8 @@ enum octeon_feature {
48 OCTEON_FEATURE_ZIP, 42 OCTEON_FEATURE_ZIP,
49 /* Does this Octeon support crypto acceleration using COP2? */ 43 /* Does this Octeon support crypto acceleration using COP2? */
50 OCTEON_FEATURE_CRYPTO, 44 OCTEON_FEATURE_CRYPTO,
51 OCTEON_FEATURE_DORM_CRYPTO,
52 /* Does this Octeon support PCI express? */ 45 /* Does this Octeon support PCI express? */
53 OCTEON_FEATURE_PCIE, 46 OCTEON_FEATURE_PCIE,
54 /* Does this Octeon support SRIOs */
55 OCTEON_FEATURE_SRIO,
56 /* Does this Octeon support Interlaken */
57 OCTEON_FEATURE_ILK,
58 /* Some Octeon models support internal memory for storing 47 /* Some Octeon models support internal memory for storing
59 * cryptographic keys */ 48 * cryptographic keys */
60 OCTEON_FEATURE_KEY_MEMORY, 49 OCTEON_FEATURE_KEY_MEMORY,
@@ -75,15 +64,6 @@ enum octeon_feature {
75 /* Octeon MDIO block supports clause 45 transactions for 10 64 /* Octeon MDIO block supports clause 45 transactions for 10
76 * Gig support */ 65 * Gig support */
77 OCTEON_FEATURE_MDIO_CLAUSE_45, 66 OCTEON_FEATURE_MDIO_CLAUSE_45,
78 /*
79 * CN52XX and CN56XX used a block named NPEI for PCIe
80 * access. Newer chips replaced this with SLI+DPI.
81 */
82 OCTEON_FEATURE_NPEI,
83 OCTEON_FEATURE_HFA,
84 OCTEON_FEATURE_DFM,
85 OCTEON_FEATURE_CIU2,
86 OCTEON_MAX_FEATURE
87}; 67};
88 68
89static inline int cvmx_fuse_read(int fuse); 69static inline int cvmx_fuse_read(int fuse);
@@ -116,78 +96,30 @@ static inline int octeon_has_feature(enum octeon_feature feature)
116 return !cvmx_fuse_read(121); 96 return !cvmx_fuse_read(121);
117 97
118 case OCTEON_FEATURE_CRYPTO: 98 case OCTEON_FEATURE_CRYPTO:
119 if (OCTEON_IS_MODEL(OCTEON_CN6XXX)) { 99 return !cvmx_fuse_read(90);
120 union cvmx_mio_fus_dat2 fus_2;
121 fus_2.u64 = cvmx_read_csr(CVMX_MIO_FUS_DAT2);
122 if (fus_2.s.nocrypto || fus_2.s.nomul) {
123 return 0;
124 } else if (!fus_2.s.dorm_crypto) {
125 return 1;
126 } else {
127 union cvmx_rnm_ctl_status st;
128 st.u64 = cvmx_read_csr(CVMX_RNM_CTL_STATUS);
129 return st.s.eer_val;
130 }
131 } else {
132 return !cvmx_fuse_read(90);
133 }
134
135 case OCTEON_FEATURE_DORM_CRYPTO:
136 if (OCTEON_IS_MODEL(OCTEON_CN6XXX)) {
137 union cvmx_mio_fus_dat2 fus_2;
138 fus_2.u64 = cvmx_read_csr(CVMX_MIO_FUS_DAT2);
139 return !fus_2.s.nocrypto && !fus_2.s.nomul && fus_2.s.dorm_crypto;
140 } else {
141 return 0;
142 }
143 100
144 case OCTEON_FEATURE_PCIE: 101 case OCTEON_FEATURE_PCIE:
102 case OCTEON_FEATURE_MGMT_PORT:
103 case OCTEON_FEATURE_RAID:
145 return OCTEON_IS_MODEL(OCTEON_CN56XX) 104 return OCTEON_IS_MODEL(OCTEON_CN56XX)
146 || OCTEON_IS_MODEL(OCTEON_CN52XX) 105 || OCTEON_IS_MODEL(OCTEON_CN52XX);
147 || OCTEON_IS_MODEL(OCTEON_CN6XXX);
148
149 case OCTEON_FEATURE_SRIO:
150 return OCTEON_IS_MODEL(OCTEON_CN63XX)
151 || OCTEON_IS_MODEL(OCTEON_CN66XX);
152
153 case OCTEON_FEATURE_ILK:
154 return (OCTEON_IS_MODEL(OCTEON_CN68XX));
155 106
156 case OCTEON_FEATURE_KEY_MEMORY: 107 case OCTEON_FEATURE_KEY_MEMORY:
157 return OCTEON_IS_MODEL(OCTEON_CN38XX)
158 || OCTEON_IS_MODEL(OCTEON_CN58XX)
159 || OCTEON_IS_MODEL(OCTEON_CN56XX)
160 || OCTEON_IS_MODEL(OCTEON_CN6XXX);
161
162 case OCTEON_FEATURE_LED_CONTROLLER: 108 case OCTEON_FEATURE_LED_CONTROLLER:
163 return OCTEON_IS_MODEL(OCTEON_CN38XX) 109 return OCTEON_IS_MODEL(OCTEON_CN38XX)
164 || OCTEON_IS_MODEL(OCTEON_CN58XX) 110 || OCTEON_IS_MODEL(OCTEON_CN58XX)
165 || OCTEON_IS_MODEL(OCTEON_CN56XX); 111 || OCTEON_IS_MODEL(OCTEON_CN56XX);
166
167 case OCTEON_FEATURE_TRA: 112 case OCTEON_FEATURE_TRA:
168 return !(OCTEON_IS_MODEL(OCTEON_CN30XX) 113 return !(OCTEON_IS_MODEL(OCTEON_CN30XX)
169 || OCTEON_IS_MODEL(OCTEON_CN50XX)); 114 || OCTEON_IS_MODEL(OCTEON_CN50XX));
170 case OCTEON_FEATURE_MGMT_PORT:
171 return OCTEON_IS_MODEL(OCTEON_CN56XX)
172 || OCTEON_IS_MODEL(OCTEON_CN52XX)
173 || OCTEON_IS_MODEL(OCTEON_CN6XXX);
174
175 case OCTEON_FEATURE_RAID:
176 return OCTEON_IS_MODEL(OCTEON_CN56XX)
177 || OCTEON_IS_MODEL(OCTEON_CN52XX)
178 || OCTEON_IS_MODEL(OCTEON_CN6XXX);
179
180 case OCTEON_FEATURE_USB: 115 case OCTEON_FEATURE_USB:
181 return !(OCTEON_IS_MODEL(OCTEON_CN38XX) 116 return !(OCTEON_IS_MODEL(OCTEON_CN38XX)
182 || OCTEON_IS_MODEL(OCTEON_CN58XX)); 117 || OCTEON_IS_MODEL(OCTEON_CN58XX));
183
184 case OCTEON_FEATURE_NO_WPTR: 118 case OCTEON_FEATURE_NO_WPTR:
185 return (OCTEON_IS_MODEL(OCTEON_CN56XX) 119 return (OCTEON_IS_MODEL(OCTEON_CN56XX)
186 || OCTEON_IS_MODEL(OCTEON_CN52XX) 120 || OCTEON_IS_MODEL(OCTEON_CN52XX))
187 || OCTEON_IS_MODEL(OCTEON_CN6XXX)) 121 && !OCTEON_IS_MODEL(OCTEON_CN56XX_PASS1_X)
188 && !OCTEON_IS_MODEL(OCTEON_CN56XX_PASS1_X) 122 && !OCTEON_IS_MODEL(OCTEON_CN52XX_PASS1_X);
189 && !OCTEON_IS_MODEL(OCTEON_CN52XX_PASS1_X);
190
191 case OCTEON_FEATURE_DFA: 123 case OCTEON_FEATURE_DFA:
192 if (!OCTEON_IS_MODEL(OCTEON_CN38XX) 124 if (!OCTEON_IS_MODEL(OCTEON_CN38XX)
193 && !OCTEON_IS_MODEL(OCTEON_CN31XX) 125 && !OCTEON_IS_MODEL(OCTEON_CN31XX)
@@ -195,42 +127,14 @@ static inline int octeon_has_feature(enum octeon_feature feature)
195 return 0; 127 return 0;
196 else if (OCTEON_IS_MODEL(OCTEON_CN3020)) 128 else if (OCTEON_IS_MODEL(OCTEON_CN3020))
197 return 0; 129 return 0;
130 else if (OCTEON_IS_MODEL(OCTEON_CN38XX_PASS1))
131 return 1;
198 else 132 else
199 return !cvmx_fuse_read(120); 133 return !cvmx_fuse_read(120);
200
201 case OCTEON_FEATURE_HFA:
202 if (!OCTEON_IS_MODEL(OCTEON_CN6XXX))
203 return 0;
204 else
205 return !cvmx_fuse_read(90);
206
207 case OCTEON_FEATURE_DFM:
208 if (!(OCTEON_IS_MODEL(OCTEON_CN63XX)
209 || OCTEON_IS_MODEL(OCTEON_CN66XX)))
210 return 0;
211 else
212 return !cvmx_fuse_read(90);
213
214 case OCTEON_FEATURE_MDIO_CLAUSE_45: 134 case OCTEON_FEATURE_MDIO_CLAUSE_45:
215 return !(OCTEON_IS_MODEL(OCTEON_CN3XXX) 135 return !(OCTEON_IS_MODEL(OCTEON_CN3XXX)
216 || OCTEON_IS_MODEL(OCTEON_CN58XX) 136 || OCTEON_IS_MODEL(OCTEON_CN58XX)
217 || OCTEON_IS_MODEL(OCTEON_CN50XX)); 137 || OCTEON_IS_MODEL(OCTEON_CN50XX));
218
219 case OCTEON_FEATURE_NPEI:
220 return OCTEON_IS_MODEL(OCTEON_CN56XX)
221 || OCTEON_IS_MODEL(OCTEON_CN52XX);
222
223 case OCTEON_FEATURE_PKND:
224 return OCTEON_IS_MODEL(OCTEON_CN68XX);
225
226 case OCTEON_FEATURE_CN68XX_WQE:
227 return OCTEON_IS_MODEL(OCTEON_CN68XX);
228
229 case OCTEON_FEATURE_CIU2:
230 return OCTEON_IS_MODEL(OCTEON_CN68XX);
231
232 default:
233 break;
234 } 138 }
235 return 0; 139 return 0;
236} 140}
diff --git a/arch/mips/include/asm/octeon/octeon-model.h b/arch/mips/include/asm/octeon/octeon-model.h
index 349bb2ba840..700f88e31ca 100644
--- a/arch/mips/include/asm/octeon/octeon-model.h
+++ b/arch/mips/include/asm/octeon/octeon-model.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-2008 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
@@ -24,6 +24,14 @@
24 * This file may also be available under a different license from Cavium. 24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information 25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/ 26 ***********************license end**************************************/
27
28/*
29 *
30 * File defining different Octeon model IDs and macros to
31 * compare them.
32 *
33 */
34
27#ifndef __OCTEON_MODEL_H__ 35#ifndef __OCTEON_MODEL_H__
28#define __OCTEON_MODEL_H__ 36#define __OCTEON_MODEL_H__
29 37
@@ -44,8 +52,6 @@
44 * for internal use only, and may change without notice. 52 * for internal use only, and may change without notice.
45 */ 53 */
46 54
47#define OCTEON_FAMILY_MASK 0x00ffff00
48
49/* Flag bits in top byte */ 55/* Flag bits in top byte */
50/* Ignores revision in model checks */ 56/* Ignores revision in model checks */
51#define OM_IGNORE_REVISION 0x01000000 57#define OM_IGNORE_REVISION 0x01000000
@@ -57,58 +63,21 @@
57#define OM_IGNORE_MINOR_REVISION 0x08000000 63#define OM_IGNORE_MINOR_REVISION 0x08000000
58#define OM_FLAG_MASK 0xff000000 64#define OM_FLAG_MASK 0xff000000
59 65
60/* Match all cn5XXX Octeon models. */ 66#define OM_MATCH_5XXX_FAMILY_MODELS 0x20000000 /* Match all cn5XXX Octeon models. */
61#define OM_MATCH_5XXX_FAMILY_MODELS 0x20000000 67#define OM_MATCH_6XXX_FAMILY_MODELS 0x40000000 /* Match all cn6XXX Octeon models. */
62/* Match all cn6XXX Octeon models. */
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)
74 68
75/* 69/*
76 * CN6XXX models with new revision encoding 70 * CN6XXX models with new revision encoding
77 */ 71 */
78#define OCTEON_CN68XX_PASS1_0 0x000d9100
79#define OCTEON_CN68XX_PASS1_1 0x000d9101
80#define OCTEON_CN68XX_PASS1_2 0x000d9102
81#define OCTEON_CN68XX_PASS2_0 0x000d9108
82
83#define OCTEON_CN68XX (OCTEON_CN68XX_PASS2_0 | OM_IGNORE_REVISION)
84#define OCTEON_CN68XX_PASS1_X (OCTEON_CN68XX_PASS1_0 | OM_IGNORE_MINOR_REVISION)
85#define OCTEON_CN68XX_PASS2_X (OCTEON_CN68XX_PASS2_0 | OM_IGNORE_MINOR_REVISION)
86
87#define OCTEON_CN68XX_PASS1 OCTEON_CN68XX_PASS1_X
88#define OCTEON_CN68XX_PASS2 OCTEON_CN68XX_PASS2_X
89
90#define OCTEON_CN66XX_PASS1_0 0x000d9200
91#define OCTEON_CN66XX_PASS1_2 0x000d9202
92
93#define OCTEON_CN66XX (OCTEON_CN66XX_PASS1_0 | OM_IGNORE_REVISION)
94#define OCTEON_CN66XX_PASS1_X (OCTEON_CN66XX_PASS1_0 | OM_IGNORE_MINOR_REVISION)
95
96#define OCTEON_CN63XX_PASS1_0 0x000d9000 72#define OCTEON_CN63XX_PASS1_0 0x000d9000
97#define OCTEON_CN63XX_PASS1_1 0x000d9001 73#define OCTEON_CN63XX_PASS1_1 0x000d9001
98#define OCTEON_CN63XX_PASS1_2 0x000d9002 74#define OCTEON_CN63XX_PASS1_2 0x000d9002
99#define OCTEON_CN63XX_PASS2_0 0x000d9008 75#define OCTEON_CN63XX_PASS2_0 0x000d9008
100#define OCTEON_CN63XX_PASS2_1 0x000d9009
101#define OCTEON_CN63XX_PASS2_2 0x000d900a
102 76
103#define OCTEON_CN63XX (OCTEON_CN63XX_PASS2_0 | OM_IGNORE_REVISION) 77#define OCTEON_CN63XX (OCTEON_CN63XX_PASS2_0 | OM_IGNORE_REVISION)
104#define OCTEON_CN63XX_PASS1_X (OCTEON_CN63XX_PASS1_0 | OM_IGNORE_MINOR_REVISION) 78#define OCTEON_CN63XX_PASS1_X (OCTEON_CN63XX_PASS1_0 | OM_IGNORE_MINOR_REVISION)
105#define OCTEON_CN63XX_PASS2_X (OCTEON_CN63XX_PASS2_0 | OM_IGNORE_MINOR_REVISION) 79#define OCTEON_CN63XX_PASS2_X (OCTEON_CN63XX_PASS2_0 | OM_IGNORE_MINOR_REVISION)
106 80
107#define OCTEON_CN61XX_PASS1_0 0x000d9300
108
109#define OCTEON_CN61XX (OCTEON_CN61XX_PASS1_0 | OM_IGNORE_REVISION)
110#define OCTEON_CN61XX_PASS1_X (OCTEON_CN61XX_PASS1_0 | OM_IGNORE_MINOR_REVISION)
111
112/* 81/*
113 * CN5XXX models with new revision encoding 82 * CN5XXX models with new revision encoding
114 */ 83 */
@@ -121,8 +90,10 @@
121#define OCTEON_CN58XX_PASS2_3 0x000d030b 90#define OCTEON_CN58XX_PASS2_3 0x000d030b
122 91
123#define OCTEON_CN58XX (OCTEON_CN58XX_PASS1_0 | OM_IGNORE_REVISION) 92#define OCTEON_CN58XX (OCTEON_CN58XX_PASS1_0 | OM_IGNORE_REVISION)
124#define OCTEON_CN58XX_PASS1_X (OCTEON_CN58XX_PASS1_0 | OM_IGNORE_MINOR_REVISION) 93#define OCTEON_CN58XX_PASS1_X (OCTEON_CN58XX_PASS1_0 \
125#define OCTEON_CN58XX_PASS2_X (OCTEON_CN58XX_PASS2_0 | OM_IGNORE_MINOR_REVISION) 94 | OM_IGNORE_MINOR_REVISION)
95#define OCTEON_CN58XX_PASS2_X (OCTEON_CN58XX_PASS2_0 \
96 | OM_IGNORE_MINOR_REVISION)
126#define OCTEON_CN58XX_PASS1 OCTEON_CN58XX_PASS1_X 97#define OCTEON_CN58XX_PASS1 OCTEON_CN58XX_PASS1_X
127#define OCTEON_CN58XX_PASS2 OCTEON_CN58XX_PASS2_X 98#define OCTEON_CN58XX_PASS2 OCTEON_CN58XX_PASS2_X
128 99
@@ -132,8 +103,10 @@
132#define OCTEON_CN56XX_PASS2_1 0x000d0409 103#define OCTEON_CN56XX_PASS2_1 0x000d0409
133 104
134#define OCTEON_CN56XX (OCTEON_CN56XX_PASS2_0 | OM_IGNORE_REVISION) 105#define OCTEON_CN56XX (OCTEON_CN56XX_PASS2_0 | OM_IGNORE_REVISION)
135#define OCTEON_CN56XX_PASS1_X (OCTEON_CN56XX_PASS1_0 | OM_IGNORE_MINOR_REVISION) 106#define OCTEON_CN56XX_PASS1_X (OCTEON_CN56XX_PASS1_0 \
136#define OCTEON_CN56XX_PASS2_X (OCTEON_CN56XX_PASS2_0 | OM_IGNORE_MINOR_REVISION) 107 | OM_IGNORE_MINOR_REVISION)
108#define OCTEON_CN56XX_PASS2_X (OCTEON_CN56XX_PASS2_0 \
109 | OM_IGNORE_MINOR_REVISION)
137#define OCTEON_CN56XX_PASS1 OCTEON_CN56XX_PASS1_X 110#define OCTEON_CN56XX_PASS1 OCTEON_CN56XX_PASS1_X
138#define OCTEON_CN56XX_PASS2 OCTEON_CN56XX_PASS2_X 111#define OCTEON_CN56XX_PASS2 OCTEON_CN56XX_PASS2_X
139 112
@@ -152,7 +125,8 @@
152#define OCTEON_CN50XX_PASS1_0 0x000d0600 125#define OCTEON_CN50XX_PASS1_0 0x000d0600
153 126
154#define OCTEON_CN50XX (OCTEON_CN50XX_PASS1_0 | OM_IGNORE_REVISION) 127#define OCTEON_CN50XX (OCTEON_CN50XX_PASS1_0 | OM_IGNORE_REVISION)
155#define OCTEON_CN50XX_PASS1_X (OCTEON_CN50XX_PASS1_0 | OM_IGNORE_MINOR_REVISION) 128#define OCTEON_CN50XX_PASS1_X (OCTEON_CN50XX_PASS1_0 \
129 | OM_IGNORE_MINOR_REVISION)
156#define OCTEON_CN50XX_PASS1 OCTEON_CN50XX_PASS1_X 130#define OCTEON_CN50XX_PASS1 OCTEON_CN50XX_PASS1_X
157 131
158/* 132/*
@@ -164,8 +138,10 @@
164#define OCTEON_CN52XX_PASS2_0 0x000d0708 138#define OCTEON_CN52XX_PASS2_0 0x000d0708
165 139
166#define OCTEON_CN52XX (OCTEON_CN52XX_PASS2_0 | OM_IGNORE_REVISION) 140#define OCTEON_CN52XX (OCTEON_CN52XX_PASS2_0 | OM_IGNORE_REVISION)
167#define OCTEON_CN52XX_PASS1_X (OCTEON_CN52XX_PASS1_0 | OM_IGNORE_MINOR_REVISION) 141#define OCTEON_CN52XX_PASS1_X (OCTEON_CN52XX_PASS1_0 \
168#define OCTEON_CN52XX_PASS2_X (OCTEON_CN52XX_PASS2_0 | OM_IGNORE_MINOR_REVISION) 142 | OM_IGNORE_MINOR_REVISION)
143#define OCTEON_CN52XX_PASS2_X (OCTEON_CN52XX_PASS2_0 \
144 | OM_IGNORE_MINOR_REVISION)
169#define OCTEON_CN52XX_PASS1 OCTEON_CN52XX_PASS1_X 145#define OCTEON_CN52XX_PASS1 OCTEON_CN52XX_PASS1_X
170#define OCTEON_CN52XX_PASS2 OCTEON_CN52XX_PASS2_X 146#define OCTEON_CN52XX_PASS2 OCTEON_CN52XX_PASS2_X
171 147
@@ -198,32 +174,31 @@
198#define OCTEON_CN3005_PASS1 (0x000d0210 | OM_CHECK_SUBMODEL) 174#define OCTEON_CN3005_PASS1 (0x000d0210 | OM_CHECK_SUBMODEL)
199#define OCTEON_CN3005_PASS1_0 (0x000d0210 | OM_CHECK_SUBMODEL) 175#define OCTEON_CN3005_PASS1_0 (0x000d0210 | OM_CHECK_SUBMODEL)
200#define OCTEON_CN3005_PASS1_1 (0x000d0212 | OM_CHECK_SUBMODEL) 176#define OCTEON_CN3005_PASS1_1 (0x000d0212 | OM_CHECK_SUBMODEL)
201#define OCTEON_CN3005 (OCTEON_CN3005_PASS1 | OM_IGNORE_REVISION | OM_CHECK_SUBMODEL) 177#define OCTEON_CN3005 (OCTEON_CN3005_PASS1 | OM_IGNORE_REVISION \
178 | OM_CHECK_SUBMODEL)
202 179
203#define OCTEON_CN3010_PASS1 (0x000d0200 | OM_CHECK_SUBMODEL) 180#define OCTEON_CN3010_PASS1 (0x000d0200 | OM_CHECK_SUBMODEL)
204#define OCTEON_CN3010_PASS1_0 (0x000d0200 | OM_CHECK_SUBMODEL) 181#define OCTEON_CN3010_PASS1_0 (0x000d0200 | OM_CHECK_SUBMODEL)
205#define OCTEON_CN3010_PASS1_1 (0x000d0202 | OM_CHECK_SUBMODEL) 182#define OCTEON_CN3010_PASS1_1 (0x000d0202 | OM_CHECK_SUBMODEL)
206#define OCTEON_CN3010 (OCTEON_CN3010_PASS1 | OM_IGNORE_REVISION | OM_CHECK_SUBMODEL) 183#define OCTEON_CN3010 (OCTEON_CN3010_PASS1 | OM_IGNORE_REVISION \
184 | OM_CHECK_SUBMODEL)
207 185
208#define OCTEON_CN3020_PASS1 (0x000d0110 | OM_CHECK_SUBMODEL) 186#define OCTEON_CN3020_PASS1 (0x000d0110 | OM_CHECK_SUBMODEL)
209#define OCTEON_CN3020_PASS1_0 (0x000d0110 | OM_CHECK_SUBMODEL) 187#define OCTEON_CN3020_PASS1_0 (0x000d0110 | OM_CHECK_SUBMODEL)
210#define OCTEON_CN3020_PASS1_1 (0x000d0112 | OM_CHECK_SUBMODEL) 188#define OCTEON_CN3020_PASS1_1 (0x000d0112 | OM_CHECK_SUBMODEL)
211#define OCTEON_CN3020 (OCTEON_CN3020_PASS1 | OM_IGNORE_REVISION | OM_CHECK_SUBMODEL) 189#define OCTEON_CN3020 (OCTEON_CN3020_PASS1 | OM_IGNORE_REVISION \
190 | OM_CHECK_SUBMODEL)
191
192
193
194/* This matches the complete family of CN3xxx CPUs, and not subsequent models */
195#define OCTEON_CN3XXX (OCTEON_CN58XX_PASS1_0 \
196 | OM_MATCH_PREVIOUS_MODELS \
197 | OM_IGNORE_REVISION)
212 198
213/*
214 * This matches the complete family of CN3xxx CPUs, and not subsequent
215 * models
216 */
217#define OCTEON_CN3XXX (OCTEON_CN58XX_PASS1_0 | OM_MATCH_PREVIOUS_MODELS | OM_IGNORE_REVISION)
218#define OCTEON_CN5XXX (OCTEON_CN58XX_PASS1_0 | OM_MATCH_5XXX_FAMILY_MODELS) 199#define OCTEON_CN5XXX (OCTEON_CN58XX_PASS1_0 | OM_MATCH_5XXX_FAMILY_MODELS)
219#define OCTEON_CN6XXX (OCTEON_CN63XX_PASS1_0 | OM_MATCH_6XXX_FAMILY_MODELS) 200#define OCTEON_CN6XXX (OCTEON_CN63XX_PASS1_0 | OM_MATCH_6XXX_FAMILY_MODELS)
220 201
221/* These are used to cover entire families of OCTEON processors */
222#define OCTEON_FAM_1 (OCTEON_CN3XXX)
223#define OCTEON_FAM_PLUS (OCTEON_CN5XXX)
224#define OCTEON_FAM_1_PLUS (OCTEON_FAM_PLUS | OM_MATCH_PREVIOUS_MODELS)
225#define OCTEON_FAM_2 (OCTEON_CN6XXX)
226
227/* The revision byte (low byte) has two different encodings. 202/* The revision byte (low byte) has two different encodings.
228 * CN3XXX: 203 * CN3XXX:
229 * 204 *
@@ -246,55 +221,90 @@
246#define OCTEON_38XX_FAMILY_MASK 0x00ffff00 221#define OCTEON_38XX_FAMILY_MASK 0x00ffff00
247#define OCTEON_38XX_FAMILY_REV_MASK 0x00ffff0f 222#define OCTEON_38XX_FAMILY_REV_MASK 0x00ffff0f
248#define OCTEON_38XX_MODEL_MASK 0x00ffff10 223#define OCTEON_38XX_MODEL_MASK 0x00ffff10
249#define OCTEON_38XX_MODEL_REV_MASK (OCTEON_38XX_FAMILY_REV_MASK | OCTEON_38XX_MODEL_MASK) 224#define OCTEON_38XX_MODEL_REV_MASK (OCTEON_38XX_FAMILY_REV_MASK \
225 | OCTEON_38XX_MODEL_MASK)
250 226
251/* CN5XXX and later use different layout of bits in the revision ID field */ 227/* CN5XXX and later use different layout of bits in the revision ID field */
252#define OCTEON_58XX_FAMILY_MASK OCTEON_38XX_FAMILY_MASK 228#define OCTEON_58XX_FAMILY_MASK OCTEON_38XX_FAMILY_MASK
253#define OCTEON_58XX_FAMILY_REV_MASK 0x00ffff3f 229#define OCTEON_58XX_FAMILY_REV_MASK 0x00ffff3f
254#define OCTEON_58XX_MODEL_MASK 0x00ffffc0 230#define OCTEON_58XX_MODEL_MASK 0x00ffffc0
255#define OCTEON_58XX_MODEL_REV_MASK (OCTEON_58XX_FAMILY_REV_MASK | OCTEON_58XX_MODEL_MASK) 231#define OCTEON_58XX_MODEL_REV_MASK (OCTEON_58XX_FAMILY_REV_MASK \
256#define OCTEON_58XX_MODEL_MINOR_REV_MASK (OCTEON_58XX_MODEL_REV_MASK & 0x00fffff8) 232 | OCTEON_58XX_MODEL_MASK)
233#define OCTEON_58XX_MODEL_MINOR_REV_MASK (OCTEON_58XX_MODEL_REV_MASK \
234 & 0x00fffff8)
257#define OCTEON_5XXX_MODEL_MASK 0x00ff0fc0 235#define OCTEON_5XXX_MODEL_MASK 0x00ff0fc0
258 236
237#define __OCTEON_MATCH_MASK__(x, y, z) (((x) & (z)) == ((y) & (z)))
238
239/* NOTE: This is for internal (to this file) use only. */
240static inline int __OCTEON_IS_MODEL_COMPILE__(uint32_t arg_model,
241 uint32_t chip_model)
242{
243 uint32_t rev_and_sub = OM_IGNORE_REVISION | OM_CHECK_SUBMODEL;
244
245 if ((arg_model & OCTEON_38XX_FAMILY_MASK) < OCTEON_CN58XX_PASS1_0) {
246 if (((arg_model & OM_FLAG_MASK) == rev_and_sub) &&
247 __OCTEON_MATCH_MASK__(chip_model, arg_model,
248 OCTEON_38XX_MODEL_MASK))
249 return 1;
250 if (((arg_model & OM_FLAG_MASK) == 0) &&
251 __OCTEON_MATCH_MASK__(chip_model, arg_model,
252 OCTEON_38XX_FAMILY_REV_MASK))
253 return 1;
254 if (((arg_model & OM_FLAG_MASK) == OM_IGNORE_REVISION) &&
255 __OCTEON_MATCH_MASK__(chip_model, arg_model,
256 OCTEON_38XX_FAMILY_MASK))
257 return 1;
258 if (((arg_model & OM_FLAG_MASK) == OM_CHECK_SUBMODEL) &&
259 __OCTEON_MATCH_MASK__((chip_model), (arg_model),
260 OCTEON_38XX_MODEL_REV_MASK))
261 return 1;
262 if ((arg_model & OM_MATCH_PREVIOUS_MODELS) &&
263 ((chip_model & OCTEON_38XX_MODEL_MASK) <
264 (arg_model & OCTEON_38XX_MODEL_MASK)))
265 return 1;
266 } else {
267 if (((arg_model & OM_FLAG_MASK) == rev_and_sub) &&
268 __OCTEON_MATCH_MASK__((chip_model), (arg_model),
269 OCTEON_58XX_MODEL_MASK))
270 return 1;
271 if (((arg_model & OM_FLAG_MASK) == 0) &&
272 __OCTEON_MATCH_MASK__((chip_model), (arg_model),
273 OCTEON_58XX_FAMILY_REV_MASK))
274 return 1;
275 if (((arg_model & OM_FLAG_MASK) == OM_IGNORE_MINOR_REVISION) &&
276 __OCTEON_MATCH_MASK__((chip_model), (arg_model),
277 OCTEON_58XX_MODEL_MINOR_REV_MASK))
278 return 1;
279 if (((arg_model & OM_FLAG_MASK) == OM_IGNORE_REVISION) &&
280 __OCTEON_MATCH_MASK__((chip_model), (arg_model),
281 OCTEON_58XX_FAMILY_MASK))
282 return 1;
283 if (((arg_model & OM_FLAG_MASK) == OM_CHECK_SUBMODEL) &&
284 __OCTEON_MATCH_MASK__((chip_model), (arg_model),
285 OCTEON_58XX_MODEL_REV_MASK))
286 return 1;
287
288 if (((arg_model & OM_MATCH_5XXX_FAMILY_MODELS) == OM_MATCH_5XXX_FAMILY_MODELS) &&
289 ((chip_model) >= OCTEON_CN58XX_PASS1_0) && ((chip_model) < OCTEON_CN63XX_PASS1_0))
290 return 1;
291
292 if (((arg_model & OM_MATCH_6XXX_FAMILY_MODELS) == OM_MATCH_6XXX_FAMILY_MODELS) &&
293 ((chip_model) >= OCTEON_CN63XX_PASS1_0))
294 return 1;
295
296 if ((arg_model & OM_MATCH_PREVIOUS_MODELS) &&
297 ((chip_model & OCTEON_58XX_MODEL_MASK) <
298 (arg_model & OCTEON_58XX_MODEL_MASK)))
299 return 1;
300 }
301 return 0;
302}
303
259/* forward declarations */ 304/* forward declarations */
260static inline uint32_t cvmx_get_proc_id(void) __attribute__ ((pure)); 305static inline uint32_t cvmx_get_proc_id(void) __attribute__ ((pure));
261static inline uint64_t cvmx_read_csr(uint64_t csr_addr); 306static inline uint64_t cvmx_read_csr(uint64_t csr_addr);
262 307
263#define __OCTEON_MATCH_MASK__(x, y, z) (((x) & (z)) == ((y) & (z)))
264
265/* NOTE: This for internal use only! */
266#define __OCTEON_IS_MODEL_COMPILE__(arg_model, chip_model) \
267((((arg_model & OCTEON_38XX_FAMILY_MASK) < OCTEON_CN58XX_PASS1_0) && ( \
268 ((((arg_model) & (OM_FLAG_MASK)) == (OM_IGNORE_REVISION | OM_CHECK_SUBMODEL)) \
269 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_38XX_MODEL_MASK)) || \
270 ((((arg_model) & (OM_FLAG_MASK)) == 0) \
271 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_38XX_FAMILY_REV_MASK)) || \
272 ((((arg_model) & (OM_FLAG_MASK)) == OM_IGNORE_REVISION) \
273 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_38XX_FAMILY_MASK)) || \
274 ((((arg_model) & (OM_FLAG_MASK)) == OM_CHECK_SUBMODEL) \
275 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_38XX_MODEL_REV_MASK)) || \
276 ((((arg_model) & (OM_MATCH_PREVIOUS_MODELS)) == OM_MATCH_PREVIOUS_MODELS) \
277 && (((chip_model) & OCTEON_38XX_MODEL_MASK) < ((arg_model) & OCTEON_38XX_MODEL_MASK))) \
278 )) || \
279 (((arg_model & OCTEON_38XX_FAMILY_MASK) >= OCTEON_CN58XX_PASS1_0) && ( \
280 ((((arg_model) & (OM_FLAG_MASK)) == (OM_IGNORE_REVISION | OM_CHECK_SUBMODEL)) \
281 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_58XX_MODEL_MASK)) || \
282 ((((arg_model) & (OM_FLAG_MASK)) == 0) \
283 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_58XX_FAMILY_REV_MASK)) || \
284 ((((arg_model) & (OM_FLAG_MASK)) == OM_IGNORE_MINOR_REVISION) \
285 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_58XX_MODEL_MINOR_REV_MASK)) || \
286 ((((arg_model) & (OM_FLAG_MASK)) == OM_IGNORE_REVISION) \
287 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_58XX_FAMILY_MASK)) || \
288 ((((arg_model) & (OM_FLAG_MASK)) == OM_CHECK_SUBMODEL) \
289 && __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_58XX_MODEL_REV_MASK)) || \
290 ((((arg_model) & (OM_MATCH_5XXX_FAMILY_MODELS)) == OM_MATCH_5XXX_FAMILY_MODELS) \
291 && ((chip_model) >= OCTEON_CN58XX_PASS1_0) && ((chip_model) < OCTEON_CN63XX_PASS1_0)) || \
292 ((((arg_model) & (OM_MATCH_6XXX_FAMILY_MODELS)) == OM_MATCH_6XXX_FAMILY_MODELS) \
293 && ((chip_model) >= OCTEON_CN63XX_PASS1_0)) || \
294 ((((arg_model) & (OM_MATCH_PREVIOUS_MODELS)) == OM_MATCH_PREVIOUS_MODELS) \
295 && (((chip_model) & OCTEON_58XX_MODEL_MASK) < ((arg_model) & OCTEON_58XX_MODEL_MASK))) \
296 )))
297
298/* NOTE: This for internal use only!!!!! */ 308/* NOTE: This for internal use only!!!!! */
299static inline int __octeon_is_model_runtime__(uint32_t model) 309static inline int __octeon_is_model_runtime__(uint32_t model)
300{ 310{
@@ -302,25 +312,22 @@ static inline int __octeon_is_model_runtime__(uint32_t model)
302 312
303 /* 313 /*
304 * Check for special case of mismarked 3005 samples. We only 314 * Check for special case of mismarked 3005 samples. We only
305 * need to check if the sub model isn't being ignored 315 * need to check if the sub model isn't being ignored.
306 */ 316 */
307 if ((model & OM_CHECK_SUBMODEL) == OM_CHECK_SUBMODEL) { 317 if ((model & OM_CHECK_SUBMODEL) == OM_CHECK_SUBMODEL) {
308 if (cpuid == OCTEON_CN3010_PASS1 && (cvmx_read_csr(0x80011800800007B8ull) & (1ull << 34))) 318 if (cpuid == OCTEON_CN3010_PASS1 \
319 && (cvmx_read_csr(0x80011800800007B8ull) & (1ull << 34)))
309 cpuid |= 0x10; 320 cpuid |= 0x10;
310 } 321 }
311 return __OCTEON_IS_MODEL_COMPILE__(model, cpuid); 322 return __OCTEON_IS_MODEL_COMPILE__(model, cpuid);
312} 323}
313 324
314/* 325/*
315 * The OCTEON_IS_MODEL macro should be used for all Octeon model checking done 326 * The OCTEON_IS_MODEL macro should be used for all Octeon model
316 * in a program. 327 * checking done in a program. This should be kept runtime if at all
317 * This should be kept runtime if at all possible and must be conditionalized 328 * possible. Any compile time (#if OCTEON_IS_MODEL) usage must be
318 * with OCTEON_IS_COMMON_BINARY() if runtime checking support is required. 329 * condtionalized with OCTEON_IS_COMMON_BINARY() if runtime checking
319 * 330 * support is required.
320 * Use of the macro in preprocessor directives ( #if OCTEON_IS_MODEL(...) )
321 * is NOT SUPPORTED, and should be replaced with CVMX_COMPILED_FOR()
322 * I.e.:
323 * #if OCTEON_IS_MODEL(OCTEON_CN56XX) -> #if CVMX_COMPILED_FOR(OCTEON_CN56XX)
324 */ 331 */
325#define OCTEON_IS_MODEL(x) __octeon_is_model_runtime__(x) 332#define OCTEON_IS_MODEL(x) __octeon_is_model_runtime__(x)
326#define OCTEON_IS_COMMON_BINARY() 1 333#define OCTEON_IS_COMMON_BINARY() 1
@@ -329,14 +336,6 @@ static inline int __octeon_is_model_runtime__(uint32_t model)
329const char *octeon_model_get_string(uint32_t chip_id); 336const char *octeon_model_get_string(uint32_t chip_id);
330const char *octeon_model_get_string_buffer(uint32_t chip_id, char *buffer); 337const char *octeon_model_get_string_buffer(uint32_t chip_id, char *buffer);
331 338
332/* 339#include "octeon-feature.h"
333 * Return the octeon family, i.e., ProcessorID of the PrID register.
334 */
335static inline uint32_t cvmx_get_octeon_family(void)
336{
337 return cvmx_get_proc_id() & OCTEON_FAMILY_MASK;
338}
339
340#include <asm/octeon/octeon-feature.h>
341 340
342#endif /* __OCTEON_MODEL_H__ */ 341#endif /* __OCTEON_MODEL_H__ */
diff --git a/arch/mips/include/asm/octeon/octeon.h b/arch/mips/include/asm/octeon/octeon.h
index 254e9954ed7..f72f768cd3a 100644
--- a/arch/mips/include/asm/octeon/octeon.h
+++ b/arch/mips/include/asm/octeon/octeon.h
@@ -8,7 +8,7 @@
8#ifndef __ASM_OCTEON_OCTEON_H 8#ifndef __ASM_OCTEON_OCTEON_H
9#define __ASM_OCTEON_OCTEON_H 9#define __ASM_OCTEON_OCTEON_H
10 10
11#include <asm/octeon/cvmx.h> 11#include "cvmx.h"
12 12
13extern uint64_t octeon_bootmem_alloc_range_phys(uint64_t size, 13extern uint64_t octeon_bootmem_alloc_range_phys(uint64_t size,
14 uint64_t alignment, 14 uint64_t alignment,
@@ -52,7 +52,6 @@ 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);
56 55
57#define OCTEON_ARGV_MAX_ARGS 64 56#define OCTEON_ARGV_MAX_ARGS 64
58#define OCTOEN_SERIAL_LEN 20 57#define OCTOEN_SERIAL_LEN 20
@@ -209,6 +208,18 @@ union octeon_cvmemctl {
209 } s; 208 } s;
210}; 209};
211 210
211struct octeon_cf_data {
212 unsigned long base_region_bias;
213 unsigned int base_region; /* The chip select region used by CF */
214 int is16bit; /* 0 - 8bit, !0 - 16bit */
215 int dma_engine; /* -1 for no DMA */
216};
217
218struct octeon_i2c_data {
219 unsigned int sys_freq;
220 unsigned int i2c_freq;
221};
222
212extern void octeon_write_lcd(const char *s); 223extern void octeon_write_lcd(const char *s);
213extern void octeon_check_cpu_bist(void); 224extern void octeon_check_cpu_bist(void);
214extern int octeon_get_boot_debug_flag(void); 225extern int octeon_get_boot_debug_flag(void);
@@ -248,7 +259,4 @@ extern uint64_t octeon_bootloader_entry_addr;
248 259
249extern void (*octeon_irq_setup_secondary)(void); 260extern void (*octeon_irq_setup_secondary)(void);
250 261
251typedef void (*octeon_irq_ip4_handler_t)(void);
252void octeon_irq_set_ip4_handler(octeon_irq_ip4_handler_t);
253
254#endif /* __ASM_OCTEON_OCTEON_H */ 262#endif /* __ASM_OCTEON_OCTEON_H */
diff --git a/arch/mips/include/asm/octeon/pci-octeon.h b/arch/mips/include/asm/octeon/pci-octeon.h
index c66734bd338..fba2ba200f5 100644
--- a/arch/mips/include/asm/octeon/pci-octeon.h
+++ b/arch/mips/include/asm/octeon/pci-octeon.h
@@ -56,8 +56,7 @@ enum octeon_dma_bar_type {
56 OCTEON_DMA_BAR_TYPE_INVALID, 56 OCTEON_DMA_BAR_TYPE_INVALID,
57 OCTEON_DMA_BAR_TYPE_SMALL, 57 OCTEON_DMA_BAR_TYPE_SMALL,
58 OCTEON_DMA_BAR_TYPE_BIG, 58 OCTEON_DMA_BAR_TYPE_BIG,
59 OCTEON_DMA_BAR_TYPE_PCIE, 59 OCTEON_DMA_BAR_TYPE_PCIE
60 OCTEON_DMA_BAR_TYPE_PCIE2
61}; 60};
62 61
63/* 62/*
diff --git a/arch/mips/include/asm/page.h b/arch/mips/include/asm/page.h
index dbaec94046d..e59cd1ac09c 100644
--- a/arch/mips/include/asm/page.h
+++ b/arch/mips/include/asm/page.h
@@ -31,19 +31,16 @@
31#define PAGE_SHIFT 16 31#define PAGE_SHIFT 16
32#endif 32#endif
33#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT) 33#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
34#define PAGE_MASK (~(PAGE_SIZE - 1)) 34#define PAGE_MASK (~((1 << PAGE_SHIFT) - 1))
35 35
36#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT 36#ifdef CONFIG_HUGETLB_PAGE
37#define HPAGE_SHIFT (PAGE_SHIFT + PAGE_SHIFT - 3) 37#define HPAGE_SHIFT (PAGE_SHIFT + PAGE_SHIFT - 3)
38#define HPAGE_SIZE (_AC(1,UL) << HPAGE_SHIFT) 38#define HPAGE_SIZE (_AC(1,UL) << HPAGE_SHIFT)
39#define HPAGE_MASK (~(HPAGE_SIZE - 1)) 39#define HPAGE_MASK (~(HPAGE_SIZE - 1))
40#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) 40#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
41#else /* !CONFIG_MIPS_HUGE_TLB_SUPPORT */ 41#endif /* CONFIG_HUGETLB_PAGE */
42#define HPAGE_SHIFT ({BUILD_BUG(); 0; }) 42
43#define HPAGE_SIZE ({BUILD_BUG(); 0; }) 43#ifndef __ASSEMBLY__
44#define HPAGE_MASK ({BUILD_BUG(); 0; })
45#define HUGETLB_PAGE_ORDER ({BUILD_BUG(); 0; })
46#endif /* CONFIG_MIPS_HUGE_TLB_SUPPORT */
47 44
48#include <linux/pfn.h> 45#include <linux/pfn.h>
49#include <asm/io.h> 46#include <asm/io.h>
@@ -137,6 +134,8 @@ typedef struct { unsigned long pgprot; } pgprot_t;
137 */ 134 */
138#define ptep_buddy(x) ((pte_t *)((unsigned long)(x) ^ sizeof(pte_t))) 135#define ptep_buddy(x) ((pte_t *)((unsigned long)(x) ^ sizeof(pte_t)))
139 136
137#endif /* !__ASSEMBLY__ */
138
140/* 139/*
141 * __pa()/__va() should be used only during mem init. 140 * __pa()/__va() should be used only during mem init.
142 */ 141 */
@@ -198,10 +197,7 @@ typedef struct { unsigned long pgprot; } pgprot_t;
198#endif 197#endif
199 198
200#define virt_to_page(kaddr) pfn_to_page(PFN_DOWN(virt_to_phys(kaddr))) 199#define virt_to_page(kaddr) pfn_to_page(PFN_DOWN(virt_to_phys(kaddr)))
201 200#define virt_addr_valid(kaddr) pfn_valid(PFN_DOWN(virt_to_phys(kaddr)))
202extern int __virt_addr_valid(const volatile void *kaddr);
203#define virt_addr_valid(kaddr) \
204 __virt_addr_valid((const volatile void *) (kaddr))
205 201
206#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ 202#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
207 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) 203 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
diff --git a/arch/mips/include/asm/pci.h b/arch/mips/include/asm/pci.h
index d69ea743272..576397c6992 100644
--- a/arch/mips/include/asm/pci.h
+++ b/arch/mips/include/asm/pci.h
@@ -17,7 +17,6 @@
17 */ 17 */
18 18
19#include <linux/ioport.h> 19#include <linux/ioport.h>
20#include <linux/of.h>
21 20
22/* 21/*
23 * Each pci channel is a top-level PCI bus seem by CPU. A machine with 22 * Each pci channel is a top-level PCI bus seem by CPU. A machine with
@@ -27,7 +26,6 @@
27struct pci_controller { 26struct pci_controller {
28 struct pci_controller *next; 27 struct pci_controller *next;
29 struct pci_bus *bus; 28 struct pci_bus *bus;
30 struct device_node *of_node;
31 29
32 struct pci_ops *pci_ops; 30 struct pci_ops *pci_ops;
33 struct resource *mem_resource; 31 struct resource *mem_resource;
@@ -94,7 +92,6 @@ extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
94#include <asm/scatterlist.h> 92#include <asm/scatterlist.h>
95#include <linux/string.h> 93#include <linux/string.h>
96#include <asm/io.h> 94#include <asm/io.h>
97#include <asm-generic/pci-bridge.h>
98 95
99struct pci_dev; 96struct pci_dev;
100 97
@@ -115,6 +112,12 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev,
115} 112}
116#endif 113#endif
117 114
115extern void pcibios_resource_to_bus(struct pci_dev *dev,
116 struct pci_bus_region *region, struct resource *res);
117
118extern void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
119 struct pci_bus_region *region);
120
118#define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index 121#define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index
119 122
120static inline int pci_proc_domain(struct pci_bus *bus) 123static inline int pci_proc_domain(struct pci_bus *bus)
@@ -142,10 +145,8 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
142#define arch_setup_msi_irqs arch_setup_msi_irqs 145#define arch_setup_msi_irqs arch_setup_msi_irqs
143#endif 146#endif
144 147
145extern char * (*pcibios_plat_setup)(char *str); 148extern int pci_probe_only;
146 149
147/* this function parses memory ranges from a device node */ 150extern char * (*pcibios_plat_setup)(char *str);
148extern void pci_load_of_ranges(struct pci_controller *hose,
149 struct device_node *node);
150 151
151#endif /* _ASM_PCI_H */ 152#endif /* _ASM_PCI_H */
diff --git a/arch/mips/include/asm/pgtable-32.h b/arch/mips/include/asm/pgtable-32.h
index 5d56bb23034..8a153d2fa62 100644
--- a/arch/mips/include/asm/pgtable-32.h
+++ b/arch/mips/include/asm/pgtable-32.h
@@ -19,7 +19,23 @@
19#include <asm-generic/pgtable-nopmd.h> 19#include <asm-generic/pgtable-nopmd.h>
20 20
21/* 21/*
22 * Basically we have the same two-level (which is the logical three level 22 * - add_wired_entry() add a fixed TLB entry, and move wired register
23 */
24extern void add_wired_entry(unsigned long entrylo0, unsigned long entrylo1,
25 unsigned long entryhi, unsigned long pagemask);
26
27/*
28 * - add_temporary_entry() add a temporary TLB entry. We use TLB entries
29 * starting at the top and working down. This is for populating the
30 * TLB before trap_init() puts the TLB miss handler in place. It
31 * should be used only for entries matching the actual page tables,
32 * to prevent inconsistencies.
33 */
34extern int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
35 unsigned long entryhi, unsigned long pagemask);
36
37
38/* Basically we have the same two-level (which is the logical three level
23 * Linux page table layout folded) page tables as the i386. Some day 39 * Linux page table layout folded) page tables as the i386. Some day
24 * when we have proper page coloring support we can have a 1% quicker 40 * when we have proper page coloring support we can have a 1% quicker
25 * tlb refill handling mechanism, but for now it is a bit slower but 41 * tlb refill handling mechanism, but for now it is a bit slower but
diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h
index c63191055e6..55908fd56b1 100644
--- a/arch/mips/include/asm/pgtable-64.h
+++ b/arch/mips/include/asm/pgtable-64.h
@@ -9,7 +9,6 @@
9#ifndef _ASM_PGTABLE_64_H 9#ifndef _ASM_PGTABLE_64_H
10#define _ASM_PGTABLE_64_H 10#define _ASM_PGTABLE_64_H
11 11
12#include <linux/compiler.h>
13#include <linux/linkage.h> 12#include <linux/linkage.h>
14 13
15#include <asm/addrspace.h> 14#include <asm/addrspace.h>
@@ -163,6 +162,7 @@ typedef struct { unsigned long pmd; } pmd_t;
163 162
164 163
165extern pmd_t invalid_pmd_table[PTRS_PER_PMD]; 164extern pmd_t invalid_pmd_table[PTRS_PER_PMD];
165extern pmd_t empty_bad_pmd_table[PTRS_PER_PMD];
166#endif 166#endif
167 167
168/* 168/*
@@ -173,19 +173,7 @@ static inline int pmd_none(pmd_t pmd)
173 return pmd_val(pmd) == (unsigned long) invalid_pte_table; 173 return pmd_val(pmd) == (unsigned long) invalid_pte_table;
174} 174}
175 175
176static inline int pmd_bad(pmd_t pmd) 176#define pmd_bad(pmd) (pmd_val(pmd) & ~PAGE_MASK)
177{
178#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
179 /* pmd_huge(pmd) but inline */
180 if (unlikely(pmd_val(pmd) & _PAGE_HUGE))
181 return 0;
182#endif
183
184 if (unlikely(pmd_val(pmd) & ~PAGE_MASK))
185 return 1;
186
187 return 0;
188}
189 177
190static inline int pmd_present(pmd_t pmd) 178static inline int pmd_present(pmd_t pmd)
191{ 179{
diff --git a/arch/mips/include/asm/pgtable-bits.h b/arch/mips/include/asm/pgtable-bits.h
index f6a0439a408..e9fe7e97ce4 100644
--- a/arch/mips/include/asm/pgtable-bits.h
+++ b/arch/mips/include/asm/pgtable-bits.h
@@ -34,72 +34,38 @@
34 */ 34 */
35#if defined(CONFIG_64BIT_PHYS_ADDR) && defined(CONFIG_CPU_MIPS32) 35#if defined(CONFIG_64BIT_PHYS_ADDR) && defined(CONFIG_CPU_MIPS32)
36 36
37/* 37#define _PAGE_PRESENT (1<<6) /* implemented in software */
38 * The following bits are directly used by the TLB hardware 38#define _PAGE_READ (1<<7) /* implemented in software */
39 */ 39#define _PAGE_WRITE (1<<8) /* implemented in software */
40#define _PAGE_R4KBUG (1 << 0) /* workaround for r4k bug */ 40#define _PAGE_ACCESSED (1<<9) /* implemented in software */
41#define _PAGE_GLOBAL (1 << 0) 41#define _PAGE_MODIFIED (1<<10) /* implemented in software */
42#define _PAGE_VALID_SHIFT 1 42#define _PAGE_FILE (1<<10) /* set:pagecache unset:swap */
43#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT) 43
44#define _PAGE_SILENT_READ (1 << 1) /* synonym */ 44#define _PAGE_R4KBUG (1<<0) /* workaround for r4k bug */
45#define _PAGE_DIRTY_SHIFT 2 45#define _PAGE_GLOBAL (1<<0)
46#define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT) /* The MIPS dirty bit */ 46#define _PAGE_VALID (1<<1)
47#define _PAGE_SILENT_WRITE (1 << 2) 47#define _PAGE_SILENT_READ (1<<1) /* synonym */
48#define _CACHE_SHIFT 3 48#define _PAGE_DIRTY (1<<2) /* The MIPS dirty bit */
49#define _CACHE_MASK (7 << 3) 49#define _PAGE_SILENT_WRITE (1<<2)
50 50#define _CACHE_SHIFT 3
51/* 51#define _CACHE_MASK (7<<3)
52 * The following bits are implemented in software
53 *
54 * _PAGE_FILE semantics: set:pagecache unset:swap
55 */
56#define _PAGE_PRESENT_SHIFT 6
57#define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT)
58#define _PAGE_READ_SHIFT 7
59#define _PAGE_READ (1 << _PAGE_READ_SHIFT)
60#define _PAGE_WRITE_SHIFT 8
61#define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT)
62#define _PAGE_ACCESSED_SHIFT 9
63#define _PAGE_ACCESSED (1 << _PAGE_ACCESSED_SHIFT)
64#define _PAGE_MODIFIED_SHIFT 10
65#define _PAGE_MODIFIED (1 << _PAGE_MODIFIED_SHIFT)
66
67#define _PAGE_FILE (1 << 10)
68 52
69#elif defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX) 53#elif defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX)
70 54
71/* 55#define _PAGE_PRESENT (1<<0) /* implemented in software */
72 * The following are implemented by software 56#define _PAGE_READ (1<<1) /* implemented in software */
73 * 57#define _PAGE_WRITE (1<<2) /* implemented in software */
74 * _PAGE_FILE semantics: set:pagecache unset:swap 58#define _PAGE_ACCESSED (1<<3) /* implemented in software */
75 */ 59#define _PAGE_MODIFIED (1<<4) /* implemented in software */
76#define _PAGE_PRESENT_SHIFT 0 60#define _PAGE_FILE (1<<4) /* set:pagecache unset:swap */
77#define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT) 61
78#define _PAGE_READ_SHIFT 1 62#define _PAGE_GLOBAL (1<<8)
79#define _PAGE_READ (1 << _PAGE_READ_SHIFT) 63#define _PAGE_VALID (1<<9)
80#define _PAGE_WRITE_SHIFT 2 64#define _PAGE_SILENT_READ (1<<9) /* synonym */
81#define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT) 65#define _PAGE_DIRTY (1<<10) /* The MIPS dirty bit */
82#define _PAGE_ACCESSED_SHIFT 3 66#define _PAGE_SILENT_WRITE (1<<10)
83#define _PAGE_ACCESSED (1 << _PAGE_ACCESSED_SHIFT) 67#define _CACHE_UNCACHED (1<<11)
84#define _PAGE_MODIFIED_SHIFT 4 68#define _CACHE_MASK (1<<11)
85#define _PAGE_MODIFIED (1 << _PAGE_MODIFIED_SHIFT)
86#define _PAGE_FILE_SHIFT 4
87#define _PAGE_FILE (1 << _PAGE_FILE_SHIFT)
88
89/*
90 * And these are the hardware TLB bits
91 */
92#define _PAGE_GLOBAL_SHIFT 8
93#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT)
94#define _PAGE_VALID_SHIFT 9
95#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT)
96#define _PAGE_SILENT_READ (1 << _PAGE_VALID_SHIFT) /* synonym */
97#define _PAGE_DIRTY_SHIFT 10
98#define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT)
99#define _PAGE_SILENT_WRITE (1 << _PAGE_DIRTY_SHIFT)
100#define _CACHE_UNCACHED_SHIFT 11
101#define _CACHE_UNCACHED (1 << _CACHE_UNCACHED_SHIFT)
102#define _CACHE_MASK (1 << _CACHE_UNCACHED_SHIFT)
103 69
104#else /* 'Normal' r4K case */ 70#else /* 'Normal' r4K case */
105/* 71/*
@@ -110,25 +76,25 @@
110 * which is more than we need right now. 76 * which is more than we need right now.
111 */ 77 */
112 78
113/* 79/* implemented in software */
114 * The following bits are implemented in software
115 *
116 * _PAGE_READ / _PAGE_READ_SHIFT should be unused if cpu_has_rixi.
117 * _PAGE_FILE semantics: set:pagecache unset:swap
118 */
119#define _PAGE_PRESENT_SHIFT (0) 80#define _PAGE_PRESENT_SHIFT (0)
120#define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT) 81#define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT)
121#define _PAGE_READ_SHIFT (cpu_has_rixi ? _PAGE_PRESENT_SHIFT : _PAGE_PRESENT_SHIFT + 1) 82/* implemented in software, should be unused if kernel_uses_smartmips_rixi. */
122#define _PAGE_READ ({BUG_ON(cpu_has_rixi); 1 << _PAGE_READ_SHIFT; }) 83#define _PAGE_READ_SHIFT (kernel_uses_smartmips_rixi ? _PAGE_PRESENT_SHIFT : _PAGE_PRESENT_SHIFT + 1)
84#define _PAGE_READ ({if (kernel_uses_smartmips_rixi) BUG(); 1 << _PAGE_READ_SHIFT; })
85/* implemented in software */
123#define _PAGE_WRITE_SHIFT (_PAGE_READ_SHIFT + 1) 86#define _PAGE_WRITE_SHIFT (_PAGE_READ_SHIFT + 1)
124#define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT) 87#define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT)
88/* implemented in software */
125#define _PAGE_ACCESSED_SHIFT (_PAGE_WRITE_SHIFT + 1) 89#define _PAGE_ACCESSED_SHIFT (_PAGE_WRITE_SHIFT + 1)
126#define _PAGE_ACCESSED (1 << _PAGE_ACCESSED_SHIFT) 90#define _PAGE_ACCESSED (1 << _PAGE_ACCESSED_SHIFT)
91/* implemented in software */
127#define _PAGE_MODIFIED_SHIFT (_PAGE_ACCESSED_SHIFT + 1) 92#define _PAGE_MODIFIED_SHIFT (_PAGE_ACCESSED_SHIFT + 1)
128#define _PAGE_MODIFIED (1 << _PAGE_MODIFIED_SHIFT) 93#define _PAGE_MODIFIED (1 << _PAGE_MODIFIED_SHIFT)
94/* set:pagecache unset:swap */
129#define _PAGE_FILE (_PAGE_MODIFIED) 95#define _PAGE_FILE (_PAGE_MODIFIED)
130 96
131#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT 97#ifdef CONFIG_HUGETLB_PAGE
132/* huge tlb page */ 98/* huge tlb page */
133#define _PAGE_HUGE_SHIFT (_PAGE_MODIFIED_SHIFT + 1) 99#define _PAGE_HUGE_SHIFT (_PAGE_MODIFIED_SHIFT + 1)
134#define _PAGE_HUGE (1 << _PAGE_HUGE_SHIFT) 100#define _PAGE_HUGE (1 << _PAGE_HUGE_SHIFT)
@@ -137,22 +103,13 @@
137#define _PAGE_HUGE ({BUG(); 1; }) /* Dummy value */ 103#define _PAGE_HUGE ({BUG(); 1; }) /* Dummy value */
138#endif 104#endif
139 105
140#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
141/* huge tlb page */
142#define _PAGE_SPLITTING_SHIFT (_PAGE_HUGE_SHIFT + 1)
143#define _PAGE_SPLITTING (1 << _PAGE_SPLITTING_SHIFT)
144#else
145#define _PAGE_SPLITTING_SHIFT (_PAGE_HUGE_SHIFT)
146#define _PAGE_SPLITTING ({BUG(); 1; }) /* Dummy value */
147#endif
148
149/* Page cannot be executed */ 106/* Page cannot be executed */
150#define _PAGE_NO_EXEC_SHIFT (cpu_has_rixi ? _PAGE_SPLITTING_SHIFT + 1 : _PAGE_SPLITTING_SHIFT) 107#define _PAGE_NO_EXEC_SHIFT (kernel_uses_smartmips_rixi ? _PAGE_HUGE_SHIFT + 1 : _PAGE_HUGE_SHIFT)
151#define _PAGE_NO_EXEC ({BUG_ON(!cpu_has_rixi); 1 << _PAGE_NO_EXEC_SHIFT; }) 108#define _PAGE_NO_EXEC ({if (!kernel_uses_smartmips_rixi) BUG(); 1 << _PAGE_NO_EXEC_SHIFT; })
152 109
153/* Page cannot be read */ 110/* Page cannot be read */
154#define _PAGE_NO_READ_SHIFT (cpu_has_rixi ? _PAGE_NO_EXEC_SHIFT + 1 : _PAGE_NO_EXEC_SHIFT) 111#define _PAGE_NO_READ_SHIFT (kernel_uses_smartmips_rixi ? _PAGE_NO_EXEC_SHIFT + 1 : _PAGE_NO_EXEC_SHIFT)
155#define _PAGE_NO_READ ({BUG_ON(!cpu_has_rixi); 1 << _PAGE_NO_READ_SHIFT; }) 112#define _PAGE_NO_READ ({if (!kernel_uses_smartmips_rixi) BUG(); 1 << _PAGE_NO_READ_SHIFT; })
156 113
157#define _PAGE_GLOBAL_SHIFT (_PAGE_NO_READ_SHIFT + 1) 114#define _PAGE_GLOBAL_SHIFT (_PAGE_NO_READ_SHIFT + 1)
158#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT) 115#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT)
@@ -198,7 +155,7 @@
198 */ 155 */
199static inline uint64_t pte_to_entrylo(unsigned long pte_val) 156static inline uint64_t pte_to_entrylo(unsigned long pte_val)
200{ 157{
201 if (cpu_has_rixi) { 158 if (kernel_uses_smartmips_rixi) {
202 int sa; 159 int sa;
203#ifdef CONFIG_32BIT 160#ifdef CONFIG_32BIT
204 sa = 31 - _PAGE_NO_READ_SHIFT; 161 sa = 31 - _PAGE_NO_READ_SHIFT;
@@ -235,6 +192,20 @@ static inline uint64_t pte_to_entrylo(unsigned long pte_val)
235#define _CACHE_CACHABLE_NONCOHERENT (5<<_CACHE_SHIFT) 192#define _CACHE_CACHABLE_NONCOHERENT (5<<_CACHE_SHIFT)
236#define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT) 193#define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT)
237 194
195#elif defined(CONFIG_CPU_RM9000)
196
197#define _CACHE_WT (0<<_CACHE_SHIFT)
198#define _CACHE_WTWA (1<<_CACHE_SHIFT)
199#define _CACHE_UC_B (2<<_CACHE_SHIFT)
200#define _CACHE_WB (3<<_CACHE_SHIFT)
201#define _CACHE_CWBEA (4<<_CACHE_SHIFT)
202#define _CACHE_CWB (5<<_CACHE_SHIFT)
203#define _CACHE_UCNB (6<<_CACHE_SHIFT)
204#define _CACHE_FPC (7<<_CACHE_SHIFT)
205
206#define _CACHE_UNCACHED _CACHE_UC_B
207#define _CACHE_CACHABLE_NONCOHERENT _CACHE_WB
208
238#else 209#else
239 210
240#define _CACHE_CACHABLE_NO_WA (0<<_CACHE_SHIFT) /* R4600 only */ 211#define _CACHE_CACHABLE_NO_WA (0<<_CACHE_SHIFT) /* R4600 only */
@@ -249,7 +220,7 @@ static inline uint64_t pte_to_entrylo(unsigned long pte_val)
249 220
250#endif 221#endif
251 222
252#define __READABLE (_PAGE_SILENT_READ | _PAGE_ACCESSED | (cpu_has_rixi ? 0 : _PAGE_READ)) 223#define __READABLE (_PAGE_SILENT_READ | _PAGE_ACCESSED | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ))
253#define __WRITEABLE (_PAGE_WRITE | _PAGE_SILENT_WRITE | _PAGE_MODIFIED) 224#define __WRITEABLE (_PAGE_WRITE | _PAGE_SILENT_WRITE | _PAGE_MODIFIED)
254 225
255#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 ec50d52cfb7..b2202a68cf0 100644
--- a/arch/mips/include/asm/pgtable.h
+++ b/arch/mips/include/asm/pgtable.h
@@ -8,7 +8,6 @@
8#ifndef _ASM_PGTABLE_H 8#ifndef _ASM_PGTABLE_H
9#define _ASM_PGTABLE_H 9#define _ASM_PGTABLE_H
10 10
11#include <linux/mmzone.h>
12#ifdef CONFIG_32BIT 11#ifdef CONFIG_32BIT
13#include <asm/pgtable-32.h> 12#include <asm/pgtable-32.h>
14#endif 13#endif
@@ -23,15 +22,15 @@ struct mm_struct;
23struct vm_area_struct; 22struct vm_area_struct;
24 23
25#define PAGE_NONE __pgprot(_PAGE_PRESENT | _CACHE_CACHABLE_NONCOHERENT) 24#define PAGE_NONE __pgprot(_PAGE_PRESENT | _CACHE_CACHABLE_NONCOHERENT)
26#define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_WRITE | (cpu_has_rixi ? 0 : _PAGE_READ) | \ 25#define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_WRITE | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ) | \
27 _page_cachable_default) 26 _page_cachable_default)
28#define PAGE_COPY __pgprot(_PAGE_PRESENT | (cpu_has_rixi ? 0 : _PAGE_READ) | \ 27#define PAGE_COPY __pgprot(_PAGE_PRESENT | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ) | \
29 (cpu_has_rixi ? _PAGE_NO_EXEC : 0) | _page_cachable_default) 28 (kernel_uses_smartmips_rixi ? _PAGE_NO_EXEC : 0) | _page_cachable_default)
30#define PAGE_READONLY __pgprot(_PAGE_PRESENT | (cpu_has_rixi ? 0 : _PAGE_READ) | \ 29#define PAGE_READONLY __pgprot(_PAGE_PRESENT | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ) | \
31 _page_cachable_default) 30 _page_cachable_default)
32#define PAGE_KERNEL __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \ 31#define PAGE_KERNEL __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \
33 _PAGE_GLOBAL | _page_cachable_default) 32 _PAGE_GLOBAL | _page_cachable_default)
34#define PAGE_USERIO __pgprot(_PAGE_PRESENT | (cpu_has_rixi ? 0 : _PAGE_READ) | _PAGE_WRITE | \ 33#define PAGE_USERIO __pgprot(_PAGE_PRESENT | (kernel_uses_smartmips_rixi ? 0 : _PAGE_READ) | _PAGE_WRITE | \
35 _page_cachable_default) 34 _page_cachable_default)
36#define PAGE_KERNEL_UNCACHED __pgprot(_PAGE_PRESENT | __READABLE | \ 35#define PAGE_KERNEL_UNCACHED __pgprot(_PAGE_PRESENT | __READABLE | \
37 __WRITEABLE | _PAGE_GLOBAL | _CACHE_UNCACHED) 36 __WRITEABLE | _PAGE_GLOBAL | _CACHE_UNCACHED)
@@ -77,7 +76,16 @@ extern unsigned long zero_page_mask;
77 76
78#define ZERO_PAGE(vaddr) \ 77#define ZERO_PAGE(vaddr) \
79 (virt_to_page((void *)(empty_zero_page + (((unsigned long)(vaddr)) & zero_page_mask)))) 78 (virt_to_page((void *)(empty_zero_page + (((unsigned long)(vaddr)) & zero_page_mask))))
80#define __HAVE_COLOR_ZERO_PAGE 79
80#define is_zero_pfn is_zero_pfn
81static inline int is_zero_pfn(unsigned long pfn)
82{
83 extern unsigned long zero_pfn;
84 unsigned long offset_from_zero_pfn = pfn - zero_pfn;
85 return offset_from_zero_pfn <= (zero_page_mask >> PAGE_SHIFT);
86}
87
88#define my_zero_pfn(addr) page_to_pfn(ZERO_PAGE(addr))
81 89
82extern void paging_init(void); 90extern void paging_init(void);
83 91
@@ -86,12 +94,7 @@ extern void paging_init(void);
86 * and a page entry and page directory to the page they refer to. 94 * and a page entry and page directory to the page they refer to.
87 */ 95 */
88#define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd)) 96#define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd))
89 97#define pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT))
90#define __pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT))
91#ifndef CONFIG_TRANSPARENT_HUGEPAGE
92#define pmd_page(pmd) __pmd_page(pmd)
93#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
94
95#define pmd_page_vaddr(pmd) pmd_val(pmd) 98#define pmd_page_vaddr(pmd) pmd_val(pmd)
96 99
97#if defined(CONFIG_64BIT_PHYS_ADDR) && defined(CONFIG_CPU_MIPS32) 100#if defined(CONFIG_64BIT_PHYS_ADDR) && defined(CONFIG_CPU_MIPS32)
@@ -104,6 +107,7 @@ static inline void set_pte(pte_t *ptep, pte_t pte)
104 ptep->pte_high = pte.pte_high; 107 ptep->pte_high = pte.pte_high;
105 smp_wmb(); 108 smp_wmb();
106 ptep->pte_low = pte.pte_low; 109 ptep->pte_low = pte.pte_low;
110 //printk("pte_high %x pte_low %x\n", ptep->pte_high, ptep->pte_low);
107 111
108 if (pte.pte_low & _PAGE_GLOBAL) { 112 if (pte.pte_low & _PAGE_GLOBAL) {
109 pte_t *buddy = ptep_buddy(ptep); 113 pte_t *buddy = ptep_buddy(ptep);
@@ -295,7 +299,7 @@ static inline pte_t pte_mkdirty(pte_t pte)
295static inline pte_t pte_mkyoung(pte_t pte) 299static inline pte_t pte_mkyoung(pte_t pte)
296{ 300{
297 pte_val(pte) |= _PAGE_ACCESSED; 301 pte_val(pte) |= _PAGE_ACCESSED;
298 if (cpu_has_rixi) { 302 if (kernel_uses_smartmips_rixi) {
299 if (!(pte_val(pte) & _PAGE_NO_READ)) 303 if (!(pte_val(pte) & _PAGE_NO_READ))
300 pte_val(pte) |= _PAGE_SILENT_READ; 304 pte_val(pte) |= _PAGE_SILENT_READ;
301 } else { 305 } else {
@@ -371,14 +375,6 @@ static inline void update_mmu_cache(struct vm_area_struct *vma,
371 __update_cache(vma, address, pte); 375 __update_cache(vma, address, pte);
372} 376}
373 377
374static inline void update_mmu_cache_pmd(struct vm_area_struct *vma,
375 unsigned long address, pmd_t *pmdp)
376{
377 pte_t pte = *(pte_t *)pmdp;
378
379 __update_tlb(vma, address, pte);
380}
381
382#define kern_addr_valid(addr) (1) 378#define kern_addr_valid(addr) (1)
383 379
384#ifdef CONFIG_64BIT_PHYS_ADDR 380#ifdef CONFIG_64BIT_PHYS_ADDR
@@ -398,157 +394,6 @@ static inline int io_remap_pfn_range(struct vm_area_struct *vma,
398 remap_pfn_range(vma, vaddr, pfn, size, prot) 394 remap_pfn_range(vma, vaddr, pfn, size, prot)
399#endif 395#endif
400 396
401#ifdef CONFIG_TRANSPARENT_HUGEPAGE
402
403extern int has_transparent_hugepage(void);
404
405static inline int pmd_trans_huge(pmd_t pmd)
406{
407 return !!(pmd_val(pmd) & _PAGE_HUGE);
408}
409
410static inline pmd_t pmd_mkhuge(pmd_t pmd)
411{
412 pmd_val(pmd) |= _PAGE_HUGE;
413
414 return pmd;
415}
416
417static inline int pmd_trans_splitting(pmd_t pmd)
418{
419 return !!(pmd_val(pmd) & _PAGE_SPLITTING);
420}
421
422static inline pmd_t pmd_mksplitting(pmd_t pmd)
423{
424 pmd_val(pmd) |= _PAGE_SPLITTING;
425
426 return pmd;
427}
428
429extern void set_pmd_at(struct mm_struct *mm, unsigned long addr,
430 pmd_t *pmdp, pmd_t pmd);
431
432#define __HAVE_ARCH_PMDP_SPLITTING_FLUSH
433/* Extern to avoid header file madness */
434extern void pmdp_splitting_flush(struct vm_area_struct *vma,
435 unsigned long address,
436 pmd_t *pmdp);
437
438#define __HAVE_ARCH_PMD_WRITE
439static inline int pmd_write(pmd_t pmd)
440{
441 return !!(pmd_val(pmd) & _PAGE_WRITE);
442}
443
444static inline pmd_t pmd_wrprotect(pmd_t pmd)
445{
446 pmd_val(pmd) &= ~(_PAGE_WRITE | _PAGE_SILENT_WRITE);
447 return pmd;
448}
449
450static inline pmd_t pmd_mkwrite(pmd_t pmd)
451{
452 pmd_val(pmd) |= _PAGE_WRITE;
453 if (pmd_val(pmd) & _PAGE_MODIFIED)
454 pmd_val(pmd) |= _PAGE_SILENT_WRITE;
455
456 return pmd;
457}
458
459static inline int pmd_dirty(pmd_t pmd)
460{
461 return !!(pmd_val(pmd) & _PAGE_MODIFIED);
462}
463
464static inline pmd_t pmd_mkclean(pmd_t pmd)
465{
466 pmd_val(pmd) &= ~(_PAGE_MODIFIED | _PAGE_SILENT_WRITE);
467 return pmd;
468}
469
470static inline pmd_t pmd_mkdirty(pmd_t pmd)
471{
472 pmd_val(pmd) |= _PAGE_MODIFIED;
473 if (pmd_val(pmd) & _PAGE_WRITE)
474 pmd_val(pmd) |= _PAGE_SILENT_WRITE;
475
476 return pmd;
477}
478
479static inline int pmd_young(pmd_t pmd)
480{
481 return !!(pmd_val(pmd) & _PAGE_ACCESSED);
482}
483
484static inline pmd_t pmd_mkold(pmd_t pmd)
485{
486 pmd_val(pmd) &= ~(_PAGE_ACCESSED|_PAGE_SILENT_READ);
487
488 return pmd;
489}
490
491static inline pmd_t pmd_mkyoung(pmd_t pmd)
492{
493 pmd_val(pmd) |= _PAGE_ACCESSED;
494
495 if (cpu_has_rixi) {
496 if (!(pmd_val(pmd) & _PAGE_NO_READ))
497 pmd_val(pmd) |= _PAGE_SILENT_READ;
498 } else {
499 if (pmd_val(pmd) & _PAGE_READ)
500 pmd_val(pmd) |= _PAGE_SILENT_READ;
501 }
502
503 return pmd;
504}
505
506/* Extern to avoid header file madness */
507extern pmd_t mk_pmd(struct page *page, pgprot_t prot);
508
509static inline unsigned long pmd_pfn(pmd_t pmd)
510{
511 return pmd_val(pmd) >> _PFN_SHIFT;
512}
513
514static inline struct page *pmd_page(pmd_t pmd)
515{
516 if (pmd_trans_huge(pmd))
517 return pfn_to_page(pmd_pfn(pmd));
518
519 return pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT);
520}
521
522static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)
523{
524 pmd_val(pmd) = (pmd_val(pmd) & _PAGE_CHG_MASK) | pgprot_val(newprot);
525 return pmd;
526}
527
528static inline pmd_t pmd_mknotpresent(pmd_t pmd)
529{
530 pmd_val(pmd) &= ~(_PAGE_PRESENT | _PAGE_VALID | _PAGE_DIRTY);
531
532 return pmd;
533}
534
535/*
536 * The generic version pmdp_get_and_clear uses a version of pmd_clear() with a
537 * different prototype.
538 */
539#define __HAVE_ARCH_PMDP_GET_AND_CLEAR
540static inline pmd_t pmdp_get_and_clear(struct mm_struct *mm,
541 unsigned long address, pmd_t *pmdp)
542{
543 pmd_t old = *pmdp;
544
545 pmd_clear(pmdp);
546
547 return old;
548}
549
550#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
551
552#include <asm-generic/pgtable.h> 397#include <asm-generic/pgtable.h>
553 398
554/* 399/*
diff --git a/arch/mips/include/asm/pmc-sierra/msp71xx/cpu-feature-overrides.h b/arch/mips/include/asm/pmc-sierra/msp71xx/cpu-feature-overrides.h
index 016fa9446ba..a80801b094b 100644
--- a/arch/mips/include/asm/pmc-sierra/msp71xx/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/pmc-sierra/msp71xx/cpu-feature-overrides.h
@@ -10,7 +10,6 @@
10 10
11#define cpu_has_mips16 1 11#define cpu_has_mips16 1
12#define cpu_has_dsp 1 12#define cpu_has_dsp 1
13/* #define cpu_has_dsp2 ??? - do runtime detection */
14#define cpu_has_mipsmt 1 13#define cpu_has_mipsmt 1
15#define cpu_has_fpu 0 14#define cpu_has_fpu 0
16 15
diff --git a/arch/mips/include/asm/pmc-sierra/msp71xx/war.h b/arch/mips/include/asm/pmc-sierra/msp71xx/war.h
index c74eb1657f5..9e2ee429c52 100644
--- a/arch/mips/include/asm/pmc-sierra/msp71xx/war.h
+++ b/arch/mips/include/asm/pmc-sierra/msp71xx/war.h
@@ -17,6 +17,7 @@
17#define MIPS4K_ICACHE_REFILL_WAR 0 17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0 18#define MIPS_CACHE_SYNC_WAR 0
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 ICACHE_REFILLS_WORKAROUND_WAR 0 21#define ICACHE_REFILLS_WORKAROUND_WAR 0
21#define R10000_LLSC_WAR 0 22#define R10000_LLSC_WAR 0
22#if defined(CONFIG_PMC_MSP7120_EVAL) || defined(CONFIG_PMC_MSP7120_GW) || \ 23#if defined(CONFIG_PMC_MSP7120_EVAL) || defined(CONFIG_PMC_MSP7120_GW) || \
diff --git a/arch/mips/include/asm/processor.h b/arch/mips/include/asm/processor.h
index bd98b503f04..c104f1039a6 100644
--- a/arch/mips/include/asm/processor.h
+++ b/arch/mips/include/asm/processor.h
@@ -19,6 +19,7 @@
19#include <asm/cpu-info.h> 19#include <asm/cpu-info.h>
20#include <asm/mipsregs.h> 20#include <asm/mipsregs.h>
21#include <asm/prefetch.h> 21#include <asm/prefetch.h>
22#include <asm/system.h>
22 23
23/* 24/*
24 * Return current * instruction pointer ("program counter"). 25 * Return current * instruction pointer ("program counter").
@@ -226,6 +227,8 @@ struct thread_struct {
226 unsigned long cp0_badvaddr; /* Last user fault */ 227 unsigned long cp0_badvaddr; /* Last user fault */
227 unsigned long cp0_baduaddr; /* Last kernel fault accessing USEG */ 228 unsigned long cp0_baduaddr; /* Last kernel fault accessing USEG */
228 unsigned long error_code; 229 unsigned long error_code;
230 unsigned long irix_trampoline; /* Wheee... */
231 unsigned long irix_oldctx;
229#ifdef CONFIG_CPU_CAVIUM_OCTEON 232#ifdef CONFIG_CPU_CAVIUM_OCTEON
230 struct octeon_cop2_state cp2 __attribute__ ((__aligned__(128))); 233 struct octeon_cop2_state cp2 __attribute__ ((__aligned__(128)));
231 struct octeon_cvmseg_state cvmseg __attribute__ ((__aligned__(128))); 234 struct octeon_cvmseg_state cvmseg __attribute__ ((__aligned__(128)));
@@ -295,6 +298,8 @@ struct thread_struct {
295 .cp0_badvaddr = 0, \ 298 .cp0_badvaddr = 0, \
296 .cp0_baduaddr = 0, \ 299 .cp0_baduaddr = 0, \
297 .error_code = 0, \ 300 .error_code = 0, \
301 .irix_trampoline = 0, \
302 .irix_oldctx = 0, \
298 /* \ 303 /* \
299 * Cavium Octeon specifics (null if not Octeon) \ 304 * Cavium Octeon specifics (null if not Octeon) \
300 */ \ 305 */ \
@@ -306,6 +311,11 @@ struct task_struct;
306/* Free all resources held by a thread. */ 311/* Free all resources held by a thread. */
307#define release_thread(thread) do { } while(0) 312#define release_thread(thread) do { } while(0)
308 313
314/* Prepare to copy thread state - unlazy all lazy status */
315#define prepare_to_copy(tsk) do { } while (0)
316
317extern long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
318
309extern unsigned long thread_saved_pc(struct task_struct *tsk); 319extern unsigned long thread_saved_pc(struct task_struct *tsk);
310 320
311/* 321/*
@@ -346,12 +356,6 @@ unsigned long get_wchan(struct task_struct *p);
346#define ARCH_HAS_PREFETCHW 356#define ARCH_HAS_PREFETCHW
347#define prefetchw(x) __builtin_prefetch((x), 1, 1) 357#define prefetchw(x) __builtin_prefetch((x), 1, 1)
348 358
349/*
350 * See Documentation/scheduler/sched-arch.txt; prevents deadlock on SMP
351 * systems.
352 */
353#define __ARCH_WANT_UNLOCKED_CTXSW
354
355#endif 359#endif
356 360
357#endif /* _ASM_PROCESSOR_H */ 361#endif /* _ASM_PROCESSOR_H */
diff --git a/arch/mips/include/asm/prom.h b/arch/mips/include/asm/prom.h
index 8808bf548b9..857d9b7858a 100644
--- a/arch/mips/include/asm/prom.h
+++ b/arch/mips/include/asm/prom.h
@@ -8,44 +8,21 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 * 9 *
10 */ 10 */
11#ifndef __ASM_PROM_H 11#ifndef __ASM_MIPS_PROM_H
12#define __ASM_PROM_H 12#define __ASM_MIPS_PROM_H
13 13
14#ifdef CONFIG_OF 14#ifdef CONFIG_OF
15#include <linux/bug.h>
16#include <linux/io.h>
17#include <linux/types.h>
18#include <asm/bootinfo.h> 15#include <asm/bootinfo.h>
19 16
20extern int early_init_dt_scan_memory_arch(unsigned long node, 17extern int early_init_dt_scan_memory_arch(unsigned long node,
21 const char *uname, int depth, void *data); 18 const char *uname, int depth, void *data);
22 19
23extern void device_tree_init(void); 20extern int reserve_mem_mach(unsigned long addr, unsigned long size);
24 21extern void free_mem_mach(unsigned long addr, unsigned long size);
25static inline unsigned long pci_address_to_pio(phys_addr_t address)
26{
27 /*
28 * The ioport address can be directly used by inX() / outX()
29 */
30 BUG_ON(address > IO_SPACE_LIMIT);
31
32 return (unsigned long) address;
33}
34#define pci_address_to_pio pci_address_to_pio
35
36struct boot_param_header;
37
38extern void __dt_setup_arch(struct boot_param_header *bph);
39
40#define dt_setup_arch(sym) \
41({ \
42 extern struct boot_param_header __dtb_##sym##_begin; \
43 \
44 __dt_setup_arch(&__dtb_##sym##_begin); \
45})
46 22
23extern void device_tree_init(void);
47#else /* CONFIG_OF */ 24#else /* CONFIG_OF */
48static inline void device_tree_init(void) { } 25static inline void device_tree_init(void) { }
49#endif /* CONFIG_OF */ 26#endif /* CONFIG_OF */
50 27
51#endif /* __ASM_PROM_H */ 28#endif /* _ASM_MIPS_PROM_H */
diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h
index a3186f2bb8a..de39b1f343e 100644
--- a/arch/mips/include/asm/ptrace.h
+++ b/arch/mips/include/asm/ptrace.h
@@ -9,12 +9,115 @@
9#ifndef _ASM_PTRACE_H 9#ifndef _ASM_PTRACE_H
10#define _ASM_PTRACE_H 10#define _ASM_PTRACE_H
11 11
12/* 0 - 31 are integer registers, 32 - 63 are fp registers. */
13#define FPR_BASE 32
14#define PC 64
15#define CAUSE 65
16#define BADVADDR 66
17#define MMHI 67
18#define MMLO 68
19#define FPC_CSR 69
20#define FPC_EIR 70
21#define DSP_BASE 71 /* 3 more hi / lo register pairs */
22#define DSP_CONTROL 77
23#define ACX 78
24
25/*
26 * This struct defines the way the registers are stored on the stack during a
27 * system call/exception. As usual the registers k0/k1 aren't being saved.
28 */
29struct pt_regs {
30#ifdef CONFIG_32BIT
31 /* Pad bytes for argument save space on the stack. */
32 unsigned long pad0[6];
33#endif
34
35 /* Saved main processor registers. */
36 unsigned long regs[32];
37
38 /* Saved special registers. */
39 unsigned long cp0_status;
40 unsigned long hi;
41 unsigned long lo;
42#ifdef CONFIG_CPU_HAS_SMARTMIPS
43 unsigned long acx;
44#endif
45 unsigned long cp0_badvaddr;
46 unsigned long cp0_cause;
47 unsigned long cp0_epc;
48#ifdef CONFIG_MIPS_MT_SMTC
49 unsigned long cp0_tcstatus;
50#endif /* CONFIG_MIPS_MT_SMTC */
51#ifdef CONFIG_CPU_CAVIUM_OCTEON
52 unsigned long long mpl[3]; /* MTM{0,1,2} */
53 unsigned long long mtp[3]; /* MTP{0,1,2} */
54#endif
55} __attribute__ ((aligned (8)));
56
57/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
58#define PTRACE_GETREGS 12
59#define PTRACE_SETREGS 13
60#define PTRACE_GETFPREGS 14
61#define PTRACE_SETFPREGS 15
62/* #define PTRACE_GETFPXREGS 18 */
63/* #define PTRACE_SETFPXREGS 19 */
64
65#define PTRACE_OLDSETOPTIONS 21
66
67#define PTRACE_GET_THREAD_AREA 25
68#define PTRACE_SET_THREAD_AREA 26
69
70/* Calls to trace a 64bit program from a 32bit program. */
71#define PTRACE_PEEKTEXT_3264 0xc0
72#define PTRACE_PEEKDATA_3264 0xc1
73#define PTRACE_POKETEXT_3264 0xc2
74#define PTRACE_POKEDATA_3264 0xc3
75#define PTRACE_GET_THREAD_AREA_3264 0xc4
76
77/* Read and write watchpoint registers. */
78enum pt_watch_style {
79 pt_watch_style_mips32,
80 pt_watch_style_mips64
81};
82struct mips32_watch_regs {
83 unsigned int watchlo[8];
84 /* Lower 16 bits of watchhi. */
85 unsigned short watchhi[8];
86 /* Valid mask and I R W bits.
87 * bit 0 -- 1 if W bit is usable.
88 * bit 1 -- 1 if R bit is usable.
89 * bit 2 -- 1 if I bit is usable.
90 * bits 3 - 11 -- Valid watchhi mask bits.
91 */
92 unsigned short watch_masks[8];
93 /* The number of valid watch register pairs. */
94 unsigned int num_valid;
95} __attribute__((aligned(8)));
96
97struct mips64_watch_regs {
98 unsigned long long watchlo[8];
99 unsigned short watchhi[8];
100 unsigned short watch_masks[8];
101 unsigned int num_valid;
102} __attribute__((aligned(8)));
103
104struct pt_watch_regs {
105 enum pt_watch_style style;
106 union {
107 struct mips32_watch_regs mips32;
108 struct mips64_watch_regs mips64;
109 };
110};
111
112#define PTRACE_GET_WATCH_REGS 0xd0
113#define PTRACE_SET_WATCH_REGS 0xd1
114
115#ifdef __KERNEL__
12 116
13#include <linux/compiler.h> 117#include <linux/compiler.h>
14#include <linux/linkage.h> 118#include <linux/linkage.h>
15#include <linux/types.h> 119#include <linux/types.h>
16#include <asm/isadep.h> 120#include <asm/isadep.h>
17#include <uapi/asm/ptrace.h>
18 121
19struct task_struct; 122struct task_struct;
20 123
@@ -34,27 +137,14 @@ extern int ptrace_set_watch_regs(struct task_struct *child,
34 */ 137 */
35#define user_mode(regs) (((regs)->cp0_status & KU_MASK) == KU_USER) 138#define user_mode(regs) (((regs)->cp0_status & KU_MASK) == KU_USER)
36 139
37static inline int is_syscall_success(struct pt_regs *regs) 140#define regs_return_value(_regs) ((_regs)->regs[2])
38{
39 return !regs->regs[7];
40}
41
42static inline long regs_return_value(struct pt_regs *regs)
43{
44 if (is_syscall_success(regs))
45 return regs->regs[2];
46 else
47 return -regs->regs[2];
48}
49
50#define instruction_pointer(regs) ((regs)->cp0_epc) 141#define instruction_pointer(regs) ((regs)->cp0_epc)
51#define profile_pc(regs) instruction_pointer(regs) 142#define profile_pc(regs) instruction_pointer(regs)
52#define user_stack_pointer(r) ((r)->regs[29])
53 143
54extern asmlinkage void syscall_trace_enter(struct pt_regs *regs); 144extern asmlinkage void syscall_trace_enter(struct pt_regs *regs);
55extern asmlinkage void syscall_trace_leave(struct pt_regs *regs); 145extern asmlinkage void syscall_trace_leave(struct pt_regs *regs);
56 146
57extern void die(const char *, struct pt_regs *) __noreturn; 147extern NORET_TYPE void die(const char *, struct pt_regs *) ATTRIB_NORET;
58 148
59static inline void die_if_kernel(const char *str, struct pt_regs *regs) 149static inline void die_if_kernel(const char *str, struct pt_regs *regs)
60{ 150{
@@ -62,10 +152,6 @@ static inline void die_if_kernel(const char *str, struct pt_regs *regs)
62 die(str, regs); 152 die(str, regs);
63} 153}
64 154
65#define current_pt_regs() \ 155#endif
66({ \
67 unsigned long sp = (unsigned long)__builtin_frame_address(0); \
68 (struct pt_regs *)((sp | (THREAD_SIZE - 1)) + 1 - 32) - 1; \
69})
70 156
71#endif /* _ASM_PTRACE_H */ 157#endif /* _ASM_PTRACE_H */
diff --git a/arch/mips/include/asm/r4k-timer.h b/arch/mips/include/asm/r4k-timer.h
index afe9e0e03fe..a37d12b3b61 100644
--- a/arch/mips/include/asm/r4k-timer.h
+++ b/arch/mips/include/asm/r4k-timer.h
@@ -12,16 +12,16 @@
12 12
13#ifdef CONFIG_SYNC_R4K 13#ifdef CONFIG_SYNC_R4K
14 14
15extern void synchronise_count_master(int cpu); 15extern void synchronise_count_master(void);
16extern void synchronise_count_slave(int cpu); 16extern void synchronise_count_slave(void);
17 17
18#else 18#else
19 19
20static inline void synchronise_count_master(int cpu) 20static inline void synchronise_count_master(void)
21{ 21{
22} 22}
23 23
24static inline void synchronise_count_slave(int cpu) 24static inline void synchronise_count_slave(void)
25{ 25{
26} 26}
27 27
diff --git a/arch/mips/include/asm/regdef.h b/arch/mips/include/asm/regdef.h
index 785a5189b37..7c8ecb6b9c4 100644
--- a/arch/mips/include/asm/regdef.h
+++ b/arch/mips/include/asm/regdef.h
@@ -6,8 +6,6 @@
6 * Copyright (C) 1985 MIPS Computer Systems, Inc. 6 * Copyright (C) 1985 MIPS Computer Systems, Inc.
7 * Copyright (C) 1994, 95, 99, 2003 by Ralf Baechle 7 * Copyright (C) 1994, 95, 99, 2003 by Ralf Baechle
8 * Copyright (C) 1990 - 1992, 1999 Silicon Graphics, Inc. 8 * Copyright (C) 1990 - 1992, 1999 Silicon Graphics, Inc.
9 * Copyright (C) 2011 Wind River Systems,
10 * written by Ralf Baechle <ralf@linux-mips.org>
11 */ 9 */
12#ifndef _ASM_REGDEF_H 10#ifndef _ASM_REGDEF_H
13#define _ASM_REGDEF_H 11#define _ASM_REGDEF_H
@@ -32,13 +30,9 @@
32#define t2 $10 30#define t2 $10
33#define t3 $11 31#define t3 $11
34#define t4 $12 32#define t4 $12
35#define ta0 $12
36#define t5 $13 33#define t5 $13
37#define ta1 $13
38#define t6 $14 34#define t6 $14
39#define ta2 $14
40#define t7 $15 35#define t7 $15
41#define ta3 $15
42#define s0 $16 /* callee saved */ 36#define s0 $16 /* callee saved */
43#define s1 $17 37#define s1 $17
44#define s2 $18 38#define s2 $18
diff --git a/arch/mips/include/asm/setup.h b/arch/mips/include/asm/setup.h
index e26589ef36e..50511aac04e 100644
--- a/arch/mips/include/asm/setup.h
+++ b/arch/mips/include/asm/setup.h
@@ -1,19 +1,10 @@
1#ifndef _MIPS_SETUP_H 1#ifndef _MIPS_SETUP_H
2#define _MIPS_SETUP_H 2#define _MIPS_SETUP_H
3 3
4#include <uapi/asm/setup.h> 4#define COMMAND_LINE_SIZE 4096
5 5
6#ifdef __KERNEL__
6extern void setup_early_printk(void); 7extern void setup_early_printk(void);
7 8#endif /* __KERNEL__ */
8extern void set_handler(unsigned long offset, void *addr, unsigned long len);
9extern void set_uncached_handler(unsigned long offset, void *addr, unsigned long len);
10
11typedef void (*vi_handler_t)(void);
12extern void *set_vi_handler(int n, vi_handler_t addr);
13
14extern void *set_except_vector(int n, void *addr);
15extern unsigned long ebase;
16extern void per_cpu_trap_init(bool);
17extern void cpu_cache_init(void);
18 9
19#endif /* __SETUP_H */ 10#endif /* __SETUP_H */
diff --git a/arch/mips/include/asm/sgiarcs.h b/arch/mips/include/asm/sgiarcs.h
index 3dce7c788b3..14934295143 100644
--- a/arch/mips/include/asm/sgiarcs.h
+++ b/arch/mips/include/asm/sgiarcs.h
@@ -366,7 +366,7 @@ struct linux_smonblock {
366 * Macros for calling a 32-bit ARC implementation from 64-bit code 366 * Macros for calling a 32-bit ARC implementation from 64-bit code
367 */ 367 */
368 368
369#if defined(CONFIG_64BIT) && defined(CONFIG_FW_ARC32) 369#if defined(CONFIG_64BIT) && defined(CONFIG_ARC32)
370 370
371#define __arc_clobbers \ 371#define __arc_clobbers \
372 "$2", "$3" /* ... */, "$8", "$9", "$10", "$11", \ 372 "$2", "$3" /* ... */, "$8", "$9", "$10", "$11", \
@@ -475,10 +475,10 @@ struct linux_smonblock {
475 __res; \ 475 __res; \
476}) 476})
477 477
478#endif /* defined(CONFIG_64BIT) && defined(CONFIG_FW_ARC32) */ 478#endif /* defined(CONFIG_64BIT) && defined(CONFIG_ARC32) */
479 479
480#if (defined(CONFIG_32BIT) && defined(CONFIG_FW_ARC32)) || \ 480#if (defined(CONFIG_32BIT) && defined(CONFIG_ARC32)) || \
481 (defined(CONFIG_64BIT) && defined(CONFIG_FW_ARC64)) 481 (defined(CONFIG_64BIT) && defined(CONFIG_ARC64))
482 482
483#define ARC_CALL0(dest) \ 483#define ARC_CALL0(dest) \
484({ long __res; \ 484({ long __res; \
diff --git a/arch/mips/include/asm/sibyte/bcm1480_int.h b/arch/mips/include/asm/sibyte/bcm1480_int.h
index fffb224d229..6109557c14e 100644
--- a/arch/mips/include/asm/sibyte/bcm1480_int.h
+++ b/arch/mips/include/asm/sibyte/bcm1480_int.h
@@ -34,7 +34,7 @@
34#ifndef _BCM1480_INT_H 34#ifndef _BCM1480_INT_H
35#define _BCM1480_INT_H 35#define _BCM1480_INT_H
36 36
37#include <asm/sibyte/sb1250_defs.h> 37#include "sb1250_defs.h"
38 38
39/* ********************************************************************* 39/* *********************************************************************
40 * Interrupt Mapper Constants 40 * Interrupt Mapper Constants
diff --git a/arch/mips/include/asm/sibyte/bcm1480_l2c.h b/arch/mips/include/asm/sibyte/bcm1480_l2c.h
index 725d38cb9d1..fd75817f7ac 100644
--- a/arch/mips/include/asm/sibyte/bcm1480_l2c.h
+++ b/arch/mips/include/asm/sibyte/bcm1480_l2c.h
@@ -33,7 +33,7 @@
33#ifndef _BCM1480_L2C_H 33#ifndef _BCM1480_L2C_H
34#define _BCM1480_L2C_H 34#define _BCM1480_L2C_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38/* 38/*
39 * Format of level 2 cache management address (Table 55) 39 * Format of level 2 cache management address (Table 55)
diff --git a/arch/mips/include/asm/sibyte/bcm1480_mc.h b/arch/mips/include/asm/sibyte/bcm1480_mc.h
index 4307a758e3b..f26a41a82b5 100644
--- a/arch/mips/include/asm/sibyte/bcm1480_mc.h
+++ b/arch/mips/include/asm/sibyte/bcm1480_mc.h
@@ -33,7 +33,7 @@
33#ifndef _BCM1480_MC_H 33#ifndef _BCM1480_MC_H
34#define _BCM1480_MC_H 34#define _BCM1480_MC_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38/* 38/*
39 * Memory Channel Configuration Register (Table 81) 39 * Memory Channel Configuration Register (Table 81)
diff --git a/arch/mips/include/asm/sibyte/bcm1480_regs.h b/arch/mips/include/asm/sibyte/bcm1480_regs.h
index 84d168ddfeb..b4077bb7261 100644
--- a/arch/mips/include/asm/sibyte/bcm1480_regs.h
+++ b/arch/mips/include/asm/sibyte/bcm1480_regs.h
@@ -32,14 +32,14 @@
32#ifndef _BCM1480_REGS_H 32#ifndef _BCM1480_REGS_H
33#define _BCM1480_REGS_H 33#define _BCM1480_REGS_H
34 34
35#include <asm/sibyte/sb1250_defs.h> 35#include "sb1250_defs.h"
36 36
37/* ********************************************************************* 37/* *********************************************************************
38 * Pull in the BCM1250's registers since a great deal of the 1480's 38 * Pull in the BCM1250's registers since a great deal of the 1480's
39 * functions are the same as the BCM1250. 39 * functions are the same as the BCM1250.
40 ********************************************************************* */ 40 ********************************************************************* */
41 41
42#include <asm/sibyte/sb1250_regs.h> 42#include "sb1250_regs.h"
43 43
44 44
45/* ********************************************************************* 45/* *********************************************************************
diff --git a/arch/mips/include/asm/sibyte/bcm1480_scd.h b/arch/mips/include/asm/sibyte/bcm1480_scd.h
index 2af3706b964..25ef24cbb92 100644
--- a/arch/mips/include/asm/sibyte/bcm1480_scd.h
+++ b/arch/mips/include/asm/sibyte/bcm1480_scd.h
@@ -32,13 +32,13 @@
32#ifndef _BCM1480_SCD_H 32#ifndef _BCM1480_SCD_H
33#define _BCM1480_SCD_H 33#define _BCM1480_SCD_H
34 34
35#include <asm/sibyte/sb1250_defs.h> 35#include "sb1250_defs.h"
36 36
37/* ********************************************************************* 37/* *********************************************************************
38 * Pull in the BCM1250's SCD since lots of stuff is the same. 38 * Pull in the BCM1250's SCD since lots of stuff is the same.
39 ********************************************************************* */ 39 ********************************************************************* */
40 40
41#include <asm/sibyte/sb1250_scd.h> 41#include "sb1250_scd.h"
42 42
43/* ********************************************************************* 43/* *********************************************************************
44 * Some general notes: 44 * Some general notes:
diff --git a/arch/mips/include/asm/sibyte/sb1250_dma.h b/arch/mips/include/asm/sibyte/sb1250_dma.h
index 6c44dfb5287..bad56171d74 100644
--- a/arch/mips/include/asm/sibyte/sb1250_dma.h
+++ b/arch/mips/include/asm/sibyte/sb1250_dma.h
@@ -36,7 +36,7 @@
36#define _SB1250_DMA_H 36#define _SB1250_DMA_H
37 37
38 38
39#include <asm/sibyte/sb1250_defs.h> 39#include "sb1250_defs.h"
40 40
41/* ********************************************************************* 41/* *********************************************************************
42 * DMA Registers 42 * DMA Registers
diff --git a/arch/mips/include/asm/sibyte/sb1250_genbus.h b/arch/mips/include/asm/sibyte/sb1250_genbus.h
index a96ded17bdc..94e9c7c8e78 100644
--- a/arch/mips/include/asm/sibyte/sb1250_genbus.h
+++ b/arch/mips/include/asm/sibyte/sb1250_genbus.h
@@ -34,7 +34,7 @@
34#ifndef _SB1250_GENBUS_H 34#ifndef _SB1250_GENBUS_H
35#define _SB1250_GENBUS_H 35#define _SB1250_GENBUS_H
36 36
37#include <asm/sibyte/sb1250_defs.h> 37#include "sb1250_defs.h"
38 38
39/* 39/*
40 * Generic Bus Region Configuration Registers (Table 11-4) 40 * Generic Bus Region Configuration Registers (Table 11-4)
diff --git a/arch/mips/include/asm/sibyte/sb1250_int.h b/arch/mips/include/asm/sibyte/sb1250_int.h
index dbea73ddd2f..f2850b4bcfd 100644
--- a/arch/mips/include/asm/sibyte/sb1250_int.h
+++ b/arch/mips/include/asm/sibyte/sb1250_int.h
@@ -33,7 +33,7 @@
33#ifndef _SB1250_INT_H 33#ifndef _SB1250_INT_H
34#define _SB1250_INT_H 34#define _SB1250_INT_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38/* ********************************************************************* 38/* *********************************************************************
39 * Interrupt Mapper Constants 39 * Interrupt Mapper Constants
diff --git a/arch/mips/include/asm/sibyte/sb1250_l2c.h b/arch/mips/include/asm/sibyte/sb1250_l2c.h
index b61a7491607..6554dcf05cf 100644
--- a/arch/mips/include/asm/sibyte/sb1250_l2c.h
+++ b/arch/mips/include/asm/sibyte/sb1250_l2c.h
@@ -33,7 +33,7 @@
33#ifndef _SB1250_L2C_H 33#ifndef _SB1250_L2C_H
34#define _SB1250_L2C_H 34#define _SB1250_L2C_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38/* 38/*
39 * Level 2 Cache Tag register (Table 5-3) 39 * Level 2 Cache Tag register (Table 5-3)
diff --git a/arch/mips/include/asm/sibyte/sb1250_ldt.h b/arch/mips/include/asm/sibyte/sb1250_ldt.h
index bf7f320d1a8..1e76cf13799 100644
--- a/arch/mips/include/asm/sibyte/sb1250_ldt.h
+++ b/arch/mips/include/asm/sibyte/sb1250_ldt.h
@@ -33,7 +33,7 @@
33#ifndef _SB1250_LDT_H 33#ifndef _SB1250_LDT_H
34#define _SB1250_LDT_H 34#define _SB1250_LDT_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38#define K_LDT_VENDOR_SIBYTE 0x166D 38#define K_LDT_VENDOR_SIBYTE 0x166D
39#define K_LDT_DEVICE_SB1250 0x0002 39#define K_LDT_DEVICE_SB1250 0x0002
diff --git a/arch/mips/include/asm/sibyte/sb1250_mac.h b/arch/mips/include/asm/sibyte/sb1250_mac.h
index cfc4d787088..77f78728423 100644
--- a/arch/mips/include/asm/sibyte/sb1250_mac.h
+++ b/arch/mips/include/asm/sibyte/sb1250_mac.h
@@ -33,7 +33,7 @@
33#ifndef _SB1250_MAC_H 33#ifndef _SB1250_MAC_H
34#define _SB1250_MAC_H 34#define _SB1250_MAC_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38/* ********************************************************************* 38/* *********************************************************************
39 * Ethernet MAC Registers 39 * Ethernet MAC Registers
diff --git a/arch/mips/include/asm/sibyte/sb1250_mc.h b/arch/mips/include/asm/sibyte/sb1250_mc.h
index 15048dcaf22..1eb1b5a8873 100644
--- a/arch/mips/include/asm/sibyte/sb1250_mc.h
+++ b/arch/mips/include/asm/sibyte/sb1250_mc.h
@@ -33,7 +33,7 @@
33#ifndef _SB1250_MC_H 33#ifndef _SB1250_MC_H
34#define _SB1250_MC_H 34#define _SB1250_MC_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38/* 38/*
39 * Memory Channel Config Register (table 6-14) 39 * Memory Channel Config Register (table 6-14)
diff --git a/arch/mips/include/asm/sibyte/sb1250_regs.h b/arch/mips/include/asm/sibyte/sb1250_regs.h
index 29b9f0b26b3..8f53ec817a5 100644
--- a/arch/mips/include/asm/sibyte/sb1250_regs.h
+++ b/arch/mips/include/asm/sibyte/sb1250_regs.h
@@ -33,7 +33,7 @@
33#ifndef _SB1250_REGS_H 33#ifndef _SB1250_REGS_H
34#define _SB1250_REGS_H 34#define _SB1250_REGS_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38 38
39/* ********************************************************************* 39/* *********************************************************************
diff --git a/arch/mips/include/asm/sibyte/sb1250_scd.h b/arch/mips/include/asm/sibyte/sb1250_scd.h
index 615e165dbd2..e49c3e89b5e 100644
--- a/arch/mips/include/asm/sibyte/sb1250_scd.h
+++ b/arch/mips/include/asm/sibyte/sb1250_scd.h
@@ -32,7 +32,7 @@
32#ifndef _SB1250_SCD_H 32#ifndef _SB1250_SCD_H
33#define _SB1250_SCD_H 33#define _SB1250_SCD_H
34 34
35#include <asm/sibyte/sb1250_defs.h> 35#include "sb1250_defs.h"
36 36
37/* ********************************************************************* 37/* *********************************************************************
38 * System control/debug registers 38 * System control/debug registers
diff --git a/arch/mips/include/asm/sibyte/sb1250_smbus.h b/arch/mips/include/asm/sibyte/sb1250_smbus.h
index 128d6b75b81..04769923cf1 100644
--- a/arch/mips/include/asm/sibyte/sb1250_smbus.h
+++ b/arch/mips/include/asm/sibyte/sb1250_smbus.h
@@ -34,7 +34,7 @@
34#ifndef _SB1250_SMBUS_H 34#ifndef _SB1250_SMBUS_H
35#define _SB1250_SMBUS_H 35#define _SB1250_SMBUS_H
36 36
37#include <asm/sibyte/sb1250_defs.h> 37#include "sb1250_defs.h"
38 38
39/* 39/*
40 * SMBus Clock Frequency Register (Table 14-2) 40 * SMBus Clock Frequency Register (Table 14-2)
diff --git a/arch/mips/include/asm/sibyte/sb1250_syncser.h b/arch/mips/include/asm/sibyte/sb1250_syncser.h
index 274e9179d32..d4b8558e0bf 100644
--- a/arch/mips/include/asm/sibyte/sb1250_syncser.h
+++ b/arch/mips/include/asm/sibyte/sb1250_syncser.h
@@ -33,7 +33,7 @@
33#ifndef _SB1250_SYNCSER_H 33#ifndef _SB1250_SYNCSER_H
34#define _SB1250_SYNCSER_H 34#define _SB1250_SYNCSER_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38/* 38/*
39 * Serial Mode Configuration Register 39 * Serial Mode Configuration Register
diff --git a/arch/mips/include/asm/sibyte/sb1250_uart.h b/arch/mips/include/asm/sibyte/sb1250_uart.h
index bb99ecac581..d835bf28014 100644
--- a/arch/mips/include/asm/sibyte/sb1250_uart.h
+++ b/arch/mips/include/asm/sibyte/sb1250_uart.h
@@ -33,7 +33,7 @@
33#ifndef _SB1250_UART_H 33#ifndef _SB1250_UART_H
34#define _SB1250_UART_H 34#define _SB1250_UART_H
35 35
36#include <asm/sibyte/sb1250_defs.h> 36#include "sb1250_defs.h"
37 37
38/* ********************************************************************** 38/* **********************************************************************
39 * DUART Registers 39 * DUART Registers
diff --git a/arch/mips/include/asm/sigcontext.h b/arch/mips/include/asm/sigcontext.h
index eeeb0f48c76..9e89cf99d4e 100644
--- a/arch/mips/include/asm/sigcontext.h
+++ b/arch/mips/include/asm/sigcontext.h
@@ -9,10 +9,71 @@
9#ifndef _ASM_SIGCONTEXT_H 9#ifndef _ASM_SIGCONTEXT_H
10#define _ASM_SIGCONTEXT_H 10#define _ASM_SIGCONTEXT_H
11 11
12#include <uapi/asm/sigcontext.h> 12#include <linux/types.h>
13#include <asm/sgidefs.h>
14
15#if _MIPS_SIM == _MIPS_SIM_ABI32
16
17/*
18 * Keep this struct definition in sync with the sigcontext fragment
19 * in arch/mips/tools/offset.c
20 */
21struct sigcontext {
22 unsigned int sc_regmask; /* Unused */
23 unsigned int sc_status; /* Unused */
24 unsigned long long sc_pc;
25 unsigned long long sc_regs[32];
26 unsigned long long sc_fpregs[32];
27 unsigned int sc_acx; /* Was sc_ownedfp */
28 unsigned int sc_fpc_csr;
29 unsigned int sc_fpc_eir; /* Unused */
30 unsigned int sc_used_math;
31 unsigned int sc_dsp; /* dsp status, was sc_ssflags */
32 unsigned long long sc_mdhi;
33 unsigned long long sc_mdlo;
34 unsigned long sc_hi1; /* Was sc_cause */
35 unsigned long sc_lo1; /* Was sc_badvaddr */
36 unsigned long sc_hi2; /* Was sc_sigset[4] */
37 unsigned long sc_lo2;
38 unsigned long sc_hi3;
39 unsigned long sc_lo3;
40};
41
42#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
13 43
14#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 44#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
15 45
46#include <linux/posix_types.h>
47/*
48 * Keep this struct definition in sync with the sigcontext fragment
49 * in arch/mips/tools/offset.c
50 *
51 * Warning: this structure illdefined with sc_badvaddr being just an unsigned
52 * int so it was changed to unsigned long in 2.6.0-test1. This may break
53 * binary compatibility - no prisoners.
54 * DSP ASE in 2.6.12-rc4. Turn sc_mdhi and sc_mdlo into an array of four
55 * entries, add sc_dsp and sc_reserved for padding. No prisoners.
56 */
57struct sigcontext {
58 __u64 sc_regs[32];
59 __u64 sc_fpregs[32];
60 __u64 sc_mdhi;
61 __u64 sc_hi1;
62 __u64 sc_hi2;
63 __u64 sc_hi3;
64 __u64 sc_mdlo;
65 __u64 sc_lo1;
66 __u64 sc_lo2;
67 __u64 sc_lo3;
68 __u64 sc_pc;
69 __u32 sc_fpc_csr;
70 __u32 sc_used_math;
71 __u32 sc_dsp;
72 __u32 sc_reserved;
73};
74
75#ifdef __KERNEL__
76
16struct sigcontext32 { 77struct sigcontext32 {
17 __u32 sc_regmask; /* Unused */ 78 __u32 sc_regmask; /* Unused */
18 __u32 sc_status; /* Unused */ 79 __u32 sc_status; /* Unused */
@@ -33,5 +94,8 @@ struct sigcontext32 {
33 __u32 sc_hi3; 94 __u32 sc_hi3;
34 __u32 sc_lo3; 95 __u32 sc_lo3;
35}; 96};
97#endif /* __KERNEL__ */
98
36#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */ 99#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
100
37#endif /* _ASM_SIGCONTEXT_H */ 101#endif /* _ASM_SIGCONTEXT_H */
diff --git a/arch/mips/include/asm/siginfo.h b/arch/mips/include/asm/siginfo.h
index dd9a762646f..20ebeb875ee 100644
--- a/arch/mips/include/asm/siginfo.h
+++ b/arch/mips/include/asm/siginfo.h
@@ -9,8 +9,108 @@
9#ifndef _ASM_SIGINFO_H 9#ifndef _ASM_SIGINFO_H
10#define _ASM_SIGINFO_H 10#define _ASM_SIGINFO_H
11 11
12#include <uapi/asm/siginfo.h>
13 12
13#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(long) + 2*sizeof(int))
14#undef __ARCH_SI_TRAPNO /* exception code needs to fill this ... */
15
16#define HAVE_ARCH_SIGINFO_T
17
18/*
19 * We duplicate the generic versions - <asm-generic/siginfo.h> is just borked
20 * by design ...
21 */
22#define HAVE_ARCH_COPY_SIGINFO
23struct siginfo;
24
25/*
26 * Careful to keep union _sifields from shifting ...
27 */
28#ifdef CONFIG_32BIT
29#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
30#endif
31#ifdef CONFIG_64BIT
32#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
33#endif
34
35#include <asm-generic/siginfo.h>
36
37typedef struct siginfo {
38 int si_signo;
39 int si_code;
40 int si_errno;
41 int __pad0[SI_MAX_SIZE / sizeof(int) - SI_PAD_SIZE - 3];
42
43 union {
44 int _pad[SI_PAD_SIZE];
45
46 /* kill() */
47 struct {
48 pid_t _pid; /* sender's pid */
49 __ARCH_SI_UID_T _uid; /* sender's uid */
50 } _kill;
51
52 /* POSIX.1b timers */
53 struct {
54 timer_t _tid; /* timer id */
55 int _overrun; /* overrun count */
56 char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)];
57 sigval_t _sigval; /* same as below */
58 int _sys_private; /* not to be passed to user */
59 } _timer;
60
61 /* POSIX.1b signals */
62 struct {
63 pid_t _pid; /* sender's pid */
64 __ARCH_SI_UID_T _uid; /* sender's uid */
65 sigval_t _sigval;
66 } _rt;
67
68 /* SIGCHLD */
69 struct {
70 pid_t _pid; /* which child */
71 __ARCH_SI_UID_T _uid; /* sender's uid */
72 int _status; /* exit code */
73 clock_t _utime;
74 clock_t _stime;
75 } _sigchld;
76
77 /* IRIX SIGCHLD */
78 struct {
79 pid_t _pid; /* which child */
80 clock_t _utime;
81 int _status; /* exit code */
82 clock_t _stime;
83 } _irix_sigchld;
84
85 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
86 struct {
87 void __user *_addr; /* faulting insn/memory ref. */
88#ifdef __ARCH_SI_TRAPNO
89 int _trapno; /* TRAP # which caused the signal */
90#endif
91 short _addr_lsb;
92 } _sigfault;
93
94 /* SIGPOLL, SIGXFSZ (To do ...) */
95 struct {
96 __ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
97 int _fd;
98 } _sigpoll;
99 } _sifields;
100} siginfo_t;
101
102/*
103 * si_code values
104 * Again these have been chosen to be IRIX compatible.
105 */
106#undef SI_ASYNCIO
107#undef SI_TIMER
108#undef SI_MESGQ
109#define SI_ASYNCIO -2 /* sent by AIO completion */
110#define SI_TIMER __SI_CODE(__SI_TIMER, -3) /* sent by timer expiration */
111#define SI_MESGQ __SI_CODE(__SI_MESGQ, -4) /* sent by real time mesq state change */
112
113#ifdef __KERNEL__
14 114
15/* 115/*
16 * Duplicated here because of <asm-generic/siginfo.h> braindamage ... 116 * Duplicated here because of <asm-generic/siginfo.h> braindamage ...
@@ -26,4 +126,6 @@ static inline void copy_siginfo(struct siginfo *to, struct siginfo *from)
26 memcpy(to, from, 3*sizeof(int) + sizeof(from->_sifields._sigchld)); 126 memcpy(to, from, 3*sizeof(int) + sizeof(from->_sifields._sigchld));
27} 127}
28 128
129#endif
130
29#endif /* _ASM_SIGINFO_H */ 131#endif /* _ASM_SIGINFO_H */
diff --git a/arch/mips/include/asm/signal.h b/arch/mips/include/asm/signal.h
index cf4a08062d1..c783f364938 100644
--- a/arch/mips/include/asm/signal.h
+++ b/arch/mips/include/asm/signal.h
@@ -9,8 +9,93 @@
9#ifndef _ASM_SIGNAL_H 9#ifndef _ASM_SIGNAL_H
10#define _ASM_SIGNAL_H 10#define _ASM_SIGNAL_H
11 11
12#include <uapi/asm/signal.h> 12#include <linux/types.h>
13 13
14#define _NSIG 128
15#define _NSIG_BPW (sizeof(unsigned long) * 8)
16#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
17
18typedef struct {
19 unsigned long sig[_NSIG_WORDS];
20} sigset_t;
21
22typedef unsigned long old_sigset_t; /* at least 32 bits */
23
24#define SIGHUP 1 /* Hangup (POSIX). */
25#define SIGINT 2 /* Interrupt (ANSI). */
26#define SIGQUIT 3 /* Quit (POSIX). */
27#define SIGILL 4 /* Illegal instruction (ANSI). */
28#define SIGTRAP 5 /* Trace trap (POSIX). */
29#define SIGIOT 6 /* IOT trap (4.2 BSD). */
30#define SIGABRT SIGIOT /* Abort (ANSI). */
31#define SIGEMT 7
32#define SIGFPE 8 /* Floating-point exception (ANSI). */
33#define SIGKILL 9 /* Kill, unblockable (POSIX). */
34#define SIGBUS 10 /* BUS error (4.2 BSD). */
35#define SIGSEGV 11 /* Segmentation violation (ANSI). */
36#define SIGSYS 12
37#define SIGPIPE 13 /* Broken pipe (POSIX). */
38#define SIGALRM 14 /* Alarm clock (POSIX). */
39#define SIGTERM 15 /* Termination (ANSI). */
40#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */
41#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */
42#define SIGCHLD 18 /* Child status has changed (POSIX). */
43#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */
44#define SIGPWR 19 /* Power failure restart (System V). */
45#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
46#define SIGURG 21 /* Urgent condition on socket (4.2 BSD). */
47#define SIGIO 22 /* I/O now possible (4.2 BSD). */
48#define SIGPOLL SIGIO /* Pollable event occurred (System V). */
49#define SIGSTOP 23 /* Stop, unblockable (POSIX). */
50#define SIGTSTP 24 /* Keyboard stop (POSIX). */
51#define SIGCONT 25 /* Continue (POSIX). */
52#define SIGTTIN 26 /* Background read from tty (POSIX). */
53#define SIGTTOU 27 /* Background write to tty (POSIX). */
54#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */
55#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */
56#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */
57#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */
58
59/* These should not be considered constants from userland. */
60#define SIGRTMIN 32
61#define SIGRTMAX _NSIG
62
63/*
64 * SA_FLAGS values:
65 *
66 * SA_ONSTACK indicates that a registered stack_t will be used.
67 * SA_RESTART flag to get restarting signals (which were the default long ago)
68 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
69 * SA_RESETHAND clears the handler when the signal is delivered.
70 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
71 * SA_NODEFER prevents the current signal from being masked in the handler.
72 *
73 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
74 * Unix names RESETHAND and NODEFER respectively.
75 */
76#define SA_ONSTACK 0x08000000
77#define SA_RESETHAND 0x80000000
78#define SA_RESTART 0x10000000
79#define SA_SIGINFO 0x00000008
80#define SA_NODEFER 0x40000000
81#define SA_NOCLDWAIT 0x00010000
82#define SA_NOCLDSTOP 0x00000001
83
84#define SA_NOMASK SA_NODEFER
85#define SA_ONESHOT SA_RESETHAND
86
87#define SA_RESTORER 0x04000000 /* Only for o32 */
88
89/*
90 * sigaltstack controls
91 */
92#define SS_ONSTACK 1
93#define SS_DISABLE 2
94
95#define MINSIGSTKSZ 2048
96#define SIGSTKSZ 8192
97
98#ifdef __KERNEL__
14 99
15#ifdef CONFIG_TRAD_SIGNALS 100#ifdef CONFIG_TRAD_SIGNALS
16#define sig_uses_siginfo(ka) ((ka)->sa.sa_flags & SA_SIGINFO) 101#define sig_uses_siginfo(ka) ((ka)->sa.sa_flags & SA_SIGINFO)
@@ -18,7 +103,37 @@
18#define sig_uses_siginfo(ka) (1) 103#define sig_uses_siginfo(ka) (1)
19#endif 104#endif
20 105
106#endif /* __KERNEL__ */
107
108#define SIG_BLOCK 1 /* for blocking signals */
109#define SIG_UNBLOCK 2 /* for unblocking signals */
110#define SIG_SETMASK 3 /* for setting the signal mask */
111
112#include <asm-generic/signal-defs.h>
113
114struct sigaction {
115 unsigned int sa_flags;
116 __sighandler_t sa_handler;
117 sigset_t sa_mask;
118};
119
120struct k_sigaction {
121 struct sigaction sa;
122};
123
124/* IRIX compatible stack_t */
125typedef struct sigaltstack {
126 void __user *ss_sp;
127 size_t ss_size;
128 int ss_flags;
129} stack_t;
130
131#ifdef __KERNEL__
21#include <asm/sigcontext.h> 132#include <asm/sigcontext.h>
22#include <asm/siginfo.h> 133#include <asm/siginfo.h>
23 134
135#define ptrace_signal_deliver(regs, cookie) do { } while (0)
136
137#endif /* __KERNEL__ */
138
24#endif /* _ASM_SIGNAL_H */ 139#endif /* _ASM_SIGNAL_H */
diff --git a/arch/mips/include/asm/smp.h b/arch/mips/include/asm/smp.h
index f33b5fd6972..d4fb4d852a6 100644
--- a/arch/mips/include/asm/smp.h
+++ b/arch/mips/include/asm/smp.h
@@ -40,8 +40,6 @@ extern int __cpu_logical_map[NR_CPUS];
40#define SMP_CALL_FUNCTION 0x2 40#define SMP_CALL_FUNCTION 0x2
41/* Octeon - Tell another core to flush its icache */ 41/* Octeon - Tell another core to flush its icache */
42#define SMP_ICACHE_FLUSH 0x4 42#define SMP_ICACHE_FLUSH 0x4
43/* Used by kexec crashdump to save all cpu's state */
44#define SMP_DUMP 0x8
45 43
46extern volatile cpumask_t cpu_callin_map; 44extern volatile cpumask_t cpu_callin_map;
47 45
@@ -93,8 +91,4 @@ static inline void arch_send_call_function_ipi_mask(const struct cpumask *mask)
93 mp_ops->send_ipi_mask(mask, SMP_CALL_FUNCTION); 91 mp_ops->send_ipi_mask(mask, SMP_CALL_FUNCTION);
94} 92}
95 93
96#if defined(CONFIG_KEXEC)
97extern void (*dump_ipi_function_ptr)(void *);
98void dump_send_ipi(void (*dump_ipi_callback)(void *));
99#endif
100#endif /* __ASM_SMP_H */ 94#endif /* __ASM_SMP_H */
diff --git a/arch/mips/include/asm/smtc.h b/arch/mips/include/asm/smtc.h
index 8935426a56a..c9736fc0632 100644
--- a/arch/mips/include/asm/smtc.h
+++ b/arch/mips/include/asm/smtc.h
@@ -33,12 +33,6 @@ typedef long asiduse;
33#endif 33#endif
34#endif 34#endif
35 35
36/*
37 * VPE Management information
38 */
39
40#define MAX_SMTC_VPES MAX_SMTC_TLBS /* FIXME: May not always be true. */
41
42extern asiduse smtc_live_asid[MAX_SMTC_TLBS][MAX_SMTC_ASIDS]; 36extern asiduse smtc_live_asid[MAX_SMTC_TLBS][MAX_SMTC_ASIDS];
43 37
44struct mm_struct; 38struct mm_struct;
diff --git a/arch/mips/include/asm/socket.h b/arch/mips/include/asm/socket.h
index 4724a563c5b..9de5190f248 100644
--- a/arch/mips/include/asm/socket.h
+++ b/arch/mips/include/asm/socket.h
@@ -9,8 +9,80 @@
9#ifndef _ASM_SOCKET_H 9#ifndef _ASM_SOCKET_H
10#define _ASM_SOCKET_H 10#define _ASM_SOCKET_H
11 11
12#include <uapi/asm/socket.h> 12#include <asm/sockios.h>
13 13
14/*
15 * For setsockopt(2)
16 *
17 * This defines are ABI conformant as far as Linux supports these ...
18 */
19#define SOL_SOCKET 0xffff
20
21#define SO_DEBUG 0x0001 /* Record debugging information. */
22#define SO_REUSEADDR 0x0004 /* Allow reuse of local addresses. */
23#define SO_KEEPALIVE 0x0008 /* Keep connections alive and send
24 SIGPIPE when they die. */
25#define SO_DONTROUTE 0x0010 /* Don't do local routing. */
26#define SO_BROADCAST 0x0020 /* Allow transmission of
27 broadcast messages. */
28#define SO_LINGER 0x0080 /* Block on close of a reliable
29 socket to transmit pending data. */
30#define SO_OOBINLINE 0x0100 /* Receive out-of-band data in-band. */
31#if 0
32To add: #define SO_REUSEPORT 0x0200 /* Allow local address and port reuse. */
33#endif
34
35#define SO_TYPE 0x1008 /* Compatible name for SO_STYLE. */
36#define SO_STYLE SO_TYPE /* Synonym */
37#define SO_ERROR 0x1007 /* get error status and clear */
38#define SO_SNDBUF 0x1001 /* Send buffer size. */
39#define SO_RCVBUF 0x1002 /* Receive buffer. */
40#define SO_SNDLOWAT 0x1003 /* send low-water mark */
41#define SO_RCVLOWAT 0x1004 /* receive low-water mark */
42#define SO_SNDTIMEO 0x1005 /* send timeout */
43#define SO_RCVTIMEO 0x1006 /* receive timeout */
44#define SO_ACCEPTCONN 0x1009
45#define SO_PROTOCOL 0x1028 /* protocol type */
46#define SO_DOMAIN 0x1029 /* domain/socket family */
47
48/* linux-specific, might as well be the same as on i386 */
49#define SO_NO_CHECK 11
50#define SO_PRIORITY 12
51#define SO_BSDCOMPAT 14
52
53#define SO_PASSCRED 17
54#define SO_PEERCRED 18
55
56/* Security levels - as per NRL IPv6 - don't actually do anything */
57#define SO_SECURITY_AUTHENTICATION 22
58#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
59#define SO_SECURITY_ENCRYPTION_NETWORK 24
60
61#define SO_BINDTODEVICE 25
62
63/* Socket filtering */
64#define SO_ATTACH_FILTER 26
65#define SO_DETACH_FILTER 27
66
67#define SO_PEERNAME 28
68#define SO_TIMESTAMP 29
69#define SCM_TIMESTAMP SO_TIMESTAMP
70
71#define SO_PEERSEC 30
72#define SO_SNDBUFFORCE 31
73#define SO_RCVBUFFORCE 33
74#define SO_PASSSEC 34
75#define SO_TIMESTAMPNS 35
76#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
77
78#define SO_MARK 36
79
80#define SO_TIMESTAMPING 37
81#define SCM_TIMESTAMPING SO_TIMESTAMPING
82
83#define SO_RXQ_OVFL 40
84
85#ifdef __KERNEL__
14 86
15/** sock_type - Socket types 87/** sock_type - Socket types
16 * 88 *
@@ -47,4 +119,6 @@ enum sock_type {
47 119
48#define ARCH_HAS_SOCKET_TYPES 1 120#define ARCH_HAS_SOCKET_TYPES 1
49 121
122#endif /* __KERNEL__ */
123
50#endif /* _ASM_SOCKET_H */ 124#endif /* _ASM_SOCKET_H */
diff --git a/arch/mips/include/asm/sparsemem.h b/arch/mips/include/asm/sparsemem.h
index 65900dab3ad..7165333ad04 100644
--- a/arch/mips/include/asm/sparsemem.h
+++ b/arch/mips/include/asm/sparsemem.h
@@ -6,11 +6,7 @@
6 * SECTION_SIZE_BITS 2^N: how big each section will be 6 * SECTION_SIZE_BITS 2^N: how big each section will be
7 * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space 7 * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space
8 */ 8 */
9#if defined(CONFIG_MIPS_HUGE_TLB_SUPPORT) && defined(CONFIG_PAGE_SIZE_64KB) 9#define SECTION_SIZE_BITS 28
10# define SECTION_SIZE_BITS 29
11#else
12# define SECTION_SIZE_BITS 28
13#endif
14#define MAX_PHYSMEM_BITS 35 10#define MAX_PHYSMEM_BITS 35
15 11
16#endif /* CONFIG_SPARSEMEM */ 12#endif /* CONFIG_SPARSEMEM */
diff --git a/arch/mips/include/asm/switch_to.h b/arch/mips/include/asm/switch_to.h
deleted file mode 100644
index 4f8ddba8c36..00000000000
--- a/arch/mips/include/asm/switch_to.h
+++ /dev/null
@@ -1,87 +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) 1994, 95, 96, 97, 98, 99, 2003, 06 by Ralf Baechle
7 * Copyright (C) 1996 by Paul M. Antoine
8 * Copyright (C) 1999 Silicon Graphics
9 * Kevin D. Kissell, kevink@mips.org and Carsten Langgaard, carstenl@mips.com
10 * Copyright (C) 2000 MIPS Technologies, Inc.
11 */
12#ifndef _ASM_SWITCH_TO_H
13#define _ASM_SWITCH_TO_H
14
15#include <asm/cpu-features.h>
16#include <asm/watch.h>
17#include <asm/dsp.h>
18
19struct task_struct;
20
21/*
22 * switch_to(n) should switch tasks to task nr n, first
23 * checking that n isn't the current task, in which case it does nothing.
24 */
25extern asmlinkage void *resume(void *last, void *next, void *next_ti, u32 __usedfpu);
26
27extern unsigned int ll_bit;
28extern struct task_struct *ll_task;
29
30#ifdef CONFIG_MIPS_MT_FPAFF
31
32/*
33 * Handle the scheduler resume end of FPU affinity management. We do this
34 * inline to try to keep the overhead down. If we have been forced to run on
35 * a "CPU" with an FPU because of a previous high level of FP computation,
36 * but did not actually use the FPU during the most recent time-slice (CU1
37 * isn't set), we undo the restriction on cpus_allowed.
38 *
39 * We're not calling set_cpus_allowed() here, because we have no need to
40 * force prompt migration - we're already switching the current CPU to a
41 * different thread.
42 */
43
44#define __mips_mt_fpaff_switch_to(prev) \
45do { \
46 struct thread_info *__prev_ti = task_thread_info(prev); \
47 \
48 if (cpu_has_fpu && \
49 test_ti_thread_flag(__prev_ti, TIF_FPUBOUND) && \
50 (!(KSTK_STATUS(prev) & ST0_CU1))) { \
51 clear_ti_thread_flag(__prev_ti, TIF_FPUBOUND); \
52 prev->cpus_allowed = prev->thread.user_cpus_allowed; \
53 } \
54 next->thread.emulated_fp = 0; \
55} while(0)
56
57#else
58#define __mips_mt_fpaff_switch_to(prev) do { (void) (prev); } while (0)
59#endif
60
61#define __clear_software_ll_bit() \
62do { \
63 if (!__builtin_constant_p(cpu_has_llsc) || !cpu_has_llsc) \
64 ll_bit = 0; \
65} while (0)
66
67#define switch_to(prev, next, last) \
68do { \
69 u32 __usedfpu; \
70 __mips_mt_fpaff_switch_to(prev); \
71 if (cpu_has_dsp) \
72 __save_dsp(prev); \
73 __clear_software_ll_bit(); \
74 __usedfpu = test_and_clear_tsk_thread_flag(prev, TIF_USEDFPU); \
75 (last) = resume(prev, next, task_thread_info(next), __usedfpu); \
76} while (0)
77
78#define finish_arch_switch(prev) \
79do { \
80 if (cpu_has_dsp) \
81 __restore_dsp(current); \
82 if (cpu_has_userlocal) \
83 write_c0_userlocal(current_thread_info()->tp_value); \
84 __restore_watch(); \
85} while (0)
86
87#endif /* _ASM_SWITCH_TO_H */
diff --git a/arch/mips/include/asm/termios.h b/arch/mips/include/asm/termios.h
index 6245b68a69a..8f77f774a2a 100644
--- a/arch/mips/include/asm/termios.h
+++ b/arch/mips/include/asm/termios.h
@@ -9,8 +9,58 @@
9#ifndef _ASM_TERMIOS_H 9#ifndef _ASM_TERMIOS_H
10#define _ASM_TERMIOS_H 10#define _ASM_TERMIOS_H
11 11
12#include <asm/uaccess.h> 12#include <linux/errno.h>
13#include <uapi/asm/termios.h> 13#include <asm/termbits.h>
14#include <asm/ioctls.h>
15
16struct sgttyb {
17 char sg_ispeed;
18 char sg_ospeed;
19 char sg_erase;
20 char sg_kill;
21 int sg_flags; /* SGI special - int, not short */
22};
23
24struct tchars {
25 char t_intrc;
26 char t_quitc;
27 char t_startc;
28 char t_stopc;
29 char t_eofc;
30 char t_brkc;
31};
32
33struct ltchars {
34 char t_suspc; /* stop process signal */
35 char t_dsuspc; /* delayed stop process signal */
36 char t_rprntc; /* reprint line */
37 char t_flushc; /* flush output (toggles) */
38 char t_werasc; /* word erase */
39 char t_lnextc; /* literal next character */
40};
41
42/* TIOCGSIZE, TIOCSSIZE not defined yet. Only needed for SunOS source
43 compatibility anyway ... */
44
45struct winsize {
46 unsigned short ws_row;
47 unsigned short ws_col;
48 unsigned short ws_xpixel;
49 unsigned short ws_ypixel;
50};
51
52#define NCC 8
53struct termio {
54 unsigned short c_iflag; /* input mode flags */
55 unsigned short c_oflag; /* output mode flags */
56 unsigned short c_cflag; /* control mode flags */
57 unsigned short c_lflag; /* local mode flags */
58 char c_line; /* line discipline */
59 unsigned char c_cc[NCCS]; /* control characters */
60};
61
62#ifdef __KERNEL__
63#include <linux/module.h>
14 64
15/* 65/*
16 * intr=^C quit=^\ erase=del kill=^U 66 * intr=^C quit=^\ erase=del kill=^U
@@ -20,6 +70,25 @@
20 * eof=^D eol=\0 70 * eof=^D eol=\0
21 */ 71 */
22#define INIT_C_CC "\003\034\177\025\1\0\0\0\021\023\032\0\022\017\027\026\004\0" 72#define INIT_C_CC "\003\034\177\025\1\0\0\0\021\023\032\0\022\017\027\026\004\0"
73#endif
74
75/* modem lines */
76#define TIOCM_LE 0x001 /* line enable */
77#define TIOCM_DTR 0x002 /* data terminal ready */
78#define TIOCM_RTS 0x004 /* request to send */
79#define TIOCM_ST 0x010 /* secondary transmit */
80#define TIOCM_SR 0x020 /* secondary receive */
81#define TIOCM_CTS 0x040 /* clear to send */
82#define TIOCM_CAR 0x100 /* carrier detect */
83#define TIOCM_CD TIOCM_CAR
84#define TIOCM_RNG 0x200 /* ring */
85#define TIOCM_RI TIOCM_RNG
86#define TIOCM_DSR 0x400 /* data set ready */
87#define TIOCM_OUT1 0x2000
88#define TIOCM_OUT2 0x4000
89#define TIOCM_LOOP 0x8000
90
91#ifdef __KERNEL__
23 92
24#include <linux/string.h> 93#include <linux/string.h>
25 94
@@ -102,4 +171,6 @@ static inline int kernel_termios_to_user_termios_1(struct termios __user *u,
102 return copy_to_user(u, k, sizeof(struct termios)) ? -EFAULT : 0; 171 return copy_to_user(u, k, sizeof(struct termios)) ? -EFAULT : 0;
103} 172}
104 173
174#endif /* defined(__KERNEL__) */
175
105#endif /* _ASM_TERMIOS_H */ 176#endif /* _ASM_TERMIOS_H */
diff --git a/arch/mips/include/asm/thread_info.h b/arch/mips/include/asm/thread_info.h
index b2050b9e64b..97f8bf6639e 100644
--- a/arch/mips/include/asm/thread_info.h
+++ b/arch/mips/include/asm/thread_info.h
@@ -29,11 +29,10 @@ struct thread_info {
29 __u32 cpu; /* current CPU */ 29 __u32 cpu; /* current CPU */
30 int preempt_count; /* 0 => preemptable, <0 => BUG */ 30 int preempt_count; /* 0 => preemptable, <0 => BUG */
31 31
32 mm_segment_t addr_limit; /* 32 mm_segment_t addr_limit; /* thread address space:
33 * thread address space limit: 33 0-0xBFFFFFFF for user-thead
34 * 0x7fffffff for user-thead 34 0-0xFFFFFFFF for kernel-thread
35 * 0xffffffff for kernel-thread 35 */
36 */
37 struct restart_block restart_block; 36 struct restart_block restart_block;
38 struct pt_regs *regs; 37 struct pt_regs *regs;
39}; 38};
@@ -61,8 +60,6 @@ struct thread_info {
61register struct thread_info *__current_thread_info __asm__("$28"); 60register struct thread_info *__current_thread_info __asm__("$28");
62#define current_thread_info() __current_thread_info 61#define current_thread_info() __current_thread_info
63 62
64#endif /* !__ASSEMBLY__ */
65
66/* thread information allocation */ 63/* thread information allocation */
67#if defined(CONFIG_PAGE_SIZE_4KB) && defined(CONFIG_32BIT) 64#if defined(CONFIG_PAGE_SIZE_4KB) && defined(CONFIG_32BIT)
68#define THREAD_SIZE_ORDER (1) 65#define THREAD_SIZE_ORDER (1)
@@ -88,6 +85,20 @@ register struct thread_info *__current_thread_info __asm__("$28");
88 85
89#define STACK_WARN (THREAD_SIZE / 8) 86#define STACK_WARN (THREAD_SIZE / 8)
90 87
88#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
89
90#ifdef CONFIG_DEBUG_STACK_USAGE
91#define alloc_thread_info_node(tsk, node) \
92 kzalloc_node(THREAD_SIZE, GFP_KERNEL, node)
93#else
94#define alloc_thread_info_node(tsk, node) \
95 kmalloc_node(THREAD_SIZE, GFP_KERNEL, node)
96#endif
97
98#define free_thread_info(info) kfree(info)
99
100#endif /* !__ASSEMBLY__ */
101
91#define PREEMPT_ACTIVE 0x10000000 102#define PREEMPT_ACTIVE 0x10000000
92 103
93/* 104/*
@@ -104,7 +115,9 @@ register struct thread_info *__current_thread_info __asm__("$28");
104#define TIF_NOTIFY_RESUME 5 /* callback before returning to user */ 115#define TIF_NOTIFY_RESUME 5 /* callback before returning to user */
105#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal() */ 116#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal() */
106#define TIF_USEDFPU 16 /* FPU was used by this task this quantum (SMP) */ 117#define TIF_USEDFPU 16 /* FPU was used by this task this quantum (SMP) */
118#define TIF_POLLING_NRFLAG 17 /* true if poll_idle() is polling TIF_NEED_RESCHED */
107#define TIF_MEMDIE 18 /* is terminating due to OOM killer */ 119#define TIF_MEMDIE 18 /* is terminating due to OOM killer */
120#define TIF_FREEZE 19
108#define TIF_FIXADE 20 /* Fix address errors in software */ 121#define TIF_FIXADE 20 /* Fix address errors in software */
109#define TIF_LOGADE 21 /* Log address errors to syslog */ 122#define TIF_LOGADE 21 /* Log address errors to syslog */
110#define TIF_32BIT_REGS 22 /* also implies 16/32 fprs */ 123#define TIF_32BIT_REGS 22 /* also implies 16/32 fprs */
@@ -113,13 +126,22 @@ register struct thread_info *__current_thread_info __asm__("$28");
113#define TIF_LOAD_WATCH 25 /* If set, load watch registers */ 126#define TIF_LOAD_WATCH 25 /* If set, load watch registers */
114#define TIF_SYSCALL_TRACE 31 /* syscall trace active */ 127#define TIF_SYSCALL_TRACE 31 /* syscall trace active */
115 128
129#ifdef CONFIG_MIPS32_O32
130#define TIF_32BIT TIF_32BIT_REGS
131#elif defined(CONFIG_MIPS32_N32)
132#define TIF_32BIT _TIF_32BIT_ADDR
133#endif /* CONFIG_MIPS32_O32 */
134
116#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) 135#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
117#define _TIF_SIGPENDING (1<<TIF_SIGPENDING) 136#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)
118#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) 137#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
119#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) 138#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
120#define _TIF_SECCOMP (1<<TIF_SECCOMP) 139#define _TIF_SECCOMP (1<<TIF_SECCOMP)
121#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) 140#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME)
141#define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK)
122#define _TIF_USEDFPU (1<<TIF_USEDFPU) 142#define _TIF_USEDFPU (1<<TIF_USEDFPU)
143#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
144#define _TIF_FREEZE (1<<TIF_FREEZE)
123#define _TIF_FIXADE (1<<TIF_FIXADE) 145#define _TIF_FIXADE (1<<TIF_FIXADE)
124#define _TIF_LOGADE (1<<TIF_LOGADE) 146#define _TIF_LOGADE (1<<TIF_LOGADE)
125#define _TIF_32BIT_REGS (1<<TIF_32BIT_REGS) 147#define _TIF_32BIT_REGS (1<<TIF_32BIT_REGS)
@@ -131,10 +153,10 @@ register struct thread_info *__current_thread_info __asm__("$28");
131#define _TIF_WORK_SYSCALL_EXIT (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT) 153#define _TIF_WORK_SYSCALL_EXIT (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT)
132 154
133/* work to do on interrupt/exception return */ 155/* work to do on interrupt/exception return */
134#define _TIF_WORK_MASK \ 156#define _TIF_WORK_MASK (0x0000ffef & \
135 (_TIF_SIGPENDING | _TIF_NEED_RESCHED | _TIF_NOTIFY_RESUME) 157 ~(_TIF_SECCOMP | _TIF_SYSCALL_AUDIT))
136/* work to do on any return to u-space */ 158/* work to do on any return to u-space */
137#define _TIF_ALLWORK_MASK (_TIF_WORK_MASK | _TIF_WORK_SYSCALL_EXIT) 159#define _TIF_ALLWORK_MASK (0x8000ffff & ~_TIF_SECCOMP)
138 160
139#endif /* __KERNEL__ */ 161#endif /* __KERNEL__ */
140 162
diff --git a/arch/mips/include/asm/time.h b/arch/mips/include/asm/time.h
index 761f2e92119..bc14447e69b 100644
--- a/arch/mips/include/asm/time.h
+++ b/arch/mips/include/asm/time.h
@@ -50,8 +50,10 @@ extern int (*perf_irq)(void);
50/* 50/*
51 * Initialize the calling CPU's compare interrupt as clockevent device 51 * Initialize the calling CPU's compare interrupt as clockevent device
52 */ 52 */
53#ifdef CONFIG_CEVT_R4K_LIB
53extern unsigned int __weak get_c0_compare_int(void); 54extern unsigned int __weak get_c0_compare_int(void);
54extern int r4k_clockevent_init(void); 55extern int r4k_clockevent_init(void);
56#endif
55 57
56static inline int mips_clockevent_init(void) 58static inline int mips_clockevent_init(void)
57{ 59{
@@ -69,7 +71,7 @@ static inline int mips_clockevent_init(void)
69/* 71/*
70 * Initialize the count register as a clocksource 72 * Initialize the count register as a clocksource
71 */ 73 */
72#ifdef CONFIG_CSRC_R4K 74#ifdef CONFIG_CSRC_R4K_LIB
73extern int init_r4k_clocksource(void); 75extern int init_r4k_clocksource(void);
74#endif 76#endif
75 77
diff --git a/arch/mips/include/asm/tlbmisc.h b/arch/mips/include/asm/tlbmisc.h
deleted file mode 100644
index 3a452282cba..00000000000
--- a/arch/mips/include/asm/tlbmisc.h
+++ /dev/null
@@ -1,10 +0,0 @@
1#ifndef __ASM_TLBMISC_H
2#define __ASM_TLBMISC_H
3
4/*
5 * - add_wired_entry() add a fixed TLB entry, and move wired register
6 */
7extern void add_wired_entry(unsigned long entrylo0, unsigned long entrylo1,
8 unsigned long entryhi, unsigned long pagemask);
9
10#endif /* __ASM_TLBMISC_H */
diff --git a/arch/mips/include/asm/traps.h b/arch/mips/include/asm/traps.h
index 420ca06b2f4..90ff2f497c5 100644
--- a/arch/mips/include/asm/traps.h
+++ b/arch/mips/include/asm/traps.h
@@ -24,19 +24,5 @@ extern int (*board_be_handler)(struct pt_regs *regs, int is_fixup);
24extern void (*board_nmi_handler_setup)(void); 24extern void (*board_nmi_handler_setup)(void);
25extern void (*board_ejtag_handler_setup)(void); 25extern void (*board_ejtag_handler_setup)(void);
26extern void (*board_bind_eic_interrupt)(int irq, int regset); 26extern void (*board_bind_eic_interrupt)(int irq, int regset);
27extern void (*board_ebase_setup)(void);
28extern void (*board_cache_error_setup)(void);
29
30extern int register_nmi_notifier(struct notifier_block *nb);
31
32#define nmi_notifier(fn, pri) \
33({ \
34 static struct notifier_block fn##_nb = { \
35 .notifier_call = fn, \
36 .priority = pri \
37 }; \
38 \
39 register_nmi_notifier(&fn##_nb); \
40})
41 27
42#endif /* _ASM_TRAPS_H */ 28#endif /* _ASM_TRAPS_H */
diff --git a/arch/mips/include/asm/txx9/jmr3927.h b/arch/mips/include/asm/txx9/jmr3927.h
index 8808d7f82da..a409c446bf1 100644
--- a/arch/mips/include/asm/txx9/jmr3927.h
+++ b/arch/mips/include/asm/txx9/jmr3927.h
@@ -12,6 +12,7 @@
12 12
13#include <asm/txx9/tx3927.h> 13#include <asm/txx9/tx3927.h>
14#include <asm/addrspace.h> 14#include <asm/addrspace.h>
15#include <asm/system.h>
15#include <asm/txx9irq.h> 16#include <asm/txx9irq.h>
16 17
17/* CS */ 18/* CS */
diff --git a/arch/mips/include/asm/types.h b/arch/mips/include/asm/types.h
index a845aafedee..533812b6188 100644
--- a/arch/mips/include/asm/types.h
+++ b/arch/mips/include/asm/types.h
@@ -11,12 +11,26 @@
11#ifndef _ASM_TYPES_H 11#ifndef _ASM_TYPES_H
12#define _ASM_TYPES_H 12#define _ASM_TYPES_H
13 13
14/*
15 * We don't use int-l64.h for the kernel anymore but still use it for
16 * userspace to avoid code changes.
17 */
18#if (_MIPS_SZLONG == 64) && !defined(__KERNEL__)
19# include <asm-generic/int-l64.h>
20#else
14# include <asm-generic/int-ll64.h> 21# include <asm-generic/int-ll64.h>
15#include <uapi/asm/types.h> 22#endif
23
24#ifndef __ASSEMBLY__
25
26typedef unsigned short umode_t;
27
28#endif /* __ASSEMBLY__ */
16 29
17/* 30/*
18 * These aren't exported outside the kernel to avoid name space clashes 31 * These aren't exported outside the kernel to avoid name space clashes
19 */ 32 */
33#ifdef __KERNEL__
20#ifndef __ASSEMBLY__ 34#ifndef __ASSEMBLY__
21 35
22/* 36/*
@@ -30,4 +44,6 @@ typedef unsigned long phys_t;
30 44
31#endif /* __ASSEMBLY__ */ 45#endif /* __ASSEMBLY__ */
32 46
47#endif /* __KERNEL__ */
48
33#endif /* _ASM_TYPES_H */ 49#endif /* _ASM_TYPES_H */
diff --git a/arch/mips/include/asm/uaccess.h b/arch/mips/include/asm/uaccess.h
index 3b92efef56d..653a412c036 100644
--- a/arch/mips/include/asm/uaccess.h
+++ b/arch/mips/include/asm/uaccess.h
@@ -687,7 +687,7 @@ extern size_t __copy_user(void *__to, const void *__from, size_t __n);
687 __MODULE_JAL(__copy_user) \ 687 __MODULE_JAL(__copy_user) \
688 : "+r" (__cu_to_r), "+r" (__cu_from_r), "+r" (__cu_len_r) \ 688 : "+r" (__cu_to_r), "+r" (__cu_from_r), "+r" (__cu_len_r) \
689 : \ 689 : \
690 : "$8", "$9", "$10", "$11", "$12", "$14", "$15", "$24", "$31", \ 690 : "$8", "$9", "$10", "$11", "$12", "$15", "$24", "$31", \
691 DADDI_SCRATCH, "memory"); \ 691 DADDI_SCRATCH, "memory"); \
692 __cu_len_r; \ 692 __cu_len_r; \
693}) 693})
@@ -797,7 +797,7 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
797 ".set\treorder" \ 797 ".set\treorder" \
798 : "+r" (__cu_to_r), "+r" (__cu_from_r), "+r" (__cu_len_r) \ 798 : "+r" (__cu_to_r), "+r" (__cu_from_r), "+r" (__cu_len_r) \
799 : \ 799 : \
800 : "$8", "$9", "$10", "$11", "$12", "$14", "$15", "$24", "$31", \ 800 : "$8", "$9", "$10", "$11", "$12", "$15", "$24", "$31", \
801 DADDI_SCRATCH, "memory"); \ 801 DADDI_SCRATCH, "memory"); \
802 __cu_len_r; \ 802 __cu_len_r; \
803}) 803})
@@ -820,7 +820,7 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
820 ".set\treorder" \ 820 ".set\treorder" \
821 : "+r" (__cu_to_r), "+r" (__cu_from_r), "+r" (__cu_len_r) \ 821 : "+r" (__cu_to_r), "+r" (__cu_from_r), "+r" (__cu_len_r) \
822 : \ 822 : \
823 : "$8", "$9", "$10", "$11", "$12", "$14", "$15", "$24", "$31", \ 823 : "$8", "$9", "$10", "$11", "$12", "$15", "$24", "$31", \
824 DADDI_SCRATCH, "memory"); \ 824 DADDI_SCRATCH, "memory"); \
825 __cu_len_r; \ 825 __cu_len_r; \
826}) 826})
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h
index 7e0bf17c932..504d40aedfa 100644
--- a/arch/mips/include/asm/uasm.h
+++ b/arch/mips/include/asm/uasm.h
@@ -6,13 +6,12 @@
6 * Copyright (C) 2004, 2005, 2006, 2008 Thiemo Seufer 6 * Copyright (C) 2004, 2005, 2006, 2008 Thiemo Seufer
7 * Copyright (C) 2005 Maciej W. Rozycki 7 * Copyright (C) 2005 Maciej W. Rozycki
8 * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org) 8 * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org)
9 * Copyright (C) 2012 MIPS Technologies, Inc.
10 */ 9 */
11 10
12#include <linux/types.h> 11#include <linux/types.h>
13 12
14#ifdef CONFIG_EXPORT_UASM 13#ifdef CONFIG_EXPORT_UASM
15#include <linux/export.h> 14#include <linux/module.h>
16#define __uasminit 15#define __uasminit
17#define __uasminitdata 16#define __uasminitdata
18#define UASM_EXPORT_SYMBOL(sym) EXPORT_SYMBOL(sym) 17#define UASM_EXPORT_SYMBOL(sym) EXPORT_SYMBOL(sym)
@@ -63,10 +62,8 @@ void __uasminit uasm_i##op(u32 **buf, unsigned int a, signed int b)
63 62
64Ip_u2u1s3(_addiu); 63Ip_u2u1s3(_addiu);
65Ip_u3u1u2(_addu); 64Ip_u3u1u2(_addu);
66Ip_u3u1u2(_and);
67Ip_u2u1u3(_andi); 65Ip_u2u1u3(_andi);
68Ip_u1u2s3(_bbit0); 66Ip_u3u1u2(_and);
69Ip_u1u2s3(_bbit1);
70Ip_u1u2s3(_beq); 67Ip_u1u2s3(_beq);
71Ip_u1u2s3(_beql); 68Ip_u1u2s3(_beql);
72Ip_u1s2(_bgez); 69Ip_u1s2(_bgez);
@@ -75,56 +72,55 @@ Ip_u1s2(_bltz);
75Ip_u1s2(_bltzl); 72Ip_u1s2(_bltzl);
76Ip_u1u2s3(_bne); 73Ip_u1u2s3(_bne);
77Ip_u2s3u1(_cache); 74Ip_u2s3u1(_cache);
78Ip_u2u1s3(_daddiu);
79Ip_u3u1u2(_daddu);
80Ip_u2u1msbu3(_dins);
81Ip_u2u1msbu3(_dinsm);
82Ip_u1u2u3(_dmfc0); 75Ip_u1u2u3(_dmfc0);
83Ip_u1u2u3(_dmtc0); 76Ip_u1u2u3(_dmtc0);
84Ip_u2u1u3(_drotr); 77Ip_u2u1s3(_daddiu);
85Ip_u2u1u3(_drotr32); 78Ip_u3u1u2(_daddu);
86Ip_u2u1u3(_dsll); 79Ip_u2u1u3(_dsll);
87Ip_u2u1u3(_dsll32); 80Ip_u2u1u3(_dsll32);
88Ip_u2u1u3(_dsra); 81Ip_u2u1u3(_dsra);
89Ip_u2u1u3(_dsrl); 82Ip_u2u1u3(_dsrl);
90Ip_u2u1u3(_dsrl32); 83Ip_u2u1u3(_dsrl32);
84Ip_u2u1u3(_drotr);
85Ip_u2u1u3(_drotr32);
91Ip_u3u1u2(_dsubu); 86Ip_u3u1u2(_dsubu);
92Ip_0(_eret); 87Ip_0(_eret);
93Ip_u2u1msbu3(_ext);
94Ip_u2u1msbu3(_ins);
95Ip_u1(_j); 88Ip_u1(_j);
96Ip_u1(_jal); 89Ip_u1(_jal);
97Ip_u1(_jr); 90Ip_u1(_jr);
98Ip_u2s3u1(_ld); 91Ip_u2s3u1(_ld);
99Ip_u3u1u2(_ldx);
100Ip_u2s3u1(_ll); 92Ip_u2s3u1(_ll);
101Ip_u2s3u1(_lld); 93Ip_u2s3u1(_lld);
102Ip_u1s2(_lui); 94Ip_u1s2(_lui);
103Ip_u2s3u1(_lw); 95Ip_u2s3u1(_lw);
104Ip_u3u1u2(_lwx);
105Ip_u1u2u3(_mfc0); 96Ip_u1u2u3(_mfc0);
106Ip_u1u2u3(_mtc0); 97Ip_u1u2u3(_mtc0);
107Ip_u3u1u2(_or);
108Ip_u2u1u3(_ori); 98Ip_u2u1u3(_ori);
99Ip_u3u1u2(_or);
109Ip_u2s3u1(_pref); 100Ip_u2s3u1(_pref);
110Ip_0(_rfe); 101Ip_0(_rfe);
111Ip_u2u1u3(_rotr);
112Ip_u2s3u1(_sc); 102Ip_u2s3u1(_sc);
113Ip_u2s3u1(_scd); 103Ip_u2s3u1(_scd);
114Ip_u2s3u1(_sd); 104Ip_u2s3u1(_sd);
115Ip_u2u1u3(_sll); 105Ip_u2u1u3(_sll);
116Ip_u2u1u3(_sra); 106Ip_u2u1u3(_sra);
117Ip_u2u1u3(_srl); 107Ip_u2u1u3(_srl);
108Ip_u2u1u3(_rotr);
118Ip_u3u1u2(_subu); 109Ip_u3u1u2(_subu);
119Ip_u2s3u1(_sw); 110Ip_u2s3u1(_sw);
120Ip_u1(_syscall);
121Ip_0(_tlbp); 111Ip_0(_tlbp);
122Ip_0(_tlbr); 112Ip_0(_tlbr);
123Ip_0(_tlbwi); 113Ip_0(_tlbwi);
124Ip_0(_tlbwr); 114Ip_0(_tlbwr);
125Ip_u3u1u2(_xor); 115Ip_u3u1u2(_xor);
126Ip_u2u1u3(_xori); 116Ip_u2u1u3(_xori);
127 117Ip_u2u1msbu3(_dins);
118Ip_u2u1msbu3(_dinsm);
119Ip_u1(_syscall);
120Ip_u1u2s3(_bbit0);
121Ip_u1u2s3(_bbit1);
122Ip_u3u1u2(_lwx);
123Ip_u3u1u2(_ldx);
128 124
129/* Handle labels. */ 125/* Handle labels. */
130struct uasm_label { 126struct uasm_label {
@@ -149,37 +145,37 @@ static inline void __uasminit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
149 145
150/* convenience macros for instructions */ 146/* convenience macros for instructions */
151#ifdef CONFIG_64BIT 147#ifdef CONFIG_64BIT
152# define UASM_i_ADDIU(buf, rs, rt, val) uasm_i_daddiu(buf, rs, rt, val)
153# define UASM_i_ADDU(buf, rs, rt, rd) uasm_i_daddu(buf, rs, rt, rd)
154# define UASM_i_LL(buf, rs, rt, off) uasm_i_lld(buf, rs, rt, off)
155# define UASM_i_LW(buf, rs, rt, off) uasm_i_ld(buf, rs, rt, off) 148# define UASM_i_LW(buf, rs, rt, off) uasm_i_ld(buf, rs, rt, off)
156# define UASM_i_LWX(buf, rs, rt, rd) uasm_i_ldx(buf, rs, rt, rd) 149# define UASM_i_SW(buf, rs, rt, off) uasm_i_sd(buf, rs, rt, off)
157# define UASM_i_MFC0(buf, rt, rd...) uasm_i_dmfc0(buf, rt, rd)
158# define UASM_i_MTC0(buf, rt, rd...) uasm_i_dmtc0(buf, rt, rd)
159# define UASM_i_ROTR(buf, rs, rt, sh) uasm_i_drotr(buf, rs, rt, sh)
160# define UASM_i_SC(buf, rs, rt, off) uasm_i_scd(buf, rs, rt, off)
161# define UASM_i_SLL(buf, rs, rt, sh) uasm_i_dsll(buf, rs, rt, sh) 150# define UASM_i_SLL(buf, rs, rt, sh) uasm_i_dsll(buf, rs, rt, sh)
162# define UASM_i_SRA(buf, rs, rt, sh) uasm_i_dsra(buf, rs, rt, sh) 151# define UASM_i_SRA(buf, rs, rt, sh) uasm_i_dsra(buf, rs, rt, sh)
163# define UASM_i_SRL(buf, rs, rt, sh) uasm_i_dsrl(buf, rs, rt, sh) 152# define UASM_i_SRL(buf, rs, rt, sh) uasm_i_dsrl(buf, rs, rt, sh)
164# define UASM_i_SRL_SAFE(buf, rs, rt, sh) uasm_i_dsrl_safe(buf, rs, rt, sh) 153# define UASM_i_SRL_SAFE(buf, rs, rt, sh) uasm_i_dsrl_safe(buf, rs, rt, sh)
154# define UASM_i_ROTR(buf, rs, rt, sh) uasm_i_drotr(buf, rs, rt, sh)
155# define UASM_i_MFC0(buf, rt, rd...) uasm_i_dmfc0(buf, rt, rd)
156# define UASM_i_MTC0(buf, rt, rd...) uasm_i_dmtc0(buf, rt, rd)
157# define UASM_i_ADDIU(buf, rs, rt, val) uasm_i_daddiu(buf, rs, rt, val)
158# define UASM_i_ADDU(buf, rs, rt, rd) uasm_i_daddu(buf, rs, rt, rd)
165# define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_dsubu(buf, rs, rt, rd) 159# define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_dsubu(buf, rs, rt, rd)
166# define UASM_i_SW(buf, rs, rt, off) uasm_i_sd(buf, rs, rt, off) 160# define UASM_i_LL(buf, rs, rt, off) uasm_i_lld(buf, rs, rt, off)
161# define UASM_i_SC(buf, rs, rt, off) uasm_i_scd(buf, rs, rt, off)
162# define UASM_i_LWX(buf, rs, rt, rd) uasm_i_ldx(buf, rs, rt, rd)
167#else 163#else
168# define UASM_i_ADDIU(buf, rs, rt, val) uasm_i_addiu(buf, rs, rt, val)
169# define UASM_i_ADDU(buf, rs, rt, rd) uasm_i_addu(buf, rs, rt, rd)
170# define UASM_i_LL(buf, rs, rt, off) uasm_i_ll(buf, rs, rt, off)
171# define UASM_i_LW(buf, rs, rt, off) uasm_i_lw(buf, rs, rt, off) 164# define UASM_i_LW(buf, rs, rt, off) uasm_i_lw(buf, rs, rt, off)
172# define UASM_i_LWX(buf, rs, rt, rd) uasm_i_lwx(buf, rs, rt, rd) 165# define UASM_i_SW(buf, rs, rt, off) uasm_i_sw(buf, rs, rt, off)
173# define UASM_i_MFC0(buf, rt, rd...) uasm_i_mfc0(buf, rt, rd)
174# define UASM_i_MTC0(buf, rt, rd...) uasm_i_mtc0(buf, rt, rd)
175# define UASM_i_ROTR(buf, rs, rt, sh) uasm_i_rotr(buf, rs, rt, sh)
176# define UASM_i_SC(buf, rs, rt, off) uasm_i_sc(buf, rs, rt, off)
177# define UASM_i_SLL(buf, rs, rt, sh) uasm_i_sll(buf, rs, rt, sh) 166# define UASM_i_SLL(buf, rs, rt, sh) uasm_i_sll(buf, rs, rt, sh)
178# define UASM_i_SRA(buf, rs, rt, sh) uasm_i_sra(buf, rs, rt, sh) 167# define UASM_i_SRA(buf, rs, rt, sh) uasm_i_sra(buf, rs, rt, sh)
179# define UASM_i_SRL(buf, rs, rt, sh) uasm_i_srl(buf, rs, rt, sh) 168# define UASM_i_SRL(buf, rs, rt, sh) uasm_i_srl(buf, rs, rt, sh)
180# define UASM_i_SRL_SAFE(buf, rs, rt, sh) uasm_i_srl(buf, rs, rt, sh) 169# define UASM_i_SRL_SAFE(buf, rs, rt, sh) uasm_i_srl(buf, rs, rt, sh)
170# define UASM_i_ROTR(buf, rs, rt, sh) uasm_i_rotr(buf, rs, rt, sh)
171# define UASM_i_MFC0(buf, rt, rd...) uasm_i_mfc0(buf, rt, rd)
172# define UASM_i_MTC0(buf, rt, rd...) uasm_i_mtc0(buf, rt, rd)
173# define UASM_i_ADDIU(buf, rs, rt, val) uasm_i_addiu(buf, rs, rt, val)
174# define UASM_i_ADDU(buf, rs, rt, rd) uasm_i_addu(buf, rs, rt, rd)
181# define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_subu(buf, rs, rt, rd) 175# define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_subu(buf, rs, rt, rd)
182# define UASM_i_SW(buf, rs, rt, off) uasm_i_sw(buf, rs, rt, off) 176# define UASM_i_LL(buf, rs, rt, off) uasm_i_ll(buf, rs, rt, off)
177# define UASM_i_SC(buf, rs, rt, off) uasm_i_sc(buf, rs, rt, off)
178# define UASM_i_LWX(buf, rs, rt, rd) uasm_i_lwx(buf, rs, rt, rd)
183#endif 179#endif
184 180
185#define uasm_i_b(buf, off) uasm_i_beq(buf, 0, 0, off) 181#define uasm_i_b(buf, off) uasm_i_beq(buf, 0, 0, off)
@@ -187,10 +183,19 @@ static inline void __uasminit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
187#define uasm_i_beqzl(buf, rs, off) uasm_i_beql(buf, rs, 0, off) 183#define uasm_i_beqzl(buf, rs, off) uasm_i_beql(buf, rs, 0, off)
188#define uasm_i_bnez(buf, rs, off) uasm_i_bne(buf, rs, 0, off) 184#define uasm_i_bnez(buf, rs, off) uasm_i_bne(buf, rs, 0, off)
189#define uasm_i_bnezl(buf, rs, off) uasm_i_bnel(buf, rs, 0, off) 185#define uasm_i_bnezl(buf, rs, off) uasm_i_bnel(buf, rs, 0, off)
190#define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3)
191#define uasm_i_move(buf, a, b) UASM_i_ADDU(buf, a, 0, b) 186#define uasm_i_move(buf, a, b) UASM_i_ADDU(buf, a, 0, b)
192#define uasm_i_nop(buf) uasm_i_sll(buf, 0, 0, 0) 187#define uasm_i_nop(buf) uasm_i_sll(buf, 0, 0, 0)
193#define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1) 188#define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1)
189#define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3)
190
191static inline void uasm_i_dsrl_safe(u32 **p, unsigned int a1,
192 unsigned int a2, unsigned int a3)
193{
194 if (a3 < 32)
195 uasm_i_dsrl(p, a1, a2, a3);
196 else
197 uasm_i_dsrl32(p, a1, a2, a3 - 32);
198}
194 199
195static inline void uasm_i_drotr_safe(u32 **p, unsigned int a1, 200static inline void uasm_i_drotr_safe(u32 **p, unsigned int a1,
196 unsigned int a2, unsigned int a3) 201 unsigned int a2, unsigned int a3)
@@ -210,15 +215,6 @@ static inline void uasm_i_dsll_safe(u32 **p, unsigned int a1,
210 uasm_i_dsll32(p, a1, a2, a3 - 32); 215 uasm_i_dsll32(p, a1, a2, a3 - 32);
211} 216}
212 217
213static inline void uasm_i_dsrl_safe(u32 **p, unsigned int a1,
214 unsigned int a2, unsigned int a3)
215{
216 if (a3 < 32)
217 uasm_i_dsrl(p, a1, a2, a3);
218 else
219 uasm_i_dsrl32(p, a1, a2, a3 - 32);
220}
221
222/* Handle relocations. */ 218/* Handle relocations. */
223struct uasm_reloc { 219struct uasm_reloc {
224 u32 *addr; 220 u32 *addr;
@@ -238,16 +234,16 @@ void uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab,
238int uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr); 234int uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr);
239 235
240/* Convenience functions for labeled branches. */ 236/* Convenience functions for labeled branches. */
237void uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
241void uasm_il_b(u32 **p, struct uasm_reloc **r, int lid); 238void uasm_il_b(u32 **p, struct uasm_reloc **r, int lid);
242void uasm_il_bbit0(u32 **p, struct uasm_reloc **r, unsigned int reg,
243 unsigned int bit, int lid);
244void uasm_il_bbit1(u32 **p, struct uasm_reloc **r, unsigned int reg,
245 unsigned int bit, int lid);
246void uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 239void uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
247void uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 240void uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
248void uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
249void uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
250void uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
251void uasm_il_bne(u32 **p, struct uasm_reloc **r, unsigned int reg1, 241void uasm_il_bne(u32 **p, struct uasm_reloc **r, unsigned int reg1,
252 unsigned int reg2, int lid); 242 unsigned int reg2, int lid);
253void uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 243void uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
244void uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
245void uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
246void uasm_il_bbit0(u32 **p, struct uasm_reloc **r, unsigned int reg,
247 unsigned int bit, int lid);
248void uasm_il_bbit1(u32 **p, struct uasm_reloc **r, unsigned int reg,
249 unsigned int bit, int lid);
diff --git a/arch/mips/include/asm/unistd.h b/arch/mips/include/asm/unistd.h
index 9e47cc11aa2..ecea7871dec 100644
--- a/arch/mips/include/asm/unistd.h
+++ b/arch/mips/include/asm/unistd.h
@@ -12,12 +12,1023 @@
12#ifndef _ASM_UNISTD_H 12#ifndef _ASM_UNISTD_H
13#define _ASM_UNISTD_H 13#define _ASM_UNISTD_H
14 14
15#include <uapi/asm/unistd.h> 15#include <asm/sgidefs.h>
16 16
17#if _MIPS_SIM == _MIPS_SIM_ABI32
18
19/*
20 * Linux o32 style syscalls are in the range from 4000 to 4999.
21 */
22#define __NR_Linux 4000
23#define __NR_syscall (__NR_Linux + 0)
24#define __NR_exit (__NR_Linux + 1)
25#define __NR_fork (__NR_Linux + 2)
26#define __NR_read (__NR_Linux + 3)
27#define __NR_write (__NR_Linux + 4)
28#define __NR_open (__NR_Linux + 5)
29#define __NR_close (__NR_Linux + 6)
30#define __NR_waitpid (__NR_Linux + 7)
31#define __NR_creat (__NR_Linux + 8)
32#define __NR_link (__NR_Linux + 9)
33#define __NR_unlink (__NR_Linux + 10)
34#define __NR_execve (__NR_Linux + 11)
35#define __NR_chdir (__NR_Linux + 12)
36#define __NR_time (__NR_Linux + 13)
37#define __NR_mknod (__NR_Linux + 14)
38#define __NR_chmod (__NR_Linux + 15)
39#define __NR_lchown (__NR_Linux + 16)
40#define __NR_break (__NR_Linux + 17)
41#define __NR_unused18 (__NR_Linux + 18)
42#define __NR_lseek (__NR_Linux + 19)
43#define __NR_getpid (__NR_Linux + 20)
44#define __NR_mount (__NR_Linux + 21)
45#define __NR_umount (__NR_Linux + 22)
46#define __NR_setuid (__NR_Linux + 23)
47#define __NR_getuid (__NR_Linux + 24)
48#define __NR_stime (__NR_Linux + 25)
49#define __NR_ptrace (__NR_Linux + 26)
50#define __NR_alarm (__NR_Linux + 27)
51#define __NR_unused28 (__NR_Linux + 28)
52#define __NR_pause (__NR_Linux + 29)
53#define __NR_utime (__NR_Linux + 30)
54#define __NR_stty (__NR_Linux + 31)
55#define __NR_gtty (__NR_Linux + 32)
56#define __NR_access (__NR_Linux + 33)
57#define __NR_nice (__NR_Linux + 34)
58#define __NR_ftime (__NR_Linux + 35)
59#define __NR_sync (__NR_Linux + 36)
60#define __NR_kill (__NR_Linux + 37)
61#define __NR_rename (__NR_Linux + 38)
62#define __NR_mkdir (__NR_Linux + 39)
63#define __NR_rmdir (__NR_Linux + 40)
64#define __NR_dup (__NR_Linux + 41)
65#define __NR_pipe (__NR_Linux + 42)
66#define __NR_times (__NR_Linux + 43)
67#define __NR_prof (__NR_Linux + 44)
68#define __NR_brk (__NR_Linux + 45)
69#define __NR_setgid (__NR_Linux + 46)
70#define __NR_getgid (__NR_Linux + 47)
71#define __NR_signal (__NR_Linux + 48)
72#define __NR_geteuid (__NR_Linux + 49)
73#define __NR_getegid (__NR_Linux + 50)
74#define __NR_acct (__NR_Linux + 51)
75#define __NR_umount2 (__NR_Linux + 52)
76#define __NR_lock (__NR_Linux + 53)
77#define __NR_ioctl (__NR_Linux + 54)
78#define __NR_fcntl (__NR_Linux + 55)
79#define __NR_mpx (__NR_Linux + 56)
80#define __NR_setpgid (__NR_Linux + 57)
81#define __NR_ulimit (__NR_Linux + 58)
82#define __NR_unused59 (__NR_Linux + 59)
83#define __NR_umask (__NR_Linux + 60)
84#define __NR_chroot (__NR_Linux + 61)
85#define __NR_ustat (__NR_Linux + 62)
86#define __NR_dup2 (__NR_Linux + 63)
87#define __NR_getppid (__NR_Linux + 64)
88#define __NR_getpgrp (__NR_Linux + 65)
89#define __NR_setsid (__NR_Linux + 66)
90#define __NR_sigaction (__NR_Linux + 67)
91#define __NR_sgetmask (__NR_Linux + 68)
92#define __NR_ssetmask (__NR_Linux + 69)
93#define __NR_setreuid (__NR_Linux + 70)
94#define __NR_setregid (__NR_Linux + 71)
95#define __NR_sigsuspend (__NR_Linux + 72)
96#define __NR_sigpending (__NR_Linux + 73)
97#define __NR_sethostname (__NR_Linux + 74)
98#define __NR_setrlimit (__NR_Linux + 75)
99#define __NR_getrlimit (__NR_Linux + 76)
100#define __NR_getrusage (__NR_Linux + 77)
101#define __NR_gettimeofday (__NR_Linux + 78)
102#define __NR_settimeofday (__NR_Linux + 79)
103#define __NR_getgroups (__NR_Linux + 80)
104#define __NR_setgroups (__NR_Linux + 81)
105#define __NR_reserved82 (__NR_Linux + 82)
106#define __NR_symlink (__NR_Linux + 83)
107#define __NR_unused84 (__NR_Linux + 84)
108#define __NR_readlink (__NR_Linux + 85)
109#define __NR_uselib (__NR_Linux + 86)
110#define __NR_swapon (__NR_Linux + 87)
111#define __NR_reboot (__NR_Linux + 88)
112#define __NR_readdir (__NR_Linux + 89)
113#define __NR_mmap (__NR_Linux + 90)
114#define __NR_munmap (__NR_Linux + 91)
115#define __NR_truncate (__NR_Linux + 92)
116#define __NR_ftruncate (__NR_Linux + 93)
117#define __NR_fchmod (__NR_Linux + 94)
118#define __NR_fchown (__NR_Linux + 95)
119#define __NR_getpriority (__NR_Linux + 96)
120#define __NR_setpriority (__NR_Linux + 97)
121#define __NR_profil (__NR_Linux + 98)
122#define __NR_statfs (__NR_Linux + 99)
123#define __NR_fstatfs (__NR_Linux + 100)
124#define __NR_ioperm (__NR_Linux + 101)
125#define __NR_socketcall (__NR_Linux + 102)
126#define __NR_syslog (__NR_Linux + 103)
127#define __NR_setitimer (__NR_Linux + 104)
128#define __NR_getitimer (__NR_Linux + 105)
129#define __NR_stat (__NR_Linux + 106)
130#define __NR_lstat (__NR_Linux + 107)
131#define __NR_fstat (__NR_Linux + 108)
132#define __NR_unused109 (__NR_Linux + 109)
133#define __NR_iopl (__NR_Linux + 110)
134#define __NR_vhangup (__NR_Linux + 111)
135#define __NR_idle (__NR_Linux + 112)
136#define __NR_vm86 (__NR_Linux + 113)
137#define __NR_wait4 (__NR_Linux + 114)
138#define __NR_swapoff (__NR_Linux + 115)
139#define __NR_sysinfo (__NR_Linux + 116)
140#define __NR_ipc (__NR_Linux + 117)
141#define __NR_fsync (__NR_Linux + 118)
142#define __NR_sigreturn (__NR_Linux + 119)
143#define __NR_clone (__NR_Linux + 120)
144#define __NR_setdomainname (__NR_Linux + 121)
145#define __NR_uname (__NR_Linux + 122)
146#define __NR_modify_ldt (__NR_Linux + 123)
147#define __NR_adjtimex (__NR_Linux + 124)
148#define __NR_mprotect (__NR_Linux + 125)
149#define __NR_sigprocmask (__NR_Linux + 126)
150#define __NR_create_module (__NR_Linux + 127)
151#define __NR_init_module (__NR_Linux + 128)
152#define __NR_delete_module (__NR_Linux + 129)
153#define __NR_get_kernel_syms (__NR_Linux + 130)
154#define __NR_quotactl (__NR_Linux + 131)
155#define __NR_getpgid (__NR_Linux + 132)
156#define __NR_fchdir (__NR_Linux + 133)
157#define __NR_bdflush (__NR_Linux + 134)
158#define __NR_sysfs (__NR_Linux + 135)
159#define __NR_personality (__NR_Linux + 136)
160#define __NR_afs_syscall (__NR_Linux + 137) /* Syscall for Andrew File System */
161#define __NR_setfsuid (__NR_Linux + 138)
162#define __NR_setfsgid (__NR_Linux + 139)
163#define __NR__llseek (__NR_Linux + 140)
164#define __NR_getdents (__NR_Linux + 141)
165#define __NR__newselect (__NR_Linux + 142)
166#define __NR_flock (__NR_Linux + 143)
167#define __NR_msync (__NR_Linux + 144)
168#define __NR_readv (__NR_Linux + 145)
169#define __NR_writev (__NR_Linux + 146)
170#define __NR_cacheflush (__NR_Linux + 147)
171#define __NR_cachectl (__NR_Linux + 148)
172#define __NR_sysmips (__NR_Linux + 149)
173#define __NR_unused150 (__NR_Linux + 150)
174#define __NR_getsid (__NR_Linux + 151)
175#define __NR_fdatasync (__NR_Linux + 152)
176#define __NR__sysctl (__NR_Linux + 153)
177#define __NR_mlock (__NR_Linux + 154)
178#define __NR_munlock (__NR_Linux + 155)
179#define __NR_mlockall (__NR_Linux + 156)
180#define __NR_munlockall (__NR_Linux + 157)
181#define __NR_sched_setparam (__NR_Linux + 158)
182#define __NR_sched_getparam (__NR_Linux + 159)
183#define __NR_sched_setscheduler (__NR_Linux + 160)
184#define __NR_sched_getscheduler (__NR_Linux + 161)
185#define __NR_sched_yield (__NR_Linux + 162)
186#define __NR_sched_get_priority_max (__NR_Linux + 163)
187#define __NR_sched_get_priority_min (__NR_Linux + 164)
188#define __NR_sched_rr_get_interval (__NR_Linux + 165)
189#define __NR_nanosleep (__NR_Linux + 166)
190#define __NR_mremap (__NR_Linux + 167)
191#define __NR_accept (__NR_Linux + 168)
192#define __NR_bind (__NR_Linux + 169)
193#define __NR_connect (__NR_Linux + 170)
194#define __NR_getpeername (__NR_Linux + 171)
195#define __NR_getsockname (__NR_Linux + 172)
196#define __NR_getsockopt (__NR_Linux + 173)
197#define __NR_listen (__NR_Linux + 174)
198#define __NR_recv (__NR_Linux + 175)
199#define __NR_recvfrom (__NR_Linux + 176)
200#define __NR_recvmsg (__NR_Linux + 177)
201#define __NR_send (__NR_Linux + 178)
202#define __NR_sendmsg (__NR_Linux + 179)
203#define __NR_sendto (__NR_Linux + 180)
204#define __NR_setsockopt (__NR_Linux + 181)
205#define __NR_shutdown (__NR_Linux + 182)
206#define __NR_socket (__NR_Linux + 183)
207#define __NR_socketpair (__NR_Linux + 184)
208#define __NR_setresuid (__NR_Linux + 185)
209#define __NR_getresuid (__NR_Linux + 186)
210#define __NR_query_module (__NR_Linux + 187)
211#define __NR_poll (__NR_Linux + 188)
212#define __NR_nfsservctl (__NR_Linux + 189)
213#define __NR_setresgid (__NR_Linux + 190)
214#define __NR_getresgid (__NR_Linux + 191)
215#define __NR_prctl (__NR_Linux + 192)
216#define __NR_rt_sigreturn (__NR_Linux + 193)
217#define __NR_rt_sigaction (__NR_Linux + 194)
218#define __NR_rt_sigprocmask (__NR_Linux + 195)
219#define __NR_rt_sigpending (__NR_Linux + 196)
220#define __NR_rt_sigtimedwait (__NR_Linux + 197)
221#define __NR_rt_sigqueueinfo (__NR_Linux + 198)
222#define __NR_rt_sigsuspend (__NR_Linux + 199)
223#define __NR_pread64 (__NR_Linux + 200)
224#define __NR_pwrite64 (__NR_Linux + 201)
225#define __NR_chown (__NR_Linux + 202)
226#define __NR_getcwd (__NR_Linux + 203)
227#define __NR_capget (__NR_Linux + 204)
228#define __NR_capset (__NR_Linux + 205)
229#define __NR_sigaltstack (__NR_Linux + 206)
230#define __NR_sendfile (__NR_Linux + 207)
231#define __NR_getpmsg (__NR_Linux + 208)
232#define __NR_putpmsg (__NR_Linux + 209)
233#define __NR_mmap2 (__NR_Linux + 210)
234#define __NR_truncate64 (__NR_Linux + 211)
235#define __NR_ftruncate64 (__NR_Linux + 212)
236#define __NR_stat64 (__NR_Linux + 213)
237#define __NR_lstat64 (__NR_Linux + 214)
238#define __NR_fstat64 (__NR_Linux + 215)
239#define __NR_pivot_root (__NR_Linux + 216)
240#define __NR_mincore (__NR_Linux + 217)
241#define __NR_madvise (__NR_Linux + 218)
242#define __NR_getdents64 (__NR_Linux + 219)
243#define __NR_fcntl64 (__NR_Linux + 220)
244#define __NR_reserved221 (__NR_Linux + 221)
245#define __NR_gettid (__NR_Linux + 222)
246#define __NR_readahead (__NR_Linux + 223)
247#define __NR_setxattr (__NR_Linux + 224)
248#define __NR_lsetxattr (__NR_Linux + 225)
249#define __NR_fsetxattr (__NR_Linux + 226)
250#define __NR_getxattr (__NR_Linux + 227)
251#define __NR_lgetxattr (__NR_Linux + 228)
252#define __NR_fgetxattr (__NR_Linux + 229)
253#define __NR_listxattr (__NR_Linux + 230)
254#define __NR_llistxattr (__NR_Linux + 231)
255#define __NR_flistxattr (__NR_Linux + 232)
256#define __NR_removexattr (__NR_Linux + 233)
257#define __NR_lremovexattr (__NR_Linux + 234)
258#define __NR_fremovexattr (__NR_Linux + 235)
259#define __NR_tkill (__NR_Linux + 236)
260#define __NR_sendfile64 (__NR_Linux + 237)
261#define __NR_futex (__NR_Linux + 238)
262#define __NR_sched_setaffinity (__NR_Linux + 239)
263#define __NR_sched_getaffinity (__NR_Linux + 240)
264#define __NR_io_setup (__NR_Linux + 241)
265#define __NR_io_destroy (__NR_Linux + 242)
266#define __NR_io_getevents (__NR_Linux + 243)
267#define __NR_io_submit (__NR_Linux + 244)
268#define __NR_io_cancel (__NR_Linux + 245)
269#define __NR_exit_group (__NR_Linux + 246)
270#define __NR_lookup_dcookie (__NR_Linux + 247)
271#define __NR_epoll_create (__NR_Linux + 248)
272#define __NR_epoll_ctl (__NR_Linux + 249)
273#define __NR_epoll_wait (__NR_Linux + 250)
274#define __NR_remap_file_pages (__NR_Linux + 251)
275#define __NR_set_tid_address (__NR_Linux + 252)
276#define __NR_restart_syscall (__NR_Linux + 253)
277#define __NR_fadvise64 (__NR_Linux + 254)
278#define __NR_statfs64 (__NR_Linux + 255)
279#define __NR_fstatfs64 (__NR_Linux + 256)
280#define __NR_timer_create (__NR_Linux + 257)
281#define __NR_timer_settime (__NR_Linux + 258)
282#define __NR_timer_gettime (__NR_Linux + 259)
283#define __NR_timer_getoverrun (__NR_Linux + 260)
284#define __NR_timer_delete (__NR_Linux + 261)
285#define __NR_clock_settime (__NR_Linux + 262)
286#define __NR_clock_gettime (__NR_Linux + 263)
287#define __NR_clock_getres (__NR_Linux + 264)
288#define __NR_clock_nanosleep (__NR_Linux + 265)
289#define __NR_tgkill (__NR_Linux + 266)
290#define __NR_utimes (__NR_Linux + 267)
291#define __NR_mbind (__NR_Linux + 268)
292#define __NR_get_mempolicy (__NR_Linux + 269)
293#define __NR_set_mempolicy (__NR_Linux + 270)
294#define __NR_mq_open (__NR_Linux + 271)
295#define __NR_mq_unlink (__NR_Linux + 272)
296#define __NR_mq_timedsend (__NR_Linux + 273)
297#define __NR_mq_timedreceive (__NR_Linux + 274)
298#define __NR_mq_notify (__NR_Linux + 275)
299#define __NR_mq_getsetattr (__NR_Linux + 276)
300#define __NR_vserver (__NR_Linux + 277)
301#define __NR_waitid (__NR_Linux + 278)
302/* #define __NR_sys_setaltroot (__NR_Linux + 279) */
303#define __NR_add_key (__NR_Linux + 280)
304#define __NR_request_key (__NR_Linux + 281)
305#define __NR_keyctl (__NR_Linux + 282)
306#define __NR_set_thread_area (__NR_Linux + 283)
307#define __NR_inotify_init (__NR_Linux + 284)
308#define __NR_inotify_add_watch (__NR_Linux + 285)
309#define __NR_inotify_rm_watch (__NR_Linux + 286)
310#define __NR_migrate_pages (__NR_Linux + 287)
311#define __NR_openat (__NR_Linux + 288)
312#define __NR_mkdirat (__NR_Linux + 289)
313#define __NR_mknodat (__NR_Linux + 290)
314#define __NR_fchownat (__NR_Linux + 291)
315#define __NR_futimesat (__NR_Linux + 292)
316#define __NR_fstatat64 (__NR_Linux + 293)
317#define __NR_unlinkat (__NR_Linux + 294)
318#define __NR_renameat (__NR_Linux + 295)
319#define __NR_linkat (__NR_Linux + 296)
320#define __NR_symlinkat (__NR_Linux + 297)
321#define __NR_readlinkat (__NR_Linux + 298)
322#define __NR_fchmodat (__NR_Linux + 299)
323#define __NR_faccessat (__NR_Linux + 300)
324#define __NR_pselect6 (__NR_Linux + 301)
325#define __NR_ppoll (__NR_Linux + 302)
326#define __NR_unshare (__NR_Linux + 303)
327#define __NR_splice (__NR_Linux + 304)
328#define __NR_sync_file_range (__NR_Linux + 305)
329#define __NR_tee (__NR_Linux + 306)
330#define __NR_vmsplice (__NR_Linux + 307)
331#define __NR_move_pages (__NR_Linux + 308)
332#define __NR_set_robust_list (__NR_Linux + 309)
333#define __NR_get_robust_list (__NR_Linux + 310)
334#define __NR_kexec_load (__NR_Linux + 311)
335#define __NR_getcpu (__NR_Linux + 312)
336#define __NR_epoll_pwait (__NR_Linux + 313)
337#define __NR_ioprio_set (__NR_Linux + 314)
338#define __NR_ioprio_get (__NR_Linux + 315)
339#define __NR_utimensat (__NR_Linux + 316)
340#define __NR_signalfd (__NR_Linux + 317)
341#define __NR_timerfd (__NR_Linux + 318)
342#define __NR_eventfd (__NR_Linux + 319)
343#define __NR_fallocate (__NR_Linux + 320)
344#define __NR_timerfd_create (__NR_Linux + 321)
345#define __NR_timerfd_gettime (__NR_Linux + 322)
346#define __NR_timerfd_settime (__NR_Linux + 323)
347#define __NR_signalfd4 (__NR_Linux + 324)
348#define __NR_eventfd2 (__NR_Linux + 325)
349#define __NR_epoll_create1 (__NR_Linux + 326)
350#define __NR_dup3 (__NR_Linux + 327)
351#define __NR_pipe2 (__NR_Linux + 328)
352#define __NR_inotify_init1 (__NR_Linux + 329)
353#define __NR_preadv (__NR_Linux + 330)
354#define __NR_pwritev (__NR_Linux + 331)
355#define __NR_rt_tgsigqueueinfo (__NR_Linux + 332)
356#define __NR_perf_event_open (__NR_Linux + 333)
357#define __NR_accept4 (__NR_Linux + 334)
358#define __NR_recvmmsg (__NR_Linux + 335)
359#define __NR_fanotify_init (__NR_Linux + 336)
360#define __NR_fanotify_mark (__NR_Linux + 337)
361#define __NR_prlimit64 (__NR_Linux + 338)
362#define __NR_name_to_handle_at (__NR_Linux + 339)
363#define __NR_open_by_handle_at (__NR_Linux + 340)
364#define __NR_clock_adjtime (__NR_Linux + 341)
365#define __NR_syncfs (__NR_Linux + 342)
366#define __NR_sendmmsg (__NR_Linux + 343)
367#define __NR_setns (__NR_Linux + 344)
368
369/*
370 * Offset of the last Linux o32 flavoured syscall
371 */
372#define __NR_Linux_syscalls 344
373
374#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
375
376#define __NR_O32_Linux 4000
377#define __NR_O32_Linux_syscalls 344
378
379#if _MIPS_SIM == _MIPS_SIM_ABI64
380
381/*
382 * Linux 64-bit syscalls are in the range from 5000 to 5999.
383 */
384#define __NR_Linux 5000
385#define __NR_read (__NR_Linux + 0)
386#define __NR_write (__NR_Linux + 1)
387#define __NR_open (__NR_Linux + 2)
388#define __NR_close (__NR_Linux + 3)
389#define __NR_stat (__NR_Linux + 4)
390#define __NR_fstat (__NR_Linux + 5)
391#define __NR_lstat (__NR_Linux + 6)
392#define __NR_poll (__NR_Linux + 7)
393#define __NR_lseek (__NR_Linux + 8)
394#define __NR_mmap (__NR_Linux + 9)
395#define __NR_mprotect (__NR_Linux + 10)
396#define __NR_munmap (__NR_Linux + 11)
397#define __NR_brk (__NR_Linux + 12)
398#define __NR_rt_sigaction (__NR_Linux + 13)
399#define __NR_rt_sigprocmask (__NR_Linux + 14)
400#define __NR_ioctl (__NR_Linux + 15)
401#define __NR_pread64 (__NR_Linux + 16)
402#define __NR_pwrite64 (__NR_Linux + 17)
403#define __NR_readv (__NR_Linux + 18)
404#define __NR_writev (__NR_Linux + 19)
405#define __NR_access (__NR_Linux + 20)
406#define __NR_pipe (__NR_Linux + 21)
407#define __NR__newselect (__NR_Linux + 22)
408#define __NR_sched_yield (__NR_Linux + 23)
409#define __NR_mremap (__NR_Linux + 24)
410#define __NR_msync (__NR_Linux + 25)
411#define __NR_mincore (__NR_Linux + 26)
412#define __NR_madvise (__NR_Linux + 27)
413#define __NR_shmget (__NR_Linux + 28)
414#define __NR_shmat (__NR_Linux + 29)
415#define __NR_shmctl (__NR_Linux + 30)
416#define __NR_dup (__NR_Linux + 31)
417#define __NR_dup2 (__NR_Linux + 32)
418#define __NR_pause (__NR_Linux + 33)
419#define __NR_nanosleep (__NR_Linux + 34)
420#define __NR_getitimer (__NR_Linux + 35)
421#define __NR_setitimer (__NR_Linux + 36)
422#define __NR_alarm (__NR_Linux + 37)
423#define __NR_getpid (__NR_Linux + 38)
424#define __NR_sendfile (__NR_Linux + 39)
425#define __NR_socket (__NR_Linux + 40)
426#define __NR_connect (__NR_Linux + 41)
427#define __NR_accept (__NR_Linux + 42)
428#define __NR_sendto (__NR_Linux + 43)
429#define __NR_recvfrom (__NR_Linux + 44)
430#define __NR_sendmsg (__NR_Linux + 45)
431#define __NR_recvmsg (__NR_Linux + 46)
432#define __NR_shutdown (__NR_Linux + 47)
433#define __NR_bind (__NR_Linux + 48)
434#define __NR_listen (__NR_Linux + 49)
435#define __NR_getsockname (__NR_Linux + 50)
436#define __NR_getpeername (__NR_Linux + 51)
437#define __NR_socketpair (__NR_Linux + 52)
438#define __NR_setsockopt (__NR_Linux + 53)
439#define __NR_getsockopt (__NR_Linux + 54)
440#define __NR_clone (__NR_Linux + 55)
441#define __NR_fork (__NR_Linux + 56)
442#define __NR_execve (__NR_Linux + 57)
443#define __NR_exit (__NR_Linux + 58)
444#define __NR_wait4 (__NR_Linux + 59)
445#define __NR_kill (__NR_Linux + 60)
446#define __NR_uname (__NR_Linux + 61)
447#define __NR_semget (__NR_Linux + 62)
448#define __NR_semop (__NR_Linux + 63)
449#define __NR_semctl (__NR_Linux + 64)
450#define __NR_shmdt (__NR_Linux + 65)
451#define __NR_msgget (__NR_Linux + 66)
452#define __NR_msgsnd (__NR_Linux + 67)
453#define __NR_msgrcv (__NR_Linux + 68)
454#define __NR_msgctl (__NR_Linux + 69)
455#define __NR_fcntl (__NR_Linux + 70)
456#define __NR_flock (__NR_Linux + 71)
457#define __NR_fsync (__NR_Linux + 72)
458#define __NR_fdatasync (__NR_Linux + 73)
459#define __NR_truncate (__NR_Linux + 74)
460#define __NR_ftruncate (__NR_Linux + 75)
461#define __NR_getdents (__NR_Linux + 76)
462#define __NR_getcwd (__NR_Linux + 77)
463#define __NR_chdir (__NR_Linux + 78)
464#define __NR_fchdir (__NR_Linux + 79)
465#define __NR_rename (__NR_Linux + 80)
466#define __NR_mkdir (__NR_Linux + 81)
467#define __NR_rmdir (__NR_Linux + 82)
468#define __NR_creat (__NR_Linux + 83)
469#define __NR_link (__NR_Linux + 84)
470#define __NR_unlink (__NR_Linux + 85)
471#define __NR_symlink (__NR_Linux + 86)
472#define __NR_readlink (__NR_Linux + 87)
473#define __NR_chmod (__NR_Linux + 88)
474#define __NR_fchmod (__NR_Linux + 89)
475#define __NR_chown (__NR_Linux + 90)
476#define __NR_fchown (__NR_Linux + 91)
477#define __NR_lchown (__NR_Linux + 92)
478#define __NR_umask (__NR_Linux + 93)
479#define __NR_gettimeofday (__NR_Linux + 94)
480#define __NR_getrlimit (__NR_Linux + 95)
481#define __NR_getrusage (__NR_Linux + 96)
482#define __NR_sysinfo (__NR_Linux + 97)
483#define __NR_times (__NR_Linux + 98)
484#define __NR_ptrace (__NR_Linux + 99)
485#define __NR_getuid (__NR_Linux + 100)
486#define __NR_syslog (__NR_Linux + 101)
487#define __NR_getgid (__NR_Linux + 102)
488#define __NR_setuid (__NR_Linux + 103)
489#define __NR_setgid (__NR_Linux + 104)
490#define __NR_geteuid (__NR_Linux + 105)
491#define __NR_getegid (__NR_Linux + 106)
492#define __NR_setpgid (__NR_Linux + 107)
493#define __NR_getppid (__NR_Linux + 108)
494#define __NR_getpgrp (__NR_Linux + 109)
495#define __NR_setsid (__NR_Linux + 110)
496#define __NR_setreuid (__NR_Linux + 111)
497#define __NR_setregid (__NR_Linux + 112)
498#define __NR_getgroups (__NR_Linux + 113)
499#define __NR_setgroups (__NR_Linux + 114)
500#define __NR_setresuid (__NR_Linux + 115)
501#define __NR_getresuid (__NR_Linux + 116)
502#define __NR_setresgid (__NR_Linux + 117)
503#define __NR_getresgid (__NR_Linux + 118)
504#define __NR_getpgid (__NR_Linux + 119)
505#define __NR_setfsuid (__NR_Linux + 120)
506#define __NR_setfsgid (__NR_Linux + 121)
507#define __NR_getsid (__NR_Linux + 122)
508#define __NR_capget (__NR_Linux + 123)
509#define __NR_capset (__NR_Linux + 124)
510#define __NR_rt_sigpending (__NR_Linux + 125)
511#define __NR_rt_sigtimedwait (__NR_Linux + 126)
512#define __NR_rt_sigqueueinfo (__NR_Linux + 127)
513#define __NR_rt_sigsuspend (__NR_Linux + 128)
514#define __NR_sigaltstack (__NR_Linux + 129)
515#define __NR_utime (__NR_Linux + 130)
516#define __NR_mknod (__NR_Linux + 131)
517#define __NR_personality (__NR_Linux + 132)
518#define __NR_ustat (__NR_Linux + 133)
519#define __NR_statfs (__NR_Linux + 134)
520#define __NR_fstatfs (__NR_Linux + 135)
521#define __NR_sysfs (__NR_Linux + 136)
522#define __NR_getpriority (__NR_Linux + 137)
523#define __NR_setpriority (__NR_Linux + 138)
524#define __NR_sched_setparam (__NR_Linux + 139)
525#define __NR_sched_getparam (__NR_Linux + 140)
526#define __NR_sched_setscheduler (__NR_Linux + 141)
527#define __NR_sched_getscheduler (__NR_Linux + 142)
528#define __NR_sched_get_priority_max (__NR_Linux + 143)
529#define __NR_sched_get_priority_min (__NR_Linux + 144)
530#define __NR_sched_rr_get_interval (__NR_Linux + 145)
531#define __NR_mlock (__NR_Linux + 146)
532#define __NR_munlock (__NR_Linux + 147)
533#define __NR_mlockall (__NR_Linux + 148)
534#define __NR_munlockall (__NR_Linux + 149)
535#define __NR_vhangup (__NR_Linux + 150)
536#define __NR_pivot_root (__NR_Linux + 151)
537#define __NR__sysctl (__NR_Linux + 152)
538#define __NR_prctl (__NR_Linux + 153)
539#define __NR_adjtimex (__NR_Linux + 154)
540#define __NR_setrlimit (__NR_Linux + 155)
541#define __NR_chroot (__NR_Linux + 156)
542#define __NR_sync (__NR_Linux + 157)
543#define __NR_acct (__NR_Linux + 158)
544#define __NR_settimeofday (__NR_Linux + 159)
545#define __NR_mount (__NR_Linux + 160)
546#define __NR_umount2 (__NR_Linux + 161)
547#define __NR_swapon (__NR_Linux + 162)
548#define __NR_swapoff (__NR_Linux + 163)
549#define __NR_reboot (__NR_Linux + 164)
550#define __NR_sethostname (__NR_Linux + 165)
551#define __NR_setdomainname (__NR_Linux + 166)
552#define __NR_create_module (__NR_Linux + 167)
553#define __NR_init_module (__NR_Linux + 168)
554#define __NR_delete_module (__NR_Linux + 169)
555#define __NR_get_kernel_syms (__NR_Linux + 170)
556#define __NR_query_module (__NR_Linux + 171)
557#define __NR_quotactl (__NR_Linux + 172)
558#define __NR_nfsservctl (__NR_Linux + 173)
559#define __NR_getpmsg (__NR_Linux + 174)
560#define __NR_putpmsg (__NR_Linux + 175)
561#define __NR_afs_syscall (__NR_Linux + 176)
562#define __NR_reserved177 (__NR_Linux + 177)
563#define __NR_gettid (__NR_Linux + 178)
564#define __NR_readahead (__NR_Linux + 179)
565#define __NR_setxattr (__NR_Linux + 180)
566#define __NR_lsetxattr (__NR_Linux + 181)
567#define __NR_fsetxattr (__NR_Linux + 182)
568#define __NR_getxattr (__NR_Linux + 183)
569#define __NR_lgetxattr (__NR_Linux + 184)
570#define __NR_fgetxattr (__NR_Linux + 185)
571#define __NR_listxattr (__NR_Linux + 186)
572#define __NR_llistxattr (__NR_Linux + 187)
573#define __NR_flistxattr (__NR_Linux + 188)
574#define __NR_removexattr (__NR_Linux + 189)
575#define __NR_lremovexattr (__NR_Linux + 190)
576#define __NR_fremovexattr (__NR_Linux + 191)
577#define __NR_tkill (__NR_Linux + 192)
578#define __NR_reserved193 (__NR_Linux + 193)
579#define __NR_futex (__NR_Linux + 194)
580#define __NR_sched_setaffinity (__NR_Linux + 195)
581#define __NR_sched_getaffinity (__NR_Linux + 196)
582#define __NR_cacheflush (__NR_Linux + 197)
583#define __NR_cachectl (__NR_Linux + 198)
584#define __NR_sysmips (__NR_Linux + 199)
585#define __NR_io_setup (__NR_Linux + 200)
586#define __NR_io_destroy (__NR_Linux + 201)
587#define __NR_io_getevents (__NR_Linux + 202)
588#define __NR_io_submit (__NR_Linux + 203)
589#define __NR_io_cancel (__NR_Linux + 204)
590#define __NR_exit_group (__NR_Linux + 205)
591#define __NR_lookup_dcookie (__NR_Linux + 206)
592#define __NR_epoll_create (__NR_Linux + 207)
593#define __NR_epoll_ctl (__NR_Linux + 208)
594#define __NR_epoll_wait (__NR_Linux + 209)
595#define __NR_remap_file_pages (__NR_Linux + 210)
596#define __NR_rt_sigreturn (__NR_Linux + 211)
597#define __NR_set_tid_address (__NR_Linux + 212)
598#define __NR_restart_syscall (__NR_Linux + 213)
599#define __NR_semtimedop (__NR_Linux + 214)
600#define __NR_fadvise64 (__NR_Linux + 215)
601#define __NR_timer_create (__NR_Linux + 216)
602#define __NR_timer_settime (__NR_Linux + 217)
603#define __NR_timer_gettime (__NR_Linux + 218)
604#define __NR_timer_getoverrun (__NR_Linux + 219)
605#define __NR_timer_delete (__NR_Linux + 220)
606#define __NR_clock_settime (__NR_Linux + 221)
607#define __NR_clock_gettime (__NR_Linux + 222)
608#define __NR_clock_getres (__NR_Linux + 223)
609#define __NR_clock_nanosleep (__NR_Linux + 224)
610#define __NR_tgkill (__NR_Linux + 225)
611#define __NR_utimes (__NR_Linux + 226)
612#define __NR_mbind (__NR_Linux + 227)
613#define __NR_get_mempolicy (__NR_Linux + 228)
614#define __NR_set_mempolicy (__NR_Linux + 229)
615#define __NR_mq_open (__NR_Linux + 230)
616#define __NR_mq_unlink (__NR_Linux + 231)
617#define __NR_mq_timedsend (__NR_Linux + 232)
618#define __NR_mq_timedreceive (__NR_Linux + 233)
619#define __NR_mq_notify (__NR_Linux + 234)
620#define __NR_mq_getsetattr (__NR_Linux + 235)
621#define __NR_vserver (__NR_Linux + 236)
622#define __NR_waitid (__NR_Linux + 237)
623/* #define __NR_sys_setaltroot (__NR_Linux + 238) */
624#define __NR_add_key (__NR_Linux + 239)
625#define __NR_request_key (__NR_Linux + 240)
626#define __NR_keyctl (__NR_Linux + 241)
627#define __NR_set_thread_area (__NR_Linux + 242)
628#define __NR_inotify_init (__NR_Linux + 243)
629#define __NR_inotify_add_watch (__NR_Linux + 244)
630#define __NR_inotify_rm_watch (__NR_Linux + 245)
631#define __NR_migrate_pages (__NR_Linux + 246)
632#define __NR_openat (__NR_Linux + 247)
633#define __NR_mkdirat (__NR_Linux + 248)
634#define __NR_mknodat (__NR_Linux + 249)
635#define __NR_fchownat (__NR_Linux + 250)
636#define __NR_futimesat (__NR_Linux + 251)
637#define __NR_newfstatat (__NR_Linux + 252)
638#define __NR_unlinkat (__NR_Linux + 253)
639#define __NR_renameat (__NR_Linux + 254)
640#define __NR_linkat (__NR_Linux + 255)
641#define __NR_symlinkat (__NR_Linux + 256)
642#define __NR_readlinkat (__NR_Linux + 257)
643#define __NR_fchmodat (__NR_Linux + 258)
644#define __NR_faccessat (__NR_Linux + 259)
645#define __NR_pselect6 (__NR_Linux + 260)
646#define __NR_ppoll (__NR_Linux + 261)
647#define __NR_unshare (__NR_Linux + 262)
648#define __NR_splice (__NR_Linux + 263)
649#define __NR_sync_file_range (__NR_Linux + 264)
650#define __NR_tee (__NR_Linux + 265)
651#define __NR_vmsplice (__NR_Linux + 266)
652#define __NR_move_pages (__NR_Linux + 267)
653#define __NR_set_robust_list (__NR_Linux + 268)
654#define __NR_get_robust_list (__NR_Linux + 269)
655#define __NR_kexec_load (__NR_Linux + 270)
656#define __NR_getcpu (__NR_Linux + 271)
657#define __NR_epoll_pwait (__NR_Linux + 272)
658#define __NR_ioprio_set (__NR_Linux + 273)
659#define __NR_ioprio_get (__NR_Linux + 274)
660#define __NR_utimensat (__NR_Linux + 275)
661#define __NR_signalfd (__NR_Linux + 276)
662#define __NR_timerfd (__NR_Linux + 277)
663#define __NR_eventfd (__NR_Linux + 278)
664#define __NR_fallocate (__NR_Linux + 279)
665#define __NR_timerfd_create (__NR_Linux + 280)
666#define __NR_timerfd_gettime (__NR_Linux + 281)
667#define __NR_timerfd_settime (__NR_Linux + 282)
668#define __NR_signalfd4 (__NR_Linux + 283)
669#define __NR_eventfd2 (__NR_Linux + 284)
670#define __NR_epoll_create1 (__NR_Linux + 285)
671#define __NR_dup3 (__NR_Linux + 286)
672#define __NR_pipe2 (__NR_Linux + 287)
673#define __NR_inotify_init1 (__NR_Linux + 288)
674#define __NR_preadv (__NR_Linux + 289)
675#define __NR_pwritev (__NR_Linux + 290)
676#define __NR_rt_tgsigqueueinfo (__NR_Linux + 291)
677#define __NR_perf_event_open (__NR_Linux + 292)
678#define __NR_accept4 (__NR_Linux + 293)
679#define __NR_recvmmsg (__NR_Linux + 294)
680#define __NR_fanotify_init (__NR_Linux + 295)
681#define __NR_fanotify_mark (__NR_Linux + 296)
682#define __NR_prlimit64 (__NR_Linux + 297)
683#define __NR_name_to_handle_at (__NR_Linux + 298)
684#define __NR_open_by_handle_at (__NR_Linux + 299)
685#define __NR_clock_adjtime (__NR_Linux + 300)
686#define __NR_syncfs (__NR_Linux + 301)
687#define __NR_sendmmsg (__NR_Linux + 302)
688#define __NR_setns (__NR_Linux + 303)
689
690/*
691 * Offset of the last Linux 64-bit flavoured syscall
692 */
693#define __NR_Linux_syscalls 303
694
695#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
696
697#define __NR_64_Linux 5000
698#define __NR_64_Linux_syscalls 303
699
700#if _MIPS_SIM == _MIPS_SIM_NABI32
701
702/*
703 * Linux N32 syscalls are in the range from 6000 to 6999.
704 */
705#define __NR_Linux 6000
706#define __NR_read (__NR_Linux + 0)
707#define __NR_write (__NR_Linux + 1)
708#define __NR_open (__NR_Linux + 2)
709#define __NR_close (__NR_Linux + 3)
710#define __NR_stat (__NR_Linux + 4)
711#define __NR_fstat (__NR_Linux + 5)
712#define __NR_lstat (__NR_Linux + 6)
713#define __NR_poll (__NR_Linux + 7)
714#define __NR_lseek (__NR_Linux + 8)
715#define __NR_mmap (__NR_Linux + 9)
716#define __NR_mprotect (__NR_Linux + 10)
717#define __NR_munmap (__NR_Linux + 11)
718#define __NR_brk (__NR_Linux + 12)
719#define __NR_rt_sigaction (__NR_Linux + 13)
720#define __NR_rt_sigprocmask (__NR_Linux + 14)
721#define __NR_ioctl (__NR_Linux + 15)
722#define __NR_pread64 (__NR_Linux + 16)
723#define __NR_pwrite64 (__NR_Linux + 17)
724#define __NR_readv (__NR_Linux + 18)
725#define __NR_writev (__NR_Linux + 19)
726#define __NR_access (__NR_Linux + 20)
727#define __NR_pipe (__NR_Linux + 21)
728#define __NR__newselect (__NR_Linux + 22)
729#define __NR_sched_yield (__NR_Linux + 23)
730#define __NR_mremap (__NR_Linux + 24)
731#define __NR_msync (__NR_Linux + 25)
732#define __NR_mincore (__NR_Linux + 26)
733#define __NR_madvise (__NR_Linux + 27)
734#define __NR_shmget (__NR_Linux + 28)
735#define __NR_shmat (__NR_Linux + 29)
736#define __NR_shmctl (__NR_Linux + 30)
737#define __NR_dup (__NR_Linux + 31)
738#define __NR_dup2 (__NR_Linux + 32)
739#define __NR_pause (__NR_Linux + 33)
740#define __NR_nanosleep (__NR_Linux + 34)
741#define __NR_getitimer (__NR_Linux + 35)
742#define __NR_setitimer (__NR_Linux + 36)
743#define __NR_alarm (__NR_Linux + 37)
744#define __NR_getpid (__NR_Linux + 38)
745#define __NR_sendfile (__NR_Linux + 39)
746#define __NR_socket (__NR_Linux + 40)
747#define __NR_connect (__NR_Linux + 41)
748#define __NR_accept (__NR_Linux + 42)
749#define __NR_sendto (__NR_Linux + 43)
750#define __NR_recvfrom (__NR_Linux + 44)
751#define __NR_sendmsg (__NR_Linux + 45)
752#define __NR_recvmsg (__NR_Linux + 46)
753#define __NR_shutdown (__NR_Linux + 47)
754#define __NR_bind (__NR_Linux + 48)
755#define __NR_listen (__NR_Linux + 49)
756#define __NR_getsockname (__NR_Linux + 50)
757#define __NR_getpeername (__NR_Linux + 51)
758#define __NR_socketpair (__NR_Linux + 52)
759#define __NR_setsockopt (__NR_Linux + 53)
760#define __NR_getsockopt (__NR_Linux + 54)
761#define __NR_clone (__NR_Linux + 55)
762#define __NR_fork (__NR_Linux + 56)
763#define __NR_execve (__NR_Linux + 57)
764#define __NR_exit (__NR_Linux + 58)
765#define __NR_wait4 (__NR_Linux + 59)
766#define __NR_kill (__NR_Linux + 60)
767#define __NR_uname (__NR_Linux + 61)
768#define __NR_semget (__NR_Linux + 62)
769#define __NR_semop (__NR_Linux + 63)
770#define __NR_semctl (__NR_Linux + 64)
771#define __NR_shmdt (__NR_Linux + 65)
772#define __NR_msgget (__NR_Linux + 66)
773#define __NR_msgsnd (__NR_Linux + 67)
774#define __NR_msgrcv (__NR_Linux + 68)
775#define __NR_msgctl (__NR_Linux + 69)
776#define __NR_fcntl (__NR_Linux + 70)
777#define __NR_flock (__NR_Linux + 71)
778#define __NR_fsync (__NR_Linux + 72)
779#define __NR_fdatasync (__NR_Linux + 73)
780#define __NR_truncate (__NR_Linux + 74)
781#define __NR_ftruncate (__NR_Linux + 75)
782#define __NR_getdents (__NR_Linux + 76)
783#define __NR_getcwd (__NR_Linux + 77)
784#define __NR_chdir (__NR_Linux + 78)
785#define __NR_fchdir (__NR_Linux + 79)
786#define __NR_rename (__NR_Linux + 80)
787#define __NR_mkdir (__NR_Linux + 81)
788#define __NR_rmdir (__NR_Linux + 82)
789#define __NR_creat (__NR_Linux + 83)
790#define __NR_link (__NR_Linux + 84)
791#define __NR_unlink (__NR_Linux + 85)
792#define __NR_symlink (__NR_Linux + 86)
793#define __NR_readlink (__NR_Linux + 87)
794#define __NR_chmod (__NR_Linux + 88)
795#define __NR_fchmod (__NR_Linux + 89)
796#define __NR_chown (__NR_Linux + 90)
797#define __NR_fchown (__NR_Linux + 91)
798#define __NR_lchown (__NR_Linux + 92)
799#define __NR_umask (__NR_Linux + 93)
800#define __NR_gettimeofday (__NR_Linux + 94)
801#define __NR_getrlimit (__NR_Linux + 95)
802#define __NR_getrusage (__NR_Linux + 96)
803#define __NR_sysinfo (__NR_Linux + 97)
804#define __NR_times (__NR_Linux + 98)
805#define __NR_ptrace (__NR_Linux + 99)
806#define __NR_getuid (__NR_Linux + 100)
807#define __NR_syslog (__NR_Linux + 101)
808#define __NR_getgid (__NR_Linux + 102)
809#define __NR_setuid (__NR_Linux + 103)
810#define __NR_setgid (__NR_Linux + 104)
811#define __NR_geteuid (__NR_Linux + 105)
812#define __NR_getegid (__NR_Linux + 106)
813#define __NR_setpgid (__NR_Linux + 107)
814#define __NR_getppid (__NR_Linux + 108)
815#define __NR_getpgrp (__NR_Linux + 109)
816#define __NR_setsid (__NR_Linux + 110)
817#define __NR_setreuid (__NR_Linux + 111)
818#define __NR_setregid (__NR_Linux + 112)
819#define __NR_getgroups (__NR_Linux + 113)
820#define __NR_setgroups (__NR_Linux + 114)
821#define __NR_setresuid (__NR_Linux + 115)
822#define __NR_getresuid (__NR_Linux + 116)
823#define __NR_setresgid (__NR_Linux + 117)
824#define __NR_getresgid (__NR_Linux + 118)
825#define __NR_getpgid (__NR_Linux + 119)
826#define __NR_setfsuid (__NR_Linux + 120)
827#define __NR_setfsgid (__NR_Linux + 121)
828#define __NR_getsid (__NR_Linux + 122)
829#define __NR_capget (__NR_Linux + 123)
830#define __NR_capset (__NR_Linux + 124)
831#define __NR_rt_sigpending (__NR_Linux + 125)
832#define __NR_rt_sigtimedwait (__NR_Linux + 126)
833#define __NR_rt_sigqueueinfo (__NR_Linux + 127)
834#define __NR_rt_sigsuspend (__NR_Linux + 128)
835#define __NR_sigaltstack (__NR_Linux + 129)
836#define __NR_utime (__NR_Linux + 130)
837#define __NR_mknod (__NR_Linux + 131)
838#define __NR_personality (__NR_Linux + 132)
839#define __NR_ustat (__NR_Linux + 133)
840#define __NR_statfs (__NR_Linux + 134)
841#define __NR_fstatfs (__NR_Linux + 135)
842#define __NR_sysfs (__NR_Linux + 136)
843#define __NR_getpriority (__NR_Linux + 137)
844#define __NR_setpriority (__NR_Linux + 138)
845#define __NR_sched_setparam (__NR_Linux + 139)
846#define __NR_sched_getparam (__NR_Linux + 140)
847#define __NR_sched_setscheduler (__NR_Linux + 141)
848#define __NR_sched_getscheduler (__NR_Linux + 142)
849#define __NR_sched_get_priority_max (__NR_Linux + 143)
850#define __NR_sched_get_priority_min (__NR_Linux + 144)
851#define __NR_sched_rr_get_interval (__NR_Linux + 145)
852#define __NR_mlock (__NR_Linux + 146)
853#define __NR_munlock (__NR_Linux + 147)
854#define __NR_mlockall (__NR_Linux + 148)
855#define __NR_munlockall (__NR_Linux + 149)
856#define __NR_vhangup (__NR_Linux + 150)
857#define __NR_pivot_root (__NR_Linux + 151)
858#define __NR__sysctl (__NR_Linux + 152)
859#define __NR_prctl (__NR_Linux + 153)
860#define __NR_adjtimex (__NR_Linux + 154)
861#define __NR_setrlimit (__NR_Linux + 155)
862#define __NR_chroot (__NR_Linux + 156)
863#define __NR_sync (__NR_Linux + 157)
864#define __NR_acct (__NR_Linux + 158)
865#define __NR_settimeofday (__NR_Linux + 159)
866#define __NR_mount (__NR_Linux + 160)
867#define __NR_umount2 (__NR_Linux + 161)
868#define __NR_swapon (__NR_Linux + 162)
869#define __NR_swapoff (__NR_Linux + 163)
870#define __NR_reboot (__NR_Linux + 164)
871#define __NR_sethostname (__NR_Linux + 165)
872#define __NR_setdomainname (__NR_Linux + 166)
873#define __NR_create_module (__NR_Linux + 167)
874#define __NR_init_module (__NR_Linux + 168)
875#define __NR_delete_module (__NR_Linux + 169)
876#define __NR_get_kernel_syms (__NR_Linux + 170)
877#define __NR_query_module (__NR_Linux + 171)
878#define __NR_quotactl (__NR_Linux + 172)
879#define __NR_nfsservctl (__NR_Linux + 173)
880#define __NR_getpmsg (__NR_Linux + 174)
881#define __NR_putpmsg (__NR_Linux + 175)
882#define __NR_afs_syscall (__NR_Linux + 176)
883#define __NR_reserved177 (__NR_Linux + 177)
884#define __NR_gettid (__NR_Linux + 178)
885#define __NR_readahead (__NR_Linux + 179)
886#define __NR_setxattr (__NR_Linux + 180)
887#define __NR_lsetxattr (__NR_Linux + 181)
888#define __NR_fsetxattr (__NR_Linux + 182)
889#define __NR_getxattr (__NR_Linux + 183)
890#define __NR_lgetxattr (__NR_Linux + 184)
891#define __NR_fgetxattr (__NR_Linux + 185)
892#define __NR_listxattr (__NR_Linux + 186)
893#define __NR_llistxattr (__NR_Linux + 187)
894#define __NR_flistxattr (__NR_Linux + 188)
895#define __NR_removexattr (__NR_Linux + 189)
896#define __NR_lremovexattr (__NR_Linux + 190)
897#define __NR_fremovexattr (__NR_Linux + 191)
898#define __NR_tkill (__NR_Linux + 192)
899#define __NR_reserved193 (__NR_Linux + 193)
900#define __NR_futex (__NR_Linux + 194)
901#define __NR_sched_setaffinity (__NR_Linux + 195)
902#define __NR_sched_getaffinity (__NR_Linux + 196)
903#define __NR_cacheflush (__NR_Linux + 197)
904#define __NR_cachectl (__NR_Linux + 198)
905#define __NR_sysmips (__NR_Linux + 199)
906#define __NR_io_setup (__NR_Linux + 200)
907#define __NR_io_destroy (__NR_Linux + 201)
908#define __NR_io_getevents (__NR_Linux + 202)
909#define __NR_io_submit (__NR_Linux + 203)
910#define __NR_io_cancel (__NR_Linux + 204)
911#define __NR_exit_group (__NR_Linux + 205)
912#define __NR_lookup_dcookie (__NR_Linux + 206)
913#define __NR_epoll_create (__NR_Linux + 207)
914#define __NR_epoll_ctl (__NR_Linux + 208)
915#define __NR_epoll_wait (__NR_Linux + 209)
916#define __NR_remap_file_pages (__NR_Linux + 210)
917#define __NR_rt_sigreturn (__NR_Linux + 211)
918#define __NR_fcntl64 (__NR_Linux + 212)
919#define __NR_set_tid_address (__NR_Linux + 213)
920#define __NR_restart_syscall (__NR_Linux + 214)
921#define __NR_semtimedop (__NR_Linux + 215)
922#define __NR_fadvise64 (__NR_Linux + 216)
923#define __NR_statfs64 (__NR_Linux + 217)
924#define __NR_fstatfs64 (__NR_Linux + 218)
925#define __NR_sendfile64 (__NR_Linux + 219)
926#define __NR_timer_create (__NR_Linux + 220)
927#define __NR_timer_settime (__NR_Linux + 221)
928#define __NR_timer_gettime (__NR_Linux + 222)
929#define __NR_timer_getoverrun (__NR_Linux + 223)
930#define __NR_timer_delete (__NR_Linux + 224)
931#define __NR_clock_settime (__NR_Linux + 225)
932#define __NR_clock_gettime (__NR_Linux + 226)
933#define __NR_clock_getres (__NR_Linux + 227)
934#define __NR_clock_nanosleep (__NR_Linux + 228)
935#define __NR_tgkill (__NR_Linux + 229)
936#define __NR_utimes (__NR_Linux + 230)
937#define __NR_mbind (__NR_Linux + 231)
938#define __NR_get_mempolicy (__NR_Linux + 232)
939#define __NR_set_mempolicy (__NR_Linux + 233)
940#define __NR_mq_open (__NR_Linux + 234)
941#define __NR_mq_unlink (__NR_Linux + 235)
942#define __NR_mq_timedsend (__NR_Linux + 236)
943#define __NR_mq_timedreceive (__NR_Linux + 237)
944#define __NR_mq_notify (__NR_Linux + 238)
945#define __NR_mq_getsetattr (__NR_Linux + 239)
946#define __NR_vserver (__NR_Linux + 240)
947#define __NR_waitid (__NR_Linux + 241)
948/* #define __NR_sys_setaltroot (__NR_Linux + 242) */
949#define __NR_add_key (__NR_Linux + 243)
950#define __NR_request_key (__NR_Linux + 244)
951#define __NR_keyctl (__NR_Linux + 245)
952#define __NR_set_thread_area (__NR_Linux + 246)
953#define __NR_inotify_init (__NR_Linux + 247)
954#define __NR_inotify_add_watch (__NR_Linux + 248)
955#define __NR_inotify_rm_watch (__NR_Linux + 249)
956#define __NR_migrate_pages (__NR_Linux + 250)
957#define __NR_openat (__NR_Linux + 251)
958#define __NR_mkdirat (__NR_Linux + 252)
959#define __NR_mknodat (__NR_Linux + 253)
960#define __NR_fchownat (__NR_Linux + 254)
961#define __NR_futimesat (__NR_Linux + 255)
962#define __NR_newfstatat (__NR_Linux + 256)
963#define __NR_unlinkat (__NR_Linux + 257)
964#define __NR_renameat (__NR_Linux + 258)
965#define __NR_linkat (__NR_Linux + 259)
966#define __NR_symlinkat (__NR_Linux + 260)
967#define __NR_readlinkat (__NR_Linux + 261)
968#define __NR_fchmodat (__NR_Linux + 262)
969#define __NR_faccessat (__NR_Linux + 263)
970#define __NR_pselect6 (__NR_Linux + 264)
971#define __NR_ppoll (__NR_Linux + 265)
972#define __NR_unshare (__NR_Linux + 266)
973#define __NR_splice (__NR_Linux + 267)
974#define __NR_sync_file_range (__NR_Linux + 268)
975#define __NR_tee (__NR_Linux + 269)
976#define __NR_vmsplice (__NR_Linux + 270)
977#define __NR_move_pages (__NR_Linux + 271)
978#define __NR_set_robust_list (__NR_Linux + 272)
979#define __NR_get_robust_list (__NR_Linux + 273)
980#define __NR_kexec_load (__NR_Linux + 274)
981#define __NR_getcpu (__NR_Linux + 275)
982#define __NR_epoll_pwait (__NR_Linux + 276)
983#define __NR_ioprio_set (__NR_Linux + 277)
984#define __NR_ioprio_get (__NR_Linux + 278)
985#define __NR_utimensat (__NR_Linux + 279)
986#define __NR_signalfd (__NR_Linux + 280)
987#define __NR_timerfd (__NR_Linux + 281)
988#define __NR_eventfd (__NR_Linux + 282)
989#define __NR_fallocate (__NR_Linux + 283)
990#define __NR_timerfd_create (__NR_Linux + 284)
991#define __NR_timerfd_gettime (__NR_Linux + 285)
992#define __NR_timerfd_settime (__NR_Linux + 286)
993#define __NR_signalfd4 (__NR_Linux + 287)
994#define __NR_eventfd2 (__NR_Linux + 288)
995#define __NR_epoll_create1 (__NR_Linux + 289)
996#define __NR_dup3 (__NR_Linux + 290)
997#define __NR_pipe2 (__NR_Linux + 291)
998#define __NR_inotify_init1 (__NR_Linux + 292)
999#define __NR_preadv (__NR_Linux + 293)
1000#define __NR_pwritev (__NR_Linux + 294)
1001#define __NR_rt_tgsigqueueinfo (__NR_Linux + 295)
1002#define __NR_perf_event_open (__NR_Linux + 296)
1003#define __NR_accept4 (__NR_Linux + 297)
1004#define __NR_recvmmsg (__NR_Linux + 298)
1005#define __NR_getdents64 (__NR_Linux + 299)
1006#define __NR_fanotify_init (__NR_Linux + 300)
1007#define __NR_fanotify_mark (__NR_Linux + 301)
1008#define __NR_prlimit64 (__NR_Linux + 302)
1009#define __NR_name_to_handle_at (__NR_Linux + 303)
1010#define __NR_open_by_handle_at (__NR_Linux + 304)
1011#define __NR_clock_adjtime (__NR_Linux + 305)
1012#define __NR_syncfs (__NR_Linux + 306)
1013#define __NR_sendmmsg (__NR_Linux + 307)
1014#define __NR_setns (__NR_Linux + 308)
1015
1016/*
1017 * Offset of the last N32 flavoured syscall
1018 */
1019#define __NR_Linux_syscalls 308
1020
1021#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
1022
1023#define __NR_N32_Linux 6000
1024#define __NR_N32_Linux_syscalls 308
1025
1026#ifdef __KERNEL__
17 1027
18#ifndef __ASSEMBLY__ 1028#ifndef __ASSEMBLY__
19 1029
20#define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 1030#define __ARCH_OMIT_COMPAT_SYS_GETDENTS64
1031#define __ARCH_WANT_IPC_PARSE_VERSION
21#define __ARCH_WANT_OLD_READDIR 1032#define __ARCH_WANT_OLD_READDIR
22#define __ARCH_WANT_SYS_ALARM 1033#define __ARCH_WANT_SYS_ALARM
23#define __ARCH_WANT_SYS_GETHOSTNAME 1034#define __ARCH_WANT_SYS_GETHOSTNAME
@@ -70,4 +1081,5 @@
70 */ 1081 */
71#define cond_syscall(x) asm(".weak\t" #x "\n" #x "\t=\tsys_ni_syscall") 1082#define cond_syscall(x) asm(".weak\t" #x "\n" #x "\t=\tsys_ni_syscall")
72 1083
1084#endif /* __KERNEL__ */
73#endif /* _ASM_UNISTD_H */ 1085#endif /* _ASM_UNISTD_H */
diff --git a/arch/mips/include/asm/war.h b/arch/mips/include/asm/war.h
index 65e344532de..fa133c1bc1f 100644
--- a/arch/mips/include/asm/war.h
+++ b/arch/mips/include/asm/war.h
@@ -209,6 +209,14 @@
209#endif 209#endif
210 210
211/* 211/*
212 * On the RM9000 there is a problem which makes the CreateDirtyExclusive
213 * eache operation unusable on SMP systems.
214 */
215#ifndef RM9000_CDEX_SMP_WAR
216#error Check setting of RM9000_CDEX_SMP_WAR for your platform
217#endif
218
219/*
212 * The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra 220 * The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra
213 * opposes it being called that) where invalid instructions in the same 221 * opposes it being called that) where invalid instructions in the same
214 * I-cache line worth of instructions being fetched may case spurious 222 * I-cache line worth of instructions being fetched may case spurious