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

Add AVR64DAnnS, AVR32DAnnS and AVR32SDnn #1955

Merged
merged 12 commits into from
Mar 11, 2025

Conversation

stefanrueger
Copy link
Collaborator

This PR

  • Adds UART info to avrintel.c
  • Updates avrintel.c from ATDF files
  • Updates variants in avrdude.conf from ATDF files
  • Adds AVR64DA28S, AVR64DA32S, AVR64DA48S and AVR64DA64S
  • Adds AVR32DA28S, AVR32DA32S and AVR32DA48S
  • Adds AVR32SD20, AVR32SD28, AVR32SD32

The last one addresses #1952

@askn37 Are you available for review?

@stefanrueger stefanrueger added the enhancement New feature or request label Feb 28, 2025
Copy link
Contributor

@askn37 askn37 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No changes were found that would cause any problems.

@stefanrueger
Copy link
Collaborator Author

stefanrueger commented Mar 8, 2025

Thanks @askn37 for looking at this!

I am unclear about hvupdi_variant and what it should be for SD parts. This variable is not well documented, neither in the source code nor in the tex documentation. It used to have values 0, 1 or 2. I think(!) the HV_IMPLEMENTATION variable in the .atdf corresponds to hvupdi_variant in avrdude.conf. I quickly reviewed what AVRDUDE uses and what the .atdfs say and came up with the following differences:

Part avrdude .atdf
atmega1608 0 1
atmega1609 0 1
atmega808 0 1
atmega809 0 1
avr32sd20 2 3
avr32sd28 2 3
avr32sd32 2 3

The ATmega(16|8)0(8|9) entries may well be an error (@MCUdude can you confim?) and we can fix that here or in a dedicated PR, but what is hvupdi_variant 3? And how does that affect the use of avupdi_variant in AVRDUDE?

@stefanrueger
Copy link
Collaborator Author

@janegilruud Do you know what's the significance of the new HV_IMPLEMENTATION value 3 that the new AVR32SDnn parts seem to have? Previously that parameter could only have values 0, 1 and 2. AVRDUDE implements this parameter as hvupdi_variant.

The data sheets for AVR32DU28 (hvupdi_variant = 2) and AVRSD28 (hvupdi_variant = 3) do not seem to differ wrt high-voltage UPDI rescue:

du

sd

@janegilruud
Copy link
Contributor

@stefanrueger, I'm sorry, but I don't. I don't work at Microchip any more. Even though I remember the SD device were being designed, this has been introduced after I left. I'm sure @mraardvark can answer, or I'll get in touch with them and get the answer. (I know where they live ;-) )

@janegilruud
Copy link
Contributor

Apparently Type 3 has some new type of handshake. As I thought @mraardvark has the details, but he's in a different timezone right now.

This commit leaves the settings of true parts unchanged. One can verify this by

 # Before this commit
 $ avrdude -p*/At | sort > /tmp/At

 # After this commit
 avrdude -p*/At | sort | diff - /tmp/At | grep -vi common.values
This changes family_id	to "megaAVR" and hvupdi_variant	to 1.
@stefanrueger stefanrueger merged commit b88dab9 into avrdudes:main Mar 11, 2025
15 checks passed
@stefanrueger stefanrueger deleted the AVR32SDnn branch March 11, 2025 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants