From be298254bee70b4914f9630e04dc5a8968b0d0fc Mon Sep 17 00:00:00 2001 From: Billy Tsai Date: Wed, 16 Oct 2024 16:59:54 +0800 Subject: [PATCH] ARM: dts: ast2500: Add SGPIO to device tree Add SGPIO DTS node and enable it for AST2500 EVB. Signed-off-by: Billy Tsai --- arch/arm/dts/ast2500-evb.dts | 5 +++++ arch/arm/dts/ast2500.dtsi | 20 ++++++++++++++++++++ drivers/pinctrl/aspeed/pinctrl_ast2500.c | 1 + 3 files changed, 26 insertions(+) diff --git a/arch/arm/dts/ast2500-evb.dts b/arch/arm/dts/ast2500-evb.dts index d481eadfeb..9a5037deca 100644 --- a/arch/arm/dts/ast2500-evb.dts +++ b/arch/arm/dts/ast2500-evb.dts @@ -129,3 +129,8 @@ reg = <0x4d>; }; }; + +&sgpio { + status = "okay"; + ngpios = <80>; +}; diff --git a/arch/arm/dts/ast2500.dtsi b/arch/arm/dts/ast2500.dtsi index 320d2e5340..d677705fe8 100644 --- a/arch/arm/dts/ast2500.dtsi +++ b/arch/arm/dts/ast2500.dtsi @@ -255,6 +255,21 @@ interrupt-controller; }; + sgpio: sgpio@1e780200 { + compatible = "aspeed,ast2500-sgpio"; + reg = <0x1e780200 0x100>; + interrupts = <40>; + clocks = <&scu ASPEED_CLK_APB>; + #gpio-cells = <2>; + gpio-controller; + #interrupt-cells = <2>; + interrupt-controller; + bus-frequency = <1000000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sgpm_default>; + status = "disabled"; + }; + timer: timer@1e782000 { /* This timer is a Faraday FTTMR010 derivative */ compatible = "aspeed,ast2400-timer"; @@ -1445,4 +1460,9 @@ function = "WDTRST2"; groups = "WDTRST2"; }; + + pinctrl_sgpm_default: sgpm_default { + function = "SGPM"; + groups = "SGPM"; + }; }; diff --git a/drivers/pinctrl/aspeed/pinctrl_ast2500.c b/drivers/pinctrl/aspeed/pinctrl_ast2500.c index 9e7c347caf..5ecd3f262b 100644 --- a/drivers/pinctrl/aspeed/pinctrl_ast2500.c +++ b/drivers/pinctrl/aspeed/pinctrl_ast2500.c @@ -62,6 +62,7 @@ static const struct ast2500_group_config ast2500_groups[] = { { "SD2", 5, (1 << 1) }, { "FWSPICS1", 3, (1 << 24) }, { "SPI1CS1", 1, (1 << 15) }, + { "SGPM", 2, (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) }, }; static int ast2500_pinctrl_get_groups_count(struct udevice *dev) -- 2.39.5