Skip to content
Snippets Groups Projects
Commit 2645b6c1 authored by Jonathan Hargreaves's avatar Jonathan Hargreaves
Browse files

new package files to support i2c sens and pmbus interfaces for UniBoard2

parent 47d3c221
No related branches found
No related tags found
No related merge requests found
-------------------------------------------------------------------------------
--
-- Copyright (C) 2011
-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
--
-- 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, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-------------------------------------------------------------------------------
-- Purpose: I2C commander settings for the UniBoard2 I2C SENS bus
-- sensors.
-- Remark:
-- . Adapted from i2c_commander_unbh_pkg
-- reduce the number of protocol lists to 4
LIBRARY IEEE, common_lib;
USE IEEE.STD_LOGIC_1164.ALL;
USE common_lib.common_pkg.ALL;
USE work.i2c_pkg.ALL;
USE work.i2c_commander_pkg.ALL;
USE work.i2c_dev_unb2_pkg.ALL;
PACKAGE i2c_commander_unb2_pmbus_pkg IS
------------------------------------------------------------------------------
-- Local constants (with prefix 'k_')
------------------------------------------------------------------------------
-- Define the protocol lists for the commander (c_i2c_cmdr_max_nof_protocols=16)
CONSTANT k_protocol_list_0 : t_nat_natural_arr := c_i2c_unb2_pmbus_protocol_list_read_all;
CONSTANT k_protocol_list_1 : t_nat_natural_arr := c_i2c_cmdr_protocol_list_end;
CONSTANT k_protocol_list_2 : t_nat_natural_arr := c_i2c_cmdr_protocol_list_end;
CONSTANT k_protocol_list_3 : t_nat_natural_arr := c_i2c_cmdr_protocol_list_end;
CONSTANT k_protocol_ram_init : t_nat_natural_arr := k_protocol_list_0 &
k_protocol_list_1 &
k_protocol_list_2 &
k_protocol_list_3;
-- Define the corresponding mask words for the result data
CONSTANT k_expected_mask_0 : STD_LOGIC_VECTOR := c_i2c_unb2_pmbus_expected_mask_read_all;
CONSTANT k_expected_mask_1 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_2 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_3 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_arr : t_slv_32_arr(0 TO c_i2c_unb2_nof_protocol_lists-1) := (k_expected_mask_0,
k_expected_mask_1,
k_expected_mask_2,
k_expected_mask_3);
-- Define the corresponding expected nof read data
CONSTANT k_nof_result_data_0 : NATURAL := c_i2c_unb2_pmbus_nof_result_data_read_all;
CONSTANT k_nof_result_data_1 : NATURAL := c_i2c_cmdr_nof_result_data_none;
CONSTANT k_nof_result_data_2 : NATURAL := c_i2c_cmdr_nof_result_data_none;
CONSTANT k_nof_result_data_3 : NATURAL := c_i2c_cmdr_nof_result_data_none;
CONSTANT k_nof_result_data_arr : t_nat_natural_arr := (k_nof_result_data_0,
k_nof_result_data_1,
k_nof_result_data_2,
k_nof_result_data_3);
-- Define the corresponding protocol list offsets
CONSTANT k_protocol_ofs_0 : NATURAL := 0;
CONSTANT k_protocol_ofs_1 : NATURAL := k_protocol_list_0'LENGTH + k_protocol_ofs_0;
CONSTANT k_protocol_ofs_2 : NATURAL := k_protocol_list_1'LENGTH + k_protocol_ofs_1;
CONSTANT k_protocol_ofs_3 : NATURAL := k_protocol_list_2'LENGTH + k_protocol_ofs_2;
CONSTANT k_protocol_ofs_arr : t_natural_arr(0 TO c_i2c_unb2_nof_protocol_lists-1) := (k_protocol_ofs_0,
k_protocol_ofs_1,
k_protocol_ofs_2,
k_protocol_ofs_3);
-- RAM sizes
CONSTANT k_protocol_ram_nof_dat : NATURAL := ceil_div(k_protocol_ram_init'LENGTH, c_i2c_cmdr_mem_block_sz) * c_i2c_cmdr_mem_block_sz;
CONSTANT k_protocol_ram_adr_w : NATURAL := ceil_log2(k_protocol_ram_nof_dat);
CONSTANT k_result_adr_w : NATURAL := k_protocol_ram_adr_w-1; -- assume < 1 result byte per 2 protocol bytes
CONSTANT k_result_nof_dat : NATURAL := 2**k_result_adr_w;
-- Commander settings
CONSTANT k_nof_protocols : NATURAL := 2; -- Must be >= actually used nof protocol lists in k_protocol_ram_init and <= c_i2c_cmdr_max_nof_protocols=16 protocols.
CONSTANT k_nof_result_data_max : NATURAL := 4; -- Must be >= the maximum nof read bytes in any protocol list in k_protocol_ram_init
CONSTANT k_result_cnt_w : NATURAL := k_result_adr_w;
------------------------------------------------------------------------------
-- Global constants (with prefix 'c_i2c_cmdr_unbh_')
------------------------------------------------------------------------------
CONSTANT c_i2c_cmdr_unbh_protocol_ram_init : t_nat_natural_arr := k_protocol_ram_init;
CONSTANT c_i2c_cmdr_unbh_nof_result_data_arr : t_nat_natural_arr := k_nof_result_data_arr;
CONSTANT c_i2c_cmdr_unbh_i2c_mm : t_c_i2c_mm := (c_i2c_control_adr_w,
k_protocol_ram_adr_w,
k_protocol_ram_nof_dat,
k_result_adr_w,
k_result_nof_dat);
CONSTANT c_i2c_cmdr_unbh_protocol_commander : t_c_i2c_cmdr_commander := (k_nof_protocols,
k_protocol_ofs_arr,
k_expected_mask_arr,
k_result_cnt_w,
k_nof_result_data_max);
END i2c_commander_unb2_pmbus_pkg;
PACKAGE BODY i2c_commander_unb2_pmbus_pkg IS
END i2c_commander_unb2_pmbus_pkg;
-------------------------------------------------------------------------------
--
-- Copyright (C) 2011
-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
--
-- 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, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-------------------------------------------------------------------------------
-- Purpose: I2C commander settings for the UniBoard2 I2C SENS bus
-- sensors.
-- Remark:
-- . Adapted from i2c_commander_unbh_pkg
-- reduce the number of protocol lists to 4
LIBRARY IEEE, common_lib;
USE IEEE.STD_LOGIC_1164.ALL;
USE common_lib.common_pkg.ALL;
USE work.i2c_pkg.ALL;
USE work.i2c_commander_pkg.ALL;
USE work.i2c_dev_unb2_pkg.ALL; -- slave addresses and commands for all unb2 i2c interfaces
PACKAGE i2c_commander_unb2_sens_pkg IS
------------------------------------------------------------------------------
-- Local constants (with prefix 'k_')
------------------------------------------------------------------------------
-- Define the protocol lists for the commander (c_i2c_cmdr_max_nof_protocols=16)
CONSTANT k_protocol_list_0 : t_nat_natural_arr := c_i2c_unb2_sens_max1617_protocol_list_read_config;
CONSTANT k_protocol_list_1 : t_nat_natural_arr := c_i2c_unb2_sens_max1617_protocol_list_read_temp;
CONSTANT k_protocol_list_2 : t_nat_natural_arr := c_i2c_unb2_sens_protocol_list_read_all;
CONSTANT k_protocol_list_3 : t_nat_natural_arr := c_i2c_cmdr_protocol_list_end;
CONSTANT k_protocol_ram_init : t_nat_natural_arr := k_protocol_list_0 &
k_protocol_list_1 &
k_protocol_list_2 &
k_protocol_list_3;
-- Define the corresponding mask words for the result data
CONSTANT k_expected_mask_0 : STD_LOGIC_VECTOR := c_i2c_unb2_sens_max1617_expected_mask_read_config;
CONSTANT k_expected_mask_1 : STD_LOGIC_VECTOR := c_i2c_unb2_sens_max1617_expected_mask_read_temp;
CONSTANT k_expected_mask_2 : STD_LOGIC_VECTOR := c_i2c_unb2_sens_expected_mask_read_all;
CONSTANT k_expected_mask_3 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_arr : t_slv_32_arr(0 TO c_i2c_unb2_nof_protocol_lists-1) := (k_expected_mask_0,
k_expected_mask_1,
k_expected_mask_2,
k_expected_mask_3);
-- Define the corresponding expected nof read data
CONSTANT k_nof_result_data_0 : NATURAL := c_i2c_unb2_sens_max1617_nof_result_data_read_config;
CONSTANT k_nof_result_data_1 : NATURAL := c_i2c_unb2_sens_max1617_nof_result_data_read_temp;
CONSTANT k_nof_result_data_2 : NATURAL := c_i2c_unb2_sens_nof_result_data_read_all;
CONSTANT k_nof_result_data_3 : NATURAL := c_i2c_cmdr_nof_result_data_none;
CONSTANT k_nof_result_data_arr : t_nat_natural_arr := (k_nof_result_data_0,
k_nof_result_data_1,
k_nof_result_data_2,
k_nof_result_data_3);
-- Define the corresponding protocol list offsets
CONSTANT k_protocol_ofs_0 : NATURAL := 0;
CONSTANT k_protocol_ofs_1 : NATURAL := k_protocol_list_0'LENGTH + k_protocol_ofs_0;
CONSTANT k_protocol_ofs_2 : NATURAL := k_protocol_list_1'LENGTH + k_protocol_ofs_1;
CONSTANT k_protocol_ofs_3 : NATURAL := k_protocol_list_2'LENGTH + k_protocol_ofs_2;
CONSTANT k_protocol_ofs_arr : t_natural_arr(0 TO c_i2c_unb2_nof_protocol_lists-1) := (k_protocol_ofs_0,
k_protocol_ofs_1,
k_protocol_ofs_2,
k_protocol_ofs_3);
-- RAM sizes
CONSTANT k_protocol_ram_nof_dat : NATURAL := ceil_div(k_protocol_ram_init'LENGTH, c_i2c_cmdr_mem_block_sz) * c_i2c_cmdr_mem_block_sz;
CONSTANT k_protocol_ram_adr_w : NATURAL := ceil_log2(k_protocol_ram_nof_dat);
CONSTANT k_result_adr_w : NATURAL := k_protocol_ram_adr_w-1; -- assume < 1 result byte per 2 protocol bytes
CONSTANT k_result_nof_dat : NATURAL := 2**k_result_adr_w;
-- Commander settings
CONSTANT k_nof_protocols : NATURAL := 2; -- Must be >= actually used nof protocol lists in k_protocol_ram_init and <= c_i2c_cmdr_max_nof_protocols=16 protocols.
CONSTANT k_nof_result_data_max : NATURAL := 4; -- Must be >= the maximum nof read bytes in any protocol list in k_protocol_ram_init
CONSTANT k_result_cnt_w : NATURAL := k_result_adr_w;
------------------------------------------------------------------------------
-- Global constants (with prefix 'c_i2c_cmdr_unbh_')
------------------------------------------------------------------------------
CONSTANT c_i2c_cmdr_unbh_protocol_ram_init : t_nat_natural_arr := k_protocol_ram_init;
CONSTANT c_i2c_cmdr_unbh_nof_result_data_arr : t_nat_natural_arr := k_nof_result_data_arr;
CONSTANT c_i2c_cmdr_unbh_i2c_mm : t_c_i2c_mm := (c_i2c_control_adr_w,
k_protocol_ram_adr_w,
k_protocol_ram_nof_dat,
k_result_adr_w,
k_result_nof_dat);
CONSTANT c_i2c_cmdr_unbh_protocol_commander : t_c_i2c_cmdr_commander := (k_nof_protocols,
k_protocol_ofs_arr,
k_expected_mask_arr,
k_result_cnt_w,
k_nof_result_data_max);
END i2c_commander_unb2_sens_pkg;
PACKAGE BODY i2c_commander_unb2_sens_pkg IS
END i2c_commander_unb2_sens_pkg;
-------------------------------------------------------------------------------
--
-- Copyright (C) 2012
-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
--
-- 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, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-------------------------------------------------------------------------------
-- Uniboard2 version derived from i2c_dev_unb_pkg
LIBRARY IEEE, common_lib;
USE IEEE.STD_LOGIC_1164.ALL;
USE common_lib.common_pkg.ALL;
USE work.i2c_smbus_pkg.ALL;
USE work.i2c_dev_max1617_pkg.ALL;
USE work.i2c_dev_max6652_pkg.ALL;
USE work.i2c_commander_pkg.ALL;
PACKAGE i2c_dev_unb2_pkg IS
-- I2C slave addresses of the devices on the I2C sens bus on UniBoard2
CONSTANT I2C_UNB2_SENS_TEMP_MAX1617_ADR : NATURAL := MAX1617_ADR_MID_LOW; -- temperature sensor, slave address is 0x29
CONSTANT I2C_UNB2_SENS_DCDC_BMR456_ADR : NATURAL := X"2C"; -- dc/dc converter, slave address is 0x2c
CONSTANT I2C_UNB2_SENS_PIM_PIM4328PD_ADR : NATURAL := X"2b"; -- power input module, slave address is 0x2b
CONSTANT I2C_UNB2_SENS_1V2_BMR461_ADR : NATURAL := X"0f"; -- 1.2V power supply, slave address is 0x0f
CONSTANT I2C_UNB2_SENS_3V3_BMR461_ADR : NATURAL := X"0e"; -- 3.3V power supply, slave address is 0x0e
CONSTANT I2C_UNB2_SENS_CLK_BMR461_ADR : NATURAL := X"0d"; -- clock power supply, slave address is 0x0d
CONSTANT I2C_UNB2_SENS_QSFP0_BMR464_ADR : NATURAL := X"02"; -- qsfp0 power supply, slave address is 0x02
CONSTANT I2C_UNB2_SENS_QSFP1_BMR464_ADR : NATURAL := X"01"; -- qsfp1 power supply, slave address is 0x01
CONSTANT I2C_UNB2_SENS_EEPROM_CAT24C02_ADR : NATURAL := X"a0"; -- eeprom , slave address is 0xa0
CONSTANT I2C_UNB2_SENS_TEMP_TMP451_ADR : NATURAL := X"ac"; -- temperature sensor, slave address is 0x4c
-- I2C slave addresses of the devices on the I2C pm bus on UniBoard2
CONSTANT I2C_UNB2_PMB_CORE_BMR464_ADR : NATURAL := X"01"; -- core supply, slave address is 0x01
CONSTANT I2C_UNB2_PMB_VCCRAM_BMR461_ADR : NATURAL := X"0d"; -- vcc ram supply, slave address is 0x0d
CONSTANT I2C_UNB2_PMB_TCVR0_BMR461_ADR : NATURAL := X"0e"; -- transceiver0 supply, slave address is 0x0e
CONSTANT I2C_UNB2_PMB_TCVR1_BMR461_ADR : NATURAL := X"0f"; -- transceiver1 supply, slave address is 0x0f
CONSTANT I2C_UNB2_PMB_CTRL_BMR461_ADR : NATURAL := X"10"; -- control supply, slave address is 0x10
CONSTANT I2C_UNB2_PMB_FPGAIO_BMR461_ADR : NATURAL := X"11"; -- fpga io supply, slave address is 0x11
-- I2C slave addresses of the devices on the I2C ddr4 memory bus on UniBoard2
CONSTANT I2C_UNB2_MB_I_DDR4_ADR : NATURAL := X"18"; -- ddr4 module I, slave address is 0x18
CONSTANT I2C_UNB2_MB_II_DDR4_ADR : NATURAL := X"19"; -- ddr4 module II, slave address is 0x19
CONSTANT c_i2c_unb_temp_high : NATURAL := 85;
-- commands
-- these can later go into device specific packages
CONSTANT PMBUS_REG_READ_VIN : NATURAL := X"88"; -- common to all PMB devices
CONSTANT PMBUS_REG_READ_VCAP : NATURAL := X"8a"; -- used in the PIM4328PD
CONSTANT PMBUS_REG_READ_VOUT : NATURAL := X"8b"; -- common to all PMB devices
CONSTANT PMBUS_REG_READ_IOUT : NATURAL := X"8c"; -- common to all PMB devices
CONSTANT PMBUS_REG_READ_TEmP : NATURAL := X"8d"; -- common to all PMB devices
CONSTANT c_i2c_unb2_nof_protocol_lists : NATURAL := 4; -- for now we allow four protocol lists for each i2c interface
-- Commander protocol lists for UNB sens bus
-- > Temperature sensor:
-- . c_i2c_unb_protocol_list_read_config
-- . c_i2c_unb_protocol_list_read
CONSTANT c_i2c_unb2_sens_max1617_expected_mask_read_config : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_read_one_byte;
CONSTANT c_i2c_unb2_sens_max1617_nof_result_data_read_config : NATURAL := c_i2c_cmdr_nof_result_data_read_one_byte;
CONSTANT c_i2c_unb2_sens_max1617_protocol_list_read_config : t_nat_natural_arr := (
SMBUS_READ_BYTE, I2C_UNB2_SENS_TEMP_MAX1617_ADR, MAX1617_CMD_READ_REMOTE_TEMP,
SMBUS_WRITE_BYTE, I2C_UNB2_SENS_TEMP_MAX1617_ADR, MAX1617_CMD_WRITE_CONFIG, MAX1617_CONFIG_ID+MAX1617_CONFIG_THERM,
SMBUS_WRITE_BYTE, I2C_UNB2_SENS_TEMP_MAX1617_ADR, MAX1617_CMD_WRITE_REMOTE_HIGH, c_i2c_unb_temp_high,
SMBUS_C_END
);
CONSTANT c_i2c_unb2_sens_max1617_expected_mask_read_temp : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_read_one_byte;
CONSTANT c_i2c_unb2_sens_max1617_nof_result_data_read_temp : NATURAL := c_i2c_cmdr_nof_result_data_read_one_byte;
CONSTANT c_i2c_unb2_sens_max1617_protocol_list_read_temp : t_nat_natural_arr := (
SMBUS_READ_BYTE, I2C_UNB2_SENS_TEMP_MAX1617_ADR, MAX1617_CMD_READ_REMOTE_TEMP,
SMBUS_C_END
);
CONSTANT c_i2c_unb2_sens_expected_mask_read_all : STD_LOGIC_VECTOR := RESIZE_UVEC("001010101010101010101010101010101010101010101", c_word_w);
CONSTANT c_i2c_unb2_sens_nof_result_data_read_all : NATURAL := 22;
CONSTANT c_i2c_unb2_sens_protocol_list_read_all : t_nat_natural_arr := (
SMBUS_READ_BYTE , I2C_UNB2_SENS_TEMP_MAX1617_ADR, MAX1617_CMD_READ_REMOTE_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_SENS_DCDC_BMR456_ADR, PMBUS_REG_READ_VIN,
SMBUS_READ_BYTE , I2C_UNB2_SENS_DCDC_BMR456_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_DCDC_BMR456_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_PIM_PIM4328PD_ADR, PMBUS_REG_READ_VIN,
SMBUS_READ_BYTE , I2C_UNB2_SENS_PIM_PIM4328PD_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_PIM_PIM4328PD_ADR, PMBUS_REG_READ_VCAP,
SMBUS_READ_BYTE , I2C_UNB2_SENS_1V2_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_1V2_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_1V2_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_SENS_3V3_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_3V3_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_3V3_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_SENS_CLK_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_CLK_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_CLK_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_SENS_QSFP0_BMR464_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_QSFP0_BMR464_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_QSFP0_BMR464_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_SENS_QSFP1_BMR464_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_QSFP1_BMR464_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_SENS_QSFP1_BMR464_ADR, PMBUS_REG_READ_TEMP,
SMBUS_C_END
);
-- Commander protocol lists for UNB2 PMBUS
CONSTANT c_i2c_unb2_pmbus_expected_mask_read_all : STD_LOGIC_VECTOR := RESIZE_UVEC("0010101010101010101010101010101010101", c_word_w);
CONSTANT c_i2c_unb2_pmbus_nof_result_data_read_all : NATURAL := 18;
CONSTANT c_i2c_unb2_pmbus_protocol_list_read_all : t_nat_natural_arr := (
SMBUS_READ_BYTE , I2C_UNB2_PMB_CORE_BMR464_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_CORE_BMR464_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_CORE_BMR464_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_PMB_VCCRAM_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_VCCRAM_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_VCCRAM_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR0_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR0_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR0_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS1_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGIO_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGIO_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGIO_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_C_END
);
END PACKAGE;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment