[PATCH v3 0/6] drivers: Add a framework for MUX drivers
Pratyush Yadav
p.yadav at ti.com
Thu Jun 11 21:45:00 CEST 2020
Hi,
This series is a re-roll of Jean-Jacques' earlier effort. It adds a new
minimalistic subsystem that handles multiplexer controllers. It provides
the same API as Linux and mux drivers should be portable with a minimum
effort. This series also includes a port of the Linux's mmio-mux driver.
This series relies on a series that extends the regmap [0].
[0] https://patchwork.ozlabs.org/project/uboot/list/?series=181623
Changes in v3:
- Add a new command called 'mux' that allows listing, selecting, and
deselecting muxes on the fly.
- Move call to dm_mux_init() to initr_dm_devices().
- Enable mmio operations in sandbox on board_init() to dm_mux_init() can
initialize muxes to their idle state and allow the tests to pass.
- Add help for CONFIG_MULTIPLEXER.
- Change dev_err() in mmio_mux_probe() to log_msg_ret() or log_err().
- Add comments on static functions in mux-class.c
- Make mux_uclass_post_probe() static.
- Make dm_mux_init() return an integer to signal failure.
- Change ifdef of mux-internal.h to _HUX_INTERNAL_H.
- Remove unused include from mux-internal.h
- Remove comments for non-existent members in struct mux_chip.
- Add missing comments for some members in struct mux_control.
- Add missing comments for some functions in mux.h
- Split up the mux_mmio test into two parts. More would lead to a lot of
boilerplate.
- Change ut_assertok(IS_ERR(ptr)) to ut_assertok_ptr(ptr).
- Fix mis-spellings and capitalize comments.
- Rebase on latest master.
Changes in v2:
- Fixed warning in mux_of_xlate_default()
- Improved documentation
- Fixed SPL build
- insert the mux initialization in init_sequence_r[], just before the
console is initialized as its serial port may be muxed
- moved the definition of dm_mux_init() in this commit
- Call sandbox_set_enable_memio(true) before running the test
Jean-Jacques Hiblot (4):
drivers: Add a new framework for multiplexer devices
dm: board: complete the initialization of the muxes in initr_dm()
drivers: mux: mmio-based syscon mux controller
test: Add tests for the multiplexer framework
Pratyush Yadav (2):
cmd: Add a mux command
sandbox: Enable memio operations in board_init
arch/sandbox/dts/test.dts | 25 +++
board/sandbox/sandbox.c | 2 +
cmd/Kconfig | 6 +
cmd/Makefile | 1 +
cmd/mux.c | 161 ++++++++++++++++
common/board_r.c | 12 ++
configs/sandbox_defconfig | 2 +
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/mux/Kconfig | 25 +++
drivers/mux/Makefile | 7 +
drivers/mux/mmio.c | 143 +++++++++++++++
drivers/mux/mux-uclass.c | 334 ++++++++++++++++++++++++++++++++++
include/dm/uclass-id.h | 1 +
include/dt-bindings/mux/mux.h | 17 ++
include/mux-internal.h | 109 +++++++++++
include/mux.h | 159 ++++++++++++++++
test/dm/Makefile | 1 +
test/dm/mux-mmio.c | 168 +++++++++++++++++
19 files changed, 1176 insertions(+)
create mode 100644 cmd/mux.c
create mode 100644 drivers/mux/Kconfig
create mode 100644 drivers/mux/Makefile
create mode 100644 drivers/mux/mmio.c
create mode 100644 drivers/mux/mux-uclass.c
create mode 100644 include/dt-bindings/mux/mux.h
create mode 100644 include/mux-internal.h
create mode 100644 include/mux.h
create mode 100644 test/dm/mux-mmio.c
--
2.27.0
More information about the U-Boot
mailing list