]> Git Repo - u-boot.git/blame - cmd/dm.c
cmd: pinmux: support pin name in status command
[u-boot.git] / cmd / dm.c
CommitLineData
83d290c5 1// SPDX-License-Identifier: GPL-2.0+
06811959
SG
2/*
3 * Copyright (c) 2013 Google, Inc
4 *
5 * (C) Copyright 2012
6 * Marek Vasut <[email protected]>
06811959
SG
7 */
8
9#include <common.h>
cbb2df20 10#include <command.h>
06811959
SG
11#include <dm.h>
12#include <malloc.h>
0eb25b61 13#include <mapmem.h>
06811959
SG
14#include <errno.h>
15#include <asm/io.h>
16#include <dm/root.h>
304fbef1 17#include <dm/util.h>
a56642c7 18
09140113
SG
19static int do_dm_dump_all(struct cmd_tbl *cmdtp, int flag, int argc,
20 char *const argv[])
a56642c7 21{
304fbef1 22 dm_dump_all();
a56642c7
MY
23
24 return 0;
25}
26
09140113
SG
27static int do_dm_dump_uclass(struct cmd_tbl *cmdtp, int flag, int argc,
28 char *const argv[])
06811959 29{
304fbef1 30 dm_dump_uclass();
06811959
SG
31
32 return 0;
33}
34
09140113
SG
35static int do_dm_dump_devres(struct cmd_tbl *cmdtp, int flag, int argc,
36 char *const argv[])
40b6f2d0
MY
37{
38 dm_dump_devres();
39
40 return 0;
41}
42
09140113
SG
43static int do_dm_dump_drivers(struct cmd_tbl *cmdtp, int flag, int argc,
44 char *const argv[])
7b9d60fc
SA
45{
46 dm_dump_drivers();
47
48 return 0;
49}
50
2e488368
NF
51static int do_dm_dump_driver_compat(struct cmd_tbl *cmdtp, int flag, int argc,
52 char * const argv[])
53{
54 dm_dump_driver_compat();
55
56 return 0;
57}
58
59static int do_dm_dump_static_driver_info(struct cmd_tbl *cmdtp, int flag, int argc,
60 char * const argv[])
61{
62 dm_dump_static_driver_info();
63
64 return 0;
65}
66
09140113 67static struct cmd_tbl test_commands[] = {
06811959
SG
68 U_BOOT_CMD_MKENT(tree, 0, 1, do_dm_dump_all, "", ""),
69 U_BOOT_CMD_MKENT(uclass, 1, 1, do_dm_dump_uclass, "", ""),
40b6f2d0 70 U_BOOT_CMD_MKENT(devres, 1, 1, do_dm_dump_devres, "", ""),
7b9d60fc 71 U_BOOT_CMD_MKENT(drivers, 1, 1, do_dm_dump_drivers, "", ""),
2e488368
NF
72 U_BOOT_CMD_MKENT(compat, 1, 1, do_dm_dump_driver_compat, "", ""),
73 U_BOOT_CMD_MKENT(static, 1, 1, do_dm_dump_static_driver_info, "", ""),
06811959
SG
74};
75
d6df048b
MS
76static __maybe_unused void dm_reloc(void)
77{
78 static int relocated;
79
80 if (!relocated) {
81 fixup_cmdtable(test_commands, ARRAY_SIZE(test_commands));
82 relocated = 1;
83 }
84}
85
09140113 86static int do_dm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
06811959 87{
09140113 88 struct cmd_tbl *test_cmd;
06811959
SG
89 int ret;
90
d6df048b
MS
91#ifdef CONFIG_NEEDS_MANUAL_RELOC
92 dm_reloc();
93#endif
94
57f54d55 95 if (argc < 2)
06811959
SG
96 return CMD_RET_USAGE;
97 test_cmd = find_cmd_tbl(argv[1], test_commands,
98 ARRAY_SIZE(test_commands));
99 argc -= 2;
100 argv += 2;
101 if (!test_cmd || argc > test_cmd->maxargs)
102 return CMD_RET_USAGE;
103
104 ret = test_cmd->cmd(test_cmd, flag, argc, argv);
105
106 return cmd_process_error(test_cmd, ret);
107}
108
109U_BOOT_CMD(
57f54d55 110 dm, 3, 1, do_dm,
06811959 111 "Driver model low level access",
138c8a75 112 "tree Dump driver model tree ('*' = activated)\n"
40b6f2d0 113 "dm uclass Dump list of instances for each uclass\n"
7b9d60fc 114 "dm devres Dump list of device resources for each device\n"
2e488368
NF
115 "dm drivers Dump list of drivers with uclass and instances\n"
116 "dm compat Dump list of drivers with compatibility strings\n"
117 "dm static Dump list of drivers with static platform data"
06811959 118);
This page took 0.232624 seconds and 4 git commands to generate.