Convert CONFIG_CLOCKS to Kconfig
[platform/kernel/u-boot.git] / common / Kconfig
index fdcf453..8f8a906 100644 (file)
@@ -32,6 +32,16 @@ config CONSOLE_RECORD_OUT_SIZE
          more data will be recorded until some is removed. The buffer is
          allocated immediately after the malloc() region is ready.
 
+config CONSOLE_RECORD_OUT_SIZE_F
+       hex "Output buffer size before relocation"
+       depends on CONSOLE_RECORD
+       default 0x400 if CONSOLE_RECORD
+       help
+         Set the size of the console output buffer before relocation. When
+         this fills up, no more data will be recorded until some is removed.
+         The buffer is allocated immediately after the early malloc() region is
+         ready.
+
 config CONSOLE_RECORD_IN_SIZE
        hex "Input buffer size"
        depends on CONSOLE_RECORD
@@ -482,6 +492,37 @@ config DISPLAY_BOARDINFO_LATE
 
 menu "Start-up hooks"
 
+config EVENT
+       bool "General-purpose event-handling mechanism"
+       default y if SANDBOX
+       help
+         This enables sending and processing of events, to allow interested
+         parties to be alerted when something happens. This is an attempt to
+         step the flow of weak functions, hooks, functions in board_f.c
+         and board_r.c and the Kconfig options below.
+
+         See doc/develop/event.rst for more information.
+
+if EVENT
+
+config EVENT_DYNAMIC
+       bool "Support event registration at runtime"
+       default y if SANDBOX
+       help
+         Enable this to support adding an event spy at runtime, without adding
+         it to the EVENT_SPy() linker list. This increases code size slightly
+         but provides more flexibility for boards and subsystems that need it.
+
+config EVENT_DEBUG
+       bool "Enable event debugging assistance"
+       default y if SANDBOX
+       help
+         Enable this get usefui features for seeing what is happening with
+         events, such as event-type names. This adds to the code size of
+         U-Boot so can be turned off for production builds.
+
+endif # EVENT
+
 config ARCH_EARLY_INIT_R
        bool "Call arch-specific init soon after relocation"
        help
@@ -514,6 +555,12 @@ config BOARD_EARLY_INIT_R
          relocation. With this option, U-Boot calls board_early_init_r()
          in the post-relocation init sequence.
 
+config BOARD_POSTCLK_INIT
+       bool "Call board_postclk_init"
+       help
+         Some boards need this to initialize select items, after clocks /
+         timebase and before env / serial.
+
 config BOARD_LATE_INIT
        bool "Execute Board late init"
        help
@@ -524,6 +571,19 @@ config BOARD_LATE_INIT
          So this config enable the late init code with the help of board_late_init
          function which should defined on respective boards.
 
+config CLOCKS
+       bool "Call set_cpu_clk_info"
+       depends on ARM
+
+config SYS_FSL_CLK
+       bool
+       depends on ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 || \
+               (FSL_ESDHC_IMX && (ARCH_MX5 || ARCH_MX6 || ARCH_MX7))
+       default y
+       help
+         Enable to call get_clocks() in board_init_f() for platforms other
+         than PowerPC or M68k.  This is a legacy option.  If not TARGET_BRPPT2
+
 config LAST_STAGE_INIT
        bool "Call board-specific as last setup step"
        help
@@ -533,12 +593,6 @@ config LAST_STAGE_INIT
          U-Boot calls last_stage_init() before the command-line interpreter is
          started.
 
-config MISC_INIT_F
-       bool "Execute pre-relocation misc init"
-       help
-         Enabling this option calls the 'misc_init_f' function in the init
-         sequence just before DRAM is inited.
-
 config MISC_INIT_R
        bool "Execute Misc Init"
        default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
@@ -561,6 +615,12 @@ config PCI_INIT_R
          case of DM PCI-based Ethernet devices, which will not be detected
          without having the enumeration performed earlier.
 
+config RESET_PHY_R
+       bool "Reset ethernet PHY during init"
+       help
+         Implement reset_phy() in board code if required to reset the ethernet
+         PHY.
+
 endmenu
 
 endmenu                # Init options
@@ -698,7 +758,7 @@ config BLOBLIST
          from TPL to SPL to U-Boot proper (and potentially to Linux). The
          blob list supports multiple binary blobs of data, each with a tag,
          so that different U-Boot components can store data which can survive
-         through to the next stage of the boot.
+         through to the next phase of the boot.
 
 config SPL_BLOBLIST
        bool "Support for a bloblist in SPL"
@@ -717,34 +777,118 @@ config TPL_BLOBLIST
          This enables a bloblist in TPL. The bloblist is set up in TPL and
          passed to SPL and U-Boot proper.
 
