pinmux.git
2 years agoTrying to debug the TDO issue with JTAG test
Andrey Miroshnikov [Sun, 30 Jan 2022 17:01:06 +0000 (17:01 +0000)]
Trying to debug the TDO issue with JTAG test

2 years agoReplaced hard-coded config shifts with auto-generated dict from the csrbus layout...
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.

2 years agoAdded WB data wordsize param, added gpio port layout
Andrey Miroshnikov [Thu, 27 Jan 2022 00:01:38 +0000 (00:01 +0000)]
Added WB data wordsize param, added gpio port layout

2 years agoAdded prefix to layout, modifyingfunctions for testing
Andrey Miroshnikov [Tue, 25 Jan 2022 00:32:19 +0000 (00:32 +0000)]
Added prefix to layout, modifyingfunctions for testing

2 years agomulti-gpio config working, needs further testing.
Andrey Miroshnikov [Fri, 21 Jan 2022 23:51:12 +0000 (23:51 +0000)]
multi-gpio config working, needs further testing.

2 years agoFixed gpio_addr. Output/input asserts working. Need clean up and documenting
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

2 years agoFixed issue with out/in not updating io. Now issue with address resetting...
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...

2 years agoMoved config update to combinatorial. Still need to figure out input state read
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

2 years agoAdded fixes to Record. ie not being driven correctly.
Andrey Miroshnikov [Sun, 16 Jan 2022 23:12:30 +0000 (23:12 +0000)]
Added fixes to Record. ie not being driven correctly.

2 years agoAdded Record for GPIO config, not working yet
Andrey Miroshnikov [Sun, 16 Jan 2022 11:28:07 +0000 (11:28 +0000)]
Added Record for GPIO config, not working yet

2 years agoImplemented GPIO changes discussed yesterday (except fitting multiple GPIOs in one...
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

2 years agoMade changes discussed in IRC, will fix sim tomorrow
Andrey Miroshnikov [Fri, 14 Jan 2022 23:32:37 +0000 (23:32 +0000)]
Made changes discussed in IRC, will fix sim tomorrow

2 years agoCreated and started making a basic IO mux block, unit test next.
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.

2 years agoCleaned up old comments
Andrey Miroshnikov [Thu, 13 Jan 2022 00:51:22 +0000 (00:51 +0000)]
Cleaned up old comments

2 years agoAdded a few TODOs
Andrey Miroshnikov [Thu, 13 Jan 2022 00:19:01 +0000 (00:19 +0000)]
Added a few TODOs

2 years agoCSR, output setting working. Input reading (and setting by sim) working.
Andrey Miroshnikov [Thu, 13 Jan 2022 00:03:01 +0000 (00:03 +0000)]
CSR, output setting working. Input reading (and setting by sim) working.

2 years agoGPIO extension almost working, input still needs fix to the set function
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

2 years agoFirst test of autopep8
Andrey Miroshnikov [Tue, 11 Jan 2022 12:51:41 +0000 (12:51 +0000)]
First test of autopep8

2 years agoRemoved test_case1 as it is now redundant, removed extra redundant code.
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.

2 years agoImprove JTAG test code clarity for future expansion
Andrey Miroshnikov [Tue, 11 Jan 2022 11:47:33 +0000 (11:47 +0000)]
Improve JTAG test code clarity for future expansion

2 years agoMade JTAG test case into a function to improve clarity
Andrey Miroshnikov [Mon, 10 Jan 2022 21:59:06 +0000 (21:59 +0000)]
Made JTAG test case into a function to improve clarity

2 years agoStarted on implementing i/oe/bank_sel
Andrey Miroshnikov [Fri, 7 Jan 2022 20:22:00 +0000 (20:22 +0000)]
Started on implementing i/oe/bank_sel

2 years agoAdding simple_gpio from soc repo, not modified yet.
Andrey Miroshnikov [Thu, 6 Jan 2022 23:14:19 +0000 (23:14 +0000)]
Adding simple_gpio from soc repo, not modified yet.

2 years agoAlmost finished asserts in unit test, starting cleanup.
Andrey Miroshnikov [Thu, 6 Jan 2022 23:13:37 +0000 (23:13 +0000)]
Almost finished asserts in unit test, starting cleanup.

2 years agoios_keys output control working
Andrey Miroshnikov [Wed, 29 Dec 2021 00:22:01 +0000 (00:22 +0000)]
ios_keys output control working

2 years agoFixed mistake of double jtag writing
Andrey Miroshnikov [Mon, 13 Dec 2021 22:04:04 +0000 (22:04 +0000)]
Fixed mistake of double jtag writing

2 years agoRefactored jtag sim test, made four basic test cases (no asserts yet).
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).

