[U-Boot] [PATCH 1/2] arm: add usb-phy init support for Kirkwood SoCs

Prafulla Wadaskar prafulla at marvell.com
Tue Jun 23 21:20:04 CEST 2009


On kirkwood by default USB PHY is disabled
and from Linux-2.6.29 onward, phy_version for kirkwood platforms
are programmed to EHCI_PHY_NA, expecting such platform specific
setup should be done by boot loader

This patch provides arch specific requirement for usb-phy init

Signed-off-by: Prafulla Wadaskar <prafulla at marvell.com>
---
 cpu/arm926ejs/kirkwood/cpu.c             |    9 +++++++++
 include/asm-arm/arch-kirkwood/cpu.h      |    1 +
 include/asm-arm/arch-kirkwood/kirkwood.h |    1 +
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/cpu/arm926ejs/kirkwood/cpu.c b/cpu/arm926ejs/kirkwood/cpu.c
index 194ba1c..1f6d014 100644
--- a/cpu/arm926ejs/kirkwood/cpu.c
+++ b/cpu/arm926ejs/kirkwood/cpu.c
@@ -260,6 +260,15 @@ int arch_cpu_init(void)
 	reg &= ~(1 << 4);	/* Clear PortReset Bit */
 	writel(reg, (KWGBE_PORT_SERIAL_CONTROL1_REG(1)));
 #endif
+#ifdef CONFIG_KIRKWOOD_USBPHY_INIT
+	/*
+	 * On kirkwood by default USB PHY is disabled
+	 * and from Linux-2.6.29 onward, ehci kernel driver has changed
+	 * expecting such platform specific init should be done by boot
+	 * loader
+	 */
+	orion_usb_phy_v1_setup();
+#endif /* CONFIG_KIRKWOOD_USBPHY_INIT */
 #ifdef CONFIG_KIRKWOOD_PCIE_INIT
 	/*
 	 * Enable PCI Express Port0
diff --git a/include/asm-arm/arch-kirkwood/cpu.h b/include/asm-arm/arch-kirkwood/cpu.h
index 36064ae..30a4bfa 100644
--- a/include/asm-arm/arch-kirkwood/cpu.h
+++ b/include/asm-arm/arch-kirkwood/cpu.h
@@ -155,5 +155,6 @@ int kw_config_mpp(unsigned int mpp0_7, unsigned int mpp8_15,
 		unsigned int mpp16_23, unsigned int mpp24_31,
 		unsigned int mpp32_39, unsigned int mpp40_47,
 		unsigned int mpp48_55);
+void orion_usb_phy_v1_setup(void);
 #endif /* __ASSEMBLY__ */
 #endif /* _KWCPU_H */
diff --git a/include/asm-arm/arch-kirkwood/kirkwood.h b/include/asm-arm/arch-kirkwood/kirkwood.h
index d5f25f9..52dafc2 100644
--- a/include/asm-arm/arch-kirkwood/kirkwood.h
+++ b/include/asm-arm/arch-kirkwood/kirkwood.h
@@ -55,6 +55,7 @@
 #define KW_CPU_REG_BASE			(KW_REGISTER(0x20100))
 #define KW_TIMER_BASE			(KW_REGISTER(0x20300))
 #define KW_REG_PCIE_BASE		(KW_REGISTER(0x40000))
+#define KW_USB20_BASE			(KW_REGISTER(0x50000))
 #define KW_EGIGA0_BASE			(KW_REGISTER(0x72000))
 #define KW_EGIGA1_BASE			(KW_REGISTER(0x76000))
 
-- 
1.5.3.3



More information about the U-Boot mailing list