Skip to content

Commit

Permalink
pwm: rewired pwm to mb10
Browse files Browse the repository at this point in the history
Co-authored-by: Marno van der Maas <[email protected]>
  • Loading branch information
HU90m and marnovandermaas committed Oct 29, 2024
1 parent 1de62d4 commit 636ebfc
Show file tree
Hide file tree
Showing 6 changed files with 140 additions and 86 deletions.
5 changes: 4 additions & 1 deletion data/top_config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,10 @@ block_ios = [{block = "uart", instance = 3, io = "tx"}]
name = "mb8"
block_ios = [{block = "uart", instance = 3, io = "rx"}]
# mb9 is interrupt and already connected to a general purpose input.
# mb10 is PWM and is already connected to a PWM output.

[[pins]]
name = "mb10"
block_ios = [{block = "pwm", instance = 0, io = "ios", io_index = 0}]

## PMODs
[[pins]]
Expand Down
39 changes: 20 additions & 19 deletions doc/ip/pinmux/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,25 +76,26 @@ The default value for all of these selectors is `'b10`.
| 0x03d | `mb5` | 0, `i2c[1].sda` |
| 0x03e | `mb6` | 0, `i2c[1].scl` |
| 0x03f | `mb7` | 0, `uart[3].tx` |
| 0x040 | `pmod0_0` | 0, `gpio[2].ios[0]` |
| 0x041 | `pmod0_1` | 0, `gpio[2].ios[1]`, `spi[3].tx`, `uart[2].tx` |
| 0x042 | `pmod0_2` | 0, `gpio[2].ios[2]`, `i2c[0].scl` |
| 0x043 | `pmod0_3` | 0, `gpio[2].ios[3]`, `i2c[0].sda`, `spi[3].sck` |
| 0x044 | `pmod0_4` | 0, `gpio[2].ios[4]` |
| 0x045 | `pmod0_5` | 0, `gpio[2].ios[5]` |
| 0x046 | `pmod0_6` | 0, `gpio[2].ios[6]` |
| 0x047 | `pmod0_7` | 0, `gpio[2].ios[7]` |
| 0x048 | `pmod1_0` | 0, `gpio[2].ios[8]` |
| 0x049 | `pmod1_1` | 0, `gpio[2].ios[9]`, `spi[4].tx`, `uart[3].tx` |
| 0x04a | `pmod1_2` | 0, `gpio[2].ios[10]`, `i2c[1].scl` |
| 0x04b | `pmod1_3` | 0, `gpio[2].ios[11]`, `i2c[1].sda`, `spi[4].sck` |
| 0x04c | `pmod1_4` | 0, `gpio[2].ios[12]` |
| 0x04d | `pmod1_5` | 0, `gpio[2].ios[13]` |
| 0x04e | `pmod1_6` | 0, `gpio[2].ios[14]` |
| 0x04f | `pmod1_7` | 0, `gpio[2].ios[15]` |
| 0x050 | `microsd_clk` | 0, `spi[3].sck` |
| 0x051 | `microsd_cmd` | 0, `spi[3].tx` |
| 0x052 | `microsd_dat3` | 0, `spi[3].cs[3]` |
| 0x040 | `mb10` | 0, `pwm[0].ios[0]` |
| 0x041 | `pmod0_0` | 0, `gpio[2].ios[0]` |
| 0x042 | `pmod0_1` | 0, `gpio[2].ios[1]`, `spi[3].tx`, `uart[2].tx` |
| 0x043 | `pmod0_2` | 0, `gpio[2].ios[2]`, `i2c[0].scl` |
| 0x044 | `pmod0_3` | 0, `gpio[2].ios[3]`, `i2c[0].sda`, `spi[3].sck` |
| 0x045 | `pmod0_4` | 0, `gpio[2].ios[4]` |
| 0x046 | `pmod0_5` | 0, `gpio[2].ios[5]` |
| 0x047 | `pmod0_6` | 0, `gpio[2].ios[6]` |
| 0x048 | `pmod0_7` | 0, `gpio[2].ios[7]` |
| 0x049 | `pmod1_0` | 0, `gpio[2].ios[8]` |
| 0x04a | `pmod1_1` | 0, `gpio[2].ios[9]`, `spi[4].tx`, `uart[3].tx` |
| 0x04b | `pmod1_2` | 0, `gpio[2].ios[10]`, `i2c[1].scl` |
| 0x04c | `pmod1_3` | 0, `gpio[2].ios[11]`, `i2c[1].sda`, `spi[4].sck` |
| 0x04d | `pmod1_4` | 0, `gpio[2].ios[12]` |
| 0x04e | `pmod1_5` | 0, `gpio[2].ios[13]` |
| 0x04f | `pmod1_6` | 0, `gpio[2].ios[14]` |
| 0x050 | `pmod1_7` | 0, `gpio[2].ios[15]` |
| 0x051 | `microsd_clk` | 0, `spi[3].sck` |
| 0x052 | `microsd_cmd` | 0, `spi[3].tx` |
| 0x053 | `microsd_dat3` | 0, `spi[3].cs[3]` |

Besides the output pin selectors, there are also selectors for which pin should drive block inputs:

Expand Down
2 changes: 1 addition & 1 deletion rtl/fpga/top_sonata.sv
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ module top_sonata
assign microsd_dat3 = output_pins[OUT_PIN_MICROSD_DAT3];
assign microsd_cmd = output_pins[OUT_PIN_MICROSD_CMD ];
assign microsd_clk = output_pins[OUT_PIN_MICROSD_CLK ];
assign mb10 = 1'b0;
assign mb10 = output_pins[OUT_PIN_MB10 ];
assign mb7 = output_pins[OUT_PIN_MB7 ];
assign mb4 = output_pins[OUT_PIN_MB4 ];
assign mb2 = output_pins[OUT_PIN_MB2 ];
Expand Down
Loading

0 comments on commit 636ebfc

Please sign in to comment.