contrib/loaders/flash/hpmicro: add hpmicro device xpi support
- add xpi flash support for hpmicro devices Change-Id: I3531fdf20a34561c6f3fe6ac0b9af988d483aae7 Signed-off-by: Ryan QIAN <jianghao.qian@hpmicro.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8695 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
69
contrib/loaders/flash/hpmicro/hpm_romapi_xpi_soc_def.h
Normal file
69
contrib/loaders/flash/hpmicro/hpm_romapi_xpi_soc_def.h
Normal file
@@ -0,0 +1,69 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2021 HPMicro
|
||||
*/
|
||||
|
||||
#ifndef HPM_ROMAPI_XPI_SOC_DEF_H
|
||||
#define HPM_ROMAPI_XPI_SOC_DEF_H
|
||||
|
||||
#include "hpm_common.h"
|
||||
#include "hpm_romapi_xpi_def.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Definitions
|
||||
**********************************************************************************************************************/
|
||||
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_30MHZ (1U)
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_50MHZ (2U)
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_66MHZ (3U)
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_80MHZ (4U)
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_104MHZ (5U)
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_120MHZ (6U)
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_133MHZ (7U)
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_166MHZ (8U)
|
||||
#define XPI_CLK_OUT_FREQ_OPTION_200MHZ (9U)
|
||||
|
||||
struct xpi_io_config_t {
|
||||
uint8_t data_pads;
|
||||
enum xpi_channel_t channel;
|
||||
enum xpi_io_group_t io_group;
|
||||
uint8_t drive_strength;
|
||||
bool enable_dqs;
|
||||
bool enable_diff_clk;
|
||||
};
|
||||
|
||||
enum clk_freq_type_t {
|
||||
xpi_freq_type_typical,
|
||||
xpi_freq_type_mhz,
|
||||
};
|
||||
|
||||
enum xpi_clk_src_t {
|
||||
xpi_clk_src_auto,
|
||||
xpi_clk_src_osc,
|
||||
xpi_clk_src_pll0clk0,
|
||||
xpi_clk_src_pll1clk0,
|
||||
xpi_clk_src_pll1clk1,
|
||||
xpi_clk_src_pll2clk0,
|
||||
xpi_clk_src_pll2clk1,
|
||||
xpi_clk_src_pll3clk0,
|
||||
xpi_clk_src_pll4clk0,
|
||||
};
|
||||
|
||||
union xpi_clk_config_t {
|
||||
struct {
|
||||
uint8_t freq;
|
||||
bool enable_ddr;
|
||||
enum xpi_clk_src_t clk_src;
|
||||
enum clk_freq_type_t freq_type;
|
||||
};
|
||||
uint32_t freq_opt;
|
||||
};
|
||||
|
||||
enum xpi_clock_t {
|
||||
xpi_clock_bus,
|
||||
xpi_clock_serial_root,
|
||||
xpi_clock_serial,
|
||||
};
|
||||
|
||||
#endif /* HPM_ROMAPI_XPI_SOC_DEF_H */
|
||||
Reference in New Issue
Block a user