Message ID | 20210208140820.10410-2-Sergey.Semin@baikalelectronics.ru |
---|---|
State | New |
Headers | show |
Series | net: stmmac: Add DW MAC GPIOs and Baikal-T1 GMAC support | expand |
On Mon, Feb 08, 2021 at 05:08:05PM +0300, Serge Semin wrote: > Synopsys DesignWare Ethernet controllers can be synthesized with > General-Purpose IOs support. GPIOs can work either as inputs or as outputs > thus belong to the gpi_i and gpo_o ports respectively. The ports width > (number of possible inputs/outputs) and the configuration registers layout > depend on the IP-core version. For instance, DW GMAC can have from 0 to 4 > GPIs and from 0 to 4 GPOs, while DW xGMAC have a wider ports width up to > 16 pins of each one. > > So the DW MAC DT-node can be equipped with "ngpios" property, which can't > have a value greater than 32, standard GPIO-related properties like > "gpio-controller" and "#gpio-cells", and, if GPIs are supposed to be > detected, IRQ-controller related properties. > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > --- > .../devicetree/bindings/net/snps,dwmac.yaml | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml > index bdc437b14878..fcca23d3727e 100644 > --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml > +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml > @@ -110,6 +110,23 @@ properties: > reset-names: > const: stmmaceth > > + ngpios: > + description: > + Total number of GPIOs the MAC supports. The property shall include both > + the GPI and GPO ports width. > + minimum: 1 > + maximum: 32 Does the driver actually need this? I'd omit it if just to validate consumers are in range. Are GPI and GPO counts independent? If so, this isn't really sufficient. Rob
diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index bdc437b14878..fcca23d3727e 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -110,6 +110,23 @@ properties: reset-names: const: stmmaceth + ngpios: + description: + Total number of GPIOs the MAC supports. The property shall include both + the GPI and GPO ports width. + minimum: 1 + maximum: 32 + + gpio-controller: true + + "#gpio-cells": + const: 2 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + mac-mode: $ref: ethernet-controller.yaml#/properties/phy-connection-type description:
Synopsys DesignWare Ethernet controllers can be synthesized with General-Purpose IOs support. GPIOs can work either as inputs or as outputs thus belong to the gpi_i and gpo_o ports respectively. The ports width (number of possible inputs/outputs) and the configuration registers layout depend on the IP-core version. For instance, DW GMAC can have from 0 to 4 GPIs and from 0 to 4 GPOs, while DW xGMAC have a wider ports width up to 16 pins of each one. So the DW MAC DT-node can be equipped with "ngpios" property, which can't have a value greater than 32, standard GPIO-related properties like "gpio-controller" and "#gpio-cells", and, if GPIs are supposed to be detected, IRQ-controller related properties. Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> --- .../devicetree/bindings/net/snps,dwmac.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)