Files
openocd/contrib/loaders/flash/hpmicro/hpm_romapi_xpi_soc_def.h
Ryan QIAN 8e11797618 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>
2025-12-19 21:16:27 +00:00

70 lines
1.6 KiB
C

/* 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 */