PDK API Guide for J721E
Board Data Types

Introduction

Data Structures

struct  Board_IDInfo
 This structure contains board specific information. More...
 
struct  __attribute__
 This structure contains board specific information. More...
 
struct  Board_SoCInfo
 This structure contains SoC specific information. More...
 

Typedefs

typedef int32_t Board_STATUS
 The return type for board library API calls. More...
 
typedef uint32_t Board_initCfg
 
typedef void(* Board_thermalMgmtCallbackFunction_t) (Board_DDRTempEventType DDRTempEventType)
 

Enumerations

enum  Board_DDRTempEventType {
  BOARD_DDR_TEMP_EVENT_TEMP_ALERT = 1, BOARD_DDR_TEMP_EVENT_LOW_TEMP_ALARM = 2, BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_4X_REFRESH = 3, BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_2X_REFRESH = 4,
  BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_1X_REFRESH = 5, BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_1_BY_2_REFRESH = 6, BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_1_BY_4_REFRESH = 7, BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_1_BY_4_REFRESH_WITH_DERATING = 8,
  BOARD_DDR_TEMP_EVENT_HIGH_TEMP_ALARM = 9
}
 Enumeration of reported temperature event types. More...
 

Macros

#define BOARD_CACHE_LINE_SIZE   (128)
 Board Library uses basic C99 data types. The basic types used are uint32_t, int32_t, uint8_t, int8_t, uint16_t and int16_t. The standard C char is used for strings. Complex types (or typdefs) if used are defined within this header file. More...
 
#define board_roundup(n, w)   (((n) + (w) - 1) & ~((w) - 1))
 
#define BOARD_SOK   0
 
#define BOARD_INVALID_PARAM   -1
 
#define BOARD_UNSUPPORTED_FEATURE   -2
 
#define BOARD_I2C_OPEN_FAIL   -3
 
#define BOARD_I2C_TRANSFER_FAIL   -4
 
#define BOARD_PINMUX_BAD_MEM_REGION   -5
 
#define BOARD_INIT_CLOCK_FAIL   -6
 
#define BOARD_INIT_DDR_FAIL   -7
 
#define BOARD_PINMUX_INVALID_MODE   -8
 
#define BOARD_FAIL   -10
 
#define BOARD_MAX_ID_STR_LEN   20
 
#define BOARD_BOARD_NAME_LEN   (16U)
 
#define BOARD_DESIGN_REV_LEN   (2U)
 
#define BOARD_PROC_NUM_LEN   (4U)
 
#define BOARD_VARIANT_LEN   (2U)
 
#define BOARD_PCBREV_LEN   (2U)
 
#define BOARD_SCHMBOM_REV_LEN   (2U)
 
#define BOARD_SWREV_LEN   (2U)
 
#define BOARD_VENDORID_LEN   (2U)
 
#define BOARD_BUILD_WEEK_LEN   (2U)
 
#define BOARD_BUILD_YEAR_LEN   (2U)
 
#define BOARD_BOARDID_LEN   (6U)
 
#define BOARD_SERIAL_NUM_LEN   (4U)
 
#define BOARD_MAC_ADDR_LEN   (192U)
 
#define BOARD_SYS_CLK_DEFAULT   (0xFFFFFFFFU)
 
#define BOARD_INIT_ALL   (0xFFFFFFFFU)
 
#define BOARD_INIT_UNLOCK_MMR   (1 << 1U)
 
#define BOARD_INIT_PLL   (1 << 2U)
 
#define BOARD_INIT_PLL_MCU   (1 << 3U)
 
#define BOARD_INIT_PLL_MAIN   (1 << 4U)
 
#define BOARD_INIT_MODULE_CLOCK   (1 << 5U)
 
#define BOARD_INIT_MODULE_CLOCK_MCU   (1 << 6U)
 
#define BOARD_INIT_MODULE_CLOCK_MAIN   (1 << 7U)
 
#define BOARD_INIT_DDR   (1 << 8U)
 
#define BOARD_INIT_WATCHDOG_DISABLE   (1 << 9U)
 
#define BOARD_INIT_PINMUX_CONFIG   (1 << 10U)
 
#define BOARD_INIT_PINMUX_CONFIG_MAIN   (1 << 11U)
 
#define BOARD_INIT_PINMUX_CONFIG_MCU   (1 << 12U)
 
