On Thu, 11 Jun 2020 at 13:45, Pratyush Yadav <p.ya...@ti.com> wrote: > > This command lets the user list, select, and deselect mux controllers > introduced with the mux framework on the fly. It has 3 subcommands: > list, select, and deselect. > > List: Lists all the mux present on the system. The muxes are listed for > each chip. The chip is identified by its device name. Each chip can have > a number of mux controllers. Each is listed in sequence and is assigned > a sequential ID based on its position in the mux chip. It lists details > like ID, whether the mux is currently selected or not, the current > state, the idle state, and the number of states. > > A sample output would look something like: > > => mux list > a-mux-controller: > ID Selected Current State Idle State Num States > 0 no unknown as-is 0x4 > 1 no 0x2 0x2 0x10 > 2 no 0x73 0x73 0x100 > > another-mux-controller: > ID Selected Current State Idle State Num States > 0 no 0x1 0x1 0x4 > 1 no 0x2 0x2 0x4 > > Select: Selects a given mux and puts it in the specified state. This > subcommand takes 3 arguments: mux chip, mux ID, state to set > the mux in. The arguments mux chip and mux ID are used to identify which > mux needs to be selected, and then it is selected to the given state. > The mux needs to be deselected before it can be selected again in > another state. The state should be a hexadecimal number. > > For example: > => mux list > a-mux-controller: > ID Selected Current State Idle State Num States > 0 no 0x1 0x1 0x4 > 1 no 0x1 0x1 0x4 > => mux select a-mux-controller 0 0x3 > => mux list > a-mux-controller: > ID Selected Current State Idle State Num States > 0 yes 0x3 0x1 0x4 > 1 no 0x1 0x1 0x4 > > Deselect: Deselects a given mux and puts it in its idle state. This > subcommand takes 2 arguments: the mux chip and mux ID to identify which > mux needs to be deselected. So in the above example, we can deselect mux > 0 using: > > => mux deselect a-mux-controller 0 > => mux list > a-mux-controller: > ID Selected Current State Idle State Num States > 0 no 0x1 0x1 0x4 > 1 no 0x1 0x1 0x4 > > Signed-off-by: Pratyush Yadav <p.ya...@ti.com> > --- > cmd/Kconfig | 6 ++ > cmd/Makefile | 1 + > cmd/mux.c | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 168 insertions(+) > create mode 100644 cmd/mux.c
Reviewed-by: Simon Glass <s...@chromium.org> Please can you add a patch with a test for this? See ut_assert_nextline(), etc. and my 'memory search' series.