HPM SDK
HPMicro Software Development Kit
hpm_romapi_xpi_soc_def.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2024 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_ROMAPI_XPI_SOC_DEF_H
9 #define HPM_ROMAPI_XPI_SOC_DEF_H
10 
11 #include "hpm_common.h"
12 #include "hpm_romapi_xpi_def.h"
13 
14 /***********************************************************************************************************************
15  * Definitions
16  **********************************************************************************************************************/
17 
18 #define HPM_XPI_SOC_SUPPORT_HYBRID_MODE 1
19 
20 #define XPI_CLK_OUT_FREQ_OPTION_30MHz (1U)
21 #define XPI_CLK_OUT_FREQ_OPTION_50MHz (2U)
22 #define XPI_CLK_OUT_FREQ_OPTION_66MHz (3U)
23 #define XPI_CLK_OUT_FREQ_OPTION_80MHz (4U)
24 #define XPI_CLK_OUT_FREQ_OPTION_104MHz (5U)
25 #define XPI_CLK_OUT_FREQ_OPTION_120MHz (6U)
26 #define XPI_CLK_OUT_FREQ_OPTION_133MHz (7U)
27 #define XPI_CLK_OUT_FREQ_OPTION_166MHz (8U)
28 #define XPI_CLK_OUT_FREQ_OPTION_200MHz (9U)
29 
30 
31 typedef struct {
32  uint8_t data_pads;
33  xpi_channel_t channel;
34  xpi_io_group_t io_group;
35  uint8_t drive_strength;
36  bool enable_dqs;
37  bool enable_diff_clk;
39 
40 typedef enum {
44 
45 typedef enum {
56 
57 
58 typedef union {
59  struct {
60  uint8_t freq;
61  bool enable_ddr;
62  xpi_clk_src_t clk_src;
63  clk_freq_type_t freq_type;
64  };
65  uint32_t freq_opt;
67 
68 typedef enum {
72 } xpi_clock_t;
73 
74 #endif /* HPM_ROMAPI_XPI_SOC_DEF_H */
clk_freq_type_t
Definition: hpm_romapi_xpi_soc_def.h:37
@ xpi_freq_type_mhz
Definition: hpm_romapi_xpi_soc_def.h:39
@ xpi_freq_type_typical
Definition: hpm_romapi_xpi_soc_def.h:38
xpi_clk_src_t
Definition: hpm_romapi_xpi_soc_def.h:42
@ xpi_clk_src_pll1clk0
Definition: hpm_romapi_xpi_soc_def.h:46
@ xpi_clk_src_pll4clk0
Definition: hpm_romapi_xpi_soc_def.h:51
@ xpi_clk_src_osc
Definition: hpm_romapi_xpi_soc_def.h:44
@ xpi_clk_src_pll2clk1
Definition: hpm_romapi_xpi_soc_def.h:49
@ xpi_clk_src_pll2clk0
Definition: hpm_romapi_xpi_soc_def.h:48
@ xpi_clk_src_auto
Definition: hpm_romapi_xpi_soc_def.h:43
@ xpi_clk_src_pll3clk0
Definition: hpm_romapi_xpi_soc_def.h:50
@ xpi_clk_src_pll1clk1
Definition: hpm_romapi_xpi_soc_def.h:47
@ xpi_clk_src_pll0clk0
Definition: hpm_romapi_xpi_soc_def.h:45
xpi_clock_t
Definition: hpm_romapi_xpi_soc_def.h:65
@ xpi_clock_serial_root
Definition: hpm_romapi_xpi_soc_def.h:67
@ xpi_clock_bus
Definition: hpm_romapi_xpi_soc_def.h:66
@ xpi_clock_serial
Definition: hpm_romapi_xpi_soc_def.h:68
xpi_io_group_t
XPI IO pin group options.
Definition: hpm_romapi_xpi_def.h:45
xpi_channel_t
XPI Channel definitions.
Definition: hpm_romapi_xpi_def.h:64
Definition: hpm_romapi_xpi_soc_def.h:28
Definition: hpm_romapi_xpi_soc_def.h:55