From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Sloyko Date: Wed, 4 Jan 2017 11:46:51 -0800 Subject: [U-Boot] [PATCH 07/12] aspeed/ast2500: Helper function to get access to SCU In-Reply-To: <20170104194656.124368-1-maxims@google.com> References: <20170104194656.124368-1-maxims@google.com> Message-ID: <20170104194656.124368-8-maxims@google.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Helper function to get access to SCU (System Control Unit) through Clock driver. This is similar to rockchip_get_cru function, which was used as an example. It will be used by other drivers to get access to SCU. Signed-off-by: Maxim Sloyko --- arch/arm/mach-aspeed/Kconfig | 2 ++ arch/arm/mach-aspeed/Makefile | 1 + arch/arm/mach-aspeed/ast2500/Kconfig | 6 ++++++ arch/arm/mach-aspeed/ast2500/Makefile | 1 + arch/arm/mach-aspeed/ast2500/clk_ast2500.c | 31 ++++++++++++++++++++++++++++++ 5 files changed, 41 insertions(+) create mode 100644 arch/arm/mach-aspeed/ast2500/Kconfig create mode 100644 arch/arm/mach-aspeed/ast2500/Makefile create mode 100644 arch/arm/mach-aspeed/ast2500/clk_ast2500.c diff --git a/arch/arm/mach-aspeed/Kconfig b/arch/arm/mach-aspeed/Kconfig index 43cdbeda84..4aba39cae5 100644 --- a/arch/arm/mach-aspeed/Kconfig +++ b/arch/arm/mach-aspeed/Kconfig @@ -12,4 +12,6 @@ config ASPEED_AST2500 help The Aspeed AST2500 is a ARM-based SoC with arm1176 CPU +source "arch/arm/mach-aspeed/ast2500/Kconfig" + endif diff --git a/arch/arm/mach-aspeed/Makefile b/arch/arm/mach-aspeed/Makefile index a14b8f751d..1f7af71b03 100644 --- a/arch/arm/mach-aspeed/Makefile +++ b/arch/arm/mach-aspeed/Makefile @@ -5,3 +5,4 @@ # obj-$(CONFIG_ARCH_ASPEED) += ast_wdt.o +obj-$(CONFIG_ASPEED_AST2500) += ast2500/ diff --git a/arch/arm/mach-aspeed/ast2500/Kconfig b/arch/arm/mach-aspeed/ast2500/Kconfig new file mode 100644 index 0000000000..c0b448f19e --- /dev/null +++ b/arch/arm/mach-aspeed/ast2500/Kconfig @@ -0,0 +1,6 @@ +if ASPEED_AST2500 + +config SYS_CPU + default "arm1176" + +endif diff --git a/arch/arm/mach-aspeed/ast2500/Makefile b/arch/arm/mach-aspeed/ast2500/Makefile new file mode 100644 index 0000000000..97d4078ddd --- /dev/null +++ b/arch/arm/mach-aspeed/ast2500/Makefile @@ -0,0 +1 @@ +obj-y += clk_ast2500.o diff --git a/arch/arm/mach-aspeed/ast2500/clk_ast2500.c b/arch/arm/mach-aspeed/ast2500/clk_ast2500.c new file mode 100644 index 0000000000..06aca5d63a --- /dev/null +++ b/arch/arm/mach-aspeed/ast2500/clk_ast2500.c @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2016 Google, Inc + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include + +int ast_get_clk(struct udevice **devp) +{ + return uclass_get_device_by_driver(UCLASS_CLK, + DM_GET_DRIVER(aspeed_ast2500_scu), devp); +} + +void *ast_get_scu(void) +{ + struct ast2500_clk_priv *priv; + struct udevice *dev; + int ret; + + ret = ast_get_clk(&dev); + if (ret) + return ERR_PTR(ret); + + priv = dev_get_priv(dev); + + return priv->scu; +} + -- 2.11.0.390.gc69c2f50cf-goog