]> www.infradead.org Git - users/dwmw2/linux.git/commit
net: ethernet: oa_tc6: implement register write operation
authorParthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
Mon, 9 Sep 2024 08:25:02 +0000 (13:55 +0530)
committerJakub Kicinski <kuba@kernel.org>
Thu, 12 Sep 2024 03:53:42 +0000 (20:53 -0700)
commitaa58bec064ab16224645776ce8e0af2fee46136a
tree06e836a9e97c2302070d2152c0169a4dbac1ee82
parentb3e33f2c54c68318ccf06473a84c79f3c7d29cc1
net: ethernet: oa_tc6: implement register write operation

Implement register write operation according to the control communication
specified in the OPEN Alliance 10BASE-T1x MACPHY Serial Interface
document. Control write commands are used by the SPI host to write
registers within the MAC-PHY. Each control write commands are composed of
a 32 bits control command header followed by register write data.

The MAC-PHY ignores the final 32 bits of data from the SPI host at the
end of the control write command. The write command and data is also
echoed from the MAC-PHY back to the SPI host to enable the SPI host to
identify which register write failed in the case of any bus errors.
Control write commands can write either a single register or multiple
consecutive registers. When multiple consecutive registers are written,
the address is automatically post-incremented by the MAC-PHY. Writing to
any unimplemented or undefined registers shall be ignored and yield no
effect.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
Link: https://patch.msgid.link/20240909082514.262942-3-Parthiban.Veerasooran@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
MAINTAINERS
drivers/net/ethernet/Kconfig
drivers/net/ethernet/Makefile
drivers/net/ethernet/oa_tc6.c [new file with mode: 0644]
include/linux/oa_tc6.h [new file with mode: 0644]