@@ -399,6 +399,7 @@ impl<G: GclkId> GclkToken<G> {
399399 }
400400
401401 /// SYNCBUSY register mask for the corresponding GCLK
402+ #[ hal_cfg( "clock-d5x" ) ]
402403 const MASK : u16 = 1 << G :: NUM ;
403404
404405 /// Provide a reference to the corresponding [`Genctrl`] register
@@ -814,6 +815,7 @@ pub trait GclkIo: PinId {
814815
815816// These implementations are much easier to read with `#[rustfmt::skip]`
816817#[ rustfmt:: skip]
818+ #[ hal_cfg( "clock-d5x" ) ]
817819mod gclkio_impl {
818820 use atsamd_hal_macros:: hal_cfg;
819821
@@ -865,6 +867,80 @@ mod gclkio_impl {
865867 impl GclkIo for gpio:: PB23 { type GclkId = Gclk1Id ; }
866868}
867869
870+ #[ rustfmt:: skip]
871+ #[ hal_cfg( "clock-d21" ) ]
872+ mod gclkio_impl {
873+ use super :: * ;
874+
875+ impl GclkIo for gpio:: PA10 { type GclkId = Gclk4Id ; }
876+ impl GclkIo for gpio:: PA11 { type GclkId = Gclk5Id ; }
877+ impl GclkIo for gpio:: PA14 { type GclkId = Gclk0Id ; }
878+ impl GclkIo for gpio:: PA15 { type GclkId = Gclk1Id ; }
879+ impl GclkIo for gpio:: PA16 { type GclkId = Gclk2Id ; }
880+ impl GclkIo for gpio:: PA17 { type GclkId = Gclk3Id ; }
881+ #[ hal_cfg( "pa20" ) ]
882+ impl GclkIo for gpio:: PA20 { type GclkId = Gclk4Id ; }
883+ #[ hal_cfg( "pa21" ) ]
884+ impl GclkIo for gpio:: PA21 { type GclkId = Gclk5Id ; }
885+ impl GclkIo for gpio:: PA22 { type GclkId = Gclk6Id ; }
886+ impl GclkIo for gpio:: PA23 { type GclkId = Gclk7Id ; }
887+ #[ hal_cfg( "pa27" ) ]
888+ impl GclkIo for gpio:: PA27 { type GclkId = Gclk0Id ; }
889+ #[ hal_cfg( "pa28" ) ]
890+ impl GclkIo for gpio:: PA28 { type GclkId = Gclk0Id ; }
891+ impl GclkIo for gpio:: PA30 { type GclkId = Gclk0Id ; }
892+
893+ #[ hal_cfg( "pb10" ) ]
894+ impl GclkIo for gpio:: PB10 { type GclkId = Gclk4Id ; }
895+ #[ hal_cfg( "pb11" ) ]
896+ impl GclkIo for gpio:: PB11 { type GclkId = Gclk5Id ; }
897+ #[ hal_cfg( "pb12" ) ]
898+ impl GclkIo for gpio:: PB12 { type GclkId = Gclk6Id ; }
899+ #[ hal_cfg( "pb13" ) ]
900+ impl GclkIo for gpio:: PB13 { type GclkId = Gclk7Id ; }
901+ #[ hal_cfg( "pb14" ) ]
902+ impl GclkIo for gpio:: PB14 { type GclkId = Gclk0Id ; }
903+ #[ hal_cfg( "pb15" ) ]
904+ impl GclkIo for gpio:: PB15 { type GclkId = Gclk1Id ; }
905+ #[ hal_cfg( "pb16" ) ]
906+ impl GclkIo for gpio:: PB16 { type GclkId = Gclk2Id ; }
907+ #[ hal_cfg( "pb17" ) ]
908+ impl GclkIo for gpio:: PB17 { type GclkId = Gclk3Id ; }
909+ #[ hal_cfg( "pb22" ) ]
910+ impl GclkIo for gpio:: PB22 { type GclkId = Gclk0Id ; }
911+ #[ hal_cfg( "pb23" ) ]
912+ impl GclkIo for gpio:: PB23 { type GclkId = Gclk1Id ; }
913+ }
914+
915+ #[ rustfmt:: skip]
916+ #[ hal_cfg( "clock-d11" ) ]
917+ mod gclkio_impl {
918+ use super :: * ;
919+
920+ impl GclkIo for gpio:: PA08 { type GclkId = Gclk0Id ; }
921+ impl GclkIo for gpio:: PA09 { type GclkId = Gclk1Id ; }
922+ #[ hal_cfg( "pa10" ) ]
923+ impl GclkIo for gpio:: PA10 { type GclkId = Gclk4Id ; }
924+ #[ hal_cfg( "pa11" ) ]
925+ impl GclkIo for gpio:: PA11 { type GclkId = Gclk5Id ; }
926+ impl GclkIo for gpio:: PA14 { type GclkId = Gclk4Id ; }
927+ impl GclkIo for gpio:: PA15 { type GclkId = Gclk5Id ; }
928+ #[ hal_cfg( "pa16" ) ]
929+ impl GclkIo for gpio:: PA16 { type GclkId = Gclk2Id ; }
930+ #[ hal_cfg( "pa17" ) ]
931+ impl GclkIo for gpio:: PA17 { type GclkId = Gclk3Id ; }
932+ #[ hal_cfg( "pa22" ) ]
933+ impl GclkIo for gpio:: PA22 { type GclkId = Gclk1Id ; }
934+ #[ hal_cfg( "pa23" ) ]
935+ impl GclkIo for gpio:: PA23 { type GclkId = Gclk2Id ; }
936+ impl GclkIo for gpio:: PA24 { type GclkId = Gclk0Id ; }
937+ impl GclkIo for gpio:: PA25 { type GclkId = Gclk0Id ; }
938+ #[ hal_cfg( "pa27" ) ]
939+ impl GclkIo for gpio:: PA27 { type GclkId = Gclk0Id ; }
940+ impl GclkIo for gpio:: PA30 { type GclkId = Gclk0Id ; }
941+ impl GclkIo for gpio:: PA31 { type GclkId = Gclk0Id ; }
942+ }
943+
868944//==============================================================================
869945// Gclk0Io
870946//==============================================================================
0 commit comments