mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-28 09:22:08 +00:00

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>
20 lines
323 B
C
20 lines
323 B
C
/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
|
|
/* Copyright 2024 NXP
|
|
*/
|
|
#ifndef __NETC_GLOBAL_H
|
|
#define __NETC_GLOBAL_H
|
|
|
|
#include <linux/io.h>
|
|
|
|
static inline u32 netc_read(void __iomem *reg)
|
|
{
|
|
return ioread32(reg);
|
|
}
|
|
|
|
static inline void netc_write(void __iomem *reg, u32 val)
|
|
{
|
|
iowrite32(val, reg);
|
|
}
|
|
|
|
#endif
|