pinmux.git
19 months agofix(iomux): Fix port signal length (given mux size non-power of 2) master
Andrey Miroshnikov [Tue, 18 Oct 2022 12:38:53 +0000 (12:38 +0000)]
fix(iomux): Fix port signal length (given mux size non-power of 2)

19 months agofix(stage2): Fixed gtkw redundancy
Andrey Miroshnikov [Fri, 14 Oct 2022 13:32:58 +0000 (13:32 +0000)]
fix(stage2): Fixed gtkw redundancy

19 months agofix(stage2): Added separated port signals to gtkw output
Andrey Miroshnikov [Fri, 14 Oct 2022 13:08:40 +0000 (13:08 +0000)]
fix(stage2): Added separated port signals to gtkw output

19 months agofeat(stage2.py): Separated ports for each pad (individually settable)
Andrey Miroshnikov [Wed, 12 Oct 2022 19:52:48 +0000 (19:52 +0000)]
feat(stage2.py): Separated ports for each pad (individually settable)

Need to fix gtkw output to show the separated ports.

19 months agofeat(stage2): GPIO-only pins don't add muxes anymore
Andrey Miroshnikov [Tue, 11 Oct 2022 22:23:39 +0000 (22:23 +0000)]
feat(stage2): GPIO-only pins don't add muxes anymore

19 months agofeat(stage2): Fix GTKW script, optional mdwn gen for debug
Andrey Miroshnikov [Wed, 5 Oct 2022 21:31:24 +0000 (21:31 +0000)]
feat(stage2): Fix GTKW script, optional mdwn gen for debug

19 months agofeat(stage2): Now using PinSpec object to gen internal pinmux dict
Andrey Miroshnikov [Wed, 5 Oct 2022 15:10:47 +0000 (15:10 +0000)]
feat(stage2): Now using PinSpec object to gen internal pinmux dict

Tests don't seem to work atm, will continue to fix

19 months agofeat(stage2): Trying to make the dict keys needed to access IOTypes dict
Andrey Miroshnikov [Sat, 1 Oct 2022 19:30:02 +0000 (19:30 +0000)]
feat(stage2): Trying to make the dict keys needed to access IOTypes dict

19 months agofeat(stage2): Found the dict needed for IOTypes
Andrey Miroshnikov [Sat, 1 Oct 2022 11:30:52 +0000 (11:30 +0000)]
feat(stage2): Found the dict needed for IOTypes

19 months agofeat(iomux, pinmux, stage2): Change terminology from 'bank' to 'mux'/'port'
Andrey Miroshnikov [Sat, 1 Oct 2022 08:42:55 +0000 (08:42 +0000)]
feat(iomux, pinmux, stage2): Change terminology from 'bank' to 'mux'/'port'

To improve clarity, the word 'bank' has been reserved for banks of pins on the
chip. Thus peripherals are now connected to different 'ports' of the mux,
and have a 'mux' setting.

19 months agofeat(stage2): Moved up a directory to work with the PinSpec imports
Andrey Miroshnikov [Tue, 27 Sep 2022 19:47:06 +0000 (19:47 +0000)]
feat(stage2): Moved up a directory to work with the PinSpec imports

19 months agofeat(stage2): extracting bank and pin information from PinSpec for later use in the...
Andrey Miroshnikov [Tue, 27 Sep 2022 16:44:32 +0000 (16:44 +0000)]
feat(stage2): extracting bank and pin information from PinSpec for later use in the pinmux block

20 months agofeat(stage2): Added PinSpec testing, not used yet
Andrey Miroshnikov [Wed, 21 Sep 2022 21:50:29 +0000 (21:50 +0000)]
feat(stage2): Added PinSpec testing, not used yet

20 months agofeat(stage2): Added iotypes in
Andrey Miroshnikov [Wed, 21 Sep 2022 21:05:59 +0000 (21:05 +0000)]
feat(stage2): Added iotypes in

20 months agofeat(stage2.py): Added extra 2 gpios to match the dummy pinset example
Andrey Miroshnikov [Sat, 17 Sep 2022 16:56:02 +0000 (16:56 +0000)]
feat(stage2.py): Added extra 2 gpios to match the dummy pinset example

20 months agofeat(stage2.py): Starting to automate the tests to run
Andrey Miroshnikov [Wed, 14 Sep 2022 20:23:15 +0000 (20:23 +0000)]
feat(stage2.py): Starting to automate the tests to run

20 months agofeat(stage2.py): Added the GTKWave doc generator func
Andrey Miroshnikov [Wed, 14 Sep 2022 18:16:21 +0000 (18:16 +0000)]
feat(stage2.py): Added the GTKWave doc generator func

