void console_init(void) { #ifdef CFG_PL011 pl011_init(&console_data, CONSOLE_UART_BASE, CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE); #else ns16550_init(&console_data, CONSOLE_UART_BASE); #endif register_serial_console(&console_data.chip); }
void console_init(void) { #if defined(PLATFORM_FLAVOR_armada7k8k) serial8250_uart_init(&console_data, CONSOLE_UART_BASE, CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE); #elif defined(PLATFORM_FLAVOR_armada3700) mvebu_uart_init(&console_data, CONSOLE_UART_BASE, CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE); #endif register_serial_console(&console_data.chip); }
void console_init(void) { ns16550_init(&console_data, CONSOLE_UART_BASE); register_serial_console(&console_data.chip); }
void console_init(void) { pl011_init(&console_data, CONSOLE_UART_BASE, CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE); register_serial_console(&console_data.chip); }
/* * Check if the /secure-chosen node in the DT contains an stdout-path value * for which we have a compatible driver. If so, switch the console to * this device. */ void configure_console_from_dt(unsigned long phys_fdt) { const struct dt_driver *dt_drv; const struct serial_driver *sdrv; const struct fdt_property *prop; struct serial_chip *dev; char *stdout_data; const char *uart; const char *parms = NULL; void *fdt; int offs; char *p; if (!phys_fdt) return; fdt = phys_to_virt(phys_fdt, MEM_AREA_IO_NSEC); if (!fdt) panic(); offs = fdt_path_offset(fdt, "/secure-chosen"); if (offs < 0) return; prop = fdt_get_property(fdt, offs, "stdout-path", NULL); if (!prop) { /* * /secure-chosen node present but no stdout-path property * means we don't want any console output */ IMSG("Switching off console"); register_serial_console(NULL); return; } stdout_data = strdup(prop->data); if (!stdout_data) return; p = strchr(stdout_data, ':'); if (p) { *p = '\0'; parms = p + 1; } /* stdout-path may refer to an alias */ uart = fdt_get_alias(fdt, stdout_data); if (!uart) { /* Not an alias, assume we have a node path */ uart = stdout_data; } offs = fdt_path_offset(fdt, uart); if (offs < 0) goto out; dt_drv = dt_find_compatible_driver(fdt, offs); if (!dt_drv) goto out; sdrv = (const struct serial_driver *)dt_drv->driver; if (!sdrv) goto out; dev = sdrv->dev_alloc(); if (!dev) goto out; /* * If the console is the same as the early console, dev_init() might * clear pending data. Flush to avoid that. */ console_flush(); if (sdrv->dev_init(dev, fdt, offs, parms) < 0) { sdrv->dev_free(dev); goto out; } IMSG("Switching console to device: %s", uart); register_serial_console(dev); out: free(stdout_data); }
void console_init(void) { scif_uart_init(&console_data, CONSOLE_UART_BASE); register_serial_console(&console_data.chip); }