ARM: SoC code changes for 6.1
The main changes this time are for the organization of the Kconfig files, introducing per-vendor top-level options on arm64 to match those on arm32, and making the platform selection on arm32 more uniform, in particular for the remaining StrongARM platforms that still have a couple of special cases compared to the more recent ones. I also did a cleanup of the old Footbridge platform, which was the last holdout for the phys_to_dma()/dma_to_phys() interface that is now completely gone from arm32, completing work started by Christoph Hellwig. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmM+n3EACgkQmmx57+YA GNlnjA/+JR/0Y8gzRw6lGLB254R1zLqKzoZC065+zk++qN/t9pIEAvICaTO7ooIY Iz79crIyQ7aJptVfDyb44hrC23sBsY/ujkh7WmfLDAs7Jf9a1xOgcQONz6uOk+3p qsCXEjyn6O4EPtCBxiICA7vcVUAeM+wkcuV2KQnW9b4CNlLXdhyn1ijwnGO4Zm6g h2w0gX2TVkoR2ZSqWh5CCk9OOfgQRrHGMHzX0iRXtYApJk/zA8ywnuRsqts8R3lu 04Jl17szmMoeN2RQjf/gTJc7xpWvs7SzfyNTXXoXmB7x9c27eQXyoUpWC9o/BPPb YNqv2Xmm0+cMsmPvkY/7poDlPMObh9exV2dDQ3XKoyoVPu+hBL4AsXMchQ7rsrVk +FvdTxZTpl42sx9KitRQG/7WZ1pmxBBcFVB4fmVJcCF4OcOpXH7i1VmsB6PAOaIF CKUpaIjnTZ1VbqhADqCzRfUSI4HiAHuo886rAYcCK3K47UpLjBwcwOTyXZccG0SL z9IQkm53DgsJVLEUmtwAfVF57SciWxmQZid7vM2xQX/03pwO2/x4d347EcJJZcHS vuqWZD0Wp3VBuj2fLFk83WaaQJzP5rzJAewKbR4KyxraMyTvOEYVBa18AMnZQ6sw aFecU9YXa8PhgaiFrfepZcTby0Bm+YSc8ko80se44zz07kZW/y8= =xsKV -----END PGP SIGNATURE----- Merge tag 'arm-soc-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM SoC updates from Arnd Bergmann: "The main changes this time are for the organization of the Kconfig files, introducing per-vendor top-level options on arm64 to match those on arm32, and making the platform selection on arm32 more uniform, in particular for the remaining StrongARM platforms that still have a couple of special cases compared to the more recent ones. I also did a cleanup of the old Footbridge platform, which was the last holdout for the phys_to_dma()/dma_to_phys() interface that is now completely gone from arm32, completing work started by Christoph Hellwig" * tag 'arm-soc-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (21 commits) ARM: aspeed: Kconfig: Fix indentation ARM: Drop CMDLINE_* dependency on ATAGS ARM: Drop CMDLINE_FORCE dependency on !ARCH_MULTIPLATFORM ARM: s3c: remove orphan declarations from arch/arm/mach-s3c/devs.h pxa: Drop if with an always false condition ARM: orion: fix include path ARM: shmobile: Drop selecting SOC_BUS arm64: renesas: Drop selecting SOC_BUS ARM: disallow PCI with MMU=n again ARM: footbridge: remove custom DMA address handling MAINTAINERS: Add BCM4908 maintainer to BCMBCA entry ARM: footbridge: move isa-dma support into footbridge ARM: footbridge: remove leftover from personal-server ARM: footbridge: remove addin mode arm64: Kconfig.platforms: Group NXP platforms together arm64: Kconfig.platforms: Re-organized Broadcom menu ARM: make ARCH_MULTIPLATFORM user-visible ARM: fix XIP_KERNEL dependencies ARM: Kconfig: clean up platform selection ARM: simplify machdirs/platdirs handling ...
This commit is contained in:
commit
41fc64a055
@ -3971,6 +3971,7 @@ M: William Zhang <william.zhang@broadcom.com>
|
|||||||
M: Anand Gore <anand.gore@broadcom.com>
|
M: Anand Gore <anand.gore@broadcom.com>
|
||||||
M: Kursad Oney <kursad.oney@broadcom.com>
|
M: Kursad Oney <kursad.oney@broadcom.com>
|
||||||
M: Florian Fainelli <f.fainelli@gmail.com>
|
M: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
|
M: Rafał Miłecki <rafal@milecki.pl>
|
||||||
R: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
|
R: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
135
arch/arm/Kconfig
135
arch/arm/Kconfig
@ -28,7 +28,6 @@ config ARM
|
|||||||
select ARCH_HAS_GCOV_PROFILE_ALL
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
||||||
select ARCH_KEEP_MEMBLOCK
|
select ARCH_KEEP_MEMBLOCK
|
||||||
select ARCH_MIGHT_HAVE_PC_PARPORT
|
select ARCH_MIGHT_HAVE_PC_PARPORT
|
||||||
select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN
|
|
||||||
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
|
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
|
||||||
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
|
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
|
||||||
select ARCH_SUPPORTS_ATOMIC_RMW
|
select ARCH_SUPPORTS_ATOMIC_RMW
|
||||||
@ -42,6 +41,7 @@ config ARM
|
|||||||
select ARCH_WANT_LD_ORPHAN_WARN
|
select ARCH_WANT_LD_ORPHAN_WARN
|
||||||
select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
|
select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
|
||||||
select BUILDTIME_TABLE_SORT if MMU
|
select BUILDTIME_TABLE_SORT if MMU
|
||||||
|
select COMMON_CLK if !(ARCH_RPC || ARCH_FOOTBRIDGE)
|
||||||
select CLONE_BACKWARDS
|
select CLONE_BACKWARDS
|
||||||
select CPU_PM if SUSPEND || CPU_IDLE
|
select CPU_PM if SUSPEND || CPU_IDLE
|
||||||
select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
|
select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
|
||||||
@ -110,6 +110,7 @@ config ARM
|
|||||||
select HAVE_MOD_ARCH_SPECIFIC
|
select HAVE_MOD_ARCH_SPECIFIC
|
||||||
select HAVE_NMI
|
select HAVE_NMI
|
||||||
select HAVE_OPTPROBES if !THUMB2_KERNEL
|
select HAVE_OPTPROBES if !THUMB2_KERNEL
|
||||||
|
select HAVE_PCI if MMU
|
||||||
select HAVE_PERF_EVENTS
|
select HAVE_PERF_EVENTS
|
||||||
select HAVE_PERF_REGS
|
select HAVE_PERF_REGS
|
||||||
select HAVE_PERF_USER_STACK_DUMP
|
select HAVE_PERF_USER_STACK_DUMP
|
||||||
@ -126,13 +127,17 @@ config ARM
|
|||||||
select OF_EARLY_FLATTREE if OF
|
select OF_EARLY_FLATTREE if OF
|
||||||
select OLD_SIGACTION
|
select OLD_SIGACTION
|
||||||
select OLD_SIGSUSPEND3
|
select OLD_SIGSUSPEND3
|
||||||
|
select PCI_DOMAINS_GENERIC if PCI
|
||||||
select PCI_SYSCALL if PCI
|
select PCI_SYSCALL if PCI
|
||||||
select PERF_USE_VMALLOC
|
select PERF_USE_VMALLOC
|
||||||
select RTC_LIB
|
select RTC_LIB
|
||||||
|
select SPARSE_IRQ if !(ARCH_FOOTBRIDGE || ARCH_RPC)
|
||||||
select SYS_SUPPORTS_APM_EMULATION
|
select SYS_SUPPORTS_APM_EMULATION
|
||||||
select THREAD_INFO_IN_TASK
|
select THREAD_INFO_IN_TASK
|
||||||
|
select TIMER_OF if OF
|
||||||
select HAVE_ARCH_VMAP_STACK if MMU && ARM_HAS_GROUP_RELOCS
|
select HAVE_ARCH_VMAP_STACK if MMU && ARM_HAS_GROUP_RELOCS
|
||||||
select TRACE_IRQFLAGS_SUPPORT if !CPU_V7M
|
select TRACE_IRQFLAGS_SUPPORT if !CPU_V7M
|
||||||
|
select USE_OF if !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
|
||||||
# Above selects are sorted alphabetically; please add new ones
|
# Above selects are sorted alphabetically; please add new ones
|
||||||
# according to that. Thanks.
|
# according to that. Thanks.
|
||||||
help
|
help
|
||||||
@ -154,12 +159,8 @@ config ARM_HAS_GROUP_RELOCS
|
|||||||
which is usually sufficient, but not for allyesconfig, so we disable
|
which is usually sufficient, but not for allyesconfig, so we disable
|
||||||
this feature when doing compile testing.
|
this feature when doing compile testing.
|
||||||
|
|
||||||
config ARM_HAS_SG_CHAIN
|
|
||||||
bool
|
|
||||||
|
|
||||||
config ARM_DMA_USE_IOMMU
|
config ARM_DMA_USE_IOMMU
|
||||||
bool
|
bool
|
||||||
select ARM_HAS_SG_CHAIN
|
|
||||||
select NEED_SG_DMA_LENGTH
|
select NEED_SG_DMA_LENGTH
|
||||||
|
|
||||||
if ARM_DMA_USE_IOMMU
|
if ARM_DMA_USE_IOMMU
|
||||||
@ -245,7 +246,7 @@ config ARCH_MTD_XIP
|
|||||||
config ARM_PATCH_PHYS_VIRT
|
config ARM_PATCH_PHYS_VIRT
|
||||||
bool "Patch physical to virtual translations at runtime" if EMBEDDED
|
bool "Patch physical to virtual translations at runtime" if EMBEDDED
|
||||||
default y
|
default y
|
||||||
depends on !XIP_KERNEL && MMU
|
depends on MMU
|
||||||
help
|
help
|
||||||
Patch phys-to-virt and virt-to-phys translation functions at
|
Patch phys-to-virt and virt-to-phys translation functions at
|
||||||
boot and module load time according to the position of the
|
boot and module load time according to the position of the
|
||||||
@ -274,7 +275,7 @@ config NEED_MACH_MEMORY_H
|
|||||||
|
|
||||||
config PHYS_OFFSET
|
config PHYS_OFFSET
|
||||||
hex "Physical address of main memory" if MMU
|
hex "Physical address of main memory" if MMU
|
||||||
depends on !ARM_PATCH_PHYS_VIRT
|
depends on !ARM_PATCH_PHYS_VIRT || !AUTO_ZRELADDR
|
||||||
default DRAM_BASE if !MMU
|
default DRAM_BASE if !MMU
|
||||||
default 0x00000000 if ARCH_FOOTBRIDGE
|
default 0x00000000 if ARCH_FOOTBRIDGE
|
||||||
default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
|
default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
|
||||||
@ -307,13 +308,8 @@ config MMU
|
|||||||
config ARM_SINGLE_ARMV7M
|
config ARM_SINGLE_ARMV7M
|
||||||
def_bool !MMU
|
def_bool !MMU
|
||||||
select ARM_NVIC
|
select ARM_NVIC
|
||||||
select AUTO_ZRELADDR
|
|
||||||
select TIMER_OF
|
|
||||||
select COMMON_CLK
|
|
||||||
select CPU_V7M
|
select CPU_V7M
|
||||||
select NO_IOPORT_MAP
|
select NO_IOPORT_MAP
|
||||||
select SPARSE_IRQ
|
|
||||||
select USE_OF
|
|
||||||
|
|
||||||
config ARCH_MMAP_RND_BITS_MIN
|
config ARCH_MMAP_RND_BITS_MIN
|
||||||
default 8
|
default 8
|
||||||
@ -323,94 +319,31 @@ config ARCH_MMAP_RND_BITS_MAX
|
|||||||
default 15 if PAGE_OFFSET=0x80000000
|
default 15 if PAGE_OFFSET=0x80000000
|
||||||
default 16
|
default 16
|
||||||
|
|
||||||
#
|
|
||||||
# The "ARM system type" choice list is ordered alphabetically by option
|
|
||||||
# text. Please add new entries in the option alphabetic order.
|
|
||||||
#
|
|
||||||
choice
|
|
||||||
prompt "ARM system type"
|
|
||||||
depends on MMU
|
|
||||||
default ARCH_MULTIPLATFORM
|
|
||||||
|
|
||||||
config ARCH_MULTIPLATFORM
|
config ARCH_MULTIPLATFORM
|
||||||
bool "Allow multiple platforms to be selected"
|
bool "Require kernel to be portable to multiple machines" if EXPERT
|
||||||
select ARCH_FLATMEM_ENABLE
|
depends on MMU && !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
|
||||||
select ARCH_SPARSEMEM_ENABLE
|
default y
|
||||||
select ARCH_SELECT_MEMORY_MODEL
|
|
||||||
select ARM_HAS_SG_CHAIN
|
|
||||||
select ARM_PATCH_PHYS_VIRT
|
|
||||||
select AUTO_ZRELADDR
|
|
||||||
select TIMER_OF
|
|
||||||
select COMMON_CLK
|
|
||||||
select HAVE_PCI
|
|
||||||
select PCI_DOMAINS_GENERIC if PCI
|
|
||||||
select SPARSE_IRQ
|
|
||||||
select USE_OF
|
|
||||||
|
|
||||||
config ARCH_FOOTBRIDGE
|
|
||||||
bool "FootBridge"
|
|
||||||
depends on CPU_LITTLE_ENDIAN
|
|
||||||
depends on ATAGS
|
|
||||||
select CPU_SA110
|
|
||||||
select FOOTBRIDGE
|
|
||||||
select NEED_MACH_MEMORY_H
|
|
||||||
help
|
help
|
||||||
Support for systems based on the DC21285 companion chip
|
In general, all Arm machines can be supported in a single
|
||||||
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
|
kernel image, covering either Armv4/v5 or Armv6/v7.
|
||||||
|
|
||||||
config ARCH_RPC
|
However, some configuration options require hardcoding machine
|
||||||
bool "RiscPC"
|
specific physical addresses or enable errata workarounds that may
|
||||||
depends on !CC_IS_CLANG && GCC_VERSION < 90100 && GCC_VERSION >= 60000
|
break other machines.
|
||||||
depends on CPU_LITTLE_ENDIAN
|
|
||||||
depends on ATAGS
|
|
||||||
select ARCH_ACORN
|
|
||||||
select ARCH_MAY_HAVE_PC_FDC
|
|
||||||
select ARCH_SPARSEMEM_ENABLE
|
|
||||||
select ARM_HAS_SG_CHAIN
|
|
||||||
select CPU_SA110
|
|
||||||
select FIQ
|
|
||||||
select HAVE_PATA_PLATFORM
|
|
||||||
select ISA_DMA_API
|
|
||||||
select LEGACY_TIMER_TICK
|
|
||||||
select NEED_MACH_IO_H
|
|
||||||
select NEED_MACH_MEMORY_H
|
|
||||||
select NO_IOPORT_MAP
|
|
||||||
help
|
|
||||||
On the Acorn Risc-PC, Linux can support the internal IDE disk and
|
|
||||||
CD-ROM interface, serial and parallel port, and the floppy drive.
|
|
||||||
|
|
||||||
config ARCH_SA1100
|
Selecting N here allows using those options, including
|
||||||
bool "SA1100-based"
|
DEBUG_UNCOMPRESS, XIP_KERNEL and ZBOOT_ROM. If unsure, say Y.
|
||||||
depends on CPU_LITTLE_ENDIAN
|
|
||||||
depends on ATAGS
|
|
||||||
select ARCH_MTD_XIP
|
|
||||||
select ARCH_SPARSEMEM_ENABLE
|
|
||||||
select CLKSRC_MMIO
|
|
||||||
select CLKSRC_PXA
|
|
||||||
select TIMER_OF if OF
|
|
||||||
select COMMON_CLK
|
|
||||||
select CPU_FREQ
|
|
||||||
select CPU_SA1100
|
|
||||||
select GPIOLIB
|
|
||||||
select IRQ_DOMAIN
|
|
||||||
select ISA
|
|
||||||
select NEED_MACH_MEMORY_H
|
|
||||||
select SPARSE_IRQ
|
|
||||||
help
|
|
||||||
Support for StrongARM 11x0 based boards.
|
|
||||||
|
|
||||||
endchoice
|
menu "Platform selection"
|
||||||
|
depends on MMU
|
||||||
menu "Multiple platform selection"
|
|
||||||
depends on ARCH_MULTIPLATFORM
|
|
||||||
|
|
||||||
comment "CPU Core family selection"
|
comment "CPU Core family selection"
|
||||||
|
|
||||||
config ARCH_MULTI_V4
|
config ARCH_MULTI_V4
|
||||||
bool "ARMv4 based platforms (FA526)"
|
bool "ARMv4 based platforms (FA526, StrongARM)"
|
||||||
depends on !ARCH_MULTI_V6_V7
|
depends on !ARCH_MULTI_V6_V7
|
||||||
select ARCH_MULTI_V4_V5
|
select ARCH_MULTI_V4_V5
|
||||||
select CPU_FA526
|
select CPU_FA526 if !(CPU_SA110 || CPU_SA1100)
|
||||||
|
|
||||||
config ARCH_MULTI_V4T
|
config ARCH_MULTI_V4T
|
||||||
bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
|
bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
|
||||||
@ -472,7 +405,6 @@ config ARCH_AIROHA
|
|||||||
select ARM_GIC_V3
|
select ARM_GIC_V3
|
||||||
select ARM_PSCI
|
select ARM_PSCI
|
||||||
select HAVE_ARM_ARCH_TIMER
|
select HAVE_ARM_ARCH_TIMER
|
||||||
select COMMON_CLK
|
|
||||||
help
|
help
|
||||||
Support for Airoha EN7523 SoCs
|
Support for Airoha EN7523 SoCs
|
||||||
|
|
||||||
@ -573,6 +505,8 @@ source "arch/arm/mach-rda/Kconfig"
|
|||||||
|
|
||||||
source "arch/arm/mach-realtek/Kconfig"
|
source "arch/arm/mach-realtek/Kconfig"
|
||||||
|
|
||||||
|
source "arch/arm/mach-rpc/Kconfig"
|
||||||
|
|
||||||
source "arch/arm/mach-rockchip/Kconfig"
|
source "arch/arm/mach-rockchip/Kconfig"
|
||||||
|
|
||||||
source "arch/arm/mach-s3c/Kconfig"
|
source "arch/arm/mach-s3c/Kconfig"
|
||||||
@ -638,7 +572,6 @@ config ARCH_ACORN
|
|||||||
config PLAT_ORION
|
config PLAT_ORION
|
||||||
bool
|
bool
|
||||||
select CLKSRC_MMIO
|
select CLKSRC_MMIO
|
||||||
select COMMON_CLK
|
|
||||||
select GENERIC_IRQ_CHIP
|
select GENERIC_IRQ_CHIP
|
||||||
select IRQ_DOMAIN
|
select IRQ_DOMAIN
|
||||||
|
|
||||||
@ -989,11 +922,6 @@ config ISA
|
|||||||
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
|
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
|
||||||
newer boards don't support it. If you have ISA, say Y, otherwise N.
|
newer boards don't support it. If you have ISA, say Y, otherwise N.
|
||||||
|
|
||||||
# Select ISA DMA controller support
|
|
||||||
config ISA_DMA
|
|
||||||
bool
|
|
||||||
select ISA_DMA_API
|
|
||||||
|
|
||||||
# Select ISA DMA interface
|
# Select ISA DMA interface
|
||||||
config ISA_DMA_API
|
config ISA_DMA_API
|
||||||
bool
|
bool
|
||||||
@ -1054,7 +982,7 @@ config SMP
|
|||||||
|
|
||||||
config SMP_ON_UP
|
config SMP_ON_UP
|
||||||
bool "Allow booting SMP kernel on uniprocessor systems"
|
bool "Allow booting SMP kernel on uniprocessor systems"
|
||||||
depends on SMP && !XIP_KERNEL && MMU
|
depends on SMP && MMU
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
SMP kernels contain instructions which fail on non-SMP processors.
|
SMP kernels contain instructions which fail on non-SMP processors.
|
||||||
@ -1303,7 +1231,7 @@ config THUMB2_KERNEL
|
|||||||
|
|
||||||
config ARM_PATCH_IDIV
|
config ARM_PATCH_IDIV
|
||||||
bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
|
bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
|
||||||
depends on CPU_32v7 && !XIP_KERNEL
|
depends on CPU_32v7
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
The ARM compiler inserts calls to __aeabi_idiv() and
|
The ARM compiler inserts calls to __aeabi_idiv() and
|
||||||
@ -1358,13 +1286,13 @@ config OABI_COMPAT
|
|||||||
at all). If in doubt say N.
|
at all). If in doubt say N.
|
||||||
|
|
||||||
config ARCH_SELECT_MEMORY_MODEL
|
config ARCH_SELECT_MEMORY_MODEL
|
||||||
bool
|
def_bool y
|
||||||
|
|
||||||
config ARCH_FLATMEM_ENABLE
|
config ARCH_FLATMEM_ENABLE
|
||||||
bool
|
def_bool !(ARCH_RPC || ARCH_SA1100)
|
||||||
|
|
||||||
config ARCH_SPARSEMEM_ENABLE
|
config ARCH_SPARSEMEM_ENABLE
|
||||||
bool
|
def_bool !ARCH_FOOTBRIDGE
|
||||||
select SPARSEMEM_STATIC if SPARSEMEM
|
select SPARSEMEM_STATIC if SPARSEMEM
|
||||||
|
|
||||||
config HIGHMEM
|
config HIGHMEM
|
||||||
@ -1671,7 +1599,6 @@ config CMDLINE
|
|||||||
choice
|
choice
|
||||||
prompt "Kernel command line type" if CMDLINE != ""
|
prompt "Kernel command line type" if CMDLINE != ""
|
||||||
default CMDLINE_FROM_BOOTLOADER
|
default CMDLINE_FROM_BOOTLOADER
|
||||||
depends on ATAGS
|
|
||||||
|
|
||||||
config CMDLINE_FROM_BOOTLOADER
|
config CMDLINE_FROM_BOOTLOADER
|
||||||
bool "Use bootloader kernel arguments if available"
|
bool "Use bootloader kernel arguments if available"
|
||||||
@ -1698,6 +1625,7 @@ endchoice
|
|||||||
config XIP_KERNEL
|
config XIP_KERNEL
|
||||||
bool "Kernel Execute-In-Place from ROM"
|
bool "Kernel Execute-In-Place from ROM"
|
||||||
depends on !ARM_LPAE && !ARCH_MULTIPLATFORM
|
depends on !ARM_LPAE && !ARCH_MULTIPLATFORM
|
||||||
|
depends on !ARM_PATCH_IDIV && !ARM_PATCH_PHYS_VIRT && !SMP_ON_UP
|
||||||
help
|
help
|
||||||
Execute-In-Place allows the kernel to run from non-volatile storage
|
Execute-In-Place allows the kernel to run from non-volatile storage
|
||||||
directly addressable by the CPU, such as NOR flash. This saves RAM
|
directly addressable by the CPU, such as NOR flash. This saves RAM
|
||||||
@ -1772,7 +1700,8 @@ config CRASH_DUMP
|
|||||||
For more details see Documentation/admin-guide/kdump/kdump.rst
|
For more details see Documentation/admin-guide/kdump/kdump.rst
|
||||||
|
|
||||||
config AUTO_ZRELADDR
|
config AUTO_ZRELADDR
|
||||||
bool "Auto calculation of the decompressed kernel image address"
|
bool "Auto calculation of the decompressed kernel image address" if !ARCH_MULTIPLATFORM
|
||||||
|
default !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
|
||||||
help
|
help
|
||||||
ZRELADDR is the physical address where the decompressed kernel
|
ZRELADDR is the physical address where the decompressed kernel
|
||||||
image will be placed. If AUTO_ZRELADDR is selected, the address
|
image will be placed. If AUTO_ZRELADDR is selected, the address
|
||||||
|
@ -1904,7 +1904,8 @@ config DEBUG_UART_8250_PALMCHIP
|
|||||||
|
|
||||||
config DEBUG_UNCOMPRESS
|
config DEBUG_UNCOMPRESS
|
||||||
bool "Enable decompressor debugging via DEBUG_LL output"
|
bool "Enable decompressor debugging via DEBUG_LL output"
|
||||||
depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
|
depends on !ARCH_MULTIPLATFORM
|
||||||
|
depends on !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
|
||||||
depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
|
depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
|
||||||
(!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
|
(!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
|
||||||
!DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
|
!DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
|
||||||
@ -1921,9 +1922,8 @@ config DEBUG_UNCOMPRESS
|
|||||||
|
|
||||||
config UNCOMPRESS_INCLUDE
|
config UNCOMPRESS_INCLUDE
|
||||||
string
|
string
|
||||||
default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
|
default "mach/uncompress.h" if ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100
|
||||||
PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
|
default "debug/uncompress.h"
|
||||||
default "mach/uncompress.h"
|
|
||||||
|
|
||||||
config EARLY_PRINTK
|
config EARLY_PRINTK
|
||||||
bool "Early printk"
|
bool "Early printk"
|
||||||
|
@ -227,40 +227,24 @@ machine-$(CONFIG_ARCH_ZYNQ) += zynq
|
|||||||
machine-$(CONFIG_PLAT_VERSATILE) += versatile
|
machine-$(CONFIG_PLAT_VERSATILE) += versatile
|
||||||
machine-$(CONFIG_PLAT_SPEAR) += spear
|
machine-$(CONFIG_PLAT_SPEAR) += spear
|
||||||
|
|
||||||
# Platform directory name. This list is sorted alphanumerically
|
# legacy platforms provide their own mach/*.h headers globally,
|
||||||
# by CONFIG_* macro name.
|
# these three are mutually exclusive
|
||||||
plat-$(CONFIG_PLAT_ORION) += orion
|
machdirs-$(CONFIG_ARCH_FOOTBRIDGE) += arch/arm/mach-footbridge
|
||||||
|
machdirs-$(CONFIG_ARCH_RPC) += arch/arm/mach-rpc
|
||||||
|
machdirs-$(CONFIG_ARCH_SA1100) += arch/arm/mach-sa1100
|
||||||
|
KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%/include,$(machdirs-y))
|
||||||
|
|
||||||
# The byte offset of the kernel image in RAM from the start of RAM.
|
# The byte offset of the kernel image in RAM from the start of RAM.
|
||||||
TEXT_OFFSET := $(textofs-y)
|
TEXT_OFFSET := $(textofs-y)
|
||||||
|
|
||||||
# The first directory contains additional information for the boot setup code
|
|
||||||
ifneq ($(machine-y),)
|
|
||||||
MACHINE := arch/arm/mach-$(word 1,$(machine-y))/
|
|
||||||
else
|
|
||||||
MACHINE :=
|
|
||||||
endif
|
|
||||||
ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
|
|
||||||
MACHINE :=
|
|
||||||
endif
|
|
||||||
|
|
||||||
machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
|
|
||||||
platdirs := $(patsubst %,arch/arm/plat-%/,$(sort $(plat-y)))
|
|
||||||
|
|
||||||
ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)
|
|
||||||
ifneq ($(CONFIG_ARM_SINGLE_ARMV7M),y)
|
|
||||||
KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
export TEXT_OFFSET GZFLAGS MMUEXT
|
export TEXT_OFFSET GZFLAGS MMUEXT
|
||||||
|
|
||||||
# If we have a machine-specific directory, then include it in the build.
|
# If we have a machine-specific directory, then include it in the build.
|
||||||
core-y += $(machdirs) $(platdirs)
|
core-y += $(patsubst %,arch/arm/mach-%/,$(machine-y))
|
||||||
|
|
||||||
# For cleaning
|
# For cleaning
|
||||||
core- += $(patsubst %,arch/arm/mach-%/, $(machine-))
|
core- += $(patsubst %,arch/arm/mach-%/,$(machine-))
|
||||||
core- += $(patsubst %,arch/arm/plat-%/, $(plat-))
|
|
||||||
|
core-$(CONFIG_PLAT_ORION) += arch/arm/plat-orion/
|
||||||
|
|
||||||
libs-y := arch/arm/lib/ $(libs-y)
|
libs-y := arch/arm/lib/ $(libs-y)
|
||||||
|
|
||||||
@ -313,7 +297,7 @@ bootpImage uImage: zImage
|
|||||||
zImage: Image
|
zImage: Image
|
||||||
|
|
||||||
$(BOOT_TARGETS): vmlinux
|
$(BOOT_TARGETS): vmlinux
|
||||||
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
|
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
||||||
@$(kecho) ' Kernel: $(boot)/$@ is ready'
|
@$(kecho) ' Kernel: $(boot)/$@ is ready'
|
||||||
|
|
||||||
$(INSTALL_TARGETS): KBUILD_IMAGE = $(boot)/$(patsubst %install,%Image,$@)
|
$(INSTALL_TARGETS): KBUILD_IMAGE = $(boot)/$(patsubst %install,%Image,$@)
|
||||||
@ -327,7 +311,7 @@ ifeq ($(CONFIG_VDSO),y)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# My testing targets (bypasses dependencies)
|
# My testing targets (bypasses dependencies)
|
||||||
bp:; $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/bootpImage
|
bp:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/bootpImage
|
||||||
|
|
||||||
|
|
||||||
define archhelp
|
define archhelp
|
||||||
|
@ -10,22 +10,16 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 1995-2002 Russell King
|
# Copyright (C) 1995-2002 Russell King
|
||||||
#
|
#
|
||||||
|
|
||||||
OBJCOPYFLAGS :=-O binary -R .comment -S
|
OBJCOPYFLAGS :=-O binary -R .comment -S
|
||||||
|
|
||||||
ifneq ($(MACHINE),)
|
# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
|
||||||
include $(MACHINE)/Makefile.boot
|
ifdef CONFIG_PHYS_OFFSET
|
||||||
|
add_hex = $(shell printf 0x%x $$(( $(1) + $(2) )) )
|
||||||
|
ZRELADDR := $(call add_hex, $(CONFIG_PHYS_OFFSET), $(TEXT_OFFSET))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Note: the following conditions must always be true:
|
PHYS_OFFSET := $(CONFIG_PHYS_OFFSET)
|
||||||
# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
|
export ZRELADDR PARAMS_PHYS PHYS_OFFSET
|
||||||
# PARAMS_PHYS must be within 4MB of ZRELADDR
|
|
||||||
# INITRD_PHYS must be in RAM
|
|
||||||
ZRELADDR := $(zreladdr-y)
|
|
||||||
PARAMS_PHYS := $(params_phys-y)
|
|
||||||
INITRD_PHYS := $(initrd_phys-y)
|
|
||||||
|
|
||||||
export ZRELADDR INITRD_PHYS PARAMS_PHYS
|
|
||||||
|
|
||||||
targets := Image zImage xipImage bootpImage uImage
|
targets := Image zImage xipImage bootpImage uImage
|
||||||
|
|
||||||
@ -90,17 +84,10 @@ $(obj)/uImage: $(obj)/zImage FORCE
|
|||||||
@$(check_for_multiple_loadaddr)
|
@$(check_for_multiple_loadaddr)
|
||||||
$(call if_changed,uimage)
|
$(call if_changed,uimage)
|
||||||
|
|
||||||
$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE
|
$(obj)/bootp/bootp: $(obj)/zImage FORCE
|
||||||
$(Q)$(MAKE) $(build)=$(obj)/bootp $@
|
$(Q)$(MAKE) $(build)=$(obj)/bootp $@
|
||||||
|
|
||||||
$(obj)/bootpImage: $(obj)/bootp/bootp FORCE
|
$(obj)/bootpImage: $(obj)/bootp/bootp FORCE
|
||||||
$(call if_changed,objcopy)
|
$(call if_changed,objcopy)
|
||||||
|
|
||||||
PHONY += initrd
|
|
||||||
initrd:
|
|
||||||
@test "$(INITRD_PHYS)" != "" || \
|
|
||||||
(echo This machine does not support INITRD; exit -1)
|
|
||||||
@test "$(INITRD)" != "" || \
|
|
||||||
(echo You must specify INITRD; exit -1)
|
|
||||||
|
|
||||||
subdir- := bootp compressed dts
|
subdir- := bootp compressed dts
|
||||||
|
@ -5,9 +5,40 @@
|
|||||||
# This file is included by the global makefile so that you can add your own
|
# This file is included by the global makefile so that you can add your own
|
||||||
# architecture-specific flags and dependencies.
|
# architecture-specific flags and dependencies.
|
||||||
#
|
#
|
||||||
|
|
||||||
GCOV_PROFILE := n
|
GCOV_PROFILE := n
|
||||||
|
|
||||||
|
ifdef PHYS_OFFSET
|
||||||
|
add_hex = $(shell printf 0x%x $$(( $(1) + $(2) )) )
|
||||||
|
|
||||||
|
# If PHYS_OFFSET is set, INITRD_PHYS and PARAMS_PHYS can be derived,
|
||||||
|
# otherwise they must be passed on the command line.
|
||||||
|
#
|
||||||
|
# Note: the following conditions must always be true:
|
||||||
|
# PARAMS_PHYS must be within 4MB of ZRELADDR
|
||||||
|
# INITRD_PHYS must be in RAM
|
||||||
|
|
||||||
|
PARAMS_PHYS := $(call add_hex, $(PHYS_OFFSET), 0x100)
|
||||||
|
|
||||||
|
# guess an initrd location if possible
|
||||||
|
initrd_offset-$(CONFIG_ARCH_FOOTBRIDGE) += 0x00800000
|
||||||
|
initrd_offset-$(CONFIG_ARCH_SA1100) += 0x00800000
|
||||||
|
initrd_offset-$(CONFIG_ARCH_RPC) += 0x08000000
|
||||||
|
INITRD_OFFSET := $(initrd_offset-y)
|
||||||
|
ifdef INITRD_OFFSET
|
||||||
|
INITRD_PHYS := $(call add_hex, $(PHYS_OFFSET), $(INITRD_OFFSET))
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
PHONY += initrd
|
||||||
|
initrd:
|
||||||
|
@test "$(PARAMS_PHYS)" != "" || \
|
||||||
|
(echo bootpImage: You must specify PHYS_OFFSET of PARAMS_PHYS ; exit -1)
|
||||||
|
@test "$(INITRD_PHYS)" != "" || \
|
||||||
|
(echo bootpImage: You must specify INITRD_OFFSET or INITRD_PHYS ; exit -1)
|
||||||
|
@test "$(INITRD)" != "" || \
|
||||||
|
(echo bootpImage: You must specify INITRD; exit -1)
|
||||||
|
|
||||||
LDFLAGS_bootp := --no-undefined -X \
|
LDFLAGS_bootp := --no-undefined -X \
|
||||||
--defsym initrd_phys=$(INITRD_PHYS) \
|
--defsym initrd_phys=$(INITRD_PHYS) \
|
||||||
--defsym params_phys=$(PARAMS_PHYS) -T
|
--defsym params_phys=$(PARAMS_PHYS) -T
|
||||||
@ -24,6 +55,6 @@ $(obj)/bootp: $(src)/bootp.lds $(addprefix $(obj)/,init.o kernel.o initrd.o) FOR
|
|||||||
|
|
||||||
$(obj)/kernel.o: arch/arm/boot/zImage FORCE
|
$(obj)/kernel.o: arch/arm/boot/zImage FORCE
|
||||||
|
|
||||||
$(obj)/initrd.o: $(INITRD) FORCE
|
$(obj)/initrd.o: initrd $(INITRD) FORCE
|
||||||
|
|
||||||
PHONY += $(INITRD)
|
PHONY += $(INITRD)
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_ASSABET=y
|
CONFIG_SA1100_ASSABET=y
|
||||||
CONFIG_CMDLINE="mem=32M console=ttySA0,38400n8 initrd=0xc0800000,3M root=/dev/ram"
|
CONFIG_CMDLINE="mem=32M console=ttySA0,38400n8 initrd=0xc0800000,3M root=/dev/ram"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_EXPERT=y
|
CONFIG_EXPERT=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_BADGE4=y
|
CONFIG_SA1100_BADGE4=y
|
||||||
CONFIG_UNUSED_BOARD_FILES=y
|
CONFIG_UNUSED_BOARD_FILES=y
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_CERF=y
|
CONFIG_SA1100_CERF=y
|
||||||
CONFIG_SA1100_CERF_FLASH_16MB=y
|
CONFIG_SA1100_CERF_FLASH_16MB=y
|
||||||
|
@ -5,6 +5,8 @@ CONFIG_BLK_DEV_INITRD=y
|
|||||||
CONFIG_EXPERT=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_BASE_FULL is not set
|
# CONFIG_BASE_FULL is not set
|
||||||
# CONFIG_EPOLL is not set
|
# CONFIG_EPOLL is not set
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_COLLIE=y
|
CONFIG_SA1100_COLLIE=y
|
||||||
CONFIG_CMDLINE="noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1"
|
CONFIG_CMDLINE="noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1"
|
||||||
|
@ -4,6 +4,8 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EXPERT=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_FOOTBRIDGE=y
|
CONFIG_ARCH_FOOTBRIDGE=y
|
||||||
CONFIG_ARCH_EBSA285_HOST=y
|
CONFIG_ARCH_EBSA285_HOST=y
|
||||||
CONFIG_ARCH_NETWINDER=y
|
CONFIG_ARCH_NETWINDER=y
|
||||||
|
@ -4,6 +4,8 @@ CONFIG_HIGH_RES_TIMERS=y
|
|||||||
CONFIG_PREEMPT=y
|
CONFIG_PREEMPT=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_H3600=y
|
CONFIG_SA1100_H3600=y
|
||||||
# CONFIG_CPU_FREQ_STAT is not set
|
# CONFIG_CPU_FREQ_STAT is not set
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_HACKKIT=y
|
CONFIG_SA1100_HACKKIT=y
|
||||||
CONFIG_UNUSED_BOARD_FILES=y
|
CONFIG_UNUSED_BOARD_FILES=y
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_JORNADA720=y
|
CONFIG_SA1100_JORNADA720=y
|
||||||
CONFIG_SA1100_JORNADA720_SSP=y
|
CONFIG_SA1100_JORNADA720_SSP=y
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_LART=y
|
CONFIG_SA1100_LART=y
|
||||||
CONFIG_UNUSED_BOARD_FILES=y
|
CONFIG_UNUSED_BOARD_FILES=y
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_ASSABET=y
|
CONFIG_SA1100_ASSABET=y
|
||||||
CONFIG_ASSABET_NEPONSET=y
|
CONFIG_ASSABET_NEPONSET=y
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_FOOTBRIDGE=y
|
CONFIG_ARCH_FOOTBRIDGE=y
|
||||||
CONFIG_ARCH_NETWINDER=y
|
CONFIG_ARCH_NETWINDER=y
|
||||||
CONFIG_DEPRECATED_PARAM_STRUCT=y
|
CONFIG_DEPRECATED_PARAM_STRUCT=y
|
||||||
|
@ -4,6 +4,8 @@ CONFIG_BLK_DEV_INITRD=y
|
|||||||
CONFIG_EXPERT=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
# CONFIG_SHMEM is not set
|
# CONFIG_SHMEM is not set
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_PLEB=y
|
CONFIG_SA1100_PLEB=y
|
||||||
CONFIG_UNUSED_BOARD_FILES=y
|
CONFIG_UNUSED_BOARD_FILES=y
|
||||||
|
@ -4,6 +4,8 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_RPC=y
|
CONFIG_ARCH_RPC=y
|
||||||
CONFIG_CPU_SA110=y
|
CONFIG_CPU_SA110=y
|
||||||
CONFIG_FPE_NWFPE=y
|
CONFIG_FPE_NWFPE=y
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_SHANNON=y
|
CONFIG_SA1100_SHANNON=y
|
||||||
CONFIG_UNUSED_BOARD_FILES=y
|
CONFIG_UNUSED_BOARD_FILES=y
|
||||||
|
@ -5,6 +5,8 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||||||
CONFIG_EXPERT=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_ALL=y
|
CONFIG_KALLSYMS_ALL=y
|
||||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||||
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
CONFIG_SA1100_SIMPAD=y
|
CONFIG_SA1100_SIMPAD=y
|
||||||
CONFIG_UNUSED_BOARD_FILES=y
|
CONFIG_UNUSED_BOARD_FILES=y
|
||||||
|
@ -1 +0,0 @@
|
|||||||
#include <mach/dma-direct.h>
|
|
@ -106,7 +106,7 @@ extern void set_dma_sg(unsigned int chan, struct scatterlist *sg, int nr_sg);
|
|||||||
*/
|
*/
|
||||||
extern void __set_dma_addr(unsigned int chan, void *addr);
|
extern void __set_dma_addr(unsigned int chan, void *addr);
|
||||||
#define set_dma_addr(chan, addr) \
|
#define set_dma_addr(chan, addr) \
|
||||||
__set_dma_addr(chan, (void *)__bus_to_virt(addr))
|
__set_dma_addr(chan, (void *)isa_bus_to_virt(addr))
|
||||||
|
|
||||||
/* Set the DMA byte count for this channel
|
/* Set the DMA byte count for this channel
|
||||||
*
|
*
|
||||||
|
@ -22,6 +22,13 @@
|
|||||||
#define DC21285_IO(x) (x)
|
#define DC21285_IO(x) (x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The footbridge is programmed to expose the system RAM at 0xe0000000.
|
||||||
|
* The requirement is that the RAM isn't placed at bus address 0, which
|
||||||
|
* would clash with VGA cards.
|
||||||
|
*/
|
||||||
|
#define BUS_OFFSET 0xe0000000
|
||||||
|
|
||||||
#define CSR_PCICMD DC21285_IO(0x0004)
|
#define CSR_PCICMD DC21285_IO(0x0004)
|
||||||
#define CSR_CLASSREV DC21285_IO(0x0008)
|
#define CSR_CLASSREV DC21285_IO(0x0008)
|
||||||
#define CSR_PCICACHELINESIZE DC21285_IO(0x000c)
|
#define CSR_PCICACHELINESIZE DC21285_IO(0x000c)
|
||||||
@ -81,19 +88,6 @@
|
|||||||
#define SA110_CNTL_XCSDIR(x) ((x)<<28)
|
#define SA110_CNTL_XCSDIR(x) ((x)<<28)
|
||||||
#define SA110_CNTL_PCICFN (1 << 31)
|
#define SA110_CNTL_PCICFN (1 << 31)
|
||||||
|
|
||||||
/*
|
|
||||||
* footbridge_cfn_mode() is used when we want
|
|
||||||
* to check whether we are the central function
|
|
||||||
*/
|
|
||||||
#define __footbridge_cfn_mode() (*CSR_SA110_CNTL & SA110_CNTL_PCICFN)
|
|
||||||
#if defined(CONFIG_FOOTBRIDGE_HOST) && defined(CONFIG_FOOTBRIDGE_ADDIN)
|
|
||||||
#define footbridge_cfn_mode() __footbridge_cfn_mode()
|
|
||||||
#elif defined(CONFIG_FOOTBRIDGE_HOST)
|
|
||||||
#define footbridge_cfn_mode() (1)
|
|
||||||
#else
|
|
||||||
#define footbridge_cfn_mode() (0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CSR_PCIADDR_EXTN DC21285_IO(0x0140)
|
#define CSR_PCIADDR_EXTN DC21285_IO(0x0140)
|
||||||
#define CSR_PREFETCHMEMRANGE DC21285_IO(0x0144)
|
#define CSR_PREFETCHMEMRANGE DC21285_IO(0x0144)
|
||||||
#define CSR_XBUS_CYCLE DC21285_IO(0x0148)
|
#define CSR_XBUS_CYCLE DC21285_IO(0x0148)
|
||||||
|
@ -44,8 +44,3 @@ struct dma_struct {
|
|||||||
* isa_dma_add - add an ISA-style DMA channel
|
* isa_dma_add - add an ISA-style DMA channel
|
||||||
*/
|
*/
|
||||||
extern int isa_dma_add(unsigned int, dma_t *dma);
|
extern int isa_dma_add(unsigned int, dma_t *dma);
|
||||||
|
|
||||||
/*
|
|
||||||
* Add the ISA DMA controller. Always takes channels 0-7.
|
|
||||||
*/
|
|
||||||
extern void isa_init_dma(void);
|
|
||||||
|
@ -369,17 +369,6 @@ static inline unsigned long __virt_to_idmap(unsigned long x)
|
|||||||
|
|
||||||
#define virt_to_idmap(x) __virt_to_idmap((unsigned long)(x))
|
#define virt_to_idmap(x) __virt_to_idmap((unsigned long)(x))
|
||||||
|
|
||||||
/*
|
|
||||||
* Virtual <-> DMA view memory address translations
|
|
||||||
* Again, these are *only* valid on the kernel direct mapped RAM
|
|
||||||
* memory. Use of these is *deprecated* (and that doesn't mean
|
|
||||||
* use the __ prefixed forms instead.) See dma-mapping.h.
|
|
||||||
*/
|
|
||||||
#ifndef __virt_to_bus
|
|
||||||
#define __virt_to_bus __virt_to_phys
|
|
||||||
#define __bus_to_virt __phys_to_virt
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Conversion between a struct page and a physical address.
|
* Conversion between a struct page and a physical address.
|
||||||
*
|
*
|
||||||
|
@ -45,7 +45,6 @@ obj-$(CONFIG_ISA_DMA_API) += dma.o
|
|||||||
obj-$(CONFIG_FIQ) += fiq.o fiqasm.o
|
obj-$(CONFIG_FIQ) += fiq.o fiqasm.o
|
||||||
obj-$(CONFIG_MODULES) += armksyms.o module.o
|
obj-$(CONFIG_MODULES) += armksyms.o module.o
|
||||||
obj-$(CONFIG_ARM_MODULE_PLTS) += module-plts.o
|
obj-$(CONFIG_ARM_MODULE_PLTS) += module-plts.o
|
||||||
obj-$(CONFIG_ISA_DMA) += dma-isa.o
|
|
||||||
obj-$(CONFIG_PCI) += bios32.o isa.o
|
obj-$(CONFIG_PCI) += bios32.o isa.o
|
||||||
obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o
|
obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o
|
||||||
obj-$(CONFIG_HIBERNATION) += hibernate.o
|
obj-$(CONFIG_HIBERNATION) += hibernate.o
|
||||||
|
@ -194,14 +194,12 @@ const struct machine_desc * __init setup_machine_fdt(void *dt_virt)
|
|||||||
{
|
{
|
||||||
const struct machine_desc *mdesc, *mdesc_best = NULL;
|
const struct machine_desc *mdesc, *mdesc_best = NULL;
|
||||||
|
|
||||||
#if defined(CONFIG_ARCH_MULTIPLATFORM) || defined(CONFIG_ARM_SINGLE_ARMV7M)
|
|
||||||
DT_MACHINE_START(GENERIC_DT, "Generic DT based system")
|
DT_MACHINE_START(GENERIC_DT, "Generic DT based system")
|
||||||
.l2c_aux_val = 0x0,
|
.l2c_aux_val = 0x0,
|
||||||
.l2c_aux_mask = ~0x0,
|
.l2c_aux_mask = ~0x0,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
mdesc_best = &__mach_desc_GENERIC_DT;
|
mdesc_best = &__mach_desc_GENERIC_DT;
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!dt_virt || !early_init_dt_verify(dt_virt))
|
if (!dt_virt || !early_init_dt_verify(dt_virt))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -19,9 +19,9 @@ config MACH_ASPEED_G4
|
|||||||
select PINCTRL_ASPEED_G4
|
select PINCTRL_ASPEED_G4
|
||||||
select FTTMR010_TIMER
|
select FTTMR010_TIMER
|
||||||
help
|
help
|
||||||
Say yes if you intend to run on an Aspeed ast2400 or similar
|
Say yes if you intend to run on an Aspeed ast2400 or similar
|
||||||
fourth generation BMCs, such as those used by OpenPower Power8
|
fourth generation BMCs, such as those used by OpenPower Power8
|
||||||
systems.
|
systems.
|
||||||
|
|
||||||
config MACH_ASPEED_G5
|
config MACH_ASPEED_G5
|
||||||
bool "Aspeed SoC 5th Generation"
|
bool "Aspeed SoC 5th Generation"
|
||||||
@ -29,8 +29,8 @@ config MACH_ASPEED_G5
|
|||||||
select PINCTRL_ASPEED_G5
|
select PINCTRL_ASPEED_G5
|
||||||
select FTTMR010_TIMER
|
select FTTMR010_TIMER
|
||||||
help
|
help
|
||||||
Say yes if you intend to run on an Aspeed ast2500 or similar
|
Say yes if you intend to run on an Aspeed ast2500 or similar
|
||||||
fifth generation Aspeed BMCs.
|
fifth generation Aspeed BMCs.
|
||||||
|
|
||||||
config MACH_ASPEED_G6
|
config MACH_ASPEED_G6
|
||||||
bool "Aspeed SoC 6th Generation"
|
bool "Aspeed SoC 6th Generation"
|
||||||
@ -40,7 +40,7 @@ config MACH_ASPEED_G6
|
|||||||
select ARM_GIC
|
select ARM_GIC
|
||||||
select HAVE_ARM_ARCH_TIMER
|
select HAVE_ARM_ARCH_TIMER
|
||||||
help
|
help
|
||||||
Say yes if you intend to run on an Aspeed ast2600 or similar
|
Say yes if you intend to run on an Aspeed ast2600 or similar
|
||||||
sixth generation Aspeed BMCs.
|
sixth generation Aspeed BMCs.
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
# Empty file waiting for deletion once Makefile.boot isn't needed any more.
|
|
||||||
# Patch waits for application at
|
|
||||||
# https://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
|
|
@ -1,8 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
|
||||||
zreladdr-$(CONFIG_ARCH_DAVINCI_DA8XX) += 0xc0008000
|
|
||||||
params_phys-$(CONFIG_ARCH_DAVINCI_DA8XX) := 0xc0000100
|
|
||||||
initrd_phys-$(CONFIG_ARCH_DAVINCI_DA8XX) := 0xc0800000
|
|
||||||
|
|
||||||
zreladdr-$(CONFIG_ARCH_DAVINCI_DMx) += 0x80008000
|
|
||||||
params_phys-$(CONFIG_ARCH_DAVINCI_DMx) := 0x80000100
|
|
||||||
initrd_phys-$(CONFIG_ARCH_DAVINCI_DMx) := 0x80800000
|
|
@ -1,5 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-orion/include
|
ccflags-y := -I$(srctree)/arch/arm/plat-orion/include
|
||||||
|
|
||||||
obj-y += common.o
|
obj-y += common.o
|
||||||
obj-$(CONFIG_DOVE_LEGACY) += irq.o mpp.o
|
obj-$(CONFIG_DOVE_LEGACY) += irq.o mpp.o
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
zreladdr-y += 0x00008000
|
|
||||||
params_phys-y := 0x00000100
|
|
||||||
initrd_phys-y := 0x00800000
|
|
@ -1,2 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
# Empty file waiting for deletion once Makefile.boot isn't needed any more.
|
|
@ -1,38 +1,37 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
if ARCH_FOOTBRIDGE
|
menuconfig ARCH_FOOTBRIDGE
|
||||||
|
bool "FootBridge Implementations"
|
||||||
|
depends on ARCH_MULTI_V4 && !(ARCH_MULTI_V4T || ARCH_MULTI_V5)
|
||||||
|
depends on !(ARCH_MOXART || ARCH_GEMINI || ARCH_SA1100)
|
||||||
|
depends on ATAGS
|
||||||
|
depends on CPU_LITTLE_ENDIAN
|
||||||
|
depends on MMU
|
||||||
|
select ARCH_NO_SG_CHAIN
|
||||||
|
select CPU_SA110
|
||||||
|
select FOOTBRIDGE
|
||||||
|
select NEED_MACH_MEMORY_H
|
||||||
|
help
|
||||||
|
Support for systems based on the DC21285 companion chip
|
||||||
|
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
|
||||||
|
|
||||||
menu "Footbridge Implementations"
|
if ARCH_FOOTBRIDGE
|
||||||
|
|
||||||
config ARCH_CATS
|
config ARCH_CATS
|
||||||
bool "CATS"
|
bool "CATS"
|
||||||
depends on UNUSED_BOARD_FILES
|
depends on UNUSED_BOARD_FILES
|
||||||
select CLKEVT_I8253
|
select CLKEVT_I8253
|
||||||
select CLKSRC_I8253
|
select CLKSRC_I8253
|
||||||
select FOOTBRIDGE_HOST
|
|
||||||
select ISA
|
select ISA
|
||||||
select ISA_DMA
|
|
||||||
select FORCE_PCI
|
select FORCE_PCI
|
||||||
help
|
help
|
||||||
Say Y here if you intend to run this kernel on the CATS.
|
Say Y here if you intend to run this kernel on the CATS.
|
||||||
|
|
||||||
Saying N will reduce the size of the Footbridge kernel.
|
Saying N will reduce the size of the Footbridge kernel.
|
||||||
|
|
||||||
config ARCH_EBSA285_ADDIN
|
|
||||||
bool "EBSA285 (addin mode)"
|
|
||||||
select ARCH_EBSA285
|
|
||||||
select FOOTBRIDGE_ADDIN
|
|
||||||
help
|
|
||||||
Say Y here if you intend to run this kernel on the EBSA285 card
|
|
||||||
in addin mode.
|
|
||||||
|
|
||||||
Saying N will reduce the size of the Footbridge kernel.
|
|
||||||
|
|
||||||
config ARCH_EBSA285_HOST
|
config ARCH_EBSA285_HOST
|
||||||
bool "EBSA285 (host mode)"
|
bool "EBSA285 (host mode)"
|
||||||
select ARCH_EBSA285
|
select ARCH_EBSA285
|
||||||
select FOOTBRIDGE_HOST
|
|
||||||
select ISA
|
select ISA
|
||||||
select ISA_DMA
|
|
||||||
select ARCH_MAY_HAVE_PC_FDC
|
select ARCH_MAY_HAVE_PC_FDC
|
||||||
select FORCE_PCI
|
select FORCE_PCI
|
||||||
help
|
help
|
||||||
@ -45,9 +44,7 @@ config ARCH_NETWINDER
|
|||||||
bool "NetWinder"
|
bool "NetWinder"
|
||||||
select CLKEVT_I8253
|
select CLKEVT_I8253
|
||||||
select CLKSRC_I8253
|
select CLKSRC_I8253
|
||||||
select FOOTBRIDGE_HOST
|
|
||||||
select ISA
|
select ISA
|
||||||
select ISA_DMA
|
|
||||||
select FORCE_PCI
|
select FORCE_PCI
|
||||||
help
|
help
|
||||||
Say Y here if you intend to run this kernel on the Rebel.COM
|
Say Y here if you intend to run this kernel on the Rebel.COM
|
||||||
@ -57,23 +54,12 @@ config ARCH_NETWINDER
|
|||||||
|
|
||||||
Saying N will reduce the size of the Footbridge kernel.
|
Saying N will reduce the size of the Footbridge kernel.
|
||||||
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
# Footbridge support
|
# Footbridge support
|
||||||
config FOOTBRIDGE
|
config FOOTBRIDGE
|
||||||
select ARCH_HAS_PHYS_TO_DMA
|
def_bool y
|
||||||
bool
|
|
||||||
|
|
||||||
# Footbridge in host mode
|
|
||||||
config FOOTBRIDGE_HOST
|
|
||||||
bool
|
|
||||||
select ARCH_MIGHT_HAVE_PC_SERIO
|
select ARCH_MIGHT_HAVE_PC_SERIO
|
||||||
|
select ISA_DMA_API
|
||||||
|
|
||||||
# Footbridge in addin mode
|
|
||||||
config FOOTBRIDGE_ADDIN
|
|
||||||
bool
|
|
||||||
|
|
||||||
# EBSA285 board in either host or addin mode
|
|
||||||
config ARCH_EBSA285
|
config ARCH_EBSA285
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
# Object file lists.
|
# Object file lists.
|
||||||
|
|
||||||
obj-y := common.o dma.o isa-irq.o
|
obj-y := common.o isa-irq.o isa.o isa-rtc.o dma-isa.o
|
||||||
|
|
||||||
pci-y += dc21285.o
|
pci-y += dc21285.o
|
||||||
pci-$(CONFIG_ARCH_CATS) += cats-pci.o
|
pci-$(CONFIG_ARCH_CATS) += cats-pci.o
|
||||||
pci-$(CONFIG_ARCH_EBSA285_HOST) += ebsa285-pci.o
|
pci-$(CONFIG_ARCH_EBSA285) += ebsa285-pci.o
|
||||||
pci-$(CONFIG_ARCH_NETWINDER) += netwinder-pci.o
|
pci-$(CONFIG_ARCH_NETWINDER) += netwinder-pci.o
|
||||||
|
|
||||||
obj-$(CONFIG_ARCH_CATS) += cats-hw.o isa-timer.o
|
obj-$(CONFIG_ARCH_CATS) += cats-hw.o isa-timer.o
|
||||||
@ -18,4 +18,3 @@ obj-$(CONFIG_ARCH_NETWINDER) += netwinder-hw.o isa-timer.o
|
|||||||
|
|
||||||
obj-$(CONFIG_PCI) +=$(pci-y)
|
obj-$(CONFIG_PCI) +=$(pci-y)
|
||||||
|
|
||||||
obj-$(CONFIG_ISA) += isa.o isa-rtc.o
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
zreladdr-y += 0x00008000
|
|
||||||
params_phys-y := 0x00000100
|
|
||||||
initrd_phys-y := 0x00800000
|
|
||||||
|
|
@ -198,9 +198,6 @@ void __init footbridge_init_irq(void)
|
|||||||
|
|
||||||
__fb_init_irq();
|
__fb_init_irq();
|
||||||
|
|
||||||
if (!footbridge_cfn_mode())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (machine_is_ebsa285())
|
if (machine_is_ebsa285())
|
||||||
/* The following is dependent on which slot
|
/* The following is dependent on which slot
|
||||||
* you plug the Southbridge card into. We
|
* you plug the Southbridge card into. We
|
||||||
@ -221,21 +218,13 @@ void __init footbridge_init_irq(void)
|
|||||||
* commented out since there is a "No Fix" problem with it. Not mapping
|
* commented out since there is a "No Fix" problem with it. Not mapping
|
||||||
* it means that we have extra bullet protection on our feet.
|
* it means that we have extra bullet protection on our feet.
|
||||||
*/
|
*/
|
||||||
static struct map_desc fb_common_io_desc[] __initdata = {
|
static struct map_desc ebsa285_host_io_desc[] __initdata = {
|
||||||
{
|
{
|
||||||
.virtual = ARMCSR_BASE,
|
.virtual = ARMCSR_BASE,
|
||||||
.pfn = __phys_to_pfn(DC21285_ARMCSR_BASE),
|
.pfn = __phys_to_pfn(DC21285_ARMCSR_BASE),
|
||||||
.length = ARMCSR_SIZE,
|
.length = ARMCSR_SIZE,
|
||||||
.type = MT_DEVICE,
|
.type = MT_DEVICE,
|
||||||
}
|
},
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The mapping when the footbridge is in host mode. We don't map any of
|
|
||||||
* this when we are in add-in mode.
|
|
||||||
*/
|
|
||||||
static struct map_desc ebsa285_host_io_desc[] __initdata = {
|
|
||||||
#if defined(CONFIG_ARCH_FOOTBRIDGE) && defined(CONFIG_FOOTBRIDGE_HOST)
|
|
||||||
{
|
{
|
||||||
.virtual = PCIMEM_BASE,
|
.virtual = PCIMEM_BASE,
|
||||||
.pfn = __phys_to_pfn(DC21285_PCI_MEM),
|
.pfn = __phys_to_pfn(DC21285_PCI_MEM),
|
||||||
@ -257,26 +246,12 @@ static struct map_desc ebsa285_host_io_desc[] __initdata = {
|
|||||||
.length = PCIIACK_SIZE,
|
.length = PCIIACK_SIZE,
|
||||||
.type = MT_DEVICE,
|
.type = MT_DEVICE,
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init footbridge_map_io(void)
|
void __init footbridge_map_io(void)
|
||||||
{
|
{
|
||||||
/*
|
iotable_init(ebsa285_host_io_desc, ARRAY_SIZE(ebsa285_host_io_desc));
|
||||||
* Set up the common mapping first; we need this to
|
pci_map_io_early(__phys_to_pfn(DC21285_PCI_IO));
|
||||||
* determine whether we're in host mode or not.
|
|
||||||
*/
|
|
||||||
iotable_init(fb_common_io_desc, ARRAY_SIZE(fb_common_io_desc));
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Now, work out what we've got to map in addition on this
|
|
||||||
* platform.
|
|
||||||
*/
|
|
||||||
if (footbridge_cfn_mode()) {
|
|
||||||
iotable_init(ebsa285_host_io_desc, ARRAY_SIZE(ebsa285_host_io_desc));
|
|
||||||
pci_map_io_early(__phys_to_pfn(DC21285_PCI_IO));
|
|
||||||
}
|
|
||||||
|
|
||||||
vga_base = PCIMEM_BASE;
|
vga_base = PCIMEM_BASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -306,49 +281,3 @@ void footbridge_restart(enum reboot_mode mode, const char *cmd)
|
|||||||
*CSR_SA110_CNTL |= (1 << 13);
|
*CSR_SA110_CNTL |= (1 << 13);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_FOOTBRIDGE_ADDIN
|
|
||||||
|
|
||||||
static inline unsigned long fb_bus_sdram_offset(void)
|
|
||||||
{
|
|
||||||
return *CSR_PCISDRAMBASE & 0xfffffff0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* These two functions convert virtual addresses to PCI addresses and PCI
|
|
||||||
* addresses to virtual addresses. Note that it is only legal to use these
|
|
||||||
* on memory obtained via get_zeroed_page or kmalloc.
|
|
||||||
*/
|
|
||||||
unsigned long __virt_to_bus(unsigned long res)
|
|
||||||
{
|
|
||||||
WARN_ON(res < PAGE_OFFSET || res >= (unsigned long)high_memory);
|
|
||||||
|
|
||||||
return res + (fb_bus_sdram_offset() - PAGE_OFFSET);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(__virt_to_bus);
|
|
||||||
|
|
||||||
unsigned long __bus_to_virt(unsigned long res)
|
|
||||||
{
|
|
||||||
res = res - (fb_bus_sdram_offset() - PAGE_OFFSET);
|
|
||||||
|
|
||||||
WARN_ON(res < PAGE_OFFSET || res >= (unsigned long)high_memory);
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(__bus_to_virt);
|
|
||||||
#else
|
|
||||||
static inline unsigned long fb_bus_sdram_offset(void)
|
|
||||||
{
|
|
||||||
return BUS_OFFSET;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_FOOTBRIDGE_ADDIN */
|
|
||||||
|
|
||||||
dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr)
|
|
||||||
{
|
|
||||||
return paddr + (fb_bus_sdram_offset() - PHYS_OFFSET);
|
|
||||||
}
|
|
||||||
|
|
||||||
phys_addr_t dma_to_phys(struct device *dev, dma_addr_t dev_addr)
|
|
||||||
{
|
|
||||||
return dev_addr - (fb_bus_sdram_offset() - PHYS_OFFSET);
|
|
||||||
}
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
* Copyright (C) 1998-2001 Russell King
|
* Copyright (C) 1998-2001 Russell King
|
||||||
* Copyright (C) 1998-2000 Phil Blundell
|
* Copyright (C) 1998-2000 Phil Blundell
|
||||||
*/
|
*/
|
||||||
|
#include <linux/dma-map-ops.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
@ -241,13 +242,26 @@ static irqreturn_t dc21285_parity_irq(int irq, void *dev_id)
|
|||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int dc21285_pci_bus_notifier(struct notifier_block *nb,
|
||||||
|
unsigned long action,
|
||||||
|
void *data)
|
||||||
|
{
|
||||||
|
if (action != BUS_NOTIFY_ADD_DEVICE)
|
||||||
|
return NOTIFY_DONE;
|
||||||
|
|
||||||
|
dma_direct_set_offset(data, PHYS_OFFSET, BUS_OFFSET, SZ_256M);
|
||||||
|
|
||||||
|
return NOTIFY_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct notifier_block dc21285_pci_bus_nb = {
|
||||||
|
.notifier_call = dc21285_pci_bus_notifier,
|
||||||
|
};
|
||||||
|
|
||||||
int __init dc21285_setup(int nr, struct pci_sys_data *sys)
|
int __init dc21285_setup(int nr, struct pci_sys_data *sys)
|
||||||
{
|
{
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
|
|
||||||
if (nr || !footbridge_cfn_mode())
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
res = kcalloc(2, sizeof(struct resource), GFP_KERNEL);
|
res = kcalloc(2, sizeof(struct resource), GFP_KERNEL);
|
||||||
if (!res) {
|
if (!res) {
|
||||||
printk("out of memory for root bus resources");
|
printk("out of memory for root bus resources");
|
||||||
@ -269,6 +283,8 @@ int __init dc21285_setup(int nr, struct pci_sys_data *sys)
|
|||||||
pci_add_resource_offset(&sys->resources, &res[0], sys->mem_offset);
|
pci_add_resource_offset(&sys->resources, &res[0], sys->mem_offset);
|
||||||
pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset);
|
pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset);
|
||||||
|
|
||||||
|
bus_register_notifier(&pci_bus_type, &dc21285_pci_bus_nb);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,7 +294,6 @@ int __init dc21285_setup(int nr, struct pci_sys_data *sys)
|
|||||||
void __init dc21285_preinit(void)
|
void __init dc21285_preinit(void)
|
||||||
{
|
{
|
||||||
unsigned int mem_size, mem_mask;
|
unsigned int mem_size, mem_mask;
|
||||||
int cfn_mode;
|
|
||||||
|
|
||||||
pcibios_min_mem = 0x81000000;
|
pcibios_min_mem = 0x81000000;
|
||||||
|
|
||||||
@ -298,21 +313,15 @@ void __init dc21285_preinit(void)
|
|||||||
*CSR_CSRBASEOFFSET = 0;
|
*CSR_CSRBASEOFFSET = 0;
|
||||||
*CSR_PCIADDR_EXTN = 0;
|
*CSR_PCIADDR_EXTN = 0;
|
||||||
|
|
||||||
cfn_mode = __footbridge_cfn_mode();
|
|
||||||
|
|
||||||
printk(KERN_INFO "PCI: DC21285 footbridge, revision %02lX, in "
|
printk(KERN_INFO "PCI: DC21285 footbridge, revision %02lX, in "
|
||||||
"%s mode\n", *CSR_CLASSREV & 0xff, cfn_mode ?
|
"central function mode\n", *CSR_CLASSREV & 0xff);
|
||||||
"central function" : "addin");
|
|
||||||
|
|
||||||
if (footbridge_cfn_mode()) {
|
/*
|
||||||
/*
|
* Clear any existing errors - we aren't
|
||||||
* Clear any existing errors - we aren't
|
* interested in historical data...
|
||||||
* interested in historical data...
|
*/
|
||||||
*/
|
*CSR_SA110_CNTL = (*CSR_SA110_CNTL & 0xffffde07) | SA110_CNTL_RXSERR;
|
||||||
*CSR_SA110_CNTL = (*CSR_SA110_CNTL & 0xffffde07) |
|
*CSR_PCICMD = (*CSR_PCICMD & 0xffff) | PCICMD_ERROR_BITS;
|
||||||
SA110_CNTL_RXSERR;
|
|
||||||
*CSR_PCICMD = (*CSR_PCICMD & 0xffff) | PCICMD_ERROR_BITS;
|
|
||||||
}
|
|
||||||
|
|
||||||
timer_setup(&serr_timer, dc21285_enable_error, 0);
|
timer_setup(&serr_timer, dc21285_enable_error, 0);
|
||||||
timer_setup(&perr_timer, dc21285_enable_error, 0);
|
timer_setup(&perr_timer, dc21285_enable_error, 0);
|
||||||
@ -331,29 +340,18 @@ void __init dc21285_preinit(void)
|
|||||||
dc21285_request_irq(IRQ_PCI_DPERR, dc21285_dparity_irq, 0,
|
dc21285_request_irq(IRQ_PCI_DPERR, dc21285_dparity_irq, 0,
|
||||||
"PCI data parity", NULL);
|
"PCI data parity", NULL);
|
||||||
|
|
||||||
if (cfn_mode) {
|
/*
|
||||||
/*
|
* Map our SDRAM at a known address in PCI space, just in case
|
||||||
* Map our SDRAM at a known address in PCI space, just in case
|
* the firmware had other ideas. Using a nonzero base is
|
||||||
* the firmware had other ideas. Using a nonzero base is
|
* necessary, since some VGA cards forcefully use PCI addresses
|
||||||
* necessary, since some VGA cards forcefully use PCI addresses
|
* in the range 0x000a0000 to 0x000c0000. (eg, S3 cards).
|
||||||
* in the range 0x000a0000 to 0x000c0000. (eg, S3 cards).
|
*/
|
||||||
*/
|
*CSR_PCICSRBASE = 0xf4000000;
|
||||||
*CSR_PCICSRBASE = 0xf4000000;
|
*CSR_PCICSRIOBASE = 0;
|
||||||
*CSR_PCICSRIOBASE = 0;
|
*CSR_PCISDRAMBASE = BUS_OFFSET;
|
||||||
*CSR_PCISDRAMBASE = __virt_to_bus(PAGE_OFFSET);
|
*CSR_PCIROMBASE = 0;
|
||||||
*CSR_PCIROMBASE = 0;
|
*CSR_PCICMD = PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER |
|
||||||
*CSR_PCICMD = PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER |
|
PCI_COMMAND_INVALIDATE | PCICMD_ERROR_BITS;
|
||||||
PCI_COMMAND_INVALIDATE | PCICMD_ERROR_BITS;
|
|
||||||
} else if (footbridge_cfn_mode() != 0) {
|
|
||||||
/*
|
|
||||||
* If we are not compiled to accept "add-in" mode, then
|
|
||||||
* we are using a constant virt_to_bus translation which
|
|
||||||
* can not hope to cater for the way the host BIOS has
|
|
||||||
* set up the machine.
|
|
||||||
*/
|
|
||||||
panic("PCI: this kernel is compiled for central "
|
|
||||||
"function mode only");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init dc21285_postinit(void)
|
void __init dc21285_postinit(void)
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* linux/arch/arm/kernel/dma-isa.c
|
|
||||||
*
|
|
||||||
* Copyright (C) 1999-2000 Russell King
|
* Copyright (C) 1999-2000 Russell King
|
||||||
*
|
*
|
||||||
* ISA DMA primitives
|
* ISA DMA primitives
|
||||||
@ -13,6 +11,7 @@
|
|||||||
* arch/arm/kernel/dma-ebsa285.c
|
* arch/arm/kernel/dma-ebsa285.c
|
||||||
* Copyright (C) 1998 Phil Blundell
|
* Copyright (C) 1998 Phil Blundell
|
||||||
*/
|
*/
|
||||||
|
#include <linux/dma-map-ops.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
@ -20,6 +19,7 @@
|
|||||||
|
|
||||||
#include <asm/dma.h>
|
#include <asm/dma.h>
|
||||||
#include <asm/mach/dma.h>
|
#include <asm/mach/dma.h>
|
||||||
|
#include <asm/hardware/dec21285.h>
|
||||||
|
|
||||||
#define ISA_DMA_MASK 0
|
#define ISA_DMA_MASK 0
|
||||||
#define ISA_DMA_MODE 1
|
#define ISA_DMA_MODE 1
|
||||||
@ -157,7 +157,7 @@ static dma_t isa_dma[8];
|
|||||||
/*
|
/*
|
||||||
* ISA DMA always starts at channel 0
|
* ISA DMA always starts at channel 0
|
||||||
*/
|
*/
|
||||||
void __init isa_init_dma(void)
|
static int __init isa_dma_init(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Try to autodetect presence of an ISA DMA controller.
|
* Try to autodetect presence of an ISA DMA controller.
|
||||||
@ -222,4 +222,9 @@ void __init isa_init_dma(void)
|
|||||||
|
|
||||||
request_dma(DMA_ISA_CASCADE, "cascade");
|
request_dma(DMA_ISA_CASCADE, "cascade");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dma_direct_set_offset(&isa_dma_dev, PHYS_OFFSET, BUS_OFFSET, SZ_256M);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
core_initcall(isa_dma_init);
|
@ -1,58 +0,0 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0
|
|
||||||
/*
|
|
||||||
* linux/arch/arm/kernel/dma-ebsa285.c
|
|
||||||
*
|
|
||||||
* Copyright (C) 1998 Phil Blundell
|
|
||||||
*
|
|
||||||
* DMA functions specific to EBSA-285/CATS architectures
|
|
||||||
*
|
|
||||||
* Changelog:
|
|
||||||
* 09-Nov-1998 RMK Split out ISA DMA functions to dma-isa.c
|
|
||||||
* 17-Mar-1999 RMK Allow any EBSA285-like architecture to have
|
|
||||||
* ISA DMA controllers.
|
|
||||||
*/
|
|
||||||
#include <linux/init.h>
|
|
||||||
#include <linux/io.h>
|
|
||||||
#include <linux/spinlock.h>
|
|
||||||
#include <linux/scatterlist.h>
|
|
||||||
|
|
||||||
#include <asm/dma.h>
|
|
||||||
|
|
||||||
#include <asm/mach/dma.h>
|
|
||||||
#include <asm/hardware/dec21285.h>
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
static int fb_dma_request(unsigned int chan, dma_t *dma)
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fb_dma_enable(unsigned int chan, dma_t *dma)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fb_dma_disable(unsigned int chan, dma_t *dma)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct dma_ops fb_dma_ops = {
|
|
||||||
.type = "fb",
|
|
||||||
.request = fb_dma_request,
|
|
||||||
.enable = fb_dma_enable,
|
|
||||||
.disable = fb_dma_disable,
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int __init fb_dma_init(void)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
dma[_DC21285_DMA(0)].d_ops = &fb_dma_ops;
|
|
||||||
dma[_DC21285_DMA(1)].d_ops = &fb_dma_ops;
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_ISA_DMA
|
|
||||||
if (footbridge_cfn_mode())
|
|
||||||
isa_init_dma();
|
|
||||||
#endif
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
core_initcall(fb_dma_init);
|
|
@ -1,8 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0 */
|
|
||||||
#ifndef MACH_FOOTBRIDGE_DMA_DIRECT_H
|
|
||||||
#define MACH_FOOTBRIDGE_DMA_DIRECT_H 1
|
|
||||||
|
|
||||||
dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr);
|
|
||||||
phys_addr_t dma_to_phys(struct device *dev, dma_addr_t dev_addr);
|
|
||||||
|
|
||||||
#endif /* MACH_FOOTBRIDGE_DMA_DIRECT_H */
|
|
@ -10,17 +10,9 @@
|
|||||||
#ifndef __ASM_ARCH_DMA_H
|
#ifndef __ASM_ARCH_DMA_H
|
||||||
#define __ASM_ARCH_DMA_H
|
#define __ASM_ARCH_DMA_H
|
||||||
|
|
||||||
/*
|
#define MAX_DMA_CHANNELS 8
|
||||||
* The 21285 has two internal DMA channels; we call these 8 and 9.
|
|
||||||
* On CATS hardware we have an additional eight ISA dma channels
|
|
||||||
* numbered 0..7.
|
|
||||||
*/
|
|
||||||
#define _ISA_DMA(x) (0+(x))
|
|
||||||
#define _DC21285_DMA(x) (8+(x))
|
|
||||||
|
|
||||||
#define MAX_DMA_CHANNELS 10
|
#define DMA_FLOPPY (2)
|
||||||
|
#define DMA_ISA_CASCADE (4)
|
||||||
#define DMA_FLOPPY _ISA_DMA(2)
|
|
||||||
#define DMA_ISA_CASCADE _ISA_DMA(4)
|
|
||||||
|
|
||||||
#endif /* _ASM_ARCH_DMA_H */
|
#endif /* _ASM_ARCH_DMA_H */
|
||||||
|
@ -16,37 +16,6 @@
|
|||||||
#ifndef __ASM_ARCH_MEMORY_H
|
#ifndef __ASM_ARCH_MEMORY_H
|
||||||
#define __ASM_ARCH_MEMORY_H
|
#define __ASM_ARCH_MEMORY_H
|
||||||
|
|
||||||
|
|
||||||
#if defined(CONFIG_FOOTBRIDGE_ADDIN)
|
|
||||||
/*
|
|
||||||
* If we may be using add-in footbridge mode, then we must
|
|
||||||
* use the out-of-line translation that makes use of the
|
|
||||||
* PCI BAR
|
|
||||||
*/
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
extern unsigned long __virt_to_bus(unsigned long);
|
|
||||||
extern unsigned long __bus_to_virt(unsigned long);
|
|
||||||
#endif
|
|
||||||
#define __virt_to_bus __virt_to_bus
|
|
||||||
#define __bus_to_virt __bus_to_virt
|
|
||||||
|
|
||||||
#elif defined(CONFIG_FOOTBRIDGE_HOST)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The footbridge is programmed to expose the system RAM at 0xe0000000.
|
|
||||||
* The requirement is that the RAM isn't placed at bus address 0, which
|
|
||||||
* would clash with VGA cards.
|
|
||||||
*/
|
|
||||||
#define BUS_OFFSET 0xe0000000
|
|
||||||
#define __virt_to_bus(x) ((x) + (BUS_OFFSET - PAGE_OFFSET))
|
|
||||||
#define __bus_to_virt(x) ((x) - (BUS_OFFSET - PAGE_OFFSET))
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#error "Undefined footbridge mode"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Cache flushing area.
|
* Cache flushing area.
|
||||||
*/
|
*/
|
||||||
|
@ -79,16 +79,12 @@ static int __init footbridge_isa_init(void)
|
|||||||
{
|
{
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
if (!footbridge_cfn_mode())
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
/* Personal server doesn't have RTC */
|
/* Personal server doesn't have RTC */
|
||||||
if (!machine_is_personal_server()) {
|
isa_rtc_init();
|
||||||
isa_rtc_init();
|
err = platform_device_register(&rtc_device);
|
||||||
err = platform_device_register(&rtc_device);
|
if (err)
|
||||||
if (err)
|
printk(KERN_ERR "Unable to register RTC device: %d\n", err);
|
||||||
printk(KERN_ERR "Unable to register RTC device: %d\n", err);
|
|
||||||
}
|
|
||||||
err = platform_device_register(&serial_device);
|
err = platform_device_register(&serial_device);
|
||||||
if (err)
|
if (err)
|
||||||
printk(KERN_ERR "Unable to register serial device: %d\n", err);
|
printk(KERN_ERR "Unable to register serial device: %d\n", err);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
menuconfig ARCH_MXC
|
menuconfig ARCH_MXC
|
||||||
bool "Freescale i.MX family"
|
bool "Freescale i.MX family"
|
||||||
depends on (ARCH_MULTI_V4_V5 && CPU_LITTLE_ENDIAN) || \
|
depends on ((ARCH_MULTI_V4T || ARCH_MULTI_V5) && CPU_LITTLE_ENDIAN) || \
|
||||||
ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
|
ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
|
||||||
select CLKSRC_IMX_GPT
|
select CLKSRC_IMX_GPT
|
||||||
select GENERIC_IRQ_CHIP
|
select GENERIC_IRQ_CHIP
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
zreladdr-y += 0xa0008000
|
|
||||||
params_phys-y := 0xa0000100
|
|
||||||
initrd_phys-y := 0xa0800000
|
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
# Empty file waiting for deletion once Makefile.boot isn't needed any more.
|
|
||||||
# Patch waits for application at
|
|
||||||
# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
|
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
zreladdr-y += 0x80008000
|
|
||||||
params_phys-y := 0x80000100
|
|
||||||
initrd_phys-y := 0x82000000
|
|
@ -1,5 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-orion/include
|
ccflags-y := -I$(srctree)/arch/arm/plat-orion/include
|
||||||
|
|
||||||
obj-y += common.o mpp.o irq.o pcie.o
|
obj-y += common.o mpp.o irq.o pcie.o
|
||||||
obj-$(CONFIG_MACH_DB78X00_BP) += db78x00-bp-setup.o
|
obj-$(CONFIG_MACH_DB78X00_BP) += db78x00-bp-setup.o
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-orion/include
|
ccflags-y := -I$(srctree)/arch/arm/plat-orion/include
|
||||||
|
|
||||||
AFLAGS_coherency_ll.o := -Wa,-march=armv7-a
|
AFLAGS_coherency_ll.o := -Wa,-march=armv7-a
|
||||||
CFLAGS_pmsu.o := -march=armv7-a
|
CFLAGS_pmsu.o := -march=armv7-a
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
config ARCH_NSPIRE
|
config ARCH_NSPIRE
|
||||||
bool "TI-NSPIRE based"
|
bool "TI-NSPIRE based"
|
||||||
depends on ARCH_MULTI_V4_V5
|
depends on ARCH_MULTI_V4T
|
||||||
depends on CPU_LITTLE_ENDIAN
|
depends on CPU_LITTLE_ENDIAN
|
||||||
select CPU_ARM926T
|
select CPU_ARM926T
|
||||||
select GENERIC_IRQ_CHIP
|
select GENERIC_IRQ_CHIP
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
zreladdr-y += 0x10008000
|
|
||||||
params_phys-y := 0x10000100
|
|
||||||
initrd_phys-y := 0x10800000
|
|
@ -1,5 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-orion/include
|
ccflags-y := -I$(srctree)/arch/arm/plat-orion/include
|
||||||
|
|
||||||
obj-y += common.o pci.o irq.o mpp.o
|
obj-y += common.o pci.o irq.o mpp.o
|
||||||
obj-$(CONFIG_MACH_DB88F5281) += db88f5281-setup.o
|
obj-$(CONFIG_MACH_DB88F5281) += db88f5281-setup.o
|
||||||
|
21
arch/arm/mach-rpc/Kconfig
Normal file
21
arch/arm/mach-rpc/Kconfig
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
config ARCH_RPC
|
||||||
|
bool "RiscPC"
|
||||||
|
depends on ARCH_MULTI_V4 && !(ARCH_MULTI_V4T || ARCH_MULTI_V5)
|
||||||
|
depends on !(ARCH_FOOTBRIDGE || ARCH_SA1100 || ARCH_MOXART || ARCH_GEMINI)
|
||||||
|
depends on !CC_IS_CLANG && GCC_VERSION < 90100 && GCC_VERSION >= 60000
|
||||||
|
depends on CPU_LITTLE_ENDIAN
|
||||||
|
depends on ATAGS
|
||||||
|
depends on MMU
|
||||||
|
select ARCH_ACORN
|
||||||
|
select ARCH_MAY_HAVE_PC_FDC
|
||||||
|
select CPU_SA110
|
||||||
|
select FIQ
|
||||||
|
select HAVE_PATA_PLATFORM
|
||||||
|
select ISA_DMA_API
|
||||||
|
select LEGACY_TIMER_TICK
|
||||||
|
select NEED_MACH_IO_H
|
||||||
|
select NEED_MACH_MEMORY_H
|
||||||
|
select NO_IOPORT_MAP
|
||||||
|
help
|
||||||
|
On the Acorn Risc-PC, Linux can support the internal IDE disk and
|
||||||
|
CD-ROM interface, serial and parallel port, and the floppy drive.
|
@ -1,5 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
zreladdr-y += 0x10008000
|
|
||||||
params_phys-y := 0x10000100
|
|
||||||
initrd_phys-y := 0x18000000
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_PM_H1940),y)
|
|
||||||
zreladdr-y += 0x30108000
|
|
||||||
params_phys-y := 0x30100100
|
|
||||||
else
|
|
||||||
zreladdr-y += 0x30008000
|
|
||||||
params_phys-y := 0x30000100
|
|
||||||
endif
|
|
@ -33,8 +33,6 @@ extern struct platform_device s3c64xx_device_onenand1;
|
|||||||
extern struct platform_device s3c64xx_device_pcm0;
|
extern struct platform_device s3c64xx_device_pcm0;
|
||||||
extern struct platform_device s3c64xx_device_pcm1;
|
extern struct platform_device s3c64xx_device_pcm1;
|
||||||
extern struct platform_device s3c64xx_device_spi0;
|
extern struct platform_device s3c64xx_device_spi0;
|
||||||
extern struct platform_device s3c64xx_device_spi1;
|
|
||||||
extern struct platform_device s3c64xx_device_spi2;
|
|
||||||
|
|
||||||
extern struct platform_device s3c_device_adc;
|
extern struct platform_device s3c_device_adc;
|
||||||
extern struct platform_device s3c_device_cfcon;
|
extern struct platform_device s3c_device_cfcon;
|
||||||
|
@ -1,7 +1,25 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
if ARCH_SA1100
|
menuconfig ARCH_SA1100
|
||||||
|
bool "SA11x0 Implementations"
|
||||||
|
depends on ARCH_MULTI_V4 && !(ARCH_MULTI_V4T || ARCH_MULTI_V5)
|
||||||
|
depends on !(ARCH_MOXART || ARCH_GEMINI)
|
||||||
|
depends on ATAGS
|
||||||
|
depends on CPU_LITTLE_ENDIAN
|
||||||
|
depends on MMU
|
||||||
|
select ARCH_NO_SG_CHAIN
|
||||||
|
select ARCH_MTD_XIP
|
||||||
|
select CLKSRC_MMIO
|
||||||
|
select CLKSRC_PXA
|
||||||
|
select CPU_FREQ
|
||||||
|
select CPU_SA1100
|
||||||
|
select GPIOLIB
|
||||||
|
select IRQ_DOMAIN
|
||||||
|
select ISA
|
||||||
|
select NEED_MACH_MEMORY_H
|
||||||
|
help
|
||||||
|
Support for StrongARM 11x0 based boards.
|
||||||
|
|
||||||
menu "SA11x0 Implementations"
|
if ARCH_SA1100
|
||||||
|
|
||||||
config SA1100_ASSABET
|
config SA1100_ASSABET
|
||||||
bool "Assabet"
|
bool "Assabet"
|
||||||
@ -179,7 +197,4 @@ config SA1100_SSP
|
|||||||
This isn't for audio support, but for attached sensors and
|
This isn't for audio support, but for attached sensors and
|
||||||
other devices, eg for BadgePAD 4 sensor support.
|
other devices, eg for BadgePAD 4 sensor support.
|
||||||
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
ifeq ($(CONFIG_SA1111),y)
|
|
||||||
zreladdr-y += 0xc0208000
|
|
||||||
else
|
|
||||||
zreladdr-y += 0xc0008000
|
|
||||||
endif
|
|
||||||
params_phys-y := 0xc0000100
|
|
||||||
initrd_phys-y := 0xc0800000
|
|
||||||
|
|
@ -6,5 +6,4 @@ menuconfig ARCH_RENESAS
|
|||||||
select GPIOLIB
|
select GPIOLIB
|
||||||
select NO_IOPORT_MAP
|
select NO_IOPORT_MAP
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
select SOC_BUS
|
|
||||||
select ZONE_DMA if ARM_LPAE
|
select ZONE_DMA if ARM_LPAE
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
# Empty file waiting for deletion once Makefile.boot isn't needed any more.
|
|
||||||
# Patch waits for application at
|
|
||||||
# https://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
|
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
# Empty file waiting for deletion once Makefile.boot isn't needed any more.
|
|
||||||
# Patch waits for application at
|
|
||||||
# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
|
|
@ -1,4 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
zreladdr-y += 0x00008000
|
|
||||||
params_phys-y := 0x00000100
|
|
||||||
initrd_phys-y := 0x01000000
|
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Makefile for the linux kernel.
|
# Makefile for the linux kernel.
|
||||||
#
|
#
|
||||||
ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
|
ccflags-y := -I$(srctree)/$(src)/include
|
||||||
|
|
||||||
orion-gpio-$(CONFIG_GPIOLIB) += gpio.o
|
orion-gpio-$(CONFIG_GPIOLIB) += gpio.o
|
||||||
obj-$(CONFIG_PLAT_ORION_LEGACY) += irq.o pcie.o time.o common.o mpp.o
|
obj-$(CONFIG_PLAT_ORION_LEGACY) += irq.o pcie.o time.o common.o mpp.o
|
||||||
|
@ -33,6 +33,11 @@ config ARCH_APPLE
|
|||||||
This enables support for Apple's in-house ARM SoC family, starting
|
This enables support for Apple's in-house ARM SoC family, starting
|
||||||
with the Apple M1.
|
with the Apple M1.
|
||||||
|
|
||||||
|
menuconfig ARCH_BCM
|
||||||
|
bool "Broadcom SoC Support"
|
||||||
|
|
||||||
|
if ARCH_BCM
|
||||||
|
|
||||||
config ARCH_BCM2835
|
config ARCH_BCM2835
|
||||||
bool "Broadcom BCM2835 family"
|
bool "Broadcom BCM2835 family"
|
||||||
select TIMER_OF
|
select TIMER_OF
|
||||||
@ -65,6 +70,16 @@ config ARCH_BCMBCA
|
|||||||
This enables support for Broadcom BCA ARM-based broadband chipsets,
|
This enables support for Broadcom BCA ARM-based broadband chipsets,
|
||||||
including the DSL, PON and Wireless family of chips.
|
including the DSL, PON and Wireless family of chips.
|
||||||
|
|
||||||
|
config ARCH_BRCMSTB
|
||||||
|
bool "Broadcom Set-Top-Box SoCs"
|
||||||
|
select ARCH_HAS_RESET_CONTROLLER
|
||||||
|
select GENERIC_IRQ_CHIP
|
||||||
|
select PINCTRL
|
||||||
|
help
|
||||||
|
This enables support for Broadcom's ARMv8 Set Top Box SoCs
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
config ARCH_BERLIN
|
config ARCH_BERLIN
|
||||||
bool "Marvell Berlin SoC Family"
|
bool "Marvell Berlin SoC Family"
|
||||||
select DW_APB_ICTL
|
select DW_APB_ICTL
|
||||||
@ -79,14 +94,6 @@ config ARCH_BITMAIN
|
|||||||
help
|
help
|
||||||
This enables support for the Bitmain SoC Family.
|
This enables support for the Bitmain SoC Family.
|
||||||
|
|
||||||
config ARCH_BRCMSTB
|
|
||||||
bool "Broadcom Set-Top-Box SoCs"
|
|
||||||
select ARCH_HAS_RESET_CONTROLLER
|
|
||||||
select GENERIC_IRQ_CHIP
|
|
||||||
select PINCTRL
|
|
||||||
help
|
|
||||||
This enables support for Broadcom's ARMv8 Set Top Box SoCs
|
|
||||||
|
|
||||||
config ARCH_EXYNOS
|
config ARCH_EXYNOS
|
||||||
bool "ARMv8 based Samsung Exynos SoC family"
|
bool "ARMv8 based Samsung Exynos SoC family"
|
||||||
select COMMON_CLK_SAMSUNG
|
select COMMON_CLK_SAMSUNG
|
||||||
@ -128,12 +135,6 @@ config ARCH_K3
|
|||||||
This enables support for Texas Instruments' K3 multicore SoC
|
This enables support for Texas Instruments' K3 multicore SoC
|
||||||
architecture.
|
architecture.
|
||||||
|
|
||||||
config ARCH_LAYERSCAPE
|
|
||||||
bool "ARMv8 based Freescale Layerscape SoC family"
|
|
||||||
select EDAC_SUPPORT
|
|
||||||
help
|
|
||||||
This enables support for the Freescale Layerscape SoC family.
|
|
||||||
|
|
||||||
config ARCH_LG1K
|
config ARCH_LG1K
|
||||||
bool "LG Electronics LG1K SoC Family"
|
bool "LG Electronics LG1K SoC Family"
|
||||||
help
|
help
|
||||||
@ -192,6 +193,17 @@ config ARCH_MVEBU
|
|||||||
- Armada 8K SoC Family
|
- Armada 8K SoC Family
|
||||||
- 98DX2530 SoC Family
|
- 98DX2530 SoC Family
|
||||||
|
|
||||||
|
menuconfig ARCH_NXP
|
||||||
|
bool "NXP SoC support"
|
||||||
|
|
||||||
|
if ARCH_NXP
|
||||||
|
|
||||||
|
config ARCH_LAYERSCAPE
|
||||||
|
bool "ARMv8 based Freescale Layerscape SoC family"
|
||||||
|
select EDAC_SUPPORT
|
||||||
|
help
|
||||||
|
This enables support for the Freescale Layerscape SoC family.
|
||||||
|
|
||||||
config ARCH_MXC
|
config ARCH_MXC
|
||||||
bool "ARMv8 based NXP i.MX SoC family"
|
bool "ARMv8 based NXP i.MX SoC family"
|
||||||
select ARM64_ERRATUM_843419
|
select ARM64_ERRATUM_843419
|
||||||
@ -206,6 +218,13 @@ config ARCH_MXC
|
|||||||
This enables support for the ARMv8 based SoCs in the
|
This enables support for the ARMv8 based SoCs in the
|
||||||
NXP i.MX family.
|
NXP i.MX family.
|
||||||
|
|
||||||
|
config ARCH_S32
|
||||||
|
bool "NXP S32 SoC Family"
|
||||||
|
help
|
||||||
|
This enables support for the NXP S32 family of processors.
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
config ARCH_NPCM
|
config ARCH_NPCM
|
||||||
bool "Nuvoton NPCM Architecture"
|
bool "Nuvoton NPCM Architecture"
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
@ -235,7 +254,6 @@ config ARCH_RENESAS
|
|||||||
bool "Renesas SoC Platforms"
|
bool "Renesas SoC Platforms"
|
||||||
select GPIOLIB
|
select GPIOLIB
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
select SOC_BUS
|
|
||||||
help
|
help
|
||||||
This enables support for the ARMv8 based Renesas SoCs.
|
This enables support for the ARMv8 based Renesas SoCs.
|
||||||
|
|
||||||
@ -249,11 +267,6 @@ config ARCH_ROCKCHIP
|
|||||||
This enables support for the ARMv8 based Rockchip chipsets,
|
This enables support for the ARMv8 based Rockchip chipsets,
|
||||||
like the RK3368.
|
like the RK3368.
|
||||||
|
|
||||||
config ARCH_S32
|
|
||||||
bool "NXP S32 SoC Family"
|
|
||||||
help
|
|
||||||
This enables support for the NXP S32 family of processors.
|
|
||||||
|
|
||||||
config ARCH_SEATTLE
|
config ARCH_SEATTLE
|
||||||
bool "AMD Seattle SoC Family"
|
bool "AMD Seattle SoC Family"
|
||||||
help
|
help
|
||||||
|
@ -180,11 +180,7 @@ static int pxa_ssp_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
static int pxa_ssp_remove(struct platform_device *pdev)
|
static int pxa_ssp_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct ssp_device *ssp;
|
struct ssp_device *ssp = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
ssp = platform_get_drvdata(pdev);
|
|
||||||
if (ssp == NULL)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
mutex_lock(&ssp_lock);
|
mutex_lock(&ssp_lock);
|
||||||
list_del(&ssp->node);
|
list_del(&ssp->node);
|
||||||
|
@ -461,9 +461,6 @@ static int __init serial21285_console_setup(struct console *co, char *options)
|
|||||||
int parity = 'n';
|
int parity = 'n';
|
||||||
int flow = 'n';
|
int flow = 'n';
|
||||||
|
|
||||||
if (machine_is_personal_server())
|
|
||||||
baud = 57600;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check whether an invalid uart number has been specified, and
|
* Check whether an invalid uart number has been specified, and
|
||||||
* if so, search for the first available port that does have
|
* if so, search for the first available port that does have
|
||||||
|
Loading…
x
Reference in New Issue
Block a user