diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/u-boot/arch/arm/mach-rockchip/rk3128 | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/u-boot/arch/arm/mach-rockchip/rk3128')
5 files changed, 104 insertions, 0 deletions
diff --git a/roms/u-boot/arch/arm/mach-rockchip/rk3128/Kconfig b/roms/u-boot/arch/arm/mach-rockchip/rk3128/Kconfig new file mode 100644 index 000000000..b867401c7 --- /dev/null +++ b/roms/u-boot/arch/arm/mach-rockchip/rk3128/Kconfig @@ -0,0 +1,27 @@ +if ROCKCHIP_RK3128 + +choice + prompt "RK3128 board select" + +config TARGET_EVB_RK3128 + bool "RK3128 evaluation board" + select BOARD_LATE_INIT + help + RK3128evb is a evaluation board for Rockchip rk3128, + with full function and phisical connectors support like + usb2.0 host ports, LVDS, JTAG, MAC, SDcard, HDMI, USB-2-serial... + +endchoice + +config ROCKCHIP_BOOT_MODE_REG + default 0x100a0038 + +config SYS_SOC + default "rk3128" + +config SYS_MALLOC_F_LEN + default 0x0800 + +source "board/rockchip/evb_rk3128/Kconfig" + +endif diff --git a/roms/u-boot/arch/arm/mach-rockchip/rk3128/Makefile b/roms/u-boot/arch/arm/mach-rockchip/rk3128/Makefile new file mode 100644 index 000000000..50e111754 --- /dev/null +++ b/roms/u-boot/arch/arm/mach-rockchip/rk3128/Makefile @@ -0,0 +1,9 @@ +# +# (C) Copyright 2017 Rockchip Electronics Co., Ltd +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += rk3128.o +obj-y += syscon_rk3128.o +obj-y += clk_rk3128.o diff --git a/roms/u-boot/arch/arm/mach-rockchip/rk3128/clk_rk3128.c b/roms/u-boot/arch/arm/mach-rockchip/rk3128/clk_rk3128.c new file mode 100644 index 000000000..a1b038c64 --- /dev/null +++ b/roms/u-boot/arch/arm/mach-rockchip/rk3128/clk_rk3128.c @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (c) 2017 Rockchip Electronics Co., Ltd + */ + +#include <common.h> +#include <dm.h> +#include <syscon.h> +#include <asm/arch-rockchip/clock.h> +#include <asm/arch-rockchip/cru_rk3128.h> +#include <linux/err.h> + +int rockchip_get_clk(struct udevice **devp) +{ + return uclass_get_device_by_driver(UCLASS_CLK, + DM_DRIVER_GET(rockchip_rk3128_cru), devp); +} + +void *rockchip_get_cru(void) +{ + struct rk3128_clk_priv *priv; + struct udevice *dev; + int ret; + + ret = rockchip_get_clk(&dev); + if (ret) + return ERR_PTR(ret); + + priv = dev_get_priv(dev); + + return priv->cru; +} diff --git a/roms/u-boot/arch/arm/mach-rockchip/rk3128/rk3128.c b/roms/u-boot/arch/arm/mach-rockchip/rk3128/rk3128.c new file mode 100644 index 000000000..01dbfa75c --- /dev/null +++ b/roms/u-boot/arch/arm/mach-rockchip/rk3128/rk3128.c @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (c) 2017 Rockchip Electronics Co., Ltd + */ +#include <common.h> +#include <init.h> +#include <asm/global_data.h> + +DECLARE_GLOBAL_DATA_PTR; + +int arch_cpu_init(void) +{ + /* We do some SoC one time setting here. */ + + return 0; +} diff --git a/roms/u-boot/arch/arm/mach-rockchip/rk3128/syscon_rk3128.c b/roms/u-boot/arch/arm/mach-rockchip/rk3128/syscon_rk3128.c new file mode 100644 index 000000000..1406d5d0d --- /dev/null +++ b/roms/u-boot/arch/arm/mach-rockchip/rk3128/syscon_rk3128.c @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2017 Rockchip Electronics Co., Ltd + */ + +#include <common.h> +#include <dm.h> +#include <syscon.h> +#include <asm/arch-rockchip/clock.h> + +static const struct udevice_id rk3128_syscon_ids[] = { + { .compatible = "rockchip,rk3128-grf", .data = ROCKCHIP_SYSCON_GRF }, + { } +}; + +U_BOOT_DRIVER(syscon_rk3128) = { + .name = "rk3128_syscon", + .id = UCLASS_SYSCON, + .of_match = rk3128_syscon_ids, +}; |