From 1de64c9bd7093b30e04da9e0471c9f4f41318f95 Mon Sep 17 00:00:00 2001
From: Leon Hiemstra <hiemstra@astron.nl>
Date: Fri, 18 Mar 2016 12:20:21 +0000
Subject: [PATCH] For Arria10* it solves the not-working I2C issue:
 bidirectional pin drive out '1' instead of 'Z'. It also removes the Warning
 (12620): Input port OE of I/O output buffer is not connected, but the atom is
 driving a bi-direct...

---
 libraries/io/i2c/src/vhdl/i2c_smbus.vhd | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libraries/io/i2c/src/vhdl/i2c_smbus.vhd b/libraries/io/i2c/src/vhdl/i2c_smbus.vhd
index 3ebcbc1f7b..a99207cf98 100644
--- a/libraries/io/i2c/src/vhdl/i2c_smbus.vhd
+++ b/libraries/io/i2c/src/vhdl/i2c_smbus.vhd
@@ -137,6 +137,13 @@ ARCHITECTURE rtl OF i2c_smbus IS
   SIGNAL timeout       : STD_LOGIC;
   SIGNAL nxt_timeout   : STD_LOGIC;
 
+  -- Attributes for Quartus. Fixes the issues:
+  -- - For Arria10* it solves the I2C issue: bidirectional pin drive out '1' instead of 'Z'
+  -- - Removes the Warning (12620): Input port OE of I/O output buffer is not connected, but the atom is driving a bi-direct...
+  attribute keep: boolean;
+  attribute keep of scl_o: signal is true;
+  attribute keep of sda_o: signal is true;
+
 BEGIN
 
   -- CONSTANT Signals dependent on GENERIC Signal gs_sim
-- 
GitLab