Beispiel #1
0
/* ------------------------------------------------------------------------*//**
 * @FUNCTION		sr44xx_config_show
 * @BRIEF		Print SR configuration
 *			(incl. SR modules (MPU, IVA, CORE), VP, VC).
 * @RETURNS		0 in case of success
 *			OMAPCONF_ERR_CPU
 *			OMAPCONF_ERR_ARG
 *			OMAPCONF_ERR_REG_ACCESS
 * @param[in]		stream: output file
 * @DESCRIPTION		Print SR configuration
 *			(incl. SR modules (MPU, IVA, CORE), VP, VC).
 *//*------------------------------------------------------------------------ */
int sr44xx_config_show(FILE *stream)
{
	int ret;

	ret = sr44xx_vc_config();
	ret |= vp44xx_config_show(stream);
	ret |= sr44xx_module_config();
	ret |= sr44xx_status_show(stream);

	return ret;
}
Beispiel #2
0
/* ------------------------------------------------------------------------*//**
 * @FUNCTION		main44xx_legacy
 * @BRIEF		omap4 functions main entry point (legacy)
 * @RETURNS		0 in case of success
 *			OMAPCONF_ERR_ARG
 *			OMAPCONF_ERR_CPU
 *			OMAPCONF_ERR_REG_ACCESS
 *			OMAPCONF_ERR_INTERNAL
 * @param[in]		argc: shell input argument number
 * @param[in]		argv: shell input argument(s)
 * @DESCRIPTION		omap4 functions main entry point (legacy)
 *//*------------------------------------------------------------------------ */
