amaranth-boards icon indicating copy to clipboard operation
amaranth-boards copied to clipboard

Add MachXO2 Breakout board

Open neuschaefer opened this issue 2 years ago • 4 comments

Features (✓=tested):

  • [x] LEDs
  • [x] toolchain_program()
  • [x] GPIO connectors
  • [x] UART via FTDI

neuschaefer avatar Feb 18 '23 14:02 neuschaefer

I was planning on doing this, you already done so :D. Thanks for saving me the effort!

It looks good to me, I would've done it much the same way. I have a few questions:

  • Since the UART shares pins with connections J3, would it be better to not provide the UART resource by default (i.e. as a MachXO2_7000HE_BreakoutPlatform class variable? That way, the user can choose to either use the pins as GPIO, or convert it to UART via add_resources if they've done the appropriate mod.
  • I believe the user can solder a crystal X2 if they desire (of a frequency of their own choice). Idk offhand if add_resources handles Clocks though/if it requires special treatment. Should that be added as a MachXO2_7000HE_BreakoutPlatform class variable too?

cr1901 avatar Jul 22 '23 03:07 cr1901

Since the UART shares pins with connections J3, would it be better to not provide the UART resource by default (i.e. as a MachXO2_7000HE_BreakoutPlatform class variable? That way, the user can choose to either use the pins as GPIO, or convert it to UART via add_resources if they've done the appropriate mod.

That sounds good, I'll do it.

I believe the user can solder a crystal X2 if they desire (of a frequency of their own choice). Idk offhand if add_resources handles Clocks though/if it requires special treatment. Should that be added as a MachXO2_7000HE_BreakoutPlatform class variable too?

I don't know how this would work, so I'll leave it up to you to make an additional pull request.

neuschaefer avatar Jul 25 '23 14:07 neuschaefer

@cr1901 I've split the UART resource as you've suggested, but I can' currently test this. I'd appreciate you testing it.

neuschaefer avatar Jul 25 '23 14:07 neuschaefer

@neuschaefer I sincerely apologize for the delay... I finally tested locally. Your UARTResource split works perfectly :).

cr1901 avatar Aug 26 '23 04:08 cr1901