| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Copyright (C) Marvell International Ltd. and its affiliates |
| */ |
| |
| #ifndef _DDR3_LOGGING_CONFIG_H |
| #define _DDR3_LOGGING_CONFIG_H |
| |
| #ifdef SILENT_LIB |
| #define DEBUG_TRAINING_BIST_ENGINE(level, s) |
| #define DEBUG_TRAINING_IP(level, s) |
| #define DEBUG_CENTRALIZATION_ENGINE(level, s) |
| #define DEBUG_TRAINING_HW_ALG(level, s) |
| #define DEBUG_TRAINING_IP_ENGINE(level, s) |
| #define DEBUG_LEVELING(level, s) |
| #define DEBUG_PBS_ENGINE(level, s) |
| #define DEBUG_TRAINING_STATIC_IP(level, s) |
| #define DEBUG_TRAINING_ACCESS(level, s) |
| #else |
| #ifdef LIB_FUNCTIONAL_DEBUG_ONLY |
| #define DEBUG_TRAINING_BIST_ENGINE(level, s) |
| #define DEBUG_TRAINING_IP_ENGINE(level, s) |
| #define DEBUG_TRAINING_IP(level, s) \ |
| if (level >= debug_training) \ |
| printf s |
| #define DEBUG_CENTRALIZATION_ENGINE(level, s) \ |
| if (level >= debug_centralization) \ |
| printf s |
| #define DEBUG_TRAINING_HW_ALG(level, s) \ |
| if (level >= debug_training_hw_alg) \ |
| printf s |
| #define DEBUG_LEVELING(level, s) \ |
| if (level >= debug_leveling) \ |
| printf s |
| #define DEBUG_PBS_ENGINE(level, s) \ |
| if (level >= debug_pbs) \ |
| printf s |
| #define DEBUG_TRAINING_STATIC_IP(level, s) \ |
| if (level >= debug_training_static) \ |
| printf s |
| #define DEBUG_TRAINING_ACCESS(level, s) \ |
| if (level >= debug_training_access) \ |
| printf s |
| #else |
| #define DEBUG_TRAINING_BIST_ENGINE(level, s) \ |
| if (level >= debug_training_bist) \ |
| printf s |
| |
| #define DEBUG_TRAINING_IP_ENGINE(level, s) \ |
| if (level >= debug_training_ip) \ |
| printf s |
| #define DEBUG_TRAINING_IP(level, s) \ |
| if (level >= debug_training) \ |
| printf s |
| #define DEBUG_CENTRALIZATION_ENGINE(level, s) \ |
| if (level >= debug_centralization) \ |
| printf s |
| #define DEBUG_TRAINING_HW_ALG(level, s) \ |
| if (level >= debug_training_hw_alg) \ |
| printf s |
| #define DEBUG_LEVELING(level, s) \ |
| if (level >= debug_leveling) \ |
| printf s |
| #define DEBUG_PBS_ENGINE(level, s) \ |
| if (level >= debug_pbs) \ |
| printf s |
| #define DEBUG_TRAINING_STATIC_IP(level, s) \ |
| if (level >= debug_training_static) \ |
| printf s |
| #define DEBUG_TRAINING_ACCESS(level, s) \ |
| if (level >= debug_training_access) \ |
| printf s |
| #endif |
| #endif |
| |
| #ifdef CONFIG_DDR4 |
| #ifdef SILENT_LIB |
| #define DEBUG_TAP_TUNING_ENGINE(level, s) |
| #define DEBUG_CALIBRATION(level, s) |
| #define DEBUG_DDR4_CENTRALIZATION(level, s) |
| #define DEBUG_DM_TUNING(level, s) |
| #else /* SILENT_LIB */ |
| #define DEBUG_TAP_TUNING_ENGINE(level, s) \ |
| if (level >= debug_tap_tuning) \ |
| printf s |
| #define DEBUG_CALIBRATION(level, s) \ |
| if (level >= debug_calibration) \ |
| printf s |
| #define DEBUG_DDR4_CENTRALIZATION(level, s) \ |
| if (level >= debug_ddr4_centralization) \ |
| printf s |
| #define DEBUG_DM_TUNING(level, s) \ |
| if (level >= debug_dm_tuning) \ |
| printf s |
| #endif /* SILENT_LIB */ |
| #endif /* CONFIG_DDR4 */ |
| |
| /* Logging defines */ |
| enum mv_ddr_debug_level { |
| DEBUG_LEVEL_TRACE = 1, |
| DEBUG_LEVEL_INFO = 2, |
| DEBUG_LEVEL_ERROR = 3, |
| DEBUG_LEVEL_LAST |
| }; |
| |
| enum ddr_lib_debug_block { |
| DEBUG_BLOCK_STATIC, |
| DEBUG_BLOCK_TRAINING_MAIN, |
| DEBUG_BLOCK_LEVELING, |
| DEBUG_BLOCK_CENTRALIZATION, |
| DEBUG_BLOCK_PBS, |
| DEBUG_BLOCK_IP, |
| DEBUG_BLOCK_BIST, |
| DEBUG_BLOCK_ALG, |
| DEBUG_BLOCK_DEVICE, |
| DEBUG_BLOCK_ACCESS, |
| DEBUG_STAGES_REG_DUMP, |
| #if defined(CONFIG_DDR4) |
| DEBUG_TAP_TUNING_ENGINE, |
| DEBUG_BLOCK_CALIBRATION, |
| DEBUG_BLOCK_DDR4_CENTRALIZATION, |
| DEBUG_DM_TUNING, |
| #endif /* CONFIG_DDR4 */ |
| /* All excluding IP and REG_DUMP, should be enabled separatelly */ |
| DEBUG_BLOCK_ALL |
| }; |
| |
| int ddr3_tip_print_log(u32 dev_num, u32 mem_addr); |
| int ddr3_tip_print_stability_log(u32 dev_num); |
| |
| #endif /* _DDR3_LOGGING_CONFIG_H */ |