Skip to content

Commit 873c3ea

Browse files
committed
high speed by default for fmc, sdmmc, octospi, ulpi
1 parent 6c14ae4 commit 873c3ea

16 files changed

+569
-730
lines changed

examples/ethernet-nucleo-h743zi2.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ extern crate cortex_m;
2121
mod utilities;
2222
use log::info;
2323

24+
use stm32h7xx_hal::ethernet::{self, TwoLanesPins, PHY};
2425
use stm32h7xx_hal::rcc::CoreClocks;
25-
use stm32h7xx_hal::{ethernet, ethernet::PHY};
2626
use stm32h7xx_hal::{prelude::*, stm32, stm32::interrupt};
2727

2828
/// Configure SYSTICK for 1ms timebase
@@ -93,15 +93,15 @@ fn main() -> ! {
9393
let mut link_led = gpiob.pb0.into_push_pull_output(); // LED1, green
9494
link_led.set_high();
9595

96-
let rmii_ref_clk = gpioa.pa1.into_alternate();
97-
let rmii_mdio = gpioa.pa2.into_alternate();
98-
let rmii_mdc = gpioc.pc1.into_alternate();
99-
let rmii_crs_dv = gpioa.pa7.into_alternate();
100-
let rmii_rxd0 = gpioc.pc4.into_alternate();
101-
let rmii_rxd1 = gpioc.pc5.into_alternate();
102-
let rmii_tx_en = gpiog.pg11.into_alternate();
103-
let rmii_txd0 = gpiog.pg13.into_alternate();
104-
let rmii_txd1 = gpiob.pb13.into_alternate();
96+
let rmii_ref_clk = gpioa.pa1;
97+
let rmii_mdio = gpioa.pa2;
98+
let rmii_mdc = gpioc.pc1;
99+
let rmii_crs_dv = gpioa.pa7;
100+
let rmii_rxd0 = gpioc.pc4;
101+
let rmii_rxd1 = gpioc.pc5;
102+
let rmii_tx_en = gpiog.pg11;
103+
let rmii_txd0 = gpiog.pg13;
104+
let rmii_txd1 = gpiob.pb13;
105105

106106
// Initialise ethernet...
107107
assert_eq!(ccdr.clocks.hclk().raw(), 200_000_000); // HCLK 200MHz
@@ -115,7 +115,7 @@ fn main() -> ! {
115115
dp.ETHERNET_MAC,
116116
dp.ETHERNET_MTL,
117117
dp.ETHERNET_DMA,
118-
(
118+
TwoLanesPins::new(
119119
rmii_ref_clk,
120120
rmii_mdio,
121121
rmii_mdc,

examples/ethernet-rtic-stm32h735g-dk.rs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@ use smoltcp::iface::{Config, Interface, SocketSet, SocketStorage};
2121
use smoltcp::time::Instant;
2222
use smoltcp::wire::{HardwareAddress, IpAddress, IpCidr};
2323

24-
use stm32h7xx_hal::{ethernet, rcc::CoreClocks, stm32};
24+
use stm32h7xx_hal::{
25+
ethernet::{self, TwoLanesPins},
26+
rcc::CoreClocks,
27+
stm32,
28+
};
2529

2630
/// Configure SYSTICK for 1ms timebase
2731
fn systick_init(mut syst: stm32::SYST, clocks: CoreClocks) {
@@ -139,15 +143,15 @@ mod app {
139143
let mut link_led = gpioc.pc3.into_push_pull_output(); // USR LED1
140144
link_led.set_high();
141145

142-
let rmii_ref_clk = gpioa.pa1.into_alternate();
143-
let rmii_mdio = gpioa.pa2.into_alternate();
144-
let rmii_mdc = gpioc.pc1.into_alternate();
145-
let rmii_crs_dv = gpioa.pa7.into_alternate();
146-
let rmii_rxd0 = gpioc.pc4.into_alternate();
147-
let rmii_rxd1 = gpioc.pc5.into_alternate();
148-
let rmii_tx_en = gpiob.pb11.into_alternate();
149-
let rmii_txd0 = gpiob.pb12.into_alternate();
150-
let rmii_txd1 = gpiob.pb13.into_alternate();
146+
let rmii_ref_clk = gpioa.pa1;
147+
let rmii_mdio = gpioa.pa2;
148+
let rmii_mdc = gpioc.pc1;
149+
let rmii_crs_dv = gpioa.pa7;
150+
let rmii_rxd0 = gpioc.pc4;
151+
let rmii_rxd1 = gpioc.pc5;
152+
let rmii_tx_en = gpiob.pb11;
153+
let rmii_txd0 = gpiob.pb12;
154+
let rmii_txd1 = gpiob.pb13;
151155

152156
// Initialise ethernet...
153157
assert_eq!(ccdr.clocks.hclk().raw(), 200_000_000); // HCLK 200MHz
@@ -161,7 +165,7 @@ mod app {
161165
ctx.device.ETHERNET_MAC,
162166
ctx.device.ETHERNET_MTL,
163167
ctx.device.ETHERNET_DMA,
164-
(
168+
TwoLanesPins::new(
165169
rmii_ref_clk,
166170
rmii_mdio,
167171
rmii_mdc,

examples/ethernet-rtic-stm32h747i-disco.rs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ use smoltcp::iface::{Config, Interface, SocketSet, SocketStorage};
2828
use smoltcp::time::Instant;
2929
use smoltcp::wire::{HardwareAddress, IpAddress, IpCidr};
3030

31-
use stm32h7xx_hal::{ethernet, rcc::CoreClocks, stm32};
31+
use stm32h7xx_hal::{
32+
ethernet::{self, TwoLanesPins},
33+
rcc::CoreClocks,
34+
stm32,
35+
};
3236

3337
/// Configure SYSTICK for 1ms timebase
3438
fn systick_init(mut syst: stm32::SYST, clocks: CoreClocks) {
@@ -149,15 +153,15 @@ mod app {
149153
let mut link_led = gpioi.pi14.into_push_pull_output(); // LED3
150154
link_led.set_high();
151155

152-
let rmii_ref_clk = gpioa.pa1.into_alternate();
153-
let rmii_mdio = gpioa.pa2.into_alternate();
154-
let rmii_mdc = gpioc.pc1.into_alternate();
155-
let rmii_crs_dv = gpioa.pa7.into_alternate();
156-
let rmii_rxd0 = gpioc.pc4.into_alternate();
157-
let rmii_rxd1 = gpioc.pc5.into_alternate();
158-
let rmii_tx_en = gpiog.pg11.into_alternate();
159-
let rmii_txd0 = gpiog.pg13.into_alternate();
160-
let rmii_txd1 = gpiog.pg12.into_alternate(); // STM32H747I-DISCO
156+
let rmii_ref_clk = gpioa.pa1;
157+
let rmii_mdio = gpioa.pa2;
158+
let rmii_mdc = gpioc.pc1;
159+
let rmii_crs_dv = gpioa.pa7;
160+
let rmii_rxd0 = gpioc.pc4;
161+
let rmii_rxd1 = gpioc.pc5;
162+
let rmii_tx_en = gpiog.pg11;
163+
let rmii_txd0 = gpiog.pg13;
164+
let rmii_txd1 = gpiog.pg12; // STM32H747I-DISCO
161165

162166
// Initialise ethernet...
163167
assert_eq!(ccdr.clocks.hclk().raw(), 200_000_000); // HCLK 200MHz
@@ -171,7 +175,7 @@ mod app {
171175
ctx.device.ETHERNET_MAC,
172176
ctx.device.ETHERNET_MTL,
173177
ctx.device.ETHERNET_DMA,
174-
(
178+
TwoLanesPins::new(
175179
rmii_ref_clk,
176180
rmii_mdio,
177181
rmii_mdc,

examples/ethernet-stm32h747i-disco.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ mod utilities;
1919

2020
use log::info;
2121

22-
use stm32h7xx_hal::{ethernet, ethernet::PHY};
22+
use stm32h7xx_hal::ethernet::{self, TwoLanesPins, PHY};
2323
use stm32h7xx_hal::{prelude::*, stm32, stm32::interrupt};
2424

2525
/// Locally administered MAC address
@@ -66,15 +66,15 @@ fn main() -> ! {
6666
let mut link_led = gpioi.pi14.into_push_pull_output(); // LED3
6767
link_led.set_high();
6868

69-
let rmii_ref_clk = gpioa.pa1.into_alternate();
70-
let rmii_mdio = gpioa.pa2.into_alternate();
71-
let rmii_mdc = gpioc.pc1.into_alternate();
72-
let rmii_crs_dv = gpioa.pa7.into_alternate();
73-
let rmii_rxd0 = gpioc.pc4.into_alternate();
74-
let rmii_rxd1 = gpioc.pc5.into_alternate();
75-
let rmii_tx_en = gpiog.pg11.into_alternate();
76-
let rmii_txd0 = gpiog.pg13.into_alternate();
77-
let rmii_txd1 = gpiog.pg12.into_alternate();
69+
let rmii_ref_clk = gpioa.pa1;
70+
let rmii_mdio = gpioa.pa2;
71+
let rmii_mdc = gpioc.pc1;
72+
let rmii_crs_dv = gpioa.pa7;
73+
let rmii_rxd0 = gpioc.pc4;
74+
let rmii_rxd1 = gpioc.pc5;
75+
let rmii_tx_en = gpiog.pg11;
76+
let rmii_txd0 = gpiog.pg13;
77+
let rmii_txd1 = gpiog.pg12;
7878

7979
// Initialise ethernet...
8080
assert_eq!(ccdr.clocks.hclk().raw(), 200_000_000); // HCLK 200MHz
@@ -88,7 +88,7 @@ fn main() -> ! {
8888
dp.ETHERNET_MAC,
8989
dp.ETHERNET_MTL,
9090
dp.ETHERNET_DMA,
91-
(
91+
TwoLanesPins::new(
9292
rmii_ref_clk,
9393
rmii_mdio,
9494
rmii_mdc,

examples/fmc.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ macro_rules! fmc_pins {
2626
(
2727
$(
2828
<$alt>::from($pin.into_alternate()
29-
.speed(Speed::VeryHigh)
3029
.internal_pull_up(true))
3130
),*
3231
)

examples/fmc_nand_flash.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use log::info;
1515
extern crate cortex_m;
1616

1717
use cortex_m_rt::entry;
18-
use stm32h7xx_hal::gpio::{alt::fmc as alt, Speed};
18+
use stm32h7xx_hal::gpio::alt::fmc as alt;
1919
use stm32h7xx_hal::{pac, prelude::*, rcc::rec};
2020

2121
use stm32_fmc::devices::s34ml08g3_4kb;
@@ -27,7 +27,6 @@ macro_rules! fmc_pins {
2727
(
2828
$(
2929
<$alt>::from($pin.into_alternate()
30-
.speed(Speed::VeryHigh)
3130
.internal_pull_up(true))
3231
),*
3332
)

examples/sdmmc.rs

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
mod utilities;
1212

1313
use cortex_m_rt::entry;
14-
use stm32h7xx_hal::gpio::Speed;
1514
use stm32h7xx_hal::sdmmc::{SdCard, Sdmmc};
1615
use stm32h7xx_hal::{pac, prelude::*};
1716

@@ -60,36 +59,12 @@ fn main() -> ! {
6059
let mut delay = cp.SYST.delay(ccdr.clocks);
6160

6261
// SDMMC pins
63-
let clk = gpioc
64-
.pc12
65-
.into_alternate()
66-
.internal_pull_up(false)
67-
.speed(Speed::VeryHigh);
68-
let cmd = gpiod
69-
.pd2
70-
.into_alternate()
71-
.internal_pull_up(true)
72-
.speed(Speed::VeryHigh);
73-
let d0 = gpioc
74-
.pc8
75-
.into_alternate()
76-
.internal_pull_up(true)
77-
.speed(Speed::VeryHigh);
78-
let d1 = gpioc
79-
.pc9
80-
.into_alternate()
81-
.internal_pull_up(true)
82-
.speed(Speed::VeryHigh);
83-
let d2 = gpioc
84-
.pc10
85-
.into_alternate()
86-
.internal_pull_up(true)
87-
.speed(Speed::VeryHigh);
88-
let d3 = gpioc
89-
.pc11
90-
.into_alternate()
91-
.internal_pull_up(true)
92-
.speed(Speed::VeryHigh);
62+
let clk = gpioc.pc12.into_alternate().internal_pull_up(false);
63+
let cmd = gpiod.pd2.into_alternate().internal_pull_up(true);
64+
let d0 = gpioc.pc8.into_alternate().internal_pull_up(true);
65+
let d1 = gpioc.pc9.into_alternate().internal_pull_up(true);
66+
let d2 = gpioc.pc10.into_alternate().internal_pull_up(true);
67+
let d3 = gpioc.pc11.into_alternate().internal_pull_up(true);
9368

9469
// Create SDMMC
9570
let mut sdmmc: Sdmmc<_, SdCard> = dp.SDMMC1.sdmmc(

examples/usb_passthrough.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ fn main() -> ! {
5252
dp.OTG1_HS_GLOBAL,
5353
dp.OTG1_HS_DEVICE,
5454
dp.OTG1_HS_PWRCLK,
55-
gpiob.pb14.into_alternate(),
56-
gpiob.pb15.into_alternate(),
55+
gpiob.pb14,
56+
gpiob.pb15,
5757
ccdr.peripheral.USB1OTG,
5858
&ccdr.clocks,
5959
);
@@ -62,8 +62,8 @@ fn main() -> ! {
6262
dp.OTG2_HS_GLOBAL,
6363
dp.OTG2_HS_DEVICE,
6464
dp.OTG2_HS_PWRCLK,
65-
gpioa.pa11.into_alternate(),
66-
gpioa.pa12.into_alternate(),
65+
gpioa.pa11,
66+
gpioa.pa12,
6767
ccdr.peripheral.USB2OTG,
6868
&ccdr.clocks,
6969
);

examples/usb_phy_serial_interrupt.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -124,18 +124,18 @@ unsafe fn main() -> ! {
124124
dp.OTG1_HS_GLOBAL,
125125
dp.OTG1_HS_DEVICE,
126126
dp.OTG1_HS_PWRCLK,
127-
gpioa.pa5.into_alternate(),
128-
gpioi.pi11.into_alternate(),
129-
gpioh.ph4.into_alternate(),
130-
gpioc.pc0.into_alternate(),
131-
gpioa.pa3.into_alternate(),
132-
gpiob.pb0.into_alternate(),
133-
gpiob.pb1.into_alternate(),
134-
gpiob.pb10.into_alternate(),
135-
gpiob.pb11.into_alternate(),
136-
gpiob.pb12.into_alternate(),
137-
gpiob.pb13.into_alternate(),
138-
gpiob.pb5.into_alternate(),
127+
gpioa.pa5,
128+
gpioi.pi11,
129+
gpioh.ph4,
130+
gpioc.pc0,
131+
gpioa.pa3,
132+
gpiob.pb0,
133+
gpiob.pb1,
134+
gpiob.pb10,
135+
gpiob.pb11,
136+
gpiob.pb12,
137+
gpiob.pb13,
138+
gpiob.pb5,
139139
ccdr.peripheral.USB1OTG,
140140
&ccdr.clocks,
141141
);

examples/usb_rtic.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ mod app {
6464
#[cfg(any(feature = "rm0433", feature = "rm0399"))]
6565
let (pin_dm, pin_dp) = {
6666
let gpiob = ctx.device.GPIOB.split(ccdr.peripheral.GPIOB);
67-
(gpiob.pb14.into_alternate(), gpiob.pb15.into_alternate())
67+
(gpiob.pb14, gpiob.pb15)
6868
};
6969

7070
#[cfg(any(feature = "rm0455", feature = "rm0468"))]
7171
let (pin_dm, pin_dp) = {
7272
let gpioa = ctx.device.GPIOA.split(ccdr.peripheral.GPIOA);
73-
(gpioa.pa11.into_alternate(), gpioa.pa12.into_alternate())
73+
(gpioa.pa11, gpioa.pa12)
7474
};
7575

7676
let led = ctx.device.GPIOE.split(ccdr.peripheral.GPIOE).pe1;

examples/usb_serial.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,13 @@ fn main() -> ! {
5353
#[cfg(any(feature = "rm0433", feature = "rm0399"))]
5454
let (pin_dm, pin_dp) = {
5555
let gpiob = dp.GPIOB.split(ccdr.peripheral.GPIOB);
56-
(gpiob.pb14.into_alternate(), gpiob.pb15.into_alternate())
56+
(gpiob.pb14, gpiob.pb15)
5757
};
5858

5959
#[cfg(any(feature = "rm0455", feature = "rm0468"))]
6060
let (pin_dm, pin_dp) = {
6161
let gpioa = dp.GPIOA.split(ccdr.peripheral.GPIOA);
62-
(gpioa.pa11.into_alternate(), gpioa.pa12.into_alternate())
62+
(gpioa.pa11, gpioa.pa12)
6363
};
6464

6565
let usb = USB1::new(

0 commit comments

Comments
 (0)