-config BLOBLIST_SIZE
-       hex "Size of bloblist"
-       depends on BLOBLIST
-       default 0x400
+if BLOBLIST
+
+choice
+       prompt "Bloblist location"
        help
-         Sets the size of the bloblist in bytes. This must include all
-         overhead (alignment, bloblist header, record header). The bloblist
-         is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
-         proper), and this sane bloblist is used for subsequent stages.
+         Select the location of the bloblist, via various means.
+
+config BLOBLIST_FIXED
+       bool "Place bloblist at a fixed address in memory"
+       help
+         Select this to used a fixed memory address for the bloblist. If the
+         bloblist exists at this address from a previous phase, it used as is.
+         If not it is created at this address in U-Boot.
+
+config BLOBLIST_ALLOC
+       bool "Allocate bloblist"
+       help
+         Allocate the bloblist using malloc(). This avoids the need to
+         specify a fixed address on systems where this is unknown or can
+         change at runtime.
+
+endchoice
 
 config BLOBLIST_ADDR
        hex "Address of bloblist"
-       depends on BLOBLIST
        default 0xc000 if SANDBOX
+       depends on BLOBLIST_FIXED
        help
          Sets the address of the bloblist, set up by the first part of U-Boot
-         which runs. Subsequent U-Boot stages typically use the same address.
+         which runs. Subsequent U-Boot phases typically use the same address.
+
+         This is not used if BLOBLIST_ALLOC is selected.
+
+config BLOBLIST_SIZE
+       hex "Size of bloblist"
+       default 0x400
+       help
+         Sets the size of the bloblist in bytes. This must include all
+         overhead (alignment, bloblist header, record header). The bloblist
+         is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
+         proper), and this sane bloblist is used for subsequent phases.
 
 config BLOBLIST_SIZE_RELOC
        hex "Size of bloblist after relocation"
-       depends on BLOBLIST
-       default BLOBLIST_SIZE
+       default BLOBLIST_SIZE if BLOBLIST_FIXED || BLOBLIST_ALLOC
+       default 0 if BLOBLIST_PASSAGE
        help
          Sets the size of the bloblist in bytes after relocation. Since U-Boot
          has a lot more memory available then, it is possible to use a larger
          size than the one set up by SPL. This bloblist is set up during the
          relocation process.
 
+endif # BLOBLIST
+
+if SPL_BLOBLIST
+
+choice
+       prompt "Bloblist location in SPL"
+       help
+         Select the location of the bloblist, via various means. Typically
+         you should use the same value for SPL as for U-Boot, since they need
+         to look in the same place. But if BLOBLIST_ALLOC is used, then a
+         fresh bloblist will be created each time, since there is no shared
+         address (between phases) for the bloblist.
+
+config SPL_BLOBLIST_FIXED
+       bool "Place bloblist at a fixed address in memory"
+       help
+         Select this to used a fixed memory address for the bloblist. If the
+         bloblist exists at this address from a previous phase, it used as is.
+         If not it is created at this address in SPL.
+
+config SPL_BLOBLIST_ALLOC
+       bool "Allocate bloblist"
+       help
+         Allocate the bloblist using malloc(). This avoids the need to
+         specify a fixed address on systems where this is unknown or can
+         change at runtime.
+
+endchoice
+
+endif # SPL_BLOBLIST
+
+if TPL_BLOBLIST
+
+choice
+       prompt "Bloblist location in TPL"
+       help
+         Select the location of the bloblist, via various means. Typically
+         you should use the same value for SPL as for U-Boot, since they need
+         to look in the same place. But if BLOBLIST_ALLOC is used, then a
+         fresh bloblist will be created each time, since there is no shared
+         address (between phases) for the bloblist.
+
+config TPL_BLOBLIST_FIXED
+       bool "Place bloblist at a fixed address in memory"
+       help
+         Select this to used a fixed memory address for the bloblist. If the
+         bloblist exists at this address from a previous phase, it used as is.
+         If not it is created at this address in TPL.
+
+config TPL_BLOBLIST_ALLOC
+       bool "Allocate bloblist"
+       help
+         Allocate the bloblist using malloc(). This avoids the need to
+         specify a fixed address on systems where this is unknown or can
+         change at runtime.
+
+endchoice
+
+endif # TPL_BLOBLIST
+
 endmenu
 
 source "common/spl/Kconfig"
@@ -766,3 +910,12 @@ config SPL_IMAGE_SIGN_INFO
          Enable image_sign_info helper functions in SPL.
 
 endif
+
+config FDT_SIMPLEFB
+       bool "FDT tools for simplefb support"
+       depends on OF_LIBFDT
+       help
+         Enable the fdt tools to manage the simple fb nodes in device tree.
+         These functions can be used by board to indicate to the OS
+         the presence of the simple frame buffer with associated reserved
+         memory