Skip to content

Commit 723511f

Browse files
authored
Merge pull request #20 from decaday/feat/dma2
DMA & SYSCFG
2 parents cf01aa6 + b8e2b17 commit 723511f

25 files changed

+817
-3104
lines changed

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ Date: 20240312
4949

5050
- Configure the additional registers for peripherals like USART and I2C on the PY32F072, which has more registers compared to version 1 (F030).
5151

52-
- Set up configurations for cut-down variants such as PY32F003, PY32F002A, and PY32F040.
53-
54-
- Extend USB `FRAMENUM` and `OUTCOUNT` Fields to 11 bits.
52+
- Set up configurations for cut-down variants such as PY32F003, PY32F002A, PY32F040.
5553

5654
## Contirbute
5755

data/af/PY32F030.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ USART2:
543543
- af: 4
544544
pin: PF3
545545
signal: TX
546-
ADC:
546+
ADC1:
547547
- pin: PA0
548548
signal: IN0
549549
- pin: PA1

data/af/PY32F07X.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@ USART4:
778778
- af: 0
779779
pin: PC12
780780
signal: CK
781-
ADC:
781+
ADC1:
782782
- pin: PA0
783783
signal: IN0
784784
- pin: PA1

data/chips/PY32F030F16.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ cores:
5050
include_peripherals:
5151
- "../peripherals/F030.yaml"
5252
include_afs: "../af/PY32F030.yaml"
53-
dma_channels:
53+
include_dma_channels:
54+
DMA1_CH1: "../dma_channels/PY32F030.yaml"
55+
DMA1_CH2: "../dma_channels/PY32F030.yaml"
56+
DMA1_CH3: "../dma_channels/PY32F030.yaml"
5457
_raw:
5558
12bitADCUnitsCHs: 1(2+2)
5659
12bitDACUnitsCHs: '-'

data/chips/PY32F030K28.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ cores:
5151
include_peripherals:
5252
- "../peripherals/F030.yaml"
5353
include_afs: "../af/PY32F030.yaml"
54-
dma_channels:
54+
include_dma_channels:
55+
DMA1_CH1: "../dma_channels/PY32F030.yaml"
56+
DMA1_CH2: "../dma_channels/PY32F030.yaml"
57+
DMA1_CH3: "../dma_channels/PY32F030.yaml"
5558
_raw:
5659
12bitADCUnitsCHs: 1(10+2)
5760
12bitDACUnitsCHs: '-'

data/chips/PY32F072C1B.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,14 @@ cores:
5757
include_peripherals:
5858
- "../peripherals/F072.yaml"
5959
include_afs: "../af/PY32F07X.yaml"
60-
dma_channels:
60+
include_dma_channels:
61+
DMA1_CH1: "../dma_channels/PY32F072.yaml"
62+
DMA1_CH2: "../dma_channels/PY32F072.yaml"
63+
DMA1_CH3: "../dma_channels/PY32F072.yaml"
64+
DMA1_CH4: "../dma_channels/PY32F072.yaml"
65+
DMA1_CH5: "../dma_channels/PY32F072.yaml"
66+
DMA1_CH6: "../dma_channels/PY32F072.yaml"
67+
DMA1_CH7: "../dma_channels/PY32F072.yaml"
6168
_raw:
6269
12bitADCUnitsCHs: 1(13+8)
6370
12bitDACUnitsCHs: 1(2)

data/dma_channels/PY32F030.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
ADC1: 0
2+
SPI1_TX: 1
3+
SPI1_RX: 2
4+
SPI2_TX: 3
5+
SPI2_RX: 4
6+
USART1_TX: 5
7+
USART1_RX: 6
8+
USART2_TX: 7
9+
USART2_RX: 8
10+
I2C1_TX: 9
11+
I2C1_RX: 10
12+
TIM1_CH1: 11
13+
TIM1_CH2: 12
14+
TIM1_CH3: 13
15+
TIM1_CH4: 14
16+
TIM1_COM: 15
17+
TIM1_UP: 16
18+
TIM1_TRIG: 17
19+
TIM3_CH1: 18
20+
TIM3_CH3: 19
21+
TIM3_CH4: 20
22+
TIM3_TRG: 21
23+
TIM3_UP: 22
24+
TIM16_CH1: 24
25+
TIM16_UP: 25
26+
TIM17_CH1: 26
27+
TIM17_UP: 27

data/dma_channels/PY32F072.yaml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
ADC1: 0
2+
DAC1: 1
3+
DAC2: 2
4+
SPI1_RX: 3
5+
SPI1_TX: 4
6+
SPI2_RX: 5
7+
SPI2_TX: 6
8+
USART1_RX: 7
9+
USART1_TX: 8
10+
USART2_RX: 9
11+
USART2_TX: 10
12+
USART3_RX: 11
13+
USART3_TX: 12
14+
USART4_RX: 13
15+
USART4_TX: 14
16+
I2C1_RX: 15
17+
I2C1_TX: 16
18+
I2C2_RX: 17
19+
I2C2_TX: 18
20+
TIM1_CH1: 19
21+
TIM1_CH2: 20
22+
TIM1_CH3: 21
23+
TIM1_CH4: 22
24+
TIM1_COM: 23
25+
TIM1_TRIG: 24
26+
TIM1_UP: 25
27+
TIM2_CH1: 26
28+
TIM2_CH2: 27
29+
TIM2_CH3: 28
30+
TIM2_CH4: 29
31+
TIM2_UP: 30
32+
TIM2_TRG: 31
33+
TIM3_CH1: 32
34+
TIM3_CH2: 33
35+
TIM3_CH3: 34
36+
TIM3_CH4: 35
37+
TIM3_UP: 36
38+
TIM3_TRIG: 37
39+
TIM6_UP: 38
40+
TIM7_UP: 39
41+
TIM15_CH1: 40
42+
TIM15_CH2: 41
43+
TIM15_UP: 42
44+
TIM15_TRIG: 43
45+
TIM15_COM: 44
46+
TIM16_CH1: 45
47+
TIM16_UP: 46
48+
TIM17_CH1: 47
49+
TIM17_UP: 48
50+
USB: 49
51+
LCD: 50

