소스 검색

Blackfin: avoid get_sclk() with early serial debug

When the clock functions were changed to use cached values (and thereby
avoiding expensive math functions), early serial debug broke because the
baud programming is called before external memory is available.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger 16 년 전
부모
커밋
f58bf804a1
1개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  1. 5 5
      cpu/blackfin/serial.h

+ 5 - 5
cpu/blackfin/serial.h

@@ -81,11 +81,6 @@
 
 #ifndef __ASSEMBLY__
 
-/* We cannot use get_sclk() in initcode as it is defined elsewhere. */
-#ifdef BFIN_IN_INITCODE
-# define get_sclk() (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT / CONFIG_SCLK_DIV)
-#endif
-
 #ifdef __ADSPBF54x__
 # define ACCESS_LATCH()
 # define ACCESS_PORT_IER()
@@ -190,6 +185,11 @@ static inline uint16_t serial_early_get_div(void)
 	return divisor;
 }
 
+/* We cannot use get_sclk() early on as it uses caches in external memory */
+#if defined(BFIN_IN_INITCODE) || defined(CONFIG_DEBUG_EARLY_SERIAL)
+# define get_sclk() (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT / CONFIG_SCLK_DIV)
+#endif
+
 __attribute__((always_inline))
 static inline void serial_early_set_baud(uint32_t baud)
 {