mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-08-17 18:56:07 -04:00
Origen: Add default clock settings for multimedia IPs
Added clock settings for MFC, FIMC, FB and G3D. They are clocked to maximum respective frequencies as per datasheet. Signed-off-by: Annamalai Lakshmanan <annamalai.lakshmanan@linaro.org> Signed-off-by: Giridhar Maruthy <giridhar.maruthy@linaro.org> Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org> Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
This commit is contained in:
parent
53c41548a9
commit
522de019e5
@ -158,7 +158,22 @@ system_clock_init:
|
|||||||
ldr r2, =CLK_SRC_PERIL0_OFFSET
|
ldr r2, =CLK_SRC_PERIL0_OFFSET
|
||||||
str r1, [r0, r2]
|
str r1, [r0, r2]
|
||||||
|
|
||||||
/* FIMD0 */
|
/* CAM , FIMC 0-3 */
|
||||||
|
ldr r1, =CLK_SRC_CAM_VAL
|
||||||
|
ldr r2, =CLK_SRC_CAM_OFFSET
|
||||||
|
str r1, [r0, r2]
|
||||||
|
|
||||||
|
/* MFC */
|
||||||
|
ldr r1, =CLK_SRC_MFC_VAL
|
||||||
|
ldr r2, =CLK_SRC_MFC_OFFSET
|
||||||
|
str r1, [r0, r2]
|
||||||
|
|
||||||
|
/* G3D */
|
||||||
|
ldr r1, =CLK_SRC_G3D_VAL
|
||||||
|
ldr r2, =CLK_SRC_G3D_OFFSET
|
||||||
|
str r1, [r0, r2]
|
||||||
|
|
||||||
|
/* LCD0 */
|
||||||
ldr r1, =CLK_SRC_LCD0_VAL
|
ldr r1, =CLK_SRC_LCD0_VAL
|
||||||
ldr r2, =CLK_SRC_LCD0_OFFSET
|
ldr r2, =CLK_SRC_LCD0_OFFSET
|
||||||
str r1, [r0, r2]
|
str r1, [r0, r2]
|
||||||
@ -223,6 +238,26 @@ system_clock_init:
|
|||||||
ldr r2, =CLK_DIV_PERIL0_OFFSET
|
ldr r2, =CLK_DIV_PERIL0_OFFSET
|
||||||
str r1, [r0, r2]
|
str r1, [r0, r2]
|
||||||
|
|
||||||
|
/* CAM, FIMC 0-3: CAM Clock Divisors */
|
||||||
|
ldr r1, =CLK_DIV_CAM_VAL
|
||||||
|
ldr r2, =CLK_DIV_CAM_OFFSET
|
||||||
|
str r1, [r0, r2]
|
||||||
|
|
||||||
|
/* CLK_DIV_MFC: MFC Clock Divisors */
|
||||||
|
ldr r1, =CLK_DIV_MFC_VAL
|
||||||
|
ldr r2, =CLK_DIV_MFC_OFFSET
|
||||||
|
str r1, [r0, r2]
|
||||||
|
|
||||||
|
/* CLK_DIV_G3D: G3D Clock Divisors */
|
||||||
|
ldr r1, =CLK_DIV_G3D_VAL
|
||||||
|
ldr r2, =CLK_DIV_G3D_OFFSET
|
||||||
|
str r1, [r0, r2]
|
||||||
|
|
||||||
|
/* CLK_DIV_LCD0: LCD0 Clock Divisors */
|
||||||
|
ldr r1, =CLK_DIV_LCD0_VAL
|
||||||
|
ldr r2, =CLK_DIV_LCD0_OFFSET
|
||||||
|
str r1, [r0, r2]
|
||||||
|
|
||||||
/* Set PLL locktime */
|
/* Set PLL locktime */
|
||||||
ldr r1, =PLL_LOCKTIME
|
ldr r1, =PLL_LOCKTIME
|
||||||
ldr r2, =APLL_LOCK_OFFSET
|
ldr r2, =APLL_LOCK_OFFSET
|
||||||
|
@ -53,7 +53,18 @@
|
|||||||
#define CLK_DIV_FSYS2_OFFSET 0xC548
|
#define CLK_DIV_FSYS2_OFFSET 0xC548
|
||||||
#define CLK_DIV_FSYS3_OFFSET 0xC54C
|
#define CLK_DIV_FSYS3_OFFSET 0xC54C
|
||||||
|
|
||||||
|
#define CLK_SRC_CAM_OFFSET 0xC220
|
||||||
|
#define CLK_SRC_TV_OFFSET 0xC224
|
||||||
|
#define CLK_SRC_MFC_OFFSET 0xC228
|
||||||
|
#define CLK_SRC_G3D_OFFSET 0xC22C
|
||||||
|
#define CLK_SRC_LCD0_OFFSET 0xC234
|
||||||
#define CLK_SRC_PERIL0_OFFSET 0xC250
|
#define CLK_SRC_PERIL0_OFFSET 0xC250
|
||||||
|
|
||||||
|
#define CLK_DIV_CAM_OFFSET 0xC520
|
||||||
|
#define CLK_DIV_TV_OFFSET 0xC524
|
||||||
|
#define CLK_DIV_MFC_OFFSET 0xC528
|
||||||
|
#define CLK_DIV_G3D_OFFSET 0xC52C
|
||||||
|
#define CLK_DIV_LCD0_OFFSET 0xC534
|
||||||
#define CLK_DIV_PERIL0_OFFSET 0xC550
|
#define CLK_DIV_PERIL0_OFFSET 0xC550
|
||||||
|
|
||||||
#define CLK_SRC_LCD0_OFFSET 0xC234
|
#define CLK_SRC_LCD0_OFFSET 0xC234
|
||||||
@ -353,6 +364,65 @@
|
|||||||
| (UART1_RATIO << 4) \
|
| (UART1_RATIO << 4) \
|
||||||
| (UART0_RATIO << 0))
|
| (UART0_RATIO << 0))
|
||||||
|
|
||||||
|
/* Clock Source CAM/FIMC */
|
||||||
|
/* CLK_SRC_CAM */
|
||||||
|
#define CAM0_SEL_XUSBXTI 1
|
||||||
|
#define CAM1_SEL_XUSBXTI 1
|
||||||
|
#define CSIS0_SEL_XUSBXTI 1
|
||||||
|
#define CSIS1_SEL_XUSBXTI 1
|
||||||
|
|
||||||
|
#define FIMC_SEL_SCLKMPLL 6
|
||||||
|
#define FIMC0_LCLK_SEL FIMC_SEL_SCLKMPLL
|
||||||
|
#define FIMC1_LCLK_SEL FIMC_SEL_SCLKMPLL
|
||||||
|
#define FIMC2_LCLK_SEL FIMC_SEL_SCLKMPLL
|
||||||
|
#define FIMC3_LCLK_SEL FIMC_SEL_SCLKMPLL
|
||||||
|
|
||||||
|
#define CLK_SRC_CAM_VAL ((CSIS1_SEL_XUSBXTI << 28) \
|
||||||
|
| (CSIS0_SEL_XUSBXTI << 24) \
|
||||||
|
| (CAM1_SEL_XUSBXTI << 20) \
|
||||||
|
| (CAM0_SEL_XUSBXTI << 16) \
|
||||||
|
| (FIMC3_LCLK_SEL << 12) \
|
||||||
|
| (FIMC2_LCLK_SEL << 8) \
|
||||||
|
| (FIMC1_LCLK_SEL << 4) \
|
||||||
|
| (FIMC0_LCLK_SEL << 0))
|
||||||
|
|
||||||
|
/* SCLK CAM */
|
||||||
|
/* CLK_DIV_CAM */
|
||||||
|
#define FIMC0_LCLK_RATIO 4
|
||||||
|
#define FIMC1_LCLK_RATIO 4
|
||||||
|
#define FIMC2_LCLK_RATIO 4
|
||||||
|
#define FIMC3_LCLK_RATIO 4
|
||||||
|
#define CLK_DIV_CAM_VAL ((FIMC3_LCLK_RATIO << 12) \
|
||||||
|
| (FIMC2_LCLK_RATIO << 8) \
|
||||||
|
| (FIMC1_LCLK_RATIO << 4) \
|
||||||
|
| (FIMC0_LCLK_RATIO << 0))
|
||||||
|
|
||||||
|
/* SCLK MFC */
|
||||||
|
/* CLK_SRC_MFC */
|
||||||
|
#define MFC_SEL_MPLL 0
|
||||||
|
#define MOUTMFC_0 0
|
||||||
|
#define MFC_SEL MOUTMFC_0
|
||||||
|
#define MFC_0_SEL MFC_SEL_MPLL
|
||||||
|
#define CLK_SRC_MFC_VAL ((MFC_SEL << 8) | (MFC_0_SEL))
|
||||||
|
|
||||||
|
|
||||||
|
/* CLK_DIV_MFC */
|
||||||
|
#define MFC_RATIO 3
|
||||||
|
#define CLK_DIV_MFC_VAL (MFC_RATIO)
|
||||||
|
|
||||||
|
/* SCLK G3D */
|
||||||
|
/* CLK_SRC_G3D */
|
||||||
|
#define G3D_SEL_MPLL 0
|
||||||
|
#define MOUTG3D_0 0
|
||||||
|
#define G3D_SEL MOUTG3D_0
|
||||||
|
#define G3D_0_SEL G3D_SEL_MPLL
|
||||||
|
#define CLK_SRC_G3D_VAL ((G3D_SEL << 8) | (G3D_0_SEL))
|
||||||
|
|
||||||
|
/* CLK_DIV_G3D */
|
||||||
|
#define G3D_RATIO 1
|
||||||
|
#define CLK_DIV_G3D_VAL (G3D_RATIO)
|
||||||
|
|
||||||
|
/* SCLK LCD0 */
|
||||||
/* CLK_SRC_LCD0 */
|
/* CLK_SRC_LCD0 */
|
||||||
#define FIMD_SEL_SCLKMPLL 6
|
#define FIMD_SEL_SCLKMPLL 6
|
||||||
#define MDNIE0_SEL_XUSBXTI 1
|
#define MDNIE0_SEL_XUSBXTI 1
|
||||||
@ -363,6 +433,10 @@
|
|||||||
| (MDNIE0_SEL_XUSBXTI << 4) \
|
| (MDNIE0_SEL_XUSBXTI << 4) \
|
||||||
| (FIMD_SEL_SCLKMPLL << 0))
|
| (FIMD_SEL_SCLKMPLL << 0))
|
||||||
|
|
||||||
|
/* CLK_DIV_LCD0 */
|
||||||
|
#define FIMD0_RATIO 4
|
||||||
|
#define CLK_DIV_LCD0_VAL (FIMD0_RATIO)
|
||||||
|
|
||||||
/* Required period to generate a stable clock output */
|
/* Required period to generate a stable clock output */
|
||||||
/* PLL_LOCK_TIME */
|
/* PLL_LOCK_TIME */
|
||||||
#define PLL_LOCKTIME 0x1C20
|
#define PLL_LOCKTIME 0x1C20
|
||||||
|
Loading…
x
Reference in New Issue
Block a user