summaryrefslogtreecommitdiff
path: root/src/soc/broadcom/cygnus/include/soc/shmoo_and28/shmoo_and28.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/broadcom/cygnus/include/soc/shmoo_and28/shmoo_and28.h')
-rw-r--r--src/soc/broadcom/cygnus/include/soc/shmoo_and28/shmoo_and28.h267
1 files changed, 0 insertions, 267 deletions
diff --git a/src/soc/broadcom/cygnus/include/soc/shmoo_and28/shmoo_and28.h b/src/soc/broadcom/cygnus/include/soc/shmoo_and28/shmoo_and28.h
deleted file mode 100644
index 00b4f6c713..0000000000
--- a/src/soc/broadcom/cygnus/include/soc/shmoo_and28/shmoo_and28.h
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
-* Copyright (C) 2015 Broadcom Corporation
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation version 2.
-*
-* This program is distributed "as is" WITHOUT ANY WARRANTY of any
-* kind, whether express or implied; without even the implied warranty
-* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*/
-
-#ifndef __SOC_BROADCOM_CYGNUS_SHMOO_AND28_H__
-#define __SOC_BROADCOM_CYGNUS_SHMOO_AND28_H__
-
-#include <delay.h>
-#include <soc/cygnus_types.h>
-
-#undef printf
-#if IS_ENABLED(CONFIG_CYGNUS_PRINT_SHMOO_DEBUG)
-#include <console/console.h>
-#define printf(args...) printk(BIOS_INFO, args)
-#else
-#define printf(args...)
-#endif
-
-#ifndef SOC_E_NONE
-#define SOC_E_NONE 0x0
-#endif
-#ifndef SOC_E_FAIL
-#define SOC_E_FAIL 0x1
-#endif
-#ifndef SOC_E_TIMEOUT
-#define SOC_E_TIMEOUT 0x2
-#endif
-#ifndef SOC_E_MEMORY
-#define SOC_E_MEMORY 0x4
-#endif
-#define SET_ADDR_VDL_FORCE(v) (0x10000 | ((v) & 0x011FF))
-#define SET_VREF_DAC_CONTROL(v) ((v) & 0xFFFFF)
-#define SET_WR_VDL_FORCE(v) (0x10000 | ((v) & 0x011FF))
-#define SET_WR_CHAN_DLY_CYC_FORCE(v) (0x10000 | ((v) & 0x000F7))
-#define SET_RD_VDL_FORCE(v) (0x10000 | ((v) & 0x010FF))
-#define SET_RD_EN_DLY_CYC_FORCE(v) (0x10000 | ((v) & 0x001FF))
-#define SET_RD_CONTROL(v) ((v) & 0x0001F)
-
-#define SHMOO_AND28_PHY_TYPE_RSVP 0
-#define SHMOO_AND28_PHY_TYPE_E0 0xE0
-#define SHMOO_AND28_PHY_TYPE_E2 0xE2
-#define SHMOO_AND28_PHY_TYPE_F0 0xF0
-
-#define SHMOO_AND28_CTL_TYPE_RSVP 0
-#define SHMOO_AND28_CTL_TYPE_RSVP_STR "t0"
-#define SHMOO_AND28_CTL_TYPE_1 1
-#define SHMOO_AND28_CTL_TYPE_1_STR "t1"
-
-#define SHMOO_AND28_DRAM_TYPE_RSVP 0
-#define SHMOO_AND28_DRAM_TYPE_DDR3 3
-#define SHMOO_AND28_DRAM_TYPE_DDR3L 31
-#define SHMOO_AND28_DRAM_TYPE_DDR4 4
-#define SHMOO_AND28_DRAM_TYPE_GDDR5 5
-
-#define SHMOO_AND28_PHY_REG_BASE_RSVP 0
-#define SHMOO_AND28_PHY_REG_BASE_CYGNUS 0x18011000
-#define SHMOO_AND28_PHY_REG_BASE_GREYHOUND 0x18011000
-
-#define SHMOO_AND28_YDC_DDR_BIST_REG_BASE_RSVP 0
-#define SHMOO_AND28_YDC_DDR_BIST_REG_BASE_GREYHOUND 0x18010C00
-
-#define SHMOO_AND28_CHIP_ID_RSVP 0
-#define SHMOO_AND28_CHIP_ID_CYGNUS 0xC
-#define SHMOO_AND28_CHIP_ID_GREYHOUND 0x6
-
-#define SHMOO_AND28_CHIP_ID SHMOO_AND28_CHIP_ID_CYGNUS
-#define SHMOO_AND28_PHY_TYPE SHMOO_AND28_PHY_TYPE_E2
-#define SHMOO_AND28_PHY_REG_BASE SHMOO_AND28_PHY_REG_BASE_CYGNUS
-#define SHMOO_AND28_YDC_DDR_BIST_REG_BASE SHMOO_AND28_YDC_DDR_BIST_REG_BASE_CYGNUS
-#define SHMOO_AND28_CTL_TYPE SHMOO_AND28_CTL_TYPE_1
-#define SHMOO_AND28_DRAM_TYPE SHMOO_AND28_DRAM_TYPE_DDR3L
-#define SHMOO_AND28_PHY_BITWIDTH 16
-#define SHMOO_AND28_PHY_CONSTANT_CONFIG 0
-#define PHY_AND28_E2 SHMOO_AND28_PHY_TYPE
-
-#define SHMOO_AND28_PHY_BITWIDTH_IS_32 (SHMOO_AND28_PHY_BITWIDTH >> 5)
-#define YDC_DDR_BIST_PHY_BITWIDTH_IS_32 SHMOO_AND28_PHY_BITWIDTH_IS_32
-#define YDC_DDR_BIST_REG_BASE SHMOO_AND28_YDC_DDR_BIST_REG_BASE
-
-#define SHMOO_AND28_BIT 1
-#define SHMOO_AND28_BYTE (SHMOO_AND28_BIT << 3)
-#define SHMOO_AND28_HALFWORD (SHMOO_AND28_BYTE << 1)
-#define SHMOO_AND28_WORD (SHMOO_AND28_HALFWORD << 1)
-#define SHMOO_AND28_DOUBLEWORD (SHMOO_AND28_WORD << 1)
-#define SHMOO_AND28_QUADWORD (SHMOO_AND28_DOUBLEWORD << 1)
-
-#define SHMOO_AND28_SHORT_SLEEP 1
-#define SHMOO_AND28_LONG_SLEEP 10
-#define SHMOO_AND28_DEEP_SLEEP 100
-#define SHMOO_AND28_HIBERNATION 1000
-#define SHMOO_AND28_STASIS 1000000
-
-#define SHMOO_AND28_SHMOO_RSVP -1
-#define SHMOO_AND28_RD_EN 23
-#define SHMOO_AND28_RD_EXTENDED 50
-#define SHMOO_AND28_WR_EXTENDED 60
-#define SHMOO_AND28_ADDR_EXTENDED 71
-#define SHMOO_AND28_CTRL_EXTENDED 72
-#define SHMOO_AND28_DDR3_SEQUENCE_COUNT 5
-#define SHMOO_AND28_DDR3L_SEQUENCE_COUNT 5
-/* BEGIN: EXTRA */
-/* END: EXTRA */
-
-#define SHMOO_AND28_QUICK_SHMOO_CTRL_EXTENDED 1
-
-#define SHMOO_AND28_REPEAT 9
-#define SHMOO_AND28_REPEAT_HALF (SHMOO_COMBO28_REPEAT >> 1)
-
-#define SHMOO_AND28_SEQUENTIAL 0
-#define SHMOO_AND28_SINGLE 1
-
-#define SHMOO_AND28_ACTION_RSVP -1
-#define SHMOO_AND28_ACTION_RESTORE 0
-#define SHMOO_AND28_ACTION_RUN 1
-#define SHMOO_AND28_ACTION_SAVE 2
-#define SHMOO_AND28_ACTION_RUN_AND_SAVE 3
-
-#define SHMOO_AND28_MAX_INTERFACES 8
-#define SHMOO_AND28_INTERFACE_RSVP -1
-#define SHMOO_AND28_BYTES_PER_INTERFACE 4
-
-#define SHMOO_AND28_BIST_NOF_PATTERNS 8
-#define SHMOO_AND28_BIST_MPR_NOF_PATTERNS 4
-
-#define SHMOO_AND28_MAX_VISIBLE_UI_COUNT 4
-#define SHMOO_AND28_MAX_EFFECTIVE_UI_COUNT 4
-#define SHMOO_AND28_LAST_EFFECTIVE_UI (SHMOO_AND28_MAX_EFFECTIVE_UI_COUNT - 1)
-#define SHMOO_AND28_MAX_VDL_LENGTH 256
-#define SHMOO_AND28_MAX_VREF_RANGE 64
-#define SHMOO_AND28_MAX_ZQ_CAL_RANGE 32
-
-#define SHMOO_AND28_RESULT2D_X SHMOO_AND28_MAX_VDL_LENGTH
-#define SHMOO_AND28_RESULT2D_Y SHMOO_AND28_MAX_VREF_RANGE
-
-#define SHMOO_AND28_STRING_LENGTH (SHMOO_AND28_RESULT2D_X + 1)
-#define SHMOO_AND28_ERROR_ARRAY_LENGTH 4
-
-#define SHMOO_AND28_CALIB_CENTER_PASS 111
-#define SHMOO_AND28_CALIB_RISING_EDGE 011
-#define SHMOO_AND28_CALIB_FALLING_EDGE 100
-#define SHMOO_AND28_CALIB_PASS_START 001
-#define SHMOO_AND28_CALIB_FAIL_START 110
-#define SHMOO_AND28_CALIB_VDL_ZERO 000
-
-#define SHMOO_AND28_VDL_TFIX 18
-
-#define SHMOO_AND28_RD_DATA_DLY_INIT 7
-
-#define SHMOO_AND28_RD_EN_CYC_INIT 1
-
-#define SHMOO_AND28_RD_EN_VDL_INIT 0
-
-#define SHMOO_AND28_RD_DQ_VDL_INIT 0
-#define SHMOO_AND28_RD_DQ_FAIL_CAP 5
-
-#define SHMOO_AND28_RD_DQS_VDL_OFFSET SHMOO_AND28_RD_DQ_VDL_INIT
-
-#define SHMOO_AND28_WR_CYC_INIT 0
-
-#define SHMOO_AND28_PHY_NOF_AD 16
-#define SHMOO_AND28_PHY_NOF_BA 3
-#define SHMOO_AND28_PHY_NOF_AUX 3
-#define SHMOO_AND28_PHY_NOF_CS 2
-
-typedef struct and28_shmoo_dram_info_s {
- uint32 ctl_type;
- uint32 dram_type;
- uint32 dram_bitmap;
- uint32 interface_bitwidth;
- int num_columns;
- int num_rows;
- int num_banks;
- int data_rate_mbps;
- int ref_clk_mhz;
- uint32 refi;
- uint32 command_parity_latency;
- int sim_system_mode;
-} and28_shmoo_dram_info_t;
-
-typedef struct and28_shmoo_config_param_s {
- uint16 control_regs_ad[SHMOO_AND28_PHY_NOF_AD];
- uint16 control_regs_ba[SHMOO_AND28_PHY_NOF_BA];
- uint16 control_regs_aux[SHMOO_AND28_PHY_NOF_AUX];
- uint16 control_regs_cs[SHMOO_AND28_PHY_NOF_CS];
- uint16 control_regs_par;
- uint16 control_regs_ras_n;
- uint16 control_regs_cas_n;
- uint16 control_regs_cke;
- uint16 control_regs_rst_n;
- uint16 control_regs_odt;
- uint16 control_regs_we_n;
- uint32 control_regs_vref_dac_control;
-
- uint16 wr_vdl_dqsp[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint16 wr_vdl_dqsn[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint16 wr_vdl_dq[SHMOO_AND28_BYTES_PER_INTERFACE][SHMOO_AND28_BYTE];
- uint16 wr_vdl_dm[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint16 wr_vdl_edc[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint8 wr_chan_dly_cyc[SHMOO_AND28_BYTES_PER_INTERFACE];
-
- uint16 rd_vdl_dqsp[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint16 rd_vdl_dqsn[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint16 rd_vdl_dqp[SHMOO_AND28_BYTES_PER_INTERFACE][SHMOO_AND28_BYTE];
- uint16 rd_vdl_dqn[SHMOO_AND28_BYTES_PER_INTERFACE][SHMOO_AND28_BYTE];
- uint16 rd_vdl_dmp[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint16 rd_vdl_dmn[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint16 rd_en_vdl_cs[SHMOO_AND28_BYTES_PER_INTERFACE][SHMOO_AND28_PHY_NOF_CS];
- uint16 rd_en_dly_cyc[SHMOO_AND28_BYTES_PER_INTERFACE];
- uint8 rd_control[SHMOO_AND28_BYTES_PER_INTERFACE];
-} and28_shmoo_config_param_t;
-
-typedef struct and28_vendor_info_s {
- uint32 dram_density;
- uint32 fifo_depth;
- uint32 revision_id;
- uint32 manufacture_id;
-} and28_vendor_info_t;
-
-typedef struct and28_shmoo_container_s {
- uint32 sizeX;
- uint32 sizeY;
- uint32 yCapMin;
- uint32 yCapMax;
- uint32 yJump;
- uint32 calibMode;
- uint32 calibPos;
- uint32 calibStart;
- uint32 result2D[(SHMOO_AND28_RESULT2D_X)*(SHMOO_AND28_RESULT2D_Y)];
- uint32 resultData[SHMOO_AND28_WORD];
- uint32 shmooType;
- uint32 dramType;
- uint32 ctlType;
- uint32 trefi;
- uint32 step1000;
- uint32 size1000UI;
- uint32 endUI[SHMOO_AND28_MAX_VISIBLE_UI_COUNT];
- uint32 engageUIshift;
- uint32 wckInv;
-} and28_shmoo_container_t;
-
-typedef struct and28_step_size_s {
- uint32 step1000;
- uint32 size1000UI;
-} and28_step_size_t;
-
-typedef struct and28_ui_position_s {
- uint32 ui;
- uint32 position;
-} and28_ui_position_t;
-
-typedef uint32 and28_shmoo_error_array_t[SHMOO_AND28_ERROR_ARRAY_LENGTH];
-
-int soc_and28_shmoo_dram_info_set(int unit, and28_shmoo_dram_info_t *sdi);
-int soc_and28_shmoo_phy_init(int unit, int phy_ndx);
-int soc_and28_shmoo_ctl(int unit, int phy_ndx, int shmoo_type, int stat,
- int plot, int action, and28_shmoo_config_param_t *config_param);
-
-#endif /* __SOC_BROADCOM_CYGNUS_SHMOO_AND28_H__ */