linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] add ast2600 NCSI pin group
@ 2024-06-20  8:43 Potin Lai
  2024-06-20  8:43 ` [PATCH v3 1/2] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group Potin Lai
  2024-06-20  8:43 ` [PATCH v3 2/2] pinctrl: aspeed-g6: Add NCSI pin group config Potin Lai
  0 siblings, 2 replies; 6+ messages in thread
From: Potin Lai @ 2024-06-20  8:43 UTC (permalink / raw)
  To: Andrew Jeffery, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Joel Stanley
  Cc: linux-aspeed, openbmc, linux-gpio, devicetree, linux-arm-kernel,
	linux-kernel, Patrick Williams, Cosmo Chou, Potin Lai, Potin Lai

In the NCSI pin table, the reference clock output pin (RMIIXRCLKO) is not
needed on the management controller side.

LINK: [v1] https://lore.kernel.org/all/20240613080725.2531580-1-potin.lai.pt@gmail.com/
LINK: [v2] https://lore.kernel.org/all/20240620012512.3109518-1-potin.lai.pt@gmail.com/

changes v2 --> v3:
- fix commit message typo
- move dt-bindings patch forward

changes v1 --> v2:
- add NCSI pin group in dt-bindings document

Potin Lai (2):
  dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group
  pinctrl: aspeed-g6: Add NCSI pin group config

 .../bindings/pinctrl/aspeed,ast2600-pinctrl.yaml       |  2 ++
 drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c             | 10 ++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 1/2] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group
  2024-06-20  8:43 [PATCH v3 0/2] add ast2600 NCSI pin group Potin Lai
@ 2024-06-20  8:43 ` Potin Lai
  2024-06-21  0:46   ` Andrew Jeffery
  2024-06-20  8:43 ` [PATCH v3 2/2] pinctrl: aspeed-g6: Add NCSI pin group config Potin Lai
  1 sibling, 1 reply; 6+ messages in thread
From: Potin Lai @ 2024-06-20  8:43 UTC (permalink / raw)
  To: Andrew Jeffery, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Joel Stanley
  Cc: linux-aspeed, openbmc, linux-gpio, devicetree, linux-arm-kernel,
	linux-kernel, Patrick Williams, Cosmo Chou, Potin Lai, Potin Lai,
	Krzysztof Kozlowski

In the NCSI pin table, the reference clock output pin (RMIIXRCLKO) is not
needed on the management controller side.

Add NCSI group to distinguish the pin group between RMII and NCSI.

- RMII pins:
  - RMIIXRCLKI
  - RMIIXRXD0
  - RMIIXRXD1
  - RMIIXCRSDV
  - RMIIXRXER
  - RMIIXRCLKO
  - RMIIXTXEN
  - RMIIXTXD0
  - RMIIXTXD1

- NCSI pins:
  - RMIIXRCLKI
  - RMIIXRXD0
  - RMIIXRXD1
  - RMIIXCRSDV
  - RMIIXRXER
  - RMIIXTXEN
  - RMIIXTXD0
  - RMIIXTXD1

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
---
 .../devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml     | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
index 00b6974a5ed3d..3f02dc94a7ce2 100644
--- a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
@@ -337,6 +337,8 @@ additionalProperties:
         - MDIO2
         - MDIO3
         - MDIO4
+        - NCSI3
+        - NCSI4
         - NCTS1
         - NCTS2
         - NCTS3
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 2/2] pinctrl: aspeed-g6: Add NCSI pin group config
  2024-06-20  8:43 [PATCH v3 0/2] add ast2600 NCSI pin group Potin Lai
  2024-06-20  8:43 ` [PATCH v3 1/2] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group Potin Lai
