[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