[U-Boot] [PATCH 3/3] mpc83xx: Add PCI-E support for MPC837XEMDS boards

Liu Dave DaveLiu at freescale.com
Thu Jan 8 06:54:01 CET 2009


> +	/* Deassert the resets in the control register */
> +	out_be32(&sysconf->pecr1, 0xE0008000);
> +	if (!pex2)
> +		out_be32(&sysconf->pecr2, 0xE0008000);
> +	udelay(2000);
> +
> +	/* Configure PCI Express Local Access Windows */
> +	out_be32(&pcie_law[0].bar, CONFIG_SYS_PCIE1_BASE & LAWBAR_BAR);
> +	out_be32(&pcie_law[0].ar, LBLAWAR_EN | LBLAWAR_512MB);
> +
> +	out_be32(&pcie_law[1].bar, CONFIG_SYS_PCIE2_BASE & LAWBAR_BAR);
> +	out_be32(&pcie_law[1].ar, LBLAWAR_EN | LBLAWAR_512MB);
> +
> +	if (pex2)
> +		fsl_setup_serdes(CONFIG_FSL_SERDES2, 
> FSL_SERDES_PROTO_PEX_X2,
> +				 FSL_SERDES_CLK_100, FSL_SERDES_VDD_1V);
> +	else
> +		fsl_setup_serdes(CONFIG_FSL_SERDES2, 
> FSL_SERDES_PROTO_PEX,
> +				 FSL_SERDES_CLK_100, FSL_SERDES_VDD_1V);
> +

Umm, The serdes initialization should be finished before negated the
reset signal
according to the UM.
So, it is safe to move the serdes initialization before the
out_be32(pecr1/2);


> +#define CONFIG_SYS_PCIE1_BASE		0xA0000000
> +#define CONFIG_SYS_PCIE1_CFG_BASE	0xA0000000
> +#define CONFIG_SYS_PCIE1_CFG_SIZE	0x08000000

Why did you keep the cfg window as 128MB?
Did you consider the compitable with FSL BSP?

> +#define CONFIG_SYS_PCIE1_MEM_BASE	0xA8000000
> +#define CONFIG_SYS_PCIE1_MEM_PHYS	0xA8000000
> +#define CONFIG_SYS_PCIE1_MEM_SIZE	0x10000000
> +#define CONFIG_SYS_PCIE1_IO_BASE	0x00000000
> +#define CONFIG_SYS_PCIE1_IO_PHYS	0xB8000000
> +#define CONFIG_SYS_PCIE1_IO_SIZE	0x00800000
> +
> +#define CONFIG_SYS_PCIE2_BASE		0xC0000000
> +#define CONFIG_SYS_PCIE2_CFG_BASE	0xC0000000
> +#define CONFIG_SYS_PCIE2_CFG_SIZE	0x08000000

same


More information about the U-Boot mailing list