On Mon, Mar 25, 2013 at 12:33 PM, York Sun <york...@freescale.com> wrote:
> From: Roy Zang <tie-fei.z...@freescale.com> > > T4240 internal UTMI phy is different comparing to previous UTMI PHY > in P3041. > This patch adds USB 2.0 UTMI Dual PHY new memory map and enable it for > T4240. > The phy timing is very sensitive and moving the phy enable code to > cpu_init.c will not work. > > Signed-off-by: Roy Zang <tie-fei.z...@freescale.com> > --- > arch/powerpc/include/asm/config_mpc85xx.h | 3 +-- > arch/powerpc/include/asm/immap_85xx.h | 41 > +++++++++++++++++++++++++++++ > drivers/usb/host/ehci-fsl.c | 21 +++++++++++++++ > 3 files changed, 63 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/include/asm/config_mpc85xx.h > b/arch/powerpc/include/asm/config_mpc85xx.h > index 3740785..ca235dc 100644 > --- a/arch/powerpc/include/asm/config_mpc85xx.h > +++ b/arch/powerpc/include/asm/config_mpc85xx.h > @@ -536,8 +536,7 @@ > #define CONFIG_SYS_FSL_SRIO_MAX_PORTS 2 > #define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM 9 > #define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM 5 > -#define CONFIG_SYS_FSL_USB1_PHY_ENABLE > -#define CONFIG_SYS_FSL_USB2_PHY_ENABLE > +#define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE > #define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY > #define CONFIG_SYS_FSL_ERRATUM_A004468 > #define CONFIG_SYS_FSL_ERRATUM_A_004934 > diff --git a/arch/powerpc/include/asm/immap_85xx.h > b/arch/powerpc/include/asm/immap_85xx.h > index 8bc047b..29ee38f 100644 > --- a/arch/powerpc/include/asm/immap_85xx.h > +++ b/arch/powerpc/include/asm/immap_85xx.h > @@ -2828,12 +2828,53 @@ typedef struct ccsr_pme { > u8 res4[0x400]; > } ccsr_pme_t; > > +#ifdef CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE > +struct ccsr_usb_port_ctrl { > + u32 ctrl; > + u32 drvvbuscfg; > + u32 pwrfltcfg; > + u32 sts; > + u8 res_14[0xc]; > + u32 bistcfg; > + u32 biststs; > + u32 abistcfg; > + u32 abiststs; > + u8 res_30[0x10]; > + u32 xcvrprg; > + u32 anaprg; > + u32 anadrv; > + u32 anasts; > +}; > + > +struct ccsr_usb_phy { > + u32 id; > + struct ccsr_usb_port_ctrl port1; > + u8 res_50[0xc]; > + u32 tvr; > + u32 pllprg[4]; > + u8 res_70[0x4]; > + u32 anaccfg; > + u32 dbg; > + u8 res_7c[0x4]; > + struct ccsr_usb_port_ctrl port2; > + u8 res_dc[0x334]; > +} ccsr_usb_phy_t; > I get a build error whenever the code attempts to use ccsr_usb_phy_t. Was this even build-tested? Am I going to find a later patch that fixes this? Am I running into a compiler version thing, where it's ok to do struct foo { } foo_t, without "typedef" before? My impression is that's just for C++... I'm going to add "typedef" before this struct, and apply the patch, but please be more careful. Andy
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot