From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kever Yang Date: Thu, 17 Aug 2017 14:47:41 +0800 Subject: [U-Boot] rockchip: rk322x: Disable integrated macphy for saving power consuming In-Reply-To: <1502694268-2995-1-git-send-email-david.wu@rock-chips.com> References: <1502694268-2995-1-git-send-email-david.wu@rock-chips.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 Reviewed-by: Kever Yang 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; > } >