pinmux.git
18 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)

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

18 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

18 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.

18 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

18 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

18 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

18 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

18 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

18 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.

18 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

18 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

19 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

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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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.

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

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

19 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

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

20 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

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

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

21 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

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

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

21 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

21 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

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

21 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

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

21 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

21 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)

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

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

21 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

21 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)

21 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

21 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)

21 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

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

21 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)

21 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

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

22 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

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

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

22 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

23 months 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

23 months 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)

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

23 months 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.

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

23 months 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

23 months 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

23 months 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.