dram.h (1736B)
1 2 3 /* 4 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 5 * 6 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 7 */ 8 9 #ifndef _BCMINT_DNX_DRAM_H_INCLUDED 10 11 #define _BCMINT_DNX_DRAM_H_INCLUDED 12 13 #include <shared/shrextend/shrextend_debug.h> 14 #include <bcm_int/dnx/dram/hbmc/hbmc.h> 15 #include <soc/dnx/swstate/auto_generated/types/dnx_dram_types.h> 16 17 18 19 20 21 typedef struct 22 { 23 hbm_dram_vendor_info_hbm_t hbm_info; 24 gddr6_dram_vendor_info_t gddr6_info; 25 } dnx_dram_vendor_info_t; 26 27 28 shr_error_e dnx_dram_init( 29 int unit); 30 31 32 shr_error_e dnx_dram_deinit( 33 int unit); 34 35 36 shr_error_e dnx_dram_power_down_cb_register( 37 int unit, 38 uint32 flags, 39 bcm_switch_dram_power_down_callback_t callback, 40 void *userdata); 41 42 43 shr_error_e dnx_dram_power_down_cb_unregister( 44 int unit, 45 bcm_switch_dram_power_down_callback_t callback, 46 void *userdata); 47 48 49 shr_error_e dnx_dram_power_down( 50 int unit, 51 uint32 flags); 52 53 54 shr_error_e dnx_dram_reinit( 55 int unit, 56 uint32 flags); 57 58 59 shr_error_e dnx_dram_traffic_enable_set( 60 int unit, 61 uint32 flags, 62 uint32 enable); 63 64 shr_error_e dnx_dram_is_traffic_allowed_into_dram( 65 int unit, 66 uint8 *allow_traffic_to_dram); 67 68 69 shr_error_e dnx_dram_thermo_sensor_read( 70 int unit, 71 int interface_id, 72 bcm_switch_thermo_sensor_t * sensor_data); 73 74 75 shr_error_e dnx_dram_vendor_info_get( 76 int unit, 77 int interface_id, 78 dnx_dram_vendor_info_t * vendor_info); 79 80 81 shr_error_e dnx_dram_count( 82 int unit, 83 int *nof_drams); 84 85 86 shr_error_e dnx_dram_index_is_valid( 87 int unit, 88 int dram_index, 89 int *is_valid); 90 91 shr_error_e dnx_dram_blocks_enable_set( 92 int unit); 93 94 #endif