1*2e192b24SSimon Glass /* 2*2e192b24SSimon Glass * (C) Copyright 2000 3*2e192b24SSimon Glass * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4*2e192b24SSimon Glass * 5*2e192b24SSimon Glass * SPDX-License-Identifier: GPL-2.0+ 6*2e192b24SSimon Glass */ 7*2e192b24SSimon Glass 8*2e192b24SSimon Glass /* 9*2e192b24SSimon Glass * Boot support 10*2e192b24SSimon Glass */ 11*2e192b24SSimon Glass #include <common.h> 12*2e192b24SSimon Glass #include <command.h> 13*2e192b24SSimon Glass #include <stdio_dev.h> 14*2e192b24SSimon Glass 15*2e192b24SSimon Glass extern void _do_coninfo (void); 16*2e192b24SSimon Glass static int do_coninfo(cmd_tbl_t *cmd, int flag, int argc, char * const argv[]) 17*2e192b24SSimon Glass { 18*2e192b24SSimon Glass int l; 19*2e192b24SSimon Glass struct list_head *list = stdio_get_list(); 20*2e192b24SSimon Glass struct list_head *pos; 21*2e192b24SSimon Glass struct stdio_dev *dev; 22*2e192b24SSimon Glass 23*2e192b24SSimon Glass /* Scan for valid output and input devices */ 24*2e192b24SSimon Glass 25*2e192b24SSimon Glass puts ("List of available devices:\n"); 26*2e192b24SSimon Glass 27*2e192b24SSimon Glass list_for_each(pos, list) { 28*2e192b24SSimon Glass dev = list_entry(pos, struct stdio_dev, list); 29*2e192b24SSimon Glass 30*2e192b24SSimon Glass printf ("%-8s %08x %c%c ", 31*2e192b24SSimon Glass dev->name, 32*2e192b24SSimon Glass dev->flags, 33*2e192b24SSimon Glass (dev->flags & DEV_FLAGS_INPUT) ? 'I' : '.', 34*2e192b24SSimon Glass (dev->flags & DEV_FLAGS_OUTPUT) ? 'O' : '.'); 35*2e192b24SSimon Glass 36*2e192b24SSimon Glass for (l = 0; l < MAX_FILES; l++) { 37*2e192b24SSimon Glass if (stdio_devices[l] == dev) { 38*2e192b24SSimon Glass printf ("%s ", stdio_names[l]); 39*2e192b24SSimon Glass } 40*2e192b24SSimon Glass } 41*2e192b24SSimon Glass putc ('\n'); 42*2e192b24SSimon Glass } 43*2e192b24SSimon Glass return 0; 44*2e192b24SSimon Glass } 45*2e192b24SSimon Glass 46*2e192b24SSimon Glass 47*2e192b24SSimon Glass /***************************************************/ 48*2e192b24SSimon Glass 49*2e192b24SSimon Glass U_BOOT_CMD( 50*2e192b24SSimon Glass coninfo, 3, 1, do_coninfo, 51*2e192b24SSimon Glass "print console devices and information", 52*2e192b24SSimon Glass "" 53*2e192b24SSimon Glass ); 54