aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/firmware/angie/c/include/io.h2
-rw-r--r--contrib/firmware/angie/c/src/i2c.c7
-rw-r--r--contrib/firmware/angie/c/src/usb.c6
-rw-r--r--contrib/firmware/angie/hdl/src/angie_bitstream.ucf1
-rw-r--r--contrib/firmware/angie/hdl/src/angie_bitstream.vhd19
-rw-r--r--src/jtag/drivers/angie/angie_bitstream.bitbin340704 -> 340704 bytes
-rw-r--r--src/jtag/drivers/angie/angie_firmware.binbin10158 -> 10256 bytes
7 files changed, 22 insertions, 13 deletions
diff --git a/contrib/firmware/angie/c/include/io.h b/contrib/firmware/angie/c/include/io.h
index af488f4..19289d1 100644
--- a/contrib/firmware/angie/c/include/io.h
+++ b/contrib/firmware/angie/c/include/io.h
@@ -66,7 +66,7 @@
#define PIN_SDA IOD0
#define PIN_SCL IOD1
#define PIN_SDA_DIR IOD2
-/* PD3 Not Connected */
+#define PIN_SCL_DIR IOD3
/* PD4 Not Connected */
/* PD5 Not Connected */
/* PD6 Not Connected */
diff --git a/contrib/firmware/angie/c/src/i2c.c b/contrib/firmware/angie/c/src/i2c.c
index 5384010..10a463b 100644
--- a/contrib/firmware/angie/c/src/i2c.c
+++ b/contrib/firmware/angie/c/src/i2c.c
@@ -14,6 +14,9 @@
void start_cd(void)
{
+ PIN_SCL_DIR = 0;
+ PIN_SDA_DIR = 0;
+ delay_us(10);
PIN_SDA = 0; //SDA = 1;
delay_us(1);
PIN_SCL = 0; //SCL = 1;
@@ -40,6 +43,10 @@ void stop_cd(void)
delay_us(1);
PIN_SDA = 1;
delay_us(1);
+ PIN_SDA_DIR = 1;
+ delay_us(1);
+ PIN_SCL_DIR = 1;
+ delay_us(1);
}
void clock_cd(void)
diff --git a/contrib/firmware/angie/c/src/usb.c b/contrib/firmware/angie/c/src/usb.c
index 1b7aa47..de19641 100644
--- a/contrib/firmware/angie/c/src/usb.c
+++ b/contrib/firmware/angie/c/src/usb.c
@@ -886,9 +886,6 @@ void io_init(void)
PORTACFG = 0x01; /* 0: normal ou 1: alternate function (each bit) */
OEA = 0xEF; /* all OUT exept INIT_B IN */
IOA = 0xFF;
- PIN_RDWR_B = 1;
- PIN_CSI_B = 1;
- PIN_PROGRAM_B = 1;
/* PORT B */
OEB = 0xEF; /* all OUT exept TDO */
@@ -899,8 +896,6 @@ void io_init(void)
PIN_TDI = 0;
PIN_SRST = 1;
-
-
/* PORT C */
PORTCCFG = 0x00; /* 0: normal ou 1: alternate function (each bit) */
OEC = 0xFF;
@@ -909,5 +904,4 @@ void io_init(void)
/* PORT D */
OED = 0xFF;
IOD = 0xFF;
- PIN_SDA_DIR = 0;
}
diff --git a/contrib/firmware/angie/hdl/src/angie_bitstream.ucf b/contrib/firmware/angie/hdl/src/angie_bitstream.ucf
index 92a89c9..9eb0c85 100644
--- a/contrib/firmware/angie/hdl/src/angie_bitstream.ucf
+++ b/contrib/firmware/angie/hdl/src/angie_bitstream.ucf
@@ -20,6 +20,7 @@ net SRST LOC = 'P61' ;
net SDA LOC = 'P50' ;
net SCL LOC = 'P51' ;
net SDA_DIR LOC = 'P56' ;
+net SCL_DIR LOC = 'P57' ;
net SI_TDO LOC = 'P16' ;
net SO_TRST LOC = 'P32' ;
diff --git a/contrib/firmware/angie/hdl/src/angie_bitstream.vhd b/contrib/firmware/angie/hdl/src/angie_bitstream.vhd
index 21ddb84..6004bf2 100644
--- a/contrib/firmware/angie/hdl/src/angie_bitstream.vhd
+++ b/contrib/firmware/angie/hdl/src/angie_bitstream.vhd
@@ -26,8 +26,9 @@ entity S609 is port(
SDA : inout std_logic;
SDA_DIR : in std_logic;
SCL : in std_logic;
+ SCL_DIR : in std_logic;
- FTP : out std_logic_vector(7 downto 0):=(others => '1'); -- Test points
+ FTP : out std_logic_vector(7 downto 0); -- Test points
SI_TDO : in std_logic;
ST_0 : out std_logic;
ST_1 : out std_logic;
@@ -55,8 +56,6 @@ begin
ST_0 <= '0';
ST_1 <= '1';
-ST_4 <= '0';
-
--TDO:
TDO <= not SI_TDO;
@@ -75,13 +74,21 @@ SO_SDA_OUT <= SDA;
process(SDA_DIR)
begin
- if(SDA_DIR = '1') then
- ST_5 <= '1';
- else
+ if(SDA_DIR = '0') then
ST_5 <= '0';
+ else
+ ST_5 <= '1';
end if;
end process;
+process(SCL_DIR)
+begin
+ if(SCL_DIR = '0') then
+ ST_4 <= '0';
+ else
+ ST_4 <= '1';
+ end if;
+end process;
--Points de test:
FTP(0) <= SDA;
diff --git a/src/jtag/drivers/angie/angie_bitstream.bit b/src/jtag/drivers/angie/angie_bitstream.bit
index aebd370..7b3a88f 100644
--- a/src/jtag/drivers/angie/angie_bitstream.bit
+++ b/src/jtag/drivers/angie/angie_bitstream.bit
Binary files differ
diff --git a/src/jtag/drivers/angie/angie_firmware.bin b/src/jtag/drivers/angie/angie_firmware.bin
index da69631..23c4a82 100644
--- a/src/jtag/drivers/angie/angie_firmware.bin
+++ b/src/jtag/drivers/angie/angie_firmware.bin
Binary files differ