Compare commits

...

3 Commits

Author SHA1 Message Date
Unagi Dojyou 572d7b7d6a
Merge ff1ecae087 into 2b48d64be4 2024-02-01 20:52:54 +09:00
UnagiDojyou ff1ecae087 sharp: fix CPU clock div 2024-02-01 17:22:32 +09:00
UnagiDojyou 8ff929b854 sharp: fix CPU clock div 2024-02-01 17:14:27 +09:00
12 changed files with 45 additions and 0 deletions

View File

@ -4,3 +4,4 @@ obj-$(CONFIG_VIDEO_MXS) += dma.o
else
obj- = __dummy__.o
endif
obj-y := cpu_clkdiv.o

View File

@ -0,0 +1,14 @@
#include <common.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
#include <asm/arch/imx-regs.h>
void mxs_set_divcpu(uint8_t clkdiv) {
struct mxs_clkctrl_regs *clkctrl_regs =
(struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE;
uint32_t clkctrl;
clkctrl = readl(&clkctrl_regs->hw_clkctrl_cpu);
clkctrl &= ~0x3F;
clkctrl |= (clkdiv & 0x3F);
writel(clkctrl, &clkctrl_regs->hw_clkctrl_cpu);
}

View File

@ -0,0 +1,3 @@
#include <common.h>
void mxs_set_divcpu(uint8_t clkdiv);

View File

@ -29,6 +29,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -46,6 +47,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);

View File

@ -29,6 +29,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -46,6 +47,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);

View File

@ -26,6 +26,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -43,6 +44,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);

View File

@ -26,6 +26,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -43,6 +44,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);

View File

@ -26,6 +26,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -43,6 +44,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);

View File

@ -26,6 +26,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -43,6 +44,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);

View File

@ -26,6 +26,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -43,6 +44,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);

View File

@ -26,6 +26,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -43,6 +44,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);

View File

@ -26,6 +26,7 @@
#include <errno.h>
#include "../common/lcd.h"
#include "../common/cpu_clkdiv.h"
DECLARE_GLOBAL_DATA_PTR;
@ -43,6 +44,8 @@ int board_early_init_f(void)
mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
/* SSP1 clock at 96MHz */
mxs_set_sspclk(MXC_SSPCLK1, 96000, 0);
/* set cpu clock div 1(480MHz)*/
mxs_set_divcpu(1);
#ifdef CONFIG_CMD_USB
mxs_iomux_setup_pad(MX28_PAD_SSP2_SS1__USB1_OVERCURRENT);