lay_exec()` function
that processes a `spi_delay` object/struct to execute the delay.
It's a copy of the `cs_change_delay` mechanism, but without the default
for 10 uS.
The clock-cycle delay unit is a bit special, as it needs to be bound to an
`spi_transfer` object to execute.
Signed-off-by: Alexandru
-by: Alexandru Ardelean
---
drivers/spi/spi-orion.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/spi/spi-orion.c b/drivers/spi/spi-orion.c
index 6643ccdc2508..756c37e32dfe 100644
--- a/drivers/spi/spi-orion.c
+++ b/drivers/spi/spi-orion.c
@@ -467,8 +467,7
in all places (in the spi drivers) where this change
is simple.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi-atmel.c | 3 +--
drivers/spi/spi-bcm63xx-hsspi.c | 3 +--
drivers/spi/spi-cavium.c | 3 +--
drivers/spi/spi-fsl-dspi.c | 3 +--
drivers/spi/spi-fsl-
The ADIS library is one of the few users of the new `cs_change_delay`
parameter for an spi_transfer.
The introduction of the `spi_delay` struct, requires that the users of of
`cs_change_delay` get an update. This change updates the ADIS library.
Signed-off-by: Alexandru Ardelean
---
drivers
call.
Software-mode for CS control, implies that the `set_cs_timing()` hook has
not been provided for the `spi_controller` object.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi.c | 50 -
include/linux/spi/spi.h | 5 +
2 files changed, 54 insert
maintains
backwards compatibility with `delay_usecs`, by assigning the value to
`delay` if non-zero.
This should maintain backwards compatibility with current users of
`udelay_usecs`.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi.c | 6 +++---
include/linux/spi/spi.h | 18
for spidev un-changed. Changing it can be part of
another changeset and discussion.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spidev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index 495319c2fa11..6b6afd27f4a1 100644
lay_exec()` function
that processes a `spi_delay` object/struct to execute the delay.
It's a copy of the `cs_change_delay` mechanism, but without the default
for 10 uS.
The clock-cycle delay unit is a bit special, as it needs to be bound to an
`spi_transfer` object to execute.
Signed-off-by: Alexandru
longer to start transferring that after CS
is asserted.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi-tegra114.c | 22 --
drivers/spi/spi.c | 16 ++--
include/linux/spi/spi.h| 9 ++---
3 files changed, 36 insertions(+), 11 deletions(-)
diff
a mention in that commit message to suggest a
specific need/use-case for having the 2 delay calls.
For the most part, udelay() should be sufficient.
This change replaces it with the new `spi_transfer_delay()`, which should
do the same thing.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi-tegra
This change replaces the use of the `delay_usecs` field with the new
`delay` field. The code/test still uses micro-seconds, but they are now
configured and used via the `struct spi_delay` format of the `delay` field.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi-loopback-test.c | 12
eds that both delays be converted to a common unit
(nano-seconds) for comparison.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi-atmel.c | 26 --
drivers/spi/spi.c | 24 ++--
include/linux/spi/spi.h | 7 ++-
3 files changed, 48 insertions(+)
y?".
Hopefully, this can sort-of-explain things.
I'll reference this RFC on the next series.
Thanks
Alexandru Ardelean (15):
spi: move `cs_change_delay` backwards compat logic outside switch
spi: introduce spi_delay struct as "value + unit" & spi_delay_exec()
spi: mak
The Spreadtrum SPI driver is the only user of the `word_delay` field in
the `spi_transfer` struct.
This change converts the field to use the `spi_delay` struct. This also
enforces the users to specify the delay unit to be `SPI_DELAY_UNIT_SCK`.
Signed-off-by: Alexandru Ardelean
---
drivers/spi
` to
`SPI_DELAY_UNIT_USECS`
This keeps the uapi for spidev un-changed. Changing it can be part of
another changeset and discussion.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spidev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index
handling needed
to do that.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi.c | 28 +++-
include/linux/spi/spi.h | 4 +---
2 files changed, 8 insertions(+), 24 deletions(-)
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 1883de8ffa82..d0bf0ffca042 100644
The `cs_change_delay` backwards compatibility value could be moved outside
of the switch statement.
The only reason to do it, is to make the next patches easier to diff.
Signed-off-by: Alexandru Ardelean
---
drivers/spi/spi.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions
gned-off-by: Alexandru Ardelean
---
include/uapi/linux/ethtool.h | 22 ++
net/core/ethtool.c | 6 ++
2 files changed, 28 insertions(+)
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index dd06302aa93e..8938b76c4ee3 100644
--- a/include/ua
be
configured. That is why the acceptable values are 1,
ETHTOOL_PHY_EDPD_DFLT_TX_MSECS and ETHTOOL_PHY_EDPD_NO_TX (which disables
TX pulses).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 61 ++
1 file changed, 61 insertions(+)
diff --git a/drivers
resolved.
Alexandru Ardelean (2):
ethtool: implement Energy Detect Powerdown support via phy-tunable
net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable
drivers/net/phy/adin.c | 61
include/uapi/linux/ethtool.h | 22 +
On Wed, Sep 11, 2019 at 7:21 PM Rodrigo Carvalho wrote:
>
> Hi,
>
> Em seg, 9 de set de 2019 às 02:53, Ardelean, Alexandru
> escreveu:
> >
> > On Sun, 2019-09-08 at 12:09 +0100, Jonathan Cameron wrote:
> > > On Mon, 2 Sep 2019 13:26:02 +
> > > "Ardelean, Alexandru" wrote:
> > >
> > > > On
()`).
All that's needed now is to dig that information out, via some
`dev_get_drvdata()` && `netdev_priv()` calls and re-use it.
Signed-off-by: Alexandru Ardelean
---
Changelog v1 -> v2:
* initially, this patch was developed on a 4.14 kernel, and adapted (badly)
to `net-next`, so it di
be
configured. That is why the acceptable values are 1,
ETHTOOL_PHY_EDPD_DFLT_TX_INTERVAL and ETHTOOL_PHY_EDPD_NO_TX (which
disables TX pulses).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 61 ++
1 file changed, 61 insertions(+)
diff --git
maximum of 65533 units should be sufficient
* disable EDPD
Signed-off-by: Alexandru Ardelean
---
include/uapi/linux/ethtool.h | 19 +++
net/core/ethtool.c | 6 ++
2 files changed, 25 insertions(+)
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/e
resolved.
Alexandru Ardelean (2):
ethtool: implement Energy Detect Powerdown support via phy-tunable
net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable
drivers/net/phy/adin.c | 61
include/uapi/linux/ethtool.h | 19 +++
This change documents the 'mac-mode' property that was introduced in the
'stmmac' driver to support passive mode converters that can sit in-between
the MAC & PHY.
Signed-off-by: Alexandru Ardelean
---
Documentation/devicetree/bindings/net/snps,dwmac.yaml | 8
1 file change
be used for both.
Signed-off-by: Alexandru Ardelean
---
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
.../ethernet/stmicro/stmmac/stmmac_platform.c | 34 ++-
include/linux/stmmac.h| 1 +
3 files changed, 35 insertions(+), 2 deletions(-)
di
()`).
All that's needed now is to dig that information out, via some
`dev_get_drvdata()` && `netdev_priv()` calls and re-use it.
Signed-off-by: Alexandru Ardelean
---
.../net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
di
resolved.
Alexandru Ardelean (2):
ethtool: implement Energy Detect Powerdown support via phy-tunable
net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable
drivers/net/phy/adin.c | 50
include/uapi/linux/ethtool.h | 5
net/core/e
that in case the other PHY is also on EDPD mode, there
is no lock-up situation where both sides are waiting for the other to
transmit.
Via the phy-tunable control, TX pulses can be disabled if specifying 0
`tx-interval` via ethtool.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 50
s a unit;
a maximum of 32766 units should be sufficient
* disable EDPD
Signed-off-by: Alexandru Ardelean
---
include/uapi/linux/ethtool.h | 5 +
net/core/ethtool.c | 6 ++
2 files changed, 11 insertions(+)
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool
This change adds control for enabling/disabling Energy Detect Power Down
mode, as well as configuring wake-up intervals for TX pulses, via the new
ETHTOOL_PHY_EDPD control added in PHY tunable, in the kernel.
Signed-off-by: Alexandru Ardelean
---
ethtool.8.in | 28 +
ethtool.c
This change syncs the `ethtool-copy.h` file with Linux net-next to add
support for Energy Detect Powerdown control via phy tunable.
Some formatting also changes with this sync.
Signed-off-by: Alexandru Ardelean
---
ethtool-copy.h | 13 +
1 file changed, 9 insertions(+), 4 deletions
This patch series is actually 2 series in 1.
First 2 patches implement the kernel support for controlling Energy Detect
Powerdown support via phy-tunable, and the next 2 patches implement the
ethtool user-space control.
Hopefully, this combination of 2 series is an acceptable approach; if not,
I
that in case the other PHY is also on EDPD mode, there
is no lock-up situation where both sides are waiting for the other to
transmit.
Via the phy-tunable control, TX pulses can be disabled if specifying 0
`tx-interval` via ethtool.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 50
s a unit;
a maximum of 32766 units should be sufficient
* disable EDPD
Signed-off-by: Alexandru Ardelean
---
include/uapi/linux/ethtool.h | 5 +
net/core/ethtool.c | 6 ++
2 files changed, 11 insertions(+)
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool
The internal delays for the RGMII are configurable for both RX & TX. This
change adds support for configuring them via device-tree (or ACPI).
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c
This change hooks link-status-change interrupts to phylib.
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 36
1 file changed, 36 insertions(+)
diff --git a/drivers/net/phy/adin.c b
able and will be done in
a subsequent change.
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 79 +-
1 file changed, 78 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/adin.c b/dri
://www.analog.com/media/en/technical-documentation/data-sheets/ADIN1200.pdf
Signed-off-by: Alexandru Ardelean
Alexandru Ardelean (13):
net: phy: adin: add support for Analog Devices PHYs
net: phy: adin: hook genphy_{suspend,resume} into the driver
net: phy: adin: add support for interrupts
net: phy: adin
case phylib is configured to also do a reset via GPIO, the ADIN PHY may
be reset twice when the PHY device registers, but that isn't a problem,
since it's being done on boot (or PHY device register).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 26 ++
1 file
The FIFO depth can be configured for the RMII mode. This change adds
support for doing this via device-tree (or ACPI).
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 29 +
1 file changed, 29
be controlled via the phy-tunable
interface (ETHTOOL_PHY_DOWNSHIFT control).
The change has been adapted from the Aquantia PHY driver.
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 86 ++
1
that they are read.
The counter values need to be accumulated by the driver, as each time that
RxErrCnt is read, the values that are latched are the ones that have
incremented from the last read.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 128
nism, a translation table is required to
convert these addresses.
For Clause 45, this is not needed since the driver will likely never use
this access mode.
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c
This change adds bindings for the Analog Devices ADIN PHY driver, detailing
all the properties implemented by the driver.
Reviewed-by: Andrew Lunn
Reviewed-by: Rob Herring
Signed-off-by: Alexandru Ardelean
---
.../devicetree/bindings/net/adi,adin.yaml | 73 +++
MAINTAINERS
echanism is needed to manage configuration of chip settings and to
access EEE registers via Clause 22.
Since Clause 45 access will likely never be used, it is not implemented via
this hook.
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers
-sheets/ADIN1200.pdf
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
MAINTAINERS | 7 ++
drivers/net/phy/Kconfig | 9
drivers/net/phy/Makefile | 1 +
drivers/net/phy/adin.c | 49
4
3. MDI preferred & ! Pair01Swapped == MDIX
4. MDIX preferred & ! Pair01Swapped == MDI
The preferred MDI/MDIX mode is not configured via SW, but can be configured
via HW pins. Note that the `Pair01Swapped` is the Green-Yellow physical
pairs.
Reviewed-by: Florian Fainelli
Signed-of
The chip supports standard suspend/resume via BMCR reg.
Hook these functions into the `adin` driver.
Reviewed-by: Florian Fainelli
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/net/phy
The internal delays for the RGMII are configurable for both RX & TX. This
change adds support for configuring them via device-tree (or ACPI).
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 82 ++
1 file cha
This change hooks link-status-change interrupts to phylib.
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 36
1 file changed, 36 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index
nism, a translation table is required to
convert these addresses.
For Clause 45, this is not needed since the driver will likely never use
this access mode.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 69 --
1 file changed, 67 insertions(+
3. MDI preferred & ! Pair01Swapped == MDIX
4. MDIX preferred & ! Pair01Swapped == MDI
The preferred MDI/MDIX mode is not configured via SW, but can be configured
via HW pins. Note that the `Pair01Swapped` is the Green-Yellow physical
pairs.
Signed-off-by: Alexandru Ardelean
---
driv
be controlled via the phy-tunable
interface (ETHTOOL_PHY_DOWNSHIFT control).
The change has been adapted from the Aquantia PHY driver.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 86 ++
1 file changed, 86 insertions(+)
diff --git a/drivers/net/phy
The ADIN PHYs support Energy Detect Powerdown mode, which puts the PHY into
a low power mode when there is no signal on the wire (typically cable
unplugged).
This behavior is enabled by default, but can be disabled via device
property.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy
This change adds bindings for the Analog Devices ADIN PHY driver, detailing
all the properties implemented by the driver.
Signed-off-by: Alexandru Ardelean
---
.../devicetree/bindings/net/adi,adin.yaml | 73 +++
MAINTAINERS | 1 +
2 files
spec).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 109 +
1 file changed, 109 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index e4afa8c2bec7..3ab15a585c1b 100644
--- a/drivers/net/phy/adin.c
+++ b/drivers
useful when doing a warm reboot,
because this will reset the subsystem registers to default values.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 43 ++
1 file changed, 43 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/ne
://www.analog.com/media/en/technical-documentation/data-sheets/ADIN1200.pdf
Signed-off-by: Alexandru Ardelean
Alexandru Ardelean (14):
net: phy: adin: add support for Analog Devices PHYs
net: phy: adin: hook genphy_{suspend,resume} into the driver
net: phy: adin: add support for interrupts
net: phy: adin
The chip supports standard suspend/resume via BMCR reg.
Hook these functions into the `adin` driver.
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
echanism is needed to manage configuration of chip settings and to
access EEE registers via Clause 22.
Since Clause 45 access will likely never be used, it is not implemented via
this hook.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 34 ++
able and will be done in
a subsequent change.
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 79 +-
1 file changed, 78 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
i
The FIFO depth can be configured for the RMII mode. This change adds
support for doing this via device-tree (or ACPI).
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 29 +
1 file changed, 29 insertions(+)
diff --git
-sheets/ADIN1200.pdf
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
MAINTAINERS | 7 ++
drivers/net/phy/Kconfig | 9
drivers/net/phy/Makefile | 1 +
drivers/net/phy/adin.c | 49
4 files changed, 66 insertions
The internal delays for the RGMII are configurable for both RX & TX. This
change adds support for configuring them via device-tree (or ACPI).
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 82 ++
1 file cha
The chip supports standard suspend/resume via BMCR reg.
Hook these functions into the `adin` driver.
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
The FIFO depth can be configured for the RMII mode. This change adds
support for doing this via device-tree (or ACPI).
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 29 +
1 file changed, 29 insertions(+)
diff --git
nism, a translation table is required to
convert these addresses.
For Clause 45, this is not needed; the addresses are available as specified
by IEEE.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 69 --
1 file changed, 67 insertions(+), 2 delet
spec).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 109 +
1 file changed, 109 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index fb39104508ff..28424209d9c3 100644
--- a/drivers/net/phy/adin.c
+++ b/drivers
useful when doing a warm reboot,
because this will reset the subsystem registers to default values.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 43 ++
1 file changed, 43 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/ne
xtRegPtr)
This mechanism is needed to manage configuration of chip settings and to
access EEE registers (via Clause 22).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 46 ++
1 file changed, 46 insertions(+)
diff --git a/drivers/net/phy/
able and will be done in
a subsequent change.
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 79 +-
1 file changed, 78 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
i
3. MDI preferred & ! Pair01Swapped == MDIX
4. MDIX preferred & ! Pair01Swapped == MDI
The preferred MDI/MDIX mode is not configured via SW, but can be configured
via HW pins. Note that the `Pair01Swapped` is the Green-Yellow physical
pairs.
Signed-off-by: Alexandru Ardelean
---
driv
be controlled via the phy-tunable
interface (ETHTOOL_PHY_DOWNSHIFT control).
The change has been adapted from the Aquantia PHY driver.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 86 ++
1 file changed, 86 insertions(+)
diff --git a/drivers/net/phy
This change adds bindings for the Analog Devices ADIN PHY driver, detailing
all the properties implemented by the driver.
Signed-off-by: Alexandru Ardelean
---
.../devicetree/bindings/net/adi,adin.yaml | 73 +++
MAINTAINERS | 1 +
2 files
ttps://www.analog.com/media/en/technical-documentation/data-sheets/ADIN1200.pdf
Signed-off-by: Alexandru Ardelean
Alexandru Ardelean (14):
net: phy: adin: add support for Analog Devices PHYs
net: phy: adin: hook genphy_{suspend,resume} into the driver
net: phy: adin: add support for interrupts
net:
The ADIN PHYs support Energy Detect Powerdown mode, which puts the PHY into
a low power mode when there is no signal on the wire (typically cable
unplugged).
This behavior is enabled by default, but can be disabled via device
property.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy
This change adds support for enabling PHY interrupts that can be used by
the PHY framework to get signal for link/speed/auto-negotiation changes.
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 38 ++
1 file changed
tion/data-sheets/ADIN1200.pdf
Reviewed-by: Andrew Lunn
Signed-off-by: Alexandru Ardelean
---
MAINTAINERS | 7 ++
drivers/net/phy/Kconfig | 9
drivers/net/phy/Makefile | 1 +
drivers/net/phy/adin.c | 49
4 files changed
tion/data-sheets/ADIN1200.pdf
Signed-off-by: Alexandru Ardelean
---
MAINTAINERS | 7 ++
drivers/net/phy/Kconfig | 9
drivers/net/phy/Makefile | 1 +
drivers/net/phy/adin.c | 49
4 files changed, 66 insertions(+)
create
ttps://www.analog.com/media/en/technical-documentation/data-sheets/ADIN1200.pdf
Signed-off-by: Alexandru Ardelean
Alexandru Ardelean (15):
net: phy: adin: add support for Analog Devices PHYs
net: phy: adin: hook genphy_read_abilities() to get_features
net: phy: adin: hook genphy_{suspend,re
The chip supports standard suspend/resume via BMCR reg.
Hook these functions into the `adin` driver.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index 879797d076e0
is mechanism is needed to manage configuration of chip settings and to
access EEE registers (via Clause 22).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 46 ++
1 file changed, 46 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/ne
spec).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 109 +
1 file changed, 109 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index d6d1f5037eb7..d170d1e837b5 100644
--- a/drivers/net/phy/adin.c
+++ b/drivers
3. MDI preferred & ! Pair01Swapped == MDIX
4. MDIX preferred & ! Pair01Swapped == MDI
The preferred MDI/MDIX mode is not configured via SW, but can be configured
via HW pins. Note that the `Pair01Swapped` is the Green-Yellow physical
pairs.
Signed-off-by: Alexandru Ardelean
---
driv
The FIFO depth can be configured for the RMII mode. This change adds
support for doing this via device-tree (or ACPI).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 29 +
1 file changed, 29 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers
useful when doing a warm reboot,
because this will reset the subsystem registers to default values.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 43 ++
1 file changed, 43 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/ne
via the `genphy_c45_pma_read_abilities()`, which will try to read PMA regs
that are unsupported.
Hooking the `genphy_read_abilities()` function to the `get_features` hook
will ensure that this does not happen and the PHY features are read
correctly regardless of Clause 22 or Clause 45 operation.
Signed-off-by: Alexandru Arde
This change adds bindings for the Analog Devices ADIN PHY driver, detailing
all the properties implemented by the driver.
Signed-off-by: Alexandru Ardelean
---
.../devicetree/bindings/net/adi,adin.yaml | 76 +++
MAINTAINERS | 1 +
2 files
.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 39 +++
1 file changed, 39 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index bc4393195de7..d6d1f5037eb7 100644
--- a/drivers/net/phy/adin.c
+++ b/drivers/net/phy
The internal delays for the RGMII are configurable for both RX & TX. This
change adds support for configuring them via device-tree (or ACPI).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 82 ++
1 file changed, 82 insertions(+)
The ADIN PHYs support Energy Detect Powerdown mode, which puts the PHY into
a low power mode when there is no signal on the wire (typically cable
unplugged).
This behavior is enabled by default, but can be disabled via device
property.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy
nism, a translation table is required to
convert these addresses.
For Clause 45, this is not needed; the addresses are available as specified
by IEEE.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 69 --
1 file changed, 67 insertions(+), 2 delet
able and will be done in
a subsequent change.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 79 +-
1 file changed, 78 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index a833e329be6f..9169d6c08383 10
This change adds support for enabling PHY interrupts that can be used by
the PHY framework to get signal for link/speed/auto-negotiation changes.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 38 ++
1 file changed, 38 insertions(+)
diff
is mechanism is needed to manage configuration of chip settings and to
access EEE registers (via Clause 22).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 46 ++
1 file changed, 46 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/ne
tups, but testing has been done in DT context.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 39 ---
1 file changed, 36 insertions(+), 3 deletions(-)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index dbdb8f60741c..e3d2ff8cc09c 10
The FIFO depth can be configured for the RMII mode. This change adds
support for doing this via device-tree (or ACPI).
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
able and will be done in
a subsequent change.
Signed-off-by: Alexandru Ardelean
---
drivers/net/phy/adin.c | 79 +-
1 file changed, 78 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c
index 3dd9fe50f4c8..dbdb8f60741c 10
801 - 900 of 982 matches
Mail list logo