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

Pali Rohár
2020-12-22T15:17:41Z

On Tuesday 22 December 2020 20:39:11 Lokesh Vutla wrote:
>
>
> On 22/12/20 8:38 pm, Lokesh Vutla wrote:
> >
> >
> > On 22/12/20 8:36 pm, Lokesh Vutla wrote:
> >>
> >>
> >> On 22/12/20 8:28 pm, Pali Roh?r wrote:
> >>> 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.
> >>
> >> The main patch I need is this[0]. Without this I am getting a build failure as
> >> you mentioned in the commit description. So, Until [0] patch is applied I cannot
> >> apply this patch. Since you combined disabling of other configs in the same
> >> patch, it is causing my pipeline failure.
> >>
> >> Can you split the disabling of other configs into a separate patch so that
> >> others are unblocked?
> >
> > [0]
> > https://patchwork.ozlabs.org/project/uboot/patch/20201130192715.1793-1-pali at kernel.org/
>
> ahh copy paste issues:
> [0]
> https://patchwork.ozlabs.org/project/uboot/patch/20201129164618.5829-3-pali at kernel.org/

Sorry, now I'm somehow lost.

All patches are in my git repository git://github.com/pali/u-boot.git in
branch nokia-rx51. And this branch passed pipeline checks.

It took me some time to prepare all patches in state that after applying
all of them whole pipeline pass.

As this starting to be complicated, could you please tell me which
commit/patch either needs to be modified or if needed how to change
order of them?

> Thanks and regards,
> Lokesh
>
>
> >
> > Sorry missed this.
> >
> > Thanks and regards,
> > Lokesh
> >
> >>
> >> Thanks and regards,
> >> Lokesh
> >>
> >>>
> >>>> 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.;" \
> >>>>>