mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-29 08:00:26 +09:00
rockchip: rk3288: Allow setting up clocks in U-Boot proper
If U-Boot is chain-loaded from a previous boot loader we must set up the clocks the way U-Boot wants them. Add code for this. It will do nothing if SPL has already done the job. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
d3cb46aa8c
commit
fe97471632
@ -309,3 +309,38 @@ U_BOOT_CMD(
|
|||||||
"display information about clocks",
|
"display information about clocks",
|
||||||
""
|
""
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#define GRF_SOC_CON2 0xff77024c
|
||||||
|
|
||||||
|
int board_early_init_f(void)
|
||||||
|
{
|
||||||
|
struct udevice *pinctrl;
|
||||||
|
struct udevice *dev;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This init is done in SPL, but when chain-loading U-Boot SPL will
|
||||||
|
* have been skipped. Allow the clock driver to check if it needs
|
||||||
|
* setting up.
|
||||||
|
*/
|
||||||
|
ret = rockchip_get_clk(&dev);
|
||||||
|
if (ret) {
|
||||||
|
debug("CLK init failed: %d\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl);
|
||||||
|
if (ret) {
|
||||||
|
debug("%s: Cannot find pinctrl device\n", __func__);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Enable debug UART */
|
||||||
|
ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART_DBG);
|
||||||
|
if (ret) {
|
||||||
|
debug("%s: Failed to set up console UART\n", __func__);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
rk_setreg(GRF_SOC_CON2, 1 << 0);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@ -10,6 +10,7 @@ CONFIG_SPL_STACK_R_ADDR=0x80000
|
|||||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-veyron-jerry"
|
CONFIG_DEFAULT_DEVICE_TREE="rk3288-veyron-jerry"
|
||||||
CONFIG_SILENT_CONSOLE=y
|
CONFIG_SILENT_CONSOLE=y
|
||||||
# CONFIG_DISPLAY_CPUINFO is not set
|
# CONFIG_DISPLAY_CPUINFO is not set
|
||||||
|
CONFIG_BOARD_EARLY_INIT_F=y
|
||||||
CONFIG_SPL_STACK_R=y
|
CONFIG_SPL_STACK_R=y
|
||||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000
|
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000
|
||||||
# CONFIG_CMD_IMLS is not set
|
# CONFIG_CMD_IMLS is not set
|
||||||
|
Loading…
Reference in New Issue
Block a user