]>
git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/cpu/arm926ejs/spear/cpu.c
3 * Vipin Kumar, ST Micoelectronics, vipin.kumar@st.com.
5 * SPDX-License-Identifier: GPL-2.0+
10 #include <asm/arch/hardware.h>
11 #include <asm/arch/spr_misc.h>
13 int arch_cpu_init(void)
15 struct misc_regs
*const misc_p
=
16 (struct misc_regs
*)CONFIG_SPEAR_MISCBASE
;
17 u32 periph1_clken
, periph_clk_cfg
;
19 periph1_clken
= readl(&misc_p
->periph1_clken
);
21 #if defined(CONFIG_SPEAR3XX)
22 periph1_clken
|= MISC_GPT2ENB
;
23 #elif defined(CONFIG_SPEAR600)
24 periph1_clken
|= MISC_GPT3ENB
;
27 #if defined(CONFIG_PL011_SERIAL)
28 periph1_clken
|= MISC_UART0ENB
;
30 periph_clk_cfg
= readl(&misc_p
->periph_clk_cfg
);
31 periph_clk_cfg
&= ~CONFIG_SPEAR_UARTCLKMSK
;
32 periph_clk_cfg
|= CONFIG_SPEAR_UART48M
;
33 writel(periph_clk_cfg
, &misc_p
->periph_clk_cfg
);
35 #if defined(CONFIG_DESIGNWARE_ETH)
36 periph1_clken
|= MISC_ETHENB
;
38 #if defined(CONFIG_DW_UDC)
39 periph1_clken
|= MISC_USBDENB
;
41 #if defined(CONFIG_DW_I2C)
42 periph1_clken
|= MISC_I2CENB
;
44 #if defined(CONFIG_ST_SMI)
45 periph1_clken
|= MISC_SMIENB
;
47 #if defined(CONFIG_NAND_FSMC)
48 periph1_clken
|= MISC_FSMCENB
;
51 writel(periph1_clken
, &misc_p
->periph1_clken
);
55 #ifdef CONFIG_DISPLAY_CPUINFO
56 int print_cpuinfo(void)
58 #ifdef CONFIG_SPEAR300
59 printf("CPU: SPEAr300\n");
60 #elif defined(CONFIG_SPEAR310)
61 printf("CPU: SPEAr310\n");
62 #elif defined(CONFIG_SPEAR320)
63 printf("CPU: SPEAr320\n");
64 #elif defined(CONFIG_SPEAR600)
65 printf("CPU: SPEAr600\n");
67 #error CPU not supported in spear platform