Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 12:47:13 +0000 (13:47 +0100)]
move GPIO and JTAG a little bit on E side (for RGMII interface 1)
Andrey Miroshnikov [Tue, 28 Jun 2022 12:29:53 +0000 (12:29 +0000)]
Added ls2 svg, added rgmii to N bank
Andrey Miroshnikov [Tue, 28 Jun 2022 12:12:10 +0000 (12:12 +0000)]
Added ls2 to spec type
Andrey Miroshnikov [Tue, 28 Jun 2022 11:54:25 +0000 (11:54 +0000)]
Adding copy of ls180 for new soc (ls2)
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 10:42:16 +0000 (11:42 +0100)]
whoops, reading pad bankwidths (mux widths) not bank sizes
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 10:31:43 +0000 (11:31 +0100)]
add print debugs
Andrey Miroshnikov [Mon, 13 Jun 2022 20:43:05 +0000 (21:43 +0100)]
Pinmux now accepts dummy pinset to change port names
Andrey Miroshnikov [Tue, 31 May 2022 22:51:30 +0000 (23:51 +0100)]
Added comment
Andrey Miroshnikov [Tue, 31 May 2022 14:01:10 +0000 (15:01 +0100)]
Fixed print formatting
Andrey Miroshnikov [Tue, 31 May 2022 13:11:51 +0000 (14:11 +0100)]
Improved iomux logic based on lessons from gpio block. Test ordered or randomised.
Andrey Miroshnikov [Tue, 24 May 2022 21:01:54 +0000 (22:01 +0100)]
Added granuality assert (for now)
Andrey Miroshnikov [Tue, 24 May 2022 14:26:36 +0000 (14:26 +0000)]
Fixed the we usage as explained by Luke in bug #762 c#26
Andrey Miroshnikov [Mon, 23 May 2022 21:42:48 +0000 (21:42 +0000)]
Added the driver changes to support WB sel control, also code is more flexible if granuality changes
Andrey Miroshnikov [Mon, 23 May 2022 18:21:21 +0000 (18:21 +0000)]
Changed ack behaviour for rd (1 clk) and wr (2 clk)
Andrey Miroshnikov [Sun, 22 May 2022 23:11:37 +0000 (23:11 +0000)]
Removed redundant use of Array()
Andrey Miroshnikov [Sat, 21 May 2022 22:56:49 +0000 (22:56 +0000)]
Finally put together fix based on Luke's suggestion in bug #762 c#18...took a bit more time to work out Layout, 1-clk delay required.
Andrey Miroshnikov [Tue, 10 May 2022 14:21:05 +0000 (15:21 +0100)]
Clean up gpio code
Andrey Miroshnikov [Tue, 10 May 2022 12:51:01 +0000 (13:51 +0100)]
Fixed the rd transaction, had to delay ack
Andrey Miroshnikov [Sat, 7 May 2022 22:39:38 +0000 (23:39 +0100)]
replaced duplicate code with functions, almost working
Andrey Miroshnikov [Tue, 26 Apr 2022 23:49:39 +0000 (00:49 +0100)]
Simplified rd bus connection, almost working, need to debug
Andrey Miroshnikov [Fri, 22 Apr 2022 13:16:02 +0000 (14:16 +0100)]
Implemented fix suggested by luke, bug 762 c#16, not quite working yet
Andrey Miroshnikov [Tue, 5 Apr 2022 23:07:34 +0000 (00:07 +0100)]
Multibus connection to different GPIOs fixed for read and write, however need to debug when awake
Andrey Miroshnikov [Tue, 22 Mar 2022 23:37:35 +0000 (23:37 +0000)]
Added some gpio logic, still need reading implemented
Andrey Miroshnikov [Mon, 21 Mar 2022 00:03:58 +0000 (00:03 +0000)]
Fixed GPIO block issue that accessed out of bounds Array()
Andrey Miroshnikov [Sat, 12 Mar 2022 22:38:40 +0000 (22:38 +0000)]
Forgot to add m.d.comb... Now need to debug gpio
Andrey Miroshnikov [Thu, 10 Mar 2022 23:38:02 +0000 (23:38 +0000)]
Added signals to export for il
Andrey Miroshnikov [Thu, 10 Mar 2022 23:37:32 +0000 (23:37 +0000)]
top level signals not showing up yet
Andrey Miroshnikov [Wed, 9 Mar 2022 17:28:20 +0000 (17:28 +0000)]
Fixed issue with single gpio not working
Andrey Miroshnikov [Wed, 9 Mar 2022 00:13:51 +0000 (00:13 +0000)]
created file for 1-pin pinmux, not working yet
Andrey Miroshnikov [Wed, 9 Mar 2022 00:13:17 +0000 (00:13 +0000)]
cleanup
Andrey Miroshnikov [Tue, 8 Mar 2022 19:07:53 +0000 (19:07 +0000)]
Converted to comb logic
Andrey Miroshnikov [Tue, 8 Mar 2022 15:52:22 +0000 (15:52 +0000)]
Added basic toggle test. Need to convert to comb domain, too much waiting going on with clk transitions...
Andrey Miroshnikov [Mon, 7 Mar 2022 23:24:10 +0000 (23:24 +0000)]
single i/o/oe pin IOMux working (test needs improving).
Andrey Miroshnikov [Wed, 2 Mar 2022 23:14:45 +0000 (23:14 +0000)]
Finally got iomux test running (but block not working yet)
Andrey Miroshnikov [Tue, 22 Feb 2022 23:58:37 +0000 (23:58 +0000)]
Added rd/wr methods to GPIO manager
Andrey Miroshnikov [Wed, 16 Feb 2022 22:25:18 +0000 (22:25 +0000)]
Added gtkw doc generation to simple gpio block test
Andrey Miroshnikov [Mon, 14 Feb 2022 20:45:09 +0000 (20:45 +0000)]
Added GTKWave doc generation
Andrey Miroshnikov [Thu, 10 Feb 2022 15:56:57 +0000 (15:56 +0000)]
Added reverse arg fix, tests working
Andrey Miroshnikov [Wed, 9 Feb 2022 18:27:49 +0000 (18:27 +0000)]
Original 4 JTAG test cases working, woohoo!
Andrey Miroshnikov [Tue, 8 Feb 2022 23:35:23 +0000 (23:35 +0000)]
Getting closer, now playing with result printing for test comparison
Andrey Miroshnikov [Tue, 8 Feb 2022 00:10:28 +0000 (00:10 +0000)]
Made progress in figuring out JTAG. Getting TDO, still need more testing
Andrey Miroshnikov [Thu, 3 Feb 2022 23:40:13 +0000 (23:40 +0000)]
Created GPIOManager class for tracking config state, setting/reading configuration.
Andrey Miroshnikov [Tue, 1 Feb 2022 21:46:57 +0000 (21:46 +0000)]
Created gpio manager class for easier control of individual and group gpios
Andrey Miroshnikov [Sun, 30 Jan 2022 17:01:06 +0000 (17:01 +0000)]
Trying to debug the TDO issue with JTAG test
Andrey Miroshnikov [Fri, 28 Jan 2022 22:43:53 +0000 (22:43 +0000)]
Replaced hard-coded config shifts with auto-generated dict from the csrbus layout. Removed redundant signals replaced by gpio_ports. Multi-row addressing not working yet.
Andrey Miroshnikov [Thu, 27 Jan 2022 00:01:38 +0000 (00:01 +0000)]
Added WB data wordsize param, added gpio port layout
Andrey Miroshnikov [Tue, 25 Jan 2022 00:32:19 +0000 (00:32 +0000)]
Added prefix to layout, modifyingfunctions for testing
Andrey Miroshnikov [Fri, 21 Jan 2022 23:51:12 +0000 (23:51 +0000)]
multi-gpio config working, needs further testing.
Andrey Miroshnikov [Wed, 19 Jan 2022 20:55:45 +0000 (20:55 +0000)]
Fixed gpio_addr. Output/input asserts working. Need clean up and documenting
Andrey Miroshnikov [Wed, 19 Jan 2022 00:04:12 +0000 (00:04 +0000)]
Fixed issue with out/in not updating io. Now issue with address resetting...
Andrey Miroshnikov [Mon, 17 Jan 2022 23:59:41 +0000 (23:59 +0000)]
Moved config update to combinatorial. Still need to figure out input state read
Andrey Miroshnikov [Sun, 16 Jan 2022 23:12:30 +0000 (23:12 +0000)]
Added fixes to Record. ie not being driven correctly.
Andrey Miroshnikov [Sun, 16 Jan 2022 11:28:07 +0000 (11:28 +0000)]
Added Record for GPIO config, not working yet
Andrey Miroshnikov [Sat, 15 Jan 2022 22:30:45 +0000 (22:30 +0000)]
Implemented GPIO changes discussed yesterday (except fitting multiple GPIOs in one word). Still sorting out sim
Andrey Miroshnikov [Fri, 14 Jan 2022 23:32:37 +0000 (23:32 +0000)]
Made changes discussed in IRC, will fix sim tomorrow
Andrey Miroshnikov [Thu, 13 Jan 2022 22:30:32 +0000 (22:30 +0000)]
Created and started making a basic IO mux block, unit test next.
Andrey Miroshnikov [Thu, 13 Jan 2022 00:51:22 +0000 (00:51 +0000)]
Cleaned up old comments
Andrey Miroshnikov [Thu, 13 Jan 2022 00:19:01 +0000 (00:19 +0000)]
Added a few TODOs
Andrey Miroshnikov [Thu, 13 Jan 2022 00:03:01 +0000 (00:03 +0000)]
CSR, output setting working. Input reading (and setting by sim) working.
Andrey Miroshnikov [Tue, 11 Jan 2022 23:33:47 +0000 (23:33 +0000)]
GPIO extension almost working, input still needs fix to the set function
Andrey Miroshnikov [Tue, 11 Jan 2022 12:51:41 +0000 (12:51 +0000)]
First test of autopep8
Andrey Miroshnikov [Tue, 11 Jan 2022 11:54:27 +0000 (11:54 +0000)]
Removed test_case1 as it is now redundant, removed extra redundant code.
Andrey Miroshnikov [Tue, 11 Jan 2022 11:47:33 +0000 (11:47 +0000)]
Improve JTAG test code clarity for future expansion
Andrey Miroshnikov [Mon, 10 Jan 2022 21:59:06 +0000 (21:59 +0000)]
Made JTAG test case into a function to improve clarity
Andrey Miroshnikov [Fri, 7 Jan 2022 20:22:00 +0000 (20:22 +0000)]
Started on implementing i/oe/bank_sel
Andrey Miroshnikov [Thu, 6 Jan 2022 23:14:19 +0000 (23:14 +0000)]
Adding simple_gpio from soc repo, not modified yet.
Andrey Miroshnikov [Thu, 6 Jan 2022 23:13:37 +0000 (23:13 +0000)]
Almost finished asserts in unit test, starting cleanup.
Andrey Miroshnikov [Wed, 29 Dec 2021 00:22:01 +0000 (00:22 +0000)]
ios_keys output control working
Andrey Miroshnikov [Mon, 13 Dec 2021 22:04:04 +0000 (22:04 +0000)]
Fixed mistake of double jtag writing
Andrey Miroshnikov [Mon, 13 Dec 2021 21:27:53 +0000 (21:27 +0000)]
Refactored jtag sim test, made four basic test cases (no asserts yet).
Andrey Miroshnikov [Sat, 11 Dec 2021 22:47:41 +0000 (22:47 +0000)]
Added bs addr for different test modes, still need to add comprehensive tests for both connected/disconnected core/pad
Andrey Miroshnikov [Fri, 10 Dec 2021 22:47:10 +0000 (22:47 +0000)]
Figured out how to send jtag bs stream, and how to read, now need to add asserts.
Andrey Miroshnikov [Thu, 9 Dec 2021 20:23:22 +0000 (20:23 +0000)]
Tried using other jtag_ commands, still need some extra config to fill shift reg
Andrey Miroshnikov [Thu, 9 Dec 2021 13:13:13 +0000 (13:13 +0000)]
Added DMI and WB code from test_jtag_tap, basic pad/core toggling not working yet
Andrey Miroshnikov [Tue, 7 Dec 2021 22:56:21 +0000 (22:56 +0000)]
Changed jtag function imports to use test_jtag_tap, pad/core pin toggling not working yet
Andrey Miroshnikov [Tue, 7 Dec 2021 18:46:16 +0000 (18:46 +0000)]
Solved one issue, found another. See bug #50 c#72
Andrey Miroshnikov [Tue, 7 Dec 2021 18:33:28 +0000 (18:33 +0000)]
Added jtag bs core/pad toggling, not working yet
Andrey Miroshnikov [Tue, 7 Dec 2021 17:21:01 +0000 (17:21 +0000)]
Removed redunant jtag files that already reside in soc repo
Andrey Miroshnikov [Mon, 6 Dec 2021 22:31:21 +0000 (22:31 +0000)]
Started working on jtag bs chain test
Luke Kenneth Casson Leighton [Mon, 6 Dec 2021 19:29:08 +0000 (19:29 +0000)]
get access to jtag boundary scan pads for uart_0_tx/rx
Andrey Miroshnikov [Mon, 6 Dec 2021 18:30:31 +0000 (18:30 +0000)]
added i2c/uart prints to the debug test
Andrey Miroshnikov [Mon, 6 Dec 2021 15:02:09 +0000 (15:02 +0000)]
Added I2C test based on the UART and GPIO tests
Andrey Miroshnikov [Mon, 6 Dec 2021 10:23:32 +0000 (10:23 +0000)]
Basic UART test working
Andrey Miroshnikov [Fri, 3 Dec 2021 23:48:18 +0000 (23:48 +0000)]
Starting to write UART test
Andrey Miroshnikov [Fri, 3 Dec 2021 19:48:46 +0000 (19:48 +0000)]
Unit test now covers i/o/oe. Extra debug prints moved to separate test case.
Andrey Miroshnikov [Fri, 3 Dec 2021 16:12:53 +0000 (16:12 +0000)]
Added assert test for all input oand gpio_o_test combinations.
Luke Kenneth Casson Leighton [Fri, 3 Dec 2021 11:16:35 +0000 (11:16 +0000)]
remove code trying to treat Pins/Resources as Signals/Records (again)
Andrey Miroshnikov [Fri, 3 Dec 2021 10:47:41 +0000 (10:47 +0000)]
Trying to read core input, possibly a pin again
Andrey Miroshnikov [Thu, 2 Dec 2021 23:03:06 +0000 (23:03 +0000)]
Added input toggling, still implementing
Andrey Miroshnikov [Thu, 2 Dec 2021 13:08:54 +0000 (13:08 +0000)]
Added asserts for gpios 2/3
Andrey Miroshnikov [Thu, 2 Dec 2021 12:53:17 +0000 (12:53 +0000)]
Moved main code under if __main__ statement for clarity.
Luke Kenneth Casson Leighton [Thu, 2 Dec 2021 12:18:47 +0000 (12:18 +0000)]
sort out mess of trying to access the Pin resource instead of the pad
it was connected to. faillllll
Andrey Miroshnikov [Thu, 2 Dec 2021 12:09:26 +0000 (12:09 +0000)]
Changed assert, TypeError occurring with pad output.
Andrey Miroshnikov [Wed, 1 Dec 2021 23:12:31 +0000 (23:12 +0000)]
GPIO output test waveforms working, asserts not working yet.
Andrey Miroshnikov [Wed, 1 Dec 2021 01:13:08 +0000 (01:13 +0000)]
In process of writing test case outlined in bug50 c#60, not finished
Andrey Miroshnikov [Tue, 30 Nov 2021 19:19:53 +0000 (19:19 +0000)]
Can control gpio input via resource_table_pads
Luke Kenneth Casson Leighton [Mon, 29 Nov 2021 22:25:36 +0000 (22:25 +0000)]
more messing about
Luke Kenneth Casson Leighton [Mon, 29 Nov 2021 22:15:35 +0000 (22:15 +0000)]
bit of exploration
Luke Kenneth Casson Leighton [Mon, 29 Nov 2021 21:47:24 +0000 (21:47 +0000)]
testing comments
Andrey Miroshnikov [Mon, 29 Nov 2021 21:41:35 +0000 (21:41 +0000)]
GPIO o/oe can be controlled for unit testing, still need to figure out inputs.