Commit ff891eec authored by Peter Jansweijer's avatar Peter Jansweijer

Added AUXiliary I2C bus for general purpose use of I2C devices on FMC cards

parent 8241cb68
Pipeline #821 failed with stage
in 2 minutes and 1 second
......@@ -104,6 +104,8 @@ package wr_spec7_pkg is
sfp_los_i : in std_logic := '0';
eeprom_scl : inout std_logic;
eeprom_sda : inout std_logic;
aux_scl : inout std_logic;
aux_sda : inout std_logic;
onewire_i : in std_logic;
onewire_oen_o : out std_logic;
uart_rxd_i : in std_logic;
......
......@@ -155,6 +155,12 @@ entity wrc_board_spec7 is
eeprom_sda : inout std_logic;
eeprom_scl : inout std_logic;
---------------------------------------------------------------------------
-- I2C AUXiliary
---------------------------------------------------------------------------
aux_sda : inout std_logic;
aux_scl : inout std_logic;
---------------------------------------------------------------------------
-- Onewire interface
---------------------------------------------------------------------------
......@@ -464,6 +470,8 @@ begin -- architecture struct
sfp_los_i => sfp_los_i,
eeprom_scl => eeprom_scl,
eeprom_sda => eeprom_sda,
aux_scl => aux_scl,
aux_sda => aux_sda,
onewire_i => onewire_i,
onewire_oen_o => onewire_oen_o,
uart_rxd_i => uart_rxd_i,
......
......@@ -156,6 +156,12 @@ entity xwrc_board_spec7 is
eeprom_sda : inout std_logic;
eeprom_scl : inout std_logic;
---------------------------------------------------------------------------
-- I2C AUXiliary
---------------------------------------------------------------------------
aux_sda : inout std_logic;
aux_scl : inout std_logic;
---------------------------------------------------------------------------
-- Onewire interface
---------------------------------------------------------------------------
......@@ -336,7 +342,7 @@ architecture struct of xwrc_board_spec7 is
(c_slave_gpio => x"00000f00"
);
constant c_num_gpio_pins : integer := 15;
constant c_num_gpio_pins : integer := 17;
signal gpio_out, gpio_in, gpio_oen : std_logic_vector(c_num_gpio_pins-1 downto 0);
component even_odd_det is
......@@ -818,6 +824,12 @@ begin -- architecture struct
gpio_in(13) <= even_odd_n; -- 10MHz/1PPS phase w.r.t. clk_ref_125m
gpio_in(14) <= sync_done;
-- AUXiliary I2C tri-states
aux_scl <= '0' when (gpio_out(15) = '0') else 'Z';
gpio_in(15) <= aux_scl;
aux_sda <= '0' when (gpio_out(16) = '0') else 'Z';
gpio_in(16) <= aux_sda;
sfp_rate_select_o <= '1';
onewire_oen_o <= onewire_en(0);
......
......@@ -589,6 +589,9 @@ AXI2WB : xwb_axi4lite_bridge
eeprom_scl => scl_b,
eeprom_sda => sda_b,
aux_scl => fmc_la23_p,
aux_sda => fmc_la06_p,
onewire_i => '1', -- No onewire, Unique ID now via
onewire_oen_o => open, -- 24AA025EU48 (I2C Addr 1010.001x)
......
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