linux/arch/arm/mach-imx
Arnd Bergmann 5d6f52671e ARM: rework endianess selection
Choosing big-endian vs little-endian kernels in Kconfig has not worked
correctly since the introduction of CONFIG_ARCH_MULTIPLATFORM a long
time ago.

The problems is that CONFIG_BIG_ENDIAN depends on
ARCH_SUPPORTS_BIG_ENDIAN, which can set by any one platform
in the config, but would actually have to be supported by all
of them.

This was mostly ok for ARMv6/ARMv7 builds, since these are BE8 and
tend to just work aside from problems in nonportable device drivers.
For ARMv4/v5 machines, CONFIG_BIG_ENDIAN and CONFIG_ARCH_MULTIPLATFORM
were never set together, so this was disabled on all those machines
except for IXP4xx.

As IXP4xx can now become part of ARCH_MULTIPLATFORM, it seems better to
formalize this logic: all ARMv4/v5 platforms get an explicit dependency
on being either big-endian (ixp4xx) or little-endian (the rest). We may
want to fix ixp4xx in the future to support both, but it does not work
in LE mode at the moment.

For the ARMv6/v7 platforms, there are two ways this could be handled

 a) allow both modes only for platforms selecting
    'ARCH_SUPPORTS_BIG_ENDIAN' today, but only LE mode for the
    others, given that these were added intentionally at some
    point.

 b) allow both modes everwhere, given that it was already possible
    to build that way by e.g. selecting ARCH_VIRT, and that the
    list is not an accurate reflection of which platforms may or
    may not work.

