[PATCH v2] Nokia RX-51: Enable usbtty serial console by default

Pali Rohár
2020-12-22T14:58:15Z

On Tuesday 22 December 2020 19:56:51 Lokesh Vutla wrote:
>
>
> On 01/12/20 12:57 am, Pali Roh?r wrote:
> > Now when usbtty serial console is fixed in U-Boot enable CONFIG_USB_TTY for
> > Nokia RX-51 board by default.
> >
> > Fix also USB product id as U-Boot ignores CONFIG_USBD_PRODUCTID macro and
> > include U-Boot string into USB product name to indicate usage of U-Boot.
> >
> > CONFIG_CONSOLE_MUX is already used and U-Boot console is available for
> > all in/out devices. Therefore there is no need to have separate commands
> > 'run sercon', 'run usbcon' and 'run vgacon', so remove them.
> >
> > As space for U-Boot is limited to 256kB, disable some other unused options
> > so CONFIG_USB_TTY can be enabled.
> >
> > Nokia RX-51 does not have easily accessible UART serial console so the only
> > option for easy debugging is to use device's keyboard+screen or this usbtty
> > serial console over USB.
> >
> > Signed-off-by: Pali Roh?r <pali@kernel.org>
> > ---
> > Changes since v1:
> > * Fixed USB product id and product name
> > * Disabled some other options to free more space
> > * Changes now passed CI tests:
> > https://dev.azure.com/u-boot/u-boot/_build/results?buildId=1492&view=results
> >
> > Note that this patch depends on other Nokia RX-51 patches which are on
> > mailing list, otherwise CI tests do not pass:
> >
> > https://patchwork.ozlabs.org/project/uboot/patch/20201121223011.14262-1-pali at kernel.org/
> > https://patchwork.ozlabs.org/project/uboot/patch/20201121223317.14347-1-pali at kernel.org/
> > https://patchwork.ozlabs.org/project/uboot/patch/20201129161505.5092-1-pali at kernel.org/
> > https://patchwork.ozlabs.org/project/uboot/patch/20201130191034.795-1-pali at kernel.org/
>
> okay, Ill wait for all these patches to get merged, before I pick this patch.

Web pages for all these patches is saying:

State: Under Review
Delegated to: Lokesh Vutla

So I think these patches are also waiting for you.

> Thanks and regards,
> Lokesh
>
> > ---
> > configs/nokia_rx51_defconfig | 8 +++++---
> > doc/README.nokia_rx51 | 15 +--------------
> > include/configs/nokia_rx51.h | 21 +++++++--------------
> > 3 files changed, 13 insertions(+), 31 deletions(-)
> >
> > diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
> > index 0f05fe6fc3..963dd145ce 100644
> > --- a/configs/nokia_rx51_defconfig
> > +++ b/configs/nokia_rx51_defconfig
> > @@ -44,18 +44,16 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=onenand:128k(bootloader)ro,384k(config),256k(l
> > CONFIG_ENV_OVERWRITE=y
> > CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> > # CONFIG_NET is not set
> > -CONFIG_TWL4030_LED=y
> > # CONFIG_MMC_HW_PARTITIONING is not set
> > +# CONFIG_MMC_VERBOSE is not set
> > CONFIG_MMC_OMAP_HS=y
> > CONFIG_MTD=y
> > CONFIG_CONS_INDEX=3
> > CONFIG_SYS_NS16550=y
> > CONFIG_SPI=y
> > CONFIG_USB=y
> > -CONFIG_USB_MUSB_HCD=y
> > CONFIG_USB_MUSB_UDC=y
> > CONFIG_USB_OMAP3=y
> > -CONFIG_TWL4030_USB=y
> > CONFIG_CFB_CONSOLE=y
> > CONFIG_CFB_CONSOLE_ANSI=y
> > # CONFIG_VGA_AS_SINGLE_DEVICE is not set
> > @@ -66,3 +64,7 @@ CONFIG_DM_I2C=y
> > CONFIG_DM_MMC=y
> > # CONFIG_DM_DEVICE_REMOVE is not set
> > # CONFIG_SYS_MALLOC_F is not set
> > +# CONFIG_DM_WARN is not set
> > +# CONFIG_DM_SEQ_ALIAS is not set
> > +# CONFIG_BLOCK_CACHE is not set
> > +# CONFIG_SYS_DEVICE_NULLDEV is not set
> > diff --git a/doc/README.nokia_rx51 b/doc/README.nokia_rx51
> > index 320b5efc7d..84d1912ddd 100644
> > --- a/doc/README.nokia_rx51
> > +++ b/doc/README.nokia_rx51
> > @@ -24,8 +24,7 @@ called u-boot-gen-combined. It is available in following repository:
> > There is support for hardware watchdog. Hardware watchdog is started by
> > NOLO so u-boot must kick watchdog to prevent reboot device (but not very
> > often, max every 2 seconds). There is also support for framebuffer display
> > -output with ANSI escape codes and the N900 HW keyboard input. USB tty works
> > -but is disabled because it prevents the current Maemo kernel from booting.
> > +output with ANSI escape codes and the N900 HW keyboard input.
> >
> > When U-Boot is starting it enable IBE bit in Auxiliary Control Register,
> > which is needed for Thumb-2 ISA support. It is workaround for errata 430973.
> > @@ -49,10 +48,6 @@ Boot from SD or eMMC in this order:
> >
> > Available additional commands/variables:
> >
> > - * run sercon - Use serial port for control
> > - * run usbcon - Use usbtty for control
> > - * run vgacon - Use framebuffer and HW keyboard for control (default)
> > -
> > * run sdboot - Boot from external SD card (see boot order)
> > * run emmcboot - Boot from internal eMMC memory (see boot order)
> > * run attachboot - Boot attached kernel image (attached to U-Boot binary)
> > @@ -87,14 +82,6 @@ Additional variables for booting kernel:
> > and u-boot standard output is set to serial then setup_console_atag is
> > automatically set to 1. So output from Maemo kernel would go to serial port.
> >
> > -USB TTY:
> > -
> > - Maemo kernel 2.6.28 will crash if u-boot enable usb tty. So USB TTY is disabled.
> > - For enabling USB TTY just add this line to file include/configs/nokia_rx51.h
> > -
> > - #define CONFIG_USB_TTY
> > -
> > -
> > UBIFS support:
> >
> > UBIFS support is disabled, because U-Boot image is too big and cannot be
> > diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
> > index 3f2700d8e2..23368de624 100644
> > --- a/include/configs/nokia_rx51.h
> > +++ b/include/configs/nokia_rx51.h
> > @@ -70,10 +70,12 @@
> >
> > /* USB device configuration */
> > #define CONFIG_USB_DEVICE
> > +#define CONFIG_USB_TTY
> > #define CONFIG_USBD_VENDORID 0x0421
> > -#define CONFIG_USBD_PRODUCTID 0x01c8
> > +#define CONFIG_USBD_PRODUCTID_CDCACM 0x01c8
> > +#define CONFIG_USBD_PRODUCTID_GSERIAL 0x01c8
> > #define CONFIG_USBD_MANUFACTURER "Nokia"
> > -#define CONFIG_USBD_PRODUCT_NAME "N900"
> > +#define CONFIG_USBD_PRODUCT_NAME "N900 (U-Boot)"
> >
> > #define GPIO_SLIDE 71
> >
> > @@ -108,15 +110,9 @@ int rx51_kp_getc(struct stdio_dev *sdev);
> > /* Environment information */
> > #define CONFIG_EXTRA_ENV_SETTINGS \
> > "usbtty=cdc_acm\0" \
> > - "stdin=serial,vga\0" \
> > - "stdout=serial,vga\0" \
> > - "stderr=serial,vga\0" \
> > - "setcon=setenv stdin ${con};" \
> > - "setenv stdout ${con};" \
> > - "setenv stderr ${con}\0" \
> > - "sercon=setenv con serial; run setcon\0" \
> > - "usbcon=setenv con usbtty; run setcon\0" \
> > - "vgacon=setenv con vga; run setcon\0" \
> > + "stdin=usbtty,serial,vga\0" \
> > + "stdout=usbtty,serial,vga\0" \
> > + "stderr=usbtty,serial,vga\0" \
> > "slide=gpio input " __stringify(GPIO_SLIDE) "\0" \
> > "switchmmc=mmc dev ${mmcnum}\0" \
> > "kernaddr=0x82008000\0" \
> > @@ -198,9 +194,6 @@ int rx51_kp_getc(struct stdio_dev *sdev);
> > #define CONFIG_POSTBOOTMENU \
> > "echo;" \
> > "echo Extra commands:;" \
> > - "echo run sercon - Use serial port for control.;" \
> > - "echo run usbcon - Use usbtty for control.;" \
> > - "echo run vgacon - Use framebuffer/keyboard.;" \
> > "echo run sdboot - Boot from SD card slot.;" \
> > "echo run emmcboot - Boot internal eMMC memory.;" \
> > "echo run attachboot - Boot attached kernel image.;" \
> >