]> www.infradead.org Git - users/dwmw2/linux.git/commit
net: enetc: add initial netc-blk-ctrl driver support
authorWei Fang <wei.fang@nxp.com>
Wed, 30 Oct 2024 09:39:15 +0000 (17:39 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Nov 2024 10:03:50 +0000 (10:03 +0000)
commitfe5ba6bf91b3e30118c59fe51048cda101de6542
tree7ce047280c22948ca7af1a134eeb40415f057063
parentf70384e53b091f02180443663c52c9dadc6a9208
net: enetc: add initial netc-blk-ctrl driver support

The netc-blk-ctrl driver is used to configure Integrated Endpoint
Register Block (IERB) and Privileged Register Block (PRB) of NETC.
For i.MX platforms, it is also used to configure the NETCMIX block.

The IERB contains registers that are used for pre-boot initialization,
debug, and non-customer configuration. The PRB controls global reset
and global error handling for NETC. The NETCMIX block is mainly used
to set MII protocol and PCS protocol of the links, it also contains
settings for some other functions.

Note the IERB configuration registers can only be written after being
unlocked by PRB, otherwise, all write operations are inhibited. A warm
reset is performed when the IERB is unlocked, and it results in an FLR
to all NETC devices. Therefore, all NETC device drivers must be probed
or initialized after the warm reset is finished.

Signed-off-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/enetc/Kconfig
drivers/net/ethernet/freescale/enetc/Makefile
drivers/net/ethernet/freescale/enetc/netc_blk_ctrl.c [new file with mode: 0644]
include/linux/fsl/netc_global.h [new file with mode: 0644]