20 months agofeat(stage2.py): Clean up and made sure ports are yield'd
Andrey Miroshnikov [Tue, 13 Sep 2022 22:03:32 +0000 (22:03 +0000)]
feat(stage2.py): Clean up and made sure ports are yield'd

20 months agofeat(stage2.py): Converted iomux pad/perith connections to for-loop
Andrey Miroshnikov [Tue, 13 Sep 2022 21:43:58 +0000 (21:43 +0000)]
feat(stage2.py): Converted iomux pad/perith connections to for-loop

20 months agofeat(stage2.py): iomux blocks added to parametrisable dict
Andrey Miroshnikov [Sat, 10 Sep 2022 22:43:23 +0000 (22:43 +0000)]
feat(stage2.py): iomux blocks added to parametrisable dict

20 months agofeat(stage2.py): Added peripheral Rec/Sig declaration based on given dict
Andrey Miroshnikov [Sat, 10 Sep 2022 12:00:27 +0000 (12:00 +0000)]
feat(stage2.py): Added peripheral Rec/Sig declaration based on given dict

20 months agofeat(stage2.py): Added I2C back in
Andrey Miroshnikov [Fri, 9 Sep 2022 22:54:34 +0000 (22:54 +0000)]
feat(stage2.py): Added I2C back in

20 months agofeat(stage2.py): Added new pads now tested with uart
Andrey Miroshnikov [Wed, 7 Sep 2022 22:10:17 +0000 (22:10 +0000)]
feat(stage2.py): Added new pads now tested with uart

20 months agofeat(stage2.py): Moved peripherals into the 'pins' dict, only gpio tested
Andrey Miroshnikov [Wed, 7 Sep 2022 20:44:02 +0000 (20:44 +0000)]
feat(stage2.py): Moved peripherals into the 'pins' dict, only gpio tested

20 months agofeat: I2C demo test now loopback
Andrey Miroshnikov [Sat, 3 Sep 2022 19:39:43 +0000 (19:39 +0000)]
feat: I2C demo test now loopback

20 months agofeat(stage2.py): Changed UART test to loopback config.
Andrey Miroshnikov [Sat, 3 Sep 2022 12:00:16 +0000 (12:00 +0000)]
feat(stage2.py): Changed UART test to loopback config.

20 months agoAdded gpio demo, parametrised pads
Andrey Miroshnikov [Thu, 1 Sep 2022 21:49:38 +0000 (21:49 +0000)]
Added gpio demo, parametrised pads

20 months agoAdded i2c demo
Andrey Miroshnikov [Thu, 1 Sep 2022 13:40:37 +0000 (13:40 +0000)]
Added i2c demo

20 months agoImproved bit-bang UART test func for demo
Andrey Miroshnikov [Wed, 31 Aug 2022 22:51:32 +0000 (22:51 +0000)]
Improved bit-bang UART test func for demo

20 months agoAdding first manual mux experiment
Andrey Miroshnikov [Tue, 30 Aug 2022 23:18:35 +0000 (23:18 +0000)]
Adding first manual mux experiment

21 months agoAdding stage2 file for auto-gen of the pinmux block test
Andrey Miroshnikov [Thu, 18 Aug 2022 22:17:17 +0000 (22:17 +0000)]
Adding stage2 file for auto-gen of the pinmux block test

22 months agorename to fabric
Luke Kenneth Casson Leighton [Wed, 6 Jul 2022 13:18:39 +0000 (14:18 +0100)]
rename to fabric

22 months agofixed list bracket typo
Andrey Miroshnikov [Tue, 5 Jul 2022 15:59:42 +0000 (15:59 +0000)]
fixed list bracket typo

22 months agomove VSS/VDD a little further in on RGMII on ngi_router
Luke Kenneth Casson Leighton [Tue, 5 Jul 2022 15:15:46 +0000 (16:15 +0100)]
move VSS/VDD a little further in on RGMII on ngi_router
4 pins in from end not quite enough.
6 is better

22 months agoChanged ls2 to ngi_router
Andrey Miroshnikov [Tue, 5 Jul 2022 14:29:20 +0000 (14:29 +0000)]
Changed ls2 to ngi_router

22 months agoFixed gpio W number
Andrey Miroshnikov [Tue, 28 Jun 2022 14:07:07 +0000 (14:07 +0000)]
Fixed gpio W number

22 months agomove power pins in on West side, swap I2C and 3 GPIO to end
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 14:03:34 +0000 (15:03 +0100)]
move power pins in on West side, swap I2C and 3 GPIO to end

22 months agoremove GPIOS/E from scenario
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 14:00:48 +0000 (15:00 +0100)]
remove GPIOS/E from scenario

22 months agooverlapping GPIO on E
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 13:55:21 +0000 (14:55 +0100)]
overlapping GPIO on E

