Exemplo n.º 1
0
/* ------------------------------------------------------------------------*//**
 * @FUNCTION		main_dra7xx_dump
 * @BRIEF		dump some DRA7 registers, which category is found in
 *			argv
 * @RETURNS		0 in case of success
 *			OMAPCONF_ERR_CPU
 *			OMAPCONF_ERR_ARG
 * @param[in]		argc: number of arguments
 * @param[in]		argv: argument(s)
 * @DESCRIPTION		dump some DRA7 registers, which category is found in
 *			argv
 *//*------------------------------------------------------------------------ */
int main_dra7xx_dump(int argc, char *argv[])
{
	dpll_dra7xx_id dpll_id;
	CHECK_NULL_ARG(argv, OMAPCONF_ERR_ARG);

	if (argc < 1) {
		help(HELP_USAGE);
		return OMAPCONF_ERR_ARG;
	} else if (strcmp(argv[0], "prcm") == 0) {
		if (argc == 1)
			return prcm_dra7xx_dump(NULL);
		else if (argc == 2)
			return prcm_dra7xx_dump(argv[1]);
		else
			return err_arg_too_many_msg_show(HELP_PRCM);
	} else if (strcmp(argv[0], "dpll") == 0) {
		if (argc == 1)
			return dpll_dra7xx_dump(stdout, DPLL_DRA7XX_ID_MAX);
		else if (argc == 2) {
			if (strcmp(argv[1], "all") == 0)
				dpll_id = DPLL_DRA7XX_ID_MAX;
			else {
				dpll_id = dpll_dra7xx_s2id(argv[1]);
				if (dpll_id == DPLL_DRA7XX_ID_MAX)
					return err_arg_msg_show(HELP_DPLL);
			}
			return dpll_dra7xx_dump(stdout, dpll_id);
		}
		else
			return err_arg_too_many_msg_show(HELP_PRCM);
	} else if (strncmp(argv[0], "mcasp", 5) == 0) {
		if (argc == 1) {
			return dra7xx_mcasp_dumpregs(stdout, argc, argv);
		} else {
			return err_arg_too_many_msg_show(HELP_MCASP);
		}
	} else if (strcmp(argv[0], "audioic") == 0) {
		if (argc == 1 || argc == 3)
			return tlv320aic3x_dumpregs(argc, argv);
		else
			return err_arg_too_many_msg_show(HELP_AUDIOIC);
	} else if (!strcmp(argv[0], "crossbar")) {
		if (argc == 1 || argc == 2 || argc == 3) {
			return dra7_crossbar_dump_main(argc - 1, argv + 1);
		} else {
			return err_arg_too_many_msg_show(HELP_CROSSBAR);
		}
	} else {
		return err_unknown_argument_msg_show(argv[0]);
	}
}
Exemplo n.º 2
0
/* ------------------------------------------------------------------------*//**
 * @FUNCTION		tlv320aic3x_main
 * @BRIEF		main entry point
 * @RETURNS		0 in case of success
 *			OMAPCONF_ERR_ARG
 *			OMAPCONF_ERR_INTERNAL
 * @param[in]		argc: shell input argument number
 * @param[in]		argv: shell input argument(s)
 * @DESCRIPTION		main entry point
 *//*------------------------------------------------------------------------ */
int tlv320aic3x_main(int argc, char *argv[])
{
    int ret;

    if (argc == 1 || argc == 3) {
        if (strcmp(argv[0], "dump") == 0) {
            ret = tlv320aic3x_dumpregs(argc, argv);
        } else {
            help(HELP_AUDIOIC);
            ret = OMAPCONF_ERR_ARG;
        }
    } else {
        help(HELP_AUDIOIC);
        ret = OMAPCONF_ERR_ARG;
    }

    return ret;
}