static int main44xx_legacy(int argc, char *argv[])
{
	int ret = 0;
	voltdm44xx_id vdd_id;
	char voltdm_name[VOLTDM44XX_MAX_NAME_LENGTH];
	double v;
	unsigned int ms;

	CHECK_CPU(44xx, OMAPCONF_ERR_CPU);

	if (argc == 0)
		return err_arg_missing_msg_show(HELP_CATEGORY_MAX);

	if (strcmp(argv[0], "pwst") == 0) {
		ret = power44xx_status_show();
	} else if (strcmp(argv[0], "opp") == 0) {
		ret = opp_show(stdout);
	} else if (strcmp(argv[0], "hwobs") == 0) {
		ret = hwobs44xx_main(argc, argv);
	} else if (strcmp(argv[0], "mpu") == 0) {
		ret = mpu44xx_main(argc, argv);
	} else if (strcmp(argv[0], "mpuss") == 0) {
		ret = mpuss44xx_main(argc, argv);
	} else if (strcmp(argv[0], "dplls") == 0) {
		ret = dpll44xx_main(argc, argv);
	} else if (strcmp(argv[0], "wkdep") == 0) {
		ret = wkdep44xx_main(argc, argv);
	} else if (strcmp(argv[0], "core") == 0) {
		ret = core44xx_main(argc, argv);
	} else if (strcmp(argv[0], "per") == 0) {
		ret = per44xx_main(argc, argv);
	} else if (strcmp(argv[0], "dsp") == 0) {
		ret = dsp44xx_main(argc, argv);
	} else if (strcmp(argv[0], "dss") == 0) {
		ret = dss44xx_main(argc, argv);
	} else if (strcmp(argv[0], "cam") == 0) {
		ret = cam44xx_main(argc, argv);
	} else if (strcmp(argv[0], "sgx") == 0) {
		ret = gfx44xx_main(argc, argv);
	} else if (strcmp(argv[0], "gfx") == 0) {
		ret = gfx44xx_main(argc, argv);
	} else if (strcmp(argv[0], "ivahd") == 0) {
		ret = ivahd44xx_main(argc, argv);
	} else if (strcmp(argv[0], "iva") == 0) {
		ret = ivahd44xx_main(argc, argv);
	} else if (strcmp(argv[0], "per") == 0) {
		ret = per44xx_main(argc, argv);
	} else if (strcmp(argv[0], "abe") == 0) {
		ret = abe44xx_main(argc, argv);
	} else if (strcmp(argv[0], "wkup") == 0) {
		ret = wkup44xx_main(argc, argv);
	} else if (strcmp(argv[0], "l3init") == 0) {
		ret = l3init44xx_main(argc, argv);
	} else if (strcmp(argv[0], "alwon") == 0) {
		ret = alwon44xx_main(argc, argv);
	} else if (strcmp(argv[0], "emu") == 0) {
		ret = emu44xx_main(argc, argv);
	} else if (strcmp(argv[0], "sr") == 0) {
		if (argc == 1) {
			ret = err_arg_missing_msg_show(HELP_AVS);
		} else if (argc == 2) {
			if (strcmp(argv[1], "dump") == 0)
				ret = sr44xx_dump();
			else if (strcmp(argv[1], "cfg") == 0)
				ret = sr44xx_config_show(stdout);
			else if (strcmp(argv[1], "status") == 0)
				ret = sr44xx_status_show(stdout);
			else
				ret = err_unknown_argument_msg_show(argv[1]);
		} else {
			ret = err_arg_too_many_msg_show(HELP_AVS);
		}
	} else if (strcmp(argv[0], "abb") == 0) {
		ret = abb44xx_main(argc, argv);
	} else if (strcmp(argv[0], "temp") == 0) {
		if (argc == 1) {
			ret = temp_sensor_show(stdout, "all");
		} else if (argc == 2) {
			if (strcmp(argv[1], "all") == 0)
				ret = temp_sensor_show(stdout, argv[1]);
			else if (temp_sensor_is_available(argv[1]) != 0)
				ret = temp_sensor_show(stdout, argv[1]);
			else
				ret = err_arg_msg_show(HELP_TEMPERATURE);
		} else {
			ret = err_arg_too_many_msg_show(HELP_TEMPERATURE);
		}
	} else if (strcmp(argv[0], "ctt") == 0) {
		ret = ctt44xx_main(argc, argv);
	} else if (strcmp(argv[0], "pct") == 0) {
		ret = pct44xx_main(argc, argv);
	} else if (strcmp(argv[0], "emif") == 0) {
		ret = emif44xx_main(argc, argv);
	} else if (strcmp(argv[0], "twl6040") == 0) {
		ret = twl6040_main(argc, argv);
	} else if (strcmp(argv[0], "display") == 0) {
		if (argc == 3) {
			ret = display44xx_dump(argv[2]);
		} else {
			help(HELP_DISPLAY);
			ret = OMAPCONF_ERR_ARG;
		}
	} else if (strcmp(argv[0], "statdep") == 0) {
		ret = statdep44xx_main(argc, argv);
	} else if (strcmp(argv[0], "twl6030") == 0) {
		ret = twl603x_main(argc, argv);
	} else if (strcmp(argv[0], "camera") == 0) {
		ret = camera44xx_main(argc, argv);
	} else if (strcmp(argv[0], "setvolt") == 0) {
		/* Retrieve arguments */
		if (argc != 3)
			return err_arg_msg_show(HELP_VOLT);
		vdd_id = voltdm44xx_s2id(argv[1]);
		if (vdd_id == OMAP4_VD_ID_MAX)
			return err_arg_msg_show(HELP_VOLT);
		ret = sscanf(argv[2], "%lf", &v);
		if (ret != 1)
			return err_arg_msg_show(HELP_VOLT);
		/* Call function with retrieved arguments */
		ret = sr44xx_voltage_set(vdd_id,
			(unsigned long) (v * 1000000));
		if (ret != 0) {
			fprintf(stderr,
				"Error: could not set %s new voltage!!!\n\n",
				voltdm44xx_get_name(vdd_id, voltdm_name));
		} else {
			printf(
				"%s supply voltage set to %1.3lfV (vsel = 0x%02X).\n\n",
				voltdm44xx_get_name(vdd_id, voltdm_name), v,
				smps_uvolt2vsel(vdd_id2smps_id(vdd_id),
					(unsigned long) (v * 1000000)));
			printf("### WARNING ###:\n");
			printf(
				"  - Do not re-enable %s smartreflex or new voltage will be overriden.\n",
				voltdm44xx_get_name(vdd_id, voltdm_name));
			printf(
				"  - Do not change OPP (or use CPUFREQ) or new voltage will be overriden.\n\n");
		}
	} else if (strcmp(argv[0], "vminsearch") == 0) {
		if (argc != 4)
			return err_arg_msg_show(HELP_VOLT);
		vdd_id = voltdm44xx_s2id(argv[1]);
		if (vdd_id == OMAP4_VD_ID_MAX)
			return err_arg_msg_show(HELP_VOLT);
		ret = sscanf(argv[2], "%lf", &v);
		if (ret != 1)
			return err_arg_msg_show(HELP_VOLT);
		ret = sscanf(argv[3], "%d", &ms);
		if (ret != 1)
			return err_arg_msg_show(HELP_VOLT);
		ret = voltdm44xx_vminsearch(vdd_id, v, ms);
	} else {
		ret = err_unknown_argument_msg_show(argv[0]);
		goto main44xx_legacy_end;
	}

	if (ret != 0)
		goto main44xx_legacy_end;

	fprintf(stderr,
		"\n\n### WARNING ###: deprecated command/options. See 'omapconf --help'.\n\n");

main44xx_legacy_end:
	return ret;
}
Beispiel #3
0
/* ------------------------------------------------------------------------*//**
 * @FUNCTION		main44xx_show
 * @BRIEF		Show configuration of item provided in argv.
 * @RETURNS		0 in case of success
 *			OMAPCONF_ERR_ARG
 *			OMAPCONF_ERR_CPU
 *			OMAPCONF_ERR_REG_ACCESS
 *			OMAPCONF_ERR_INTERNAL
 * @param[in]		argc: shell input argument number
 * @param[in]		argv: shell input argument(s)
 * @DESCRIPTION		Show configuration of item provided in argv.
 *//*------------------------------------------------------------------------ */