22 months agoadd RG0 and RG1 to descripiton
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 13:53:41 +0000 (14:53 +0100)]
add RG0 and RG1 to descripiton

22 months agoAdded GPIOs to W bank
Andrey Miroshnikov [Tue, 28 Jun 2022 13:46:49 +0000 (13:46 +0000)]
Added GPIOs to W bank

22 months agoincrease GPIO E to 19 pins, fit one more EINT back in
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 13:24:44 +0000 (14:24 +0100)]
increase GPIO E to 19 pins, fit one more EINT back in

22 months agoadd GPIOs to south bank, move UART SPI SDR over by one (Mux1 column)
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 13:20:47 +0000 (14:20 +0100)]
add GPIOs to south bank, move UART SPI SDR over by one (Mux1 column)

22 months agoForgot to change pin num
Andrey Miroshnikov [Tue, 28 Jun 2022 13:19:44 +0000 (13:19 +0000)]
Forgot to change pin num

22 months agoAdded GPIO and muxed RGMII1
Andrey Miroshnikov [Tue, 28 Jun 2022 13:18:07 +0000 (13:18 +0000)]
Added GPIO and muxed RGMII1

22 months agostart batch from 4 for rgmii
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 13:10:18 +0000 (14:10 +0100)]
start batch from 4 for rgmii

22 months agoSplit rgmii on N side, but not as expected (see svg)
Andrey Miroshnikov [Tue, 28 Jun 2022 13:03:12 +0000 (13:03 +0000)]
Split rgmii on N side, but not as expected (see svg)

22 months ago* added RGMII-2 across multiple split areas on E
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 12:54:15 +0000 (13:54 +0100)]
* added RGMII-2 across multiple split areas on E
* extended GPIOE from 16 to 18 pins
* reduced EINT from 3 to 2 and moved it to mux 2

22 months agomove GPIO and JTAG a little bit on E side (for RGMII interface 1)
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)

22 months agoAdded ls2 svg, added rgmii to N bank
Andrey Miroshnikov [Tue, 28 Jun 2022 12:29:53 +0000 (12:29 +0000)]
Added ls2 svg, added rgmii to N bank

22 months agoAdded ls2 to spec type
Andrey Miroshnikov [Tue, 28 Jun 2022 12:12:10 +0000 (12:12 +0000)]
Added ls2 to spec type

22 months agoAdding copy of ls180 for new soc (ls2)
Andrey Miroshnikov [Tue, 28 Jun 2022 11:54:25 +0000 (11:54 +0000)]
Adding copy of ls180 for new soc (ls2)

22 months agowhoops, reading pad bankwidths (mux widths) not bank sizes
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 10:42:16 +0000 (11:42 +0100)]
whoops, reading pad bankwidths (mux widths) not bank sizes

22 months agoadd print debugs
Luke Kenneth Casson Leighton [Tue, 28 Jun 2022 10:31:43 +0000 (11:31 +0100)]
add print debugs

23 months agoPinmux now accepts dummy pinset to change port names
Andrey Miroshnikov [Mon, 13 Jun 2022 20:43:05 +0000 (21:43 +0100)]
Pinmux now accepts dummy pinset to change port names

23 months agoAdded comment
Andrey Miroshnikov [Tue, 31 May 2022 22:51:30 +0000 (23:51 +0100)]
Added comment

23 months agoFixed print formatting
Andrey Miroshnikov [Tue, 31 May 2022 14:01:10 +0000 (15:01 +0100)]
Fixed print formatting

23 months agoImproved iomux logic based on lessons from gpio block. Test ordered or randomised.
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.

23 months agoAdded granuality assert (for now)
Andrey Miroshnikov [Tue, 24 May 2022 21:01:54 +0000 (22:01 +0100)]
Added granuality assert (for now)

23 months agoFixed the we usage as explained by Luke in bug #762 c#26
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

2 years agoAdded the driver changes to support WB sel control, also code is more flexible if...
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

2 years agoChanged ack behaviour for rd (1 clk) and wr (2 clk)
Andrey Miroshnikov [Mon, 23 May 2022 18:21:21 +0000 (18:21 +0000)]
Changed ack behaviour for rd (1 clk) and wr (2 clk)

2 years agoRemoved redundant use of Array()
Andrey Miroshnikov [Sun, 22 May 2022 23:11:37 +0000 (23:11 +0000)]
Removed redundant use of Array()

2 years agoFinally put together fix based on Luke's suggestion in bug #762 c#18...took a bit...
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.

2 years agoClean up gpio code
Andrey Miroshnikov [Tue, 10 May 2022 14:21:05 +0000 (15:21 +0100)]
Clean up gpio code

2 years agoFixed the rd transaction, had to delay ack
Andrey Miroshnikov [Tue, 10 May 2022 12:51:01 +0000 (13:51 +0100)]
Fixed the rd transaction, had to delay ack

