From 1969ec39ff17327fd220a92987412a4cb6cd3beb Mon Sep 17 00:00:00 2001 From: Liam Perlaki Date: Sun, 26 Jul 2020 08:59:10 +0200 Subject: [PATCH] Add patches for ADC peripherals Add a patch to fixup a few registers in the ADC peripheral for ATmega328P, ATmega32U4, ATmega1280, and ATmega64. --- patch/atmega1280.yaml | 1 + patch/atmega328p.yaml | 1 + patch/atmega32u4.yaml | 1 + patch/atmega64.yaml | 1 + patch/common/adc.yaml | 23 +++++++++++++++++++++++ 5 files changed, 27 insertions(+) create mode 100644 patch/common/adc.yaml diff --git a/patch/atmega1280.yaml b/patch/atmega1280.yaml index 88940c10ee54c73a0aadb8154d1c904b754ee5a1..6a5afd86f0e9f5c927893f4f3dfee8b8c549f3e6 100644 --- a/patch/atmega1280.yaml +++ b/patch/atmega1280.yaml @@ -1,5 +1,6 @@ _include: - "common/ac.yaml" + - "common/adc.yaml" - "common/spi.yaml" - "common/twi.yaml" - "common/usart.yaml" diff --git a/patch/atmega328p.yaml b/patch/atmega328p.yaml index fb4091a2a69ac971cb8db0265c62de7e14d9dcc0..b237aa3009dfb3b328b7f8886e444b72966ca501 100644 --- a/patch/atmega328p.yaml +++ b/patch/atmega328p.yaml @@ -1,5 +1,6 @@ _include: - "common/ac.yaml" + - "common/adc.yaml" - "common/spi.yaml" - "common/timer/tc0.yaml" - "common/twi.yaml" diff --git a/patch/atmega32u4.yaml b/patch/atmega32u4.yaml index 03caac39942370cc24fcd18fc8cb7c09ceddc810..d08c2a10d695a50b9ac695f47a3aee2d38d1e56a 100644 --- a/patch/atmega32u4.yaml +++ b/patch/atmega32u4.yaml @@ -1,5 +1,6 @@ _include: - "common/ac.yaml" + - "common/adc.yaml" - "common/pll.yaml" - "common/spi.yaml" - "common/timer/tc0.yaml" diff --git a/patch/atmega64.yaml b/patch/atmega64.yaml index 97a1d9481d5505a443de71568e633acc21953203..0dd96596d6d27b06183def4a075363893ab10280 100644 --- a/patch/atmega64.yaml +++ b/patch/atmega64.yaml @@ -1,4 +1,5 @@ _include: - "common/ac.yaml" + - "common/adc.yaml" - "common/spi.yaml" - "common/usart.yaml" diff --git a/patch/common/adc.yaml b/patch/common/adc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e362f943d15ea7aa90d1440cc99d1b99a62a2c6b --- /dev/null +++ b/patch/common/adc.yaml @@ -0,0 +1,23 @@ +# Patches for the Analog Digital Converter +# +# - Make the control-register actually writable +ADC: + _modify: + ADCSRA: + access: read-write + ADCSRA: + ADPS: + _replace_enum: + PRESCALER_2: [1, "Prescaler Value 2"] + PRESCALER_4: [2, "Prescaler Value 4"] + PRESCALER_8: [3, "Prescaler Value 8"] + PRESCALER_16: [4, "Prescaler Value 16"] + PRESCALER_32: [5, "Prescaler Value 32"] + PRESCALER_64: [6, "Prescaler Value 64"] + PRESCALER_128: [7, "Prescaler Value 128"] + ADMUX: + REFS: + _replace_enum: + AREF: [0, "Aref Internal Vref turned off"] + AVCC: [1, "AVcc with external capacitor at AREF pin"] + INTERNAL: [3, "Internal 1.1V Voltage Reference with external capacitor at AREF pin"] \ No newline at end of file