[PATCH 1/3] pm9g45: fix Ethernet

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Thu Mar 1 12:08:44 EST 2012


On 18:21 Thu 01 Mar     , Asen Chavdarov Dimov wrote:
> Enable PHY, MACB and PIOs clocks.
> 
> Signed-off-by: Asen Chavdarov Dimov <dimov at ronetix.at>
> ---
>  arch/arm/boards/pm9g45/init.c |   31 +++++++++++++++++++++++++++++++
>  1 files changed, 31 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/boards/pm9g45/init.c b/arch/arm/boards/pm9g45/init.c
> index 480c751..9eba12a 100644
> --- a/arch/arm/boards/pm9g45/init.c
> +++ b/arch/arm/boards/pm9g45/init.c
> @@ -82,6 +82,19 @@ static struct at91_ether_platform_data macb_pdata = {
>  	.phy_addr = 0,
>  };
>  
> +static int phy_init(void)
please keep the function name with pm9g45_xx
> +{
> +	/*
> +	 * PD2 enables the 50MHz oscillator for Ethernet PHY
> +	 * 1 - enable
> +	 * 0 - disable
> +	 */
> +	at91_set_gpio_output(AT91_PIN_PD2, 1);
> +	at91_set_gpio_value(AT91_PIN_PD2, 1);
> +
> +	return 0;
you do not check the return so drop it
> +}
> +
>  static int pm9g45_mem_init(void)
>  {
>  	at91_add_device_sdram(128 * 1024 * 1024);
> @@ -90,9 +103,27 @@ static int pm9g45_mem_init(void)
>  }
>  mem_initcall(pm9g45_mem_init);
>  
> +static const char *periph_clocks[] __initdata = {
> +	"pioA_clk",
> +	"pioB_clk",
> +	"pioC_clk",
> +	"pioDE_clk",
> +	"macb_clk"
> +};
> +
>  static int pm9g45_devices_init(void)
>  {
> +	struct clk *clk;
> +	int i;
> +
> +	for (i = 0; i < ARRAY_SIZE(periph_clocks); i++) {
> +		clk = clk_get(NULL, periph_clocks[i]);
> +		clk_enable(clk);
> +	}
no need this done automaticaly

Best Regards,
J.



More information about the barebox mailing list