Skip to content
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

Defining adv7513 resource for a new board with subsignals different from DE10-Nano #122

Closed
asumagic opened this issue Nov 14, 2020 · 2 comments
Labels

Comments

@asumagic
Copy link

While implementing a board file for the Cyclone V GX starter kit, I noticed that it uses the same HDMI transmitter as the DE10-Nano as defined here.

The pin names are identical, but the GX starter kit does not have audio related pins wired in. Specifically, these are missing:

  • HDMI_I2S0 (i2s0)
  • HDMI_MCLK (mclk)
  • HDMI_LRCLK (lrclk)
  • HDMI_SCLK (sclk)

I'm assuming that resources under a certain name (in this case "adv7513") should keep consistent subsignals across multiple boards. How should I handle this?

Furthermore, the DE10-Nano dedicates pins for the adv7513 I2C, like so:

            Subsignal("scl", Pins("U10", dir="o")),
            Subsignal("sda", Pins("AA4", dir="io")),

In the GX starter kit, this is not the case, as the I2C_SCL (PIN_B7) and I2C_SDA (PIN_G11) pins are used for the programmable oscillator, the audio interface, among other things, i.e. should be reused across several resources.
Since defining multiple identical pins assignments or otherwise reusing pins appears to be impossible, how should I proceed?

@whitequark
Copy link
Member

Good question. There is such a thing as "optional pins"; I/O cores may use hasattr and friends to check if they e.g. have I2S related pins. This is not ideal, but this transmitter is a very niche device, so I believe it would be OK to simply omit them for now.

@whitequark
Copy link
Member

Actually, scratch that. It turns out we already decided to split the HDMI transmitter into several resources in https://github.com/nmigen/nmigen-boards/pull/119/files#diff-9717074072a7b3688a96b0364849e30ef11cec472ab601e4733d1f2b7205bbf2R24-R46. I think DE10-nano and the Cyclone V starter kit should follow the example of that board, then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants