From: Billy Tsai Date: Wed, 16 Oct 2024 08:59:55 +0000 (+0800) Subject: ARM: dts: ast2600: Add SGPIO to device tree X-Git-Url: http://git.dujemihanovic.xyz/html/%7B%7B%20.RelPermalink%20%7D%7D?a=commitdiff_plain;h=4d5510774d4905f1966388098cf918ca27118197;p=u-boot.git ARM: dts: ast2600: Add SGPIO to device tree Add SGPIO DTS node and enable them for AST2600 EVB. Signed-off-by: Billy Tsai --- diff --git a/arch/arm/dts/ast2600-evb.dts b/arch/arm/dts/ast2600-evb.dts index 9aac0e26f2..570ba61965 100644 --- a/arch/arm/dts/ast2600-evb.dts +++ b/arch/arm/dts/ast2600-evb.dts @@ -266,3 +266,13 @@ bootph-all; status = "okay"; }; + +&sgpiom0 { + status = "okay"; + ngpios = <128>; +}; + +&sgpiom1 { + status = "okay"; + ngpios = <80>; +}; diff --git a/arch/arm/dts/ast2600.dtsi b/arch/arm/dts/ast2600.dtsi index 43db80edfe..cb8ce8b6b6 100644 --- a/arch/arm/dts/ast2600.dtsi +++ b/arch/arm/dts/ast2600.dtsi @@ -501,6 +501,36 @@ ngpios = <208>; }; + sgpiom0: sgpiom@1e780500 { + compatible = "aspeed,ast2600-sgpiom"; + reg = <0x1e780500 0x100>; + interrupts = ; + clocks = <&scu ASPEED_CLK_APB2>; + #gpio-cells = <2>; + gpio-controller; + #interrupt-cells = <2>; + interrupt-controller; + bus-frequency = <1000000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sgpm1_default>; + status = "disabled"; + }; + + sgpiom1: sgpiom@1e780600 { + compatible = "aspeed,ast2600-sgpiom"; + reg = <0x1e780600 0x100>; + interrupts = ; + clocks = <&scu ASPEED_CLK_APB2>; + #gpio-cells = <2>; + gpio-controller; + #interrupt-cells = <2>; + interrupt-controller; + bus-frequency = <12000000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sgpm2_default>; + status = "disabled"; + }; + gpio1: gpio@1e780800 { compatible = "aspeed,ast2600-gpio"; reg = <0x1e780800 0x800>; @@ -2167,4 +2197,14 @@ function = "PCIE1RC"; groups = "PCIE1RC"; }; + + pinctrl_sgpm1_default: sgpm1_default { + function = "SGPM1"; + groups = "SGPM1"; + }; + + pinctrl_sgpm2_default: sgpm2_default { + function = "SGPM2"; + groups = "SGPM2"; + }; }; diff --git a/drivers/pinctrl/aspeed/pinctrl_ast2600.c b/drivers/pinctrl/aspeed/pinctrl_ast2600.c index bc12590e58..f4bec6fe53 100644 --- a/drivers/pinctrl/aspeed/pinctrl_ast2600.c +++ b/drivers/pinctrl/aspeed/pinctrl_ast2600.c @@ -454,6 +454,14 @@ static struct aspeed_sig_desc pwm15g1[] = { {0x41c, BIT(31), 0}, }; +static struct aspeed_sig_desc sgpm1[] = { + {0x414, GENMASK(27, 24), 0}, +}; + +static struct aspeed_sig_desc sgpm2[] = { + {0x6d0, GENMASK(7, 4), 0}, +}; + static const struct aspeed_group_config ast2600_groups[] = { { "MAC1LINK", ARRAY_SIZE(mac1_link), mac1_link }, { "MAC2LINK", ARRAY_SIZE(mac2_link), mac2_link }, @@ -543,6 +551,8 @@ static const struct aspeed_group_config ast2600_groups[] = { { "PWM14G1", ARRAY_SIZE(pwm14g1), pwm14g1 }, { "PWM15G0", ARRAY_SIZE(pwm15g0), pwm15g0 }, { "PWM15G1", ARRAY_SIZE(pwm15g1), pwm15g1 }, + { "SGPM1", ARRAY_SIZE(sgpm1), sgpm1 }, + { "SGPM2", ARRAY_SIZE(sgpm2), sgpm2 }, }; static int ast2600_pinctrl_get_groups_count(struct udevice *dev)