[U-Boot] rockchip: rk322x: Disable integrated macphy for saving power consuming

Kever Yang kever.yang at rock-chips.com
Thu Aug 17 06:47:41 UTC 2017


Hi David,


On 08/14/2017 03:04 PM, David Wu wrote:
> Unfortunately, the integrated macphy default is enabled, which will
> increase power consuming, if we do not use this PHY. So let's disable
> it at first, which will save power consuming. If we really use it, then
> enable it in driver level.
>
> Signed-off-by: David Wu <david.wu at rock-chips.com>

Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
>   arch/arm/include/asm/arch-rockchip/grf_rk322x.h | 32 +++++++++++++++++++++++++
>   arch/arm/mach-rockchip/rk322x-board.c           |  8 +++++++
>   2 files changed, 40 insertions(+)
>
> diff --git a/arch/arm/include/asm/arch-rockchip/grf_rk322x.h b/arch/arm/include/asm/arch-rockchip/grf_rk322x.h
> index 26071c8..c0c0d84 100644
> --- a/arch/arm/include/asm/arch-rockchip/grf_rk322x.h
> +++ b/arch/arm/include/asm/arch-rockchip/grf_rk322x.h
> @@ -54,6 +54,32 @@ struct rk322x_grf {
>   	unsigned int os_reg[8];
>   	unsigned int reserved9[(0x604 - 0x5e4) / 4 - 1];
>   	unsigned int ddrc_stat;
> +	unsigned int reserved10[(0x680 - 0x604) / 4 - 1];
> +	unsigned int sig_detect_con[2];
> +	unsigned int reserved11[(0x690 - 0x684) / 4 - 1];
> +	unsigned int sig_detect_status[2];
> +	unsigned int reserved12[(0x6a0 - 0x694) / 4 - 1];
> +	unsigned int sig_detect_clr[2];
> +	unsigned int reserved13[(0x6b0 - 0x6a4) / 4 - 1];
> +	unsigned int emmc_det;
> +	unsigned int reserved14[(0x700 - 0x6b0) / 4 - 1];
> +	unsigned int host0_con[3];
> +	unsigned int reserved15;
> +	unsigned int host1_con[3];
> +	unsigned int reserved16;
> +	unsigned int host2_con[3];
> +	unsigned int reserved17[(0x760 - 0x728) / 4 - 1];
> +	unsigned int usbphy0_con[27];
> +	unsigned int reserved18[(0x800 - 0x7c8) / 4 - 1];
> +	unsigned int usbphy1_con[27];
> +	unsigned int reserved19[(0x880 - 0x868) / 4 - 1];
> +	unsigned int otg_con0;
> +	unsigned int uoc_status0;
> +	unsigned int reserved20[(0x900 - 0x884) / 4 - 1];
> +	unsigned int mac_con[2];
> +	unsigned int reserved21[(0xb00 - 0x904) / 4 - 1];
> +	unsigned int macphy_con[4];
> +	unsigned int macphy_status;
>   };
>   check_member(rk322x_grf, ddrc_stat, 0x604);
>   
> @@ -516,4 +542,10 @@ enum {
>   	CON_IOMUX_PWM0SEL_SHIFT	= 0,
>   	CON_IOMUX_PWM0SEL_MASK	= 1 << CON_IOMUX_PWM0SEL_SHIFT,
>   };
> +
> +/* GRF_MACPHY_CON0 */
> +enum {
> +	MACPHY_CFG_ENABLE_SHIFT = 0,
> +	MACPHY_CFG_ENABLE_MASK  = 1 << MACPHY_CFG_ENABLE_SHIFT,
> +};
>   #endif
> diff --git a/arch/arm/mach-rockchip/rk322x-board.c b/arch/arm/mach-rockchip/rk322x-board.c
> index b6543a5..c8e6c6c 100644
> --- a/arch/arm/mach-rockchip/rk322x-board.c
> +++ b/arch/arm/mach-rockchip/rk322x-board.c
> @@ -67,6 +67,14 @@ int board_init(void)
>   		     CON_IOMUX_UART2SEL_MASK,
>   		     CON_IOMUX_UART2SEL_21 << CON_IOMUX_UART2SEL_SHIFT);
>   
> +	/*
> +	* The integrated macphy is enabled by default, disable it
> +	* for saving power consuming.
> +	*/
> +	rk_clrsetreg(&grf->macphy_con[0],
> +		     MACPHY_CFG_ENABLE_MASK,
> +		     0 << MACPHY_CFG_ENABLE_SHIFT);
> +
>   	return 0;
>   }
>   




More information about the U-Boot mailing list