#define BOARD_INIT_UART_STDIO   (1 << 13U)
 
#define BOARD_INIT_ICSS_PINMUX   (1 << 14U)
 
#define BOARD_INIT_ETH_PHY   (1 << 15U)
 
#define BOARD_INIT_ECC   (1 << 16U)
 
#define BOARD_INIT_PLL_OPP_HIGH   (1 << 17U)
 
#define BOARD_INIT_PLL_OPP_OD   (1 << 18U)
 
#define BOARD_INIT_PLL_OPP_NOM   (1 << 19U)
 
#define BOARD_INIT_ICSS_ETH_PHY   (1 << 20U)
 
#define BOARD_INIT_EMIF_PINMUX   (1 << 21U)
 
#define BOARD_INIT_DDR_ECC   (1 << 22U)
 
#define BOARD_INIT_SERDES_PHY   (1 << 23U)
 
#define BOARD_INIT_I2C   (1 << 24U)
 
#define BOARD_DEINIT_I2C   (1 << 25U)
 
#define BOARD_INIT_CPSW9G_ETH_PHY   (1 << 26U)
 
#define BOARD_INIT_ENETCTRL_CPSW2G   (1 << 27U)
 
#define BOARD_INIT_ENETCTRL_CPSW9G   (1 << 28U)
 
#define BOARD_INIT_ENETCTRL_ICSS   (1 << 29U)
 
#define BOARD_INIT_DEFAULT   BOARD_INIT_ALL
 
#define BOARD_DEINIT_ALL   (0xFFFFFFFFU)
 
#define BOARD_DEINIT_LOCK_MMR   (1 << 1U)
 
#define BOARD_DEINIT_MODULE_CLOCK   (1 << 2U)
 
#define BOARD_DEINIT_UART_STDIO   (1 << 3U)
 
#define BOARD_DEINIT_DEFAULT   BOARD_DEINIT_ALL
 

Macro Definition Documentation

#define BOARD_CACHE_LINE_SIZE   (128)

Board Library uses basic C99 data types. The basic types used are uint32_t, int32_t, uint8_t, int8_t, uint16_t and int16_t. The standard C char is used for strings. Complex types (or typdefs) if used are defined within this header file.

The following definitions are for handling cache alignment on the board.

    MAX_CACHE_LINE must be set to the cache line size of the board.

    When allocating memory that must be cache aligned, it must be a multiple of
    the cache line size. Use board_roundup to get the appropriate size.

    As an example to allocate a cache aligned block of memory you would do
    something like:

        buffer_len_aligned = board_roundup (buffer_len, MAX_CACHE_LINE)
        Malloc (buffer_len_aligned)
#define board_roundup (   n,
 
)    (((n) + (w) - 1) & ~((w) - 1))
#define BOARD_SOK   0

Board status OK

#define BOARD_INVALID_PARAM   -1

Error code for invalid parameters

#define BOARD_UNSUPPORTED_FEATURE   -2

Error code for unsupported feature

#define BOARD_I2C_OPEN_FAIL   -3

I2C handle open failed

#define BOARD_I2C_TRANSFER_FAIL   -4

I2C transfer call failed

#define BOARD_PINMUX_BAD_MEM_REGION   -5

IO Delay region not in internal memory

#define BOARD_INIT_CLOCK_FAIL   -6

Error code for init clock module

#define BOARD_INIT_DDR_FAIL   -7

Error code for init DDR

#define BOARD_PINMUX_INVALID_MODE   -8

Runtime pinmux configuration mode

#define BOARD_FAIL   -10

Board status FAIL

