HPM SDK
HPMicro Software Development Kit
hpm_romapi_xpi_ram_def.h
Go to the documentation of this file.
1 #ifndef HPM_ROMAPI_XPI_RAM_DEF_H
2 #define HPM_ROMAPI_XPI_RAM_DEF_H
3 
11 #include "hpm_common.h"
12 #include "hpm_romapi_xpi_def.h"
13 
14 /**********************************************************************************************************************
15  * Definitions
16  *********************************************************************************************************************/
17 
21 #define XPI_RAM_CFG_OPTION_TAG (0xfcf91U)
22 
26 #define XPI_RAM_CFG_TAG (0x4D415258U)
27 
31 enum {
33 };
34 
39 typedef struct {
40  union {
41  struct {
42  uint32_t words: 4;
43  uint32_t instance: 4;
44  uint32_t reserved: 4;
45  uint32_t tag: 20;
46  };
47  uint32_t U;
48  } header;
49  union {
50  struct {
51  uint32_t freq_opt: 4;
52  uint32_t misc: 4;
53  uint32_t ram_size : 8;
54  uint32_t pin_group: 4;
55  uint32_t read_dummy_cycles: 4;
56  uint32_t write_dummy_cycles:4;
57  uint32_t probe_type: 4;
58  };
59  uint32_t U;
60  } option0;
61  union {
62  struct {
63  uint32_t drive_strength: 4;
64  uint32_t max_cs_low_time: 4;
65  uint32_t pin_group_sel: 4;
66  uint32_t channel: 4;
67  uint32_t skip_ahb_buf_cfg:4;
68  uint32_t reserved: 12;
69  };
70  uint32_t U;
71  } option1;
73 
74 
78 enum {
82 };
83 
87 enum {
90 };
91 
92 
96 enum {
98 };
99 
103 enum {
106 };
107 
111 enum {
114 };
115 
119 typedef struct {
120  uint8_t cmd_type;
121  uint8_t param_size;
123 
127 typedef struct {
128  uint32_t size_in_kbytes;
129  uint8_t data_pads;
130  uint8_t en_ddr_mode;
133  uint8_t working_mode;
134  uint8_t en_diff_clk;
135  uint8_t data_valid_time;
136  uint8_t cs_hold_time;
137  uint8_t cs_setup_time;
138  uint8_t cs_interval;
139  uint8_t io_voltage;
140  uint8_t reserved0;
141  device_config_t device_cfg_list[2];
142  uint32_t reserved1;
143  uint32_t device_config_params[2];
144  xpi_instr_seq_t device_cfg_instr_seq[2];
145  uint32_t device_cfg_addr[2];
146  uint32_t reserved2[2];
148 
152 typedef struct {
153  uint32_t tag;
154  uint32_t reserved0;
155  uint8_t rxclk_src;
156  uint8_t clk_freq;
157  uint8_t drive_strength;
161  uint8_t max_cs_low_time;
163  struct {
164  uint8_t enable;
165  uint8_t group;
166  uint8_t reserved[2];
167  } port_info[4];
169  xpi_instr_seq_t instr_set[2];
171 
176 #endif /* HPM_ROMAPI_XPI_RAM_DEF_H */
#define XPI_8PADS
Definition: hpm_romapi_xpi_def.h:40
#define XPI_4PADS
Definition: hpm_romapi_xpi_def.h:39
@ xpi_ram_option_misc_hyperram_1v8
Definition: hpm_romapi_xpi_ram_def.h:89
@ xpi_ram_option_misc_hyperram_3v0
Definition: hpm_romapi_xpi_ram_def.h:88
@ xpi_ram_default_max_cs_low_time_us
Definition: hpm_romapi_xpi_ram_def.h:97
@ xpi_ram_qpi
Definition: hpm_romapi_xpi_ram_def.h:105
@ xpi_ram_opi
Definition: hpm_romapi_xpi_ram_def.h:104
@ xpi_ram_type_hyperram
Definition: hpm_romapi_xpi_ram_def.h:80
@ xpi_ram_type_apmemory_x4
Definition: hpm_romapi_xpi_ram_def.h:81
@ xpi_ram_type_apmemory_x8
Definition: hpm_romapi_xpi_ram_def.h:79
@ xpi_ram_cfg_cmd_type_generic
Definition: hpm_romapi_xpi_ram_def.h:112
@ xpi_ram_cfg_cmd_type_spi2xpi
Definition: hpm_romapi_xpi_ram_def.h:113
@ xpi_ram_safe_clk_freq
Definition: hpm_romapi_xpi_ram_def.h:32
XPI RAM device configuration structure.
Definition: hpm_romapi_xpi_ram_def.h:119
uint8_t param_size
Definition: hpm_romapi_xpi_ram_def.h:121
uint8_t cmd_type
Definition: hpm_romapi_xpi_ram_def.h:120
XPI instruction sequence.
Definition: hpm_romapi_xpi_def.h:106
XPI RAM configuration option The ROM SW can detect the FLASH configuration based on the following str...
Definition: hpm_romapi_xpi_ram_def.h:39
uint32_t read_dummy_cycles
Definition: hpm_romapi_xpi_ram_def.h:55
uint32_t probe_type
Definition: hpm_romapi_xpi_ram_def.h:57
uint32_t instance
Definition: hpm_romapi_xpi_ram_def.h:43
uint32_t write_dummy_cycles
Definition: hpm_romapi_xpi_ram_def.h:56
uint32_t U
Definition: hpm_romapi_xpi_ram_def.h:47
uint32_t skip_ahb_buf_cfg
Definition: hpm_romapi_xpi_ram_def.h:67
uint32_t tag
Definition: hpm_romapi_xpi_ram_def.h:45
uint32_t reserved
Definition: hpm_romapi_xpi_ram_def.h:44
uint32_t ram_size
Definition: hpm_romapi_xpi_ram_def.h:53
uint32_t pin_group_sel
Definition: hpm_romapi_xpi_ram_def.h:65
uint32_t words
Definition: hpm_romapi_xpi_ram_def.h:42
uint32_t max_cs_low_time
Definition: hpm_romapi_xpi_ram_def.h:64
uint32_t misc
Definition: hpm_romapi_xpi_ram_def.h:52
uint32_t freq_opt
Definition: hpm_romapi_xpi_ram_def.h:51
uint32_t drive_strength
Definition: hpm_romapi_xpi_ram_def.h:63
uint32_t channel
Definition: hpm_romapi_xpi_ram_def.h:66
uint32_t pin_group
Definition: hpm_romapi_xpi_ram_def.h:54
XPI RAM configuration structure.
Definition: hpm_romapi_xpi_ram_def.h:152
uint8_t enable
Definition: hpm_romapi_xpi_ram_def.h:164
uint8_t enable_word_addr
Definition: hpm_romapi_xpi_ram_def.h:160
uint32_t tag
Definition: hpm_romapi_xpi_ram_def.h:153
uint8_t drive_strength
Definition: hpm_romapi_xpi_ram_def.h:157
uint8_t max_cs_low_time
Definition: hpm_romapi_xpi_ram_def.h:161
uint8_t rxclk_src_for_init
Definition: hpm_romapi_xpi_ram_def.h:159
uint8_t column_addr_size
Definition: hpm_romapi_xpi_ram_def.h:158
uint8_t group
Definition: hpm_romapi_xpi_ram_def.h:165
uint8_t rxclk_src
Definition: hpm_romapi_xpi_ram_def.h:155
uint8_t skip_ahb_buf_cfg
Definition: hpm_romapi_xpi_ram_def.h:162
uint8_t clk_freq
Definition: hpm_romapi_xpi_ram_def.h:156
xpi_ram_info_t device_info
Definition: hpm_romapi_xpi_ram_def.h:168
uint32_t reserved0
Definition: hpm_romapi_xpi_ram_def.h:154
XPI RAM information structure.
Definition: hpm_romapi_xpi_ram_def.h:127
uint8_t cs_hold_time
Definition: hpm_romapi_xpi_ram_def.h:136
uint8_t cs_interval
Definition: hpm_romapi_xpi_ram_def.h:138
uint8_t en_ddr_mode
Definition: hpm_romapi_xpi_ram_def.h:130
uint8_t io_voltage
Definition: hpm_romapi_xpi_ram_def.h:139
uint32_t size_in_kbytes
Definition: hpm_romapi_xpi_ram_def.h:128
uint8_t data_valid_time
Definition: hpm_romapi_xpi_ram_def.h:135
uint8_t clk_freq_for_device_cfg
Definition: hpm_romapi_xpi_ram_def.h:131
uint8_t reserved0
Definition: hpm_romapi_xpi_ram_def.h:140
uint8_t data_pads
Definition: hpm_romapi_xpi_ram_def.h:129
uint8_t working_mode_por
Definition: hpm_romapi_xpi_ram_def.h:132
uint8_t en_diff_clk
Definition: hpm_romapi_xpi_ram_def.h:134
uint8_t working_mode
Definition: hpm_romapi_xpi_ram_def.h:133
uint32_t reserved1
Definition: hpm_romapi_xpi_ram_def.h:142
uint8_t cs_setup_time
Definition: hpm_romapi_xpi_ram_def.h:137