^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # Hexagon configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) comment "Linux Kernel Configuration for Hexagon"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) config HEXAGON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select ARCH_32BIT_OFF_T
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) select ARCH_HAS_SYNC_DMA_FOR_DEVICE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) select ARCH_NO_PREEMPT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) select HAVE_OPROFILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) # Other pending projects/to-do items.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) # select HAVE_REGS_AND_STACK_ACCESS_API
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) # select HAVE_HW_BREAKPOINT if PERF_EVENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) # select ARCH_HAS_CPU_IDLE_WAIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) # select GPIOLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) # select HAVE_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) # select GENERIC_PENDING_IRQ if SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) select GENERIC_ATOMIC64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) select HAVE_PERF_EVENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) # GENERIC_ALLOCATOR is used by dma_alloc_coherent()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) select GENERIC_ALLOCATOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) select GENERIC_IRQ_SHOW
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) select HAVE_ARCH_KGDB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) select HAVE_ARCH_TRACEHOOK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) select NEED_SG_DMA_LENGTH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) select NO_IOPORT_MAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) select GENERIC_IOMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) select GENERIC_SMP_IDLE_THREAD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) select STACKTRACE_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) select GENERIC_CLOCKEVENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) select GENERIC_CLOCKEVENTS_BROADCAST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) select MODULES_USE_ELF_RELA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) select GENERIC_CPU_DEVICES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) select SET_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Qualcomm Hexagon is a processor architecture designed for high
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) performance and low power across a wide variety of applications.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) config HEXAGON_PHYS_OFFSET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Platforms that don't load the kernel at zero set this.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) config FRAME_POINTER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) config LOCKDEP_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) config EARLY_PRINTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) config MMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) config TRACE_IRQFLAGS_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) config GENERIC_CSUM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) # Use the generic interrupt handling code in kernel/irq/:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) config GENERIC_IRQ_PROBE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) config GENERIC_HWEIGHT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) config STACKTRACE_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) select STACKTRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) config GENERIC_BUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) depends on BUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) menu "Machine selection"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) choice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) prompt "System type"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) default HEXAGON_COMET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) config HEXAGON_COMET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) bool "Comet Board"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) Support for the Comet platform.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) endchoice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) config HEXAGON_ARCH_VERSION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) int "Architecture version"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) default 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) config CMDLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) string "Default kernel command string"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) default ""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) On some platforms, there is currently no way for the boot loader
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) to pass arguments to the kernel. For these, you should supply some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) command-line options at build time by entering them here. At a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) minimum, you should specify the memory size and the root device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) (e.g., mem=64M root=/dev/nfs).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) config SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) bool "Multi-Processing support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Enables SMP support in the kernel. If unsure, say "Y"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config NR_CPUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) int "Maximum number of CPUs" if SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) range 2 6 if SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) default "1" if !SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) default "6" if SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) This allows you to specify the maximum number of CPUs which this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) kernel will support. The maximum supported value is 6 and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) minimum value which makes sense is 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) This is purely to save memory - each supported CPU adds
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) approximately eight kilobytes to the kernel image.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) choice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) prompt "Kernel page size"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) default PAGE_SIZE_4KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) Changes the default page size; use with caution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) config PAGE_SIZE_4KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) bool "4KB"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) config PAGE_SIZE_16KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) bool "16KB"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) config PAGE_SIZE_64KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) bool "64KB"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) config PAGE_SIZE_256KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) bool "256KB"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) endchoice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) source "kernel/Kconfig.hz"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) endmenu