2 years agoAdded bs addr for different test modes, still need to add comprehensive tests for...
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

2 years agoFigured out how to send jtag bs stream, and how to read, now need to add asserts.
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.

2 years agoTried using other jtag_ commands, still need some extra config to fill shift reg
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

2 years agoAdded DMI and WB code from test_jtag_tap, basic pad/core toggling not working yet
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

2 years agoChanged jtag function imports to use test_jtag_tap, pad/core pin 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

2 years agoSolved one issue, found another. See bug #50 c#72
Andrey Miroshnikov [Tue, 7 Dec 2021 18:46:16 +0000 (18:46 +0000)]
Solved one issue, found another. See bug #50 c#72

2 years agoAdded jtag bs core/pad toggling, not working yet
Andrey Miroshnikov [Tue, 7 Dec 2021 18:33:28 +0000 (18:33 +0000)]
Added jtag bs core/pad toggling, not working yet

2 years agoRemoved redunant jtag files that already reside in soc repo
Andrey Miroshnikov [Tue, 7 Dec 2021 17:21:01 +0000 (17:21 +0000)]
Removed redunant jtag files that already reside in soc repo

2 years agoStarted working on jtag bs chain test
Andrey Miroshnikov [Mon, 6 Dec 2021 22:31:21 +0000 (22:31 +0000)]
Started working on jtag bs chain test

2 years agoget access to jtag boundary scan pads for uart_0_tx/rx
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

2 years agoadded i2c/uart prints to the debug test
Andrey Miroshnikov [Mon, 6 Dec 2021 18:30:31 +0000 (18:30 +0000)]
added i2c/uart prints to the debug test

2 years agoAdded I2C test based on the UART and GPIO tests
Andrey Miroshnikov [Mon, 6 Dec 2021 15:02:09 +0000 (15:02 +0000)]
Added I2C test based on the UART and GPIO tests

2 years agoBasic UART test working
Andrey Miroshnikov [Mon, 6 Dec 2021 10:23:32 +0000 (10:23 +0000)]
Basic UART test working

3 years agoStarting to write UART test
Andrey Miroshnikov [Fri, 3 Dec 2021 23:48:18 +0000 (23:48 +0000)]
Starting to write UART test

3 years agoUnit test now covers i/o/oe. Extra debug prints moved to separate test case.
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.

3 years agoAdded assert test for all input oand gpio_o_test combinations.
Andrey Miroshnikov [Fri, 3 Dec 2021 16:12:53 +0000 (16:12 +0000)]
Added assert test for all input oand gpio_o_test combinations.

3 years agoremove code trying to treat Pins/Resources as Signals/Records (again)
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)

3 years agoTrying to read core input, possibly a pin again
Andrey Miroshnikov [Fri, 3 Dec 2021 10:47:41 +0000 (10:47 +0000)]
Trying to read core input, possibly a pin again

3 years agoAdded input toggling, still implementing
Andrey Miroshnikov [Thu, 2 Dec 2021 23:03:06 +0000 (23:03 +0000)]
Added input toggling, still implementing

