@@ -37,7 +37,7 @@ macro_rules! i2c {
3737
3838 match ccipr4. [ <$I2CX: lower sel>] ( ) . variant( ) {
3939 ccipr4:: I2CSEL :: Pclk => Some ( clocks. $pclk( ) ) ,
40- ccipr4:: I2CSEL :: [ < $pllX: camel R >] => clocks. [ < $pllX: lower _r_ck > ] ( ) ,
40+ ccipr4:: I2CSEL :: [ < $pllX: camel R >] => clocks. [ < $pllX: lower > ] ( ) . r_ck ( ) ,
4141 ccipr4:: I2CSEL :: HsiKer => clocks. hsi_ck( ) ,
4242 ccipr4:: I2CSEL :: CsiKer => clocks. csi_ck( ) ,
4343 } . expect( "Source clock not enabled" )
@@ -95,3 +95,119 @@ mod rm492 {
9595 i2c ! { I2C1 : pclk1, Pll2 }
9696 i2c ! { I2C2 : pclk1, Pll2 }
9797}
98+
99+ #[ cfg( feature = "h523_h533" ) ]
100+ mod h523_h533 {
101+ use super :: * ;
102+ use crate :: stm32:: { I2C1 , I2C2 , I2C3 } ;
103+
104+ pins ! {
105+ I2C1 :
106+ SCL : [
107+ gpio:: PB6 <Alternate <4 , OpenDrain >>,
108+ gpio:: PB8 <Alternate <4 , OpenDrain >>
109+ ]
110+
111+ SDA : [
112+ gpio:: PB7 <Alternate <4 , OpenDrain >>,
113+ gpio:: PB9 <Alternate <4 , OpenDrain >>
114+ ]
115+
116+ I2C2 :
117+ SCL : [
118+ gpio:: PB10 <Alternate <4 , OpenDrain >>,
119+ gpio:: PF1 <Alternate <4 , OpenDrain >>
120+ ]
121+
122+ SDA : [
123+ gpio:: PB3 <Alternate <4 , OpenDrain >>,
124+ gpio:: PB12 <Alternate <4 , OpenDrain >>,
125+ gpio:: PF0 <Alternate <4 , OpenDrain >>
126+ ]
127+
128+ I2C3 :
129+ SCL : [
130+ gpio:: PA8 <Alternate <4 , OpenDrain >>,
131+ gpio:: PD6 <Alternate <4 , OpenDrain >>
132+ ]
133+
134+ SDA : [
135+ gpio:: PB4 <Alternate <9 , OpenDrain >>,
136+ gpio:: PC9 <Alternate <4 , OpenDrain >>,
137+ gpio:: PD7 <Alternate <4 , OpenDrain >>
138+ ]
139+ }
140+
141+ i2c ! { I2C1 : pclk1, Pll3 }
142+ i2c ! { I2C2 : pclk1, Pll3 }
143+ i2c ! { I2C3 : pclk3, Pll3 }
144+ }
145+
146+ #[ cfg( feature = "h56x_h573" ) ]
147+ mod h56x_h573 {
148+ use super :: * ;
149+ use crate :: stm32:: { I2C1 , I2C2 , I2C3 , I2C4 } ;
150+
151+ pins ! {
152+ I2C1 :
153+ SCL : [
154+ gpio:: PB6 <Alternate <4 , OpenDrain >>,
155+ gpio:: PB8 <Alternate <4 , OpenDrain >>
156+ ]
157+
158+ SDA : [
159+ gpio:: PB7 <Alternate <4 , OpenDrain >>,
160+ gpio:: PB9 <Alternate <4 , OpenDrain >>
161+ ]
162+
163+ I2C2 :
164+ SCL : [
165+ gpio:: PB10 <Alternate <4 , OpenDrain >>,
166+ gpio:: PF1 <Alternate <4 , OpenDrain >>,
167+ gpio:: PH4 <Alternate <4 , OpenDrain >>
168+ ]
169+
170+ SDA : [
171+ gpio:: PB3 <Alternate <4 , OpenDrain >>,
172+ gpio:: PB11 <Alternate <4 , OpenDrain >>,
173+ gpio:: PB12 <Alternate <4 , OpenDrain >>,
174+ gpio:: PF0 <Alternate <4 , OpenDrain >>,
175+ gpio:: PH5 <Alternate <4 , OpenDrain >>
176+ ]
177+
178+ I2C3 :
179+ SCL : [
180+ gpio:: PA8 <Alternate <4 , OpenDrain >>,
181+ gpio:: PH7 <Alternate <4 , OpenDrain >>
182+ ]
183+
184+ SDA : [
185+ gpio:: PC9 <Alternate <4 , OpenDrain >>,
186+ gpio:: PH8 <Alternate <4 , OpenDrain >>
187+ ]
188+
189+ I2C4 :
190+ SCL : [
191+ gpio:: PB6 <Alternate <6 , OpenDrain >>,
192+ gpio:: PB8 <Alternate <6 , OpenDrain >>,
193+ gpio:: PD12 <Alternate <4 , OpenDrain >>,
194+ gpio:: PF5 <Alternate <4 , OpenDrain >>,
195+ gpio:: PG7 <Alternate <4 , OpenDrain >>,
196+ gpio:: PH11 <Alternate <4 , OpenDrain >>
197+ ]
198+
199+ SDA : [
200+ gpio:: PB7 <Alternate <6 , OpenDrain >>,
201+ gpio:: PB9 <Alternate <6 , OpenDrain >>,
202+ gpio:: PD13 <Alternate <4 , OpenDrain >>,
203+ gpio:: PF15 <Alternate <4 , OpenDrain >>,
204+ gpio:: PG6 <Alternate <4 , OpenDrain >>,
205+ gpio:: PH12 <Alternate <4 , OpenDrain >>
206+ ]
207+ }
208+
209+ i2c ! { I2C1 : pclk1, Pll3 }
210+ i2c ! { I2C2 : pclk1, Pll3 }
211+ i2c ! { I2C3 : pclk3, Pll3 }
212+ i2c ! { I2C4 : pclk3, Pll3 }
213+ }
0 commit comments