Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sh: Preliminary support for the SH-X3 CPU.

This adds basic support for UP SH-X3.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>

+1083 -33
+1
arch/sh/Kconfig
··· 598 598 int "Maximum number of CPUs (2-32)" 599 599 range 2 32 600 600 depends on SMP 601 + default "4" if CPU_SHX3 601 602 default "2" 602 603 help 603 604 This allows you to specify the maximum number of CPUs which this
+756
arch/sh/configs/shx3_defconfig
··· 1 + # 2 + # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.22-rc4 4 + # Wed Jun 20 14:09:27 2007 5 + # 6 + CONFIG_SUPERH=y 7 + CONFIG_RWSEM_GENERIC_SPINLOCK=y 8 + CONFIG_GENERIC_BUG=y 9 + CONFIG_GENERIC_FIND_NEXT_BIT=y 10 + CONFIG_GENERIC_HWEIGHT=y 11 + CONFIG_GENERIC_HARDIRQS=y 12 + CONFIG_GENERIC_IRQ_PROBE=y 13 + CONFIG_GENERIC_CALIBRATE_DELAY=y 14 + CONFIG_GENERIC_TIME=y 15 + CONFIG_GENERIC_CLOCKEVENTS=y 16 + CONFIG_STACKTRACE_SUPPORT=y 17 + CONFIG_LOCKDEP_SUPPORT=y 18 + # CONFIG_ARCH_HAS_ILOG2_U32 is not set 19 + # CONFIG_ARCH_HAS_ILOG2_U64 is not set 20 + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 21 + 22 + # 23 + # Code maturity level options 24 + # 25 + CONFIG_EXPERIMENTAL=y 26 + CONFIG_BROKEN_ON_SMP=y 27 + CONFIG_LOCK_KERNEL=y 28 + CONFIG_INIT_ENV_ARG_LIMIT=32 29 + 30 + # 31 + # General setup 32 + # 33 + CONFIG_LOCALVERSION="" 34 + CONFIG_LOCALVERSION_AUTO=y 35 + CONFIG_SWAP=y 36 + CONFIG_SYSVIPC=y 37 + # CONFIG_IPC_NS is not set 38 + CONFIG_SYSVIPC_SYSCTL=y 39 + CONFIG_BSD_PROCESS_ACCT=y 40 + # CONFIG_BSD_PROCESS_ACCT_V3 is not set 41 + # CONFIG_UTS_NS is not set 42 + CONFIG_IKCONFIG=y 43 + CONFIG_IKCONFIG_PROC=y 44 + CONFIG_LOG_BUF_SHIFT=14 45 + # CONFIG_SYSFS_DEPRECATED is not set 46 + # CONFIG_RELAY is not set 47 + CONFIG_BLK_DEV_INITRD=y 48 + CONFIG_INITRAMFS_SOURCE="" 49 + CONFIG_CC_OPTIMIZE_FOR_SIZE=y 50 + CONFIG_SYSCTL=y 51 + CONFIG_EMBEDDED=y 52 + CONFIG_UID16=y 53 + CONFIG_SYSCTL_SYSCALL=y 54 + CONFIG_KALLSYMS=y 55 + CONFIG_KALLSYMS_ALL=y 56 + # CONFIG_KALLSYMS_EXTRA_PASS is not set 57 + CONFIG_HOTPLUG=y 58 + CONFIG_PRINTK=y 59 + CONFIG_BUG=y 60 + CONFIG_ELF_CORE=y 61 + CONFIG_BASE_FULL=y 62 + CONFIG_FUTEX=y 63 + CONFIG_ANON_INODES=y 64 + CONFIG_EPOLL=y 65 + CONFIG_SIGNALFD=y 66 + CONFIG_TIMERFD=y 67 + CONFIG_EVENTFD=y 68 + CONFIG_SHMEM=y 69 + CONFIG_VM_EVENT_COUNTERS=y 70 + CONFIG_SLAB=y 71 + # CONFIG_SLUB is not set 72 + # CONFIG_SLOB is not set 73 + CONFIG_RT_MUTEXES=y 74 + # CONFIG_TINY_SHMEM is not set 75 + CONFIG_BASE_SMALL=0 76 + 77 + # 78 + # Loadable module support 79 + # 80 + CONFIG_MODULES=y 81 + CONFIG_MODULE_UNLOAD=y 82 + # CONFIG_MODULE_FORCE_UNLOAD is not set 83 + # CONFIG_MODVERSIONS is not set 84 + # CONFIG_MODULE_SRCVERSION_ALL is not set 85 + CONFIG_KMOD=y 86 + 87 + # 88 + # Block layer 89 + # 90 + CONFIG_BLOCK=y 91 + # CONFIG_LBD is not set 92 + # CONFIG_BLK_DEV_IO_TRACE is not set 93 + # CONFIG_LSF is not set 94 + 95 + # 96 + # IO Schedulers 97 + # 98 + CONFIG_IOSCHED_NOOP=y 99 + # CONFIG_IOSCHED_AS is not set 100 + # CONFIG_IOSCHED_DEADLINE is not set 101 + # CONFIG_IOSCHED_CFQ is not set 102 + # CONFIG_DEFAULT_AS is not set 103 + # CONFIG_DEFAULT_DEADLINE is not set 104 + # CONFIG_DEFAULT_CFQ is not set 105 + CONFIG_DEFAULT_NOOP=y 106 + CONFIG_DEFAULT_IOSCHED="noop" 107 + 108 + # 109 + # System type 110 + # 111 + CONFIG_CPU_SH4=y 112 + CONFIG_CPU_SH4A=y 113 + CONFIG_CPU_SHX3=y 114 + # CONFIG_CPU_SUBTYPE_SH7619 is not set 115 + # CONFIG_CPU_SUBTYPE_SH7206 is not set 116 + # CONFIG_CPU_SUBTYPE_SH7300 is not set 117 + # CONFIG_CPU_SUBTYPE_SH7705 is not set 118 + # CONFIG_CPU_SUBTYPE_SH7706 is not set 119 + # CONFIG_CPU_SUBTYPE_SH7707 is not set 120 + # CONFIG_CPU_SUBTYPE_SH7708 is not set 121 + # CONFIG_CPU_SUBTYPE_SH7709 is not set 122 + # CONFIG_CPU_SUBTYPE_SH7710 is not set 123 + # CONFIG_CPU_SUBTYPE_SH7712 is not set 124 + # CONFIG_CPU_SUBTYPE_SH7750 is not set 125 + # CONFIG_CPU_SUBTYPE_SH7091 is not set 126 + # CONFIG_CPU_SUBTYPE_SH7750R is not set 127 + # CONFIG_CPU_SUBTYPE_SH7750S is not set 128 + # CONFIG_CPU_SUBTYPE_SH7751 is not set 129 + # CONFIG_CPU_SUBTYPE_SH7751R is not set 130 + # CONFIG_CPU_SUBTYPE_SH7760 is not set 131 + # CONFIG_CPU_SUBTYPE_SH4_202 is not set 132 + # CONFIG_CPU_SUBTYPE_ST40STB1 is not set 133 + # CONFIG_CPU_SUBTYPE_ST40GX1 is not set 134 + # CONFIG_CPU_SUBTYPE_SH7770 is not set 135 + # CONFIG_CPU_SUBTYPE_SH7780 is not set 136 + # CONFIG_CPU_SUBTYPE_SH7785 is not set 137 + CONFIG_CPU_SUBTYPE_SHX3=y 138 + # CONFIG_CPU_SUBTYPE_SH73180 is not set 139 + # CONFIG_CPU_SUBTYPE_SH7343 is not set 140 + # CONFIG_CPU_SUBTYPE_SH7722 is not set 141 + 142 + # 143 + # Memory management options 144 + # 145 + CONFIG_QUICKLIST=y 146 + CONFIG_MMU=y 147 + CONFIG_PAGE_OFFSET=0x80000000 148 + CONFIG_MEMORY_START=0x0c000000 149 + CONFIG_MEMORY_SIZE=0x04000000 150 + CONFIG_VSYSCALL=y 151 + CONFIG_ARCH_FLATMEM_ENABLE=y 152 + CONFIG_ARCH_SPARSEMEM_ENABLE=y 153 + CONFIG_ARCH_SPARSEMEM_DEFAULT=y 154 + CONFIG_MAX_ACTIVE_REGIONS=1 155 + CONFIG_ARCH_POPULATES_NODE_MAP=y 156 + CONFIG_ARCH_SELECT_MEMORY_MODEL=y 157 + CONFIG_PAGE_SIZE_4KB=y 158 + # CONFIG_PAGE_SIZE_8KB is not set 159 + # CONFIG_PAGE_SIZE_64KB is not set 160 + CONFIG_HUGETLB_PAGE_SIZE_64K=y 161 + # CONFIG_HUGETLB_PAGE_SIZE_256K is not set 162 + # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set 163 + # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set 164 + # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set 165 + CONFIG_SELECT_MEMORY_MODEL=y 166 + CONFIG_FLATMEM_MANUAL=y 167 + # CONFIG_DISCONTIGMEM_MANUAL is not set 168 + # CONFIG_SPARSEMEM_MANUAL is not set 169 + CONFIG_FLATMEM=y 170 + CONFIG_FLAT_NODE_MEM_MAP=y 171 + CONFIG_SPARSEMEM_STATIC=y 172 + CONFIG_SPLIT_PTLOCK_CPUS=4 173 + # CONFIG_RESOURCES_64BIT is not set 174 + CONFIG_ZONE_DMA_FLAG=0 175 + CONFIG_NR_QUICK=2 176 + 177 + # 178 + # Cache configuration 179 + # 180 + # CONFIG_SH_DIRECT_MAPPED is not set 181 + # CONFIG_SH_WRITETHROUGH is not set 182 + 183 + # 184 + # Processor features 185 + # 186 + CONFIG_CPU_LITTLE_ENDIAN=y 187 + # CONFIG_CPU_BIG_ENDIAN is not set 188 + # CONFIG_SH_FPU is not set 189 + # CONFIG_SH_FPU_EMU is not set 190 + CONFIG_SH_DSP=y 191 + CONFIG_SH_STORE_QUEUES=y 192 + CONFIG_CPU_HAS_INTEVT=y 193 + CONFIG_CPU_HAS_INTC2_IRQ=y 194 + CONFIG_CPU_HAS_SR_RB=y 195 + 196 + # 197 + # Board support 198 + # 199 + 200 + # 201 + # Timer and clock configuration 202 + # 203 + CONFIG_SH_TMU=y 204 + CONFIG_SH_TIMER_IRQ=16 205 + CONFIG_SH_PCLK_FREQ=50000000 206 + CONFIG_TICK_ONESHOT=y 207 + CONFIG_NO_HZ=y 208 + CONFIG_HIGH_RES_TIMERS=y 209 + 210 + # 211 + # CPU Frequency scaling 212 + # 213 + # CONFIG_CPU_FREQ is not set 214 + 215 + # 216 + # DMA support 217 + # 218 + # CONFIG_SH_DMA is not set 219 + 220 + # 221 + # Companion Chips 222 + # 223 + 224 + # 225 + # Additional SuperH Device Drivers 226 + # 227 + CONFIG_HEARTBEAT=y 228 + # CONFIG_PUSH_SWITCH is not set 229 + 230 + # 231 + # Kernel features 232 + # 233 + # CONFIG_HZ_100 is not set 234 + CONFIG_HZ_250=y 235 + # CONFIG_HZ_300 is not set 236 + # CONFIG_HZ_1000 is not set 237 + CONFIG_HZ=250 238 + CONFIG_KEXEC=y 239 + # CONFIG_CRASH_DUMP is not set 240 + # CONFIG_PREEMPT_NONE is not set 241 + # CONFIG_PREEMPT_VOLUNTARY is not set 242 + CONFIG_PREEMPT=y 243 + CONFIG_PREEMPT_BKL=y 244 + 245 + # 246 + # Boot options 247 + # 248 + CONFIG_ZERO_PAGE_OFFSET=0x00001000 249 + CONFIG_BOOT_LINK_OFFSET=0x00800000 250 + # CONFIG_UBC_WAKEUP is not set 251 + CONFIG_CMDLINE_BOOL=y 252 + CONFIG_CMDLINE="console=ttySC0,115200 ip=192.168.1.2:::255.255.255.0 root=/dev/nfs nfsroot=192.168.1.1:/exports/devel/rfs/mobiler noaliencache earlyprintk=bios ignore_loglevel" 253 + 254 + # 255 + # Bus options 256 + # 257 + # CONFIG_ARCH_SUPPORTS_MSI is not set 258 + 259 + # 260 + # PCCARD (PCMCIA/CardBus) support 261 + # 262 + # CONFIG_PCCARD is not set 263 + 264 + # 265 + # Executable file formats 266 + # 267 + CONFIG_BINFMT_ELF=y 268 + # CONFIG_BINFMT_MISC is not set 269 + 270 + # 271 + # Networking 272 + # 273 + # CONFIG_NET is not set 274 + 275 + # 276 + # Device Drivers 277 + # 278 + 279 + # 280 + # Generic Driver Options 281 + # 282 + CONFIG_STANDALONE=y 283 + CONFIG_PREVENT_FIRMWARE_BUILD=y 284 + # CONFIG_FW_LOADER is not set 285 + # CONFIG_DEBUG_DRIVER is not set 286 + # CONFIG_DEBUG_DEVRES is not set 287 + # CONFIG_SYS_HYPERVISOR is not set 288 + 289 + # 290 + # Connector - unified userspace <-> kernelspace linker 291 + # 292 + # CONFIG_MTD is not set 293 + 294 + # 295 + # Parallel port support 296 + # 297 + # CONFIG_PARPORT is not set 298 + 299 + # 300 + # Plug and Play support 301 + # 302 + # CONFIG_PNPACPI is not set 303 + 304 + # 305 + # Block devices 306 + # 307 + # CONFIG_BLK_DEV_COW_COMMON is not set 308 + # CONFIG_BLK_DEV_LOOP is not set 309 + CONFIG_BLK_DEV_RAM=y 310 + CONFIG_BLK_DEV_RAM_COUNT=16 311 + CONFIG_BLK_DEV_RAM_SIZE=4096 312 + CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 313 + # CONFIG_CDROM_PKTCDVD is not set 314 + 315 + # 316 + # Misc devices 317 + # 318 + # CONFIG_BLINK is not set 319 + # CONFIG_IDE is not set 320 + 321 + # 322 + # SCSI device support 323 + # 324 + # CONFIG_RAID_ATTRS is not set 325 + CONFIG_SCSI=y 326 + # CONFIG_SCSI_TGT is not set 327 + # CONFIG_SCSI_NETLINK is not set 328 + CONFIG_SCSI_PROC_FS=y 329 + 330 + # 331 + # SCSI support type (disk, tape, CD-ROM) 332 + # 333 + CONFIG_BLK_DEV_SD=y 334 + # CONFIG_CHR_DEV_ST is not set 335 + # CONFIG_CHR_DEV_OSST is not set 336 + # CONFIG_BLK_DEV_SR is not set 337 + # CONFIG_CHR_DEV_SG is not set 338 + # CONFIG_CHR_DEV_SCH is not set 339 + 340 + # 341 + # Some SCSI devices (e.g. CD jukebox) support multiple LUNs 342 + # 343 + # CONFIG_SCSI_MULTI_LUN is not set 344 + # CONFIG_SCSI_CONSTANTS is not set 345 + # CONFIG_SCSI_LOGGING is not set 346 + # CONFIG_SCSI_SCAN_ASYNC is not set 347 + CONFIG_SCSI_WAIT_SCAN=m 348 + 349 + # 350 + # SCSI Transports 351 + # 352 + # CONFIG_SCSI_SPI_ATTRS is not set 353 + # CONFIG_SCSI_FC_ATTRS is not set 354 + # CONFIG_SCSI_SAS_ATTRS is not set 355 + # CONFIG_SCSI_SAS_LIBSAS is not set 356 + 357 + # 358 + # SCSI low-level drivers 359 + # 360 + # CONFIG_SCSI_DEBUG is not set 361 + CONFIG_ATA=y 362 + # CONFIG_ATA_NONSTANDARD is not set 363 + CONFIG_PATA_PLATFORM=y 364 + 365 + # 366 + # Multi-device support (RAID and LVM) 367 + # 368 + # CONFIG_MD is not set 369 + 370 + # 371 + # ISDN subsystem 372 + # 373 + 374 + # 375 + # Telephony Support 376 + # 377 + # CONFIG_PHONE is not set 378 + 379 + # 380 + # Input device support 381 + # 382 + CONFIG_INPUT=y 383 + # CONFIG_INPUT_FF_MEMLESS is not set 384 + 385 + # 386 + # Userland interfaces 387 + # 388 + CONFIG_INPUT_MOUSEDEV=y 389 + # CONFIG_INPUT_MOUSEDEV_PSAUX is not set 390 + CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 391 + CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 392 + # CONFIG_INPUT_JOYDEV is not set 393 + # CONFIG_INPUT_TSDEV is not set 394 + # CONFIG_INPUT_EVDEV is not set 395 + # CONFIG_INPUT_EVBUG is not set 396 + 397 + # 398 + # Input Device Drivers 399 + # 400 + CONFIG_INPUT_KEYBOARD=y 401 + CONFIG_KEYBOARD_ATKBD=y 402 + # CONFIG_KEYBOARD_SUNKBD is not set 403 + # CONFIG_KEYBOARD_LKKBD is not set 404 + # CONFIG_KEYBOARD_XTKBD is not set 405 + # CONFIG_KEYBOARD_NEWTON is not set 406 + # CONFIG_KEYBOARD_STOWAWAY is not set 407 + # CONFIG_INPUT_MOUSE is not set 408 + # CONFIG_INPUT_JOYSTICK is not set 409 + # CONFIG_INPUT_TABLET is not set 410 + # CONFIG_INPUT_TOUCHSCREEN is not set 411 + # CONFIG_INPUT_MISC is not set 412 + 413 + # 414 + # Hardware I/O ports 415 + # 416 + CONFIG_SERIO=y 417 + # CONFIG_SERIO_I8042 is not set 418 + # CONFIG_SERIO_SERPORT is not set 419 + CONFIG_SERIO_LIBPS2=y 420 + # CONFIG_SERIO_RAW is not set 421 + # CONFIG_GAMEPORT is not set 422 + 423 + # 424 + # Character devices 425 + # 426 + # CONFIG_VT is not set 427 + # CONFIG_SERIAL_NONSTANDARD is not set 428 + 429 + # 430 + # Serial drivers 431 + # 432 + # CONFIG_SERIAL_8250 is not set 433 + 434 + # 435 + # Non-8250 serial port support 436 + # 437 + CONFIG_SERIAL_SH_SCI=y 438 + CONFIG_SERIAL_SH_SCI_NR_UARTS=2 439 + CONFIG_SERIAL_SH_SCI_CONSOLE=y 440 + CONFIG_SERIAL_CORE=y 441 + CONFIG_SERIAL_CORE_CONSOLE=y 442 + CONFIG_UNIX98_PTYS=y 443 + CONFIG_LEGACY_PTYS=y 444 + CONFIG_LEGACY_PTY_COUNT=256 445 + 446 + # 447 + # IPMI 448 + # 449 + # CONFIG_IPMI_HANDLER is not set 450 + # CONFIG_WATCHDOG is not set 451 + CONFIG_HW_RANDOM=y 452 + # CONFIG_R3964 is not set 453 + # CONFIG_RAW_DRIVER is not set 454 + 455 + # 456 + # TPM devices 457 + # 458 + # CONFIG_TCG_TPM is not set 459 + # CONFIG_I2C is not set 460 + 461 + # 462 + # SPI support 463 + # 464 + # CONFIG_SPI is not set 465 + # CONFIG_SPI_MASTER is not set 466 + 467 + # 468 + # Dallas's 1-wire bus 469 + # 470 + # CONFIG_W1 is not set 471 + # CONFIG_HWMON is not set 472 + 473 + # 474 + # Multifunction device drivers 475 + # 476 + # CONFIG_MFD_SM501 is not set 477 + 478 + # 479 + # Multimedia devices 480 + # 481 + # CONFIG_VIDEO_DEV is not set 482 + # CONFIG_DAB is not set 483 + 484 + # 485 + # Graphics support 486 + # 487 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 488 + 489 + # 490 + # Display device support 491 + # 492 + # CONFIG_DISPLAY_SUPPORT is not set 493 + # CONFIG_VGASTATE is not set 494 + # CONFIG_FB is not set 495 + 496 + # 497 + # Sound 498 + # 499 + # CONFIG_SOUND is not set 500 + 501 + # 502 + # HID Devices 503 + # 504 + # CONFIG_HID is not set 505 + 506 + # 507 + # USB support 508 + # 509 + # CONFIG_USB_ARCH_HAS_HCD is not set 510 + # CONFIG_USB_ARCH_HAS_OHCI is not set 511 + # CONFIG_USB_ARCH_HAS_EHCI is not set 512 + 513 + # 514 + # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 515 + # 516 + 517 + # 518 + # USB Gadget Support 519 + # 520 + # CONFIG_USB_GADGET is not set 521 + # CONFIG_MMC is not set 522 + 523 + # 524 + # LED devices 525 + # 526 + # CONFIG_NEW_LEDS is not set 527 + 528 + # 529 + # LED drivers 530 + # 531 + 532 + # 533 + # LED Triggers 534 + # 535 + 536 + # 537 + # InfiniBand support 538 + # 539 + 540 + # 541 + # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 542 + # 543 + 544 + # 545 + # Real Time Clock 546 + # 547 + CONFIG_RTC_LIB=y 548 + CONFIG_RTC_CLASS=y 549 + CONFIG_RTC_HCTOSYS=y 550 + CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 551 + # CONFIG_RTC_DEBUG is not set 552 + 553 + # 554 + # RTC interfaces 555 + # 556 + CONFIG_RTC_INTF_SYSFS=y 557 + CONFIG_RTC_INTF_PROC=y 558 + CONFIG_RTC_INTF_DEV=y 559 + # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set 560 + # CONFIG_RTC_DRV_TEST is not set 561 + 562 + # 563 + # I2C RTC drivers 564 + # 565 + 566 + # 567 + # SPI RTC drivers 568 + # 569 + 570 + # 571 + # Platform RTC drivers 572 + # 573 + # CONFIG_RTC_DRV_DS1553 is not set 574 + # CONFIG_RTC_DRV_DS1742 is not set 575 + # CONFIG_RTC_DRV_M48T86 is not set 576 + # CONFIG_RTC_DRV_V3020 is not set 577 + 578 + # 579 + # on-CPU RTC drivers 580 + # 581 + CONFIG_RTC_DRV_SH=y 582 + 583 + # 584 + # DMA Engine support 585 + # 586 + # CONFIG_DMA_ENGINE is not set 587 + 588 + # 589 + # DMA Clients 590 + # 591 + 592 + # 593 + # DMA Devices 594 + # 595 + 596 + # 597 + # File systems 598 + # 599 + CONFIG_EXT2_FS=y 600 + # CONFIG_EXT2_FS_XATTR is not set 601 + # CONFIG_EXT2_FS_XIP is not set 602 + CONFIG_EXT3_FS=y 603 + CONFIG_EXT3_FS_XATTR=y 604 + # CONFIG_EXT3_FS_POSIX_ACL is not set 605 + # CONFIG_EXT3_FS_SECURITY is not set 606 + # CONFIG_EXT4DEV_FS is not set 607 + CONFIG_JBD=y 608 + # CONFIG_JBD_DEBUG is not set 609 + CONFIG_FS_MBCACHE=y 610 + # CONFIG_REISERFS_FS is not set 611 + # CONFIG_JFS_FS is not set 612 + # CONFIG_FS_POSIX_ACL is not set 613 + # CONFIG_XFS_FS is not set 614 + # CONFIG_GFS2_FS is not set 615 + # CONFIG_MINIX_FS is not set 616 + # CONFIG_ROMFS_FS is not set 617 + CONFIG_INOTIFY=y 618 + CONFIG_INOTIFY_USER=y 619 + # CONFIG_QUOTA is not set 620 + CONFIG_DNOTIFY=y 621 + # CONFIG_AUTOFS_FS is not set 622 + # CONFIG_AUTOFS4_FS is not set 623 + # CONFIG_FUSE_FS is not set 624 + 625 + # 626 + # CD-ROM/DVD Filesystems 627 + # 628 + # CONFIG_ISO9660_FS is not set 629 + # CONFIG_UDF_FS is not set 630 + 631 + # 632 + # DOS/FAT/NT Filesystems 633 + # 634 + # CONFIG_MSDOS_FS is not set 635 + # CONFIG_VFAT_FS is not set 636 + # CONFIG_NTFS_FS is not set 637 + 638 + # 639 + # Pseudo filesystems 640 + # 641 + CONFIG_PROC_FS=y 642 + CONFIG_PROC_KCORE=y 643 + CONFIG_PROC_SYSCTL=y 644 + CONFIG_SYSFS=y 645 + CONFIG_TMPFS=y 646 + # CONFIG_TMPFS_POSIX_ACL is not set 647 + CONFIG_HUGETLBFS=y 648 + CONFIG_HUGETLB_PAGE=y 649 + CONFIG_RAMFS=y 650 + # CONFIG_CONFIGFS_FS is not set 651 + 652 + # 653 + # Miscellaneous filesystems 654 + # 655 + # CONFIG_ADFS_FS is not set 656 + # CONFIG_AFFS_FS is not set 657 + # CONFIG_HFS_FS is not set 658 + # CONFIG_HFSPLUS_FS is not set 659 + # CONFIG_BEFS_FS is not set 660 + # CONFIG_BFS_FS is not set 661 + # CONFIG_EFS_FS is not set 662 + # CONFIG_CRAMFS is not set 663 + # CONFIG_VXFS_FS is not set 664 + # CONFIG_HPFS_FS is not set 665 + # CONFIG_QNX4FS_FS is not set 666 + # CONFIG_SYSV_FS is not set 667 + # CONFIG_UFS_FS is not set 668 + 669 + # 670 + # Partition Types 671 + # 672 + # CONFIG_PARTITION_ADVANCED is not set 673 + CONFIG_MSDOS_PARTITION=y 674 + 675 + # 676 + # Native Language Support 677 + # 678 + # CONFIG_NLS is not set 679 + 680 + # 681 + # Profiling support 682 + # 683 + CONFIG_PROFILING=y 684 + # CONFIG_OPROFILE is not set 685 + 686 + # 687 + # Kernel hacking 688 + # 689 + CONFIG_TRACE_IRQFLAGS_SUPPORT=y 690 + CONFIG_PRINTK_TIME=y 691 + # CONFIG_ENABLE_MUST_CHECK is not set 692 + CONFIG_MAGIC_SYSRQ=y 693 + # CONFIG_UNUSED_SYMBOLS is not set 694 + CONFIG_DEBUG_FS=y 695 + # CONFIG_HEADERS_CHECK is not set 696 + CONFIG_DEBUG_KERNEL=y 697 + # CONFIG_DEBUG_SHIRQ is not set 698 + CONFIG_DETECT_SOFTLOCKUP=y 699 + # CONFIG_SCHEDSTATS is not set 700 + # CONFIG_TIMER_STATS is not set 701 + CONFIG_DEBUG_SLAB=y 702 + CONFIG_DEBUG_SLAB_LEAK=y 703 + CONFIG_DEBUG_PREEMPT=y 704 + # CONFIG_DEBUG_RT_MUTEXES is not set 705 + # CONFIG_RT_MUTEX_TESTER is not set 706 + CONFIG_DEBUG_SPINLOCK=y 707 + CONFIG_DEBUG_MUTEXES=y 708 + CONFIG_DEBUG_LOCK_ALLOC=y 709 + # CONFIG_PROVE_LOCKING is not set 710 + CONFIG_LOCKDEP=y 711 + CONFIG_DEBUG_LOCKDEP=y 712 + # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 713 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 714 + CONFIG_STACKTRACE=y 715 + # CONFIG_DEBUG_KOBJECT is not set 716 + CONFIG_DEBUG_BUGVERBOSE=y 717 + # CONFIG_DEBUG_INFO is not set 718 + CONFIG_DEBUG_VM=y 719 + # CONFIG_DEBUG_LIST is not set 720 + CONFIG_FRAME_POINTER=y 721 + CONFIG_FORCED_INLINING=y 722 + # CONFIG_RCU_TORTURE_TEST is not set 723 + # CONFIG_FAULT_INJECTION is not set 724 + CONFIG_SH_STANDARD_BIOS=y 725 + # CONFIG_EARLY_SCIF_CONSOLE is not set 726 + CONFIG_EARLY_PRINTK=y 727 + # CONFIG_DEBUG_BOOTMEM is not set 728 + CONFIG_DEBUG_STACKOVERFLOW=y 729 + CONFIG_DEBUG_STACK_USAGE=y 730 + # CONFIG_4KSTACKS is not set 731 + # CONFIG_SH_KGDB is not set 732 + 733 + # 734 + # Security options 735 + # 736 + # CONFIG_KEYS is not set 737 + # CONFIG_SECURITY is not set 738 + 739 + # 740 + # Cryptographic options 741 + # 742 + # CONFIG_CRYPTO is not set 743 + 744 + # 745 + # Library routines 746 + # 747 + CONFIG_BITREVERSE=y 748 + # CONFIG_CRC_CCITT is not set 749 + # CONFIG_CRC16 is not set 750 + # CONFIG_CRC_ITU_T is not set 751 + CONFIG_CRC32=y 752 + # CONFIG_LIBCRC32C is not set 753 + CONFIG_PLIST=y 754 + CONFIG_HAS_IOMEM=y 755 + CONFIG_HAS_IOPORT=y 756 + CONFIG_HAS_DMA=y
+19
arch/sh/kernel/cpu/sh3/entry.S
··· 340 340 general_exception: 341 341 mov.l 1f, k2 342 342 mov.l 2f, k3 343 + #ifdef CONFIG_CPU_SUBTYPE_SHX3 344 + mov.l @k2, k2 345 + 346 + ! Is EXPEVT larger than 0x800? 347 + mov #0x8, k0 348 + shll8 k0 349 + cmp/hs k0, k2 350 + bf 0f 351 + 352 + ! then add 0x580 (k2 is 0xd80 or 0xda0) 353 + mov #0x58, k0 354 + shll2 k0 355 + shll2 k0 356 + add k0, k2 357 + 0: 358 + bra handle_exception 359 + nop 360 + #else 343 361 bra handle_exception 344 362 mov.l @k2, k2 363 + #endif 345 364 .align 2 346 365 1: .long EXPEVT 347 366 2: .long ret_from_exception
+8
arch/sh/kernel/cpu/sh4/probe.c
··· 141 141 current_cpu_data.flags |= CPU_HAS_LLSC; 142 142 } 143 143 break; 144 + case 0x4000: /* 1st cut */ 145 + case 0x4001: /* 2nd cut */ 146 + current_cpu_data.type = CPU_SHX3; 147 + current_cpu_data.icache.ways = 4; 148 + current_cpu_data.dcache.ways = 4; 149 + current_cpu_data.flags |= CPU_HAS_FPU | CPU_HAS_PERF_COUNTER | 150 + CPU_HAS_LLSC; 151 + break; 144 152 case 0x8000: 145 153 current_cpu_data.type = CPU_ST40RA; 146 154 current_cpu_data.flags |= CPU_HAS_FPU;
+2
arch/sh/kernel/cpu/sh4a/Makefile
··· 9 9 obj-$(CONFIG_CPU_SUBTYPE_SH73180) += setup-sh73180.o 10 10 obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o 11 11 obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o 12 + obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o 12 13 13 14 # Primary on-chip clocks (common) 14 15 clock-$(CONFIG_CPU_SUBTYPE_SH73180) := clock-sh73180.o ··· 18 17 clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o 19 18 clock-$(CONFIG_CPU_SUBTYPE_SH7343) := clock-sh7343.o 20 19 clock-$(CONFIG_CPU_SUBTYPE_SH7722) := clock-sh7722.o 20 + clock-$(CONFIG_CPU_SUBTYPE_SHX3) := clock-shx3.o 21 21 22 22 obj-y += $(clock-y)
+135
arch/sh/kernel/cpu/sh4a/clock-shx3.c
··· 1 + /* 2 + * arch/sh/kernel/cpu/sh4/clock-shx3.c 3 + * 4 + * SH-X3 support for the clock framework 5 + * 6 + * Copyright (C) 2006-2007 Renesas Technology Corp. 7 + * Copyright (C) 2006-2007 Renesas Solutions Corp. 8 + * Copyright (C) 2006-2007 Paul Mundt 9 + * 10 + * This file is subject to the terms and conditions of the GNU General Public 11 + * License. See the file "COPYING" in the main directory of this archive 12 + * for more details. 13 + */ 14 + #include <linux/init.h> 15 + #include <linux/kernel.h> 16 + #include <asm/clock.h> 17 + #include <asm/freq.h> 18 + #include <asm/io.h> 19 + 20 + static int ifc_divisors[] = { 1, 2, 4 ,6 }; 21 + static int bfc_divisors[] = { 1, 1, 1, 1, 1, 12, 16, 18, 24, 32, 36, 48 }; 22 + static int pfc_divisors[] = { 1, 1, 1, 1, 1, 1, 1, 18, 24, 32, 36, 48 }; 23 + static int cfc_divisors[] = { 1, 1, 4, 6 }; 24 + 25 + #define IFC_POS 28 26 + #define IFC_MSK 0x0003 27 + #define BFC_MSK 0x000f 28 + #define PFC_MSK 0x000f 29 + #define CFC_MSK 0x0003 30 + #define BFC_POS 16 31 + #define PFC_POS 0 32 + #define CFC_POS 20 33 + 34 + static void master_clk_init(struct clk *clk) 35 + { 36 + clk->rate *= pfc_divisors[(ctrl_inl(FRQCR) >> PFC_POS) & PFC_MSK]; 37 + } 38 + 39 + static struct clk_ops shx3_master_clk_ops = { 40 + .init = master_clk_init, 41 + }; 42 + 43 + static void module_clk_recalc(struct clk *clk) 44 + { 45 + int idx = ((ctrl_inl(FRQCR) >> PFC_POS) & PFC_MSK); 46 + clk->rate = clk->parent->rate / pfc_divisors[idx]; 47 + } 48 + 49 + static struct clk_ops shx3_module_clk_ops = { 50 + .recalc = module_clk_recalc, 51 + }; 52 + 53 + static void bus_clk_recalc(struct clk *clk) 54 + { 55 + int idx = ((ctrl_inl(FRQCR) >> BFC_POS) & BFC_MSK); 56 + clk->rate = clk->parent->rate / bfc_divisors[idx]; 57 + } 58 + 59 + static struct clk_ops shx3_bus_clk_ops = { 60 + .recalc = bus_clk_recalc, 61 + }; 62 + 63 + static void cpu_clk_recalc(struct clk *clk) 64 + { 65 + int idx = ((ctrl_inl(FRQCR) >> IFC_POS) & IFC_MSK); 66 + clk->rate = clk->parent->rate / ifc_divisors[idx]; 67 + } 68 + 69 + static struct clk_ops shx3_cpu_clk_ops = { 70 + .recalc = cpu_clk_recalc, 71 + }; 72 + 73 + static struct clk_ops *shx3_clk_ops[] = { 74 + &shx3_master_clk_ops, 75 + &shx3_module_clk_ops, 76 + &shx3_bus_clk_ops, 77 + &shx3_cpu_clk_ops, 78 + }; 79 + 80 + void __init arch_init_clk_ops(struct clk_ops **ops, int idx) 81 + { 82 + if (idx < ARRAY_SIZE(shx3_clk_ops)) 83 + *ops = shx3_clk_ops[idx]; 84 + } 85 + 86 + static void shyway_clk_recalc(struct clk *clk) 87 + { 88 + int idx = ((ctrl_inl(FRQCR) >> CFC_POS) & CFC_MSK); 89 + clk->rate = clk->parent->rate / cfc_divisors[idx]; 90 + } 91 + 92 + static struct clk_ops shx3_shyway_clk_ops = { 93 + .recalc = shyway_clk_recalc, 94 + }; 95 + 96 + static struct clk shx3_shyway_clk = { 97 + .name = "shyway_clk", 98 + .flags = CLK_ALWAYS_ENABLED, 99 + .ops = &shx3_shyway_clk_ops, 100 + }; 101 + 102 + /* 103 + * Additional SHx3-specific on-chip clocks that aren't already part of the 104 + * clock framework 105 + */ 106 + static struct clk *shx3_onchip_clocks[] = { 107 + &shx3_shyway_clk, 108 + }; 109 + 110 + static int __init shx3_clk_init(void) 111 + { 112 + struct clk *clk = clk_get(NULL, "master_clk"); 113 + int i; 114 + 115 + for (i = 0; i < ARRAY_SIZE(shx3_onchip_clocks); i++) { 116 + struct clk *clkp = shx3_onchip_clocks[i]; 117 + 118 + clkp->parent = clk; 119 + clk_register(clkp); 120 + clk_enable(clkp); 121 + } 122 + 123 + /* 124 + * Now that we have the rest of the clocks registered, we need to 125 + * force the parent clock to propagate so that these clocks will 126 + * automatically figure out their rate. We cheat by handing the 127 + * parent clock its current rate and forcing child propagation. 128 + */ 129 + clk_set_rate(clk, clk_get_rate(clk)); 130 + 131 + clk_put(clk); 132 + 133 + return 0; 134 + } 135 + arch_initcall(shx3_clk_init);
+85
arch/sh/kernel/cpu/sh4a/setup-shx3.c
··· 1 + /* 2 + * SH-X3 Setup 3 + * 4 + * Copyright (C) 2007 Paul Mundt 5 + * 6 + * This file is subject to the terms and conditions of the GNU General Public 7 + * License. See the file "COPYING" in the main directory of this archive 8 + * for more details. 9 + */ 10 + #include <linux/platform_device.h> 11 + #include <linux/init.h> 12 + #include <linux/serial.h> 13 + #include <linux/io.h> 14 + #include <asm/sci.h> 15 + 16 + static struct plat_sci_port sci_platform_data[] = { 17 + { 18 + .mapbase = 0xffc30000, 19 + .flags = UPF_BOOT_AUTOCONF, 20 + .type = PORT_SCIF, 21 + .irqs = { 40, 41, 43, 42 }, 22 + }, { 23 + .mapbase = 0xffc40000, 24 + .flags = UPF_BOOT_AUTOCONF, 25 + .type = PORT_SCIF, 26 + .irqs = { 44, 45, 47, 46 }, 27 + }, { 28 + .mapbase = 0xffc50000, 29 + .flags = UPF_BOOT_AUTOCONF, 30 + .type = PORT_SCIF, 31 + .irqs = { 48, 49, 51, 50 }, 32 + }, { 33 + .mapbase = 0xffc60000, 34 + .flags = UPF_BOOT_AUTOCONF, 35 + .type = PORT_SCIF, 36 + .irqs = { 52, 53, 55, 54 }, 37 + }, { 38 + .flags = 0, 39 + } 40 + }; 41 + 42 + static struct platform_device sci_device = { 43 + .name = "sh-sci", 44 + .id = -1, 45 + .dev = { 46 + .platform_data = sci_platform_data, 47 + }, 48 + }; 49 + 50 + static struct platform_device *shx3_devices[] __initdata = { 51 + &sci_device, 52 + }; 53 + 54 + static int __init shx3_devices_setup(void) 55 + { 56 + return platform_add_devices(shx3_devices, 57 + ARRAY_SIZE(shx3_devices)); 58 + } 59 + __initcall(shx3_devices_setup); 60 + 61 + static struct intc2_data intc2_irq_table[] = { 62 + { 16, 0, 0, 0, 1, 2 }, /* TMU0 */ 63 + { 40, 4, 0, 0x20, 0, 3 }, /* SCIF0 ERI */ 64 + { 41, 4, 0, 0x20, 1, 3 }, /* SCIF0 RXI */ 65 + { 42, 4, 0, 0x20, 2, 3 }, /* SCIF0 BRI */ 66 + { 43, 4, 0, 0x20, 3, 3 }, /* SCIF0 TXI */ 67 + }; 68 + 69 + static struct intc2_desc intc2_irq_desc __read_mostly = { 70 + .prio_base = 0xfe410000, 71 + .msk_base = 0xfe410820, 72 + .mskclr_base = 0xfe410850, 73 + 74 + .intc2_data = intc2_irq_table, 75 + .nr_irqs = ARRAY_SIZE(intc2_irq_table), 76 + 77 + .chip = { 78 + .name = "INTC2-SHX3", 79 + }, 80 + }; 81 + 82 + void __init init_IRQ_intc2(void) 83 + { 84 + register_intc2_controller(&intc2_irq_desc); 85 + }
+1 -1
arch/sh/kernel/setup.c
··· 285 285 [CPU_SH7770] = "SH7770", [CPU_SH7780] = "SH7780", 286 286 [CPU_SH7781] = "SH7781", [CPU_SH7343] = "SH7343", 287 287 [CPU_SH7785] = "SH7785", [CPU_SH7722] = "SH7722", 288 - [CPU_SH_NONE] = "Unknown" 288 + [CPU_SHX3] = "SH-X3", [CPU_SH_NONE] = "Unknown" 289 289 }; 290 290 291 291 const char *get_cpu_subtype(struct sh_cpuinfo *c)
+4 -3
arch/sh/kernel/timers/timer-tmu.c
··· 30 30 31 31 static int tmu_timer_start(void) 32 32 { 33 - ctrl_outb(ctrl_inb(TMU_TSTR) | 0x3, TMU_TSTR); 33 + ctrl_outb(ctrl_inb(TMU_012_TSTR) | 0x3, TMU_012_TSTR); 34 34 return 0; 35 35 } 36 36 ··· 52 52 53 53 static int tmu_timer_stop(void) 54 54 { 55 - ctrl_outb(ctrl_inb(TMU_TSTR) & ~0x3, TMU_TSTR); 55 + ctrl_outb(ctrl_inb(TMU_012_TSTR) & ~0x3, TMU_012_TSTR); 56 56 return 0; 57 57 } 58 58 ··· 174 174 175 175 #if !defined(CONFIG_CPU_SUBTYPE_SH7300) && \ 176 176 !defined(CONFIG_CPU_SUBTYPE_SH7760) && \ 177 - !defined(CONFIG_CPU_SUBTYPE_SH7785) 177 + !defined(CONFIG_CPU_SUBTYPE_SH7785) && \ 178 + !defined(CONFIG_CPU_SUBTYPE_SHX3) 178 179 ctrl_outb(TMU_TOCR_INIT, TMU_TOCR); 179 180 #endif 180 181
+9
arch/sh/mm/Kconfig
··· 36 36 config CPU_SHX2 37 37 bool 38 38 39 + config CPU_SHX3 40 + bool 41 + 39 42 choice 40 43 prompt "Processor sub-type selection" 41 44 ··· 194 191 bool "Support SH7785 processor" 195 192 select CPU_SH4A 196 193 select CPU_SHX2 194 + select CPU_HAS_INTC2_IRQ 195 + 196 + config CPU_SUBTYPE_SHX3 197 + bool "Support SH-X3 processor" 198 + select CPU_SH4A 199 + select CPU_SHX3 197 200 select CPU_HAS_INTC2_IRQ 198 201 199 202 # SH4AL-DSP Processor Support
+3 -1
drivers/serial/sh-sci.c
··· 367 367 } else { 368 368 #ifdef CONFIG_CPU_SUBTYPE_SH7343 369 369 /* Nothing */ 370 - #elif defined(CONFIG_CPU_SUBTYPE_SH7780) || defined(CONFIG_CPU_SUBTYPE_SH7785) 370 + #elif defined(CONFIG_CPU_SUBTYPE_SH7780) || \ 371 + defined(CONFIG_CPU_SUBTYPE_SH7785) || \ 372 + defined(CONFIG_CPU_SUBTYPE_SHX3) 371 373 ctrl_outw(0x0080, SCSPTR0); /* Set RTS = 1 */ 372 374 #else 373 375 ctrl_outw(0x0080, SCSPTR2); /* Set RTS = 1 */
+23 -2
drivers/serial/sh-sci.h
··· 78 78 # define SCPDR 0xA4050136 /* 16 bit SCIF */ 79 79 # define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */ 80 80 # define SCIF_ONLY 81 - #elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) 81 + #elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) 82 82 # define SCSPTR0 0xA4400000 /* 16 bit SCIF */ 83 83 # define SCI_NPORTS 2 84 84 # define SCIF_ORER 0x0001 /* overrun error bit */ ··· 173 173 # define SCIF_ORER 0x0001 /* overrun error bit */ 174 174 # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 175 175 # define SCIF_ONLY 176 + #elif defined(CONFIG_CPU_SUBTYPE_SHX3) 177 + # define SCSPTR0 0xffc30020 /* 16 bit SCIF */ 178 + # define SCSPTR1 0xffc40020 /* 16 bit SCIF */ 179 + # define SCSPTR2 0xffc50020 /* 16 bit SCIF */ 180 + # define SCSPTR3 0xffc60020 /* 16 bit SCIF */ 181 + # define SCIF_ORER 0x0001 /* Overrun error bit */ 182 + # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 183 + # define SCIF_ONLY 176 184 #else 177 185 # error CPU subtype not defined 178 186 #endif ··· 197 189 defined(CONFIG_CPU_SUBTYPE_SH7751) || \ 198 190 defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ 199 191 defined(CONFIG_CPU_SUBTYPE_SH7780) || \ 200 - defined(CONFIG_CPU_SUBTYPE_SH7785) 192 + defined(CONFIG_CPU_SUBTYPE_SH7785) || \ 193 + defined(CONFIG_CPU_SUBTYPE_SHX3) 201 194 #define SCI_CTRL_FLAGS_REIE 0x08 /* 7750 SCIF */ 202 195 #else 203 196 #define SCI_CTRL_FLAGS_REIE 0 ··· 674 665 if (port->mapbase == 0xf8420000) 675 666 return ctrl_inw(SCSPTR2) & 0x0001 ? 1 : 0; /* SCIF */ 676 667 return 1; 668 + } 669 + #elif defined(CONFIG_CPU_SUBTYPE_SHX3) 670 + static inline int sci_rxd_in(struct uart_port *port) 671 + { 672 + if (port->mapbase == 0xffc30000) 673 + return ctrl_inw(SCSPTR0) & 0x0001 ? 1 : 0; /* SCIF */ 674 + if (port->mapbase == 0xffc40000) 675 + return ctrl_inw(SCSPTR1) & 0x0001 ? 1 : 0; /* SCIF */ 676 + if (port->mapbase == 0xffc50000) 677 + return ctrl_inw(SCSPTR2) & 0x0001 ? 1 : 0; /* SCIF */ 678 + if (port->mapbase == 0xffc60000) 679 + return ctrl_inw(SCSPTR3) & 0x0001 ? 1 : 0; /* SCIF */ 677 680 } 678 681 #endif 679 682
+1 -1
include/asm-sh/bugs.h
··· 35 35 case CPU_SH7750 ... CPU_SH4_501: 36 36 *p++ = '4'; 37 37 break; 38 - case CPU_SH7770 ... CPU_SH7785: 38 + case CPU_SH7770 ... CPU_SHX3: 39 39 *p++ = '4'; 40 40 *p++ = 'a'; 41 41 break;
+2
include/asm-sh/cpu-sh4/freq.h
··· 22 22 #define FRQCR0 0xffc80000 23 23 #define FRQCR1 0xffc80004 24 24 #define FRQMR1 0xffc80014 25 + #elif defined(CONFIG_CPU_SUBTYPE_SHX3) 26 + #define FRQCR 0xffc00014 25 27 #else 26 28 #define FRQCR 0xffc00000 27 29 #define FRQCR_PSTBY 0x0200
+33 -24
include/asm-sh/cpu-sh4/timer.h
··· 1 1 /* 2 2 * include/asm-sh/cpu-sh4/timer.h 3 3 * 4 - * Copyright (C) 2004 Lineo Solutions, Inc. 4 + * Copyright (C) 2004 Lineo Solutions, Inc. 5 5 * 6 6 * This file is subject to the terms and conditions of the GNU General Public 7 7 * License. See the file "COPYING" in the main directory of this archive ··· 16 16 * SH7750S/SH7750R 17 17 * SH7751/SH7751R 18 18 * SH7760 19 + * SH-X3 19 20 * --------------------------------------------------------------------------- 20 21 */ 21 - 22 - #if !defined(CONFIG_CPU_SUBTYPE_SH7760) 23 - #define TMU_TOCR 0xffd80000 /* Byte access */ 22 + #ifdef CONFIG_CPU_SUBTYPE_SHX3 23 + #define TMU_012_BASE 0xffc10000 24 + #define TMU_345_BASE 0xffc20000 25 + #else 26 + #define TMU_012_BASE 0xffd80000 27 + #define TMU_345_BASE 0xfe100000 24 28 #endif 25 - #define TMU_TSTR 0xffd80004 /* Byte access */ 26 29 27 - #define TMU0_TCOR 0xffd80008 /* Long access */ 28 - #define TMU0_TCNT 0xffd8000c /* Long access */ 29 - #define TMU0_TCR 0xffd80010 /* Word access */ 30 + #define TMU_TOCR TMU_012_BASE /* Not supported on all CPUs */ 30 31 31 - #define TMU1_TCOR 0xffd80014 /* Long access */ 32 - #define TMU1_TCNT 0xffd80018 /* Long access */ 33 - #define TMU1_TCR 0xffd8001c /* Word access */ 32 + #define TMU_012_TSTR (TMU_012_BASE + 0x04) 33 + #define TMU_345_TSTR (TMU_345_BASE + 0x04) 34 34 35 - #define TMU2_TCOR 0xffd80020 /* Long access */ 36 - #define TMU2_TCNT 0xffd80024 /* Long access */ 37 - #define TMU2_TCR 0xffd80028 /* Word access */ 38 - #define TMU2_TCPR 0xffd8002c /* Long access */ 35 + #define TMU0_TCOR (TMU_012_BASE + 0x08) 36 + #define TMU0_TCNT (TMU_012_BASE + 0x0c) 37 + #define TMU0_TCR (TMU_012_BASE + 0x10) 39 38 40 - #if !defined(CONFIG_CPU_SUBTYPE_SH7760) 41 - #define TMU3_TCOR 0xfe100008 /* Long access */ 42 - #define TMU3_TCNT 0xfe10000c /* Long access */ 43 - #define TMU3_TCR 0xfe100010 /* Word access */ 39 + #define TMU1_TCOR (TMU_012_BASE + 0x14) 40 + #define TMU1_TCNT (TMU_012_BASE + 0x18) 41 + #define TMU1_TCR (TMU_012_BASE + 0x1c) 44 42 45 - #define TMU4_TCOR 0xfe100014 /* Long access */ 46 - #define TMU4_TCNT 0xfe100018 /* Long access */ 47 - #define TMU4_TCR 0xfe10001c /* Word access */ 48 - #endif 43 + #define TMU2_TCOR (TMU_012_BASE + 0x20) 44 + #define TMU2_TCNT (TMU_012_BASE + 0x24) 45 + #define TMU2_TCR (TMU_012_BASE + 0x28) 46 + #define TMU2_TCPR (TMU_012_BASE + 0x2c) 47 + 48 + #define TMU3_TCOR (TMU_345_BASE + 0x08) 49 + #define TMU3_TCNT (TMU_345_BASE + 0x0c) 50 + #define TMU3_TCR (TMU_345_BASE + 0x10) 51 + 52 + #define TMU4_TCOR (TMU_345_BASE + 0x14) 53 + #define TMU4_TCNT (TMU_345_BASE + 0x18) 54 + #define TMU4_TCR (TMU_345_BASE + 0x1c) 55 + 56 + #define TMU5_TCOR (TMU_345_BASE + 0x20) 57 + #define TMU5_TCNT (TMU_345_BASE + 0x24) 58 + #define TMU5_TCR (TMU_345_BASE + 0x28) 49 59 50 60 #endif /* __ASM_CPU_SH4_TIMER_H */ 51 -
+1 -1
include/asm-sh/processor.h
··· 52 52 CPU_SH7760, CPU_ST40RA, CPU_ST40GX1, CPU_SH4_202, CPU_SH4_501, 53 53 54 54 /* SH-4A types */ 55 - CPU_SH7770, CPU_SH7780, CPU_SH7781, CPU_SH7785, 55 + CPU_SH7770, CPU_SH7780, CPU_SH7781, CPU_SH7785, CPU_SHX3, 56 56 57 57 /* SH4AL-DSP types */ 58 58 CPU_SH73180, CPU_SH7343, CPU_SH7722,