Commit 2b23e6d5 authored by Dimitris Lampridis's avatar Dimitris Lampridis

remove unused I2C master from fmc_adc_mezzanine, it is handled by the Convention

parent 920b7a16
...@@ -11,14 +11,6 @@ memory-map: ...@@ -11,14 +11,6 @@ memory-map:
address: 0x1000 address: 0x1000
description: FMC ADC 100M CSR description: FMC ADC 100M CSR
filename: fmc_adc_100Ms_csr.cheby filename: fmc_adc_100Ms_csr.cheby
- submap:
name: fmc_i2c_master
address: 0x1400
size: 0x100
interface: wb-32-be
x-hdl:
busgroup: True
description: Mezzanine system management I2C master
- submap: - submap:
name: fmc_adc_eic name: fmc_adc_eic
address: 0x1500 address: 0x1500
......
...@@ -17,10 +17,6 @@ entity fmc_adc_mezzanine_mmap is ...@@ -17,10 +17,6 @@ entity fmc_adc_mezzanine_mmap is
fmc_adc_100m_csr_i : in t_wishbone_master_in; fmc_adc_100m_csr_i : in t_wishbone_master_in;
fmc_adc_100m_csr_o : out t_wishbone_master_out; fmc_adc_100m_csr_o : out t_wishbone_master_out;
-- Mezzanine system management I2C master
fmc_i2c_master_i : in t_wishbone_master_in;
fmc_i2c_master_o : out t_wishbone_master_out;
-- FMC ADC Embedded Interrupt Controller -- FMC ADC Embedded Interrupt Controller
fmc_adc_eic_i : in t_wishbone_master_in; fmc_adc_eic_i : in t_wishbone_master_in;
fmc_adc_eic_o : out t_wishbone_master_out; fmc_adc_eic_o : out t_wishbone_master_out;
...@@ -58,12 +54,6 @@ architecture syn of fmc_adc_mezzanine_mmap is ...@@ -58,12 +54,6 @@ architecture syn of fmc_adc_mezzanine_mmap is
signal fmc_adc_100m_csr_tr : std_logic; signal fmc_adc_100m_csr_tr : std_logic;
signal fmc_adc_100m_csr_wack : std_logic; signal fmc_adc_100m_csr_wack : std_logic;
signal fmc_adc_100m_csr_rack : std_logic; signal fmc_adc_100m_csr_rack : std_logic;
signal fmc_i2c_master_re : std_logic;
signal fmc_i2c_master_wt : std_logic;
signal fmc_i2c_master_rt : std_logic;
signal fmc_i2c_master_tr : std_logic;
signal fmc_i2c_master_wack : std_logic;
signal fmc_i2c_master_rack : std_logic;
signal fmc_adc_eic_re : std_logic; signal fmc_adc_eic_re : std_logic;
signal fmc_adc_eic_wt : std_logic; signal fmc_adc_eic_wt : std_logic;
signal fmc_adc_eic_rt : std_logic; signal fmc_adc_eic_rt : std_logic;
...@@ -151,26 +141,6 @@ begin ...@@ -151,26 +141,6 @@ begin
fmc_adc_100m_csr_o.we <= fmc_adc_100m_csr_wt; fmc_adc_100m_csr_o.we <= fmc_adc_100m_csr_wt;
fmc_adc_100m_csr_o.dat <= wb_i.dat; fmc_adc_100m_csr_o.dat <= wb_i.dat;
-- Assignments for submap fmc_i2c_master
fmc_i2c_master_tr <= fmc_i2c_master_wt or fmc_i2c_master_rt;
process (clk_i) begin
if rising_edge(clk_i) then
if rst_n_i = '0' then
fmc_i2c_master_rt <= '0';
else
fmc_i2c_master_rt <= (fmc_i2c_master_rt or fmc_i2c_master_re) and not fmc_i2c_master_rack;
end if;
end if;
end process;
fmc_i2c_master_o.cyc <= fmc_i2c_master_tr;
fmc_i2c_master_o.stb <= fmc_i2c_master_tr;
fmc_i2c_master_wack <= fmc_i2c_master_i.ack and fmc_i2c_master_wt;
fmc_i2c_master_rack <= fmc_i2c_master_i.ack and fmc_i2c_master_rt;
fmc_i2c_master_o.adr <= ((23 downto 0 => '0') & wb_i.adr(7 downto 2)) & (1 downto 0 => '0');
fmc_i2c_master_o.sel <= (others => '1');
fmc_i2c_master_o.we <= fmc_i2c_master_wt;
fmc_i2c_master_o.dat <= wb_i.dat;
-- Assignments for submap fmc_adc_eic -- Assignments for submap fmc_adc_eic
fmc_adc_eic_tr <= fmc_adc_eic_wt or fmc_adc_eic_rt; fmc_adc_eic_tr <= fmc_adc_eic_wt or fmc_adc_eic_rt;
process (clk_i) begin process (clk_i) begin
...@@ -277,7 +247,6 @@ begin ...@@ -277,7 +247,6 @@ begin
if rst_n_i = '0' then if rst_n_i = '0' then
wr_ack_int <= '0'; wr_ack_int <= '0';
fmc_adc_100m_csr_wt <= '0'; fmc_adc_100m_csr_wt <= '0';
fmc_i2c_master_wt <= '0';
fmc_adc_eic_wt <= '0'; fmc_adc_eic_wt <= '0';
si570_i2c_master_wt <= '0'; si570_i2c_master_wt <= '0';
ds18b20_onewire_master_wt <= '0'; ds18b20_onewire_master_wt <= '0';
...@@ -286,7 +255,6 @@ begin ...@@ -286,7 +255,6 @@ begin
else else
wr_ack_int <= '0'; wr_ack_int <= '0';
fmc_adc_100m_csr_wt <= '0'; fmc_adc_100m_csr_wt <= '0';
fmc_i2c_master_wt <= '0';
fmc_adc_eic_wt <= '0'; fmc_adc_eic_wt <= '0';
si570_i2c_master_wt <= '0'; si570_i2c_master_wt <= '0';
ds18b20_onewire_master_wt <= '0'; ds18b20_onewire_master_wt <= '0';
...@@ -298,18 +266,9 @@ begin ...@@ -298,18 +266,9 @@ begin
fmc_adc_100m_csr_wt <= (fmc_adc_100m_csr_wt or wr_int) and not fmc_adc_100m_csr_wack; fmc_adc_100m_csr_wt <= (fmc_adc_100m_csr_wt or wr_int) and not fmc_adc_100m_csr_wack;
wr_ack_int <= fmc_adc_100m_csr_wack; wr_ack_int <= fmc_adc_100m_csr_wack;
when "1010" => when "1010" =>
case wb_i.adr(8 downto 8) is -- Submap fmc_adc_eic
when "0" => fmc_adc_eic_wt <= (fmc_adc_eic_wt or wr_int) and not fmc_adc_eic_wack;
-- Submap fmc_i2c_master wr_ack_int <= fmc_adc_eic_wack;
fmc_i2c_master_wt <= (fmc_i2c_master_wt or wr_int) and not fmc_i2c_master_wack;
wr_ack_int <= fmc_i2c_master_wack;
when "1" =>
-- Submap fmc_adc_eic
fmc_adc_eic_wt <= (fmc_adc_eic_wt or wr_int) and not fmc_adc_eic_wack;
wr_ack_int <= fmc_adc_eic_wack;
when others =>
wr_ack_int <= wr_int;
end case;
when "1011" => when "1011" =>
case wb_i.adr(8 downto 8) is case wb_i.adr(8 downto 8) is
when "0" => when "0" =>
...@@ -353,13 +312,6 @@ begin ...@@ -353,13 +312,6 @@ begin
case wb_i.adr(12 downto 9) is case wb_i.adr(12 downto 9) is
when "1000" => when "1000" =>
when "1010" => when "1010" =>
case wb_i.adr(8 downto 8) is
when "0" =>
when "1" =>
when others =>
reg_rdat_int <= (others => 'X');
rd_ack1_int <= rd_int;
end case;
when "1011" => when "1011" =>
case wb_i.adr(8 downto 8) is case wb_i.adr(8 downto 8) is
when "0" => when "0" =>
...@@ -385,11 +337,10 @@ begin ...@@ -385,11 +337,10 @@ begin
end process; end process;
-- Process for read requests. -- Process for read requests.
process (wb_i.adr, reg_rdat_int, rd_ack1_int, rd_int, rd_int, fmc_adc_100m_csr_i.dat, fmc_adc_100m_csr_rack, fmc_adc_100m_csr_rt, rd_int, fmc_i2c_master_i.dat, fmc_i2c_master_rack, fmc_i2c_master_rt, rd_int, fmc_adc_eic_i.dat, fmc_adc_eic_rack, fmc_adc_eic_rt, rd_int, si570_i2c_master_i.dat, si570_i2c_master_rack, si570_i2c_master_rt, rd_int, ds18b20_onewire_master_i.dat, ds18b20_onewire_master_rack, ds18b20_onewire_master_rt, rd_int, fmc_spi_master_i.dat, fmc_spi_master_rack, fmc_spi_master_rt, rd_int, timetag_core_i.dat, timetag_core_rack, timetag_core_rt) begin process (wb_i.adr, reg_rdat_int, rd_ack1_int, rd_int, rd_int, fmc_adc_100m_csr_i.dat, fmc_adc_100m_csr_rack, fmc_adc_100m_csr_rt, rd_int, fmc_adc_eic_i.dat, fmc_adc_eic_rack, fmc_adc_eic_rt, rd_int, si570_i2c_master_i.dat, si570_i2c_master_rack, si570_i2c_master_rt, rd_int, ds18b20_onewire_master_i.dat, ds18b20_onewire_master_rack, ds18b20_onewire_master_rt, rd_int, fmc_spi_master_i.dat, fmc_spi_master_rack, fmc_spi_master_rt, rd_int, timetag_core_i.dat, timetag_core_rack, timetag_core_rt) begin
-- By default ack read requests -- By default ack read requests
wb_o.dat <= (others => '0'); wb_o.dat <= (others => '0');
fmc_adc_100m_csr_re <= '0'; fmc_adc_100m_csr_re <= '0';
fmc_i2c_master_re <= '0';
fmc_adc_eic_re <= '0'; fmc_adc_eic_re <= '0';
si570_i2c_master_re <= '0'; si570_i2c_master_re <= '0';
ds18b20_onewire_master_re <= '0'; ds18b20_onewire_master_re <= '0';
...@@ -402,20 +353,10 @@ begin ...@@ -402,20 +353,10 @@ begin
wb_o.dat <= fmc_adc_100m_csr_i.dat; wb_o.dat <= fmc_adc_100m_csr_i.dat;
rd_ack_int <= fmc_adc_100m_csr_rack; rd_ack_int <= fmc_adc_100m_csr_rack;
when "1010" => when "1010" =>
case wb_i.adr(8 downto 8) is -- Submap fmc_adc_eic
when "0" => fmc_adc_eic_re <= rd_int;
-- Submap fmc_i2c_master wb_o.dat <= fmc_adc_eic_i.dat;
fmc_i2c_master_re <= rd_int; rd_ack_int <= fmc_adc_eic_rack;
wb_o.dat <= fmc_i2c_master_i.dat;
rd_ack_int <= fmc_i2c_master_rack;
when "1" =>
-- Submap fmc_adc_eic
fmc_adc_eic_re <= rd_int;
wb_o.dat <= fmc_adc_eic_i.dat;
rd_ack_int <= fmc_adc_eic_rack;
when others =>
rd_ack_int <= rd_int;
end case;
when "1011" => when "1011" =>
case wb_i.adr(8 downto 8) is case wb_i.adr(8 downto 8) is
when "0" => when "0" =>
......
...@@ -134,16 +134,15 @@ architecture rtl of fmc_adc_mezzanine is ...@@ -134,16 +134,15 @@ architecture rtl of fmc_adc_mezzanine is
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- Number of slaves on the wishbone crossbar -- Number of slaves on the wishbone crossbar
constant c_NUM_WB_SLAVES : integer := 7; constant c_NUM_WB_SLAVES : integer := 6;
-- Wishbone slave(s) -- Wishbone slave(s)
constant c_WB_SLAVE_FMC_ADC : integer := 0; -- Mezzanine ADC core constant c_WB_SLAVE_FMC_ADC : integer := 0; -- Mezzanine ADC core
constant c_WB_SLAVE_FMC_SYS_I2C : integer := 1; -- Mezzanine system I2C interface (EEPROM) constant c_WB_SLAVE_FMC_EIC : integer := 1; -- Mezzanine interrupt controller
constant c_WB_SLAVE_FMC_EIC : integer := 2; -- Mezzanine interrupt controller constant c_WB_SLAVE_FMC_I2C : integer := 2; -- Mezzanine I2C controller
constant c_WB_SLAVE_FMC_I2C : integer := 3; -- Mezzanine I2C controller constant c_WB_SLAVE_FMC_ONEWIRE : integer := 3; -- Mezzanine onewire interface
constant c_WB_SLAVE_FMC_ONEWIRE : integer := 4; -- Mezzanine onewire interface constant c_WB_SLAVE_FMC_SPI : integer := 4; -- Mezzanine SPI interface
constant c_WB_SLAVE_FMC_SPI : integer := 5; -- Mezzanine SPI interface constant c_WB_SLAVE_TIMETAG : integer := 5; -- Mezzanine timetag core
constant c_WB_SLAVE_TIMETAG : integer := 6; -- Mezzanine timetag core
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- Signals declaration -- Signals declaration
...@@ -240,8 +239,6 @@ begin ...@@ -240,8 +239,6 @@ begin
wb_o => cnx_master_in, wb_o => cnx_master_in,
fmc_adc_100m_csr_i => cnx_slave_out(c_WB_SLAVE_FMC_ADC), fmc_adc_100m_csr_i => cnx_slave_out(c_WB_SLAVE_FMC_ADC),
fmc_adc_100m_csr_o => cnx_slave_in(c_WB_SLAVE_FMC_ADC), fmc_adc_100m_csr_o => cnx_slave_in(c_WB_SLAVE_FMC_ADC),
fmc_i2c_master_i => cnx_slave_out(c_WB_SLAVE_FMC_SYS_I2C),
fmc_i2c_master_o => cnx_slave_in(c_WB_SLAVE_FMC_SYS_I2C),
fmc_adc_eic_i => cnx_slave_out(c_WB_SLAVE_FMC_EIC), fmc_adc_eic_i => cnx_slave_out(c_WB_SLAVE_FMC_EIC),
fmc_adc_eic_o => cnx_slave_in(c_WB_SLAVE_FMC_EIC), fmc_adc_eic_o => cnx_slave_in(c_WB_SLAVE_FMC_EIC),
si570_i2c_master_i => cnx_slave_out(c_WB_SLAVE_FMC_I2C), si570_i2c_master_i => cnx_slave_out(c_WB_SLAVE_FMC_I2C),
...@@ -253,30 +250,6 @@ begin ...@@ -253,30 +250,6 @@ begin
timetag_core_i => cnx_slave_out(c_WB_SLAVE_TIMETAG), timetag_core_i => cnx_slave_out(c_WB_SLAVE_TIMETAG),
timetag_core_o => cnx_slave_in(c_WB_SLAVE_TIMETAG)); timetag_core_o => cnx_slave_in(c_WB_SLAVE_TIMETAG));
------------------------------------------------------------------------------
-- Mezzanine system managment I2C master
-- Access to mezzanine EEPROM
------------------------------------------------------------------------------
cmp_fmc_sys_i2c : xwb_i2c_master
generic map(
g_interface_mode => CLASSIC,
g_address_granularity => BYTE
)
port map (
clk_sys_i => sys_clk_i,
rst_n_i => sys_rst_n_i,
slave_i => cnx_slave_in(c_WB_SLAVE_FMC_SYS_I2C),
slave_o => cnx_slave_out(c_WB_SLAVE_FMC_SYS_I2C),
desc_o => open,
scl_pad_i(0) => '1',
scl_pad_o(0) => open,
scl_padoen_o(0) => open,
sda_pad_i(0) => '1',
sda_pad_o(0) => open,
sda_padoen_o(0) => open);
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- Mezzanine SPI master -- Mezzanine SPI master
-- Offset DACs control -- Offset DACs control
......
`define FMC_ADC_MEZZANINE_MMAP_SIZE 8192 `define FMC_ADC_MEZZANINE_MMAP_SIZE 8192
`define ADDR_FMC_ADC_MEZZANINE_MMAP_FMC_ADC_100M_CSR 'h1000 `define ADDR_FMC_ADC_MEZZANINE_MMAP_FMC_ADC_100M_CSR 'h1000
`define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_100M_CSR_SIZE 512 `define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_100M_CSR_SIZE 512
`define ADDR_FMC_ADC_MEZZANINE_MMAP_FMC_I2C_MASTER 'h1400
`define FMC_ADC_MEZZANINE_MMAP_FMC_I2C_MASTER_SIZE 256
`define ADDR_FMC_ADC_MEZZANINE_MMAP_FMC_ADC_EIC 'h1500 `define ADDR_FMC_ADC_MEZZANINE_MMAP_FMC_ADC_EIC 'h1500
`define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_EIC_SIZE 16 `define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_EIC_SIZE 16
`define ADDR_FMC_ADC_MEZZANINE_MMAP_SI570_I2C_MASTER 'h1600 `define ADDR_FMC_ADC_MEZZANINE_MMAP_SI570_I2C_MASTER 'h1600
......
...@@ -9,10 +9,6 @@ ...@@ -9,10 +9,6 @@
#define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_100M_CSR 0x1000UL #define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_100M_CSR 0x1000UL
#define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_100M_CSR_SIZE 512 #define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_100M_CSR_SIZE 512
/* Mezzanine system management I2C master */
#define FMC_ADC_MEZZANINE_MMAP_FMC_I2C_MASTER 0x1400UL
#define FMC_ADC_MEZZANINE_MMAP_FMC_I2C_MASTER_SIZE 256
/* FMC ADC Embedded Interrupt Controller */ /* FMC ADC Embedded Interrupt Controller */
#define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_EIC 0x1500UL #define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_EIC 0x1500UL
#define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_EIC_SIZE 16 #define FMC_ADC_MEZZANINE_MMAP_FMC_ADC_EIC_SIZE 16
...@@ -40,11 +36,8 @@ struct fmc_adc_mezzanine_mmap { ...@@ -40,11 +36,8 @@ struct fmc_adc_mezzanine_mmap {
/* [0x1000]: SUBMAP FMC ADC 100M CSR */ /* [0x1000]: SUBMAP FMC ADC 100M CSR */
struct fmc_adc_100ms_csr fmc_adc_100m_csr; struct fmc_adc_100ms_csr fmc_adc_100m_csr;
/* padding to: 1280 words */ /* padding to: 1344 words */
uint32_t __padding_1[128]; uint32_t __padding_1[192];
/* [0x1400]: SUBMAP Mezzanine system management I2C master */
uint32_t fmc_i2c_master[64];
/* [0x1500]: SUBMAP FMC ADC Embedded Interrupt Controller */ /* [0x1500]: SUBMAP FMC ADC Embedded Interrupt Controller */
uint32_t fmc_adc_eic[4]; uint32_t fmc_adc_eic[4];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment