diff --git a/arch/arm/mach-keystone/init.c b/arch/arm/mach-keystone/init.c
index a9a7d41160126e571ff073575c787a453df7a044..678afb16e12f8b28db4c5063712af5231a5c5b15 100644
--- a/arch/arm/mach-keystone/init.c
+++ b/arch/arm/mach-keystone/init.c
@@ -122,8 +122,10 @@ int arch_cpu_init(void)
 	 * UART register PWREMU_MGMT is initialized. Linux UART
 	 * driver doesn't handle this.
 	 */
+#ifndef CONFIG_DM_SERIAL
 	NS16550_init((NS16550_t)(CONFIG_SYS_NS16550_COM2),
 		     CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE);
+#endif
 
 	return 0;
 }