3 years agoAdded asserts for gpios 2/3
Andrey Miroshnikov [Thu, 2 Dec 2021 13:08:54 +0000 (13:08 +0000)]
Added asserts for gpios 2/3

3 years agoMoved main code under if __main__ statement for clarity.
Andrey Miroshnikov [Thu, 2 Dec 2021 12:53:17 +0000 (12:53 +0000)]
Moved main code under if __main__ statement for clarity.

3 years agosort out mess of trying to access the Pin resource instead of the pad
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

3 years agoChanged assert, TypeError occurring with pad output.
Andrey Miroshnikov [Thu, 2 Dec 2021 12:09:26 +0000 (12:09 +0000)]
Changed assert, TypeError occurring with pad output.

3 years agoGPIO output test waveforms working, asserts not working yet.
Andrey Miroshnikov [Wed, 1 Dec 2021 23:12:31 +0000 (23:12 +0000)]
GPIO output test waveforms working, asserts not working yet.

3 years agoIn process of writing test case outlined in bug50 c#60, not finished
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

3 years agoCan control gpio input via resource_table_pads
Andrey Miroshnikov [Tue, 30 Nov 2021 19:19:53 +0000 (19:19 +0000)]
Can control gpio input via resource_table_pads

3 years agomore messing about
Luke Kenneth Casson Leighton [Mon, 29 Nov 2021 22:25:36 +0000 (22:25 +0000)]
more messing about

3 years agobit of exploration
Luke Kenneth Casson Leighton [Mon, 29 Nov 2021 22:15:35 +0000 (22:15 +0000)]
bit of exploration

3 years agotesting comments
Luke Kenneth Casson Leighton [Mon, 29 Nov 2021 21:47:24 +0000 (21:47 +0000)]
testing comments

3 years agoGPIO o/oe can be controlled for unit testing, still need to figure out inputs.
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.

3 years agoAble to control gpio oe signal, not properly though.
Andrey Miroshnikov [Mon, 29 Nov 2021 21:07:54 +0000 (21:07 +0000)]
Able to control gpio oe signal, not properly though.

3 years agoadd gpio and start doing print-outs to find out what is in Blinker.gpio
Luke Kenneth Casson Leighton [Mon, 29 Nov 2021 17:19:05 +0000 (17:19 +0000)]
add gpio and start doing print-outs to find out what is in Blinker.gpio

3 years agoReturned code I removed, fixed my test case, added example test from cesar. Can't...
Andrey Miroshnikov [Mon, 29 Nov 2021 16:44:04 +0000 (16:44 +0000)]
Returned code I removed, fixed my test case, added example test from cesar. Can't figure out signal names to drive.

3 years agoTest case 0 for sanity, not working
Andrey Miroshnikov [Mon, 29 Nov 2021 14:51:35 +0000 (14:51 +0000)]
Test case 0 for sanity, not working

3 years agoadd pinmux docs
Luke Kenneth Casson Leighton [Mon, 29 Nov 2021 12:44:20 +0000 (12:44 +0000)]
add pinmux docs

3 years agomove prototype / proof-of-concept code from ASICPlatform / Blinker test
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 20:38:36 +0000 (20:38 +0000)]
move prototype / proof-of-concept code from ASICPlatform / Blinker test
into actual JTAG class.  start tidyup

3 years agoturn bi-directional GPIO pads back into triplet independent
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 16:46:25 +0000 (16:46 +0000)]
turn bi-directional GPIO pads back into triplet independent
i/o/oe pads

3 years agoconnect up Platform resources to pads
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 16:30:22 +0000 (16:30 +0000)]
connect up Platform resources to pads

3 years agotake record of boundary scan pads to make a set of ports for rtlil
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 15:10:15 +0000 (15:10 +0000)]
take record of boundary scan pads to make a set of ports for rtlil