data/dma_channels/PY32F403.yaml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
ADC1: 0
2+
ADC2: 1
3+
ADC3: 2
4+
SPI1_RX: 5
5+
SPI1_TX: 6
6+
SPI2_RX: 7
7+
SPI2_TX: 8
8+
SPI3_RX: 9
9+
SPI3_TX: 10
10+
USART1_RX: 11
11+
USART1_TX: 12
12+
USART2_RX: 13
13+
USART2_TX: 14
14+
USART3_RX: 15
15+
USART3_TX: 16
16+
USART4_RX: 17
17+
USART4_TX: 18
18+
USART5_RX: 19
19+
USART5_TX: 20
20+
I2C1_RX: 21
21+
I2C1_TX: 22
22+
I2C2_RX: 23
23+
I2C2_TX: 24
24+
TIM1_CH1: 25
25+
TIM1_CH2: 26
26+
TIM1_CH3: 27
27+
TIM1_CH4: 28
28+
TIM1_COM: 29
29+
TIM1_TRIG: 30
30+
TIM1_UP: 31
31+
TIM2_CH1: 32
32+
TIM2_CH2: 33
33+
TIM2_CH3: 34
34+
TIM2_CH4: 35
35+
TIM2_UP: 36
36+
TIM3_CH1: 37
37+
TIM3_CH3: 38
38+
TIM3_CH4: 39
39+
TIM3_UP: 40
40+
TIM3_TRIG: 41
41+
TIM4_CH1: 42
42+
TIM4_CH2: 43
43+
TIM4_CH3: 44
44+
TIM4_UP: 45
45+
TIM5_CH1: 46
46+
TIM5_CH2: 47
47+
TIM5_CH3: 48
48+
TIM5_CH4: 49
49+
TIM5_UP: 50
50+
TIM5_TRIG: 51
51+
TIM6: 52
52+
TIM7: 53
53+
TIM8_CH1: 54
54+
TIM8_CH2: 55
55+
TIM8_CH3: 56
56+
TIM8_CH4: 57
57+
TIM8_COM: 58
58+
TIM8_TRIG: 59
59+
TIM8_UP: 60
60+
TIM2_TRIG: 61
61+
TIM3_CH2: 62
62+
TIM4_CH4: 63
63+
TIM4_TRIG: 64
64+
ESMC_TX: 65
65+
ESMC_RX: 66
66+
SDIO: 67
67+
USB: 68

data/peripherals/F030.yaml

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
- name: ADC
1+
- name: ADC1
22
address: 0x40012400
33
registers:
44
kind: adc
@@ -387,25 +387,7 @@
387387
kind: timer
388388
version: v1
389389
block: TIM_1CH_CMP
390-
dma_channels:
391-
- signal: CH1
392-
channel: DMA1_CH1
393-
request: 7
394-
- signal: UP
395-
channel: DMA1_CH1
396-
request: 7
397-
- signal: CH1
398-
channel: DMA1_CH2
399-
request: 7
400-
- signal: UP
401-
channel: DMA1_CH2
402-
request: 7
403-
- signal: CH1
404-
channel: DMA1_CH7
405-
request: 7
406-
- signal: UP
407-
channel: DMA1_CH7
408-
request: 7
390+
409391
rcc:
410392
bus_clock: PCLK1_TIM
411393
kernel_clock: PCLK1_TIM
@@ -431,7 +413,7 @@
431413
address: 0x40010000
432414
registers:
433415
kind: syscfg
434-
version: common
416+
version: f030
435417
block: SYSCFG
436418
rcc:
437419
bus_clock: PCLK1
@@ -443,26 +425,28 @@
443425
register: APBRSTR2
444426
field: SYSCFGRST
445427

446-
- name: DMA
428+
- name: DMA1
447429
address: 0x40020000
448430
registers:
449431
kind: dma
450-
version: common
432+
version: f030
451433
block: DMA
452434
rcc:
453-
bus_clock: PCLK1
454-
kernel_clock: PCLK1
435+
bus_clock: HCLK1
436+
kernel_clock: HCLK1
455437
enable:
456438
register: AHBENR
457439
field: DMAEN
458440
reset:
459441
register: AHBRSTR
460442
field: DMARST
461443
interrupts:
462-
- signal: GLOBAL
463-
interrupt: DMA_Channel1
464-
- signal: GLOBAL
465-
interrupt: DMA_Channel2_3
444+
- signal: CH1
445+
interrupt: DMA_Channel1
446+
- signal: CH2
447+
interrupt: DMA_Channel2_3
448+
- signal: CH3
449+
interrupt: DMA_Channel2_3
466450

467451
- name: FLASH
468452
address: 0x40022000

0 commit comments

Comments
 (0)