aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-04-25 22:35:51 +0200
committerDario Nieuwenhuis <[email protected]>2021-04-25 22:35:51 +0200
commit936efd164d0f120f02a014e66f0426430c09d912 (patch)
tree310b1e242ad9ff1eb183ab71a2b32b2ba7d6a8b5
parent6ba915a3082489bbc77440867d2a7d126ca98352 (diff)
USART codegen
-rw-r--r--embassy-stm32-examples/src/bin/usart.rs66
-rw-r--r--embassy-stm32/.pep82
-rw-r--r--embassy-stm32/gen.py31
-rw-r--r--embassy-stm32/src/chip/stm32f401cb.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401cc.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401cd.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401ce.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401rb.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401rc.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401rd.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401re.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401vb.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401vc.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401vd.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f401ve.rs25
-rw-r--r--embassy-stm32/src/chip/stm32f405oe.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f405og.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f405rg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f405vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f405zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f407ie.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f407ig.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f407ve.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f407vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f407ze.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f407zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f410c8.rs22
-rw-r--r--embassy-stm32/src/chip/stm32f410cb.rs22
-rw-r--r--embassy-stm32/src/chip/stm32f410r8.rs22
-rw-r--r--embassy-stm32/src/chip/stm32f410rb.rs22
-rw-r--r--embassy-stm32/src/chip/stm32f410t8.rs16
-rw-r--r--embassy-stm32/src/chip/stm32f410tb.rs16
-rw-r--r--embassy-stm32/src/chip/stm32f411cc.rs27
-rw-r--r--embassy-stm32/src/chip/stm32f411ce.rs27
-rw-r--r--embassy-stm32/src/chip/stm32f411rc.rs27
-rw-r--r--embassy-stm32/src/chip/stm32f411re.rs27
-rw-r--r--embassy-stm32/src/chip/stm32f411vc.rs27
-rw-r--r--embassy-stm32/src/chip/stm32f411ve.rs27
-rw-r--r--embassy-stm32/src/chip/stm32f412ce.rs32
-rw-r--r--embassy-stm32/src/chip/stm32f412cg.rs32
-rw-r--r--embassy-stm32/src/chip/stm32f412re.rs42
-rw-r--r--embassy-stm32/src/chip/stm32f412rg.rs42
-rw-r--r--embassy-stm32/src/chip/stm32f412ve.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f412vg.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f412ze.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f412zg.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f413cg.rs34
-rw-r--r--embassy-stm32/src/chip/stm32f413ch.rs34
-rw-r--r--embassy-stm32/src/chip/stm32f413mg.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f413mh.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f413rg.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f413rh.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f413vg.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f413vh.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f413zg.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f413zh.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f415og.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f415rg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f415vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f415zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f417ie.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f417ig.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f417ve.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f417vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f417ze.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f417zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f423ch.rs34
-rw-r--r--embassy-stm32/src/chip/stm32f423mh.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f423rh.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f423vh.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f423zh.rs49
-rw-r--r--embassy-stm32/src/chip/stm32f427ag.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f427ai.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f427ig.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f427ii.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f427vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f427vi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f427zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f427zi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ag.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ai.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429be.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429bg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429bi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ie.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ig.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ii.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ne.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ng.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ni.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ve.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429vi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429ze.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f429zi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f437ai.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f437ig.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f437ii.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f437vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f437vi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f437zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f437zi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439ai.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439bg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439bi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439ig.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439ii.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439ng.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439ni.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439vi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f439zi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f446mc.rs45
-rw-r--r--embassy-stm32/src/chip/stm32f446me.rs45
-rw-r--r--embassy-stm32/src/chip/stm32f446rc.rs45
-rw-r--r--embassy-stm32/src/chip/stm32f446re.rs45
-rw-r--r--embassy-stm32/src/chip/stm32f446vc.rs45
-rw-r--r--embassy-stm32/src/chip/stm32f446ve.rs45
-rw-r--r--embassy-stm32/src/chip/stm32f446zc.rs45
-rw-r--r--embassy-stm32/src/chip/stm32f446ze.rs45
-rw-r--r--embassy-stm32/src/chip/stm32f469ae.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ag.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ai.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469be.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469bg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469bi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ie.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ig.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ii.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ne.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ng.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ni.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ve.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469vi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469ze.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f469zi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479ag.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479ai.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479bg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479bi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479ig.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479ii.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479ng.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479ni.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479vg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479vi.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479zg.rs44
-rw-r--r--embassy-stm32/src/chip/stm32f479zi.rs44
-rw-r--r--embassy-stm32/src/lib.rs3
-rw-r--r--embassy-stm32/src/usart.rs92
154 files changed, 6224 insertions, 82 deletions
diff --git a/embassy-stm32-examples/src/bin/usart.rs b/embassy-stm32-examples/src/bin/usart.rs
index c218b8ced..02731c59c 100644
--- a/embassy-stm32-examples/src/bin/usart.rs
+++ b/embassy-stm32-examples/src/bin/usart.rs
@@ -10,9 +10,8 @@ mod example_common;
10use embassy::executor::Executor; 10use embassy::executor::Executor;
11use embassy::time::Clock; 11use embassy::time::Clock;
12use embassy::util::Forever; 12use embassy::util::Forever;
13use embassy_stm32::exti::{self, ExtiInput}; 13use embassy_stm32::gpio::NoPin;
14use embassy_stm32::gpio::{Input, Pull}; 14use embassy_stm32::usart::{Config, Uart};
15use embassy_traits::gpio::{WaitForFallingEdge, WaitForRisingEdge};
16use example_common::*; 15use example_common::*;
17 16
18use cortex_m_rt::entry; 17use cortex_m_rt::entry;
@@ -22,17 +21,11 @@ use stm32f4::stm32f429 as pac;
22#[embassy::task] 21#[embassy::task]
23async fn main_task() { 22async fn main_task() {
24 let p = embassy_stm32::Peripherals::take().unwrap(); 23 let p = embassy_stm32::Peripherals::take().unwrap();
25 let button = Input::new(p.PC13, Pull::Down);
26 let mut button = ExtiInput::new(button, p.EXTI13);
27 24
28 info!("Press the USER button..."); 25 let config = Config::default();
26 let usart = Uart::new(p.USART3, p.PD9, p.PD8, NoPin, NoPin, config);
29 27
30 loop { 28 // TODO make it actually do something
31 button.wait_for_rising_edge().await;
32 info!("Pressed!");
33 button.wait_for_falling_edge().await;
34 info!("Released!");
35 }
36} 29}
37 30
38struct ZeroClock; 31struct ZeroClock;
@@ -68,63 +61,16 @@ fn main() -> ! {
68 w 61 w
69 }); 62 });
70 pp.RCC.apb2enr.modify(|_, w| { 63 pp.RCC.apb2enr.modify(|_, w| {
71 w.usart1en().enabled(); 64 w.usart3en().enabled();
72 w.syscfgen().enabled(); 65 w.syscfgen().enabled();
73 w 66 w
74 }); 67 });
75 68
76 unsafe { embassy::time::set_clock(&ZeroClock) }; 69 unsafe { embassy::time::set_clock(&ZeroClock) };
77 70
78 unsafe {
79 NVIC::unmask(interrupt::EXTI0);
80 NVIC::unmask(interrupt::EXTI1);
81 NVIC::unmask(interrupt::EXTI2);
82 NVIC::unmask(interrupt::EXTI3);
83 NVIC::unmask(interrupt::EXTI4);
84 NVIC::unmask(interrupt::EXTI9_5);
85 NVIC::unmask(interrupt::EXTI15_10);
86 }
87
88 let executor = EXECUTOR.put(Executor::new()); 71 let executor = EXECUTOR.put(Executor::new());
89 72
90 executor.run(|spawner| { 73 executor.run(|spawner| {
91 unwrap!(spawner.spawn(main_task())); 74 unwrap!(spawner.spawn(main_task()));
92 }) 75 })
93} 76}
94
95// TODO for now irq handling is done by user code using the old pac, until we figure out how interrupts work in the metapac
96
97#[interrupt]
98unsafe fn EXTI0() {
99 exti::on_irq()
100}
101
102#[interrupt]
103unsafe fn EXTI1() {
104 exti::on_irq()
105}
106
107#[interrupt]
108unsafe fn EXTI2() {
109 exti::on_irq()
110}
111
112#[interrupt]
113unsafe fn EXTI3() {
114 exti::on_irq()
115}
116
117#[interrupt]
118unsafe fn EXTI4() {
119 exti::on_irq()
120}
121
122#[interrupt]
123unsafe fn EXTI9_5() {
124 exti::on_irq()
125}
126
127#[interrupt]
128unsafe fn EXTI15_10() {
129 exti::on_irq()
130}
diff --git a/embassy-stm32/.pep8 b/embassy-stm32/.pep8
new file mode 100644
index 000000000..c9a137c87
--- /dev/null
+++ b/embassy-stm32/.pep8
@@ -0,0 +1,2 @@
1[pep8]
2max_line_length = 255 \ No newline at end of file
diff --git a/embassy-stm32/gen.py b/embassy-stm32/gen.py
index ccf5467ae..980eecdc7 100644
--- a/embassy-stm32/gen.py
+++ b/embassy-stm32/gen.py
@@ -11,6 +11,7 @@ abspath = os.path.abspath(__file__)
11dname = os.path.dirname(abspath) 11dname = os.path.dirname(abspath)
12os.chdir(dname) 12os.chdir(dname)
13 13
14# ======= load chips
14chips = {} 15chips = {}
15for f in sorted(glob('stm32-data/data/chips/*.yaml')): 16for f in sorted(glob('stm32-data/data/chips/*.yaml')):
16 if 'STM32F4' not in f: 17 if 'STM32F4' not in f:
@@ -21,6 +22,14 @@ for f in sorted(glob('stm32-data/data/chips/*.yaml')):
21 print(chip['name']) 22 print(chip['name'])
22 chips[chip['name']] = chip 23 chips[chip['name']] = chip
23 24
25# ======= load GPIO AF
26gpio_afs = {}
27for f in sorted(glob('stm32-data/data/gpio_af/*.yaml')):
28 name = f.split('/')[-1].split('.')[0]
29 with open(f, 'r') as f:
30 af = yaml.load(f, Loader=yaml.SafeLoader)
31 gpio_afs[name] = af
32
24# ========= Update chip/mod.rs 33# ========= Update chip/mod.rs
25 34
26with open('src/chip/mod.rs', 'w') as f: 35with open('src/chip/mod.rs', 'w') as f:
@@ -49,6 +58,7 @@ with open('Cargo.toml', 'w') as f:
49 58
50for chip in chips.values(): 59for chip in chips.values():
51 print(f'generating {chip["name"]}') 60 print(f'generating {chip["name"]}')
61 af = gpio_afs[chip['gpio_af']]
52 peripherals = [] 62 peripherals = []
53 impls = [] 63 impls = []
54 pins = set() 64 pins = set()
@@ -71,13 +81,30 @@ for chip in chips.values():
71 pin = f'P{port}{pin_num}' 81 pin = f'P{port}{pin_num}'
72 pins.add(pin) 82 pins.add(pin)
73 peripherals.append(pin) 83 peripherals.append(pin)
74 impls.append( 84 impls.append(f'impl_gpio_pin!({pin}, {port_num}, {pin_num}, EXTI{pin_num});')
75 f'impl_gpio_pin!({pin}, {port_num}, {pin_num}, EXTI{pin_num});')
76 continue 85 continue
77 86
78 # TODO maybe we should only autogenerate the known ones...?? 87 # TODO maybe we should only autogenerate the known ones...??
79 peripherals.append(name) 88 peripherals.append(name)
80 89
90 if 'block' not in peri:
91 continue
92
93 if peri['block'] == 'usart_v1/USART':
94 impls.append(f'impl_usart!({name}, 0x{peri["address"]:x});')
95 for pin, funcs in af.items():
96 if pin in pins:
97 if func := funcs.get(f'{name}_RX'):
98 impls.append(f'impl_usart_pin!({name}, RxPin, {pin}, {func});')
99 if func := funcs.get(f'{name}_TX'):
100 impls.append(f'impl_usart_pin!({name}, TxPin, {pin}, {func});')
101 if func := funcs.get(f'{name}_CTS'):
102 impls.append(f'impl_usart_pin!({name}, CtsPin, {pin}, {func});')
103 if func := funcs.get(f'{name}_RTS'):
104 impls.append(f'impl_usart_pin!({name}, RtsPin, {pin}, {func});')
105 if func := funcs.get(f'{name}_CK'):
106 impls.append(f'impl_usart_pin!({name}, CkPin, {pin}, {func});')
107
81 with open(f'src/chip/{chip["name"]}.rs', 'w') as f: 108 with open(f'src/chip/{chip["name"]}.rs', 'w') as f:
82 # TODO uart etc 109 # TODO uart etc
83 # TODO import the right GPIO AF map mod 110 # TODO import the right GPIO AF map mod
diff --git a/embassy-stm32/src/chip/stm32f401cb.rs b/embassy-stm32/src/chip/stm32f401cb.rs
index 2af74c4cb..2eeb68f35 100644
--- a/embassy-stm32/src/chip/stm32f401cb.rs
+++ b/embassy-stm32/src/chip/stm32f401cb.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401cc.rs b/embassy-stm32/src/chip/stm32f401cc.rs
index 2af74c4cb..2eeb68f35 100644
--- a/embassy-stm32/src/chip/stm32f401cc.rs
+++ b/embassy-stm32/src/chip/stm32f401cc.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401cd.rs b/embassy-stm32/src/chip/stm32f401cd.rs
index 2af74c4cb..2eeb68f35 100644
--- a/embassy-stm32/src/chip/stm32f401cd.rs
+++ b/embassy-stm32/src/chip/stm32f401cd.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401ce.rs b/embassy-stm32/src/chip/stm32f401ce.rs
index 2af74c4cb..2eeb68f35 100644
--- a/embassy-stm32/src/chip/stm32f401ce.rs
+++ b/embassy-stm32/src/chip/stm32f401ce.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401rb.rs b/embassy-stm32/src/chip/stm32f401rb.rs
index 0165142f4..1151263e4 100644
--- a/embassy-stm32/src/chip/stm32f401rb.rs
+++ b/embassy-stm32/src/chip/stm32f401rb.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401rc.rs b/embassy-stm32/src/chip/stm32f401rc.rs
index 0165142f4..1151263e4 100644
--- a/embassy-stm32/src/chip/stm32f401rc.rs
+++ b/embassy-stm32/src/chip/stm32f401rc.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401rd.rs b/embassy-stm32/src/chip/stm32f401rd.rs
index 0165142f4..1151263e4 100644
--- a/embassy-stm32/src/chip/stm32f401rd.rs
+++ b/embassy-stm32/src/chip/stm32f401rd.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401re.rs b/embassy-stm32/src/chip/stm32f401re.rs
index 0165142f4..1151263e4 100644
--- a/embassy-stm32/src/chip/stm32f401re.rs
+++ b/embassy-stm32/src/chip/stm32f401re.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401vb.rs b/embassy-stm32/src/chip/stm32f401vb.rs
index 5efee0970..1265de986 100644
--- a/embassy-stm32/src/chip/stm32f401vb.rs
+++ b/embassy-stm32/src/chip/stm32f401vb.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401vc.rs b/embassy-stm32/src/chip/stm32f401vc.rs
index 5efee0970..1265de986 100644
--- a/embassy-stm32/src/chip/stm32f401vc.rs
+++ b/embassy-stm32/src/chip/stm32f401vc.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401vd.rs b/embassy-stm32/src/chip/stm32f401vd.rs
index 5efee0970..1265de986 100644
--- a/embassy-stm32/src/chip/stm32f401vd.rs
+++ b/embassy-stm32/src/chip/stm32f401vd.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f401ve.rs b/embassy-stm32/src/chip/stm32f401ve.rs
index 5efee0970..1265de986 100644
--- a/embassy-stm32/src/chip/stm32f401ve.rs
+++ b/embassy-stm32/src/chip/stm32f401ve.rs
@@ -108,3 +108,28 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, CkPin, PA8, 7);
116impl_usart_pin!(USART1, TxPin, PA9, 7);
117impl_usart_pin!(USART1, TxPin, PB6, 7);
118impl_usart_pin!(USART1, RxPin, PB7, 7);
119impl_usart!(USART2, 0x40004400);
120impl_usart_pin!(USART2, CtsPin, PA0, 7);
121impl_usart_pin!(USART2, RtsPin, PA1, 7);
122impl_usart_pin!(USART2, TxPin, PA2, 7);
123impl_usart_pin!(USART2, RxPin, PA3, 7);
124impl_usart_pin!(USART2, CkPin, PA4, 7);
125impl_usart_pin!(USART2, CtsPin, PD3, 7);
126impl_usart_pin!(USART2, RtsPin, PD4, 7);
127impl_usart_pin!(USART2, TxPin, PD5, 7);
128impl_usart_pin!(USART2, RxPin, PD6, 7);
129impl_usart_pin!(USART2, CkPin, PD7, 7);
130impl_usart!(USART6, 0x40011400);
131impl_usart_pin!(USART6, TxPin, PA11, 8);
132impl_usart_pin!(USART6, RxPin, PA12, 8);
133impl_usart_pin!(USART6, TxPin, PC6, 8);
134impl_usart_pin!(USART6, RxPin, PC7, 8);
135impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f405oe.rs b/embassy-stm32/src/chip/stm32f405oe.rs
index 08837bc8f..a4a3ba27b 100644
--- a/embassy-stm32/src/chip/stm32f405oe.rs
+++ b/embassy-stm32/src/chip/stm32f405oe.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f405og.rs b/embassy-stm32/src/chip/stm32f405og.rs
index 08837bc8f..a4a3ba27b 100644
--- a/embassy-stm32/src/chip/stm32f405og.rs
+++ b/embassy-stm32/src/chip/stm32f405og.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f405rg.rs b/embassy-stm32/src/chip/stm32f405rg.rs
index 08837bc8f..a4a3ba27b 100644
--- a/embassy-stm32/src/chip/stm32f405rg.rs
+++ b/embassy-stm32/src/chip/stm32f405rg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f405vg.rs b/embassy-stm32/src/chip/stm32f405vg.rs
index 08837bc8f..a4a3ba27b 100644
--- a/embassy-stm32/src/chip/stm32f405vg.rs
+++ b/embassy-stm32/src/chip/stm32f405vg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f405zg.rs b/embassy-stm32/src/chip/stm32f405zg.rs
index 08837bc8f..a4a3ba27b 100644
--- a/embassy-stm32/src/chip/stm32f405zg.rs
+++ b/embassy-stm32/src/chip/stm32f405zg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f407ie.rs b/embassy-stm32/src/chip/stm32f407ie.rs
index 162a21398..814448ea0 100644
--- a/embassy-stm32/src/chip/stm32f407ie.rs
+++ b/embassy-stm32/src/chip/stm32f407ie.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f407ig.rs b/embassy-stm32/src/chip/stm32f407ig.rs
index 162a21398..814448ea0 100644
--- a/embassy-stm32/src/chip/stm32f407ig.rs
+++ b/embassy-stm32/src/chip/stm32f407ig.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f407ve.rs b/embassy-stm32/src/chip/stm32f407ve.rs
index 162a21398..814448ea0 100644
--- a/embassy-stm32/src/chip/stm32f407ve.rs
+++ b/embassy-stm32/src/chip/stm32f407ve.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f407vg.rs b/embassy-stm32/src/chip/stm32f407vg.rs
index 162a21398..814448ea0 100644
--- a/embassy-stm32/src/chip/stm32f407vg.rs
+++ b/embassy-stm32/src/chip/stm32f407vg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f407ze.rs b/embassy-stm32/src/chip/stm32f407ze.rs
index 162a21398..814448ea0 100644
--- a/embassy-stm32/src/chip/stm32f407ze.rs
+++ b/embassy-stm32/src/chip/stm32f407ze.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f407zg.rs b/embassy-stm32/src/chip/stm32f407zg.rs
index 162a21398..814448ea0 100644
--- a/embassy-stm32/src/chip/stm32f407zg.rs
+++ b/embassy-stm32/src/chip/stm32f407zg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f410c8.rs b/embassy-stm32/src/chip/stm32f410c8.rs
index 74631fd17..ab6ffbc4e 100644
--- a/embassy-stm32/src/chip/stm32f410c8.rs
+++ b/embassy-stm32/src/chip/stm32f410c8.rs
@@ -74,3 +74,25 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
74impl_gpio_pin!(PH13, 7, 13, EXTI13); 74impl_gpio_pin!(PH13, 7, 13, EXTI13);
75impl_gpio_pin!(PH14, 7, 14, EXTI14); 75impl_gpio_pin!(PH14, 7, 14, EXTI14);
76impl_gpio_pin!(PH15, 7, 15, EXTI15); 76impl_gpio_pin!(PH15, 7, 15, EXTI15);
77impl_usart!(USART1, 0x40011000);
78impl_usart_pin!(USART1, RxPin, PA10, 7);
79impl_usart_pin!(USART1, CtsPin, PA11, 7);
80impl_usart_pin!(USART1, RtsPin, PA12, 7);
81impl_usart_pin!(USART1, TxPin, PA15, 7);
82impl_usart_pin!(USART1, CkPin, PA8, 7);
83impl_usart_pin!(USART1, TxPin, PA9, 7);
84impl_usart_pin!(USART1, RxPin, PB3, 7);
85impl_usart_pin!(USART1, TxPin, PB6, 7);
86impl_usart_pin!(USART1, RxPin, PB7, 7);
87impl_usart!(USART2, 0x40004400);
88impl_usart_pin!(USART2, CtsPin, PA0, 7);
89impl_usart_pin!(USART2, RtsPin, PA1, 7);
90impl_usart_pin!(USART2, TxPin, PA2, 7);
91impl_usart_pin!(USART2, RxPin, PA3, 7);
92impl_usart_pin!(USART2, CkPin, PA4, 7);
93impl_usart!(USART6, 0x40011400);
94impl_usart_pin!(USART6, TxPin, PA11, 8);
95impl_usart_pin!(USART6, RxPin, PA12, 8);
96impl_usart_pin!(USART6, TxPin, PC6, 8);
97impl_usart_pin!(USART6, RxPin, PC7, 8);
98impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f410cb.rs b/embassy-stm32/src/chip/stm32f410cb.rs
index 74631fd17..ab6ffbc4e 100644
--- a/embassy-stm32/src/chip/stm32f410cb.rs
+++ b/embassy-stm32/src/chip/stm32f410cb.rs
@@ -74,3 +74,25 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
74impl_gpio_pin!(PH13, 7, 13, EXTI13); 74impl_gpio_pin!(PH13, 7, 13, EXTI13);
75impl_gpio_pin!(PH14, 7, 14, EXTI14); 75impl_gpio_pin!(PH14, 7, 14, EXTI14);
76impl_gpio_pin!(PH15, 7, 15, EXTI15); 76impl_gpio_pin!(PH15, 7, 15, EXTI15);
77impl_usart!(USART1, 0x40011000);
78impl_usart_pin!(USART1, RxPin, PA10, 7);
79impl_usart_pin!(USART1, CtsPin, PA11, 7);
80impl_usart_pin!(USART1, RtsPin, PA12, 7);
81impl_usart_pin!(USART1, TxPin, PA15, 7);
82impl_usart_pin!(USART1, CkPin, PA8, 7);
83impl_usart_pin!(USART1, TxPin, PA9, 7);
84impl_usart_pin!(USART1, RxPin, PB3, 7);
85impl_usart_pin!(USART1, TxPin, PB6, 7);
86impl_usart_pin!(USART1, RxPin, PB7, 7);
87impl_usart!(USART2, 0x40004400);
88impl_usart_pin!(USART2, CtsPin, PA0, 7);
89impl_usart_pin!(USART2, RtsPin, PA1, 7);
90impl_usart_pin!(USART2, TxPin, PA2, 7);
91impl_usart_pin!(USART2, RxPin, PA3, 7);
92impl_usart_pin!(USART2, CkPin, PA4, 7);
93impl_usart!(USART6, 0x40011400);
94impl_usart_pin!(USART6, TxPin, PA11, 8);
95impl_usart_pin!(USART6, RxPin, PA12, 8);
96impl_usart_pin!(USART6, TxPin, PC6, 8);
97impl_usart_pin!(USART6, RxPin, PC7, 8);
98impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f410r8.rs b/embassy-stm32/src/chip/stm32f410r8.rs
index 74631fd17..ab6ffbc4e 100644
--- a/embassy-stm32/src/chip/stm32f410r8.rs
+++ b/embassy-stm32/src/chip/stm32f410r8.rs
@@ -74,3 +74,25 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
74impl_gpio_pin!(PH13, 7, 13, EXTI13); 74impl_gpio_pin!(PH13, 7, 13, EXTI13);
75impl_gpio_pin!(PH14, 7, 14, EXTI14); 75impl_gpio_pin!(PH14, 7, 14, EXTI14);
76impl_gpio_pin!(PH15, 7, 15, EXTI15); 76impl_gpio_pin!(PH15, 7, 15, EXTI15);
77impl_usart!(USART1, 0x40011000);
78impl_usart_pin!(USART1, RxPin, PA10, 7);
79impl_usart_pin!(USART1, CtsPin, PA11, 7);
80impl_usart_pin!(USART1, RtsPin, PA12, 7);
81impl_usart_pin!(USART1, TxPin, PA15, 7);
82impl_usart_pin!(USART1, CkPin, PA8, 7);
83impl_usart_pin!(USART1, TxPin, PA9, 7);
84impl_usart_pin!(USART1, RxPin, PB3, 7);
85impl_usart_pin!(USART1, TxPin, PB6, 7);
86impl_usart_pin!(USART1, RxPin, PB7, 7);
87impl_usart!(USART2, 0x40004400);
88impl_usart_pin!(USART2, CtsPin, PA0, 7);
89impl_usart_pin!(USART2, RtsPin, PA1, 7);
90impl_usart_pin!(USART2, TxPin, PA2, 7);
91impl_usart_pin!(USART2, RxPin, PA3, 7);
92impl_usart_pin!(USART2, CkPin, PA4, 7);
93impl_usart!(USART6, 0x40011400);
94impl_usart_pin!(USART6, TxPin, PA11, 8);
95impl_usart_pin!(USART6, RxPin, PA12, 8);
96impl_usart_pin!(USART6, TxPin, PC6, 8);
97impl_usart_pin!(USART6, RxPin, PC7, 8);
98impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f410rb.rs b/embassy-stm32/src/chip/stm32f410rb.rs
index 74631fd17..ab6ffbc4e 100644
--- a/embassy-stm32/src/chip/stm32f410rb.rs
+++ b/embassy-stm32/src/chip/stm32f410rb.rs
@@ -74,3 +74,25 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
74impl_gpio_pin!(PH13, 7, 13, EXTI13); 74impl_gpio_pin!(PH13, 7, 13, EXTI13);
75impl_gpio_pin!(PH14, 7, 14, EXTI14); 75impl_gpio_pin!(PH14, 7, 14, EXTI14);
76impl_gpio_pin!(PH15, 7, 15, EXTI15); 76impl_gpio_pin!(PH15, 7, 15, EXTI15);
77impl_usart!(USART1, 0x40011000);
78impl_usart_pin!(USART1, RxPin, PA10, 7);
79impl_usart_pin!(USART1, CtsPin, PA11, 7);
80impl_usart_pin!(USART1, RtsPin, PA12, 7);
81impl_usart_pin!(USART1, TxPin, PA15, 7);
82impl_usart_pin!(USART1, CkPin, PA8, 7);
83impl_usart_pin!(USART1, TxPin, PA9, 7);
84impl_usart_pin!(USART1, RxPin, PB3, 7);
85impl_usart_pin!(USART1, TxPin, PB6, 7);
86impl_usart_pin!(USART1, RxPin, PB7, 7);
87impl_usart!(USART2, 0x40004400);
88impl_usart_pin!(USART2, CtsPin, PA0, 7);
89impl_usart_pin!(USART2, RtsPin, PA1, 7);
90impl_usart_pin!(USART2, TxPin, PA2, 7);
91impl_usart_pin!(USART2, RxPin, PA3, 7);
92impl_usart_pin!(USART2, CkPin, PA4, 7);
93impl_usart!(USART6, 0x40011400);
94impl_usart_pin!(USART6, TxPin, PA11, 8);
95impl_usart_pin!(USART6, RxPin, PA12, 8);
96impl_usart_pin!(USART6, TxPin, PC6, 8);
97impl_usart_pin!(USART6, RxPin, PC7, 8);
98impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f410t8.rs b/embassy-stm32/src/chip/stm32f410t8.rs
index 5b69afec9..d7e117fa6 100644
--- a/embassy-stm32/src/chip/stm32f410t8.rs
+++ b/embassy-stm32/src/chip/stm32f410t8.rs
@@ -74,3 +74,19 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
74impl_gpio_pin!(PH13, 7, 13, EXTI13); 74impl_gpio_pin!(PH13, 7, 13, EXTI13);
75impl_gpio_pin!(PH14, 7, 14, EXTI14); 75impl_gpio_pin!(PH14, 7, 14, EXTI14);
76impl_gpio_pin!(PH15, 7, 15, EXTI15); 76impl_gpio_pin!(PH15, 7, 15, EXTI15);
77impl_usart!(USART1, 0x40011000);
78impl_usart_pin!(USART1, RxPin, PA10, 7);
79impl_usart_pin!(USART1, CtsPin, PA11, 7);
80impl_usart_pin!(USART1, RtsPin, PA12, 7);
81impl_usart_pin!(USART1, TxPin, PA15, 7);
82impl_usart_pin!(USART1, CkPin, PA8, 7);
83impl_usart_pin!(USART1, TxPin, PA9, 7);
84impl_usart_pin!(USART1, RxPin, PB3, 7);
85impl_usart_pin!(USART1, TxPin, PB6, 7);
86impl_usart_pin!(USART1, RxPin, PB7, 7);
87impl_usart!(USART2, 0x40004400);
88impl_usart_pin!(USART2, CtsPin, PA0, 7);
89impl_usart_pin!(USART2, RtsPin, PA1, 7);
90impl_usart_pin!(USART2, TxPin, PA2, 7);
91impl_usart_pin!(USART2, RxPin, PA3, 7);
92impl_usart_pin!(USART2, CkPin, PA4, 7);
diff --git a/embassy-stm32/src/chip/stm32f410tb.rs b/embassy-stm32/src/chip/stm32f410tb.rs
index 5b69afec9..d7e117fa6 100644
--- a/embassy-stm32/src/chip/stm32f410tb.rs
+++ b/embassy-stm32/src/chip/stm32f410tb.rs
@@ -74,3 +74,19 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
74impl_gpio_pin!(PH13, 7, 13, EXTI13); 74impl_gpio_pin!(PH13, 7, 13, EXTI13);
75impl_gpio_pin!(PH14, 7, 14, EXTI14); 75impl_gpio_pin!(PH14, 7, 14, EXTI14);
76impl_gpio_pin!(PH15, 7, 15, EXTI15); 76impl_gpio_pin!(PH15, 7, 15, EXTI15);
77impl_usart!(USART1, 0x40011000);
78impl_usart_pin!(USART1, RxPin, PA10, 7);
79impl_usart_pin!(USART1, CtsPin, PA11, 7);
80impl_usart_pin!(USART1, RtsPin, PA12, 7);
81impl_usart_pin!(USART1, TxPin, PA15, 7);
82impl_usart_pin!(USART1, CkPin, PA8, 7);
83impl_usart_pin!(USART1, TxPin, PA9, 7);
84impl_usart_pin!(USART1, RxPin, PB3, 7);
85impl_usart_pin!(USART1, TxPin, PB6, 7);
86impl_usart_pin!(USART1, RxPin, PB7, 7);
87impl_usart!(USART2, 0x40004400);
88impl_usart_pin!(USART2, CtsPin, PA0, 7);
89impl_usart_pin!(USART2, RtsPin, PA1, 7);
90impl_usart_pin!(USART2, TxPin, PA2, 7);
91impl_usart_pin!(USART2, RxPin, PA3, 7);
92impl_usart_pin!(USART2, CkPin, PA4, 7);
diff --git a/embassy-stm32/src/chip/stm32f411cc.rs b/embassy-stm32/src/chip/stm32f411cc.rs
index dc604f4c0..5f90e3f4b 100644
--- a/embassy-stm32/src/chip/stm32f411cc.rs
+++ b/embassy-stm32/src/chip/stm32f411cc.rs
@@ -108,3 +108,30 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, TxPin, PA15, 7);
116impl_usart_pin!(USART1, CkPin, PA8, 7);
117impl_usart_pin!(USART1, TxPin, PA9, 7);
118impl_usart_pin!(USART1, RxPin, PB3, 7);
119impl_usart_pin!(USART1, TxPin, PB6, 7);
120impl_usart_pin!(USART1, RxPin, PB7, 7);
121impl_usart!(USART2, 0x40004400);
122impl_usart_pin!(USART2, CtsPin, PA0, 7);
123impl_usart_pin!(USART2, RtsPin, PA1, 7);
124impl_usart_pin!(USART2, TxPin, PA2, 7);
125impl_usart_pin!(USART2, RxPin, PA3, 7);
126impl_usart_pin!(USART2, CkPin, PA4, 7);
127impl_usart_pin!(USART2, CtsPin, PD3, 7);
128impl_usart_pin!(USART2, RtsPin, PD4, 7);
129impl_usart_pin!(USART2, TxPin, PD5, 7);
130impl_usart_pin!(USART2, RxPin, PD6, 7);
131impl_usart_pin!(USART2, CkPin, PD7, 7);
132impl_usart!(USART6, 0x40011400);
133impl_usart_pin!(USART6, TxPin, PA11, 8);
134impl_usart_pin!(USART6, RxPin, PA12, 8);
135impl_usart_pin!(USART6, TxPin, PC6, 8);
136impl_usart_pin!(USART6, RxPin, PC7, 8);
137impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f411ce.rs b/embassy-stm32/src/chip/stm32f411ce.rs
index dc604f4c0..5f90e3f4b 100644
--- a/embassy-stm32/src/chip/stm32f411ce.rs
+++ b/embassy-stm32/src/chip/stm32f411ce.rs
@@ -108,3 +108,30 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, TxPin, PA15, 7);
116impl_usart_pin!(USART1, CkPin, PA8, 7);
117impl_usart_pin!(USART1, TxPin, PA9, 7);
118impl_usart_pin!(USART1, RxPin, PB3, 7);
119impl_usart_pin!(USART1, TxPin, PB6, 7);
120impl_usart_pin!(USART1, RxPin, PB7, 7);
121impl_usart!(USART2, 0x40004400);
122impl_usart_pin!(USART2, CtsPin, PA0, 7);
123impl_usart_pin!(USART2, RtsPin, PA1, 7);
124impl_usart_pin!(USART2, TxPin, PA2, 7);
125impl_usart_pin!(USART2, RxPin, PA3, 7);
126impl_usart_pin!(USART2, CkPin, PA4, 7);
127impl_usart_pin!(USART2, CtsPin, PD3, 7);
128impl_usart_pin!(USART2, RtsPin, PD4, 7);
129impl_usart_pin!(USART2, TxPin, PD5, 7);
130impl_usart_pin!(USART2, RxPin, PD6, 7);
131impl_usart_pin!(USART2, CkPin, PD7, 7);
132impl_usart!(USART6, 0x40011400);
133impl_usart_pin!(USART6, TxPin, PA11, 8);
134impl_usart_pin!(USART6, RxPin, PA12, 8);
135impl_usart_pin!(USART6, TxPin, PC6, 8);
136impl_usart_pin!(USART6, RxPin, PC7, 8);
137impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f411rc.rs b/embassy-stm32/src/chip/stm32f411rc.rs
index dc604f4c0..5f90e3f4b 100644
--- a/embassy-stm32/src/chip/stm32f411rc.rs
+++ b/embassy-stm32/src/chip/stm32f411rc.rs
@@ -108,3 +108,30 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, TxPin, PA15, 7);
116impl_usart_pin!(USART1, CkPin, PA8, 7);
117impl_usart_pin!(USART1, TxPin, PA9, 7);
118impl_usart_pin!(USART1, RxPin, PB3, 7);
119impl_usart_pin!(USART1, TxPin, PB6, 7);
120impl_usart_pin!(USART1, RxPin, PB7, 7);
121impl_usart!(USART2, 0x40004400);
122impl_usart_pin!(USART2, CtsPin, PA0, 7);
123impl_usart_pin!(USART2, RtsPin, PA1, 7);
124impl_usart_pin!(USART2, TxPin, PA2, 7);
125impl_usart_pin!(USART2, RxPin, PA3, 7);
126impl_usart_pin!(USART2, CkPin, PA4, 7);
127impl_usart_pin!(USART2, CtsPin, PD3, 7);
128impl_usart_pin!(USART2, RtsPin, PD4, 7);
129impl_usart_pin!(USART2, TxPin, PD5, 7);
130impl_usart_pin!(USART2, RxPin, PD6, 7);
131impl_usart_pin!(USART2, CkPin, PD7, 7);
132impl_usart!(USART6, 0x40011400);
133impl_usart_pin!(USART6, TxPin, PA11, 8);
134impl_usart_pin!(USART6, RxPin, PA12, 8);
135impl_usart_pin!(USART6, TxPin, PC6, 8);
136impl_usart_pin!(USART6, RxPin, PC7, 8);
137impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f411re.rs b/embassy-stm32/src/chip/stm32f411re.rs
index dc604f4c0..5f90e3f4b 100644
--- a/embassy-stm32/src/chip/stm32f411re.rs
+++ b/embassy-stm32/src/chip/stm32f411re.rs
@@ -108,3 +108,30 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, TxPin, PA15, 7);
116impl_usart_pin!(USART1, CkPin, PA8, 7);
117impl_usart_pin!(USART1, TxPin, PA9, 7);
118impl_usart_pin!(USART1, RxPin, PB3, 7);
119impl_usart_pin!(USART1, TxPin, PB6, 7);
120impl_usart_pin!(USART1, RxPin, PB7, 7);
121impl_usart!(USART2, 0x40004400);
122impl_usart_pin!(USART2, CtsPin, PA0, 7);
123impl_usart_pin!(USART2, RtsPin, PA1, 7);
124impl_usart_pin!(USART2, TxPin, PA2, 7);
125impl_usart_pin!(USART2, RxPin, PA3, 7);
126impl_usart_pin!(USART2, CkPin, PA4, 7);
127impl_usart_pin!(USART2, CtsPin, PD3, 7);
128impl_usart_pin!(USART2, RtsPin, PD4, 7);
129impl_usart_pin!(USART2, TxPin, PD5, 7);
130impl_usart_pin!(USART2, RxPin, PD6, 7);
131impl_usart_pin!(USART2, CkPin, PD7, 7);
132impl_usart!(USART6, 0x40011400);
133impl_usart_pin!(USART6, TxPin, PA11, 8);
134impl_usart_pin!(USART6, RxPin, PA12, 8);
135impl_usart_pin!(USART6, TxPin, PC6, 8);
136impl_usart_pin!(USART6, RxPin, PC7, 8);
137impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f411vc.rs b/embassy-stm32/src/chip/stm32f411vc.rs
index dc604f4c0..5f90e3f4b 100644
--- a/embassy-stm32/src/chip/stm32f411vc.rs
+++ b/embassy-stm32/src/chip/stm32f411vc.rs
@@ -108,3 +108,30 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, TxPin, PA15, 7);
116impl_usart_pin!(USART1, CkPin, PA8, 7);
117impl_usart_pin!(USART1, TxPin, PA9, 7);
118impl_usart_pin!(USART1, RxPin, PB3, 7);
119impl_usart_pin!(USART1, TxPin, PB6, 7);
120impl_usart_pin!(USART1, RxPin, PB7, 7);
121impl_usart!(USART2, 0x40004400);
122impl_usart_pin!(USART2, CtsPin, PA0, 7);
123impl_usart_pin!(USART2, RtsPin, PA1, 7);
124impl_usart_pin!(USART2, TxPin, PA2, 7);
125impl_usart_pin!(USART2, RxPin, PA3, 7);
126impl_usart_pin!(USART2, CkPin, PA4, 7);
127impl_usart_pin!(USART2, CtsPin, PD3, 7);
128impl_usart_pin!(USART2, RtsPin, PD4, 7);
129impl_usart_pin!(USART2, TxPin, PD5, 7);
130impl_usart_pin!(USART2, RxPin, PD6, 7);
131impl_usart_pin!(USART2, CkPin, PD7, 7);
132impl_usart!(USART6, 0x40011400);
133impl_usart_pin!(USART6, TxPin, PA11, 8);
134impl_usart_pin!(USART6, RxPin, PA12, 8);
135impl_usart_pin!(USART6, TxPin, PC6, 8);
136impl_usart_pin!(USART6, RxPin, PC7, 8);
137impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f411ve.rs b/embassy-stm32/src/chip/stm32f411ve.rs
index dc604f4c0..5f90e3f4b 100644
--- a/embassy-stm32/src/chip/stm32f411ve.rs
+++ b/embassy-stm32/src/chip/stm32f411ve.rs
@@ -108,3 +108,30 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
108impl_gpio_pin!(PH13, 7, 13, EXTI13); 108impl_gpio_pin!(PH13, 7, 13, EXTI13);
109impl_gpio_pin!(PH14, 7, 14, EXTI14); 109impl_gpio_pin!(PH14, 7, 14, EXTI14);
110impl_gpio_pin!(PH15, 7, 15, EXTI15); 110impl_gpio_pin!(PH15, 7, 15, EXTI15);
111impl_usart!(USART1, 0x40011000);
112impl_usart_pin!(USART1, RxPin, PA10, 7);
113impl_usart_pin!(USART1, CtsPin, PA11, 7);
114impl_usart_pin!(USART1, RtsPin, PA12, 7);
115impl_usart_pin!(USART1, TxPin, PA15, 7);
116impl_usart_pin!(USART1, CkPin, PA8, 7);
117impl_usart_pin!(USART1, TxPin, PA9, 7);
118impl_usart_pin!(USART1, RxPin, PB3, 7);
119impl_usart_pin!(USART1, TxPin, PB6, 7);
120impl_usart_pin!(USART1, RxPin, PB7, 7);
121impl_usart!(USART2, 0x40004400);
122impl_usart_pin!(USART2, CtsPin, PA0, 7);
123impl_usart_pin!(USART2, RtsPin, PA1, 7);
124impl_usart_pin!(USART2, TxPin, PA2, 7);
125impl_usart_pin!(USART2, RxPin, PA3, 7);
126impl_usart_pin!(USART2, CkPin, PA4, 7);
127impl_usart_pin!(USART2, CtsPin, PD3, 7);
128impl_usart_pin!(USART2, RtsPin, PD4, 7);
129impl_usart_pin!(USART2, TxPin, PD5, 7);
130impl_usart_pin!(USART2, RxPin, PD6, 7);
131impl_usart_pin!(USART2, CkPin, PD7, 7);
132impl_usart!(USART6, 0x40011400);
133impl_usart_pin!(USART6, TxPin, PA11, 8);
134impl_usart_pin!(USART6, RxPin, PA12, 8);
135impl_usart_pin!(USART6, TxPin, PC6, 8);
136impl_usart_pin!(USART6, RxPin, PC7, 8);
137impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f412ce.rs b/embassy-stm32/src/chip/stm32f412ce.rs
index df5e3f8ab..d67df4587 100644
--- a/embassy-stm32/src/chip/stm32f412ce.rs
+++ b/embassy-stm32/src/chip/stm32f412ce.rs
@@ -75,3 +75,35 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
75impl_gpio_pin!(PH13, 7, 13, EXTI13); 75impl_gpio_pin!(PH13, 7, 13, EXTI13);
76impl_gpio_pin!(PH14, 7, 14, EXTI14); 76impl_gpio_pin!(PH14, 7, 14, EXTI14);
77impl_gpio_pin!(PH15, 7, 15, EXTI15); 77impl_gpio_pin!(PH15, 7, 15, EXTI15);
78impl_usart!(USART1, 0x40011000);
79impl_usart_pin!(USART1, RxPin, PA10, 7);
80impl_usart_pin!(USART1, CtsPin, PA11, 7);
81impl_usart_pin!(USART1, RtsPin, PA12, 7);
82impl_usart_pin!(USART1, TxPin, PA15, 7);
83impl_usart_pin!(USART1, CkPin, PA8, 7);
84impl_usart_pin!(USART1, TxPin, PA9, 7);
85impl_usart_pin!(USART1, RxPin, PB3, 7);
86impl_usart_pin!(USART1, TxPin, PB6, 7);
87impl_usart_pin!(USART1, RxPin, PB7, 7);
88impl_usart!(USART2, 0x40004400);
89impl_usart_pin!(USART2, CtsPin, PA0, 7);
90impl_usart_pin!(USART2, RtsPin, PA1, 7);
91impl_usart_pin!(USART2, TxPin, PA2, 7);
92impl_usart_pin!(USART2, RxPin, PA3, 7);
93impl_usart_pin!(USART2, CkPin, PA4, 7);
94impl_usart!(USART3, 0x40004800);
95impl_usart_pin!(USART3, TxPin, PB10, 7);
96impl_usart_pin!(USART3, RxPin, PB11, 7);
97impl_usart_pin!(USART3, CkPin, PB12, 8);
98impl_usart_pin!(USART3, CtsPin, PB13, 8);
99impl_usart_pin!(USART3, RtsPin, PB14, 7);
100impl_usart_pin!(USART3, TxPin, PC10, 7);
101impl_usart_pin!(USART3, RxPin, PC11, 7);
102impl_usart_pin!(USART3, CkPin, PC12, 7);
103impl_usart_pin!(USART3, RxPin, PC5, 7);
104impl_usart!(USART6, 0x40011400);
105impl_usart_pin!(USART6, TxPin, PA11, 8);
106impl_usart_pin!(USART6, RxPin, PA12, 8);
107impl_usart_pin!(USART6, TxPin, PC6, 8);
108impl_usart_pin!(USART6, RxPin, PC7, 8);
109impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f412cg.rs b/embassy-stm32/src/chip/stm32f412cg.rs
index df5e3f8ab..d67df4587 100644
--- a/embassy-stm32/src/chip/stm32f412cg.rs
+++ b/embassy-stm32/src/chip/stm32f412cg.rs
@@ -75,3 +75,35 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
75impl_gpio_pin!(PH13, 7, 13, EXTI13); 75impl_gpio_pin!(PH13, 7, 13, EXTI13);
76impl_gpio_pin!(PH14, 7, 14, EXTI14); 76impl_gpio_pin!(PH14, 7, 14, EXTI14);
77impl_gpio_pin!(PH15, 7, 15, EXTI15); 77impl_gpio_pin!(PH15, 7, 15, EXTI15);
78impl_usart!(USART1, 0x40011000);
79impl_usart_pin!(USART1, RxPin, PA10, 7);
80impl_usart_pin!(USART1, CtsPin, PA11, 7);
81impl_usart_pin!(USART1, RtsPin, PA12, 7);
82impl_usart_pin!(USART1, TxPin, PA15, 7);
83impl_usart_pin!(USART1, CkPin, PA8, 7);
84impl_usart_pin!(USART1, TxPin, PA9, 7);
85impl_usart_pin!(USART1, RxPin, PB3, 7);
86impl_usart_pin!(USART1, TxPin, PB6, 7);
87impl_usart_pin!(USART1, RxPin, PB7, 7);
88impl_usart!(USART2, 0x40004400);
89impl_usart_pin!(USART2, CtsPin, PA0, 7);
90impl_usart_pin!(USART2, RtsPin, PA1, 7);
91impl_usart_pin!(USART2, TxPin, PA2, 7);
92impl_usart_pin!(USART2, RxPin, PA3, 7);
93impl_usart_pin!(USART2, CkPin, PA4, 7);
94impl_usart!(USART3, 0x40004800);
95impl_usart_pin!(USART3, TxPin, PB10, 7);
96impl_usart_pin!(USART3, RxPin, PB11, 7);
97impl_usart_pin!(USART3, CkPin, PB12, 8);
98impl_usart_pin!(USART3, CtsPin, PB13, 8);
99impl_usart_pin!(USART3, RtsPin, PB14, 7);
100impl_usart_pin!(USART3, TxPin, PC10, 7);
101impl_usart_pin!(USART3, RxPin, PC11, 7);
102impl_usart_pin!(USART3, CkPin, PC12, 7);
103impl_usart_pin!(USART3, RxPin, PC5, 7);
104impl_usart!(USART6, 0x40011400);
105impl_usart_pin!(USART6, TxPin, PA11, 8);
106impl_usart_pin!(USART6, RxPin, PA12, 8);
107impl_usart_pin!(USART6, TxPin, PC6, 8);
108impl_usart_pin!(USART6, RxPin, PC7, 8);
109impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f412re.rs b/embassy-stm32/src/chip/stm32f412re.rs
index d1042c8c0..cd7fcf4df 100644
--- a/embassy-stm32/src/chip/stm32f412re.rs
+++ b/embassy-stm32/src/chip/stm32f412re.rs
@@ -92,3 +92,45 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
92impl_gpio_pin!(PH13, 7, 13, EXTI13); 92impl_gpio_pin!(PH13, 7, 13, EXTI13);
93impl_gpio_pin!(PH14, 7, 14, EXTI14); 93impl_gpio_pin!(PH14, 7, 14, EXTI14);
94impl_gpio_pin!(PH15, 7, 15, EXTI15); 94impl_gpio_pin!(PH15, 7, 15, EXTI15);
95impl_usart!(USART1, 0x40011000);
96impl_usart_pin!(USART1, RxPin, PA10, 7);
97impl_usart_pin!(USART1, CtsPin, PA11, 7);
98impl_usart_pin!(USART1, RtsPin, PA12, 7);
99impl_usart_pin!(USART1, TxPin, PA15, 7);
100impl_usart_pin!(USART1, CkPin, PA8, 7);
101impl_usart_pin!(USART1, TxPin, PA9, 7);
102impl_usart_pin!(USART1, RxPin, PB3, 7);
103impl_usart_pin!(USART1, TxPin, PB6, 7);
104impl_usart_pin!(USART1, RxPin, PB7, 7);
105impl_usart!(USART2, 0x40004400);
106impl_usart_pin!(USART2, CtsPin, PA0, 7);
107impl_usart_pin!(USART2, RtsPin, PA1, 7);
108impl_usart_pin!(USART2, TxPin, PA2, 7);
109impl_usart_pin!(USART2, RxPin, PA3, 7);
110impl_usart_pin!(USART2, CkPin, PA4, 7);
111impl_usart_pin!(USART2, CtsPin, PD3, 7);
112impl_usart_pin!(USART2, RtsPin, PD4, 7);
113impl_usart_pin!(USART2, TxPin, PD5, 7);
114impl_usart_pin!(USART2, RxPin, PD6, 7);
115impl_usart_pin!(USART2, CkPin, PD7, 7);
116impl_usart!(USART3, 0x40004800);
117impl_usart_pin!(USART3, TxPin, PB10, 7);
118impl_usart_pin!(USART3, RxPin, PB11, 7);
119impl_usart_pin!(USART3, CkPin, PB12, 8);
120impl_usart_pin!(USART3, CtsPin, PB13, 8);
121impl_usart_pin!(USART3, RtsPin, PB14, 7);
122impl_usart_pin!(USART3, TxPin, PC10, 7);
123impl_usart_pin!(USART3, RxPin, PC11, 7);
124impl_usart_pin!(USART3, CkPin, PC12, 7);
125impl_usart_pin!(USART3, RxPin, PC5, 7);
126impl_usart_pin!(USART3, CkPin, PD10, 7);
127impl_usart_pin!(USART3, CtsPin, PD11, 7);
128impl_usart_pin!(USART3, RtsPin, PD12, 7);
129impl_usart_pin!(USART3, TxPin, PD8, 7);
130impl_usart_pin!(USART3, RxPin, PD9, 7);
131impl_usart!(USART6, 0x40011400);
132impl_usart_pin!(USART6, TxPin, PA11, 8);
133impl_usart_pin!(USART6, RxPin, PA12, 8);
134impl_usart_pin!(USART6, TxPin, PC6, 8);
135impl_usart_pin!(USART6, RxPin, PC7, 8);
136impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f412rg.rs b/embassy-stm32/src/chip/stm32f412rg.rs
index d1042c8c0..cd7fcf4df 100644
--- a/embassy-stm32/src/chip/stm32f412rg.rs
+++ b/embassy-stm32/src/chip/stm32f412rg.rs
@@ -92,3 +92,45 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
92impl_gpio_pin!(PH13, 7, 13, EXTI13); 92impl_gpio_pin!(PH13, 7, 13, EXTI13);
93impl_gpio_pin!(PH14, 7, 14, EXTI14); 93impl_gpio_pin!(PH14, 7, 14, EXTI14);
94impl_gpio_pin!(PH15, 7, 15, EXTI15); 94impl_gpio_pin!(PH15, 7, 15, EXTI15);
95impl_usart!(USART1, 0x40011000);
96impl_usart_pin!(USART1, RxPin, PA10, 7);
97impl_usart_pin!(USART1, CtsPin, PA11, 7);
98impl_usart_pin!(USART1, RtsPin, PA12, 7);
99impl_usart_pin!(USART1, TxPin, PA15, 7);
100impl_usart_pin!(USART1, CkPin, PA8, 7);
101impl_usart_pin!(USART1, TxPin, PA9, 7);
102impl_usart_pin!(USART1, RxPin, PB3, 7);
103impl_usart_pin!(USART1, TxPin, PB6, 7);
104impl_usart_pin!(USART1, RxPin, PB7, 7);
105impl_usart!(USART2, 0x40004400);
106impl_usart_pin!(USART2, CtsPin, PA0, 7);
107impl_usart_pin!(USART2, RtsPin, PA1, 7);
108impl_usart_pin!(USART2, TxPin, PA2, 7);
109impl_usart_pin!(USART2, RxPin, PA3, 7);
110impl_usart_pin!(USART2, CkPin, PA4, 7);
111impl_usart_pin!(USART2, CtsPin, PD3, 7);
112impl_usart_pin!(USART2, RtsPin, PD4, 7);
113impl_usart_pin!(USART2, TxPin, PD5, 7);
114impl_usart_pin!(USART2, RxPin, PD6, 7);
115impl_usart_pin!(USART2, CkPin, PD7, 7);
116impl_usart!(USART3, 0x40004800);
117impl_usart_pin!(USART3, TxPin, PB10, 7);
118impl_usart_pin!(USART3, RxPin, PB11, 7);
119impl_usart_pin!(USART3, CkPin, PB12, 8);
120impl_usart_pin!(USART3, CtsPin, PB13, 8);
121impl_usart_pin!(USART3, RtsPin, PB14, 7);
122impl_usart_pin!(USART3, TxPin, PC10, 7);
123impl_usart_pin!(USART3, RxPin, PC11, 7);
124impl_usart_pin!(USART3, CkPin, PC12, 7);
125impl_usart_pin!(USART3, RxPin, PC5, 7);
126impl_usart_pin!(USART3, CkPin, PD10, 7);
127impl_usart_pin!(USART3, CtsPin, PD11, 7);
128impl_usart_pin!(USART3, RtsPin, PD12, 7);
129impl_usart_pin!(USART3, TxPin, PD8, 7);
130impl_usart_pin!(USART3, RxPin, PD9, 7);
131impl_usart!(USART6, 0x40011400);
132impl_usart_pin!(USART6, TxPin, PA11, 8);
133impl_usart_pin!(USART6, RxPin, PA12, 8);
134impl_usart_pin!(USART6, TxPin, PC6, 8);
135impl_usart_pin!(USART6, RxPin, PC7, 8);
136impl_usart_pin!(USART6, CkPin, PC8, 8);
diff --git a/embassy-stm32/src/chip/stm32f412ve.rs b/embassy-stm32/src/chip/stm32f412ve.rs
index 8e60900ab..ce727bb9e 100644
--- a/embassy-stm32/src/chip/stm32f412ve.rs
+++ b/embassy-stm32/src/chip/stm32f412ve.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f412vg.rs b/embassy-stm32/src/chip/stm32f412vg.rs
index 8e60900ab..ce727bb9e 100644
--- a/embassy-stm32/src/chip/stm32f412vg.rs
+++ b/embassy-stm32/src/chip/stm32f412vg.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f412ze.rs b/embassy-stm32/src/chip/stm32f412ze.rs
index 8e60900ab..ce727bb9e 100644
--- a/embassy-stm32/src/chip/stm32f412ze.rs
+++ b/embassy-stm32/src/chip/stm32f412ze.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f412zg.rs b/embassy-stm32/src/chip/stm32f412zg.rs
index 8e60900ab..ce727bb9e 100644
--- a/embassy-stm32/src/chip/stm32f412zg.rs
+++ b/embassy-stm32/src/chip/stm32f412zg.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413cg.rs b/embassy-stm32/src/chip/stm32f413cg.rs
index a163f487c..71ac97e65 100644
--- a/embassy-stm32/src/chip/stm32f413cg.rs
+++ b/embassy-stm32/src/chip/stm32f413cg.rs
@@ -143,3 +143,37 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART6, 0x40011400);
168impl_usart_pin!(USART6, TxPin, PA11, 8);
169impl_usart_pin!(USART6, RxPin, PA12, 8);
170impl_usart_pin!(USART6, TxPin, PC6, 8);
171impl_usart_pin!(USART6, RxPin, PC7, 8);
172impl_usart_pin!(USART6, CkPin, PC8, 8);
173impl_usart_pin!(USART6, RtsPin, PG12, 8);
174impl_usart_pin!(USART6, CtsPin, PG13, 8);
175impl_usart_pin!(USART6, TxPin, PG14, 8);
176impl_usart_pin!(USART6, CtsPin, PG15, 8);
177impl_usart_pin!(USART6, CkPin, PG7, 8);
178impl_usart_pin!(USART6, RtsPin, PG8, 8);
179impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413ch.rs b/embassy-stm32/src/chip/stm32f413ch.rs
index a163f487c..71ac97e65 100644
--- a/embassy-stm32/src/chip/stm32f413ch.rs
+++ b/embassy-stm32/src/chip/stm32f413ch.rs
@@ -143,3 +143,37 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART6, 0x40011400);
168impl_usart_pin!(USART6, TxPin, PA11, 8);
169impl_usart_pin!(USART6, RxPin, PA12, 8);
170impl_usart_pin!(USART6, TxPin, PC6, 8);
171impl_usart_pin!(USART6, RxPin, PC7, 8);
172impl_usart_pin!(USART6, CkPin, PC8, 8);
173impl_usart_pin!(USART6, RtsPin, PG12, 8);
174impl_usart_pin!(USART6, CtsPin, PG13, 8);
175impl_usart_pin!(USART6, TxPin, PG14, 8);
176impl_usart_pin!(USART6, CtsPin, PG15, 8);
177impl_usart_pin!(USART6, CkPin, PG7, 8);
178impl_usart_pin!(USART6, RtsPin, PG8, 8);
179impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413mg.rs b/embassy-stm32/src/chip/stm32f413mg.rs
index 93a9f9371..20e1d6087 100644
--- a/embassy-stm32/src/chip/stm32f413mg.rs
+++ b/embassy-stm32/src/chip/stm32f413mg.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413mh.rs b/embassy-stm32/src/chip/stm32f413mh.rs
index 93a9f9371..20e1d6087 100644
--- a/embassy-stm32/src/chip/stm32f413mh.rs
+++ b/embassy-stm32/src/chip/stm32f413mh.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413rg.rs b/embassy-stm32/src/chip/stm32f413rg.rs
index 93a9f9371..20e1d6087 100644
--- a/embassy-stm32/src/chip/stm32f413rg.rs
+++ b/embassy-stm32/src/chip/stm32f413rg.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413rh.rs b/embassy-stm32/src/chip/stm32f413rh.rs
index 93a9f9371..20e1d6087 100644
--- a/embassy-stm32/src/chip/stm32f413rh.rs
+++ b/embassy-stm32/src/chip/stm32f413rh.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413vg.rs b/embassy-stm32/src/chip/stm32f413vg.rs
index 19e0fbb8a..33997b9f9 100644
--- a/embassy-stm32/src/chip/stm32f413vg.rs
+++ b/embassy-stm32/src/chip/stm32f413vg.rs
@@ -144,3 +144,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
144impl_gpio_pin!(PH13, 7, 13, EXTI13); 144impl_gpio_pin!(PH13, 7, 13, EXTI13);
145impl_gpio_pin!(PH14, 7, 14, EXTI14); 145impl_gpio_pin!(PH14, 7, 14, EXTI14);
146impl_gpio_pin!(PH15, 7, 15, EXTI15); 146impl_gpio_pin!(PH15, 7, 15, EXTI15);
147impl_usart!(USART1, 0x40011000);
148impl_usart_pin!(USART1, RxPin, PA10, 7);
149impl_usart_pin!(USART1, CtsPin, PA11, 7);
150impl_usart_pin!(USART1, RtsPin, PA12, 7);
151impl_usart_pin!(USART1, TxPin, PA15, 7);
152impl_usart_pin!(USART1, CkPin, PA8, 7);
153impl_usart_pin!(USART1, TxPin, PA9, 7);
154impl_usart_pin!(USART1, RxPin, PB3, 7);
155impl_usart_pin!(USART1, TxPin, PB6, 7);
156impl_usart_pin!(USART1, RxPin, PB7, 7);
157impl_usart!(USART2, 0x40004400);
158impl_usart_pin!(USART2, CtsPin, PA0, 7);
159impl_usart_pin!(USART2, RtsPin, PA1, 7);
160impl_usart_pin!(USART2, TxPin, PA2, 7);
161impl_usart_pin!(USART2, RxPin, PA3, 7);
162impl_usart_pin!(USART2, CkPin, PA4, 7);
163impl_usart_pin!(USART2, CtsPin, PD3, 7);
164impl_usart_pin!(USART2, RtsPin, PD4, 7);
165impl_usart_pin!(USART2, TxPin, PD5, 7);
166impl_usart_pin!(USART2, RxPin, PD6, 7);
167impl_usart_pin!(USART2, CkPin, PD7, 7);
168impl_usart!(USART3, 0x40004800);
169impl_usart_pin!(USART3, TxPin, PB10, 7);
170impl_usart_pin!(USART3, RxPin, PB11, 7);
171impl_usart_pin!(USART3, CkPin, PB12, 8);
172impl_usart_pin!(USART3, CtsPin, PB13, 8);
173impl_usart_pin!(USART3, RtsPin, PB14, 7);
174impl_usart_pin!(USART3, TxPin, PC10, 7);
175impl_usart_pin!(USART3, RxPin, PC11, 7);
176impl_usart_pin!(USART3, CkPin, PC12, 7);
177impl_usart_pin!(USART3, RxPin, PC5, 7);
178impl_usart_pin!(USART3, CkPin, PD10, 7);
179impl_usart_pin!(USART3, CtsPin, PD11, 7);
180impl_usart_pin!(USART3, RtsPin, PD12, 7);
181impl_usart_pin!(USART3, TxPin, PD8, 7);
182impl_usart_pin!(USART3, RxPin, PD9, 7);
183impl_usart!(USART6, 0x40011400);
184impl_usart_pin!(USART6, TxPin, PA11, 8);
185impl_usart_pin!(USART6, RxPin, PA12, 8);
186impl_usart_pin!(USART6, TxPin, PC6, 8);
187impl_usart_pin!(USART6, RxPin, PC7, 8);
188impl_usart_pin!(USART6, CkPin, PC8, 8);
189impl_usart_pin!(USART6, RtsPin, PG12, 8);
190impl_usart_pin!(USART6, CtsPin, PG13, 8);
191impl_usart_pin!(USART6, TxPin, PG14, 8);
192impl_usart_pin!(USART6, CtsPin, PG15, 8);
193impl_usart_pin!(USART6, CkPin, PG7, 8);
194impl_usart_pin!(USART6, RtsPin, PG8, 8);
195impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413vh.rs b/embassy-stm32/src/chip/stm32f413vh.rs
index 19e0fbb8a..33997b9f9 100644
--- a/embassy-stm32/src/chip/stm32f413vh.rs
+++ b/embassy-stm32/src/chip/stm32f413vh.rs
@@ -144,3 +144,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
144impl_gpio_pin!(PH13, 7, 13, EXTI13); 144impl_gpio_pin!(PH13, 7, 13, EXTI13);
145impl_gpio_pin!(PH14, 7, 14, EXTI14); 145impl_gpio_pin!(PH14, 7, 14, EXTI14);
146impl_gpio_pin!(PH15, 7, 15, EXTI15); 146impl_gpio_pin!(PH15, 7, 15, EXTI15);
147impl_usart!(USART1, 0x40011000);
148impl_usart_pin!(USART1, RxPin, PA10, 7);
149impl_usart_pin!(USART1, CtsPin, PA11, 7);
150impl_usart_pin!(USART1, RtsPin, PA12, 7);
151impl_usart_pin!(USART1, TxPin, PA15, 7);
152impl_usart_pin!(USART1, CkPin, PA8, 7);
153impl_usart_pin!(USART1, TxPin, PA9, 7);
154impl_usart_pin!(USART1, RxPin, PB3, 7);
155impl_usart_pin!(USART1, TxPin, PB6, 7);
156impl_usart_pin!(USART1, RxPin, PB7, 7);
157impl_usart!(USART2, 0x40004400);
158impl_usart_pin!(USART2, CtsPin, PA0, 7);
159impl_usart_pin!(USART2, RtsPin, PA1, 7);
160impl_usart_pin!(USART2, TxPin, PA2, 7);
161impl_usart_pin!(USART2, RxPin, PA3, 7);
162impl_usart_pin!(USART2, CkPin, PA4, 7);
163impl_usart_pin!(USART2, CtsPin, PD3, 7);
164impl_usart_pin!(USART2, RtsPin, PD4, 7);
165impl_usart_pin!(USART2, TxPin, PD5, 7);
166impl_usart_pin!(USART2, RxPin, PD6, 7);
167impl_usart_pin!(USART2, CkPin, PD7, 7);
168impl_usart!(USART3, 0x40004800);
169impl_usart_pin!(USART3, TxPin, PB10, 7);
170impl_usart_pin!(USART3, RxPin, PB11, 7);
171impl_usart_pin!(USART3, CkPin, PB12, 8);
172impl_usart_pin!(USART3, CtsPin, PB13, 8);
173impl_usart_pin!(USART3, RtsPin, PB14, 7);
174impl_usart_pin!(USART3, TxPin, PC10, 7);
175impl_usart_pin!(USART3, RxPin, PC11, 7);
176impl_usart_pin!(USART3, CkPin, PC12, 7);
177impl_usart_pin!(USART3, RxPin, PC5, 7);
178impl_usart_pin!(USART3, CkPin, PD10, 7);
179impl_usart_pin!(USART3, CtsPin, PD11, 7);
180impl_usart_pin!(USART3, RtsPin, PD12, 7);
181impl_usart_pin!(USART3, TxPin, PD8, 7);
182impl_usart_pin!(USART3, RxPin, PD9, 7);
183impl_usart!(USART6, 0x40011400);
184impl_usart_pin!(USART6, TxPin, PA11, 8);
185impl_usart_pin!(USART6, RxPin, PA12, 8);
186impl_usart_pin!(USART6, TxPin, PC6, 8);
187impl_usart_pin!(USART6, RxPin, PC7, 8);
188impl_usart_pin!(USART6, CkPin, PC8, 8);
189impl_usart_pin!(USART6, RtsPin, PG12, 8);
190impl_usart_pin!(USART6, CtsPin, PG13, 8);
191impl_usart_pin!(USART6, TxPin, PG14, 8);
192impl_usart_pin!(USART6, CtsPin, PG15, 8);
193impl_usart_pin!(USART6, CkPin, PG7, 8);
194impl_usart_pin!(USART6, RtsPin, PG8, 8);
195impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413zg.rs b/embassy-stm32/src/chip/stm32f413zg.rs
index 19e0fbb8a..33997b9f9 100644
--- a/embassy-stm32/src/chip/stm32f413zg.rs
+++ b/embassy-stm32/src/chip/stm32f413zg.rs
@@ -144,3 +144,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
144impl_gpio_pin!(PH13, 7, 13, EXTI13); 144impl_gpio_pin!(PH13, 7, 13, EXTI13);
145impl_gpio_pin!(PH14, 7, 14, EXTI14); 145impl_gpio_pin!(PH14, 7, 14, EXTI14);
146impl_gpio_pin!(PH15, 7, 15, EXTI15); 146impl_gpio_pin!(PH15, 7, 15, EXTI15);
147impl_usart!(USART1, 0x40011000);
148impl_usart_pin!(USART1, RxPin, PA10, 7);
149impl_usart_pin!(USART1, CtsPin, PA11, 7);
150impl_usart_pin!(USART1, RtsPin, PA12, 7);
151impl_usart_pin!(USART1, TxPin, PA15, 7);
152impl_usart_pin!(USART1, CkPin, PA8, 7);
153impl_usart_pin!(USART1, TxPin, PA9, 7);
154impl_usart_pin!(USART1, RxPin, PB3, 7);
155impl_usart_pin!(USART1, TxPin, PB6, 7);
156impl_usart_pin!(USART1, RxPin, PB7, 7);
157impl_usart!(USART2, 0x40004400);
158impl_usart_pin!(USART2, CtsPin, PA0, 7);
159impl_usart_pin!(USART2, RtsPin, PA1, 7);
160impl_usart_pin!(USART2, TxPin, PA2, 7);
161impl_usart_pin!(USART2, RxPin, PA3, 7);
162impl_usart_pin!(USART2, CkPin, PA4, 7);
163impl_usart_pin!(USART2, CtsPin, PD3, 7);
164impl_usart_pin!(USART2, RtsPin, PD4, 7);
165impl_usart_pin!(USART2, TxPin, PD5, 7);
166impl_usart_pin!(USART2, RxPin, PD6, 7);
167impl_usart_pin!(USART2, CkPin, PD7, 7);
168impl_usart!(USART3, 0x40004800);
169impl_usart_pin!(USART3, TxPin, PB10, 7);
170impl_usart_pin!(USART3, RxPin, PB11, 7);
171impl_usart_pin!(USART3, CkPin, PB12, 8);
172impl_usart_pin!(USART3, CtsPin, PB13, 8);
173impl_usart_pin!(USART3, RtsPin, PB14, 7);
174impl_usart_pin!(USART3, TxPin, PC10, 7);
175impl_usart_pin!(USART3, RxPin, PC11, 7);
176impl_usart_pin!(USART3, CkPin, PC12, 7);
177impl_usart_pin!(USART3, RxPin, PC5, 7);
178impl_usart_pin!(USART3, CkPin, PD10, 7);
179impl_usart_pin!(USART3, CtsPin, PD11, 7);
180impl_usart_pin!(USART3, RtsPin, PD12, 7);
181impl_usart_pin!(USART3, TxPin, PD8, 7);
182impl_usart_pin!(USART3, RxPin, PD9, 7);
183impl_usart!(USART6, 0x40011400);
184impl_usart_pin!(USART6, TxPin, PA11, 8);
185impl_usart_pin!(USART6, RxPin, PA12, 8);
186impl_usart_pin!(USART6, TxPin, PC6, 8);
187impl_usart_pin!(USART6, RxPin, PC7, 8);
188impl_usart_pin!(USART6, CkPin, PC8, 8);
189impl_usart_pin!(USART6, RtsPin, PG12, 8);
190impl_usart_pin!(USART6, CtsPin, PG13, 8);
191impl_usart_pin!(USART6, TxPin, PG14, 8);
192impl_usart_pin!(USART6, CtsPin, PG15, 8);
193impl_usart_pin!(USART6, CkPin, PG7, 8);
194impl_usart_pin!(USART6, RtsPin, PG8, 8);
195impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f413zh.rs b/embassy-stm32/src/chip/stm32f413zh.rs
index 19e0fbb8a..33997b9f9 100644
--- a/embassy-stm32/src/chip/stm32f413zh.rs
+++ b/embassy-stm32/src/chip/stm32f413zh.rs
@@ -144,3 +144,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
144impl_gpio_pin!(PH13, 7, 13, EXTI13); 144impl_gpio_pin!(PH13, 7, 13, EXTI13);
145impl_gpio_pin!(PH14, 7, 14, EXTI14); 145impl_gpio_pin!(PH14, 7, 14, EXTI14);
146impl_gpio_pin!(PH15, 7, 15, EXTI15); 146impl_gpio_pin!(PH15, 7, 15, EXTI15);
147impl_usart!(USART1, 0x40011000);
148impl_usart_pin!(USART1, RxPin, PA10, 7);
149impl_usart_pin!(USART1, CtsPin, PA11, 7);
150impl_usart_pin!(USART1, RtsPin, PA12, 7);
151impl_usart_pin!(USART1, TxPin, PA15, 7);
152impl_usart_pin!(USART1, CkPin, PA8, 7);
153impl_usart_pin!(USART1, TxPin, PA9, 7);
154impl_usart_pin!(USART1, RxPin, PB3, 7);
155impl_usart_pin!(USART1, TxPin, PB6, 7);
156impl_usart_pin!(USART1, RxPin, PB7, 7);
157impl_usart!(USART2, 0x40004400);
158impl_usart_pin!(USART2, CtsPin, PA0, 7);
159impl_usart_pin!(USART2, RtsPin, PA1, 7);
160impl_usart_pin!(USART2, TxPin, PA2, 7);
161impl_usart_pin!(USART2, RxPin, PA3, 7);
162impl_usart_pin!(USART2, CkPin, PA4, 7);
163impl_usart_pin!(USART2, CtsPin, PD3, 7);
164impl_usart_pin!(USART2, RtsPin, PD4, 7);
165impl_usart_pin!(USART2, TxPin, PD5, 7);
166impl_usart_pin!(USART2, RxPin, PD6, 7);
167impl_usart_pin!(USART2, CkPin, PD7, 7);
168impl_usart!(USART3, 0x40004800);
169impl_usart_pin!(USART3, TxPin, PB10, 7);
170impl_usart_pin!(USART3, RxPin, PB11, 7);
171impl_usart_pin!(USART3, CkPin, PB12, 8);
172impl_usart_pin!(USART3, CtsPin, PB13, 8);
173impl_usart_pin!(USART3, RtsPin, PB14, 7);
174impl_usart_pin!(USART3, TxPin, PC10, 7);
175impl_usart_pin!(USART3, RxPin, PC11, 7);
176impl_usart_pin!(USART3, CkPin, PC12, 7);
177impl_usart_pin!(USART3, RxPin, PC5, 7);
178impl_usart_pin!(USART3, CkPin, PD10, 7);
179impl_usart_pin!(USART3, CtsPin, PD11, 7);
180impl_usart_pin!(USART3, RtsPin, PD12, 7);
181impl_usart_pin!(USART3, TxPin, PD8, 7);
182impl_usart_pin!(USART3, RxPin, PD9, 7);
183impl_usart!(USART6, 0x40011400);
184impl_usart_pin!(USART6, TxPin, PA11, 8);
185impl_usart_pin!(USART6, RxPin, PA12, 8);
186impl_usart_pin!(USART6, TxPin, PC6, 8);
187impl_usart_pin!(USART6, RxPin, PC7, 8);
188impl_usart_pin!(USART6, CkPin, PC8, 8);
189impl_usart_pin!(USART6, RtsPin, PG12, 8);
190impl_usart_pin!(USART6, CtsPin, PG13, 8);
191impl_usart_pin!(USART6, TxPin, PG14, 8);
192impl_usart_pin!(USART6, CtsPin, PG15, 8);
193impl_usart_pin!(USART6, CkPin, PG7, 8);
194impl_usart_pin!(USART6, RtsPin, PG8, 8);
195impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f415og.rs b/embassy-stm32/src/chip/stm32f415og.rs
index 3d3ebab98..68aa43301 100644
--- a/embassy-stm32/src/chip/stm32f415og.rs
+++ b/embassy-stm32/src/chip/stm32f415og.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f415rg.rs b/embassy-stm32/src/chip/stm32f415rg.rs
index 3d3ebab98..68aa43301 100644
--- a/embassy-stm32/src/chip/stm32f415rg.rs
+++ b/embassy-stm32/src/chip/stm32f415rg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f415vg.rs b/embassy-stm32/src/chip/stm32f415vg.rs
index 3d3ebab98..68aa43301 100644
--- a/embassy-stm32/src/chip/stm32f415vg.rs
+++ b/embassy-stm32/src/chip/stm32f415vg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f415zg.rs b/embassy-stm32/src/chip/stm32f415zg.rs
index 3d3ebab98..68aa43301 100644
--- a/embassy-stm32/src/chip/stm32f415zg.rs
+++ b/embassy-stm32/src/chip/stm32f415zg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f417ie.rs b/embassy-stm32/src/chip/stm32f417ie.rs
index 57f0d5af1..b4f967c1c 100644
--- a/embassy-stm32/src/chip/stm32f417ie.rs
+++ b/embassy-stm32/src/chip/stm32f417ie.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f417ig.rs b/embassy-stm32/src/chip/stm32f417ig.rs
index 57f0d5af1..b4f967c1c 100644
--- a/embassy-stm32/src/chip/stm32f417ig.rs
+++ b/embassy-stm32/src/chip/stm32f417ig.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f417ve.rs b/embassy-stm32/src/chip/stm32f417ve.rs
index 57f0d5af1..b4f967c1c 100644
--- a/embassy-stm32/src/chip/stm32f417ve.rs
+++ b/embassy-stm32/src/chip/stm32f417ve.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f417vg.rs b/embassy-stm32/src/chip/stm32f417vg.rs
index 57f0d5af1..b4f967c1c 100644
--- a/embassy-stm32/src/chip/stm32f417vg.rs
+++ b/embassy-stm32/src/chip/stm32f417vg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f417ze.rs b/embassy-stm32/src/chip/stm32f417ze.rs
index 57f0d5af1..b4f967c1c 100644
--- a/embassy-stm32/src/chip/stm32f417ze.rs
+++ b/embassy-stm32/src/chip/stm32f417ze.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f417zg.rs b/embassy-stm32/src/chip/stm32f417zg.rs
index 57f0d5af1..b4f967c1c 100644
--- a/embassy-stm32/src/chip/stm32f417zg.rs
+++ b/embassy-stm32/src/chip/stm32f417zg.rs
@@ -160,3 +160,47 @@ impl_gpio_pin!(PI12, 8, 12, EXTI12);
160impl_gpio_pin!(PI13, 8, 13, EXTI13); 160impl_gpio_pin!(PI13, 8, 13, EXTI13);
161impl_gpio_pin!(PI14, 8, 14, EXTI14); 161impl_gpio_pin!(PI14, 8, 14, EXTI14);
162impl_gpio_pin!(PI15, 8, 15, EXTI15); 162impl_gpio_pin!(PI15, 8, 15, EXTI15);
163impl_usart!(USART1, 0x40011000);
164impl_usart_pin!(USART1, RxPin, PA10, 7);
165impl_usart_pin!(USART1, CtsPin, PA11, 7);
166impl_usart_pin!(USART1, RtsPin, PA12, 7);
167impl_usart_pin!(USART1, CkPin, PA8, 7);
168impl_usart_pin!(USART1, TxPin, PA9, 7);
169impl_usart_pin!(USART1, TxPin, PB6, 7);
170impl_usart_pin!(USART1, RxPin, PB7, 7);
171impl_usart!(USART2, 0x40004400);
172impl_usart_pin!(USART2, CtsPin, PA0, 7);
173impl_usart_pin!(USART2, RtsPin, PA1, 7);
174impl_usart_pin!(USART2, TxPin, PA2, 7);
175impl_usart_pin!(USART2, RxPin, PA3, 7);
176impl_usart_pin!(USART2, CkPin, PA4, 7);
177impl_usart_pin!(USART2, CtsPin, PD3, 7);
178impl_usart_pin!(USART2, RtsPin, PD4, 7);
179impl_usart_pin!(USART2, TxPin, PD5, 7);
180impl_usart_pin!(USART2, RxPin, PD6, 7);
181impl_usart_pin!(USART2, CkPin, PD7, 7);
182impl_usart!(USART3, 0x40004800);
183impl_usart_pin!(USART3, TxPin, PB10, 7);
184impl_usart_pin!(USART3, RxPin, PB11, 7);
185impl_usart_pin!(USART3, CkPin, PB12, 7);
186impl_usart_pin!(USART3, CtsPin, PB13, 7);
187impl_usart_pin!(USART3, RtsPin, PB14, 7);
188impl_usart_pin!(USART3, TxPin, PC10, 7);
189impl_usart_pin!(USART3, RxPin, PC11, 7);
190impl_usart_pin!(USART3, CkPin, PC12, 7);
191impl_usart_pin!(USART3, CkPin, PD10, 7);
192impl_usart_pin!(USART3, CtsPin, PD11, 7);
193impl_usart_pin!(USART3, RtsPin, PD12, 7);
194impl_usart_pin!(USART3, TxPin, PD8, 7);
195impl_usart_pin!(USART3, RxPin, PD9, 7);
196impl_usart!(USART6, 0x40011400);
197impl_usart_pin!(USART6, TxPin, PC6, 8);
198impl_usart_pin!(USART6, RxPin, PC7, 8);
199impl_usart_pin!(USART6, CkPin, PC8, 8);
200impl_usart_pin!(USART6, RtsPin, PG12, 8);
201impl_usart_pin!(USART6, CtsPin, PG13, 8);
202impl_usart_pin!(USART6, TxPin, PG14, 8);
203impl_usart_pin!(USART6, CtsPin, PG15, 8);
204impl_usart_pin!(USART6, CkPin, PG7, 8);
205impl_usart_pin!(USART6, RtsPin, PG8, 8);
206impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f423ch.rs b/embassy-stm32/src/chip/stm32f423ch.rs
index 9a6a22940..ec61ef353 100644
--- a/embassy-stm32/src/chip/stm32f423ch.rs
+++ b/embassy-stm32/src/chip/stm32f423ch.rs
@@ -143,3 +143,37 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART6, 0x40011400);
168impl_usart_pin!(USART6, TxPin, PA11, 8);
169impl_usart_pin!(USART6, RxPin, PA12, 8);
170impl_usart_pin!(USART6, TxPin, PC6, 8);
171impl_usart_pin!(USART6, RxPin, PC7, 8);
172impl_usart_pin!(USART6, CkPin, PC8, 8);
173impl_usart_pin!(USART6, RtsPin, PG12, 8);
174impl_usart_pin!(USART6, CtsPin, PG13, 8);
175impl_usart_pin!(USART6, TxPin, PG14, 8);
176impl_usart_pin!(USART6, CtsPin, PG15, 8);
177impl_usart_pin!(USART6, CkPin, PG7, 8);
178impl_usart_pin!(USART6, RtsPin, PG8, 8);
179impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f423mh.rs b/embassy-stm32/src/chip/stm32f423mh.rs
index f3adb255f..c52e01a3c 100644
--- a/embassy-stm32/src/chip/stm32f423mh.rs
+++ b/embassy-stm32/src/chip/stm32f423mh.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f423rh.rs b/embassy-stm32/src/chip/stm32f423rh.rs
index f3adb255f..c52e01a3c 100644
--- a/embassy-stm32/src/chip/stm32f423rh.rs
+++ b/embassy-stm32/src/chip/stm32f423rh.rs
@@ -143,3 +143,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, TxPin, PA15, 7);
151impl_usart_pin!(USART1, CkPin, PA8, 7);
152impl_usart_pin!(USART1, TxPin, PA9, 7);
153impl_usart_pin!(USART1, RxPin, PB3, 7);
154impl_usart_pin!(USART1, TxPin, PB6, 7);
155impl_usart_pin!(USART1, RxPin, PB7, 7);
156impl_usart!(USART2, 0x40004400);
157impl_usart_pin!(USART2, CtsPin, PA0, 7);
158impl_usart_pin!(USART2, RtsPin, PA1, 7);
159impl_usart_pin!(USART2, TxPin, PA2, 7);
160impl_usart_pin!(USART2, RxPin, PA3, 7);
161impl_usart_pin!(USART2, CkPin, PA4, 7);
162impl_usart_pin!(USART2, CtsPin, PD3, 7);
163impl_usart_pin!(USART2, RtsPin, PD4, 7);
164impl_usart_pin!(USART2, TxPin, PD5, 7);
165impl_usart_pin!(USART2, RxPin, PD6, 7);
166impl_usart_pin!(USART2, CkPin, PD7, 7);
167impl_usart!(USART3, 0x40004800);
168impl_usart_pin!(USART3, TxPin, PB10, 7);
169impl_usart_pin!(USART3, RxPin, PB11, 7);
170impl_usart_pin!(USART3, CkPin, PB12, 8);
171impl_usart_pin!(USART3, CtsPin, PB13, 8);
172impl_usart_pin!(USART3, RtsPin, PB14, 7);
173impl_usart_pin!(USART3, TxPin, PC10, 7);
174impl_usart_pin!(USART3, RxPin, PC11, 7);
175impl_usart_pin!(USART3, CkPin, PC12, 7);
176impl_usart_pin!(USART3, RxPin, PC5, 7);
177impl_usart_pin!(USART3, CkPin, PD10, 7);
178impl_usart_pin!(USART3, CtsPin, PD11, 7);
179impl_usart_pin!(USART3, RtsPin, PD12, 7);
180impl_usart_pin!(USART3, TxPin, PD8, 7);
181impl_usart_pin!(USART3, RxPin, PD9, 7);
182impl_usart!(USART6, 0x40011400);
183impl_usart_pin!(USART6, TxPin, PA11, 8);
184impl_usart_pin!(USART6, RxPin, PA12, 8);
185impl_usart_pin!(USART6, TxPin, PC6, 8);
186impl_usart_pin!(USART6, RxPin, PC7, 8);
187impl_usart_pin!(USART6, CkPin, PC8, 8);
188impl_usart_pin!(USART6, RtsPin, PG12, 8);
189impl_usart_pin!(USART6, CtsPin, PG13, 8);
190impl_usart_pin!(USART6, TxPin, PG14, 8);
191impl_usart_pin!(USART6, CtsPin, PG15, 8);
192impl_usart_pin!(USART6, CkPin, PG7, 8);
193impl_usart_pin!(USART6, RtsPin, PG8, 8);
194impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f423vh.rs b/embassy-stm32/src/chip/stm32f423vh.rs
index dbfd3cd25..4428a4475 100644
--- a/embassy-stm32/src/chip/stm32f423vh.rs
+++ b/embassy-stm32/src/chip/stm32f423vh.rs
@@ -144,3 +144,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
144impl_gpio_pin!(PH13, 7, 13, EXTI13); 144impl_gpio_pin!(PH13, 7, 13, EXTI13);
145impl_gpio_pin!(PH14, 7, 14, EXTI14); 145impl_gpio_pin!(PH14, 7, 14, EXTI14);
146impl_gpio_pin!(PH15, 7, 15, EXTI15); 146impl_gpio_pin!(PH15, 7, 15, EXTI15);
147impl_usart!(USART1, 0x40011000);
148impl_usart_pin!(USART1, RxPin, PA10, 7);
149impl_usart_pin!(USART1, CtsPin, PA11, 7);
150impl_usart_pin!(USART1, RtsPin, PA12, 7);
151impl_usart_pin!(USART1, TxPin, PA15, 7);
152impl_usart_pin!(USART1, CkPin, PA8, 7);
153impl_usart_pin!(USART1, TxPin, PA9, 7);
154impl_usart_pin!(USART1, RxPin, PB3, 7);
155impl_usart_pin!(USART1, TxPin, PB6, 7);
156impl_usart_pin!(USART1, RxPin, PB7, 7);
157impl_usart!(USART2, 0x40004400);
158impl_usart_pin!(USART2, CtsPin, PA0, 7);
159impl_usart_pin!(USART2, RtsPin, PA1, 7);
160impl_usart_pin!(USART2, TxPin, PA2, 7);
161impl_usart_pin!(USART2, RxPin, PA3, 7);
162impl_usart_pin!(USART2, CkPin, PA4, 7);
163impl_usart_pin!(USART2, CtsPin, PD3, 7);
164impl_usart_pin!(USART2, RtsPin, PD4, 7);
165impl_usart_pin!(USART2, TxPin, PD5, 7);
166impl_usart_pin!(USART2, RxPin, PD6, 7);
167impl_usart_pin!(USART2, CkPin, PD7, 7);
168impl_usart!(USART3, 0x40004800);
169impl_usart_pin!(USART3, TxPin, PB10, 7);
170impl_usart_pin!(USART3, RxPin, PB11, 7);
171impl_usart_pin!(USART3, CkPin, PB12, 8);
172impl_usart_pin!(USART3, CtsPin, PB13, 8);
173impl_usart_pin!(USART3, RtsPin, PB14, 7);
174impl_usart_pin!(USART3, TxPin, PC10, 7);
175impl_usart_pin!(USART3, RxPin, PC11, 7);
176impl_usart_pin!(USART3, CkPin, PC12, 7);
177impl_usart_pin!(USART3, RxPin, PC5, 7);
178impl_usart_pin!(USART3, CkPin, PD10, 7);
179impl_usart_pin!(USART3, CtsPin, PD11, 7);
180impl_usart_pin!(USART3, RtsPin, PD12, 7);
181impl_usart_pin!(USART3, TxPin, PD8, 7);
182impl_usart_pin!(USART3, RxPin, PD9, 7);
183impl_usart!(USART6, 0x40011400);
184impl_usart_pin!(USART6, TxPin, PA11, 8);
185impl_usart_pin!(USART6, RxPin, PA12, 8);
186impl_usart_pin!(USART6, TxPin, PC6, 8);
187impl_usart_pin!(USART6, RxPin, PC7, 8);
188impl_usart_pin!(USART6, CkPin, PC8, 8);
189impl_usart_pin!(USART6, RtsPin, PG12, 8);
190impl_usart_pin!(USART6, CtsPin, PG13, 8);
191impl_usart_pin!(USART6, TxPin, PG14, 8);
192impl_usart_pin!(USART6, CtsPin, PG15, 8);
193impl_usart_pin!(USART6, CkPin, PG7, 8);
194impl_usart_pin!(USART6, RtsPin, PG8, 8);
195impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f423zh.rs b/embassy-stm32/src/chip/stm32f423zh.rs
index dbfd3cd25..4428a4475 100644
--- a/embassy-stm32/src/chip/stm32f423zh.rs
+++ b/embassy-stm32/src/chip/stm32f423zh.rs
@@ -144,3 +144,52 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
144impl_gpio_pin!(PH13, 7, 13, EXTI13); 144impl_gpio_pin!(PH13, 7, 13, EXTI13);
145impl_gpio_pin!(PH14, 7, 14, EXTI14); 145impl_gpio_pin!(PH14, 7, 14, EXTI14);
146impl_gpio_pin!(PH15, 7, 15, EXTI15); 146impl_gpio_pin!(PH15, 7, 15, EXTI15);
147impl_usart!(USART1, 0x40011000);
148impl_usart_pin!(USART1, RxPin, PA10, 7);
149impl_usart_pin!(USART1, CtsPin, PA11, 7);
150impl_usart_pin!(USART1, RtsPin, PA12, 7);
151impl_usart_pin!(USART1, TxPin, PA15, 7);
152impl_usart_pin!(USART1, CkPin, PA8, 7);
153impl_usart_pin!(USART1, TxPin, PA9, 7);
154impl_usart_pin!(USART1, RxPin, PB3, 7);
155impl_usart_pin!(USART1, TxPin, PB6, 7);
156impl_usart_pin!(USART1, RxPin, PB7, 7);
157impl_usart!(USART2, 0x40004400);
158impl_usart_pin!(USART2, CtsPin, PA0, 7);
159impl_usart_pin!(USART2, RtsPin, PA1, 7);
160impl_usart_pin!(USART2, TxPin, PA2, 7);
161impl_usart_pin!(USART2, RxPin, PA3, 7);
162impl_usart_pin!(USART2, CkPin, PA4, 7);
163impl_usart_pin!(USART2, CtsPin, PD3, 7);
164impl_usart_pin!(USART2, RtsPin, PD4, 7);
165impl_usart_pin!(USART2, TxPin, PD5, 7);
166impl_usart_pin!(USART2, RxPin, PD6, 7);
167impl_usart_pin!(USART2, CkPin, PD7, 7);
168impl_usart!(USART3, 0x40004800);
169impl_usart_pin!(USART3, TxPin, PB10, 7);
170impl_usart_pin!(USART3, RxPin, PB11, 7);
171impl_usart_pin!(USART3, CkPin, PB12, 8);
172impl_usart_pin!(USART3, CtsPin, PB13, 8);
173impl_usart_pin!(USART3, RtsPin, PB14, 7);
174impl_usart_pin!(USART3, TxPin, PC10, 7);
175impl_usart_pin!(USART3, RxPin, PC11, 7);
176impl_usart_pin!(USART3, CkPin, PC12, 7);
177impl_usart_pin!(USART3, RxPin, PC5, 7);
178impl_usart_pin!(USART3, CkPin, PD10, 7);
179impl_usart_pin!(USART3, CtsPin, PD11, 7);
180impl_usart_pin!(USART3, RtsPin, PD12, 7);
181impl_usart_pin!(USART3, TxPin, PD8, 7);
182impl_usart_pin!(USART3, RxPin, PD9, 7);
183impl_usart!(USART6, 0x40011400);
184impl_usart_pin!(USART6, TxPin, PA11, 8);
185impl_usart_pin!(USART6, RxPin, PA12, 8);
186impl_usart_pin!(USART6, TxPin, PC6, 8);
187impl_usart_pin!(USART6, RxPin, PC7, 8);
188impl_usart_pin!(USART6, CkPin, PC8, 8);
189impl_usart_pin!(USART6, RtsPin, PG12, 8);
190impl_usart_pin!(USART6, CtsPin, PG13, 8);
191impl_usart_pin!(USART6, TxPin, PG14, 8);
192impl_usart_pin!(USART6, CtsPin, PG15, 8);
193impl_usart_pin!(USART6, CkPin, PG7, 8);
194impl_usart_pin!(USART6, RtsPin, PG8, 8);
195impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f427ag.rs b/embassy-stm32/src/chip/stm32f427ag.rs
index 280501eed..9080dd10e 100644
--- a/embassy-stm32/src/chip/stm32f427ag.rs
+++ b/embassy-stm32/src/chip/stm32f427ag.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f427ai.rs b/embassy-stm32/src/chip/stm32f427ai.rs
index 280501eed..9080dd10e 100644
--- a/embassy-stm32/src/chip/stm32f427ai.rs
+++ b/embassy-stm32/src/chip/stm32f427ai.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f427ig.rs b/embassy-stm32/src/chip/stm32f427ig.rs
index b30fcb0d9..b0b4b283a 100644
--- a/embassy-stm32/src/chip/stm32f427ig.rs
+++ b/embassy-stm32/src/chip/stm32f427ig.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f427ii.rs b/embassy-stm32/src/chip/stm32f427ii.rs
index b30fcb0d9..b0b4b283a 100644
--- a/embassy-stm32/src/chip/stm32f427ii.rs
+++ b/embassy-stm32/src/chip/stm32f427ii.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f427vg.rs b/embassy-stm32/src/chip/stm32f427vg.rs
index 8717ce476..98f5fe2bd 100644
--- a/embassy-stm32/src/chip/stm32f427vg.rs
+++ b/embassy-stm32/src/chip/stm32f427vg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f427vi.rs b/embassy-stm32/src/chip/stm32f427vi.rs
index 8717ce476..98f5fe2bd 100644
--- a/embassy-stm32/src/chip/stm32f427vi.rs
+++ b/embassy-stm32/src/chip/stm32f427vi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f427zg.rs b/embassy-stm32/src/chip/stm32f427zg.rs
index b30fcb0d9..b0b4b283a 100644
--- a/embassy-stm32/src/chip/stm32f427zg.rs
+++ b/embassy-stm32/src/chip/stm32f427zg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f427zi.rs b/embassy-stm32/src/chip/stm32f427zi.rs
index b30fcb0d9..b0b4b283a 100644
--- a/embassy-stm32/src/chip/stm32f427zi.rs
+++ b/embassy-stm32/src/chip/stm32f427zi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ag.rs b/embassy-stm32/src/chip/stm32f429ag.rs
index c60246893..5cdefdefa 100644
--- a/embassy-stm32/src/chip/stm32f429ag.rs
+++ b/embassy-stm32/src/chip/stm32f429ag.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ai.rs b/embassy-stm32/src/chip/stm32f429ai.rs
index c60246893..5cdefdefa 100644
--- a/embassy-stm32/src/chip/stm32f429ai.rs
+++ b/embassy-stm32/src/chip/stm32f429ai.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429be.rs b/embassy-stm32/src/chip/stm32f429be.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429be.rs
+++ b/embassy-stm32/src/chip/stm32f429be.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429bg.rs b/embassy-stm32/src/chip/stm32f429bg.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429bg.rs
+++ b/embassy-stm32/src/chip/stm32f429bg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429bi.rs b/embassy-stm32/src/chip/stm32f429bi.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429bi.rs
+++ b/embassy-stm32/src/chip/stm32f429bi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ie.rs b/embassy-stm32/src/chip/stm32f429ie.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429ie.rs
+++ b/embassy-stm32/src/chip/stm32f429ie.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ig.rs b/embassy-stm32/src/chip/stm32f429ig.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429ig.rs
+++ b/embassy-stm32/src/chip/stm32f429ig.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ii.rs b/embassy-stm32/src/chip/stm32f429ii.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429ii.rs
+++ b/embassy-stm32/src/chip/stm32f429ii.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ne.rs b/embassy-stm32/src/chip/stm32f429ne.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429ne.rs
+++ b/embassy-stm32/src/chip/stm32f429ne.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ng.rs b/embassy-stm32/src/chip/stm32f429ng.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429ng.rs
+++ b/embassy-stm32/src/chip/stm32f429ng.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ni.rs b/embassy-stm32/src/chip/stm32f429ni.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429ni.rs
+++ b/embassy-stm32/src/chip/stm32f429ni.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ve.rs b/embassy-stm32/src/chip/stm32f429ve.rs
index 3367e13ef..1b224d36c 100644
--- a/embassy-stm32/src/chip/stm32f429ve.rs
+++ b/embassy-stm32/src/chip/stm32f429ve.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429vg.rs b/embassy-stm32/src/chip/stm32f429vg.rs
index 3367e13ef..1b224d36c 100644
--- a/embassy-stm32/src/chip/stm32f429vg.rs
+++ b/embassy-stm32/src/chip/stm32f429vg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429vi.rs b/embassy-stm32/src/chip/stm32f429vi.rs
index 3367e13ef..1b224d36c 100644
--- a/embassy-stm32/src/chip/stm32f429vi.rs
+++ b/embassy-stm32/src/chip/stm32f429vi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429ze.rs b/embassy-stm32/src/chip/stm32f429ze.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429ze.rs
+++ b/embassy-stm32/src/chip/stm32f429ze.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429zg.rs b/embassy-stm32/src/chip/stm32f429zg.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429zg.rs
+++ b/embassy-stm32/src/chip/stm32f429zg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f429zi.rs b/embassy-stm32/src/chip/stm32f429zi.rs
index fa542aa4b..3f63fbc48 100644
--- a/embassy-stm32/src/chip/stm32f429zi.rs
+++ b/embassy-stm32/src/chip/stm32f429zi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f437ai.rs b/embassy-stm32/src/chip/stm32f437ai.rs
index 0dcbd97ba..af873cbf7 100644
--- a/embassy-stm32/src/chip/stm32f437ai.rs
+++ b/embassy-stm32/src/chip/stm32f437ai.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f437ig.rs b/embassy-stm32/src/chip/stm32f437ig.rs
index 33332f797..5218ef78d 100644
--- a/embassy-stm32/src/chip/stm32f437ig.rs
+++ b/embassy-stm32/src/chip/stm32f437ig.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f437ii.rs b/embassy-stm32/src/chip/stm32f437ii.rs
index 33332f797..5218ef78d 100644
--- a/embassy-stm32/src/chip/stm32f437ii.rs
+++ b/embassy-stm32/src/chip/stm32f437ii.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f437vg.rs b/embassy-stm32/src/chip/stm32f437vg.rs
index becff0fe1..38f98719d 100644
--- a/embassy-stm32/src/chip/stm32f437vg.rs
+++ b/embassy-stm32/src/chip/stm32f437vg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f437vi.rs b/embassy-stm32/src/chip/stm32f437vi.rs
index becff0fe1..38f98719d 100644
--- a/embassy-stm32/src/chip/stm32f437vi.rs
+++ b/embassy-stm32/src/chip/stm32f437vi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f437zg.rs b/embassy-stm32/src/chip/stm32f437zg.rs
index 33332f797..5218ef78d 100644
--- a/embassy-stm32/src/chip/stm32f437zg.rs
+++ b/embassy-stm32/src/chip/stm32f437zg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f437zi.rs b/embassy-stm32/src/chip/stm32f437zi.rs
index 33332f797..5218ef78d 100644
--- a/embassy-stm32/src/chip/stm32f437zi.rs
+++ b/embassy-stm32/src/chip/stm32f437zi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439ai.rs b/embassy-stm32/src/chip/stm32f439ai.rs
index d4025d05a..63337a98d 100644
--- a/embassy-stm32/src/chip/stm32f439ai.rs
+++ b/embassy-stm32/src/chip/stm32f439ai.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439bg.rs b/embassy-stm32/src/chip/stm32f439bg.rs
index 26b37ef0e..0407ef12f 100644
--- a/embassy-stm32/src/chip/stm32f439bg.rs
+++ b/embassy-stm32/src/chip/stm32f439bg.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439bi.rs b/embassy-stm32/src/chip/stm32f439bi.rs
index 26b37ef0e..0407ef12f 100644
--- a/embassy-stm32/src/chip/stm32f439bi.rs
+++ b/embassy-stm32/src/chip/stm32f439bi.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439ig.rs b/embassy-stm32/src/chip/stm32f439ig.rs
index 26b37ef0e..0407ef12f 100644
--- a/embassy-stm32/src/chip/stm32f439ig.rs
+++ b/embassy-stm32/src/chip/stm32f439ig.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439ii.rs b/embassy-stm32/src/chip/stm32f439ii.rs
index 26b37ef0e..0407ef12f 100644
--- a/embassy-stm32/src/chip/stm32f439ii.rs
+++ b/embassy-stm32/src/chip/stm32f439ii.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439ng.rs b/embassy-stm32/src/chip/stm32f439ng.rs
index 26b37ef0e..0407ef12f 100644
--- a/embassy-stm32/src/chip/stm32f439ng.rs
+++ b/embassy-stm32/src/chip/stm32f439ng.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439ni.rs b/embassy-stm32/src/chip/stm32f439ni.rs
index 26b37ef0e..0407ef12f 100644
--- a/embassy-stm32/src/chip/stm32f439ni.rs
+++ b/embassy-stm32/src/chip/stm32f439ni.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439vg.rs b/embassy-stm32/src/chip/stm32f439vg.rs
index 867069c55..2512b8ee9 100644
--- a/embassy-stm32/src/chip/stm32f439vg.rs
+++ b/embassy-stm32/src/chip/stm32f439vg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439vi.rs b/embassy-stm32/src/chip/stm32f439vi.rs
index 867069c55..2512b8ee9 100644
--- a/embassy-stm32/src/chip/stm32f439vi.rs
+++ b/embassy-stm32/src/chip/stm32f439vi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439zg.rs b/embassy-stm32/src/chip/stm32f439zg.rs
index 26b37ef0e..0407ef12f 100644
--- a/embassy-stm32/src/chip/stm32f439zg.rs
+++ b/embassy-stm32/src/chip/stm32f439zg.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f439zi.rs b/embassy-stm32/src/chip/stm32f439zi.rs
index 26b37ef0e..0407ef12f 100644
--- a/embassy-stm32/src/chip/stm32f439zi.rs
+++ b/embassy-stm32/src/chip/stm32f439zi.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f446mc.rs b/embassy-stm32/src/chip/stm32f446mc.rs
index 0556fbe60..ea3cecb74 100644
--- a/embassy-stm32/src/chip/stm32f446mc.rs
+++ b/embassy-stm32/src/chip/stm32f446mc.rs
@@ -143,3 +143,48 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, CkPin, PA8, 7);
151impl_usart_pin!(USART1, TxPin, PA9, 7);
152impl_usart_pin!(USART1, TxPin, PB6, 7);
153impl_usart_pin!(USART1, RxPin, PB7, 7);
154impl_usart!(USART2, 0x40004400);
155impl_usart_pin!(USART2, CtsPin, PA0, 7);
156impl_usart_pin!(USART2, RtsPin, PA1, 7);
157impl_usart_pin!(USART2, TxPin, PA2, 7);
158impl_usart_pin!(USART2, RxPin, PA3, 7);
159impl_usart_pin!(USART2, CkPin, PA4, 7);
160impl_usart_pin!(USART2, CtsPin, PD3, 7);
161impl_usart_pin!(USART2, RtsPin, PD4, 7);
162impl_usart_pin!(USART2, TxPin, PD5, 7);
163impl_usart_pin!(USART2, RxPin, PD6, 7);
164impl_usart_pin!(USART2, CkPin, PD7, 7);
165impl_usart!(USART3, 0x40004800);
166impl_usart_pin!(USART3, TxPin, PB10, 7);
167impl_usart_pin!(USART3, RxPin, PB11, 7);
168impl_usart_pin!(USART3, CkPin, PB12, 7);
169impl_usart_pin!(USART3, CtsPin, PB13, 7);
170impl_usart_pin!(USART3, RtsPin, PB14, 7);
171impl_usart_pin!(USART3, TxPin, PC10, 7);
172impl_usart_pin!(USART3, RxPin, PC11, 7);
173impl_usart_pin!(USART3, CkPin, PC12, 7);
174impl_usart_pin!(USART3, RxPin, PC5, 7);
175impl_usart_pin!(USART3, CkPin, PD10, 7);
176impl_usart_pin!(USART3, CtsPin, PD11, 7);
177impl_usart_pin!(USART3, RtsPin, PD12, 7);
178impl_usart_pin!(USART3, TxPin, PD8, 7);
179impl_usart_pin!(USART3, RxPin, PD9, 7);
180impl_usart!(USART6, 0x40011400);
181impl_usart_pin!(USART6, TxPin, PC6, 8);
182impl_usart_pin!(USART6, RxPin, PC7, 8);
183impl_usart_pin!(USART6, CkPin, PC8, 8);
184impl_usart_pin!(USART6, RtsPin, PG12, 8);
185impl_usart_pin!(USART6, CtsPin, PG13, 8);
186impl_usart_pin!(USART6, TxPin, PG14, 8);
187impl_usart_pin!(USART6, CtsPin, PG15, 8);
188impl_usart_pin!(USART6, CkPin, PG7, 8);
189impl_usart_pin!(USART6, RtsPin, PG8, 8);
190impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f446me.rs b/embassy-stm32/src/chip/stm32f446me.rs
index 0556fbe60..ea3cecb74 100644
--- a/embassy-stm32/src/chip/stm32f446me.rs
+++ b/embassy-stm32/src/chip/stm32f446me.rs
@@ -143,3 +143,48 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, CkPin, PA8, 7);
151impl_usart_pin!(USART1, TxPin, PA9, 7);
152impl_usart_pin!(USART1, TxPin, PB6, 7);
153impl_usart_pin!(USART1, RxPin, PB7, 7);
154impl_usart!(USART2, 0x40004400);
155impl_usart_pin!(USART2, CtsPin, PA0, 7);
156impl_usart_pin!(USART2, RtsPin, PA1, 7);
157impl_usart_pin!(USART2, TxPin, PA2, 7);
158impl_usart_pin!(USART2, RxPin, PA3, 7);
159impl_usart_pin!(USART2, CkPin, PA4, 7);
160impl_usart_pin!(USART2, CtsPin, PD3, 7);
161impl_usart_pin!(USART2, RtsPin, PD4, 7);
162impl_usart_pin!(USART2, TxPin, PD5, 7);
163impl_usart_pin!(USART2, RxPin, PD6, 7);
164impl_usart_pin!(USART2, CkPin, PD7, 7);
165impl_usart!(USART3, 0x40004800);
166impl_usart_pin!(USART3, TxPin, PB10, 7);
167impl_usart_pin!(USART3, RxPin, PB11, 7);
168impl_usart_pin!(USART3, CkPin, PB12, 7);
169impl_usart_pin!(USART3, CtsPin, PB13, 7);
170impl_usart_pin!(USART3, RtsPin, PB14, 7);
171impl_usart_pin!(USART3, TxPin, PC10, 7);
172impl_usart_pin!(USART3, RxPin, PC11, 7);
173impl_usart_pin!(USART3, CkPin, PC12, 7);
174impl_usart_pin!(USART3, RxPin, PC5, 7);
175impl_usart_pin!(USART3, CkPin, PD10, 7);
176impl_usart_pin!(USART3, CtsPin, PD11, 7);
177impl_usart_pin!(USART3, RtsPin, PD12, 7);
178impl_usart_pin!(USART3, TxPin, PD8, 7);
179impl_usart_pin!(USART3, RxPin, PD9, 7);
180impl_usart!(USART6, 0x40011400);
181impl_usart_pin!(USART6, TxPin, PC6, 8);
182impl_usart_pin!(USART6, RxPin, PC7, 8);
183impl_usart_pin!(USART6, CkPin, PC8, 8);
184impl_usart_pin!(USART6, RtsPin, PG12, 8);
185impl_usart_pin!(USART6, CtsPin, PG13, 8);
186impl_usart_pin!(USART6, TxPin, PG14, 8);
187impl_usart_pin!(USART6, CtsPin, PG15, 8);
188impl_usart_pin!(USART6, CkPin, PG7, 8);
189impl_usart_pin!(USART6, RtsPin, PG8, 8);
190impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f446rc.rs b/embassy-stm32/src/chip/stm32f446rc.rs
index 74a1aab41..6898d0fc8 100644
--- a/embassy-stm32/src/chip/stm32f446rc.rs
+++ b/embassy-stm32/src/chip/stm32f446rc.rs
@@ -143,3 +143,48 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, CkPin, PA8, 7);
151impl_usart_pin!(USART1, TxPin, PA9, 7);
152impl_usart_pin!(USART1, TxPin, PB6, 7);
153impl_usart_pin!(USART1, RxPin, PB7, 7);
154impl_usart!(USART2, 0x40004400);
155impl_usart_pin!(USART2, CtsPin, PA0, 7);
156impl_usart_pin!(USART2, RtsPin, PA1, 7);
157impl_usart_pin!(USART2, TxPin, PA2, 7);
158impl_usart_pin!(USART2, RxPin, PA3, 7);
159impl_usart_pin!(USART2, CkPin, PA4, 7);
160impl_usart_pin!(USART2, CtsPin, PD3, 7);
161impl_usart_pin!(USART2, RtsPin, PD4, 7);
162impl_usart_pin!(USART2, TxPin, PD5, 7);
163impl_usart_pin!(USART2, RxPin, PD6, 7);
164impl_usart_pin!(USART2, CkPin, PD7, 7);
165impl_usart!(USART3, 0x40004800);
166impl_usart_pin!(USART3, TxPin, PB10, 7);
167impl_usart_pin!(USART3, RxPin, PB11, 7);
168impl_usart_pin!(USART3, CkPin, PB12, 7);
169impl_usart_pin!(USART3, CtsPin, PB13, 7);
170impl_usart_pin!(USART3, RtsPin, PB14, 7);
171impl_usart_pin!(USART3, TxPin, PC10, 7);
172impl_usart_pin!(USART3, RxPin, PC11, 7);
173impl_usart_pin!(USART3, CkPin, PC12, 7);
174impl_usart_pin!(USART3, RxPin, PC5, 7);
175impl_usart_pin!(USART3, CkPin, PD10, 7);
176impl_usart_pin!(USART3, CtsPin, PD11, 7);
177impl_usart_pin!(USART3, RtsPin, PD12, 7);
178impl_usart_pin!(USART3, TxPin, PD8, 7);
179impl_usart_pin!(USART3, RxPin, PD9, 7);
180impl_usart!(USART6, 0x40011400);
181impl_usart_pin!(USART6, TxPin, PC6, 8);
182impl_usart_pin!(USART6, RxPin, PC7, 8);
183impl_usart_pin!(USART6, CkPin, PC8, 8);
184impl_usart_pin!(USART6, RtsPin, PG12, 8);
185impl_usart_pin!(USART6, CtsPin, PG13, 8);
186impl_usart_pin!(USART6, TxPin, PG14, 8);
187impl_usart_pin!(USART6, CtsPin, PG15, 8);
188impl_usart_pin!(USART6, CkPin, PG7, 8);
189impl_usart_pin!(USART6, RtsPin, PG8, 8);
190impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f446re.rs b/embassy-stm32/src/chip/stm32f446re.rs
index 74a1aab41..6898d0fc8 100644
--- a/embassy-stm32/src/chip/stm32f446re.rs
+++ b/embassy-stm32/src/chip/stm32f446re.rs
@@ -143,3 +143,48 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, CkPin, PA8, 7);
151impl_usart_pin!(USART1, TxPin, PA9, 7);
152impl_usart_pin!(USART1, TxPin, PB6, 7);
153impl_usart_pin!(USART1, RxPin, PB7, 7);
154impl_usart!(USART2, 0x40004400);
155impl_usart_pin!(USART2, CtsPin, PA0, 7);
156impl_usart_pin!(USART2, RtsPin, PA1, 7);
157impl_usart_pin!(USART2, TxPin, PA2, 7);
158impl_usart_pin!(USART2, RxPin, PA3, 7);
159impl_usart_pin!(USART2, CkPin, PA4, 7);
160impl_usart_pin!(USART2, CtsPin, PD3, 7);
161impl_usart_pin!(USART2, RtsPin, PD4, 7);
162impl_usart_pin!(USART2, TxPin, PD5, 7);
163impl_usart_pin!(USART2, RxPin, PD6, 7);
164impl_usart_pin!(USART2, CkPin, PD7, 7);
165impl_usart!(USART3, 0x40004800);
166impl_usart_pin!(USART3, TxPin, PB10, 7);
167impl_usart_pin!(USART3, RxPin, PB11, 7);
168impl_usart_pin!(USART3, CkPin, PB12, 7);
169impl_usart_pin!(USART3, CtsPin, PB13, 7);
170impl_usart_pin!(USART3, RtsPin, PB14, 7);
171impl_usart_pin!(USART3, TxPin, PC10, 7);
172impl_usart_pin!(USART3, RxPin, PC11, 7);
173impl_usart_pin!(USART3, CkPin, PC12, 7);
174impl_usart_pin!(USART3, RxPin, PC5, 7);
175impl_usart_pin!(USART3, CkPin, PD10, 7);
176impl_usart_pin!(USART3, CtsPin, PD11, 7);
177impl_usart_pin!(USART3, RtsPin, PD12, 7);
178impl_usart_pin!(USART3, TxPin, PD8, 7);
179impl_usart_pin!(USART3, RxPin, PD9, 7);
180impl_usart!(USART6, 0x40011400);
181impl_usart_pin!(USART6, TxPin, PC6, 8);
182impl_usart_pin!(USART6, RxPin, PC7, 8);
183impl_usart_pin!(USART6, CkPin, PC8, 8);
184impl_usart_pin!(USART6, RtsPin, PG12, 8);
185impl_usart_pin!(USART6, CtsPin, PG13, 8);
186impl_usart_pin!(USART6, TxPin, PG14, 8);
187impl_usart_pin!(USART6, CtsPin, PG15, 8);
188impl_usart_pin!(USART6, CkPin, PG7, 8);
189impl_usart_pin!(USART6, RtsPin, PG8, 8);
190impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f446vc.rs b/embassy-stm32/src/chip/stm32f446vc.rs
index 0556fbe60..ea3cecb74 100644
--- a/embassy-stm32/src/chip/stm32f446vc.rs
+++ b/embassy-stm32/src/chip/stm32f446vc.rs
@@ -143,3 +143,48 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, CkPin, PA8, 7);
151impl_usart_pin!(USART1, TxPin, PA9, 7);
152impl_usart_pin!(USART1, TxPin, PB6, 7);
153impl_usart_pin!(USART1, RxPin, PB7, 7);
154impl_usart!(USART2, 0x40004400);
155impl_usart_pin!(USART2, CtsPin, PA0, 7);
156impl_usart_pin!(USART2, RtsPin, PA1, 7);
157impl_usart_pin!(USART2, TxPin, PA2, 7);
158impl_usart_pin!(USART2, RxPin, PA3, 7);
159impl_usart_pin!(USART2, CkPin, PA4, 7);
160impl_usart_pin!(USART2, CtsPin, PD3, 7);
161impl_usart_pin!(USART2, RtsPin, PD4, 7);
162impl_usart_pin!(USART2, TxPin, PD5, 7);
163impl_usart_pin!(USART2, RxPin, PD6, 7);
164impl_usart_pin!(USART2, CkPin, PD7, 7);
165impl_usart!(USART3, 0x40004800);
166impl_usart_pin!(USART3, TxPin, PB10, 7);
167impl_usart_pin!(USART3, RxPin, PB11, 7);
168impl_usart_pin!(USART3, CkPin, PB12, 7);
169impl_usart_pin!(USART3, CtsPin, PB13, 7);
170impl_usart_pin!(USART3, RtsPin, PB14, 7);
171impl_usart_pin!(USART3, TxPin, PC10, 7);
172impl_usart_pin!(USART3, RxPin, PC11, 7);
173impl_usart_pin!(USART3, CkPin, PC12, 7);
174impl_usart_pin!(USART3, RxPin, PC5, 7);
175impl_usart_pin!(USART3, CkPin, PD10, 7);
176impl_usart_pin!(USART3, CtsPin, PD11, 7);
177impl_usart_pin!(USART3, RtsPin, PD12, 7);
178impl_usart_pin!(USART3, TxPin, PD8, 7);
179impl_usart_pin!(USART3, RxPin, PD9, 7);
180impl_usart!(USART6, 0x40011400);
181impl_usart_pin!(USART6, TxPin, PC6, 8);
182impl_usart_pin!(USART6, RxPin, PC7, 8);
183impl_usart_pin!(USART6, CkPin, PC8, 8);
184impl_usart_pin!(USART6, RtsPin, PG12, 8);
185impl_usart_pin!(USART6, CtsPin, PG13, 8);
186impl_usart_pin!(USART6, TxPin, PG14, 8);
187impl_usart_pin!(USART6, CtsPin, PG15, 8);
188impl_usart_pin!(USART6, CkPin, PG7, 8);
189impl_usart_pin!(USART6, RtsPin, PG8, 8);
190impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f446ve.rs b/embassy-stm32/src/chip/stm32f446ve.rs
index 0556fbe60..ea3cecb74 100644
--- a/embassy-stm32/src/chip/stm32f446ve.rs
+++ b/embassy-stm32/src/chip/stm32f446ve.rs
@@ -143,3 +143,48 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, CkPin, PA8, 7);
151impl_usart_pin!(USART1, TxPin, PA9, 7);
152impl_usart_pin!(USART1, TxPin, PB6, 7);
153impl_usart_pin!(USART1, RxPin, PB7, 7);
154impl_usart!(USART2, 0x40004400);
155impl_usart_pin!(USART2, CtsPin, PA0, 7);
156impl_usart_pin!(USART2, RtsPin, PA1, 7);
157impl_usart_pin!(USART2, TxPin, PA2, 7);
158impl_usart_pin!(USART2, RxPin, PA3, 7);
159impl_usart_pin!(USART2, CkPin, PA4, 7);
160impl_usart_pin!(USART2, CtsPin, PD3, 7);
161impl_usart_pin!(USART2, RtsPin, PD4, 7);
162impl_usart_pin!(USART2, TxPin, PD5, 7);
163impl_usart_pin!(USART2, RxPin, PD6, 7);
164impl_usart_pin!(USART2, CkPin, PD7, 7);
165impl_usart!(USART3, 0x40004800);
166impl_usart_pin!(USART3, TxPin, PB10, 7);
167impl_usart_pin!(USART3, RxPin, PB11, 7);
168impl_usart_pin!(USART3, CkPin, PB12, 7);
169impl_usart_pin!(USART3, CtsPin, PB13, 7);
170impl_usart_pin!(USART3, RtsPin, PB14, 7);
171impl_usart_pin!(USART3, TxPin, PC10, 7);
172impl_usart_pin!(USART3, RxPin, PC11, 7);
173impl_usart_pin!(USART3, CkPin, PC12, 7);
174impl_usart_pin!(USART3, RxPin, PC5, 7);
175impl_usart_pin!(USART3, CkPin, PD10, 7);
176impl_usart_pin!(USART3, CtsPin, PD11, 7);
177impl_usart_pin!(USART3, RtsPin, PD12, 7);
178impl_usart_pin!(USART3, TxPin, PD8, 7);
179impl_usart_pin!(USART3, RxPin, PD9, 7);
180impl_usart!(USART6, 0x40011400);
181impl_usart_pin!(USART6, TxPin, PC6, 8);
182impl_usart_pin!(USART6, RxPin, PC7, 8);
183impl_usart_pin!(USART6, CkPin, PC8, 8);
184impl_usart_pin!(USART6, RtsPin, PG12, 8);
185impl_usart_pin!(USART6, CtsPin, PG13, 8);
186impl_usart_pin!(USART6, TxPin, PG14, 8);
187impl_usart_pin!(USART6, CtsPin, PG15, 8);
188impl_usart_pin!(USART6, CkPin, PG7, 8);
189impl_usart_pin!(USART6, RtsPin, PG8, 8);
190impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f446zc.rs b/embassy-stm32/src/chip/stm32f446zc.rs
index 0556fbe60..ea3cecb74 100644
--- a/embassy-stm32/src/chip/stm32f446zc.rs
+++ b/embassy-stm32/src/chip/stm32f446zc.rs
@@ -143,3 +143,48 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, CkPin, PA8, 7);
151impl_usart_pin!(USART1, TxPin, PA9, 7);
152impl_usart_pin!(USART1, TxPin, PB6, 7);
153impl_usart_pin!(USART1, RxPin, PB7, 7);
154impl_usart!(USART2, 0x40004400);
155impl_usart_pin!(USART2, CtsPin, PA0, 7);
156impl_usart_pin!(USART2, RtsPin, PA1, 7);
157impl_usart_pin!(USART2, TxPin, PA2, 7);
158impl_usart_pin!(USART2, RxPin, PA3, 7);
159impl_usart_pin!(USART2, CkPin, PA4, 7);
160impl_usart_pin!(USART2, CtsPin, PD3, 7);
161impl_usart_pin!(USART2, RtsPin, PD4, 7);
162impl_usart_pin!(USART2, TxPin, PD5, 7);
163impl_usart_pin!(USART2, RxPin, PD6, 7);
164impl_usart_pin!(USART2, CkPin, PD7, 7);
165impl_usart!(USART3, 0x40004800);
166impl_usart_pin!(USART3, TxPin, PB10, 7);
167impl_usart_pin!(USART3, RxPin, PB11, 7);
168impl_usart_pin!(USART3, CkPin, PB12, 7);
169impl_usart_pin!(USART3, CtsPin, PB13, 7);
170impl_usart_pin!(USART3, RtsPin, PB14, 7);
171impl_usart_pin!(USART3, TxPin, PC10, 7);
172impl_usart_pin!(USART3, RxPin, PC11, 7);
173impl_usart_pin!(USART3, CkPin, PC12, 7);
174impl_usart_pin!(USART3, RxPin, PC5, 7);
175impl_usart_pin!(USART3, CkPin, PD10, 7);
176impl_usart_pin!(USART3, CtsPin, PD11, 7);
177impl_usart_pin!(USART3, RtsPin, PD12, 7);
178impl_usart_pin!(USART3, TxPin, PD8, 7);
179impl_usart_pin!(USART3, RxPin, PD9, 7);
180impl_usart!(USART6, 0x40011400);
181impl_usart_pin!(USART6, TxPin, PC6, 8);
182impl_usart_pin!(USART6, RxPin, PC7, 8);
183impl_usart_pin!(USART6, CkPin, PC8, 8);
184impl_usart_pin!(USART6, RtsPin, PG12, 8);
185impl_usart_pin!(USART6, CtsPin, PG13, 8);
186impl_usart_pin!(USART6, TxPin, PG14, 8);
187impl_usart_pin!(USART6, CtsPin, PG15, 8);
188impl_usart_pin!(USART6, CkPin, PG7, 8);
189impl_usart_pin!(USART6, RtsPin, PG8, 8);
190impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f446ze.rs b/embassy-stm32/src/chip/stm32f446ze.rs
index 0556fbe60..ea3cecb74 100644
--- a/embassy-stm32/src/chip/stm32f446ze.rs
+++ b/embassy-stm32/src/chip/stm32f446ze.rs
@@ -143,3 +143,48 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
143impl_gpio_pin!(PH13, 7, 13, EXTI13); 143impl_gpio_pin!(PH13, 7, 13, EXTI13);
144impl_gpio_pin!(PH14, 7, 14, EXTI14); 144impl_gpio_pin!(PH14, 7, 14, EXTI14);
145impl_gpio_pin!(PH15, 7, 15, EXTI15); 145impl_gpio_pin!(PH15, 7, 15, EXTI15);
146impl_usart!(USART1, 0x40011000);
147impl_usart_pin!(USART1, RxPin, PA10, 7);
148impl_usart_pin!(USART1, CtsPin, PA11, 7);
149impl_usart_pin!(USART1, RtsPin, PA12, 7);
150impl_usart_pin!(USART1, CkPin, PA8, 7);
151impl_usart_pin!(USART1, TxPin, PA9, 7);
152impl_usart_pin!(USART1, TxPin, PB6, 7);
153impl_usart_pin!(USART1, RxPin, PB7, 7);
154impl_usart!(USART2, 0x40004400);
155impl_usart_pin!(USART2, CtsPin, PA0, 7);
156impl_usart_pin!(USART2, RtsPin, PA1, 7);
157impl_usart_pin!(USART2, TxPin, PA2, 7);
158impl_usart_pin!(USART2, RxPin, PA3, 7);
159impl_usart_pin!(USART2, CkPin, PA4, 7);
160impl_usart_pin!(USART2, CtsPin, PD3, 7);
161impl_usart_pin!(USART2, RtsPin, PD4, 7);
162impl_usart_pin!(USART2, TxPin, PD5, 7);
163impl_usart_pin!(USART2, RxPin, PD6, 7);
164impl_usart_pin!(USART2, CkPin, PD7, 7);
165impl_usart!(USART3, 0x40004800);
166impl_usart_pin!(USART3, TxPin, PB10, 7);
167impl_usart_pin!(USART3, RxPin, PB11, 7);
168impl_usart_pin!(USART3, CkPin, PB12, 7);
169impl_usart_pin!(USART3, CtsPin, PB13, 7);
170impl_usart_pin!(USART3, RtsPin, PB14, 7);
171impl_usart_pin!(USART3, TxPin, PC10, 7);
172impl_usart_pin!(USART3, RxPin, PC11, 7);
173impl_usart_pin!(USART3, CkPin, PC12, 7);
174impl_usart_pin!(USART3, RxPin, PC5, 7);
175impl_usart_pin!(USART3, CkPin, PD10, 7);
176impl_usart_pin!(USART3, CtsPin, PD11, 7);
177impl_usart_pin!(USART3, RtsPin, PD12, 7);
178impl_usart_pin!(USART3, TxPin, PD8, 7);
179impl_usart_pin!(USART3, RxPin, PD9, 7);
180impl_usart!(USART6, 0x40011400);
181impl_usart_pin!(USART6, TxPin, PC6, 8);
182impl_usart_pin!(USART6, RxPin, PC7, 8);
183impl_usart_pin!(USART6, CkPin, PC8, 8);
184impl_usart_pin!(USART6, RtsPin, PG12, 8);
185impl_usart_pin!(USART6, CtsPin, PG13, 8);
186impl_usart_pin!(USART6, TxPin, PG14, 8);
187impl_usart_pin!(USART6, CtsPin, PG15, 8);
188impl_usart_pin!(USART6, CkPin, PG7, 8);
189impl_usart_pin!(USART6, RtsPin, PG8, 8);
190impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ae.rs b/embassy-stm32/src/chip/stm32f469ae.rs
index 7e9e2d1c0..aa97a30a0 100644
--- a/embassy-stm32/src/chip/stm32f469ae.rs
+++ b/embassy-stm32/src/chip/stm32f469ae.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ag.rs b/embassy-stm32/src/chip/stm32f469ag.rs
index 7e9e2d1c0..aa97a30a0 100644
--- a/embassy-stm32/src/chip/stm32f469ag.rs
+++ b/embassy-stm32/src/chip/stm32f469ag.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ai.rs b/embassy-stm32/src/chip/stm32f469ai.rs
index 7e9e2d1c0..aa97a30a0 100644
--- a/embassy-stm32/src/chip/stm32f469ai.rs
+++ b/embassy-stm32/src/chip/stm32f469ai.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469be.rs b/embassy-stm32/src/chip/stm32f469be.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469be.rs
+++ b/embassy-stm32/src/chip/stm32f469be.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469bg.rs b/embassy-stm32/src/chip/stm32f469bg.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469bg.rs
+++ b/embassy-stm32/src/chip/stm32f469bg.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469bi.rs b/embassy-stm32/src/chip/stm32f469bi.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469bi.rs
+++ b/embassy-stm32/src/chip/stm32f469bi.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ie.rs b/embassy-stm32/src/chip/stm32f469ie.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469ie.rs
+++ b/embassy-stm32/src/chip/stm32f469ie.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ig.rs b/embassy-stm32/src/chip/stm32f469ig.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469ig.rs
+++ b/embassy-stm32/src/chip/stm32f469ig.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ii.rs b/embassy-stm32/src/chip/stm32f469ii.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469ii.rs
+++ b/embassy-stm32/src/chip/stm32f469ii.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ne.rs b/embassy-stm32/src/chip/stm32f469ne.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469ne.rs
+++ b/embassy-stm32/src/chip/stm32f469ne.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ng.rs b/embassy-stm32/src/chip/stm32f469ng.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469ng.rs
+++ b/embassy-stm32/src/chip/stm32f469ng.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ni.rs b/embassy-stm32/src/chip/stm32f469ni.rs
index 8b41f36e3..4a8bd043a 100644
--- a/embassy-stm32/src/chip/stm32f469ni.rs
+++ b/embassy-stm32/src/chip/stm32f469ni.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ve.rs b/embassy-stm32/src/chip/stm32f469ve.rs
index 2b201fa0d..0b4d3e4aa 100644
--- a/embassy-stm32/src/chip/stm32f469ve.rs
+++ b/embassy-stm32/src/chip/stm32f469ve.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469vg.rs b/embassy-stm32/src/chip/stm32f469vg.rs
index 2b201fa0d..0b4d3e4aa 100644
--- a/embassy-stm32/src/chip/stm32f469vg.rs
+++ b/embassy-stm32/src/chip/stm32f469vg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469vi.rs b/embassy-stm32/src/chip/stm32f469vi.rs
index 2b201fa0d..0b4d3e4aa 100644
--- a/embassy-stm32/src/chip/stm32f469vi.rs
+++ b/embassy-stm32/src/chip/stm32f469vi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469ze.rs b/embassy-stm32/src/chip/stm32f469ze.rs
index e78ca10ed..4d29c786b 100644
--- a/embassy-stm32/src/chip/stm32f469ze.rs
+++ b/embassy-stm32/src/chip/stm32f469ze.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469zg.rs b/embassy-stm32/src/chip/stm32f469zg.rs
index e78ca10ed..4d29c786b 100644
--- a/embassy-stm32/src/chip/stm32f469zg.rs
+++ b/embassy-stm32/src/chip/stm32f469zg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f469zi.rs b/embassy-stm32/src/chip/stm32f469zi.rs
index e78ca10ed..4d29c786b 100644
--- a/embassy-stm32/src/chip/stm32f469zi.rs
+++ b/embassy-stm32/src/chip/stm32f469zi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479ag.rs b/embassy-stm32/src/chip/stm32f479ag.rs
index f3142744c..822202a91 100644
--- a/embassy-stm32/src/chip/stm32f479ag.rs
+++ b/embassy-stm32/src/chip/stm32f479ag.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479ai.rs b/embassy-stm32/src/chip/stm32f479ai.rs
index f3142744c..822202a91 100644
--- a/embassy-stm32/src/chip/stm32f479ai.rs
+++ b/embassy-stm32/src/chip/stm32f479ai.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479bg.rs b/embassy-stm32/src/chip/stm32f479bg.rs
index 6ed4ddebc..6382e7eaf 100644
--- a/embassy-stm32/src/chip/stm32f479bg.rs
+++ b/embassy-stm32/src/chip/stm32f479bg.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479bi.rs b/embassy-stm32/src/chip/stm32f479bi.rs
index 6ed4ddebc..6382e7eaf 100644
--- a/embassy-stm32/src/chip/stm32f479bi.rs
+++ b/embassy-stm32/src/chip/stm32f479bi.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479ig.rs b/embassy-stm32/src/chip/stm32f479ig.rs
index 6ed4ddebc..6382e7eaf 100644
--- a/embassy-stm32/src/chip/stm32f479ig.rs
+++ b/embassy-stm32/src/chip/stm32f479ig.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479ii.rs b/embassy-stm32/src/chip/stm32f479ii.rs
index 6ed4ddebc..6382e7eaf 100644
--- a/embassy-stm32/src/chip/stm32f479ii.rs
+++ b/embassy-stm32/src/chip/stm32f479ii.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479ng.rs b/embassy-stm32/src/chip/stm32f479ng.rs
index 6ed4ddebc..6382e7eaf 100644
--- a/embassy-stm32/src/chip/stm32f479ng.rs
+++ b/embassy-stm32/src/chip/stm32f479ng.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479ni.rs b/embassy-stm32/src/chip/stm32f479ni.rs
index 6ed4ddebc..6382e7eaf 100644
--- a/embassy-stm32/src/chip/stm32f479ni.rs
+++ b/embassy-stm32/src/chip/stm32f479ni.rs
@@ -195,3 +195,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
195impl_gpio_pin!(PK13, 10, 13, EXTI13); 195impl_gpio_pin!(PK13, 10, 13, EXTI13);
196impl_gpio_pin!(PK14, 10, 14, EXTI14); 196impl_gpio_pin!(PK14, 10, 14, EXTI14);
197impl_gpio_pin!(PK15, 10, 15, EXTI15); 197impl_gpio_pin!(PK15, 10, 15, EXTI15);
198impl_usart!(USART1, 0x40011000);
199impl_usart_pin!(USART1, RxPin, PA10, 7);
200impl_usart_pin!(USART1, CtsPin, PA11, 7);
201impl_usart_pin!(USART1, RtsPin, PA12, 7);
202impl_usart_pin!(USART1, CkPin, PA8, 7);
203impl_usart_pin!(USART1, TxPin, PA9, 7);
204impl_usart_pin!(USART1, TxPin, PB6, 7);
205impl_usart_pin!(USART1, RxPin, PB7, 7);
206impl_usart!(USART2, 0x40004400);
207impl_usart_pin!(USART2, CtsPin, PA0, 7);
208impl_usart_pin!(USART2, RtsPin, PA1, 7);
209impl_usart_pin!(USART2, TxPin, PA2, 7);
210impl_usart_pin!(USART2, RxPin, PA3, 7);
211impl_usart_pin!(USART2, CkPin, PA4, 7);
212impl_usart_pin!(USART2, CtsPin, PD3, 7);
213impl_usart_pin!(USART2, RtsPin, PD4, 7);
214impl_usart_pin!(USART2, TxPin, PD5, 7);
215impl_usart_pin!(USART2, RxPin, PD6, 7);
216impl_usart_pin!(USART2, CkPin, PD7, 7);
217impl_usart!(USART3, 0x40004800);
218impl_usart_pin!(USART3, TxPin, PB10, 7);
219impl_usart_pin!(USART3, RxPin, PB11, 7);
220impl_usart_pin!(USART3, CkPin, PB12, 7);
221impl_usart_pin!(USART3, CtsPin, PB13, 7);
222impl_usart_pin!(USART3, RtsPin, PB14, 7);
223impl_usart_pin!(USART3, TxPin, PC10, 7);
224impl_usart_pin!(USART3, RxPin, PC11, 7);
225impl_usart_pin!(USART3, CkPin, PC12, 7);
226impl_usart_pin!(USART3, CkPin, PD10, 7);
227impl_usart_pin!(USART3, CtsPin, PD11, 7);
228impl_usart_pin!(USART3, RtsPin, PD12, 7);
229impl_usart_pin!(USART3, TxPin, PD8, 7);
230impl_usart_pin!(USART3, RxPin, PD9, 7);
231impl_usart!(USART6, 0x40011400);
232impl_usart_pin!(USART6, TxPin, PC6, 8);
233impl_usart_pin!(USART6, RxPin, PC7, 8);
234impl_usart_pin!(USART6, CkPin, PC8, 8);
235impl_usart_pin!(USART6, RtsPin, PG12, 8);
236impl_usart_pin!(USART6, CtsPin, PG13, 8);
237impl_usart_pin!(USART6, TxPin, PG14, 8);
238impl_usart_pin!(USART6, CtsPin, PG15, 8);
239impl_usart_pin!(USART6, CkPin, PG7, 8);
240impl_usart_pin!(USART6, RtsPin, PG8, 8);
241impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479vg.rs b/embassy-stm32/src/chip/stm32f479vg.rs
index 97f6b9633..a5b4713de 100644
--- a/embassy-stm32/src/chip/stm32f479vg.rs
+++ b/embassy-stm32/src/chip/stm32f479vg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479vi.rs b/embassy-stm32/src/chip/stm32f479vi.rs
index 97f6b9633..a5b4713de 100644
--- a/embassy-stm32/src/chip/stm32f479vi.rs
+++ b/embassy-stm32/src/chip/stm32f479vi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479zg.rs b/embassy-stm32/src/chip/stm32f479zg.rs
index d027d59c9..bcf63a60e 100644
--- a/embassy-stm32/src/chip/stm32f479zg.rs
+++ b/embassy-stm32/src/chip/stm32f479zg.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/chip/stm32f479zi.rs b/embassy-stm32/src/chip/stm32f479zi.rs
index d027d59c9..bcf63a60e 100644
--- a/embassy-stm32/src/chip/stm32f479zi.rs
+++ b/embassy-stm32/src/chip/stm32f479zi.rs
@@ -194,3 +194,47 @@ impl_gpio_pin!(PK12, 10, 12, EXTI12);
194impl_gpio_pin!(PK13, 10, 13, EXTI13); 194impl_gpio_pin!(PK13, 10, 13, EXTI13);
195impl_gpio_pin!(PK14, 10, 14, EXTI14); 195impl_gpio_pin!(PK14, 10, 14, EXTI14);
196impl_gpio_pin!(PK15, 10, 15, EXTI15); 196impl_gpio_pin!(PK15, 10, 15, EXTI15);
197impl_usart!(USART1, 0x40011000);
198impl_usart_pin!(USART1, RxPin, PA10, 7);
199impl_usart_pin!(USART1, CtsPin, PA11, 7);
200impl_usart_pin!(USART1, RtsPin, PA12, 7);
201impl_usart_pin!(USART1, CkPin, PA8, 7);
202impl_usart_pin!(USART1, TxPin, PA9, 7);
203impl_usart_pin!(USART1, TxPin, PB6, 7);
204impl_usart_pin!(USART1, RxPin, PB7, 7);
205impl_usart!(USART2, 0x40004400);
206impl_usart_pin!(USART2, CtsPin, PA0, 7);
207impl_usart_pin!(USART2, RtsPin, PA1, 7);
208impl_usart_pin!(USART2, TxPin, PA2, 7);
209impl_usart_pin!(USART2, RxPin, PA3, 7);
210impl_usart_pin!(USART2, CkPin, PA4, 7);
211impl_usart_pin!(USART2, CtsPin, PD3, 7);
212impl_usart_pin!(USART2, RtsPin, PD4, 7);
213impl_usart_pin!(USART2, TxPin, PD5, 7);
214impl_usart_pin!(USART2, RxPin, PD6, 7);
215impl_usart_pin!(USART2, CkPin, PD7, 7);
216impl_usart!(USART3, 0x40004800);
217impl_usart_pin!(USART3, TxPin, PB10, 7);
218impl_usart_pin!(USART3, RxPin, PB11, 7);
219impl_usart_pin!(USART3, CkPin, PB12, 7);
220impl_usart_pin!(USART3, CtsPin, PB13, 7);
221impl_usart_pin!(USART3, RtsPin, PB14, 7);
222impl_usart_pin!(USART3, TxPin, PC10, 7);
223impl_usart_pin!(USART3, RxPin, PC11, 7);
224impl_usart_pin!(USART3, CkPin, PC12, 7);
225impl_usart_pin!(USART3, CkPin, PD10, 7);
226impl_usart_pin!(USART3, CtsPin, PD11, 7);
227impl_usart_pin!(USART3, RtsPin, PD12, 7);
228impl_usart_pin!(USART3, TxPin, PD8, 7);
229impl_usart_pin!(USART3, RxPin, PD9, 7);
230impl_usart!(USART6, 0x40011400);
231impl_usart_pin!(USART6, TxPin, PC6, 8);
232impl_usart_pin!(USART6, RxPin, PC7, 8);
233impl_usart_pin!(USART6, CkPin, PC8, 8);
234impl_usart_pin!(USART6, RtsPin, PG12, 8);
235impl_usart_pin!(USART6, CtsPin, PG13, 8);
236impl_usart_pin!(USART6, TxPin, PG14, 8);
237impl_usart_pin!(USART6, CtsPin, PG15, 8);
238impl_usart_pin!(USART6, CkPin, PG7, 8);
239impl_usart_pin!(USART6, RtsPin, PG8, 8);
240impl_usart_pin!(USART6, RxPin, PG9, 8);
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs
index 0a1f26ba4..909d3466f 100644
--- a/embassy-stm32/src/lib.rs
+++ b/embassy-stm32/src/lib.rs
@@ -17,7 +17,8 @@ pub mod exti;
17pub mod gpio; 17pub mod gpio;
18//pub mod rtc; 18//pub mod rtc;
19//pub mod interrupt; 19//pub mod interrupt;
20//pub mod usart; 20#[macro_use]
21pub mod usart;
21 22
22// This must go LAST so that it sees the `impl_foo!` macros 23// This must go LAST so that it sees the `impl_foo!` macros
23mod chip; 24mod chip;
diff --git a/embassy-stm32/src/usart.rs b/embassy-stm32/src/usart.rs
index d3740a42c..3d9e3f54c 100644
--- a/embassy-stm32/src/usart.rs
+++ b/embassy-stm32/src/usart.rs
@@ -1,16 +1,12 @@
1use core::marker::PhantomData;
2
1use embassy::util::Unborrow; 3use embassy::util::Unborrow;
2use embassy_extras::unborrow; 4use embassy_extras::unborrow;
3 5
6use crate::gpio::{NoPin, Pin};
4use crate::pac::usart_v1::{regs, vals, Usart}; 7use crate::pac::usart_v1::{regs, vals, Usart};
5use crate::peripherals; 8use crate::peripherals;
6 9
7mod sealed {
8 use super::*;
9 pub trait Instance {
10 fn regs(&self) -> Usart;
11 }
12}
13
14#[non_exhaustive] 10#[non_exhaustive]
15pub struct Config { 11pub struct Config {
16 pub baudrate: u32, 12 pub baudrate: u32,
@@ -36,30 +32,88 @@ pub struct Uart<'d, T: Instance> {
36impl<'d, T: Instance> Uart<'d, T> { 32impl<'d, T: Instance> Uart<'d, T> {
37 pub fn new( 33 pub fn new(
38 inner: impl Unborrow<Target = T>, 34 inner: impl Unborrow<Target = T>,
39 tx: impl Unborrow<Target = impl TxPin<T>>,
40 rx: impl Unborrow<Target = impl RxPin<T>>, 35 rx: impl Unborrow<Target = impl RxPin<T>>,
36 tx: impl Unborrow<Target = impl TxPin<T>>,
41 cts: impl Unborrow<Target = impl CtsPin<T>>, 37 cts: impl Unborrow<Target = impl CtsPin<T>>,
42 rts: impl Unborrow<Target = impl RtsPin<T>>, 38 rts: impl Unborrow<Target = impl RtsPin<T>>,
43 config: Config, 39 config: Config,
44 ) -> Self { 40 ) -> Self {
45 unborrow!(inner, tx, rx, cts, rts); 41 unborrow!(inner, rx, tx, cts, rts);
42
43 Self {
44 inner,
45 phantom: PhantomData,
46 }
46 } 47 }
47} 48}
48 49
50pub(crate) mod sealed {
51 use crate::gpio::{OptionalPin, Pin};
52
53 use super::*;
54 pub trait Instance {
55 fn regs(&self) -> Usart;
56 }
57 pub trait RxPin<T: Instance>: OptionalPin {
58 const AF_NUM: u8;
59 }
60 pub trait TxPin<T: Instance>: OptionalPin {
61 const AF_NUM: u8;
62 }
63 pub trait CtsPin<T: Instance>: OptionalPin {
64 const AF_NUM: u8;
65 }
66 pub trait RtsPin<T: Instance>: OptionalPin {
67 const AF_NUM: u8;
68 }
69 pub trait CkPin<T: Instance>: OptionalPin {
70 const AF_NUM: u8;
71 }
72}
49pub trait Instance: sealed::Instance {} 73pub trait Instance: sealed::Instance {}
74pub trait RxPin<T: Instance>: sealed::RxPin<T> {}
75pub trait TxPin<T: Instance>: sealed::TxPin<T> {}
76pub trait CtsPin<T: Instance>: sealed::CtsPin<T> {}
77pub trait RtsPin<T: Instance>: sealed::RtsPin<T> {}
78pub trait CkPin<T: Instance>: sealed::CkPin<T> {}
79
80impl<T: Instance> sealed::RxPin<T> for NoPin {
81 const AF_NUM: u8 = 0;
82}
83impl<T: Instance> RxPin<T> for NoPin {}
84impl<T: Instance> sealed::TxPin<T> for NoPin {
85 const AF_NUM: u8 = 0;
86}
87impl<T: Instance> TxPin<T> for NoPin {}
88impl<T: Instance> sealed::CtsPin<T> for NoPin {
89 const AF_NUM: u8 = 0;
90}
91impl<T: Instance> CtsPin<T> for NoPin {}
92impl<T: Instance> sealed::RtsPin<T> for NoPin {
93 const AF_NUM: u8 = 0;
94}
95impl<T: Instance> RtsPin<T> for NoPin {}
96impl<T: Instance> sealed::CkPin<T> for NoPin {
97 const AF_NUM: u8 = 0;
98}
99impl<T: Instance> CkPin<T> for NoPin {}
50 100
51macro_rules! impl_instance { 101macro_rules! impl_usart {
52 ($type:ident, $addr:expr) => { 102 ($inst:ident, $addr:expr) => {
53 impl sealed::Instance for peripherals::$type { 103 impl crate::usart::sealed::Instance for peripherals::$inst {
54 fn regs(&self) -> Usart { 104 fn regs(&self) -> crate::pac::usart_v1::Usart {
55 Usart($addr as _) 105 crate::pac::usart_v1::Usart($addr as _)
56 } 106 }
57 } 107 }
58 impl Instance for peripherals::$type {} 108 impl crate::usart::Instance for peripherals::$inst {}
59 }; 109 };
60} 110}
61 111
62impl_instance!(USART1, 0x40011000); 112macro_rules! impl_usart_pin {
63impl_instance!(USART2, 0x40004400); 113 ($inst:ident, $func:ident, $pin:ident, $num:expr) => {
64impl_instance!(USART3, 0x40004800); 114 impl crate::usart::sealed::$func<peripherals::$inst> for peripherals::$pin {
65impl_instance!(USART6, 0x40011400); 115 const AF_NUM: u8 = $num;
116 }
117 impl crate::usart::$func<peripherals::$inst> for peripherals::$pin {}
118 };
119}