static int main44xx_show(int argc, char *argv[])
{
	CHECK_CPU(44xx, OMAPCONF_ERR_CPU);
	if (argc == 0)
		return err_arg_missing_msg_show(HELP_CATEGORY_MAX);

	if (strcmp(argv[0], "prcm") == 0) {
		if (argc == 2) {
			return prcm44xx_config_show(argv[1]);
		} else if (argc == 3) {
			if (strcmp(argv[2], "cfg") == 0)
				return prcm44xx_config_show(argv[1]);
			else if (strcmp(argv[2], "dep") == 0)
				return prcm44xx_dep_show(argv[1]);
			else
				return err_arg_msg_show(HELP_PRCM);
		} else {
			return err_arg_too_many_msg_show(HELP_PRCM);
		}
	} else if (strcmp(argv[0], "opp") == 0) {
		return opp_show(stdout);
	} else if (strcmp(argv[0], "pwst") == 0) {
		return power44xx_status_show();
	} else if (strcmp(argv[0], "dpll") == 0) {
		if (argc == 1)
			return dpll44xx_config_show(stdout);
		else if ((argc == 2) &&
			(strcmp(argv[1], "cfg") == 0))
			return dpll44xx_config_show(stdout);
		else
			return err_arg_msg_show(HELP_DPLL);
	} else if (strcmp(argv[0], "abe") == 0) {
		if (argc == 1)
			return abe44xx_config_show(stdout);
		else if ((argc == 2) &&
			(strcmp(argv[1], "cfg") == 0))
			return abe44xx_config_show(stdout);
		else if ((argc == 2) &&
			(strcmp(argv[1], "atc") == 0))
			return abe44xx_atc_status_show(stdout);
		else
			return err_arg_msg_show(HELP_ABE);
	} else if (strcmp(argv[0], "temp") == 0) {
		if (argc == 1) {
			return temp_sensor_show(stdout, "all");
		} else if (argc == 2) {
			if (strcmp(argv[1], "all") == 0)
				return temp_sensor_show(stdout, argv[1]);
			else if (temp_sensor_is_available(argv[1]) != 0)
				return temp_sensor_show(stdout, argv[1]);
			else
				return err_arg_msg_show(HELP_TEMPERATURE);
		} else {
			return err_arg_too_many_msg_show(HELP_TEMPERATURE);
		}
	} else if (strcmp(argv[0], "sr") == 0) {
		if (argc == 1) {
			return sr44xx_config_show(stdout);
		} else if (argc == 2) {
			if (strcmp(argv[1], "cfg") == 0)
				return sr44xx_config_show(stdout);
			else if (strcmp(argv[1], "status") == 0)
				return sr44xx_status_show(stdout);
			else
				return err_arg_msg_show(HELP_AVS);
		} else {
			return err_arg_too_many_msg_show(HELP_AVS);
		}
	} else if (strcmp(argv[0], "mpuss") == 0) {
		if (argc == 1) {
			return err_arg_missing_msg_show(HELP_MPUSS);
		} else if ((argc == 2) || ((argc == 3) &&
			(strcmp(argv[2], "cfg") == 0))) {
			if (strcmp(argv[1], "scu") == 0)
				return mpuss44xx_scu_config_show();
			else if (strcmp(argv[1], "gic") == 0)
				return mpuss44xx_gic_config_show();
			else
				return err_arg_msg_show(HELP_MPUSS);
		} else {
			return err_arg_too_many_msg_show(HELP_MPUSS);
		}
	} else if (strcmp(argv[0], "audioic") == 0) {
		if (argc == 1) {
			return twl6040_config(stdout);
		} else if (argc == 2) {
			if (strcmp(argv[1], "cfg") == 0)
				return twl6040_config(stdout);
			else if (strcmp(argv[1], "gains") == 0)
				return twl6040_gains(stdout);
			else
				return err_arg_msg_show(HELP_AUDIOIC);
		} else {
			return err_arg_too_many_msg_show(HELP_AUDIOIC);
		}
	} else if (strcmp(argv[0], "pmic") == 0) {
		if (argc == 1) {
			return err_arg_missing_msg_show(HELP_PMIC);
		} else if (argc == 2) {
			if (strcmp(argv[1], "cfg") == 0)
				return twl603x_config(stdout);
			else if (strcmp(argv[1], "ldocfg") == 0)
				return twl603x_config_ldo(stdout);
			else if (strcmp(argv[1], "smpscfg") == 0)
				return twl603x_config_smps(stdout);
			else if (strcmp(argv[1], "rescfg") == 0)
				return twl603x_config_resources(stdout);
			else if (strcmp(argv[1],
				"devpwrgrpstat") == 0)
				return twl603x_config_devpwrgrp_status(stdout);
			else
				return err_arg_msg_show(HELP_PMIC);
		} else {
			return err_arg_too_many_msg_show(HELP_PMIC);
		}
	} else if (strcmp(argv[0], "hwobs") == 0) {
		if (argc == 1) {
			return hwobs44xx_config_show();
		} else if (argc == 2) {
			if (strcmp(argv[1], "cfg") == 0)
				return hwobs44xx_config_show();
			else
				return err_arg_msg_show(HELP_HWOBS);
		} else {
			return err_arg_too_many_msg_show(HELP_HWOBS);
		}

	} else if (strcmp(argv[0], "timers_32k") == 0) {
		return timestamp_32k_main(argc, argv);
	} else if (strcmp(argv[0], "camera") == 0) {
		if (argc == 1) {
			return camera44xx_config_show();
		} else if (argc == 2) {
			if (strcmp(argv[1], "cfg") == 0)
				return camera44xx_config_show();
			else
				return err_arg_msg_show(HELP_CAMERA);
		} else {
			return err_arg_too_many_msg_show(HELP_CAMERA);
		}
	} else {
		return err_unknown_argument_msg_show(argv[0]);
	}
}