Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
On Feb 1, 2011, at 1:46 PM, Haiying Wang wrote: > On Tue, 2011-02-01 at 13:15 -0600, Kumar Gala wrote: >> On Feb 1, 2011, at 11:01 AM, Haiying Wang wrote: >> >>> On Tue, 2011-02-01 at 10:50 -0600, Scott Wood wrote: >> > If it is a one time setting, there should be no problem to put it into > board code. But these pin settings need to be done before any usage of > phy read/write (accessing MDIO/MDC), and need to be released after the > usage of phy, thus the devices connected to eLBC like NAND flash/BCSR > can be accessed. If we use board code to set/release the pin, we don't > know when the phy access and nand flash access will happen. Is this actually a board issue or an SoC issue? >>> It is not a board issue. It is a SoC *feature*. Too many pins are muxed >>> on P1021. For this case, LBCTL of eLBC is muxed with QE's CE_PB[20] >>> which is used for MDIO signal. >>> >>> Haiying >>> >> >> But its a board decision on how they want to utilize those pins and for what >> feature. > > Yes, you can say that. If the board doesn't have QE UCC ETH support at > all, we won't have to add such code in QE driver. But if there is QE UCC > ETH on board, we have no choice to decide which pins to use. We > definitely need to use CE_PB[20] for MDIO signal, there is no other GPIO > pins to use for QE's MDIO. > > Haiying If that case and controlled by some CONFIG_QE_* define than we clearly can make the choice in non-board specific code. - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
On Tue, 2011-02-01 at 13:15 -0600, Kumar Gala wrote: > On Feb 1, 2011, at 11:01 AM, Haiying Wang wrote: > > > On Tue, 2011-02-01 at 10:50 -0600, Scott Wood wrote: > > >>> If it is a one time setting, there should be no problem to put it into > >>> board code. But these pin settings need to be done before any usage of > >>> phy read/write (accessing MDIO/MDC), and need to be released after the > >>> usage of phy, thus the devices connected to eLBC like NAND flash/BCSR > >>> can be accessed. If we use board code to set/release the pin, we don't > >>> know when the phy access and nand flash access will happen. > >> > >> Is this actually a board issue or an SoC issue? > >> > > It is not a board issue. It is a SoC *feature*. Too many pins are muxed > > on P1021. For this case, LBCTL of eLBC is muxed with QE's CE_PB[20] > > which is used for MDIO signal. > > > > Haiying > > > > But its a board decision on how they want to utilize those pins and for what > feature. Yes, you can say that. If the board doesn't have QE UCC ETH support at all, we won't have to add such code in QE driver. But if there is QE UCC ETH on board, we have no choice to decide which pins to use. We definitely need to use CE_PB[20] for MDIO signal, there is no other GPIO pins to use for QE's MDIO. Haiying ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
On Feb 1, 2011, at 11:01 AM, Haiying Wang wrote: > On Tue, 2011-02-01 at 10:50 -0600, Scott Wood wrote: >>> If it is a one time setting, there should be no problem to put it into >>> board code. But these pin settings need to be done before any usage of >>> phy read/write (accessing MDIO/MDC), and need to be released after the >>> usage of phy, thus the devices connected to eLBC like NAND flash/BCSR >>> can be accessed. If we use board code to set/release the pin, we don't >>> know when the phy access and nand flash access will happen. >> >> Is this actually a board issue or an SoC issue? >> > It is not a board issue. It is a SoC *feature*. Too many pins are muxed > on P1021. For this case, LBCTL of eLBC is muxed with QE's CE_PB[20] > which is used for MDIO signal. > > Haiying > But its a board decision on how they want to utilize those pins and for what feature. - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
On Tue, 2011-02-01 at 10:50 -0600, Scott Wood wrote: > > > > > If it is a one time setting, there should be no problem to put it into > > board code. But these pin settings need to be done before any usage of > > phy read/write (accessing MDIO/MDC), and need to be released after the > > usage of phy, thus the devices connected to eLBC like NAND flash/BCSR > > can be accessed. If we use board code to set/release the pin, we don't > > know when the phy access and nand flash access will happen. > > Is this actually a board issue or an SoC issue? > It is not a board issue. It is a SoC *feature*. Too many pins are muxed on P1021. For this case, LBCTL of eLBC is muxed with QE's CE_PB[20] which is used for MDIO signal. Haiying ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
On Mon, 31 Jan 2011 22:14:45 -0500 Haiying Wang wrote: > On Mon, 2011-01-31 at 15:28 -0600, Kumar Gala wrote: > > On Jan 31, 2011, at 2:50 PM, Haiying Wang wrote: > > > > > On Mon, 2011-01-31 at 21:11 +0100, Wolfgang Denk wrote: > > >>> > > >>> +#ifdef CONFIG_P1021 > > >>> + ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); > > >>> + > > >>> + /* QE9 and QE12 need to be set for enabling QE MII managment > > >>> signals */ > > >>> + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE9); > > >>> + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); > > >>> +#endif > > >> ... > > >> > > >> Can we please avoid having board specific code in common files? > > > I wish I could, but only P1021 has such pin mux problems. > > > > > >> If this is really necessary, it shoud be a feature-specific #define, > > >> not a board specific one. > > > I don't know whether this *feature* will show up on other SoC. But if > > > you insist, I can use CONFIG_QE_PIN_MUX. > > > > > > Thanks. > > > > > > Haiying > > > > I think pin muxing is a board level decision so it seems like board code is > > the right place for it. > > > If it is a one time setting, there should be no problem to put it into > board code. But these pin settings need to be done before any usage of > phy read/write (accessing MDIO/MDC), and need to be released after the > usage of phy, thus the devices connected to eLBC like NAND flash/BCSR > can be accessed. If we use board code to set/release the pin, we don't > know when the phy access and nand flash access will happen. Is this actually a board issue or an SoC issue? -Scott ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
On Mon, 2011-01-31 at 15:28 -0600, Kumar Gala wrote: > On Jan 31, 2011, at 2:50 PM, Haiying Wang wrote: > > > On Mon, 2011-01-31 at 21:11 +0100, Wolfgang Denk wrote: > >>> > >>> +#ifdef CONFIG_P1021 > >>> + ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); > >>> + > >>> + /* QE9 and QE12 need to be set for enabling QE MII managment signals */ > >>> + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE9); > >>> + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); > >>> +#endif > >> ... > >> > >> Can we please avoid having board specific code in common files? > > I wish I could, but only P1021 has such pin mux problems. > > > >> If this is really necessary, it shoud be a feature-specific #define, > >> not a board specific one. > > I don't know whether this *feature* will show up on other SoC. But if > > you insist, I can use CONFIG_QE_PIN_MUX. > > > > Thanks. > > > > Haiying > > I think pin muxing is a board level decision so it seems like board code is > the right place for it. > If it is a one time setting, there should be no problem to put it into board code. But these pin settings need to be done before any usage of phy read/write (accessing MDIO/MDC), and need to be released after the usage of phy, thus the devices connected to eLBC like NAND flash/BCSR can be accessed. If we use board code to set/release the pin, we don't know when the phy access and nand flash access will happen. Haiying ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
On Jan 31, 2011, at 2:50 PM, Haiying Wang wrote: > On Mon, 2011-01-31 at 21:11 +0100, Wolfgang Denk wrote: >>> >>> +#ifdef CONFIG_P1021 >>> + ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); >>> + >>> + /* QE9 and QE12 need to be set for enabling QE MII managment signals */ >>> + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE9); >>> + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); >>> +#endif >> ... >> >> Can we please avoid having board specific code in common files? > I wish I could, but only P1021 has such pin mux problems. > >> If this is really necessary, it shoud be a feature-specific #define, >> not a board specific one. > I don't know whether this *feature* will show up on other SoC. But if > you insist, I can use CONFIG_QE_PIN_MUX. > > Thanks. > > Haiying I think pin muxing is a board level decision so it seems like board code is the right place for it. - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
On Mon, 2011-01-31 at 21:11 +0100, Wolfgang Denk wrote: > > > > +#ifdef CONFIG_P1021 > > + ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); > > + > > + /* QE9 and QE12 need to be set for enabling QE MII managment signals */ > > + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE9); > > + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); > > +#endif > ... > > Can we please avoid having board specific code in common files? I wish I could, but only P1021 has such pin mux problems. > If this is really necessary, it shoud be a feature-specific #define, > not a board specific one. I don't know whether this *feature* will show up on other SoC. But if you insist, I can use CONFIG_QE_PIN_MUX. Thanks. Haiying ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6] p1021mds: add QE and UEC support
Dear haiying.w...@freescale.com, In message <1296499317-26616-7-git-send-email-haiying.w...@freescale.com> you wrote: > From: Haiying Wang > > P1021 has some QE pins which need to be set in pmuxcr register before using QE > functions. In this patch, pin QE0 and QE3 are set for UCC1 and UCC5 in Eth > mode. > QE9 and QE12 are set for MII management. QE12 needs to be released after MII > access because QE12 pin is muxed with LBCTL signal. > > P1021MDS has to load the microcode from NAND flash, this patch defines > misc_init_r() for loading ucode and initializing qe. ... > diff --git a/drivers/qe/uec.c b/drivers/qe/uec.c > index 282ab23..04d7987 100644 > --- a/drivers/qe/uec.c > +++ b/drivers/qe/uec.c ... > +#ifdef CONFIG_P1021 > +#define BCSR11_ENET_MICRST 0x20 > +#endif > > /* Default UTBIPAR SMI address */ > #ifndef CONFIG_UTBIPAR_INIT_TBIPA > @@ -588,9 +591,25 @@ static void phy_change(struct eth_device *dev) > { > uec_private_t *uec = (uec_private_t *)dev->priv; > > +#ifdef CONFIG_P1021 > + ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); > + > + /* QE9 and QE12 need to be set for enabling QE MII managment signals */ > + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE9); > + setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_QE12); > +#endif ... Can we please avoid having board specific code in common files? If this is really necessary, it shoud be a feature-specific #define, not a board specific one. > @@ -425,6 +469,8 @@ > #define CONFIG_PCI_PNP /* do pci plug-and-play */ > #endif > > +#define CONFIG_E1000 In which way is this change related to this commit? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de It is better to marry than to burn. - Bible ``I Corinthians'' ch. 7, v. 9 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot