mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 13:11:31 +00:00
ls102xa: etsec: Select ge0_clk125 for eTSEC clock muxing as default
This patch reverts to use ge0_clk125 for eTSEC clock muxing. For SAI and CAN which are pin multiplexed with RGMII1 in EC1 of RCW, ge2_clk125 will be used via hwconfig. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com> Signed-off-by: Alison Wang <alison.wang@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
This commit is contained in:
parent
dda3b610ee
commit
0f5e5579f2
2 changed files with 36 additions and 1 deletions
|
@ -105,6 +105,8 @@ struct ccsr_gur {
|
|||
|
||||
#define SCFG_ETSECDMAMCR_LE_BD_FR 0xf8001a0f
|
||||
#define SCFG_ETSECCMCR_GE2_CLK125 0x04000000
|
||||
#define SCFG_ETSECCMCR_GE0_CLK125 0x00000000
|
||||
#define SCFG_ETSECCMCR_GE1_CLK125 0x08000000
|
||||
#define SCFG_PIXCLKCR_PXCKEN 0x80000000
|
||||
#define SCFG_QSPI_CLKSEL 0xc0100000
|
||||
|
||||
|
|
|
@ -48,6 +48,12 @@ enum {
|
|||
MUX_TYPE_SD_PC_SG_SG,
|
||||
};
|
||||
|
||||
enum {
|
||||
GE0_CLK125,
|
||||
GE2_CLK125,
|
||||
GE1_CLK125,
|
||||
};
|
||||
|
||||
int checkboard(void)
|
||||
{
|
||||
#ifndef CONFIG_QSPI_BOOT
|
||||
|
@ -177,7 +183,6 @@ int board_early_init_f(void)
|
|||
|
||||
#ifdef CONFIG_TSEC_ENET
|
||||
out_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR);
|
||||
out_be32(&scfg->etsecmcr, SCFG_ETSECCMCR_GE2_CLK125);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FSL_IFC
|
||||
|
@ -241,6 +246,32 @@ void board_init_f(ulong dummy)
|
|||
}
|
||||
#endif
|
||||
|
||||
void config_etseccm_source(int etsec_gtx_125_mux)
|
||||
{
|
||||
struct ccsr_scfg *scfg = (struct ccsr_scfg *)CONFIG_SYS_FSL_SCFG_ADDR;
|
||||
|
||||
switch (etsec_gtx_125_mux) {
|
||||
case GE0_CLK125:
|
||||
out_be32(&scfg->etsecmcr, SCFG_ETSECCMCR_GE0_CLK125);
|
||||
debug("etseccm set to GE0_CLK125\n");
|
||||
break;
|
||||
|
||||
case GE2_CLK125:
|
||||
out_be32(&scfg->etsecmcr, SCFG_ETSECCMCR_GE2_CLK125);
|
||||
debug("etseccm set to GE2_CLK125\n");
|
||||
break;
|
||||
|
||||
case GE1_CLK125:
|
||||
out_be32(&scfg->etsecmcr, SCFG_ETSECCMCR_GE1_CLK125);
|
||||
debug("etseccm set to GE1_CLK125\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
printf("Error! trying to set etseccm to invalid value\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int config_board_mux(int ctrl_type)
|
||||
{
|
||||
u8 reg12, reg14;
|
||||
|
@ -250,6 +281,7 @@ int config_board_mux(int ctrl_type)
|
|||
|
||||
switch (ctrl_type) {
|
||||
case MUX_TYPE_CAN:
|
||||
config_etseccm_source(GE2_CLK125);
|
||||
reg14 = SET_EC_MUX_SEL(reg14, PIN_MUX_SEL_CAN);
|
||||
break;
|
||||
case MUX_TYPE_IIC2:
|
||||
|
@ -259,6 +291,7 @@ int config_board_mux(int ctrl_type)
|
|||
reg14 = SET_EC_MUX_SEL(reg14, PIN_MUX_SEL_RGMII);
|
||||
break;
|
||||
case MUX_TYPE_SAI:
|
||||
config_etseccm_source(GE2_CLK125);
|
||||
reg14 = SET_EC_MUX_SEL(reg14, PIN_MUX_SEL_SAI);
|
||||
break;
|
||||
case MUX_TYPE_SDHC:
|
||||
|
|
Loading…
Add table
Reference in a new issue