aboutsummaryrefslogtreecommitdiff
path: root/src/vendorcode/cavium/include/bdk/libbdk-arch/bdk-csrs-mio_boot.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode/cavium/include/bdk/libbdk-arch/bdk-csrs-mio_boot.h')
-rw-r--r--src/vendorcode/cavium/include/bdk/libbdk-arch/bdk-csrs-mio_boot.h537
1 files changed, 537 insertions, 0 deletions
diff --git a/src/vendorcode/cavium/include/bdk/libbdk-arch/bdk-csrs-mio_boot.h b/src/vendorcode/cavium/include/bdk/libbdk-arch/bdk-csrs-mio_boot.h
new file mode 100644
index 0000000000..2223015a3c
--- /dev/null
+++ b/src/vendorcode/cavium/include/bdk/libbdk-arch/bdk-csrs-mio_boot.h
@@ -0,0 +1,537 @@
+#ifndef __BDK_CSRS_MIO_BOOT_H__
+#define __BDK_CSRS_MIO_BOOT_H__
+/* This file is auto-generated. Do not edit */
+
+/***********************license start***************
+ * Copyright (c) 2003-2017 Cavium Inc. (support@cavium.com). All rights
+ * reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+
+ * * Neither the name of Cavium Inc. nor the names of
+ * its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+
+ * This Software, including technical data, may be subject to U.S. export control
+ * laws, including the U.S. Export Administration Act and its associated
+ * regulations, and may be subject to export or import regulations in other
+ * countries.
+
+ * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
+ * AND WITH ALL FAULTS AND CAVIUM NETWORKS MAKES NO PROMISES, REPRESENTATIONS OR
+ * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
+ * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR
+ * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM
+ * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE,
+ * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF
+ * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
+ * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR
+ * PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
+ ***********************license end**************************************/
+
+
+/**
+ * @file
+ *
+ * Configuration and status register (CSR) address and type definitions for
+ * Cavium MIO_BOOT.
+ *
+ * This file is auto generated. Do not edit.
+ *
+ */
+
+/**
+ * Enumeration mio_boot_bar_e
+ *
+ * MIO Boot Base Address Register Enumeration
+ * Enumerates the base address registers.
+ */
+#define BDK_MIO_BOOT_BAR_E_MIO_BOOT_PF_BAR0 (0x87e000000000ll)
+#define BDK_MIO_BOOT_BAR_E_MIO_BOOT_PF_BAR0_SIZE 0x800000ull
+
+/**
+ * Register (RSL) mio_boot_ap_jump
+ *
+ * MIO Boot AP Jump Address Register
+ */
+union bdk_mio_boot_ap_jump
+{
+ uint64_t u;
+ struct bdk_mio_boot_ap_jump_s
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t addr : 64; /**< [ 63: 0](SR/W) Boot address. This register contains the address the internal boot loader
+ will jump to after reset. */
+#else /* Word 0 - Little Endian */
+ uint64_t addr : 64; /**< [ 63: 0](SR/W) Boot address. This register contains the address the internal boot loader
+ will jump to after reset. */
+#endif /* Word 0 - End */
+ } s;
+ /* struct bdk_mio_boot_ap_jump_s cn; */
+};
+typedef union bdk_mio_boot_ap_jump bdk_mio_boot_ap_jump_t;
+
+#define BDK_MIO_BOOT_AP_JUMP BDK_MIO_BOOT_AP_JUMP_FUNC()
+static inline uint64_t BDK_MIO_BOOT_AP_JUMP_FUNC(void) __attribute__ ((pure, always_inline));
+static inline uint64_t BDK_MIO_BOOT_AP_JUMP_FUNC(void)
+{
+ if (CAVIUM_IS_MODEL(CAVIUM_CN8XXX))
+ return 0x87e0000000d0ll;
+ __bdk_csr_fatal("MIO_BOOT_AP_JUMP", 0, 0, 0, 0, 0);
+}
+
+#define typedef_BDK_MIO_BOOT_AP_JUMP bdk_mio_boot_ap_jump_t
+#define bustype_BDK_MIO_BOOT_AP_JUMP BDK_CSR_TYPE_RSL
+#define basename_BDK_MIO_BOOT_AP_JUMP "MIO_BOOT_AP_JUMP"
+#define device_bar_BDK_MIO_BOOT_AP_JUMP 0x0 /* PF_BAR0 */
+#define busnum_BDK_MIO_BOOT_AP_JUMP 0
+#define arguments_BDK_MIO_BOOT_AP_JUMP -1,-1,-1,-1
+
+/**
+ * Register (RSL) mio_boot_bist_stat
+ *
+ * MIO Boot BIST Status Register
+ * The boot BIST status register contains the BIST status for the MIO boot memories: 0 = pass, 1
+ * = fail.
+ */
+union bdk_mio_boot_bist_stat
+{
+ uint64_t u;
+ struct bdk_mio_boot_bist_stat_s
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_16_63 : 48;
+ uint64_t stat : 16; /**< [ 15: 0](RO/H) BIST status.
+ Internal:
+ \<0\> = mio.mio_boot.mio_boot_fifo.mem.
+ \<1\> = mio.mio_boot.mio_boot_rsp.mem.
+ \<2\> = mio.mio_boot.mio_boot_dma.mem.
+ \<3\> = mio.mio_nbt.mio_nbt_fifo.mem.
+ \<4\> = mio.mio_emm.bufs.mem.mem.
+ \<5\> = mio.mio_nbr.ncbo_crd_fif_mem0.
+ \<6\> = mio.csr.csr_fifo.
+ \<7\> = mio_boot_rom/mio_boot_rom1 (internal bootroms).
+ \<8\> = mio.mio_rsl.mio_pcc.gpi_pcc.
+ \<9\> = mio.mio_pbus.mio_pbus_fifo.mem.
+ \<10\> = mio.mio_pbus.mio_pbus_rsp.mem.
+ \<11\> = mio.mio_ndf.mio_ndf_bufs.ndf_buf.
+ \<12\> = mio.mio_ndf.ndf_ncb_rcv_fif.
+ \<13\> = mio.mio_pcm.mio_pcm_ctl.dmamem.
+ \<14\> = mio.mio_pcm.mio_pcm_ctl.maskmem.
+ \<15\> = mio.mio_nbt.mio_nbt_pfifo.mem. */
+#else /* Word 0 - Little Endian */
+ uint64_t stat : 16; /**< [ 15: 0](RO/H) BIST status.
+ Internal:
+ \<0\> = mio.mio_boot.mio_boot_fifo.mem.
+ \<1\> = mio.mio_boot.mio_boot_rsp.mem.
+ \<2\> = mio.mio_boot.mio_boot_dma.mem.
+ \<3\> = mio.mio_nbt.mio_nbt_fifo.mem.
+ \<4\> = mio.mio_emm.bufs.mem.mem.
+ \<5\> = mio.mio_nbr.ncbo_crd_fif_mem0.
+ \<6\> = mio.csr.csr_fifo.
+ \<7\> = mio_boot_rom/mio_boot_rom1 (internal bootroms).
+ \<8\> = mio.mio_rsl.mio_pcc.gpi_pcc.
+ \<9\> = mio.mio_pbus.mio_pbus_fifo.mem.
+ \<10\> = mio.mio_pbus.mio_pbus_rsp.mem.
+ \<11\> = mio.mio_ndf.mio_ndf_bufs.ndf_buf.
+ \<12\> = mio.mio_ndf.ndf_ncb_rcv_fif.
+ \<13\> = mio.mio_pcm.mio_pcm_ctl.dmamem.
+ \<14\> = mio.mio_pcm.mio_pcm_ctl.maskmem.
+ \<15\> = mio.mio_nbt.mio_nbt_pfifo.mem. */
+ uint64_t reserved_16_63 : 48;
+#endif /* Word 0 - End */
+ } s;
+ /* struct bdk_mio_boot_bist_stat_s cn81xx; */
+ struct bdk_mio_boot_bist_stat_cn88xx
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_9_63 : 55;
+ uint64_t stat : 9; /**< [ 8: 0](RO/H) BIST status.
+ Internal:
+ \<0\> = mio.mio_boot.mio_boot_fifo.mem.
+ \<1\> = mio.mio_boot.mio_boot_rsp.mem.
+ \<2\> = mio.mio_boot.mio_boot_dma.mem.
+ \<3\> = mio.mio_nbt.mio_nbt_fifo.mem.
+ \<4\> = mio.mio_emm.bufs.mem.mem.
+ \<5\> = mio.mio_nbr.ncbo_crd_fif_mem0.
+ \<6\> = mio.csr.csr_fifo.
+ \<7\> = mio_boot_rom/mio_boot_rom1 (internal bootroms).
+ \<8\> = mio.mio_rsl.mio_pcc.gpi_pcc. */
+#else /* Word 0 - Little Endian */
+ uint64_t stat : 9; /**< [ 8: 0](RO/H) BIST status.
+ Internal:
+ \<0\> = mio.mio_boot.mio_boot_fifo.mem.
+ \<1\> = mio.mio_boot.mio_boot_rsp.mem.
+ \<2\> = mio.mio_boot.mio_boot_dma.mem.
+ \<3\> = mio.mio_nbt.mio_nbt_fifo.mem.
+ \<4\> = mio.mio_emm.bufs.mem.mem.
+ \<5\> = mio.mio_nbr.ncbo_crd_fif_mem0.
+ \<6\> = mio.csr.csr_fifo.
+ \<7\> = mio_boot_rom/mio_boot_rom1 (internal bootroms).
+ \<8\> = mio.mio_rsl.mio_pcc.gpi_pcc. */
+ uint64_t reserved_9_63 : 55;
+#endif /* Word 0 - End */
+ } cn88xx;
+ struct bdk_mio_boot_bist_stat_cn83xx
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_13_63 : 51;
+ uint64_t stat : 13; /**< [ 12: 0](RO/H) BIST status.
+ Internal:
+ \<0\> = mio.mio_boot.mio_boot_fifo.mem.
+ \<1\> = mio.mio_boot.mio_boot_rsp.mem.
+ \<2\> = mio.mio_boot.mio_boot_dma.mem.
+ \<3\> = mio.mio_nbt.mio_nbt_fifo.mem.
+ \<4\> = mio.mio_emm.bufs.mem.mem.
+ \<5\> = mio.mio_nbr.ncbo_crd_fif_mem0.
+ \<6\> = mio.csr.csr_fifo.
+ \<7\> = mio_boot_rom/mio_boot_rom1 (internal bootroms).
+ \<8\> = mio.mio_rsl.mio_pcc.gpi_pcc.
+ \<9\> = mio.mio_pbus.mio_pbus_fifo.mem.
+ \<10\> = mio.mio_pbus.mio_pbus_rsp.mem.
+ \<11\> = mio.mio_ndf.mio_ndf_bufs.ndf_buf.
+ \<12\> = mio.mio_ndf.ndf_ncb_rcv_fif. */
+#else /* Word 0 - Little Endian */
+ uint64_t stat : 13; /**< [ 12: 0](RO/H) BIST status.
+ Internal:
+ \<0\> = mio.mio_boot.mio_boot_fifo.mem.
+ \<1\> = mio.mio_boot.mio_boot_rsp.mem.
+ \<2\> = mio.mio_boot.mio_boot_dma.mem.
+ \<3\> = mio.mio_nbt.mio_nbt_fifo.mem.
+ \<4\> = mio.mio_emm.bufs.mem.mem.
+ \<5\> = mio.mio_nbr.ncbo_crd_fif_mem0.
+ \<6\> = mio.csr.csr_fifo.
+ \<7\> = mio_boot_rom/mio_boot_rom1 (internal bootroms).
+ \<8\> = mio.mio_rsl.mio_pcc.gpi_pcc.
+ \<9\> = mio.mio_pbus.mio_pbus_fifo.mem.
+ \<10\> = mio.mio_pbus.mio_pbus_rsp.mem.
+ \<11\> = mio.mio_ndf.mio_ndf_bufs.ndf_buf.
+ \<12\> = mio.mio_ndf.ndf_ncb_rcv_fif. */
+ uint64_t reserved_13_63 : 51;
+#endif /* Word 0 - End */
+ } cn83xx;
+};
+typedef union bdk_mio_boot_bist_stat bdk_mio_boot_bist_stat_t;
+
+#define BDK_MIO_BOOT_BIST_STAT BDK_MIO_BOOT_BIST_STAT_FUNC()
+static inline uint64_t BDK_MIO_BOOT_BIST_STAT_FUNC(void) __attribute__ ((pure, always_inline));
+static inline uint64_t BDK_MIO_BOOT_BIST_STAT_FUNC(void)
+{
+ if (CAVIUM_IS_MODEL(CAVIUM_CN8XXX))
+ return 0x87e0000000f8ll;
+ __bdk_csr_fatal("MIO_BOOT_BIST_STAT", 0, 0, 0, 0, 0);
+}
+
+#define typedef_BDK_MIO_BOOT_BIST_STAT bdk_mio_boot_bist_stat_t
+#define bustype_BDK_MIO_BOOT_BIST_STAT BDK_CSR_TYPE_RSL
+#define basename_BDK_MIO_BOOT_BIST_STAT "MIO_BOOT_BIST_STAT"
+#define device_bar_BDK_MIO_BOOT_BIST_STAT 0x0 /* PF_BAR0 */
+#define busnum_BDK_MIO_BOOT_BIST_STAT 0
+#define arguments_BDK_MIO_BOOT_BIST_STAT -1,-1,-1,-1
+
+/**
+ * Register (RSL) mio_boot_pin_defs
+ *
+ * MIO Boot Pin Defaults Register
+ * This register reflects the value of some of the pins sampled
+ * at the rising edge of PLL_DCOK. The GPIO pins sampled at
+ * the same time are available in the GPIO_STRAP csr.
+ */
+union bdk_mio_boot_pin_defs
+{
+ uint64_t u;
+ struct bdk_mio_boot_pin_defs_s
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_18_63 : 46;
+ uint64_t uart1_rts : 1; /**< [ 17: 17](RO) State of UART1_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t uart0_rts : 1; /**< [ 16: 16](RO) State of UART0_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t reserved_11_15 : 5;
+ uint64_t rgm_supply : 2; /**< [ 10: 9](RO) RGMII power supply setting based on VDD_RGM_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ _ All other values reserved. */
+ uint64_t emm_supply : 3; /**< [ 8: 6](RO) EMMC power supply settings.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t smi_supply : 3; /**< [ 5: 3](RO) SMI power supply setting based on VDD_SMI_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t io_supply : 3; /**< [ 2: 0](RO) I/O power supply setting based on VDD_IO_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+#else /* Word 0 - Little Endian */
+ uint64_t io_supply : 3; /**< [ 2: 0](RO) I/O power supply setting based on VDD_IO_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t smi_supply : 3; /**< [ 5: 3](RO) SMI power supply setting based on VDD_SMI_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t emm_supply : 3; /**< [ 8: 6](RO) EMMC power supply settings.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t rgm_supply : 2; /**< [ 10: 9](RO) RGMII power supply setting based on VDD_RGM_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ _ All other values reserved. */
+ uint64_t reserved_11_15 : 5;
+ uint64_t uart0_rts : 1; /**< [ 16: 16](RO) State of UART0_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t uart1_rts : 1; /**< [ 17: 17](RO) State of UART1_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t reserved_18_63 : 46;
+#endif /* Word 0 - End */
+ } s;
+ struct bdk_mio_boot_pin_defs_cn81xx
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_18_63 : 46;
+ uint64_t uart1_rts : 1; /**< [ 17: 17](RO) State of UART1_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t uart0_rts : 1; /**< [ 16: 16](RO) Reference clock select. State of UART0_RTS_N pin sampled when DCOK asserts.
+ 0 = Board supplies 100 MHz to DLM_REF_CLK\<1\> (divided by 2 internally).
+ 1 = Board supplies 50 MHz to PLL_REFCLK. */
+ uint64_t reserved_11_15 : 5;
+ uint64_t rgm_supply : 2; /**< [ 10: 9](RO) RGMII power supply setting based on VDD_RGM_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ _ All other values reserved. */
+ uint64_t emm_supply : 3; /**< [ 8: 6](RO) EMMC power supply settings.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t smi_supply : 3; /**< [ 5: 3](RO) SMI power supply setting based on VDD_SMI_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t io_supply : 3; /**< [ 2: 0](RO) I/O power supply setting based on VDD_IO_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+#else /* Word 0 - Little Endian */
+ uint64_t io_supply : 3; /**< [ 2: 0](RO) I/O power supply setting based on VDD_IO_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t smi_supply : 3; /**< [ 5: 3](RO) SMI power supply setting based on VDD_SMI_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t emm_supply : 3; /**< [ 8: 6](RO) EMMC power supply settings.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t rgm_supply : 2; /**< [ 10: 9](RO) RGMII power supply setting based on VDD_RGM_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ _ All other values reserved. */
+ uint64_t reserved_11_15 : 5;
+ uint64_t uart0_rts : 1; /**< [ 16: 16](RO) Reference clock select. State of UART0_RTS_N pin sampled when DCOK asserts.
+ 0 = Board supplies 100 MHz to DLM_REF_CLK\<1\> (divided by 2 internally).
+ 1 = Board supplies 50 MHz to PLL_REFCLK. */
+ uint64_t uart1_rts : 1; /**< [ 17: 17](RO) State of UART1_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t reserved_18_63 : 46;
+#endif /* Word 0 - End */
+ } cn81xx;
+ struct bdk_mio_boot_pin_defs_cn88xx
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_6_63 : 58;
+ uint64_t smi_supply : 3; /**< [ 5: 3](RO) SMI power supply setting based on VDD_SMI_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t io_supply : 3; /**< [ 2: 0](RO) I/O power supply setting based on VDD_IO_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+#else /* Word 0 - Little Endian */
+ uint64_t io_supply : 3; /**< [ 2: 0](RO) I/O power supply setting based on VDD_IO_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t smi_supply : 3; /**< [ 5: 3](RO) SMI power supply setting based on VDD_SMI_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t reserved_6_63 : 58;
+#endif /* Word 0 - End */
+ } cn88xx;
+ struct bdk_mio_boot_pin_defs_cn83xx
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_18_63 : 46;
+ uint64_t uart1_rts : 1; /**< [ 17: 17](RO) State of UART1_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t uart0_rts : 1; /**< [ 16: 16](RO) State of UART0_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t reserved_9_15 : 7;
+ uint64_t emm_supply : 3; /**< [ 8: 6](RO) EMMC power supply settings.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t smi_supply : 3; /**< [ 5: 3](RO) SMI power supply setting based on VDD_SMI_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t io_supply : 3; /**< [ 2: 0](RO) I/O power supply setting based on VDD_IO_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+#else /* Word 0 - Little Endian */
+ uint64_t io_supply : 3; /**< [ 2: 0](RO) I/O power supply setting based on VDD_IO_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t smi_supply : 3; /**< [ 5: 3](RO) SMI power supply setting based on VDD_SMI_SUPPLY_SELECT pin:
+ 0x2 = 2.5V.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t emm_supply : 3; /**< [ 8: 6](RO) EMMC power supply settings.
+ 0x4 = 3.3V.
+ _ All other values reserved. */
+ uint64_t reserved_9_15 : 7;
+ uint64_t uart0_rts : 1; /**< [ 16: 16](RO) State of UART0_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t uart1_rts : 1; /**< [ 17: 17](RO) State of UART1_RTS_N pin strap sampled when DCOK asserts. */
+ uint64_t reserved_18_63 : 46;
+#endif /* Word 0 - End */
+ } cn83xx;
+};
+typedef union bdk_mio_boot_pin_defs bdk_mio_boot_pin_defs_t;
+
+#define BDK_MIO_BOOT_PIN_DEFS BDK_MIO_BOOT_PIN_DEFS_FUNC()
+static inline uint64_t BDK_MIO_BOOT_PIN_DEFS_FUNC(void) __attribute__ ((pure, always_inline));
+static inline uint64_t BDK_MIO_BOOT_PIN_DEFS_FUNC(void)
+{
+ if (CAVIUM_IS_MODEL(CAVIUM_CN8XXX))
+ return 0x87e0000000c0ll;
+ __bdk_csr_fatal("MIO_BOOT_PIN_DEFS", 0, 0, 0, 0, 0);
+}
+
+#define typedef_BDK_MIO_BOOT_PIN_DEFS bdk_mio_boot_pin_defs_t
+#define bustype_BDK_MIO_BOOT_PIN_DEFS BDK_CSR_TYPE_RSL
+#define basename_BDK_MIO_BOOT_PIN_DEFS "MIO_BOOT_PIN_DEFS"
+#define device_bar_BDK_MIO_BOOT_PIN_DEFS 0x0 /* PF_BAR0 */
+#define busnum_BDK_MIO_BOOT_PIN_DEFS 0
+#define arguments_BDK_MIO_BOOT_PIN_DEFS -1,-1,-1,-1
+
+/**
+ * Register (RSL) mio_boot_rom_limit
+ *
+ * MIO Boot ROM Limit Register
+ * This register contains the largest valid address in the internal bootrom.
+ */
+union bdk_mio_boot_rom_limit
+{
+ uint64_t u;
+ struct bdk_mio_boot_rom_limit_s
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_17_63 : 47;
+ uint64_t addr : 17; /**< [ 16: 0](SR/W/H) End of ROM address. This field specifies the first invalid address in ROM_MEM();
+ access to a ROM_MEM() address at or above this address will return a fault and zeros.
+ Writes to this register which attempt to set an [ADDR] greater than the previous [ADDR]
+ setting are ignored.
+
+ Internal:
+ If trusted boot mode, resets to the size of the internal
+ bootrom (0x4000), ROM boot instructions may then write to decrease the value. If
+ non-trusted boot resets to a value read from ROM_MEM() at address MAX - 12, just
+ before the CRC. */
+#else /* Word 0 - Little Endian */
+ uint64_t addr : 17; /**< [ 16: 0](SR/W/H) End of ROM address. This field specifies the first invalid address in ROM_MEM();
+ access to a ROM_MEM() address at or above this address will return a fault and zeros.
+ Writes to this register which attempt to set an [ADDR] greater than the previous [ADDR]
+ setting are ignored.
+
+ Internal:
+ If trusted boot mode, resets to the size of the internal
+ bootrom (0x4000), ROM boot instructions may then write to decrease the value. If
+ non-trusted boot resets to a value read from ROM_MEM() at address MAX - 12, just
+ before the CRC. */
+ uint64_t reserved_17_63 : 47;
+#endif /* Word 0 - End */
+ } s;
+ /* struct bdk_mio_boot_rom_limit_s cn; */
+};
+typedef union bdk_mio_boot_rom_limit bdk_mio_boot_rom_limit_t;
+
+#define BDK_MIO_BOOT_ROM_LIMIT BDK_MIO_BOOT_ROM_LIMIT_FUNC()
+static inline uint64_t BDK_MIO_BOOT_ROM_LIMIT_FUNC(void) __attribute__ ((pure, always_inline));
+static inline uint64_t BDK_MIO_BOOT_ROM_LIMIT_FUNC(void)
+{
+ if (CAVIUM_IS_MODEL(CAVIUM_CN8XXX))
+ return 0x87e0000000d8ll;
+ __bdk_csr_fatal("MIO_BOOT_ROM_LIMIT", 0, 0, 0, 0, 0);
+}
+
+#define typedef_BDK_MIO_BOOT_ROM_LIMIT bdk_mio_boot_rom_limit_t
+#define bustype_BDK_MIO_BOOT_ROM_LIMIT BDK_CSR_TYPE_RSL
+#define basename_BDK_MIO_BOOT_ROM_LIMIT "MIO_BOOT_ROM_LIMIT"
+#define device_bar_BDK_MIO_BOOT_ROM_LIMIT 0x0 /* PF_BAR0 */
+#define busnum_BDK_MIO_BOOT_ROM_LIMIT 0
+#define arguments_BDK_MIO_BOOT_ROM_LIMIT -1,-1,-1,-1
+
+/**
+ * Register (RSL) mio_boot_thr
+ *
+ * MIO Boot Threshold Register
+ * The boot-threshold register contains MIO boot-threshold values.
+ */
+union bdk_mio_boot_thr
+{
+ uint64_t u;
+ struct bdk_mio_boot_thr_s
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_14_63 : 50;
+ uint64_t fif_cnt : 6; /**< [ 13: 8](RO/H) Current FIFO count. */
+ uint64_t reserved_6_7 : 2;
+ uint64_t fif_thr : 6; /**< [ 5: 0](R/W) NCB busy threshold. Should always read 0x19 (the only legal value). */
+#else /* Word 0 - Little Endian */
+ uint64_t fif_thr : 6; /**< [ 5: 0](R/W) NCB busy threshold. Should always read 0x19 (the only legal value). */
+ uint64_t reserved_6_7 : 2;
+ uint64_t fif_cnt : 6; /**< [ 13: 8](RO/H) Current FIFO count. */
+ uint64_t reserved_14_63 : 50;
+#endif /* Word 0 - End */
+ } s;
+ /* struct bdk_mio_boot_thr_s cn81xx; */
+ struct bdk_mio_boot_thr_cn88xx
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN /* Word 0 - Big Endian */
+ uint64_t reserved_14_63 : 50;
+ uint64_t fif_cnt : 6; /**< [ 13: 8](RO/H) Current NCB FIFO count. */
+ uint64_t reserved_6_7 : 2;
+ uint64_t fif_thr : 6; /**< [ 5: 0](R/W) NCB busy threshold. Should always read 0x19 (the only legal value). */
+#else /* Word 0 - Little Endian */
+ uint64_t fif_thr : 6; /**< [ 5: 0](R/W) NCB busy threshold. Should always read 0x19 (the only legal value). */
+ uint64_t reserved_6_7 : 2;
+ uint64_t fif_cnt : 6; /**< [ 13: 8](RO/H) Current NCB FIFO count. */
+ uint64_t reserved_14_63 : 50;
+#endif /* Word 0 - End */
+ } cn88xx;
+ /* struct bdk_mio_boot_thr_s cn83xx; */
+};
+typedef union bdk_mio_boot_thr bdk_mio_boot_thr_t;
+
+#define BDK_MIO_BOOT_THR BDK_MIO_BOOT_THR_FUNC()
+static inline uint64_t BDK_MIO_BOOT_THR_FUNC(void) __attribute__ ((pure, always_inline));
+static inline uint64_t BDK_MIO_BOOT_THR_FUNC(void)
+{
+ if (CAVIUM_IS_MODEL(CAVIUM_CN8XXX))
+ return 0x87e0000000b0ll;
+ __bdk_csr_fatal("MIO_BOOT_THR", 0, 0, 0, 0, 0);
+}
+
+#define typedef_BDK_MIO_BOOT_THR bdk_mio_boot_thr_t
+#define bustype_BDK_MIO_BOOT_THR BDK_CSR_TYPE_RSL
+#define basename_BDK_MIO_BOOT_THR "MIO_BOOT_THR"
+#define device_bar_BDK_MIO_BOOT_THR 0x0 /* PF_BAR0 */
+#define busnum_BDK_MIO_BOOT_THR 0
+#define arguments_BDK_MIO_BOOT_THR -1,-1,-1,-1
+
+#endif /* __BDK_CSRS_MIO_BOOT_H__ */