Patchwork [5/7] ARM: mxs: convert tx28 board to device tree

login
register
mail settings
Submitter Lothar Waßmann
Date July 19, 2012, 5:58 a.m.
Message ID <20487.41489.261103.678515@ipc1.ka-ro>
Download mbox | patch
Permalink /patch/171892/
State New
Headers show

Comments

Lothar Waßmann - July 19, 2012, 5:58 a.m.
Hi,

> On Mon, Jul 16, 2012 at 09:03:28AM +0200, Lothar Waßmann wrote:
> > Hi,
> > 
> > Shawn Guo writes:
> > > On Sun, Jul 15, 2012 at 10:49:35PM +0800, Shawn Guo wrote:
> > > > below.  But does that mean ethernet PHY does not work even on non-DT
> > > > kernel right now?
> > > > 
> > > So I guess you need something like c46d291 (ARM: apx4devkit: fix FEC
> > > enabling PHY clock) for TX28 too.
> > > 
> > That's already in place.
> > 
> Are you using and talking about the branch I prepared for you?
> I haven't seen it there.
> 
I'm using:
git-remote -v
|origin  git://git.linaro.org/people/shawnguo/linux-2.6.git (fetch)
|origin  git://git.linaro.org/people/shawnguo/linux-2.6.git (push)

 git-branch -a
|  mxs/dt/others
|* tx28
|  remotes/origin/HEAD -> origin/master
|  remotes/origin/clk/mxs-for-3.6
|  remotes/origin/imx/cleanup-for-3.6
|  remotes/origin/imx/dt-for-3.6
|  remotes/origin/imx/irqdomain
|  remotes/origin/imx/sparse-irq
|  remotes/origin/master
|  remotes/origin/mxs/defconfig-for-3.6
|  remotes/origin/mxs/dt-for-3.6
|  remotes/origin/mxs/dt/others
|  remotes/origin/mxs/dt/tx28
|  remotes/origin/mxs/fixes-for-3.5
|  remotes/origin/mxs/fixes-for-3.6
|  remotes/origin/mxs/test
where 'tx28' is checked out from remotes/origin/mxs/dt/tx28.

git-show c46d291
commit c46d2916f6c03d3c8a2c38148af2e45cdadaf61f
Author: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Date:   Thu Jul 5 10:31:36 2012 +0300

    ARM: apx4devkit: fix FEC enabling PHY clock
    
    Ethernet stopped to work after mxs clk framework change.
    
    Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>



Lothar Waßmann
Shawn Guo - July 19, 2012, 6:05 a.m.
On Thu, Jul 19, 2012 at 07:58:41AM +0200, Lothar Waßmann wrote:
> where 'tx28' is checked out from remotes/origin/mxs/dt/tx28.
> 
Yes, the branch is right.  But the following patch only fixes board
apx4devkit.  What I meant is we probably need to apply the same change
for TX28 board.

Regards,
Shawn

> git-show c46d291
> commit c46d2916f6c03d3c8a2c38148af2e45cdadaf61f
> Author: Lauri Hintsala <lauri.hintsala@bluegiga.com>
> Date:   Thu Jul 5 10:31:36 2012 +0300
> 
>     ARM: apx4devkit: fix FEC enabling PHY clock
>     
>     Ethernet stopped to work after mxs clk framework change.
>     
>     Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
>     Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> 
> diff --git a/arch/arm/mach-mxs/mach-apx4devkit.c b/arch/arm/mach-mxs/mach-apx4devkit.c
> index 5e90b9d..f5f0617 100644
> --- a/arch/arm/mach-mxs/mach-apx4devkit.c
> +++ b/arch/arm/mach-mxs/mach-apx4devkit.c
> @@ -205,6 +205,16 @@ static int apx4devkit_phy_fixup(struct phy_device *phy)
>         return 0;
>  }
>  
> +static void __init apx4devkit_fec_phy_clk_enable(void)
> +{
> +       struct clk *clk;
> +
> +       /* Enable fec phy clock */
> +       clk = clk_get_sys("enet_out", NULL);
> +       if (!IS_ERR(clk))
> +               clk_prepare_enable(clk);
> +}
> +
>  static void __init apx4devkit_init(void)
>  {
>         mx28_soc_init();
> @@ -225,6 +235,7 @@ static void __init apx4devkit_init(void)
>         phy_register_fixup_for_uid(PHY_ID_KS8051, MICREL_PHY_ID_MASK,
>                         apx4devkit_phy_fixup);
>  
> +       apx4devkit_fec_phy_clk_enable();
>         mx28_add_fec(0, &mx28_fec_pdata);
>  
>         mx28_add_mxs_mmc(0, &apx4devkit_mmc_pdata);
> 
> 
> Lothar Waßmann
> -- 
> ___________________________________________________________
> 
> Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
> Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
> Geschäftsführer: Matthias Kaussen
> Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
> 
> www.karo-electronics.de | info@karo-electronics.de
> ___________________________________________________________

Patch

diff --git a/arch/arm/mach-mxs/mach-apx4devkit.c b/arch/arm/mach-mxs/mach-apx4devkit.c
index 5e90b9d..f5f0617 100644
--- a/arch/arm/mach-mxs/mach-apx4devkit.c
+++ b/arch/arm/mach-mxs/mach-apx4devkit.c
@@ -205,6 +205,16 @@  static int apx4devkit_phy_fixup(struct phy_device *phy)
        return 0;
 }
 
+static void __init apx4devkit_fec_phy_clk_enable(void)
+{
+       struct clk *clk;
+
+       /* Enable fec phy clock */
+       clk = clk_get_sys("enet_out", NULL);
+       if (!IS_ERR(clk))
+               clk_prepare_enable(clk);
+}
+
 static void __init apx4devkit_init(void)
 {
        mx28_soc_init();
@@ -225,6 +235,7 @@  static void __init apx4devkit_init(void)
        phy_register_fixup_for_uid(PHY_ID_KS8051, MICREL_PHY_ID_MASK,
                        apx4devkit_phy_fixup);
 
+       apx4devkit_fec_phy_clk_enable();
        mx28_add_fec(0, &mx28_fec_pdata);
 
        mx28_add_mxs_mmc(0, &apx4devkit_mmc_pdata);