@ 2024-06-20  8:43 ` Potin Lai
  1 sibling, 0 replies; 6+ messages in thread
From: Potin Lai @ 2024-06-20  8:43 UTC (permalink / raw)
  To: Andrew Jeffery, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Joel Stanley
  Cc: linux-aspeed, openbmc, linux-gpio, devicetree, linux-arm-kernel,
	linux-kernel, Patrick Williams, Cosmo Chou, Potin Lai, Potin Lai

Based on the NCSI pin table (Table 181) in NCSI spec[1], the reference
clock output pin (RMIIXRCLKO) is not needed on the management controller
side.

To optimize pin usage, add new NCSI pin group that excludes RMIIXRCLKO,
reducing the number of required pins.

LINK: [1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.2.0a.pdf

Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
---
 drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
index 7938741136a2c..31e4e0b342a00 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
@@ -249,7 +249,9 @@ PIN_DECL_2(E26, GPIOD3, RGMII3RXD3, RMII3RXER);
 
 FUNC_GROUP_DECL(RGMII3, H24, J22, H22, H23, G22, F22, G23, G24, F23, F26, F25,
 		E26);
-FUNC_GROUP_DECL(RMII3, H24, J22, H22, H23, G23, F23, F26, F25, E26);
+GROUP_DECL(RMII3, H24, J22, H22, H23, G23, F23, F26, F25, E26);
+GROUP_DECL(NCSI3, J22, H22, H23, G23, F23, F26, F25, E26);
+FUNC_DECL_2(RMII3, RMII3, NCSI3);
 
 #define F24 28
 SIG_EXPR_LIST_DECL_SESG(F24, NCTS3, NCTS3, SIG_DESC_SET(SCU410, 28));
@@ -355,7 +357,9 @@ FUNC_GROUP_DECL(NRTS4, B24);
 
 FUNC_GROUP_DECL(RGMII4, F24, E23, E24, E25, D26, D24, C25, C26, C24, B26, B25,
 		B24);
-FUNC_GROUP_DECL(RMII4, F24, E23, E24, E25, C25, C24, B26, B25, B24);
+GROUP_DECL(RMII4, F24, E23, E24, E25, C25, C24, B26, B25, B24);
+GROUP_DECL(NCSI4, E23, E24, E25, C25, C24, B26, B25, B24);
+FUNC_DECL_2(RMII4, RMII4, NCSI4);
 
 #define D22 40
 SIG_EXPR_LIST_DECL_SESG(D22, SD1CLK, SD1, SIG_DESC_SET(SCU414, 8));
@@ -1976,6 +1980,8 @@ static const struct aspeed_pin_group aspeed_g6_groups[] = {
 	ASPEED_PINCTRL_GROUP(MDIO2),
 	ASPEED_PINCTRL_GROUP(MDIO3),
 	ASPEED_PINCTRL_GROUP(MDIO4),
+	ASPEED_PINCTRL_GROUP(NCSI3),
+	ASPEED_PINCTRL_GROUP(NCSI4),
 	ASPEED_PINCTRL_GROUP(NCTS1),
 	ASPEED_PINCTRL_GROUP(NCTS2),
 	ASPEED_PINCTRL_GROUP(NCTS3),
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/2] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group
  2024-06-20  8:43 ` [PATCH v3 1/2] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group Potin Lai
@ 2024-06-21  0:46   ` Andrew Jeffery
  2024-06-21  8:53     ` Potin Lai
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Jeffery @ 2024-06-21  0:46 UTC (permalink / raw)
  To: Potin Lai, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Joel Stanley
  Cc: linux-aspeed, openbmc, linux-gpio, devicetree, linux-arm-kernel,
	linux-kernel, Patrick Williams, Cosmo Chou, Potin Lai,
	Krzysztof Kozlowski

Hi Potin,

On Thu, 2024-06-20 at 16:43 +0800, Potin Lai wrote:
> In the NCSI pin table, the reference clock output pin (RMIIXRCLKO) is not
> needed on the management controller side.
> 
> Add NCSI group to distinguish the pin group between RMII and NCSI.
> 
> - RMII pins:
>   - RMIIXRCLKI
>   - RMIIXRXD0
>   - RMIIXRXD1
>   - RMIIXCRSDV
>   - RMIIXRXER
>   - RMIIXRCLKO
>   - RMIIXTXEN
>   - RMIIXTXD0
>   - RMIIXTXD1
> 
> - NCSI pins:
>   - RMIIXRCLKI
>   - RMIIXRXD0
>   - RMIIXRXD1
>   - RMIIXCRSDV
>   - RMIIXRXER
>   - RMIIXTXEN
>   - RMIIXTXD0
>   - RMIIXTXD1

I think listing all the pins for both groups obscures the fact that
there aren't more changes than removing RMIIXRCLKO.

Can we instead drop these lists and replace

> Add NCSI group to distinguish the pin group between RMII and NCSI.

With:

> Add "NCSI" pin groups that are equivalent to the RMII pin groups,
> but without the RMIIXRCLKO pin

?

> 
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
> ---
>  .../devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml     | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
> index 00b6974a5ed3d..3f02dc94a7ce2 100644
> --- a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
> @@ -337,6 +337,8 @@ additionalProperties:
>          - MDIO2
>          - MDIO3
>          - MDIO4
> +        - NCSI3
> +        - NCSI4

Can we also do this for RMII{1,2}RCLKO (and in the driver patch as
well)?

>          - NCTS1
>          - NCTS2
>          - NCTS3

Overall, what I was hoping for with the comment on the earlier patch
was that you would add the discussion in the commit message to the
"description" entry in the binding YAML. Can you please do so? That way
the information is always present for people reading the binding
without them having to look at the binding's change history.

