File tree 1 file changed +19
-20
lines changed
1 file changed +19
-20
lines changed Original file line number Diff line number Diff line change @@ -755,6 +755,25 @@ static rt_int32_t mmcsd_sd_init_card(struct rt_mmcsd_host *host,
755
755
goto err1 ;
756
756
}
757
757
758
+ /*
759
+ * change SD card to the highest supported speed
760
+ */
761
+ err = mmcsd_switch (card );
762
+ if (err )
763
+ goto err1 ;
764
+
765
+ /* set bus speed */
766
+ max_data_rate = (unsigned int )-1 ;
767
+ if (max_data_rate < card -> hs_max_data_rate )
768
+ {
769
+ max_data_rate = card -> hs_max_data_rate ;
770
+ }
771
+ if (max_data_rate < card -> max_data_rate )
772
+ {
773
+ max_data_rate = card -> max_data_rate ;
774
+ }
775
+
776
+ mmcsd_set_clock (host , max_data_rate );
758
777
/*switch bus width*/
759
778
if ((host -> flags & MMCSD_BUSWIDTH_4 ) && (card -> scr .sd_bus_widths & SD_SCR_BUS_WIDTH_4 ))
760
779
{
@@ -780,26 +799,6 @@ static rt_int32_t mmcsd_sd_init_card(struct rt_mmcsd_host *host,
780
799
card -> flags |= CARD_FLAG_SDR50 | CARD_FLAG_SDR104 | CARD_FLAG_DDR50 ;
781
800
}
782
801
783
- /*
784
- * change SD card to the highest supported speed
785
- */
786
- err = mmcsd_switch (card );
787
- if (err )
788
- goto err1 ;
789
-
790
- /* set bus speed */
791
- max_data_rate = (unsigned int )-1 ;
792
- if (max_data_rate < card -> hs_max_data_rate )
793
- {
794
- max_data_rate = card -> hs_max_data_rate ;
795
- }
796
- if (max_data_rate < card -> max_data_rate )
797
- {
798
- max_data_rate = card -> max_data_rate ;
799
- }
800
-
801
- mmcsd_set_clock (host , max_data_rate );
802
-
803
802
host -> card = card ;
804
803
805
804
return 0 ;
You can’t perform that action at this time.
0 commit comments