From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:37
This series adds support for booting mainline Linux on the Samsung Galaxy
S4 Mini Value Edition. The device is based on the Qualcomm MSM8916 SoC and quite
similar to the already supported Samsung Galaxy A3/A5. With some additional
patches it is almost fully functional, including display, touch screen, GPU,
audio, modem (voice calls, SMS, mobile data) and sensors.
I made most of the patches almost 2 years ago but I was long unsure if I should
submit them upstream. This is because the device has one big limitation:
Samsung released it with a signed 32-bit-only TrustZone firmware which is not
able to boot ARM64 Linux. This means the device can actually only boot ARM32.
However, since device trees are independent of the kernel architecture and all
the necessary drivers compile on ARM32 as well it is actually extremely
straightforward to build an ARM32 kernel for MSM8916 (which is normally arm64).
The only necessary additions are for SMP/cpuidle without PSCI on ARM32. However,
the diffstat below makes it quite obvious that the maintenance overhead for this
is absolutely negligible. The SoC is almost identical to previous 32-bit SoCs
like MSM8226, so it is pretty much just adding new definitions/compatibles for
already existing code.
Being able to boot ARM32 Linux on MSM8916 might be also a possible opportunity
for CI systems. At the moment, 32-bit Qualcomm platforms are not very well
represented there. Booting ARM32 on MSM8916/APQ8016 would allow re-using the
DragonBoard 410c which is often already used for automated CI testing.
Lina Iyer (1):
soc: qcom: spm: Add 8916 SPM register data
Stephan Gerhold (14):
arm64: dts: qcom: Add device tree for Samsung Galaxy S4 Mini Value
Edition
arm64: dts: qcom: msm8916-samsung-serranove: Add touch screen
arm64: dts: qcom: msm8916-samsung-serranove: Add touch key
arm64: dts: qcom: msm8916-samsung-serranove: Add IMU
arm64: dts: qcom: msm8916-samsung-serranove: Add rt5033 battery
arm64: dts: qcom: msm8916-samsung-serranove: Add NFC
ARM: qcom: Add ARCH_MSM8916 for MSM8916 on ARM32
dt-bindings: arm: cpus: Document qcom,msm8916-smp enable-method
ARM: qcom: Add qcom,msm8916-smp enable-method identical to MSM8226
dt-bindings: soc: qcom: spm: Document qcom,msm8916-saw2-v3.0-cpu
firmware: qcom: scm: Add support for MC boot address API
arm64: dts: qcom: msm8916: Add CPU ACC and SAW/SPM
ARM: dts: qcom: msm8916: Add include for SMP without PSCI on ARM32
ARM: dts: qcom: msm8916-samsung-serranove: Include dts from arm64
.../devicetree/bindings/arm/cpus.yaml | 4 +-
.../bindings/soc/qcom/qcom,spm.yaml | 1 +
arch/arm/boot/dts/Makefile | 1 +
.../dts/qcom-msm8916-samsung-serranove.dts | 3 +
arch/arm/boot/dts/qcom-msm8916-smp.dtsi | 62 ++
arch/arm/mach-qcom/Kconfig | 10 +
arch/arm/mach-qcom/platsmp.c | 1 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../dts/qcom/msm8916-samsung-serranove.dts | 534 ++++++++++++++++++
arch/arm64/boot/dts/qcom/msm8916.dtsi | 56 ++
drivers/firmware/qcom_scm.c | 84 ++-
drivers/firmware/qcom_scm.h | 4 +
drivers/soc/qcom/spm.c | 21 +
13 files changed, 764 insertions(+), 18 deletions(-)
create mode 100644 arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dts
create mode 100644 arch/arm/boot/dts/qcom-msm8916-smp.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
--
2.33.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:40
Like the Samsung Galaxy A3/A5, the S4 Mini VE uses a Richtek RT5033 PMIC
as battery fuel gauge, charger, flash LED and for some regulators.
For now, only add the fuel gauge/battery device to the device tree,
so we can check the remaining battery percentage.
The other RT5033 drivers need some more work first before
they can be used properly.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
.../dts/qcom/msm8916-samsung-serranove.dts | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:40
Like msm8916-samsung-a3u-eur, the S4 Mini VE uses a Zinitix BT541
touch screen. Add it together with the necessary fixed-regulator
to the device tree.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
.../dts/qcom/msm8916-samsung-serranove.dts | 50 +++++++++++++++++++
1 file changed, 50 insertions(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:41
Add a CONFIG_ARCH_MSM8916 option to enable building MSM8916 support
on ARM32. Note that since ARM64 is the main supported architecture
for MSM8916 this is only intended for testing and for devices where
(signed) outdated firmware does not support booting ARM64 kernels.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
arch/arm/mach-qcom/Kconfig | 10 ++++++++++
1 file changed, 10 insertions(+)
@@ -21,6 +21,16 @@ config ARCH_MSM8X60bool"Enable support for MSM8X60"selectCLKSRC_QCOM+configARCH_MSM8916+bool"Enable support for MSM8916"+selectHAVE_ARM_ARCH_TIMER+help+EnablesupportfortheQualcommSnapdragon410(MSM8916/APQ8016).++NotethatARM64isthemainsupportedarchitectureforMSM8916.+TheARM32optionisintendedforafewdeviceswithoutdated(signed)+firmwarethatdoesnotallowbootingARM64kernels.+configARCH_MSM8960bool"Enable support for MSM8960"selectCLKSRC_QCOM
--
2.33.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:41
The LTE version of the S4 Mini VE has a NXP PN547, which is supported
by the nxp-nci-i2c driver in mainline. It seems to detect NFC tags
using "nfctool" just fine, although more testing is difficult given
there seem to be very few useful applications making use of the
Linux NFC subsystem. :(
Note that for some reason Samsung decided to connect the I2C pins
to GPIOs where no hardware I2C bus is available, so we need to
fall back to software bit-banging with i2c-gpio.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
.../dts/qcom/msm8916-samsung-serranove.dts | 50 +++++++++++++++++++
1 file changed, 50 insertions(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:42
The Samsung Galaxy S4 Mini Value Edition is an updated version of the
original S4 Mini based on MSM8916. It is similar to the other Samsung
devices based on MSM8916 with only a few minor differences.
The device tree contains initial support for the S4 Mini Value Edition with:
- UART
- eMMC/SD card (needs quirk for some reason)
- Buttons
- Vibrator
- WiFi/Bluetooth (WCNSS)
- USB
Unfortunately, the S4 Mini VE was released with outdated 32-bit only
firmware and never received any update from Samsung. Since the 32-bit
TrustZone firmware is signed there seems to be no way currently to
actually boot this device tree on arm64 Linux at the moment. :(
However, it is possible to use this device tree by compiling an ARM32 kernel
instead. The device tree can be easily built on ARM32 with an #include
and it works really well there. To avoid confusion for others it is still
better to add this device tree on arm64. Otherwise it's easy to forget
to update this one when making some changes that affect all MSM8916 devices.
Maybe someone finds a way to boot ARM64 Linux on this device at some point.
In this case I expect that this device tree can be simply used as-is.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../dts/qcom/msm8916-samsung-serranove.dts | 301 ++++++++++++++++++
2 files changed, 302 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:43
Add the STMicroelectronics LSM6DS3 IMU that is used in the S4 Mini VE
to the device tree.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
.../dts/qcom/msm8916-samsung-serranove.dts | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:44
Document the qcom,msm8916-smp enable method. It is actually just
an alias for qcom,msm8226-smp since it should be implemented identically.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
Documentation/devicetree/bindings/arm/cpus.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -295,7 +296,8 @@ properties:Specifies the ACC* node associated with this CPU.Required for systems that have an "enable-method" property-value of "qcom,kpss-acc-v1", "qcom,kpss-acc-v2" or "qcom,msm8226-smp"+value of "qcom,kpss-acc-v1", "qcom,kpss-acc-v2", "qcom,msm8226-smp"+or "qcom,msm8916-smp".*arm/msm/qcom,kpss-acc.txt
--
2.33.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:45
Add the CORERIVER TC360 touch key together with the two necessary
fixed regulators for it.
Note that for some reason Samsung decided to connect this to GPIOs
where no hardware I2C bus is available, so we need to fall back
to software bit-banging using i2c-gpio.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
.../dts/qcom/msm8916-samsung-serranove.dts | 87 +++++++++++++++++++
1 file changed, 87 insertions(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:51
Some MSM8916 devices have outdated (signed) firmware without PSCI
and ARM64 support and can therefore only boot ARM32 Linux.
The ARM Cortex-A53 cores should be actually booted exactly like
the Cortex-A7 cores on MSM8226, so just add an alias for the
existing code.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
arch/arm/mach-qcom/platsmp.c | 1 +
1 file changed, 1 insertion(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:52
Document the qcom,msm8916-saw2-v3.0-cpu compatible that is needed
for cpuidle for MSM8916 on some devices with outdated (signed) firmware
which is only capable of booting ARM32 kernels without PSCI.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
Documentation/devicetree/bindings/soc/qcom/qcom,spm.yaml | 1 +
1 file changed, 1 insertion(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:52
From: Lina Iyer <redacted>
Add SPM register information and initialization values for QCOM 8916
SoC.
Link: https://lore.kernel.org/linux-arm-msm/1429314549-6730-5-git-send-email-lina.iyer@linaro.org/
Signed-off-by: Lina Iyer <redacted>
[stephan: rebase patch and fix conflicts]
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
Like for qcom,msm8916-smp and qcom,msm8226-smp, this is actually
pretty much identical to the MSM8226 configuration except for the
new v3.0 register offsets.
---
drivers/soc/qcom/spm.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:52
Add the device tree nodes necessary for SMP bring-up and cpuidle
without PSCI on ARM32. The hardware is typically controlled by the
PSCI implementation in the TrustZone firmware and is therefore marked
as status = "reserved" by default (from the device tree specification):
"Indicates that the device is operational, but should not be used.
Typically this is used for devices that are controlled by another
software component, such as platform firmware."
Since this is part of the MSM8916 SoC it should be added to msm8916.dtsi
but in practice these nodes should only get enabled via an extra include
on ARM32.
This is necessary for some devices with outdated (signed) firmware
which is missing both PSCI and ARM64 support and can therefore only
boot ARM32 kernels.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
arch/arm64/boot/dts/qcom/msm8916.dtsi | 56 +++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:53
It looks like the old QCOM_SCM_BOOT_SET_ADDR API is broken on some
MSM8916 firmware versions that implement the newer SMC32 calling
convention. It just returns -EINVAL no matter which arguments are
being passed.
This does not cause any problems downstream because it first tries
to use the new multi-cluster API replacement which is working fine.
Implement support for the multi-cluster variant of the SCM call
by attempting it first but still fallback to the old call in case
of an error. Also, to be absolutely sure only use the multi-cluster
variant with the SMC calling convention since older platforms should
not need this.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
The diff generated by Git is a bit hard to read sadly, what I did
essentially is:
1. Add __qcom_scm_set_boot_addr_mc()
2. Rename original qcom_scm_set_cold/warm_boot_addr() to
static __qcom_scm_set_cold/warm_boot_addr()
3. Make new qcom_scm_set_cold/warm_boot_addr() call
__qcom_scm_set_boot_addr_mc() first and then fall back to the old
__qcom_scm_set_cold/warm_boot_addr() as before
---
drivers/firmware/qcom_scm.c | 84 +++++++++++++++++++++++++++++--------
drivers/firmware/qcom_scm.h | 4 ++
2 files changed, 71 insertions(+), 17 deletions(-)
@@ -260,15 +262,36 @@ static bool __qcom_scm_is_call_available(struct device *dev, u32 svc_id,returnret?false:!!res.result[0];}-/**-*qcom_scm_set_warm_boot_addr()-Setthewarmbootaddressforcpus-*@entry:Entrypointfunctionforthecpus-*@cpus:Thecpumaskofcpusthatwillusetheentrypoint-*-*SettheLinuxentrypointfortheSCMtotransfercontroltowhencoming-*outofapowerdown.CPUpowerdownmaybeexecutedoncpuidleorhotplug.-*/-intqcom_scm_set_warm_boot_addr(void*entry,constcpumask_t*cpus)+staticint__qcom_scm_set_boot_addr_mc(void*entry,constcpumask_t*cpus,+unsignedintflags)+{+structqcom_scm_descdesc={+.svc=QCOM_SCM_SVC_BOOT,+.cmd=QCOM_SCM_BOOT_SET_ADDR_MC,+.owner=ARM_SMCCC_OWNER_SIP,+.arginfo=QCOM_SCM_ARGS(6),+};+unsignedintcpu;+u64map;++/* Need a device for DMA of the additional arguments */+if(!__scm||__get_convention()==SMC_CONVENTION_LEGACY)+return-EOPNOTSUPP;++desc.args[0]=virt_to_phys(entry);+for_each_cpu(cpu,cpus){+map=cpu_logical_map(cpu);+desc.args[1]|=BIT(MPIDR_AFFINITY_LEVEL(map,0));+desc.args[2]|=BIT(MPIDR_AFFINITY_LEVEL(map,1));+desc.args[3]|=BIT(MPIDR_AFFINITY_LEVEL(map,2));+}+desc.args[4]=~0ULL;/* Reserved for affinity level 3 */+desc.args[5]=flags;++returnqcom_scm_call(__scm->dev,&desc,NULL);+}++staticint__qcom_scm_set_warm_boot_addr(void*entry,constcpumask_t*cpus){intret;intflags=0;
@@ -304,17 +327,28 @@ int qcom_scm_set_warm_boot_addr(void *entry, const cpumask_t *cpus)returnret;}-EXPORT_SYMBOL(qcom_scm_set_warm_boot_addr);/**-*qcom_scm_set_cold_boot_addr()-Setthecoldbootaddressforcpus+*qcom_scm_set_warm_boot_addr()-Setthewarmbootaddressforcpus*@entry:Entrypointfunctionforthecpus*@cpus:Thecpumaskofcpusthatwillusetheentrypoint*-*Setthecoldbootaddressofthecpus.Anycpuoutsidethesupported-*rangewouldberemovedfromthecpupresentmask.+*SettheLinuxentrypointfortheSCMtotransfercontroltowhencoming+*outofapowerdown.CPUpowerdownmaybeexecutedoncpuidleorhotplug.*/-intqcom_scm_set_cold_boot_addr(void*entry,constcpumask_t*cpus)+intqcom_scm_set_warm_boot_addr(void*entry,constcpumask_t*cpus)+{+if(!cpus||cpumask_empty(cpus))+return-EINVAL;++if(__qcom_scm_set_boot_addr_mc(entry,cpus,QCOM_SCM_BOOT_MC_FLAG_WARMBOOT))+/* Fallback to old SCM call */+return__qcom_scm_set_warm_boot_addr(entry,cpus);+return0;+}+EXPORT_SYMBOL(qcom_scm_set_warm_boot_addr);++staticint__qcom_scm_set_cold_boot_addr(void*entry,constcpumask_t*cpus){intflags=0;intcpu;
@@ -331,9 +365,6 @@ int qcom_scm_set_cold_boot_addr(void *entry, const cpumask_t *cpus).owner=ARM_SMCCC_OWNER_SIP,};-if(!cpus||cpumask_empty(cpus))-return-EINVAL;-for_each_cpu(cpu,cpus){if(cpu<ARRAY_SIZE(scm_cb_flags))flags|=scm_cb_flags[cpu];
@@ -346,6 +377,25 @@ int qcom_scm_set_cold_boot_addr(void *entry, const cpumask_t *cpus)returnqcom_scm_call_atomic(__scm?__scm->dev:NULL,&desc,NULL);}++/**+*qcom_scm_set_cold_boot_addr()-Setthecoldbootaddressforcpus+*@entry:Entrypointfunctionforthecpus+*@cpus:Thecpumaskofcpusthatwillusetheentrypoint+*+*Setthecoldbootaddressofthecpus.Anycpuoutsidethesupported+*rangewouldberemovedfromthecpupresentmask.+*/+intqcom_scm_set_cold_boot_addr(void*entry,constcpumask_t*cpus)+{+if(!cpus||cpumask_empty(cpus))+return-EINVAL;++if(__qcom_scm_set_boot_addr_mc(entry,cpus,QCOM_SCM_BOOT_MC_FLAG_COLDBOOT))+/* Fallback to old SCM call */+return__qcom_scm_set_cold_boot_addr(entry,cpus);+return0;+}EXPORT_SYMBOL(qcom_scm_set_cold_boot_addr);/**
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:53
After adding all necessary support for MSM8916 SMP/cpuidle without PSCI
on ARM32, build the Samsung Galaxy S4 Mini VE device tree from the arm64
tree together with the ARM32 include to allow booting this device on ARM32.
The approach to include device tree files from other architectures is
inspired from e.g. the Raspberry Pi (bcm2711-rpi-4-b.dts) where this is
used to build the device tree for both ARM32 and ARM64.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
I'm not sure what's the best way to apply this patch...
It might be easiest to apply the two ARM32 dts patches to the arm64 branch.
(It does not seem to cause any conflicts at the moment...)
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dts | 3 +++
2 files changed, 4 insertions(+)
create mode 100644 arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dts
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-09-28 17:21:53
Add a special device tree include for MSM8916 on ARM32 that sets up
SMP and cpuidle without PSCI. This is meant for devices with outdated
(signed) firmware that does not support PSCI and only allows booting
ARM32 kernels.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
arch/arm/boot/dts/qcom-msm8916-smp.dtsi | 62 +++++++++++++++++++++++++
1 file changed, 62 insertions(+)
create mode 100644 arch/arm/boot/dts/qcom-msm8916-smp.dtsi
From: Rob Herring <robh@kernel.org> Date: 2021-10-04 18:34:14
On Tue, Sep 28, 2021 at 07:12:24PM +0200, Stephan Gerhold wrote:
quoted hunk
Document the qcom,msm8916-smp enable method. It is actually just
an alias for qcom,msm8226-smp since it should be implemented identically.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
Documentation/devicetree/bindings/arm/cpus.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -295,7 +296,8 @@ properties: Specifies the ACC* node associated with this CPU. Required for systems that have an "enable-method" property- value of "qcom,kpss-acc-v1", "qcom,kpss-acc-v2" or "qcom,msm8226-smp"+ value of "qcom,kpss-acc-v1", "qcom,kpss-acc-v2", "qcom,msm8226-smp"+ or "qcom,msm8916-smp". * arm/msm/qcom,kpss-acc.txt
From: Rob Herring <robh@kernel.org> Date: 2021-10-04 18:38:13
On Mon, Oct 4, 2021 at 1:34 PM Rob Herring [off-list ref] wrote:
On Tue, Sep 28, 2021 at 07:12:24PM +0200, Stephan Gerhold wrote:
quoted
Document the qcom,msm8916-smp enable method. It is actually just
an alias for qcom,msm8226-smp since it should be implemented identically.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
Documentation/devicetree/bindings/arm/cpus.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
I see the explanation now. Please add that to this commit as well and
a comment here that this is for 32-bit only.
Rob
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Rob Herring <robh@kernel.org> Date: 2021-10-04 18:38:28
On Tue, 28 Sep 2021 19:12:26 +0200, Stephan Gerhold wrote:
Document the qcom,msm8916-saw2-v3.0-cpu compatible that is needed
for cpuidle for MSM8916 on some devices with outdated (signed) firmware
which is only capable of booting ARM32 kernels without PSCI.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
Documentation/devicetree/bindings/soc/qcom/qcom,spm.yaml | 1 +
1 file changed, 1 insertion(+)
From: Stephan Gerhold <stephan@gerhold.net> Date: 2021-10-04 20:57:11
On Mon, Oct 04, 2021 at 01:37:58PM -0500, Rob Herring wrote:
On Mon, Oct 4, 2021 at 1:34 PM Rob Herring [off-list ref] wrote:
quoted
On Tue, Sep 28, 2021 at 07:12:24PM +0200, Stephan Gerhold wrote:
quoted
Document the qcom,msm8916-smp enable method. It is actually just
an alias for qcom,msm8226-smp since it should be implemented identically.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
Documentation/devicetree/bindings/arm/cpus.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
I see the explanation now. Please add that to this commit as well and
a comment here that this is for 32-bit only.
I'm not sure why this is literally the only patch in the series where
I omitted the explanation. Sorry for the confusion! :)
I clarified this in v2 and added the comment as you suggested.
Thanks!
Stephan
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel