On Fri, Oct 11, 2019 at 06:27:50PM +0200, Ahmad Fatoum wrote: > Super I/O chips are ICs common to x86 that are used for interfacing > to low-bandwidth peripherals. They often contain serial ports, watchdog > timers and hardware monitoring units. > > They are usually addressable via one of two I/O port pairs, either > 0x2e-0x2f or 0x4e-0x4f, but they don't typically respond to reads from > their range unless a device-specific 'password' has been poked in. > After this is done, they are read and written in the same manner however. > > On Linux, these devices aren't subject to any device/driver model. > Each driver for some function (e.g. watchdog or GPIO) duplicates the > device probe in the module_init and board-specific configuration > is handled via module parameters. > > Lets do it a bit fancier in barebox and add a helper to register chips > and a regmap for the control and configuration registers as well as a > helper to register child devices for each function contained within the > Super I/O chip. > Board-specific configuration, e.g. which pin to use as a watchdog reset, > can then be realized using barebox device-specific parameters. > > The regmap will be more of a debugging aid, however. > For ease of porting from Linux, it's expected that access to the > I/O ports won't happen via the regmap. For this reason, the new > <superio.h> header offers functions to read/write these chips' registers > as well. > > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- Applied, thanks Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox