view target-utils/libcommon/abbcmd.c @ 718:098fea21ba13

doc/Host-tools-overview: tiffs-mkfs description updated The first version of tiffs-mkfs did not include a journal file in the created FFS, expecting the firmware to create it on first boot. All historical firmwares prior to a recent FC fix (2020-05) contain a bug in that code path, thus images made with the first version of tiffs-mkfs were only acceptable to very recent FC firmwares. tiffs-mkfs has now been extended to include an empty journal in the created FFS, thus the restriction of working with recent fw only has been lifted.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 23 Aug 2020 04:55:02 +0000
parents 44a1de4264d8
children
line wrap: on
line source

/*
 * abbr pg reg		-- read ABB register
 * abbw pg reg val	-- write ABB register
 */

#include <sys/types.h>
#include "types.h"
#include "abbdefs.h"

extern u_long strtoul();

extern u16 abb_reg_read();
extern void abb_reg_write();

void
cmd_abbr(argbulk)
	char *argbulk;
{
	char *argv[3];
	u32 pg, reg, val;

	if (parse_args(argbulk, 2, 2, argv, 0) < 0)
		return;
	pg = strtoul(argv[0], 0, 0);
	reg = strtoul(argv[1], 0, 0);
	if (pg > 2 || reg > 31) {
		printf("ERROR: argument(s) out of range\n");
		return;
	}
	abb_init();
	val = abb_reg_read(PAGE(pg) | reg);
	printf("%03X\n", val);
}

void
cmd_abbw(argbulk)
	char *argbulk;
{
	char *argv[4];
	u32 pg, reg, val;

	if (parse_args(argbulk, 3, 3, argv, 0) < 0)
		return;
	pg = strtoul(argv[0], 0, 0);
	reg = strtoul(argv[1], 0, 0);
	val = strtoul(argv[2], 0, 16);
	if (pg > 2 || reg > 31 || val > 0x3FF) {
		printf("ERROR: argument(s) out of range\n");
		return;
	}
	abb_init();
	abb_reg_write(PAGE(pg) | reg, val);
}