-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Moved the memories spi block back into the pinmux. #326
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,14 +44,14 @@ xbar = { pipeline = "true", req_fifo_pass = "false", rsp_fifo_pass = "false" } | |
|
||
[[blocks]] | ||
name = "spi" | ||
instances = 2 | ||
instances = 3 | ||
ios = [ | ||
{ name = "cipo", type = "input", default = 0 }, | ||
{ name = "copi", type = "output" }, | ||
{ name = "sclk", type = "output" }, | ||
{ name = "cs", type = "output", length = 4 }, | ||
] | ||
memory_start = 0x80303000 | ||
memory_start = 0x80302000 | ||
memory_size = 0x00001000 | ||
|
||
# UARTS | ||
|
@@ -85,6 +85,15 @@ block_ios = [{ block = "uart", instance = 2, io = "tx" }] | |
name = "rs232_rx" | ||
block_ios = [{ block = "uart", instance = 2, io = "rx" }] | ||
|
||
[[pins]] | ||
name = "rs485_rx" | ||
block_ios = [{ block = "uart", instance = 2, io = "rx" }] | ||
|
||
[[pins]] | ||
name = "rs485_tx" | ||
block_ios = [{ block = "uart", instance = 2, io = "tx" }] | ||
no_default_out = true | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I did put them at the end intentionally to avoid altering other mappings. In particular the UART 2 RX input selector. Previously RS485 sat at the end so anything else that wanted to mux a pin to the UART 2 RX input wouldn't now need to change which input it selected. The real issue here was lack of constants for the actual selectors being generated by the pinmux generator, though maybe we do have that and I haven't noticed! Certainly this change will need a fix in the rs485 check at least. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I appreciate wanting to avoid breaking other mappings, but I believe the RS485 check is the only software that is affected by this change. So I guess it's a question of what's preferred. What register mapping do you prefer? |
||
## QWIIC (Sparkfun) buses | ||
[[pins]] | ||
name = "scl0" | ||
|
@@ -102,7 +111,6 @@ block_ios = [{ block = "i2c", instance = 1, io = "scl" }] | |
name = "sda1" | ||
block_ios = [{ block = "i2c", instance = 1, io = "sda" }] | ||
|
||
|
||
## Raspberry Pi HAT | ||
[[pins]] | ||
name = "rph_g0" | ||
|
@@ -145,37 +153,37 @@ name = "rph_g6" | |
block_ios = [{block = "gpio", instance = 0, io = "ios", io_index = 6}] | ||
|
||
[[pins]] | ||
name = "rph_g7_ce1" | ||
name = "rph_g7" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "cs", io_index = 1}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 1}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 7}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g8_ce0" | ||
name = "rph_g8" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "cs", io_index = 0}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 0}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 8}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g9_cipo" | ||
name = "rph_g9" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "cipo"}, | ||
{block = "spi", instance = 1, io = "cipo"}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 9}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g10_copi" | ||
name = "rph_g10" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "copi"}, | ||
{block = "spi", instance = 1, io = "copi"}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 10}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g11_sclk" | ||
name = "rph_g11" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "sclk"}, | ||
{block = "spi", instance = 1, io = "sclk"}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 11}, | ||
] | ||
|
||
|
@@ -208,47 +216,47 @@ block_ios = [ | |
] | ||
|
||
[[pins]] | ||
name = "rph_g16_ce2" | ||
name = "rph_g16" | ||
block_ios = [ | ||
{block = "spi", instance = 1, io = "cs", io_index = 2}, | ||
{block = "spi", instance = 2, io = "cs", io_index = 2}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 16}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g17" | ||
block_ios = [ | ||
{block = "spi", instance = 1, io = "cs", io_index = 1}, | ||
{block = "spi", instance = 2, io = "cs", io_index = 1}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 17}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g18" | ||
block_ios = [ | ||
{block = "spi", instance = 1, io = "cs", io_index = 0}, | ||
{block = "spi", instance = 2, io = "cs", io_index = 0}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 18}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 2}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g19_cipo" | ||
name = "rph_g19" | ||
block_ios = [ | ||
{block = "spi", instance = 1, io = "cipo"}, | ||
{block = "spi", instance = 2, io = "cipo"}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 19}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 3}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g20_copi" | ||
name = "rph_g20" | ||
block_ios = [ | ||
{block = "spi", instance = 1, io = "copi"}, | ||
{block = "spi", instance = 2, io = "copi"}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 20}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 4}, | ||
] | ||
|
||
[[pins]] | ||
name = "rph_g21_sclk" | ||
name = "rph_g21" | ||
block_ios = [ | ||
{block = "spi", instance = 1, io = "sclk"}, | ||
{block = "spi", instance = 2, io = "sclk"}, | ||
{block = "gpio", instance = 0, io = "ios", io_index = 21}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 5}, | ||
] | ||
|
@@ -339,50 +347,50 @@ block_ios = [ | |
[[pins]] | ||
name = "ah_tmpio10" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "cs", io_index = 3}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 3}, | ||
{block = "gpio", instance = 1, io = "ios", io_index = 10}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 4}, | ||
] | ||
|
||
[[pins]] | ||
name = "ah_tmpio11" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "copi"}, | ||
{block = "spi", instance = 1, io = "copi"}, | ||
{block = "gpio", instance = 1, io = "ios", io_index = 11}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 5}, | ||
] | ||
|
||
[[pins]] | ||
name = "ah_tmpio12" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "cipo"}, | ||
{block = "spi", instance = 1, io = "cipo"}, | ||
{block = "gpio", instance = 1, io = "ios", io_index = 12}, | ||
] | ||
|
||
[[pins]] | ||
name = "ah_tmpio13" | ||
block_ios = [ | ||
{block = "spi", instance = 0, io = "sclk"}, | ||
{block = "spi", instance = 1, io = "sclk"}, | ||
{block = "gpio", instance = 1, io = "ios", io_index = 13}, | ||
] | ||
|
||
# mikroBUS Click | ||
# mb0 is reset and already connected to a general purpose output. | ||
[[pins]] | ||
name = "mb1" | ||
block_ios = [{block = "spi", instance = 1, io = "cs", io_index = 3}] | ||
block_ios = [{block = "spi", instance = 2, io = "cs", io_index = 3}] | ||
|
||
[[pins]] | ||
name = "mb2" | ||
block_ios = [{block = "spi", instance = 1, io = "sclk"}] | ||
block_ios = [{block = "spi", instance = 2, io = "sclk"}] | ||
|
||
[[pins]] | ||
name = "mb3" | ||
block_ios = [{block = "spi", instance = 1, io = "cipo"}] | ||
block_ios = [{block = "spi", instance = 2, io = "cipo"}] | ||
|
||
[[pins]] | ||
name = "mb4" | ||
block_ios = [{block = "spi", instance = 1, io = "copi"}] | ||
block_ios = [{block = "spi", instance = 2, io = "copi"}] | ||
|
||
[[pins]] | ||
name = "mb5" | ||
|
@@ -409,14 +417,14 @@ block_ios = [{block = "pwm", instance = 0, io = "out", io_index = 0}] | |
name = "pmod0_1" | ||
block_ios = [ | ||
{block = "gpio", instance = 2, io = "ios", io_index = 0}, | ||
{block = "spi", instance = 0, io = "cs", io_index = 0}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 0}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod0_2" | ||
block_ios = [ | ||
{block = "gpio", instance = 2, io = "ios", io_index = 1}, | ||
{block = "spi", instance = 0, io = "copi"}, | ||
{block = "spi", instance = 1, io = "copi"}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 1}, | ||
{block = "uart", instance = 1, io = "tx"}, | ||
] | ||
|
@@ -425,7 +433,7 @@ block_ios = [ | |
name = "pmod0_3" | ||
block_ios = [ | ||
{block = "gpio", instance = 2, io = "ios", io_index = 2}, | ||
{block = "spi", instance = 0, io = "cipo"}, | ||
{block = "spi", instance = 1, io = "cipo"}, | ||
{block = "i2c", instance = 0, io = "scl"}, | ||
{block = "uart", instance = 1, io = "rx"}, | ||
] | ||
|
@@ -434,47 +442,47 @@ block_ios = [ | |
name = "pmod0_4" | ||
block_ios = [ | ||
{block = "gpio", instance = 2, io = "ios", io_index = 3}, | ||
{block = "spi", instance = 0, io = "sclk"}, | ||
{block = "spi", instance = 1, io = "sclk"}, | ||
{block = "i2c", instance = 0, io = "sda"}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod0_5" | ||
name = "pmod0_7" | ||
block_ios = [{block = "gpio", instance = 2, io = "ios", io_index = 4}] | ||
|
||
[[pins]] | ||
name = "pmod0_6" | ||
name = "pmod0_8" | ||
block_ios = [ | ||
{block = "gpio", instance = 2, io = "ios", io_index = 5}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 2}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod0_7" | ||
name = "pmod0_9" | ||
block_ios = [ | ||
{block = "gpio", instance = 2, io = "ios", io_index = 6}, | ||
{block = "spi", instance = 0, io = "cs", io_index = 1}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 1}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod0_8" | ||
name = "pmod0_10" | ||
block_ios = [ | ||
{block = "gpio", instance = 2, io = "ios", io_index = 7}, | ||
{block = "spi", instance = 0, io = "cs", io_index = 2}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 2}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod1_1" | ||
block_ios = [ | ||
{block = "gpio", instance = 3, io = "ios", io_index = 0}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 0}, | ||
{block = "spi", instance = 2, io = "cs", io_index = 0}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod1_2" | ||
block_ios = [ | ||
{block = "gpio", instance = 3, io = "ios", io_index = 1}, | ||
{block = "spi", instance = 1, io = "copi"}, | ||
{block = "spi", instance = 2, io = "copi"}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 3}, | ||
{block = "uart", instance = 2, io = "tx"}, | ||
] | ||
|
@@ -483,7 +491,7 @@ block_ios = [ | |
name = "pmod1_3" | ||
block_ios = [ | ||
{block = "gpio", instance = 3, io = "ios", io_index = 2}, | ||
{block = "spi", instance = 1, io = "cipo"}, | ||
{block = "spi", instance = 2, io = "cipo"}, | ||
{block = "i2c", instance = 1, io = "scl"}, | ||
{block = "uart", instance = 2, io = "rx"}, | ||
] | ||
|
@@ -492,33 +500,33 @@ block_ios = [ | |
name = "pmod1_4" | ||
block_ios = [ | ||
{block = "gpio", instance = 3, io = "ios", io_index = 3}, | ||
{block = "spi", instance = 1, io = "sclk"}, | ||
{block = "spi", instance = 2, io = "sclk"}, | ||
{block = "i2c", instance = 1, io = "sda"}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod1_5" | ||
name = "pmod1_7" | ||
block_ios = [{block = "gpio", instance = 3, io = "ios", io_index = 4}] | ||
|
||
[[pins]] | ||
name = "pmod1_6" | ||
name = "pmod1_8" | ||
block_ios = [ | ||
{block = "gpio", instance = 3, io = "ios", io_index = 5}, | ||
{block = "pwm", instance = 0, io = "out", io_index = 4}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod1_7" | ||
name = "pmod1_9" | ||
block_ios = [ | ||
{block = "gpio", instance = 3, io = "ios", io_index = 6}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 1}, | ||
{block = "spi", instance = 2, io = "cs", io_index = 1}, | ||
] | ||
|
||
[[pins]] | ||
name = "pmod1_8" | ||
name = "pmod1_10" | ||
block_ios = [ | ||
{block = "gpio", instance = 3, io = "ios", io_index = 7}, | ||
{block = "spi", instance = 1, io = "cs", io_index = 2}, | ||
{block = "spi", instance = 2, io = "cs", io_index = 2}, | ||
] | ||
|
||
|
||
|
@@ -546,11 +554,36 @@ block_ios = [{block = "gpio", instance = 4, io = "ios", io_index = 4}] | |
name = "pmodc_6" | ||
block_ios = [{block = "gpio", instance = 4, io = "ios", io_index = 5}] | ||
|
||
# Application Flash | ||
[[pins]] | ||
name = "rs485_rx" | ||
block_ios = [{ block = "uart", instance = 2, io = "rx" }] | ||
name = "appspi_d0" | ||
block_ios = [{ block = "spi", instance = 0, io = "copi" }] | ||
|
||
[[pins]] | ||
name = "rs485_tx" | ||
block_ios = [{ block = "uart", instance = 2, io = "tx" }] | ||
no_default_out = true | ||
name = "appspi_d1" | ||
block_ios = [{ block = "spi", instance = 0, io = "cipo" }] | ||
|
||
[[pins]] | ||
name = "appspi_clk" | ||
block_ios = [{ block = "spi", instance = 0, io = "sclk" }] | ||
|
||
[[pins]] | ||
name = "appspi_cs" | ||
block_ios = [{ block = "spi", instance = 0, io = "cs", io_index = 0 }] | ||
|
||
# microSD Card | ||
[[pins]] | ||
name = "microsd_cmd" | ||
block_ios = [{ block = "spi", instance = 0, io = "copi" }] | ||
|
||
[[pins]] | ||
name = "microsd_dat0" | ||
block_ios = [{ block = "spi", instance = 0, io = "cipo" }] | ||
|
||
[[pins]] | ||
name = "microsd_clk" | ||
block_ios = [{ block = "spi", instance = 0, io = "sclk" }] | ||
|
||
[[pins]] | ||
name = "microsd_dat3" | ||
block_ios = [{ block = "spi", instance = 0, io = "cs", io_index = 1 }] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if we should add pull ups to all of the CIPO lines. If it makes sense here it makes sense everywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The microsd card lines appear to be pulled high on the board. Ethernet MAC chip (
KSZ8851SNL/SNLI
) is high impedance by default, so may make sense to pull high.I don't know what the behavior of the LCD is.And the LCD doesn't have a CIPO line.What would you like me to do for this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alees24 🪣 (passing the buck on the ethmac CIPO)