3 years agoadd a core-mgr *and* a pad-mgr to JTAG class so that an *entire* set
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 15:02:16 +0000 (15:02 +0000)]
add a core-mgr *and* a pad-mgr to JTAG class so that an *entire* set
of "resources" is connected inside the module... *outside* of the Platform.
the Platform then only needs a straight port-to-port connection *NOT*
"the Platform connects up JTAG Boundary Scan"

3 years agoreworking IO, morphing to make JTAG independent of Platform.build()
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 13:20:12 +0000 (13:20 +0000)]
reworking IO, morphing to make JTAG independent of Platform.build()

3 years agomove padlookup into JTAG class (hacked at the moment)
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 11:22:42 +0000 (11:22 +0000)]
move padlookup into JTAG class (hacked at the moment)

3 years agomove pin-adding into separate function in JTAG class
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 11:22:27 +0000 (11:22 +0000)]
move pin-adding into separate function in JTAG class

3 years agomove ResourceManager into JTAG object, rename it to core_mgr
Luke Kenneth Casson Leighton [Sun, 28 Nov 2021 11:13:13 +0000 (11:13 +0000)]
move ResourceManager into JTAG object, rename it to core_mgr

3 years agodouble-inversion
Luke Kenneth Casson Leighton [Sat, 27 Nov 2021 23:50:33 +0000 (23:50 +0000)]
double-inversion

3 years agoadd JTAG IO pads out
Luke Kenneth Casson Leighton [Sat, 27 Nov 2021 18:26:06 +0000 (18:26 +0000)]
add JTAG IO pads out

3 years agosort out ordering of modules
Luke Kenneth Casson Leighton [Sat, 27 Nov 2021 17:42:46 +0000 (17:42 +0000)]
sort out ordering of modules

3 years agoAdded iotype comment l18
Andrey Miroshnikov [Mon, 22 Nov 2021 15:16:11 +0000 (15:16 +0000)]
Added iotype comment l18

3 years agoadd ASICPlatform override of toolchain_prepare and some notes
Luke Kenneth Casson Leighton [Sat, 20 Nov 2021 00:48:09 +0000 (00:48 +0000)]
add ASICPlatform override of toolchain_prepare and some notes

3 years agocopied more code, still broken
Andrey Miroshnikov [Fri, 19 Nov 2021 20:25:26 +0000 (20:25 +0000)]
copied more code, still broken

3 years agoAdded code from jtag srv test, not working
Andrey Miroshnikov [Fri, 19 Nov 2021 20:10:18 +0000 (20:10 +0000)]
Added code from jtag srv test, not working

3 years agoEdited to use soc imports, not working
Andrey Miroshnikov [Fri, 19 Nov 2021 11:40:24 +0000 (11:40 +0000)]
Edited to use soc imports, not working

3 years agoAdded jtagutils and openpower state dependency for borrowed jtag test cases, see...
Andrey Miroshnikov [Thu, 18 Nov 2021 22:53:25 +0000 (22:53 +0000)]
Added jtagutils and openpower state dependency for borrowed jtag test cases, see bug #50

3 years agoAdded more dependencies, but there's a hiccup with another dependency...
Andrey Miroshnikov [Thu, 18 Nov 2021 20:25:31 +0000 (20:25 +0000)]
Added more dependencies, but there's a hiccup with another dependency...

3 years agoAdding JTAG server/client copy from soc repo, still need more fixes
Andrey Miroshnikov [Thu, 18 Nov 2021 12:46:02 +0000 (12:46 +0000)]
Adding JTAG server/client copy from soc repo, still need more fixes

3 years agoCopying jtag test file from soc repo
Andrey Miroshnikov [Wed, 17 Nov 2021 13:27:42 +0000 (13:27 +0000)]
Copying jtag test file from soc repo

3 years agoAdded comb logic for get_input_output
Andrey Miroshnikov [Tue, 16 Nov 2021 21:32:31 +0000 (21:32 +0000)]
Added comb logic for get_input_output

