Firefly Open Source Community

   Login   |   Register   |
New_Topic

rk3288 boot time - kernel start

60

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
60
Posted at 1/31/2020 11:28:43     
Last edited by WeX In 1/31/2020 11:30 Editor

Hello! I need to boot rk3288 fast as possible, and I have a question about begining of kernel load process. First of all I enabled falcon mode in u-boot to jump into kernel image directly from SPL (raw sector mode). Everything is ok, kernel starts normally, but delay about 2 seconds is present between messages about kernel uncomressed and first printk from kernel (earlyprintk and LL debug is enabled).



Anybody knows what does it do at all that time and how I can reduce this delay? I tried build image by official guide, and this delay also presented.



Thanks!
Reply

Use props Report

56

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
56
Posted at 2/6/2020 18:20:01     
Try this code. I hope this helps you!

if ROCKCHIP_RK3288

config TARGET_CHROMEBOOK_JERRY
        bool "Google/Rockchip Veyron-Jerry Chromebook"
        select BOARD_LATE_INIT
        help
          Jerry is a RK3288-based clamshell device with 2 USB 3.0 ports,
          HDMI, an 11.9 inch EDP display, micro-SD card, touchpad and
          WiFi. It includes a Chrome OS EC (Cortex-M3) to provide access to
          the keyboard and battery functions.

config TARGET_CHROMEBIT_MICKEY
        bool "Google/Rockchip Veyron-Mickey Chromebit"
        select BOARD_LATE_INIT
        help
          Mickey is a small RK3288-based device with one USB 3.0 port, HDMI
          and WiFi. It has a separate power port and is designed to connect
          to the HDMI input of a monitor or TV. It has no internal battery.
          Typically a USB hub or wireless keyboard/touchpad is used to get
          keyboard and mouse access.

config TARGET_CHROMEBOOK_MINNIE
        bool "Google/Rockchip Veyron-Minnie Chromebook"
        select BOARD_LATE_INIT
        help
          Minnie is a RK3288-based convertible clamshell device with 2 USB 3.0
          ports, micro HDMI, a 10.1-inch 1280x800 EDP display, micro-SD card,
          HD camera, touchpad, WiFi and Bluetooth. It includes a Chrome OS
          EC (Cortex-M3) to provide access to the keyboard and battery
          functions. It includes 2 or 4GB of SDRAM and 16 or 32GB of
          internal MMC. The product name is ASUS Chromebook Flip.

config TARGET_EVB_RK3288
        bool "Evb-RK3288"
        select BOARD_LATE_INIT
        help
          EVB-RK3288 is a RK3288-based development board with 2 USB ports,
          HDMI, VGA, micro-SD card, audio, WiFi  and Gigabit Ethernet, It
          also includes on-board eMMC and 2GB of SDRAM. Expansion connectors
          provide access to display pins, I2C, SPI, UART and GPIOs.

config TARGET_FENNEC_RK3288
        bool "Fennec-RK3288"
        select BOARD_LATE_INIT
        help
          Fennec is a RK3288-based development board with 2 USB ports,
          HDMI, micro-SD card, audio, WiFi and Gigabit Ethernet. It also
          includes on-board eMMC and 2GB of SDRAM. Expansion connectors
          provide access to display pins, I2C, SPI, UART and GPIOs.

config TARGET_FIREFLY_RK3288
        bool "Firefly-RK3288"
        select BOARD_LATE_INIT
        help
          Firefly is a RK3288-based development board with 2 USB ports,
          HDMI, VGA, micro-SD card, audio, WiFi  and Gigabit Ethernet, It
          also includes on-board eMMC and 1GB of SDRAM. Expansion connectors
          provide access to display pins, I2C, SPI, UART and GPIOs.

config TARGET_MIQI_RK3288
        bool "MiQi-RK3288"
        select BOARD_LATE_INIT
        help
          MiQi-RK3288 is a RK3288-based development board with 4 USB 2.0
          ports, HDMI, micro-SD card, 16 GB eMMC and Gigabit Ethernet. It
          has 1 or 2 GiB SDRAM. Expansion connectors provide access to
          I2C, SPI, UART, GPIOs and fan control.

