~ruther/avr-device

00e0564641aa008dc064bdb00ca75f7eb830030d — Rahix 5 years ago c041f10
atmega32u4, attiny85: Add tc0 patch

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

M patch/atmega32u4.yaml
M patch/attiny85.yaml
A patch/common/timer/tc0.yaml
M patch/atmega32u4.yaml => patch/atmega32u4.yaml +1 -0
@@ 3,6 3,7 @@ _include:
  - "common/pll.yaml"
  - "common/twi.yaml"
  - "common/wdt.yaml"
  - "common/timer/tc0.yaml"

USART1:
  _modify:

M patch/attiny85.yaml => patch/attiny85.yaml +1 -0
@@ 1,6 1,7 @@
_include:
  - "common/ac.yaml"
  - "common/wdt.yaml"
  - "common/timer/tc0.yaml"

USI:
  USICR:

A patch/common/timer/tc0.yaml => patch/common/timer/tc0.yaml +43 -0
@@ 0,0 1,43 @@
TC0:
  TCCR0A:
    _modify:
      COM0A:
        _write_constraint: enum
      COM0B:
        _write_constraint: enum
      WGM0:
        _write_constraint: enum
    COM0A:
      _replace_enum:
        DISCONNECTED:  [0, "Normal port operation, OC0x disconnected"]
        MATCH_TOGGLE:  [1, "Toggle OC0x on Compare Match (Might depend on WGM)"]
        MATCH_CLEAR:   [2, "Clear OC0x on Compare Match (If PWM is enabled, OC0x is set at TOP)"]
        MATCH_SET:     [3, "Set OC0x on Compare Match (If PWM is enabled, OC0x is cleared at TOP)"]
    COM0B:
      _replace_enum:
        DISCONNECTED:  [0, "Normal port operation, OC0x disconnected"]
        MATCH_TOGGLE:  [1, "Toggle OC0x on Compare Match (Might depend on WGM)"]
        MATCH_CLEAR:   [2, "Clear OC0x on Compare Match (If PWM is enabled, OC0x is set at TOP)"]
        MATCH_SET:     [3, "Set OC0x on Compare Match (If PWM is enabled, OC0x is cleared at TOP)"]
    WGM0:
      _replace_enum:
        NORMAL_TOP:    [0, "Normal, Top: `0xff`, Update: *Immediate*, Flag: *MAX*"]
        PWM_PHASE:     [1, "Phase Correct PWM, Top: `0xff`, Update: *TOP*, Flag: *BOTTOM*"]
        CTC:           [2, "CTC, Top: *OCRA*, Update: *Immediate*, Flag: *MAX*"]
        PWM_FAST:      [3, "Fast PWM, Top: `0xff`, Update: *TOP*, Flag: *MAX*"]
  TCCR0B:
    _modify:
      WGM02:
        description: "Waveform Generation Mode High Bit (Enable Top: *OCRA* for `PWM` modes)"
      FOC0*:
        access: write-only
    CS0:
      _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"]

Do not follow this link