2 years agoreplaced duplicate code with functions, almost working
Andrey Miroshnikov [Sat, 7 May 2022 22:39:38 +0000 (23:39 +0100)]
replaced duplicate code with functions, almost working

2 years agoSimplified rd bus connection, almost working, need to debug
Andrey Miroshnikov [Tue, 26 Apr 2022 23:49:39 +0000 (00:49 +0100)]
Simplified rd bus connection, almost working, need to debug

2 years agoImplemented fix suggested by luke, bug 762 c#16, not quite working yet
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

2 years agoMultibus connection to different GPIOs fixed for read and write, however need to...
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

2 years agoAdded some gpio logic, still need reading implemented
Andrey Miroshnikov [Tue, 22 Mar 2022 23:37:35 +0000 (23:37 +0000)]
Added some gpio logic, still need reading implemented

2 years agoFixed GPIO block issue that accessed out of bounds Array()
Andrey Miroshnikov [Mon, 21 Mar 2022 00:03:58 +0000 (00:03 +0000)]
Fixed GPIO block issue that accessed out of bounds Array()

2 years agoForgot to add m.d.comb... Now need to debug gpio
Andrey Miroshnikov [Sat, 12 Mar 2022 22:38:40 +0000 (22:38 +0000)]
Forgot to add m.d.comb... Now need to debug gpio

2 years agoAdded signals to export for il
Andrey Miroshnikov [Thu, 10 Mar 2022 23:38:02 +0000 (23:38 +0000)]
Added signals to export for il

2 years agotop level signals not showing up yet
Andrey Miroshnikov [Thu, 10 Mar 2022 23:37:32 +0000 (23:37 +0000)]
top level signals not showing up yet

2 years agoFixed issue with single gpio not working
Andrey Miroshnikov [Wed, 9 Mar 2022 17:28:20 +0000 (17:28 +0000)]
Fixed issue with single gpio not working

2 years agocreated file for 1-pin pinmux, not working yet
Andrey Miroshnikov [Wed, 9 Mar 2022 00:13:51 +0000 (00:13 +0000)]
created file for 1-pin pinmux, not working yet

2 years agocleanup
Andrey Miroshnikov [Wed, 9 Mar 2022 00:13:17 +0000 (00:13 +0000)]
cleanup

2 years agoConverted to comb logic
Andrey Miroshnikov [Tue, 8 Mar 2022 19:07:53 +0000 (19:07 +0000)]
Converted to comb logic

2 years agoAdded basic toggle test. Need to convert to comb domain, too much waiting going on...
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...

2 years agosingle i/o/oe pin IOMux working (test needs improving).
Andrey Miroshnikov [Mon, 7 Mar 2022 23:24:10 +0000 (23:24 +0000)]
single i/o/oe pin IOMux working (test needs improving).

2 years agoFinally got iomux test running (but block not working yet)
Andrey Miroshnikov [Wed, 2 Mar 2022 23:14:45 +0000 (23:14 +0000)]
Finally got iomux test running (but block not working yet)

2 years agoAdded rd/wr methods to GPIO manager
Andrey Miroshnikov [Tue, 22 Feb 2022 23:58:37 +0000 (23:58 +0000)]
Added rd/wr methods to GPIO manager

2 years agoAdded gtkw doc generation to simple gpio block test
Andrey Miroshnikov [Wed, 16 Feb 2022 22:25:18 +0000 (22:25 +0000)]
Added gtkw doc generation to simple gpio block test

2 years agoAdded GTKWave doc generation
Andrey Miroshnikov [Mon, 14 Feb 2022 20:45:09 +0000 (20:45 +0000)]
Added GTKWave doc generation

2 years agoAdded reverse arg fix, tests working
Andrey Miroshnikov [Thu, 10 Feb 2022 15:56:57 +0000 (15:56 +0000)]
Added reverse arg fix, tests working

2 years agoOriginal 4 JTAG test cases working, woohoo!
Andrey Miroshnikov [Wed, 9 Feb 2022 18:27:49 +0000 (18:27 +0000)]
Original 4 JTAG test cases working, woohoo!

2 years agoGetting closer, now playing with result printing for test comparison
Andrey Miroshnikov [Tue, 8 Feb 2022 23:35:23 +0000 (23:35 +0000)]
Getting closer, now playing with result printing for test comparison

2 years agoMade progress in figuring out JTAG. Getting TDO, still need more testing
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

2 years agoCreated GPIOManager class for tracking config state, setting/reading configuration.
Andrey Miroshnikov [Thu, 3 Feb 2022 23:40:13 +0000 (23:40 +0000)]
Created GPIOManager class for tracking config state, setting/reading configuration.

2 years agoCreated gpio manager class for easier control of individual and group gpios
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

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.