[PATCH 1/5] ARM: mvebu: Enable PUP register
Sebastian Hesselbarth
sebastian.hesselbarth at gmail.com
Tue Aug 26 07:28:57 PDT 2014
On 08/24/2014 12:53 AM, Ezequiel Garcia wrote:
> As reported by Sebastian, we need to enable this explicitly for the
> Tx clock on RGMII. While here, let's enable all the other peripherals.
>
> Although this is documented to be required only for Armada XP SoC,
> it has been found to be harmless on Armada 370, so we do it unconditionally
> to simplify the code.
>
> Reported-by: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
> ---
> arch/arm/mach-mvebu/armada-370-xp.c | 5 +++++
> arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h | 7 +++++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
> index f2b991e..96d5878 100644
> --- a/arch/arm/mach-mvebu/armada-370-xp.c
> +++ b/arch/arm/mach-mvebu/armada-370-xp.c
I thought about separating Armada 370 and XP init code into two separate
files. But that can wait, of course.
> @@ -62,6 +62,11 @@ static int armada_370_xp_init_soc(void)
> mvebu_set_memory(phys_base, phys_size);
> mvebu_mbus_add_range(0xf0, 0x01, MVEBU_REMAP_INT_REG_BASE);
>
> + /* Enable GBE0, GBE1, LCD and NAND PUP */
> + reg = readl(ARMADA_XP_PUP_ENABLE_BASE);
> + reg |= GE0_PUP_EN | GE1_PUP_EN | LCD_PUP_EN | NAND_PUP_EN;
> + writel(reg, ARMADA_XP_PUP_ENABLE_BASE);
> +
> return 0;
> }
> core_initcall(armada_370_xp_init_soc);
> diff --git a/arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h b/arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h
> index ccc687c..f6db784 100644
> --- a/arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h
> +++ b/arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h
> @@ -30,6 +30,13 @@
> #define SAR_TCLK_FREQ BIT(20)
> #define SAR_HIGH 0x04
>
> +#define ARMADA_XP_PUP_ENABLE_BASE (ARMADA_370_XP_INT_REGS_BASE + 0x1864c)
> +#define GE0_PUP_EN BIT(0)
> +#define GE1_PUP_EN BIT(1)
> +#define LCD_PUP_EN BIT(2)
> +#define NAND_PUP_EN BIT(4)
Please add:
#define SPI_PUP_EN BIT(5)
and also set it above.
Besides that,
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
> +
> +
> #define ARMADA_370_XP_SDRAM_BASE (ARMADA_370_XP_INT_REGS_BASE + 0x20000)
> #define DDR_BASE_CS 0x180
> #define DDR_BASE_CSn(n) (DDR_BASE_CS + ((n) * 0x8))
>
More information about the barebox
mailing list