Thanks,

Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/2] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group
  2024-06-21  0:46   ` Andrew Jeffery
@ 2024-06-21  8:53     ` Potin Lai
  2024-06-24  1:05       ` Andrew Jeffery
  0 siblings, 1 reply; 6+ messages in thread
From: Potin Lai @ 2024-06-21  8:53 UTC (permalink / raw)
  To: Andrew Jeffery
  Cc: Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Joel Stanley, linux-aspeed, openbmc, linux-gpio, devicetree,
	linux-arm-kernel, linux-kernel, Patrick Williams, Cosmo Chou,
	Potin Lai, Krzysztof Kozlowski

On Fri, Jun 21, 2024 at 8:46 AM Andrew Jeffery
<andrew@codeconstruct.com.au> wrote:
>
> Hi Potin,
>
> On Thu, 2024-06-20 at 16:43 +0800, Potin Lai wrote:
> > In the NCSI pin table, the reference clock output pin (RMIIXRCLKO) is not
> > needed on the management controller side.
> >
> > Add NCSI group to distinguish the pin group between RMII and NCSI.
> >
> > - RMII pins:
> >   - RMIIXRCLKI
> >   - RMIIXRXD0
> >   - RMIIXRXD1
> >   - RMIIXCRSDV
> >   - RMIIXRXER
> >   - RMIIXRCLKO
> >   - RMIIXTXEN
> >   - RMIIXTXD0
> >   - RMIIXTXD1
> >
> > - NCSI pins:
> >   - RMIIXRCLKI
> >   - RMIIXRXD0
> >   - RMIIXRXD1
> >   - RMIIXCRSDV
> >   - RMIIXRXER
> >   - RMIIXTXEN
> >   - RMIIXTXD0
> >   - RMIIXTXD1
>
> I think listing all the pins for both groups obscures the fact that
> there aren't more changes than removing RMIIXRCLKO.
>
> Can we instead drop these lists and replace
>
> > Add NCSI group to distinguish the pin group between RMII and NCSI.
>
> With:
>
> > Add "NCSI" pin groups that are equivalent to the RMII pin groups,
> > but without the RMIIXRCLKO pin
>
> ?
>
Got it, will update it in the next version.

> >
> > Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> > Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
> > ---
> >  .../devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml     | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
> > index 00b6974a5ed3d..3f02dc94a7ce2 100644
> > --- a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
> > +++ b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
> > @@ -337,6 +337,8 @@ additionalProperties:
> >          - MDIO2
> >          - MDIO3
> >          - MDIO4
> > +        - NCSI3
> > +        - NCSI4
>
> Can we also do this for RMII{1,2}RCLKO (and in the driver patch as
> well)?
>
The power of RMII{1,2} is 1.8v, which does not meet NCSI requirements.

> >          - NCTS1
> >          - NCTS2
> >          - NCTS3
>
> Overall, what I was hoping for with the comment on the earlier patch
> was that you would add the discussion in the commit message to the
> "description" entry in the binding YAML. Can you please do so? That way
> the information is always present for people reading the binding
> without them having to look at the binding's change history.
>
Got it, I will add note into aspeed,ast2600-pinctrl.yaml.

> Thanks,
>
> Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/2] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group
  2024-06-21  8:53     ` Potin Lai
@ 2024-06-24  1:05       ` Andrew Jeffery
  0 siblings, 0 replies; 6+ messages in thread
From: Andrew Jeffery @ 2024-06-24  1:05 UTC (permalink / raw)
  To: Potin Lai
  Cc: Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Joel Stanley, linux-aspeed, openbmc, linux-gpio, devicetree,
	linux-arm-kernel, linux-kernel, Patrick Williams, Cosmo Chou,
	Potin Lai, Krzysztof Kozlowski

On Fri, 2024-06-21 at 16:53 +0800, Potin Lai wrote:
> On Fri, Jun 21, 2024 at 8:46 AM Andrew Jeffery
> <andrew@codeconstruct.com.au> wrote:
> 
> > Can we also do this for RMII{1,2}RCLKO (and in the driver patch as
> > well)?
> > 
> The power of RMII{1,2} is 1.8v, which does not meet NCSI requirements.

Ah, thanks for catching that.

Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-06-24  1:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-20  8:43 [PATCH v3 0/2] add ast2600 NCSI pin group Potin Lai
2024-06-20  8:43 ` [PATCH v3 1/2] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: add NCSI group Potin Lai
2024-06-21  0:46   ` Andrew Jeffery
2024-06-21  8:53     ` Potin Lai
2024-06-24  1:05       ` Andrew Jeffery
2024-06-20  8:43 ` [PATCH v3 2/2] pinctrl: aspeed-g6: Add NCSI pin group config Potin Lai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).