Re: [PATCH v5 net-next 04/13] net: enetc: add initial netc-blk-ctrl driver support

Vladimir Oltean
2024-10-24T16:27:22Z

On Thu, Oct 24, 2024 at 02:53:19PM +0800, Wei Fang wrote:
> 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>
> ---

Can U-Boot deal with the IERB/PRB configuration?

For LS1028A, the platform which initiated the IERB driver "trend", the
situation was a bit more complicated, as we realized the reset-time
defaults aren't what we need very late in the product life cycle, when
customer boards already had bootloaders and we didn't want to complicate
their process to have to redeploy in order to get access to such a basic
feature as flow control. Though if we knew it from day one, we would
have put the IERB fixups in U-Boot.

What is written in the IERB for MII/PCS protocols by default? I suppose
there's some other mechanism to preinitialize it with good values?