Out of these, I picked b) because it seemed slighly more logical
to me.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-08 17:20:54 +02:00
..
anatop.c ARM: imx: Use correct SRC base address 2020-12-01 08:09:01 +08:00
avic.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
common.h ARM: imx: common: Move prototype outside the SMP block 2021-07-14 15:28:43 +08:00
cpu-imx5.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 159 2019-05-30 11:26:37 -07:00
cpu-imx25.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cpu-imx27.c ARM: imx27: Retrieve the SYSCTRL base address from devicetree 2020-09-22 14:07:46 +08:00
cpu-imx31.c ARM: imx31: Retrieve the IIM base address from devicetree 2020-09-22 14:08:03 +08:00
cpu-imx35.c ARM: imx35: Retrieve the IIM base address from devicetree 2020-09-22 14:08:11 +08:00
cpu.c soc: imx: move cpu code to drivers/soc/imx 2020-05-20 23:03:50 +08:00
cpuidle-imx5.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cpuidle-imx6q.c ARM: imx6q: Fixup RCU usage for cpuidle 2020-09-30 17:42:43 +02:00
cpuidle-imx6sl.c clk: imx: Move 'imx6sl_set_wait_clk()'s prototype out to accessible header 2021-01-30 22:13:23 +08:00
cpuidle-imx6sx.c SPDX update for 5.2-rc6 2019-06-21 09:58:42 -07:00
cpuidle-imx7ulp.c ARM: imx: add i.MX7ULP cpuidle support 2019-01-15 23:03:40 +08:00
cpuidle.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 159 2019-05-30 11:26:37 -07:00
crmregs-imx3.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
gpc.c ARM: imx: Remove unnecessary blank lines 2020-03-11 15:17:02 +08:00
hardware.h ARM: imx: Remove unused IMX_GPIO_NR() macro 2021-01-29 16:47:25 +08:00
headsmp.S ARM: imx: add smp support for imx7d 2021-06-12 12:02:57 +08:00
hotplug.c ARM: imx: add smp support for imx7d 2021-06-12 12:02:57 +08:00
iim.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
irq-common.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
irq-common.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
Kconfig ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-imx1.c ARM: imx: avic: Convert to using IRQCHIP_DECLARE 2021-03-15 12:21:18 +08:00
mach-imx6q.c Revert "ARM: imx6q: drop of_platform_default_populate() from init_machine" 2021-09-22 11:49:03 +08:00
mach-imx6sl.c ARM: imx: use device_initcall for imx_soc_device_init 2020-05-20 23:03:42 +08:00
mach-imx6sx.c ARM: imx6sx: remove Atheros AR8031 PHY fixup 2021-05-23 11:32:46 +08:00
mach-imx6ul.c ARM: mach-imx: imx6ul: Print SOC revision on boot 2021-01-07 11:25:18 +08:00
mach-imx7d-cm4.c ARM: imx: Provide support for NXP i.MX7D Cortex-M4 2018-07-03 15:17:57 +08:00
mach-imx7d.c ARM: imx: add smp support for imx7d 2021-06-12 12:02:57 +08:00
mach-imx7ulp.c ARM: imx: imx7ulp: Add a comment explaining the B2 silicon version 2020-11-10 09:56:01 +08:00
mach-imx25.c ARM: imx: avic: Convert to using IRQCHIP_DECLARE 2021-03-15 12:21:18 +08:00
mach-imx27.c ARM: imx: avic: Convert to using IRQCHIP_DECLARE 2021-03-15 12:21:18 +08:00
mach-imx31.c ARM: imx: avic: Convert to using IRQCHIP_DECLARE 2021-03-15 12:21:18 +08:00
mach-imx35.c ARM: imx: avic: Convert to using IRQCHIP_DECLARE 2021-03-15 12:21:18 +08:00
mach-imx50.c ARM: imx: Initialize SoC ID on i.MX50 2021-05-13 15:42:21 +08:00
mach-imx51.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 159 2019-05-30 11:26:37 -07:00
mach-imx53.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 159 2019-05-30 11:26:37 -07:00
mach-imxrt.c ARM: imx: Add initial support for i.MXRT10xx family 2022-01-28 17:46:42 +08:00
mach-ls1021a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mach-vf610.c ARM: imx: use device_initcall for imx_soc_device_init 2020-05-20 23:03:42 +08:00
Makefile ARM: imx: Add initial support for i.MXRT10xx family 2022-01-28 17:46:42 +08:00
Makefile.boot
mm-imx3.c ARM: imx: avic: Convert to using IRQCHIP_DECLARE 2021-03-15 12:21:18 +08:00
mmdc.c ARM: imx: fix missing 3rd argument in macro imx_mmdc_perf_init 2021-07-23 15:33:30 +08:00
mx2x.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
mx3x.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mx27.h ARM: imx: Remove unused definitions 2020-09-22 14:08:13 +08:00
mx31.h ARM: imx: Remove unused definitions 2020-09-22 14:08:13 +08:00
mx35.h ARM: imx: Remove unused definitions 2020-09-22 14:08:13 +08:00
mxc.h ARM: imx: move cpu definitions into a header 2020-05-20 23:03:47 +08:00
platsmp.c ARM: imx: add smp support for imx7d 2021-06-12 12:02:57 +08:00
pm-imx5.c ARM: mach-imx: Fix a spelling in the file pm-imx5.c 2021-03-15 12:21:59 +08:00
pm-imx6.c Merge branches 'devel-stable' and 'misc' into for-linus 2021-11-02 09:04:22 +00:00
pm-imx7ulp.c ARM: imx: Add missing of_node_put() 2020-02-18 17:46:08 +08:00
pm-imx25.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pm-imx27.c ARM: imx: pm-imx27: Include "common.h" 2021-05-23 10:48:56 +08:00
resume-imx6.S ARM: imx: build v7_cpu_resume() unconditionally 2020-02-13 21:21:44 +08:00
src.c ARM: imx: register reset controller from a platform driver 2021-10-15 09:38:06 +08:00
ssi-fiq-ksym.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ssi-fiq.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
suspend-imx6.S ARM: imx: build suspend-imx6.S with arm instruction set 2021-01-18 14:47:34 +08:00
suspend-imx53.S ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info 2021-05-13 15:40:08 +08:00
system.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tzic.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00