linux/arch/sh/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2config SUPERH
   3        def_bool y
   4        select ARCH_32BIT_OFF_T
   5        select ARCH_HAVE_CUSTOM_GPIO_H
   6        select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
   7        select ARCH_HAS_BINFMT_FLAT if !MMU
   8        select ARCH_HAS_GIGANTIC_PAGE
   9        select ARCH_HAS_GCOV_PROFILE_ALL
  10        select ARCH_HAS_PTE_SPECIAL
  11        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
  12        select ARCH_HIBERNATION_POSSIBLE if MMU
  13        select ARCH_MIGHT_HAVE_PC_PARPORT
  14        select ARCH_WANT_IPC_PARSE_VERSION
  15        select CLKDEV_LOOKUP
  16        select CPU_NO_EFFICIENT_FFS
  17        select DMA_DECLARE_COHERENT
  18        select GENERIC_ATOMIC64
  19        select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
  20        select GENERIC_IDLE_POLL_SETUP
  21        select GENERIC_IRQ_SHOW
  22        select GENERIC_PCI_IOMAP if PCI
  23        select GENERIC_SCHED_CLOCK
  24        select GENERIC_STRNCPY_FROM_USER
  25        select GENERIC_STRNLEN_USER
  26        select GENERIC_SMP_IDLE_THREAD
  27        select GUP_GET_PTE_LOW_HIGH if X2TLB
  28        select HAVE_ARCH_AUDITSYSCALL
  29        select HAVE_ARCH_KGDB
  30        select HAVE_ARCH_SECCOMP_FILTER
  31        select HAVE_ARCH_TRACEHOOK
  32        select HAVE_DEBUG_BUGVERBOSE
  33        select HAVE_DEBUG_KMEMLEAK
  34        select HAVE_DYNAMIC_FTRACE
  35        select HAVE_FAST_GUP if MMU
  36        select HAVE_FUNCTION_GRAPH_TRACER
  37        select HAVE_FUNCTION_TRACER
  38        select HAVE_FUTEX_CMPXCHG if FUTEX
  39        select HAVE_FTRACE_MCOUNT_RECORD
  40        select HAVE_HW_BREAKPOINT
  41        select HAVE_IDE if HAS_IOPORT_MAP
  42        select HAVE_IOREMAP_PROT if MMU && !X2TLB
  43        select HAVE_KERNEL_BZIP2
  44        select HAVE_KERNEL_GZIP
  45        select HAVE_KERNEL_LZMA
  46        select HAVE_KERNEL_LZO
  47        select HAVE_KERNEL_XZ
  48        select HAVE_KPROBES
  49        select HAVE_KRETPROBES
  50        select HAVE_MIXED_BREAKPOINTS_REGS
  51        select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
  52        select HAVE_NMI
  53        select HAVE_OPROFILE
  54        select HAVE_PATA_PLATFORM
  55        select HAVE_PERF_EVENTS
  56        select HAVE_REGS_AND_STACK_ACCESS_API
  57        select HAVE_UID16
  58        select HAVE_STACKPROTECTOR
  59        select HAVE_SYSCALL_TRACEPOINTS
  60        select IRQ_FORCED_THREADING
  61        select MAY_HAVE_SPARSE_IRQ
  62        select MODULES_USE_ELF_RELA
  63        select NEED_SG_DMA_LENGTH
  64        select NO_DMA if !MMU && !DMA_COHERENT
  65        select NO_GENERIC_PCI_IOPORT_MAP if PCI
  66        select OLD_SIGACTION
  67        select OLD_SIGSUSPEND
  68        select PCI_DOMAINS if PCI
  69        select PERF_EVENTS
  70        select PERF_USE_VMALLOC
  71        select RTC_LIB
  72        select SET_FS
  73        select SPARSE_IRQ
  74        help
  75          The SuperH is a RISC processor targeted for use in embedded systems
  76          and consumer electronics; it was also used in the Sega Dreamcast
  77          gaming console.  The SuperH port has a home page at
  78          <http://www.linux-sh.org/>.
  79
  80config GENERIC_BUG
  81        def_bool y
  82        depends on BUG
  83
  84config GENERIC_HWEIGHT
  85        def_bool y
  86
  87config GENERIC_CALIBRATE_DELAY
  88        bool
  89
  90config GENERIC_LOCKBREAK
  91        def_bool y
  92        depends on SMP && PREEMPTION
  93
  94config ARCH_SUSPEND_POSSIBLE
  95        def_bool n
  96
  97config ARCH_HIBERNATION_POSSIBLE
  98        def_bool n
  99
 100config SYS_SUPPORTS_APM_EMULATION
 101        bool
 102        select ARCH_SUSPEND_POSSIBLE
 103
 104config SYS_SUPPORTS_HUGETLBFS
 105        bool
 106
 107config SYS_SUPPORTS_SMP
 108        bool
 109
 110config SYS_SUPPORTS_NUMA
 111        bool
 112
 113config STACKTRACE_SUPPORT
 114        def_bool y
 115
 116config LOCKDEP_SUPPORT
 117        def_bool y
 118
 119config ARCH_HAS_ILOG2_U32
 120        def_bool n
 121
 122config ARCH_HAS_ILOG2_U64
 123        def_bool n
 124
 125config NO_IOPORT_MAP
 126        def_bool !PCI
 127        depends on !SH_SH4202_MICRODEV && !SH_SHMIN && !SH_HP6XX && \
 128                   !SH_SOLUTION_ENGINE
 129
 130config IO_TRAPPED
 131        bool
 132
 133config SWAP_IO_SPACE
 134        bool
 135
 136config DMA_COHERENT
 137        bool
 138
 139config DMA_NONCOHERENT
 140        def_bool !NO_DMA && !DMA_COHERENT
 141        select ARCH_HAS_DMA_PREP_COHERENT
 142        select ARCH_HAS_SYNC_DMA_FOR_DEVICE
 143        select DMA_DIRECT_REMAP
 144
 145config PGTABLE_LEVELS
 146        default 3 if X2TLB
 147        default 2
 148
 149menu "System type"
 150
 151#
 152# Processor families
 153#
 154config CPU_SH2
 155        bool
 156        select SH_INTC
 157
 158config CPU_SH2A
 159        bool
 160        select CPU_SH2
 161        select UNCACHED_MAPPING
 162
 163config CPU_J2
 164        bool
 165        select CPU_SH2
 166        select OF
 167        select OF_EARLY_FLATTREE
 168
 169config CPU_SH3
 170        bool
 171        select CPU_HAS_INTEVT
 172        select CPU_HAS_SR_RB
 173        select SH_INTC
 174        select SYS_SUPPORTS_SH_TMU
 175
 176config CPU_SH4
 177        bool
 178        select CPU_HAS_INTEVT
 179        select CPU_HAS_SR_RB
 180        select CPU_HAS_FPU if !CPU_SH4AL_DSP
 181        select SH_INTC
 182        select SYS_SUPPORTS_SH_TMU
 183        select SYS_SUPPORTS_HUGETLBFS if MMU
 184
 185config CPU_SH4A
 186        bool
 187        select CPU_SH4
 188
 189config CPU_SH4AL_DSP
 190        bool
 191        select CPU_SH4A
 192        select CPU_HAS_DSP
 193
 194config CPU_SHX2
 195        bool
 196
 197config CPU_SHX3
 198        bool
 199        select DMA_COHERENT
 200        select SYS_SUPPORTS_SMP
 201        select SYS_SUPPORTS_NUMA
 202
 203config ARCH_SHMOBILE
 204        bool
 205        select ARCH_SUSPEND_POSSIBLE
 206        select PM
 207
 208config CPU_HAS_PMU
 209       depends on CPU_SH4 || CPU_SH4A
 210       default y
 211       bool
 212
 213choice
 214        prompt "Processor sub-type selection"
 215
 216#
 217# Processor subtypes
 218#
 219
 220# SH-2 Processor Support
 221
 222config CPU_SUBTYPE_SH7619
 223        bool "Support SH7619 processor"
 224        select CPU_SH2
 225        select SYS_SUPPORTS_SH_CMT
 226
 227config CPU_SUBTYPE_J2
 228        bool "Support J2 processor"
 229        select CPU_J2
 230        select SYS_SUPPORTS_SMP
 231        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
 232
 233# SH-2A Processor Support
 234
 235config CPU_SUBTYPE_SH7201
 236        bool "Support SH7201 processor"
 237        select CPU_SH2A
 238        select CPU_HAS_FPU
 239        select SYS_SUPPORTS_SH_MTU2
 240 
 241config CPU_SUBTYPE_SH7203
 242        bool "Support SH7203 processor"
 243        select CPU_SH2A
 244        select CPU_HAS_FPU
 245        select SYS_SUPPORTS_SH_CMT
 246        select SYS_SUPPORTS_SH_MTU2
 247        select PINCTRL
 248
 249config CPU_SUBTYPE_SH7206
 250        bool "Support SH7206 processor"
 251        select CPU_SH2A
 252        select SYS_SUPPORTS_SH_CMT
 253        select SYS_SUPPORTS_SH_MTU2
 254
 255config CPU_SUBTYPE_SH7263
 256        bool "Support SH7263 processor"
 257        select CPU_SH2A
 258        select CPU_HAS_FPU
 259        select SYS_SUPPORTS_SH_CMT
 260        select SYS_SUPPORTS_SH_MTU2
 261
 262config CPU_SUBTYPE_SH7264
 263        bool "Support SH7264 processor"
 264        select CPU_SH2A
 265        select CPU_HAS_FPU
 266        select SYS_SUPPORTS_SH_CMT
 267        select SYS_SUPPORTS_SH_MTU2
 268        select PINCTRL
 269
 270config CPU_SUBTYPE_SH7269
 271        bool "Support SH7269 processor"
 272        select CPU_SH2A
 273        select CPU_HAS_FPU
 274        select SYS_SUPPORTS_SH_CMT
 275        select SYS_SUPPORTS_SH_MTU2
 276        select PINCTRL
 277
 278config CPU_SUBTYPE_MXG
 279        bool "Support MX-G processor"
 280        select CPU_SH2A
 281        select SYS_SUPPORTS_SH_MTU2
 282        help
 283          Select MX-G if running on an R8A03022BG part.
 284
 285# SH-3 Processor Support
 286
 287config CPU_SUBTYPE_SH7705
 288        bool "Support SH7705 processor"
 289        select CPU_SH3
 290
 291config CPU_SUBTYPE_SH7706
 292        bool "Support SH7706 processor"
 293        select CPU_SH3
 294        help
 295          Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
 296
 297config CPU_SUBTYPE_SH7707
 298        bool "Support SH7707 processor"
 299        select CPU_SH3
 300        help
 301          Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
 302
 303config CPU_SUBTYPE_SH7708
 304        bool "Support SH7708 processor"
 305        select CPU_SH3
 306        help
 307          Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
 308          if you have a 100 Mhz SH-3 HD6417708R CPU.
 309
 310config CPU_SUBTYPE_SH7709
 311        bool "Support SH7709 processor"
 312        select CPU_SH3
 313        help
 314          Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
 315
 316config CPU_SUBTYPE_SH7710
 317        bool "Support SH7710 processor"
 318        select CPU_SH3
 319        select CPU_HAS_DSP
 320        help
 321          Select SH7710 if you have a SH3-DSP SH7710 CPU.
 322
 323config CPU_SUBTYPE_SH7712
 324        bool "Support SH7712 processor"
 325        select CPU_SH3
 326        select CPU_HAS_DSP
 327        help
 328          Select SH7712 if you have a SH3-DSP SH7712 CPU.
 329
 330config CPU_SUBTYPE_SH7720
 331        bool "Support SH7720 processor"
 332        select CPU_SH3
 333        select CPU_HAS_DSP
 334        select SYS_SUPPORTS_SH_CMT
 335        select USB_OHCI_SH if USB_OHCI_HCD
 336        select PINCTRL
 337        help
 338          Select SH7720 if you have a SH3-DSP SH7720 CPU.
 339
 340config CPU_SUBTYPE_SH7721
 341        bool "Support SH7721 processor"
 342        select CPU_SH3
 343        select CPU_HAS_DSP
 344        select SYS_SUPPORTS_SH_CMT
 345        select USB_OHCI_SH if USB_OHCI_HCD
 346        help
 347          Select SH7721 if you have a SH3-DSP SH7721 CPU.
 348
 349# SH-4 Processor Support
 350
 351config CPU_SUBTYPE_SH7750
 352        bool "Support SH7750 processor"
 353        select CPU_SH4
 354        help
 355          Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
 356
 357config CPU_SUBTYPE_SH7091
 358        bool "Support SH7091 processor"
 359        select CPU_SH4
 360        help
 361          Select SH7091 if you have an SH-4 based Sega device (such as
 362          the Dreamcast, Naomi, and Naomi 2).
 363
 364config CPU_SUBTYPE_SH7750R
 365        bool "Support SH7750R processor"
 366        select CPU_SH4
 367
 368config CPU_SUBTYPE_SH7750S
 369        bool "Support SH7750S processor"
 370        select CPU_SH4
 371
 372config CPU_SUBTYPE_SH7751
 373        bool "Support SH7751 processor"
 374        select CPU_SH4
 375        help
 376          Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
 377          or if you have a HD6417751R CPU.
 378
 379config CPU_SUBTYPE_SH7751R
 380        bool "Support SH7751R processor"
 381        select CPU_SH4
 382
 383config CPU_SUBTYPE_SH7760
 384        bool "Support SH7760 processor"
 385        select CPU_SH4
 386
 387config CPU_SUBTYPE_SH4_202
 388        bool "Support SH4-202 processor"
 389        select CPU_SH4
 390
 391# SH-4A Processor Support
 392
 393config CPU_SUBTYPE_SH7723
 394        bool "Support SH7723 processor"
 395        select CPU_SH4A
 396        select CPU_SHX2
 397        select ARCH_SHMOBILE
 398        select ARCH_SPARSEMEM_ENABLE
 399        select SYS_SUPPORTS_SH_CMT
 400        select PINCTRL
 401        help
 402          Select SH7723 if you have an SH-MobileR2 CPU.
 403
 404config CPU_SUBTYPE_SH7724
 405        bool "Support SH7724 processor"
 406        select CPU_SH4A
 407        select CPU_SHX2
 408        select ARCH_SHMOBILE
 409        select ARCH_SPARSEMEM_ENABLE
 410        select SYS_SUPPORTS_SH_CMT
 411        select PINCTRL
 412        help
 413          Select SH7724 if you have an SH-MobileR2R CPU.
 414
 415config CPU_SUBTYPE_SH7734
 416        bool "Support SH7734 processor"
 417        select CPU_SH4A
 418        select CPU_SHX2
 419        select PINCTRL
 420        help
 421          Select SH7734 if you have a SH4A SH7734 CPU.
 422
 423config CPU_SUBTYPE_SH7757
 424        bool "Support SH7757 processor"
 425        select CPU_SH4A
 426        select CPU_SHX2
 427        select PINCTRL
 428        help
 429          Select SH7757 if you have a SH4A SH7757 CPU.
 430
 431config CPU_SUBTYPE_SH7763
 432        bool "Support SH7763 processor"
 433        select CPU_SH4A
 434        select USB_OHCI_SH if USB_OHCI_HCD
 435        help
 436          Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
 437
 438config CPU_SUBTYPE_SH7770
 439        bool "Support SH7770 processor"
 440        select CPU_SH4A
 441
 442config CPU_SUBTYPE_SH7780
 443        bool "Support SH7780 processor"
 444        select CPU_SH4A
 445
 446config CPU_SUBTYPE_SH7785
 447        bool "Support SH7785 processor"
 448        select CPU_SH4A
 449        select CPU_SHX2
 450        select ARCH_SPARSEMEM_ENABLE
 451        select SYS_SUPPORTS_NUMA
 452        select PINCTRL
 453
 454config CPU_SUBTYPE_SH7786
 455        bool "Support SH7786 processor"
 456        select CPU_SH4A
 457        select CPU_SHX3
 458        select CPU_HAS_PTEAEX
 459        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
 460        select USB_OHCI_SH if USB_OHCI_HCD
 461        select USB_EHCI_SH if USB_EHCI_HCD
 462        select PINCTRL
 463
 464config CPU_SUBTYPE_SHX3
 465        bool "Support SH-X3 processor"
 466        select CPU_SH4A
 467        select CPU_SHX3
 468        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
 469        select GPIOLIB
 470        select PINCTRL
 471
 472# SH4AL-DSP Processor Support
 473
 474config CPU_SUBTYPE_SH7343
 475        bool "Support SH7343 processor"
 476        select CPU_SH4AL_DSP
 477        select ARCH_SHMOBILE
 478        select SYS_SUPPORTS_SH_CMT
 479
 480config CPU_SUBTYPE_SH7722
 481        bool "Support SH7722 processor"
 482        select CPU_SH4AL_DSP
 483        select CPU_SHX2
 484        select ARCH_SHMOBILE
 485        select ARCH_SPARSEMEM_ENABLE
 486        select SYS_SUPPORTS_NUMA
 487        select SYS_SUPPORTS_SH_CMT
 488        select PINCTRL
 489
 490config CPU_SUBTYPE_SH7366
 491        bool "Support SH7366 processor"
 492        select CPU_SH4AL_DSP
 493        select CPU_SHX2
 494        select ARCH_SHMOBILE
 495        select ARCH_SPARSEMEM_ENABLE
 496        select SYS_SUPPORTS_NUMA
 497        select SYS_SUPPORTS_SH_CMT
 498
 499endchoice
 500
 501source "arch/sh/mm/Kconfig"
 502 
 503source "arch/sh/Kconfig.cpu"
 504
 505source "arch/sh/boards/Kconfig"
 506
 507menu "Timer and clock configuration"
 508
 509config SH_PCLK_FREQ
 510        int "Peripheral clock frequency (in Hz)"
 511        depends on SH_CLK_CPG_LEGACY
 512        default "31250000" if CPU_SUBTYPE_SH7619
 513        default "33333333" if CPU_SUBTYPE_SH7770 || \
 514                              CPU_SUBTYPE_SH7760 || \
 515                              CPU_SUBTYPE_SH7705 || \
 516                              CPU_SUBTYPE_SH7203 || \
 517                              CPU_SUBTYPE_SH7206 || \
 518                              CPU_SUBTYPE_SH7263 || \
 519                              CPU_SUBTYPE_MXG
 520        default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
 521        default "66000000" if CPU_SUBTYPE_SH4_202
 522        default "50000000"
 523        help
 524          This option is used to specify the peripheral clock frequency.
 525          This is necessary for determining the reference clock value on
 526          platforms lacking an RTC.
 527
 528config SH_CLK_CPG
 529        def_bool y
 530
 531config SH_CLK_CPG_LEGACY
 532        depends on SH_CLK_CPG
 533        def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
 534                      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
 535                      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
 536                      !CPU_SUBTYPE_SH7269
 537
 538endmenu
 539
 540menu "CPU Frequency scaling"
 541source "drivers/cpufreq/Kconfig"
 542endmenu
 543
 544source "arch/sh/drivers/Kconfig"
 545
 546endmenu
 547
 548menu "Kernel features"
 549
 550source "kernel/Kconfig.hz"
 551
 552config KEXEC
 553        bool "kexec system call (EXPERIMENTAL)"
 554        depends on MMU
 555        select KEXEC_CORE
 556        help
 557          kexec is a system call that implements the ability to shutdown your
 558          current kernel, and to start another kernel.  It is like a reboot
 559          but it is independent of the system firmware.  And like a reboot
 560          you can start any kernel with it, not just Linux.
 561
 562          The name comes from the similarity to the exec system call.
 563
 564          It is an ongoing process to be certain the hardware in a machine
 565          is properly shutdown, so do not be surprised if this code does not
 566          initially work for you.  As of this writing the exact hardware
 567          interface is strongly in flux, so no good recommendation can be
 568          made.
 569
 570config CRASH_DUMP
 571        bool "kernel crash dumps (EXPERIMENTAL)"
 572        depends on BROKEN_ON_SMP
 573        help
 574          Generate crash dump after being started by kexec.
 575          This should be normally only set in special crash dump kernels
 576          which are loaded in the main kernel with kexec-tools into
 577          a specially reserved region and then later executed after
 578          a crash by kdump/kexec. The crash dump kernel must be compiled
 579          to a memory address not used by the main kernel using
 580          PHYSICAL_START.
 581
 582          For more details see Documentation/admin-guide/kdump/kdump.rst
 583
 584config KEXEC_JUMP
 585        bool "kexec jump (EXPERIMENTAL)"
 586        depends on KEXEC && HIBERNATION
 587        help
 588          Jump between original kernel and kexeced kernel and invoke
 589          code via KEXEC
 590
 591config PHYSICAL_START
 592        hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
 593        default MEMORY_START
 594        help
 595          This gives the physical address where the kernel is loaded
 596          and is ordinarily the same as MEMORY_START.
 597
 598          Different values are primarily used in the case of kexec on panic
 599          where the fail safe kernel needs to run at a different address
 600          than the panic-ed kernel.
 601
 602config SMP
 603        bool "Symmetric multi-processing support"
 604        depends on SYS_SUPPORTS_SMP
 605        help
 606          This enables support for systems with more than one CPU. If you have
 607          a system with only one CPU, say N. If you have a system with more
 608          than one CPU, say Y.
 609
 610          If you say N here, the kernel will run on uni- and multiprocessor
 611          machines, but will use only one CPU of a multiprocessor machine. If
 612          you say Y here, the kernel will run on many, but not all,
 613          uniprocessor machines. On a uniprocessor machine, the kernel
 614          will run faster if you say N here.
 615
 616          People using multiprocessor machines who say Y here should also say
 617          Y to "Enhanced Real Time Clock Support", below.
 618
 619          See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
 620          available at <https://www.tldp.org/docs.html#howto>.
 621
 622          If you don't know what to do here, say N.
 623
 624config NR_CPUS
 625        int "Maximum number of CPUs (2-32)"
 626        range 2 32
 627        depends on SMP
 628        default "4" if CPU_SUBTYPE_SHX3
 629        default "2"
 630        help
 631          This allows you to specify the maximum number of CPUs which this
 632          kernel will support.  The maximum supported value is 32 and the
 633          minimum value which makes sense is 2.
 634
 635          This is purely to save memory - each supported CPU adds
 636          approximately eight kilobytes to the kernel image.
 637
 638config HOTPLUG_CPU
 639        bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
 640        depends on SMP
 641        help
 642          Say Y here to experiment with turning CPUs off and on.  CPUs
 643          can be controlled through /sys/devices/system/cpu.
 644
 645config GUSA
 646        def_bool y
 647        depends on !SMP
 648        help
 649          This enables support for gUSA (general UserSpace Atomicity).
 650          This is the default implementation for both UP and non-ll/sc
 651          CPUs, and is used by the libc, amongst others.
 652
 653          For additional information, design information can be found 
 654          in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
 655
 656          This should only be disabled for special cases where alternate
 657          atomicity implementations exist.
 658
 659config GUSA_RB
 660        bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
 661        depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
 662        help
 663          Enabling this option will allow the kernel to implement some
 664          atomic operations using a software implementation of load-locked/
 665          store-conditional (LLSC). On machines which do not have hardware
 666          LLSC, this should be more efficient than the other alternative of
 667          disabling interrupts around the atomic sequence.
 668
 669config HW_PERF_EVENTS
 670        bool "Enable hardware performance counter support for perf events"
 671        depends on PERF_EVENTS && CPU_HAS_PMU
 672        default y
 673        help
 674          Enable hardware performance counter support for perf events. If
 675          disabled, perf events will use software events only.
 676
 677source "drivers/sh/Kconfig"
 678
 679endmenu
 680
 681menu "Boot options"
 682
 683config USE_BUILTIN_DTB
 684        bool "Use builtin DTB"
 685        default n
 686        depends on SH_DEVICE_TREE
 687        help
 688          Link a device tree blob for particular hardware into the kernel,
 689          suppressing use of the DTB pointer provided by the bootloader.
 690          This option should only be used with legacy bootloaders that are
 691          not capable of providing a DTB to the kernel, or for experimental
 692          hardware without stable device tree bindings.
 693
 694config BUILTIN_DTB_SOURCE
 695        string "Source file for builtin DTB"
 696        default ""
 697        depends on USE_BUILTIN_DTB
 698        help
 699          Base name (without suffix, relative to arch/sh/boot/dts) for the
 700          a DTS file that will be used to produce the DTB linked into the
 701          kernel.
 702
 703config ZERO_PAGE_OFFSET
 704        hex
 705        default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
 706                                SH_7751_SOLUTION_ENGINE
 707        default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
 708        default "0x00002000" if PAGE_SIZE_8KB
 709        default "0x00001000"
 710        help
 711          This sets the default offset of zero page.
 712
 713config BOOT_LINK_OFFSET
 714        hex
 715        default "0x00210000" if SH_SHMIN
 716        default "0x00810000" if SH_7780_SOLUTION_ENGINE
 717        default "0x009e0000" if SH_TITAN
 718        default "0x01800000" if SH_SDK7780
 719        default "0x02000000" if SH_EDOSK7760
 720        default "0x00800000"
 721        help
 722          This option allows you to set the link address offset of the zImage.
 723          This can be useful if you are on a board which has a small amount of
 724          memory.
 725
 726config ENTRY_OFFSET
 727        hex
 728        default "0x00001000" if PAGE_SIZE_4KB
 729        default "0x00002000" if PAGE_SIZE_8KB
 730        default "0x00004000" if PAGE_SIZE_16KB
 731        default "0x00010000" if PAGE_SIZE_64KB
 732        default "0x00000000"
 733
 734config ROMIMAGE_MMCIF
 735        bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
 736        depends on CPU_SUBTYPE_SH7724
 737        help
 738          Say Y here to include experimental MMCIF loading code in
 739          romImage. With this enabled it is possible to write the romImage
 740          kernel image to an MMC card and boot the kernel straight from
 741          the reset vector. At reset the processor Mask ROM will load the
 742          first part of the romImage which in turn loads the rest the kernel
 743          image to RAM using the MMCIF hardware block.
 744
 745choice
 746        prompt "Kernel command line"
 747        optional
 748        default CMDLINE_OVERWRITE
 749        help
 750          Setting this option allows the kernel command line arguments
 751          to be set.
 752
 753config CMDLINE_OVERWRITE
 754        bool "Overwrite bootloader kernel arguments"
 755        help
 756          Given string will overwrite any arguments passed in by
 757          a bootloader.
 758
 759config CMDLINE_EXTEND
 760        bool "Extend bootloader kernel arguments"
 761        help
 762          Given string will be concatenated with arguments passed in
 763          by a bootloader.
 764
 765endchoice
 766
 767config CMDLINE
 768        string "Kernel command line arguments string"
 769        depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
 770        default "console=ttySC1,115200"
 771
 772endmenu
 773
 774menu "Bus options"
 775
 776config SUPERHYWAY
 777        tristate "SuperHyway Bus support"
 778        depends on CPU_SUBTYPE_SH4_202
 779
 780config MAPLE
 781        bool "Maple Bus support"
 782        depends on SH_DREAMCAST
 783        help
 784         The Maple Bus is SEGA's serial communication bus for peripherals
 785         on the Dreamcast. Without this bus support you won't be able to
 786         get your Dreamcast keyboard etc to work, so most users
 787         probably want to say 'Y' here, unless you are only using the
 788         Dreamcast with a serial line terminal or a remote network
 789         connection.
 790
 791endmenu
 792
 793menu "Power management options (EXPERIMENTAL)"
 794
 795source "kernel/power/Kconfig"
 796
 797source "drivers/cpuidle/Kconfig"
 798
 799endmenu
 800