3 years agoaiyaaaargh, re-route data through pad/core ports, no idea what to do
Luke Kenneth Casson Leighton [Tue, 16 Nov 2021 00:51:03 +0000 (00:51 +0000)]
aiyaaaargh, re-route data through pad/core ports, no idea what to do

3 years agoadd intermediary signal to track things down
Luke Kenneth Casson Leighton [Tue, 16 Nov 2021 00:36:17 +0000 (00:36 +0000)]
add intermediary signal to track things down

3 years agowooow totally ridiculously complicated. forgot that pad resources
Luke Kenneth Casson Leighton [Tue, 16 Nov 2021 00:31:24 +0000 (00:31 +0000)]
wooow totally ridiculously complicated.  forgot that pad resources
have their own pin which of course needs connecting as well

3 years agookaaaay i worked out how to do bi-directional IO:
Luke Kenneth Casson Leighton [Mon, 15 Nov 2021 23:40:05 +0000 (23:40 +0000)]
okaaaay i worked out how to do bi-directional IO:
create a width of 3, and have the 3 pins named i, o and oe

3 years agoRemoved tribuf from get_tristate, not working, see bug #50
Andrey Miroshnikov [Mon, 15 Nov 2021 22:11:58 +0000 (22:11 +0000)]
Removed tribuf from get_tristate, not working, see bug #50

3 years agoAdded get_tristate JTAG connection
Andrey Miroshnikov [Mon, 15 Nov 2021 19:08:23 +0000 (19:08 +0000)]
Added get_tristate JTAG connection

3 years agoAdded get_input_output, will add diagram on wiki later. Demo hasn't used it yet.
Andrey Miroshnikov [Mon, 15 Nov 2021 18:18:24 +0000 (18:18 +0000)]
Added get_input_output, will add diagram on wiki later. Demo hasn't used it yet.

3 years agoAdded get_output jtag connection
Andrey Miroshnikov [Mon, 15 Nov 2021 17:48:15 +0000 (17:48 +0000)]
Added get_output jtag connection

3 years agoPEP8
Andrey Miroshnikov [Mon, 15 Nov 2021 17:40:17 +0000 (17:40 +0000)]
PEP8

3 years agowhoops syntax error
Luke Kenneth Casson Leighton [Mon, 15 Nov 2021 17:28:53 +0000 (17:28 +0000)]
whoops syntax error

3 years agotidyup
Luke Kenneth Casson Leighton [Mon, 15 Nov 2021 17:25:23 +0000 (17:25 +0000)]
tidyup

3 years agosort out pad/core link
Luke Kenneth Casson Leighton [Mon, 15 Nov 2021 17:22:18 +0000 (17:22 +0000)]
sort out pad/core link

3 years agoAdded comb routing to get_input, not working yet
Andrey Miroshnikov [Mon, 15 Nov 2021 17:05:51 +0000 (17:05 +0000)]
Added comb routing to get_input, not working yet

3 years agoadd some print statements and comments explaining what the heck is going on
Luke Kenneth Casson Leighton [Mon, 15 Nov 2021 14:20:53 +0000 (14:20 +0000)]
add some print statements and comments explaining what the heck is going on

3 years agoredo JTAG to not use Pins clas, it is by pinspec
Luke Kenneth Casson Leighton [Mon, 15 Nov 2021 14:15:01 +0000 (14:15 +0000)]
redo JTAG to not use Pins clas, it is by pinspec
not by resources

therefore forget Pins class and wire up jtag IOConn directly by calling
C4MJTAG.add_io() directly

next step is to wire up the Shift Register stuff

3 years agoreplace DummyPlatform with ASICPlatform
Luke Kenneth Casson Leighton [Mon, 15 Nov 2021 13:34:03 +0000 (13:34 +0000)]
replace DummyPlatform with ASICPlatform