[PATCH 2/2] imx35-regs: add and use common CGR element shifters

Sascha Hauer s.hauer at pengutronix.de
Mon Jul 4 02:48:41 PDT 2016


On Thu, Jun 30, 2016 at 11:24:14PM +0200, Alexander Kurz wrote:
> Add some missing Clock Gate Register element shifters which were implemented
> as magic numbers in the arm/boards directory. Use the new shifters for
> inproved code readability.
> 
> Signed-off-by: Alexander Kurz <akurz at blala.de>
> ---
>  arch/arm/boards/eukrea_cpuimx35/lowlevel.c      |  9 +++++----
>  arch/arm/boards/guf-cupid/lowlevel.c            |  5 +++--
>  arch/arm/boards/phytec-phycore-imx35/lowlevel.c |  6 +++---
>  arch/arm/mach-imx/include/mach/imx35-regs.h     | 15 +++++++++++++++
>  4 files changed, 26 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/boards/eukrea_cpuimx35/lowlevel.c b/arch/arm/boards/eukrea_cpuimx35/lowlevel.c
> index 83c25fe..5573657 100644
> --- a/arch/arm/boards/eukrea_cpuimx35/lowlevel.c
> +++ b/arch/arm/boards/eukrea_cpuimx35/lowlevel.c
> @@ -92,17 +92,18 @@ void __bare_init __naked barebox_arm_reset_vector(void)
>  	writel(0x00001000, ccm_base + MX35_CCM_PDR0);
>  
>  	r = readl(ccm_base + MX35_CCM_CGR0);
> -	r |= 0x00300000;
> +	r |= 0x3 << MX35_CCM_CGR0_EPIT1_SHIFT;
>  	writel(r, ccm_base + MX35_CCM_CGR0);
>  
>  	r = readl(ccm_base + MX35_CCM_CGR1);
> -	r |= 0x00030C00;
> -	r |= 0x00000003;
> +	r |= 0x3 << MX35_CCM_CGR1_FEC_SHIFT;
> +	r |= 0x3 << MX35_CCM_CGR1_I2C1_SHIFT;
> +	r |= 0x3 << MX35_CCM_CGR1_IOMUX_SHIFT;
>  	writel(r, ccm_base + MX35_CCM_CGR1);
>  
>  	/* enable watchdog asap */
>  	r = readl(ccm_base + MX35_CCM_CGR2);
> -	r |= 0x03000000;
> +	r |= 0x3 << MX35_CCM_CGR2_WDOG_SHIFT;
>  	writel(r, ccm_base + MX35_CCM_CGR2);
>  
>  	r = readl(MX35_L2CC_BASE_ADDR + L2X0_AUX_CTRL);
> diff --git a/arch/arm/boards/guf-cupid/lowlevel.c b/arch/arm/boards/guf-cupid/lowlevel.c
> index bcd2a24..31b7cdf 100644
> --- a/arch/arm/boards/guf-cupid/lowlevel.c
> +++ b/arch/arm/boards/guf-cupid/lowlevel.c
> @@ -294,11 +294,12 @@ void __bare_init __naked barebox_arm_reset_vector(void)
>  
>  	/* configure clock-gates */
>  	r0 = readl(MX35_CCM_BASE_ADDR + MX35_CCM_CGR0);
> -	r0 |= 0x00300000;
> +	r0 |= 0x3 << MX35_CCM_CGR0_EPIT1_SHIFT;
>  	writel(r0, MX35_CCM_BASE_ADDR + MX35_CCM_CGR0);
>  
>  	r0 = readl(MX35_CCM_BASE_ADDR + MX35_CCM_CGR1);
> -	r0 |= 0x00000c03;
> +	r0 |= 0x3 << MX35_CCM_CGR1_FEC_SHIFT;
> +	r0 |= 0x3 << MX35_CCM_CGR1_I2C1_SHIFT;
>  	writel(r0, MX35_CCM_BASE_ADDR + MX35_CCM_CGR1);
>  
>  	/* Configure SDRAM */
> diff --git a/arch/arm/boards/phytec-phycore-imx35/lowlevel.c b/arch/arm/boards/phytec-phycore-imx35/lowlevel.c
> index 1ad5439..577fcd9 100644
> --- a/arch/arm/boards/phytec-phycore-imx35/lowlevel.c
> +++ b/arch/arm/boards/phytec-phycore-imx35/lowlevel.c
> @@ -104,12 +104,12 @@ void __bare_init __naked barebox_arm_reset_vector(void)
>  		writel(CCM_PDR0_399, ccm_base + MX35_CCM_PDR0);
>  
>  	r = readl(ccm_base + MX35_CCM_CGR0);
> -	r |= 0x00300000;
> +	r |= 0x3 << MX35_CCM_CGR0_EPIT1_SHIFT;
>  	writel(r, ccm_base + MX35_CCM_CGR0);
>  
>  	r = readl(ccm_base + MX35_CCM_CGR1);
> -	r |= 0x00000C00;
> -	r |= 0x00000003;
> +	r |= 0x3 << X35_CCM_CGR1_FEC_SHIFT;

Added a missing 'M' here.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list