blob: 0c7554a1b1df0b463f547217f6d512ab2c32a9da [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Simon Glassc267cf72014-02-26 15:59:22 -07002/*
3 * Copyright (c) 2013 Google, Inc
4 *
5 * (C) Copyright 2012
6 * Marek Vasut <marex@denx.de>
Simon Glassc267cf72014-02-26 15:59:22 -07007 */
8
9#include <common.h>
Tom Rini23415e52015-12-07 08:23:29 -050010#include <command.h>
Simon Glassd9f9a892015-06-23 15:38:35 -060011#include <dm/util.h>
Simon Glassc267cf72014-02-26 15:59:22 -070012
Simon Glasse9daa5d2022-05-08 04:39:20 -060013static int do_dm_dump_driver_compat(struct cmd_tbl *cmdtp, int flag, int argc,
14 char * const argv[])
Simon Glassc267cf72014-02-26 15:59:22 -070015{
Simon Glasse9daa5d2022-05-08 04:39:20 -060016 dm_dump_driver_compat();
Simon Glassc267cf72014-02-26 15:59:22 -070017
18 return 0;
19}
20
Simon Glassed38aef2020-05-10 11:40:03 -060021static int do_dm_dump_devres(struct cmd_tbl *cmdtp, int flag, int argc,
22 char *const argv[])
Masahiro Yamadaf929c0b2015-07-25 21:52:38 +090023{
24 dm_dump_devres();
25
26 return 0;
27}
28
Simon Glassed38aef2020-05-10 11:40:03 -060029static int do_dm_dump_drivers(struct cmd_tbl *cmdtp, int flag, int argc,
30 char *const argv[])
Sean Anderson02827572020-01-17 14:48:09 -050031{
32 dm_dump_drivers();
33
34 return 0;
35}
36
Simon Glasse9daa5d2022-05-08 04:39:20 -060037static int do_dm_dump_static_driver_info(struct cmd_tbl *cmdtp, int flag,
38 int argc, char * const argv[])
Niel Fourie39832fb2020-03-24 16:17:05 +010039{
Simon Glasse9daa5d2022-05-08 04:39:20 -060040 dm_dump_static_driver_info();
Niel Fourie39832fb2020-03-24 16:17:05 +010041
42 return 0;
43}
44
Simon Glasse9daa5d2022-05-08 04:39:20 -060045static int do_dm_dump_tree(struct cmd_tbl *cmdtp, int flag, int argc,
46 char *const argv[])
Niel Fourie39832fb2020-03-24 16:17:05 +010047{
Simon Glasse9daa5d2022-05-08 04:39:20 -060048 dm_dump_tree();
Niel Fourie39832fb2020-03-24 16:17:05 +010049
50 return 0;
51}
52
Simon Glasse9daa5d2022-05-08 04:39:20 -060053static int do_dm_dump_uclass(struct cmd_tbl *cmdtp, int flag, int argc,
54 char *const argv[])
55{
56 dm_dump_uclass();
57
58 return 0;
59}
60
Ovidiu Panaite4c5b792022-05-08 13:01:42 +030061#if CONFIG_IS_ENABLED(SYS_LONGHELP)
62static char dm_help_text[] =
Simon Glasse9daa5d2022-05-08 04:39:20 -060063 "compat Dump list of drivers with compatibility strings\n"
Sean Anderson02827572020-01-17 14:48:09 -050064 "dm devres Dump list of device resources for each device\n"
Niel Fourie39832fb2020-03-24 16:17:05 +010065 "dm drivers Dump list of drivers with uclass and instances\n"
Simon Glasse9daa5d2022-05-08 04:39:20 -060066 "dm static Dump list of drivers with static platform data\n"
67 "dn tree Dump tree of driver model devices ('*' = activated)\n"
68 "dm uclass Dump list of instances for each uclass"
Ovidiu Panaite4c5b792022-05-08 13:01:42 +030069 ;
70#endif
71
72U_BOOT_CMD_WITH_SUBCMDS(dm, "Driver model low level access", dm_help_text,
Simon Glasse9daa5d2022-05-08 04:39:20 -060073 U_BOOT_SUBCMD_MKENT(compat, 1, 1, do_dm_dump_driver_compat),
Ovidiu Panaite4c5b792022-05-08 13:01:42 +030074 U_BOOT_SUBCMD_MKENT(devres, 1, 1, do_dm_dump_devres),
75 U_BOOT_SUBCMD_MKENT(drivers, 1, 1, do_dm_dump_drivers),
Simon Glasse9daa5d2022-05-08 04:39:20 -060076 U_BOOT_SUBCMD_MKENT(static, 1, 1, do_dm_dump_static_driver_info),
77 U_BOOT_SUBCMD_MKENT(tree, 1, 1, do_dm_dump_tree),
78 U_BOOT_SUBCMD_MKENT(uclass, 1, 1, do_dm_dump_uclass));