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@xxxxxxx> > Reviewed-by: Frank Li <Frank.Li@xxxxxxx> > --- 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?