#define BOARD_MAX_ID_STR_LEN   20
#define BOARD_BOARD_NAME_LEN   (16U)
#define BOARD_DESIGN_REV_LEN   (2U)
#define BOARD_PROC_NUM_LEN   (4U)
#define BOARD_VARIANT_LEN   (2U)
#define BOARD_PCBREV_LEN   (2U)
#define BOARD_SCHMBOM_REV_LEN   (2U)
#define BOARD_SWREV_LEN   (2U)
#define BOARD_VENDORID_LEN   (2U)
#define BOARD_BUILD_WEEK_LEN   (2U)
#define BOARD_BUILD_YEAR_LEN   (2U)
#define BOARD_BOARDID_LEN   (6U)
#define BOARD_SERIAL_NUM_LEN   (4U)
#define BOARD_MAC_ADDR_LEN   (192U)
#define BOARD_SYS_CLK_DEFAULT   (0xFFFFFFFFU)
#define BOARD_INIT_ALL   (0xFFFFFFFFU)
#define BOARD_INIT_UNLOCK_MMR   (1 << 1U)
#define BOARD_INIT_PLL   (1 << 2U)
#define BOARD_INIT_PLL_MCU   (1 << 3U)
#define BOARD_INIT_PLL_MAIN   (1 << 4U)
#define BOARD_INIT_MODULE_CLOCK   (1 << 5U)
#define BOARD_INIT_MODULE_CLOCK_MCU   (1 << 6U)
#define BOARD_INIT_MODULE_CLOCK_MAIN   (1 << 7U)
#define BOARD_INIT_DDR   (1 << 8U)
#define BOARD_INIT_WATCHDOG_DISABLE   (1 << 9U)
#define BOARD_INIT_PINMUX_CONFIG   (1 << 10U)
#define BOARD_INIT_PINMUX_CONFIG_MAIN   (1 << 11U)
#define BOARD_INIT_PINMUX_CONFIG_MCU   (1 << 12U)
#define BOARD_INIT_UART_STDIO   (1 << 13U)
#define BOARD_INIT_ICSS_PINMUX   (1 << 14U)
#define BOARD_INIT_ETH_PHY   (1 << 15U)
#define BOARD_INIT_ECC   (1 << 16U)
#define BOARD_INIT_PLL_OPP_HIGH   (1 << 17U)
#define BOARD_INIT_PLL_OPP_OD   (1 << 18U)
#define BOARD_INIT_PLL_OPP_NOM   (1 << 19U)
#define BOARD_INIT_ICSS_ETH_PHY   (1 << 20U)
#define BOARD_INIT_EMIF_PINMUX   (1 << 21U)
#define BOARD_INIT_DDR_ECC   (1 << 22U)
#define BOARD_INIT_SERDES_PHY   (1 << 23U)
#define BOARD_INIT_I2C   (1 << 24U)
#define BOARD_DEINIT_I2C   (1 << 25U)
#define BOARD_INIT_CPSW9G_ETH_PHY   (1 << 26U)
#define BOARD_INIT_ENETCTRL_CPSW2G   (1 << 27U)
#define BOARD_INIT_ENETCTRL_CPSW9G   (1 << 28U)
#define BOARD_INIT_ENETCTRL_ICSS   (1 << 29U)
#define BOARD_INIT_DEFAULT   BOARD_INIT_ALL
#define BOARD_DEINIT_ALL   (0xFFFFFFFFU)
#define BOARD_DEINIT_LOCK_MMR   (1 << 1U)
#define BOARD_DEINIT_MODULE_CLOCK   (1 << 2U)
#define BOARD_DEINIT_UART_STDIO   (1 << 3U)
#define BOARD_DEINIT_DEFAULT   BOARD_DEINIT_ALL

Typedef Documentation

typedef int32_t Board_STATUS

The return type for board library API calls.

Board library function calls will return this value, which contains information as to whether the function succeeded or encountered an error.

typedef uint32_t Board_initCfg
typedef void(* Board_thermalMgmtCallbackFunction_t) (Board_DDRTempEventType DDRTempEventType)

Enumeration Type Documentation

Enumeration of reported temperature event types.

------------------------------------------------------------------------—

Enumerator
BOARD_DDR_TEMP_EVENT_TEMP_ALERT 

Temperature alert event occurred

BOARD_DDR_TEMP_EVENT_LOW_TEMP_ALARM 

Low temperature alarm event occurred

BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_4X_REFRESH 

Temperature change event occurred: Needs 4 x refresh

BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_2X_REFRESH 

Temperature change event occurred: Needs 2 x refresh

BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_1X_REFRESH 

Temperature change event occurred: Needs 1 x refresh

BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_1_BY_2_REFRESH 

Temperature change event occurred: Needs 0.5 x refresh

BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_1_BY_4_REFRESH 

Temperature change event occurred: Needs 0.25 x refresh

BOARD_DDR_TEMP_EVENT_TEMP_CHANGE_1_BY_4_REFRESH_WITH_DERATING 

Temperature change event occurred: Needs 0.25 x refresh and derating

BOARD_DDR_TEMP_EVENT_HIGH_TEMP_ALARM 

High temperature alarm event occurred