config TARGET_PHYCORE_RK3288
        bool "phyCORE-RK3288"
        select BOARD_LATE_INIT
        help
          Add basic support for the PCM-947 carrier board, a RK3288 based
          development board made by PHYTEC. This board works in a combination
          with the phyCORE-RK3288 System on Module.

config TARGET_POPMETAL_RK3288
        bool "PopMetal-RK3288"
        select BOARD_LATE_INIT
        help
          PopMetal is a RK3288-based development board with 3 USB host ports,
          1 micro USB OTG port, HDMI, VGA, micro-SD card, audio, WiFi, Gigabit
          Ethernet and lots of sensors. It also includes on-board 8 GeMMC and
          2GB DDR3. Expansion connectors provide access to I2C, SPI, UART,
          GPIOs and display interface.

config TARGET_VYASA_RK3288
        bool "Vyasa-RK3288"
        select BOARD_LATE_INIT
        select ROCKCHIP_BROM_HELPER
        select SUPPORT_TPL
        select TPL
        select TPL_BOOTROM_SUPPORT
        select TPL_CLK
        select TPL_DM
        select TPL_DRIVERS_MISC_SUPPORT
        select TPL_LIBCOMMON_SUPPORT
        select TPL_LIBGENERIC_SUPPORT
        select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
        select TPL_OF_CONTROL
        select TPL_OF_PLATDATA
        select TPL_RAM
        select TPL_REGMAP
        select TPL_SERIAL_SUPPORT
        select TPL_SYSCON
        help
          Vyasa is a RK3288-based development board with 2 USB ports,
          HDMI, VGA, micro-SD card, audio, WiFi  and Gigabit Ethernet, It
          also includes on-board eMMC and 2GB of SDRAM. Expansion connectors
          provide access to display pins, I2C, SPI, UART and GPIOs.

config TARGET_ROCK2
        bool "Radxa Rock 2"
        select BOARD_LATE_INIT
        help
          Rock 2 is a SOM and base-board combination based on RK3288. It
          includes Ethernet, HDMI, 3 USB, micro-SD, audio, SATA, WiFi and
          space for a real-time-clock battery. There is also an expansion
          interface which provides access to many pins.

config TARGET_TINKER_RK3288
        bool "Tinker-RK3288"
        select BOARD_LATE_INIT
        help
          Tinker is a RK3288-based development board with 2 USB ports, HDMI,
          micro-SD card, audio, Gigabit Ethernet. It also includes on-board
          8GB eMMC and 2GB of SDRAM. Expansion connectors provide access to
          I2C, SPI, UART, GPIOs.

config ROCKCHIP_FAST_SPL
        bool "Change the CPU to full speed in SPL"
        depends on TARGET_CHROMEBOOK_JERRY
        help
          Some boards want to boot as fast as possible. We can increase the
          CPU frequency in SPL if the power supply is configured to the correct
          voltage. This option is only available on boards which support it
          and have the required PMIC code.

config SYS_SOC
        default "rockchip"

config SYS_MALLOC_F_LEN
        default 0x0800

config SPL_DRIVERS_MISC_SUPPORT
        default y

config SPL_LIBCOMMON_SUPPORT
        default y

config SPL_LIBGENERIC_SUPPORT
        default y

config SPL_SERIAL_SUPPORT
        default y

source "board/amarula/vyasa-rk3288/Kconfig"

source "board/chipspark/popmetal_rk3288/Kconfig"

source "board/firefly/firefly-rk3288/Kconfig"

source "board/google/veyron/Kconfig"

source "board/mqmaker/miqi_rk3288/Kconfig"

source "board/phytec/phycore_rk3288/Kconfig"

source "board/radxa/rock2/Kconfig"

source "board/rockchip/evb_rk3288/Kconfig"

source "board/rockchip/fennec_rk3288/Kconfig"

source "board/rockchip/tinker_rk3288/Kconfig"

endif
Reply

Use props Report

60

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
60
Posted at 2/9/2020 07:58:16     
Thank You for reply! After some changes in kernel config, I came to the conclusion that this time is spent on serial output initialization and if I simple pass quiet parameter to kernel it boots very more faster.
Reply

Use props Report

You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list