~ruther/avr-device

99029de7abac0afb33ec4f38ec3760a8a1483e4c — Rahix 4 years ago 4e1e8d2
atmega32u4,atmega328p: Add patch for 16-bit timers

Signed-off-by: Rahix <rahix@rahix.de>
3 files changed, 38 insertions(+), 0 deletions(-)

M patch/timer/atmega328p.yaml
M patch/timer/atmega32u4.yaml
A patch/timer/dev/16bit.yaml
M patch/timer/atmega328p.yaml => patch/timer/atmega328p.yaml +4 -0
@@ 4,3 4,7 @@
TC0:
  _include:
    - "dev/8bit.yaml"

TC1:
  _include:
    - "dev/16bit.yaml"

M patch/timer/atmega32u4.yaml => patch/timer/atmega32u4.yaml +4 -0
@@ 4,3 4,7 @@
TC0:
  _include:
    - "dev/8bit.yaml"

TC1,TC3:
  _include:
    - "dev/16bit.yaml"

A patch/timer/dev/16bit.yaml => patch/timer/dev/16bit.yaml +30 -0
@@ 0,0 1,30 @@
TCCR?A:
  _modify:
    COM??:
      _write_constraint: enum
  COM??:
    _replace_enum:
        DISCONNECTED:  [0, "Normal port operation, OCix disconnected"]
        MATCH_TOGGLE:  [1, "Toggle OCix on Compare Match (Might depend on WGM)"]
        MATCH_CLEAR:   [2, "Clear OCix on Compare Match (If PWM is enabled, OCix is set at TOP)"]
        MATCH_SET:     [3, "Set OCix on Compare Match (If PWM is enabled, OCix is cleared at TOP)"]

TCCR?B:
  _modify:
    CS?:
      _write_constraint: enum
  CS?:
    _replace_enum:
      NO_CLOCK:      [0, "No clock source (Timer/Counter stopped)"]
      DIRECT:        [1, "Running, No Prescaling"]
      PRESCALE_8:    [2, "Running, CLK/8"]
      PRESCALE_64:   [3, "Running, CLK/64"]
      PRESCALE_256:  [4, "Running, CLK/256"]
      PRESCALE_1024: [5, "Running, CLK/1024"]
      EXT_FALLING:   [6, "Running, ExtClk Tx Falling Edge"]
      EXT_RISING:    [7, "Running, ExtClk Tx Rising Edge"]

TCCR?C:
  _modify:
    FOC??:
      access: write-only

Do not follow this link