From a2d7336bb59df8f2ef622d4369fc035b2aafd74c Mon Sep 17 00:00:00 2001 From: Willy Tu Date: Mon, 22 Mar 2021 17:01:56 -0700 Subject: [PATCH] board: aspeed: Enable SGPIO in SCU Add option to enable register for SGPIO in SCU Signed-off-by: Willy Tu --- board/aspeed/ast-g4/Kconfig | 4 ++++ board/aspeed/ast-g4/ast-g4.c | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/board/aspeed/ast-g4/Kconfig b/board/aspeed/ast-g4/Kconfig index 2bec9a733a..e78030ae34 100644 --- a/board/aspeed/ast-g4/Kconfig +++ b/board/aspeed/ast-g4/Kconfig @@ -19,4 +19,8 @@ config SYS_CONFIG_NAME default "ast-g4-phy" if ASPEED_NET_PHY default "ast-g4-ncsi" if ASPEED_NET_NCSI +config ENABLE_SGPIO + tristate "Enable SGPIO in SCU" + default n + endif diff --git a/board/aspeed/ast-g4/ast-g4.c b/board/aspeed/ast-g4/ast-g4.c index 656495307b..e2463d4524 100644 --- a/board/aspeed/ast-g4/ast-g4.c +++ b/board/aspeed/ast-g4/ast-g4.c @@ -22,6 +22,19 @@ int board_init(void) /* address of boot parameters */ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; gd->flags = 0; + +#ifdef CONFIG_ENABLE_SGPIO + /* Unlock SCU */ + writel(SCU_PROTECT_UNLOCK, AST_SCU_BASE); + + /* Enable SGPIO Master */ + u32 reg = readl(AST_SCU_BASE + AST_SCU_FUN_PIN_CTRL2); + reg |= (SCU_FUN_PIN_SGPMI | + SCU_FUN_PIN_SGPMO | + SCU_FUN_PIN_SGPMLD | + SCU_FUN_PIN_SGPMCK); + writel(reg, AST_SCU_BASE + AST_SCU_FUN_PIN_CTRL2); +#endif return 0; } -- 2.31.0.208.g409f899ff0-goog