[PATCH 04/11] rockchip: otp: Add dump_otp debug command
Kever Yang
kever.yang at rock-chips.com
Wed Feb 22 09:55:37 CET 2023
On 2023/2/16 07:48, Jonas Karlman wrote:
> Add a simple debug command to dump the content of the otp.
>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> drivers/misc/rockchip-otp.c | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/drivers/misc/rockchip-otp.c b/drivers/misc/rockchip-otp.c
> index babb6ce2f241..c41f0a606258 100644
> --- a/drivers/misc/rockchip-otp.c
> +++ b/drivers/misc/rockchip-otp.c
> @@ -5,6 +5,8 @@
>
> #include <common.h>
> #include <asm/io.h>
> +#include <command.h>
> +#include <display_options.h>
> #include <dm.h>
> #include <linux/bitops.h>
> #include <linux/delay.h>
> @@ -70,6 +72,39 @@ struct rockchip_otp_data {
> int block_size;
> };
>
> +#if defined(DEBUG)
> +static int dump_otp(struct cmd_tbl *cmdtp, int flag,
> + int argc, char *const argv[])
> +{
> + struct udevice *dev;
> + u8 data[4];
> + int ret, i;
> +
> + ret = uclass_get_device_by_driver(UCLASS_MISC,
> + DM_DRIVER_GET(rockchip_otp), &dev);
> + if (ret) {
> + printf("%s: no misc-device found\n", __func__);
> + return 0;
> + }
> +
> + for (i = 0; true; i += sizeof(data)) {
> + ret = misc_read(dev, i, &data, sizeof(data));
> + if (ret < 0)
> + return 0;
> +
> + print_buffer(i, data, sizeof(data), 1, 1);
> + }
> +
> + return 0;
> +}
> +
> +U_BOOT_CMD(
> + dump_otp, 1, 1, dump_otp,
> + "Dump the content of the otp",
> + ""
> +);
> +#endif
> +
> static int rockchip_otp_poll_timeout(struct rockchip_otp_plat *otp,
> u32 flag, u32 reg)
> {
More information about the U-Boot
mailing list